@font-face{font-family:'Oswald';src:url('fonts/oswald-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Oswald';src:url('fonts/oswald-500.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Oswald';src:url('fonts/oswald-600.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Oswald';src:url('fonts/oswald-700.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Roboto Condensed';src:url('fonts/robotoc-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Roboto Condensed';src:url('fonts/robotoc-400i.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Roboto Condensed';src:url('fonts/robotoc-700.woff2') format('woff2');font-weight:700;font-display:swap}
/* OFF THE COUCH GAMES — D11 design system (production) */

@font-face{font-family:'TT2020';src:url('fonts/tt2020-400.woff2') format('woff2');font-display:swap}
@font-face{font-family:'Special Elite';src:url('fonts/se-neon.woff2') format('woff2');font-display:swap}
@font-face{font-family:'Courier Prime';src:url('fonts/cp-neon.woff2') format('woff2');font-display:swap}
@font-face{font-family:'CraySheila';src:url('fonts/crayon-sheila.woff2') format('woff2');font-display:swap}
@font-face{font-family:'CrayLibre';src:url('fonts/crayon-libre.woff2') format('woff2');font-display:swap}
@font-face{font-family:'CrayPop';src:url('fonts/crayon-pop.woff2') format('woff2');font-display:swap}

*{margin:0;padding:0;box-sizing:border-box}
:root{--bg:#060C0E;--panel:#0A1418;--paper:#EAE4D3;--phos:#3FE8CF;--teal:#17B9A4;--purple:#8B5CFF;--pdeep:#4C1FD1;--ghost:#9F86E8;
  --fg:#EDF7F4;--mut:#A9C4BD;--line:rgba(63,232,207,.16)}
html{font-size:18px;scroll-behavior:smooth}
body{background:var(--bg);color:var(--fg);font-family:'Roboto Condensed',sans-serif;font-size:18px;line-height:1.7;cursor:auto;overflow-x:hidden}

a{color:var(--phos);text-decoration:none;cursor:auto}
button{cursor:auto;font-family:inherit}
.tt{font-family:'TT2020',monospace;font-size:21px;-webkit-text-stroke:.35px currentColor;letter-spacing:.04em}
.eb{font-weight:800;font-size:19px;letter-spacing:.24em;text-transform:uppercase;color:var(--phos)}
#flash{position:fixed;width:580px;height:580px;border-radius:50%;pointer-events:none;z-index:80;transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(255,255,255,.08) 0%,rgba(63,232,207,.03) 42%,transparent 70%);mix-blend-mode:screen}
#flashdot{position:fixed;width:8px;height:8px;border-radius:50%;background:#fff;pointer-events:none;z-index:999;transform:translate(-50%,-50%);box-shadow:0 0 12px rgba(255,255,255,.85)}
.rv{opacity:0;transform:translateY(22px);transition:opacity .85s ease,transform .85s ease}
.rv.in{opacity:1;transform:none}
.hidden-ink{color:rgba(237,247,244,.045);font-family:'TT2020',monospace;font-size:19px;letter-spacing:.2em;user-select:none}

nav{position:fixed;top:0;left:0;right:0;z-index:95;display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;
  padding:16px 56px;background:linear-gradient(180deg,rgba(6,12,14,.95),rgba(6,12,14,.5) 70%,transparent)}
nav .wm{height:48px;width:auto;display:block;flex:0 0 auto;object-fit:contain}
nav ul{display:flex;gap:32px;list-style:none;flex-wrap:nowrap;min-width:0}
nav a{color:var(--fg);font-size:18px;font-weight:600;white-space:nowrap}
.book{background:var(--phos);color:#03110D;font-weight:800;font-size:18px;padding:13px 28px;border-radius:2px;box-shadow:0 0 20px rgba(63,232,207,.25)}

.hero{min-height:100vh;position:relative;display:flex;align-items:flex-end;overflow:hidden}
.hero-bg{position:absolute;inset:-12% 0;background:url('hero-night.jpg') center 38%/cover;filter:saturate(1.08) contrast(1.03) brightness(.95);will-change:transform}
.hero-grade{position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(6,12,14,.55) 0%,transparent 26%,transparent 58%,rgba(6,12,14,.92) 100%),
  linear-gradient(100deg,rgba(6,12,14,.6) 0%,transparent 46%),
  radial-gradient(ellipse at center,transparent 55%,rgba(4,8,10,.42) 100%)}
.hero-in{position:relative;z-index:2;padding:0 56px 80px;max-width:1020px}
.hero .eb{display:block;margin-bottom:20px;color:#FFFFFF;text-shadow:0 2px 14px rgba(0,0,0,.8)}
h1{font-weight:800;font-size:clamp(58px,7.2vw,116px);line-height:1.0;letter-spacing:-.015em;margin-bottom:18px;
  background:linear-gradient(180deg,#FFFFFF 34%,#8FEFDD 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 10px 30px rgba(0,0,0,.75)) drop-shadow(0 2px 8px rgba(0,0,0,.6))}
.hero-subhead{display:block;font-weight:800;font-size:clamp(26px,2.6vw,38px);letter-spacing:-.005em;color:#8FEFDD;margin-bottom:20px;text-shadow:0 3px 16px rgba(0,0,0,.8)}
.hero p.premise{max-width:640px;color:#fff;margin-bottom:34px;text-shadow:0 3px 18px rgba(0,0,0,.9),0 1px 4px rgba(0,0,0,.7)}
.ctas{display:flex;gap:16px;flex-wrap:wrap}
.btn2{border:1px solid rgba(237,247,244,.5);color:#fff;font-weight:600;font-size:18px;padding:13px 28px;border-radius:2px;background:rgba(6,12,14,.35);backdrop-filter:blur(3px)}
.cipher-stack{position:absolute;right:56px;top:34%;z-index:2;display:flex;flex-direction:column;gap:8px;text-align:right}
.lights{position:absolute;bottom:32px;right:56px;z-index:2;color:var(--phos);animation:flick 2.5s 2;text-shadow:0 2px 10px rgba(0,0,0,.8);transition:opacity .8s ease}
@keyframes flick{0%,93%,100%{opacity:1}94%{opacity:.3}95.5%{opacity:.85}97%{opacity:.35}98%{opacity:1}}

.trust{background:var(--panel);border-bottom:1px solid var(--line)}
.trust-inner{display:flex;justify-content:space-around;flex-wrap:wrap;gap:24px;padding:32px 56px;max-width:1400px;margin:0 auto}
.trust-item{text-align:center;min-width:200px}
.trust-val{font-weight:800;font-size:26px;color:#fff;margin-bottom:6px;text-shadow:0 0 18px rgba(255,255,255,.45),0 0 40px rgba(255,255,255,.18)}
.trust-val.t{color:var(--phos);text-shadow:0 0 18px rgba(63,232,207,.75),0 0 44px rgba(63,232,207,.35)}
.trust-val.p{color:#AE5CFF;text-shadow:0 0 18px rgba(174,92,255,.9),0 0 44px rgba(174,92,255,.5)}
.trust-lbl{font-size:18px;color:var(--mut)}

.banner{background:linear-gradient(100deg,#3FFFE0 0%,#17B9A4 45%,#7B4DFF 100%);
  display:flex;align-items:center;justify-content:center;gap:30px;padding:24px 56px;flex-wrap:wrap;position:relative;z-index:2}
.banner p{font-weight:800;font-size:20px;letter-spacing:.08em;text-transform:uppercase;color:#FFFFFF;text-shadow:0 2px 10px rgba(10,10,30,.35)}
.banner a{color:#FFFFFF;font-weight:800;font-size:18px;letter-spacing:.06em;text-transform:uppercase;border-bottom:2px solid rgba(255,255,255,.85);text-shadow:0 2px 10px rgba(10,10,30,.35)}

.map-head{padding:72px 56px 40px;text-align:center;
  background:radial-gradient(900px 500px at 50% -10%,rgba(63,232,207,.06),transparent 60%)}
.map-pill{display:inline-block;border:1px solid var(--line);background:rgba(10,20,24,.8);padding:10px 26px;margin-bottom:26px}
.map-pill span{font-weight:800;font-size:18px;letter-spacing:.26em;text-transform:uppercase;color:var(--phos)}
.map-head h2{font-weight:800;font-size:clamp(52px,6vw,100px);line-height:1.0;letter-spacing:-.015em;color:#fff;margin-bottom:24px;text-shadow:none}
.map-head p{max-width:720px;margin:0 auto;color:var(--mut)}

.mapmenu{position:relative}
.map-stage{position:relative;height:720px;overflow:hidden;background:#B9BDB4}
.map-pan{position:absolute;top:0;left:0;width:3000px;height:1560px;will-change:transform}
.map-pan img.mapart{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:saturate(.55) brightness(1.02) sepia(.12)}
.map-pan.whip{filter:blur(3px) brightness(1.08)}
.map-wash{position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(180deg,rgba(6,12,14,.55),transparent 22%,transparent 72%,rgba(6,12,14,.6)),
  radial-gradient(ellipse at center,transparent 40%,rgba(20,10,40,.35) 100%),
  linear-gradient(115deg,rgba(23,185,164,.14),rgba(123,77,255,.16))}
.map-pin{position:absolute;width:20px;height:20px;transform:translate(-50%,-50%);z-index:2}
.map-pin .core{position:absolute;inset:3px;border-radius:50%;background:var(--purple);box-shadow:0 0 16px rgba(139,92,255,.95)}
.map-pin .ring{position:absolute;inset:-12px;border-radius:50%;border:2.5px solid rgba(139,92,255,.6);animation:ring 2.6s ease-out infinite}
.map-pin.active .core{background:#fff;box-shadow:0 0 20px rgba(255,255,255,1),0 0 40px rgba(139,92,255,.9)}
@keyframes ring{0%{transform:scale(.5);opacity:1}100%{transform:scale(1.7);opacity:0}}
.stage-grid{position:absolute;inset:0;z-index:5;display:grid;grid-template-columns:minmax(380px,560px) 1fr;align-items:center;
  padding:70px 64px;gap:40px;transition:opacity .3s ease}
.stage-grid.fade-out{opacity:0}
.chapter-card{position:relative;background:rgba(7,14,17,.9);backdrop-filter:blur(6px);border:1px solid var(--line);padding:44px 150px 46px 44px}
.numeral{position:absolute;top:-56px;right:14px;z-index:9;pointer-events:none;font-weight:800;font-size:150px;line-height:1;letter-spacing:.1em;
  background:linear-gradient(180deg,#1E0A52 0%,#5B2BD6 55%,#9F86E8 115%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  -webkit-text-stroke:2.5px var(--pdeep);
  filter:none;
  user-select:none}
.st-eyebrow{font-weight:800;font-size:19px;letter-spacing:.22em;text-transform:uppercase;color:var(--phos);margin-bottom:14px}
.st-title{font-weight:800;font-size:clamp(44px,4.2vw,68px);line-height:1;letter-spacing:-.01em;margin-bottom:14px;
  background:linear-gradient(180deg,#FFFFFF 30%,#9FB6B1 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:none}
.st-meta{font-weight:600;font-size:19px;letter-spacing:.04em;color:var(--phos);margin-bottom:18px}
.st-body{color:var(--mut);margin-bottom:28px}
.st-ctas{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.case-link{font-weight:800;font-size:18px;letter-spacing:.06em;text-transform:uppercase;color:var(--phos);border-bottom:2px solid var(--phos);padding-bottom:3px}
.stage-pol{position:relative;justify-self:center;transform:rotate(3deg);transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
.stage-pol:hover{transform:rotate(1deg) scale(1.02)}
.stage-pol img{width:min(440px,36vw);display:block;box-shadow:0 30px 70px rgba(0,0,0,.55)}
.stage-pol .tape{position:absolute;top:-14px;left:50%;transform:translateX(-50%) rotate(-3deg);width:110px;height:28px;background:rgba(255,255,255,.35);z-index:2}
.map-controls{position:absolute;left:50%;bottom:34px;transform:translateX(-50%);z-index:6;display:flex;align-items:center;gap:24px}
.arrow-btn{width:56px;height:56px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(6,12,14,.72);color:#fff;font-size:22px;display:flex;align-items:center;justify-content:center;transition:background .25s,border-color .25s}
.arrow-btn:hover{background:var(--phos);color:#03110D;border-color:var(--phos)}
.num-tabs{display:flex;gap:26px}
.num-tab{background:none;border:none;font-weight:800;font-size:30px;letter-spacing:.08em;color:rgba(255,255,255,.62);transition:color .25s,text-shadow .25s;text-shadow:0 2px 8px rgba(0,0,0,.8)}
.num-tab.active{color:#B9A3FF;text-shadow:0 0 18px rgba(139,92,255,1),0 0 44px rgba(139,92,255,.65)}
.map-cipher{position:absolute;right:40px;top:46%;z-index:4}

.video{padding:34px 56px 80px;background:var(--panel);text-align:center}
.video h2{font-weight:800;font-size:clamp(40px,4.6vw,72px);letter-spacing:-.015em;color:#fff;margin-bottom:14px;text-shadow:none}
.video p{color:var(--mut);max-width:560px;margin:0 auto 40px}
.tv{max-width:920px;margin:0 auto;aspect-ratio:16/9;border:1px solid var(--line);background:
  radial-gradient(ellipse at center,rgba(63,232,207,.08),rgba(4,9,11,.9) 75%);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}

.tv .play{width:84px;height:84px;border-radius:50%;background:var(--phos);color:#03110D;font-size:30px;display:flex;align-items:center;justify-content:center;box-shadow:0 0 34px rgba(63,232,207,.5);position:relative;z-index:2}

.reviews{padding:80px 56px;background:var(--bg)}
.reviews-in{max-width:1400px;margin:0 auto}
.reviews .eb{display:block;margin-bottom:16px}
.reviews h2{font-weight:800;font-size:clamp(38px,4.4vw,64px);line-height:1.1;color:#fff;margin-bottom:38px;letter-spacing:-.01em;text-shadow:none}
.rev-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
.rev-card{background:var(--panel);border:1px solid var(--line);padding:36px 32px}
.rev-stars{color:var(--phos);font-size:19px;letter-spacing:.22em;margin-bottom:14px;text-shadow:0 0 12px rgba(63,232,207,.5)}
.rev-meta{font-size:18px;color:var(--mut);margin-bottom:20px}
.rev-quote{font-weight:800;font-size:23px;line-height:1.4;color:#fff;margin-bottom:18px;letter-spacing:-.005em}
.rev-body{font-size:18px;color:var(--mut);margin-bottom:22px}
.rev-name{font-weight:800;font-size:18px;letter-spacing:.18em;text-transform:uppercase;color:var(--ghost)}

/* FIND US */
.findus{padding:80px 56px;background:var(--panel);border-top:1px solid var(--line)}
.findus-in{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.findus .eb{display:block;margin-bottom:16px}
.findus h2{font-weight:800;font-size:clamp(40px,4.6vw,72px);letter-spacing:-.015em;color:#fff;margin-bottom:30px}
.fi-line{font-size:19px;color:var(--fg);margin-bottom:10px}
.fi-line .street{font-weight:800;color:#fff}
.fi-line.mut{color:var(--mut)}
.fi-line a{color:var(--phos)}
.hours{margin-top:34px}
.hrow{display:flex;justify-content:space-between;gap:18px;padding:16px 0;border-bottom:1px solid rgba(237,247,244,.1)}
.hrow .d{font-weight:600;color:#fff;font-size:19px}
.hrow .t{color:var(--mut);font-size:19px}
.gmap{border:1px solid var(--line);border-radius:4px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.5)}
.gmap iframe{display:block;width:100%;height:520px;border:0;filter:saturate(.92)}

.final{padding:96px 56px;text-align:center;position:relative;overflow:hidden;
  background:linear-gradient(180deg,var(--bg),#070A14 60%,#0B0820)}
.final::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.5;
  background:radial-gradient(1.5px 1.5px at 18% 30%,rgba(255,255,255,.5),transparent),
  radial-gradient(1px 1px at 40% 70%,rgba(255,255,255,.3),transparent),
  radial-gradient(1.5px 1.5px at 66% 22%,rgba(255,255,255,.4),transparent),
  radial-gradient(1px 1px at 84% 60%,rgba(255,255,255,.35),transparent)}
.final h2{font-weight:800;font-size:clamp(48px,6vw,96px);line-height:1;letter-spacing:-.015em;color:#fff;margin-bottom:18px;position:relative;
  text-shadow:0 4px 30px rgba(0,0,0,.5)}
.final p{color:var(--mut);margin-bottom:40px;position:relative}
.final .ctas{justify-content:center;position:relative}

.foot{background:#040A0C;padding:60px 56px 40px;border-top:1px solid var(--line)}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;overflow:visible;margin-bottom:44px;max-width:1400px;margin-left:auto;margin-right:auto}
.foot-grid>div{min-width:0}
.foot-h{font-weight:800;font-size:18px;letter-spacing:.22em;text-transform:uppercase;color:var(--ghost);margin-bottom:14px}
.foot-p{font-size:18px;color:var(--mut);line-height:1.9}
.foot-legal{font-size:18px;color:#527069;border-top:1px solid var(--line);padding-top:26px;max-width:1400px;margin:0 auto}
@media(max-width:1100px){.stage-grid{grid-template-columns:1fr;padding:40px 24px 120px;align-content:start;gap:26px}
 .stage-pol img{width:min(380px,72vw)}.map-stage{height:960px}.numeral{top:-40px;right:10px;font-size:96px}
 .chapter-card{padding:36px 26px 38px}
 .findus-in{grid-template-columns:1fr}}
@media(max-width:900px){nav{padding:12px 24px}nav ul{display:none}nav .wm{height:38px}
 .hero-in,.map-head,.video,.reviews,.findus,.final,.foot{padding-left:24px;padding-right:24px}
 .lights,.cipher-stack{right:24px}.trust-inner{padding:36px 24px}}

/* Experiences dropdown (structure from v3 nav, D11 skin) */
.nav-dropdown{position:relative}.nav-dropdown::after{content:'';position:absolute;left:-14px;right:-14px;top:100%;height:24px}
.nav-caret{font-size:18px;opacity:.55;margin-left:2px;display:inline-block;transition:transform .2s}
.nav-dropdown > a:hover .nav-caret{transform:rotate(180deg)}
.nav-dropdown-menu{display:block;opacity:0;visibility:hidden;transition:opacity .16s ease,visibility 0s linear .5s;position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%);width:400px;max-width:calc(100vw - 48px);overflow:hidden;
  background:rgba(7,14,17,.97);backdrop-filter:blur(8px);border:1px solid var(--line);padding:10px;
  box-shadow:0 24px 60px rgba(0,0,0,.65),0 0 30px rgba(63,232,207,.08)}
.nav-dropdown-menu::before{content:'';position:absolute;top:-15px;left:0;right:0;height:15px}
.nav-dropdown > a:hover + .nav-dropdown-menu,.nav-dropdown-menu:hover,.nav-dropdown:focus-within .nav-dropdown-menu{opacity:1;visibility:visible;transition:opacity .16s ease,visibility 0s}
.nav-dropdown-menu::before{content:'';position:absolute;top:-14px;left:0;right:0;height:14px}
.nav-dd-item{display:block;padding:13px 14px;white-space:normal;border-bottom:1px solid rgba(63,232,207,.1);transition:background .15s,box-shadow .15s}
.nav-dd-item:last-child{border-bottom:none}
a.nav-dd-item:hover{background:rgba(63,232,207,.08);box-shadow:inset 2px 0 0 var(--phos)}
.nav-dd-name{display:block;font-weight:800;font-size:18px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg);margin-bottom:2px}
.nav-dd-desc{display:block;font-family:'Roboto Condensed',sans-serif;font-weight:400;font-size:18px;color:var(--mut);line-height:1.5;overflow-wrap:break-word}
.nav-dd-soon{opacity:.45;cursor:default}
.nav-dd-soon .nav-dd-name{color:#ff2bd6;text-shadow:0 0 10px rgba(255,43,214,.4)}
@media(max-width:900px){.nav-dropdown-menu{display:none !important}}

/* PURGATORY neon, 1:1 from Jo's build (Rule 10: fonts swapped to compliant stack) */
.neon-belt{padding:32px 24px 36px;text-align:center;background:var(--bg)}
.neon-sign{display:inline-block;padding:2.5rem 3.5rem;border:3px solid #ff2bd6;border-radius:12px;background:rgba(0,0,0,.6);box-shadow:0 0 20px rgba(255,43,214,.6),0 0 40px rgba(255,43,214,.4),inset 0 0 20px rgba(255,43,214,.15);animation:neon-flicker 4s infinite}
.neon-title{font-family:'Special Elite',serif;font-size:clamp(3rem,8vw,6rem);line-height:1;margin:0;color:#fff;text-shadow:0 0 6px #fff,0 0 14px #ff2bd6,0 0 28px #ff2bd6,0 0 56px #b3128a;letter-spacing:.08em}
.neon-sub{display:block;margin-top:.75rem;font-family:'Oswald',sans-serif;font-size:clamp(1rem,2vw,1.4rem);letter-spacing:.4em;color:#2aada6;text-shadow:0 0 8px rgba(42,173,166,.8)}
.neon-kicker{font-family:'Courier Prime',monospace;font-size:18px;letter-spacing:.3em;text-transform:uppercase;color:#2aada6;margin-bottom:1.5rem}
@keyframes neon-flicker{0%,19%,21.5%,24%,54%,56%,100%{opacity:1}20%,22.5%,55%{opacity:.78}}
@media(prefers-reduced-motion:reduce){.neon-sign{animation:none}}

/* Polaroid flip */
.stage-pol{perspective:1300px;cursor:pointer}
.pol-inner{position:relative;transition:transform .75s cubic-bezier(.34,1.56,.64,1);transform-style:preserve-3d}
.stage-pol.flipped .pol-inner{transform:rotateY(180deg)}
.pol-front{position:relative;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.pol-back{position:absolute;inset:0;transform:rotateY(180deg);backface-visibility:hidden;-webkit-backface-visibility:hidden;
  background:linear-gradient(160deg,#F1EBDC,#E4DCC8);box-shadow:0 30px 70px rgba(0,0,0,.55);
  padding:26px 26px 20px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.pol-hand{font-family:'TT2020',sans-serif;font-weight:700;font-size:23px;line-height:1.5;color:#26333C}
.pol-scratch-stage{position:relative;flex:1}
.pol-scratch{position:absolute;color:#C4231F;line-height:1;white-space:nowrap;opacity:.95}.pol-scratch.f0{font-family:'CraySheila',sans-serif}.pol-scratch.f1{font-family:'CrayLibre',sans-serif}.pol-scratch.f2{font-family:'CrayPop',sans-serif}
.pol-poi{font-family:'TT2020',monospace;font-size:18px;font-weight:400;letter-spacing:.02em;color:#4E5D66;margin-top:16px}
.pol-redact{display:inline-block;background:#101314;height:15px;border-radius:1px;vertical-align:middle;margin:0 4px 2px 2px}

/* Info button + excerpt overlay */
.info-btn{width:52px;height:52px;border-radius:50%;border:1px solid rgba(237,247,244,.5);background:rgba(6,12,14,.35);backdrop-filter:blur(3px);color:#fff;display:inline-flex;align-items:center;justify-content:center;transition:border-color .2s,box-shadow .2s,background .2s;align-self:center}
.info-btn:hover{border-color:var(--phos);box-shadow:0 0 18px rgba(63,232,207,.35);background:rgba(63,232,207,.1)}
.info-i{font-weight:800;font-size:22px;font-style:normal;line-height:1;color:var(--phos)}
.info-overlay{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;background:rgba(3,8,10,.82);backdrop-filter:blur(8px);padding:28px}
.info-overlay.open{display:flex}
.info-modal{position:relative;width:100%;max-height:88vh;display:flex;flex-direction:column;background:#02100D;border:1px solid rgba(63,232,207,.55);border-radius:6px;box-shadow:0 40px 100px rgba(0,0,0,.75),0 0 46px rgba(63,232,207,.22),inset 0 0 90px rgba(63,232,207,.05);overflow:hidden}

.term-bar{display:flex;align-items:center;justify-content:space-between;background:var(--phos);padding:8px 14px;position:relative;z-index:2}
.term-title{font-family:'TT2020',monospace;font-size:18px;letter-spacing:.12em;color:#03110D;font-weight:400}
.term-body{padding:26px 38px 24px;overflow:auto;position:relative}
.term-line{font-family:'TT2020',monospace;font-size:18px;letter-spacing:.05em;margin-bottom:14px}
.term-dim{color:rgba(63,232,207,.55)}
.info-header{font-family:'TT2020',monospace;font-weight:400;font-size:clamp(24px,2.8vw,36px);line-height:1.2;letter-spacing:.06em;color:#C9FFF3;margin-bottom:10px;text-shadow:0 0 8px rgba(63,232,207,.75),0 0 26px rgba(63,232,207,.35)}
.info-subtext{font-family:'TT2020',monospace;font-size:19px;letter-spacing:.05em;color:var(--phos);text-shadow:0 0 8px rgba(63,232,207,.5);margin-bottom:20px}
.info-p{font-family:'TT2020',monospace;font-size:19px;color:#8EE8D8;margin-bottom:16px;line-height:1.68;letter-spacing:.02em;text-shadow:0 0 6px rgba(63,232,207,.3)}
.term-cursor{display:inline-block;width:11px;height:20px;background:var(--phos);vertical-align:text-bottom;animation:termblink 1.05s steps(1) infinite;box-shadow:0 0 8px rgba(63,232,207,.8)}
@keyframes termblink{0%,49%{opacity:1}50%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.term-cursor{animation:none}}
.info-close{border:0;background:none;font-family:'TT2020',monospace;font-size:18px;color:#03110D;letter-spacing:.06em;padding:2px 4px}
.info-close:hover{background:rgba(3,17,13,.18)}
@media(max-width:640px){.term-body{padding:26px 18px 22px}}

/* CRT monitor shell */
.crt-shell{position:relative;width:min(940px,96vw);border-radius:22px;padding:30px 30px 0;
  background:linear-gradient(165deg,#E3DCC8 0%,#D3CBB4 45%,#BFB69E 100%);
  box-shadow:0 50px 120px rgba(0,0,0,.8),inset 0 2px 0 rgba(255,255,255,.55),inset 0 -3px 8px rgba(0,0,0,.28),inset 3px 0 6px rgba(255,255,255,.18),inset -3px 0 6px rgba(0,0,0,.12)}
.crt-shell .info-modal{border-radius:14px;border:1px solid #14201D;
  box-shadow:inset 0 0 0 6px #1A2320,inset 0 0 34px rgba(0,0,0,.9),0 0 26px rgba(63,232,207,.16);
  background:#02100D;max-height:calc(94vh - 118px)}
.crt-shell .info-modal::after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:14px;
  background:radial-gradient(120% 60% at 50% -8%,rgba(255,255,255,.09) 0%,transparent 42%)}
.crt-chin{display:flex;align-items:center;justify-content:space-between;padding:16px 8px 18px}
.crt-brand{font-family:'TT2020',monospace;font-size:18px;letter-spacing:.14em;color:#6B6350;text-shadow:0 1px 0 rgba(255,255,255,.5)}
.crt-controls{display:flex;align-items:center;gap:12px}
.crt-knob{width:15px;height:15px;border-radius:50%;background:radial-gradient(circle at 34% 30%,#CFC7B0,#8F8672 68%);box-shadow:inset 0 -1px 2px rgba(0,0,0,.4),0 1px 0 rgba(255,255,255,.5)}
.crt-led{width:9px;height:9px;border-radius:50%;background:#3FE8CF;box-shadow:0 0 8px rgba(63,232,207,.95),0 0 18px rgba(63,232,207,.55);animation:ledpulse 2.4s ease-in-out infinite}
@keyframes ledpulse{0%,100%{opacity:1}50%{opacity:.55}}
@media(prefers-reduced-motion:reduce){.crt-led{animation:none}}
@media(max-width:640px){.crt-shell{padding:16px 16px 0;border-radius:16px}.crt-chin{padding:12px 4px 14px}}

#term-typed{font-family:'TT2020',monospace;font-size:18px;letter-spacing:.05em;color:#C9FFF3;text-shadow:0 0 8px rgba(63,232,207,.6)}
#term-err{color:rgba(63,232,207,.75)}

/* Secret sticky note */
.sticky-note{position:absolute;top:64px;right:44px;z-index:8;width:230px;padding:22px 20px 26px;
  background:linear-gradient(172deg,#FFF3A6 0%,#F7E17E 78%,#E8CF64 100%);
  box-shadow:0 14px 34px rgba(0,0,0,.45),0 2px 6px rgba(0,0,0,.3);
  transform:rotate(-4deg) scale(.6) translateY(-14px);opacity:0;pointer-events:none;
  transition:transform .55s cubic-bezier(.34,1.56,.64,1),opacity .4s ease;cursor:pointer}
.sticky-note::before{content:'';position:absolute;top:-9px;left:50%;transform:translateX(-50%) rotate(2deg);width:88px;height:22px;background:rgba(242,237,226,.5);box-shadow:0 1px 3px rgba(0,0,0,.15)}
.sticky-note::after{content:'';position:absolute;right:0;bottom:0;border-style:solid;border-width:0 0 20px 20px;border-color:transparent transparent rgba(0,0,0,.14) transparent}
.sticky-note.show{transform:rotate(-4deg) scale(1) translateY(0);opacity:1;pointer-events:auto}
.sticky-text{font-family:'TT2020',sans-serif;font-weight:700;font-size:21px;line-height:1.4;color:#3A3320}
@media(max-width:900px){.sticky-note{right:16px;top:46px;width:200px}}

/* ===== Experiences page ===== */
.exp-hero{position:relative;padding:180px 56px 48px;text-align:center;overflow:hidden}
.exp-sky{position:fixed;inset:0;z-index:-2;background:url('TealSky.png') center/cover no-repeat;filter:saturate(1.05) brightness(.9)}
.exp-skywash{position:fixed;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(6,12,14,.82) 0%,rgba(6,12,14,.6) 30%,rgba(6,12,14,.72) 100%)}
.exp-hero h1{font-weight:800;font-size:clamp(52px,6.4vw,104px);line-height:1;letter-spacing:-.015em;color:#fff;margin-bottom:20px;text-shadow:0 8px 34px rgba(0,0,0,.7)}
.exp-hero p{max-width:700px;margin:0 auto;color:var(--fg);text-shadow:0 2px 12px rgba(0,0,0,.8)}
.exp-chapter{position:relative;max-width:1400px;margin:0 auto;padding:38px 56px;display:grid;grid-template-columns:minmax(380px,560px) 1fr;gap:56px;align-items:center}
.exp-chapter+.exp-chapter{border-top:1px solid rgba(63,232,207,.14)}
.exp-card{position:relative;background:rgba(5,12,15,.82);backdrop-filter:blur(7px);border:1px solid var(--line);padding:44px 46px}
.exp-card .numeral{position:absolute;top:-52px;right:16px;font-size:130px}
.exp-hook{font-weight:800;font-size:clamp(30px,2.9vw,44px);line-height:1.12;letter-spacing:-.008em;margin:12px 0 14px;background:linear-gradient(180deg,#FFFFFF 30%,#9FB6B1 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
/* polaroid carousel */
.pcar{position:relative;justify-self:center;width:min(480px,40vw)}
.pcar-stack{position:relative;padding-bottom:118%}
.pcar-card{position:absolute;inset:0;background:#F2EDE2;padding:16px 16px 0;box-shadow:0 26px 60px rgba(0,0,0,.55);display:flex;flex-direction:column;transition:transform .55s cubic-bezier(.34,1.56,.64,1),opacity .4s ease}
.pcar-card img{width:100%;flex:1;object-fit:cover;min-height:0;filter:saturate(.9)}
.pcar-cap{font-family:'TT2020',sans-serif;font-weight:700;font-size:20px;color:#2A3A42;text-align:center;padding:14px 6px 16px;line-height:1.3}
.pcar-card.pos0{transform:rotate(2.5deg);z-index:3}
.pcar-card.pos1{transform:rotate(-4deg) translate(-16px,10px) scale(.97);z-index:2;opacity:.9}
.pcar-card.pos2{transform:rotate(6deg) translate(18px,16px) scale(.94);z-index:1;opacity:.8}
.pcar-card.poshide{transform:rotate(0) translateY(26px) scale(.9);opacity:0;z-index:0;pointer-events:none}
.pcar-card.leaving{transform:rotate(-10deg) translate(-130%,-6%);opacity:0;z-index:4}
.pcar-tape{position:absolute;top:-13px;left:50%;transform:translateX(-50%) rotate(-3deg);width:110px;height:26px;background:rgba(255,255,255,.35);z-index:5}
.pcar-nav{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:34px}
.pcar-dots{display:flex;gap:10px}
.pcar-dot{width:10px;height:10px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:transparent;padding:0;transition:background .2s,box-shadow .2s}
.pcar-dot.active{background:var(--phos);box-shadow:0 0 10px rgba(63,232,207,.8);border-color:var(--phos)}
.pcar-count{font-family:'Roboto Condensed',sans-serif;font-weight:600;font-size:18px;color:var(--mut);letter-spacing:.1em;text-align:center;margin-top:14px}
@media(max-width:1100px){.exp-chapter{grid-template-columns:1fr;gap:28px;padding:34px 24px}.pcar{width:min(440px,86vw)}.exp-card .numeral{font-size:90px;top:-38px}.exp-card{padding:34px 26px}.exp-hero{padding:150px 24px 60px}}

.exp-title{font-weight:800;font-size:clamp(40px,4vw,62px);line-height:1.02;letter-spacing:-.012em;margin:12px 0 12px;background:linear-gradient(180deg,#FFFFFF 30%,#9FB6B1 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.exp-chapter.flip .exp-card{order:2}
.exp-chapter.flip .pcar{order:1}

/* mobile nav */
.nav-burger{display:none;width:52px;height:52px;border:1px solid rgba(237,247,244,.4);background:rgba(6,12,14,.5);border-radius:2px;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.nav-burger span{display:block;width:24px;height:2px;background:#fff;transition:transform .25s,opacity .25s}
.mobile-menu{display:none;position:fixed;top:0;left:0;right:0;bottom:0;z-index:94;background:rgba(4,10,12,.98);padding:110px 28px 40px;overflow:auto}
body.nav-open .mobile-menu{display:block}
body.nav-open .nav-burger span:nth-child(1){transform:translateY(8px) rotate(45deg)}
body.nav-open .nav-burger span:nth-child(2){opacity:0}
body.nav-open .nav-burger span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.mobile-menu a{display:block;font-weight:800;font-size:26px;color:#fff;padding:16px 0;border-bottom:1px solid rgba(63,232,207,.14)}
.mobile-menu .mm-sub{font-weight:600;font-size:20px;color:var(--mut);padding:12px 0 12px 22px}
.mobile-menu .mm-soon{color:rgba(255,43,214,.7)}
.mobile-menu .book{display:block;text-align:center;padding:18px 0;margin-top:26px;border-bottom:none}
@media(max-width:900px){nav ul{display:none}.nav-burger{display:flex}}
/* standard page shells */
.page-hero{position:relative;padding:180px 56px 64px;text-align:center}
.page-hero h1{font-weight:800;font-size:clamp(46px,5.6vw,88px);line-height:1.02;letter-spacing:-.015em;color:#fff;margin-bottom:18px;text-shadow:none}
.page-hero p{max-width:720px;margin:0 auto;color:var(--mut)}
.prose{max-width:880px;margin:0 auto;padding:30px 56px 90px}
.prose h2{font-weight:800;font-size:clamp(28px,2.6vw,40px);color:#fff;margin:44px 0 14px}
.prose h3{font-weight:800;font-size:22px;color:var(--phos);margin:28px 0 10px}
.prose p,.prose li{color:var(--mut);margin-bottom:14px;line-height:1.75}
.prose ul{padding-left:24px;margin-bottom:14px}
.prose a{border-bottom:1px solid rgba(63,232,207,.5)}
.prose .eff{font-family:'Roboto Condensed',sans-serif;font-weight:600;font-size:18px;color:var(--ghost);letter-spacing:.06em}
@media(max-width:900px){.page-hero{padding:150px 24px 44px}.prose{padding:20px 24px 70px}}

/* events configurator table (D11) */
.distributor-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.distributor-table{width:100%;max-width:1180px;margin:0 auto;border-collapse:collapse;background:rgba(5,12,15,.7);border:1px solid var(--line)}
.distributor-table th{font-family:'Roboto Condensed',sans-serif;font-weight:800;font-size:18px;letter-spacing:.08em;color:var(--phos);text-align:left;padding:14px 18px;border-bottom:1px solid var(--line);white-space:nowrap}
.distributor-table td{padding:14px 18px;color:var(--mut);border-bottom:1px solid rgba(63,232,207,.08);font-size:18px}
.distributor-table tr:last-child td{border-bottom:none}

/* cookie consent */
.cookie-banner{position:fixed;left:20px;right:20px;bottom:20px;z-index:210;max-width:620px;margin:0 auto;background:rgba(7,15,18,.97);border:1px solid var(--line);padding:22px 24px;transform:translateY(140%);transition:transform .45s ease;box-shadow:0 24px 60px rgba(0,0,0,.6)}
.cookie-banner.show{transform:none}
.cookie-banner p{font-size:18px;color:var(--mut);margin-bottom:16px}
.cookie-banner a{color:var(--phos)}
.cookie-actions{display:flex;gap:14px;flex-wrap:wrap}
.cookie-actions .book,.cookie-actions .btn2{font-size:18px;padding:11px 22px;border-radius:2px}
.cookie-actions button.btn2{background:rgba(6,12,14,.35)}


/* responsive tables everywhere */
@media(max-width:760px){
  .pricing-table,.hours-table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}

/* mobile nav sizing (fixes 390px overflow) */
@media(max-width:600px){
  nav{padding:10px 14px;gap:10px}
  nav .wm{height:24px}
  .nav-bookbtn{padding:10px 14px;font-size:18px;letter-spacing:.02em}
  .nav-burger{width:46px;height:46px}
}

/* ============================================================
   D11 COMPONENT LAYER — authored for the migrated page markup
   Oswald = display, Roboto Condensed = body. TT2020 = prop labels only.
   ============================================================ */
.container{max-width:1200px;margin:0 auto;padding:0 32px}

/* page hero */
.page-hero{position:relative;padding:190px 32px 70px;text-align:left;overflow:hidden}
.page-hero .container{position:relative;z-index:2}
.page-hero--center{text-align:center;padding:180px 56px 64px;overflow:visible}
.page-hero--center p{margin:0 auto}
.page-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(.85) brightness(.55)}
.page-hero-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,12,14,.85) 0%,rgba(6,12,14,.55) 55%,var(--bg) 100%)}
.page-hero-eyebrow,.feature-eyebrow,.eyebrow-line,.section-label{font-family:'Roboto Condensed',sans-serif;font-weight:800;font-size:18px;letter-spacing:.24em;text-transform:uppercase;text-transform:uppercase;color:var(--phos);display:block;margin-bottom:16px}
.page-hero-h1{font-weight:800;font-size:clamp(48px,5.6vw,92px);line-height:1.0;letter-spacing:-.015em;color:#fff;margin-bottom:18px;text-shadow:none}
.page-hero-sub,.lead,.lede{font-size:20px;color:var(--mut);max-width:720px;line-height:1.75}
.page-hero-ctas{display:flex;gap:16px;margin-top:30px;flex-wrap:wrap}
.breadcrumb{font-family:'Roboto Condensed',sans-serif;font-weight:600;font-size:18px;color:var(--ghost);letter-spacing:.06em;margin-bottom:22px;display:block}
.breadcrumb a{color:var(--mut)}.breadcrumb-sep{margin:0 8px;color:var(--ghost)}

/* buttons */
.btn-primary{display:inline-block;background:var(--phos);color:#03110D;font-weight:800;font-size:18px;letter-spacing:.04em;padding:16px 30px;border:1px solid var(--phos);transition:box-shadow .2s,transform .2s}
.btn-primary:hover{box-shadow:0 0 26px rgba(63,232,207,.5);transform:translateY(-1px)}
.btn-secondary{display:inline-block;color:#fff;font-weight:800;font-size:18px;letter-spacing:.04em;padding:16px 30px;border:1px solid rgba(237,247,244,.45);background:rgba(6,12,14,.35);transition:border-color .2s,box-shadow .2s}
.btn-secondary:hover{border-color:var(--phos);box-shadow:0 0 18px rgba(63,232,207,.3)}

/* sections & headings */
.feature-section,.details-section,.carousel-section,.prose-section{padding:64px 0;border-top:1px solid rgba(63,232,207,.12)}
.feature-h2{font-weight:800;font-size:clamp(32px,3.2vw,52px);line-height:1.05;letter-spacing:-.012em;color:#fff;margin-bottom:16px;text-shadow:none}
.feature-section p,.details-section p{color:var(--mut)}
.red{color:var(--phos)}
.notice{border:1px solid var(--line);background:rgba(10,20,24,.7);padding:18px 22px;color:var(--mut);font-size:18px}
.bg-wine,.bg-wine2{background:var(--panel)}

/* cards */
.value-grid,.room-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;margin-top:36px}
.value-card{background:rgba(8,16,20,.85);border:1px solid var(--line);padding:30px 28px;transition:transform .25s,border-color .25s,box-shadow .25s}
.value-card:hover{transform:translateY(-4px);border-color:rgba(63,232,207,.4);box-shadow:0 18px 44px rgba(0,0,0,.5)}
.value-card-icon{font-family:'Roboto Condensed',sans-serif;font-weight:800;font-size:20px;color:var(--phos);display:block;margin-bottom:14px;letter-spacing:.12em}
.value-card h3{font-weight:800;font-size:22px;color:#fff;margin-bottom:10px}
.value-card p{color:var(--mut);font-size:18px}
.room-card{background:rgba(8,16,20,.85);border:1px solid var(--line);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,border-color .25s}
.room-card:hover{transform:translateY(-4px);border-color:rgba(63,232,207,.4)}
.room-card-img{aspect-ratio:16/10;background-size:cover;background-position:center;filter:saturate(.85)}
.room-card-img img{width:100%;height:100%;object-fit:cover}
.room-card-body{padding:26px 26px 28px;display:flex;flex-direction:column;gap:8px;flex:1}
.room-card-num,.room-card-badge{font-family:'Roboto Condensed',sans-serif;font-weight:800;font-size:18px;color:var(--phos);letter-spacing:.2em}
.room-card-title{font-weight:800;font-size:26px;color:#fff}
.room-card-meta{font-family:'Roboto Condensed',sans-serif;font-weight:600;font-size:18px;color:var(--ghost);letter-spacing:.04em}
.room-card p{color:var(--mut);font-size:18px}
.room-card-cta{margin-top:auto;padding-top:14px;color:var(--phos);font-weight:800;font-size:18px;letter-spacing:.04em}

/* steps */
.step-item{display:grid;grid-template-columns:64px 1fr;gap:20px;padding:26px 0;border-bottom:1px solid rgba(63,232,207,.1)}
.step-num{font-weight:800;font-size:34px;color:var(--purple);line-height:1}
.step-tag{font-family:'Roboto Condensed',sans-serif;font-weight:800;font-size:18px;color:var(--phos);letter-spacing:.18em;display:block;margin-bottom:6px}
.step-title{font-weight:800;font-size:22px;color:#fff;margin-bottom:6px}
.step-desc{color:var(--mut);font-size:18px}

/* details / hours */
.detail-cell{border:1px solid var(--line);background:rgba(8,16,20,.8);padding:24px 26px}
.detail-label{font-family:'Roboto Condensed',sans-serif;font-weight:800;font-size:18px;letter-spacing:.2em;color:var(--phos);display:block;margin-bottom:8px}
.detail-value{font-weight:800;font-size:24px;color:#fff}
.detail-sub{color:var(--ghost);font-size:18px;margin-top:6px}
.hours-row{display:flex;justify-content:space-between;padding:12px 2px;border-bottom:1px solid rgba(63,232,207,.1);font-size:18px}
.hours-row .day{color:var(--fg);font-weight:600}
.hours-row .time{font-family:'Roboto Condensed',sans-serif;color:var(--mut)}

/* pricing table */
.pricing-table{width:100%;border-collapse:collapse;margin-top:28px;background:rgba(8,16,20,.8);border:1px solid var(--line)}
.pricing-table th{font-family:'Roboto Condensed',sans-serif;font-weight:800;font-size:18px;letter-spacing:.14em;color:var(--phos);text-align:left;padding:16px 20px;border-bottom:1px solid var(--line)}
.pricing-table td{padding:16px 20px;font-size:19px;color:var(--fg);border-bottom:1px solid rgba(63,232,207,.08)}
.pricing-table tr:last-child td{border-bottom:none}
.pricing-table .best td{background:rgba(63,232,207,.07);color:#fff;font-weight:600}

/* faq accordion */
.faq-section-header{display:flex;align-items:center;gap:14px;margin:44px 0 10px}
.section-icon{font-family:'Roboto Condensed',sans-serif;font-weight:800;color:var(--purple);font-size:20px}
.faq-list{border-top:1px solid rgba(63,232,207,.12)}
.faq-item{border-bottom:1px solid rgba(63,232,207,.12)}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:18px;text-align:left;padding:22px 4px;background:none;border:0;cursor:pointer}
.faq-q-text{font-weight:800;font-size:20px;color:#fff}
.faq-chevron{color:var(--phos);transition:transform .25s;font-size:18px}
.faq-item.open .faq-chevron{transform:rotate(180deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq-a-inner{padding:0 4px 24px;color:var(--mut);font-size:18px;line-height:1.75}

/* forms */
.form-group{margin-bottom:20px}
.form-group.full{grid-column:1/-1}
.form-label{font-family:'Roboto Condensed',sans-serif;font-weight:800;font-size:18px;letter-spacing:.14em;color:var(--phos);display:block;margin-bottom:8px}
.form-input,input.form-input,textarea.form-input,select.form-input{width:100%;background:rgba(5,12,15,.85);border:1px solid var(--line);color:#fff;font-family:'Roboto Condensed',sans-serif;font-size:18px;padding:14px 16px;transition:border-color .2s,box-shadow .2s}
.form-input:focus{outline:none;border-color:var(--phos);box-shadow:0 0 14px rgba(63,232,207,.25)}
textarea.form-input{min-height:150px;resize:vertical}

/* banner + final CTA */
.banner{background:linear-gradient(90deg,rgba(63,232,207,.12),rgba(139,92,255,.12));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.banner-inner{max-width:1200px;margin:0 auto;padding:18px 32px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.banner-text{color:var(--fg);font-size:18px}
.banner-cta{color:var(--phos);font-weight:800;font-size:18px;letter-spacing:.04em}
.final-cta{position:relative;padding:110px 32px;text-align:center;overflow:hidden}
.final-cta-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(.8) brightness(.45)}
.final-cta-scrim{position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(6,12,14,.5),var(--bg) 90%)}
.final-cta-content{position:relative;z-index:2}
.final-cta h2{font-weight:800;font-size:clamp(38px,4.4vw,72px);color:#fff;letter-spacing:-.015em;margin-bottom:16px;text-shadow:none}
.final-cta p{color:var(--mut);max-width:640px;margin:0 auto 28px}
.final-cta-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* chapter pages */
.chapter-hero{position:relative;padding:200px 32px 80px;overflow:hidden}
.chapter-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(1) brightness(1.12)}
.chapter-hero-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,12,14,.3),rgba(6,12,14,.14) 50%,var(--bg))}
.chapter-hero .container{position:relative;z-index:2}
.chapter-hero-title{font-weight:800;font-size:clamp(52px,6.4vw,104px);line-height:.98;letter-spacing:-.02em;color:#fff;margin-bottom:22px;text-shadow:none}
.chapter-hero p{color:var(--mut);max-width:640px;font-size:19px;line-height:1.8}
.progress-seg{display:inline-block;width:44px;height:5px;background:rgba(63,232,207,.18);margin-right:6px}
.progress-seg.on{background:var(--phos);box-shadow:0 0 10px rgba(63,232,207,.7)}

/* carousels on chapter pages */
.carousel-slide{border:1px solid var(--line)}
.carousel-slide img{display:block;width:100%}
.carousel-btn{width:52px;height:52px;border-radius:50%;border:1px solid rgba(237,247,244,.5);background:rgba(6,12,14,.6);color:#fff;font-size:20px;transition:border-color .2s,box-shadow .2s}
.carousel-btn:hover{border-color:var(--phos);box-shadow:0 0 16px rgba(63,232,207,.4)}
.carousel-dot{width:10px;height:10px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:transparent;padding:0}
.carousel-dot.active{background:var(--phos);border-color:var(--phos);box-shadow:0 0 10px rgba(63,232,207,.8)}

/* booking pages */
.booking-shell{max-width:1080px;margin:0 auto;padding:170px 32px 34px}
.booking-shell .exp-title{font-weight:800;font-size:clamp(40px,4.4vw,66px);line-height:1.02;letter-spacing:-.012em;margin:10px 0 14px;background:linear-gradient(180deg,#FFFFFF 30%,#9FB6B1 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.booking-shell .lede{margin-bottom:30px}
.booking-frame{border:1px solid var(--line);background:rgba(8,16,20,.85);min-height:760px;position:relative}
.booking-frame iframe{display:block;width:100%;min-height:760px;border:0}
.booking-alt{margin-top:22px;font-size:18px;color:var(--ghost)}
.booking-alt a{color:var(--phos)}

/* legal / prose pages */
.legal-updated{font-family:'Roboto Condensed',sans-serif;font-weight:600;font-size:18px;color:var(--ghost);letter-spacing:.06em}

@media(max-width:900px){
  .page-hero{padding:150px 24px 54px}
  .chapter-hero{padding:160px 24px 60px}
  .booking-shell{padding:140px 20px 60px}
  .step-item{grid-template-columns:48px 1fr}
  .banner-inner{padding:16px 24px}
}

/* events player distributor (D11) */
.dist-controls{display:flex;align-items:center;justify-content:center;gap:26px;margin:26px 0 34px}
#dist-minus,#dist-plus{width:54px;height:54px;border-radius:50%;border:1px solid rgba(237,247,244,.5);background:rgba(6,12,14,.6);color:#fff;font-size:24px;transition:border-color .2s,box-shadow .2s}
#dist-minus:hover:not(:disabled),#dist-plus:hover:not(:disabled){border-color:var(--phos);box-shadow:0 0 16px rgba(63,232,207,.4)}
#dist-minus:disabled,#dist-plus:disabled{opacity:.35}
#dist-count{font-weight:800;font-size:52px;color:#fff;min-width:90px;text-align:center;text-shadow:none}
.dist-game-card{background:rgba(8,16,20,.85);border:1px solid var(--line);padding:24px;display:grid;grid-template-columns:96px 1fr;gap:20px;align-items:center;margin-bottom:16px}
.dist-game-thumb{width:96px;height:72px;object-fit:cover;border:1px solid var(--line);filter:saturate(.85)}
.dist-game-name{font-weight:800;font-size:22px;color:#fff}
.dist-game-meta{font-family:'Roboto Condensed',sans-serif;font-weight:600;font-size:18px;color:var(--ghost);letter-spacing:.04em}
.dist-dots{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-top:10px}
.dist-dot{width:13px;height:13px;border-radius:50%;background:var(--phos);box-shadow:0 0 8px rgba(63,232,207,.6)}
.dist-dots span{font-family:'Roboto Condensed',sans-serif;font-weight:600;font-size:18px;color:var(--mut);margin-left:10px}
#dist-note{text-align:center;font-size:18px;margin-top:18px}
@media(max-width:640px){.dist-game-card{grid-template-columns:1fr}.dist-game-thumb{width:100%;height:120px}}

/* reveal animations (reference markup) */
.reveal,.fade-in,.reveal-left{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.16,1,.3,1)}
.reveal-left{transform:translateX(-24px)}
.reveal.visible,.fade-in.visible,.reveal-left.visible{opacity:1;transform:none}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}.d4{transition-delay:.32s}
/* chapter hero additions */
.chapter-hero-label,.chapter-hero p.chapter-hero-label{font-family:'Roboto Condensed',sans-serif;font-weight:800;font-size:18px;letter-spacing:.28em;text-transform:uppercase;color:#FFFFFF;text-shadow:0 2px 10px rgba(0,0,0,.65);margin-bottom:16px}
.chapter-hero p.chapter-hero-story{color:#fff}
.chapter-hero-story{color:#fff;max-width:640px;font-size:19px;line-height:1.8;margin-bottom:26px}
.chapter-hero-content{max-width:760px}
.chapter-hero-ctas{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.chapter-hero-meta{font-family:'Roboto Condensed',sans-serif;font-weight:600;font-size:18px;color:var(--ghost);letter-spacing:.05em}
.hours-table{margin-top:22px;border-top:1px solid rgba(63,232,207,.12)}

/* chapter page layout completion (2026-07-20): rules the chapter markup vocabulary referenced but the sheet never declared */
.breadcrumb .container{max-width:1280px;margin:0 auto;padding:0 32px}
.breadcrumb{padding-top:118px;margin-bottom:0}
.breadcrumb-inner{margin-bottom:14px}
.progress-bar{display:flex;align-items:center;gap:4px;padding-bottom:20px;border-bottom:1px solid rgba(63,232,207,.12)}
.progress-seg.inactive{background:rgba(159,134,232,.14)}
.progress-label{font-size:18px;color:var(--ghost);letter-spacing:.05em;margin-left:12px}
.details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:26px}
.notices{display:grid;gap:12px}
.notice{line-height:1.65}
.carousel{position:relative;overflow:hidden;border:1px solid var(--line);background:var(--panel)}
.carousel-track{display:flex;transition:transform .55s cubic-bezier(.34,1.56,.64,1)}
.carousel-slide{flex:0 0 100%;border:0}
.carousel-slide img{display:block;width:100%;height:min(62vh,640px);object-fit:cover;filter:saturate(.88)}
.carousel-btn.prev{position:absolute;left:18px;top:50%;transform:translateY(-50%);z-index:2}
.carousel-btn.next{position:absolute;right:18px;top:50%;transform:translateY(-50%);z-index:2}
.carousel-counter{position:absolute;right:18px;bottom:14px;z-index:2;font-size:18px;color:var(--fg);letter-spacing:.1em;background:rgba(6,12,14,.65);padding:4px 12px;border:1px solid var(--line)}
.carousel-dots{display:flex;justify-content:center;gap:10px;margin-top:18px}
.chapter-book-section{padding:64px 0;border-top:1px solid rgba(63,232,207,.12)}
@media(max-width:900px){.details-grid{grid-template-columns:1fr}.breadcrumb{padding-top:96px}.carousel-slide img{height:46vh}}

/* chapter hero fused layout + surveillance feed (2026-07-20) */
.chero-grid{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:56px;align-items:center}
.chero-aside{display:flex;flex-direction:column}
.chero-notes{position:relative;background:rgba(8,16,20,.72);border:1px solid var(--line);border-top:2px solid rgba(63,232,207,.45);backdrop-filter:blur(6px);padding:28px 30px;box-shadow:0 18px 44px rgba(0,0,0,.4)}
.chero-notes .notice{border:0;background:none;padding:16px 0;font-size:18px;line-height:1.7;color:var(--mut)}
.chero-notes .notice:first-child{padding-top:0}
.chero-notes .notice:last-child{padding-bottom:0}
.chero-notes .notice + .notice{border-top:1px solid rgba(63,232,207,.1)}
.cam-feed{position:relative}
.cam-feed .carousel-slide img{filter:saturate(.68) contrast(1.04) brightness(1.16)}

.cam-feed::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(ellipse at center,transparent 70%,rgba(4,9,11,.28) 100%)}
.cam-rec{position:absolute;top:16px;left:18px;z-index:4;display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;letter-spacing:.22em;color:#fff;text-shadow:0 0 8px rgba(0,0,0,.8);background:rgba(6,12,14,.55);padding:5px 14px 5px 12px;border:1px solid rgba(237,247,244,.18)}
.cam-rec-dot{width:12px;height:12px;border-radius:50%;background:#C4231F;box-shadow:0 0 10px rgba(196,35,31,.8);animation:recblink 1.2s steps(1) infinite}
@keyframes recblink{50%{opacity:.15}}
.cam-readout{position:absolute;left:18px;bottom:14px;z-index:4;font-weight:800;font-size:18px;letter-spacing:.14em;color:rgba(237,247,244,.85);text-shadow:0 0 8px rgba(0,0,0,.85);background:rgba(6,12,14,.55);padding:4px 12px;border:1px solid rgba(237,247,244,.18)}
.cam-feed .carousel-counter{letter-spacing:.14em;font-weight:800;border-color:rgba(237,247,244,.18)}
.cam-feed .carousel-btn{z-index:4}
@media(prefers-reduced-motion:reduce){.cam-rec-dot{animation:none}}
@media(max-width:1100px){.chero-grid{grid-template-columns:1fr;gap:34px}.chero-aside{max-width:560px}}

/* final CTA map background variant (2026-07-20) */
.final-cta-bg.map-zoom{background-size:175%;background-position:center 42%;filter:saturate(.82) brightness(.78)}
@media(max-width:700px){.final-cta-bg.map-zoom{background-size:290%}}

/* wide embeds (2026-07-21): booking widgets use the side margin space */
/* removed 2026-07-21: booking container reverted to standard 1200 alignment; the widget itself lives in .embed-wide (Rule 51/56) */
.booking-shell{max-width:1560px}
.booking-shell .lede{max-width:720px}

/* wide embeds + nav enhancements (2026-07-21) */
.embed-wide{max-width:1760px;margin:0 auto;padding:0 28px}
.booking-shell{max-width:1760px}
.wm-link{display:inline-flex;align-items:center;line-height:0}
.nav-dropdown.open .nav-dropdown-menu{opacity:1;visibility:visible;transition:opacity .16s ease,visibility 0s}
.nav-dropdown.open .nav-caret{transform:rotate(180deg)}
@media(max-width:640px){.embed-wide{padding:0 16px}}

/* pricing page — elevated pass (2026-07-23) */
.pr-hero{position:relative;padding:168px 0 44px;overflow:hidden;border-bottom:1px solid rgba(63,232,207,.12)}
.pr-hero-atmo{position:absolute;inset:0;pointer-events:none;background:url('TealSky.png') center -120px/cover no-repeat;opacity:.3;filter:saturate(.9)}
.pr-hero-glow{position:absolute;pointer-events:none;width:900px;height:900px;left:-260px;top:-320px;background:radial-gradient(circle,rgba(63,232,207,.14),transparent 62%)}
.pr-hero-glow2{position:absolute;pointer-events:none;width:700px;height:700px;right:-200px;bottom:-380px;background:radial-gradient(circle,rgba(139,92,255,.1),transparent 60%)}
.pr-hero .container{position:relative;z-index:2}
.pr-hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:72px;align-items:start}
.pr-h1{font-weight:800;font-size:clamp(44px,5vw,76px);line-height:1.02;letter-spacing:-.018em;color:#fff;text-shadow:none;margin-bottom:26px}
.pr-sub{font-size:19px;color:var(--mut);line-height:1.85;max-width:600px}
.how-label{font-weight:800;font-size:18px;letter-spacing:.26em;text-transform:uppercase;color:var(--phos);margin-bottom:22px}
.how-steps-inline{position:relative;padding-left:34px}
.how-steps-inline::before{content:'';position:absolute;left:9px;top:14px;bottom:14px;width:1px;background:linear-gradient(180deg,rgba(63,232,207,.55),rgba(63,232,207,.08))}
.how-step{position:relative;border:1px solid var(--line);background:rgba(8,16,20,.74);backdrop-filter:blur(8px);padding:22px 24px;box-shadow:0 18px 44px rgba(0,0,0,.4);transition:transform .3s cubic-bezier(.34,1.56,.64,1),border-color .3s,box-shadow .3s}
.how-step::before{content:'';position:absolute;left:-30px;top:26px;width:9px;height:9px;border-radius:50%;background:var(--phos);box-shadow:0 0 12px rgba(63,232,207,.8)}
.how-step:hover{transform:translateY(-4px);border-color:rgba(63,232,207,.4);box-shadow:0 26px 54px rgba(0,0,0,.5),0 0 22px rgba(63,232,207,.1)}
.how-step + .how-step{margin-top:16px}
.how-step-num{font-weight:800;font-size:18px;letter-spacing:.22em;text-transform:uppercase;color:var(--phos);margin-bottom:7px}
.how-step-title{font-weight:800;font-size:22px;color:#fff;letter-spacing:-.01em;margin-bottom:7px}
.how-step-body{font-size:18px;color:var(--mut);line-height:1.7}
.times-section{padding:26px 0 8px}
.times-label{font-weight:800;font-size:18px;letter-spacing:.26em;text-transform:uppercase;color:var(--phos);margin-bottom:20px}
.times-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.time-badge{display:flex;gap:18px;align-items:center;border:1px solid var(--line);background:rgba(8,16,20,.74);backdrop-filter:blur(6px);padding:22px 24px;box-shadow:0 18px 44px rgba(0,0,0,.4);transition:transform .3s cubic-bezier(.34,1.56,.64,1),border-color .3s,box-shadow .3s}
.time-badge:hover{transform:translateY(-4px);border-color:rgba(63,232,207,.4);box-shadow:0 26px 54px rgba(0,0,0,.5),0 0 22px rgba(63,232,207,.1)}
.time-badge-num{font-weight:800;font-size:44px;color:#fff;line-height:1;letter-spacing:-.02em;text-shadow:none}
.time-badge-unit{font-size:18px;color:var(--ghost);margin-top:4px}
.time-badge-divider{width:1px;align-self:stretch;background:linear-gradient(180deg,transparent,rgba(63,232,207,.35),transparent)}
.time-badge-ch{font-weight:800;font-size:18px;letter-spacing:.18em;text-transform:uppercase;color:var(--phos)}
.time-badge-name{font-weight:800;font-size:20px;color:#fff;margin:3px 0;letter-spacing:-.01em}
.time-badge-note{font-size:18px;color:var(--ghost)}
.table-section{padding:44px 0 20px}
.table-title{font-weight:800;font-size:clamp(28px,3.2vw,42px);letter-spacing:-.012em;color:#fff;text-shadow:none;margin-bottom:24px}
.table-wrap{position:relative;border:1px solid var(--line);background:rgba(8,16,20,.74);backdrop-filter:blur(8px);box-shadow:0 24px 60px rgba(0,0,0,.45);overflow-x:auto}
.table-wrap::before{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--phos),rgba(139,92,255,.7));z-index:1}
.pr-table{width:100%;border-collapse:collapse;min-width:760px}
.pr-table th{font-weight:800;font-size:18px;letter-spacing:.16em;text-transform:uppercase;color:#fff;text-align:left;padding:18px 22px;border-bottom:1px solid rgba(63,232,207,.25);background:rgba(10,20,24,.6)}
.pr-table th.pp,.pr-table td.pp{color:var(--phos);font-weight:800}
.pr-table td{font-size:19px;color:var(--fg);padding:17px 22px;border-bottom:1px solid rgba(63,232,207,.08);transition:background .2s}
.pr-table tbody tr{transition:background .2s}
.pr-table tbody tr:hover{background:rgba(63,232,207,.05)}
.pr-table tbody tr:last-child td{border-bottom:0}
.pr-table td:first-child{font-weight:800;color:#fff;white-space:nowrap}
.badge-best{display:inline-block;margin-left:12px;vertical-align:middle;border:1px solid rgba(63,232,207,.65);color:var(--phos);font-weight:800;font-size:18px;letter-spacing:.1em;text-transform:uppercase;padding:2px 16px;border-radius:999px;background:linear-gradient(180deg,rgba(63,232,207,.14),rgba(63,232,207,.05));box-shadow:0 0 16px rgba(63,232,207,.22),inset 0 1px 0 rgba(255,255,255,.08);white-space:nowrap}
.pr-table tbody tr:hover .badge-best,.badge-best:hover{animation:bestwiggle .5s ease-in-out}
@keyframes bestwiggle{0%,100%{transform:rotate(0)}20%{transform:rotate(-5deg)}45%{transform:rotate(4deg)}70%{transform:rotate(-2deg)}}
.table-caption{font-size:18px;color:var(--mut);margin-top:18px}
.table-caption a{color:var(--phos);font-weight:800}
.save-section{padding:26px 0 8px}
.save-inner{display:flex;gap:22px;align-items:flex-start;border:1px solid var(--line);border-left:2px solid rgba(63,232,207,.5);background:rgba(8,16,20,.74);backdrop-filter:blur(6px);padding:28px 30px;box-shadow:0 18px 44px rgba(0,0,0,.4)}
.save-title{font-weight:800;font-size:22px;color:#fff;letter-spacing:-.01em;margin-bottom:8px}
.save-body{font-size:18px;color:var(--mut);line-height:1.8;max-width:920px}
.pr-cta{position:relative;padding:84px 0 96px;text-align:center;overflow:hidden;margin-top:34px}
.pr-cta-bg{position:absolute;inset:0;background:url('asheville-map-art.jpg') center 42%/175% no-repeat;filter:saturate(.82) brightness(.78)}
.pr-cta-scrim{position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(6,12,14,.24),var(--bg) 97%)}
.pr-cta .container{position:relative;z-index:2}
.pr-cta h2{font-weight:800;font-size:clamp(34px,4.4vw,62px);letter-spacing:-.018em;color:#fff;text-shadow:none;margin-bottom:16px}
.pr-cta p{font-size:19px;color:var(--mut);margin-bottom:30px}
.pr-cta p a{color:var(--phos);font-weight:800}
@media(max-width:1000px){.pr-hero-grid{grid-template-columns:1fr;gap:44px}.times-inner{grid-template-columns:1fr}.pr-hero{padding-top:150px}.pr-cta-bg{background-size:290%}}
@media(prefers-reduced-motion:reduce){.how-step,.time-badge{transition:none}}

/* contact page — elevated (2026-07-23) */
.ct-hero{position:relative;padding:176px 0 64px;overflow:hidden;border-bottom:1px solid rgba(63,232,207,.12)}
.ct-hero-atmo{position:absolute;inset:0;pointer-events:none;background:url('img/system/bg/bg-asheville-1920.webp') center 30%/cover no-repeat}
.ct-hero-atmo::after{content:'';position:absolute;inset:0;background:var(--scrim-41)}
.ct-hero-glow{position:absolute;pointer-events:none;width:820px;height:820px;right:-240px;top:-300px;background:radial-gradient(circle,rgba(139,92,255,.13),transparent 60%)}
.ct-hero-glow2{position:absolute;pointer-events:none;width:640px;height:640px;left:-200px;bottom:-320px;background:radial-gradient(circle,rgba(63,232,207,.12),transparent 62%)}
.ct-hero .container{position:relative;z-index:2}
.ct-h1{max-width:820px;font-weight:800;font-size:clamp(42px,5vw,74px);line-height:1.04;letter-spacing:-.018em;color:#fff;text-shadow:none;margin-bottom:18px}
.ct-sub{font-size:19px;color:var(--mut);line-height:1.8;max-width:640px}
.ct-main{padding:56px 0 80px}
.ct-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:56px;align-items:start}
.ct-eyebrow{font-weight:800;font-size:18px;letter-spacing:.26em;text-transform:uppercase;color:var(--phos);margin-bottom:12px}
.ct-h2{font-weight:800;font-size:clamp(26px,3vw,40px);letter-spacing:-.012em;color:#fff;text-shadow:none;margin-bottom:12px}
.ct-lede{font-size:18px;color:var(--mut);line-height:1.8;margin-bottom:32px}
.ct-form-panel{border:1px solid var(--line);background:rgba(8,16,20,.74);backdrop-filter:blur(8px);padding:36px 38px;box-shadow:0 24px 60px rgba(0,0,0,.45);position:relative}
.ct-form-panel::before{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--phos),rgba(139,92,255,.7))}
.ct-label{font-weight:800;font-size:18px;letter-spacing:.16em;text-transform:uppercase;color:var(--phos);display:block;margin-bottom:8px}
.form-submit.sent{background:var(--phos)!important;color:#04110D!important}
.ct-cards{display:grid;gap:12px;margin-bottom:28px}
.ct-card{display:flex;gap:16px;align-items:center;border:1px solid var(--line);background:rgba(8,16,20,.74);backdrop-filter:blur(6px);padding:16px 18px;box-shadow:0 18px 44px rgba(0,0,0,.4);transition:transform .3s cubic-bezier(.34,1.56,.64,1),border-color .3s,box-shadow .3s}
.ct-card:hover{transform:translateY(-3px);border-color:rgba(63,232,207,.4);box-shadow:0 24px 50px rgba(0,0,0,.5),0 0 20px rgba(63,232,207,.1)}
.ct-card-ic{flex:0 0 auto;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(63,232,207,.35);background:rgba(63,232,207,.06)}
.ct-card-ic svg{width:20px;height:20px;fill:none;stroke:var(--phos);stroke-width:1.7}
.ct-card-k{display:block;font-weight:800;font-size:18px;letter-spacing:.14em;text-transform:uppercase;color:var(--phos)}
.ct-card-v{display:block;font-size:18px;color:var(--fg);margin-top:2px}
.ct-hours{border:1px solid var(--line);border-left:2px solid rgba(63,232,207,.5);background:rgba(8,16,20,.74);padding:20px 24px;margin-bottom:28px;box-shadow:0 18px 44px rgba(0,0,0,.4)}
.ct-hours-title{font-weight:800;font-size:18px;letter-spacing:.2em;text-transform:uppercase;color:#fff;margin-bottom:10px}
.ct-hours-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid rgba(63,232,207,.08);font-size:18px}
.ct-hours-row:last-child{border-bottom:0}
.ct-day{color:#fff;font-weight:800}
.ct-time{color:var(--mut)}
.ct-map{border:1px solid var(--line);box-shadow:0 24px 60px rgba(0,0,0,.5);overflow:hidden;transition:border-color .3s,box-shadow .3s}
.ct-map:hover{border-color:rgba(63,232,207,.4);box-shadow:0 24px 60px rgba(0,0,0,.5),0 0 24px rgba(63,232,207,.12)}
.ct-map iframe{filter:saturate(.75) contrast(1.02)}
@media(max-width:1000px){.ct-grid{grid-template-columns:1fr;gap:44px}.ct-hero{padding-top:148px}.ct-form-panel{padding:28px 24px}}
@media(prefers-reduced-motion:reduce){.ct-card{transition:none}}

/* pricing interactivity + mascot (2026-07-23) */
.time-badge[data-col]{cursor:pointer}
.pr-table th,.pr-table td{transition:background .25s,box-shadow .25s,color .25s}
.pr-table.hl-4 th:nth-child(4),.pr-table.hl-4 td:nth-child(4),
.pr-table.hl-5 th:nth-child(5),.pr-table.hl-5 td:nth-child(5),
.pr-table.hl-6 th:nth-child(6),.pr-table.hl-6 td:nth-child(6){background:rgba(63,232,207,.12);color:#fff;box-shadow:inset 0 0 0 1px rgba(63,232,207,.25)}
.pr-table.hl-4 th:nth-child(4),.pr-table.hl-5 th:nth-child(5),.pr-table.hl-6 th:nth-child(6){color:var(--phos)}
.pr-mascot{position:absolute;left:7%;bottom:0;width:min(300px,23vw);z-index:1;pointer-events:auto}
.pr-mascot img{width:100%;display:block;transform:translateY(46%) rotate(-3deg);filter:drop-shadow(0 -6px 24px rgba(0,0,0,.5));transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
.pr-mascot:hover img{transform:translateY(38%) rotate(-1deg)}
@media(max-width:1000px){.pr-mascot{left:auto;right:4%;width:min(190px,34vw)}}
@media(prefers-reduced-motion:reduce){.badge-best,.pr-table tbody tr:hover .badge-best{animation:none}.pr-mascot img{transition:none}}

/* events + visit + faq elevated (2026-07-23) */
/* ---- shared hero recipe for these pages ---- */
.vt-hero,.fq-hero{position:relative;padding:196px 0 96px;overflow:hidden;border-bottom:1px solid rgba(63,232,207,.12)}
.vt-hero-bg{position:absolute;inset:0;background:url('img/system/bg/bg-street-1920.webp') center 30%/cover no-repeat}
.fq-hero-bg{position:absolute;inset:0;background:url('img/system/bg/bg-sky-1920.webp') center 30%/cover no-repeat}
.vt-hero-scrim,.fq-hero-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,12,14,.3),rgba(6,12,14,.06) 45%,var(--bg) 100%)}
.vt-hero .container,.fq-hero .container{position:relative;z-index:2}
.vt-h1,.fq-h1{font-weight:800;font-size:clamp(42px,5vw,74px);line-height:1.04;letter-spacing:-.018em;color:#fff;text-shadow:none;margin-bottom:18px}
.vt-sub,.fq-sub{font-size:19px;color:var(--mut);line-height:1.8;max-width:640px}
.fq-sub a{color:var(--phos);font-weight:800}
.vt-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
/* ---- visit ---- */
.location-section{padding:64px 0 30px}
.location-grid{max-width:1200px;margin:0 auto;padding:0 32px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:52px;align-items:start}
.location-eyebrow{font-weight:800;font-size:18px;letter-spacing:.26em;text-transform:uppercase;color:var(--phos);margin-bottom:12px}
.location-h2{font-weight:800;font-size:clamp(26px,3vw,40px);letter-spacing:-.012em;color:#fff;text-shadow:none;margin-bottom:20px}
.location-info{border:1px solid var(--line);border-left:2px solid rgba(63,232,207,.5);background:rgba(8,16,20,.74);backdrop-filter:blur(6px);padding:22px 26px;box-shadow:0 18px 44px rgba(0,0,0,.4);font-size:18px;line-height:2.1;color:var(--mut)}
.location-info a{color:var(--phos);font-weight:800}
.vt-k{color:#fff;font-weight:800}
.location-map{border:1px solid var(--line);box-shadow:0 24px 60px rgba(0,0,0,.5);overflow:hidden;transition:border-color .3s,box-shadow .3s}
.location-map:hover{border-color:rgba(63,232,207,.4);box-shadow:0 24px 60px rgba(0,0,0,.5),0 0 24px rgba(63,232,207,.12)}
.location-map iframe{filter:saturate(.75) contrast(1.02);display:block}
.location-section .hours-table{margin-top:24px;border-top:0}
.location-section .hours-row .time{font-family:'Roboto Condensed',sans-serif}
.vt-expect-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.vt-card{border:1px solid var(--line);background:rgba(8,16,20,.74);backdrop-filter:blur(6px);padding:26px 24px;box-shadow:0 18px 44px rgba(0,0,0,.4);transition:transform .3s cubic-bezier(.34,1.56,.64,1),border-color .3s,box-shadow .3s}
.vt-card:hover{transform:translateY(-4px);border-color:rgba(63,232,207,.4);box-shadow:0 26px 54px rgba(0,0,0,.5),0 0 22px rgba(63,232,207,.1)}
.vt-card-t{font-weight:800;font-size:19px;letter-spacing:.05em;text-transform:uppercase;color:var(--phos);margin-bottom:10px}
.vt-card-p{font-size:18px;color:var(--mut);line-height:1.75}
.vt-eyebrow{font-weight:800;font-size:18px;letter-spacing:.2em;text-transform:uppercase;color:var(--phos)}
.vt-food-grid{max-width:1200px;margin:0 auto;padding:0 32px 20px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.vt-food-card{border:1px solid var(--line);background:rgba(8,16,20,.74);backdrop-filter:blur(6px);padding:26px 24px;display:flex;flex-direction:column;gap:10px;box-shadow:0 18px 44px rgba(0,0,0,.4);transition:transform .3s cubic-bezier(.34,1.56,.64,1),border-color .3s,box-shadow .3s}
.vt-food-card:hover{transform:translateY(-4px);border-color:rgba(63,232,207,.4);box-shadow:0 26px 54px rgba(0,0,0,.5),0 0 22px rgba(63,232,207,.1)}
.vt-food-name{font-weight:800;font-size:21px;color:#fff;letter-spacing:-.01em}
.vt-food-p{font-size:18px;color:var(--mut);line-height:1.75;flex:1}
.vt-food-addr{font-size:18px;color:var(--ghost);border-top:1px solid rgba(63,232,207,.12);padding-top:12px;margin-top:2px}
/* ---- events ---- */
.steps-section{padding:44px 0 56px}
.steps-inner{max-width:1200px;margin:0 auto;padding:0 32px}
.steps-list{position:relative;margin-top:38px;padding-left:40px}
.steps-list::before{content:'';position:absolute;left:15px;top:10px;bottom:10px;width:1px;background:linear-gradient(180deg,rgba(63,232,207,.55),rgba(63,232,207,.08))}
.step-item{position:relative;display:flex;gap:22px;border:1px solid var(--line);background:rgba(8,16,20,.74);backdrop-filter:blur(6px);padding:24px 26px;box-shadow:0 18px 44px rgba(0,0,0,.4);transition:transform .3s cubic-bezier(.34,1.56,.64,1),border-color .3s,box-shadow .3s}
.step-item:hover{transform:translateY(-4px);border-color:rgba(63,232,207,.4);box-shadow:0 26px 54px rgba(0,0,0,.5),0 0 22px rgba(63,232,207,.1)}
.step-item + .step-item{margin-top:16px}
.step-item::before{content:'';position:absolute;left:-30px;top:32px;width:9px;height:9px;border-radius:50%;background:var(--phos);box-shadow:0 0 12px rgba(63,232,207,.8)}
.step-num{flex:0 0 auto;width:52px;height:52px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(63,232,207,.4);background:rgba(63,232,207,.07);font-weight:800;font-size:22px;color:var(--phos)}
.step-tag{display:block;font-weight:800;font-size:18px;letter-spacing:.2em;text-transform:uppercase;color:var(--phos);margin-bottom:5px}
.step-title{font-weight:800;font-size:22px;color:#fff;letter-spacing:-.01em;margin-bottom:6px}
.step-desc{font-size:18px;color:var(--mut);line-height:1.75}
.distributor-section{padding:24px 0 70px}
.distributor-inner{max-width:1200px;margin:0 auto;padding:0 32px}
.distributor-wrap{margin-top:34px;border:1px solid var(--line);background:rgba(8,16,20,.74);backdrop-filter:blur(8px);box-shadow:0 24px 60px rgba(0,0,0,.45);position:relative}
.distributor-wrap::before{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--phos),rgba(139,92,255,.7))}
.distributor-controls{display:flex;align-items:center;gap:16px;padding:22px 26px;border-bottom:1px solid rgba(63,232,207,.15);flex-wrap:wrap}
.dist-label{font-weight:800;font-size:18px;letter-spacing:.2em;text-transform:uppercase;color:var(--phos)}
.dist-btn{width:44px;height:44px;border:1px solid rgba(63,232,207,.4);background:rgba(63,232,207,.07);color:var(--phos);font-size:22px;font-weight:800;transition:background .2s,box-shadow .2s}
.dist-btn:hover:not(:disabled){background:rgba(63,232,207,.16);box-shadow:0 0 14px rgba(63,232,207,.25)}
.dist-btn:disabled{opacity:.35}
.dist-count{font-weight:800;font-size:30px;color:#fff;min-width:52px;text-align:center}
.dist-player-text{font-size:18px;color:var(--mut)}
.distributor-table{width:100%;border-collapse:collapse}
.dist-table-head th{font-weight:800;font-size:18px;letter-spacing:.16em;text-transform:uppercase;color:#fff;text-align:left;padding:16px 26px;border-bottom:1px solid rgba(63,232,207,.15);background:rgba(10,20,24,.6)}
.dist-row td{padding:18px 26px;border-bottom:1px solid rgba(63,232,207,.08);vertical-align:middle}
.dist-row:last-child td{border-bottom:0}
.dist-game-card{display:flex;gap:16px;align-items:center}
.dist-game-thumb{flex:0 0 auto;width:86px;height:60px;overflow:hidden;border:1px solid var(--line)}
.dist-game-thumb img{width:100%;height:100%;object-fit:cover;filter:saturate(.85)}
.dist-game-name{font-weight:800;font-size:19px;color:#fff;letter-spacing:-.01em}
.dist-game-ch{font-size:18px;color:var(--ghost);margin-top:2px}
.dist-dots{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}
.dist-player-count{font-weight:800;font-size:18px;color:var(--phos);margin-left:10px;white-space:nowrap}
.dist-footer{padding:18px 26px;border-top:1px solid rgba(63,232,207,.15)}
.dist-footer-note{font-size:18px;color:var(--mut)}
.events-contact{padding:84px 0 96px;border-top:1px solid rgba(63,232,207,.12)}
.events-contact > div{max-width:860px;margin:0 auto;padding:0 32px}
.ev-form-lede{font-size:19px;color:var(--mut);line-height:1.8;margin:16px 0 30px}
.ev-form-panel{border:1px solid var(--line);background:rgba(8,16,20,.74);backdrop-filter:blur(8px);padding:34px 36px;box-shadow:0 24px 60px rgba(0,0,0,.45);position:relative}
.ev-form-panel::before{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--phos),rgba(139,92,255,.7))}
.ev-form-2col{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ev-form-status{font-size:18px;margin-top:16px;color:var(--phos);min-height:24px}
/* ---- faq ---- */
.fq-main{padding:70px 0 90px}
.fq-wrap{max-width:880px;margin:0 auto;padding:0 32px}
.fq-wrap .faq-section-header{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.fq-wrap .faq-section-header h2{font-weight:800;font-size:clamp(24px,2.6vw,34px);letter-spacing:-.01em;color:#fff;text-shadow:none}
.fq-wrap .section-icon{width:12px;height:12px;background:var(--phos);box-shadow:0 0 12px rgba(63,232,207,.8)}
.fq-wrap .faq-item{border:1px solid var(--line);background:rgba(8,16,20,.74);backdrop-filter:blur(6px);margin-bottom:12px;box-shadow:0 14px 34px rgba(0,0,0,.35);transition:border-color .25s,box-shadow .25s}
.fq-wrap .faq-item:hover{border-color:rgba(63,232,207,.35)}
.fq-wrap .faq-item.open{border-color:rgba(63,232,207,.45);box-shadow:0 14px 34px rgba(0,0,0,.35),0 0 20px rgba(63,232,207,.1)}
.fq-wrap .faq-q{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;text-align:left;background:none;border:0;padding:20px 24px;color:#fff;font-family:'Roboto Condensed',sans-serif;font-weight:800;font-size:19px;letter-spacing:-.01em}
.fq-wrap .faq-chevron{flex:0 0 auto;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(63,232,207,.35);background:rgba(63,232,207,.06);transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
.fq-wrap .faq-chevron svg{width:16px;height:16px;stroke:var(--phos)}
.fq-wrap .faq-item.open .faq-chevron{transform:rotate(180deg)}
.fq-wrap .faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease}
.fq-wrap .faq-a-inner{padding:0 24px 22px;font-size:18px;color:var(--mut);line-height:1.8}
.fq-note{margin-top:12px;padding:12px 16px;background:rgba(63,232,207,.06);border-left:2px solid rgba(63,232,207,.5);font-size:18px;color:var(--mut);line-height:1.7}
.fq-link{color:var(--phos);font-weight:800}
@media(max-width:1000px){.location-grid{grid-template-columns:1fr}.vt-expect-grid,.vt-food-grid{grid-template-columns:1fr}.ev-form-2col{grid-template-columns:1fr}.dist-game-thumb{width:66px;height:48px}.vt-hero,.fq-hero{padding-top:156px}}
@media(prefers-reduced-motion:reduce){.vt-card,.vt-food-card,.step-item{transition:none}}

/* visit violet identity + fixes (2026-07-23 r2) */
.vt-h1{font-size:clamp(46px,5.4vw,84px);letter-spacing:-.022em;line-height:1;text-shadow:none;text-wrap:balance}
.vt-sub{font-size:20px;color:#CFC4F1}
.location-eyebrow,.vt-eyebrow,.vt-card-t{color:var(--purple)}
.location-h2{text-shadow:none}
.location-info{border-left-color:rgba(139,92,255,.6)}
.location-info a{color:var(--purple)}
.vt-card:hover,.vt-food-card:hover{border-color:rgba(139,92,255,.5);box-shadow:0 26px 54px rgba(0,0,0,.5),0 0 24px rgba(139,92,255,.14)}
.location-map:hover{border-color:rgba(139,92,255,.5);box-shadow:0 24px 60px rgba(0,0,0,.5),0 0 24px rgba(139,92,255,.16)}
.vt-hero-scrim{background:linear-gradient(180deg,rgba(10,8,20,.42),rgba(12,8,24,.2) 45%,var(--bg) 100%)}
.vt-food-grid{gap:22px;padding-bottom:40px}
.vt-food-card{padding:30px 28px;border-radius:2px;gap:12px}
.vt-food-card .vt-eyebrow{display:inline-block;align-self:flex-start;border:1px solid rgba(139,92,255,.45);background:rgba(139,92,255,.08);padding:2px 12px;border-radius:999px;font-size:18px;letter-spacing:.12em}
.vt-food-name{font-size:23px}
.vt-food-addr{border-top-color:rgba(139,92,255,.18);color:#CFC4F1;font-weight:600}
.vt-expect-grid{gap:20px}
.visit-cta h2{text-shadow:none}

/* faq r2 (2026-07-23): hero type + panda peek */
.fq-h1{font-size:clamp(46px,5.4vw,84px);letter-spacing:-.022em;line-height:1;text-wrap:balance}
.fq-mascot{position:absolute;left:58%;bottom:0;width:min(340px,25vw);z-index:1}
.fq-mascot img{width:100%;display:block;transform:translateY(16%) rotate(4deg);filter:drop-shadow(0 -6px 24px rgba(0,0,0,.5));transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
.fq-mascot:hover img{transform:translateY(9%) rotate(2deg)}
@media(max-width:1240px){.fq-mascot{width:min(210px,26vw);left:auto;right:3%}}

/* events r2: cinematic hero + interactive flow (2026-07-23) */
.ev-hero{position:relative;min-height:86vh;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid rgba(63,232,207,.12);padding:140px 0 64px}
.ev-hero-bg{position:absolute;inset:0;background:url('img/system/bg/bg-apartment-1920.webp') center 30%/cover no-repeat}
.ev-hero-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,12,14,.78) 0%,rgba(6,12,14,.4) 46%,rgba(6,12,14,.08) 100%),linear-gradient(180deg,rgba(6,12,14,.22),transparent 30%,var(--bg) 100%)}
.ev-hero-grid{position:relative;z-index:2;max-width:1360px;margin:0 auto;padding:0 48px;width:100%;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:center}
.ev-h1{font-weight:800;font-size:clamp(48px,5.8vw,92px);line-height:.98;letter-spacing:-.024em;color:#fff;text-shadow:none;margin-bottom:16px;text-wrap:balance}
.ev-subhead{display:block;font-weight:800;font-size:clamp(22px,2.2vw,32px);letter-spacing:-.005em;color:var(--phos);margin-bottom:18px;text-shadow:0 3px 16px rgba(0,0,0,.8)}
.ev-sub{font-size:19px;color:#D8E6E2;line-height:1.8;max-width:560px;text-shadow:0 2px 10px rgba(0,0,0,.6)}
.ev-chips{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0 6px}
.ev-chip{border:1px solid rgba(63,232,207,.45);background:rgba(6,12,14,.55);backdrop-filter:blur(4px);color:var(--phos);font-weight:800;font-size:18px;letter-spacing:.08em;text-transform:uppercase;padding:6px 16px;border-radius:999px}
.ev-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px}
.ev-hero-fan{position:relative;height:560px}
.ev-pol{position:absolute;background:#EDE8DC;padding:12px 12px 40px;box-shadow:0 30px 70px rgba(0,0,0,.55);transition:transform .5s cubic-bezier(.34,1.56,.64,1),z-index 0s}
.ev-pol img{display:block;width:100%;height:auto}
.ev-tape{position:absolute;top:-13px;left:50%;transform:translateX(-50%) rotate(-3deg);width:104px;height:26px;background:rgba(255,255,255,.35);z-index:2}
.ev-pol.p1{width:min(300px,24vw);left:0;top:34px;transform:rotate(-7deg);z-index:1}
.ev-pol.p2{width:min(320px,26vw);left:30%;top:0;transform:rotate(2deg);z-index:2}
.ev-pol.p3{width:min(300px,24vw);right:0;top:64px;transform:rotate(8deg);z-index:1}
.ev-pol:hover{transform:rotate(0) scale(1.04);z-index:5}
.flow{margin-top:36px;border:1px solid var(--line);background:rgba(8,16,20,.74);backdrop-filter:blur(8px);box-shadow:0 24px 60px rgba(0,0,0,.45);position:relative}
.flow::before{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,var(--phos),rgba(139,92,255,.7))}
.flow-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid rgba(63,232,207,.15)}
.flow-tab{display:flex;align-items:center;gap:12px;padding:18px 20px;background:none;border:0;border-right:1px solid rgba(63,232,207,.1);text-align:left;font-family:'Roboto Condensed',sans-serif;color:var(--mut);transition:background .2s,color .2s;cursor:pointer}
.flow-tab:last-child{border-right:0}
.flow-tab:hover{background:rgba(63,232,207,.05)}
.flow-tab.active{background:rgba(63,232,207,.1);color:#fff}
.flow-tab-num{flex:0 0 auto;width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(63,232,207,.4);background:rgba(63,232,207,.07);font-weight:800;font-size:19px;color:var(--phos)}
.flow-tab.active .flow-tab-num{background:var(--phos);color:#04110D;box-shadow:0 0 16px rgba(63,232,207,.4)}
.flow-tab-label{font-weight:800;font-size:18px;letter-spacing:-.01em;line-height:1.25}
.flow-stage{padding:34px 38px 28px}
.flow-panel{display:none;animation:fadeflow .35s ease}
.flow-panel.active{display:block}
@keyframes fadeflow{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.flow-title{font-weight:800;font-size:clamp(24px,2.6vw,34px);color:#fff;letter-spacing:-.012em;margin:6px 0 12px}
.flow-desc{font-size:19px;color:var(--mut);line-height:1.85;max-width:820px;min-height:96px}
.flow-nav{display:flex;align-items:center;gap:22px;margin-top:26px;padding-top:20px;border-top:1px solid rgba(63,232,207,.12)}
.flow-btn{border:1px solid rgba(63,232,207,.4);background:rgba(63,232,207,.06);color:var(--phos);font-family:'Roboto Condensed',sans-serif;font-weight:800;font-size:18px;padding:10px 20px;transition:background .2s,box-shadow .2s;cursor:pointer}
.flow-btn:hover:not(:disabled){background:rgba(63,232,207,.14);box-shadow:0 0 14px rgba(63,232,207,.25)}
.flow-btn:disabled{opacity:.3}
.flow-progress{flex:1;height:4px;background:rgba(63,232,207,.12);overflow:hidden}
.flow-progress span{display:block;height:100%;width:25%;background:linear-gradient(90deg,var(--phos),rgba(139,92,255,.8));transition:width .35s ease;box-shadow:0 0 10px rgba(63,232,207,.5)}
.distributor-section{padding:48px 0 26px}
.ev-pol.p4{width:min(240px,19vw);left:10%;top:270px;transform:rotate(6deg);z-index:1}
.ev-pol.p5{width:min(250px,20vw);left:42%;top:250px;transform:rotate(-5deg);z-index:2}
.ev-pol.p6{width:min(235px,19vw);right:2%;top:290px;transform:rotate(4deg);z-index:1}
.ev-trio{position:absolute;left:50%;bottom:-26px;transform:translateX(-50%);width:min(340px,26vw);z-index:6;filter:drop-shadow(0 20px 34px rgba(0,0,0,.6));transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
.ev-trio:hover{transform:translateX(-50%) scale(1.04)}
@media(max-width:1100px){.ev-hero-grid{grid-template-columns:1fr;gap:40px}.ev-hero-fan{height:430px;max-width:680px;margin:0 auto}.ev-hero{min-height:0}.ev-trio{width:min(240px,40vw)}}
@media(max-width:760px){.flow-tabs{grid-template-columns:repeat(2,1fr)}.flow-tab{border-bottom:1px solid rgba(63,232,207,.1)}.ev-hero-fan{height:330px}.ev-pol.p1{width:38vw}.ev-pol.p2{width:40vw}.ev-pol.p3{width:38vw}.flow-desc{min-height:0}}
@media(prefers-reduced-motion:reduce){.flow-panel{animation:none}.ev-pol{transition:none}}

/* global brightness pass r4 (2026-07-23) */
.final-cta:has(.map-zoom) .final-cta-scrim{background:radial-gradient(ellipse at center,rgba(6,12,14,.24),var(--bg) 97%)}
.ev-chips{flex-wrap:nowrap}
.ev-chip{white-space:nowrap;padding:5px 13px;letter-spacing:.06em}
@media(max-width:1240px){.ev-chips{flex-wrap:wrap}}
/* visit: parallax food intro band */
.vt-food-intro{position:relative;padding:74px 0 60px;overflow:hidden;background:url('hero-night.jpg') center 30%/cover fixed no-repeat}
.vt-food-intro::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,8,28,.82),rgba(14,8,28,.62))}
.vt-food-intro > div{position:relative;z-index:2}
@media(max-width:900px){.vt-food-intro{background-attachment:scroll}}
@media(prefers-reduced-motion:reduce){.vt-food-intro{background-attachment:scroll}}
/* visit find-us panel: dark purple, not black (Ken r4) — .location-info dark purple */
.location-info{border-color:rgba(139,92,255,.32);background:linear-gradient(165deg,rgba(36,20,70,.86),rgba(21,11,44,.92))}
/* contact mascot (Ken r6): panda-gameshow right of hero h1 */
.ct-hero .container{position:relative}
.ct-mascot{position:absolute;right:0;bottom:-64px;width:min(310px,21vw);z-index:1;pointer-events:none}
.ct-mascot img{width:100%;display:block;filter:drop-shadow(0 20px 36px rgba(0,0,0,.55))}
@media(max-width:1100px){.ct-mascot{display:none}}


html.flash-on body,html.flash-on a,html.flash-on button,html.flash-on [role=button]{cursor:none}

/* ---- FX master toggle (Rule 107): default ON; hero panda on index.html switches ---- */
html.fx-off #flash,html.fx-off #flashdot{display:none!important}
html.fx-off body,html.fx-off a,html.fx-off button,html.fx-off [role=button]{cursor:auto!important}
html.fx-off .margin-clue{opacity:0!important}
html.fx-off .hidden-ink{color:rgba(237,247,244,0)!important;text-shadow:none!important}
html.fx-off .sticky-note{display:none!important}
html.fx-off body::after{display:none!important}
html.fx-off 
html.fx-off .cam-feed::before,html.fx-off .cam-feed::after{display:none}
html.fx-off /* visit violet identity + fixes (2026-07-23 r2) */
.vt-h1{text-shadow:none}

/* =====================================================================
   === D12: menu-tier chrome ===  (Visual System Spec v3 + UI Kit v1)
   Merged per Rule 34. Tokens first, then the role layer (former
   system-v2.css, folded in), then the kit components, then FX gating.
   ===================================================================== */
:root{
  --sepia:#B5772F; --sepia-deep:#6b4520; --ink:#03110D;
  --line-rough:rgba(237,247,244,.62);
  --tex-dark:url(img/system/tex/tex-dark.webp); --tex-stone:url(img/system/tex/tex-stone.webp);
  --tex-teal:url(img/system/tex/tex-teal.webp); --tex-purple:url(img/system/tex/tex-purple.webp);
  --tex-sepia:url(img/system/tex/tex-sepia.webp); --tex-slate:url(img/system/tex/tex-slate.webp);
  --tex-slate2:url(img/system/tex/tex-slate2.webp);
  --plate-teal:url(img/system/plates/plate-teal.webp); --plate-purple:url(img/system/plates/plate-purple.webp);
  --plate-violet:url(img/system/plates/plate-violet.webp); --plate-darkblue:url(img/system/plates/plate-darkblue.webp);
  --plate-sepia:url(img/system/plates/plate-sepia.webp);
  --scrim-41:linear-gradient(180deg,rgba(6,12,14,.55),rgba(6,12,14,.92));
}

/* ---- role layer (former system-v2.css) ---- */
/* (role layer)
   Source: Visual Consistency, Typography & Readability Audit (Aug 2026)
   This file is loaded LAST on every page and owns the typographic and
   color ROLES sitewide. Pages may lay out differently; they may not
   invent a new heading, body, eyebrow, button, or overlay treatment.
   Exemptions (in-world props, not UI): paper documents, newspaper
   clippings, polaroids, case files, the CRT terminal, the neon sign,
   handwriting, and the Inheritance clue chrome.
   ===================================================================== */

:root{
  --sys-display:'Oswald','Roboto Condensed',sans-serif;        /* one display family   */
  --sys-body:'Roboto Condensed',system-ui,sans-serif;           /* one UI/body family   */
  --sys-h1:clamp(44px,5.4vw,76px);            /* one H1 size range    */
  --sys-h2:clamp(30px,3.2vw,44px);            /* one H2 size          */
  --sys-h3:22px;                              /* one card/H3 size     */
  --sys-text:#DCE4E1;                         /* body: high-contrast neutral (13.6:1 on --bg) */
  --sys-text-2:#A9C4BD;                       /* secondary / small text (9.4:1) */
  --sys-scrim:linear-gradient(180deg,rgba(6,12,14,.66) 0%,rgba(6,12,14,.5) 45%,rgba(6,12,14,.84) 100%);
}

/* ---------- H1 / DISPLAY: page titles and final-CTA statements ---------- */
h1,
.final-cta h2,.lp-final h2,.pr-cta h2,.fq-cta h2,.vt-cta h2,.ev-cta h2,.exp-cta h2,
h2.display{
  font-family:var(--sys-display)!important;font-weight:800!important;
  font-size:var(--sys-h1)!important;line-height:1.04!important;letter-spacing:-.015em!important;
  color:#fff!important;-webkit-text-fill-color:#fff!important;background:none!important;
  text-shadow:0 4px 28px rgba(0,0,0,.5)!important;text-transform:none!important;
}

/* ---------- H2 / SECTION: one style, no effects ---------- */
h2:not(.otc-banner__title):not(.otc-card__title):not(.otc-panel__title):not(.neon-title):not(.info-header):not(.np-h2):not(.doc h2):not(.final-cta h2):not(.lp-final h2):not(.pr-cta h2):not(.fq-cta h2):not(.vt-cta h2):not(.ev-cta h2):not(.exp-cta h2):not(.display){
  font-family:var(--sys-display)!important;font-weight:800!important;
  font-size:var(--sys-h2)!important;line-height:1.15!important;letter-spacing:-.01em!important;
  text-shadow:none!important;text-transform:none!important;
}
/* section headings on dark surfaces are white; paper/artifact headings keep their ink */
.feature-section h2,.exp-title,.ev-sec h2,.vt-sec h2,.pr-sec h2,.faq-section h2,.so-h2,.prose h2,.lp-sec h2,
.chapter-section h2,h1.rv,h2.rv,.wcn-grid h2,.ct-form h2,.ct-info h2,.location h2,.st h2,.trust h2,.video h2,
.reviews h2,.pol-section h2,.crt-section h2,.experiences h2,.booking-shell h2{
  color:#fff!important;-webkit-text-fill-color:#fff!important;background:none!important;
}

/* ---------- H3 / CARD TITLE ---------- */
h3:not(.np-h3):not(.doc h3){
  font-family:var(--sys-display)!important;font-weight:700!important;
  font-size:var(--sys-h3)!important;line-height:1.3!important;letter-spacing:-.005em!important;
  text-shadow:none!important;
}
.st-title,h3.st-title{color:#fff!important;-webkit-text-fill-color:#fff!important;background:none!important}

/* ---------- EYEBROW: one style; teal by default, purple as the secondary-accent role ---------- */
.feature-eyebrow,.lp-eyebrow,.lp-kicker,.vt-eyebrow,.st-eyebrow,.so-eyebrow,.ct-eyebrow,.location-eyebrow,
.neon-kicker,.chapter-hero-label,.detail-label,.page-hero-eyebrow,.ev-eyebrow,.chd-eyebrow,.pr-eyebrow,.fq-eyebrow,
.section-eyebrow,.eyebrow{
  font-family:var(--sys-body)!important;font-weight:700!important;font-size:18px!important;line-height:1.3!important;
  letter-spacing:.16em!important;text-transform:uppercase!important;color:var(--phos)!important;text-shadow:none!important;
}


/* ---------- BODY: one family, one high-contrast neutral, readable measure ---------- */
p{font-family:var(--sys-body);color:var(--sys-text);max-width:70ch}
.page-hero-sub,.lead,.lede,.detail-sub,.vt-sub,.ev-sub,.so-body,.info-p,.premise,.fi-line,
.feature-section p,.prose p,.faq-a-inner,.faq-a-inner p,.lp-hero p,.lp-sec p,.lp-final p,.final-cta p,
.chapter-section p,.ev-sec p,.vt-sec p,.pr-sec p,.ct-sub,.ct-form p,.ct-info p,.trust p,.video p,.st-body,.chd-sub,
.vt-food-p,.pr-sub,.table-caption,.pr-cta p,.fq-sub,.ct-lede,.distributor-inner p,.vt-sec .reveal p{
  color:var(--sys-text)!important;line-height:1.7!important;
}
.page-hero-sub,.lead,.lede,.ev-sub,.vt-sub,.chd-sub,.ct-sub{font-size:20px!important;max-width:60ch}
.page-hero--center p,.final-cta-content p,.lp-final p,.lp-final-inner p,[style*="text-align:center"] p,.text-center p{margin-left:auto;margin-right:auto}
/* hero lead on photography is the one permitted white body role */
.chapter-hero-story,.premise,.hero-lead{color:#fff!important}
/* purple/lavender is an accent, never long reading text */
.detail-sub{color:var(--sys-text)!important}
/* small / supporting text role */
.small,.foot-p,.room-card-meta,.dist-game-meta,.chapter-hero-meta,.time-badge-note,.vt-food-addr,.booking-alt,.breadcrumb{font-size:18px!important;line-height:1.55!important}

/* ---------- HERO SUBHEAD: one statement style (white, no accent color, no effects) ---------- */
.hero-subhead,.ev-subhead,.pr-subhead,.vt-subhead,.fq-subhead,.ct-subhead{font-family:var(--sys-body)!important;font-weight:700!important;font-size:22px!important;line-height:1.35!important;color:#fff!important;text-shadow:none!important;letter-spacing:0!important;text-transform:none!important}

/* ---------- TYPEWRITER is a prop treatment, not UI ---------- */
.pcar-count,.lights,.poi-link{font-family:var(--sys-body)!important;letter-spacing:0!important}
.lights{font-size:20px!important;color:var(--sys-text)!important;text-transform:none!important}

/* ---------- BUTTONS: one primary, one secondary ---------- */
.btn-primary,.btn-secondary,nav .book,.mobile-menu .book,.lp-btn,.btn{
  font-family:var(--sys-body)!important;font-weight:700!important;font-size:18px!important;
  letter-spacing:.01em!important;text-transform:none!important;line-height:1.2!important;text-shadow:none!important;
}

/* ---------- PHOTOGRAPHY OVERLAYS: one strength everywhere text sits on an image ---------- */
.page-hero-scrim,.lp-hero-scrim,.lp-final-scrim,.chapter-hero-scrim,.vt-hero-scrim,.pr-cta-scrim,.fq-hero-scrim,.ev-hero-scrim,.final-cta-scrim{
  background:var(--sys-scrim)!important;
}

/* ---------- UTILITY HERO template (legal, booking, gift cards, contact-style pages) ---------- */
.page-hero--center{padding:168px 32px 56px!important}
.page-hero--center .eff{font-family:var(--sys-body)!important;font-weight:600!important;font-size:18px!important;letter-spacing:.06em!important;color:var(--sys-text-2)!important;margin-top:14px}
.page-hero--center .lede,.page-hero--center .page-hero-sub{margin:18px auto 0}

/* ---------- Mobile floors ---------- */
@media(max-width:700px){
  :root{--sys-h1:clamp(38px,9.5vw,52px);--sys-h2:clamp(28px,7vw,34px)}
  p{max-width:none}
}

/* ---------- ORDER-SENSITIVE: eyebrow color must win over container body rules ---------- */
p[class*="eyebrow"],p[class*="kicker"],div[class*="eyebrow"],span[class*="eyebrow"],[class*="eyebrow"][class*="eyebrow"]{color:var(--phos)!important}
p.vt-eyebrow,p.location-eyebrow,.vt-eyebrow.vt-eyebrow,.location-eyebrow.location-eyebrow{color:var(--purple)!important}


/* ---- kit components ---- */
/* ==========================================================================
   OFF THE COUCH — UI KIT v1  (menu-tier chrome)
   Companion to the diamond icons and category tiles.
   Requires the <svg> filter block from otc-ui-filters.svg once per page.
   Textures live in tex/. Everything is live text; nothing is baked in.
   ========================================================================== */


/* ---------- surfaces ---------- */
.otc-tex-dark  {background:#1e2327 var(--tex-dark)   center/cover}
.otc-tex-stone {background:#5c6367 var(--tex-stone)  center/cover}
.otc-tex-teal  {background:#17786c var(--tex-teal)   center/cover}
.otc-tex-purple{background:#4a2f8f var(--tex-purple) center/cover}
.otc-tex-sepia {background:#6b4520 var(--tex-sepia)  center/cover}
.otc-tex-slate {background:#101619 var(--tex-slate)  center/cover}
.otc-tex-slate2{background:#171d1c var(--tex-slate2) center/cover}

/* ---------- rough edge (shared) ----------
   A pseudo-element carries a plain border and is displaced by feTurbulence,
   so the roughness scales with the element instead of being a fixed PNG. */
.otc-rough{position:relative;isolation:isolate}
.otc-rough::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  border:2px solid var(--line-rough);
  filter:url(#otc-rough);opacity:.9;
}
.otc-rough--soft::before{border-width:1.5px;opacity:.55}
.otc-rough--accent::before{border-color:var(--phos)}

/* ---------- button ----------
   Default: dark slab, rough light border, accent notch left. */
.otc-btn{
  display:inline-flex;align-items:center;gap:14px;
  min-height:56px;padding:0 28px 0 34px;
  font:800 19px/1 'Roboto Condensed',system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--fg);
  text-decoration:none;cursor:pointer;user-select:none;
  background:#1e2327 var(--tex-dark) center/cover;
  box-shadow:0 2px 0 rgba(0,0,0,.6),0 8px 22px rgba(0,0,0,.45);
  transition:filter .15s ease,transform .1s ease;
}
.otc-btn::after{                       /* the notch */
  content:'';position:absolute;left:10px;top:10px;bottom:10px;width:5px;
  background:var(--phos);filter:url(#otc-rough);box-shadow:0 0 10px rgba(63,232,207,.5);
}
.otc-btn:hover{filter:brightness(1.25)}
.otc-btn:active{transform:translateY(1px)}
.otc-btn:focus-visible{outline:2px solid var(--phos);outline-offset:3px}

.otc-btn--stone{background:#5c6367 var(--tex-stone) center/cover;color:#f4f8f7;text-shadow:0 1px 2px rgba(0,0,0,.5)}
.otc-btn--stone::after{background:#0c1113;box-shadow:none}

.otc-btn--active,.otc-btn.is-active{background:#17786c var(--tex-teal) center/cover;color:#03110D;text-shadow:none}
.otc-btn--active::after,.otc-btn.is-active::after{background:#03110D;box-shadow:none}
.otc-btn--active:hover{filter:brightness(1.12)}

.otc-btn--story{background:#4a2f8f var(--tex-purple) center/cover}
.otc-btn--story::after{background:#ECE4FF;box-shadow:0 0 10px rgba(139,92,255,.5)}

.otc-btn--quiet::after{display:none}
.otc-btn--quiet{padding-left:28px}
.otc-btn .otc-btn__icon{width:26px;height:26px;margin-left:auto;flex:0 0 auto}

/* ---------- settings row ----------
   Label on the left column, a wide slab control on the right. */
.otc-rows{display:grid;gap:8px}
.otc-row{display:grid;grid-template-columns:minmax(200px,1fr) minmax(320px,1.4fr);align-items:center;gap:24px;min-height:52px}
.otc-row__label{font:800 19px/1.1 'Roboto Condensed',system-ui,sans-serif;letter-spacing:.05em;text-transform:uppercase;color:var(--fg);padding-left:8px}
.otc-slab{
  position:relative;min-height:52px;display:flex;align-items:center;gap:14px;padding:0 18px;
  background:#1e2327 var(--tex-dark) center/cover;
  font:800 19px/1 'Roboto Condensed',system-ui,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--fg);
  box-shadow:0 2px 0 rgba(0,0,0,.55),0 6px 16px rgba(0,0,0,.4);
}
.otc-slab--active{background:#17786c var(--tex-teal) center/cover;color:#03110D}
.otc-slab__value{margin:0 auto}
.otc-slab__arrow{width:0;height:0;border:7px solid transparent;opacity:.7}
.otc-slab__arrow--l{border-right-color:var(--fg);border-left:0}
.otc-slab__arrow--r{border-left-color:var(--fg);border-right:0}

/* ---------- section marker (the vertical accent tick) ---------- */
.otc-marker{position:relative;padding-left:22px}
.otc-marker::before{content:'';position:absolute;left:0;top:.35em;width:6px;height:1.4em;background:var(--phos);filter:url(#otc-rough);box-shadow:0 0 12px rgba(63,232,207,.55)}
.otc-marker--story::before{background:var(--purple);box-shadow:0 0 12px rgba(139,92,255,.55)}

/* ---------- dropdown list ---------- */
.otc-list{display:grid;gap:4px;padding:6px;background:#0d1214}
.otc-list__item{
  position:relative;min-height:50px;display:flex;align-items:center;justify-content:center;
  background:#1e2327 var(--tex-dark) center/cover;
  font:800 19px/1 'Roboto Condensed',system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--fg);cursor:pointer;
}
.otc-list__item:hover{filter:brightness(1.3)}
.otc-list__item.is-selected{background:#17786c var(--tex-teal) center/cover;color:#03110D}

/* ---------- checkbox ---------- */
.otc-check{display:inline-flex;align-items:center;gap:14px;cursor:pointer;font:800 19px/1 'Roboto Condensed',system-ui,sans-serif;letter-spacing:.05em;text-transform:uppercase;color:var(--fg)}
.otc-check input{position:absolute;opacity:0;width:0;height:0}
.otc-check__box{position:relative;width:34px;height:34px;flex:0 0 auto;background:#0b0f11;box-shadow:inset 0 0 0 2px rgba(237,247,244,.75);filter:url(#otc-rough)}
.otc-check__box::after{               /* the brush-stroke tick, drawn as a rotated bar pair */
  content:'';position:absolute;left:9px;top:3px;width:18px;height:28px;
  border-right:5px solid var(--fg);border-bottom:5px solid var(--fg);
  transform:rotate(42deg) translate(-2px,-4px);transform-origin:center;opacity:0;transition:opacity .12s;
}
.otc-check input:checked + .otc-check__box::after{opacity:1}
.otc-check input:focus-visible + .otc-check__box{outline:2px solid var(--phos);outline-offset:3px}
.otc-check--story .otc-check__box::after{border-color:var(--purple)}

/* ---------- slider ---------- */
.otc-slider{position:relative;display:flex;align-items:center;gap:10px;min-height:52px;padding:0 14px;background:#1e2327 var(--tex-dark) center/cover;box-shadow:0 2px 0 rgba(0,0,0,.55)}
.otc-slider__track{position:relative;flex:1;height:22px;background:#0c1113;box-shadow:inset 0 0 0 1px rgba(0,0,0,.6)}
.otc-slider__fill{position:absolute;inset:0 auto 0 0;background:#17786c var(--tex-teal) center/cover;filter:url(#otc-torn)}
.otc-slider__fill--stone{background:#5c6367 var(--tex-stone) center/cover}
.otc-slider__value{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:800 18px/1 'Roboto Condensed',system-ui,sans-serif;color:var(--fg);text-shadow:0 1px 3px rgba(0,0,0,.8);pointer-events:none}
.otc-slider__arrow{width:0;height:0;border:7px solid transparent;opacity:.55;cursor:pointer}
.otc-slider__arrow--l{border-right-color:var(--fg);border-left:0}
.otc-slider__arrow--r{border-left-color:var(--fg);border-right:0}

/* ---------- progress ---------- */
.otc-progress{display:grid;gap:8px}
.otc-progress__bar{position:relative;height:24px;background:#0c1519;box-shadow:inset 0 0 0 1px rgba(63,232,207,.18)}
.otc-progress__fill{position:absolute;inset:0 auto 0 0;background:#17786c var(--tex-teal) center/cover;filter:url(#otc-torn);box-shadow:0 0 14px rgba(63,232,207,.35)}
.otc-progress__fill--story{background:#4a2f8f var(--tex-purple) center/cover;box-shadow:0 0 14px rgba(139,92,255,.35)}
.otc-progress__count{font:800 19px/1 'Roboto Condensed',system-ui,sans-serif;color:var(--phos)}
.otc-progress__count span{color:var(--mut);font-weight:400}

/* ---------- panel with header band (challenge card) ---------- */
.otc-card{position:relative;background:#101619 var(--tex-slate) center/cover;box-shadow:0 10px 30px rgba(0,0,0,.5)}
.otc-card__head{position:relative;padding:22px 28px 20px;background:#17786c var(--tex-teal) center/cover;color:#fff}
.otc-card__head::after{content:'';position:absolute;left:0;right:0;bottom:-10px;height:10px;background:inherit;filter:url(#otc-torn-h)}
.otc-card__head--story{background:#4a2f8f var(--tex-purple) center/cover}
.otc-card__head--sepia{background:#6b4520 var(--tex-sepia) center/cover}
.otc-card__title{font:800 clamp(24px,2.2vw,30px)/1.05 'Roboto Condensed',system-ui,sans-serif;letter-spacing:.02em;text-transform:uppercase;text-shadow:0 2px 6px rgba(0,0,0,.45)}
.otc-card__sub{margin-top:6px;font:600 18px/1.2 'Roboto Condensed',system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;opacity:.85}
.otc-card__body{padding:30px 28px 26px;color:var(--fg);font:400 19px/1.6 'Roboto Condensed',system-ui,sans-serif}
.otc-card__body p{margin:0 0 18px}
.otc-card__body p:last-child{margin:0}

/* ---------- text panel (event rules) ---------- */
.otc-panel{position:relative;padding:28px 32px;background:#171d1c var(--tex-slate2) center/cover;color:var(--fg);box-shadow:0 10px 30px rgba(0,0,0,.5)}
.otc-panel__nav{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:6px}
.otc-panel__title{text-align:center;font:800 22px/1.1 'Roboto Condensed',system-ui,sans-serif;letter-spacing:.03em;text-transform:uppercase}
.otc-panel__date{text-align:center;font:400 18px/1.3 'Roboto Condensed',system-ui,sans-serif;font-style:italic;color:var(--mut);margin-bottom:18px}
.otc-panel__rule{height:1px;background:rgba(237,247,244,.22);margin:0 0 22px}
.otc-panel__body{font:400 19px/1.6 'Roboto Condensed',system-ui,sans-serif;font-style:italic;color:#d9e6e2}
.otc-panel__body p{margin:0 0 16px}
.otc-panel__body p:last-child{margin:0}
.otc-chev{width:34px;height:34px;display:grid;place-items:center;cursor:pointer;opacity:.75;background:transparent;border:0;color:var(--fg)}
.otc-chev:hover{opacity:1}
.otc-chev svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:miter}

/* ---------- banner (event header) ---------- */
.otc-banner{position:relative;display:flex;align-items:center;gap:28px;padding:22px 34px;min-height:120px;color:#fff;background:#6b4520 var(--tex-sepia) center/cover;box-shadow:0 12px 30px rgba(0,0,0,.5)}
.otc-banner--teal{background:#17786c var(--tex-teal) center/cover}
.otc-banner--story{background:#4a2f8f var(--tex-purple) center/cover}
.otc-banner__emblem{width:96px;height:96px;flex:0 0 auto;object-fit:contain;filter:drop-shadow(0 3px 8px rgba(0,0,0,.6))}
.otc-banner__title{font:800 clamp(28px,3vw,42px)/1 'Roboto Condensed',system-ui,sans-serif;letter-spacing:.02em;text-transform:uppercase;text-shadow:0 2px 8px rgba(0,0,0,.5)}
.otc-banner__sub{margin-top:8px;font:600 18px/1.2 'Roboto Condensed',system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;opacity:.9}
.otc-banner__sub b{font-weight:800;opacity:1}
.otc-banner__tabs{margin-left:auto;display:flex;gap:10px}

/* ---------- small square tab ---------- */
.otc-tab{position:relative;width:56px;height:56px;display:grid;place-items:center;background:#1e2327 var(--tex-dark) center/cover;font:800 22px/1 'Roboto Condensed',system-ui,sans-serif;color:var(--fg);cursor:pointer}
.otc-tab.is-active{background:#17786c var(--tex-teal) center/cover;color:#03110D}
.otc-tab:hover{filter:brightness(1.3)}

/* ---------- content tile (objective) ---------- */
.otc-tile{position:relative;aspect-ratio:1;display:grid;grid-template-rows:1fr auto;padding:26px;color:#fff;background:#0a1a1c var(--plate-teal) center/cover;box-shadow:0 12px 30px rgba(0,0,0,.5)}
.otc-tile--story{background:#1a1030 var(--plate-purple) center/cover}
.otc-tile--violet{background:#1d1430 var(--plate-violet) center/cover}
.otc-tile--darkblue{background:#0a1226 var(--plate-darkblue) center/cover}
.otc-tile--sepia{background:#2a1a08 var(--plate-sepia) center/cover}
.otc-tile__art{display:grid;place-items:center}
.otc-tile__art img{max-width:78%;max-height:78%;filter:drop-shadow(0 6px 18px rgba(0,0,0,.6))}
.otc-tile__label{text-align:center;font:800 20px/1.15 'Roboto Condensed',system-ui,sans-serif;letter-spacing:.04em;text-transform:uppercase;text-shadow:0 2px 6px rgba(0,0,0,.5)}

/* ---------- page tab strip ---------- */
.otc-tabs{display:flex;gap:26px;align-items:center}
.otc-tabs a{font:800 20px/1 'Roboto Condensed',system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);text-decoration:none;padding:6px 0}
.otc-tabs a.is-active{color:var(--fg)}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){.otc-btn,.otc-check__box::after{transition:none}}


/* ---- D12 site adaptations ---- */
.otc-btn{border-radius:0}
nav .book.otc-btn{min-height:48px;padding:0 22px 0 28px;font-size:18px}
.otc-cat{position:relative;display:grid;grid-template-rows:1fr auto auto;aspect-ratio:1;padding:8% 8% 9%;background:#0a1a1c var(--plate-teal) center/cover;color:var(--fg);text-decoration:none;box-shadow:0 12px 30px rgba(0,0,0,.5)}
.otc-cat--purple{background-image:var(--plate-purple)}.otc-cat--violet{background-image:var(--plate-violet)}
.otc-cat--darkblue{background-image:var(--plate-darkblue)}.otc-cat--sepia{background-image:var(--plate-sepia)}
.otc-cat--wide{aspect-ratio:3/2}.otc-cat--half{aspect-ratio:4/3}
.otc-cat__emblem{width:64%;margin:0 auto;align-self:center;filter:drop-shadow(0 6px 18px rgba(0,0,0,.6))}
.otc-cat--wide .otc-cat__emblem,.otc-cat--half .otc-cat__emblem{width:38%}
.otc-cat__title{font:800 20px/1.1 'Roboto Condensed',sans-serif!important;letter-spacing:.06em;text-transform:uppercase;text-align:center;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.5)}
.otc-cat__sub{font:400 18px/1.25 'Roboto Condensed',sans-serif!important;color:var(--mut);text-align:center;margin-top:6px}
.otc-cat:hover{filter:brightness(1.15)}
.otc-cat:focus-visible{outline:2px solid var(--phos);outline-offset:3px}
.otc-cats{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.otc-slab--row{min-height:60px;text-transform:none;letter-spacing:0;font-weight:600}
.otc-slab__ico{width:28px;height:28px;flex:0 0 auto;object-fit:contain}
.otc-slab__label{font:800 18px/1 'Roboto Condensed',sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);min-width:110px}
.otc-slab__text{font:600 19px/1.3 'Roboto Condensed',sans-serif;color:var(--fg);text-transform:none;letter-spacing:0}
.otc-slab__text a{color:var(--fg);text-decoration:none}.otc-slab__text a:hover{color:var(--phos)}
.otc-banner .otc-btn{margin-left:auto;flex:0 0 auto}
.otc-banner__body{min-width:0}
.otc-hero-emblem{width:220px;height:220px;object-fit:contain;filter:drop-shadow(0 10px 30px rgba(0,0,0,.6))}
.otc-dia{object-fit:contain;filter:drop-shadow(0 8px 24px rgba(0,0,0,.6))}
.otc-dia--96{width:96px;height:96px}.otc-dia--160{width:160px;height:160px}.otc-dia--220{width:220px;height:220px}
.otc-marker{padding-left:22px}
.page-hero-bg--sys{background-size:cover;background-position:center 30%}
.page-hero-scrim,.lp-hero-scrim,.lp-final-scrim,.chapter-hero-scrim,.vt-hero-scrim,.pr-cta-scrim,.fq-hero-scrim,.ev-hero-scrim,.final-cta-scrim{background:var(--scrim-41)!important}
.otc-filters{position:absolute;width:0;height:0;overflow:hidden}
@media(max-width:700px){.otc-banner{flex-wrap:wrap;padding:20px 22px}.otc-banner .otc-btn{margin-left:0;width:100%;justify-content:center}.otc-banner__emblem{width:72px;height:72px}.otc-cats{grid-template-columns:repeat(2,1fr);gap:14px}.otc-hero-emblem{width:150px;height:150px}.otc-dia--220{width:150px;height:150px}.otc-dia--160{width:120px;height:120px}}

/* ---- FX toggle gating (Rule 107): straight edges, square fills when effects are off ---- */
html.fx-off .otc-rough::before,[data-fx="off"] .otc-rough::before,
html.fx-off .otc-btn::after,[data-fx="off"] .otc-btn::after,
html.fx-off .otc-slider__fill,[data-fx="off"] .otc-slider__fill,
html.fx-off .otc-progress__fill,[data-fx="off"] .otc-progress__fill,
html.fx-off .otc-card__head::after,[data-fx="off"] .otc-card__head::after,
html.fx-off .otc-marker::before,html.fx-off .otc-check__box{filter:none}
.otc-banner__actions{margin-left:auto;display:flex;gap:12px;flex-wrap:wrap;flex:0 0 auto}
.cta-banner{padding:72px 48px;background:var(--bg)}
.otc-banner .otc-btn{margin-left:0}
h2.otc-banner__title{color:#fff!important}
@media(max-width:700px){.cta-banner{padding:44px 20px}.otc-banner__actions{width:100%}.otc-banner__actions .otc-btn{flex:1;justify-content:center}}
/* ---- D12 hero backgrounds (one per page, always under the Rule 41 scrim) ---- */
.pr-hero{background:var(--bg)!important}
.pr-hero::before{content:'';position:absolute;inset:0;background:url('img/system/bg/bg-desk-1920.webp') center 30%/cover no-repeat;z-index:0}
.pr-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,12,14,.5) 0%,rgba(6,12,14,.78) 60%,var(--bg) 100%);z-index:0}
.pr-hero-atmo,.pr-hero-glow,.pr-hero-glow2{display:none!important}
.pr-hero .container{position:relative;z-index:1}
.page-hero--center{position:relative;overflow:hidden}
.page-hero--center .page-hero-bg{position:absolute;inset:0;z-index:0}
.page-hero--center .page-hero-scrim{position:absolute;inset:0;z-index:0;background:var(--scrim-41)}
.page-hero--center>*{position:relative;z-index:1}
.chapter-hero-label{display:flex;align-items:center;gap:16px}
.chd-hero{display:grid;grid-template-columns:auto 1fr;gap:12px 32px;align-items:center;justify-content:start}
.chd-hero .otc-dia{grid-row:1/4}
.chd-hero .eb,.chd-hero h1,.chd-hero .chd-sub{grid-column:2}
@media(max-width:700px){.chd-hero{grid-template-columns:1fr}.chd-hero .otc-dia{grid-row:auto;grid-column:1;justify-self:start}.chd-hero .eb,.chd-hero h1,.chd-hero .chd-sub{grid-column:1}}
.notfound-emblem{width:160px;height:160px;object-fit:contain;filter:drop-shadow(0 10px 30px rgba(0,0,0,.6));margin-bottom:8px}
.prose h2{padding-left:22px}
.wcn-dia{display:block;margin-bottom:18px}
.wcn-card.otc-tile--story{background:#1a1030 var(--plate-purple) center/cover;color:#fff}
.wcn-card.otc-tile--story .nm,.wcn-card.otc-tile--story .rl{color:#fff!important;font-family:'Roboto Condensed',sans-serif!important}
.wcn-card.otc-tile--story .otc-dia{width:100%;height:auto;max-width:160px;margin:0 auto;display:block}

/* ---- D13 typeface change (Nick's veto of the previous face) ---- */
:root{--sys-h1:clamp(52px,6.6vw,96px);--sys-h2:clamp(34px,3.8vw,52px);--sys-h3:26px}
h1:not(.neon-title),h2:not(.neon-title),h3,.otc-btn,.otc-slab,.otc-tab,.otc-tile__label,.otc-cat__title,.otc-list__item,.otc-check,.otc-row__label,.otc-banner__title,.otc-card__title,.otc-panel__title,.otc-tabs a,.otc-progress__count,.otc-slider__value,
.feature-eyebrow,.lp-eyebrow,.lp-kicker,.vt-eyebrow,.st-eyebrow,.so-eyebrow,.ct-eyebrow,.location-eyebrow,.chapter-hero-label,.detail-label,.page-hero-eyebrow,.ev-eyebrow,.chd-eyebrow,.pr-eyebrow,.fq-eyebrow,.section-eyebrow,.eyebrow,.hero-subhead,.ev-subhead,
nav a,.mobile-menu a,.doc-tab,.num-tab,.arrow-btn,.map-tool,.district,.map-mk span,.st-numeral,.numeral,.trust-val,.foot-h,.otc-card__sub,.otc-banner__sub,.otc-panel__date{
  font-family:'Oswald','Roboto Condensed',sans-serif!important;font-weight:600!important;letter-spacing:.06em!important;text-transform:uppercase!important;
}
h1:not(.neon-title){letter-spacing:.02em!important;line-height:.98!important}
h2:not(.neon-title){letter-spacing:.03em!important;line-height:1.05!important}
h3{font-size:26px!important;letter-spacing:.05em!important}
.otc-btn,.otc-slab,.otc-tab,nav a,.mobile-menu a,.doc-tab{font-size:22px!important;letter-spacing:.08em!important}
nav .book.otc-btn{font-size:22px!important}
.feature-eyebrow,.lp-eyebrow,.lp-kicker,.vt-eyebrow,.st-eyebrow,.so-eyebrow,.ct-eyebrow,.location-eyebrow,.chapter-hero-label,.detail-label,.ev-eyebrow,.chd-eyebrow,.eyebrow,.foot-h{font-size:20px!important;letter-spacing:.18em!important}
.hero-subhead,.ev-subhead{font-size:26px!important;letter-spacing:.08em!important}
.otc-cat__title{font-size:26px!important;letter-spacing:.08em!important}
.otc-banner__title{font-size:clamp(34px,3.6vw,50px)!important;letter-spacing:.05em!important}
p,li,td,th,dd,dt,label,input,textarea,select,button:not(.otc-btn):not(.doc-tab):not(.num-tab):not(.arrow-btn):not(.map-tool),.lede,.lead,.page-hero-sub,.premise,.prose,.faq-a-inner,.otc-card__body,.otc-panel__body,.otc-cat__sub,.st-body,.st-meta,.chd-sub,.trust-lbl,.foot-p{font-family:'Roboto Condensed',system-ui,sans-serif!important}
.doc-tab,.num-tab{font-weight:400!important}
a.otc-btn,button.otc-btn,.otc-btn.otc-btn{font-family:'Oswald','Roboto Condensed',sans-serif!important;font-weight:400!important}

/* ---- D14: three faces only. Oswald = display, Roboto Condensed = body, TT2020 = prop. No text shadows, no 3D, no aberration on any text (the neon sign is Jo's prop and is exempt). ---- */
h1:not(.neon-title),h2:not(.neon-title){font-weight:700!important}
h1:not(.neon-title){letter-spacing:.03em!important;line-height:1!important}
h2:not(.neon-title){letter-spacing:.04em!important}
h3,.otc-btn,.otc-slab,.otc-tab,.otc-cat__title,.otc-banner__title,nav a,.mobile-menu a,.doc-tab,.num-tab{font-weight:600!important}
.feature-eyebrow,.lp-eyebrow,.lp-kicker,.vt-eyebrow,.st-eyebrow,.so-eyebrow,.ct-eyebrow,.location-eyebrow,.chapter-hero-label,.detail-label,.ev-eyebrow,.chd-eyebrow,.eyebrow,.foot-h,.hero-subhead,.ev-subhead{font-weight:500!important}
:root{--sys-h1:clamp(48px,6vw,88px);--sys-h2:clamp(32px,3.4vw,48px)}
.otc-btn,.otc-slab,.otc-tab,nav a,.mobile-menu a,.doc-tab{font-size:19px!important;letter-spacing:.1em!important}
body,p,li,td,th,dd,dt,label,input,textarea,select,.lede,.lead,.page-hero-sub,.premise,.prose,.faq-a-inner,.otc-card__body,.otc-panel__body,.otc-cat__sub,.st-body,.st-meta,.chd-sub,.trust-lbl,.foot-p{font-family:'Roboto Condensed',system-ui,sans-serif!important}
*:not(.neon-sign):not(.neon-sign *){text-shadow:none!important;-webkit-text-stroke:0!important}
@media(max-width:700px){.flow-tabs{grid-template-columns:1fr 1fr}.flow-tab{min-width:0;padding:16px 12px!important;white-space:normal}.flow-tab *{min-width:0;overflow-wrap:anywhere}}
/* Jo's sign: keep its face on the kicker; just stop the belt from widening the page on phones */
.neon-kicker{font-family:'Courier Prime',monospace!important;font-size:18px!important;letter-spacing:.3em!important;text-transform:uppercase!important;font-weight:400!important}
.neon-belt{overflow:hidden}
@media(max-width:700px){.neon-sign{padding:32px 20px!important}}
nav a.book.otc-btn,.mobile-menu a.book.otc-btn{text-transform:uppercase!important;letter-spacing:.1em!important}
/* HARD GUARD: no filter, stroke, gradient fill or shadow on any text role. Ever. (Jo's neon sign excepted.) */
h1:not(.neon-title),h2:not(.neon-title),h3,h4,h5,h6,p:not(.neon-kicker),li,label,blockquote,.numeral,.st-title,.st-numeral,.hero-subhead,.ev-subhead,.pin-num,.pin-lbl,.dn-title,.dn-kicker{filter:none!important;text-shadow:none!important;-webkit-text-stroke:0!important;-webkit-background-clip:border-box!important;background-clip:border-box!important;-webkit-text-fill-color:currentColor!important;background-image:none!important}
/* Paper surfaces read in ink, never white (documents, clippings, polaroids, scraps) */
.doc *:not(.hand):not(.hand-fill):not(.hand-small):not(.doc-stamp):not(.doc-stamp *):not(.doc-tab),.doc,.pcar-card .pcar-cap,.pol-front *,.pol-back .pol-poi,.desk-scrap{color:#1B1B19!important}
.doc .np-kicker,.doc .tw-label{color:#4A473E!important}
.district-note .dn-kicker{color:#6B5A48!important}
/* banners: nothing black on the sepia plate */
.otc-banner,.otc-banner *{color:#fff!important}
.otc-banner .otc-btn--active,.otc-banner .otc-btn--active::after{color:#fff!important}
.otc-banner .otc-btn--active::after{background:#fff!important}
/* nav: one size everywhere, including the Book Now */
nav .book.otc-btn,.mobile-menu .book.otc-btn{font-size:19px!important;min-height:44px!important;padding:0 20px 0 26px!important}
/* legibility floor 14pt (19px) on nav dropdown + small chrome, sitewide */
.nav-caret,.nav-dd-name,.nav-dd-desc,.mobile-menu .mm-sub,.trust-lbl,.rev-meta,.foot-p,.foot-h,.st-meta,.case-link,.eff,.breadcrumb,.room-card-meta,.dist-game-meta,.chapter-hero-meta,.time-badge-note,.vt-food-addr,.booking-alt,.otc-cat__sub,.logo-tile__sub{font-size:19px!important}
/* case board: clean grid, name + line under each diamond */
.dia-chain{display:grid;grid-template-columns:repeat(9,1fr);gap:14px;max-width:1280px;margin:0 auto;padding:36px 0 60px;align-items:start}
.dia-link{width:auto;height:auto;margin:0;display:flex;flex-direction:column;align-items:center;gap:10px;text-decoration:none;color:#fff;transform:none!important;padding:8px 4px}
.dia-link:nth-child(even){padding-top:40px}
.dia-link img{width:120px;height:120px;object-fit:contain;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
.dia-link:hover img,.dia-link:focus-visible img{transform:scale(1.08)}
.dia-name{font-family:'Oswald','Roboto Condensed',sans-serif;font-weight:600;font-size:20px;letter-spacing:.08em;text-transform:uppercase;text-align:center;line-height:1.1}
.dia-role{font-family:'Roboto Condensed',sans-serif;font-size:19px;color:var(--mut);text-align:center;line-height:1.3}
.dia-locked{cursor:pointer}.dia-locked .dia-role{color:rgba(169,196,189,.75)}
@media(max-width:1100px){.dia-chain{grid-template-columns:repeat(5,1fr)}.dia-link:nth-child(even){padding-top:8px}}
@media(max-width:700px){.dia-chain{grid-template-columns:repeat(3,1fr);gap:10px}.dia-link img{width:92px;height:92px}}
button.dia-link{background:transparent!important;border:0!important;color:#fff!important;font:inherit;box-shadow:none;-webkit-appearance:none;appearance:none}
button.dia-link:focus-visible{outline:2px solid var(--phos);outline-offset:4px}
/* paper surfaces never inherit a white fill */
.pcar-card,.pcar-card *,.doc,.doc *,.pol-front,.pol-front *,.pol-back,.pol-back *,.desk-scrap,.district-note,.district-note *{-webkit-text-fill-color:currentColor!important}
.pcar-card .pcar-cap{color:#1B1B19!important}
/* 2) character heroes: centred column */
.chd-hero{display:flex!important;flex-direction:column;align-items:center;text-align:center;gap:10px}
.chd-hero .otc-dia{margin:0 auto 8px}
.chd-hero .eb,.chd-hero h1,.chd-hero .chd-sub{grid-column:auto;text-align:center;margin-left:auto;margin-right:auto}
/* 3) case board: names only */
.dia-role{display:none!important}
/* Rule 139: nav type is 12pt (16px) everywhere so links never collide */
nav a,.mobile-menu a,nav .book.otc-btn,.mobile-menu .book.otc-btn,.nav-dd-name{font-size:16px!important;letter-spacing:.08em!important}
nav .book.otc-btn{min-height:40px!important;padding:0 16px 0 22px!important}
nav{gap:0}
nav .nav-links,nav ul{gap:22px!important}
.nav-dd-desc{font-size:16px!important}
/* Rule 139: burger kicks in before the links can collide with Book Now */
@media(max-width:1200px){nav ul{display:none!important}.nav-burger{display:flex!important}.nav-dropdown-menu{display:none!important}}
/* nav-uniform: identical bar on every page at every width */
nav{box-sizing:border-box!important;height:80px!important;padding:0 56px!important;display:flex!important;align-items:center!important;justify-content:space-between!important}
nav a,.mobile-menu a,nav .book.otc-btn,.mobile-menu .book.otc-btn,nav .book,.nav-dd-name{font-family:'Oswald','Roboto Condensed',sans-serif!important;font-weight:600!important;font-size:16px!important;letter-spacing:.08em!important;text-transform:uppercase!important}
nav .book,nav .book.otc-btn{min-height:40px!important;height:40px!important;padding:0 16px 0 22px!important;line-height:1!important;display:inline-flex!important;align-items:center!important}
nav .wm,nav img.wm{height:36px!important;width:auto!important}
@media(max-width:1200px){nav{height:72px!important;padding:0 24px!important}nav ul{display:none!important}.nav-burger{display:flex!important}.nav-dropdown-menu{display:none!important}nav .wm,nav img.wm{height:32px!important}}
@media(max-width:600px){nav{padding:0 16px!important;height:64px!important}nav .wm,nav img.wm{height:22px!important}nav .book,nav .book.otc-btn{padding:0 10px 0 14px!important;min-height:36px!important;height:36px!important}.nav-burger{margin-left:auto}}
/* Rule 140: every Book Now / primary button is the index bright teal */
.otc-btn--active,nav .book,.mobile-menu .book{background:var(--phos)!important;background-image:none!important;color:#03110D!important;box-shadow:0 0 20px rgba(63,232,207,.25)!important}
.otc-btn--active::after{background:#03110D!important}
.otc-banner .otc-btn--active,.otc-banner .otc-btn--active::after{color:#03110D!important}
.otc-banner .otc-btn--active::after{background:#03110D!important}
/* Rule 141 */
.ev-hero-fan{display:flex;align-items:center;justify-content:center;height:auto!important;min-height:420px}
.ev-trio{position:static!important;transform:none!important;width:min(440px,32vw)!important;margin:0 auto}
.ct-mascot{top:50%!important;bottom:auto!important;transform:translateY(-50%);right:24px!important}
.pr-sub{font-weight:700!important}
/* Rule 142 */
.faq-a-inner ul,.faq-a ul,.prose ul,.prose ol{padding-left:1.5em!important;margin-left:0}
.faq-a-inner li,.prose li{padding-left:.25em}
.otc-banner__emblem{width:120px!important;height:120px!important;flex:0 0 120px!important;object-fit:contain}
.chapter-hero{padding-top:130px!important;align-items:flex-start!important}
.chapter-hero-content{margin-top:0!important}
@media(max-width:700px){.otc-banner__emblem{width:84px!important;height:84px!important;flex-basis:84px!important}.chapter-hero{padding-top:100px!important}}
/* Rule 144: mobile tap targets */
.wm-link{display:inline-flex!important;align-items:center;min-height:44px}
.nav-burger{min-width:44px!important;min-height:44px!important}
.pcar-dot,.carousel-dot,.dot{position:relative;min-width:12px;min-height:12px}
.pcar-dot::before,.carousel-dot::before,.dot::before{content:'';position:absolute;left:50%;top:50%;width:44px;height:44px;transform:translate(-50%,-50%)}
@media(max-width:700px){.lp-strip .otc-btn,.lp-strip a,.banner a,.banner .banner-link{min-height:44px!important;display:inline-flex!important;align-items:center}.prose a,.faq-a-inner a,.vt-info a,.ct-info a{padding:8px 0;display:inline-block}}
@media(max-width:700px){nav .book,nav .book.otc-btn{min-height:40px!important;height:40px!important;padding:0 10px 0 14px!important}.case-link,#st-case,.st-case{min-height:44px;display:inline-flex!important;align-items:center}.breadcrumb a,.crumbs a{padding:10px 4px;display:inline-block}.vt-info a,.ct-info a,.info-row a,.vt-address a{padding:10px 0;display:inline-block}}
/* Rule 147: the nav is a solid band on every page, so it reads the same over any hero */
nav{background:rgba(6,12,14,.94)!important;border-bottom:1px solid rgba(255,255,255,.06)!important;backdrop-filter:none!important}
/* ===== Rule 149: theme unification (Ken, 2026-09-16) ===== */
/* 2) camera chrome retired; room carousels sit on a sepia kit surface */
.cam-readout,.cam-rec,.cam-rec-dot{display:none!important}
.cam-feed{padding:14px;background:#5a3a1c var(--tex-sepia) center/cover;border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 40px rgba(0,0,0,.55)}
.cam-feed .carousel-track,.cam-feed .carousel-slide img{border:0}
.crt-shell .info-modal,.info-modal{background:#151a1d var(--tex-slate) center/cover!important;border:1px solid rgba(255,255,255,.16)!important}
/* 3) photography treated, not replaced: split-tone + grunge frame */
.carousel-slide img,.vt-food img,.so-media img,.st-pol img,.stage-pol img{filter:sepia(.18) saturate(.86) contrast(1.06)}
.carousel-slide img{outline:1px solid rgba(0,0,0,.35);outline-offset:-1px}
/* 5) panels and docs on the kit textures instead of flat fills */
/* ===== Rule 150: motif colours per page, analog remnants retired ===== */
:root{--hair:rgba(255,255,255,.12);--ink-shadow:0 14px 34px rgba(0,0,0,.55)}
/* hairlines: no more phosphor teal/purple borders */
.ev-hero,.ev-chip,.distributor-wrap,.distributor-controls,.distributor-table,.distributor-table th,.distributor-table td,.dist-game-card,
.pr-hero,.how-step,.time-badge,.table-wrap,.table-wrap th,.table-wrap td,.pp,.badge-best,
.vt-hero,.location-info,.hours-row,.location-map,.vt-food-addr,
.fq-hero,.faq-list,.faq-item,.faq-chevron,.fq-note,
.ct-hero,.ct-form-panel,.form-input,.ct-card,.ct-card-ic,.ct-hours,.ct-hours-row,.ct-map,
.progress-bar,.chero-notes,.notice,.chapter-book-section,.booking-frame,.carousel-section,.carousel-dot,.feature-section,.reveal,.mm-sub{border-color:var(--hair)!important}
/* gradient accent strips and radial glows: gone */
.distributor-wrap::before,.flow::before,.how-steps-inline::before,.table-wrap::before,.ct-form-panel::before,.how-step::before{display:none!important}
.pr-hero-glow,.pr-hero-glow2,.ct-hero-glow,.ct-hero-glow2,.vt-hero-glow,.fq-hero-glow,.ev-hero-glow{display:none!important}
.time-badge-divider{background:var(--hair)!important}
/* glows become ink shadows */
.dist-dot,.flow-tab-num,.badge-best,.section-icon,.progress-seg,.carousel-dot,.ev-chip{box-shadow:none!important}
.progress-seg{background:#3FE8CF!important}.progress-seg.inactive{background:rgba(255,255,255,.14)!important}
/* motif plates by page (nothing grey) */
.how-step,.pp,.badge-best{background:#0b2b2a var(--plate-teal) center/cover!important;color:#fff!important}
.time-badge{background:#0d1a3a var(--plate-darkblue) center/cover!important}
.dist-game-card,.flow-tab.active,.ev-step,.distributor-controls{background:#1a1030 var(--plate-purple) center/cover!important}
.ev-chip{background:#0b2b2a var(--plate-teal) center/cover!important;color:#fff!important}
.location-info,.hours-row,.vt-slab,.vt-food-card,.location-map{background:#3a2412 var(--plate-sepia) center/cover!important}
.faq-item,.faq-q,.fq-note{background:#0d1a3a var(--plate-darkblue) center/cover!important}
.faq-item.open .faq-q,.faq-q:hover{background:#0b2b2a var(--plate-teal) center/cover!important}
.ct-form-panel,.ct-card,.ct-hours{background:#1e1240 var(--plate-violet) center/cover!important}
.form-input{background:rgba(0,0,0,.35)!important}
.detail-card,.chero-notes,.notice{background:#0d1a3a var(--plate-darkblue) center/cover!important}
.chapter-card{background:#0d1a3a var(--plate-darkblue) center/cover!important}
/* What Comes Next: deep blue plate, never grey */
.feature-section.bg-wine2,.wcn-grid{background:#0d1a3a var(--plate-darkblue) center/cover!important}
.wcn-card:not(.otc-tile--story){background:#1a1030 var(--plate-purple) center/cover!important;color:#fff}
.doc-tabs .doc-tab{background:#0d1a3a var(--plate-darkblue) center/cover;color:#fff}.doc-tabs .doc-tab.on{background:#3FE8CF!important;color:#03110D!important}
.dist-game-thumb,.dist-footer,.flow-tabs,.flow-tab-num,.flow-nav,.flow-btn,.vt-eyebrow{border-color:var(--hair)!important}
.flow-progress span{background:#3FE8CF!important;box-shadow:none!important}
.pr-hero-glow,.pr-hero-glow2,.ct-hero-glow,.ct-hero-glow2{display:none!important;background:none!important}
/* ===== Rule 151: more of the kit ===== */
.flow-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:1180px;margin:0 auto}
.flow-cards .otc-card p{margin:0 0 14px}
@media(max-width:900px){.flow-cards{grid-template-columns:1fr}}
/* Experiences dropdown as a kit panel */
.nav-dropdown-menu{background:#0d1a3a var(--plate-darkblue) center/cover!important;border:1px solid var(--hair)!important;box-shadow:0 18px 44px rgba(0,0,0,.6)!important;padding:8px!important;border-radius:0!important}
.nav-dd-item{display:block;padding:12px 14px!important;border-bottom:1px solid var(--hair)!important;background:transparent!important;border-radius:0!important}
.nav-dd-item:last-child{border-bottom:0!important}
a.nav-dd-item:hover{background:#0b2b2a var(--plate-teal) center/cover!important}
.nav-dd-name{color:#fff!important;font-family:'Oswald','Roboto Condensed',sans-serif!important;font-weight:600!important;letter-spacing:.06em!important;text-transform:uppercase!important;font-size:16px!important}
.nav-dd-desc{color:var(--mut)!important;font-family:'Roboto Condensed',sans-serif!important;font-size:16px!important;line-height:1.35!important;margin-top:2px}
.nav-dd-soon .nav-dd-name{color:#8B5CFF!important}
/* terminal stays black */
.crt-shell .info-modal,.info-modal{background:#0b0e10!important;background-image:none!important}

.nav-dd-desc{text-transform:none!important;letter-spacing:0!important}
/* ===== Rule 152 ===== */
.flow-card{max-width:760px;margin:0 auto}
.flow-card__nav{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px}
.flow-card__marks{display:flex;gap:10px}
.otc-chev[disabled]{opacity:.35;cursor:default}
.otc-mark,.carousel-dot,.pcar-dot,.dist-dot,.dot{width:14px!important;height:14px!important;border-radius:0!important;background:#7a7f7c var(--tex-stone) center/cover!important;box-shadow:none!important;border:1px solid rgba(255,255,255,.25)!important;transform:rotate(45deg);opacity:.55}
.otc-mark.on,.carousel-dot.active,.pcar-dot.active,.dist-dot.on,.dot.active{opacity:1;background:#fff var(--tex-stone) center/cover!important;filter:brightness(1.6)}
.dist-dots{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.distributor-wrap{background:#1a1030 var(--plate-purple) center/cover!important;padding:22px!important}
.distributor-table,.distributor-table th,.distributor-table td,.dist-game-card,.dist-game-thumb,.dist-footer,.distributor-controls{background:transparent!important;background-image:none!important;border-color:rgba(255,255,255,.14)!important;box-shadow:none!important}
.dist-game-card{border:0!important}
.rev-card{background:#0d1a3a var(--plate-darkblue) center/cover!important;border:1px solid var(--hair)!important;box-shadow:var(--ink-shadow)!important;padding:26px!important}
.rev-card .rev-quote,.rev-card .rev-name,.rev-card .rev-body{color:#fff!important}.rev-card .rev-meta{color:var(--mut)!important}.rev-stars{color:#F5D34A!important}
.times-section,.table-section,.save-section{background:#3a2412 var(--tex-sepia) center/cover!important}
.times-section .time-badge{background:rgba(0,0,0,.28)!important;border:1px solid rgba(255,255,255,.18)!important}
.table-wrap{background:rgba(0,0,0,.22)!important;border:1px solid rgba(255,255,255,.18)!important}
.table-wrap table{width:100%;border-collapse:collapse}
.table-wrap th{background:#0b2b2a var(--plate-teal) center/cover!important;color:#fff!important;border:1px solid rgba(255,255,255,.14)!important;padding:14px 16px!important}
.table-wrap td{background:rgba(0,0,0,.18)!important;color:#fff!important;border:1px solid rgba(255,255,255,.14)!important;padding:14px 16px!important}
.table-wrap tr:nth-child(even) td{background:rgba(0,0,0,.3)!important}
.table-wrap td.pp,.table-wrap th.pp{background:#0b2b2a var(--plate-teal) center/cover!important}
.badge-best{background:#F5D34A!important;color:#03110D!important;border:0!important}
.save-card{background:rgba(0,0,0,.28)!important;border:1px solid rgba(255,255,255,.18)!important}
.location-section{background:#0b2b2a var(--plate-teal) center/cover!important}
.location-info,.hours-row,.hours-table,.location-map{background:rgba(0,0,0,.22)!important;border-color:rgba(255,255,255,.16)!important}
.vt-food-intro,.vt-food-grid{background:#8a5a25 var(--tex-sepia) center/cover!important}
.vt-food-intro{padding-bottom:0!important}
.vt-food-card{background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.22)!important;color:#fff}
.vt-food-card .vt-eyebrow{color:#F5D34A!important}.vt-food-card .vt-food-name,.vt-food-card .vt-food-p,.vt-food-card .vt-food-addr{color:#fff!important}
/* ===== Rule 153 ===== */
.flow-card{margin-top:34px!important}
#event-flow{margin-top:56px!important}
.flow-card .otc-card{margin-top:0}
.otc-mark,.dist-dot{box-shadow:0 0 8px rgba(255,255,255,.55)!important;opacity:.6}
.otc-mark.on,.dist-dot.on{box-shadow:0 0 12px rgba(255,255,255,.95),0 0 22px rgba(255,255,255,.45)!important;opacity:1}
/* pricing: grungy sepia to mellow, bright sepia for contrast (chart), one system */
.times-section,.table-section,.save-section{background:#3a2412 var(--plate-sepia) center/cover!important;padding:64px 48px!important}
.times-section .time-badge,.save-card{background:rgba(0,0,0,.28)!important;border:1px solid rgba(255,255,255,.16)!important;box-shadow:none!important}
.table-wrap{background:#B5772F var(--tex-sepia) center top/cover!important;border:1px solid rgba(255,255,255,.28)!important;padding:8px!important;box-shadow:var(--ink-shadow)!important}
.table-wrap th{background:rgba(0,0,0,.45)!important;color:#fff!important;letter-spacing:.08em}
.table-wrap td{background:rgba(0,0,0,.10)!important;color:#fff!important}
.table-wrap tr:nth-child(even) td{background:rgba(0,0,0,.24)!important}
.table-wrap td.pp,.table-wrap th.pp{background:rgba(0,0,0,.45)!important}
.times-label,.table-section .feature-eyebrow,.save-section .feature-eyebrow,.times-section .feature-eyebrow{color:#F5D34A!important}
.table-section h2,.times-section h2,.save-section h2{color:#fff!important}
.times-section p,.table-section p,.save-section p{color:#fff!important}
.time-badge-name,.time-badge-ch,.time-badge-note{color:#fff!important}
.badge-best{background:#F5D34A!important;color:#03110D!important}
/* Rule 154: visit food section is ONE bright sepia surface with room to breathe */
.vt-food-intro{background:#B5772F var(--tex-sepia) center/cover fixed!important;padding:72px 0 28px!important;overflow:visible!important}
.vt-food-intro::before,.vt-food-intro::after{display:none!important}
.vt-food-intro .vt-eyebrow{color:#F5D34A!important}
.vt-food-intro h2,.vt-food-intro p{color:#fff!important}
.vt-food-grid{background:#B5772F var(--tex-sepia) center/cover fixed!important;max-width:none!important;margin:0!important;padding:24px 64px 80px!important;gap:24px!important;grid-template-columns:repeat(3,1fr)!important}
.vt-food-grid>*{max-width:none}
.vt-food-card{background:rgba(0,0,0,.28)!important;border:1px solid rgba(255,255,255,.22)!important;padding:28px!important;box-shadow:var(--ink-shadow)!important}
@media(max-width:1000px){.vt-food-grid{grid-template-columns:1fr 1fr!important;padding:20px 32px 60px!important}}
@media(max-width:700px){.vt-food-grid{grid-template-columns:1fr!important;padding:16px 20px 48px!important}.vt-food-intro{padding:56px 0 20px!important}}
@media(max-width:900px){.vt-food-intro,.vt-food-grid{background-attachment:scroll!important}}
/* Rule 155: visit food section inverted - flat sepia field, grunge cards */
.vt-food-intro,.vt-food-grid{background:#B5772F!important;background-image:none!important}
.vt-food-card{background:#3a2412 var(--plate-sepia) center/cover!important;border:1px solid rgba(255,255,255,.18)!important;box-shadow:var(--ink-shadow)!important}
.vt-food-intro h2,.vt-food-intro p{color:#fff!important}
.vt-food-intro .vt-eyebrow{color:#2b1a0a!important}
.vt-food-card .vt-eyebrow{color:#F5D34A!important}
/* Rule 158: one plate for the chapter notes - the container carries the blue grunge, the notes inside are plain */
.chero-notes{background:#0d1a3a var(--plate-darkblue) center/cover!important;padding:22px 24px!important;border:1px solid var(--hair)!important;box-shadow:var(--ink-shadow)}
.chero-notes .notice{background:none!important;background-image:none!important;border:0!important;border-bottom:1px solid var(--hair)!important;padding:12px 0!important;box-shadow:none!important}
.chero-notes .notice:last-child{border-bottom:0!important}
/* Rule 159: the section above the sepia banner on chapter pages is TEAL */
.feature-section.bg-wine2,.wcn-grid{background:#0b2b2a var(--plate-teal) center/cover!important}
.carousel-section{background:#0b2b2a var(--plate-teal) center/cover!important}
.carousel-section .cam-feed{background:rgba(0,0,0,.28)!important;border:1px solid rgba(255,255,255,.16)!important}
/* ===== Rule 160: lp pages on the kit system; chrome buttons as kit chevrons; last hairlines ===== */
.lp-sec{background:#0b2b2a var(--plate-teal) center/cover!important;border:0!important;padding:96px 48px!important}
.lp-sec+.lp-sec{background:#3a2412 var(--plate-sepia) center/cover!important}
.lp-case{background:#0d1a3a var(--plate-darkblue) center/cover!important;color:#fff!important;border:1px solid var(--hair)!important;box-shadow:var(--ink-shadow)!important;padding:72px 30px 34px!important}
.lp-case h3,.lp-case p,.lp-case li{color:#fff!important}
.lp-case-num{color:#F5D34A!important;font-family:'Oswald','Roboto Condensed',sans-serif!important;letter-spacing:.14em!important}
.lp-pol{background:#F2EDE2!important}
.lp-pol .lp-pol-title,.lp-pol .lp-pol-num,.lp-pol .lp-pol-meta,.lp-pol .lp-pol-badge{color:#17211E!important;-webkit-text-fill-color:#17211E!important}
.lp-pol .lp-pol-go{color:#0b2b2a!important;-webkit-text-fill-color:#0b2b2a!important}
.lp-strip{background:#3a2412 var(--plate-sepia) center/cover!important;border:0!important;box-shadow:0 -12px 30px rgba(0,0,0,.45)}
.lp-strip-txt,.lp-stars{color:#fff!important}.lp-stars{color:#F5D34A!important}
.lp-strip .otc-btn{min-height:44px}
.lp-hero-vig{display:none!important}
/* chrome buttons: distributor +/-, carousel arrows, the index info button */
.dist-btn,.carousel-btn,.info-btn{background:#1e2327 var(--tex-dark) center/cover!important;color:#fff!important;border:1px solid var(--hair)!important;border-radius:0!important;box-shadow:0 2px 0 rgba(0,0,0,.6),0 6px 16px rgba(0,0,0,.45)!important;font-family:'Oswald',sans-serif!important}
.dist-btn:hover,.carousel-btn:hover,.info-btn:hover{filter:brightness(1.3)}
.so-note,.desk{border-color:var(--hair)!important}
/* Rule 161 */
.distributor-wrap{background:#0d1a3a var(--plate-darkblue) center/cover!important}
.dist-dot{box-shadow:0 0 12px rgba(255,255,255,.95),0 0 22px rgba(255,255,255,.45)!important;opacity:.7}
.dist-dot.on{opacity:1}
/* Rule 162: pricing progress-saved block inverted - dark field, grunge card */
.save-section{background:#0a1418!important;background-image:none!important}
.save-inner{background:#3a2412 var(--plate-sepia) center/cover!important;border:1px solid rgba(255,255,255,.18)!important;box-shadow:var(--ink-shadow)!important}
/* Rule 163 */
/* pricing chart: flat, slightly darker sepia cells; grunge stays on the frame only */
.table-wrap{padding:10px!important}
.table-wrap th{background:#5a3a1c!important;background-image:none!important}
.table-wrap td{background:#8a5a2a!important;background-image:none!important}
.table-wrap tr:nth-child(even) td{background:#7d5126!important;background-image:none!important}
.table-wrap td.pp,.table-wrap th.pp{background:#5a3a1c!important;background-image:none!important}
/* visit: Find Us through Before You Play on the purple plate; the sepia food section stays */
.location-section,.location-section+.feature-section,body.visit .feature-section.bg-wine2,.vt-before,.before-play{background:#1a1030 var(--plate-purple) center/cover!important}
.location-section .location-info,.location-section .hours-row,.location-section .hours-table,.location-section .location-map{background:rgba(0,0,0,.24)!important;border-color:rgba(255,255,255,.16)!important}
/* Rule 164: marker bar centred on the heading's letters */
.prose h2.otc-marker,.otc-marker{position:relative;padding-left:22px!important}
.prose h2.otc-marker::before,.otc-marker::before{top:50%!important;height:.78em!important;transform:translateY(-50%)!important;width:6px}
/* Rule 165: contact page field is deep purple behind the purple cards */
.ct-main{background:#120b26!important;background-image:none!important}
.ct-hero{background:#120b26!important}
/* ===== Rule 166: the emblems, used as a system =====
   1) every page hero carries its emblem as a large faint watermark on the right
   2) the hero eyebrow carries a small crisp stamp
   3) kit card heads and footer brand block carry stamps */
.vt-hero,.ev-hero,.pr-hero,.ct-hero,.fq-hero,.page-hero--center,.lp-hero,.chd-hero,.chapter-hero{position:relative}
.otc-card__head{position:relative}
.otc-card__head::before{content:'';position:absolute;right:16px;top:50%;width:44px;height:44px;transform:translateY(-50%);background:url('img/system/emblems/emb-trophy-256.webp') center/contain no-repeat;opacity:.9}
.otc-card__head--story::before{background-image:url('img/system/emblems/emb-visible-256.webp')}
.location-info{position:relative}.location-info::after{content:'';position:absolute;right:18px;top:18px;width:56px;height:56px;background:url('img/system/emblems/emb-home-256.webp') center/contain no-repeat;opacity:.85}
.ct-form-panel{position:relative}.ct-form-panel::after{content:'';position:absolute;right:22px;top:22px;width:56px;height:56px;background:url('img/system/emblems/emb-mail-256.webp') center/contain no-repeat;opacity:.85;pointer-events:none}
.faq-item .faq-q{padding-left:64px!important;position:relative}.faq-item .faq-q::before{content:'';position:absolute;left:16px;top:50%;width:36px;height:36px;transform:translateY(-50%);background:url('img/system/emblems/emb-question-256.webp') center/contain no-repeat;opacity:.9}
/* Rule 167: distributor diamonds read exactly like the active stepper marks */
.dist-dot{background:#fff var(--tex-stone) center/cover!important;filter:brightness(1.6)!important;opacity:1!important;border:1px solid rgba(255,255,255,.9)!important;width:15px!important;height:15px!important}
.otc-mark.on{border-color:rgba(255,255,255,.9)!important}
/* Rule 169: per-person column follows the row tint like every other cell */
.table-wrap td.pp{background:#8a5a2a!important;font-weight:700}
.table-wrap tr:nth-child(even) td.pp{background:#7d5126!important}
.table-wrap th.pp{background:#5a3a1c!important}
/* Rule 170: pricing hero scrim restored (the watermark had hijacked ::after); stamp lives on the container */
.pr-hero::after{content:''!important;position:absolute!important;inset:0!important;width:auto!important;height:auto!important;transform:none!important;opacity:1!important;background:linear-gradient(180deg,rgba(6,12,14,.62) 0%,rgba(6,12,14,.84) 60%,var(--bg) 100%)!important;z-index:0!important}
.pr-hero .container{position:relative;z-index:1}
/* Rule 171: hero and footer watermarks withdrawn */
.vt-hero::after,.ev-hero::after,.ct-hero::after,.fq-hero::after,.page-hero--center::after,.lp-hero::after,.pr-hero .container::after,footer::before{content:none!important;display:none!important}
/* Rule 172: star = events; magnifying glass = the search/lp pages */
#event-flow .otc-card__head::before{background-image:url('img/system/emblems/emb-star-256.webp')!important}
.margin-clue img.clue-sym{width:1.05em;height:1.05em;vertical-align:-.15em;display:inline-block;filter:drop-shadow(0 0 6px rgba(63,232,207,.5))}
/* Rule 174: pricing chart column highlight on hover */
.table-wrap td,.table-wrap th{transition:background-color .15s}
.table-wrap td.col-hover{background:#a8752f!important}
.table-wrap th.col-hover{background:#7a5320!important;color:#F5D34A!important}
.table-wrap tr:hover td{filter:brightness(1.08)}
/* Rule 175: chapter carousel frames are 16:9 - the full photo, no widescreen crop */
.carousel-slide img{aspect-ratio:4/3!important;height:auto!important;max-height:none!important;object-fit:cover!important}
.carousel-section .cam-feed{max-width:960px;margin:0 auto}
/* Rule 178: phone polish sitewide */
@media(max-width:700px){
  nav .book,nav .book.otc-btn{padding:0 12px 0 24px!important}
  .save-inner{display:block!important}.save-body{width:auto!important;max-width:none!important}
  .otc-banner{padding:22px 18px!important}.otc-banner__title{font-size:30px!important}
  .flow-card{margin-top:28px!important}
  .location-grid,.ct-grid,.pr-hero-grid,.wcn-grid,.ev-hero-grid{grid-template-columns:1fr!important;gap:22px!important}
  .table-wrap{overflow-x:auto!important}
  .dia-band{padding:44px 12px 24px!important}
}
@media(max-width:600px){html,body{overflow-x:hidden}nav{overflow:hidden}}
/* Rule 179: nav fully opaque - pixel-identical on every page */
nav{background:#060c0e!important}
/* Rule 179: exact nav metrics on every page (index/asheville/secret carried 1px inline differences) */
@media(min-width:1200px){nav ul{display:flex!important;align-items:center!important;margin:0!important;padding:0!important;gap:22px!important}}
nav ul li{display:flex!important;align-items:center!important;margin:0!important;padding:0!important}
nav ul a{display:inline-flex!important;align-items:center!important;height:24px!important;line-height:24px!important;padding:0!important;margin:0!important}
nav .wm-link,nav a.wm-link{display:inline-flex!important;align-items:center!important;height:44px!important;padding:0!important;margin:0!important}
nav .nav-caret{display:inline-flex!important;align-items:center!important;height:24px!important;margin-left:6px!important}
.nav-burger,#nav-burger{min-width:44px!important;width:44px!important;min-height:44px!important;padding:0!important}
@media(max-width:600px){nav .book,nav .book.otc-btn{min-height:40px!important;height:40px!important;padding:0 12px 0 24px!important}}

/* Rule 179: nav flex gap pinned */
nav{gap:0!important}
@media(max-width:600px){nav{gap:0!important}}

.nav-burger,#nav-burger{height:46px!important;min-height:46px!important;box-sizing:border-box}
/* Rule 182: the nav-link pins apply to top-level links only - the Experiences dropdown keeps its own layout */
nav ul .nav-dropdown-menu a,nav ul .nav-dd-item,.nav-dropdown-menu .nav-dd-item{display:block!important;height:auto!important;line-height:1.35!important;padding:12px 14px!important;margin:0!important;align-items:initial!important}
.nav-dropdown-menu .nav-dd-name{display:block!important;height:auto!important;line-height:1.25!important}
.nav-dropdown-menu .nav-dd-desc{display:block!important;height:auto!important;line-height:1.35!important}
/* Rule 184: the desktop link row never renders under the burger breakpoint; the flashlight and marks are desktop-only */
@media(max-width:1199px){nav > ul{display:none!important}}
@media(max-width:1199px),(hover:none){#flash,#flashdot,.margin-clue,.flashlight,.flash-dot{display:none!important}body{cursor:auto!important}}
/* Rule 185: the clue passage on each target page carries its emblem beside it */
.clue-passage{position:relative;padding-left:46px!important}
.clue-passage::before{content:'';position:absolute;left:0;top:.05em;width:34px;height:34px;background:var(--emb) center/contain no-repeat;opacity:.92}
@media(max-width:700px){.clue-passage{padding-left:40px!important}.clue-passage::before{width:28px;height:28px}}
/* Rule 186: visit intro copy in ink on the flat sepia (white measured 3.7:1) */
.vt-food-intro h2{color:#fff!important}.vt-food-intro p{color:#1e1206!important}
/* Rule 184: narrow phones - the wordmark yields so Book Now always fits */
@media(max-width:380px){nav .wm-link img,nav img.wm{width:150px!important;height:auto!important}nav .book,nav .book.otc-btn{padding:0 10px 0 20px!important;font-size:14px!important}nav{padding:0 12px!important}}
/* Rule 187: column highlight wins over row tint and the per-person column on every row */
.table-wrap table tr td.col-hover,.table-wrap tr:nth-child(even) td.col-hover,.table-wrap td.pp.col-hover,.table-wrap tr:nth-child(even) td.pp.col-hover{background:#a8752f!important}
.table-wrap table tr th.col-hover,.table-wrap th.pp.col-hover{background:#7a5320!important;color:#F5D34A!important}
/* Rule 191: clue symbols readable - 1.6em at rest, grow to 2.6em when the pointer is directly on the mark */
.margin-clue{pointer-events:auto!important}
.margin-clue img.clue-sym{width:1.6em!important;height:1.6em!important;vertical-align:-.35em!important;margin:.15em 0!important;transition:transform .25s cubic-bezier(.34,1.56,.64,1),filter .25s!important;transform-origin:center;filter:drop-shadow(0 0 6px rgba(63,232,207,.55))!important}
.margin-clue:hover img.clue-sym{transform:scale(1.65)!important;filter:drop-shadow(0 0 10px rgba(63,232,207,.9))!important}
/* Rule 192: page symbols sit in a corner of a component, never inline before copy */
.how-step:first-of-type,.how-steps-inline .how-step:first-child{position:relative}
.how-step:first-of-type::after,.how-steps-inline .how-step:first-child::after{content:'';position:absolute;right:16px;top:16px;width:48px;height:48px;background:url('img/system/emblems/emb-dollar-256.webp') center/contain no-repeat;opacity:.92;pointer-events:none}
.distributor-wrap{position:relative}
.distributor-wrap::after{content:'';position:absolute;right:22px;top:18px;width:52px;height:52px;background:url('img/system/emblems/emb-star-256.webp') center/contain no-repeat;opacity:.92;pointer-events:none}
/* Rule 193: pricing chart - rows light the same as columns; time badges light their column; caption on one line */
.table-wrap table tbody tr:hover td,.table-wrap tbody tr:nth-child(even):hover td,.table-wrap tbody tr:hover td.pp,.table-wrap tbody tr:nth-child(even):hover td.pp{background:#a8752f!important;filter:none!important}
.time-badge.is-hl{background:rgba(245,211,74,.18)!important;border-color:#F5D34A!important}
.time-badge.is-hl .time-badge-num{color:#F5D34A!important}
@media(min-width:900px){.table-caption{white-space:nowrap!important;max-width:none!important}}
/* Rule 194: flashlight yields over embeds and outside the window; returns the moment the pointer is back on the page */
#flash,#flashdot{transition:opacity .22s ease}
html.flash-paused #flash,html.flash-paused #flashdot,html.flash-paused .margin-clue{opacity:0!important}
html.flash-paused body,html.flash-paused a,html.flash-paused button{cursor:auto!important}
/* Rule 196: on phones and touch devices the mark lives horizontally at the very bottom of its page, faint; tap to light it */
.margin-clue.mobile-foot{display:block!important;position:static!important;writing-mode:horizontal-tb!important;transform:none!important;text-align:center;padding:22px 16px 26px;margin:0;background:#060c0e;opacity:.22!important;color:rgba(63,232,207,.9)!important;pointer-events:auto!important;transition:opacity .3s;font-size:18px!important;letter-spacing:.3em;-webkit-tap-highlight-color:transparent}
.margin-clue.mobile-foot .tou{text-orientation:mixed}
.margin-clue.mobile-foot.lit{opacity:1!important}
.margin-clue.mobile-foot img.clue-sym{width:1.6em!important;height:1.6em!important;vertical-align:-.4em!important;margin:0 .1em!important;transform:none!important}
html.fx-off .margin-clue.mobile-foot{display:none!important}
/* Rule 196b: footer stacks on phones (three columns were crushing Hours and Follow) */
@media(max-width:760px){.foot-grid{grid-template-columns:1fr!important;gap:28px!important}.foot-grid>div{min-width:0}}
/* Rule 197: character pages on phones - tabs in a 2x2 grid, one document at a time, nothing absolute */
@media(max-width:760px){
  .desk{min-height:auto!important;display:block!important;padding:12px 12px 20px!important;width:100%!important;overflow:visible!important}
  .desk-scrap,.desk-ring,.desk-stain{display:none!important}
  .doc-tabs{position:static!important;transform:none!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;width:100%!important;margin:0 0 12px!important;left:auto!important;top:auto!important}
  .doc-tab{padding:12px 8px!important;font-size:16px!important;letter-spacing:.06em!important;white-space:normal!important;line-height:1.2!important;border-radius:3px!important;text-align:center}
  .doc-stack{position:relative!important;inset:auto!important;height:auto!important}
  .doc{position:relative!important;left:auto!important;top:auto!important;width:100%!important;max-height:none!important;overflow:visible!important;transform:none!important;display:none!important;padding:26px 18px 30px!important;margin:0!important}
  .doc.front{display:block!important;transform:none!important}
  .doc-photo{float:none!important;width:150px!important;margin:0 auto 16px!important;transform:none!important;display:block}
  .doc-stamp{position:static!important;display:inline-block;transform:rotate(-6deg);margin:0 0 10px}
}
/* Rule 199: pricing - completion-time badges and the chart share ONE continuous sepia surface, badges tucked close to the chart */
.times-section,.table-section{background:#3a2412 var(--plate-sepia) center/cover fixed!important}
.times-section{padding:56px 48px 18px!important}
.table-section{padding:10px 48px 64px!important}
.table-section .feature-eyebrow,.table-section h2{margin-top:0}
@media(max-width:900px){.times-section,.table-section{background-attachment:scroll!important}.times-section{padding:44px 16px 12px!important}.table-section{padding:8px 12px 48px!important}
  .table-wrap th,.table-wrap td{padding:10px 8px!important;font-size:15px!important;white-space:nowrap}
  .table-wrap th.pp,.table-wrap td.pp{font-size:15px!important}
  .badge-best{font-size:11px!important;padding:3px 7px!important;letter-spacing:.08em!important}}
/* Rule 199b: 44px hit areas for the polaroid dots */
.pcar-dot,.carousel-dot{position:relative}
.pcar-dot::after,.carousel-dot::after{content:'';position:absolute;inset:-12px}
@media(max-width:900px){.table-wrap td:first-child,.table-wrap th:first-child{white-space:normal!important;min-width:0!important;width:1%}.table-wrap td:first-child .badge-best{display:block!important;margin:4px 0 0!important;width:max-content}.table-wrap td.pp,.table-wrap th.pp{padding-left:8px!important}.table-wrap th.pp{white-space:normal!important;min-width:70px}}
@media(max-width:900px){.table-wrap table{min-width:0!important;width:100%!important;table-layout:auto!important}.table-wrap th,.table-wrap td{width:auto!important}.table-wrap th.pp,.table-wrap td.pp{width:auto!important;min-width:0!important}.table-wrap th{font-size:12px!important;letter-spacing:.04em!important;padding:10px 6px!important}.table-wrap td{padding:10px 6px!important;font-size:14px!important}.table-wrap td:first-child{font-size:13px!important}}
/* Rule 200: small phones - contact grid, review cards, polaroid cards, visit map fit the width */
@media(max-width:400px){
  .ct-grid{display:block!important}.ct-form-panel,.ct-aside{width:100%!important;max-width:none!important;min-width:0!important;box-sizing:border-box;margin:0 0 18px!important}
  .rev-card,.rev-grid{max-width:100%!important;min-width:0!important;box-sizing:border-box}.rev-grid{display:block!important}.rev-card{margin:0 0 16px!important}
  .pcar-card{max-width:calc(100vw - 32px)!important;min-width:0!important}
  .location-map{width:100%!important;min-width:0!important;max-width:100%!important}
  .ct-form-panel{padding:20px 14px!important}
}
@media(max-width:400px){
  .ct-cards{grid-template-columns:minmax(0,1fr)!important}.ct-card{min-width:0!important;width:auto!important;max-width:100%!important;box-sizing:border-box}
  .location-grid{grid-template-columns:minmax(0,1fr)!important;padding:0!important}.location-grid>*{min-width:0!important;max-width:100%!important;box-sizing:border-box}.location-section{padding-left:12px!important;padding-right:12px!important}.location-map{width:100%!important;margin:0!important}
  .pcar-stack{padding:0 8px!important}.pcar-card{box-sizing:border-box;max-width:100%!important;transform:none!important;margin:0 auto!important}
}
@media(max-width:400px){
  .ct-card{display:block!important}.ct-card-k,.ct-card-v,.ct-card span{white-space:normal!important;word-break:break-word;overflow-wrap:anywhere;min-width:0!important;display:block}
  .reveal-left,.reveal-right{transform:none!important}
}
/* Rule 201: phone layouts for the pricing badges and the events Player Distribution table */
@media(max-width:700px){
  .times-label{letter-spacing:.14em!important}
  .time-badge{display:grid!important;grid-template-columns:78px 1px 1fr!important;align-items:center;gap:0 14px}
  .time-badge-unit{white-space:nowrap!important}
  .distributor-wrap{padding:18px 12px!important;overflow:hidden}
  .distributor-table{width:100%!important;table-layout:fixed!important;min-width:0!important}
  .distributor-table thead,.dist-table-head{display:none!important}
  .distributor-table,.distributor-table tbody,.distributor-table tr,.distributor-table td{display:block!important;width:100%!important;box-sizing:border-box;min-width:0!important}
  .distributor-table tr{padding:12px 0!important;border-bottom:1px solid rgba(255,255,255,.14)!important}
  .distributor-table td{padding:4px 0!important;border:0!important}
  .distributor-table td:last-child{display:flex!important;align-items:center;gap:12px;padding-left:66px!important}
  .dist-game-thumb{width:52px!important;height:auto!important}
  .distributor-controls{display:grid!important;grid-template-columns:auto auto auto!important;justify-content:center!important;align-items:center!important;gap:10px 16px!important;padding-right:64px!important}
  .distributor-controls>:first-child,.distributor-controls>:last-child{grid-column:1/-1!important;text-align:center!important;justify-self:center!important}
}
/* Rule 202: on phones the burger sits to the right of Book Now */
@media(max-width:1199px){nav .book,nav .book.otc-btn{order:2!important;margin-left:auto!important}#nav-burger,.nav-burger{order:3!important;margin-left:10px!important}nav .wm-link{order:1!important}}
/* Rule 205: pricing save block - no icon; events hero couch and compact distributor on phones; chapter pages use the width */
.save-icon{display:none!important}
@media(max-width:700px){
  .ev-hero-fan{height:auto!important;max-width:none!important;margin:6px 0 0!important;min-height:0!important}
  .ev-trio{position:relative!important;left:auto!important;bottom:auto!important;transform:none!important;width:min(88vw,380px)!important;display:block;margin:0 auto!important}
  .distributor-wrap{padding:12px 10px!important}
  .distributor-controls{gap:6px 12px!important;padding:6px 0 10px!important;padding-right:56px!important}
  .dist-btn{width:44px!important;height:44px!important;font-size:20px!important}
  .distributor-table tr{padding:8px 0!important}
  .distributor-table td{padding:2px 0!important;font-size:15px!important}
  .distributor-table td:last-child{padding-left:56px!important;gap:10px}
  .dist-game-thumb{width:44px!important}
  .dist-game-card{gap:10px!important}
  .dist-footer{padding:8px 0 0!important;font-size:14px!important}
  .chapter-hero .container,.chapter-hero-copy,.chapter-hero-inner,.chero-grid,.feature-section .container,.carousel-section .container,.chapter-book-section .container,.wcn-grid,.feature-inner{padding-left:14px!important;padding-right:14px!important;max-width:none!important}
  .chapter-hero-title,.chapter-hero-story,.chapter-hero-meta{margin-left:0!important;margin-right:0!important;max-width:none!important}
}
/* distributor feedback: the changed rows and the count flash when the group size changes */
@keyframes distBump{0%{box-shadow:0 0 0 0 rgba(245,211,74,0)}30%{box-shadow:0 0 0 4px rgba(245,211,74,.55)}100%{box-shadow:0 0 0 0 rgba(245,211,74,0)}}
.dist-dots.bump .dist-dot{animation:distBump .55s ease}
.dist-player-count.bump,.dist-num.bump{color:#F5D34A!important;transition:color .5s}
@media(max-width:700px){
  .chapter-hero{padding-left:0!important;padding-right:0!important}
  .chapter-hero>div{padding-left:16px!important;padding-right:16px!important;width:100%!important;box-sizing:border-box}
  .chero-grid{grid-template-columns:minmax(0,1fr)!important;padding:0!important}
  .chapter-hero-content{padding-left:0!important;padding-right:0!important;max-width:none!important}
  .feature-section>div,.carousel-section>div,.chapter-book-section>div{padding-left:16px!important;padding-right:16px!important}
  .wcn-grid{padding:0!important}
  .chero-notes{margin:16px 0 0!important}
}

/* Rule 207 - once a visitor has reached secret.html (Inheritance.exe), the five clue letters light yellow. Flag lives only in their browser. */
.clue-letter{color:inherit;transition:color .6s ease,text-shadow .6s ease}
html.inh .clue-letter{color:#F5D34A;text-shadow:0 0 2px rgba(245,211,74,.9),0 0 12px rgba(245,211,74,.55);animation:clueLetterGlow 2.6s ease-in-out infinite}
@keyframes clueLetterGlow{0%,100%{text-shadow:0 0 2px rgba(245,211,74,.9),0 0 12px rgba(245,211,74,.55)}50%{text-shadow:0 0 3px rgba(245,211,74,1),0 0 20px rgba(245,211,74,.85)}}
@media(prefers-reduced-motion:reduce){html.inh .clue-letter{animation:none}}

/* Rule 209 - Purgatory kicker centres over the sign at every width (p{max-width:70ch} was boxing it to the left) */
.neon-belt{display:flex;flex-direction:column;align-items:center}
.neon-kicker{max-width:none!important;width:auto;margin:0 auto 1.5rem!important;text-align:center!important}
/* Rule 209 (cont.) - phones: sign fits the viewport, kicker and sub each stay on one line */
@media(max-width:700px){
  .neon-belt{padding:28px 16px 32px}
  .neon-belt p.neon-kicker{font-size:14px!important;letter-spacing:.2em!important;white-space:nowrap;margin-bottom:1.1rem!important}
  .neon-sign{max-width:100%;box-sizing:border-box;padding:26px 18px!important}
  .neon-title{font-size:clamp(30px,11.5vw,54px)}
  .neon-sub{font-size:clamp(12px,3.6vw,15px);letter-spacing:.15em;white-space:nowrap;margin-top:.6rem}
}
/* Rule 210 - one typewriter face inside the sign: the sub line uses Special Elite like PURGATORY */
.neon-sub{font-family:'Special Elite',serif!important;letter-spacing:.32em}
@media(max-width:700px){.neon-sub{letter-spacing:.15em}}

/* Rule 211 - district note is bounded by the map stage (was 52vh body + fixed 720px stage -> footer "Key location" links clipped on tall viewports) */
.mapmenu .district-note{display:flex;flex-direction:column;max-height:calc(100% - 88px);box-sizing:border-box}
.mapmenu .district-note .dn-body{flex:1 1 auto;min-height:0;max-height:none!important;overflow:auto}
.mapmenu .district-note .dn-foot{flex:0 0 auto}
@media(max-width:1100px){.mapmenu .district-note{max-height:calc(100% - 142px)}}

/* Rule 212 - Case Board on phones: Nina leads large at top-left, the other eight orbit her in a diamond lattice
   (right-hand zigzag column of three, a row of three, then a centred row of two). Desktop/tablet layouts untouched. */
@media(max-width:700px){
  .dia-band .dia-chain{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;
    grid-template-areas:"n n n n b b" "n n n n o o" "n n n n l l" "x x r r j j" ". d d g g ."!important;
    gap:10px 6px!important;width:calc(100% - 24px)!important;max-width:420px!important;margin:0 auto!important;padding:28px 0 44px!important;
    justify-content:stretch!important;align-items:start!important}
  .dia-band .dia-link{flex:none!important;width:auto!important;max-width:none!important;margin:0!important;padding:0 0 4px!important;gap:6px!important;min-width:0}
  .dia-band .dia-link:nth-child(even){padding-top:0!important}
  .dia-band .dia-link img{width:min(84px,22vw)!important;height:min(84px,22vw)!important}
  .dia-band .dia-link:nth-child(1){grid-area:n;align-self:center!important;justify-self:center}
  .dia-band .dia-link:nth-child(1) img{width:min(216px,56vw)!important;height:min(216px,56vw)!important}
  .dia-band .dia-link:nth-child(1) .dia-name{font-size:17px}
  .dia-band .dia-link:nth-child(2){grid-area:b;transform:translateX(-7px)!important}
  .dia-band .dia-link:nth-child(3){grid-area:o;transform:translateX(7px)!important}
  .dia-band .dia-link:nth-child(4){grid-area:l;transform:translateX(-7px)!important}
  .dia-band .dia-link:nth-child(5){grid-area:x}
  .dia-band .dia-link:nth-child(6){grid-area:r}
  .dia-band .dia-link:nth-child(7){grid-area:j}
  .dia-band .dia-link:nth-child(8){grid-area:d}
  .dia-band .dia-link:nth-child(9){grid-area:g}
  .dia-band .dia-name{font-size:13px;letter-spacing:.05em;line-height:1.15;max-width:100%;overflow-wrap:anywhere}
}
@media(max-width:345px){
  .dia-band .dia-link:nth-child(2),.dia-band .dia-link:nth-child(3),.dia-band .dia-link:nth-child(4){transform:none!important}
  .dia-band .dia-name{font-size:12px;letter-spacing:.03em}
  .dia-band .dia-chain{gap:8px 4px!important;width:calc(100% - 16px)!important}
}

/* Rule 213 - wide screens: the floating polaroid anchors toward the stage's right edge instead of centring in the leftover column
   (right gap = clamp(84px, 5.5vw, 120px); the 42px translate in .stage-pol's transform is accounted for). Phones/tablets untouched. */
@media(min-width:1400px){.mapmenu .stage-grid .stage-pol{justify-self:end;margin-right:calc(clamp(84px,5.5vw,120px) - 14px)}}  /* -14px = 42px translate minus the grid's 56px right padding */

/* Rule 216 - accessibility pass (axe-core WCAG 2.1 AA, 2026-10-06) */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:absolute;left:16px;top:12px;z-index:10000;padding:10px 16px;background:var(--phos,#3FE8CF);color:#06110f;font-family:'Roboto Condensed',sans-serif;font-weight:700;font-size:18px;border-radius:6px;opacity:0;transform:translateY(-200%);pointer-events:none;transition:opacity .15s,transform .15s}
.skip-link:focus{opacity:1;transform:none;pointer-events:auto;outline:3px solid #fff;outline-offset:2px}
main{display:block}
.foot-legal{color:#6d8984}
.breadcrumb a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(169,196,189,.55)}
.breadcrumb a:hover{text-decoration-color:currentColor}
.foot-legal a{text-decoration:underline;text-underline-offset:3px}
main:focus{outline:none}
.pol-flip{position:absolute;left:10px;top:10px;z-index:4;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;padding:0;margin:-1px;background:var(--phos,#3FE8CF);color:#06110f;font-family:'Roboto Condensed',sans-serif;font-weight:700;font-size:16px;border-radius:6px}
.pol-flip:focus-visible{width:auto;height:auto;clip:auto;margin:0;padding:8px 12px;outline:3px solid #fff;outline-offset:2px}
