*{box-sizing:border-box}
:root{--ink:#211813;--muted:#756961;--cream:#f6efe2;--paper:#fbf8f1;--gold:#b18a50;--gold2:#d6bd8f;--dark:#17100c;--line:rgba(33,24,19,.14)}
html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Montserrat,Arial,sans-serif;line-height:1.7}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 20% 10%,rgba(177,138,80,.08),transparent 30%),radial-gradient(circle at 90% 70%,rgba(177,138,80,.06),transparent 28%);z-index:-2}
.grain{position:fixed;inset:0;opacity:.035;pointer-events:none;z-index:20}
h1,h2,h3,blockquote,.monogram{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500}
.opening{position:fixed;inset:0;z-index:100;background:radial-gradient(circle at center,#2b211a,#120c08 72%);color:#f8f0df;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:25px;transition:opacity 1s ease,visibility 1s ease}
.opening.opened{opacity:0;visibility:hidden;pointer-events:none}
.opening:before,.opening:after{content:"";position:absolute;inset:18px;border:1px solid rgba(214,189,143,.4);pointer-events:none}.opening:after{inset:28px;border-color:rgba(214,189,143,.14)}
.opening-cross{font-size:32px;color:var(--gold2);animation:float 2.5s ease-in-out infinite}.opening-small{font-size:9px;letter-spacing:.4em;color:#cdb98e;margin:18px 0 0}.opening h1{font-size:clamp(65px,14vw,125px);line-height:.8;margin:22px 0}.opening h1 i{font-size:.6em;color:var(--gold2)}
.opening-date{letter-spacing:.45em;font-size:11px}.open-button{margin-top:28px;padding:15px 27px;border:1px solid var(--gold2);background:transparent;color:#f8f0df;text-transform:uppercase;letter-spacing:.2em;font-size:9px;cursor:pointer;transition:.3s}.open-button:hover{background:var(--gold2);color:#1a120d}.open-button span{margin-left:10px}
.opening-ornament{position:absolute;color:var(--gold2);font-size:18px;pointer-events:none}.opening-ornament.top{top:52px}.opening-ornament.bottom{bottom:52px}
@keyframes float{50%{transform:translateY(-7px)}}
.site{opacity:0;transition:opacity 1.2s ease}.site.visible{opacity:1}
.hero{min-height:100svh;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#fff;overflow:hidden;background:linear-gradient(180deg,rgba(20,13,9,.27),rgba(20,13,9,.75)),url("https://images.unsplash.com/photo-1519741497674-611481863552?auto=format&fit=crop&w=2200&q=85") center/cover}
.hero:after{content:"";position:absolute;inset:22px;border:1px solid rgba(231,210,172,.32);pointer-events:none}.nav{position:absolute;top:0;left:0;right:0;padding:30px 7%;display:flex;align-items:center;justify-content:space-between;z-index:2}.nav a{color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.2em;font-size:10px}.monogram{font-size:25px;letter-spacing:.04em}.monogram span{font-style:italic;color:#d9bd91}
.hero-content{position:relative;z-index:1;max-width:900px;padding:60px 24px}.floral-mark{font-family:Georgia,serif;color:var(--gold);font-size:32px}.hero .floral-mark{color:#e0c89b}.eyebrow{font-size:10px;letter-spacing:.32em;font-weight:600;color:var(--gold);margin:0 0 14px}.hero .eyebrow{color:#ead9bd}
.hero h1{font-size:clamp(68px,12vw,150px);line-height:.75;margin:20px 0 35px;letter-spacing:-.04em}.hero h1 span{font-style:italic;font-size:.62em}.hero-date{font-size:13px;letter-spacing:.45em;margin:0 0 20px;font-weight:500}.hero-note{max-width:560px;margin:0 auto 30px;font-size:13px;line-height:1.9;color:rgba(255,255,255,.84)}.hero-actions{display:flex;gap:10px;justify-content:center}
.button{display:inline-block;padding:13px 24px;border:1px solid var(--gold);color:var(--ink);text-decoration:none;text-transform:uppercase;letter-spacing:.18em;font-size:9px;font-weight:600;transition:.3s}.button:hover{background:var(--gold);color:white}.button-light{border-color:rgba(255,255,255,.65);color:white}.button-light:hover{background:white;color:var(--ink)}.scroll-cue{position:absolute;bottom:28px;z-index:1;font-size:8px;letter-spacing:.3em;opacity:.7}.scroll-cue span{font-size:15px;margin-left:7px}
.section{padding:110px 7%;max-width:1100px;margin:auto}.intro{text-align:center;padding-top:130px;padding-bottom:110px}.ornament{color:var(--gold);letter-spacing:.7em;font-size:12px;margin-bottom:28px}.intro h2,.section-heading h2,.rsvp h2{font-size:clamp(42px,6vw,70px);line-height:1;margin:0 0 25px}.intro .lead{max-width:650px;margin:auto;color:var(--muted);font-size:14px}
.countdown-section{background:var(--cream);max-width:none;text-align:center}.section-heading{text-align:center;margin-bottom:60px}.countdown{display:grid;grid-template-columns:repeat(4,1fr);max-width:760px;margin:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.countdown div{padding:28px 10px;border-right:1px solid var(--line)}.countdown div:last-child{border:0}.countdown strong{display:block;font-family:"Cormorant Garamond",Georgia,serif;font-size:56px;font-weight:500;line-height:1}.countdown span{display:block;text-transform:uppercase;letter-spacing:.2em;font-size:8px;color:var(--muted);margin-top:10px}.countdown-message{font-size:10px;letter-spacing:.15em;color:var(--muted);margin:25px 0}.calendar-button{margin-top:6px}
.events{padding-top:120px}.event-card{display:grid;grid-template-columns:120px 1fr;gap:50px;padding:70px 0;border-top:1px solid var(--line);max-width:900px;margin:auto}.event-card.reverse{grid-template-columns:1fr 120px}.event-card.reverse .event-number{grid-column:2;grid-row:1}.event-card.reverse .event-body{grid-column:1;grid-row:1;text-align:right}.event-number{font-family:"Cormorant Garamond",serif;font-size:28px;color:var(--gold);padding-top:4px}.event-body h3{font-size:52px;line-height:1;margin:0 0 15px}.event-time{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--gold)}.event-body p:not(.eyebrow):not(.event-time):not(.venue){color:var(--muted);font-size:13px;max-width:650px}.venue{font-family:"Cormorant Garamond",serif;font-size:22px;line-height:1.25;margin-top:25px}.event-actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.text-link,.qr-link{color:var(--ink);text-decoration:none;font-size:9px;text-transform:uppercase;letter-spacing:.17em;border-bottom:1px solid var(--gold);padding-bottom:5px}.qr-link{color:var(--gold)}
.location{max-width:none;background:var(--cream)}.location-grid{max-width:900px;margin:auto;display:grid;grid-template-columns:1fr 250px;gap:50px;align-items:center}.location-grid h3{font-size:38px;line-height:1.05;margin:0 0 12px}.location-grid p:not(.eyebrow){color:var(--muted);font-size:13px}.qr-card{background:#fff;padding:16px;text-align:center;box-shadow:0 12px 35px rgba(50,35,20,.1)}.qr-card img{display:block;width:100%;height:auto}.qr-card small{font-size:7px;letter-spacing:.16em;color:var(--muted)}
.quote-section{max-width:none;text-align:center;background:#201813;color:#f6f0e7;padding-top:130px;padding-bottom:130px}.cross{color:#d2b17c;font-size:18px;margin-bottom:25px}blockquote{max-width:850px;margin:0 auto 20px;font-size:clamp(32px,5vw,55px);line-height:1}cite{font-family:Montserrat,sans-serif;font-style:normal;font-size:9px;letter-spacing:.25em;color:#cdbca4}
.rsvp{text-align:center;padding-bottom:130px}.rsvp>p:not(.eyebrow){color:var(--muted);font-size:13px;margin:0 auto 28px}.whatsapp{background:#211813;color:#fff;border-color:#211813}.whatsapp:hover{background:var(--gold);border-color:var(--gold)}
footer{text-align:center;background:var(--cream);padding:60px 20px 70px;border-top:1px solid var(--line)}footer .large{font-size:42px;margin-bottom:12px}footer p{font-family:"Cormorant Garamond",serif;font-size:22px;margin:0 0 4px}footer small{font-size:8px;letter-spacing:.22em;color:var(--muted)}
@media(max-width:700px){.hero:after{inset:12px}.nav{padding:24px 7%}.hero h1{font-size:72px}.hero-note{font-size:12px}.section{padding:80px 7%}.intro{padding-top:90px;padding-bottom:80px}.countdown{grid-template-columns:repeat(2,1fr)}.countdown div:nth-child(2){border-right:0}.countdown div:nth-child(-n+2){border-bottom:1px solid var(--line)}.countdown strong{font-size:45px}.event-card,.event-card.reverse{display:block;padding:55px 0}.event-number{margin-bottom:18px}.event-card.reverse .event-body{text-align:left}.event-card.reverse .event-number{display:block}.event-card.reverse .event-body{display:block}.event-body h3{font-size:43px}.venue{font-size:20px}.location-grid{grid-template-columns:1fr;gap:30px}.qr-card{max-width:260px;margin:auto}.hero-actions{flex-direction:column;align-items:center}.hero-actions .button{min-width:130px}}

.intro .family-hosts{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(26px,4vw,38px);line-height:1.3;margin:0 auto 12px;max-width:700px}
.intro .family-details{font-size:16px;line-height:1.8;color:var(--muted);margin:0 auto;max-width:650px}
.intro .family-invitation{font-size:16px;line-height:1.9;color:var(--muted);max-width:600px;margin:36px auto}
.intro .family-couple{font-size:clamp(52px,8vw,80px);line-height:1.1;color:var(--gold);margin:0 0 30px}
.intro .family-couple span{display:block;font-size:24px;font-style:italic;color:var(--muted);margin:14px 0}
.venue-qr-grid{max-width:900px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.venue-qr-card{text-align:center;background:rgba(255,255,255,.48);border:1px solid var(--line);padding:42px 28px}
.venue-qr-card h3{font-size:38px;line-height:1.05;margin:0 0 10px}
.venue-qr-card>p:not(.eyebrow){min-height:48px;color:var(--muted);font-size:12px}
.venue-qr-card .qr-card{width:220px;margin:25px auto}
@media(max-width:700px){
 .venue-qr-grid{grid-template-columns:1fr;gap:22px}
 .venue-qr-card{padding:36px 18px}
 .venue-qr-card h3{font-size:34px}
 .venue-qr-card>p:not(.eyebrow){min-height:0}
}
