/* GOV RADAR public site — black & white, map keeps its colours */
@font-face{font-family:"WMM Nexon";font-weight:300;font-display:swap;src:local("NEXON Lv1 Gothic Light"),local("NEXONLv1Gothic-Light"),local("NEXON Lv1 Gothic OTF Light"),url("/assets/fonts/NEXONLv1GothicOTFLight.woff") format("woff"),url("https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_20-04@2.1/NEXON Lv1 Gothic OTF Light.woff") format("woff")}
@font-face{font-family:"WMM Nexon";font-weight:400;font-display:swap;src:local("NEXON Lv1 Gothic"),local("NEXONLv1Gothic"),local("NEXON Lv1 Gothic OTF"),url("/assets/fonts/NEXONLv1GothicOTF.woff") format("woff"),url("https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_20-04@2.1/NEXON Lv1 Gothic OTF.woff") format("woff")}
@font-face{font-family:"WMM Nexon";font-weight:700;font-display:swap;src:local("NEXON Lv1 Gothic Bold"),local("NEXONLv1Gothic-Bold"),local("NEXON Lv1 Gothic OTF Bold"),url("/assets/fonts/NEXONLv1GothicOTFBold.woff") format("woff"),url("https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_20-04@2.1/NEXON Lv1 Gothic OTF Bold.woff") format("woff")}
:root{--bg:#F5F5F2;--panel:#fff;--panel2:#EDEDEA;--ink:#0B0B0B;--muted:#5C5C5A;--line:#D7D7D3;
 --m-sea:#E7EEEC;--m-land:#C9D3D0;--m-done:#2F8A71;--m-hover:#E0A33A;--m-sel:#2C5BD6;--m-high:#C2412D;--m-mid:#E0A33A;--m-low:#7FB7A4;
 --f:"WMM Nexon","NEXON Lv1 Gothic OTF","Apple SD Gothic Neo","Malgun Gothic","Noto Sans",system-ui,sans-serif;color-scheme:light}
