.cherry-club{--paper:#f9d7df;--ink:#740d2e;--accent:#860d32;--line:#c77891;--wash:#f0b6c8;background:#f2dfe4}.silver-afterparty{--paper:#e8eaf0;--ink:#1926a3;--accent:#273edb;--line:#999fc8;--wash:#cbd3ea;background:#dce0ea}.citrus-social{--paper:#faf8e8;--ink:#2147a6;--accent:#2147a6;--line:#acb963;--wash:#e5ee89;background:#eef0d8}.fashion h2{font:600 clamp(34px,5.5cqw,58px)/1.02 system-ui;letter-spacing:-.055em}.fashion .hero{display:grid;grid-template-columns:1fr 1fr;min-height:760px;gap:0;padding:95px 7% 85px;overflow:hidden;text-align:left;background:var(--paper)}.fashion .hero .copy{z-index:3;max-width:100%}.fashion .hero h1{font:750 clamp(60px,11cqw,124px)/.93 system-ui;letter-spacing:-.085em;margin:35px 0 25px;text-wrap:balance}.fashion .hero .subtitle{font:italic 28px/1.2 Georgia;text-align:left;margin:0}.fashion .hero .eyebrow{font:600 16px/1.6 system-ui;letter-spacing:.06em;max-width:24ch}.fashion .birthday-art{width:140%;max-width:none;margin-left:-20%;z-index:2;rotate:5deg}.fashion .date-control{font-size:18px;border:1px solid currentColor;border-radius:999px;padding:12px 20px;margin-top:32px}.fashion .hero:before{display:none}.fashion #music-toggle{border-radius:999px}.party-strip{position:relative;padding:19px 8%;background:var(--ink);color:var(--paper);font:600 16px/1.5 system-ui;letter-spacing:.12em;text-align:center}.fashion .intro{padding:85px 12%;background:var(--paper)}.fashion .intro .editorial-mark{font:italic 95px/.8 Georgia;rotate:-12deg;opacity:.8}.fashion .intro h2{max-width:15ch;margin:20px auto 28px;white-space:pre-line}.fashion .venue{background:var(--wash);margin:0;border:0}.fashion .venue .section-number{padding:0 0 20px}.fashion .program{background:var(--ink);color:var(--paper);margin:0}.fashion .program h2{font-style:normal}.fashion .outfit{background:var(--paper);border-bottom:1px solid var(--line)}.fashion .palette span{width:60px;height:60px;border-radius:50%;outline-offset:6px}.fashion .outfit .editorial-mark{font:700 60px/1 system-ui;opacity:.2}.fashion .invitation-details{padding-top:85px;padding-bottom:85px;grid-template-columns:1fr 1.2fr}.fashion .detail-art{width:100%;rotate:-8deg}.fashion .invitation-rsvp{background:var(--ink);color:var(--paper)}.fashion .invitation-rsvp .editorial-mark{color:inherit;font:italic 60px/1 Georgia}.fashion .invitation-rsvp summary{background:var(--paper);color:var(--ink);border-radius:999px;border:0}.fashion .invitation-rsvp .small-control{color:var(--ink)}.fashion .closing{background:var(--paper);min-height:420px;padding-top:90px}.fashion .closing h2{font:italic 48px/1.1 Georgia;letter-spacing:-.03em}.fashion .closing-rule{border-top:1px solid var(--line);padding-top:22px;margin-inline:auto;width:65%;font-size:16px}.fashion .hero.has-cover .copy{text-align:center}.fashion .hero.has-cover .subtitle{margin:auto;text-align:center}.cherry-club .hero{background:repeating-linear-gradient(90deg,#f9d7df 0 65px,#f2c4d0 65px 130px)}.cherry-club .hero .copy{background:#f9d7dfdf;border-radius:50% 50% 6px 6px;padding:40px 20px;text-align:center}.cherry-club .hero .eyebrow,.cherry-club .hero .subtitle{margin-inline:auto;text-align:center}.cherry-club .hero h1{font-family:Georgia;font-weight:600;font-style:italic;letter-spacing:-.07em}.cherry-club .birthday-art{rotate:-9deg}.cherry-club .venue{border-radius:60px 60px 0 0}.cherry-club .detail-art{rotate:8deg}.silver-afterparty .hero{background:radial-gradient(ellipse at 72% 65%,#fff,transparent 52%),#dce1f0}.silver-afterparty .hero h1{text-transform:uppercase}.silver-afterparty .birthday-art{width:112%;margin-left:-8%;max-height:590px;object-fit:contain;rotate:8deg}.silver-afterparty .hero .date-control{background:#253ce0;border-color:#253ce0;color:white}.silver-afterparty .intro{background:#fff}.silver-afterparty .program{background:#151824;color:#e4e7ef}.silver-afterparty .closing{background:#dce1f0}.citrus-social .hero{background:#e5ef91}.citrus-social .hero h1{letter-spacing:-.075em}.citrus-social .birthday-art{rotate:-8deg;width:120%;margin-left:-10%}.citrus-social .party-strip{background:#224bb4;color:#eff5b4}.citrus-social .intro{background:#faf8e8}.citrus-social .venue{background:repeating-linear-gradient(90deg,#ecf0d4 0 30px,#e2e8c9 30px 60px)}.citrus-social .program{background:#254eb4;color:#f3f7c6}.citrus-social .detail-art{max-height:400px;object-fit:contain;rotate:5deg}.citrus-social .invitation-rsvp{background:#e5ef91;color:#2147a6}.citrus-social .invitation-rsvp summary{background:#2147a6;color:white}
@container(max-width:620px){.fashion .hero{display:flex;flex-direction:column;min-height:790px;padding:95px 7% 40px;text-align:center}.fashion .hero .copy{width:100%}.fashion .hero h1{font-size:clamp(56px,18cqw,82px);margin-top:22px}.fashion .hero .eyebrow{max-width:none;font-size:16px;margin:auto}.fashion .hero .subtitle{margin:auto;text-align:center;font-size:26px}.fashion .birthday-art{width:100%;max-height:330px;object-fit:contain;margin:22px auto 0}.fashion .intro{padding:65px 9%}.fashion .invitation-details{display:block}.fashion .detail-art{width:230px;margin:0 auto 32px}.fashion .closing h2{font-size:40px}.fashion .palette span{width:50px;height:50px}.party-strip{padding:15px 7%;font-size:16px;letter-spacing:.04em}.cherry-club .hero .copy{padding:20px 10px;background:transparent}.cherry-club .birthday-art{width:108%;max-height:340px;margin-top:16px}.silver-afterparty .birthday-art{width:90%;max-height:340px;margin:20px auto 0}.citrus-social .birthday-art{width:100%;margin:28px auto 0}.fashion .hero .date-control{font-size:17px;margin-top:22px}.fashion .invitation-details h2{max-width:16ch;margin-inline:auto}.fashion .hero.has-cover .copy{margin:auto}}
.fashion .hero h1{word-spacing:.08em;hyphens:none}.fashion .date-control{font-family:system-ui;font-weight:500}.silver-afterparty .hero h1{overflow-wrap:normal}
@container(max-width:620px){.silver-afterparty .hero h1{font-size:clamp(42px,14cqw,62px);overflow-wrap:anywhere}}
/* Cherry Club: full-width scenes, candlelight and cherry timeline. */
.cherry-club #invitation{padding:0}
.cherry-club .wedding-page{max-width:none;box-shadow:none;width:100%}
.cherry-club .hero{padding-inline:max(7%,calc((100% - 1300px)/2));min-height:760px}
.cherry-club svg.birthday-art{overflow:visible;aspect-ratio:1100/945;height:auto}
.candle-flame{transform-box:view-box;transform-origin:0 0;animation:cherry-flicker 1.6s ease-in-out infinite alternate;filter:drop-shadow(0 0 7px #ffce7480)}
@keyframes cherry-flicker{0%,100%{transform:rotate(-4deg) scale(.94,1)}35%{transform:rotate(4deg) scale(1.04,.91)}70%{transform:rotate(-2deg) scale(.92,1.09)}}
.cherry-club .schedule{border-left:0;padding-left:55px}
.cherry-club .schedule>div:before{width:42px;height:48px;left:-55px;top:-10px;border-radius:0;background:transparent url("assets/cherry-marker.7766a48d50e9.webp") center/contain no-repeat;filter:drop-shadow(0 2px 2px #ffd6df55)}
.cherry-club .schedule>div{grid-template-columns:80px minmax(0,1fr);align-items:start;min-height:42px;margin-bottom:30px}
.cherry-club .schedule-remove{grid-column:2;font-size:16px;padding:5px 12px;justify-self:start;color:var(--ink)}
.cherry-club .schedule-add{font-size:16px;color:var(--ink)}
.cherry-club.editing [data-schedule-field]{outline:1px dashed #f3b3c8;outline-offset:4px;min-height:1.6em;border-radius:4px}
.cherry-club.editing [data-schedule-field]:after{content:' ✎';font:16px system-ui}
.cherry-club .closing:before{display:none}
.cherry-club .closing-art{width:min(480px,85%);margin:0 auto 38px}
@container(max-width:620px){.cherry-club .hero{padding:90px 7% 40px;min-height:790px}.cherry-club .schedule>div{grid-template-columns:64px minmax(0,1fr);gap:12px}.cherry-club .schedule{padding-left:45px}.cherry-club .schedule>div:before{left:-45px;width:34px;height:42px}}
@media(prefers-reduced-motion:reduce){.cherry-club .candle-flame{animation:none}}

/* Editable signature printed on the illustrated place card. */
.cherry-club .closing-postcard{position:relative;width:min(940px,100%);margin:0 auto 20px;container-type:inline-size}
.cherry-club .closing-postcard .closing-art{width:100%;margin:0}
.cherry-club .closing-postcard h2{position:absolute;left:55%;top:59%;width:33%;max-width:none;margin:0;transform:rotate(7deg);font-size:clamp(18px,4.5cqw,43px);line-height:1.18;text-align:center;z-index:2;white-space:pre-line}
.cherry-club .closing-postcard [data-field=closing]:after{position:absolute;right:-16px;top:0}
@container(max-width:620px){.cherry-club .closing{padding-inline:3%}.cherry-club .closing-postcard h2{font-size:clamp(18px,5cqw,30px)}.cherry-club .closing-rule{margin-top:20px}}
