/* Ported from p2e-pages/city-template/template/css/01-hero.css (2026-09-26). Keep in sync with the template. */
/* city template · finder concept. All classes prefixed cv-. */
#arena{overflow-x:clip}
.cv-flag{position:relative;z-index:5;margin-top:76px;background:#1c1830;color:#cfc3f2;font:600 11px/1.3 Manrope,sans-serif;letter-spacing:.1em;text-transform:uppercase;text-align:center;padding:8px 16px}
.cv-eyebrow{font:700 12px Manrope,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--lime);margin:0 0 10px}
.cv-h2{font:800 clamp(30px,4vw,52px)/1 var(--f-display);text-transform:uppercase;color:#fff;margin:0 0 28px;letter-spacing:.01em}
.cv-ph{color:#9aa3b8;font-style:italic}
.cv-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:999px;font:800 14px Manrope,sans-serif;text-decoration:none;transition:background .3s,border-color .3s,color .3s;white-space:nowrap}
/* V-02: `.dark-scheme a` from the AIvent theme beat `.cv-btn-lime` for the ink colour (1.11:1 on live). */
.cv-btn-lime,.dark-scheme a.cv-btn-lime,.dark-scheme a.cv-btn-lime:hover,.dark-scheme a.cv-btn-lime:focus{background:var(--lime);color:var(--lime-ink)}.cv-btn-lime:hover{background:#e2ff4d}
.cv-btn-ghost{border:1px solid rgba(255,255,255,.18);color:#fff;background:rgba(255,255,255,.03)}.cv-btn-ghost:hover{border-color:rgba(255,255,255,.4)}
.cv-row{display:flex;flex-wrap:wrap;gap:10px}
.cv-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--lime);font:700 14px Manrope,sans-serif;text-decoration:none}

/* ---------- hero map ---------- */
.cv-hero{position:relative;min-height:calc(100vh - 110px);min-height:calc(100svh - 110px);display:flex;align-items:center;overflow:hidden;background:#070a10;isolation:isolate}
.cv-map{position:absolute;inset:0;z-index:0;overflow:hidden}
.cv-map-cam{position:absolute;inset:-6%;will-change:transform}
.cv-map-svg{position:absolute;inset:0;width:100%;height:100%}
.cv-pins{position:absolute;inset:0}
.cv-pins-cam{z-index:2}
.cv-map-light{position:absolute;inset:0;background:radial-gradient(60% 50% at 70% 10%,rgba(184,140,255,.10),transparent 70%),radial-gradient(50% 45% at 20% 100%,rgba(208,250,0,.05),transparent 70%)}
.cv-map-grain{position:absolute;inset:0;opacity:.08;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.cv-map-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,10,16,.92) 0%,rgba(7,10,16,.55) 38%,rgba(7,10,16,.15) 70%,rgba(7,10,16,.35) 100%),linear-gradient(0deg,#0b0f13 0%,transparent 22%)}
.cv-map-note{position:absolute;left:clamp(16px,2.6vw,40px);bottom:14px;z-index:2;margin:0;font:600 11px Manrope,sans-serif;color:#8d95a8;letter-spacing:.06em}
.cv-map-note i{color:#b88cff;margin-right:6px}
/* markers (owner direction: pickup markers may gently bounce) */
.cv-mk{position:absolute;width:44px;height:44px;margin:-44px 0 0 -22px;padding:0;border:0;background:none;cursor:pointer;display:flex;align-items:flex-end;justify-content:center;transition:opacity .6s var(--ease-out),filter .6s}
.cv-mk-g{position:relative;display:grid;place-items:center;font-size:13px;transform-origin:50% 100%}
.cv-mk[data-k=pickup] .cv-mk-g{width:32px;height:32px;margin-bottom:6px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#8b3dff;border:2px solid #c9a6ff;box-shadow:0 6px 16px rgba(0,0,0,.45)}
.cv-mk[data-k=pickup] .cv-mk-g i{transform:rotate(45deg);color:#fff}
.cv-mk[data-k=club] .cv-mk-g{width:34px;height:34px;margin-bottom:4px;border-radius:10px;background:#0b0f13;border:2px solid #d0fa00;color:#d0fa00;box-shadow:0 6px 16px rgba(0,0,0,.45)}
.cv-mk[data-k=club] .cv-mk-g::after{content:"";position:absolute;left:50%;bottom:-7px;width:8px;height:8px;background:#0b0f13;border-right:2px solid #d0fa00;border-bottom:2px solid #d0fa00;transform:translateX(-50%) rotate(45deg)}
.cv-mk[data-k=tour] .cv-mk-g{width:26px;height:26px;margin-bottom:9px;border-radius:50%;background:#f5f5fa;color:#0b0f13;font-size:11px;box-shadow:0 6px 16px rgba(0,0,0,.45)}
.cv-mk-shadow{position:absolute;bottom:-2px;left:50%;width:16px;height:5px;margin-left:-8px;border-radius:50%;background:rgba(0,0,0,.55)}
.cv-mk-c{position:absolute;bottom:46px;left:50%;transform:translateX(-50%);white-space:nowrap;font:700 12px Manrope,sans-serif;color:#fff;background:rgba(14,18,28,.78);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12);padding:5px 10px;border-radius:8px;pointer-events:none;transition:opacity .4s}
.cv-mk[data-k=club] .cv-mk-c{border-color:rgba(208,250,0,.35)}.cv-mk[data-k=pickup] .cv-mk-c{border-color:rgba(184,140,255,.45)}
.cv-mk:not(.has-c) .cv-mk-c{opacity:0}.cv-mk:hover .cv-mk-c,.cv-mk:focus-visible .cv-mk-c{opacity:1}
.cv-mk.is-off{opacity:.18;filter:grayscale(1)}.cv-mk.is-off .cv-mk-c{opacity:0}
.cv-mk:focus-visible{outline:2px solid #fff;outline-offset:2px;border-radius:8px}
.arena-anim .cv-mk.cv-pre{opacity:0}
.arena-anim .cv-mk.is-drop[data-k=pickup] .cv-mk-g{animation:cvDrop .9s cubic-bezier(.3,1.4,.5,1) both,cvHop 6s ease-in-out var(--hd,2s) infinite}
.arena-anim .cv-mk.is-drop:not([data-k=pickup]) .cv-mk-g{animation:cvDropC .8s var(--ease-out) both}
@keyframes cvDrop{0%{translate:0 -40px;opacity:0}60%{translate:0 0;opacity:1}78%{translate:0 -6px}100%{translate:0 0}}
@keyframes cvDropC{0%{translate:0 -16px;opacity:0}100%{translate:0 0;opacity:1}}
@keyframes cvHop{0%,86%,100%{translate:0 0}91%{translate:0 -7px}96%{translate:0 0}}
/* popup */
.cv-pop{position:absolute;z-index:3;width:250px;padding:16px;border-radius:14px;background:rgba(14,18,28,.86);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.14);box-shadow:0 20px 50px rgba(0,0,0,.5);pointer-events:auto}
.cv-pop[hidden]{display:none}
.cv-pop-k{font:700 10px Manrope,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#b88cff;margin:0 0 6px}
.cv-pop h3{font:800 20px/1.05 var(--f-display);text-transform:uppercase;color:#fff;margin:0 0 6px}
.cv-pop p{font:500 13px/1.45 Manrope,sans-serif;color:#c7cdd8;margin:0 0 12px}
.cv-pop .cv-btn{min-height:44px;width:100%;font-size:13px}
.cv-pop-x{position:absolute;top:4px;right:4px;width:44px;height:44px;border:0;background:none;color:#aeb5c9;cursor:pointer;font-size:14px}
.cv-map{pointer-events:none}.cv-mk,.cv-pop{pointer-events:auto}
.cv-map-tag{display:inline-flex;align-items:center;gap:10px;margin:0 0 18px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);font:700 13px Manrope,sans-serif;color:#e8ecf4}
.cv-map-tag i{color:var(--lime)}
.cv-hero-in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,410px);gap:40px;align-items:center;padding-block:48px 64px}
.cv-crumbs{display:flex;flex-wrap:wrap;gap:8px;font:600 13px Manrope,sans-serif;color:#8d95a8;margin-bottom:22px}
.cv-crumbs a{color:#aeb5c9;text-decoration:none}.cv-crumbs a:hover{color:#fff}.cv-crumbs b{color:var(--lime)}
.cv-h1{font:400 clamp(58px,8vw,124px)/.86 var(--f-poster);text-transform:uppercase;color:#fff;margin:0 0 20px;letter-spacing:.005em}
.cv-h1 span{display:block;max-width:22ch;font:700 clamp(18px,1.8vw,26px)/1.1 var(--f-display);letter-spacing:.1em;color:#cdd1df;margin-bottom:10px}
.cv-lede{font:500 clamp(16px,1.4vw,19px)/1.55 Manrope,sans-serif;color:#cdd1df;max-width:44ch;margin:0 0 22px}
.cv-legend{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;margin:0;padding:0;font:600 13px Manrope,sans-serif;color:#aeb5c9}
.cv-legend li{display:flex;align-items:center;gap:8px}
.cv-dot{width:9px;height:9px;border-radius:50%;display:inline-block}
.cv-dot-club{background:#0b0f13;border:2px solid #d0fa00;border-radius:3px}.cv-dot-venue{background:#8b3dff;border:2px solid #c9a6ff}.cv-dot-tour{background:#fff;border-radius:2px;transform:rotate(45deg);width:8px;height:8px}

.cv-map-window{display:none;pointer-events:none!important}
/* finder card */
.cv-finder{background:rgba(14,18,28,.62);-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2);border:1px solid rgba(255,255,255,.10);border-radius:20px;padding:22px;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.cv-step+.cv-step{margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.07)}
.cv-step-k{display:flex;align-items:center;gap:10px;margin:0 0 10px;font:700 13px Manrope,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#cdd1df}
.cv-step-k span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1px solid rgba(255,255,255,.18);font-size:11px;letter-spacing:0;color:#fff}
.cv-step-k b{text-transform:none;letter-spacing:0;font-size:15px;color:#fff}
.cv-roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.cv-roles button,.cv-chips button,.cv-more,.cv-tabs button{font:700 13px Manrope,sans-serif;color:#e8ecf4;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.10);cursor:pointer;transition:background .3s,border-color .3s,color .3s}
.cv-roles button{min-height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;gap:8px;padding:6px}
.cv-roles button i{color:#b88cff;font-size:16px}
.cv-roles button:hover,.cv-chips button:hover{border-color:rgba(255,255,255,.28)}
.cv-roles button[aria-pressed=true],.cv-chips button[aria-pressed=true],.cv-tabs button[aria-selected=true]{background:var(--lime);border-color:var(--lime);color:var(--lime-ink)}
.cv-roles button[aria-pressed=true] i{color:var(--lime-ink)}
.cv-chips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.cv-chips button{min-height:44px;padding:0 6px;border-radius:10px;font-size:12px;display:flex;align-items:center;gap:7px;text-align:left;line-height:1.1}
.cv-chips button i{width:14px;flex:0 0 14px;text-align:center;color:#b88cff;font-size:12px}.cv-chips button[aria-pressed=true] i{color:var(--lime-ink)}
.cv-chips button[data-s=all]{justify-content:center}
.cv-more{margin-top:8px;min-height:44px;padding:0 14px;border-radius:999px;background:none;border-color:transparent;color:#aeb5c9}
.cv-more i{margin-left:6px;transition:transform .3s}.cv-more[aria-expanded=true] i{transform:rotate(180deg)}
.cv-step.is-wait{opacity:1}
.cv-res-list{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:6px;max-height:176px;overflow:auto}
.cv-res-list li{display:flex;align-items:center;gap:10px;font:600 13px Manrope,sans-serif;color:#e8ecf4;padding:6px 10px;border-radius:10px;background:rgba(255,255,255,.03)}
.cv-res-list li em{margin-left:auto;font-style:normal;font-size:11px;color:#8d95a8;text-transform:uppercase;letter-spacing:.08em}
.cv-res-list li.cv-res-empty{color:#aeb5c9;font-weight:500;background:none;padding:0 2px}
.cv-res-ctas{display:flex;flex-wrap:wrap;gap:8px}
.cv-res-ctas .cv-btn{flex:1 1 auto}

/* ---------- LED board ---------- */
.cv-board{background:#05070b;border-block:1px solid rgba(255,255,255,.06);padding:28px 0}
.cv-board-in{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.06);border-radius:14px;overflow:hidden}
.cv-cell{background:#07090e;padding:22px 20px;display:flex;flex-direction:column;gap:8px}
.cv-cell span{font:700 12px Manrope,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#8d95a8}
.cv-led{font:400 clamp(56px,6vw,88px)/1 var(--f-poster);letter-spacing:.06em;color:transparent;background:radial-gradient(circle,#e9ffa0 0 42%,transparent 48%) 0 0/5px 5px,#d0fa00;-webkit-background-clip:text;background-clip:text;background-image:radial-gradient(circle,#dff78a 0 45%,rgba(208,250,0,.08) 52%);background-size:5px 5px}
.cv-led-ph{background-image:radial-gradient(circle,#b9bfcc 0 45%,rgba(255,255,255,.05) 52%)}

/* ---------- lanes ---------- */
.cv-lanes,.cv-clubs,.cv-guide{padding:96px 0}
.cv-clubs{background:#080b11}
.cv-tabs{display:inline-flex;gap:6px;padding:6px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);margin-bottom:28px;max-width:100%}
.cv-tabs button{min-height:44px;padding:0 20px;border-radius:999px;border-color:transparent;background:none}
.cv-lane{animation:none}
.arena-anim .cv-lane.is-enter{animation:cvLane .7s var(--ease-out)}
@keyframes cvLane{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.cv-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cv-card{position:relative;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:24px}
.cv-card h3{font:800 22px/1.1 var(--f-display);text-transform:uppercase;letter-spacing:.02em;color:#fff;margin:0 0 12px}
.cv-card p{color:#c7cdd8;margin:0 0 10px;font:500 15px/1.55 Manrope,sans-serif}
.cv-mt{margin-top:20px!important}
.cv-mini,.cv-ticks,.cv-how{margin:0 0 12px;padding:0;list-style:none;display:grid;gap:8px;font:600 15px Manrope,sans-serif;color:#e8ecf4}
.cv-mini li{display:flex;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.06)}
.cv-mini em{font-style:normal;color:#8d95a8;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.cv-ticks li::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--lime);margin:0 10px 2px 0}
.cv-how{counter-reset:h;margin-bottom:18px}.cv-how li{counter-increment:h;display:flex;gap:12px;font-weight:500;color:#c7cdd8}
.cv-how li::before{content:counter(h);flex:0 0 24px;height:24px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(208,250,0,.4);color:var(--lime);font-weight:800;font-size:12px}
.cv-sample{position:absolute;top:16px;right:16px;font:800 10px Manrope,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#1a1030;background:#b88cff;padding:4px 8px;border-radius:6px}
.cv-pf-top{display:flex;gap:14px;align-items:center;margin-bottom:18px}
.cv-pf-av{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#2a2140,#141b10);border:1px solid rgba(255,255,255,.14);font:800 18px var(--f-display);color:#fff}
.cv-pf-top h3{margin:0 0 4px}.cv-pf-top p{margin:0;font-size:13px}
.cv-pf-dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 12px}
.cv-pf-dl div{background:rgba(255,255,255,.04);border-radius:10px;padding:10px}
.cv-pf-dl dt{font:700 10px Manrope,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#8d95a8}.cv-pf-dl dd{margin:4px 0 0;color:#9aa3b8;font-style:italic}
.cv-note{font-size:12px!important;color:#8d95a8!important}
.cv-bracket{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,14px);gap:6px 14px;margin:6px 0 16px}
.cv-bracket i{border:1px solid rgba(255,255,255,.14);border-radius:4px}
.cv-bracket i:nth-child(1){grid-area:1/1}.cv-bracket i:nth-child(2){grid-area:2/1}.cv-bracket i:nth-child(3){grid-area:3/1}.cv-bracket i:nth-child(4){grid-area:4/1}
.cv-bracket i:nth-child(5){grid-area:1/2/3/2;margin-block:10px}.cv-bracket i:nth-child(6){grid-area:3/2/5/2;margin-block:10px}.cv-bracket i:nth-child(7){grid-area:2/3/4/3;margin-block:10px;border-color:rgba(208,250,0,.5)}
.cv-lane-cta{margin-top:20px}
/* founding band (from city-mockup, restyled calmer, no sheen loop) */
.cv-found{display:grid;grid-template-columns:1.4fr 1fr;gap:36px;align-items:center;padding:30px;border-radius:20px;margin-bottom:16px;background:linear-gradient(100deg,#1a1030 0%,#0f141a 55%,#141b10 100%);border:1px solid rgba(208,250,0,.18)}
.cv-found-kick{font:700 12px Manrope,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#d0fa00;margin:0 0 8px}
.cv-found-h{font:400 clamp(28px,3.2vw,44px)/1 Anton,sans-serif;text-transform:uppercase;color:#fff;margin:0 0 10px}.cv-found-h b{color:#d0fa00;font-weight:400}
.cv-found-p{color:#c7cdd8;margin:0;max-width:60ch}.cv-found-p b{color:#fff}
.cv-found-meter{height:10px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}
.cv-found-meter span{display:block;height:100%;width:29%;background:linear-gradient(90deg,#992cff,#d0fa00);border-radius:99px}
.cv-found-count{color:#c7cdd8;margin:10px 0 16px;font:600 14px Manrope,sans-serif}.cv-found-count b{color:#fff}

/* ---------- clubs ---------- */
.cv-club-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.cv-club{display:flex;flex-direction:column;gap:6px;padding:22px;border-radius:18px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);text-decoration:none;color:#fff;transition:border-color .4s,transform .5s var(--ease-out)}
.cv-club:hover{border-color:rgba(208,250,0,.35);transform:translateY(-3px)}
.cv-club-ic{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.10);color:var(--lime);font-size:18px;margin-bottom:10px}
.cv-club-sport{font:700 11px Manrope,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#b88cff}
.cv-club h3{font:800 22px/1.05 var(--f-display);text-transform:uppercase;margin:0}
.cv-club p{margin:0 0 12px;color:#aeb5c9;font:500 14px Manrope,sans-serif}
.cv-tag{margin-top:auto;align-self:flex-start;font:700 12px Manrope,sans-serif;color:#e8ecf4;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:6px 12px}
.cv-tag-lime{background:var(--lime);color:var(--lime-ink);border-color:var(--lime)}
.cv-club-add{border-style:dashed}.cv-club-add .cv-club-ic{color:#fff}

/* ---------- guide ---------- */
.cv-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.07);border-radius:18px;overflow:hidden}
.cv-facts>div{background:#0b0f13;padding:24px}
.cv-facts h3{font:700 15px Manrope,sans-serif;color:#fff;margin:0 0 8px}.cv-facts p{margin:0}
.cv-near{display:flex;flex-wrap:wrap;gap:8px}
.cv-near a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid rgba(255,255,255,.14);color:#fff;text-decoration:none;font:700 14px Manrope,sans-serif}

/* ---------- close + sticky ---------- */
.cv-close{position:relative;padding:120px 0 140px;text-align:center;overflow:hidden;background:#05070b}
.cv-close-light{position:absolute;inset:0;background:radial-gradient(50% 60% at 50% 0%,rgba(255,255,255,.08),transparent 70%),radial-gradient(30% 40% at 20% 0%,rgba(184,140,255,.08),transparent 70%),radial-gradient(30% 40% at 80% 0%,rgba(208,250,0,.05),transparent 70%)}
.cv-close-in{position:relative}
.cv-final{font:400 clamp(44px,7vw,104px)/.92 var(--f-poster);text-transform:uppercase;color:#fff;margin:0 0 14px}
.cv-close .cv-lede{margin-inline:auto}
.cv-row-c{justify-content:center}
.cv-sticky{position:fixed;left:50%;bottom:16px;z-index:110;display:flex;align-items:center;gap:18px;padding:8px 8px 8px 22px;border-radius:999px;background:rgba(14,18,28,.82);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 50px rgba(0,0,0,.5);transform:translate(-50%,140%);opacity:0;transition:transform .7s var(--ease-out),opacity .5s;max-width:calc(100vw - 32px)}
.cv-sticky.is-on{transform:translate(-50%,0);opacity:1}
.cv-sticky p{margin:0;font:600 14px Manrope,sans-serif;color:#cdd1df;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.cv-sticky b{color:#fff}

/* ---------- responsive ---------- */
@media (max-width:1100px){.cv-club-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:1180px){.cv-hero-in{grid-template-columns:minmax(0,1fr) minmax(0,380px)}}
@media (max-width:980px){
  .cv-chips{grid-template-columns:repeat(4,minmax(0,1fr))}
  .cv-hero-in{grid-template-columns:minmax(0,1fr)}
  .cv-hero{align-items:flex-start}
  .cv-hero-in{grid-template-columns:minmax(0,1fr);gap:0;padding-block:36px 56px}
  .cv-map-window{display:block;height:300px}
  .cv-hero-l{padding-bottom:0}
  .cv-map-shade{background:linear-gradient(180deg,rgba(7,10,16,.7) 0%,rgba(7,10,16,.35) 30%,rgba(7,10,16,.15) 50%,rgba(7,10,16,.85) 68%,#0b0f13 80%)}
  .cv-grid3,.cv-facts{grid-template-columns:minmax(0,1fr)}
  .cv-found{grid-template-columns:minmax(0,1fr)}
  .cv-board-in{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .cv-club-grid{grid-template-columns:minmax(0,1fr)}
  .cv-lanes,.cv-clubs,.cv-guide{padding:64px 0}
  .cv-finder{padding:16px;border-radius:18px}
  .cv-chips{display:grid;grid-auto-flow:column;grid-template-rows:repeat(2,44px);grid-template-columns:none;grid-auto-columns:max-content;overflow-x:auto;scroll-snap-type:x proximity;margin-inline:-16px;padding:0 16px 6px;scrollbar-width:none}
  .cv-chips::-webkit-scrollbar{display:none}
  .cv-chips button{padding:0 12px;scroll-snap-align:start}.cv-chips button[data-s=all]{grid-column:auto;grid-row:1/3}
  .cv-mk-c{display:none}.cv-pop{width:220px}
  .cv-tabs{display:flex}.cv-tabs button{flex:1 1 0;padding:0 8px}
  .cv-found{padding:22px}
  .cv-cell{padding:18px 14px}
  .cv-sticky{left:16px;right:16px;transform:translateY(140%);gap:10px;padding-left:16px}.cv-sticky.is-on{transform:none}
  .cv-sticky p span{display:none}
  .cv-map-note{bottom:auto;top:10px;left:16px}
}
.cv-hero-in{pointer-events:none}.cv-hero-in>*{pointer-events:auto}
@media (prefers-reduced-motion:reduce){.cv-mk,.cv-sticky,.cv-club{transition:none}}
.cv-hero-l{pointer-events:none!important}.cv-hero-l a,.cv-hero-l button{pointer-events:auto}
.cv-crumbs a{display:inline-flex;align-items:center;min-height:44px}.cv-crumbs{align-items:center;margin-bottom:10px}

/* MapLibre layer */
.cv-gl{position:absolute;inset:0;opacity:0;transition:opacity 1.2s var(--ease-out);pointer-events:auto}
.cv-gl-on .cv-gl{opacity:1}.cv-gl-on .cv-map-cam:not(.cv-pins-cam){opacity:0}
.cv-gl-on .cv-map-light,.cv-gl-on .cv-map-grain,.cv-gl-on .cv-map-shade{pointer-events:none}
.cv-gl-on .cv-map-shade{background:linear-gradient(90deg,rgba(7,10,16,.9) 0%,rgba(7,10,16,.45) 34%,rgba(7,10,16,0) 58%,rgba(7,10,16,.2) 100%),linear-gradient(0deg,#0b0f13 0%,transparent 18%)}
.cv-gl .maplibregl-ctrl-attrib{background:rgba(10,13,19,.75)!important;color:#8d95a8;font:500 11px Manrope,sans-serif}
.cv-gl .maplibregl-ctrl-attrib a{color:#aeb5c9}
.cv-gl .maplibregl-ctrl-attrib-button{filter:invert(1)}
.cv-gl .maplibregl-ctrl-bottom-right{z-index:4}
.cv-mk.in-gl{position:absolute;margin:0;z-index:2}
.cv-mk.in-gl:hover,.cv-mk.in-gl:focus-visible{z-index:5}
.cv-pop{z-index:6}
.cv-map-light,.cv-map-grain,.cv-map-shade{z-index:1}.cv-pins-cam{z-index:3}.cv-gl{z-index:0}
.cv-map{pointer-events:auto}
.cv-pop.is-sheet{position:fixed;left:0!important;right:0;bottom:0;top:auto!important;width:auto;transform:none;border-radius:20px 20px 0 0;padding:20px 16px calc(20px + env(safe-area-inset-bottom));z-index:130}
@media (max-width:980px){.cv-gl-on .cv-map-shade{background:linear-gradient(180deg,rgba(7,10,16,.8) 0%,rgba(7,10,16,.35) 26%,rgba(7,10,16,0) 38%,rgba(7,10,16,0) 58%,rgba(7,10,16,.9) 70%,#0b0f13 80%)}}
.cv-pins-cam,.cv-pins,.cv-map-light,.cv-map-grain,.cv-map-shade{pointer-events:none}.cv-pins .cv-mk{pointer-events:auto}

.cv-finder{padding:18px}
.cv-fhead{display:flex;align-items:center;justify-content:space-between;margin:-6px 0 8px}
.cv-fhead b{font:800 18px var(--f-display);text-transform:uppercase;letter-spacing:.04em;color:#fff}
.cv-fmin{min-height:44px;padding:0 10px;border:0;background:none;color:#aeb5c9;font:700 12px Manrope,sans-serif;cursor:pointer}
.cv-fmin i{transition:transform .3s}.cv-finder.is-min .cv-fmin i{transform:rotate(180deg)}
.cv-finder.is-min #cv-fbody{display:none}
.cv-chips button{font-size:11.5px;gap:5px;padding:0 5px}
.cv-roles button{font-size:12.5px}
.cv-dot-tour{background:#e8ecf4!important}
.cv-mk[data-k=venue] .cv-mk-g{width:28px;height:28px;margin-bottom:8px;border-radius:50%;background:#e8ecf4;color:#0b0f13;font-size:12px;box-shadow:0 6px 16px rgba(0,0,0,.45)}
.cv-mk[data-k=venue] .cv-mk-c{border-color:rgba(255,255,255,.3)}
.cv-mk[data-k=pickup] .cv-mk-g i{font-size:13px}

/* ---------- content sections (generated from the city JSON) ---------- */
.cv-sub{color:#aeb5c9;font:500 16px/1.6 Manrope,sans-serif;max-width:70ch;margin:-12px 0 28px}
.cv-src{display:inline-block;font:700 10px Manrope,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#8d95a8;text-decoration:none;border:1px solid rgba(255,255,255,.12);border-radius:5px;padding:1px 5px;vertical-align:1px;margin-left:2px}
.cv-src:hover{color:#fff;border-color:rgba(255,255,255,.3)}
.cv-unc{color:#e0b86a;font-style:normal;font-weight:700}
.cv-board-note{margin-top:12px;color:#6f7789;font:500 12px Manrope,sans-serif}
.cv-facts-s{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:10px;font:500 14px/1.5 Manrope,sans-serif;color:#c7cdd8}.cv-facts-s b{color:#fff;margin-right:4px}
.cv-filter-note b{color:#fff;text-transform:capitalize}
.cv-clear{min-height:44px;background:none;border:0;color:var(--lime);font:700 14px Manrope,sans-serif;cursor:pointer;padding:0 6px}
.cv-club.cv-open{background:transparent;border:1px dashed rgba(255,255,255,.18)}
.cv-club.cv-open h3{color:#aeb5c9}
.cv-club.cv-open .cv-club-ic{color:#b88cff}
.cv-club[hidden]{display:none}
.cv-sports{padding:96px 0;background:#080b11}
.cv-sport-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}
.cv-sport{border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(255,255,255,.03)}
.cv-sport-open{border-style:dashed;background:transparent}
.cv-sport summary{display:flex;align-items:center;gap:14px;min-height:64px;padding:10px 18px;cursor:pointer;list-style:none}
.cv-sport summary::-webkit-details-marker{display:none}
.cv-sport summary .cv-club-ic{margin:0;width:40px;height:40px;font-size:15px}
.cv-sport summary h3{font:800 20px var(--f-display);text-transform:uppercase;letter-spacing:.02em;color:#fff;margin:0;flex:1}
.cv-chev{color:#8d95a8;transition:transform .3s}.cv-sport[open] .cv-chev{transform:rotate(180deg)}
.cv-dl{margin:0;padding:0 18px 18px;display:grid;gap:12px}
.cv-dl dt{font:700 11px Manrope,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--lime);margin-bottom:3px}
.cv-dl dd{margin:0;color:#c7cdd8;font:500 14px/1.55 Manrope,sans-serif}
.cv-sport-empty{margin:0;padding:0 18px 18px;color:#aeb5c9;font:500 14px/1.55 Manrope,sans-serif}.cv-sport-empty a{color:var(--lime);font-weight:700}
.cv-sport.is-hi{border-color:rgba(208,250,0,.45)}
.cv-places,.cv-tours,.cv-start,.cv-faq,.cv-nearby{padding:96px 0}
.cv-tours,.cv-faq{background:#080b11}
.cv-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
.cv-two-col-w{grid-template-columns:1.1fr 1fr}
.cv-dir{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:8px}
.cv-dir li{display:flex;align-items:center;gap:14px;padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07)}
.cv-dir .cv-club-ic{margin:0;width:40px;height:40px;flex:0 0 40px;font-size:15px}
.cv-ic-v{color:#e8ecf4!important}.cv-ic-p{color:#b88cff!important}
.cv-dir div{flex:1;min-width:0}.cv-dir h3{font:700 15px Manrope,sans-serif;color:#fff;margin:0 0 2px}.cv-dir p{margin:0;color:#8d95a8;font:500 13px Manrope,sans-serif}
.cv-dir .cv-link{font-size:13px;white-space:nowrap}
.cv-tour-grid{list-style:none;margin:0 0 24px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.cv-tour{position:relative;padding:22px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}
.cv-ext{display:inline-block;font:800 10px Manrope,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#cdd1df;border:1px solid rgba(255,255,255,.2);border-radius:6px;padding:3px 7px;margin-bottom:12px}
.cv-tour h3{font:800 22px/1.1 var(--f-display);text-transform:uppercase;color:#fff;margin:0 0 14px}
.cv-tour dl{margin:0 0 8px;display:grid;gap:8px}.cv-tour dt{font:700 10px Manrope,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#8d95a8}.cv-tour dd{margin:0;color:#e8ecf4;font:600 14px Manrope,sans-serif}
.cv-overview p{color:#c7cdd8;font:500 16px/1.7 Manrope,sans-serif;margin:0 0 14px}
.cv-more-text{max-height:0;overflow:hidden;transition:max-height .8s var(--ease-out)}
.cv-more-text.is-open{max-height:1600px}
html:not(.arena-anim) .cv-more-text{transition:none}
.cv-readmore{min-height:44px;padding:0 18px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:none;color:#fff;font:700 14px Manrope,sans-serif;cursor:pointer}
.cv-table-wrap{overflow-x:auto;border-radius:14px;border:1px solid rgba(255,255,255,.08);margin-bottom:28px}
.cv-table{width:100%;border-collapse:collapse;font:500 13px/1.5 Manrope,sans-serif;color:#c7cdd8;min-width:560px}
.cv-table caption{text-align:left;padding:14px 16px 4px;font:800 18px var(--f-display);text-transform:uppercase;color:#fff}
.cv-table th,.cv-table td{text-align:left;padding:10px 16px;border-top:1px solid rgba(255,255,255,.06);vertical-align:top}
.cv-table thead th{font:700 10px Manrope,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#8d95a8}
.cv-table tbody th{color:#fff}
.cv-h3{font:800 22px var(--f-display);text-transform:uppercase;color:#fff;margin:0 0 12px}
.cv-grants{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.cv-grants li{padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07)}
.cv-grants h3{font:700 15px Manrope,sans-serif;color:#fff;margin:0 0 4px}.cv-grants p{margin:0;color:#aeb5c9;font:500 14px/1.5 Manrope,sans-serif}
.cv-steps{list-style:none;counter-reset:st;margin:0 0 28px;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.cv-steps li{counter-increment:st;padding:22px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}
.cv-steps li::before{content:counter(st,decimal-leading-zero);display:block;font:400 34px var(--f-poster);color:var(--lime);margin-bottom:10px}
.cv-steps h3{font:800 18px/1.1 var(--f-display);text-transform:uppercase;color:#fff;margin:0 0 8px}.cv-steps p{margin:0;color:#aeb5c9;font:500 14px/1.55 Manrope,sans-serif}.cv-steps a{color:var(--lime)}
.cv-faq-in{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px}
.cv-faq-list{display:grid;gap:8px}
.cv-faq-i{border-bottom:1px solid rgba(255,255,255,.08)}
.cv-faq-i summary{display:flex;align-items:center;gap:16px;min-height:60px;cursor:pointer;list-style:none}
.cv-faq-i summary::-webkit-details-marker{display:none}
.cv-faq-i h3{flex:1;margin:0;font:700 17px/1.35 Manrope,sans-serif;color:#fff}
.cv-faq-i[open] .cv-chev{transform:rotate(45deg)}
.cv-faq-i p{margin:0 0 18px;color:#c7cdd8;font:500 15px/1.65 Manrope,sans-serif;max-width:70ch}
.cv-near-grid{list-style:none;margin:0 0 40px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.cv-near-grid li{padding:22px;border-radius:18px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03)}
.cv-near-grid a{text-decoration:none;display:inline-flex;min-height:44px;align-items:center}.cv-near-grid h3{font:800 24px var(--f-display);text-transform:uppercase;color:#fff;margin:0}
.cv-near-grid p{margin:4px 0 0;color:#aeb5c9;font:500 14px/1.55 Manrope,sans-serif}
.cv-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-top:32px;border-top:1px solid rgba(255,255,255,.08)}
.cv-links h3{font:700 12px Manrope,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#8d95a8;margin:0 0 8px}
.cv-links a{display:flex;align-items:center;min-height:44px;color:#e8ecf4;text-decoration:none;font:600 15px Manrope,sans-serif}.cv-links a:hover{color:var(--lime)}
.cv-updated{margin:28px 0 0;color:#6f7789;font:500 13px Manrope,sans-serif}
@media (max-width:1100px){.cv-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.cv-tour-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:980px){.cv-two-col,.cv-two-col-w,.cv-faq-in,.cv-sport-list,.cv-near-grid,.cv-links{grid-template-columns:minmax(0,1fr)}.cv-two-col,.cv-faq-in{gap:40px}}
@media (max-width:640px){.cv-sports,.cv-places,.cv-tours,.cv-start,.cv-faq,.cv-nearby{padding:64px 0}.cv-steps{grid-template-columns:minmax(0,1fr)}.cv-dir li{flex-wrap:wrap}.cv-dir .cv-link{margin-left:54px}}
.cv-map-cam:not(.cv-pins-cam),.cv-map-svg{pointer-events:none}.cv-gl-on .cv-map-cam:not(.cv-pins-cam){visibility:hidden}
.cv-map .cv-gl.maplibregl-map{position:absolute;inset:0;width:100%;height:100%}
.cv-hero-l>*{width:fit-content;max-width:100%}
.cv-mk[hidden]{display:none!important}
/* owner-approved images */
.cv-band{position:relative;height:clamp(360px,62vh,640px);overflow:hidden;display:flex;align-items:flex-end}
.cv-band-media{position:absolute;inset:-10% 0;will-change:transform}
.cv-band-img,.cv-wide-img{width:100%;height:100%;object-fit:cover;display:block}
.cv-band-shade{position:absolute;inset:0;background:linear-gradient(0deg,#0b0f13 0%,rgba(11,15,19,.2) 45%,rgba(11,15,19,.55) 100%)}
.cv-band-in{position:relative;padding-bottom:56px}
.cv-band-h{font:400 clamp(36px,5.4vw,80px)/.95 var(--f-poster);text-transform:uppercase;color:#fff;margin:0;max-width:16ch}
.cv-lane-fig{position:relative;margin:0 0 16px;border-radius:20px;overflow:hidden;aspect-ratio:16/6;border:1px solid rgba(255,255,255,.08)}
.cv-lane-img,.cv-side-img{width:100%;height:100%;object-fit:cover;display:block}
.cv-lane-fig figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 24px 18px;background:linear-gradient(0deg,rgba(11,15,19,.92),transparent);color:#fff;font:700 16px Manrope,sans-serif}
.cv-side-fig{margin:0 0 22px;border-radius:18px;overflow:hidden;aspect-ratio:16/8}
.cv-wide-fig{margin:0 0 28px;border-radius:20px;overflow:hidden;height:clamp(220px,34vw,420px);position:relative}
.cv-wide-fig>div{position:absolute;inset:-12% 0}
@media (max-width:640px){.cv-lane-fig{aspect-ratio:4/3}.cv-band-in{padding-bottom:36px}}
.cv-fig-s{height:clamp(200px,22vw,300px)}

.cv-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.cv-search{position:relative;display:flex;align-items:center;gap:8px;width:min(420px,100%)!important;margin:0 0 18px;padding:0 4px 0 16px;border-radius:999px;background:rgba(14,18,28,.72);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.14)}
.cv-search i{color:#8d95a8}
.cv-search input{flex:1;min-width:0;min-height:48px;border:0;background:none;color:#fff;font:600 15px Manrope,sans-serif;outline:none}
.cv-search input::placeholder{color:#8d95a8}
.cv-search button{min-height:40px;min-width:44px;padding:0 16px;border-radius:999px;border:0;background:var(--lime);color:var(--lime-ink);font:800 13px Manrope,sans-serif;cursor:pointer}
.cv-search:focus-within{border-color:rgba(208,250,0,.5)}
.cv-search-msg{position:absolute;left:18px;top:100%;margin-top:4px;font:600 12px Manrope,sans-serif;color:#aeb5c9}
.cv-dot-osm{background:#5b3a99;border:2px solid #8b3dff}
.cv-osm-note{position:absolute;right:8px;bottom:30px;z-index:4;font:600 11px Manrope,sans-serif;color:#8d95a8;background:rgba(10,13,19,.75);padding:3px 8px;border-radius:6px;pointer-events:none}
.cv-club-grid .cv-trim{display:none!important}
.cv-promo{margin-top:22px;padding:24px 24px 22px;border-radius:20px;background:linear-gradient(135deg,rgba(153,44,255,.22),rgba(13,17,34,.9) 60%);border:1px solid rgba(184,140,255,.28);position:relative;overflow:hidden}
.cv-promo::after{content:"";position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(208,250,0,.18),transparent 70%)}
.cv-promo-alt{background:linear-gradient(135deg,rgba(208,250,0,.10),rgba(13,17,34,.9) 60%);border-color:rgba(208,250,0,.25)}
.cv-promo-k{font:700 11px Manrope,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#d0fa00;margin:0 0 8px}
.cv-promo h3{font:400 26px/1.05 Anton,sans-serif;text-transform:uppercase;color:#fff;margin:0 0 12px}
.cv-promo p{color:#c7cdd8;margin:0 0 16px}
.cv-promo ul{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:8px}
.cv-promo li{color:#dfe3ea;padding-left:24px;position:relative}
.cv-promo li::before{content:"✓";position:absolute;left:0;color:#d0fa00;font-weight:800}
.cv-promo-btn{display:inline-flex;align-items:center;min-height:46px;padding:0 22px;border-radius:999px;background:#d0fa00;color:#0b0f13;font:800 15px Manrope,sans-serif;text-decoration:none;position:relative;z-index:1}
.cv-promo-ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35)}
.cv-promo-link{margin-left:14px;color:#b88cff;font:600 14px Manrope,sans-serif;text-decoration:none;position:relative;z-index:1}
