/* Bowtroller.com — base */
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0}
img,video{max-width:100%}
[hidden]{display:none!important}
/* Bowtroller.com — Plug & Play theme.
   Layout: Plug In's dark arcade stage, opened up with Bounce's crimson and cream. Games are dealt as a hand of cards on a bright crimson stage under the nav; a power cord tracks the scroll and every heading it reaches hops. Pages change through a spark-lit iris. */
:root{
  color-scheme: dark;
  --ink:#0A0607; --panel:#150C0E; --panel-2:#1E1214; --rule:#36242A;
  --text:#F4ECE6; --muted:#AC9B96; --crimson:#96070D; --deep:#5A050A; --hot:#E3222C; --hot-text:#FF5C63; --spark:#FFE3D9;
  --cream:#FFF0E6; --peach:#FFC9B8; --gold:#FFC23D; --ink-red:#3A0306; --red-hi:#B9141C;
  --f-display:"Bungee", Impact, "Arial Black", sans-serif;
  --f-ui:"Fredoka", "Arial Rounded MT Bold", "Trebuchet MS", sans-serif;
  --f-body:"Familjen Grotesk", "Helvetica Neue", Arial, sans-serif;
  --f-mono:"JetBrains Mono", ui-monospace, Menlo, monospace;
}
/* shared: slide media + 3D dice structure (concepts style the surfaces) */
.bt-media{position:absolute;inset:0;overflow:hidden;background:#0b0708}
.bt-media video,.bt-media canvas,.bt-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;max-width:none}
.bt-media.is-fallback video{display:none}
.bt-blur{position:absolute;inset:-48px;background-size:cover;background-position:center;filter:blur(30px) saturate(1.25) brightness(.5);transform:scale(1.1)}
.bt-phone{position:absolute;top:50%;left:var(--phone-x,70%);height:86%;aspect-ratio:390/844;max-width:100%;transform:translate(-50%,-50%) rotate(5deg);border-radius:9%/4.2%;padding:1.4%;background:#050608;box-shadow:0 0 0 1px rgba(255,255,255,.1),0 40px 70px -24px rgba(0,0,0,.85);transition:transform 1.4s cubic-bezier(.2,.8,.2,1)}
.bt-phone img{display:block;width:100%;height:100%;object-fit:cover;border-radius:8%/3.7%;max-width:none}
.bt-media.is-live .bt-phone{transform:translate(-50%,-53%) rotate(-3deg) scale(1.04)}

.bt-dice{display:flex;gap:clamp(14px,3vw,28px);justify-content:center;align-items:center;flex-wrap:wrap}
.bt-die{--die:clamp(64px,13vw,96px);width:var(--die);height:var(--die);perspective:700px}
.bt-cube{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform 1.2s cubic-bezier(.18,.9,.26,1.04)}
.bt-face{position:absolute;inset:0;display:grid;place-items:center;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.bt-face b{font-weight:inherit;line-height:1}
.bt-pip{display:block;width:22%;height:22%;border-radius:50%;background:currentColor}
/* LCRA's own ivory dice, as in the game */
.bt-face{background:radial-gradient(circle at 30% 25%,#fffaf0,#efe4cc 60%,#d9c9a6);border-radius:20%;color:#1e3b2c;font-family:"Lilita One","Arial Rounded MT Bold",sans-serif;font-size:calc(var(--die)*.6);box-shadow:inset 0 -7px 14px rgba(120,90,40,.32),inset 0 2px 0 rgba(255,255,255,.75)}
.bt-face[data-face="A"]{color:#e5372b;text-shadow:0 3px 0 #8e1a12}
.f-front{transform:translateZ(calc(var(--die)/2))}
.f-back{transform:rotateY(180deg) translateZ(calc(var(--die)/2))}
.f-right{transform:rotateY(90deg) translateZ(calc(var(--die)/2))}
.f-left{transform:rotateY(-90deg) translateZ(calc(var(--die)/2))}
.f-top{transform:rotateX(90deg) translateZ(calc(var(--die)/2))}
.f-bottom{transform:rotateX(-90deg) translateZ(calc(var(--die)/2))}
@media (prefers-reduced-motion: reduce){.bt-phone,.bt-cube{transition:none}}

*,*::before,*::after{box-sizing:border-box}
html,body{background:var(--ink)}
body{color:var(--text);font-family:var(--f-body);font-size:16.5px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--ink)}
.wrap{max-width:1240px;margin-inline:auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
a{color:inherit}
p{margin:0}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:10px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.eyebrow{font:500 12px/1.3 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}
h1,h2,h3{font-family:var(--f-display);font-weight:400;line-height:.98;margin:0;text-wrap:balance}
.big{font-size:clamp(34px,6vw,72px)}
.mega{font-size:clamp(54px,12vw,160px)}
.hot{color:var(--hot-text)}
.goldt{color:var(--gold)}
.lede{font-size:clamp(17px,1.6vw,20px);color:var(--muted);max-width:60ch}
.small{font-size:14px;color:var(--muted)}
.w{display:inline-block;white-space:nowrap}
.ch{display:inline-block;transform-origin:50% 100%}

/* sticker buttons with a neon edge */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:999px;font:700 17px/1 var(--f-ui);text-decoration:none;cursor:pointer;border:3px solid #000;background:var(--gold);color:var(--ink-red);box-shadow:0 6px 0 #000;transition:transform .12s,box-shadow .2s;white-space:nowrap}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 0 #000,0 0 30px rgba(255,194,61,.5)}
.btn:active{transform:translateY(5px) scaleX(1.04) scaleY(.94);box-shadow:0 1px 0 #000}
.btn-cream{background:var(--cream);color:var(--crimson)}
.btn-ghost{background:transparent;color:var(--cream);border-color:var(--cream);box-shadow:0 6px 0 #000}
.btn-ghost:hover{background:var(--cream);color:var(--crimson)}
.btn svg{width:18px;height:18px}

/* ---------- logo ---------- */
.mark{display:block;overflow:visible}
.mark .lobe,.mark .knot{fill:var(--mk)}
.mark .cord{fill:none;stroke:var(--mk);stroke-width:14}
.mark .hole{fill:var(--hole)}
.mark .ring{fill:none;stroke:var(--hole);stroke-width:18}
.mark .cordLit{fill:none;stroke:#FF4A3D;stroke-width:14;opacity:0}
.mark .spark{fill:#FFF4EE;opacity:0;filter:drop-shadow(0 0 8px #FF3B30)}

/* ---------- header ---------- */
.hdr{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(10,6,7,.84);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--rule)}
.hdr-in{display:flex;align-items:center;gap:18px;min-height:72px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0}
.nav-mark{width:60px;height:auto;--mk:var(--crimson);--hole:var(--ink);filter:drop-shadow(0 0 8px rgba(255,50,50,.3));transform-origin:50% 90%}
.wordmark{font-family:var(--f-display);font-size:19px;white-space:nowrap}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{padding:11px 16px;border-radius:999px;font:600 17px/1 var(--f-ui);text-decoration:none;color:var(--muted);transition:color .15s,background-color .15s}
.nav a:hover{color:var(--text);background:var(--panel-2)}
.nav a[aria-current="page"]{color:var(--cream);background:var(--crimson);box-shadow:0 0 18px rgba(227,34,44,.55)}
.hdr .btn{min-height:46px;padding:0 18px;font-size:16px;box-shadow:0 4px 0 var(--crimson)}
.menu-btn{display:none;margin-left:auto;width:48px;height:48px;border-radius:14px;border:2px solid var(--rule);background:var(--panel);color:var(--text);cursor:pointer;place-items:center}
.menu-btn svg{width:22px;height:22px}
.mnav{border-top:1px solid var(--rule);background:var(--ink)}
.mnav .wrap{display:flex;flex-direction:column;padding-block:8px 16px}
.mnav a{padding:14px 0;font-family:var(--f-display);font-size:26px;text-decoration:none;border-bottom:1px solid var(--rule)}
.prog{position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--hot);transform-origin:0 50%;transform:scaleX(0);box-shadow:0 0 10px var(--hot)}
@media (max-width:820px){.nav,.hdr .btn{display:none}.menu-btn{display:grid}.wordmark{font-size:17px}.nav-mark{width:50px}}

/* ---------- power cord ---------- */
.cord{position:fixed;right:max(14px,env(safe-area-inset-right,0px));top:calc(env(safe-area-inset-top,0px) + 94px);bottom:28px;width:40px;z-index:40;pointer-events:none;display:none}
.cord svg{width:100%;height:100%;overflow:visible}
.cord-base{fill:none;stroke:var(--rule);stroke-width:5;stroke-linecap:round}
.cord-lit{fill:none;stroke:var(--hot);stroke-width:5;stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(227,34,44,.8))}
.cord-spark{fill:var(--spark);filter:drop-shadow(0 0 8px #FF3B30) drop-shadow(0 0 3px #fff)}
.sock{fill:var(--ink);stroke:var(--rule);stroke-width:3;transition:fill .3s,stroke .3s}
.sock.on{fill:var(--gold);stroke:var(--spark)}
@media (min-width:1380px){.cord{display:block}.hdr .prog{display:none}}

/* ---------- floating toys ---------- */
.toys{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.toy{position:absolute;display:block}
.toy-chip{width:var(--s,60px);aspect-ratio:1;border-radius:50%;background:var(--c,#FFC23D);background-image:repeating-conic-gradient(from 0deg,rgba(255,255,255,.85) 0 14deg,transparent 14deg 45deg);-webkit-mask:radial-gradient(circle,#000 0 34%,transparent 35% 44%,#000 45%);mask:radial-gradient(circle,#000 0 34%,transparent 35% 44%,#000 45%);filter:drop-shadow(0 0 14px rgba(255,194,61,.35))}
.toy-die{width:var(--s,52px);aspect-ratio:1;border-radius:24%;display:grid;place-items:center;font:400 calc(var(--s,52px)*.6)/1 "Lilita One",sans-serif;color:#1e3b2c;background:radial-gradient(circle at 30% 25%,#fffaf0,#efe4cc 60%,#d9c9a6);box-shadow:0 0 24px rgba(255,240,220,.18),0 8px 0 rgba(0,0,0,.45)}
.toy-die.a{color:#e5372b}
.toy-bow{width:var(--s,80px);--mk:var(--crimson);--hole:var(--ink);filter:drop-shadow(0 0 12px rgba(227,34,44,.6))}

/* ---------- hero: neon hand of cards ---------- */
.hero{position:relative;padding-block:clamp(18px,3vw,34px) 40px;overflow:hidden}
.hero{background:var(--crimson)}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 75% at 70% 45%,var(--red-hi),transparent 70%),radial-gradient(ellipse 45% 55% at 5% 100%,rgba(255,194,61,.12),transparent 70%);pointer-events:none}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:44px;align-items:center}
.hand-col{position:relative;z-index:1;min-width:0}
.copy{position:relative;z-index:6;display:flex;flex-direction:column;gap:16px;min-width:0}
.cats{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}
.cat{font:700 15px/1 var(--f-ui);min-height:44px;padding:0 16px;border-radius:999px;cursor:pointer;color:var(--cream);background:var(--deep);border:2px solid #000;box-shadow:0 4px 0 #000;display:inline-flex;align-items:center;gap:8px;transition:transform .12s,color .15s,border-color .15s,background-color .15s,box-shadow .2s}
.cat i{width:8px;height:8px;border-radius:50%;background:currentColor}
.cat[data-cat="soon"] i{background:none;border:2px solid currentColor}
.cat:hover{background:var(--ink)}
.cat:active{transform:translateY(3px) scale(1.04,.94)}
.cat[aria-pressed="true"]{color:var(--ink-red);background:var(--gold);border-color:#000;box-shadow:0 4px 0 var(--crimson),0 0 22px rgba(255,194,61,.35)}
.sticker{align-self:flex-start;display:inline-flex;align-items:center;gap:9px;padding:8px 13px;border-radius:10px;background:var(--cream);color:var(--crimson);border:3px solid #000;box-shadow:0 4px 0 #000;transform:rotate(-3deg);font:700 14px/1 var(--f-ui);letter-spacing:.05em;text-transform:uppercase}
.sticker i{width:9px;height:9px;border-radius:50%;background:var(--crimson)}
.sticker[data-cat="live"] i{background:var(--hot);animation:pulse 1.2s infinite}
.sticker[data-cat="soon"]{background:var(--peach)}
.sticker[data-cat="soon"] i{background:none;border:2.5px solid var(--crimson)}
@keyframes pulse{50%{opacity:.2}}
.kicker{font:500 13px/1.3 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--peach)}
.copy h2{font-size:clamp(40px,6vw,92px);color:var(--cream);text-shadow:0 .07em 0 var(--ink-red);max-width:100%}
.copy .txt{font-size:clamp(16px,1.4vw,18.5px);max-width:40ch;color:var(--cream)}
.acts{display:flex;gap:14px;flex-wrap:wrap;margin-top:6px}
.hand{position:relative;height:clamp(440px,44vw,560px);touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none}
.hand.dragging{cursor:grabbing}
.tcard{--cw:clamp(250px,24vw,320px);position:absolute;left:50%;top:6px;width:var(--cw);aspect-ratio:3/4;max-width:90%;margin-left:calc(var(--cw)/-2);border-radius:26px;background:var(--panel-2);border:3px solid #000;box-shadow:0 0 0 1px var(--rule),0 10px 0 #000;padding:9px 9px 0;display:flex;flex-direction:column;transform-origin:50% 120%;will-change:transform;transition:box-shadow .35s}
.tcard .win{position:relative;flex:1;border-radius:17px;overflow:hidden;background:#000}
.tcard .plate{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 6px 13px}
.tcard .plate b{font:400 clamp(15px,1.5vw,19px)/1.1 var(--f-display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.tcard .plate span{position:absolute;top:20px;left:20px;z-index:3;font:700 11px/1 var(--f-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--crimson);background:var(--cream);padding:6px 8px;border-radius:8px;white-space:nowrap;border:2px solid #000;box-shadow:0 3px 0 #000}
.tcard.is-active{box-shadow:0 0 0 4px var(--gold),0 0 60px -4px rgba(255,194,61,.65),0 10px 0 #000}
.tcard .bt-phone{--phone-x:50%;height:84%}
.tcard .timer{position:absolute;left:12px;right:12px;bottom:12px;height:5px;border-radius:5px;background:rgba(255,255,255,.18);overflow:hidden;z-index:2}
.tcard .timer i{display:block;height:100%;background:var(--gold);box-shadow:0 0 10px var(--gold);transform-origin:0 50%;transform:scaleX(var(--p,0))}
.hero-ui{position:relative;z-index:5;display:flex;align-items:center;justify-content:center;gap:14px;margin-top:6px}
.pad{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;cursor:pointer;background:var(--cream);color:var(--crimson);border:3px solid #000;box-shadow:0 5px 0 #000;transition:transform .12s,box-shadow .12s,border-color .2s,color .2s}
.pad:hover{box-shadow:0 5px 0 #000,0 0 26px rgba(255,194,61,.6)}
.pad:active{transform:translateY(4px) scale(1.06,.9);box-shadow:0 1px 0 #000}
.pad svg{width:24px;height:24px}
.pips{display:flex;gap:8px}
.pip{width:44px;height:44px;border-radius:12px;cursor:pointer;display:grid;place-items:center;font:400 24px/1 "Lilita One",sans-serif;color:#1e3b2c;background:radial-gradient(circle at 30% 25%,#fffaf0,#efe4cc 60%,#d9c9a6);border:2px solid #000;box-shadow:0 4px 0 #000;opacity:.85;transition:transform .25s cubic-bezier(.3,1.6,.5,1),opacity .2s,box-shadow .25s}
.pip.a{color:#e5372b}
.pip:hover{opacity:1}
.pip[aria-current="true"]{opacity:1;transform:translateY(-6px) rotate(-8deg);box-shadow:0 10px 0 #000,0 0 0 3px var(--gold),0 0 24px rgba(255,194,61,.7)}
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:18px}
  .hand-col{order:-1}
  .hand{height:clamp(380px,112vw,470px)}
  .tcard{--cw:min(250px,64vw)}
  .cats{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:8px;margin-bottom:10px}
  .cat{flex:none;font-size:14px;padding:0 13px}
}
@media (max-width:900px){.hero .toys .toy:first-child{display:none}}
@media (max-width:480px){.pad{width:48px;height:48px}.pip{width:38px;height:38px;font-size:20px}.pips{gap:6px}.hero-ui{gap:10px}}

/* ---------- marquee ---------- */
.marquee{position:relative;z-index:3;overflow:hidden;margin-block:-26px 0;transform:rotate(-1.4deg);width:104%;margin-left:-2%}
.mq-skew{background:var(--ink);border-block:3px solid var(--gold);box-shadow:0 0 40px rgba(255,194,61,.25)}
.mq-in{display:flex;width:max-content;gap:32px;align-items:center;padding:15px 32px 15px 0;font-family:var(--f-display);font-size:clamp(22px,3.2vw,36px);white-space:nowrap;color:var(--cream);animation:mq 26s linear infinite}
.mq-in .ch{animation:bob 1.4s ease-in-out infinite}
.mq-in svg{width:56px;height:auto;--mk:var(--crimson);--hole:var(--ink)}
@keyframes mq{to{transform:translateX(-50%)}}
@keyframes bob{50%{transform:translateY(-6px)}}

/* ---------- sections ---------- */
.sec{position:relative;padding-block:clamp(56px,9vw,112px)}
.sec-h{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 32px;margin-bottom:38px}
.hop{display:inline-block}
.wave{height:46px;background-repeat:repeat-x;background-size:240px 46px}
.wave-down{background-color:var(--ink);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='46'><path d='M0 23 Q60 0 120 23 T240 23 V46 H0Z' fill='%23FFF0E6'/><path d='M0 23 Q60 0 120 23 T240 23' fill='none' stroke='%23E3222C' stroke-width='4'/></svg>")}
.wave-up{background-color:var(--ink);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='46'><path d='M0 23 Q60 46 120 23 T240 23 V0 H0Z' fill='%23FFF0E6'/><path d='M0 23 Q60 46 120 23 T240 23' fill='none' stroke='%23E3222C' stroke-width='4'/></svg>")}
.toybox{background:var(--cream);color:var(--ink-red)}
.redbox{background:var(--crimson);color:var(--cream);--notch:var(--crimson)}
.redbox .eyebrow{color:var(--peach)}
.redbox .lede{color:var(--cream)}
.redbox .small{color:var(--peach)}
.redbox .hot{color:var(--gold)}
.wave-up-red{background-color:var(--crimson);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='46'><path d='M0 23 Q60 46 120 23 T240 23 V0 H0Z' fill='%23FFF0E6'/><path d='M0 23 Q60 46 120 23 T240 23' fill='none' stroke='%23FFC23D' stroke-width='4'/></svg>")}
.wave-down-red{background-color:var(--crimson);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='46'><path d='M0 23 Q60 0 120 23 T240 23 V46 H0Z' fill='%23FFF0E6'/><path d='M0 23 Q60 0 120 23 T240 23' fill='none' stroke='%23FFC23D' stroke-width='4'/></svg>")}
.toybox .eyebrow{color:#9A2A30}
.toybox h2{color:var(--crimson)}
.toybox .lede{color:#5C1418}

.filters{display:flex;gap:10px;flex-wrap:wrap}
.chip{font:700 15px/1 var(--f-ui);min-height:44px;padding:0 18px;border-radius:999px;cursor:pointer;color:var(--crimson);background:transparent;border:3px solid var(--crimson);transition:background-color .15s,color .15s,transform .12s}
.chip:active{transform:scale(1.06,.92)}
.chip[aria-pressed="true"]{background:var(--crimson);color:var(--cream)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:28px}
.gcard{position:relative;display:flex;flex-direction:column;border-radius:26px;background:#fff;border:4px solid var(--ink-red);box-shadow:0 10px 0 var(--ink-red);overflow:hidden;text-decoration:none;color:var(--ink-red);transform:perspective(900px) rotate(var(--tilt,0deg)) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .35s cubic-bezier(.3,1.6,.5,1),box-shadow .25s;min-width:0}
.gcard:nth-child(2n){--tilt:1.6deg}.gcard:nth-child(2n+1){--tilt:-1.4deg}
.gcard:hover{--tilt:0deg;box-shadow:0 10px 0 var(--ink-red),0 0 50px rgba(227,34,44,.45)}
.gcard .art{position:relative;aspect-ratio:16/11;max-width:100%;border-bottom:4px solid var(--ink-red);overflow:hidden}
.gcard .body{display:flex;flex-direction:column;gap:6px;padding:18px 20px 22px}
.gcard .row{display:flex;justify-content:space-between;align-items:center;gap:10px}
.gcard h3{font-size:28px;color:var(--crimson)}
.gcard .meta{color:#6B2A2E;font-size:15px}
.gcard .state{font:700 12px/1 var(--f-ui);letter-spacing:.05em;text-transform:uppercase;padding:7px 10px;border-radius:999px;border:2.5px solid var(--ink-red);white-space:nowrap}
.gcard .state.out{background:var(--gold)}.gcard .state.soon{background:var(--peach)}
.gcard[hidden]{display:none}
.art-lcra{background:radial-gradient(circle at 50% 60%,#2a8a58,#11402A 70%)}
.art-lcra img{position:absolute;left:8%;top:6%;width:84%;height:88%;object-fit:contain;transition:transform .5s cubic-bezier(.3,1.6,.5,1)}
.gcard:hover .art-lcra img{transform:scale(1.08) rotate(-3deg)}
.art-gift{background:repeating-linear-gradient(45deg,#FFE2D6 0 16px,#FFD3C3 16px 32px);display:grid;place-items:center}
.gift{position:relative;width:56%;height:auto;overflow:visible;transform-origin:50% 100%;filter:drop-shadow(0 8px 0 rgba(58,3,6,.25))}
.gcard:hover .gift{animation:wiggle .5s ease-in-out 2}
@keyframes wiggle{25%{transform:rotate(-6deg) scaleY(.96)}75%{transform:rotate(6deg) scaleY(1.03)}}

.spot-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}
.spot-copy{display:flex;flex-direction:column;gap:20px;min-width:0}
.bubbles{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0}
.bubbles li{font:700 15px/1 var(--f-ui);padding:11px 15px;border-radius:999px;background:var(--panel-2);border:2px solid var(--rule);box-shadow:0 4px 0 #000}
.fan{position:relative;height:clamp(460px,48vw,600px)}
.fan .glow{position:absolute;inset:10% 15%;background:radial-gradient(circle,rgba(150,7,13,.6),transparent 65%);filter:blur(20px)}
.fan .ph{--w:clamp(168px,16vw,220px);position:absolute;left:calc(50% - var(--w)/2);top:50%;margin:calc(var(--w) * -1.02) 0 0;width:var(--w);max-width:100%;padding:8px 8px 0;border-radius:24px;background:var(--panel-2);border:3px solid #000;box-shadow:0 10px 0 #000,0 0 0 1px var(--rule);display:flex;flex-direction:column}
.fan .ph img{display:block;width:100%;aspect-ratio:390/760;object-fit:cover;object-position:top;border-radius:16px;max-width:100%}
.fan .ph figcaption{font:700 14px/1.1 var(--f-ui);padding:10px 4px 12px;text-align:center;color:var(--cream)}
.fan .ph:nth-of-type(1){transform:translate(-60%,26px) rotate(-11deg)}
.fan .ph:nth-of-type(3){transform:translate(60%,26px) rotate(11deg)}
@media (max-width:880px){.spot-in{grid-template-columns:1fr}.fan{height:540px}}

.tickets{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:22px}
.ticket{position:relative;display:flex;flex-direction:column;gap:10px;padding:22px 22px 24px;border-radius:22px;background:var(--c);color:var(--ink-red);border:3px solid #000;box-shadow:0 8px 0 #000;min-width:0}
.ticket::before,.ticket::after{content:"";position:absolute;top:58%;width:22px;height:22px;border-radius:50%;background:var(--notch,var(--ink));border:3px solid #000}
.ticket::before{left:-12px;clip-path:inset(0 0 0 50%)}.ticket::after{right:-12px;clip-path:inset(0 50% 0 0)}
.ticket h3{font-size:24px}
.ticket .dates{font:700 15px/1 var(--f-ui)}
.ticket .when{align-self:flex-start;font:700 12px/1 var(--f-ui);letter-spacing:.06em;text-transform:uppercase;padding:7px 10px;border-radius:999px;background:var(--cream);border:2.5px solid #000}
.ticket p{font-size:15px;border-top:3px dashed rgba(58,3,6,.35);padding-top:12px;margin-top:4px}

.join{position:relative;border-radius:30px;background:var(--deep);border:3px solid #000;box-shadow:0 12px 0 #000;padding:clamp(28px,5vw,64px);overflow:hidden;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:32px;align-items:center}
.join::after{content:"";position:absolute;right:-120px;top:-120px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(255,194,61,.22),transparent 65%);pointer-events:none}
.join-form{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}
.join-form label{grid-column:1/-1;font:500 12px/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--peach)}
.join-form input{min-height:56px;border-radius:999px;border:3px solid #000;background:var(--cream);color:var(--ink-red);font:600 17px var(--f-body);padding:0 22px;min-width:0}
.join-form input:focus{outline:none;box-shadow:0 0 0 4px var(--hot)}
.form-note{grid-column:1/-1;font-size:14.5px;color:var(--peach);min-height:1.5em}
@media (max-width:780px){.join{grid-template-columns:1fr}.join-form{grid-template-columns:1fr}}

/* ---------- inner pages ---------- */
.page-hero{position:relative;padding-block:clamp(40px,8vw,96px) clamp(24px,4vw,52px);display:flex;flex-direction:column;gap:18px}
.page-lcra{background:radial-gradient(ellipse 80% 40% at 70% 0%,rgba(30,109,70,.35),transparent 70%)}
.lcra-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:40px;align-items:center;padding-block:clamp(32px,6vw,72px) 24px}
.lh-copy{display:flex;flex-direction:column;gap:20px;min-width:0}
.lcra-logo{width:min(560px,100%);height:auto;filter:drop-shadow(0 20px 40px rgba(0,0,0,.6))}
.stores{display:flex;gap:12px;flex-wrap:wrap}
.store{display:inline-flex;align-items:center;gap:12px;min-height:58px;padding:0 20px 0 16px;border-radius:16px;background:#000;border:2px solid #3a3a3a;box-shadow:0 5px 0 var(--crimson);color:#fff;text-decoration:none;transition:border-color .2s,transform .12s}
.store:hover{border-color:var(--gold)}
.store:active{transform:translateY(4px)}
.store svg{width:26px;height:26px}
.store span{display:flex;flex-direction:column;font:700 18px/1.1 var(--f-ui)}
.store small{font:500 11px/1.2 var(--f-body);letter-spacing:.05em;color:#cfcfcf}
.lh-shot{display:grid;place-items:center}
.lh-shot .ph{width:min(280px,70vw);aspect-ratio:390/844;max-width:100%;border-radius:36px;padding:8px;background:#050608;border:3px solid #000;box-shadow:0 12px 0 #000,0 0 90px -10px rgba(242,193,78,.35);transform:rotate(4deg)}
.lh-shot .ph img{width:100%;height:100%;object-fit:cover;border-radius:28px;display:block}
@media (max-width:880px){.lcra-hero{grid-template-columns:1fr}}

.felt{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:36px;align-items:center;padding:clamp(28px,5vw,60px);border-radius:40px;background:radial-gradient(circle at 70% 50%,#2a8a58,#11402A 70%);color:#F3FFF7;border:4px solid #000;box-shadow:0 12px 0 #000,inset 0 0 0 12px rgba(201,162,74,.4),0 0 80px -20px rgba(42,138,88,.6)}
.felt h2{color:var(--gold)}
.roll-stage{display:flex;flex-direction:column;align-items:center;gap:24px;min-width:0}
.roll-out{font:700 19px/1.4 var(--f-ui);text-align:center;min-height:2.8em;max-width:36ch}
.roll-out b{color:var(--gold)}
.felt .bt-die{filter:drop-shadow(0 10px 0 rgba(0,0,0,.3))}
@media (max-width:880px){.felt{grid-template-columns:1fr}}

.faces{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:18px}
.face{display:flex;flex-direction:column;gap:10px;padding:20px;border-radius:24px;background:#fff;border:4px solid var(--ink-red);box-shadow:0 8px 0 var(--ink-red);min-width:0;transition:transform .3s cubic-bezier(.3,1.6,.5,1)}
.face:hover{transform:translateY(-6px) rotate(-2deg)}
.face .d{width:62px;height:62px;border-radius:16px;display:grid;place-items:center;font:400 38px/1 "Lilita One",sans-serif;color:#1e3b2c;background:radial-gradient(circle at 30% 25%,#fffaf0,#efe4cc 60%,#d9c9a6);border:3px solid var(--ink-red)}
.face .d.a{color:#e5372b}
.face h3{font-size:22px;color:var(--crimson)}
.face p{color:#5C1418}
.note{margin-top:26px;padding:20px 22px;border-radius:22px;background:var(--peach);border:3px solid var(--ink-red);color:var(--ink-red);font-size:17px;max-width:80ch}
.modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:18px}
.mode{padding:24px;border-radius:22px;background:var(--deep);border:3px solid #000;box-shadow:0 8px 0 #000;display:flex;flex-direction:column;gap:10px;transition:border-color .25s,box-shadow .25s}
.mode:hover{border-color:var(--gold);box-shadow:0 8px 0 #000,0 0 30px rgba(255,194,61,.35)}
.mode h3{font-size:22px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.mode .soon{font:700 11px/1 var(--f-ui);letter-spacing:.06em;text-transform:uppercase;padding:6px 8px;border-radius:999px;background:var(--peach);color:var(--ink-red)}
.mode p{color:var(--peach)}
.shots{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:12px 6px 26px;scrollbar-width:thin;scrollbar-color:var(--rule) transparent}
.shot{flex:0 0 clamp(190px,20vw,230px);scroll-snap-align:start;margin:0;padding:8px 8px 0;border-radius:22px;background:var(--panel-2);border:3px solid #000;box-shadow:0 8px 0 #000;transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.shot:nth-child(odd){transform:rotate(-2deg)}.shot:nth-child(even){transform:rotate(2deg)}
.shot:hover{transform:translateY(-8px) rotate(0)}
.shot img{display:block;width:100%;aspect-ratio:390/844;max-width:100%;object-fit:cover;border-radius:15px}
.shot figcaption{font:700 14px/1.15 var(--f-ui);padding:10px 4px 12px;color:var(--cream)}
.cal-wrap{overflow-x:auto;border-radius:22px;border:2px solid var(--rule);background:var(--panel);padding:20px;box-shadow:0 8px 0 #000}
.cal{display:block;width:100%;min-width:640px;height:auto}
.cal .tick{stroke:var(--rule);stroke-width:1}
.cal .tick-l{fill:var(--muted);font:500 12px var(--f-mono)}
.cal .row-l{fill:var(--text);font:600 14px var(--f-body)}
.cal .row-s{fill:var(--muted);font:500 11.5px var(--f-mono)}
.cal .today{stroke:var(--gold);stroke-width:2;stroke-dasharray:4 4}
.cal .today-l{fill:var(--gold);font:500 12px var(--f-mono)}
.counts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:18px;margin-top:30px}
.count{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:50%;aspect-ratio:1;max-width:200px;width:100%;justify-self:center;background:var(--gold);border:3px solid #000;box-shadow:0 8px 0 var(--crimson),0 0 40px -10px rgba(255,194,61,.6);color:var(--ink-red);text-align:center}
.count b{font:400 clamp(40px,4.6vw,58px)/1 var(--f-display);font-variant-numeric:tabular-nums}
.count span{font:600 16px/1.1 var(--f-ui)}

.studio-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:40px;align-items:start}
.prose{display:flex;flex-direction:column;gap:18px;font-size:18px;max-width:62ch;color:var(--cream)}
.prose p:first-child{font:600 clamp(21px,2.2vw,26px)/1.35 var(--f-ui);color:var(--text)}
.contact{padding:28px;border-radius:26px;background:#fff;color:var(--ink-red);border:4px solid #000;box-shadow:0 10px 0 #000;display:flex;flex-direction:column;gap:14px;transform:rotate(1.5deg)}
.contact .eyebrow{color:#9A2A30;margin:0}
.email{font:700 20px var(--f-ui);color:var(--crimson);user-select:all;word-break:break-all}
.kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 16px;margin:0}
.kv dt{font:500 12px/1.7 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:#8A3A3E}
.kv dd{margin:0}
@media (max-width:880px){.studio-grid{grid-template-columns:1fr}.contact{transform:none}}

/* ---------- footer ---------- */
.ftr{border-top:3px solid #000;padding-block:48px calc(36px + env(safe-area-inset-bottom,0px));overflow:hidden}
.giant{font:400 clamp(46px,11.6vw,170px)/.9 var(--f-display);white-space:nowrap;color:var(--crimson);text-shadow:0 0 30px rgba(227,34,44,.45);user-select:none}
.giant .ch{transition:transform .3s cubic-bezier(.3,1.8,.5,1),color .2s,text-shadow .2s}
.giant .ch:hover{transform:translateY(-14%) scaleY(1.08);color:var(--gold);text-shadow:0 0 30px rgba(255,194,61,.6)}
.ftr-row{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;justify-content:space-between;margin-top:26px}
.ftr nav{display:flex;gap:20px;flex-wrap:wrap}
.ftr nav a{font:600 17px var(--f-ui);text-decoration:none;color:var(--muted)}
.ftr nav a:hover{color:var(--gold)}

/* ---------- spark iris + trailer ---------- */
.iris{position:fixed;inset:0;z-index:90;visibility:hidden;background:var(--crimson);display:grid;place-items:center;pointer-events:none}
.iris-in{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:16px;padding-inline:16px;text-align:center}
.iris-in svg{width:min(210px,48vw);--mk:var(--ink);--hole:var(--crimson);transform-origin:50% 100%}
.iris-sub{font:500 13px var(--f-mono);letter-spacing:.24em;color:var(--spark)}
.iris-label{font-family:var(--f-display);font-size:clamp(28px,5vw,50px);color:var(--cream)}
.iris-bar{width:min(300px,60vw);height:8px;border-radius:8px;background:rgba(0,0,0,.35);overflow:hidden}
.iris-bar i{display:block;height:100%;background:var(--gold);transform-origin:0 50%;transform:scaleX(0)}
.zap{position:fixed;z-index:91;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:#FFF4EE;box-shadow:0 0 16px 6px #FF3B30,0 0 4px 2px #fff;pointer-events:none;visibility:hidden}
.modal{position:fixed;inset:0;z-index:95;display:grid;place-items:center;background:rgba(6,3,4,.92);padding:calc(16px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) calc(16px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
.modal-box{width:min(1080px,100%);display:flex;flex-direction:column;gap:16px;align-items:flex-end}
.modal video{width:100%;aspect-ratio:16/9;max-width:100%;border-radius:22px;background:#000;border:3px solid #000;box-shadow:0 0 0 2px var(--hot),0 0 80px rgba(227,34,44,.35)}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%,30px) scale(.8);opacity:0;z-index:96;background:var(--gold);color:var(--ink-red);font:700 16px var(--f-ui);padding:14px 20px;border-radius:999px;border:3px solid #000;box-shadow:0 5px 0 var(--crimson);transition:opacity .2s,transform .35s cubic-bezier(.3,1.6,.5,1);pointer-events:none}
.toast.show{opacity:1;transform:translate(-50%,0) scale(1)}

@media (prefers-reduced-motion: reduce){
  .mq-in,.mq-in .ch,.sticker i{animation:none!important}
  .gcard,.face,.btn,.pip,.giant .ch,.shot,.tcard{transition:none}
}
.page{overflow-x:clip}

/* ---------- document pages (privacy, support) ---------- */
.doc{background:var(--ink);color:var(--text)}
.doc-top{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(10,6,7,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--rule)}
.doc-top-in{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;min-height:64px;flex-wrap:wrap;padding-block:8px}
.doc-brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--f-display);font-size:18px;color:var(--text)}
.doc-brand svg{width:50px;height:auto;--mk:var(--crimson);--hole:var(--ink);filter:drop-shadow(0 0 8px rgba(255,50,50,.3))}
.doc-nav{display:flex;gap:2px;flex-wrap:wrap}
.doc-nav a{padding:10px 12px;border-radius:999px;font:600 16px/1 var(--f-ui);text-decoration:none;color:var(--muted)}
.doc-nav a:hover{color:var(--text);background:var(--panel-2)}
.doc-hero{position:relative;overflow:hidden;background:var(--crimson);color:var(--cream);border-bottom:4px solid #000}
.doc-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 90% at 85% 40%,var(--red-hi),transparent 70%);pointer-events:none}
.doc-hero-in{position:relative;z-index:1;display:flex;flex-direction:column;gap:14px;padding-block:clamp(40px,7vw,80px) clamp(32px,5vw,56px)}
.doc-eyebrow{font:500 13px/1 var(--f-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--peach)}
.doc-hero h1{font-size:clamp(44px,9vw,104px);color:var(--cream);text-shadow:0 .07em 0 var(--ink-red)}
.doc-meta{font:600 18px/1.3 var(--f-ui);color:var(--peach)}
.doc-hero-mark{position:absolute;right:-40px;bottom:-30px;width:clamp(200px,34vw,460px);--mk:rgba(255,240,230,.10);--hole:var(--crimson);transform:rotate(-10deg);pointer-events:none}
.doc-jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.doc-jump a{font:700 14px/1 var(--f-ui);text-decoration:none;color:var(--ink-red);background:var(--cream);border:2.5px solid #000;border-radius:999px;padding:10px 14px;box-shadow:0 4px 0 #000;transition:transform .12s,box-shadow .12s}
.doc-jump a:hover{background:var(--gold)}
.doc-jump a:active{transform:translateY(3px);box-shadow:0 1px 0 #000}
.doc-paper{background:var(--cream);color:#2A0A0D}
.doc-body{max-width:820px;padding-block:clamp(36px,6vw,64px) clamp(56px,8vw,96px);font:400 17.5px/1.7 var(--f-body)}
.doc-body > *{max-width:72ch}
.doc-body p,.doc-body li{color:#2A0A0D;margin:0 0 14px}
.doc-body ul{padding-left:22px;margin:0 0 16px}
.doc-body h2{font:700 clamp(24px,3vw,30px)/1.2 var(--f-ui);color:var(--crimson);margin:44px 0 12px;padding-top:22px;border-top:3px dashed rgba(150,7,13,.25);scroll-margin-top:96px}
.doc-body h3{font:700 20px/1.3 var(--f-ui);color:var(--ink-red);margin:26px 0 8px;scroll-margin-top:96px}
.doc-body a{color:var(--crimson);text-decoration-thickness:2px;text-underline-offset:3px;overflow-wrap:anywhere}
.doc-body a:hover{color:var(--ink-red)}
.doc-body strong{color:var(--ink-red)}
.doc-body table{width:100%;border-collapse:collapse;margin:8px 0 18px;font-size:16px;background:#fff;border:3px solid #000;border-radius:16px;overflow:hidden;box-shadow:0 6px 0 #000}
.doc-body th,.doc-body td{text-align:left;padding:10px 14px;border-bottom:1px solid rgba(58,3,6,.15);vertical-align:top}
.doc-body th{font:700 14px/1.3 var(--f-ui);text-transform:uppercase;letter-spacing:.05em;color:var(--crimson);background:#FFF7F1}
.doc-body tr:last-child td{border-bottom:0}
#the-short-version + ul,.doc-card{background:#fff;border:3px solid #000;border-radius:22px;box-shadow:0 8px 0 #000;padding:18px 22px 6px 40px}
.doc-card{padding:20px 24px 8px}
.doc-card h2{margin-top:0;padding-top:0;border-top:0}
#delete-your-data{scroll-margin-top:96px}
.doc-lead{font:600 clamp(19px,2vw,22px)/1.45 var(--f-ui)!important}
.doc-sign{margin-top:36px!important;color:#6B2A2E!important;font-size:15px}
.doc-foot{background:var(--ink);border-top:3px solid #000}
.doc-foot-in{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;justify-content:space-between;padding-block:32px calc(32px + env(safe-area-inset-bottom,0px))}
.doc-foot nav{display:flex;gap:18px;flex-wrap:wrap}
.doc-foot a{color:var(--muted);text-decoration:none;font:600 16px var(--f-ui)}
.doc-foot a:hover{color:var(--gold)}
.doc-foot p{font-size:14px;color:var(--muted)}
.doc-foot p a{font:inherit;color:var(--peach)}
@media (max-width:600px){.doc-top{position:static}.doc-body h2,.doc-body h3,#delete-your-data{scroll-margin-top:20px}.doc-nav a{padding:9px 9px;font-size:15px}.doc-brand span{font-size:16px}#the-short-version + ul{padding-left:34px}}
