@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@1,600&family=DM+Sans:wght@300;400;500;600&family=Italiana&display=swap');
:root{--ink:#11182d;--night:#071426;--blue:#102746;--ivory:#fffaf0;--paper:#f7f0e7;--gold:#d7ad67;--rose:#b8586b;--wine:#6b2137;--muted:#7e7a78;--line:rgba(215,173,103,.32);--serif:'Italiana',Georgia,serif;--sans:'DM Sans',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-weight:300;overflow-x:hidden}body:before{content:'';position:fixed;inset:0;pointer-events:none;opacity:.22;z-index:20;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.08'/%3E%3C/svg%3E")}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.skip{position:fixed;left:1rem;top:-5rem;z-index:100;background:#fff;padding:.8rem}.skip:focus{top:1rem}.nav{position:fixed;z-index:50;inset:0 0 auto;height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;color:white;transition:.4s}.nav.scrolled{height:66px;background:rgba(7,20,38,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.09)}.brand{font-family:var(--serif);font-size:1.5rem;letter-spacing:.04em}.brand em{color:var(--gold);font-style:normal}.logo{display:inline-flex;align-items:center;gap:.58rem;min-width:max-content;padding:.34rem .78rem .34rem .38rem;border:1px solid rgba(247,216,159,.2);border-radius:999px;background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.025));box-shadow:0 14px 42px rgba(0,0,0,.22),inset 0 0 22px rgba(255,255,255,.04)}.logo-mark{width:44px;height:44px;border:1px solid rgba(247,216,159,.42);border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 50% 25%,rgba(255,227,170,.24),rgba(255,255,255,.05) 58%,rgba(255,255,255,.01));box-shadow:0 0 28px rgba(215,173,103,.22),inset 0 0 18px rgba(255,255,255,.05)}.logo-mark svg{width:31px;height:31px;overflow:visible}.logo-ring{fill:none;stroke:#f7d89f;stroke-width:4}.logo-gem{fill:#fff4cf;stroke:#f7d89f;stroke-width:2;filter:drop-shadow(0 0 5px rgba(255,244,207,.55))}.logo-spark{fill:#f7d89f}.logo-monogram{display:inline-flex;align-items:center;gap:.34rem;font-family:var(--serif);font-size:1.34rem;line-height:1;letter-spacing:.08em;color:#fff4cf;text-shadow:0 1px 16px rgba(0,0,0,.55)}.logo-heart{font-family:Georgia,serif;font-size:.72rem;color:#ff5470;letter-spacing:0;filter:drop-shadow(0 0 8px rgba(255,84,112,.5));transform:translateY(-1px)}.navlinks{display:flex;gap:1.5rem;align-items:center;font-size:.73rem;text-transform:uppercase;letter-spacing:.14em}.navlinks a{opacity:.76;transition:.2s}.navlinks a:hover,.navlinks a.active{opacity:1;color:#f7d89f}.nav-toggle{display:none;background:none;border:0;color:#fff;font-size:1.5rem}.hero{min-height:100svh;position:relative;display:grid;align-items:end;color:#fff;background:var(--night);overflow:hidden}.hero-media{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(5,14,28,.88) 0%,rgba(5,14,28,.4) 0%,rgba(5,14,28,.05) 75%),var(--bg);background-size:cover;background-position:center;transform:scale(1.04)}.hero:after{content:'';position:absolute;inset:auto 0 0;height:30%;background:linear-gradient(transparent,var(--night))}.hero-content{position:relative;z-index:2;padding:0 8vw 11vh;max-width:790px}.eyebrow{display:flex;align-items:center;gap:.8rem;color:var(--gold);font-size:.72rem;text-transform:uppercase;letter-spacing:.26em;font-weight:500}.eyebrow:before{content:'';width:42px;height:1px;background:currentColor}.hero h1,.display{font-family:var(--serif);font-weight:400;line-height:.92;letter-spacing:-.025em}.hero h1{font-size:clamp(4.2rem,9vw,9.4rem);margin:.35em 0 .22em}.hero h1 i{font-weight:400;color:#f5d399}.hero-copy{font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.7;max-width:610px;color:rgba(255,255,255,.78)}.hero-actions{display:flex;gap:1rem;margin-top:2rem;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 1.5rem;border-radius:100px;border:1px solid var(--gold);font-size:.72rem;text-transform:uppercase;letter-spacing:.15em;font-weight:600;transition:.25s;background:var(--gold);color:var(--night)}.btn:hover{transform:translateY(-3px);box-shadow:0 12px 35px rgba(215,173,103,.2)}.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}.scroll-note{position:absolute;right:4vw;bottom:3rem;z-index:3;writing-mode:vertical-rl;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.55)}.scroll-note:after{content:'';display:inline-block;height:56px;width:1px;background:var(--gold);margin-top:12px;animation:pulse 2s infinite}@keyframes pulse{50%{opacity:.2;transform:scaleY(.6)}}
.section{padding:clamp(5rem,10vw,9rem) 8vw}.section.dark{background:var(--night);color:#fff}.section.rose{background:#f1e1df}.section-head{max-width:760px;margin-bottom:3.5rem}.kicker{font-size:.68rem;text-transform:uppercase;letter-spacing:.24em;color:var(--rose);font-weight:600}.display{font-size:clamp(3rem,6vw,6.5rem);margin:.22em 0}.lede{font-size:clamp(1.05rem,1.8vw,1.35rem);line-height:1.75;color:#615e5c;max-width:720px}.dark .lede{color:rgba(255,255,255,.64)}.grid{display:grid;gap:1.5rem}.grid.three{grid-template-columns:repeat(3,1fr)}.grid.two{grid-template-columns:repeat(2,1fr)}.card{padding:2rem;border:1px solid rgba(17,24,45,.12);background:rgba(255,255,255,.55);border-radius:2px;transition:.35s}.card:hover{transform:translateY(-8px);border-color:var(--gold);box-shadow:0 24px 55px rgba(34,25,30,.08)}.card .num{font-family:var(--serif);font-size:3rem;color:var(--gold)}.card h3{font-family:var(--serif);font-size:2rem;font-weight:400;margin:.3rem 0}.card p{line-height:1.75;color:#6e6866}.image-band{height:min(72vw,720px);position:relative;background:linear-gradient(90deg,rgba(7,20,38,.65),transparent),var(--bg) center/cover;display:flex;align-items:end;color:#fff}.image-band>div{padding:7vw;max-width:700px}.image-band h2{font:400 clamp(3rem,7vw,7rem)/.94 var(--serif);margin:.2em 0}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);max-width:760px;margin-top:2.5rem}.countdown div{padding:1.2rem;background:rgba(7,20,38,.72);text-align:center}.countdown strong{font:400 clamp(2rem,4vw,4rem) var(--serif);display:block;color:#f7d89f}.countdown span{font-size:.65rem;text-transform:uppercase;letter-spacing:.17em;color:#fff9}
.timeline{position:relative;max-width:1050px;margin:auto}.timeline:before{content:'';position:absolute;left:50%;top:0;bottom:0;width:1px;background:linear-gradient(var(--gold),var(--rose))}.moment{display:grid;grid-template-columns:1fr 90px 1fr;align-items:center;min-height:210px}.moment:nth-child(even) .moment-card{grid-column:3}.moment:nth-child(even) .moment-dot{grid-column:2}.moment-card{padding:1.7rem;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.035);backdrop-filter:blur(8px)}.moment-card time{color:var(--gold);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase}.moment-card h3{font:400 2rem var(--serif);margin:.3em 0}.moment-card p{color:#fff9;line-height:1.65}.moment-dot{grid-column:2;grid-row:1;width:16px;height:16px;border:4px solid var(--night);background:var(--gold);border-radius:50%;justify-self:center;box-shadow:0 0 0 1px var(--gold),0 0 25px var(--gold)}
.ritual{display:grid;grid-template-columns:1.05fr .95fr;min-height:620px}.ritual-art{background:var(--bg) center/cover;min-height:500px}.ritual-copy{padding:7vw;display:flex;flex-direction:column;justify-content:center}.ritual-copy h2{font:400 clamp(3rem,5vw,5.4rem)/.95 var(--serif);margin:.2em 0}.ritual-list{list-style:none;padding:0;margin:1.5rem 0}.ritual-list li{padding:1rem 0;border-bottom:1px solid rgba(17,24,45,.12);display:flex;justify-content:space-between;gap:1rem}.ritual-list small{text-transform:uppercase;letter-spacing:.14em;color:var(--rose)}
.schedule{max-width:900px}.schedule-row{display:grid;grid-template-columns:160px 1fr auto;gap:2rem;align-items:center;padding:1.7rem 0;border-bottom:1px solid rgba(17,24,45,.12)}.schedule-row time{color:var(--rose);font-weight:600}.schedule-row h3{font:400 1.8rem var(--serif);margin:0}.pill{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;padding:.5rem .8rem;border:1px solid var(--gold);border-radius:100px}.faq{max-width:900px}.faq details{border-bottom:1px solid rgba(17,24,45,.15);padding:1.3rem 0}.faq summary{cursor:pointer;font:400 1.65rem var(--serif);list-style:none;display:flex;justify-content:space-between}.faq summary:after{content:'＋';color:var(--rose)}.faq details[open] summary:after{content:'-'}.faq p{line-height:1.7;color:#6e6866;max-width:720px}
.wish{background:var(--night);color:#fff;padding:clamp(5rem,9vw,8rem) 8vw}.wish-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw;max-width:1200px;margin:auto}.wish h2{font:400 clamp(3rem,5vw,5rem)/1 var(--serif);margin:.2em 0}.wish p{color:#fff9;line-height:1.7}.form{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field{display:flex;flex-direction:column;gap:.5rem}.field.full{grid-column:1/-1}.field label{font-size:.65rem;text-transform:uppercase;letter-spacing:.14em;color:#f5d399}.field input,.field textarea,.field select{width:100%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);color:#fff;padding:1rem;font:inherit;border-radius:0;outline:none}.field select option{color:#111}.field input:focus,.field textarea:focus{border-color:var(--gold)}.field textarea{min-height:130px;resize:vertical}.footer{background:#040b15;color:#fff9;padding:2.5rem 5vw;text-align:center;font-size:.8rem;letter-spacing:.06em}.heart{color:#e13c55;display:inline-block;animation:beat 1.2s infinite}@keyframes beat{50%{transform:scale(1.25)}}.reveal{opacity:0;transform:translateY(40px);transition:opacity .9s,transform .9s}.reveal.visible{opacity:1;transform:none}.marquee{overflow:hidden;background:var(--gold);color:var(--night);padding:.85rem 0}.marquee-track{white-space:nowrap;font:400 1.3rem var(--serif);animation:marquee 26s linear infinite}@keyframes marquee{to{transform:translateX(-50%)}}
@media(max-width:900px){.nav{height:70px}.nav-toggle{display:block}.navlinks{position:fixed;inset:0;background:var(--night);display:flex;flex-direction:column;justify-content:center;font-size:1rem;gap:1.6rem;transform:translateX(100%);transition:.4s}.navlinks.open{transform:none}.nav-toggle{position:relative;z-index:2}.hero-content{padding:0 6vw 12vh}.hero-media{background-position:61% center}.grid.three,.grid.two,.ritual,.wish-wrap{grid-template-columns:1fr}.ritual-copy{order:-1}.timeline:before{left:14px}.moment{display:grid;grid-template-columns:30px 1fr;min-height:0;margin-bottom:1.5rem}.moment-card,.moment:nth-child(even) .moment-card{grid-column:2}.moment-dot,.moment:nth-child(even) .moment-dot{grid-column:1;justify-self:start;margin-left:7px}.schedule-row{grid-template-columns:90px 1fr}.schedule-row .pill{grid-column:2;width:max-content}.section{padding-left:6vw;padding-right:6vw}.countdown{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.hero h1{font-size:3.65rem}.form{grid-template-columns:1fr}.field.full{grid-column:auto}.image-band{height:75svh}.schedule-row{grid-template-columns:1fr;gap:.4rem}.schedule-row .pill{grid-column:auto}.scroll-note{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
.amp{font-family:'Cormorant Garamond',Georgia,serif!important;font-style:italic!important;font-weight:600!important;line-height:.7;letter-spacing:0}.brand .amp{color:var(--gold);font-size:1.25em}.hero-media{background-color:var(--night)}.faq details[open] summary:after{content:'-'!important}.content-strip{padding:4rem 8vw;background:#fff}.content-strip .grid{max-width:1200px;margin:auto}.content-strip blockquote{font:400 clamp(1.8rem,3vw,3rem)/1.25 var(--serif);margin:0;color:var(--wine)}
.nav{background:rgba(4,12,25,.82);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.12);text-shadow:0 1px 12px #000}.hero-content{padding-top:7rem;text-shadow:0 2px 18px rgba(0,0,0,.85)}.hero h1{color:#fff}.hero h1 i,.hero h1 .amp{color:#ffe3aa}.hero-copy{color:rgba(255,255,255,.94)}.eyebrow{color:#ffd995}.image-band>div{position:relative;z-index:2;text-shadow:0 2px 16px #000}.image-band:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,12,25,0),rgba(4,12,25,.12));pointer-events:none}
@media(max-width:900px){section.hero{min-height:100svh!important}.nav{height:64px;padding:0 5vw;background:rgba(4,12,25,.94)}.brand{font-size:1.3rem}.hero{align-items:end}.hero-media{background-position:64% center!important;transform:scale(1.01)}.hero-content{width:100%;max-width:none;padding:7.5rem 6vw 3.5rem;}.hero h1{font-size:clamp(3.15rem,15vw,5rem);line-height:.92}.hero-copy{font-size:1rem;line-height:1.6}.eyebrow{font-size:.63rem;letter-spacing:.2em}.countdown{margin-top:1.5rem}.countdown div{padding:.85rem .4rem}.countdown strong{font-size:2.2rem}.image-band{height:78svh;background-position:18% center!important}.image-band>div{padding:7vw 6vw;background:linear-gradient(180deg,transparent,rgba(4,12,25,.9));width:100%}.ritual-art{min-height:58svh;background-position:center!important}.section-head{margin-bottom:2.25rem}}
@media(max-width:420px){.hero-content{padding-bottom:2.5rem}.hero h1{font-size:3.25rem}.hero-actions{gap:.65rem}.btn{min-height:46px;padding:0 1.1rem}.countdown strong{font-size:1.8rem}.countdown span{font-size:.55rem}.navlinks{padding:5rem 1rem}.wish{padding-left:6vw;padding-right:6vw}}
@media(max-width:560px){.logo{gap:.42rem;padding:.26rem .58rem .26rem .3rem}.logo-mark{width:38px;height:38px}.logo-mark svg{width:27px;height:27px}.logo-monogram{font-size:1.05rem;gap:.24rem}.logo-heart{font-size:.6rem}}
.nav.menu-open{height:100dvh!important;background:#071426!important;align-items:flex-start;padding-top:1.25rem}.nav.menu-open .navlinks{position:absolute;inset:0;width:100%;height:100%;background:#071426;transform:none;overflow-y:auto;padding:4.5rem 1rem 2rem;gap:1.25rem}.nav.menu-open .brand,.nav.menu-open .nav-toggle{z-index:3}
.honey{position:absolute!important;left:-9999px!important}.form-status{min-height:1.4em;margin:.75rem 0 0;color:#ffd0d8}.btn:disabled{opacity:.6;cursor:wait}.thanks-page{min-height:100svh;display:grid;place-items:center;padding:7rem 6vw 4rem;background:radial-gradient(circle at 50% 25%,#193659,#071426 62%);color:#fff;text-align:center}.thanks-card{max-width:680px}.thanks-card.visible{opacity:1}.thanks-card .eyebrow{justify-content:center}.thanks-card .eyebrow:after{content:'';width:42px;height:1px;background:currentColor}.thanks-card h1{font:400 clamp(4rem,12vw,8rem)/1 var(--serif);margin:.2em 0}.thanks-card p{font-size:1.1rem;line-height:1.75;color:#fffbd}.thanks-ring{display:block;color:var(--gold);font-size:4rem}.redirect-note strong{color:#ffe1a1;font:400 2rem var(--serif)}
@media(max-width:900px){body[data-page="Home"] .hero-media{background-position:center,70% center!important;background-size:cover,auto 86%!important;background-repeat:no-repeat!important}body[data-page="Our Story"] .hero-media{background-position:center,66% center!important;background-size:cover,auto 88%!important;background-repeat:no-repeat!important}body[data-page="Roka"] .hero-media{background-position:center,48% center!important}body[data-page="Ring"] .hero-media{background-position:center,76% center!important}body[data-page="Schedule"] .hero-media{background-position:center,48% center!important}}
