/* CommHIT 2026: home page extras (loaded on the front page and the concept page).
   1. CommHIT Everywhere band: the Phase 1 card ("Rolling out now", where it starts, link to the map).
   2. Counties and Super Regions band (template-parts/regions-map.php): Florida map, region list,
      night lens (assets/js/home.js). Source mock: mocks/home-regions-2026-10-18. */

/* ---------- 1. Phase 1 card ---------- */
.ch-phase--now{border-color:rgba(242,231,92,.42);background:linear-gradient(160deg,rgba(242,231,92,.10),rgba(12,20,44,.34) 46%);box-shadow:0 30px 70px -44px rgba(242,231,92,.45)}
.ch-phase--now:hover{border-color:rgba(242,231,92,.6)}
.ch-phase__row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ch-phase__live{display:inline-flex;align-items:center;gap:8px;font-family:var(--ch-mono);font-size:11px;line-height:1.3;letter-spacing:.14em;text-transform:uppercase;color:#1b1505;background:var(--ch-yellow);padding:5px 10px;border-radius:999px;margin-block:-2px}
.ch-phase__live i{width:6px;height:6px;border-radius:50%;background:#1b1505}
.ch-phase__where{display:flex;align-items:flex-start;gap:10px;margin:4px 0 0;padding-top:14px;border-top:1px solid var(--ch-glass-line);font-size:15px;line-height:1.5;color:#fff}
.ch-phase__where svg{flex:none;width:18px;height:18px;margin-top:2px;color:var(--ch-yellow)}
.ch-phase .ch-maplink{display:inline-flex;align-items:center;gap:10px;justify-self:start;font-size:15px;font-weight:600;color:var(--ch-yellow);text-decoration:none}
.ch-phase .ch-maplink svg{width:16px;height:16px;transition:transform .45s var(--ch-ease)}
.ch-phase .ch-maplink:hover,.ch-phase .ch-maplink:focus-visible{color:#fff}
.ch-phase .ch-maplink:hover svg{transform:translateY(3px)}

/* ---------- 2. Super Regions band: layout ---------- */
.ch-fl{display:grid;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);grid-template-areas:"head map" "list map" "cta map";column-gap:clamp(36px,5vw,76px);row-gap:34px;align-items:start}
.ch-fl-head{grid-area:head;align-self:end}
.ch-fl-head .ch-body--lg{margin-top:22px}
.ch-fl-list{grid-area:list}
.ch-fl-cta{grid-area:cta}
.ch-fl-map{grid-area:map;align-self:center}
.ch-fl-cta .ch-btn svg{width:16px;height:16px;transition:transform .45s var(--ch-ease)}
.ch-fl-cta .ch-btn:hover{color:#fff;box-shadow:0 14px 30px -14px rgba(29,78,98,.7)}
.ch-fl-cta .ch-btn:hover svg{transform:translateX(3px)}

/* region list */
.ch-fl-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--ch-rule)}
.ch-fl-row{position:relative;z-index:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:17px 14px 17px 4px;border-bottom:1px solid var(--ch-rule);color:inherit;text-decoration:none}
.ch-fl-row::before{content:"";position:absolute;inset:-1px -12px;z-index:-1;border-radius:14px;background:var(--ch-mist);opacity:0;transition:opacity .4s var(--ch-ease)}
.ch-fl-row:hover{color:inherit}
.ch-fl-txt{display:block;min-width:0}
.ch-fl-row strong{display:block;font-weight:600;font-size:17px;line-height:1.35}
.ch-fl-meta{display:block;font-size:14px;line-height:1.45;color:var(--ch-ink-2)}
.ch-fl-sw{position:relative;width:14px;height:14px;border-radius:50%}
.ch-fl-sw--nw{background:radial-gradient(circle at 35% 35%,#a9bba1,#6c7f64)}
.ch-fl-sw--ne{background:radial-gradient(circle at 35% 35%,#f6d27a,#c58c14)}
.ch-fl-sw--sw{background:radial-gradient(circle at 35% 35%,#7fcfd1,#2b8a92)}
.ch-fl-sw--se{background:radial-gradient(circle at 35% 35%,#8ec2ea,#1f6fa6)}
.ch-fl-sw--ne::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1.5px solid rgba(209,156,40,.55);animation:ch-fl-ping 2.6s var(--ch-ease) infinite}
@keyframes ch-fl-ping{0%{transform:scale(.6);opacity:1}100%{transform:scale(1.7);opacity:0}}
.ch-fl-chip{font-style:normal;font-family:var(--ch-mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ch-ink-2);padding:6px 11px;border-radius:999px;border:1px solid var(--ch-rule);white-space:nowrap}
.ch-fl-chip--now{display:inline-flex;align-items:center;gap:8px;color:#1b1505;background:var(--ch-yellow);border-color:transparent}
.ch-fl-chip--now i{width:6px;height:6px;border-radius:50%;background:#1b1505}
.ch-fl-row--ne strong{display:flex;align-items:center;gap:8px}
.ch-fl-row--ne strong svg{width:15px;height:15px;color:var(--ch-petrol);opacity:0;transform:translateX(-4px);transition:opacity .4s var(--ch-ease),transform .4s var(--ch-ease)}
.ch-fl-row--ne:hover strong svg,.ch-fl-row--ne:focus-visible strong svg{opacity:1;transform:none}

/* ---------- map card ---------- */
.ch-fl-map{position:relative;margin:0;border-radius:26px;padding:18px 18px 16px;background:linear-gradient(165deg,#f7fbfc 0%,#ecf4f7 100%);border:1px solid #e1ebee;box-shadow:0 40px 80px -56px rgba(20,32,58,.45),0 2px 0 rgba(255,255,255,.9) inset;isolation:isolate;overflow:hidden}
.ch-fl-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:2px 6px 0;font-family:var(--ch-mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ch-ink-2)}
.ch-fl-bar b{font-weight:500;color:var(--ch-ink)}
.ch-fl-phk{display:flex;gap:14px}
.ch-fl-phk span{display:inline-flex;align-items:center;gap:7px}
.ch-fl-phk i{width:8px;height:8px;border-radius:50%}
.ch-fl .k-p1{background:#d39a1c;box-shadow:0 0 0 3px rgba(211,154,28,.2)}
.ch-fl .k-p2{background:#9fb4c0}
.ch-fl-stage{position:relative;aspect-ratio:1000/960;margin-top:6px;container-type:inline-size;--x:50%;--y:50%;--r:0px}
.ch-fl-layer{position:absolute;inset:0}
.ch-fl-svg{position:absolute;inset:0;width:100%;height:100%;display:block;overflow:hidden}
.ch-fl-foot{display:flex;align-items:center;justify-content:space-between;gap:10px 18px;flex-wrap:wrap;margin:10px 6px 0;padding-top:12px;border-top:1px solid rgba(20,32,58,.07);font-size:12.5px;line-height:1.45;color:var(--ch-ink-2)}
.ch-fl-foot p{margin:0;max-width:30em}
.ch-fl-key{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-family:var(--ch-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.ch-fl-key span{display:inline-flex;align-items:center;gap:7px}
.ch-fl-key i{display:inline-block}
.ch-fl-key .k-route{width:18px;height:3px;border-radius:2px;background:var(--ch-navy-2);box-shadow:0 0 0 1.5px #fff}
.ch-fl-key .k-stop{width:8px;height:8px;border-radius:50%;background:#fff;border:1.5px solid var(--ch-navy-2)}
.ch-fl-key .k-hq{width:12px;height:12px;color:var(--ch-gold)}

/* svg paint (light map) */
.ch-fl-ctx path{fill:#e7eff2;stroke:#fff;stroke-width:2}
.ch-fl-shadow{fill:#9cb7c6;opacity:.32;filter:blur(9px)}
.ch-fl-land{fill:url(#ch-fl-land);stroke:#fff;stroke-width:2.6;stroke-linejoin:round}
.ch-fl-base{fill:#adc2cd}
.g-nw{stop-color:#6c7f64}.g-ne{stop-color:#d39a1c}.g-sw{stop-color:#2b8f97}.g-se{stop-color:#1f6fa6}
.ch-fl-ne path{fill:rgba(255,236,186,.34);stroke:#fff;stroke-width:1.2;stroke-linejoin:round}
.ch-fl-ne-glow{fill:none;stroke:#e2a92a;stroke-width:9;opacity:.28;filter:blur(5px)}
.ch-fl-ne-edge{fill:none;stroke:#c8901a;stroke-width:1.7;stroke-linejoin:round}
.ch-fl-routes path{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0}
.ch-fl-routes .cas{stroke:#fff;stroke-width:6}
.ch-fl-routes .ln{stroke:var(--ch-navy-2);stroke-width:2.3}
.ch-fl-stops circle{fill:#fff;stroke:var(--ch-navy-2);stroke-width:1.5}
.ch-fl-van .halo{fill:#f2c444;opacity:.35}
.ch-fl-van .core{fill:#e9b53a;stroke:#fff;stroke-width:1.6}
.ch-fl-arc{fill:none;stroke:url(#ch-fl-arcg);stroke-width:1.8;stroke-linecap:round;stroke-dasharray:2 7;animation:ch-fl-flow 1.6s linear infinite}
.ch-fl-comet{fill:#f2c444}
.ch-fl-hq .ring{fill:none;stroke:#d19c28;stroke-width:1.6;transform-box:fill-box;transform-origin:center;animation:ch-fl-ring 2.8s var(--ch-ease) infinite}
.ch-fl-hq .base{fill:var(--ch-navy-2);stroke:#fff;stroke-width:2}
.ch-fl-hq .star{fill:#f2e75c}
.ch-fl-city{fill:#5d6d80}
.ch-fl-leader{fill:none;stroke:#c8901a;stroke-width:1.3;stroke-dasharray:3 4}
.ch-fl-leader-dot{fill:#c8901a}
.ch-fl-scale path{fill:none;stroke:#7d8d9e;stroke-width:1.4}
.ch-fl-sweep{animation:ch-fl-sweep 9s linear infinite}
@keyframes ch-fl-sweep{0%{transform:translateX(-420px)}100%{transform:translateX(1420px)}}
@keyframes ch-fl-flow{to{stroke-dashoffset:-18}}
@keyframes ch-fl-ring{0%{transform:scale(.7);opacity:.9}100%{transform:scale(2.1);opacity:0}}

/* region areas: the Northeast leads; hovering a region (row, pill or callout) lights it */
.ch-fl-e{opacity:.74;transition:opacity .6s var(--ch-ease)}
.ch-fl-e--ne{opacity:1}
.ch-fl-aura .ch-fl-e{opacity:.14}
.ch-fl-aura .ch-fl-e--ne{opacity:.26}
.ch-fl[data-hot] .ch-fl-e{opacity:.3}
.ch-fl[data-hot] .ch-fl-e--ne{opacity:.74}
.ch-fl[data-hot] .ch-fl-aura .ch-fl-e{opacity:.06}
.ch-fl[data-hot] .ch-fl-aura .ch-fl-e--ne{opacity:.14}
.ch-fl[data-hot="nw"] .ch-fl-e--nw,.ch-fl[data-hot="ne"] .ch-fl-e--ne,.ch-fl[data-hot="sw"] .ch-fl-e--sw,.ch-fl[data-hot="se"] .ch-fl-e--se{opacity:1}
.ch-fl[data-hot="nw"] .ch-fl-aura .ch-fl-e--nw,.ch-fl[data-hot="ne"] .ch-fl-aura .ch-fl-e--ne,.ch-fl[data-hot="sw"] .ch-fl-aura .ch-fl-e--sw,.ch-fl[data-hot="se"] .ch-fl-aura .ch-fl-e--se{opacity:.26}
.ch-fl[data-hot="nw"] .ch-fl-row--nw::before,.ch-fl[data-hot="ne"] .ch-fl-row--ne::before,.ch-fl[data-hot="sw"] .ch-fl-row--sw::before,.ch-fl[data-hot="se"] .ch-fl-row--se::before{opacity:1}
.ch-fl[data-hot="nw"] .ch-fl-pill.p-nw,.ch-fl[data-hot="sw"] .ch-fl-pill.p-sw,.ch-fl[data-hot="se"] .ch-fl-pill.p-se{transform:translate(-50%,-50%) scale(1.07);box-shadow:0 10px 26px -10px rgba(20,32,58,.55)}
.ch-fl[data-hot="ne"] .ch-fl-call{transform:translateY(-3px);box-shadow:0 26px 46px -24px rgba(20,32,58,.55)}

/* draw-in once the map scrolls into view (static without JS; skipped for reduced motion) */
.ch-js .ch-fl-map:not(.is-in) .ch-fl-routes path{stroke-dashoffset:1}
.ch-js .ch-fl-map:not(.is-in) .ch-fl-stops,.ch-js .ch-fl-map:not(.is-in) .ch-fl-van{opacity:0}
.ch-js .ch-fl-map.is-in .ch-fl-routes path{animation:ch-fl-draw 2.6s var(--ch-ease) .5s both}
.ch-js .ch-fl-map.is-in .ch-fl-stops{animation:ch-fl-fade .6s var(--ch-ease) 2.5s both}
.ch-js .ch-fl-map.is-in .ch-fl-van{animation:ch-fl-fade .6s var(--ch-ease) 2.9s both}
.ch-js.ch-reveal-all .ch-fl-map:not(.is-in) .ch-fl-routes path{stroke-dashoffset:0}
.ch-js.ch-reveal-all .ch-fl-map:not(.is-in) .ch-fl-stops,.ch-js.ch-reveal-all .ch-fl-map:not(.is-in) .ch-fl-van{opacity:1}
@keyframes ch-fl-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes ch-fl-fade{from{opacity:0}to{opacity:1}}

/* overlays, placed in % of the 1000 x 960 map box */
.ch-fl-ov{position:absolute;transform:translate(-50%,-50%);pointer-events:none}
.ch-fl-lbl{font-size:clamp(10px,1.95cqw,12.5px);font-weight:600;line-height:1.2;color:#3f4f63;letter-spacing:.01em;white-space:nowrap;text-shadow:0 0 3px #f2f7f9,0 0 3px #f2f7f9,0 0 6px #f2f7f9}
.ch-fl-lbl.r{transform:translate(9px,-50%)}
.ch-fl-lbl.l{transform:translate(calc(-100% - 9px),-50%)}
.ch-fl-lbl.b{transform:translate(-50%,7px)}
.ch-fl-state{font-family:var(--ch-mono);font-size:clamp(9px,1.5cqw,10.5px);line-height:1.2;letter-spacing:.32em;text-transform:uppercase;color:#9aabb7}
.ch-fl-hqlbl{transform:translate(-50%,12px);text-align:center;font-family:var(--ch-mono);font-size:clamp(9px,1.55cqw,10.5px);letter-spacing:.12em;text-transform:uppercase;color:var(--ch-ink);line-height:1.35;white-space:nowrap;text-shadow:0 0 3px #f2f7f9,0 0 3px #f2f7f9}
.ch-fl-hqlbl b{display:block;font-weight:500;color:#9a6c09}
.ch-fl-hqlbl .ch-fl-x{display:block}
.ch-fl-pill{display:inline-flex;align-items:center;gap:.7em;padding:.45em .95em .45em .75em;border-radius:999px;background:rgba(255,255,255,.82);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 6px 18px -10px rgba(20,32,58,.45);border:1px solid rgba(255,255,255,.9);font-size:clamp(10px,1.9cqw,12.5px);font-weight:600;line-height:1.4;color:var(--ch-ink);white-space:nowrap;transition:transform .5s var(--ch-ease),box-shadow .5s var(--ch-ease)}
.ch-fl-pill i{width:.62em;height:.62em;border-radius:50%}
.ch-fl-pill em{font-style:normal;font-family:var(--ch-mono);font-size:.82em;letter-spacing:.12em;text-transform:uppercase;color:var(--ch-ink-2);font-weight:400}
.p-nw i{background:#6c7f64}.p-sw i{background:#2b8f97}.p-se i{background:#1f6fa6}
.ch-fl-call{position:absolute;left:4.5%;top:31%;width:40.5%;padding:2.1cqw 2.3cqw 2cqw;border-radius:2.2cqw;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(209,156,40,.45);box-shadow:0 20px 40px -24px rgba(20,32,58,.45);display:grid;gap:.9cqw;transition:transform .5s var(--ch-ease),box-shadow .5s var(--ch-ease)}
.ch-fl-call__k{display:inline-flex;align-items:center;gap:.8cqw;justify-self:start;font-family:var(--ch-mono);font-size:max(9px,1.5cqw);line-height:1.5;letter-spacing:.12em;white-space:nowrap;text-transform:uppercase;color:#1b1505;background:var(--ch-yellow);padding:.55cqw 1.1cqw;border-radius:999px}
.ch-fl-call__k i{width:.9cqw;height:.9cqw;min-width:5px;min-height:5px;border-radius:50%;background:#1b1505;animation:ch-fl-blink 1.8s ease-in-out infinite}
@keyframes ch-fl-blink{50%{opacity:.25}}
.ch-fl-call__t{font-family:var(--ch-display);font-size:max(14px,3.05cqw);line-height:1.15;color:var(--ch-ink);margin:0}
.ch-fl-call__m{font-size:max(11px,1.85cqw);line-height:1.45;color:var(--ch-ink-2);margin:0;white-space:nowrap}
.ch-fl-call__a{display:inline-flex;align-items:center;gap:.8cqw;justify-self:start;font-size:max(11px,1.95cqw);line-height:1.5;font-weight:600;color:var(--ch-petrol);text-decoration:none}
.ch-fl-call__a:hover{color:var(--ch-ink)}
.ch-fl-call__a svg{width:max(11px,2cqw);height:max(11px,2cqw);transition:transform .45s var(--ch-ease)}
.ch-fl-call__a:hover svg{transform:translateX(3px)}
.ch-fl-scale-lbl{font-family:var(--ch-mono);font-size:clamp(9px,1.45cqw,10px);line-height:1.2;letter-spacing:.12em;color:#7d8d9e;transform:translate(0,-130%)}

/* ---------- night paint: the lens layer (and a whole night map with .ch-fl--night on the section, kept for later) ---------- */
.ch-fl--night .ch-fl-map{background:radial-gradient(120% 90% at 78% 8%,#25506a 0%,#1d2f4a 42%,#161a30 100%);border-color:rgba(255,255,255,.08);box-shadow:0 50px 90px -50px rgba(12,20,44,.75)}
.ch-fl--night .ch-fl-map::before{content:"";position:absolute;inset:0;z-index:-1;background-image:var(--ch-texture);mix-blend-mode:overlay;opacity:.22;pointer-events:none}
.ch-fl--night .ch-fl-bar{color:rgba(255,255,255,.62)}
.ch-fl--night .ch-fl-bar b{color:#fff}
.ch-fl--night .k-p2{background:#5f7f97}
.ch-fl--night .ch-fl-key .k-route{background:#f4f1d0;box-shadow:none}
.ch-fl--night .ch-fl-key .k-stop{background:var(--ch-navy-2);border-color:#f4f1d0}
.ch-fl--night .ch-fl-foot{color:rgba(255,255,255,.6);border-top-color:rgba(255,255,255,.1)}
.ch-fl--night .ch-fl-ctx path{fill:rgba(255,255,255,.035);stroke:rgba(188,217,242,.14);stroke-width:1.4}
.ch-fl--night .ch-fl-shadow{fill:#000;opacity:.35}
.ch-fl--night .ch-fl-land{fill:url(#ch-fl-land-n);stroke:rgba(188,217,242,.42);stroke-width:1.6}
.ch-fl--night .ch-fl-base{fill:#4c6c84}
.ch-fl--night .g-nw{stop-color:#b9e08f}.ch-fl--night .g-ne{stop-color:#ffd25e}.ch-fl--night .g-sw{stop-color:#46d8cf}.ch-fl--night .g-se{stop-color:#7ea4ff}
.ch-fl--night .ch-fl-ne path{fill:rgba(242,199,68,.10);stroke:rgba(255,236,186,.5);stroke-width:1}
.ch-fl--night .ch-fl-ne-glow{stroke:#f2c444;opacity:.4}
.ch-fl--night .ch-fl-ne-edge{stroke:#f2c444}
.ch-fl--night .ch-fl-routes .cas{stroke:#161a30;stroke-width:5.5}
.ch-fl--night .ch-fl-routes .ln{stroke:#f4f1d0}
.ch-fl--night .ch-fl-stops circle{fill:var(--ch-navy-2);stroke:#f4f1d0}
.ch-fl--night .ch-fl-hq .base{stroke:#f2e75c}
.ch-fl--night .ch-fl-city{fill:#bcd9f2}
.ch-fl--night .ch-fl-leader{stroke:#f2c444}
.ch-fl--night .ch-fl-leader-dot{fill:#f2c444}
.ch-fl--night .ch-fl-scale path{stroke:rgba(255,255,255,.45)}
.ch-fl--night .ch-fl-lbl{color:rgba(232,242,250,.88);text-shadow:0 0 4px #1b2440,0 0 4px #1b2440}
.ch-fl--night .ch-fl-state{color:rgba(188,217,242,.38)}
.ch-fl--night .ch-fl-hqlbl{color:#fff;text-shadow:0 0 4px #1b2440,0 0 4px #1b2440}
.ch-fl--night .ch-fl-hqlbl b{color:#f2e75c}
.ch-fl--night .ch-fl-pill{background:rgba(16,24,48,.72);border-color:rgba(255,255,255,.14);color:#fff;box-shadow:0 8px 20px -10px rgba(0,0,0,.6)}
.ch-fl--night .ch-fl-pill em{color:rgba(188,217,242,.75)}
.ch-fl--night .p-nw i{background:#b9e08f}.ch-fl--night .p-sw i{background:#46d8cf}.ch-fl--night .p-se i{background:#7ea4ff}
.ch-fl--night .ch-fl-call{background:rgba(14,22,46,.78);border-color:rgba(242,196,68,.5);box-shadow:0 24px 50px -24px rgba(0,0,0,.7)}
.ch-fl--night .ch-fl-call__t{color:#fff}
.ch-fl--night .ch-fl-call__m{color:rgba(255,255,255,.72)}
.ch-fl--night .ch-fl-call__a{color:var(--ch-yellow)}
.ch-fl--night .ch-fl-scale-lbl{color:rgba(255,255,255,.5)}

/* ---------- night lens: a copy of the map layer (made by home.js for mouse and trackpad users),
   shown inside a soft circle that follows the cursor (--x, --y, --r on the stage) ---------- */
.ch-fl-layer--night{pointer-events:none;background:radial-gradient(120% 95% at 78% 10%,#25506a 0%,#1d2f4a 44%,#161a30 100%);
  -webkit-mask-image:radial-gradient(circle var(--r) at var(--x) var(--y),#000 0,#000 42%,rgba(0,0,0,.991) 47.8%,rgba(0,0,0,.942) 53.6%,rgba(0,0,0,.837) 59.4%,rgba(0,0,0,.683) 65.2%,rgba(0,0,0,.5) 71%,rgba(0,0,0,.317) 76.8%,rgba(0,0,0,.163) 82.6%,rgba(0,0,0,.058) 88.4%,rgba(0,0,0,.009) 94.2%,transparent 100%),linear-gradient(90deg,transparent 0,rgba(0,0,0,.035) 1.83%,rgba(0,0,0,.21) 3.67%,rgba(0,0,0,.5) 5.5%,rgba(0,0,0,.79) 7.33%,rgba(0,0,0,.965) 9.17%,#000 11%,#000 89%,rgba(0,0,0,.965) 90.83%,rgba(0,0,0,.79) 92.67%,rgba(0,0,0,.5) 94.5%,rgba(0,0,0,.21) 96.33%,rgba(0,0,0,.035) 98.17%,transparent 100%),linear-gradient(180deg,transparent 0,rgba(0,0,0,.035) 1.83%,rgba(0,0,0,.21) 3.67%,rgba(0,0,0,.5) 5.5%,rgba(0,0,0,.79) 7.33%,rgba(0,0,0,.965) 9.17%,#000 11%,#000 89%,rgba(0,0,0,.965) 90.83%,rgba(0,0,0,.79) 92.67%,rgba(0,0,0,.5) 94.5%,rgba(0,0,0,.21) 96.33%,rgba(0,0,0,.035) 98.17%,transparent 100%);
  -webkit-mask-composite:source-in,source-in;
  mask-image:radial-gradient(circle var(--r) at var(--x) var(--y),#000 0,#000 42%,rgba(0,0,0,.991) 47.8%,rgba(0,0,0,.942) 53.6%,rgba(0,0,0,.837) 59.4%,rgba(0,0,0,.683) 65.2%,rgba(0,0,0,.5) 71%,rgba(0,0,0,.317) 76.8%,rgba(0,0,0,.163) 82.6%,rgba(0,0,0,.058) 88.4%,rgba(0,0,0,.009) 94.2%,transparent 100%),linear-gradient(90deg,transparent 0,rgba(0,0,0,.035) 1.83%,rgba(0,0,0,.21) 3.67%,rgba(0,0,0,.5) 5.5%,rgba(0,0,0,.79) 7.33%,rgba(0,0,0,.965) 9.17%,#000 11%,#000 89%,rgba(0,0,0,.965) 90.83%,rgba(0,0,0,.79) 92.67%,rgba(0,0,0,.5) 94.5%,rgba(0,0,0,.21) 96.33%,rgba(0,0,0,.035) 98.17%,transparent 100%),linear-gradient(180deg,transparent 0,rgba(0,0,0,.035) 1.83%,rgba(0,0,0,.21) 3.67%,rgba(0,0,0,.5) 5.5%,rgba(0,0,0,.79) 7.33%,rgba(0,0,0,.965) 9.17%,#000 11%,#000 89%,rgba(0,0,0,.965) 90.83%,rgba(0,0,0,.79) 92.67%,rgba(0,0,0,.5) 94.5%,rgba(0,0,0,.21) 96.33%,rgba(0,0,0,.035) 98.17%,transparent 100%);
  mask-composite:intersect}
.ch-fl-layer--night::before{content:"";position:absolute;inset:0;background-image:var(--ch-texture);mix-blend-mode:overlay;opacity:.22}
@media (hover:none),(pointer:coarse){.ch-fl-layer--night{display:none}}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .ch-fl{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "map" "list" "cta";row-gap:30px}
  .ch-fl-head{align-self:start}
}
@media (max-width:600px){
  .ch-fl-map{border-radius:20px;padding:12px 10px;margin-inline:-6px}
  .ch-fl-bar{padding:2px 4px 0;font-size:10.5px}
  .ch-fl-key{gap:12px}
  .ch-fl-key .k-hqw{display:none}
  .ch-fl-call{left:3%;top:31%;width:auto;padding:2.4cqw 3cqw 2.6cqw;gap:1.4cqw;border-radius:12px}
  .ch-fl-call__m,.ch-fl-call__a,.ch-fl-x,.ch-fl-hqlbl .ch-fl-x{display:none}
  .ch-fl-call__k{font-size:9px;padding:3px 8px;gap:6px}
  .ch-fl-call__t{font-size:12.5px}
  .ch-fl-pill{font-size:10px;padding:4px 9px 4px 7px;gap:6px}
  .ch-fl-pill em{display:none}
  .ch-fl-lbl{font-size:10px}
  .ch-fl-hqlbl{font-size:9px;transform:translate(calc(-100% - 9px),-50%);text-align:right}
  .ch-fl-lbl.minor,.ch-fl-state{display:none}
  .ch-fl-row{gap:12px;padding:15px 8px 15px 2px}
  .ch-fl-row strong{font-size:16px}
  .ch-fl-meta{font-size:13.5px}
  .ch-fl-chip{font-size:10.5px;padding:5px 9px}
  .ch-fl-foot{font-size:12.5px;margin:6px 4px 0}
}
@media (prefers-reduced-motion:reduce){
  .ch-fl-sweep,.ch-fl-arc,.ch-fl-hq .ring,.ch-fl-sw--ne::after,.ch-fl-call__k i{animation:none}
  .ch-js .ch-fl-map .ch-fl-routes path{animation:none;stroke-dashoffset:0}
  .ch-js .ch-fl-map .ch-fl-stops{animation:none;opacity:1}
  .ch-fl-van,.ch-fl-comet{display:none}
  .ch-fl-e,.ch-fl-row::before,.ch-fl-pill,.ch-fl-call{transition:none}
}
