:root{--ground:#f7f5ff;--panel:#fff;--ink:#160c33;--ink-soft:#2c1f55;--muted:#6b6485;--line:#e8e1f5;--line-strong:#d8cdf0;--purple:#6a2cff;--purple-soft:#efe7ff;--orange:#ff7a00;--orange-soft:#ffefdd;--success:#12a150;--shadow-1:0 1px 2px #160c330a, 0 1px 3px #160c330f;--shadow-2:0 8px 24px #160c3312, 0 2px 6px #160c330d;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--serif:ui-serif, "New York", "Iowan Old Style", Georgia, "Times New Roman", serif;--sans:system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "SF Mono", "JetBrains Mono", "Fira Code", Menlo, Consolas, monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ground:#0e0725;--panel:#170c33;--ink:#f4f1ff;--ink-soft:#ddd3f5;--muted:#b0a6d0;--line:#2a1e4f;--line-strong:#3a2a6a;--purple:#8b5cf6;--purple-soft:#24184a;--orange:#ff9a3d;--orange-soft:#3a1d0c;--success:#34d391;--shadow-1:0 1px 2px #0000004d;--shadow-2:0 10px 30px #00000059}}:root[data-theme=dark]{--ground:#0e0725;--panel:#170c33;--ink:#f4f1ff;--ink-soft:#ddd3f5;--muted:#b0a6d0;--line:#2a1e4f;--line-strong:#3a2a6a;--purple:#8b5cf6;--purple-soft:#24184a;--orange:#ff9a3d;--orange-soft:#3a1d0c;--success:#34d391;--shadow-1:0 1px 2px #0000004d;--shadow-2:0 10px 30px #00000059}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--ground);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:17px;line-height:1.55}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}.wrap{max-width:1240px;margin:0 auto;padding:0 32px}header.site{z-index:20;background:color-mix(in oklab, var(--ground) 88%, transparent);-webkit-backdrop-filter:saturate(140%)blur(10px);backdrop-filter:saturate(140%)blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0}.site-inner{justify-content:space-between;align-items:center;height:68px;display:flex}.brand{font-family:var(--serif);letter-spacing:-.01em;align-items:center;gap:10px;font-size:22px;display:inline-flex}.brand em{color:var(--purple);font-style:italic}.brand-word{white-space:nowrap}.brand-mark{object-fit:contain;border-radius:8px;width:30px;height:30px;display:block}nav.top{align-items:center;gap:28px;display:flex}nav.top a{color:var(--muted);font-size:14.5px;transition:color .15s}nav.top a:hover{color:var(--ink)}.btn{font-family:var(--sans);cursor:pointer;border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:10px 16px;font-size:14.5px;font-weight:600;transition:transform .12s,background .15s,color .15s,border-color .15s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--purple);color:#fff}.btn.primary:hover{background:color-mix(in oklab, var(--purple) 88%, #000)}.btn.ghost{color:var(--ink);border-color:var(--line-strong);background:0 0}.btn.ghost:hover{border-color:var(--ink)}.btn.hero-orange{background:var(--orange);color:#1b0800;padding:14px 22px;font-size:16px}.btn.hero-orange:hover{background:color-mix(in oklab, var(--orange) 90%, #000)}.btn.large{padding:14px 22px;font-size:16px}.theme-toggle{color:var(--muted);border:1px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:999px;place-items:center;width:34px;height:34px;transition:color .15s,border-color .15s;display:grid}.theme-toggle:hover{color:var(--ink);border-color:var(--ink)}.theme-toggle svg{width:16px;height:16px}@media (max-width:780px){nav.top .hide-sm{display:none}}section{padding:96px 0}section.tight{padding:64px 0}h1,h2,h3{font-family:var(--serif);letter-spacing:-.015em;text-wrap:balance;color:var(--ink);margin:0;font-weight:500}h1{font-size:clamp(44px,6.4vw,76px);line-height:1.02}h2{font-size:clamp(32px,4.4vw,52px);line-height:1.06}h3{font-size:22px;font-weight:500;line-height:1.25}p{color:var(--ink-soft)}.eyebrow{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--purple);background:var(--purple-soft);border-radius:999px;align-items:center;gap:8px;padding:6px 10px 6px 8px;font-size:12px;display:inline-flex}.eyebrow:before{content:"";background:var(--purple);border-radius:999px;width:6px;height:6px}.eyebrow.orange{color:var(--orange);background:var(--orange-soft)}.eyebrow.orange:before{background:var(--orange)}.section-head{flex-direction:column;gap:18px;max-width:720px;margin-bottom:56px;display:flex}.section-head p.lead{color:var(--muted);margin:0;font-size:20px;line-height:1.5}.hero{padding:72px 0 112px;position:relative;overflow:clip}.hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:72px;display:grid}@media (max-width:960px){.hero-grid{grid-template-columns:1fr;gap:56px}}.hero p.lead{color:var(--muted);max-width:52ch;margin:24px 0 32px;font-size:20px;line-height:1.5}h1 .accent{color:var(--purple);font-style:italic}.hero-ctas{flex-wrap:wrap;gap:12px;display:flex}.hero-meta{border-top:1px solid var(--line);font-family:var(--mono);letter-spacing:.06em;color:var(--muted);text-transform:uppercase;flex-wrap:wrap;gap:28px;margin-top:40px;padding-top:24px;font-size:12.5px;display:flex}.hero-meta span{align-items:center;gap:8px;display:inline-flex}.hero-meta .dot{background:var(--success);border-radius:999px;width:5px;height:5px}.hero-visual{aspect-ratio:5/5.6;justify-self:end;width:100%;max-width:560px;position:relative}@media (max-width:960px){.hero-visual{justify-self:center}}.map-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.map-card svg{width:100%;height:100%}.map-header{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);background:color-mix(in oklab, var(--panel) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:space-between;align-items:center;padding:14px 18px;font-size:11.5px;display:flex;position:absolute;top:0;left:0;right:0}.map-header .live{color:var(--success);align-items:center;gap:6px;display:inline-flex}.map-header .live .dot{background:var(--success);border-radius:999px;width:6px;height:6px;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.75)}}.checkpoint-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);width:260px;box-shadow:var(--shadow-2);gap:12px;padding:16px;display:grid;position:absolute;bottom:-28px;right:-28px}@media (max-width:520px){.checkpoint-card{width:220px;bottom:-20px;right:8px}}.cp-row{justify-content:space-between;align-items:center;display:flex}.cp-label{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:11px}.cp-title{font-family:var(--serif);color:var(--ink);font-size:19px;line-height:1.15}.cp-meta{color:var(--muted);align-items:center;gap:14px;font-size:13px;display:flex}.cp-progress{background:var(--line);border-radius:999px;height:6px;overflow:hidden}.cp-progress>div{background:linear-gradient(90deg, var(--purple), color-mix(in oklab, var(--purple) 70%, var(--orange)));border-radius:999px;width:62%;height:100%}.qr{background:var(--ink);border-radius:8px;grid-template-rows:repeat(6,1fr);grid-template-columns:repeat(6,1fr);gap:1.5px;width:56px;height:56px;padding:6px;display:grid}.qr b{background:var(--ground);border-radius:1px}.qr .off{background:var(--ink)}.solve-badge{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-2);color:var(--ink);border-radius:999px;align-items:center;gap:10px;padding:8px 14px 8px 8px;font-size:13px;display:inline-flex;position:absolute;top:18%;left:-14px}.solve-badge .avatar{background:var(--purple);color:#fff;border-radius:999px;place-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:grid}.solve-badge .time{font-family:var(--mono);color:var(--muted);font-size:11px}.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:color-mix(in oklab, var(--panel) 50%, var(--ground));padding:40px 0}.strip-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;display:flex}.strip-label{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:12px}.fauxlogos{opacity:.7;flex-wrap:wrap;align-items:center;gap:36px;display:flex}.fauxlogos span{font-family:var(--serif);color:var(--ink-soft);letter-spacing:-.01em;font-size:20px;font-style:italic}.fauxlogos span:nth-child(2n){font-family:var(--sans);letter-spacing:-.02em;text-transform:uppercase;font-size:17px;font-style:normal;font-weight:700}.pillars{grid-template-columns:repeat(4,1fr);gap:24px;display:grid}@media (max-width:900px){.pillars{grid-template-columns:repeat(2,1fr)}}@media (max-width:520px){.pillars{grid-template-columns:1fr}}.pillar{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);flex-direction:column;gap:12px;padding:28px;transition:border-color .15s,transform .15s;display:flex}.pillar:hover{border-color:var(--line-strong);transform:translateY(-2px)}.pillar .glyph{background:var(--purple-soft);width:36px;height:36px;color:var(--purple);border-radius:10px;place-items:center;display:grid}.pillar h3{font-size:19px}.pillar p{margin:0;font-size:15px}.how{grid-template-columns:repeat(4,1fr);gap:32px;display:grid;position:relative}@media (max-width:900px){.how{grid-template-columns:repeat(2,1fr);gap:40px 32px}}@media (max-width:520px){.how{grid-template-columns:1fr}}.step{flex-direction:column;gap:14px;display:flex;position:relative}.step .num{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:12px}.step h3{font-size:22px}.step p{margin:0;font-size:15.5px}.step .glyph{background:var(--panel);border:1px solid var(--line);width:44px;height:44px;color:var(--purple);border-radius:12px;place-items:center;display:grid}.trail{background:repeating-linear-gradient(90deg, var(--line-strong) 0 6px, transparent 6px 12px);z-index:0;height:2px;position:absolute;top:22px;left:5%;right:5%}@media (max-width:900px){.trail{display:none}}.cases{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}@media (max-width:1000px){.cases{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.cases{grid-template-columns:1fr}}.case{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);flex-direction:column;gap:14px;min-height:260px;padding:28px;transition:border-color .15s;display:flex;position:relative;overflow:hidden}.case:hover{border-color:var(--line-strong)}.case .kicker{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:11.5px}.case h3{font-size:22px}.case p{margin:0;font-size:15px}.case .stat{font-family:var(--serif);color:var(--ink);margin-top:auto;font-size:30px;line-height:1}.case .stat small{font-family:var(--sans);color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin-top:6px;font-size:12.5px;font-weight:500;display:block}.case .stat b{color:var(--purple);font-weight:500}.split{grid-template-columns:1.1fr 1fr;align-items:center;gap:72px;display:grid}.split.reverse{grid-template-columns:1fr 1.1fr}@media (max-width:960px){.split,.split.reverse{grid-template-columns:1fr;gap:48px}}.split h2{max-width:20ch}.split p{margin-top:20px;font-size:18px}.split .bullets{flex-direction:column;gap:10px;margin:24px 0 0;padding:0;list-style:none;display:flex}.split .bullets li{color:var(--ink-soft);align-items:flex-start;gap:12px;font-size:15.5px;display:flex}.split .bullets li:before{content:"";background:var(--purple);border-radius:999px;flex:none;width:6px;height:6px;margin-top:10px}.storebadges{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.storebadge{background:var(--ink);color:var(--ground);border-radius:12px;align-items:center;gap:10px;padding:10px 16px;font-size:14px;display:inline-flex}.storebadge small{opacity:.7;letter-spacing:.06em;text-transform:uppercase;font-size:10.5px;display:block}.storebadge b{font-size:15px;font-weight:600;display:block}.phone{aspect-ratio:9/19;background:var(--ink);width:100%;max-width:320px;box-shadow:var(--shadow-2);border-radius:42px;justify-self:center;padding:12px;position:relative}.phone:before{content:"";background:#000;border-radius:999px;width:90px;height:22px;position:absolute;top:18px;left:50%;transform:translate(-50%)}.phone-screen{background:var(--ground);border-radius:32px;flex-direction:column;gap:14px;width:100%;height:100%;padding:44px 18px 18px;display:flex;overflow:hidden}.ps-title{font-family:var(--serif);color:var(--ink);letter-spacing:-.01em;font-size:22px}.ps-title em{color:var(--purple);font-style:italic}.ps-sub{color:var(--muted);font-size:12px;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase}.ps-card{border:1px solid var(--line);background:var(--panel);border-radius:14px;gap:8px;padding:12px;display:grid}.ps-card h4{color:var(--ink);font-size:14px;font-family:var(--sans);margin:0;font-weight:600}.ps-card p{color:var(--muted);margin:0;font-size:11.5px}.ps-cta{background:var(--purple);color:#fff;text-align:center;border-radius:12px;margin-top:auto;padding:12px;font-size:14px;font-weight:600}.rank{background:var(--panel);border:1px solid var(--line);border-radius:10px;justify-content:space-between;padding:10px 12px;font-size:12.5px;display:flex}.rank .n{font-family:var(--mono);color:var(--muted)}.rank .pts{color:var(--purple);font-weight:600}.rank.you{border-color:var(--purple);background:var(--purple-soft);color:var(--ink)}.adminui{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);font-family:var(--sans);overflow:hidden}.adminui .bar{border-bottom:1px solid var(--line);background:color-mix(in oklab, var(--panel) 92%, var(--ground));align-items:center;gap:8px;padding:12px 14px;display:flex}.adminui .bar .win{background:var(--line-strong);border-radius:999px;width:10px;height:10px}.adminui .bar span{font-family:var(--mono);color:var(--muted);letter-spacing:.06em;margin-left:12px;font-size:11.5px}.adminui .grid{grid-template-columns:200px 1fr;min-height:320px;display:grid}.adminui aside{border-right:1px solid var(--line);flex-direction:column;gap:6px;padding:16px 12px;display:flex}.adminui aside a{color:var(--muted);border-radius:8px;padding:8px 10px;font-size:13px}.adminui aside a.on{background:var(--purple-soft);color:var(--purple);font-weight:600}.adminui main{flex-direction:column;gap:14px;padding:18px 20px;display:flex}.adminui .tabs{gap:8px;display:flex}.adminui .tab{background:var(--ground);color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:6px 10px;font-size:12px}.adminui .tab.on{background:var(--ink);color:var(--ground);border-color:var(--ink)}.adminui table{border-collapse:collapse;width:100%;font-size:13px}.adminui th{text-align:left;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);padding:10px 8px;font-size:10.5px;font-weight:500}.adminui td{border-bottom:1px solid var(--line);color:var(--ink-soft);padding:12px 8px}.adminui td .pill{background:var(--purple-soft);color:var(--purple);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.adminui td .pill.warn{background:var(--orange-soft);color:var(--orange)}.adminui td b{color:var(--ink);font-weight:600}@media (max-width:640px){.adminui .grid{grid-template-columns:1fr}.adminui aside{display:none}}.admin-note{background:var(--orange-soft);color:color-mix(in oklab, var(--orange) 60%, var(--ink) 55%);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;align-items:center;gap:10px;margin-bottom:16px;padding:8px 14px;font-size:12px;display:inline-flex}.admin-note:before{content:"";background:var(--orange);border-radius:999px;width:7px;height:7px}.cta{background:var(--ink);color:var(--ground);border-radius:28px;grid-template-columns:1.2fr 1fr;align-items:center;gap:48px;padding:72px 56px;display:grid;position:relative;overflow:hidden}@media (max-width:820px){.cta{grid-template-columns:1fr;padding:48px 32px}}.cta h2{color:var(--ground);max-width:20ch;font-size:clamp(30px,3.6vw,44px)}.cta h2 em{color:var(--orange);font-style:italic}.cta p{color:color-mix(in oklab, var(--ground) 70%, var(--muted));max-width:42ch;margin:18px 0 0;font-size:17px}.cta-actions{flex-direction:column;gap:14px;display:flex}.cta-actions .fine{font-family:var(--mono);color:color-mix(in oklab, var(--ground) 60%, var(--muted));letter-spacing:.08em;text-transform:uppercase;font-size:11.5px}.cta:after{content:"";background:radial-gradient(circle at center, color-mix(in oklab, var(--orange) 45%, transparent), transparent 70%);pointer-events:none;border-radius:50%;width:300px;height:300px;position:absolute;top:-80px;right:-80px}footer.site{border-top:1px solid var(--line);color:var(--muted);padding:56px 0 40px;font-size:14px}.foot{grid-template-columns:2fr 1fr 1fr 1fr;align-items:flex-start;gap:32px;margin-bottom:40px;display:grid}@media (max-width:780px){.foot{grid-template-columns:1fr 1fr}}.foot h5{color:var(--ink);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;margin:0 0 12px;font-size:11.5px;font-weight:500}.foot ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.foot ul a:hover{color:var(--ink)}.foot-brand p{max-width:30ch;color:var(--muted);margin:12px 0 0;font-size:14px}.foot-bottom{border-top:1px solid var(--line);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:24px;font-size:11.5px;display:flex}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}a:focus-visible{outline:2px solid var(--purple);outline-offset:3px;border-radius:6px}button:focus-visible{outline:2px solid var(--purple);outline-offset:3px;border-radius:6px}.wrap.legal{max-width:720px;padding:40px 20px 96px;line-height:1.7}.wrap.legal section{margin-bottom:32px}.wrap.legal h2{color:var(--ink);letter-spacing:-.01em;margin:0 0 12px;font-size:20px;font-weight:700}.wrap.legal p,.wrap.legal li{color:var(--ink-soft);margin:0 0 12px;font-size:15px}.wrap.legal ul{margin:0 0 12px;padding-left:20px}.wrap.legal li{margin-bottom:6px}.wrap.legal strong{color:var(--ink)}.wrap.legal a{color:var(--purple);border-bottom:1px solid #0000;text-decoration:none}.wrap.legal a:hover{border-bottom-color:currentColor}.wrap.legal code{font-family:var(--mono);background:var(--purple-soft);color:var(--ink);border-radius:4px;padding:1px 6px;font-size:13px}.legal-hero{background:linear-gradient(160deg, var(--ink) 0%, #3b1f8a 55%, var(--purple) 100%);color:#fff;padding:72px 0 40px}.legal-hero .wrap{max-width:720px;padding:0 20px}.legal-hero h1{font-family:var(--serif);letter-spacing:-.02em;margin:6px 0 8px;font-size:clamp(32px,5vw,48px);font-weight:700;line-height:1.05}.legal-hero .legal-updated{color:#ffffffa6;margin:0;font-size:14px}.legal-hero .legal-back{margin:0 0 8px;font-size:14px}.legal-hero .legal-back a{color:#ffffffbf;border-bottom:1px solid #ffffff59;text-decoration:none}.legal-hero .legal-back a:hover{color:#fff;border-bottom-color:#fff}.legal-foot{border-top:1px solid var(--line);text-align:center;color:var(--muted);padding:24px 0 48px;font-size:13px}.legal-foot a{color:var(--muted);text-decoration:none}.legal-foot a:hover{color:var(--ink)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--purple);color:#fff;border-radius:8px;padding:10px 16px;position:absolute;top:8px;left:-9999px}.skip-link:focus{left:8px}:focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:6px}nav.top a[aria-current=page]{color:var(--ink);font-weight:600}.menu-toggle{color:var(--ink);border:1px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:10px;place-items:center;width:40px;height:40px;display:none}.linklike{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}@media (max-width:1000px){nav.top{gap:18px}nav.top a{font-size:14px}}@media (max-width:900px){.menu-toggle{display:grid}nav.top{background:var(--ground);border-bottom:1px solid var(--line);box-shadow:var(--shadow-2);flex-direction:column;align-items:stretch;gap:4px;padding:16px 24px 24px;display:none;position:absolute;top:68px;left:0;right:0}nav.top.open{display:flex}nav.top a:not(.btn){color:var(--ink);padding:12px 4px;font-size:17px}nav.top .btn{justify-content:center;margin-top:8px}nav.top .theme-toggle{align-self:flex-start;margin-top:8px}}@media (max-width:520px){.wrap{padding:0 20px}section{padding:64px 0}}.exp-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}@media (max-width:960px){.exp-grid{grid-template-columns:1fr}}.exp-card{--accent:var(--purple);--accent-soft:var(--purple-soft);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);flex-direction:column;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;overflow:hidden}.exp-card:hover{box-shadow:var(--shadow-2);border-color:var(--accent);transform:translateY(-3px)}.exp-card .art{aspect-ratio:3/2;background:var(--accent-soft)}.exp-card .art img{object-fit:cover;width:100%;height:100%}.exp-card .body{flex-direction:column;flex:1;gap:12px;padding:26px 26px 28px;display:flex}.exp-card .kicker{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:11.5px}.exp-card h3{font-size:26px}.exp-card p{margin:0;font-size:16px}.exp-card .outcome{color:var(--muted);border-top:1px solid var(--line);margin-top:auto;padding-top:12px;font-size:14.5px}.exp-card .btn{background:var(--accent);color:#fff;align-self:flex-start}.exp-card.corporate{--accent:#4b1fc4;--accent-soft:#e7dfff}.exp-card.birthday{--accent:#c75300;--accent-soft:#ffe6cc}.exp-card.self{--accent:#0b7a5a;--accent-soft:#d8f3e9}:root[data-theme=dark] .exp-card.corporate{--accent:#a78bfa;--accent-soft:#24184a}:root[data-theme=dark] .exp-card.birthday{--accent:#ff9a3d;--accent-soft:#3a1d0c}:root[data-theme=dark] .exp-card.self{--accent:#34d391;--accent-soft:#0f2f25}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .exp-card.corporate{--accent:#a78bfa;--accent-soft:#24184a}:root:not([data-theme=light]) .exp-card.birthday{--accent:#ff9a3d;--accent-soft:#3a1d0c}:root:not([data-theme=light]) .exp-card.self{--accent:#34d391;--accent-soft:#0f2f25}}.exp-card{--on-accent:#fff}:root[data-theme=dark] .exp-card{--on-accent:#0e0725}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .exp-card{--on-accent:#0e0725}}.exp-card .btn{color:var(--on-accent)}.page-hero{padding:72px 0 88px}.page-hero .hero-grid{align-items:center}.page-hero .art-frame{border-radius:var(--radius-lg);border:1px solid var(--line);box-shadow:var(--shadow-2);background:var(--panel);overflow:hidden}.page-hero .art-frame img{width:100%;height:auto}.page-hero .art-note{font-family:var(--mono);letter-spacing:.08em;color:var(--muted);text-transform:uppercase;margin-top:10px;font-size:11px}.page-hero.birthday .accent{color:var(--orange)}.page-hero.self .accent{color:var(--success)}.band{background:color-mix(in oklab, var(--panel) 40%, var(--ground))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.cols-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}@media (max-width:900px){.cols-3,.cols-2{grid-template-columns:1fr}}.tile{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);flex-direction:column;gap:10px;padding:26px;display:flex}.tile h3{font-size:21px}.tile p,.tile li{margin:0;font-size:15.5px}.tile ul{color:var(--ink-soft);gap:6px;margin:0;padding-left:18px;display:grid}.tag{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;background:var(--orange-soft);color:var(--orange);border-radius:999px;align-self:flex-start;padding:4px 10px;font-size:11px}.tag.live{background:var(--purple-soft);color:var(--purple)}.notice{border:1px dashed var(--line-strong);border-radius:var(--radius-md);color:var(--muted);padding:18px 20px;font-size:15px}.crosslinks{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.crosslinks span{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:12px}.faq{gap:12px;max-width:820px;display:grid}.faq details{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);padding:0 22px}.faq summary{cursor:pointer;justify-content:space-between;gap:16px;padding:18px 0;font-weight:600;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--purple);font-size:22px;line-height:1}.faq details[open] summary:after{content:"–"}.faq details p{margin:0 0 18px;font-size:16px}.enquiry{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:56px;display:grid}@media (max-width:960px){.enquiry{grid-template-columns:1fr;gap:32px}}.form{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);gap:18px;padding:32px;display:grid}.form .row{grid-template-columns:1fr 1fr;align-items:start;gap:18px;display:grid}@media (max-width:560px){.form{padding:22px}.form .row{grid-template-columns:1fr}}.field{align-content:start;gap:6px;display:grid}.field .err:empty{display:none}.field label{color:var(--ink);font-size:14px;font-weight:600}.phone-row{grid-template-columns:minmax(130px,38%) 1fr;gap:10px;display:grid}@media (max-width:420px){.phone-row{grid-template-columns:1fr}}.field .opt{color:var(--muted);font-weight:400}.field input,.field textarea,.field select{font:inherit;color:var(--ink);background:var(--ground);border:1px solid var(--line-strong);border-radius:10px;width:100%;padding:12px 14px;font-size:16px}.field textarea{resize:vertical;min-height:110px}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:#c62828}.field .err,.form-status.err{color:#c62828;min-height:0;font-size:14px}:root[data-theme=dark] .field .err,:root[data-theme=dark] .form-status.err{color:#ff8a80}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .field .err,:root:not([data-theme=light]) .form-status.err{color:#ff8a80}}.field .hint{color:var(--muted);font-size:13px}.check{color:var(--ink-soft);align-items:flex-start;gap:12px;font-size:14.5px;display:flex}.check input{width:20px;height:20px;accent-color:var(--purple);flex:none;margin-top:2px}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.form-status{color:var(--muted);font-size:15px}.form button[disabled]{opacity:.6;cursor:progress}.success{background:var(--panel);border:1px solid var(--success);border-radius:var(--radius-lg);padding:32px}.success h3{margin-bottom:8px}.adv-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}@media (min-width:1000px){.self-grid-3 .adv-grid,[data-filters] .adv-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.adv-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);flex-direction:column;display:flex;overflow:hidden}.adv-media{aspect-ratio:2;background:var(--purple-soft);overflow:hidden}.adv-cover{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.adv-cover-empty{color:var(--line-strong);background:repeating-linear-gradient(135deg, var(--purple-soft) 0 14px, color-mix(in oklab, var(--purple-soft) 70%, var(--panel)) 14px 28px);place-items:center;display:grid}.adv-cover-empty svg{width:40px;height:40px}.adv-body{flex-direction:column;flex:1;gap:8px;padding:20px;display:flex}.adv-body h3{font-size:20px}.adv-body p{margin:0;font-size:15px}.adv-where,.adv-meta{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11.5px}.adv-body .btn{align-self:flex-start;margin-top:auto}.adv-body p{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.adv-body .adv-meta{margin-top:2px}.adv-body .btn{margin-top:auto}.adv-card{transition:border-color .15s,box-shadow .15s}.adv-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-2)}.adv-card[hidden]{display:none}[data-catalogue-status]{color:var(--muted)}.consent{z-index:60;background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius-md);max-width:720px;box-shadow:var(--shadow-2);flex-wrap:wrap;align-items:center;gap:16px;margin:0 auto;padding:18px 20px;display:flex;position:fixed;bottom:16px;left:16px;right:16px}.consent p{flex:280px;margin:0;font-size:14.5px}.consent-actions{gap:10px;display:flex}html{scroll-behavior:auto;scroll-padding-top:84px}@media (prefers-reduced-motion:no-preference){html.smooth-scroll{scroll-behavior:smooth}}.adv-skel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);min-height:340px;position:relative;overflow:hidden}.adv-skel:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in oklab, var(--line) 60%, transparent), transparent);animation:1.4s infinite adv-shimmer;position:absolute;top:0;bottom:0;left:0;right:0;transform:translate(-100%)}@keyframes adv-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.adv-skel:after{animation:none}}.adv-soon{color:var(--muted);margin:0;font-size:14px}.adv-body .tag{margin-bottom:2px}.page-hero.self{padding:48px 0 56px}.page-hero.self .hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:56px}@media (max-width:960px){.page-hero.self{padding:32px 0 40px}.page-hero.self .hero-grid{grid-template-columns:1fr;gap:32px}}.page-hero.self h1{font-size:clamp(38px,5.4vw,64px)}.page-hero.self .lead{margin:20px 0 28px;font-size:19px}.page-hero.self .hero-meta{margin-top:28px;padding-top:18px}@media (max-width:520px){.page-hero.self .hero-ctas .btn{flex:100%;justify-content:center}.page-hero.self .hero-meta{gap:8px 18px}}.hero-photo{border-radius:var(--radius-lg);border:1px solid var(--line);box-shadow:var(--shadow-2);aspect-ratio:4/3;background:var(--purple-soft);margin:0;position:relative;overflow:hidden}@media (max-width:960px){.hero-photo{aspect-ratio:16/10}}.hero-photo img{object-fit:cover;object-position:60% 40%;width:100%;height:100%;display:block}.hero-route{pointer-events:none;width:100%;height:30%;position:absolute;top:auto;bottom:0;left:0;right:0}.hero-route path{fill:none;stroke:#fff;stroke-width:2.5px;stroke-dasharray:2 8;stroke-linecap:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 2px #00000073)}.hero-route circle{fill:#fff;stroke:var(--purple);stroke-width:3px;vector-effect:non-scaling-stroke}.hero-route circle.end{fill:var(--orange);stroke:#fff}.hero-photo figcaption{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#fff;background:#160c339e;border-radius:999px;padding:5px 10px;font-size:11px;position:absolute;top:14px;left:14px}.adv-tools{gap:12px;margin-bottom:12px;display:grid}.adv-search{width:100%;font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--line-strong);border-radius:999px;min-height:48px;padding:12px 18px;font-size:16px}.adv-search::placeholder{color:var(--muted)}.adv-filters{flex-wrap:wrap;gap:10px;display:flex}.adv-select{flex:150px;min-width:0}.adv-select select{width:100%;font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--line-strong);border-radius:999px;min-height:44px;padding:10px 14px;font-size:15px}.adv-search:focus-visible{outline:2px solid var(--purple);outline-offset:2px}.adv-select select:focus-visible{outline:2px solid var(--purple);outline-offset:2px}.adv-reset{min-height:44px}.adv-count{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 18px;font-size:12px}.adv-empty{justify-items:start;gap:14px;margin-top:20px;display:grid}.adv-empty p{margin:0}.adv-empty[hidden],[data-catalogue-tools][hidden]{display:none}.adv-fallback{margin-top:12px}#adventures .section-head{gap:14px;margin-bottom:28px}#adventures{padding:56px 0 72px;scroll-margin-top:72px}.adv-body .btn:focus-visible{outline:2px solid var(--purple);outline-offset:3px}.how.compact{gap:24px}.how.compact .step{gap:8px}.how.compact .num{background:var(--panel);border:1px solid var(--line-strong);width:36px;height:36px;color:var(--purple);font-family:var(--serif);letter-spacing:0;z-index:1;border-radius:999px;place-items:center;font-size:17px;display:grid;position:relative}.how.compact .trail{top:18px;left:18px;right:18px}.how.compact .step h3{font-size:19px}.how.compact .step p{font-size:15px}#how-to-play .section-head{margin-bottom:32px}@media (max-width:900px){.how.compact{gap:28px 24px}}body[data-page=self] .section-head .eyebrow{align-self:flex-start}.page-hero.self .eyebrow{margin-bottom:18px}.page-hero.self h1 .accent{display:block}
