:root{--ink:#15233b;--ink-2:#2b3c5c;--paper:#f7f2e8;--paper-2:#efe7d6;--line:#ddd2bb;--card:#fffdf8;--copper:#b8602a;--copper-2:#d98a4e;--muted:#5d6677;--radius:14px;--max:1160px;--serif:"Fraunces", Georgia, "Times New Roman", serif;--sans:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font:17px/1.65 var(--sans);margin:0}img{max-width:100%;display:block}a{color:var(--copper);text-underline-offset:3px}h1,h2,h3{font-family:var(--serif);letter-spacing:-.01em;margin:0 0 .5em;font-weight:600;line-height:1.1}h1{font-size:clamp(2.6rem,6vw,4.6rem)}h2{font-size:clamp(1.8rem,3.6vw,2.6rem)}h3{font-size:1.3rem}p{margin:0 0 1em}.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}.eyebrow{font:600 .78rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--copper);margin-bottom:14px}.lead{color:var(--ink-2);font-size:1.2rem}.muted{color:var(--muted)}.section.tight{padding:56px 0}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px;margin-bottom:32px;display:flex}.section-head h2{margin:0}.btn{font:600 .95rem/1 var(--sans);border:2px solid var(--ink);color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:8px;padding:13px 22px;text-decoration:none;transition:all .15s;display:inline-flex}.btn:hover{background:var(--ink);color:var(--paper)}.btn.solid{background:var(--copper);border-color:var(--copper);color:#fff}.btn.solid:hover{background:var(--ink);border-color:var(--ink)}.btn.light{border-color:var(--paper);color:var(--paper)}.btn.light:hover{background:var(--paper);color:var(--ink)}.ph{background:linear-gradient(135deg, var(--paper-2), var(--line));border-radius:var(--radius);position:relative;overflow:hidden}.ph:before{content:"";background:repeating-linear-gradient(45deg,#0000 0 14px,#15233b0a 14px 15px);position:absolute;inset:0}.ph img{object-fit:cover;width:100%;height:100%;position:relative}.site-header{z-index:20;background:color-mix(in srgb, var(--paper) 94%, transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky;top:0}.site-header .wrap{justify-content:space-between;align-items:center;height:72px;display:flex}.brand{font:600 1.45rem/1 var(--serif);color:var(--ink);letter-spacing:-.01em;text-decoration:none}.brand span{color:var(--copper)}.nav{gap:4px;display:flex}.nav a{color:var(--ink);font:500 .93rem/1 var(--sans);border-radius:8px;padding:10px 12px;text-decoration:none}.nav a[aria-current=page]{color:var(--copper)}.menu-btn{font:600 .95rem var(--sans);color:var(--ink);cursor:pointer;background:0 0;border:0;padding:10px;display:none}@media (width<=900px){.menu-btn{display:block}.nav{background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;padding:8px 16px 16px;display:none;position:absolute;top:72px;left:0;right:0}.nav.open{display:flex}.nav a{padding:14px 8px;font-size:1.05rem}}.page-hero{border-bottom:1px solid var(--line);padding:72px 0 40px}.page-hero h1{margin-bottom:.2em}.events{gap:14px;display:grid}.event{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:120px 1fr auto;align-items:center;gap:22px;padding:18px 22px;display:grid}.event .when{text-align:center;border-right:1px solid var(--line);padding-right:20px}.event .mon{font:700 .75rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--copper)}.event .day{font:600 2.1rem/1.05 var(--serif)}.event .range{color:var(--muted);white-space:nowrap;font-size:.74rem}.event .flyer-thumb{border:1px solid var(--line);background:#fff;border-radius:6px;margin-top:12px;transition:transform .15s,box-shadow .15s;display:block;overflow:hidden}.event .flyer-thumb img{object-fit:cover;object-position:top;width:100%;height:150px;display:block}.event .flyer-thumb:hover{transform:translateY(-2px);box-shadow:0 8px 18px #15233b26}.event:has(.flyer-thumb){align-items:start}.event h3{margin:0 0 4px;font-size:1.25rem}.event .meta{color:var(--muted);font-size:.95rem}.event .tag{font:600 .72rem/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;background:var(--paper-2);color:var(--ink-2);border-radius:6px;margin-right:6px;padding:6px 9px;display:inline-block}.event .tag.warn{color:#8a3b10;background:#f6dccb}.event.cancelled h3{color:var(--muted);text-decoration:line-through}.event .actions{flex-wrap:wrap;justify-content:end;gap:8px;display:flex}.event .actions a{font:600 .85rem/1 var(--sans);border:1.5px solid var(--line);color:var(--ink);white-space:nowrap;border-radius:999px;padding:10px 14px;text-decoration:none}.event .actions a:hover{border-color:var(--copper);color:var(--copper)}@media (width<=640px){.event{grid-template-columns:96px 1fr}.event .flyer-thumb img{height:120px}.event .when{padding-right:14px}.event .actions{grid-column:1/-1;justify-content:start}}.month-label{font:600 1.05rem/1 var(--serif);color:var(--ink-2);margin:36px 0 14px}.month-label:first-child{margin-top:0}.empty{text-align:center;border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted);padding:32px}.site-footer{background:var(--ink);color:#cfd6e3;margin-top:40px;padding:64px 0 36px}.site-footer a{color:#fff;text-decoration:none}.foot-grid{grid-template-columns:1.4fr 1fr 1fr;gap:40px;display:grid}.foot-grid h4{font:600 .78rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--copper-2);margin:0 0 16px}.foot-grid ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.foot-brand{font:600 2rem/1 var(--serif);color:#fff;margin-bottom:10px}.foot-bottom{border-top:1px solid #ffffff1f;flex-direction:column;align-items:center;gap:14px;margin-top:48px;padding-top:28px;display:flex}.site-footer .sdt{text-align:center;font:400 13px/1.5 var(--sans);color:#9c9c9c;flex-direction:column;align-items:center;gap:6px;display:flex}.site-footer .sdt:hover{color:#fff}.site-footer .sdt img{width:23px;height:23px}.foot-bottom .copy{color:#7f8899;font-size:.78rem}@media (width<=760px){.foot-grid{grid-template-columns:1fr}}.flyers{flex-wrap:wrap;justify-content:center;gap:32px;max-width:980px;margin:0 auto;display:flex}.flyers>.flyer{width:calc(33.3333% - 21.3333px)}@media (width<=760px){.flyers{gap:20px}.flyers>.flyer{width:calc(50% - 10px)}}@media (width<=420px){.flyers{max-width:320px}.flyers>.flyer{width:100%}}.flyers .empty{width:100%}.flyer{color:var(--ink);text-align:center;justify-items:center;gap:12px;text-decoration:none;display:grid}.flyer-pic{aspect-ratio:8.5/11;background:var(--card);border:1px solid var(--line);width:100%;box-shadow:0 2px 0 var(--line);border-radius:6px;place-items:center;transition:transform .15s,box-shadow .15s;display:grid;position:relative;overflow:hidden}.flyer-pic img{object-fit:cover;object-position:top;width:100%;height:100%;position:absolute;inset:0}.flyer-pdf{font:700 .8rem/1 var(--sans);letter-spacing:.14em;color:var(--copper);border:2px solid var(--copper);border-radius:6px;padding:10px 12px}.flyer:hover .flyer-pic{transform:translateY(-3px)rotate(-.6deg);box-shadow:0 12px 26px #15233b24}.flyer-title{font:600 1.05rem/1.3 var(--serif)}.flyer:hover .flyer-title{color:var(--copper)}.filters{gap:10px;margin-bottom:26px;display:grid}.filter-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filter-label{font:700 .74rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);width:56px}.chip{font:600 .88rem/1 var(--sans);border:1.5px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;border-radius:999px;padding:9px 14px}.chip span{color:var(--muted);margin-left:2px;font-weight:500}.chip:hover{border-color:var(--copper)}.chip[aria-pressed=true]{background:var(--copper);border-color:var(--copper);color:#fff}.chip[aria-pressed=true] span{color:#fffc}@media (width<=640px){.filter-label{width:100%}}.mini{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px 16px 12px}.mini.loading{opacity:.6}.mini-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.mini-head strong{font:600 1.05rem/1 var(--serif)}.mini-head button{border:1px solid var(--line);width:32px;height:32px;color:var(--ink);cursor:pointer;background:#fff;border-radius:50%;font-size:1.1rem}.mini-head button:hover:not(:disabled){border-color:var(--copper);color:var(--copper)}.mini-head button:disabled{opacity:.35;cursor:default}.mini-week,.mini-days{text-align:center;grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.mini-week span{font:700 .68rem/2 var(--sans);color:var(--muted)}.mini-days button{aspect-ratio:1;font:500 .88rem/1 var(--sans);color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:50%;position:relative}.mini-days button:hover:not(:disabled){background:var(--paper-2)}.mini-days button.past{color:#b9b2a3;cursor:default}.mini-days button.busy{color:var(--ink);font-weight:700}.mini-days button.busy:after{content:"";background:var(--copper);border-radius:50%;width:5px;height:5px;margin-left:-2.5px;position:absolute;bottom:4px;left:50%}.mini-days button.today{box-shadow:inset 0 0 0 1.5px var(--copper)}.mini-note{color:var(--muted);margin:10px 0 0;font-size:.78rem}.mini-note .dot{background:var(--copper);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-left:4px;display:inline-block}.event{scroll-margin-top:96px}.event.flash{animation:1.6s ease-out flash}@keyframes flash{0%{box-shadow:0 0 0 3px var(--copper)}to{box-shadow:0 0 0 3px #0000}}.prose{max-width:70ch}.prose h2{margin-top:1.4em}.prose img{border-radius:var(--radius);margin:1.2em 0}.prose ul{padding-left:1.2em}.video{aspect-ratio:16/9;border-radius:var(--radius);background:var(--ink);margin:1.5em 0;position:relative;overflow:hidden}.video iframe{border:0;width:100%;height:100%;position:absolute;inset:0}details.fold{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);margin:0 0 14px}details.fold>summary{cursor:pointer;font:600 1.15rem/1.2 var(--serif);justify-content:space-between;padding:18px 22px;list-style:none;display:flex}details.fold>summary:after{content:"+";color:var(--copper);font-size:1.4rem}details.fold[open]>summary:after{content:"–"}details.fold>div{padding:0 22px 22px}details.fold iframe{border:0;width:100%;min-height:520px}.event.reserved{opacity:.8;background:0 0;border-style:dashed}.event.reserved h3{color:var(--muted)}.pager{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:32px;display:flex}.pager[hidden]{display:none}.pager-note{text-align:center;width:100%;margin:0 0 4px;font-size:.92rem}.pager .chip{min-width:42px}.pager .chip[aria-current=page]{background:var(--copper);border-color:var(--copper);color:#fff;cursor:default}.pager .chip:disabled{opacity:.4;cursor:default}.pager-gap{color:var(--muted);padding:0 2px}.pager-word{font-weight:inherit;color:inherit}@media (width<=520px){.pager{gap:5px}.pager .chip{min-width:34px;padding:9px 8px}.pager-word{display:none}}:root{--red:#dc2626;--red-2:#b91c1c;--sun:#f5a524;--teal:#0ea5a4;--pink:#ec4899;--violet:#7c3aed;--sky:#0ea5e9;--plum:#2b1840;--plum-2:#3b2357;--script:"Caveat", "Comic Sans MS", cursive;--radius:18px;--max:1200px;--spring:cubic-bezier(.34, 1.56, .64, 1);--ease:cubic-bezier(.2, .7, .2, 1)}body{background:var(--paper);font-size:17.5px;overflow-x:hidden}::selection{background:var(--sun);color:var(--plum)}h1,h2,h3{font-family:var(--serif);letter-spacing:-.025em;font-variation-settings:"opsz" 96;font-weight:800}h2{font-size:clamp(2rem,4.2vw,3.2rem);line-height:1.02}h2 em,h1 em{color:var(--red);font-style:normal}a{color:var(--red)}a:hover{color:var(--plum)}.skip{background:var(--plum);color:#fff;z-index:99;border-radius:8px;padding:10px 16px;position:absolute;top:8px;left:-999px}.skip:focus{left:8px}.kicker{font:800 .8rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--red);align-items:center;gap:10px;margin:0 0 14px;display:inline-flex}.kicker:before{content:"";background:linear-gradient(90deg, var(--red) 0 33%, var(--sun) 33% 66%, var(--teal) 66%);clip-path:polygon(0 0,100% 0,100% 60%,83% 100%,66% 60%,50% 100%,33% 60%,17% 100%,0 60%);width:26px;height:10px}.kicker.light{color:var(--sun)}.lead{color:var(--ink-2)}.section{padding:100px 0}.row-cta{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.row-cta.center{justify-content:center}.section-head .row-cta{margin-top:0}.btn{border:2.5px solid var(--plum);color:var(--plum);font:800 .98rem/1 var(--sans);box-shadow:4px 4px 0 var(--plum);transition:transform .15s var(--ease), box-shadow .15s var(--ease), background .15s;background:var(--card);padding:15px 24px}.btn:hover{background:var(--card);color:var(--plum);box-shadow:6px 6px 0 var(--plum);transform:translate(-2px,-2px)}.btn:active{box-shadow:1px 1px 0 var(--plum);transform:translate(3px,3px)}.btn.red{background:var(--red);color:#fff}.btn.red:hover{background:var(--red-2);color:#fff}.btn.ink{background:var(--plum);color:#fff;box-shadow:4px 4px 0 var(--sun)}.btn.ink:hover{color:#fff;background:var(--plum-2);box-shadow:6px 6px 0 var(--sun)}.btn.ghost{background:0 0}.btn.ghost:hover{background:var(--card)}.btn.sun{background:var(--sun);color:var(--plum);border-color:var(--sun);box-shadow:4px 4px #000a}.btn.light{color:#fff;box-shadow:4px 4px 0 var(--pink);background:0 0;border-color:#fff}.btn.light:hover{color:var(--plum);box-shadow:6px 6px 0 var(--pink);background:#fff}.garland{pointer-events:none;z-index:1;position:absolute;top:0;left:0;right:0}.garland svg{width:100%;height:100%;display:block;overflow:visible}.g-string{fill:none;stroke:var(--plum);stroke-width:1.6px;opacity:.45}.g-flag{transform-box:fill-box;transform-origin:50% 0;transform:rotate(var(--tilt));animation:sway calc(2.6s + (var(--i) * .17s)) ease-in-out calc(var(--i) * -.37s) infinite alternate;filter:drop-shadow(0 4px 3px #2b18401f)}@keyframes sway{0%{transform:rotate(calc(var(--tilt) - 6deg)) skewX(-2deg)}to{transform:rotate(calc(var(--tilt) + 6deg)) skewX(2deg)}}.site-header{background:color-mix(in srgb, var(--paper) 88%, transparent);border-bottom:0;transition:box-shadow .2s,background .2s}.site-header.scrolled{background:color-mix(in srgb, var(--paper) 96%, transparent);box-shadow:0 10px 30px -18px #2b184066}.site-header .wrap{max-width:1320px;height:80px}.brand{color:var(--plum);align-items:center;gap:12px;display:flex}.brand .mark{color:var(--plum);transition:transform .5s var(--spring)}.brand:hover .mark{transform:rotate(-10deg)scale(1.08)}.brand-words{font:800 1.5rem/1 var(--serif);letter-spacing:-.03em;color:var(--plum);display:grid}.brand-words em{color:var(--red);font-style:normal}.brand-words small{font:700 .62rem/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:3px}.nav{gap:2px}.nav a{font:700 .9rem/1 var(--sans);color:var(--plum);border-radius:999px;padding:10px 11px;position:relative}.nav a:hover{background:var(--paper-2)}.nav a[aria-current=page]{color:#fff;background:var(--plum)}.menu-btn{color:var(--plum);align-items:center;gap:10px;font-weight:800;display:none}.bars{background:currentColor;border-radius:2px;width:20px;height:2.5px;display:inline-block;position:relative}.bars:before,.bars:after{content:"";background:currentColor;border-radius:2px;width:20px;height:2.5px;transition:transform .2s;position:absolute;left:0}.bars:before{top:-6px}.bars:after{top:6px}.menu-open .bars{background:0 0}.menu-open .bars:before{transform:translateY(6px)rotate(45deg)}.menu-open .bars:after{transform:translateY(-6px)rotate(-45deg)}@media (width<=1160px){.menu-btn{display:inline-flex}.nav{background:var(--paper);flex-direction:column;padding:10px 16px 18px;display:none;position:absolute;top:80px;left:0;right:0;box-shadow:0 20px 30px -20px #2b184066}.nav.open{display:flex}.nav a{padding:14px 12px;font-size:1.05rem}}.hero{background:radial-gradient(60% 50% at 85% 40%, color-mix(in srgb, var(--sun) 22%, transparent), transparent 70%), radial-gradient(50% 50% at 5% 90%, color-mix(in srgb, var(--pink) 14%, transparent), transparent 70%), var(--paper);padding:150px 0 60px;position:relative;overflow:hidden}.hero-garland{height:110px}.hero-garland.back{opacity:.55;z-index:0;height:90px;top:34px;transform:scale(1.04)}.hero-garland.back .g-flag{animation-duration:calc(3.4s + (var(--i) * .21s))}.hero-grid{z-index:2;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:56px;max-width:1280px;display:grid;position:relative}.pill{font:800 .82rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;background:var(--card);border:2px solid var(--plum);box-shadow:3px 3px 0 var(--plum);animation:pop .7s var(--spring) both;border-radius:999px;align-items:center;gap:10px;margin:0 0 22px;padding:10px 16px;display:inline-flex}.pill-dot{background:var(--red);width:10px;height:10px;box-shadow:0 0 0 0 var(--red);border-radius:50%;animation:1.8s ease-out infinite ping}@keyframes ping{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--red) 60%, transparent)}to{box-shadow:0 0 0 12px #0000}}@keyframes pop{0%{opacity:0;transform:scale(.6)rotate(-6deg)}}.ft-title{letter-spacing:-.055em;color:var(--plum);font-variation-settings:"opsz" 96;margin:0 0 26px;font-size:clamp(4.2rem,10.5vw,9.4rem);line-height:.86;position:relative}.ft-line{white-space:nowrap;display:block}.ft-line.ties{color:var(--red);align-items:center;display:flex}.ch{animation:drop .9s var(--spring) calc(.15s + var(--i) * 60ms) both;transition:transform .35s var(--spring), color .2s;display:inline-block}.ch:hover{color:var(--sun);transform:translateY(-.12em)rotate(-6deg)}.ft-line .ch:nth-child(3n+2):hover{color:var(--teal)}@keyframes drop{0%{opacity:0;transform:translateY(-.9em)rotate(-14deg)}60%{opacity:1}to{transform:none}}.ft-bow{width:.95em;height:.8em;margin-left:.08em;animation:4s ease-in-out 2.6s infinite bow-wiggle;overflow:visible;transform:rotate(-8deg)}.bow-draw{fill:none;stroke:var(--sun);stroke-width:9px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1px;animation:draw 1.6s var(--ease) 1s forwards}.bow-knot{fill:var(--sun);transform-box:fill-box;transform-origin:50%;animation:knot .5s var(--spring) 2.4s forwards;transform:scale(0)}@keyframes knot{to{transform:scale(1)}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes bow-wiggle{0%,80%,to{transform:rotate(-8deg)}86%{transform:rotate(6deg)scale(1.06)}92%{transform:rotate(-14deg)}}.ft-ribbon{z-index:-1;width:78%;height:.32em;position:absolute;bottom:-.16em;left:-.04em;overflow:visible}.ft-ribbon path{fill:none;stroke:var(--sun);stroke-width:14px;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1px;opacity:.55;animation:draw 1.2s var(--ease) .7s forwards}.turns{font:800 clamp(1.4rem, 2.5vw, 1.95rem)/1.25 var(--serif);letter-spacing:-.02em;color:var(--plum);margin:0 0 18px}.turns em{font-style:normal;font-family:var(--script);color:var(--red);letter-spacing:0;font-size:1.35em;font-weight:700}.turn-box{vertical-align:bottom;height:1.25em;display:inline-grid;overflow:hidden}.turn{color:var(--teal);transition:transform .55s var(--spring);white-space:nowrap;grid-area:1/1;transform:translateY(110%)}.turn.on{transform:none}.turn.off{transform:translateY(-110%)}.turn:nth-child(2){color:var(--violet)}.turn:nth-child(3){color:var(--red)}.turn:nth-child(4){color:var(--pink)}.turn:nth-child(5){color:#c47a00}.hero-lead{max-width:34em;color:var(--ink-2);font-size:1.15rem}.hero-cta{flex-wrap:wrap;gap:14px;margin-top:28px;display:flex}.deck{aspect-ratio:4/3;perspective:1400px;justify-self:center;width:100%;max-width:600px;position:relative}.card{cursor:pointer;z-index:calc(20 - var(--pos));transform:translate(calc(var(--pos) * 14px), calc(var(--pos) * -10px)) rotate(calc((var(--pos) - 1) * 4deg + 2deg)) scale(calc(1 - var(--pos) * .04));opacity:calc(1 - var(--pos) * .08);transition:transform .6s var(--spring), opacity .4s;background:#fff;border-radius:6px;margin:0;padding:12px 12px 54px;position:absolute;inset:7% 5% auto;box-shadow:0 30px 50px -28px #2b18408c,0 2px #2b18400f}.card:nth-child(n+4){opacity:calc(.6 - (var(--pos) - 3) * .3)}.card img{aspect-ratio:16/9;object-fit:cover;border-radius:2px;width:100%;height:auto}.card figcaption{text-align:center;font:700 1.75rem/1 var(--script);color:var(--plum);position:absolute;bottom:10px;left:0;right:0}.card .tape{background:color-mix(in srgb, var(--sun) 55%, transparent);clip-path:polygon(3% 0,97% 4%,100% 50%,96% 100%,2% 96%,0 50%);width:110px;height:30px;margin-left:-55px;position:absolute;top:-14px;left:50%;transform:rotate(-4deg)}.card:nth-child(2n) .tape{background:color-mix(in srgb, var(--teal) 45%, transparent);transform:rotate(5deg)}.card.fly{transition:transform .52s cubic-bezier(.55,0,.7,.4),opacity .45s .1s;opacity:0!important;transform:translate(115%,-12%)rotate(24deg)!important}.deck{animation:deck-in 1s var(--spring) .4s both}@keyframes deck-in{0%{opacity:0;transform:translateY(60px)rotate(8deg)scale(.9)}}.deck-next{z-index:30;font:800 .85rem/1 var(--sans);background:var(--plum);color:#fff;cursor:pointer;box-shadow:3px 3px 0 var(--sun);border:0;border-radius:999px;padding:11px 16px;position:absolute;bottom:2%;right:0}.deck-next span{transition:transform .4s var(--spring);display:inline-block}.deck-next:hover span{transform:rotate(180deg)}.ticket{z-index:2;background:var(--card);border:2.5px solid var(--plum);box-shadow:6px 6px 0 var(--plum);animation:pop .8s var(--spring) 1.2s both;border-radius:18px;grid-template-columns:120px minmax(0,1fr);margin-top:54px;display:grid;position:relative;overflow:hidden}.ticket-stub{text-align:center;background:var(--red);color:#fff;border-right:3px dashed var(--paper);place-content:center;display:grid;position:relative}.ticket-stub b{font:800 1.7rem/1 var(--serif);letter-spacing:-.03em}.ticket-stub span{font:700 1.5rem/1 var(--script)}.ticket .events{padding:6px}.ticket .event{box-shadow:none;background:0 0;border:0}.ticket .event:hover{transform:none}.ticket .empty{border:0;padding:22px}.event{border:2px solid var(--line);border-radius:var(--radius);background:var(--card);transition:transform .25s var(--spring), box-shadow .25s, border-color .2s;grid-template-columns:110px minmax(0,1fr) auto;position:relative}.event:hover{border-color:var(--plum);transform:translateY(-3px)rotate(-.3deg);box-shadow:0 18px 30px -22px #2b184080}.event .when{border-right:2px dashed var(--line)}.event .mon{color:var(--red);font-weight:800}.event .day{font:800 2.6rem/1 var(--serif);letter-spacing:-.04em;color:var(--plum)}.event h3{letter-spacing:-.02em;font-weight:800}.event .tag{background:color-mix(in srgb, var(--sun) 22%, var(--card));color:var(--plum);overflow-wrap:anywhere;border-radius:999px;max-width:100%;font-weight:800;line-height:1.25}.event>*{min-width:0}.event .actions a{border:2px solid var(--plum);color:var(--plum);font-weight:800}.event .actions a:hover{background:var(--plum);color:#fff;border-color:var(--plum)}.upnext .events .event:nth-child(4n+1){border-left:8px solid var(--red)}.upnext .events .event:nth-child(4n+2){border-left:8px solid var(--teal)}.upnext .events .event:nth-child(4n+3){border-left:8px solid var(--sun)}.upnext .events .event:nth-child(4n+4){border-left:8px solid var(--pink)}.upnext-more{margin-top:26px;font-weight:600}@media (width<=640px){.event{grid-template-columns:86px minmax(0,1fr)}.event .day{font-size:2.1rem}}.fridays{position:relative}.fri-grid{grid-template-columns:330px minmax(0,1fr);align-items:center;gap:80px;display:grid}.flip{background:var(--card);border:2.5px solid var(--plum);box-shadow:8px 8px 0 var(--plum);text-align:center;border-radius:22px;padding:0 0 22px;position:relative;transform:rotate(-3deg)}.flip-rings{justify-content:space-around;display:flex;position:absolute;top:-16px;left:0;right:0}.flip-rings i{border:4px solid var(--plum);background:var(--paper);border-radius:10px;width:16px;height:34px}.flip-head{background:var(--red);color:#fff;font:800 .9rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;border-radius:19px 19px 0 0;padding:26px 0 16px}.flip-page{perspective:900px;height:220px;margin:18px 22px 0}.flip-card{height:100%;transform-style:preserve-3d;animation:flipper 7s var(--spring) infinite;position:relative}.face{backface-visibility:hidden;background:var(--paper-2);border-radius:12px;place-content:center;display:grid;position:absolute;inset:0}.face b{font:800 9rem/.8 var(--serif);letter-spacing:-.07em;color:var(--plum)}.face b sup{vertical-align:top;color:var(--red);letter-spacing:0;margin-left:.04em;font-size:.32em}.face span{font:700 2.6rem/1 var(--script);color:var(--red);margin-top:6px}.face.back{background:color-mix(in srgb, var(--teal) 14%, var(--card));transform:rotateX(180deg)}.face.back sup,.face.back span{color:var(--teal)}@keyframes flipper{0%,38%{transform:rotateX(0)}50%,88%{transform:rotateX(180deg)}to{transform:rotateX(360deg)}}.flip-time{font:800 1.5rem/1 var(--serif);letter-spacing:-.02em;margin:16px 0 0}.tags{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:34px 0 12px;padding-top:34px;display:grid;position:relative}.tag-string{width:calc(100% + 28px);height:22px;position:absolute;top:0;left:-14px;overflow:visible}.tag-string path{fill:none;stroke:var(--plum);stroke-width:2px;vector-effect:non-scaling-stroke;opacity:.5}.gtag{color:#fff;text-align:center;clip-path:polygon(22% 0,78% 0,100% 16%,100% 100%,0 100%,0 16%);transform-origin:50% -26px;animation:swing calc(3s + var(--i) * .4s) ease-in-out calc(var(--i) * -.7s) infinite alternate;border-radius:12px 12px 16px 16px;padding:30px 14px 18px;position:relative;box-shadow:inset 0 -4px #0000001f}.gtag:before{content:"";background:var(--plum);opacity:.5;width:2px;height:34px;position:absolute;top:-26px;left:50%}.gtag-hole{background:var(--paper);border-radius:50%;width:12px;height:12px;margin-left:-6px;position:absolute;top:10px;left:50%;box-shadow:inset 0 0 0 2px #00000026}.gtag.red{background:var(--red)}.gtag.teal{background:var(--teal)}.gtag.sun{background:var(--sun);color:var(--plum)}.gtag.pink{background:var(--pink)}.gtag-k{font:800 .7rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;opacity:.85;margin-bottom:8px;display:block}.gtag strong{font:800 1.12rem/1.15 var(--serif);letter-spacing:-.01em;display:block}.gtag small{opacity:.92;margin-top:6px;font-size:.82rem;display:block}.gtag:hover{animation-duration:.6s}@keyframes swing{0%{transform:rotate(-3.5deg)}to{transform:rotate(3.5deg)}}.where{align-items:center;gap:10px;margin:24px 0 0;font-size:1.05rem;display:flex}.where a{color:var(--plum)}.where a:hover{color:var(--red)}@media (width<=960px){.fri-grid{grid-template-columns:minmax(0,1fr);gap:60px}.flip{justify-self:center;max-width:300px}.tags{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:50px}.tags .tag-string{display:none}}.upnext{background:var(--paper-2);position:relative}.upnext:before,.upnext:after{content:"";background:var(--paper-2);height:18px;position:absolute;left:0;right:0}.upnext:before{clip-path:polygon(0 100%,2% 0,4% 100%,6% 0,8% 100%,10% 0,12% 100%,14% 0,16% 100%,18% 0,20% 100%,22% 0,24% 100%,26% 0,28% 100%,30% 0,32% 100%,34% 0,36% 100%,38% 0,40% 100%,42% 0,44% 100%,46% 0,48% 100%,50% 0,52% 100%,54% 0,56% 100%,58% 0,60% 100%,62% 0,64% 100%,66% 0,68% 100%,70% 0,72% 100%,74% 0,76% 100%,78% 0,80% 100%,82% 0,84% 100%,86% 0,88% 100%,90% 0,92% 100%,94% 0,96% 100%,98% 0,100% 100%);top:-17px}.upnext:after{clip-path:polygon(0 0,2% 100%,4% 0,6% 100%,8% 0,10% 100%,12% 0,14% 100%,16% 0,18% 100%,20% 0,22% 100%,24% 0,26% 100%,28% 0,30% 100%,32% 0,34% 100%,36% 0,38% 100%,40% 0,42% 100%,44% 0,46% 100%,48% 0,50% 100%,52% 0,54% 100%,56% 0,58% 100%,60% 0,62% 100%,64% 0,66% 100%,68% 0,70% 100%,72% 0,74% 100%,76% 0,78% 100%,80% 0,82% 100%,84% 0,86% 100%,88% 0,90% 100%,92% 0,94% 100%,96% 0,98% 100%,100% 0);bottom:-17px}.food-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:80px;display:grid}.food-pics{--tx:0;--ty:0;aspect-ratio:1/.9;perspective:1000px;position:relative}.fp{aspect-ratio:16/10;object-fit:cover;width:74%;height:auto;transition:transform .5s var(--ease);border:10px solid #fff;border-radius:8px;position:absolute;box-shadow:0 30px 40px -26px #2b184099}.fp0{transform:rotateY(calc(var(--tx) * 10deg)) rotateX(calc(var(--ty) * -10deg)) rotate(-6deg) translate(calc(var(--tx) * -14px), calc(var(--ty) * -14px));top:0;left:0}.fp1{z-index:2;transform:rotateY(calc(var(--tx) * 12deg)) rotateX(calc(var(--ty) * -12deg)) rotate(4deg) translate(calc(var(--tx) * 18px), calc(var(--ty) * 18px));top:30%;right:0}.fp2{z-index:3;width:56%;transform:rotateY(calc(var(--tx) * 8deg)) rotateX(calc(var(--ty) * -8deg)) rotate(-2deg) translate(calc(var(--tx) * -8px), calc(var(--ty) * 26px));bottom:0;left:8%}.stickers{flex-wrap:wrap;gap:16px;margin-top:30px;display:flex}.sticker{text-align:center;width:104px;height:104px;font:800 1.05rem/1 var(--serif);letter-spacing:-.02em;color:#fff;box-shadow:0 0 0 4px var(--paper), 0 0 0 6.5px var(--plum), 0 14px 20px -12px #2b184099;border-radius:50%;place-content:center;animation:5s ease-in-out infinite wobble;display:grid}.sticker.s1{background:var(--red);--r:-8deg}.sticker.s2{background:var(--teal);--r:6deg;font-family:var(--script);font-size:1.8rem;animation-delay:-1.2s}.sticker.s3{background:var(--sun);--r:-4deg;animation-delay:-2.4s}.sticker.s4{background:var(--violet);--r:9deg;animation-delay:-3.6s}@keyframes wobble{0%,to{transform:rotate(var(--r)) scale(1)}50%{transform:rotate(calc(var(--r) * -1)) scale(1.06)}}@media (width<=900px){.food-grid{grid-template-columns:minmax(0,1fr);gap:50px}.food-pics{max-width:560px}.sticker{width:86px;height:86px;font-size:.9rem}.sticker.s2{font-size:1.5rem}}.wall-sec{background:var(--plum);color:#fff;position:relative;overflow:hidden}.wall-sec h2{color:#fff}.wall-sec h2 em,.wall-sec .kicker{color:var(--sun)}.wall-sec .btn.ghost{color:#fff;box-shadow:4px 4px 0 var(--pink);border-color:#fff}.wall-sec .btn.ghost:hover{color:var(--plum);background:#fff}.wall-sec .btn.ink{background:var(--sun);color:var(--plum);border-color:var(--sun);box-shadow:4px 4px #000a}.wall-sec:before{content:"";background:radial-gradient(circle at 20% 20%,#ec489940,#0000 40%),radial-gradient(circle at 85% 80%,#0ea5a440,#0000 45%);position:absolute;inset:0}.wall{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:160px;gap:18px;display:grid;position:relative}.tile{opacity:0;transform:translateY(-120px) rotate(calc(var(--r) * 3)) scale(.7);transition:transform .8s var(--spring) calc(var(--i) * 90ms), opacity .4s calc(var(--i) * 90ms);background:#fff;border-radius:10px;padding:8px;display:block;overflow:hidden;box-shadow:0 30px 40px -24px #000000b3}.tile img{object-fit:cover;width:100%;height:100%;transition:transform .5s var(--ease);border-radius:5px}.tile:first-child{grid-area:span 2/span 2}.tile:nth-child(8){grid-column:span 2}.dealt .tile{opacity:1;transform:rotate(calc(var(--r) * .25))}.dealt .tile:hover{z-index:2;transition-delay:0s;transform:rotate(0)scale(1.04)}.dealt .tile:hover img{transform:scale(1.06)}.dealt .tile.flip{transition:transform .26s ease-in;transform:rotateY(90deg)scale(.95)}@media (width<=800px){.wall{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:110px;gap:12px}}.learn-band{background:var(--plum-2);color:#ece4f5;padding:120px 0;position:relative;overflow:hidden}.braid{opacity:.4;width:100%;height:220px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.strand{fill:none;stroke-width:22px;stroke-linecap:round}.s-red{stroke:var(--red)}.s-teal{stroke:var(--teal)}.s-sun{stroke:var(--sun)}.learn-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:60px;display:grid;position:relative}.learn-words{gap:0;display:grid}.learn-words span{font:800 clamp(3rem, 7vw, 5.6rem)/.95 var(--serif);letter-spacing:-.05em}.w-red{color:#ff6b6b}.w-teal{color:#2dd4bf;transform:translate(.5em)}.w-sun{color:var(--sun)}.learn-words em{font:700 2rem/1 var(--script);color:#fff;margin-top:16px;display:inline-block;transform:rotate(-3deg)}.learn-copy{backdrop-filter:blur(6px);background:#2b1840db;border:2px solid #ffffff2e;border-radius:22px;padding:38px}.learn-copy h2{color:#fff}.lesson-pill{border:2px solid var(--sun);font:800 .88rem/1 var(--sans);border-radius:999px;flex-wrap:wrap;margin:8px 0 4px;display:inline-flex;overflow:hidden}.lesson-pill span{padding:10px 14px}.lesson-pill span:first-child{background:var(--sun);color:var(--plum)}@media (width<=900px){.learn-grid{grid-template-columns:minmax(0,1fr);gap:36px}.learn-copy{padding:26px}.w-teal{transform:none}}.extras-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;display:grid}.pcard{color:var(--plum);background:var(--card);border:2.5px solid var(--plum);box-shadow:6px 6px 0 var(--plum);transition:transform .25s var(--spring), box-shadow .25s;border-radius:20px;text-decoration:none;display:grid;overflow:hidden}.pcard:hover{box-shadow:10px 10px 0 var(--red);color:var(--plum);transform:translate(-3px,-3px)rotate(-.6deg)}.pc-img{aspect-ratio:16/9;background:var(--plum);border-bottom:2.5px solid var(--plum);position:relative;overflow:hidden}.pc-img img{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease)}.pcard:hover .pc-img img{transform:scale(1.07)}.pc-play{background:var(--red);color:#fff;width:64px;height:64px;transition:transform .3s var(--spring);border-radius:50%;place-items:center;margin:auto;padding-left:4px;display:grid;position:absolute;inset:0;box-shadow:0 0 0 8px #ffffff59}.pcard:hover .pc-play{transform:scale(1.15)}.pc-3d{background:radial-gradient(circle, var(--plum-2), var(--plum));place-items:center;display:grid}.pc-3d span{background:var(--sun);border-radius:6px;width:22px;height:22px;margin:-11px;animation:6s linear infinite orbit;position:absolute;top:50%;left:50%}.pc-3d span:nth-child(odd){background:var(--pink);border-radius:50%}.pc-3d span:first-child{animation-delay:0s}.pc-3d span:nth-child(2){animation-delay:-.75s}.pc-3d span:nth-child(3){animation-delay:-1.5s}.pc-3d span:nth-child(4){animation-delay:-2.25s}.pc-3d span:nth-child(5){animation-delay:-3s}.pc-3d span:nth-child(6){animation-delay:-3.75s}.pc-3d span:nth-child(7){animation-delay:-4.5s}.pc-3d span:nth-child(8){animation-delay:-5.25s}@keyframes orbit{0%{transform:rotate(0)translate(62px)rotate(0)}to{transform:rotate(360deg)translate(62px)rotate(-360deg)}}.pc-text{padding:22px 24px 26px;display:grid}.pc-text .kicker{margin-bottom:8px}.pc-text strong{font:800 1.5rem/1.1 var(--serif);letter-spacing:-.02em}.pc-text em{color:var(--muted);margin-top:4px;font-style:normal}@media (width<=900px){.extras-grid{grid-template-columns:minmax(0,1fr);max-width:520px;margin:0 auto}}.closing{text-align:center;background:radial-gradient(60% 70% at 50% 40%, color-mix(in srgb, var(--sun) 25%, transparent), transparent 70%), var(--paper);padding:130px 0 120px;position:relative;overflow:hidden}.confetti{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.closing-inner{max-width:820px;position:relative}.closing .mark{color:var(--plum);animation:3s ease-in-out infinite bob}@keyframes bob{50%{transform:translateY(-10px)rotate(-6deg)}}.closing blockquote{font:800 clamp(2.2rem, 5.4vw, 4.2rem)/1 var(--serif);letter-spacing:-.045em;color:var(--plum);margin:24px 0 18px}.closing blockquote em{color:var(--red);font-style:normal}.site-footer{background:var(--plum);color:#d8cce6;margin-top:0;padding:150px 0 36px;position:relative}.foot-garland{height:90px}.foot-garland .g-string{stroke:#fff}.site-footer a:hover{color:var(--sun)}.foot-sign{border-bottom:2px dashed #ffffff29;flex-wrap:wrap;align-items:center;gap:22px;margin-bottom:50px;padding-bottom:40px;display:flex}.foot-sign .mark{color:#fff}.foot-big{font:800 clamp(2.2rem, 5vw, 3.8rem)/1 var(--serif);letter-spacing:-.045em;color:#fff;margin:0}.foot-big em{font-style:normal;font-family:var(--script);color:var(--sun);letter-spacing:0;font-size:1.15em;font-weight:700}.foot-name{font:800 1.6rem/1 var(--serif);color:#fff;letter-spacing:-.02em;margin-bottom:14px;display:block}.foot-grid h4{color:var(--sun)}.foot-when strong{color:#fff}.page-hero{background:radial-gradient(50% 70% at 90% 30%, color-mix(in srgb, var(--sun) 20%, transparent), transparent 70%), var(--paper);border-bottom:0;padding:140px 0 36px;position:relative;overflow:hidden}.ph-garland{height:90px}.page-hero .wrap{z-index:2;grid-template-columns:minmax(0,1fr) 380px;align-items:center;gap:60px;display:grid;position:relative}.page-hero .script{font:700 2rem/1 var(--script);color:var(--red);margin-bottom:8px;display:inline-block;transform:rotate(-3deg)}.page-hero h1{letter-spacing:-.05em;color:var(--plum);margin:0;font-size:clamp(3rem,7vw,5.6rem);line-height:.92}.ribbon-line{width:min(320px,70%);height:22px;margin:10px 0 18px;display:block;overflow:visible}.ribbon-line path{fill:none;stroke:var(--sun);stroke-width:9px;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset 1.2s var(--ease) .2s}.page-hero.in .ribbon-line path{stroke-dashoffset:0}.page-hero .lead{max-width:38em}.page-hero .btn{margin-top:6px}.snap{animation:snap-in .9s var(--spring) .2s both;background:#fff;border-radius:6px;margin:0;padding:12px 12px 50px;position:relative;transform:rotate(3deg);box-shadow:0 30px 40px -26px #2b18408c}.snap img{aspect-ratio:16/10;object-fit:cover;border-radius:2px;width:100%}.snap figcaption{text-align:center;font:700 1.7rem/1 var(--script);color:var(--plum);position:absolute;bottom:10px;left:0;right:0}.snap .tape,.tape{background:color-mix(in srgb, var(--teal) 45%, transparent);width:110px;height:30px;margin-left:-55px;position:absolute;top:-14px;left:50%;transform:rotate(-5deg)}@keyframes snap-in{0%{opacity:0;transform:translateY(40px)rotate(14deg)scale(.9)}}@media (width<=860px){.page-hero .wrap{grid-template-columns:minmax(0,1fr)}.snap{display:none}.page-hero{padding:120px 0 50px}}.after-hero{padding-top:24px}.view-switch{background:var(--paper-2);border:2px solid var(--plum)!important}.view-switch button{font-weight:800}.view-switch button[aria-selected=true]{background:var(--plum);color:#fff}.cal-title{font-size:clamp(1.8rem,3.6vw,2.6rem)}.chip{border-width:2px;font-weight:700}.chip[aria-pressed=true],.pager .chip[aria-current=page]{background:var(--plum);border-color:var(--plum);color:#fff}.mini{border:2px solid var(--plum);box-shadow:5px 5px 0 var(--plum)}.mini-days button.busy:after{background:var(--red)}.reveal{opacity:0;transition:opacity .7s var(--ease) var(--d,0s), transform .9s var(--spring) var(--d,0s);transform:translateY(34px)rotate(-1deg)}.reveal.in{opacity:1;transform:none}.flip.reveal.in{transform:rotate(-3deg)}@media (width<=900px){.hero{padding-top:120px}.hero-grid{grid-template-columns:minmax(0,1fr);gap:50px}.deck{max-width:480px}.section{padding:80px 0}}@media (width<=520px){.wrap{padding:0 18px}.ticket{grid-template-columns:minmax(0,1fr)}.ticket-stub{border-right:0;border-bottom:3px dashed var(--paper);grid-auto-flow:column;align-items:baseline;gap:8px;padding:10px}.brand-words{font-size:1.3rem}.brand-words small{display:none}.gtag strong{font-size:1rem}.card figcaption{font-size:1.4rem;bottom:8px}.card{padding-bottom:42px}.stickers{gap:10px}.sticker{width:72px;height:72px;font-size:.8rem}.sticker.s2{font-size:1.25rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.reveal,.tile{opacity:1;transform:none}.bow-draw,.ft-ribbon path,.ribbon-line path{stroke-dashoffset:0}.bow-knot{transform:none}.g-flag{transform:rotate(var(--tilt))}}
