:root{--cotd-1:#2e0711;--cotd-2:#5a1428;--cotd-glow:#c4466438}[data-cotd=ruby]{--cotd-1:#3a0510;--cotd-2:#96182e;--cotd-glow:#e8364f33}[data-cotd=coral]{--cotd-1:#4a140c;--cotd-2:#a3402a;--cotd-glow:#ec755633}.fc--auto{--bg1:var(--cotd-1);--bg2:var(--cotd-2)}body:has(.about-page){background:var(--wine-950);color:var(--on-dark)}body:has(.about-page) .btn-primary{background:var(--gold);color:var(--wine-950)}body:has(.about-page) .btn-primary:hover{background:#f1d9a6}body:has(.about-page) .caps{font-family:var(--font-caps);text-transform:uppercase;letter-spacing:.22em;color:var(--gold);font-size:.8125rem}body:has(.about-page) .foil-text{-webkit-box-decoration-break:clone;box-decoration-break:clone;margin:-.22em -.24em -.34em;padding:.22em .24em .34em}body:has(.about-page) .foil-text{background:linear-gradient(105deg,#a47a34 0%,#f6e2ad 22%,#c39446 40%,#fff1c8 52%,#b48a3e 66%,#f1d9a0 82%,#9a7230 100%) 0 0/220% 100%;background-position:calc(40% + var(--lx,0) * 40%) 0;color:#0000;-webkit-background-clip:text;background-clip:text}.cine-head{-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(#16040abf,#16040a00);border-bottom:0;transition:background .3s;position:fixed;top:0;left:0;right:0}.cine-head.solid{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#16040aeb}.music{min-height:44px;color:var(--on-dark);font:600 .9rem var(--font-ui);cursor:pointer;background:#16040a66;border:1px solid #e9c98a66;border-radius:999px;align-items:center;gap:10px;padding:0 14px;display:inline-flex}.music:hover{border-color:var(--gold)}.music .eq{align-items:flex-end;gap:2px;height:14px;display:inline-flex}.music .eq i{background:var(--gold);transform-origin:bottom;border-radius:1px;width:3px;height:14px;transform:scaleY(.3)}.music[aria-pressed=true] .eq i{animation:.9s ease-in-out infinite eq}.music[aria-pressed=true] .eq i:nth-child(2){animation-delay:.2s}.music[aria-pressed=true] .eq i:nth-child(3){animation-delay:.45s}.music[aria-pressed=true] .eq i:nth-child(4){animation-delay:.1s}@keyframes eq{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}.head-music{margin-left:8px}@media (max-width:880px){.head-music{margin-left:auto}.head-music+.menu-toggle{margin-left:8px}.head-music .lbl{display:none}}.c-hero{background:radial-gradient(60% 60% at 70% 45%, var(--cotd-glow), transparent 70%), var(--wine-950);height:100svh;min-height:600px;position:relative;overflow:hidden}.stage3d{opacity:0;transition:opacity 1.6s var(--ease);pointer-events:none;position:absolute;inset:0}.stage3d canvas{width:100%;height:100%;display:block}.live>.stage3d,.live .stage3d{opacity:1}.c-poster{width:min(330px,30vw);transition:opacity 1.2s,transform 1.2s;position:absolute;top:50%;right:9%;transform:translateY(-46%)rotate(4deg)}.c-hero.live .c-poster{opacity:0;transform:translateY(-46%)rotate(4deg)scale(.96)}.c-scrim{pointer-events:none;background:linear-gradient(90deg,#16040aeb 0%,#16040a99 32%,#16040a00 58%),linear-gradient(#16040a00 66%,#16040ad9 100%);position:absolute;inset:0}.c-copy{z-index:2;position:absolute;bottom:clamp(48px,9vh,96px);left:0;right:0}.c-copy .wrap>*{max-width:40rem}.c-hero h1{font-family:var(--font-display);letter-spacing:-.02em;max-width:10.5em;margin:14px 0 .55em;font-size:clamp(2.8rem,5.4vw,5.2rem);font-weight:400;line-height:1}.c-hero h1 em{font-family:var(--font-hand);font-size:1.32em;font-style:normal;line-height:.6;display:inline-block}.c-hero .lede{color:var(--on-dark-soft);max-width:30rem;font-size:1.125rem}.c-hero .actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:26px;display:flex}.play{min-height:48px;color:var(--on-dark);background:#16040a59;border:1px solid #e9c98a73;border-radius:999px;align-items:center;gap:12px;padding:0 18px 0 6px;font-weight:600;text-decoration:none;display:inline-flex}.play i{background:var(--gold);width:36px;height:36px;color:var(--wine-950);border-radius:50%;place-items:center;font-size:.75rem;font-style:normal;display:grid}.play:hover{border-color:var(--gold)}.cotd{z-index:3;right:max(20px, env(safe-area-inset-right,0px));text-align:right;justify-items:end;gap:10px;display:grid;position:absolute;bottom:clamp(48px,9vh,96px)}.cotd b{font-family:var(--font-hand);font-size:1.9rem;font-weight:400;line-height:1}.cotd .sw{gap:10px;display:flex}.cotd button{cursor:pointer;background:var(--c);width:44px;height:44px;transition:transform .2s var(--ease), box-shadow .2s;border:0;border-radius:50%;padding:0;box-shadow:0 0 0 2px #e9c98a59,0 4px 10px #0006}.cotd button[aria-pressed=true]{box-shadow:0 0 0 2px var(--wine-950), 0 0 0 4px var(--gold), 0 4px 12px #00000080;transform:scale(1.08)}@media (hover:hover) and (pointer:fine){.cotd button:hover{transform:scale(1.08)}}.scroll-hint{z-index:2;color:var(--on-dark-soft);letter-spacing:.2em;text-transform:uppercase;justify-items:center;gap:8px;font-size:.75rem;display:grid;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.scroll-hint i{background:linear-gradient(var(--gold), transparent);transform-origin:top;width:1px;height:30px;animation:2.2s ease-in-out infinite drip}@keyframes drip{0%{transform:scaleY(0)}50%{transform:scaleY(1)}to{opacity:0;transform:scaleY(1)}}.c-noise{background:radial-gradient(80% 60% at 50% 50%, #2a0a14, var(--wine-950));height:260svh;position:relative}.sticky{height:100svh;position:sticky;top:0;overflow:hidden}.bub{color:#2a1a12;opacity:0;will-change:transform, opacity, filter;background:#f7efe6;border-radius:16px 16px 16px 4px;max-width:min(290px,64vw);padding:9px 13px 7px;font-size:.9375rem;line-height:1.35;position:absolute;box-shadow:0 18px 40px #00000073}.bub b{color:#7d2139;font-size:.75rem;display:block}.bub i{text-align:right;color:#8b7a6e;font-size:.6875rem;font-style:normal;display:block}.noise-type{text-align:center;pointer-events:none;place-items:center;padding:0 20px;display:grid;position:absolute;inset:0}.noise-type>div{grid-area:1/1;justify-items:center;gap:10px;display:grid}.noise-type .big{font-family:var(--font-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(3.4rem,11vw,9.5rem);line-height:.9}.noise-type .big em{font-family:var(--font-hand);font-style:normal}.ledger{opacity:0;width:min(380px,86vw);color:var(--ink);border-radius:4px;padding:18px 20px 8px;position:absolute;top:58%;left:50%;transform:translate(-50%,-30%)}.ledger h3{font-family:var(--font-caps);letter-spacing:.18em;text-transform:uppercase;color:var(--wine);border-bottom:1px solid var(--line);justify-content:space-between;padding-bottom:10px;font-size:.8125rem;font-weight:400;display:flex}.ledger ul{margin:0;padding:0;list-style:none}.ledger li{border-bottom:1px solid var(--line);opacity:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 10px;padding:9px 0;font-size:.9375rem;display:grid;transform:translateY(6px)}.ledger li:last-child{border-bottom:0}.ledger li span{font-weight:600}.ledger li small{color:var(--ink-soft);grid-column:1;font-size:.8125rem}.ledger li em{grid-area:1/2/span 2;font-style:normal}.c-invite{background:radial-gradient(60% 70% at 32% 48%, var(--cotd-glow), transparent 70%), linear-gradient(180deg, var(--wine-950), #1f0610 50%, var(--wine-950));padding-block:clamp(80px,12vh,140px);position:relative}.inv-grid{grid-template-columns:minmax(0,1fr) minmax(0,.85fr);align-items:center;gap:clamp(32px,6vw,96px);display:grid}.inv-head{margin-bottom:28px}.inv-head h2{font-family:var(--font-display);margin-top:12px;font-size:clamp(2.2rem,4.4vw,3.6rem);font-weight:400;line-height:1.02}.inv-head h2 em{font-family:var(--font-hand);font-size:1.3em;font-style:normal}.inv-stage{aspect-ratio:5/7.7;perspective:1600px;width:min(400px,78vw);margin:0 auto;position:relative}.env{aspect-ratio:1.42;transition:transform 1s var(--ease) .9s, opacity .8s .9s;position:absolute;bottom:0;left:-3%;right:-3%}.env-back{background:linear-gradient(170deg,#efe4cf,#d9c7a6);border-radius:4px;position:absolute;inset:0;box-shadow:0 2px 3px #00000059,0 30px 60px -10px #0009}.env-back:after{content:"";background:repeating-linear-gradient(45deg, #e9c98a73 0 1px, transparent 1px 11px), repeating-linear-gradient(-45deg, #e9c98a73 0 1px, transparent 1px 11px), var(--cotd-2);clip-path:polygon(0 0,100% 0,50% 100%);position:absolute;inset:5px 5px 42%}.env-front{z-index:3;clip-path:polygon(0 0,50% 52%,100% 0,100% 100%,0 100%);background:linear-gradient(200deg,#f3eadb,#ddccad);border-radius:4px;position:absolute;inset:0}.env-front:before{content:"";background:linear-gradient(to top right,#0000 49.6%,#5a3c1e24 50%,#0000 50.5%),linear-gradient(to top left,#0000 49.6%,#5a3c1e24 50%,#0000 50.5%);position:absolute;inset:0}.env-front p{text-align:center;font-family:var(--font-hand);color:#3a2418;font-size:clamp(1.5rem,4vw,2.1rem);position:absolute;bottom:9%;left:0;right:0}.env-flap{z-index:4;transform-origin:top;height:56%;transform-style:preserve-3d;transition:transform .7s var(--ease), z-index 0s .35s;position:absolute;top:0;left:0;right:0;transform:perspective(1200px)rotateX(0)}.env-flap i{backface-visibility:hidden;clip-path:polygon(0 0,100% 0,50% 100%);background:linear-gradient(#ebdfc8,#d4c19f);position:absolute;inset:0}.env-flap i+i{clip-path:polygon(50% 0,100% 100%,0 100%);background:repeating-linear-gradient(45deg, #e9c98a73 0 1px, transparent 1px 11px), repeating-linear-gradient(-45deg, #e9c98a73 0 1px, transparent 1px 11px), var(--cotd-2);transform:rotateX(180deg)}.seal{z-index:5;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:50%;width:112px;height:112px;margin:0 0 -56px -56px;padding:0;transition:opacity .4s .9s;position:absolute;bottom:21.3%;left:50%;transform:rotate(-8deg)}.seal:after{content:"";opacity:0;pointer-events:none;border:1px solid #e9c98a8c;border-radius:50%;animation:2.6s ease-out infinite ring;position:absolute;inset:-14px}@keyframes ring{0%{opacity:.9;transform:scale(.82)}to{opacity:0;transform:scale(1.25)}}@keyframes nudge{0%,70%,to{transform:rotate(-8deg)}78%{transform:rotate(-3deg)scale(1.05)}86%{transform:rotate(-11deg)scale(1.02)}}.inv-stage:not(.cracking) .seal{animation:3.2s ease-in-out infinite nudge}.seal:focus-visible .wax{transition:transform .2s var(--ease);transform:scale(1.05)}@media (hover:hover) and (pointer:fine){.seal:hover .wax{transition:transform .2s var(--ease);transform:scale(1.05)}}.cracking .seal{animation:.26s ease-in-out shake}@keyframes shake{25%{transform:rotate(-12deg)translate(-2px)}75%{transform:rotate(-4deg)translate(2px)}}.cracking .seal:after,.open .seal:after{display:none}.crumb{width:var(--s);height:var(--s);background:radial-gradient(circle at 35% 30%, var(--wax-hi), var(--wax) 60%, var(--wax-lo));z-index:6;pointer-events:none;border-radius:40% 55% 45% 60%;animation:.9s cubic-bezier(.2,.6,.4,1) forwards crumb;position:absolute;bottom:21.3%;left:50%}@keyframes crumb{0%{opacity:1;transform:translate(0)rotate(0)}to{transform:translate(var(--x), var(--y)) rotate(var(--r));opacity:0}}.card-wrap{z-index:2;transition:transform 1.1s var(--ease) .35s;position:absolute;top:0;left:0;right:0;transform:translateY(33%)scale(.5)}.flip{transform-style:preserve-3d;transition:transform 1s var(--ease);position:relative}.flip>.face{backface-visibility:hidden}.flip>.back{position:absolute;inset:0;transform:rotateY(180deg)}.inv-stage.open .env-flap{z-index:1;transform:perspective(1200px)rotateX(178deg)}.inv-stage.open .seal{opacity:0;pointer-events:none}.inv-stage.open .card-wrap{transform:none}.inv-stage.open .env{opacity:0;transform:translateY(40%)}.inv-stage.placed .flip{transform:perspective(1600px)rotateY(180deg)}.seal-hint{text-align:center;color:var(--on-dark-soft);margin-top:18px;font-size:.9375rem;transition:opacity .3s}.inv-stage.cracking+.seal-hint{opacity:0}.seal-hint b{font-family:var(--font-hand);color:var(--gold);font-size:1.6rem;font-weight:400;line-height:1;display:block}.rsvp{background:var(--paper);color:var(--ink);border-radius:6px;gap:18px;padding:clamp(22px,3vw,32px);display:grid;position:relative;box-shadow:0 30px 70px -20px #0009}.rsvp:before{content:"";pointer-events:none;border:1px solid #7d21392e;border-radius:3px;position:absolute;inset:8px}.rsvp h3{font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.3rem);font-weight:400}.rsvp .when{color:var(--ink-soft)}.rsvp fieldset{border:0;min-width:0;margin:0;padding:0}.rsvp legend{margin-bottom:10px;padding:0;font-weight:700}.choice{grid-template-columns:1fr 1fr;gap:10px;display:grid}.choice label{border:1.5px solid var(--line);cursor:pointer;border-radius:10px;align-items:center;gap:10px;min-height:54px;padding:10px 14px;font-weight:600;display:flex}.choice input{width:20px;height:20px;accent-color:var(--wine);flex:none}.choice label:has(input:checked){border-color:var(--wine);background:#f6e6ea}.check{align-items:center;gap:10px;min-height:44px;font-weight:500;display:flex}.check input{width:20px;height:20px;accent-color:var(--wine)}.btn-wine{background:var(--wine);color:#fff}.btn-wine:hover{background:var(--wine-600)}.result{color:#3b0a16;background:#f6e6ea;border-radius:10px;gap:6px;padding:14px 16px;display:grid}.result h4{font-size:1.0625rem}.demo-note{color:var(--ink-soft);font-size:.8125rem}.c-yes{text-align:center;background:radial-gradient(50% 60% at 50% 55%, #e9c98a1a, transparent 70%), var(--wine-950);padding-block:clamp(90px,16vh,180px);overflow:hidden}.c-yes .l1,.c-yes .l3{font-family:var(--font-caps);letter-spacing:.32em;text-transform:uppercase;color:var(--on-dark);font-size:clamp(1rem,2.6vw,1.9rem)}.c-yes .l2{font-family:var(--font-hand);transform:scale(var(--ys,1));font-size:clamp(9rem,32vw,26rem);line-height:.75;display:inline-block}.c-yes .l2.foil-text{margin:-.28em -.3em -.08em;padding:.3em .3em .42em}.c-yes .l3{font-family:var(--font-display);text-transform:none;letter-spacing:.02em;font-size:clamp(1.6rem,4vw,3rem);font-style:italic}.hallband{height:230vh;position:relative}.hb-sticky{align-items:center;height:100svh;display:grid;position:sticky;top:0;overflow:hidden}.hb-stage{background:radial-gradient(60% 60% at 60% 50%, #e9c98a14, transparent 70%), var(--wine-950);position:absolute;inset:0}.hb-wait{color:var(--on-dark-soft);transition:opacity .6s;position:absolute;top:50%;right:10%}.hallband.live .hb-wait{opacity:0}.hb-scrim{pointer-events:none;background:linear-gradient(90deg,#16040af0 0%,#16040ac7 30%,#16040a1a 56%,#16040a00 70%);position:absolute;inset:0}.hb-copy{z-index:1;position:relative}.hb-copy>*{max-width:28rem}.hb-copy h2{font-family:var(--font-display);margin:12px 0 0;font-size:clamp(2.3rem,4.6vw,3.8rem);font-weight:400;line-height:1.02}.hb-copy h2 em{font-family:var(--font-hand);font-size:1.3em;font-style:normal}.hb-counts{grid-template-columns:repeat(2,minmax(0,1fr));margin:30px 0 0;display:grid}.hb-counts div{border-top:1px solid #e9c98a59;padding-top:10px}.hb-counts dt{font-family:var(--font-caps);letter-spacing:.18em;text-transform:uppercase;color:var(--on-dark-soft);font-size:.75rem}.hb-counts dd{font-family:var(--font-display);font-variant-numeric:tabular-nums;margin:6px 0 0;font-size:clamp(2.6rem,5vw,4rem);line-height:1}.c-fan{background:linear-gradient(180deg, var(--wine-950), #22070f);padding-block:clamp(90px,14vh,160px);overflow:hidden}.fan-head{text-align:center;margin-bottom:clamp(40px,6vw,70px)}.fan-head h2{font-family:var(--font-display);margin-top:12px;font-size:clamp(2.2rem,4.6vw,3.6rem);font-weight:400;line-height:1.02}.fan-head h2 em{font-family:var(--font-hand);font-size:1.3em;font-style:normal}.fan{max-width:980px;height:clamp(420px,44vw,540px);margin:0 auto;position:relative}.fan .fc{width:clamp(240px,26vw,320px);transition:transform .45s var(--ease);cursor:pointer;margin-left:calc(clamp(240px,26vw,320px)/-2);position:absolute;top:0;left:50%}.fan .fc:first-child{transform:translate(-78%)rotate(-9deg)translateY(30px)}.fan .fc:nth-child(2){z-index:2;transform:translateY(0)}.fan .fc:nth-child(3){transform:translate(78%)rotate(9deg)translateY(30px)}.fan .fc:hover,.fan .fc:focus-visible,.fan .fc.lift{z-index:3}.fan .fc:first-child.lift{transform:translate(-84%)rotate(-5deg)translateY(-10px)scale(1.03)}.fan .fc:nth-child(2).lift{transform:translateY(-16px)scale(1.03)}.fan .fc:nth-child(3).lift{transform:translate(84%)rotate(5deg)translateY(-10px)scale(1.03)}@media (hover:hover) and (pointer:fine){.fan .fc:first-child:hover{transform:translate(-84%)rotate(-5deg)translateY(-10px)scale(1.03)}.fan .fc:nth-child(2):hover{transform:translateY(-16px)scale(1.03)}.fan .fc:nth-child(3):hover{transform:translate(84%)rotate(5deg)translateY(-10px)scale(1.03)}}.fan-foot{text-align:center;margin-top:30px}.fan-foot a{color:var(--gold);font-weight:600}.c-finale{text-align:center;background:radial-gradient(60% 60% at 50% 60%,#c4466440,#0000 70%),#22070f;place-items:center;min-height:92svh;display:grid;position:relative;overflow:hidden}.c-finale h2{font-family:var(--font-display);font-size:clamp(3rem,8vw,7rem);font-weight:400;line-height:.95}.c-finale h2 em{font-family:var(--font-hand);font-size:1.35em;font-style:normal}.c-finale .actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:36px;display:flex}.fleck{opacity:.85;background:linear-gradient(135deg,#f6e2ad,#a47a34);border-radius:1px;width:7px;height:11px;animation:linear infinite fall;position:absolute;top:-6%}@keyframes fall{to{transform:translate3d(var(--dx,20px), 112vh, 0) rotate(var(--rot,540deg))}}#burst{z-index:70;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}body:has(.about-page) .site-foot{background:var(--wine-950);border-top:1px solid #e9c98a26}html.js body:has(.about-page) .reveal{opacity:0;transition:opacity .8s var(--ease), transform .8s var(--ease);transform:translateY(18px)}html.js body:has(.about-page) .reveal.in{opacity:1;transform:none}@media (max-width:900px){.c-poster{display:none}.c-scrim{background:linear-gradient(#16040a00 34%,#16040adb 60%,#16040af7 100%)}.c-copy{bottom:132px}.cotd{left:max(20px, env(safe-area-inset-left,0px));text-align:left;grid-template-columns:auto auto;place-items:center start;gap:6px 16px;bottom:44px;right:auto}.cotd .caps{grid-column:1/-1}.cotd b{font-size:1.6rem}.scroll-hint{display:none}.inv-grid{grid-template-columns:minmax(0,1fr)}.inv-head{text-align:center}.hb-scrim{background:linear-gradient(#16040a00 30%,#16040adb 60%,#16040af7 100%)}.hb-sticky{padding-bottom:calc(40px + env(safe-area-inset-bottom,0px));align-items:end}.hb-wait{top:22%;left:20px;right:auto}.fan{scroll-snap-type:x mandatory;height:auto;padding:20px max(20px, env(safe-area-inset-left,0px)) 30px;scrollbar-width:none;gap:18px;max-width:none;display:flex;overflow-x:auto}.fan::-webkit-scrollbar{display:none}.fan .fc{scroll-snap-align:center;flex:0 0 72vw;max-width:300px;margin:0;position:relative;left:auto;transform:none!important}}@media (max-width:520px){.c-hero h1{font-size:clamp(2.5rem,11vw,3.2rem)}.c-hero .lede{font-size:1rem}.c-copy{bottom:128px}.choice{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.fleck,.scroll-hint i{animation:none;display:none}}
