:root{--ink:#273640;--muted:#6f7d86;--blue:#dbeefa;--blue2:#a9cce3;--silver:#91a2ad;--paper:#fbfcfd;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Montserrat,Arial,sans-serif;font-size:16px;line-height:1.7;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.38;background-image:radial-gradient(#b8cbd8 .55px,transparent .55px);background-size:7px 7px;z-index:-1}
.topbar{position:fixed;z-index:20;top:0;left:0;right:0;height:72px;padding:0 clamp(20px,4vw,64px);display:flex;align-items:center;justify-content:space-between;background:linear-gradient(to bottom,rgba(251,252,253,.94),rgba(251,252,253,.55),transparent);backdrop-filter:blur(6px)}
.monogram{width:40px;height:40px;border:1px solid rgba(39,54,64,.25);border-radius:50%;display:grid;place-items:center;text-decoration:none;color:var(--ink);font:italic 600 1.55rem 'Cormorant Garamond'}
.languages{display:flex;gap:7px}.languages button{border:0;background:transparent;color:var(--muted);font:600 .78rem Montserrat;padding:8px;cursor:pointer}.languages button.active{color:var(--ink);border-bottom:1px solid var(--ink)}
.hero{min-height:100svh;display:grid;grid-template-columns:minmax(320px,.88fr) 1.12fr;align-items:center;gap:clamp(30px,6vw,100px);max-width:1280px;margin:auto;padding:96px clamp(20px,5vw,72px) 48px}
.video-wrap{position:relative;justify-self:center;width:min(100%,480px);aspect-ratio:2424/3414;border-radius:240px 240px 28px 28px;overflow:hidden;box-shadow:0 35px 80px rgba(92,126,148,.22);border:1px solid rgba(255,255,255,.8);background:var(--blue)}
.video-wrap:after{content:"";position:absolute;inset:12px;border:1px solid rgba(255,255,255,.65);border-radius:inherit;pointer-events:none}.video-wrap video{width:100%;height:100%;object-fit:cover;display:block}
.hero-copy{text-align:center;max-width:560px}.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.28em;font-size:.72rem;font-weight:600;color:#7f96a5}.hero h1{font:500 clamp(5.5rem,12vw,10rem)/.72 'Cormorant Garamond';margin:.24em 0 .18em;color:#294554}.script{font:italic 500 clamp(1.6rem,3vw,2.5rem) 'Cormorant Garamond';margin:0;color:#6f8da1}.date-lockup{display:flex;align-items:center;justify-content:center;gap:12px;margin:34px 0 22px;font:500 1rem 'Cormorant Garamond';letter-spacing:.15em}.date-lockup i{width:34px;height:1px;background:var(--silver)}.welcome{max-width:480px;margin:0 auto 30px;color:var(--muted)}
.event-time{margin:-10px 0 18px;color:#52758c;font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.primary,.secondary{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:14px 25px;text-decoration:none;text-transform:uppercase;letter-spacing:.13em;font-size:.76rem;font-weight:600;transition:.25s}.primary{background:#6c91aa;color:#fff;border:1px solid #6c91aa}.primary:hover{background:#557b95;transform:translateY(-2px)}.secondary{color:var(--ink);border:1px solid rgba(39,54,64,.35)}.secondary:hover{background:#fff}
.section{padding:clamp(74px,10vw,130px) 24px;text-align:center}.section h2{font:500 clamp(2.4rem,5vw,4.8rem)/1.02 'Cormorant Garamond';margin:16px auto 28px;max-width:800px}.section>p:not(.kicker){max-width:720px;margin:0 auto;color:var(--muted)}
.countdown{background:linear-gradient(135deg,#d9edf9,#edf6fb)}.timer{display:grid;grid-template-columns:repeat(4,1fr);max-width:780px;margin:36px auto 0}.timer div{padding:10px;border-right:1px solid rgba(65,97,116,.2)}.timer div:last-child{border:0}.timer strong{display:block;font:500 clamp(2.6rem,6vw,5.4rem) 'Cormorant Garamond';line-height:1}.timer span{font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;color:#718795}
.meaning{position:relative}.ornament{font-size:1.6rem;color:#9ab4c5}.meaning:before,.meaning:after{content:"";position:absolute;width:170px;height:250px;border:1px solid #d7e3ea;top:50%;transform:translateY(-50%) rotate(18deg);border-radius:50%}.meaning:before{left:-120px}.meaning:after{right:-120px;transform:translateY(-50%) rotate(-18deg)}
.ritual-note{position:relative;z-index:1;max-width:720px;margin:42px auto 0;padding:28px 32px;background:#eef7fb;border:1px solid #d2e5ef}.ritual-note .kicker{margin:0 0 10px}.ritual-note p:last-child{margin:0;color:var(--muted)}
.program{background:#f0f6f9}.timeline{max-width:900px;margin:48px auto 0;display:grid;gap:18px;text-align:left}.timeline-card{display:grid;grid-template-columns:110px 1fr;gap:28px;align-items:center;background:rgba(255,255,255,.78);border:1px solid rgba(125,158,179,.22);padding:28px 34px}.timeline-card.featured{background:#dceef8;border-color:#9ec4da}.day{text-align:center;border-right:1px solid rgba(92,126,148,.25);padding-right:28px}.day span{display:block;font:500 3.5rem/1 'Cormorant Garamond';color:#476b82}.day small{display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.12em;color:#7b909d}.side-label{margin:0 0 4px;color:#7892a3;text-transform:uppercase;letter-spacing:.16em;font-size:.66rem;font-weight:600}.day-copy h3{margin:0 0 6px;font:500 2rem/1.1 'Cormorant Garamond';color:#304d5e}.day-copy>p:last-child{margin:0;color:var(--muted);line-height:1.65}.departure{opacity:.86}
.location{min-height:700px;display:grid;place-items:center;background:linear-gradient(rgba(30,53,66,.36),rgba(30,53,66,.36)),url('portrait.png') center 26%/cover fixed}.location-card{width:min(90%,560px);padding:clamp(40px,6vw,75px);background:rgba(251,252,253,.92);backdrop-filter:blur(10px);box-shadow:0 28px 80px rgba(19,39,52,.25)}.location-card h2{margin-bottom:12px}.location-card p{margin:0 0 30px;color:var(--muted)}
.rsvp{background:#f0f6f9}.rsvp p{margin-bottom:30px!important}footer{text-align:center;padding:65px 20px;background:#293e4a;color:#dceaf2}footer span{font:italic 500 4rem 'Cormorant Garamond'}footer p{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;margin:4px 0 0}
@media(max-width:820px){.topbar{height:60px}.hero{grid-template-columns:1fr;padding-top:78px;gap:42px}.video-wrap{width:min(88vw,410px)}.hero h1{font-size:6.2rem}.timer{grid-template-columns:repeat(2,1fr);gap:28px}.timer div:nth-child(2){border-right:0}.location{background-attachment:scroll;min-height:600px}.section{padding-left:20px;padding-right:20px}}
@media(max-width:620px){.timeline-card{grid-template-columns:70px 1fr;gap:18px;padding:24px 18px}.day{padding-right:16px}.day span{font-size:2.7rem}.day-copy h3{font-size:1.65rem}.day-copy>p:last-child{font-size:.92rem}}
@media(max-width:440px){.hero{padding-left:14px;padding-right:14px}.video-wrap{width:94vw}.hero h1{font-size:5rem}.welcome{padding:0 12px}.timer strong{font-size:3.2rem}.location-card{width:94%;padding:42px 24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.primary{transition:none}}
