/* BICC energy-intelligence map — extends site.css ("Convergence") tokens. */
.xmap{--xm-h:min(78vh,820px);margin-top:48px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(17,26,39,.55),rgba(6,10,17,.85));overflow:hidden;position:relative}
.xmap-top{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line)}
.xmap-title{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--steel-2)}
.xmap-title b{color:var(--steel-1);font-weight:500}
.xmap-search{flex:1 1 260px;max-width:420px;position:relative}
.xmap-search input{width:100%;padding:10px 14px;border-radius:999px;border:1px solid var(--line-strong);background:rgba(3,5,9,.6);font-size:15px}
.xmap-search ul{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 6px);list-style:none;margin:0;padding:6px;background:var(--ink-2);border:1px solid var(--line-strong);border-radius:12px;max-height:300px;overflow:auto;box-shadow:0 24px 60px rgba(0,0,0,.5)}
.xmap-search li button{all:unset;display:block;width:100%;box-sizing:border-box;padding:9px 10px;border-radius:8px;cursor:pointer;font-size:14.5px}
.xmap-search li button:hover,.xmap-search li button:focus-visible{background:rgba(61,155,255,.14)}
.xmap-search li small{display:block;color:var(--steel-3);font-size:12px}
.xmap-tools{display:flex;gap:8px;flex-wrap:wrap}
.xbtn{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--line-strong);background:rgba(255,255,255,.03);font-size:13.5px;font-weight:600;cursor:pointer;color:var(--steel-1);text-decoration:none;min-height:38px}
.xbtn:hover{border-color:rgba(200,220,255,.55);background:rgba(255,255,255,.06)}
.xbtn[aria-pressed=true]{border-color:var(--volt);background:rgba(61,155,255,.16)}
.xbtn--primary{background:linear-gradient(180deg,#3d9bff,#1557c0);border-color:transparent}
.xbtn--gold{border-color:rgba(230,172,82,.6);color:var(--gold-hi)}
.xmap-body{display:grid;grid-template-columns:300px minmax(0,1fr) 360px;height:var(--xm-h)}
.xmap-controls{overflow:auto;border-right:1px solid var(--line);padding:14px;font-size:14px}
.xmap-canvas{position:relative;min-height:0}
#xmap-gl{position:absolute;inset:0}
.xmap-panel{overflow:auto;border-left:1px solid var(--line);padding:18px;font-size:14.5px;background:rgba(3,5,9,.35)}
@media (max-width:1180px){.xmap-body{grid-template-columns:270px minmax(0,1fr)}.xmap-panel{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);max-height:none}.xmap-body{height:auto}.xmap-canvas{height:var(--xm-h)}}
@media (max-width:760px){.xmap-body{grid-template-columns:1fr}.xmap-controls{border-right:0;border-bottom:1px solid var(--line);max-height:none}.xmap-controls[data-collapsed=true] .xgrp{display:none}.xmap-canvas{height:clamp(320px,100vw,440px)}.xmap{--xm-h:auto}}
.xmap-ctl-toggle{display:none}
@media (max-width:760px){.xmap-ctl-toggle{display:inline-flex}}
.xgrp{border-bottom:1px solid var(--line);padding:4px 0 14px;margin-bottom:12px}
.xgrp:last-child{border-bottom:0}
.xgrp h3{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--steel-3);margin:6px 0 10px;font-weight:500;display:flex;justify-content:space-between;align-items:center;gap:8px}
.xgrp h3 .n{color:var(--steel-2)}
.xrow{display:flex;align-items:center;gap:10px;padding:6px 0;cursor:pointer;line-height:1.3}
.xrow input{accent-color:var(--volt);width:16px;height:16px;flex:none;margin:0}
.xrow .sw{width:12px;height:12px;border-radius:50%;flex:none;box-shadow:0 0 0 2px rgba(255,255,255,.08)}
.xrow .sw.sq{border-radius:3px}
.xrow .sw.ln{height:3px;border-radius:2px;width:16px}
.xrow small{color:var(--steel-3);margin-left:auto;font-family:var(--mono);font-size:11.5px}
.xchips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 4px}
.xchip{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;border:1px solid var(--line-strong);font-size:12.5px;cursor:pointer;background:transparent;color:var(--steel-2)}
.xchip i{width:8px;height:8px;border-radius:50%}
.xchip[aria-pressed=true]{color:var(--steel-1);background:rgba(255,255,255,.06);border-color:rgba(200,220,255,.5)}
.xchip[aria-pressed=false]{opacity:.55}
.xfield{display:grid;gap:5px;margin:10px 0 0}
.xfield span{font-size:12px;color:var(--steel-3);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase}
.xfield select,.xfield input[type=text]{padding:8px 10px;border-radius:8px;border:1px solid var(--line-strong);background:rgba(3,5,9,.6);font-size:14px;width:100%}
.xfield input[type=range]{width:100%;accent-color:var(--volt)}
.xlegend{margin-top:10px;font-size:12.5px;color:var(--steel-2)}
.xlegend .ramp{display:flex;height:10px;border-radius:5px;overflow:hidden;margin:6px 0 4px}
.xlegend .ramp i{flex:1}
.xlegend .ends{display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;color:var(--steel-3)}
.xnote{font-size:12.5px;color:var(--steel-3);line-height:1.5;margin:8px 0 0}
.xmap-jump{position:absolute;left:10px;top:10px;display:flex;gap:6px;z-index:5}
.xmap-jump button{padding:6px 10px;border-radius:999px;border:1px solid var(--line-strong);background:rgba(3,5,9,.75);font:500 11.5px var(--mono);letter-spacing:.08em;color:var(--steel-2);cursor:pointer}
.xmap-status{position:absolute;right:10px;bottom:10px;z-index:5;font:500 11.5px var(--mono);letter-spacing:.06em;color:var(--steel-2);background:rgba(3,5,9,.75);border:1px solid var(--line);padding:6px 10px;border-radius:999px;max-width:70%}
.xmap-status:empty{display:none}
.maplibregl-ctrl-group{background:rgba(6,10,17,.85)!important;border:1px solid var(--line-strong)}
.maplibregl-ctrl-group button{filter:invert(1) hue-rotate(180deg)}
.maplibregl-ctrl-attrib{background:rgba(3,5,9,.7)!important;color:var(--steel-3)!important;font-size:10.5px}
.maplibregl-ctrl-attrib a{color:var(--steel-2)!important}
.maplibregl-popup-content{background:var(--ink-2);color:var(--steel-1);border:1px solid var(--line-strong);border-radius:10px;padding:8px 10px;font-size:13px}
.maplibregl-popup-tip{border-top-color:var(--ink-2)!important;border-bottom-color:var(--ink-2)!important}
/* panel */
.xp-kicker{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--steel-3);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.xp-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;border:1px solid currentColor}
.xmap-panel h3{font-size:22px;line-height:1.2;margin:10px 0 4px;font-weight:600;font-stretch:105%}
.xp-sub{color:var(--steel-2);margin:0}
.xp-dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:14px 0;font-size:14px}
.xp-dl dt{color:var(--steel-3);font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;padding-top:2px}
.xp-dl dd{margin:0;color:var(--steel-1)}
.xp-dl dd em{color:var(--steel-3);font-style:normal}
.xp-sec{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}
.xp-sec h4{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--steel-2);margin:0 0 8px;font-weight:500}
.xp-sec p,.xp-sec li{color:var(--steel-2);font-size:14px}
.xp-sec ul{margin:0;padding-left:18px;display:grid;gap:4px}
.xp-list{list-style:none!important;padding:0!important}
.xp-list li{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px dashed var(--line)}
.xp-list li button{all:unset;cursor:pointer;color:var(--steel-1);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px}
.xp-list li small{color:var(--steel-3);font-family:var(--mono);font-size:11.5px;white-space:nowrap}
.xp-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
.xp-stat{border:1px solid var(--line);border-radius:10px;padding:10px}
.xp-stat b{display:block;font-size:20px;font-weight:600;font-stretch:105%}
.xp-stat span{font-size:12px;color:var(--steel-3);line-height:1.35;display:block;margin-top:2px}
.xp-flag{border-left:3px solid var(--gold);padding:8px 12px;background:rgba(230,172,82,.07);border-radius:0 8px 8px 0;font-size:13.5px;color:var(--steel-2);margin-top:12px}
.xp-flag.ok{border-color:var(--ok);background:rgba(87,217,163,.06)}
.xp-src{font-size:12.5px;color:var(--steel-3)}
.xp-src a{color:var(--volt-hi)}
.xp-cta{display:grid;gap:8px;margin-top:16px}
.xp-cta .xbtn{justify-content:center}
.xp-close{float:right;all:unset;cursor:pointer;color:var(--steel-3);font-size:13px;padding:4px 8px;border-radius:6px;border:1px solid var(--line)}
.xp-radius{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}
/* table view */
.xmap-table{border-top:1px solid var(--line);max-height:520px;overflow:auto}
.xmap-table table{width:100%;border-collapse:collapse;font-size:13.5px}
.xmap-table th,.xmap-table td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.xmap-table th{position:sticky;top:0;background:var(--ink-2);font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--steel-3);font-weight:500}
.xmap-table td button{all:unset;cursor:pointer;color:var(--steel-1);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px}
.xmap-foot{padding:12px 14px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;justify-content:space-between}
.xmap-foot p{margin:0;font-size:12.5px;color:var(--steel-3);max-width:90ch}
dialog.xsrc{max-width:min(860px,94vw);width:100%;background:var(--ink-1);color:var(--steel-1);border:1px solid var(--line-strong);border-radius:var(--radius);padding:0}
dialog.xsrc::backdrop{background:rgba(3,5,9,.7)}
dialog.xsrc .in{padding:22px 24px;max-height:80vh;overflow:auto}
dialog.xsrc h2{font-size:24px;margin:0 0 6px}
dialog.xsrc table{width:100%;border-collapse:collapse;font-size:13.5px;margin-top:14px}
dialog.xsrc th,dialog.xsrc td{text-align:left;padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:top}
dialog.xsrc th{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--steel-3);font-weight:500}
dialog.xsrc a{color:var(--volt-hi)}
.xload{display:inline-block;width:10px;height:10px;border-radius:50%;border:2px solid var(--volt-hi);border-right-color:transparent;animation:xspin .8s linear infinite;vertical-align:-1px;margin-right:6px}
@keyframes xspin{to{transform:rotate(1turn)}}
@media (prefers-reduced-motion:reduce){.xload{animation:none}}
/* two-path section (home + partnerships) */
.xpaths{display:grid;gap:16px;margin-top:48px}
@media (min-width:860px){.xpaths{grid-template-columns:1fr 1fr}}
.xpath{position:relative;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,3vw,34px);background:linear-gradient(180deg,rgba(17,26,39,.6),rgba(6,10,17,.6));display:flex;flex-direction:column;gap:14px}
.xpath .mono{color:var(--steel-3)}
.xpath h3{font-size:clamp(24px,2.6vw,32px);font-weight:600;font-stretch:105%;margin:0;line-height:1.15}
.xpath p{margin:0;color:var(--steel-2)}
.xpath ul{margin:0;padding-left:18px;color:var(--steel-2);display:grid;gap:6px}
.xpath .for{font-size:14px;color:var(--steel-3)}
.xpath .acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:8px}
.xpath--new{border-color:rgba(230,172,82,.35)}
.xpath--int{border-color:rgba(98,226,255,.35)}
.xband{margin-top:22px;display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between;border:1px dashed var(--line-strong);border-radius:var(--radius);padding:16px 20px}
.xband p{margin:0;color:var(--steel-2)}
.xfaq details{border-bottom:1px solid var(--line);padding:4px 0}
.xfaq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;padding:16px 0;font-weight:600;font-size:18px}
.xfaq summary::-webkit-details-marker{display:none}
.xfaq summary::after{content:"+";color:var(--volt-hi);font-size:22px;line-height:1}
.xfaq details[open] summary::after{content:"–"}
.xfaq details p{color:var(--steel-2);margin:0 0 18px;max-width:70ch}
.xlist{display:grid;gap:10px;margin-top:28px}
@media (min-width:760px){.xlist{grid-template-columns:1fr 1fr}}
.xlist div{border:1px solid var(--line);border-radius:12px;padding:16px 18px}
.xlist b{display:block;font-size:17px;margin-bottom:4px}
.xlist span{color:var(--steel-2);font-size:15px}
.xfacts{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:10px}
.xfacts li{display:grid;grid-template-columns:28px 1fr;gap:12px;color:var(--steel-2)}
.xfacts li::before{content:"";width:10px;height:10px;margin-top:8px;border-radius:50%;background:var(--aqua);box-shadow:0 0 12px rgba(98,226,255,.6)}
/* map CTAs + stage list + preview banner */
.xmap-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
@media (max-width:560px){.xmap-ctas .btn{width:100%;justify-content:center}}
.xfacts b{color:var(--steel-1)}
.xsteps{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:10px}
@media (min-width:900px){.xsteps{grid-template-columns:repeat(2,minmax(0,1fr))}}
.xsteps li{display:grid;grid-template-columns:40px 1fr;column-gap:14px;border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.xsteps .n{grid-row:span 2;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-family:var(--mono);font-size:13px;color:var(--volt-hi);border:1px solid rgba(61,155,255,.45)}
.xsteps b{font-size:16.5px}
.xsteps li>span:last-child{color:var(--steel-2);font-size:14.5px}
.xpreview{position:relative;z-index:200;background:#1a1408;border-bottom:1px solid rgba(230,172,82,.45);color:#ffd596;font:500 12.5px/1.45 var(--mono);letter-spacing:.04em;padding:8px 16px;text-align:center}
.xpreview a{color:#ffe7bd}
/* home headline (longer two-sentence message) */
.hero h1.display.x-head{font-size:clamp(34px,min(4.4vw,7.2vh),64px);line-height:1.04;max-width:24ch;margin-inline:auto}
.hero h1.display.x-head .split-line{white-space:normal}
.hero h1.display.x-head .split-line>span{text-wrap:balance}
.hero h1.display.x-head .split-line+.split-line{margin-top:.12em}
