/* Atlas design v2: light, readable, sidebar navigation; the home page is the map. */
:root{--paper:#f4f6f6;--card:#fff;--ink:#14232d;--muted:#4a5864;--soft:#6c7a85;--line:#e1e6e8;--line2:#cfd7db;
--side:#16303c;--side2:#1f3d4b;--side-text:#c6d4da;--amber:#d4a24c;--amber-ink:#8a5a12;--amber-bg:#fbf3e3;
--direct:#2b5c8f;--indirect:#6b4f9a;--link:#1d5a86}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--paper);color:var(--ink);font-family:Inter,-apple-system,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--link)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.app{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:100vh;background:linear-gradient(to right,var(--side) 220px,transparent 220px)}

/* sidebar */
.side{background:var(--side);color:var(--side-text);padding:28px 18px 22px;display:flex;flex-direction:column;gap:26px;position:sticky;top:0;height:100vh}
.brand .aivo{font-size:12px;font-weight:700;letter-spacing:.22em;color:var(--amber)}
.brand .title{font-family:Fraunces,serif;font-size:25px;line-height:1.12;color:#fff;margin-top:8px;font-weight:500}
.brand .title span{font-weight:400;color:#dce6ea}
.brand i{display:block;width:30px;height:3px;background:var(--amber);border-radius:2px;margin-top:16px}
.lens{background:var(--side2);border-radius:12px;padding:14px;display:grid;gap:8px}
.lens .lab{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--amber)}
.lens select{width:100%;background:#fff;color:var(--ink);border:0;border-radius:8px;padding:9px 10px;font:inherit;font-size:14.5px;font-weight:500}
.lens select:disabled{opacity:.45}
.side nav{display:grid;gap:3px}
.side nav a{display:flex;align-items:center;gap:13px;padding:11px 12px;border-radius:10px;color:var(--side-text);text-decoration:none;font-size:15px;font-weight:500}
.side nav a b{width:18px;text-align:center;font-weight:400;opacity:.85}
.side nav a:hover{background:#ffffff0d;color:#fff}
.side nav a.on{background:var(--side2);color:#fff}
.pub{margin-top:auto;border-top:1px solid #ffffff1f;padding-top:16px;font-size:13.5px;line-height:1.6}
.pub b{color:#fff;font-weight:600}.pub a{color:#fff}
.pub .badge{display:inline-block;margin-top:10px;background:var(--side2);border-radius:6px;padding:4px 9px;font-size:12px}

/* main */
main{padding:26px 28px 24px;min-width:0;width:100%;max-width:1560px;margin:0 auto}
.head .kicker{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--amber-ink)}
.head h1{font-family:Inter,sans-serif;font-weight:700;letter-spacing:-.025em;font-size:clamp(28px,2.6vw,40px);line-height:1.1;margin:6px 0 8px}
.head p{color:var(--muted);font-size:17px;max-width:62ch}
.head p b{color:var(--ink)}
.stage{display:grid;grid-template-columns:minmax(0,1fr) clamp(300px,24vw,380px);gap:18px;margin-top:20px;align-items:start}
.mapcard{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px 10px 8px;overflow-x:auto}
.tabs{display:inline-flex;gap:4px;background:#eef2f3;border-radius:10px;padding:4px;margin:0 0 6px 6px}
.tabs button{border:0;background:none;padding:8px 14px;border-radius:7px;font:inherit;font-size:14px;font-weight:600;color:var(--muted);cursor:pointer}
.tabs button[aria-pressed=true]{background:#fff;color:var(--ink);box-shadow:0 1px 2px #0000001a}
#map{display:block;width:100%;min-width:680px;max-width:1080px;margin:0 auto;height:auto;max-height:calc(100vh - 250px);min-height:420px}
.latest{margin-top:16px;color:var(--muted);font-size:14.5px}
.latest span{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--amber-ink);margin-right:8px}

/* svg */
.rowband{fill:#f7f9f9}
.rowlab{font:600 13.5px Inter,sans-serif;fill:var(--ink)}
.rowsub{font:400 11px Inter,sans-serif;fill:var(--soft)}
.stn{font:700 11.5px Inter,sans-serif;fill:#fff}
.stname{font:600 13.5px Inter,sans-serif;fill:var(--ink)}
.stline{font:400 11px Inter,sans-serif;fill:var(--soft)}
.edge{fill:none;stroke:#b9c4ca;stroke-width:1.3;transition:opacity .15s}
.edge.arch{stroke-dasharray:5 4}.edge.planned{stroke-dasharray:1.5 4}
.edge.on{stroke:var(--amber);stroke-width:2.4;opacity:1}
.has-sel .edge:not(.on){opacity:.18}
.node{cursor:pointer;transition:opacity .15s}
.node rect.box{stroke-width:1.2;transition:stroke .15s}
.node:hover rect.box,.node:focus rect.box{stroke:var(--ink)}
.node:focus{outline:none}
.node text.t{font:600 13px Inter,sans-serif;fill:var(--ink)}
.node text.c{font:400 10.5px Inter,sans-serif;fill:var(--soft)}
#map.eco .node text.t{font-size:14.5px}
#map.eco .node text.c{font-size:11.5px}
#map.eco .mhead{font-size:12.5px}
.node.sel rect.box{stroke:var(--amber);stroke-width:2.6}
.node.fade{opacity:.22}
.node.near rect.box{stroke:#8a98a2}
.k-actor rect.box{fill:#eef1f3;stroke:#cdd5da}.k-actor .dot{fill:#6c7a85}
.k-assistant rect.box{fill:#e8f0f9;stroke:#c3d5ea}.k-assistant .dot{fill:#2f5f8f}
.k-agent rect.box{fill:#e2f4ed;stroke:#b8e0cf}.k-agent .dot{fill:#24735c}
.k-bizagent rect.box{fill:#e6edfb;stroke:#c3d0ef}.k-bizagent .dot{fill:#3557a0}
.k-dest rect.box{fill:#f2f0ea;stroke:#ddd7c8}.k-dest .dot{fill:#7a705c}
.k-protocol rect.box{fill:#efe9f8;stroke:#d5c8ee}.k-protocol .dot{fill:#6a4fa0}
.k-commerce rect.box{fill:#fbeee2;stroke:#efd3ba}.k-commerce .dot{fill:#a0582a}
.k-gov rect.box{fill:#e6f2f1;stroke:#bfdcda}.k-gov .dot{fill:#2f6b6b}
.imp{font:700 9.5px Inter,sans-serif;letter-spacing:.04em}
.you rect.box{stroke:var(--amber);stroke-width:2.6}
.youtag rect{fill:var(--amber)}.youtag text{font:700 10px Inter,sans-serif;fill:#fff;letter-spacing:.04em}
.mbar{cursor:pointer;transition:opacity .15s}
.mbar rect{fill:#fff;stroke:var(--line2);stroke-width:1.1}
.mbar text{font:500 12px Inter,sans-serif;fill:var(--muted)}
.mbar text b,.mbar .nm{font-weight:600;fill:var(--ink)}
.mbar:hover rect{stroke:var(--ink)}
.mbar.sel rect{stroke:var(--amber);stroke-width:2.4;fill:var(--amber-bg)}
.mbar.fade{opacity:.25}
.mhead{font:700 11.5px Inter,sans-serif;letter-spacing:.12em;fill:var(--amber-ink)}

/* panel */
.panel{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px 22px 24px;position:sticky;top:20px;max-height:calc(100vh - 40px);overflow:auto}
.panel .eyebrow{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--soft)}
.panel h2{font-size:24px;font-weight:700;letter-spacing:-.015em;line-height:1.2;margin:6px 0 10px}
.panel .x{float:right;border:0;background:#eef2f3;border-radius:8px;width:30px;height:30px;font-size:17px;color:var(--muted);cursor:pointer}
.panel p{font-size:15.5px;color:var(--ink)}
.panel .sec{margin-top:18px}
.panel .lab{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--soft);margin-bottom:7px}
.pills{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 6px}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;border-radius:999px;padding:3px 10px;background:#eef2f3;color:var(--muted)}
.pill.direct{background:#e5eef8;color:var(--direct)}.pill.indirect{background:#eee8f6;color:var(--indirect)}.pill.you{background:var(--amber-bg);color:var(--amber-ink)}
.conf{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);font-weight:500}
.conf i{width:9px;height:9px;border-radius:50%;display:inline-block}
.c-live i{background:#2f7a5f}.c-pilot i{background:#c08a2a}.c-prop i{border:1.6px dashed #8a96a0}
.foryou{background:var(--amber-bg);border-radius:12px;padding:13px 15px;margin-top:16px}
.foryou .lab{color:var(--amber-ink)}
.foryou.dim{background:#f1f3f4}.foryou.dim .lab{color:var(--soft)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips span{font-size:13px;border:1px solid var(--line2);border-radius:999px;padding:3px 10px;color:var(--muted)}
.links button,.who div{display:flex;justify-content:space-between;gap:10px;width:100%;text-align:left;background:none;border:0;border-top:1px solid var(--line);padding:8px 0;font:inherit;font-size:14px;color:var(--ink);cursor:pointer}
.links button:hover{color:var(--link)}
.links small,.who small{color:var(--soft);font-size:12.5px;white-space:nowrap}
.claim{border-top:1px solid var(--line);padding:9px 0;font-size:14px}
.claim .ev{font-size:12px;color:var(--soft)}
.claim a{font-size:12.5px;font-weight:600;text-decoration:none}
.more{display:inline-block;margin-top:18px;background:var(--ink);color:#fff;border-radius:10px;padding:11px 16px;font-weight:600;font-size:14.5px;text-decoration:none}
.steps{counter-reset:s;list-style:none;display:grid;gap:10px;margin-top:6px}
.steps li{counter-increment:s;position:relative;padding-left:34px;font-size:15px}
.steps li::before{content:counter(s);position:absolute;left:0;top:0;width:24px;height:24px;border-radius:50%;background:var(--ink);color:#fff;font-size:12.5px;font-weight:700;display:grid;place-items:center}
.bul{list-style:none;display:grid;gap:0}
.bul li{border-top:1px solid var(--line);padding:11px 0;font-size:15px}
.bul li:first-child{border-top:0}
.bul a{font-size:13px;font-weight:600;text-decoration:none;display:inline-block;margin-top:4px}
.legend{display:grid;gap:7px;font-size:13.5px;color:var(--muted)}
.legend .sw{display:inline-block;width:14px;height:14px;border-radius:4px;vertical-align:-2px;margin-right:8px;border:1px solid #0000001a}
.legend .ln{display:inline-block;width:26px;border-top:2px solid #9aa7ae;vertical-align:4px;margin-right:8px}
.legend .ln.arch{border-top-style:dashed}.legend .ln.planned{border-top-style:dotted}
.panel .draft{margin-top:16px;font-size:12.5px;color:var(--soft)}

@media(max-width:1180px){.stage{grid-template-columns:1fr}.panel{position:static;max-height:none}}
@media(max-width:820px){.app{grid-template-columns:1fr}.side{position:static;height:auto;flex-direction:column}.side nav{grid-template-columns:1fr 1fr}.pub{display:none}main{padding:22px 16px}}

/* How it works */
.hw-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}
.hw-hero .kicker{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--amber-ink)}
.hw-h1{font-family:Inter,sans-serif;font-weight:700;letter-spacing:-.03em;font-size:clamp(32px,3.4vw,52px);line-height:1.05;margin:8px 0 12px}
.hw-hero p{color:var(--muted);font-size:17.5px;max-width:58ch}
.hw-actions{display:flex;gap:10px;flex-wrap:wrap}
.btn-primary,.btn-ghost{display:inline-block;border-radius:10px;padding:12px 18px;font-weight:600;font-size:15px;text-decoration:none;white-space:nowrap}
.btn-primary{background:var(--ink);color:#fff}.btn-primary:hover{background:#22394a}
.btn-ghost{background:#fff;color:var(--ink);border:1px solid var(--line2)}.btn-ghost:hover{border-color:var(--ink)}
.hw-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:28px}
.hw-stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 22px}
.hw-stat b{display:block;font-size:30px;font-weight:700;letter-spacing:-.02em;line-height:1.1}
.hw-stat span{display:block;margin-top:6px;font-size:14px;color:var(--muted)}
.hw-statnote{font-size:13px;color:var(--soft);margin-top:10px}
.hw-sec{margin-top:40px}
.hw-sec h2{font-size:26px;font-weight:700;letter-spacing:-.02em}
.hw-sub{color:var(--muted);font-size:15px;margin-top:4px}
.hw-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}
.hw-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;text-decoration:none;color:var(--ink);transition:border-color .15s,box-shadow .15s}
a.hw-card:hover{border-color:#9fb3bd;box-shadow:0 6px 20px #14232d12}
.hw-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:#e7f1f0;color:#1f6b66;font-size:20px;margin-bottom:16px}
.hw-card h3{font-size:18px;font-weight:700;letter-spacing:-.01em;margin-bottom:8px}
.hw-card p{font-size:14.5px;color:var(--muted);flex:1}
.hw-foot{display:flex;justify-content:space-between;margin-top:18px;font-size:14px;font-weight:700;color:#1f6b66}
.hw-banner{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:18px;background:linear-gradient(110deg,#eaf4f2,#f7fafa);border:1px solid #d3e6e2;border-radius:16px;padding:28px 30px}
.hw-banner .kicker{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#1f6b66}
.hw-banner h3{font-size:22px;font-weight:700;letter-spacing:-.015em;margin:8px 0}
.hw-banner p{color:var(--muted);font-size:15px;max-width:70ch}
.hw-row{display:flex;justify-content:space-between;align-items:flex-end;gap:16px}
.hw-link{font-size:14px;font-weight:700;color:#1f6b66;text-decoration:none}
.hw-date{font-size:12.5px;font-weight:700;letter-spacing:.1em;color:var(--soft);margin-bottom:8px}
.hw-update .hw-link{margin-top:14px}
.hw-note{margin-top:32px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 18px;font-size:13.5px;color:var(--muted)}
.hw-note b{color:var(--ink)}
@media(max-width:1000px){.hw-stats{grid-template-columns:1fr 1fr}.hw-three{grid-template-columns:1fr}.hw-banner{flex-direction:column;align-items:flex-start}}
@media(max-width:820px){.app{background:none}}
.terr{margin-top:44px}
.terr-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}
.terr-card{padding:20px}
.terr-card h3{font-size:17px;margin-bottom:4px}
.terr-card p{font-size:14px}
.terr-card .hw-foot{margin-top:12px}
.terr .hw-note{margin-top:18px}
.hw-note a{color:#1f6b66;font-weight:700;text-decoration:none}
@media(max-width:1100px){.terr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.terr-grid{grid-template-columns:1fr}}

/* Buying journeys view */
#journey:empty{display:none}
.stage.jmode{grid-template-columns:1fr}
.stage.jmode #map{display:none}
.stage.jmode .mapcard{padding:14px 18px 18px}
.stage.jmode .panel{display:none;position:fixed;right:22px;top:22px;width:min(400px,calc(100vw - 44px));max-height:calc(100vh - 44px);z-index:30;box-shadow:0 24px 60px #14232d33}
.stage.jmode .panel.open{display:block}
.jtabs{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 6px}
.jtab{border:1px solid var(--line2);background:#fff;border-radius:999px;padding:7px 14px;font:inherit;font-size:14px;font-weight:600;color:var(--ink);cursor:pointer}
.jtab[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.jtab:disabled{color:var(--soft);cursor:default;background:#f6f8f8}
.jtab small{font-weight:500;font-size:11.5px;margin-left:4px}
.jintro{color:var(--muted);font-size:15.5px;margin:6px 0 16px;max-width:80ch}
.jgrid,.jrow{display:grid;grid-template-columns:140px repeat(6,minmax(0,1fr)) 200px;gap:8px;align-items:stretch}
.jside{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--soft);padding-top:10px}
.jph{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;border:0;border-radius:12px;background:#14232d;color:#fff;padding:10px 12px;font:inherit;cursor:pointer}
.jph .n{font-size:11px;font-weight:700;color:var(--amber)}
.jph b{font-size:15px;line-height:1.2}
.jph small{font-size:12px;color:#c6d4da}
.jph.on,.jph:hover{outline:3px solid var(--amber);outline-offset:1px}
.jcell{background:#f7f9f9;border-radius:10px;padding:8px;min-width:0}
.jhap{font-size:13.5px;line-height:1.45;color:var(--ink)}
.jhap.on{background:var(--amber-bg)}
.jctl{display:inline-block;font-size:12px;font-weight:700;border-radius:999px;padding:3px 10px}
.jc-h{background:#e5eef8;color:#2b5c8f}.jc-a{background:#e2f4ed;color:#24735c}.jc-s{background:#f4ecdd;color:#8a5a12}
.jlab{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--soft);margin:2px 2px 6px}
.jitem{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:8px;padding:7px 9px;margin-bottom:6px;font:inherit;font-size:13.5px;color:var(--ink)}
button.jitem{cursor:pointer}button.jitem:hover{border-color:var(--ink)}
.jitem b{font-weight:600}
.jitem .conf{font-size:11.5px}
.jtext{background:transparent;border-style:dashed;color:var(--muted)}
.jsec{margin:26px 0 10px;display:flex;flex-direction:column;gap:2px}
.jsec b{font-size:18px;letter-spacing:-.01em}
.jsec span{font-size:14px;color:var(--muted)}
.jrows{display:grid;gap:6px}
.jrow{width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px;font:inherit;color:var(--ink);cursor:pointer}
.jrow:hover,.jrow.on{border-color:var(--amber);box-shadow:0 0 0 2px var(--amber-bg)}
.jrow-h{background:none;border:0;cursor:default;padding:0 8px}.jrow-h:hover{box-shadow:none}
.jmini{font-size:11.5px;font-weight:700;color:var(--soft);text-align:center}
.jdisc{display:flex;flex-direction:column;justify-content:center}
.jdisc b{font-size:14.5px}.jdisc small{font-size:12px;color:var(--soft);line-height:1.3}
.jbarcell{display:flex;align-items:center;min-height:38px}
.jbar{display:block;width:100%;height:14px;border-radius:7px;margin:0 3px}
.jbar.l{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-4px}
.jbar.r{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:-4px}
.jbar.s2{background:#1f6b66}.jbar.s1{background:#a8cfc9}
.jverdict{display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--line);padding-left:10px}
.jverdict b{font-size:14px}.jverdict small{font-size:12px;color:var(--muted);line-height:1.3}
.v-yes b{color:#1f7a4f}.v-part b{color:#8a5a12}.v-aim b{color:#2b5c8f}.v-no b{color:#a3392c}
.jverdict-pill{display:inline-block;font-size:13px;font-weight:700;border-radius:999px;padding:3px 12px;background:#fff}
.jverdict-pill.v-yes{color:#1f7a4f}.jverdict-pill.v-part{color:#8a5a12}.jverdict-pill.v-aim{color:#2b5c8f}.jverdict-pill.v-no{color:#a3392c}
.jthen{margin-top:18px;font-size:14.5px;color:var(--muted)}
.linkbtn{border:0;background:none;color:var(--link);font:inherit;font-weight:700;cursor:pointer;padding:0}
.muted-s{font-size:14px;color:var(--soft)}
@media(max-width:1100px){.jgrid,.jrow{grid-template-columns:110px repeat(6,minmax(84px,1fr)) 160px}.mapcard{overflow-x:auto}}
#journey .draft{font-size:12.5px;color:var(--soft);margin-top:6px}

/* Industry edition (Banking v4 layout) */
.ihero{display:flex;justify-content:space-between;align-items:center;gap:30px;background:linear-gradient(120deg,#123747,#1c5a64);color:#fff;border-radius:18px;padding:30px 34px}
.ihero .kicker{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#8fd8c9}
.ihero h1{font-size:clamp(30px,3vw,44px);font-weight:700;letter-spacing:-.025em;line-height:1.08;margin:8px 0 10px}
.ihero p{color:#d6e6ea;font-size:16.5px;max-width:64ch}
.ihero-n{text-align:left;min-width:170px}.ihero-n b{display:block;font-size:44px;font-weight:700;line-height:1}.ihero-n span{font-size:13.5px;color:#c6d9de}
.iq{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.iq-card{text-align:left;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px;font:inherit;color:var(--ink);cursor:pointer;display:flex;flex-direction:column;gap:6px}
.iq-card b{font-size:17px;letter-spacing:-.01em}.iq-card span{font-size:14px;color:var(--muted)}
.iq-card:hover{border-color:#9fb3bd}.iq-card.on{border-color:#1f6b66;box-shadow:0 0 0 2px #d3e6e2}
.itabs{margin:26px 0 4px}
.isec{font-size:26px;font-weight:700;letter-spacing:-.02em;margin-top:18px}
.ifilters{display:flex;flex-wrap:wrap;gap:16px 22px;align-items:flex-end;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin:16px 0}
.flab{display:block;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--soft);margin-bottom:6px}
.ifilters select{border:1px solid var(--line2);border-radius:9px;padding:8px 10px;font:inherit;font-size:14px;background:#fff;color:var(--ink);min-width:190px}
.chips2{display:flex;flex-wrap:wrap;gap:6px}
.chips2 button{border:1px solid var(--line2);background:#fff;border-radius:999px;padding:7px 13px;font:inherit;font-size:13.5px;font-weight:600;color:var(--ink);cursor:pointer}
.chips2 button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.istage{grid-template-columns:minmax(0,1fr) clamp(320px,26vw,400px);margin-top:0}
.imapcard{padding:18px 20px}
.imap-h{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--soft)}
.imap{position:relative;margin-top:14px}
.iwires{position:absolute;inset:0;pointer-events:none;overflow:visible}
.iwires path{fill:none;stroke:#cfe0e3;stroke-width:1.6}.iwires path.off{stroke:#edf1f2}
.iroot{position:relative;z-index:1;width:max-content;margin:0 auto 34px;background:#16303c;color:#fff;border-radius:12px;padding:12px 26px;text-align:center}
.iroot b{display:block;font-size:15.5px}.iroot span{font-size:12.5px;color:#c6d4da}
.igrid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px}
.icl{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:opacity .15s}
.icl.out{opacity:.45}
.icl-h{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px}
.icl-h b{font-size:15px}.icl-h span{font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap}
.icl-0 .icl-h{background:#e3f3ee}.icl-1 .icl-h{background:#e6eef8}.icl-2 .icl-h{background:#eee9f8}
.icl-3 .icl-h{background:#faf0e1}.icl-4 .icl-h{background:#e9eff3}.icl-5 .icl-h{background:#f8e9ec}
.icl-b{display:grid;gap:6px;padding:10px}
.ipath{display:flex;flex-direction:column;gap:2px;text-align:left;width:100%;background:#fafbfb;border:1px solid var(--line);border-radius:9px;padding:8px 10px;font:inherit;color:var(--ink);cursor:pointer}
.ipath b{font-size:13.5px;font-weight:600;line-height:1.3}.ipath small{font-size:12px;color:var(--soft)}
.ipath:hover{border-color:#8fb7b1}.ipath.on{border:2px solid #1f6b66;background:#eef7f5;padding:7px 9px}
.ipath.out{opacity:.4}
.imap-note{font-size:12.5px;color:var(--soft);margin-top:14px}
.ieb{color:#1f6b66}
.iq-text{font-size:15.5px}
.ilist{padding-left:18px;display:grid;gap:4px;font-size:15px}
.irec{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding:8px 0;font-size:14px;color:var(--ink);text-decoration:none}
.irec:hover b{color:var(--link)}
.iex{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.iex span{font-size:12.5px;border:1px dashed var(--line2);border-radius:999px;padding:3px 10px;color:var(--muted)}
.isrc{display:block;border-top:1px solid var(--line);padding:8px 0;font-size:14px;font-weight:600;color:var(--link);text-decoration:none}
.isrc span{display:block;font-size:12px;font-weight:400;color:var(--soft)}
.icase{margin-top:26px;background:linear-gradient(120deg,#eef7f5,#f9fbfb);border:1px solid #d3e6e2;border-radius:16px;padding:24px 26px}
.icase .kicker{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#1f6b66}
.icase h3{font-size:22px;font-weight:700;letter-spacing:-.015em;margin:6px 0}
.icase>p{font-size:15px;color:var(--muted);margin:8px 0}.icase>p b{color:var(--ink)}
.ichips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.ichips span,.ichips button{font:inherit;font-size:13px;border:1px solid var(--line2);background:#fff;border-radius:999px;padding:4px 11px;color:var(--ink)}
.ichips button{cursor:pointer;font-weight:700}
.icase-g{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}
.icase-g div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.icase-g b{font-size:15px}.icase-g p{font-size:14px;color:var(--muted);margin-top:4px}
.icase-s{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:10px;font-size:13px}
.icase-s a{color:var(--link)}.icase-s small{color:var(--soft)}
#jview .mapcard{padding:14px 18px 18px}
.jpanel{display:none;position:fixed;right:22px;top:22px;width:min(400px,calc(100vw - 44px));max-height:calc(100vh - 44px);z-index:30;box-shadow:0 24px 60px #14232d33}
.jpanel.open{display:block}
.jpath{display:block;width:100%;text-align:left;border:1px solid #d3e6e2;background:#eef7f5;border-radius:8px;padding:6px 8px;margin-bottom:6px;font:inherit;font-size:12.5px;color:var(--ink);cursor:pointer;line-height:1.3}
.jpath b{color:#1f6b66}.jpath:hover{border-color:#1f6b66}
@media(max-width:1180px){.istage{grid-template-columns:1fr}.iq{grid-template-columns:1fr}}
@media(max-width:760px){.igrid,.icase-g{grid-template-columns:1fr}.ihero{flex-direction:column;align-items:flex-start}}

/* ---------- Shared page components (all non-map pages) ---------- */
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:99;background:var(--amber);color:#000;padding:8px 12px}
a.brand{text-decoration:none;display:block}
.pub-link{display:inline-block;margin-top:8px;color:#fff;font-weight:600}
.pub-link.on{color:var(--amber)}
.menu-btn{display:none}
.ph{margin-bottom:22px}
.ph .crumb{font-size:13.5px;color:var(--soft);margin-bottom:10px}
.ph .crumb a{color:var(--link);text-decoration:none}.ph .crumb a:hover{text-decoration:underline}
.ph .kicker{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--amber-ink)}
.ph h1{font-weight:700;letter-spacing:-.025em;font-size:clamp(28px,2.8vw,40px);line-height:1.1;margin:6px 0 10px}
.ph p.lede{color:var(--muted);font-size:17px;max-width:68ch}
.ph .pills{margin-top:12px}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 24px}
.card+.card{margin-top:16px}
.card h2,.sec-h{font-size:20px;font-weight:700;letter-spacing:-.015em;margin-bottom:6px}
.sec-h{margin-top:30px}
.sec-sub{color:var(--muted);font-size:15px;margin-bottom:14px}
.cols{display:grid;grid-template-columns:minmax(0,1fr) clamp(300px,26vw,380px);gap:18px;align-items:start}
@media(max-width:1100px){.cols{grid-template-columns:1fr}}
.note2{border-left:3px solid var(--amber);background:var(--amber-bg);border-radius:0 10px 10px 0;padding:12px 16px;font-size:15px;color:var(--ink);margin:14px 0;max-width:80ch}
.evp{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;border-radius:999px;padding:3px 10px;background:#eef2f3;color:var(--muted);white-space:nowrap}
.evp::before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor}
.evp-independently_tested{background:#e1f3ea;color:#1f7a4f}.evp-documented_live{background:#e4f2ec;color:#2f7a5f}
.evp-vendor_documented{background:#e8eef5;color:#41607e}.evp-demonstrated{background:#f6eedb;color:#8a5a12}
.evp-specification{background:#eee9f8;color:#5d4590}.evp-design_participation{background:#f3eaf5;color:#7a4f86}
.evp-candidate{background:#f1f2f2;color:#6c7a85}.evp-analysis{background:#e9f0f3;color:#4b6a78}
.kind{display:inline-flex;font-size:12.5px;font-weight:600;border-radius:999px;padding:3px 10px;background:#f1f4f5;color:var(--muted)}
.rec-list{display:grid;gap:8px}
.rec{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.rec a.n{font-size:16.5px;font-weight:700;color:var(--ink);text-decoration:none}.rec a.n:hover{color:var(--link)}
.rec .m{font-size:13px;color:var(--soft);margin-top:2px}
.rec p{font-size:14.5px;color:var(--muted);margin-top:6px}
.rec .pills{justify-content:flex-end}
@media(max-width:640px){.rec{grid-template-columns:1fr}.rec .pills{justify-content:flex-start}}
.rel{border-top:1px solid var(--line);padding:12px 0}
.rel:first-child{border-top:0}
.rel .l1{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline}
.rel .l1 a{font-weight:700;color:var(--ink);text-decoration:none}.rel .l1 a:hover{color:var(--link)}
.rel .r{font-size:14px;color:var(--muted)}
.rel p{font-size:14px;color:var(--muted);margin-top:4px}
.rel .s{font-size:13px;font-weight:600;color:var(--link);text-decoration:none}
.kv2{display:grid;grid-template-columns:120px 1fr;gap:8px 14px;font-size:14.5px}
.kv2 dt{color:var(--soft);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding-top:2px}
.kv2 dd{min-width:0;overflow-wrap:anywhere}
.kv2 a{color:var(--link)}
.btn2{display:inline-block;background:var(--ink);color:#fff;border-radius:10px;padding:10px 16px;font-weight:600;font-size:14.5px;text-decoration:none;border:0;cursor:pointer;font-family:inherit}
.btn2.ghost{background:#fff;color:var(--ink);border:1px solid var(--line2)}
.chipgrid{display:flex;flex-wrap:wrap;gap:8px}
.chipgrid a,.chipgrid span{font-size:14px;border:1px solid var(--line2);background:#fff;border-radius:999px;padding:6px 13px;color:var(--ink);text-decoration:none}
.chipgrid a:hover{border-color:var(--ink)}.chipgrid a.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.chipgrid small{color:var(--soft)}
.tbl{width:100%;border-collapse:collapse;font-size:14.5px;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.tbl th{text-align:left;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--soft);background:#f7f9f9;padding:11px 14px;border-bottom:1px solid var(--line)}
.tbl td{padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl tr:last-child td{border-bottom:0}
.tblwrap{overflow-x:auto;border-radius:12px}
.form2{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:12px;align-items:end}
.form2 label span{display:block;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--soft);margin-bottom:6px}
.form2 input[type=search],.form2 select{width:100%;border:1px solid var(--line2);border-radius:9px;padding:9px 11px;font:inherit;font-size:14.5px;background:#fff;color:var(--ink)}
.form2 .chk{grid-column:1/-1;display:flex;gap:8px;align-items:center;font-size:14.5px;color:var(--muted)}
@media(max-width:1000px){.form2{grid-template-columns:1fr 1fr}}
.pager2{display:flex;gap:10px;align-items:center;margin-top:18px;font-size:14px;color:var(--soft)}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media(max-width:1000px){.grid3,.grid2{grid-template-columns:1fr}}
.tile{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px}
.tile h3{font-size:17px;font-weight:700;margin-bottom:6px}
.tile p{font-size:14.5px;color:var(--muted)}
.tile .top{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-bottom:6px}
.tile .small{font-size:12.5px;color:var(--soft)}
a.tile{display:block;text-decoration:none;color:var(--ink)}a.tile:hover{border-color:#9fb3bd}
.list-plain{padding-left:18px;display:grid;gap:5px;font-size:15px}
@media(max-width:820px){.menu-btn{display:block;border:1px solid #ffffff33;background:none;color:#fff;border-radius:8px;padding:7px 12px;font:inherit;font-weight:600}
  .side nav{display:none}.side nav.open{display:grid}}
.mlink{border-top:1px solid var(--line)}.mlink button{border-top:0 !important}.msrc{display:inline-block;font-size:12.5px;font-weight:600;color:var(--link);text-decoration:none;margin:-2px 0 8px}
.evmore{margin-top:8px}.evmore summary{cursor:pointer;font-size:13.5px;font-weight:600;color:var(--link)}.evmore[open] summary{margin-bottom:4px}

/* contribution forms and the editor area */
.ktabs{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 18px}
.ktabs a{border:1px solid var(--line2);background:#fff;border-radius:999px;padding:7px 14px;font-size:14px;font-weight:600;color:var(--ink);text-decoration:none}
.ktabs a[aria-current]{background:var(--ink);color:#fff;border-color:var(--ink)}
.sform{max-width:760px}
.sform fieldset{border:1px solid var(--line);margin-bottom:16px}
.sform legend{font-family:Fraunces,serif;font-size:20px;font-weight:500;padding:0 6px;margin-left:-6px}
.sform h2{font-family:Fraunces,serif;font-size:20px;font-weight:500;margin-bottom:10px}
.fld{margin:14px 0}
.fld>label{display:block;font-weight:600;font-size:14.5px;margin-bottom:5px}
.fld .req{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--soft);margin-left:6px}
.fld input,.fld select,.fld textarea{width:100%;font:inherit;font-size:15px;color:var(--ink);background:#fff;border:1px solid var(--line2);border-radius:8px;padding:9px 11px}
.fld textarea{resize:vertical;line-height:1.5}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:2px solid var(--link);outline-offset:1px;border-color:var(--link)}
.hint{font-size:13.5px;color:var(--muted);margin:-2px 0 6px}
.fld.bad input,.fld.bad select,.fld.bad textarea{border-color:#b3261e}
.ferr{color:#b3261e;font-size:13.5px;margin-top:5px}
.ferr-box{background:#fdecea;border:1px solid #f1b8b3;color:#7a1712;border-radius:10px;padding:12px 14px;margin-bottom:16px;max-width:760px}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.chk{display:flex;gap:9px;align-items:flex-start;font-size:14.5px;margin:10px 0;cursor:pointer}
.chk input{margin-top:4px;flex:none}
.chk.bad{color:#b3261e}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.meas{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}
.meas h3{font-size:16px;margin-bottom:4px}
.flag{display:inline-block;background:var(--amber-bg);color:var(--amber-ink);border-radius:6px;padding:2px 8px;font-size:12.5px;font-weight:600}
.st{display:inline-block;border-radius:6px;padding:2px 8px;font-size:12.5px;font-weight:600;background:#eef2f4;color:var(--muted)}
.st-new{background:#e6f0f8;color:#1d5a86}.st-needs_evidence{background:var(--amber-bg);color:var(--amber-ink)}
.st-accepted,.st-published{background:#e3f3ec;color:#1f6b45}.st-declined,.st-spam{background:#f6e6e5;color:#8a2a22}
.edbar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 14px;font-size:14px;margin-bottom:14px}
.edbar form{margin-left:auto}
.edbar button{font:inherit;font-size:14px;background:none;border:1px solid var(--line2);border-radius:8px;padding:5px 11px;cursor:pointer}
.pre{white-space:pre-wrap}
.draft-json{background:#f7f9f9;border:1px solid var(--line);border-radius:8px;padding:12px;font-size:12.5px;overflow:auto;max-height:360px;white-space:pre-wrap}
.hist{list-style:none;display:grid;gap:10px;font-size:14px}
.hist li{border-top:1px solid var(--line);padding-top:8px}
.tbl-wrap{overflow-x:auto}
@media (max-width:700px){.row2{grid-template-columns:1fr}}
.fld>label.chk{display:flex;font-weight:500;margin:8px 0}
.fld input[type=radio],.fld input[type=checkbox],.chk input{width:auto;padding:0}
.icl-6 .icl-h{background:#e8f4f6}.icl-7 .icl-h{background:#f3eee4}
.icases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.icase.icase-c{margin:0}.icase-c h3{font-size:18px}
@media(max-width:900px){.icases{grid-template-columns:1fr}}
.ifilters label{max-width:100%;min-width:0}.ifilters select{max-width:100%}
/* industries master page */
.indgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:18px;margin-top:8px}
.indcard{display:flex;flex-direction:column;gap:14px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:0 0 20px;text-decoration:none;color:var(--ink);overflow:hidden;transition:border-color .15s,box-shadow .15s}
a.indcard:hover{border-color:var(--ink);box-shadow:0 6px 22px #14232d14}
.indtop{background:linear-gradient(120deg,#16303c,#1f4d5a);color:#fff;padding:20px 22px 18px}
.indtag{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#8fd8c9}
.indtop h2{font-size:22px;font-weight:700;letter-spacing:-.01em;margin-top:6px}
.indhead{font-family:Fraunces,serif;font-size:16px;color:#dce6ea;margin-top:2px}
.indcard>p{padding:0 22px;color:var(--muted);font-size:15px}
.indnums{display:flex;flex-wrap:wrap;gap:8px 22px;padding:0 22px}
.indnums b{display:block;font-size:22px;font-weight:700}.indnums span{font-size:12.5px;color:var(--soft)}
.indgo{margin-top:auto;padding:0 22px;font-weight:600;color:var(--link)}
.indcard.soon{background:#f7f9f9;padding:20px 22px;border-style:dashed}
.indcard.soon .indtag{color:var(--soft)}.indcard.soon h2{font-size:19px}.indcard.soon p{padding:0}
@media(max-width:560px){.indgrid{grid-template-columns:1fr}}
.indnums{display:grid;grid-template-columns:repeat(4,auto);justify-content:start;gap:4px 22px}
.indnums span{white-space:nowrap}
.indcard.soon{align-self:start}
@media(max-width:560px){.indnums{grid-template-columns:repeat(2,auto)}}
.agentcard{border-left:4px solid #6b4f9a}.agh{font-size:15px;margin:14px 0 6px}

/* journey page v2 (12 Oct 2026): needs · lose · measure · AIVO Meridian · levers */
.jgrid.jgrid2{grid-template-columns:150px repeat(6,minmax(0,1fr))}
.jside em{display:block;font-style:normal;text-transform:none;letter-spacing:0;font-weight:500;color:var(--muted);font-size:12px;margin-top:3px}
.js-need{color:#1f6b66}.js-lose{color:#8a2a22}.js-aivo{color:var(--amber-ink);margin-top:26px}
.jneed{background:#eef6f4;border:1px solid #d3e6e2;font-size:13px;line-height:1.45}
.jlose{background:#fbf0ef;border:1px solid #f1d6d3;font-size:13px;line-height:1.45}
.jmeas{background:#fff;border:1px solid var(--line);font-size:13px;line-height:1.4}
.jmeas b{display:block;font-size:13px}.jmeas span{color:var(--soft)}
.jmeas.win{border:2px solid var(--amber);background:var(--amber-bg)}
.jmeas.none,.jaivo.none{color:var(--soft);background:#fafafa;border:1px dashed var(--line2)}
.jaivo.none{margin-top:26px;font-size:13px;align-self:start}
.jaivo-w{position:relative;margin-top:26px}
.jaivo-w::before{content:"";position:absolute;left:50%;top:-30px;height:30px;border-left:2px solid var(--amber)}
.jaivo-w::after{content:"";position:absolute;left:calc(50% - 4px);top:-34px;width:10px;height:10px;border-radius:50%;background:var(--amber);border:2px solid #fff}
.jaivo{background:linear-gradient(160deg,#fbf3e3,#fff8ec);border:1.5px solid var(--amber);font-size:13px;line-height:1.45;height:100%}
.jaivo b{display:block;margin-bottom:2px;font-size:13.5px}
.jterm{display:block;margin-top:6px;font-size:12.5px;font-weight:600;color:var(--link)}
.jtag{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border-radius:5px;padding:2px 6px;margin:0 4px 6px 0}
.jt-m{background:#16303c;color:#fff}.jt-f{background:var(--amber);color:#16303c}
.jlegend{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;font-size:12.5px;color:var(--muted);margin:-4px 0 12px}
.jlegend .jtag{margin-bottom:0}
.jlevers{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:6px}
.jlever{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font:inherit;cursor:pointer;color:var(--ink)}
.jlever:hover,.jlever.on{border-color:var(--ink)}.jlever.win{border:2px solid var(--amber)}
.jlever>b{font-size:14.5px;line-height:1.25}.jlever small{font-size:12px;color:var(--soft)}
.jlever .jverdict{padding:0;background:none;border:0;margin-top:4px}.jlever .jlt{font-size:13px;color:var(--muted)}
.jcta{margin-top:18px;display:grid;grid-template-columns:1.6fr 1fr;gap:12px;background:linear-gradient(120deg,#16303c,#1f4d5a);border-radius:16px;padding:20px 22px;color:#fff}
.jcta h3{font-size:20px;color:#fff}.jcta p{color:#dce6ea;font-size:14px;margin-top:6px}
.jcta-o{background:#ffffff12;border:1px solid #ffffff24;border-radius:12px;padding:14px}
.jcta-o b{display:block;font-size:15px}.jcta-o span{display:block;font-size:13.5px;color:#dce6ea;margin:4px 0 10px}
.jcta-o a{display:inline-block;background:var(--amber);color:#16303c;font-weight:700;border-radius:9px;padding:8px 13px;text-decoration:none;font-size:14px}
.jcta-o a.alt{background:#fff}
.jdisc-note{font-size:12.5px;color:var(--soft);margin-top:10px}
@media(max-width:1100px){.jcta{grid-template-columns:1fr}}
/* AIVO measurement band on the master map (mock-up) */
.k-measure rect.box{fill:#fbf3e3;stroke:var(--amber);stroke-width:1.6}.k-measure .dot{fill:var(--amber)}
.k-measure text.c{fill:var(--amber-ink);font-weight:700}
.edge.meas{stroke:var(--amber);stroke-dasharray:6 3;stroke-width:1.4;opacity:.75}
.mhead-m{fill:var(--amber-ink)}
.ln.ln-m{border-top:2px dashed var(--amber)!important;background:none!important}
