.adult{--paper:#f9f1e4;--ink:#473024;--accent:#815534;--line:#cdb48a;--wash:#eadac1;background:#eee7dc}.after-midnight{--paper:#181620;--ink:#f2e9e5;--accent:#a975ad;--line:#726178;--wash:#302535;background:#25212b}.olive-garden{--paper:#f4f2e6;--ink:#334332;--accent:#626f4f;--line:#b5b79a;--wash:#e3e6d5;background:#e4e5da}.adult #editor,.adult .editor-bar{color:#473d33}.adult #editor{background:#fffaf3}.adult #editor input,.adult #editor textarea{background:#fffaf3;color:#473d33}.adult .wedding-page{overflow:hidden}.adult .scene{position:relative;padding:75px 8%;isolation:isolate}.adult .hero{min-height:720px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10px;background:radial-gradient(ellipse at 80% 60%,#d9b77955,transparent 62%),var(--paper);padding:95px 7% 70px;text-align:left}.adult .hero .copy{position:relative;z-index:3;max-width:100%;margin:0}.adult .hero h1{font-size:clamp(48px,8cqw,90px);line-height:1.06;margin:30px 0 20px}.adult .eyebrow{font:500 16px/1.7 system-ui;letter-spacing:.12em}.adult .subtitle{font:italic 25px/1.4 Georgia;max-width:20ch}.adult .date-control{margin-top:30px;background:transparent;border-radius:0;border-width:1px 0;padding:14px 0}.adult .birthday-art{position:relative;width:125%;max-width:none;margin-left:-10%;z-index:1;animation:art-breathe 8s ease-in-out infinite alternate;pointer-events:none}.adult .cover-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.adult .cover-shade{display:none;position:absolute;inset:0;background:rgb(0 0 0 / var(--cover-shade,.45));z-index:1}.adult .hero.has-cover .cover-shade{display:block}.adult .hero.has-cover{color:#fff}.adult .hero.has-cover .birthday-art{display:none}.adult .hero.has-cover .copy{grid-column:1/-1;text-align:center;margin:auto}.adult .cover-tools{position:absolute;bottom:14px;left:16px;right:16px;display:flex;justify-content:center;gap:8px;z-index:5}.adult #music-toggle{position:absolute;right:20px;top:20px;z-index:6}.adult .intro{display:block;text-align:center;padding:90px 13%;background:var(--wash)}.adult .intro .copy{max-width:620px;margin:auto}.editorial-mark{font:italic 64px/1 Georgia;color:var(--accent);opacity:.7;margin-bottom:24px}.adult .venue{display:grid;grid-template-columns:1fr 1fr;gap:35px}.adult .venue .section-number{grid-column:1/-1;border:0;letter-spacing:.12em}.adult .venue .copy{align-self:center}.adult .photo-arch{min-height:300px;border-radius:50% 50% 3px 3px}.adult .venue:not(:has(#venue-photo:not([hidden]))) .copy{grid-column:1/-1;text-align:center}.adult .program{background:var(--ink);color:var(--paper);border-radius:0;margin:0;padding-top:75px}.adult .program .section-number{border-color:currentColor;color:inherit;font-size:16px}.adult .program h2{font-style:italic}.adult .program .timeline{border-color:var(--line)}.adult .program .timeline li:before{background:var(--line)}.adult .outfit{display:block;text-align:center;padding-inline:14%}.adult .palette{margin-top:38px;justify-content:center}.adult .palette span{display:block;width:44px;height:44px;border-radius:50%;background:var(--color);outline:1px solid var(--line);outline-offset:5px;margin:6px}.adult .palette span:before{display:none}.adult .gallery-section{border-block:1px solid var(--line);margin:0 5%;text-align:center}.adult .gallery-section h2{font-style:italic}.adult .gallery-area:has(#gallery:empty){padding:20px}.adult .invitation-details{display:grid;grid-template-columns:.7fr 1fr;gap:36px;align-items:center}.adult .detail-art{width:100%;filter:drop-shadow(0 18px 22px #0001)}.adult .invitation-rsvp{background:var(--wash);text-align:center}.adult .invitation-rsvp .copy{max-width:650px;margin:auto}.adult .invitation-rsvp summary{border-radius:2px;background:var(--ink);color:var(--paper)}.adult .closing{min-height:370px;text-align:center;background:var(--paper);padding-bottom:55px}.adult .closing h2{font-style:italic;max-width:18ch;margin:auto}.adult .closing-rule{display:block;font-size:16px;letter-spacing:.08em;margin-top:35px}.adult footer{margin-top:100px;font-size:14px}.adult .invitation-prose{font-size:18px;line-height:1.8}.adult .clean{background:var(--paper)}.adult.clean .edit-only{display:none!important}.adult .scene.reveal-ready>.copy,.adult .scene.reveal-ready>h2,.adult .scene.reveal-ready>.detail-art{transition:opacity .8s ease,translate .8s ease}.adult .scene.reveal-ready:not(.visible)>.copy{opacity:0;translate:0 22px}.adult .scene.reveal-ready:not(.visible)>.detail-art{opacity:0;translate:-20px 0}.adult .scene.reveal-ready:not(.visible)>h2{opacity:0;translate:0 12px}.after-midnight .hero{display:block;text-align:center;padding-top:95px;background:radial-gradient(ellipse at 50% 75%,#70437566,transparent 60%),#17151e;min-height:820px}.after-midnight .hero .copy{margin:auto}.after-midnight .hero h1{font-family:system-ui;font-weight:300;letter-spacing:-.06em;font-size:clamp(62px,10cqw,115px);margin:20px 0 12px}.after-midnight .birthday-art{width:75%;margin:24px auto 0;max-height:390px;object-fit:contain}.after-midnight .intro{background:#26202e}.after-midnight .program{background:#d4c0d9;color:#221b28}.after-midnight .venue .photo-arch{border-radius:0}.after-midnight .invitation-rsvp summary{background:#d4c0d9;color:#221b28}.after-midnight .editorial-mark{font-family:system-ui;font-style:normal;font-weight:200}.olive-garden .hero{display:flex;flex-direction:column;text-align:center;padding-top:110px;min-height:760px;background:var(--paper)}.olive-garden .hero .copy{max-width:85%}.olive-garden .hero:before{content:'';position:absolute;inset:28px;border:1px solid var(--line);border-radius:190px 190px 0 0;pointer-events:none}.olive-garden .birthday-art{width:85%;max-width:650px;margin:10px auto -80px;max-height:300px;object-fit:contain;transform:rotate(-8deg)}.olive-garden .hero h1{font-style:italic}.olive-garden .intro{padding-top:110px}.olive-garden .program{background:#e2e6d5;color:#334332}.olive-garden .invitation-details{border-block:1px solid var(--line);margin-inline:5%}.olive-garden .closing{background:#dfe4d2}.golden-hour .hero:before{content:'';position:absolute;inset:26px;border:1px solid var(--line);pointer-events:none}.golden-hour .program{background:#79533c;color:#fff5e5}
@keyframes art-breathe{from{translate:0 0}to{translate:0 -9px}}
@container(max-width:620px){.adult .scene{padding:56px 7%}.adult .hero{min-height:750px;display:flex;flex-direction:column;text-align:center;padding:90px 8% 70px}.adult .hero h1{font-size:56px}.adult .hero .copy{max-width:100%}.adult .birthday-art{width:90%;max-height:300px;object-fit:contain;margin:25px auto 0}.adult .hero .subtitle{margin:auto}.adult .venue{display:block}.adult .venue .copy{margin-bottom:28px}.adult .venue .photo-arch{min-height:230px}.adult .invitation-details{display:block}.adult .detail-art{width:190px;margin:0 auto 28px}.adult .intro{padding-inline:8%}.after-midnight .hero{min-height:720px}.after-midnight .birthday-art{width:110%;max-height:320px;margin-top:22px}.olive-garden .hero{min-height:730px}.olive-garden .birthday-art{width:115%;max-width:none;margin:36px -7% -40px}.adult .outfit{padding-inline:9%}.adult .cover-tools button{font-size:16px;padding:7px 10px}.adult .hero:before{inset:16px}.adult .editorial-mark{font-size:48px}}
@media(prefers-reduced-motion:reduce){.adult .birthday-art{animation:none}.adult .scene *{transition:none!important;translate:none!important;opacity:1!important}}
.after-midnight .hero .subtitle,.olive-garden .hero .subtitle{margin-inline:auto;text-align:center}.adult .hero h1{text-wrap:balance;hyphens:auto}
@container(max-width:620px){.adult .hero h1{font-size:clamp(38px,12cqw,56px)}}