@media (prefers-color-scheme:dark){:root{--bg:#0A0A0A;--panel:#141414;--panel2:#1A1A1A;--ink:#F2F2EF;--muted:#9A9A96;--line:#2B2B2A;--m-sea:#121C1B;--m-land:#34443F;--m-done:#3FA88A;--m-sel:#7EA2F5;color-scheme:dark}}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg) url(/assets/paper.jpg);background-size:960px auto;color:var(--ink);font:400 15px/1.65 var(--f)}
@media (prefers-color-scheme:dark){body{background-image:none}}
a{color:inherit}img{max-width:100%}
.in{max-width:1200px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
.note{color:var(--muted);font-size:13px}
.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--ink);background:var(--panel);color:var(--ink);border-radius:8px;padding:10px 16px;font:700 14px var(--f);cursor:pointer;text-decoration:none}
.btn.pri{background:var(--ink);color:var(--bg)}.btn.sm{padding:6px 12px;font-size:13px}.btn.xs{padding:2px 8px;font-size:11px;font-weight:400}
.btn.ghost{background:transparent;color:inherit;border-color:currentColor}
:focus-visible{outline:2px solid var(--m-hover);outline-offset:2px}
.nav{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav .in{display:flex;align-items:center;gap:12px;height:60px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;letter-spacing:.18em;font-size:13px}
.brand img{border-radius:50%}
@media (prefers-color-scheme:dark){.brand img,.femb,.hemb{filter:invert(1)}}
.links{display:flex;gap:2px;margin-left:auto}.links a{text-decoration:none;color:var(--muted);font-size:14px;padding:6px 10px;border-radius:6px}.links a:hover{color:var(--ink);background:var(--panel2)}
@media (max-width:820px){.links{display:none}.langsel{margin-left:auto}}
.langsel{font:inherit;font-size:13px;padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:var(--panel);color:var(--ink)}
.hero{background:#0a0a0a url(/assets/spot.jpg) center top/cover;color:#F2F2EF;padding:64px 0 36px}
.hero .in{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center}
.hero .hemb{width:clamp(120px,22vw,260px);height:auto;filter:invert(1)!important;opacity:.92}
@media (max-width:760px){.hero .in{grid-template-columns:1fr}.hero .hemb{order:-1;width:110px}}
.eb{font-size:12px;letter-spacing:.18em;display:flex;align-items:center;gap:10px;margin:0}
.live{width:8px;height:8px;border-radius:50%;background:#F2F2EF;animation:pulse 2.2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(242,242,239,.6)}70%{box-shadow:0 0 0 10px transparent}100%{box-shadow:0 0 0 0 transparent}}
.hero h1{font-size:clamp(32px,6vw,72px);line-height:1.1;letter-spacing:-.02em;margin:14px 0 0;font-weight:700;text-wrap:balance;max-width:16ch}
.lede{font-weight:300;font-size:clamp(15px,1.8vw,18px);color:#B8B8B3;max-width:60ch}
.cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.hero .btn.pri{background:#F2F2EF;color:#0a0a0a;border-color:#F2F2EF}.hero .btn.ghost{color:#F2F2EF}
.kpis{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);margin-top:30px}
.kpis div{padding:14px 12px 12px 0;font-variant-numeric:tabular-nums}.kpis div+div{padding-left:14px;border-left:1px solid rgba(255,255,255,.18)}
.kpis b{display:block;font-size:clamp(24px,3.4vw,38px)}.kpis small{font-size:.5em;color:#A9A9A4}.kpis span{font-size:12px;color:#A9A9A4}
@media (max-width:620px){.kpis{grid-template-columns:repeat(2,1fr)}.kpis div:nth-child(3){border-left:0;padding-left:0}}
.band{padding:44px 0}.band.alt{background:var(--panel2);border-block:1px solid var(--line)}
.band h2,.band h1{font-size:clamp(22px,3.2vw,34px);margin:0 0 14px;text-wrap:balance}
.mapbox{background:var(--m-sea);border:1px solid var(--line);border-radius:12px;overflow:hidden}#wmap{height:clamp(260px,48vw,540px)}
.filters{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 10px}.filters input{flex:1 1 220px;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);font:inherit}
.chip{border:1px solid var(--line);background:var(--panel);color:var(--ink);font:inherit;font-size:13px;padding:6px 12px;border-radius:999px;cursor:pointer}.chip.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}
.flag{display:flex;align-items:center;gap:9px;padding:9px 10px;border:1px solid var(--line);background:var(--panel);border-radius:8px;text-decoration:none;min-width:0;font-size:14px}
.flag span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.flag .fi{flex:none;width:1.5em;line-height:1em;border-radius:2px}
.flag.done{border-left:3px solid var(--m-done)}.flag:hover{border-color:var(--ink)}
.rk{width:8px;height:8px;border-radius:50%;flex:none}.rk[data-l=high]{background:var(--m-high)}.rk[data-l=medium]{background:var(--m-mid)}
.board{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.opp{display:flex;flex-direction:column;gap:6px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px;text-decoration:none}.opp:hover{border-color:var(--ink)}
.opp .who{font-size:13px;color:var(--muted);display:flex;gap:6px;align-items:center}.opp b{font-size:16px;line-height:1.4}
.fit{font-style:normal;font-size:11px;font-weight:700;background:var(--ink);color:var(--bg);padding:1px 6px;border-radius:3px;margin-left:auto}
.evs{display:flex;flex-direction:column;gap:8px}.ev{display:grid;grid-template-columns:70px minmax(0,1fr);gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px;text-decoration:none}.ev .d{font-weight:700;font-variant-numeric:tabular-nums}
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}@media (max-width:820px){.plans{grid-template-columns:1fr}}
.plan{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:8px}.plan.mid{border:2px solid var(--ink)}
.tier{font-size:12px;letter-spacing:.16em}.price{font-size:24px}
/* country */
.chero{background:#0a0a0a url(/assets/spot.jpg) center top/cover;color:#F2F2EF;padding:36px 0 28px}
.crumb{font-size:13px;color:#A9A9A4;margin:0 0 14px}.crumb a{color:#F2F2EF}
.ct{display:flex;gap:18px;align-items:center}.fi.big{width:96px;line-height:64px;border-radius:6px;box-shadow:0 0 0 1px rgba(255,255,255,.25);flex:none}
.chero h1{margin:0;font-size:clamp(30px,5vw,56px);line-height:1.1}.alt{margin:4px 0 0;color:#A9A9A4}.meta{margin:14px 0 0;font-size:13px;color:#A9A9A4}
.lvl{display:inline-block;font-size:12px;font-weight:700;padding:1px 8px;border-radius:4px;border:1px solid currentColor}.lvl[data-l=high]{background:var(--m-high);color:#fff;border-color:var(--m-high)}.lvl[data-l=medium]{background:var(--m-mid);color:#2a1d05;border-color:var(--m-mid)}
.cgrid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;padding-top:28px;padding-bottom:48px}@media (max-width:900px){.cgrid{grid-template-columns:1fr}}
.summary{font-size:17px;padding:16px 18px;background:var(--panel);border-left:3px solid var(--ink);border-radius:6px;margin:0}
.sec{margin-top:28px}.sec h2{font-size:13px;letter-spacing:.12em;color:var(--muted);margin:0 0 10px;text-transform:uppercase}
.sec ul{padding-left:18px;margin:0;display:flex;flex-direction:column;gap:7px}
.folder{background:var(--panel);border:1px solid var(--line);border-radius:8px;margin-bottom:8px}.folder summary{cursor:pointer;padding:11px 12px;display:flex;gap:10px}.folder summary b{flex:1}.bd{font-size:12px;white-space:nowrap}
.fb{padding:0 12px 12px;font-size:14px}.kv{display:grid;grid-template-columns:80px 1fr;gap:8px;font-size:13px}.kv span:first-child{color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.card{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--ink);border-radius:8px;padding:12px 14px}.card h3{margin:0 0 4px;font-size:15px}.card p{margin:0 0 4px;font-size:13px}
.risk{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.risk div{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:10px;font-size:13px}.risk p{margin:4px 0 0;color:var(--muted)}@media (max-width:520px){.risk{grid-template-columns:1fr}}
.side{display:flex;flex-direction:column;gap:12px}.box{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:8px}
.box textarea{width:100%;font:inherit;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink)}
.mini{display:flex;flex-direction:column;gap:4px;font-size:14px}.mini a{text-decoration:none;display:flex;gap:8px;align-items:center}.mini .fi{width:1.4em;line-height:1em}
.box.gc{flex-direction:row;align-items:center;font-size:13px}
.member[disabled]{opacity:.6}
.feeds li{margin:6px 0}.code{white-space:pre-wrap;word-break:break-all;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px;font-size:12px}
footer{border-top:1px solid var(--line);padding:28px 0 40px;font-size:12px;color:var(--muted)}
footer .femb{border-radius:50%}.lic{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:14px;color:var(--ink);margin:10px 0}.lic a{font-weight:700;text-decoration:none}.lic .bar{width:1px;height:14px;background:var(--line)}
.corp{margin:4px 0}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:50;display:grid;place-items:center;padding:16px}.mbox{background:var(--panel);border-radius:14px;padding:24px;width:min(420px,100%);position:relative;display:flex;flex-direction:column;gap:10px}
.mbox form{display:flex;flex-direction:column;gap:8px}.mbox input{padding:10px;border:1px solid var(--line);border-radius:8px;font:inherit;background:var(--bg);color:var(--ink)}.x{position:absolute;right:12px;top:8px;border:0;background:none;font-size:22px;cursor:pointer;color:var(--ink)}
[hidden]{display:none!important}
[dir=rtl] .flag.done{border-left:1px solid var(--line);border-right:3px solid var(--m-done)}[dir=rtl] .summary{border-left:0;border-right:3px solid var(--ink)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important}}
/* logos */
.brand img{height:44px;width:auto;border-radius:0}
@media (prefers-color-scheme:dark){.brand img{filter:none}}
.hero .hlogo{width:clamp(140px,22vw,280px);height:auto;filter:drop-shadow(0 0 24px rgba(60,130,255,.25))}
@media (max-width:760px){.hero .hlogo{order:-1;width:120px}}
.byline{display:flex;align-items:center;gap:8px;margin-top:18px;font-size:12px;letter-spacing:.14em;color:#A9A9A4}.byline img{filter:invert(1)}
/* prep bar */
.prepbar{position:sticky;top:60px;z-index:19;background:#0b0b0b;color:#f2f2ef}
.prepbar .in{display:flex;align-items:center;gap:10px;min-height:38px;font-size:13px}
.prepbar b{white-space:nowrap}.pchips{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;flex:1;min-width:0}
.pchips button{font:inherit;font-size:12px;border:1px solid rgba(255,255,255,.35);background:transparent;color:#f2f2ef;border-radius:999px;padding:3px 10px;cursor:pointer;white-space:nowrap}
.pchips button.on{background:#f2f2ef;color:#0b0b0b}
.tick{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:38%;opacity:.85}@media (max-width:760px){.tick{display:none}}
.preppanel{background:var(--panel);border-bottom:1px solid var(--line)}.preppanel .in{padding-top:18px;padding-bottom:18px;display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:20px}
@media (max-width:760px){.preppanel .in{grid-template-columns:1fr}}
.pp ul{margin:0;padding-left:20px;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px 20px}.pp h3{margin:0 0 10px}
.src{padding-left:16px;font-size:13px}
/* earth */
.eyebrow{font-size:12px;letter-spacing:.16em;margin:0 0 6px;color:var(--muted)}
.earth{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.ecard{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px 16px;min-width:0}.ecard h3{margin:0 0 8px;font-size:15px}
.ecard ul{margin:0;padding-left:18px;font-size:13px;display:flex;flex-direction:column;gap:4px}
.scale{display:flex;gap:6px}.scale span{border:1px solid var(--line);border-radius:6px;padding:3px 8px;font-weight:700}.scale span.on{background:var(--ink);color:var(--bg)}
.dirw{margin-top:16px}.dirw summary{cursor:pointer;font-weight:700}.dir{margin-top:10px;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px 18px;font-size:13px}.dir .k{font-size:11px;color:var(--muted);margin-right:6px}
/* foresight */
.lock{border:1px dashed var(--ink);border-radius:12px;padding:18px;background:var(--panel);display:flex;flex-direction:column;gap:8px;margin:14px 0}
.lock b{font-size:17px}
.pl{margin-top:24px}
.fs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.fs-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px}.fs-card h3{margin:0 0 6px}.fs-card h4{margin:10px 0 4px;font-size:11px;letter-spacing:.1em;color:var(--muted)}.fs-card ul{margin:0;padding-left:18px;font-size:13px}
.fsr{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin-bottom:8px;font-size:14px}
h1,h2,h3,.lede{word-break:keep-all;overflow-wrap:anywhere}
.acct{max-width:720px}.acct form{display:flex;flex-direction:column;gap:12px}.acct label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:700}
.acct input:not([type=checkbox]){padding:10px;border:1px solid var(--line);border-radius:8px;font:inherit;font-weight:400;background:var(--panel);color:var(--ink)}
.acct .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.acct fieldset{border:1px solid var(--line);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px}
.chks{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px}.acct .chk{flex-direction:row;align-items:center;gap:8px;font-weight:400;font-size:14px}
.sites{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 8px}
.sites a{display:flex;flex-direction:column;gap:2px;min-width:220px;padding:12px 16px;border:1px solid var(--ink);border-radius:10px;background:var(--panel);color:var(--ink);text-decoration:none}
.sites a:hover{background:var(--ink);color:var(--bg)}.sites b{font-size:12px;letter-spacing:.12em}.sites span{font-size:16px;font-weight:700}
/* autonomous & special regions */
.regbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px;margin:0 0 14px}.regbar>span{color:var(--mute,#666);margin-right:4px}
.regbar .chip{text-decoration:none}
.rgrid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.rgrid .flag span{white-space:normal;overflow:visible;text-overflow:clip;display:flex;flex-direction:column;line-height:1.25}.rgrid .flag small{font-size:11px;opacity:.65;font-weight:300}
/* stockpile page */
.prepbar .pkit{white-space:nowrap;font-size:12px;font-weight:700;color:#0a0a0a;background:#f2f2ef;border-radius:999px;padding:3px 10px;text-decoration:none}
.stock{padding-bottom:48px}.stock h2{margin:34px 0 12px}.stock .card h3{display:flex;justify-content:space-between;gap:8px;align-items:center}
.st-pri{font-size:11px;font-weight:700;border-radius:4px;padding:1px 6px;white-space:nowrap}.st-pri.must{background:#0a0a0a;color:#f2f2ef}.st-pri.rec{border:1px solid #ccc}.st-pri.if{border:1px dashed #999}
.qt{width:100%;border-collapse:collapse;max-width:640px}.qt td{padding:8px 4px;border-bottom:1px solid var(--line,#ddd)}.qt td:last-child{text-align:right}

/* WMM official type rule — Korean always NEXON Lv1 Gothic: titles/emphasis Bold 700, body Regular 400, captions Light 300 */
html,body,button,input,select,textarea{font-family:"WMM Nexon","NEXON Lv1 Gothic","Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif}
body,p,li,td,input,select,textarea{font-weight:400}
h1,h2,h3,h4,h5,h6,b,strong,th,.btn,summary,.chip.on,.kpis b{font-weight:700}
small,figcaption,caption,.note,.meta,.crumb,.alt,.lede,.eb,.kpis span,.byline,.corp,.rgrid .flag small,.cards .card .note{font-weight:300}

/* footer logos: WMM + GCSME KOREA */
.flogos{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;margin-bottom:6px}
.flogo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.flogo img{width:52px;height:52px;display:block}.flogo img.gc{border-radius:10px}
.flogo span{display:flex;flex-direction:column;line-height:1.3}.flogo b{font-weight:700;font-size:14px}.flogo small{font-weight:300;font-size:11px;letter-spacing:.08em;color:var(--muted)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .flogo img.wmm{filter:invert(1)}}
:root[data-theme="dark"] .flogo img.wmm{filter:invert(1)}

.fband{background:#0a0a0a;display:flex;justify-content:center;align-items:center;padding:40px 16px 44px}
.fband img{width:150px;height:150px;display:block}
@media (max-width:600px){.fband img{width:120px;height:120px}}

/* ---------- 2026-10-31: header, per-language type, sign-in ---------- */
html[lang=en] body,html[lang=es] body,html[lang=fr] body,html[lang=id] body,html[lang=en] :is(button,input,select,textarea),html[lang=es] :is(button,input,select,textarea),html[lang=fr] :is(button,input,select,textarea),html[lang=id] :is(button,input,select,textarea){font-family:"Plus Jakarta Sans","WMM Nexon",system-ui,sans-serif}
html[lang=vi] body,html[lang=vi] :is(button,input,select,textarea){font-family:"Be Vietnam Pro","WMM Nexon",system-ui,sans-serif}
html[lang=ar] body,html[lang=ar] :is(button,input,select,textarea){font-family:"IBM Plex Sans Arabic","WMM Nexon",system-ui,sans-serif}
html[lang=ar] h1,html[lang=ar] h2{letter-spacing:0}
html:is([lang=en],[lang=es],[lang=fr],[lang=id],[lang=vi]) h1{letter-spacing:-.025em;font-weight:800}
.nav .in{gap:14px}
.brand{flex:0 0 auto;min-width:0}
.brand img{height:40px!important;width:120px!important;max-width:none;object-fit:contain;flex:0 0 auto;aspect-ratio:3/1}
.links{flex:1 1 auto;justify-content:center;min-width:0;gap:0;margin-left:0}
.links a{white-space:nowrap;font-size:14px;padding:8px 11px;color:var(--muted)}
.navr{display:flex;align-items:center;gap:8px;flex:0 0 auto;margin-left:auto}
.links~.navr{margin-left:0}
.langw{position:relative;display:inline-flex;align-items:center}
.langw .lcode{display:none}
.langsel{max-width:132px}
#loginbtn{white-space:nowrap;min-width:max-content}
#loginbtn.on{background:var(--ink);color:var(--bg)}
.burger{display:none;width:40px;height:40px;border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:10px 9px;flex-direction:column;justify-content:space-between;cursor:pointer}
.burger span{display:block;height:2px;background:var(--ink);border-radius:2px}
@media (max-width:1080px){.links a{padding:8px 7px;font-size:13.5px}}
@media (max-width:920px){
  .links{display:none;position:fixed;top:60px;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--bg);border-bottom:1px solid var(--line);padding:8px 16px 16px;box-shadow:0 18px 30px rgba(0,0,0,.18)}
  .links.open{display:flex}.links a{font-size:16px;padding:13px 6px;border-bottom:1px solid var(--line);border-radius:0;color:var(--ink)}
  .burger{display:flex}
  .langw .lcode{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--line);border-radius:8px;font-size:12.5px;font-weight:700;letter-spacing:.04em;background:var(--panel);pointer-events:none}
  .langw .langsel{position:absolute;inset:0;opacity:0;width:40px;max-width:none}
}
@media (max-width:380px){.brand img{width:96px!important;height:32px!important}#loginbtn{padding:7px 9px;font-size:12.5px}}
.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:11px 18px;border-radius:10px;z-index:90;font-size:14px;max-width:min(92vw,520px);text-align:center;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.mbox form{display:flex;flex-direction:column;gap:10px}.mbox label{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--muted)}
.mbox label.chk{flex-direction:row;align-items:flex-start;gap:8px;color:var(--ink)}
.mbox input,.mbox select{font:inherit;font-size:15px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink)}
.gbtn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin:6px 0 10px;background:#fff;color:#1f1f1f;border:1px solid #dadce0}

/* ---------- hot-zone radar mini maps ---------- */
.hotmap{--cx:50%;--cy:50%;position:relative;overflow:hidden;border-radius:14px;background:radial-gradient(120% 90% at var(--cx) var(--cy),#14202a 0%,#0a0f14 60%,#06090c 100%);border:1px solid #1f2a33;aspect-ratio:16/10;min-height:120px;isolation:isolate}
.hotmap .hm-map{position:absolute;inset:0;z-index:1}
.hotmap .hm-map svg{width:100%!important;height:100%!important}
.hotmap .hm-sweep{position:absolute;z-index:2;left:var(--cx);top:var(--cy);width:260%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;
  background:conic-gradient(from 0deg,rgba(80,255,190,.0) 0deg,rgba(80,255,190,.0) 300deg,rgba(80,255,190,.38) 350deg,rgba(170,255,225,.85) 360deg);
  -webkit-mask:radial-gradient(circle,#000 0 40%,transparent 41%);mask:radial-gradient(circle,#000 0 40%,transparent 41%);animation:hmspin 4.2s linear infinite;mix-blend-mode:screen}
.hotmap .hm-rings{position:absolute;z-index:2;inset:0;pointer-events:none;background:repeating-radial-gradient(circle at var(--cx) var(--cy),transparent 0 38px,rgba(120,255,200,.18) 39px 40px);}
.hotmap::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(transparent 49.6%,rgba(120,255,200,.10) 50%,transparent 50.4%),linear-gradient(90deg,transparent 49.6%,rgba(120,255,200,.10) 50%,transparent 50.4%);background-position:calc(var(--cx) - 50%) calc(var(--cy) - 50%)}
.hotmap .hm-wave{fill:none;stroke:#ff6a48;stroke-width:2.2;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center;animation:hmw 2.4s ease-out infinite;opacity:0}
.hotmap.nomap .hm-rings::before{content:"";position:absolute;left:var(--cx);top:var(--cy);width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:#ff5a3c;box-shadow:0 0 0 0 rgba(255,90,60,.6);animation:hmdot 2s ease-out infinite}
.hotmap .jvm-tooltip{display:none!important}
@keyframes hmspin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes hmw{0%{transform:scale(1);opacity:.95}100%{transform:scale(8);opacity:0}}
@keyframes hmdot{to{box-shadow:0 0 0 36px rgba(255,90,60,0)}}
/* the radar motion is the point of these maps: keep it (slower) even when the OS turns animations off */
@media (prefers-reduced-motion:reduce){.hotmap .hm-sweep{animation:hmspin 8s linear infinite!important}.hotmap .hm-wave{animation:hmw 4s ease-out infinite!important}.hotmap.nomap .hm-rings::before{animation:hmdot 3s ease-out infinite!important}}
.cf-h2{display:grid;grid-template-columns:1fr 230px;gap:14px;align-items:start}
.cf-h2 .hotmap{width:230px}
@media (max-width:560px){.cf-h2{grid-template-columns:1fr 140px}.cf-h2 .hotmap{width:140px}}
.cfhero{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:center}
@media (max-width:820px){.cfhero{grid-template-columns:1fr}}
.cfhero .hotmap{aspect-ratio:16/9}
.lv{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.05em;padding:2px 8px;border-radius:99px;color:#fff;background:#667085;vertical-align:3px}
.lv.war{background:#b42318}.lv.tension{background:#c4320a}.lv.watch{background:#b54708}

/* ---------- new pages ---------- */
.chero.img-cons,.chero.img-proj,.chero.img-cf{background-size:cover;background-position:center;color:#f4f1ea}
.chero.img-cons{background-image:linear-gradient(90deg,rgba(6,8,12,.92),rgba(6,8,12,.55)),url(/assets/img-consortium.webp)}
.chero.img-proj{background-image:linear-gradient(90deg,rgba(6,8,12,.92),rgba(6,8,12,.55)),url(/assets/img-projects.webp)}
.chero.img-cf{background-image:linear-gradient(90deg,rgba(6,8,12,.94),rgba(6,8,12,.6)),url(/assets/img-conflict.webp)}
.chero.img-cons a,.chero.img-proj a,.chero.img-cf a{color:inherit}
.chero .lede{max-width:760px;font-size:17px;line-height:1.7;opacity:.92}
.cards.c4{grid-template-columns:repeat(4,minmax(0,1fr))}.cards.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:980px){.cards.c4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.cards.c4,.cards.c2{grid-template-columns:1fr}}
.ptype .pt-ic{font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--muted)}
.steps4{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;counter-reset:s}
.steps4 li{border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--panel);counter-increment:s;display:flex;flex-direction:column;gap:6px}
.steps4 li::before{content:counter(s,decimal-leading-zero);font-size:22px;font-weight:700;color:var(--muted)}
@media (max-width:820px){.steps4{grid-template-columns:1fr 1fr}}
.mou li,.legal p{line-height:1.75}
.cform{display:flex;flex-direction:column;gap:12px;max-width:820px;border:1px solid var(--line);border-radius:14px;padding:18px;background:var(--panel)}
.cform label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.cform label.chk{flex-direction:row;align-items:flex-start;gap:8px;color:var(--ink);font-size:14px}
.cform input,.cform select,.cform textarea{font:inherit;font-size:15px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink)}
.cform .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width:640px){.cform .two{grid-template-columns:1fr}}
.callout{border:1px solid var(--line);border-left:4px solid #b54708;border-radius:10px;padding:12px 14px;background:var(--panel);margin:8px 0 18px;font-size:14px}
.coinfo{margin-top:24px;padding:14px;border-top:1px solid var(--line);font-size:13px;color:var(--muted);line-height:1.7}
.proj h4{margin:12px 0 4px;font-size:13px;color:var(--muted)}.proj .basis{padding-left:0;list-style:none;display:flex;flex-direction:column;gap:6px;font-size:14px}
.vb{display:inline-block;font-size:11px;font-weight:700;padding:1px 6px;border-radius:4px;margin-right:6px;border:1px solid;white-space:nowrap}
.contract{border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin:18px 0;background:var(--panel)}
.contract .ch{display:flex;justify-content:space-between;gap:12px;align-items:center}.contract h2{margin:0}.contract h4{margin:14px 0 4px}
.contract .party{font-size:14px;line-height:1.7;border-left:3px solid var(--line);padding-left:12px}
.contract .sign{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:18px;font-size:14px;border-top:1px dashed var(--line);padding-top:14px}
@media print{header.nav,.prepbar,footer,.fband,.cform,.chips,.btn{display:none!important}.contract{break-inside:avoid;border:0}}
.scen{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}@media (max-width:900px){.scen{grid-template-columns:1fr}}
.scen .card h3{display:flex;gap:8px;align-items:center}.scen .now{font-size:13px;border-top:1px dashed var(--line);padding-top:8px;margin-top:8px}
.hero-img{position:absolute;inset:0;z-index:0;background:url(/assets/img-hero.webp) center/cover no-repeat;opacity:.55;mix-blend-mode:screen;pointer-events:none}
.hotband{background:#06090c;color:#eef2f4;padding:44px 0}.hotband h2{color:#fff;margin:0 0 6px}.hotband .note{color:#9fb0ba}
.hotband .hgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:16px}
.hotband .hgrid a{color:#eef2f4;text-decoration:none;display:flex;flex-direction:column;gap:8px;font-size:14px}
@media (max-width:980px){.hotband .hgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.hero{position:relative;overflow:hidden}.hero>.in{position:relative;z-index:1}
.stock .scen .card h3,.stock .cf-h2 h3,.stock .proj h3,.stock .ptype h3{justify-content:flex-start;flex-wrap:wrap}.cf-h2 h3{font-size:17px}.card ul{padding-left:18px}.scen .card ul,.cf-h2+ul{font-size:14px}
.steps4.s6{grid-template-columns:repeat(3,1fr)}@media (max-width:820px){.steps4.s6{grid-template-columns:1fr}}.qt{width:100%;border-collapse:collapse}.qt td{border-bottom:1px solid var(--line);padding:10px 8px;font-size:14px;vertical-align:top}
.cform fieldset.chks{border:1px solid var(--line);border-radius:10px;padding:12px;margin:0}.cform fieldset.chks legend{font-weight:600;padding:0 6px}.cform fieldset.chks .chk{font-weight:400}
.prepbar .tick{display:none!important}
/* ---- conversion pages (v10) ---- */
.phero{position:relative;overflow:hidden;background:#0a0d12;color:#F4F3EE;padding:120px 0 96px;min-height:min(78vh,720px);display:flex;align-items:flex-end}
.phero.short{min-height:0;padding:96px 0 64px}
.phero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.42}
.phero .in{position:relative;width:100%}
.phero h1{font-size:clamp(34px,5.6vw,68px);line-height:1.08;margin:10px 0 18px;max-width:18ch;text-wrap:balance;letter-spacing:-.02em}
.phero .lede{max-width:62ch;font-size:clamp(16px,1.6vw,19px);line-height:1.65;color:#E4E2DC}
.phero .crumb a{color:#cfcdc6}.phero .btn.pri{background:#F4F3EE;color:#0a0a0a;border-color:#F4F3EE}.phero .btn.ghost{color:#F4F3EE}
.segband{padding:96px 0}
.seg{display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:center;margin:0 0 72px}
.seg.flip .segimg{order:2}
.segimg img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:6px;display:block;background:#1a1f26}
.segtx h3{font-size:clamp(22px,2.4vw,30px);line-height:1.25;margin:0 0 16px;text-wrap:balance}
.segtx ul{margin:0 0 18px;padding-left:1.1em;font-size:17px;line-height:1.75}
.segbiz{margin:0;font-size:16px;line-height:1.6}.segbiz span{display:block;font-size:13px;color:var(--muted);margin-bottom:2px}
@media (max-width:820px){.seg{grid-template-columns:1fr;gap:18px;margin-bottom:52px}.seg.flip .segimg{order:0}.segband{padding:56px 0}}
.sects{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin-top:18px}
.sect{position:relative;display:block;border-radius:6px;overflow:hidden;color:#fff;text-decoration:none;aspect-ratio:3/2;background:#1a1f26}
.sect img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.sect:hover img{transform:scale(1.04)}
.sect>span{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;background:rgba(6,9,13,.72)}
.sect b{display:block;font-size:17px}.sect small{font-size:13px;color:#d9d7d0}
.ways{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0 28px}
.ways a{display:block;padding:18px 0;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}
.ways a b{display:block;font-size:18px;margin-bottom:4px}.ways a span{color:var(--muted);font-size:15px}.ways a:hover b{text-decoration:underline}
.pcredit{font-size:12px;color:var(--muted);margin-top:28px}.pcredit a{color:inherit;margin:0 2px}
.offers{display:grid;gap:40px}
.offer{display:grid;grid-template-columns:minmax(0,.9fr) 1.1fr;gap:36px;align-items:center}
.offer img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:6px;display:block;background:#1a1f26}
.offer h3{font-size:clamp(22px,2.4vw,28px);margin:0 0 6px}.offer .price{font-weight:700;font-size:17px;margin:0 0 12px}
.offer p{font-size:16px;line-height:1.7}
@media (max-width:760px){.offer{grid-template-columns:1fr;gap:14px}}
.flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding-left:1.2em;margin:0;font-size:16px;line-height:1.6}
@media (max-width:760px){.flow{grid-template-columns:1fr;gap:10px}}
.ptable{width:100%;border-collapse:collapse;font-size:15px}.ptable th,.ptable td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.ptable th{white-space:nowrap}.ptable td:nth-child(2){white-space:nowrap}
@media (max-width:640px){.ptable,.ptable tbody,.ptable tr,.ptable th,.ptable td{display:block;border:0;padding:2px 0}.ptable tr{padding:12px 0;border-bottom:1px solid var(--line)}}
.in.narrow{max-width:820px}
.dl{list-style:none;margin:14px 0 0;padding:0}
.dl li{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:14px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--line)}
.dl .dd{font-weight:700;font-size:15px}.dl .dd i{display:block;font-style:normal;font-size:12px;color:var(--muted);font-weight:400}.dl .dd.soon i{color:#b3261e;font-weight:700}
.dl .tt a{font-size:13px;color:var(--muted);text-decoration:none;display:block}.dl .tt b{display:block;font-size:16px;line-height:1.45}.dl .tt small{color:var(--muted)}
.dl .src{font-size:13px;white-space:nowrap}
@media (max-width:560px){.dl li{grid-template-columns:72px minmax(0,1fr)}.dl .src{grid-column:2}}
.dlf{margin-top:10px}
.nextbox{background:#0f141b;color:#F2F1EC;border-radius:8px;padding:24px;margin:18px 0 28px}
.nextbox h2{font-size:20px;margin:0 0 12px;color:inherit}
.nextbox ul{list-style:none;margin:0 0 16px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.nextbox li a{color:inherit;text-decoration:none;display:block}.nextbox li small{display:block;color:#b9b7b0;font-size:13px;margin-bottom:4px}.nextbox li b{font-size:15px;line-height:1.45}
.nextbox .btn{border-color:#F2F1EC}.nextbox .btn.pri{background:#F2F1EC;color:#0a0a0a}.nextbox .btn:not(.pri){background:transparent;color:#F2F1EC}
@media (max-width:760px){.nextbox ul{grid-template-columns:1fr}}
.ordband{background:#0f141b;color:#F2F1EC}.ordband .lede{max-width:64ch;color:#dcdad3;font-size:17px;line-height:1.7}
.ordband .btn.pri{background:#F2F1EC;color:#0a0a0a;border-color:#F2F1EC}.ordband .btn:not(.pri){background:transparent;color:#F2F1EC;border-color:#F2F1EC}.ordband .pcredit{color:#9d9b95}
.band.alt{color:var(--ink)}
.ntc{padding:22px 0;border-bottom:1px solid var(--line)}.ntc h3{font-size:clamp(19px,2vw,23px);margin:6px 0 8px;line-height:1.35}.ntc h3 a{color:inherit}.ntc p{margin:0;font-size:16px;line-height:1.7;max-width:75ch}
.ntc .nmeta{font-size:13px;color:var(--muted)}.nst{display:inline-block;font-weight:700;color:#fff;background:#1d6b3a;border-radius:3px;padding:1px 7px;margin-right:4px}.nst.progress{background:#1f4f8a}.nst.closed{background:#777}
.ntcs .ntc:last-child{border-bottom:0}
.flogo img.gclub{width:76px;height:52px;object-fit:cover;border-radius:8px;background:#000}
.indp{font-size:17px;line-height:1.75;margin:0 0 14px}.segtx .note{margin:0 0 4px}
.promise{font-size:17px;line-height:1.9;padding-left:1.1em;margin:0 0 12px}
.lockbox{border:1px dashed var(--ink);border-radius:8px;padding:14px 16px;margin:12px 0;background:var(--panel)}.lockbox.sm{padding:10px 12px}.lockbox b{display:block;margin-bottom:4px}
.card.locked{opacity:.85;border-left-style:dashed}
.ways3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.ways3 .way b{font-size:18px}.ways3 .way p{font-size:16px;line-height:1.65}@media(max-width:760px){.ways3{grid-template-columns:1fr}}
/* tiers */
.tierbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 0;padding:12px 16px;border-radius:8px;background:var(--ink);color:#fff;text-decoration:none;font-size:15px}
.tierbar b{color:#ffd27a}.tierbar .go{font-weight:700;white-space:nowrap}.tierbar:hover{opacity:.92}
.dl li.lk{opacity:.92}.dl li.lk .dd{font-size:12px;color:var(--muted);font-weight:600}
.dl li.lk a.tt{text-decoration:none;color:inherit}.dl li.lk .cn{font-size:13px;color:var(--muted);display:block}.dl li.lk small{color:#8a5a00}
.sec li.lk a{text-decoration:none;color:inherit}.sec li.lk a:hover b{text-decoration:underline}
a.card.locked{display:block;text-decoration:none;color:inherit;cursor:pointer}a.card.locked:hover{border-color:var(--ink)}
.opp.lk .note{color:#8a5a00}
.tscroll{overflow-x:auto;margin-top:14px}.tiers{border-collapse:collapse;min-width:720px;width:100%;font-size:14px;background:#fff}
.tiers th,.tiers td{border-bottom:1px solid var(--line);padding:10px 8px;text-align:center;vertical-align:middle}.tiers tbody th{text-align:left;font-weight:500}
.tiers thead th{font-size:15px}.tiers thead th small{display:block;font-weight:400;color:var(--muted);font-size:12px}
.tiers [data-t="m1"]{background:#fff8e6}.tiers .hit{background:#ffe9b0!important;font-weight:700}
.needban{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:16px;border:2px solid var(--ink);border-radius:10px;margin-bottom:18px;background:#fff8e6}
.needban .p{font-size:20px;font-weight:800}
#tier,#order,#tenders,#biz{scroll-margin-top:80px}
.tierbar i.lp{font-style:normal}
.offer .itier{display:block;margin-top:6px;padding:6px 10px;border-left:3px solid var(--ink);background:#f6f4ee;font-size:14px}.offer .itier b{display:inline-block;min-width:72px}
form label{max-width:100%;min-width:0}form select,form input,form textarea{max-width:100%;box-sizing:border-box}
.tiers small.vat{color:#8a5a00;font-size:11px}
.hsteps{list-style:none;padding:0;margin:0;display:grid;gap:12px}.hstep{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px}
.hstep .n{flex:0 0 34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}.hstep p{margin:4px 0 0;color:var(--muted)}
details.faq{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px 16px;margin:8px 0}details.faq summary{cursor:pointer;font-weight:600}
.hgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.hgrid .card{word-break:keep-all}.hgrid .card ul{padding-left:18px;margin:8px 0 0}
.hstep,.faq{word-break:keep-all}
/* animated radar logo (home hero) — sweep centred on the logo ring: 49.5% / 37.1%, Ø 63.8% */
.hero .hradar{position:relative;display:block;width:clamp(200px,27vw,340px);aspect-ratio:640/709;justify-self:center;text-decoration:none}
.hero .hradar img{position:relative;z-index:2;width:100%;height:auto;display:block;filter:drop-shadow(0 0 30px rgba(70,150,255,.4))}
.hero .hsw,.hero .hp{position:absolute;left:49.5%;top:37.1%;width:63.8%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none}
.hero .hsw{z-index:3;will-change:transform;-webkit-animation:hspin 4s linear infinite;background:conic-gradient(from 0deg,rgba(111,182,255,0) 0deg,rgba(111,182,255,0) 290deg,rgba(111,182,255,.2) 330deg,rgba(160,215,255,.8) 359deg,rgba(111,182,255,0) 360deg);mix-blend-mode:screen;animation:hspin 4s linear infinite}
.hero .hp{z-index:1;border:2px solid rgba(111,182,255,.55);animation:hpulse 4s ease-out infinite}.hero .hp.p2{animation-delay:2s}
.hero .hbl{position:absolute;z-index:4;width:9px;height:9px;margin:-4px 0 0 -4px;border-radius:50%;background:#cfe9ff;box-shadow:0 0 12px 4px rgba(111,182,255,.9);opacity:0;animation:hblip 4s infinite}
.hero .hbl.b1{left:34%;top:24%;animation-delay:.55s}.hero .hbl.b2{left:41%;top:47%;animation-delay:1.3s}.hero .hbl.b3{left:66%;top:44%;animation-delay:2.4s}.hero .hbl.b4{left:58%;top:18%;animation-delay:3.3s}
.hero .htg{position:absolute;z-index:5;font-size:11px;font-weight:700;color:#e3f2ff;background:rgba(7,9,13,.75);border:1px solid rgba(111,182,255,.55);padding:3px 8px;border-radius:999px;white-space:nowrap;opacity:0;animation:hblip 4s infinite}
.hero .htg.t1{left:-14%;top:14%;animation-delay:.6s}.hero .htg.t2{left:-20%;top:50%;animation-delay:1.35s}.hero .htg.t3{right:-10%;top:48%;animation-delay:2.45s}.hero .htg.t4{right:-6%;top:6%;animation-delay:3.35s}
@keyframes hspin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes hpulse{0%{transform:translate(-50%,-50%) scale(.35);opacity:.9}100%{transform:translate(-50%,-50%) scale(1.25);opacity:0}}
@keyframes hblip{0%,100%{opacity:0}8%{opacity:1}40%{opacity:.15}}
@media (prefers-reduced-motion:reduce){.hero .hsw{animation:hspin 6s linear infinite!important}.hero .hp{animation:hpulse 6s ease-out infinite!important}.hero .hp.p2{animation-delay:3s!important}.hero .hbl{animation:hblip 6s infinite!important}.hero .htg{display:none}}
@media (max-width:760px){.hero .hradar{order:-1;width:170px}.hero .htg{display:none}}
/* live situation board */
.liveboard h3{margin:26px 0 10px;font-size:18px}
.lb-asof{background:#f3f1ea;border-left:3px solid #111;padding:12px 14px;line-height:1.6;margin:10px 0}
.lb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.lb-card{border:1px solid #ddd9cf;border-radius:10px;padding:12px 14px;background:#fff}
.lb-card p{margin:0 0 6px}.lb-card ul{margin:6px 0 0;padding-left:18px;font-size:14px;line-height:1.55}
.lb-list{padding-left:0;list-style:none;font-size:14.5px;line-height:1.6}.lb-list li{padding:6px 0;border-bottom:1px solid #eee}
.lb-list .tag{display:inline-block;font-size:12px;font-weight:700;background:#111;color:#fff;border-radius:4px;padding:1px 6px;margin-right:4px}
.lb-chips{line-height:2.2}.lb-chip{display:inline-block;border:1px solid #c33;border-radius:999px;padding:2px 10px;margin:2px;font-size:14px}
.lb-chip a,.lb-card a,.lb-list a{text-decoration:none}
@media (max-width:600px){.lb-grid{grid-template-columns:1fr}}
/* animated hazard radar cards */
.lb-hzgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.lb-hz{border:1px solid #ddd9cf;border-radius:12px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.hz-vis{position:relative}
.hz-vis .hotmap{border-radius:0;border:0;aspect-ratio:16/10}
.hzmap.space{aspect-ratio:16/10;background:radial-gradient(120% 100% at 80% 80%,#0d1730 0%,#04060d 70%)}
.hzfx{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:hidden}
.hzfx svg{position:absolute;inset:0;width:100%;height:100%}
.hz-tag{position:absolute;z-index:5;left:10px;top:10px;font-size:12px;font-weight:700;color:#fff;background:rgba(0,0,0,.62);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:3px 9px}
.hz-txt{padding:10px 12px;font-size:14px;line-height:1.55}.hz-txt p{margin:0 0 4px}.hz-txt a{text-decoration:none}
/* flood: water rising, rain */
.hz-flood .fl-rise{animation:flrise 5s ease-in-out infinite}
.fl-w1{fill:rgba(60,150,255,.55);animation:flx 3s linear infinite}.fl-w2{fill:rgba(30,110,230,.6);animation:flx 2.2s linear infinite reverse}
@keyframes flx{to{transform:translateX(80px)}}@keyframes flrise{0%,100%{transform:translateY(18px)}50%{transform:translateY(-8px)}}
.rain line{stroke:rgba(170,210,255,.75);stroke-width:1.2;animation:rain .7s linear infinite}.rain.heavy line{stroke-width:1.4}
@keyframes rain{from{transform:translate(0,-10px)}to{transform:translate(-14px,110px)}}
/* typhoon: spinning spiral */
.hz-storm svg{width:70%;left:15%}
.ty-spin{transform-origin:0 0;animation:tyspin 2.4s linear infinite}
.ty-spin path{fill:rgba(235,245,255,.82);stroke:none}.ty-spin .ty-arm{fill:none;stroke:rgba(235,245,255,.55);stroke-width:5;stroke-linecap:round}
.ty-eye{fill:#0a0f14;stroke:rgba(255,255,255,.7);stroke-width:1}
@keyframes tyspin{to{transform:rotate(-360deg)}}
/* tsunami: big wave sweeping in */
.ts-move{animation:tsmove 4s cubic-bezier(.4,0,.6,1) infinite}
.ts-body{fill:rgba(40,130,230,.78)}.ts-foam{fill:none;stroke:#eaf6ff;stroke-width:3;stroke-linecap:round}
@keyframes tsmove{0%{transform:translateX(-40px) scaleY(.6);opacity:0}15%{opacity:1}70%{transform:translateX(150px) scaleY(1.15);opacity:1}100%{transform:translateX(190px) scaleY(1);opacity:0}}
/* earthquake: shaking map, seismograph, shock rings */
.hz-quake .hotmap .hm-map{animation:qkshake .5s steps(2) infinite}
.qk-line{fill:none;stroke:#ffb347;stroke-width:1.6;vector-effect:non-scaling-stroke;stroke-dasharray:300;animation:qkdraw 2.2s linear infinite}
@keyframes qkdraw{from{stroke-dashoffset:300}to{stroke-dashoffset:0}}
@keyframes qkshake{0%{transform:translate(1.5px,-1px)}50%{transform:translate(-1.5px,1px)}100%{transform:translate(1px,1.5px)}}
.qk-r{position:absolute;left:50%;top:50%;width:30px;height:30px;margin:-15px 0 0 -15px;border:2px solid rgba(255,120,70,.9);border-radius:50%;animation:qkring 2.4s ease-out infinite}
.qk-r.r2{animation-delay:.8s}.qk-r.r3{animation-delay:1.6s}
@keyframes qkring{from{transform:scale(.3);opacity:1}to{transform:scale(6);opacity:0}}
/* wildfire: flickering flames and embers */
.fi-f{fill:url(#none);fill:rgba(255,120,30,.9);transform-box:fill-box;transform-origin:50% 100%;animation:fiflick .6s ease-in-out infinite alternate}
.fi-f:nth-child(2n){fill:rgba(255,200,60,.9)}
@keyframes fiflick{from{transform:scaleY(.8) skewX(-4deg)}to{transform:scaleY(1.18) skewX(5deg)}}
.fi-e{fill:#ffcc66;animation:fiember 2.4s linear infinite}
@keyframes fiember{from{transform:translateY(0);opacity:1}to{transform:translateY(-60px) translateX(8px);opacity:0}}
/* volcano: eruption, lava bombs, smoke */
.vo-m{fill:#3d2b22;stroke:#1b120d}.vo-lava{fill:#ff5a1f;animation:volava 1.2s ease-in-out infinite alternate}
@keyframes volava{from{opacity:.7}to{opacity:1;filter:drop-shadow(0 0 4px #ff7a2f)}}
.vo-p{fill:#ff8c2a;animation:vobomb 1.6s ease-out infinite}
@keyframes vobomb{0%{transform:translate(0,0);opacity:1}60%{transform:translate(var(--dx),-38px)}100%{transform:translate(calc(var(--dx)*1.5),-10px);opacity:0}}
.vo-smoke{fill:rgba(200,200,200,.45);transform-box:fill-box;transform-origin:30% 100%;animation:vosmoke 3.5s ease-in-out infinite}
@keyframes vosmoke{0%{transform:scale(.6) translateY(10px);opacity:0}40%{opacity:.8}100%{transform:scale(1.3) translateY(-14px);opacity:0}}
/* outbreak: pulsing virus particles */
.hz-epidemic svg{width:60%;left:20%}
.vi-g circle{fill:rgba(140,230,120,.35);stroke:#9ef08a;stroke-width:1.4}.vi-g line{stroke:#9ef08a;stroke-width:1.4;stroke-linecap:round}
.vi-g{animation:vipulse 2.2s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes vipulse{0%,100%{opacity:.55}50%{opacity:1}}
/* asteroid / comet: streak with tail toward Earth */
.st{fill:#fff;animation:twinkle 2.4s ease-in-out infinite}@keyframes twinkle{50%{opacity:.25}}
.co-move{animation:comove 4.5s linear infinite}
.co-head{fill:#fff;filter:drop-shadow(0 0 5px #9fd0ff)}.co-tail{fill:url(#none);fill:rgba(160,210,255,.55)}
@keyframes comove{from{transform:translate(-20px,-10px)}to{transform:translate(190px,60px)}}
.earth{fill:#2a6fd6;stroke:#9fd0ff;stroke-width:1.2;filter:drop-shadow(0 0 6px rgba(80,160,255,.7))}
/* keep these moving even when the phone asks for reduced motion (slower) */
@media (prefers-reduced-motion:reduce){.ty-spin{animation:tyspin 5s linear infinite!important}.ts-move{animation:tsmove 7s linear infinite!important}.fl-rise{animation:flrise 8s ease-in-out infinite!important}.fi-f{animation:fiflick 1.2s ease-in-out infinite alternate!important}.vo-p{animation:vobomb 3s ease-out infinite!important}.co-move{animation:comove 8s linear infinite!important}.qk-r{animation:qkring 4s ease-out infinite!important}.rain line{animation:rain 1.4s linear infinite!important}.vi-g{animation:vipulse 4s ease-in-out infinite!important}.hz-quake .hotmap .hm-map{animation:none!important}}
@media (max-width:600px){.lb-hzgrid{grid-template-columns:1fr}}
/* access tiers */
.accs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:14px}
.acc{border:1px solid #ddd9cf;border-radius:14px;padding:18px;background:#fff;display:flex;flex-direction:column}
.acc-h{font-weight:700;margin:0 0 2px}.acc-p{font-size:22px;font-weight:800;margin:0 0 10px}
.acc ul{padding-left:18px;margin:0 0 14px;line-height:1.6;font-size:14.5px;flex:1}
.acc .cta{margin:0}
.acc-member{border:2px solid #111}.acc-open .acc-p{color:#2c6e3f}
@media (max-width:960px){.accs{grid-template-columns:1fr 1fr}}@media (max-width:560px){.accs{grid-template-columns:1fr}}
/* grouped footer */
.fcols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:22px 0 10px;text-align:left}
.fcols h4{margin:0 0 8px;font-size:13px;letter-spacing:.06em;opacity:.7}
.fcols a{display:block;padding:3px 0;font-size:14px;text-decoration:none}
@media (max-width:760px){.fcols{grid-template-columns:1fr 1fr}}
/* free sign-up gate */
.sgate{position:relative}
html:not(.signed-in) .sgate{max-height:230px;overflow:hidden}
html:not(.signed-in) .sgate::after{content:"";position:absolute;left:0;right:0;bottom:0;height:200px;background:linear-gradient(transparent,var(--bg) 70%);pointer-events:none}
.sgate-box{position:absolute;z-index:2;left:0;right:0;bottom:0;text-align:center;padding:14px}
.sgate-box p{margin:6px 0}
