@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Manrope:wght@400;500;600;700&display=swap');
.language-switch{position:fixed;bottom:20px;left:20px;z-index:60;display:flex;align-items:center;gap:4px;padding:5px;background:#f4f1e9;color:#344035;border:1px solid #34403555;border-radius:30px;box-shadow:0 3px 18px #0002}.language-switch button{background:transparent;color:inherit;border-radius:24px;min-width:44px;min-height:38px;font-size:13px;font-weight:700}.language-switch button[aria-pressed=true]{background:#344035;color:#fff}.language-switch span{font-size:12px}.language-switch:has(button:focus-visible){outline:2px solid #a67135}footer{padding-bottom:85px!important}@media(max-width:750px){.language-switch{bottom:12px;left:10px}.hero .motion-toggle{bottom:18px;font-size:11px}html[lang=en] .hero h1{font-size:29vw}}
:root{--paper:#f4f1e9;--ink:#344035;--accent:#d5dc9d;--line:#34403530}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,sans-serif;font-size:16px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #a67135;outline-offset:7px}button{border:0}h1,h2,h3,p{margin:0}h1,h2,h3,.brand,.monogram{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400}h2{font-size:clamp(48px,6.4vw,100px);line-height:1.04;letter-spacing:-.04em}em{font-weight:400}p{line-height:1.8}.eyebrow{font-size:12px;letter-spacing:.19em;font-weight:600;display:block}.progress{position:fixed;top:0;left:0;height:3px;background:var(--accent);width:0;z-index:30}header{position:absolute;top:0;left:0;width:100%;z-index:5;color:white;display:flex;align-items:center;justify-content:space-between;padding:26px 5%;border-bottom:1px solid #ffffff35}.brand{font-size:34px;letter-spacing:-2px}.brand span{font-style:italic;font-size:.8em;padding:0 3px}nav{display:flex;gap:36px;font-size:14px}.nav-rsvp{background:transparent;color:inherit;border:1px solid #ffffff80;padding:13px 20px;border-radius:30px;font-size:13px}.nav-rsvp span{padding-left:15px}.hero{height:100svh;min-height:700px;position:relative;color:white;overflow:hidden;background:#526052}.hero-photo{position:absolute;inset:-4%;background-size:cover;background-position:center;animation:kenburns 22s ease-in-out infinite alternate;transition:opacity 1.2s}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#09180930,#09180910 30%,#091809a0)}.hero-content{position:absolute;inset:24% 8% 7%;display:flex;flex-direction:column;justify-content:space-between}.hero h1{font-size:clamp(100px,14vw,230px);line-height:.75;letter-spacing:-.065em;margin:28px 0 50px}.hero h1 em{font-size:.65em;color:var(--accent)}.hero h1>span{margin-left:19%}.hero-bottom{display:flex;justify-content:space-between;align-items:end}.hero-bottom p{font-size:16px}.scroll-link{font-size:11px;letter-spacing:.12em;display:flex;align-items:center;gap:22px}.scroll-link span{display:grid;place-items:center;border:1px solid #ffffff80;border-radius:50%;width:46px;height:46px;font-size:22px}.hero-counter{position:absolute;right:5%;top:50%;display:flex;flex-direction:column;align-items:center;gap:18px;font-size:12px}.hero-counter i{height:70px;width:1px;background:#ffffff70}.motion-toggle{position:absolute;right:15px;bottom:10px;background:#16211780;color:white;font-size:12px;padding:6px 10px;border-radius:20px}.mock-label{text-align:center;background:var(--ink);color:#f4f1e9;padding:12px;font-size:12px;letter-spacing:.06em}.section{padding:120px 8%}.intro{padding-top:140px;padding-bottom:140px}.intro h2{margin:34px 0 60px}.intro-bottom{display:grid;grid-template-columns:1fr 1.2fr 1.2fr;gap:70px}.intro-bottom p{font-size:15px;max-width:360px}.tiny-star{font-size:60px}.photo-story{display:grid;grid-template-columns:1.2fr 1fr;padding:0 8% 130px;gap:8%;align-items:center}.story-image{height:650px;position:relative;overflow:hidden;border-radius:240px 240px 0 0}.story-image img{width:100%;height:100%;object-fit:cover;transition:transform 1s}.story-image:hover img{transform:scale(1.05)}.story-image>span{position:absolute;bottom:0;left:0;right:0;padding:50px 30px 25px;color:white;font-size:13px;background:linear-gradient(transparent,#0009)}.story-quote p{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(40px,5.4vw,82px);line-height:1.08;letter-spacing:-.03em;margin:36px 0}.small-note{font-size:14px}.day{background:#e9e9de}.section-top{display:flex;justify-content:space-between;gap:25px}.chapter{font-size:12px;letter-spacing:.09em}.day-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;margin:55px 0 85px;align-items:center}.date-card{border-left:1px solid var(--line);padding-left:40px}.date-card>span{font-size:12px;letter-spacing:.15em}.date-card strong{font-family:'Cormorant Garamond',Georgia,serif;font-size:46px;font-weight:400;display:block;margin:15px 0}.date-card p{font-size:14px}.timeline{display:grid;grid-template-columns:repeat(3,1fr)}.timeline article{border-top:1px solid #34403570;padding:28px 20px 0 0;position:relative}.timeline article:before{content:'';position:absolute;left:0;top:-4px;width:7px;height:7px;border-radius:50%;background:var(--ink)}.time{font-size:12px}.timeline h3{font-size:32px;margin:25px 0 8px}.timeline p{font-size:14px}.tag{display:inline-block;font-size:12px;margin-top:25px;border:1px solid var(--line);border-radius:20px;padding:7px 12px}.landscape{height:650px;position:relative;overflow:hidden;color:white;text-align:center;display:grid;place-items:center;background:#344035}.landscape img{width:100%;height:120%;object-fit:cover;position:absolute;top:-10%;filter:brightness(.65)}.landscape>div{position:relative;padding:30px}.landscape h2{margin-top:30px}.details{display:grid;grid-template-columns:1fr 1fr;gap:9%}.details h2{font-size:clamp(42px,4.4vw,68px);margin-top:30px}.accordions details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;padding:25px 0;font-size:17px;display:flex;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}summary span{font-size:24px;transition:transform .3s}details[open] summary span{transform:rotate(45deg)}details p{font-size:14px;padding:0 25px 25px 0}.rsvp{text-align:center;background:var(--ink);color:var(--paper);padding-top:130px;padding-bottom:130px}.rsvp h2{margin:35px 0}.rsvp p{font-size:16px}.big-rsvp{background:var(--accent);color:#263227;border-radius:40px;padding:22px 35px;margin:35px 0 25px;transition:transform .3s,background .3s}.big-rsvp:hover{transform:translateY(-4px);background:#e6ebbf}.big-rsvp span{margin-left:25px}.rsvp-note{display:block;font-size:12px;color:#d4dbd1}footer{padding:50px 8%;display:flex;align-items:center;justify-content:space-between;gap:30px}footer p{font-size:13px}footer button{font-size:12px;background:none;color:var(--ink);border-bottom:1px solid var(--line);padding:10px 0}footer>span{font-size:10px;letter-spacing:.12em}.invitation{position:fixed;inset:0;background:#e9e8dc;z-index:50;display:grid;place-items:center;transition:clip-path 1.5s cubic-bezier(.76,0,.24,1),visibility 1.5s;clip-path:inset(0 0 0 0);overflow:hidden}.invitation:before{content:'';position:absolute;inset:24px;border:1px solid #34403535;pointer-events:none}.invitation-inner{text-align:center;padding:45px 20px}.monogram{font-size:clamp(100px,18vw,220px);line-height:1.1;letter-spacing:-.09em;margin:25px 0}.monogram span{font-style:italic;font-size:.75em;padding:0 .1em}.invitation p{font-family:'Cormorant Garamond',Georgia,serif;font-size:25px;font-style:italic}.seal{display:block;margin:32px auto;background:var(--ink);color:var(--paper);border-radius:50%;width:112px;height:112px;font-size:14px;line-height:1.4;box-shadow:0 8px 30px #34403520;transition:transform .4s}.seal:hover{transform:rotate(-8deg) scale(1.08)}.seal span{display:block;font-size:20px}.cover-note{font-size:11px;letter-spacing:.15em}.invitation.open{clip-path:inset(0 0 100% 0);visibility:hidden}.reveal{opacity:1;transform:none}.js-motion .reveal{opacity:0;transform:translateY(35px);transition:opacity .9s,transform .9s}.js-motion .reveal.visible{opacity:1;transform:none}dialog{border:0;background:var(--paper);color:var(--ink);padding:65px;max-width:570px;width:calc(100% - 36px)}dialog::backdrop{background:#172519bb;backdrop-filter:blur(8px)}dialog h2{font-size:65px;margin:25px 0}dialog p{font-size:15px}.dialog-note{margin:20px 0;color:#536352}.dialog-ok{background:var(--ink);color:white;padding:15px 25px;border-radius:25px}.close{position:absolute;right:18px;top:12px;font-size:32px;background:none;color:var(--ink)}@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.1) translate(-1%,1%)}}.paused *{animation-play-state:paused!important}.paused .reveal{opacity:1;transform:none}.paused{scroll-behavior:auto}@media(max-width:750px){header{padding:20px 6%}nav{display:none}.nav-rsvp{font-size:12px;padding:10px 14px}.hero{min-height:660px}.hero-content{inset:25% 7% 10%}.hero h1{font-size:29vw;line-height:.83}.hero h1>span{margin-left:12%}.hero-bottom{display:block}.hero-bottom p{font-size:14px}.scroll-link{margin-top:24px;font-size:10px}.hero-counter{display:none}.section{padding:80px 7%}.intro-bottom{grid-template-columns:1fr;gap:25px}.intro-bottom .tiny-star{font-size:36px}.intro h2{margin-bottom:35px}.photo-story{grid-template-columns:1fr;padding:0 7% 80px;gap:45px}.story-image{height:480px}.story-quote p{font-size:58px}.section-top{display:block}.chapter{display:block;margin-top:15px}.day-heading{grid-template-columns:1fr;margin:35px 0 50px}.date-card{padding:0;border:0}.timeline{grid-template-columns:1fr;gap:35px}.timeline article{padding-top:20px}.timeline h3{margin-top:15px}.tag{margin-top:14px}.landscape{height:520px}.details{grid-template-columns:1fr;gap:30px}.rsvp h2{font-size:65px}footer{flex-wrap:wrap;padding:35px 7%}footer>span{width:100%}dialog{padding:45px 25px}dialog h2{font-size:55px}.mock-label{font-size:10px}.eyebrow{font-size:11px;line-height:1.7}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}}
