/* Red Sector Security — concept site v2 ("Console"). Brand v3: Deep Navy / Navy / Ember / Ember Light / Sky. */
@font-face{font-family:'Saira';src:url(../fonts/Saira-400-800.woff2) format('woff2');font-weight:400 800;font-stretch:100% 125%;font-display:swap}
@font-face{font-family:'Inter';src:url(../fonts/Inter-400-700.woff2) format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url(../fonts/IBMPlexMono-500.woff2) format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url(../fonts/IBMPlexMono-600.woff2) format('woff2');font-weight:600;font-display:swap}
:root{
 --deep:#0D1B31; --navy:#03354C; --panel:#0B2440; --panel2:#0F2B47;
 --ember:#D45640; --ember-l:#FF6B6B; --crimson:#BD0000; --sky:#F5F8FF; --white:#fff;
 --text:#fff; --muted:#A9B8CC; --dim:#8FA3BC; --ph:#F2C46D;
 --line:rgba(255,255,255,.12); --line2:rgba(255,255,255,.22); --corner:rgba(255,255,255,.75);
 --rail:288px; --display:'Saira',system-ui,sans-serif; --body:'Inter',system-ui,sans-serif; --mono:'IBM Plex Mono',ui-monospace,monospace;
 --wide:110%;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
body{margin:0;background:var(--deep);color:var(--text);font:400 17px/1.65 var(--body);-webkit-font-smoothing:antialiased}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:90;background:repeating-linear-gradient(0deg,rgba(255,255,255,.022) 0 1px,transparent 1px 3px)}
img,svg{max-width:100%;display:block}
a{color:#fff;text-decoration-color:rgba(255,255,255,.4);text-underline-offset:3px}
a:hover{text-decoration-color:var(--ember-l)}
:focus-visible{outline:2px solid var(--ember-l);outline-offset:3px}
h1,h2,h3,h4{font-family:var(--display);font-stretch:var(--wide);font-weight:700;line-height:1.08;margin:0 0 .5em;letter-spacing:-.005em}
h1{font-size:clamp(2.2rem,4.4vw,3.6rem)}
h2{font-size:clamp(1.75rem,2.9vw,2.5rem)}
h3{font-size:1.25rem;font-weight:650;line-height:1.2}
p{margin:0 0 1em}
.em{color:var(--ember)}
.lead{font-size:1.15rem;color:#D5DEEA;max-width:62ch}
.muted{color:var(--muted)}
.label{font:600 .78rem/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ember-l);margin:0 0 14px}
.label.dim{color:var(--muted)}
.code{font:500 .8rem/1 var(--mono);letter-spacing:.1em;color:var(--muted)}
.ph{display:inline-block;font:600 .7rem/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ph);border:1px dashed rgba(242,196,109,.6);padding:2px 6px;border-radius:2px;vertical-align:middle;white-space:nowrap}
.ph::before{content:"[ "}.ph::after{content:" ]"}
.hint{font-size:.88rem;color:var(--muted)}
.skip{position:absolute;left:-9999px;top:8px;z-index:200;background:#fff;color:var(--deep);padding:10px 14px;font-weight:700}
.skip:focus{left:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- Side rail ---------- */
.rail{position:fixed;inset:0 0 0 auto;width:var(--rail);background:#0A1628;border-left:1px solid var(--line);display:flex;flex-direction:column;z-index:60}
.rail-top{padding:22px 24px 16px;border-bottom:1px solid var(--line)}
.rail-logo img{width:196px;height:auto;margin-left:-6px}
.cmd{margin-top:14px;width:100%;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.04);border:1px solid var(--line2);color:var(--muted);font:500 .82rem var(--mono);padding:9px 10px;cursor:pointer;text-align:left;border-radius:2px}
.cmd:hover{border-color:rgba(255,255,255,.45);color:#fff}
.cmd kbd{margin-left:auto;font:600 .72rem var(--mono);border:1px solid var(--line2);padding:1px 6px;border-radius:2px;color:#D5DEEA}
.rail-nav{flex:1;overflow-y:auto;padding:14px 12px 10px;scrollbar-width:thin;scrollbar-color:#2a3d58 transparent}
.rail-nav h2{font:600 .7rem var(--mono);letter-spacing:.16em;color:var(--dim);margin:12px 12px 4px;text-transform:uppercase}
.rail-nav ul{list-style:none;margin:0;padding:0}
.rail-nav a{display:flex;align-items:baseline;gap:10px;padding:4px 12px;text-decoration:none;color:#D5DEEA;font:500 .95rem/1.25 var(--display);font-stretch:105%;border-left:2px solid transparent}
.rail-nav a .code{font-size:.72rem;min-width:40px;color:var(--dim)}
.rail-nav a:hover{color:#fff;background:rgba(255,255,255,.04)}
.rail-nav a[aria-current]{color:#fff;background:linear-gradient(90deg,rgba(212,86,64,.16),transparent 80%);border-left-color:var(--ember)}
.rail-nav a[aria-current] .code{color:var(--ember-l)}
.rail-foot{padding:14px 24px 22px;border-top:1px solid var(--line)}
.readout{font:500 .72rem/1.7 var(--mono);color:var(--muted);letter-spacing:.06em;margin:0 0 12px}
.readout b{color:#fff;font-weight:600}
.btn-incident{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;background:var(--ember);color:var(--deep);font:700 1.19rem/1 var(--display);font-stretch:var(--wide);text-decoration:none;padding:14px 12px;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%);letter-spacing:.01em}
.btn-incident:hover{background:#E0644E}
.btn-incident svg{width:18px;height:18px}

/* ---------- Frame / top bar ---------- */
.frame{margin-right:var(--rail);min-height:100vh;display:flex;flex-direction:column}
.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:20px;height:60px;padding:0 40px;background:rgba(13,27,49,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.path{font:500 .82rem var(--mono);color:var(--muted);letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.path a{color:var(--muted);text-decoration:none}.path a:hover{color:#fff}
.path b{color:#fff;font-weight:600}
.topbar .sp{flex:1}
.endorse{display:inline-flex;align-items:center;gap:8px;font:500 .8rem var(--body);color:var(--muted);text-decoration:none;white-space:nowrap}
.endorse img{width:15px;height:auto}
.endorse:hover{color:#fff}
.tel{font:600 .85rem var(--mono);color:#fff;text-decoration:none;white-space:nowrap}
.menu-btn,.m-logo,.rail-close{display:none}
main{flex:1}
.wrap{max-width:1180px;margin:0 auto;padding:0 48px}
section{padding:88px 0;position:relative}
section+section{border-top:1px solid var(--line)}

/* ---------- Buttons ---------- */
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.btn{display:inline-flex;align-items:center;gap:10px;font:650 1rem/1 var(--display);font-stretch:var(--wide);letter-spacing:.02em;text-decoration:none;padding:15px 22px;border:1px solid transparent;cursor:pointer;border-radius:0;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%)}
.btn-primary{background:#fff;color:var(--deep)}
.btn-primary:hover{background:#DCE6F5}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.45);clip-path:none}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.arrow{font-family:var(--mono)}

/* ---------- HUD panel ---------- */
.hud{position:relative;border:1px solid var(--line);background:rgba(11,36,64,.55)}
.hud::before{content:"";position:absolute;inset:-1px;pointer-events:none;--c:var(--corner);background:
 linear-gradient(var(--c),var(--c)) top left/14px 2px no-repeat,linear-gradient(var(--c),var(--c)) top left/2px 14px no-repeat,
 linear-gradient(var(--c),var(--c)) top right/14px 2px no-repeat,linear-gradient(var(--c),var(--c)) top right/2px 14px no-repeat,
 linear-gradient(var(--c),var(--c)) bottom left/14px 2px no-repeat,linear-gradient(var(--c),var(--c)) bottom left/2px 14px no-repeat,
 linear-gradient(var(--c),var(--c)) bottom right/14px 2px no-repeat,linear-gradient(var(--c),var(--c)) bottom right/2px 14px no-repeat}
.hud-head{display:flex;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--line);font:600 .72rem var(--mono);letter-spacing:.14em;color:var(--muted);text-transform:uppercase}
.hud-body{padding:24px}
.grid{display:grid;gap:20px}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}
.tile{padding:26px}
.tile h3{margin-top:10px}
.tile p:last-child{margin-bottom:0}
.tile .icon{width:30px;height:30px;color:#fff;margin-bottom:14px}
.tile .icon svg{width:30px;height:30px;stroke-width:1.75}

/* ---------- Hero ---------- */
.hero{padding:64px 0 72px;overflow:hidden;border-bottom:1px solid var(--line)}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 55%);mask-image:linear-gradient(90deg,transparent 0,#000 55%);pointer-events:none}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:center;position:relative}
.hero h1{font-size:clamp(2.6rem,5.4vw,4.75rem);line-height:1.0;font-stretch:115%;letter-spacing:-.01em}
.hero h1 span{display:block}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0 0;padding:0;list-style:none}
.chips li{font:500 .74rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#D5DEEA;border:1px solid var(--line2);padding:6px 10px}
.scope{background:rgba(10,22,40,.8)}
.scope svg.radar{width:100%;height:auto;padding:18px 18px 6px}
.sweep{transform-origin:200px 200px;animation:sweepin 2.2s cubic-bezier(.2,.7,.2,1) .3s both}
.trail{opacity:0;transform-origin:200px 200px;animation:trail 2.2s ease-out .3s both}
@keyframes sweepin{from{transform:rotate(-300deg)}to{transform:rotate(0)}}
@keyframes trail{0%{opacity:0;transform:rotate(-300deg)}30%{opacity:.9}100%{opacity:0;transform:rotate(0)}}
.radar text{font:500 9.5px var(--mono);letter-spacing:.12em;fill:#A9B8CC}
.kv{margin:0;padding:6px 20px 18px;font:500 .78rem/1.5 var(--mono)}
.kv div{display:grid;grid-template-columns:120px 1fr;gap:10px;padding:7px 0;border-top:1px dashed var(--line)}
.kv dt{color:var(--muted);letter-spacing:.1em;text-transform:uppercase}
.kv dd{margin:0;color:#fff}

/* ---------- Incident strip ---------- */
.istrip{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;padding:22px 26px;border-left:3px solid var(--ember)}
.istrip p{margin:0;color:#D5DEEA}
.istrip .label{margin:0}

/* ---------- Module index ---------- */
.shead{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:end;margin-bottom:40px}
.shead.solo{grid-template-columns:1fr;max-width:760px}
.shead p.lead{margin:0}
.modules{list-style:none;margin:0;padding:0;border-top:1px solid var(--line2)}
.modules li{border-bottom:1px solid var(--line)}
.modules a{display:grid;grid-template-columns:90px 44px minmax(0,1.05fr) minmax(0,1.3fr) 36px;gap:24px;align-items:center;padding:22px 18px;text-decoration:none;color:#fff;position:relative;transition:background .2s}
.modules a::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ember);transform:scaleY(0);transition:transform .2s}
.modules a:hover,.modules a:focus-visible{background:rgba(3,53,76,.45)}
.modules a:hover::before,.modules a:focus-visible::before{transform:scaleY(1)}
.modules .code{font-size:.85rem}
.modules a:hover .code{color:var(--ember-l)}
.modules .icon svg{width:28px;height:28px;stroke-width:1.75}
.modules h3{margin:0;font-size:1.3rem}
.modules p{margin:0;color:var(--muted);font-size:.98rem}
.modules .go{font:600 1.1rem var(--mono);color:var(--muted);justify-self:end;transition:transform .2s}
.modules a:hover .go{transform:translateX(4px);color:#fff}
.modules li.start a{background:rgba(255,255,255,.03)}
.modules li.start .code{color:var(--ember-l)}

/* ---------- Split / lists ---------- */
.split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px;align-items:start}
.split.even{grid-template-columns:1fr 1fr}
.marks{list-style:none;margin:0;padding:0}
.marks li{position:relative;padding:12px 0 12px 32px;border-top:1px solid var(--line)}
.marks li:first-child{border-top:0}
.marks li::before{content:"";position:absolute;left:2px;top:19px;width:14px;height:14px;background:conic-gradient(from 0deg at 0 100%,var(--muted) 0 60deg,transparent 60deg);clip-path:polygon(0 100%,0 0,100% 0,100% 100%)}
.marks.lit li::before{background:conic-gradient(from 0deg at 0 100%,#fff 0 60deg,transparent 60deg)}
.spec{counter-reset:s;list-style:none;margin:0;padding:0;border-top:1px solid var(--line2)}
.spec li{counter-increment:s;display:grid;grid-template-columns:56px 1fr;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}
.spec li::before{content:counter(s,decimal-leading-zero);font:500 .82rem/1.9 var(--mono);color:var(--dim)}
.term{font-family:var(--body)}
.term .hud-head span:first-child::before{content:"";display:inline-block;width:8px;height:8px;border:1px solid var(--muted);margin-right:10px;vertical-align:0}
.term ul{list-style:none;margin:0;padding:0}
.term li{padding:9px 0;border-top:1px dashed var(--line);display:flex;gap:14px}
.term li:first-child{border-top:0}
.term li::before{content:">";font:600 .9rem/1.7 var(--mono);color:var(--muted)}

/* ---------- Pipeline ---------- */
.pipe{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:p;position:relative}
.pipe li{counter-increment:p;padding:0 26px 0 0;position:relative}
.pipe li::before{content:"// 0" counter(p);display:block;font:600 .8rem var(--mono);color:var(--muted);letter-spacing:.12em;margin-bottom:16px}
.pipe .node{display:block;height:14px;margin-bottom:22px;position:relative}
.pipe .node::before{content:"";position:absolute;left:0;top:6px;right:0;height:1px;background:var(--line2)}
.pipe .node::after{content:"";position:absolute;left:0;top:2px;width:10px;height:10px;background:#fff}
.pipe li:last-child .node::before{right:auto;width:60%;background:linear-gradient(90deg,var(--line2),transparent)}
.pipe h3{font-size:1.35rem}
.pipe p{color:var(--muted);margin:0}

/* ---------- Placeholder slots ---------- */
.slots{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.slot{border:1px dashed rgba(255,255,255,.28);padding:22px;color:var(--muted);font-size:.92rem;min-height:120px}
.slot strong{display:block;color:#fff;font-family:var(--display);font-stretch:var(--wide);margin:10px 0 4px}
.slots.s4{grid-template-columns:repeat(4,1fr);margin-top:16px}
.slots.s6{grid-template-columns:repeat(6,1fr);margin-top:16px}
.slots.s6 .slot{min-height:84px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.big{font:700 2.2rem/1 var(--display);color:#fff;display:block;margin-bottom:8px}

/* ---------- Sister + CTA ---------- */
.sister{display:grid;grid-template-columns:220px 1fr auto;gap:32px;align-items:center;padding:28px 32px}
.sister img{width:200px;height:auto}
.sister h3{margin-bottom:6px}.sister p{margin:0;color:var(--muted)}
.cta{overflow:hidden;padding:96px 0}
.cta .bg{position:absolute;right:-140px;top:-160px;width:620px;height:620px;pointer-events:none;opacity:1}
.cta .glow{position:absolute;right:-60px;top:-80px;width:520px;height:520px;background:radial-gradient(closest-side,rgba(212,86,64,.28),transparent);pointer-events:none}
.cta .wrap{position:relative}
.cta h2{font-size:clamp(2rem,4vw,3.4rem);font-stretch:115%;max-width:16ch}

/* ---------- Page header ---------- */
.phead{padding:56px 0 64px;overflow:hidden;border-bottom:1px solid var(--line)}
.phead::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:linear-gradient(90deg,transparent 30%,#000 100%);mask-image:linear-gradient(90deg,transparent 30%,#000 100%);pointer-events:none}
.phead .wrap{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:48px;align-items:end;position:relative}
.phead .wrap.solo{grid-template-columns:1fr}
.phead h1{font-stretch:115%}
.meta .kv{padding:6px 20px 14px}
.meta .kv div:first-child{border-top:0}
.segs{display:flex;gap:4px;padding:18px 20px 4px}
.segs i{flex:1;height:8px;border:1px solid var(--line2)}
.segs i.on{background:var(--ember);border-color:var(--ember)}
.big-ico{padding:24px 20px 6px}
.big-ico svg{width:64px;height:64px;stroke-width:1.25}

/* ---------- FAQ ---------- */
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:20px 40px 20px 0;font:600 1.12rem/1.35 var(--display);font-stretch:105%;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:16px;font:500 1.4rem var(--mono);color:var(--muted)}
.faq details[open] summary::after{content:"−";color:#fff}
.faq details p{color:#D5DEEA;margin:0 0 22px;max-width:70ch}

/* ---------- Do / Don't ---------- */
.dd h2{font-size:1.5rem}
.dd .hud-head.bad{color:var(--ember-l)}

/* ---------- Forms ---------- */
.form{padding:28px;display:grid;gap:18px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{display:block;font:600 .78rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#D5DEEA;margin-bottom:8px}
.req{color:var(--ember-l)}
input,select,textarea{width:100%;font:400 1rem var(--body);color:#fff;background:#0A1628;border:1px solid rgba(255,255,255,.3);padding:12px 14px;border-radius:0}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#A9B8CC 50%),linear-gradient(-45deg,transparent 50%,#A9B8CC 50%);background-position:calc(100% - 18px) 52%,calc(100% - 13px) 52%;background-size:5px 5px;background-repeat:no-repeat}
textarea{min-height:150px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--ember-l);outline-offset:0;border-color:transparent}
.clist{list-style:none;margin:0 0 24px;padding:0;border-top:1px solid var(--line2)}
.clist li{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.clist .k{font:600 .75rem/1.9 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

/* ---------- Footer ---------- */
.foot{border-top:1px solid var(--line2);background:#0A1628;padding:64px 0 28px}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.foot h2{font:600 .72rem var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin:0 0 14px}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{margin:0 0 8px}
.foot a{color:#D5DEEA;text-decoration:none;font-size:.95rem}
.foot a:hover{color:#fff;text-decoration:underline}
.flogo img{width:210px;height:auto;margin:-8px 0 14px -8px}
.foot p{color:var(--muted);font-size:.95rem;max-width:36ch}
.fendorse{display:flex;align-items:center;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);max-width:300px}
.fendorse img{width:30px;height:auto}
.fendorse span{font:500 .78rem/1.4 var(--mono);letter-spacing:.06em;color:#D5DEEA}
.legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:48px;padding-top:20px;border-top:1px solid var(--line);font:500 .74rem var(--mono);color:var(--dim);letter-spacing:.04em}
.legal p{margin:0;max-width:none}

/* ---------- Palette ---------- */
.palette{border:1px solid var(--line2);background:#0A1628;color:#fff;padding:0;width:min(640px,92vw);max-height:70vh}
.palette::backdrop{background:rgba(5,10,20,.7);backdrop-filter:blur(3px)}
.palette input{border:0;border-bottom:1px solid var(--line2);font:500 1.05rem var(--mono);padding:18px 20px;background:transparent}
.palette input:focus{outline:none}
.palette ul{list-style:none;margin:0;padding:8px;max-height:52vh;overflow:auto}
.palette a{display:flex;gap:14px;align-items:baseline;padding:10px 12px;text-decoration:none;font:500 1rem var(--display);font-stretch:105%}
.palette a .code{min-width:56px}
.palette a.sel,.palette a:hover{background:rgba(212,86,64,.16)}
.palette .phint{padding:10px 20px;border-top:1px solid var(--line);font:500 .72rem var(--mono);color:var(--dim)}

.fab{display:none}
.notfound{text-align:center;padding:140px 0}
.notfound .actions{justify-content:center}

/* ---------- Responsive ---------- */
@media (max-width:1180px){
 .hero .wrap{grid-template-columns:1fr}
 .scope{max-width:560px}
 .modules a{grid-template-columns:76px 36px 1fr 30px}
 .modules p{grid-column:3/4;grid-row:2}
 .modules .go{grid-row:1/3;grid-column:4}
}
@media (max-width:1023px){
 :root{--rail:0px}
 .rail{width:300px;transform:translateX(100%);transition:transform .25s;box-shadow:0 0 0 100vmax rgba(0,0,0,0)}
 .rail.open{transform:none;box-shadow:0 0 0 100vmax rgba(5,10,20,.6)}
 .topbar{padding:0 16px;gap:12px}
 .menu-btn{order:10;display:inline-flex;align-items:center;gap:8px;background:transparent;border:1px solid var(--line2);color:#fff;font:600 .78rem var(--mono);letter-spacing:.12em;padding:9px 12px;cursor:pointer}
 .rail-top{position:relative}
 .rail-close{display:inline-flex;gap:6px;align-items:center;position:absolute;top:12px;right:16px;background:transparent;border:1px solid var(--line2);color:#fff;font:600 .72rem var(--mono);letter-spacing:.12em;padding:6px 9px;cursor:pointer}
 .rail-top{padding-top:52px}
 .m-logo{display:block}.m-logo img{height:40px;width:auto;margin-left:-8px}
 .path,.endorse,.topbar .tel{display:none}
 .fab{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:70;width:auto}
 body{padding-bottom:76px}
 .shead,.split,.split.even,.phead .wrap{grid-template-columns:1fr;gap:28px}
 .g3,.slots{grid-template-columns:1fr 1fr}
 .slots.s6{grid-template-columns:repeat(3,1fr)}
 .fgrid{grid-template-columns:1fr 1fr}
 .pipe{grid-template-columns:1fr 1fr;row-gap:36px}
 .sister{grid-template-columns:1fr;gap:18px}
}
@media (max-width:640px){
 body{font-size:16px}
 .wrap{padding:0 20px}
 section{padding:60px 0}
 .hero{padding:40px 0 52px}
 .hero h1{font-size:2.55rem;font-stretch:108%}
 .g2,.g3,.slots,.slots.s4,.row{grid-template-columns:1fr}
 .slots.s6{grid-template-columns:1fr 1fr}
 .istrip{grid-template-columns:1fr;gap:12px}
 .modules a{grid-template-columns:1fr 24px;gap:6px 12px;padding:18px 8px}
 .modules .code{grid-column:1;grid-row:1}
 .modules .icon{display:none}
 .modules h3{grid-column:1;grid-row:2}
 .modules p{grid-column:1;grid-row:3}
 .modules .go{grid-column:2;grid-row:1/4}
 .pipe{grid-template-columns:1fr}
 .kv div{grid-template-columns:100px 1fr}
 .fgrid{grid-template-columns:1fr}
 .clist li{grid-template-columns:1fr;gap:2px}
 .cta .bg{width:420px;height:420px;right:-200px;top:-120px;opacity:.6}
 .btn{width:100%;justify-content:center}
 .topbar .btn{display:none}
}
.nav-open .fab{display:none}
.istrip.stack{grid-template-columns:1fr;gap:12px}
@media (min-width:1024px){body{background:linear-gradient(270deg,#0A1628 calc(var(--rail) - 1px),rgba(255,255,255,.12) calc(var(--rail) - 1px) var(--rail),var(--deep) var(--rail))}}
.radar text.lit{fill:#0D1B31;font-weight:600}
/* Interactive outline radar (approved Oct 19 2026) */
.radar-wrap{position:relative}
.rtabs{position:absolute;inset:18px 18px 6px}
.rtab{position:absolute;transform:translate(-50%,-50%);background:rgba(13,27,49,.55);border:1px solid transparent;border-radius:4px;padding:6px 8px;min-height:32px;font:500 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#8396AD;cursor:pointer;white-space:nowrap;transition:color .2s,border-color .2s}
.rtab:hover{color:#C7D5E2}
.rtab.on{color:#FF6B6B;border-color:rgba(212,86,64,.55);font-weight:600}
.rtab:focus-visible{outline:2px solid #FF6B6B;outline-offset:2px}
#radar-cov{min-height:2.9em}
#radar-ghost{opacity:0}
.sweep path.ping{animation:edgeping .7s ease-out}
@keyframes edgeping{0%{stroke:#FF6B6B;stroke-width:4;filter:drop-shadow(0 0 6px rgba(255,107,107,.9))}100%{stroke:#D45640;stroke-width:2;filter:none}}
.rtab.ping{animation:tabping .7s ease-out}
@keyframes tabping{0%{box-shadow:0 0 0 0 rgba(255,107,107,.75);text-shadow:0 0 8px rgba(255,107,107,.9)}100%{box-shadow:0 0 0 10px rgba(255,107,107,0);text-shadow:none}}
