:root {
  --ink: #09090b;
  --panel: #111117;
  --panel-2: #171720;
  --white: #f8fafc;
  --muted: #a4a7b4;
  --violet: #7c4dff;
  --cyan: #2de2e6;
  --coral: #ff5e6c;
  --line: rgba(248,250,252,.16);
  --space: clamp(4.5rem, 9vw, 9rem);
  --display: "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
  --body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 7rem; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { min-width: 280px; margin: 0; color: var(--white); background: var(--ink); font-family: var(--body); line-height: 1.5; overflow-x: hidden; }
body::selection { background: var(--cyan); color: var(--ink); }
a { color: inherit; }
button, input { font: inherit; }
button { color: inherit; }
img { max-width: 100%; height: auto; }
a,button,input { touch-action: manipulation; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 100; background: var(--white); color: var(--ink); padding: .8rem 1rem; }
.skip-link:focus { top: 1rem; }
:focus-visible { outline: 3px solid var(--cyan); outline-offset: 4px; }
.sr-only { position: absolute; width: 1px; height: 1px; clip: rect(0,0,0,0); overflow: hidden; }

.cue-rail { height: 28px; padding: 0 clamp(1rem,3vw,3rem); display: flex; justify-content: space-between; align-items: center; color: #c9c9d2; background: #050506; border-bottom: 1px solid var(--line); font-size: .61rem; font-weight: 800; letter-spacing: .2em; }
.cue-rail span:first-child::before { content:""; display:inline-block; width:6px; height:6px; margin-right:8px; border-radius:50%; background:var(--coral); box-shadow:0 0 12px var(--coral); }
.site-header { position: sticky; top: 0; z-index: 40; min-height: 74px; padding: 0 clamp(1rem,3vw,3rem); display: flex; align-items: center; justify-content: space-between; background: rgba(9,9,11,.83); border-bottom: 1px solid var(--line); backdrop-filter: blur(18px); }
.brand { width: clamp(145px,15vw,220px); min-height:44px; display:flex; align-items:center; }
.brand img, .footer-brand img { display:block; filter: invert(1); }
.site-nav { display:flex; gap: clamp(1rem,2.1vw,2.2rem); align-items:center; font-size:.72rem; font-weight:750; text-transform:uppercase; letter-spacing:.11em; }
.site-nav a, .text-button { min-height:44px; display:flex; align-items:center; text-decoration:none; color:#d9dae1; transition:color .2s ease; }
.site-nav a:hover, .text-button:hover { color:var(--cyan); }
.text-button { border:1px solid var(--violet); background:rgba(124,77,255,.12); padding:.75rem 1rem; cursor:pointer; }
.menu-toggle { min-width:72px; min-height:44px; padding:.4rem 0 .4rem .75rem; background:none; border:0; cursor:pointer; }

.hero { min-height: calc(100svh - 102px); position:relative; padding: clamp(4rem,7vw,7rem) clamp(1rem,5vw,5.5rem) 2.5rem; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(400px,.95fr); column-gap:clamp(3rem,7vw,8rem); align-items:center; overflow:hidden; isolation:isolate; }
.hero-grid { position:absolute; inset:0; z-index:-3; opacity:.25; background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(to bottom,black,transparent 85%); }
.hero-glow { position:absolute; z-index:-2; width:45vw; aspect-ratio:1; border-radius:50%; filter:blur(110px); opacity:.18; }
.glow-a { background:var(--violet); right:-15%; top:-20%; animation:drift 9s ease-in-out infinite alternate; }
.glow-b { background:var(--cyan); left:35%; bottom:-50%; animation:drift 12s ease-in-out infinite alternate-reverse; }
@keyframes drift { to { transform:translate3d(-2vw,3vw,0) scale(1.12); } }
.cue { margin:0 0 1.35rem; color:#d2d2dc; font-size:.66rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.cue span { color:var(--cyan); margin-right:.8rem; }
h1,h2,h3,p { text-wrap:balance; }
h1,h2,h3,p,a,button,li,dt,dd,span { overflow-wrap:break-word; }
h1 { margin:0; font-family:var(--display); font-size:clamp(3.7rem,7.2vw,8.2rem); font-weight:850; line-height:.92; letter-spacing:-.07em; text-transform:uppercase; }
h1 em { color:transparent; -webkit-text-stroke:1.5px var(--white); font-style:normal; }
.hero-lede { max-width:680px; margin:2rem 0 0; color:#c2c3cd; font-size:clamp(1rem,1.25vw,1.25rem); }
.hero-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:2rem; }
.button { min-height:50px; display:inline-flex; align-items:center; justify-content:center; gap:1rem; border:0; padding:.85rem 1.15rem; text-decoration:none; text-transform:uppercase; letter-spacing:.095em; font-size:.7rem; font-weight:850; cursor:pointer; transition:transform .2s ease,background .2s ease,border .2s ease; }
.button:hover { transform:translateY(-3px); }
.button-primary { color:var(--white); background:var(--violet); box-shadow:9px 9px 0 rgba(45,226,230,.2); }
.button-primary:hover { background:#6840db; }
.button-quiet { border:1px solid var(--line); background:rgba(255,255,255,.04); }
.button-quiet:hover { border-color:var(--cyan); background:rgba(45,226,230,.08); }
.watch-cue { width:max-content; display:flex; align-items:center; gap:.75rem; margin-top:2.5rem; text-decoration:none; font-size:.78rem; font-weight:750; letter-spacing:.07em; text-transform:uppercase; }
.watch-cue small { display:block; color:var(--coral); font-size:.52rem; letter-spacing:.2em; }
.play-dot { width:44px; height:44px; display:grid; place-items:center; color:var(--ink); background:var(--cyan); border-radius:50%; box-shadow:0 0 24px rgba(45,226,230,.2); }
.hero-stage { align-self:center; }
.stage-frame { position:relative; min-height:460px; padding:1rem; display:flex; flex-direction:column; border:1px solid rgba(45,226,230,.52); background:linear-gradient(145deg,rgba(124,77,255,.2),rgba(9,9,11,.2) 48%,rgba(45,226,230,.08)); box-shadow:22px 22px 0 rgba(124,77,255,.16),-14px -14px 0 rgba(255,94,108,.06); overflow:hidden; }
.stage-frame::before,.stage-frame::after { content:""; position:absolute; background:linear-gradient(90deg,transparent,var(--cyan),transparent); opacity:.45; }
.stage-frame::before { left:0; right:0; height:1px; top:32%; }
.stage-frame::after { left:50%; top:0; bottom:0; width:1px; background:linear-gradient(transparent,var(--violet),transparent); }
.stage-top { position:relative; z-index:1; display:flex; justify-content:space-between; color:#d8d8df; font-size:.62rem; font-weight:800; letter-spacing:.18em; }
.signal i,.video-meta i { display:inline-block; width:7px; height:7px; background:var(--coral); border-radius:50%; box-shadow:0 0 12px var(--coral); }
.stage-center { position:relative; z-index:1; margin:auto 0; text-align:center; }
.stage-center strong { display:block; color:transparent; -webkit-text-stroke:2px var(--white); font-size:clamp(8rem,15vw,15rem); font-weight:900; line-height:.75; letter-spacing:-.14em; transform:translateX(-.07em); text-shadow:16px 16px 0 rgba(124,77,255,.3); }
.stage-center p { color:#c9cad2; font-size:.76rem; letter-spacing:.17em; text-transform:uppercase; }
.stage-kicker { color:var(--cyan); font-size:.55rem; font-weight:850; letter-spacing:.25em; }
.stage-meter { display:grid; grid-template-columns:repeat(8,1fr); gap:4px; align-items:end; height:28px; }
.stage-meter span { background:linear-gradient(var(--cyan),var(--violet)); height:35%; animation:meter 1.4s ease-in-out infinite alternate; transform-origin:bottom; }
.stage-meter span:nth-child(2n) { animation-delay:-.3s; height:80%; }.stage-meter span:nth-child(3n) { animation-delay:-.7s; height:55%; }
@keyframes meter { to { transform:scaleY(.35); } }
.stage-caption { margin:.9rem 0 0; color:#888b98; font-size:.63rem; letter-spacing:.12em; text-transform:uppercase; }
.hero-status { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,1fr); margin-top:3.5rem; border-top:1px solid var(--line); }
.hero-status span { padding:1.1rem 0; color:#aeb0bb; font-size:.66rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.hero-status b { color:var(--cyan); margin-right:.6rem; }
.marquee { overflow:hidden; border-block:1px solid var(--line); background:var(--white); color:var(--ink); }
.marquee div { width:max-content; padding:.65rem 0; font-size:.73rem; font-weight:900; letter-spacing:.15em; animation:marquee 24s linear infinite; }
.marquee i { margin:0 1.7rem; color:var(--violet); }
@keyframes marquee { to { transform:translateX(-30%); } }

.section { padding:var(--space) clamp(1rem,5vw,5.5rem); }
.section-head { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(280px,.5fr); gap:4rem; align-items:end; margin-bottom:3.5rem; }
.section-head h2,.finder h2,.access h2,.session h2,.share h2 { margin:0; font-family:var(--display); font-size:clamp(3rem,6vw,7rem); font-weight:850; line-height:.86; letter-spacing:-.065em; text-transform:uppercase; }
.section-head>p,.finder-intro>p,.access-copy>p,.session-copy>p,.share-copy>p { color:var(--muted); max-width:570px; }
.doors { background:#0c0c0f; }
.door-grid { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); }
.door { min-height:560px; padding:1.5rem; display:flex; flex-direction:column; border-right:1px solid var(--line); background:linear-gradient(to bottom,rgba(255,255,255,.025),transparent); transition:background .25s ease,transform .25s ease; }
.door:last-child { border-right:0; }.door:hover,.door:focus-within { background:linear-gradient(155deg,rgba(124,77,255,.2),rgba(45,226,230,.035)); transform:translateY(-6px); }
.door-featured { background:linear-gradient(155deg,rgba(124,77,255,.2),rgba(255,94,108,.04)); }
.door-top { display:flex; justify-content:space-between; color:#7f818e; font-size:.56rem; font-weight:800; letter-spacing:.19em; }
.door-icon { width:58px; height:58px; margin:3.5rem 0 2.6rem; display:grid; place-items:center; border:1px solid var(--cyan); color:var(--cyan); font-size:1.1rem; transform:rotate(4deg); }
.door h3 { margin:0 0 1.25rem; font-family:var(--display); font-size:clamp(2rem,3.2vw,3.4rem); line-height:.9; letter-spacing:-.04em; text-transform:uppercase; }
.door p { color:var(--muted); font-size:.92rem; }
.door ul { display:flex; flex-wrap:wrap; gap:.35rem; list-style:none; padding:0; margin:auto 0 2rem; }
.door li { padding:.32rem .48rem; border:1px solid var(--line); color:#b8bac5; font-size:.6rem; text-transform:uppercase; letter-spacing:.07em; }
.door>a { min-height:44px; display:flex; justify-content:space-between; align-items:center; padding-top:1rem; border-top:1px solid var(--line); text-decoration:none; color:var(--cyan); font-size:.7rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }

.finder { display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(3rem,8vw,9rem); background:radial-gradient(circle at 10% 60%,rgba(124,77,255,.18),transparent 32%),var(--ink); }
.expertise-boundary { margin-top:2.5rem; display:grid; grid-template-columns:max-content 1fr; gap:.7rem 1rem; padding:1.2rem; border-left:2px solid var(--coral); background:rgba(255,255,255,.035); }
.expertise-boundary span { color:var(--coral); font-size:.58rem; font-weight:900; letter-spacing:.16em; }.expertise-boundary p { margin:0; color:#b5b7c0; font-size:.78rem; }
.finder-console { align-self:start; border:1px solid rgba(45,226,230,.5); background:rgba(17,17,23,.88); box-shadow:20px 20px 0 rgba(45,226,230,.05); }
.console-head { height:48px; padding:0 1rem; display:grid; grid-template-columns:max-content 1fr max-content; gap:1rem; align-items:center; border-bottom:1px solid var(--line); color:#aeb0ba; font-size:.58rem; font-weight:850; letter-spacing:.16em; }
.progress { height:3px; background:rgba(255,255,255,.1); }.progress i { display:block; width:25%; height:100%; background:linear-gradient(90deg,var(--violet),var(--cyan)); transition:width .3s ease; }
.question { border:0; padding:clamp(1.5rem,4vw,3.5rem); margin:0; }
.question legend { width:100%; margin-bottom:1.5rem; font-family:var(--display); font-size:clamp(1.6rem,3vw,2.8rem); font-weight:800; line-height:1; text-transform:uppercase; }
.question label { margin-top:.65rem; padding:1rem; display:flex; gap:.9rem; align-items:center; border:1px solid var(--line); cursor:pointer; transition:border .2s,background .2s; }
.question label:hover { border-color:var(--violet); background:rgba(124,77,255,.09); }.question label:has(input:checked) { border-color:var(--cyan); background:rgba(45,226,230,.08); }
.question input { width:18px; height:18px; accent-color:var(--cyan); }.question span { color:#aeb0bb; font-size:.77rem; }.question b { display:block; color:var(--white); font-size:.9rem; }
.console-actions { min-height:72px; padding:1rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; border-top:1px solid var(--line); }
.console-back,.restart { min-width:44px; min-height:44px; padding:.5rem 0; color:#aaaeba; border:0; background:transparent; cursor:pointer; text-decoration:underline; text-underline-offset:4px; }.console-back:disabled { opacity:.3; cursor:not-allowed; }.form-error,.dialog-error { margin:0; color:#ff9ba3; font-size:.75rem; }
.finder-result { padding:clamp(1.5rem,4vw,3.5rem); }.result-label { color:var(--cyan); font-size:.6rem; font-weight:850; letter-spacing:.17em; }.finder-result h3 { margin:.8rem 0 1rem; font-family:var(--display); font-size:clamp(2.4rem,5vw,4.5rem); line-height:.9; text-transform:uppercase; }.finder-result>p:not(.result-label) { color:var(--muted); }
.result-next { margin:2rem 0; display:grid; grid-template-columns:max-content 1fr; gap:.9rem 1rem; }.result-next span { color:var(--cyan); font-weight:850; }.result-next p { margin:0; color:#9295a2; font-size:.78rem; }.result-next b { display:block;color:var(--white);font-size:.9rem; }.restart { display:block; margin-top:1rem; }

.work { background:#0c0c0f; }.work-head { margin-bottom:2.5rem; }.work-layout { width:min(100%,1050px); margin-inline:auto; display:grid; grid-template-columns:minmax(300px,430px) minmax(320px,1fr); align-items:stretch; gap:1px; background:var(--line); border:1px solid var(--line); }
.video-module,.case-panel { margin:0; background:var(--ink); }.video-module { width:100%; padding:1rem; }.video-meta,.video-module figcaption { display:flex; justify-content:space-between; align-items:center; color:#a4a6b1; font-size:.58rem; font-weight:800; letter-spacing:.14em; }.video-meta { margin-bottom:1rem; }.video-meta i { margin-right:.4rem; }
.video-frame { position:relative; width:100%; aspect-ratio:9/16; background:#020608; border:1px solid rgba(45,226,230,.2); overflow:hidden; isolation:isolate; }
.video-frame video { display:block; width:100%; height:100%; border:0; background:#020608; object-fit:contain; transition:filter .35s ease,transform .6s ease; }
.video-frame:not(.is-playing) video { filter:brightness(.48) saturate(.8) contrast(1.08); transform:scale(1.018); }
.video-standby,.video-alert { position:absolute; inset:0; z-index:2; padding:clamp(1.25rem,6vw,2rem); display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; }
.video-standby { background:linear-gradient(180deg,rgba(2,6,8,.08) 18%,rgba(2,6,8,.38) 48%,rgba(2,6,8,.96) 100%),repeating-linear-gradient(0deg,rgba(255,255,255,.022) 0,rgba(255,255,255,.022) 1px,transparent 1px,transparent 5px); transition:opacity .25s ease,visibility .25s ease; }
.video-standby::before { content:""; position:absolute; z-index:0; left:0; right:0; top:-15%; height:13%; background:linear-gradient(transparent,rgba(45,226,230,.18),transparent); animation:video-scan 4.8s linear infinite; pointer-events:none; }
.video-standby::after { content:""; position:absolute; z-index:0; inset:1rem; border:1px solid rgba(45,226,230,.22); clip-path:polygon(0 0,22% 0,22% 1px,1px 1px,1px 19%,0 19%,0 100%,100% 100%,100% 81%,calc(100% - 1px) 81%,calc(100% - 1px) calc(100% - 1px),78% calc(100% - 1px),78% 100%,0 100%); pointer-events:none; }
.video-standby>* { position:relative; z-index:1; }
@keyframes video-scan { to { transform:translateY(950%); } }
.video-signal { margin:0 0 .8rem; color:var(--cyan); font-size:.56rem; font-weight:900; letter-spacing:.18em; }
.video-signal i,.video-module figcaption strong i { display:inline-block; width:7px; height:7px; margin-right:.45rem; border-radius:50%; background:var(--cyan); box-shadow:0 0 13px var(--cyan); animation:signal-pulse 1.8s ease-in-out infinite; }
@keyframes signal-pulse { 50% { opacity:.35; box-shadow:0 0 4px var(--cyan); } }
.video-standby>strong,.video-alert>strong { font-family:var(--display); font-size:clamp(2.35rem,8vw,3.7rem); line-height:.84; letter-spacing:-.045em; text-transform:uppercase; }
.video-standby>p:not(.video-signal),.video-alert>p { margin:.85rem 0 1.15rem; color:#d2d4db; font-size:.72rem; }
.local-play { min-height:54px; padding:.45rem .65rem; display:flex; align-items:center; gap:.75rem; align-self:flex-start; color:var(--ink); background:var(--cyan); border:0; cursor:pointer; box-shadow:8px 8px 0 rgba(124,77,255,.42); transition:transform .2s ease,background .2s ease; }
.local-play:hover { transform:translateY(-3px); background:#63f5f7; }.local-play:disabled { cursor:wait; opacity:.75; transform:none; }
.local-play span { width:38px; height:38px; display:grid; place-items:center; border:1px solid rgba(9,9,11,.35); border-radius:50%; font-size:.75rem; }.local-play b { padding-right:.55rem; font-size:.62rem; letter-spacing:.13em; }
.video-standby small { margin-top:1rem; color:#a5a8b2; font-size:.49rem; font-weight:800; letter-spacing:.13em; }
.video-frame.is-playing .video-standby { opacity:0; visibility:hidden; pointer-events:none; }
.video-alert { justify-content:center; align-items:flex-start; background:radial-gradient(circle at 20% 20%,rgba(255,94,108,.18),transparent 38%),#071015; }
.video-alert>span { margin-bottom:1rem; color:var(--coral); font-size:.55rem; font-weight:900; letter-spacing:.18em; }.video-alert>strong { font-size:clamp(2rem,7vw,3.2rem); }.video-alert button { min-height:46px; padding:.7rem .9rem; color:var(--white); border:1px solid var(--cyan); background:transparent; cursor:pointer; font-size:.6rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.video-module figcaption { padding:1rem 0 .2rem; }.video-module figcaption strong { min-height:44px; display:flex; align-items:center; color:var(--cyan); white-space:nowrap; }.video-module figcaption strong i { width:6px; height:6px; }
.case-panel { padding:clamp(1.5rem,3vw,3rem); display:flex; flex-direction:column; }.case-index { color:var(--coral); font-size:.58rem; font-weight:850; letter-spacing:.18em; }.case-panel h3 { margin:2rem 0 1rem; font-family:var(--display); font-size:clamp(2rem,3.4vw,3.8rem); line-height:.9; text-transform:uppercase; }.case-panel>p { color:var(--muted); }.case-panel dl { margin:auto 0 2rem; }.case-panel dl div { display:flex; justify-content:space-between; gap:1rem; padding:.7rem 0; border-bottom:1px solid var(--line); font-size:.7rem; }.case-panel dt { color:#797c89; text-transform:uppercase; letter-spacing:.1em; }.case-panel dd { margin:0; text-align:right; }.line-link { min-height:44px; display:flex; justify-content:space-between; align-items:center; padding-top:1rem; border-top:1px solid var(--line); color:var(--cyan); text-decoration:none; font-size:.7rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }

.access { position:relative; display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(3rem,8vw,8rem); overflow:hidden; }.access-orbit { position:absolute; width:420px; height:420px; right:-140px; top:-130px; display:grid; place-items:center; border:1px solid rgba(124,77,255,.2); border-radius:50%; }.access-orbit::before,.access-orbit::after { content:""; position:absolute; inset:50px; border:1px solid rgba(45,226,230,.13); border-radius:50%; }.access-orbit::after { inset:110px; }.access-orbit span { color:rgba(255,255,255,.06); font-size:6rem; font-weight:900; }.track-switcher { display:flex; flex-wrap:wrap; margin-top:2rem; }.track-switcher button { min-height:44px; padding:.65rem .85rem; border:1px solid var(--line); background:transparent; color:#9da0ab; cursor:pointer; }.track-switcher button[aria-selected="true"] { background:var(--cyan); color:var(--ink); border-color:var(--cyan); }.track-preview { margin-top:1rem; padding:1rem; border-left:2px solid var(--cyan); background:rgba(45,226,230,.05); font-size:.73rem; }.track-preview b { display:block;color:var(--cyan);font-size:.58rem;letter-spacing:.15em;margin-bottom:.4rem; }.access-cards { position:relative; z-index:1; display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }.access-cards article { min-height:360px; padding:1.5rem; display:flex; flex-direction:column; border:1px solid var(--line); background:var(--panel); }.access-cards article.membership-card { transform:translateY(2.5rem); background:linear-gradient(145deg,rgba(124,77,255,.24),var(--panel)); border-color:rgba(124,77,255,.55); }.pill { align-self:start; padding:.35rem .5rem; color:var(--cyan); border:1px solid rgba(45,226,230,.4); font-size:.52rem; font-weight:850; letter-spacing:.16em; }.access-cards h3 { margin:2.8rem 0 1rem; font-family:var(--display); font-size:clamp(2rem,3vw,3rem); line-height:.95; text-transform:uppercase; }.access-cards p { color:var(--muted); font-size:.86rem; }.access-cards a { min-height:44px; margin-top:auto; display:flex; align-items:center; color:var(--cyan); font-size:.7rem; font-weight:850; text-transform:uppercase; letter-spacing:.08em; }.boundary-note { grid-column:1/-1; margin:3rem 0 0; padding:1rem; color:#8e919e; border-top:1px solid var(--line); font-size:.72rem; }.boundary-note b { color:var(--coral); text-transform:uppercase; letter-spacing:.08em; }

.session { display:grid; grid-template-columns:.48fr .8fr .72fr; gap:clamp(2rem,5vw,6rem); align-items:center; background:linear-gradient(120deg,#151323,#0b0b0d 45%); border-block:1px solid var(--line); }.session-ticket { aspect-ratio:4/5; padding:1.5rem; display:flex; flex-direction:column; justify-content:space-between; border:1px solid var(--cyan); background:repeating-linear-gradient(90deg,rgba(45,226,230,.05),rgba(45,226,230,.05) 1px,transparent 1px,transparent 24px); box-shadow:16px 16px 0 rgba(124,77,255,.28); }.session-ticket span { font-size:4rem;font-weight:900;letter-spacing:-.13em; }.session-ticket strong { color:var(--cyan);font-family:var(--display);font-size:clamp(4rem,8vw,8rem);line-height:.8; }.session-ticket small { font-size:.55rem;font-weight:800;letter-spacing:.18em; }.booking-flow { list-style:none;padding:0;margin:0; }.booking-flow li { display:grid;grid-template-columns:2.2rem 1fr;gap:1rem;padding:1.1rem 0;border-bottom:1px solid var(--line); }.booking-flow b { color:var(--cyan); }.booking-flow strong { display:block;font-size:.82rem; }.booking-flow span { color:#9295a1;font-size:.72rem; }
.share { display:grid; grid-template-columns:1fr minmax(260px,380px); gap:clamp(3rem,10vw,12rem); align-items:center; }.share-actions { display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem; }.copy-status { min-height:1.5rem; color:var(--cyan)!important;font-size:.75rem; }.qr-card { padding:1rem;display:block;border:1px solid var(--line);background:var(--white);color:var(--ink);text-decoration:none;transform:rotate(2deg);transition:transform .2s ease; }.qr-card:hover { transform:rotate(0) translateY(-5px); }.qr-card img { display:block; }.qr-card span { display:flex;justify-content:space-between;padding:.7rem .3rem 0;font-size:.7rem; }

.site-footer { padding:4rem clamp(1rem,5vw,5.5rem) 1.5rem; display:grid;grid-template-columns:1.5fr repeat(2,1fr);gap:4rem;background:#050506;border-top:1px solid var(--line); }.footer-brand img { width:210px; }.footer-brand p { color:#7f818d;max-width:420px;font-size:.8rem; }.site-footer h2 { margin:0 0 1rem;color:#727582;font-size:.6rem;text-transform:uppercase;letter-spacing:.16em; }.site-footer a,.site-footer button { min-height:44px; display:flex; align-items:center; margin:0;color:#b8bac3;background:none;border:0;padding:.4rem 0;text-decoration:none;font-size:.8rem;cursor:pointer; }.site-footer a:hover,.site-footer button:hover { color:var(--cyan); }.footer-bottom { grid-column:1/-1;display:flex;justify-content:space-between;padding-top:1.5rem;border-top:1px solid var(--line);color:#5f626d;font-size:.6rem;text-transform:uppercase;letter-spacing:.1em; }
.booking-dialog { width:min(620px,calc(100% - 2rem)); max-height:calc(100dvh - 1rem); padding:0;overflow-y:auto;overscroll-behavior:contain;color:var(--white);background:var(--panel);border:1px solid var(--cyan);box-shadow:0 30px 100px #000; }.booking-dialog::backdrop { background:rgba(2,2,4,.82);backdrop-filter:blur(6px); }.dialog-head { position:sticky;top:0;z-index:2;min-height:48px;padding:0 1rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);background:var(--panel);color:#aaaeba;font-size:.58rem;letter-spacing:.16em; }.dialog-head button { width:44px;height:44px;border:0;background:none;font-size:1.5rem;cursor:pointer; }.dialog-body { padding:clamp(1.5rem,5vw,3rem); }.dialog-body h2 { margin:0;font-family:var(--display);font-size:clamp(2.6rem,6vw,4.8rem);line-height:.92;text-transform:uppercase; }.dialog-product { display:flex;justify-content:space-between;gap:2rem;align-items:end;margin:1.5rem 0;padding:1rem;border:1px solid var(--line); }.dialog-product strong,.dialog-product span { display:block; }.dialog-product span { color:var(--muted);font-size:.72rem; }.dialog-product>b { color:var(--cyan);font-size:2.3rem;white-space:nowrap; }.dialog-product small { font-size:.6rem; }.booking-progress { display:grid;grid-template-columns:repeat(3,1fr);margin:1.5rem 0; }.booking-progress span { padding:.7rem;border-bottom:2px solid var(--line);color:#6e717d;font-size:.6rem;text-transform:uppercase;letter-spacing:.08em; }.booking-progress .is-current { color:var(--cyan);border-color:var(--cyan); }.consent { display:flex;gap:.8rem;color:#aaaeba;font-size:.75rem; }.consent input { flex:none;width:20px;height:20px;accent-color:var(--cyan); }.button-full { width:100%;margin-top:1rem; }.checkout-state>small { display:block;margin-top:1rem;color:#737682;font-size:.65rem; }.payment-loading,.payment-success { min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center; }.payment-loading i { width:42px;height:42px;border:3px solid var(--line);border-top-color:var(--cyan);border-radius:50%;animation:spin .8s linear infinite; }.payment-loading span,.payment-success p { color:var(--muted);font-size:.75rem; }.success-mark { width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:var(--cyan);color:var(--ink);font-size:1.5rem;font-weight:900; }.payment-success h3 { margin:.9rem 0 0;font-family:var(--display);font-size:2.2rem;text-transform:uppercase; }
@keyframes spin { to { transform:rotate(360deg); } }

@media (max-width: 980px) {
  .cue-rail span:nth-child(2) { display:none; }
  .menu-toggle { display:flex;align-items:center;gap:.5rem; }.menu-glyph { font-size:1.3rem;transition:transform .2s; }.menu-toggle[aria-expanded="true"] .menu-glyph { transform:rotate(45deg); }
  .site-nav { position:absolute;left:0;right:0;top:100%;padding:1.5rem;display:none;flex-direction:column;align-items:stretch;background:#0d0d11;border-bottom:1px solid var(--line); }.site-nav.is-open { display:flex; }.site-nav a,.text-button { padding:.8rem 0;text-align:left; }
  .hero { grid-template-columns:1fr;min-height:auto; }.hero-copy { max-width:780px; }.hero-stage { margin-top:4rem;width:min(100%,620px); }.stage-frame { min-height:390px; }.hero-status { margin-top:3rem; }
  .door-grid { grid-template-columns:1fr; }.door { min-height:auto;border-right:0;border-bottom:1px solid var(--line); }.door:last-child { border-bottom:0; }.door ul { margin:2rem 0; }
  .finder,.access { grid-template-columns:1fr; }.finder-intro { max-width:700px; }.work-layout { grid-template-columns:minmax(0,440px); justify-content:center; background:transparent; border:0; gap:1rem; }.video-module,.case-panel { border:1px solid var(--line); }.case-panel { min-height:430px; }.access-cards { max-width:760px; }.session { grid-template-columns:.6fr 1fr; }.booking-flow { grid-column:1/-1;display:grid;grid-template-columns:repeat(2,1fr);gap:0 2rem; }.share { grid-template-columns:1fr 280px; }
}

@media (max-width: 650px) {
  .cue-rail span:last-child { display:none; }
  .site-header { min-height:64px;padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right)); }.brand { width:145px; }.menu-label { font-size:.7rem; }
  h1 { font-size:clamp(2.8rem,14vw,3.7rem);line-height:1.02;letter-spacing:-.055em; }
  h1 em { -webkit-text-stroke-width:1.2px; }
  .section-head h2,.finder h2,.access h2,.session h2,.share h2 { font-size:clamp(2.35rem,11vw,3rem);line-height:.96;letter-spacing:-.045em; }
  .door h3,.case-panel h3,.access-cards h3,.finder-result h3 { line-height:.98; }
  .hero { padding-top:clamp(3rem,11vw,4rem);padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right)); }.hero-actions { flex-direction:column;align-items:stretch; }.hero-actions .button { width:100%; }.hero-stage { width:100%;margin-top:3rem; }.stage-frame { min-height:320px; }.hero-status { grid-template-columns:1fr; }.hero-status span { border-bottom:1px solid var(--line); }
  .section { padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right)); }.section-head { grid-template-columns:1fr;gap:1.5rem; }.door { padding:1.2rem; }.door-icon { margin:2rem 0; }.finder { gap:3rem; }.console-head { grid-template-columns:max-content 1fr; }.console-head span:last-child { display:none; }.question { padding:1.2rem; }.question label { min-height:56px;padding:.85rem; }.console-actions { flex-wrap:wrap; }.form-error { order:3;width:100%; }.console-actions .button { margin-left:auto; }.result-next { grid-template-columns:max-content 1fr; }
  .video-module { padding:.6rem; }.video-meta span:last-child { display:none; }.video-module figcaption { flex-wrap:wrap;align-items:flex-start;gap:.4rem 1rem; }.access-cards { grid-template-columns:1fr; }.access-cards article.membership-card { transform:none; }.session { grid-template-columns:1fr; }.session-ticket { width:min(320px,88%);max-width:100%; }.booking-flow { grid-template-columns:1fr; }.share { grid-template-columns:1fr; }.qr-card { width:min(330px,100%);transform:none; }.qr-card span { flex-wrap:wrap;gap:.35rem 1rem; }.site-footer { padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right));grid-template-columns:1fr;gap:2rem; }.footer-bottom { flex-direction:column;gap:.7rem; }.concept-switcher { right:max(.5rem,env(safe-area-inset-right));bottom:max(.5rem,env(safe-area-inset-bottom));padding:.35rem; }.concept-switcher>span,.concept-switcher>strong { display:none; }.concept-switcher.original-version a { min-height:44px; }
  .booking-dialog { width:calc(100% - 1rem);max-height:calc(100dvh - 1rem); }.dialog-body { padding:1.15rem; }.dialog-body h2 { font-size:clamp(2.2rem,11vw,3.2rem);line-height:.96; }.dialog-product { align-items:flex-start;flex-direction:column;gap:.75rem; }.booking-progress span { padding:.65rem .25rem;font-size:.5rem;letter-spacing:.04em; }
}

@media (max-width: 360px) {
  .cue-rail { letter-spacing:.13em; }
  .brand { width:132px; }
  .hero-actions .button { padding-inline:.8rem;letter-spacing:.07em; }
  .stage-top,.stage-center p { letter-spacing:.11em; }
  .console-actions .button { width:100%;margin-left:0; }
  .dialog-product>b { font-size:2rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important; }
}

[hidden] { display:none!important; }
