:root{--cream:#f8f4ec;--cream-light:#fdfbf6;--cream-dark:#efe8da;--espresso:#372a1f;--espresso-deep:#2a1f16;--brown:#7a5c44;--brown-soft:#9a7d63;--taupe:#b3a18c;--line:#e0d5c2;--gold:#a9834f;--font-display:"Bodoni Moda","Didot","Times New Roman",serif;--font-body:"Cormorant Garamond",Georgia,serif;--font-label:"Jost","Helvetica Neue",sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--espresso);font-family:var(--font-body);font-size:1.18rem;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.display{font-family:var(--font-display);font-weight:400;letter-spacing:.02em}.label{font-family:var(--font-label);font-weight:400;text-transform:uppercase;letter-spacing:.35em;font-size:.72rem;color:var(--brown)}.script-amp{font-style:italic;color:var(--gold)}.container{width:min(1080px,92vw);margin:0 auto}.section{padding:5.5rem 0}.page-header{text-align:center;padding:7.5rem 0 3.5rem}.page-header h1{font-family:var(--font-display);font-size:clamp(2.6rem,6vw,4.2rem);font-weight:400;letter-spacing:.04em;margin-top:1.2rem}.page-header .rule{width:56px;height:1px;background:var(--gold);margin:2rem auto 0}.page-intro{max-width:620px;margin:2rem auto 0;text-align:center;color:var(--brown);font-size:1.15rem}.nav{position:fixed;top:0;left:0;right:0;z-index:50;background:color-mix(in srgb,var(--cream) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav-inner{width:min(1200px,94vw);margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:1.1rem 0}.nav-monogram{display:block;line-height:0}.nav-monogram img{height:52px;width:auto;display:block}.nav-links{display:flex;gap:2rem;align-items:center}.nav-links a{font-family:var(--font-label);text-transform:uppercase;letter-spacing:.22em;font-size:.7rem;color:var(--espresso);padding:.4rem 0;border-bottom:1px solid transparent;transition:border-color .25s,color .25s}.nav-links a.active,.nav-links a:hover{color:var(--brown);border-bottom-color:var(--gold)}.nav-links a.nav-cta{border:1px solid var(--espresso);padding:.6rem 1.4rem;transition:background .25s,color .25s}.nav-links a.nav-cta:hover{background:var(--espresso);color:var(--cream);border-bottom-color:var(--espresso)}.nav-toggle{display:none;background:none;border:none;font-family:var(--font-label);text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;color:var(--espresso);cursor:pointer;padding:.5rem}.lang-switch{gap:.7rem;margin-left:.7rem;padding-left:1.1rem;border-left:1px solid var(--line)}.lang-btn,.lang-switch{display:inline-flex;align-items:center}.lang-btn{gap:.4rem;background:none;cursor:pointer;font-family:var(--font-label);letter-spacing:.16em;font-size:.68rem;color:var(--brown-soft);padding:.2rem 0;border:none;border-bottom:1px solid transparent;transition:color .2s,border-color .2s}.lang-btn:hover{color:var(--brown)}.lang-btn.active{color:var(--espresso);border-bottom-color:var(--gold)}.lang-flag{width:20px;height:13px;border-radius:2px;border:1px solid rgba(42,31,22,.18);flex:0 0 auto;display:block}@media (max-width:880px){.lang-switch{margin-left:0;margin-top:1rem;padding-left:0;border-left:none}.nav-toggle{display:block}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream-light);border-bottom:1px solid var(--line);flex-direction:column;gap:0;padding:1rem 0 1.5rem}.nav-links.open{display:flex}.nav-links a{padding:.85rem 0}.nav-links a.nav-cta{margin-top:.75rem}}.hero{min-height:88svh;display:grid;place-items:center;position:relative;overflow:hidden;text-align:center;padding:6rem 1rem 13rem}.hero-bg{position:absolute;inset:0;background-image:var(--hero-desktop);background-size:cover;background-position:center 30%;filter:sepia(.14) saturate(.92)}@media (max-width:880px){.hero{min-height:100svh;padding:6rem 1rem 4rem}.hero-bg{background-image:var(--hero-mobile);background-position:center 40%}}.hero-bg:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 90% 65% at 50% 46%,rgba(30,21,14,.52) 0,rgba(30,21,14,.28) 55%,rgba(30,21,14,.1) 100%),linear-gradient(180deg,rgba(30,21,14,.55),rgba(30,21,14,.25) 40%,rgba(30,21,14,.68))}.hero-content{position:relative;z-index:1;color:var(--cream-light)}.hero-content .label{color:var(--cream-dark)}.hero-names{font-family:var(--font-display);font-size:clamp(2.7rem,8vw,5.6rem);font-weight:400;line-height:1.12;letter-spacing:.03em;margin:1.6rem 0;text-shadow:0 2px 30px rgba(42,31,22,.35)}.hero-date{font-family:var(--font-label);text-transform:uppercase;letter-spacing:.45em;font-size:clamp(.75rem,1.6vw,.95rem)}.hero-rule{width:64px;height:1px;background:var(--gold);margin:2.2rem auto}.hero-cta{display:inline-block;margin-top:2.4rem;font-family:var(--font-label);text-transform:uppercase;letter-spacing:.3em;font-size:.72rem;color:var(--cream-light);border:1px solid hsla(43,64%,98%,.65);padding:.95rem 2.6rem;transition:background .3s,color .3s}.hero-cta:hover{color:var(--espresso)}.countdown,.hero-cta:hover{background:var(--cream-light)}.countdown{display:flex;justify-content:center;gap:clamp(1.5rem,5vw,3.5rem);padding:3.4rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.countdown div{text-align:center;min-width:64px}.countdown b{display:block;font-family:var(--font-display);font-size:clamp(2rem,5vw,3rem);font-weight:500;color:var(--espresso)}.countdown span{font-family:var(--font-label);text-transform:uppercase;letter-spacing:.3em;font-size:.66rem;color:var(--brown-soft)}.home-invite{text-align:center}.home-invite h2{font-family:var(--font-display);font-size:clamp(2.1rem,5vw,3.2rem);font-weight:400;margin:1.4rem 0 1rem}.home-invite p{max-width:560px;margin:0 auto;color:var(--brown)}.home-venue{margin-top:3rem;display:inline-block;border:1px solid var(--line);background:var(--cream-light);padding:2.4rem 3.4rem}.home-venue .venue-name{font-family:var(--font-display);font-size:1.9rem;margin:.6rem 0 .3rem}.home-venue .venue-address{color:var(--brown-soft);font-size:1rem}.home-venue a{display:inline-block;margin-top:1.1rem;font-family:var(--font-label);text-transform:uppercase;letter-spacing:.26em;font-size:.68rem;color:var(--gold);border-bottom:1px solid var(--gold);padding-bottom:.2rem}.photo-band{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.4rem;gap:1.4rem}.band-overlap{position:relative;z-index:2;margin-top:-9rem}.photo-band .frame{aspect-ratio:3/4;overflow:hidden;background:var(--cream-light);border:8px solid var(--cream-light);box-shadow:0 18px 45px rgba(42,31,22,.28)}.photo-band img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}.photo-band .frame:hover img{transform:scale(1.045)}@media (max-width:880px){.band-overlap{margin-top:3rem}}@media (max-width:700px){.photo-band{grid-template-columns:1fr}.photo-band .frame{aspect-ratio:4/5}}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:1.4rem;gap:1.4rem;margin-top:3rem}.card{background:var(--cream-light);border:1px solid var(--line);padding:2.8rem 2.4rem;text-align:center;transition:border-color .3s,transform .3s}.card:hover{border-color:var(--taupe);transform:translateY(-3px)}.card h3{font-family:var(--font-display);font-size:1.8rem;font-weight:500;margin-bottom:.7rem}.card p{color:var(--brown-soft);font-size:1rem}.card .card-link{display:inline-block;margin-top:1.6rem;font-family:var(--font-label);text-transform:uppercase;letter-spacing:.26em;font-size:.68rem;padding:.8rem 2rem;border:1px solid var(--espresso);color:var(--espresso);transition:background .25s,color .25s}.card .card-link:hover{background:var(--espresso);color:var(--cream)}.timeline{max-width:640px;margin:3rem auto 0}.timeline-item{display:grid;grid-template-columns:110px 1fr;grid-gap:2rem;gap:2rem;padding:1.8rem 0;border-bottom:1px solid var(--line)}.timeline-item:last-child{border-bottom:none}.timeline-time{font-family:var(--font-label);text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;color:var(--gold);padding-top:.45rem;text-align:right}.timeline-body h3{font-family:var(--font-display);font-size:1.55rem;font-weight:500}.timeline-body p{color:var(--brown-soft);font-size:1rem;margin-top:.2rem}@media (max-width:560px){.timeline-item{grid-template-columns:1fr;gap:.3rem}.timeline-time{text-align:left}}.gallery-grid{columns:280px 3;column-gap:.9rem}.gallery-grid .g-item{margin-bottom:.9rem;overflow:hidden;background:var(--cream-dark);page-break-inside:avoid;break-inside:avoid}.gallery-grid img{width:100%;transition:transform .8s ease,filter .8s ease}.gallery-grid .g-item:hover img{transform:scale(1.03)}.info-block{max-width:640px;margin:0 auto;text-align:center;padding:3rem 0;border-bottom:1px solid var(--line)}.info-block:last-child{border-bottom:none}.info-block h2{font-family:var(--font-display);font-size:2rem;font-weight:500;margin:.9rem 0 1rem}.info-block p{color:var(--brown)}.info-block .out-link{display:inline-block;margin-top:1.2rem;font-family:var(--font-label);text-transform:uppercase;letter-spacing:.26em;font-size:.68rem;color:var(--gold);border-bottom:1px solid var(--gold);padding-bottom:.2rem}.rsvp-wrap{max-width:560px;margin:0 auto;padding-bottom:6rem}.rsvp-panel{background:var(--cream-light);border:1px solid var(--line);padding:3rem clamp(1.4rem,5vw,3rem)}.rsvp-panel .field{margin-bottom:1.6rem;text-align:left}.rsvp-panel label{display:block;font-family:var(--font-label);text-transform:uppercase;letter-spacing:.22em;font-size:.68rem;color:var(--brown);margin-bottom:.55rem}.rsvp-panel input[type=text],.rsvp-panel select,.rsvp-panel textarea{width:100%;border:1px solid var(--line);background:var(--cream);font-family:var(--font-body);font-size:1.05rem;color:var(--espresso);padding:.85rem 1rem;outline:none;transition:border-color .25s;border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.rsvp-panel input:focus,.rsvp-panel select:focus,.rsvp-panel textarea:focus{border-color:var(--brown-soft)}.btn{display:inline-block;width:100%;border:1px solid var(--espresso);background:var(--espresso);color:var(--cream);font-family:var(--font-label);text-transform:uppercase;letter-spacing:.3em;font-size:.72rem;padding:1.05rem 2rem;cursor:pointer;transition:background .25s,color .25s}.btn:hover:not(:disabled){background:transparent;color:var(--espresso)}.btn:disabled{opacity:.5;cursor:wait}.btn-ghost{background:transparent;color:var(--espresso)}.btn-ghost:hover:not(:disabled){background:var(--espresso);color:var(--cream)}.rsvp-error{color:#8c3b2e;font-size:.98rem;margin-top:1rem;text-align:center}.rsvp-note{color:var(--brown-soft);font-size:.95rem;text-align:center;margin-top:1.4rem}.guest-row{border:1px solid var(--line);background:var(--cream);padding:1.6rem 1.4rem;margin-bottom:1.2rem}.guest-row h4{font-family:var(--font-display);font-size:1.45rem;font-weight:500;margin-bottom:1rem}.attend-toggle{display:flex;gap:.7rem;margin-bottom:1.1rem}.attend-toggle button{flex:1 1;border:1px solid var(--line);background:var(--cream-light);font-family:var(--font-label);text-transform:uppercase;letter-spacing:.18em;font-size:.66rem;padding:.8rem .4rem;cursor:pointer;color:var(--brown-soft);transition:all .2s}.attend-toggle button.sel-yes{background:var(--espresso);border-color:var(--espresso);color:var(--cream)}.attend-toggle button.sel-no{background:var(--taupe);border-color:var(--taupe);color:var(--cream-light)}.confirm-heading{font-family:var(--font-body);font-weight:400;font-size:1.15rem;line-height:1.5;color:var(--brown);text-align:center;margin-bottom:2rem}.confirm-option{width:100%;display:flex;align-items:center;gap:1rem;text-align:left;background:var(--cream);border:1px solid var(--line);padding:1.15rem 1.3rem;margin-bottom:1rem;cursor:pointer;transition:border-color .2s,background .2s;font-family:var(--font-body)}.confirm-option:hover{border-color:var(--taupe)}.confirm-option.selected{border-color:var(--espresso);background:var(--cream-light)}.confirm-option .radio-dot{flex:0 0 auto;width:18px;height:18px;border-radius:50%;border:1px solid var(--brown-soft);position:relative;transition:border-color .2s}.confirm-option.selected .radio-dot{border-color:var(--espresso)}.confirm-option.selected .radio-dot:after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--espresso)}.confirm-names{font-size:1.2rem;color:var(--espresso)}.confirm-others{color:var(--brown-soft)}.event-card{background:var(--cream-light);border:1px solid var(--line);padding:2.6rem clamp(1.3rem,5vw,2.6rem);margin-bottom:1.4rem}.event-title{font-family:var(--font-display);font-weight:500;font-size:2rem;text-align:center}.event-meta{text-align:center;color:var(--brown-soft);font-size:1.02rem;margin-top:.35rem}.event-meta:first-of-type{margin-top:.9rem}.event-guests{margin-top:2.2rem;border-top:1px solid var(--line)}.event-guest{padding:1.5rem 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.event-guest-name{font-family:var(--font-display);font-size:1.5rem}.rsvp-choice{display:flex;gap:.6rem}.rsvp-choice button{font-family:var(--font-label);text-transform:uppercase;letter-spacing:.16em;font-size:.64rem;padding:.62rem 1.15rem;border:1px solid var(--line);background:var(--cream);color:var(--brown-soft);cursor:pointer;transition:all .2s;white-space:nowrap}.rsvp-choice .choice-accept.on{background:var(--espresso);border-color:var(--espresso);color:var(--cream)}.rsvp-choice .choice-decline.on{background:var(--taupe);border-color:var(--taupe);color:var(--cream-light)}.event-guest-detail{margin-top:1.2rem}.rsvp-success{text-align:center;padding:3rem 1rem}.rsvp-success h2{font-family:var(--font-display);font-size:2.4rem;font-weight:400;margin:1.2rem 0 .8rem}.rsvp-success p{color:var(--brown)}html.reveal-ready :is(.hero-content,.countdown,.home-invite,.photo-band .frame,.g-item,.page-header,.info-block,.card,.timeline-item,[data-reveal]){opacity:0;filter:blur(14px);transform:translateY(28px);transition:opacity 1s cubic-bezier(.2,.6,.2,1),filter 1s cubic-bezier(.2,.6,.2,1),transform 1s cubic-bezier(.2,.6,.2,1);transition-delay:var(--reveal-delay,0ms);will-change:opacity,filter,transform}html.reveal-ready :is(.hero-content,.countdown,.home-invite,.photo-band .frame,.g-item,.page-header,.info-block,.card,.timeline-item,[data-reveal]).is-visible{opacity:1;filter:blur(0);transform:none}@media (prefers-reduced-motion:reduce){html.reveal-ready :is(.hero-content,.countdown,.home-invite,.photo-band .frame,.g-item,.page-header,.info-block,.card,.timeline-item,[data-reveal]){opacity:1!important;filter:none!important;transform:none!important;transition:none!important}}.footer{border-top:1px solid var(--line);background:var(--cream-light);text-align:center;padding:4rem 1rem 3rem;margin-top:4rem}.footer .foot-monogram-img{height:92px;width:auto;margin:0 auto}.footer p{margin-top:.8rem;font-family:var(--font-label);text-transform:uppercase;letter-spacing:.3em;font-size:.64rem;color:var(--brown-soft)}