body{--paper:#fff7ef;--ink:#704047;--soft:#f4dedf;--accent:#97585f;--gold:#b99662}
.hero{min-height:760px;min-height:min(880px,calc(100svh - 76px));padding:75px 7% 85px;grid-template-columns:.9fr 1.1fr;background:radial-gradient(ellipse at 75% 48%,#fffdf7 0,transparent 50%),var(--paper)}
.hero h1{font-size:clamp(65px,7.6vw,120px);font-style:italic}.hero .eyebrow{max-width:330px}.hero-foot{font:16px Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase}.subtitle{font-size:22px;max-width:430px}.art-stage{margin:0 -5% 0 -9%;animation-duration:11s}.date{border:1px solid var(--gold);border-radius:40px;padding:10px 22px;margin-top:30px}
.hero:after{content:'';position:absolute;inset:22px;border:1px solid color-mix(in srgb,var(--gold) 38%,transparent);border-radius:180px 180px 0 0;pointer-events:none}.hero-copy{position:relative}.intro{padding:95px 13%;grid-template-columns:70px 1fr;gap:24px}.quote{color:var(--gold);font-size:140px}.intro h2{font-size:clamp(40px,4.7vw,68px)}.intro p{max-width:780px}.venue{padding:90px 12%;background:var(--paper)}.rendezvous{border-color:var(--gold);border-radius:220px 220px 12px 12px;border-bottom-width:3px}.venue h2{font-style:italic}.program{padding:90px 12%;display:grid;grid-template-columns:1fr 1fr;gap:50px;background:var(--ink);color:var(--paper)}.program h2{font-size:clamp(36px,4vw,58px);margin-top:24px}.plan-text{white-space:pre-line;align-self:center;line-height:2.7;font-size:18px;border-block:1px solid #ffffff50;padding:18px 0}.invitation-details{padding:85px 13%}.rsvp{background:var(--paper)}.rsvp summary{box-shadow:0 6px 22px #0000000c}.rsvp .eyebrow{max-width:600px;margin:auto}.closing{padding:65px 8% 10px}.closing-art{display:block;width:clamp(210px,28vw,330px);height:auto;max-width:80%;margin:25px auto 0}.closing h2{font-size:clamp(40px,4.5vw,66px)}footer{padding-top:65px}.gallery{scroll-snap-type:x mandatory}.gallery figure{scroll-snap-align:center}.gallery img{border-radius:160px 160px 16px 16px}.scene .waiting{opacity:0;translate:0 20px}.scene>img{transition:opacity .8s,translate .8s}.scene>img.waiting{translate:20px 10px}
.garden{--paper:#f9f8ee;--ink:#3e5948;--soft:#e4eadc;--accent:#3e5948;--gold:#a89568}.garden .hero{grid-template-columns:1.05fr 1fr;background:linear-gradient(110deg,#f9f8ee 40%,#e4eadc)}.garden .hero:after{border-radius:0;inset:22px;border-style:double;border-width:3px}.garden .hero h1{font-style:normal}.garden .rendezvous{border-radius:50% 50% 8px 8px}.garden .intro{background:#f0e2db}.garden .closing{background:#f0e2db}.garden footer{background:#f0e2db}
.stars{--paper:#faf6ff;--ink:#44325f;--soft:#e7ddf3;--accent:#66518b;--gold:#b1a1c4}.stars .hero{background:radial-gradient(ellipse at 72% 42%,#635684 0,#30253f 66%);color:#fff4de}.stars .hero:after{border-radius:50% 50% 0 0;border-color:#cabcdf50}.stars .hero h1{font-style:normal}.stars .hero .date{border-color:#cabcdf80}.stars .art-stage{animation-duration:14s}.stars .intro{background:var(--paper)}.stars .venue{background:var(--soft)}.stars .rendezvous{border-radius:240px 240px 0 0}.stars .program{background:#44325f}.stars .closing,.stars footer{background:#30253f;color:#fff4de}
.editing .hero h1{font-size:clamp(52px,6vw,92px)}.editing [data-field]{min-width:40px}.editing #editor .check input{width:auto}.editing #editor{width:280px}.editing .settings{color:inherit}.gallery:has(figure:last-child:nth-child(-n+2)){justify-content:center}
@media(max-width:760px){.hero,.garden .hero{grid-template-columns:1fr;padding:105px 8% 45px;min-height:0}.hero:after,.garden .hero:after{inset:12px;border-radius:150px 150px 0 0}.hero h1,.editing .hero h1{font-size:clamp(58px,15vw,88px)}.hero .eyebrow{max-width:240px;margin:auto;letter-spacing:.08em}.subtitle{font-size:19px}.date{padding:9px 18px}.art-stage{width:112%;max-width:480px;margin:-10px -6% 0}.hero-foot{position:static;font-size:16px;letter-spacing:.08em}.intro{padding:65px 8%}.intro h2{font-size:40px}.venue{padding:65px 7%}.rendezvous{padding:45px 6% 30px}.venue h2{font-size:38px}.program{grid-template-columns:1fr;gap:25px;padding:65px 8%}.program h2{font-size:42px}.plan-text{font-size:17px;line-height:2.2}.invitation-details{padding:65px 8%}.rsvp{padding:65px 7%}.rsvp h2{font-size:39px}.closing h2{font-size:40px}.closing-art{width:230px}.editing #editor{width:100%}footer{padding-bottom:35px}.gallery:has(figure:last-child:nth-child(2)) figure{flex-basis:44%}}
@media(prefers-reduced-motion:reduce){.scene .waiting,.scene>img.waiting{opacity:1;translate:none}.art-stage{animation:none}}
