/* SPARK display face: Clash Display (Indian Type Foundry, Fontshare FFL — commercial & web use permitted). Arabic stays Cairo. */
@font-face{font-family:'Clash Display';src:url('fonts/ClashDisplay-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Clash Display';src:url('fonts/ClashDisplay-Semibold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Clash Display';src:url('fonts/ClashDisplay-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
/* SPARK website — Brand Book 2026 v3, white site with dark header (Chairman decision 23 Oct 2026).
   Layout: 1200px content, 12-col rhythm, 96px section spacing, 8px radius. Single deliberate look (not theme-switching). */
:root{
  --ink:#0A1018; --surface-dark:#141E2A; --line-dark:#1E2D3D; --muted-dark:#8A9BAE;
  --white:#FFFFFF; --card:#F5F7F9; --line:#E6EAEF; --muted:#4A5A6A; --lime:#CCFF00;
  --f-display:'Clash Display', 'Segoe UI', system-ui, sans-serif;
  --f-body:Inter, 'Segoe UI', system-ui, -apple-system, sans-serif;
  --f-ar:Cairo, 'Segoe UI', Tahoma, sans-serif;
  --r:8px; --gut:max(16px, env(safe-area-inset-left, 0px)); --gutR:max(16px, env(safe-area-inset-right, 0px));
  color-scheme:light;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.6}
.page.ar{font-family:var(--f-ar);line-height:1.8}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--f-display);font-weight:600;margin:0;text-wrap:balance;letter-spacing:.005em;word-spacing:.04em}
.ar h1,.ar h2,.ar h3{font-family:var(--f-ar);letter-spacing:0;font-weight:700}
h1{font-size:clamp(32px,4.2vw,52px);line-height:1.08;font-weight:600}
.ar h1{line-height:1.4;font-size:clamp(32px,4.4vw,52px)}
h2{font-size:clamp(24px,2.6vw,34px);line-height:1.15;font-weight:600}
.ar h2{line-height:1.5}
.h3{font-size:24px}
p{margin:0;max-width:68ch}
bdi{unicode-bidi:isolate}
.wrap{max-width:1328px;margin:0 auto;padding-left:max(var(--gut),min(5vw,64px));padding-right:max(var(--gutR),min(5vw,64px))}
.stack{display:flex;flex-direction:column;gap:20px;min-width:0}
.stack-s{display:flex;flex-direction:column;gap:12px;min-width:0}
.skip{position:absolute;inset-inline-start:8px;top:0;transform:translateY(-200%);background:var(--lime);color:var(--ink);padding:8px 12px;z-index:50}
.skip:focus{transform:none}
:focus-visible{outline:2px solid var(--lime);outline-offset:2px;box-shadow:0 0 0 4px var(--ink)}

/* header */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--ink)}
.hdr{background:var(--ink);color:var(--white);position:sticky;top:env(safe-area-inset-top,0px);z-index:20;border-bottom:1px solid var(--line-dark)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:14px}
.logo img{height:34px;width:auto}
.nav{display:flex;align-items:center;gap:28px;font-size:15px;font-weight:500}
.nav a{text-decoration:none;color:var(--white)}
.nav a:hover{color:var(--lime)}
.nav a[aria-current]{text-decoration:underline;text-decoration-color:var(--lime);text-decoration-thickness:3px;text-underline-offset:8px}
.nav .lang{color:var(--muted-dark)}
.menu-btn{display:none;width:44px;height:44px;border:1px solid var(--line-dark);border-radius:var(--r);background:transparent;color:var(--white);align-items:center;justify-content:center;cursor:pointer}
@media (max-width:1080px){
  .menu-btn{display:inline-flex}
  .nav{display:none;position:absolute;inset:100% 0 auto;background:var(--ink);flex-direction:column;align-items:stretch;gap:0;padding:8px max(var(--gut),20px) 20px;border-bottom:1px solid var(--line-dark)}
  .nav.open{display:flex}
  .nav a{padding:12px 0;border-bottom:1px solid var(--line-dark)}
  .nav .btn{margin-top:12px;justify-content:center;border:0}
}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:12px 24px;border-radius:var(--r);font-weight:600;font-size:15px;text-decoration:none;border:1px solid transparent;cursor:pointer;font-family:inherit;letter-spacing:.01em}
.btn-sm{min-height:44px;padding:10px 18px}
.btn-lime{background:var(--lime);color:var(--ink)!important}
.btn-lime:hover{filter:brightness(1.05)}
.btn-ink{background:var(--ink);color:var(--white)}
.btn-ink:hover{background:#1A2532}
.btn-line{border-color:var(--ink);color:var(--ink);background:transparent}
.btn-line:hover{background:var(--card)}
.btns{display:flex;flex-wrap:wrap;gap:12px}

/* type helpers */
.eyebrow,.label{font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:10px;margin:0}
.ar .eyebrow,.ar .label{letter-spacing:0;text-transform:none;font-size:13px;font-weight:600}
.eyebrow::before{content:"";width:8px;height:8px;background:var(--lime);outline:1px solid var(--ink);flex:none}
.lede{font-size:20px;line-height:1.5;color:var(--muted);max-width:60ch}
.ar .lede{font-size:19px;line-height:1.8}
.note{font-size:15px;color:var(--muted)}
.body{color:var(--muted)}
.hl{background:var(--lime);padding:0 .15em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.more{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;background:var(--lime);color:var(--ink);font-weight:600;font-size:14px;line-height:1.2;padding:9px 16px;border-radius:999px;text-decoration:none;border:1px solid var(--ink);transition:transform .15s ease,box-shadow .15s ease}
a:hover .more,.more:hover{box-shadow:3px 3px 0 var(--ink);transform:translate(-1px,-1px)}
.card .more{margin-top:auto}
.pend{color:var(--muted)}
.dot{width:8px;height:8px;border-radius:50%;background:var(--lime);display:inline-block;outline:1px solid var(--ink)}

/* sections */
.hero{padding-block:72px 64px}
.hero-h{font-size:clamp(36px,5.6vw,72px);line-height:1.05;letter-spacing:-.03em;max-width:18ch}
.ar .hero-h{line-height:1.45;max-width:22ch;font-size:clamp(34px,5.2vw,64px)}
.intro{padding-block:48px 56px}
.sec{border-top:1px solid var(--line)}
.sec>.wrap{padding-block:72px}
.sec.top{border-top:0}.sec.top>.wrap{padding-block:40px 56px}
.sec.flush{border-top:0}.sec.flush>.wrap{padding-block:0 72px}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;color:var(--muted);padding-block:20px 0}
.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--ink)}
.crumbs [aria-current]{color:var(--ink)}
.split{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-end;justify-content:space-between}
.kpis{display:flex;gap:40px}
.kpis b{display:block;font-family:var(--f-display);font-size:48px;line-height:1.05;font-variant-numeric:tabular-nums}
.kpis span,.tile span{font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ar .kpis span,.ar .tile span{letter-spacing:0;text-transform:none;font-size:13px}

/* grid + cards */
.grid{display:grid;gap:16px;min-width:0}
.g2{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:24px}
.g3{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.g5{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
.center{align-items:center}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;display:flex;flex-direction:column;gap:12px;text-decoration:none;color:var(--ink);min-width:0}
a.card:hover{border-color:var(--ink)}
.card.big{padding:36px}
.card.on{border-color:var(--ink);box-shadow:inset 0 4px 0 var(--lime)}
.card .t{font-weight:600;font-size:17px;line-height:1.4}
.card.big .t{font-family:var(--f-display);font-size:24px;font-weight:600;letter-spacing:0}
.ar .card.big .t{font-family:var(--f-ar)}
.card .d{font-size:15px;line-height:1.6;color:var(--muted)}
.card .d.strong{color:var(--ink);font-weight:500}
.card.row{flex-direction:row;align-items:center;justify-content:space-between;gap:16px}
.wrapflex{flex-wrap:wrap}
.rowflex{display:flex;align-items:center;gap:16px}
.cardtop{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.ico{color:var(--ink);flex:none}
.num{font-family:var(--f-display);font-size:28px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums}
.card.on .num{color:var(--ink)}
.pill{border:1px solid var(--ink);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:var(--ink)}
.ar .pill{letter-spacing:0;text-transform:none;font-size:13px}
.tiles{gap:12px}
.tile{background:var(--white);border:1px solid var(--line);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:4px;min-width:0}
.tile b{font-family:var(--f-display);font-size:24px;line-height:1.15;overflow-wrap:anywhere}
.ar .tile b{font-family:var(--f-ar)}
.netpanel{background:var(--ink);border-radius:var(--r);padding:32px clamp(12px,3vw,32px) 20px;overflow-x:auto}
.netpanel svg{display:block;width:100%;min-width:560px;height:auto}
.codeparts{display:flex;flex-wrap:wrap;gap:8px}
.codeparts div{display:flex;flex-direction:column;gap:8px}
.codeparts b{font-family:var(--f-display);font-size:26px;border:1px solid var(--line);background:var(--white);border-radius:var(--r);padding:8px 16px}
.codeparts b.on{background:var(--ink);color:var(--lime);border-color:var(--ink)}
.codeparts span{font-size:12px;color:var(--muted)}
.prog{display:flex;gap:6px}.prog span{width:48px;height:4px;border-radius:999px;background:var(--line)}.prog span.on{background:var(--ink);box-shadow:0 -3px 0 var(--lime) inset}
.pager{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:32px!important}
.pager a{display:flex;flex-direction:column;gap:4px;text-decoration:none;font-weight:600}
.pager a.end{text-align:end;margin-inline-start:auto}
.shot{margin-top:8px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);aspect-ratio:16/7;max-width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--muted);font-size:13px}

/* layer listing */
.chips,.chipsrow{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.chip{display:inline-flex;align-items:center;min-height:40px;padding:8px 16px;border-radius:999px;border:1px solid var(--line);text-decoration:none;font-size:14px;font-weight:500;background:var(--white)}
.chip.on{background:var(--ink);color:var(--white);border-color:var(--ink);box-shadow:inset 0 -3px 0 var(--lime)}
.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.fchip{min-height:40px;padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:var(--white);font:inherit;font-size:13px;font-weight:500;color:var(--muted);cursor:pointer}
.fchip.on{border-color:var(--ink);color:var(--ink);box-shadow:inset 0 3px 0 var(--lime)}
.count{margin-inline-start:auto;font-size:13px;color:var(--muted)}
.pcard{padding:16px;gap:10px}
.pcard .code{font-size:12px;color:var(--muted);letter-spacing:.04em}
.ar .pcard .code{text-align:right}
.ph{aspect-ratio:4/3;max-width:100%;background:var(--white);border:1px solid var(--line);border-radius:var(--r);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--muted);font-size:12px;text-align:center;padding:12px}
.pcard .ph svg{width:48px;height:64px}
[hidden]{display:none!important}

/* product page */
.pd{align-items:start;gap:56px}
.gallery{display:flex;flex-direction:column;gap:12px;min-width:0}
.zoom{position:relative;overflow:hidden;border-radius:var(--r);cursor:zoom-in;background:var(--card);border:1px solid var(--line)}
.zoom .ph{border:0;background:transparent;aspect-ratio:4/3}
.zoom-in{transition:transform .2s ease-out;transform-origin:50% 50%}
.zoom.z .zoom-in{transform:scale(2.2)}
.zoomhint{position:absolute;inset-inline-end:12px;bottom:12px;display:flex;align-items:center;gap:6px;background:var(--white);border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:12px;color:var(--muted)}
.thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.thumb{min-height:72px;border-radius:var(--r);border:1px solid var(--line);background:var(--card);font:inherit;font-size:12px;color:var(--muted);cursor:pointer;padding:8px}
.thumb.on{border-color:var(--ink);color:var(--ink);box-shadow:inset 0 4px 0 var(--lime)}
.pinfo h1{font-size:clamp(30px,3.6vw,44px)}
.codechip{background:var(--lime);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600;letter-spacing:.04em}
.tag{border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:12px;color:var(--muted)}
.tabs [role=tablist]{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--line)}
.tabs [role=tab]{font:inherit;font-size:15px;font-weight:500;color:var(--muted);background:transparent;border:1px solid transparent;border-bottom:0;border-radius:var(--r) var(--r) 0 0;padding:14px 24px;margin-bottom:-1px;cursor:pointer;min-height:48px}
.tabs [role=tab][aria-selected=true]{background:var(--card);border-color:var(--line);color:var(--ink);font-weight:600;box-shadow:inset 0 3px 0 var(--lime)}
.panel{background:var(--card);border:1px solid var(--line);border-top:0;border-radius:0 0 var(--r) var(--r);padding:clamp(20px,3vw,40px)}
.adv{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}
.adv li{display:flex;gap:12px;line-height:1.6}
.adv li::before{content:"";flex:none;width:8px;height:8px;margin-top:.65em;background:var(--lime);outline:1px solid var(--ink)}
.tablewrap{overflow-x:auto;background:var(--white);border:1px solid var(--line);border-radius:var(--r)}
.spec{width:100%;border-collapse:collapse;font-size:15px;min-width:480px}
.spec th,.spec td{padding:14px 20px;border-bottom:1px solid var(--line);text-align:start;vertical-align:top}
.spec tr:last-child th,.spec tr:last-child td{border-bottom:0}
.spec th{color:var(--muted);font-weight:400;width:40%}
.spec td{font-variant-numeric:tabular-nums}

/* resources */
.dslist{background:var(--card);border:1px solid var(--line);border-radius:var(--r)}
.dsrow{display:grid;grid-template-columns:minmax(120px,170px) 1fr auto;gap:16px;align-items:center;padding:14px 20px;border-bottom:1px solid var(--line);text-decoration:none}
.dsrow:last-child{border-bottom:0}
.dsrow:hover{background:var(--white)}
.dsrow .code{font-size:12px;color:var(--muted);letter-spacing:.04em}
.dsrow .dl{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600}
@media (max-width:560px){.dsrow{grid-template-columns:1fr auto}.dsrow .code{grid-column:1/-1}}

/* form */
.form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px}
.field{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:500;color:var(--muted)}
.field.full,.full{grid-column:1/-1}
.field input,.field select,.field textarea{font:inherit;font-size:15px;color:var(--ink);background:var(--white);border:1px solid var(--muted);border-radius:var(--r);padding:12px 14px;min-height:48px;width:100%}
.field [aria-invalid=true]{border-color:#FF7A00}
.err{color:#B34A00;font-size:13px}
.formmsg{margin-top:12px;font-size:14px}

/* CTA band + footer */
.ctaband{background:var(--surface-dark);color:var(--white)}
.ctaband-in{display:flex;flex-wrap:wrap;gap:24px 32px;align-items:center;justify-content:space-between;padding-block:64px}
.ctaband-t{display:flex;align-items:center;gap:20px}
.ctaband-t img{width:auto;height:52px}
.ftr{background:var(--ink);color:var(--white);border-top:1px solid var(--line-dark);font-size:14px}
.ftr .label{color:var(--muted-dark)}
.ftr-top{display:flex;flex-wrap:wrap;gap:40px;justify-content:space-between;padding-block:48px 32px}
.ftr-brand{display:flex;flex-direction:column;gap:14px;max-width:320px}
.ftr-brand img{height:34px;width:auto}
.ftr-brand p{color:var(--muted-dark);font-size:13px}
.fcols{display:flex;flex-wrap:wrap;gap:48px}
.fcol{display:flex;flex-direction:column;gap:10px}
.fcol a{text-decoration:none;color:var(--white)}.fcol a:hover{color:var(--lime)}
.ftr-bot{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;border-top:1px solid var(--line-dark);padding-block:20px 28px;color:var(--muted-dark);font-size:13px}

.ftr-brand img{align-self:flex-start}
.card.row>span:first-child{display:flex;flex-direction:column;gap:2px}
.card.row>span.rowflex{flex-direction:row;align-items:center;gap:16px}.card.row .rowflex>.stack-s{gap:4px}.card.row .ico{flex:none}

/* ---- IA v4 visuals (23 Oct 2026) ---- */
.introgrid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(32px,5vw,64px);align-items:center}
@media (max-width:900px){.introgrid{grid-template-columns:minmax(0,1fr)}}
.hero .introgrid .hero-h{max-width:16ch}
.hero-net{margin-top:48px;gap:16px}
.hfig{margin:0;position:relative;overflow:hidden;border-radius:12px;background:var(--ink);width:100%;min-width:0}
.hfig.has{background:var(--card)}
.hfig img{width:100%;height:100%;object-fit:cover}
.hfig .hfx{position:absolute;inset:0;width:100%;height:100%}
.hfig figcaption{position:absolute;inset-inline-start:16px;bottom:16px;background:rgba(10,16,24,.8);color:var(--muted-dark);border:1px solid var(--line-dark);border-radius:999px;padding:6px 12px;font-size:12px}
.hfig::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line-dark) 1px,transparent 1px),linear-gradient(90deg,var(--line-dark) 1px,transparent 1px);background-size:32px 32px;opacity:.45}
.hfig.has::before{display:none}
.hfig.wide{border-radius:var(--r)}
.fam{padding:0;overflow:hidden;gap:12px}
.fam>:not(.fimg){margin-inline:20px}.fam>.more{margin-bottom:20px}
.fimg{border-radius:0}
.ways .card.big{padding:28px}
.ways .cardtop{align-items:center}
.ways .d{flex:1 1 auto}
/* journey infographic */
.journey{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;position:relative}
.journey::before,.journey::after{content:"";position:absolute;top:31px;inset-inline:10%;height:3px;background:var(--line);border-radius:3px}
.journey::after{background:var(--lime);box-shadow:0 0 0 1px var(--ink);transform:scaleX(0);transform-origin:left;transition:transform 1.8s cubic-bezier(.2,.7,.2,1)}
.ar .journey::after{transform-origin:right}
.journey.in::after,.no-motion .journey::after{transform:scaleX(1)}
.jstep a{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;text-decoration:none;color:var(--ink);padding:0 8px 20px;border-radius:var(--r);height:100%}
.jstep a:hover .jnode{box-shadow:0 0 0 6px rgba(204,255,0,.5)}
.jnode{width:64px;height:64px;border-radius:50%;background:var(--white);border:2px solid var(--ink);display:grid;place-items:center;position:relative;z-index:1;transition:box-shadow .2s}
.core .jnode{background:var(--ink);color:var(--lime)}.core .jnode .ico{color:var(--lime)}
.jnum{font-family:var(--f-display);font-weight:600;font-size:14px;color:var(--muted);margin-top:6px}
.jstep .t{font-weight:600;font-size:17px}
.jstep .d{font-size:14px;color:var(--muted);line-height:1.55}
.jcore{background:var(--lime);border:1px solid var(--ink);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}
@media (max-width:860px){.journey{grid-template-columns:minmax(0,1fr)}
 .journey::before,.journey::after{top:0;bottom:0;inset-inline-start:31px;inset-inline-end:auto;width:3px;height:auto}
 .journey::after{transform:scaleY(0);transform-origin:top}.journey.in::after{transform:scaleY(1)}
 .jstep a{display:grid;grid-template-columns:64px 1fr;column-gap:16px;text-align:start;align-items:start;padding-bottom:12px}
 .jstep a>:not(.jnode){grid-column:2}.jnode{grid-row:1/span 4}.jnum{margin-top:0}.jcore{justify-self:start}}
/* range infographic */
.range{display:flex;flex-direction:column;gap:20px}
.kpis.big{gap:clamp(24px,5vw,64px);flex-wrap:wrap}
.kpis.big b{font-size:clamp(44px,6vw,72px)}
.lbar{display:flex;height:64px;border-radius:var(--r);overflow:hidden;border:1px solid var(--ink)}
.lbar .seg{display:flex;align-items:center;justify-content:center;font-family:var(--f-display);font-size:22px;transform:scaleY(0);transform-origin:bottom;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.lbar .seg+.seg{border-inline-start:2px solid var(--white)}
.range.in .seg,.no-motion .lbar .seg{transform:scaleY(1)}
.range.in .seg:nth-child(2){transition-delay:.12s}.range.in .seg:nth-child(3){transition-delay:.24s}.range.in .seg:nth-child(4){transition-delay:.36s}.range.in .seg:nth-child(5){transition-delay:.48s}
.lbar-axis{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-top:-12px}
.leg .sw{width:28px;height:6px;border-radius:3px;border:1px solid var(--ink)}
/* plug-and-play scene */
.scene{margin-top:32px;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:clamp(8px,2vw,24px);overflow-x:auto}
.pnp{display:block;width:100%;min-width:720px;height:auto}
.pnp .win.lit{animation:lit 3.2s ease-in-out infinite}
@keyframes lit{0%,100%{opacity:1}50%{opacity:.55}}
/* fibre flow animation (network path, scene, hero placeholders) */
.flow{stroke:var(--lime);stroke-dasharray:10 22;animation:flow 1.4s linear infinite}
.flow.thin{stroke-dasharray:6 10;animation-duration:1s}
@keyframes flow{to{stroke-dashoffset:-32}}
.netpanel .flow{stroke-width:3}
/* scroll reveal (JS adds .rv; no-JS stays visible) */
.rv{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.rv{opacity:1;transform:none}.journey::after{transform:none}.lbar .seg{transform:none}}
.odnhead{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:32px;align-items:end}
.t3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:860px){.odnhead{grid-template-columns:minmax(0,1fr)}}
.famgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:960px){.famgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.famgrid{grid-template-columns:minmax(0,1fr)}}
.ph.has{padding:0;background:var(--white)}.ph.has img{width:100%;height:100%;object-fit:contain}
/* Clash Display legibility (Chairman 23 Oct 20:30): open spacing, display face only at large sizes, Inter for small titles */
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
h1,h2,h3{letter-spacing:.012em;word-spacing:.14em;font-feature-settings:"kern" 1}
.hero-h{letter-spacing:.008em;word-spacing:.16em;line-height:1.1}
h2{letter-spacing:.015em}
.card.big .t,.card .t,.jstep .t{font-family:var(--f-body);font-weight:600;letter-spacing:-.005em;word-spacing:normal}
.card.big .t{font-size:22px}
.num,.jnum,.codeparts b{font-family:var(--f-body);font-weight:700;letter-spacing:-.01em}
.ar .card.big .t,.ar .card .t,.ar .jstep .t{font-family:var(--f-ar)}
.hero .introgrid .hero-h{font-size:clamp(34px,4.1vw,58px);max-width:none}
.ar h1,.ar h2,.ar h3,.ar .hero-h{word-spacing:normal;letter-spacing:0}
/* services v2: step lists, flow, tables */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:16px}
.step{display:grid;grid-template-columns:56px minmax(0,1fr);gap:16px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px}
.snum{width:48px;height:48px;border-radius:50%;background:var(--ink);color:var(--lime);display:grid;place-items:center;font-weight:700;font-size:15px;font-variant-numeric:tabular-nums}
.step .t,.flowlist .t{font-weight:600;font-size:17px}
.step .d,.flowlist .d{font-size:15px;color:var(--muted)}
.adv.sm{gap:6px;font-size:14px}.adv.sm li::before{width:6px;height:6px;margin-top:.7em}
.flowlist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:12px;counter-reset:f}
.flowlist li{position:relative;display:flex;flex-direction:column;gap:8px;background:var(--white);border:1px solid var(--line);border-top:3px solid var(--ink);border-radius:var(--r);padding:20px}
.flowlist li .snum{width:40px;height:40px;font-size:13px}
.flowlist li:hover{border-top-color:var(--lime)}
.grid-t{min-width:0}.grid-t thead th{background:var(--ink);color:var(--white);font-weight:600;width:auto}
.grid-t tbody th{color:var(--ink);font-weight:600}
.topo .tile b{font-size:20px}.topo .tile .d{font-size:14px;color:var(--muted);text-transform:none;letter-spacing:0}
.hfig.wide.has{background:#fff;border:1px solid var(--line)}.hfig.wide.has img{object-fit:contain}
/* cinematic full-bleed hero */
.cine{position:relative;overflow:hidden;background:var(--ink);color:var(--white);isolation:isolate}
.cine.page{min-height:clamp(440px,62vh,640px)}.cine.home{min-height:clamp(560px,86vh,860px)}
.cine-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;animation:kb 14s ease-out both}
@keyframes kb{from{transform:scale(1.08)}to{transform:scale(1)}}
.cine-ov{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,16,24,.92) 0%,rgba(10,16,24,.72) 38%,rgba(10,16,24,.18) 72%,rgba(10,16,24,.05) 100%),linear-gradient(0deg,rgba(10,16,24,.55) 0%,rgba(10,16,24,0) 35%)}
.ar .cine-ov{background:linear-gradient(270deg,rgba(10,16,24,.92) 0%,rgba(10,16,24,.72) 38%,rgba(10,16,24,.18) 72%,rgba(10,16,24,.05) 100%),linear-gradient(0deg,rgba(10,16,24,.55) 0%,rgba(10,16,24,0) 35%)}
.cine-in{position:relative;display:flex;align-items:center;min-height:inherit;padding-block:72px}
.cine-txt{max-width:640px}.cine.home .cine-txt{max-width:720px}
.cine h1{color:var(--white)}.cine .eyebrow{color:#C9D1DA}.cine .eyebrow::before{outline-color:var(--lime)}
.cine .lede{color:#D3DAE2}.cine .hl{color:var(--ink)}
.cine .btn-ink{background:var(--lime);color:var(--ink)}.cine .btn-ink:hover{filter:brightness(1.05);background:var(--lime)}
.cine .btn-line{border-color:rgba(255,255,255,.8);color:var(--white)}.cine .btn-line:hover{background:rgba(255,255,255,.08)}
.cine .prog span{background:rgba(255,255,255,.25)}.cine .prog span.on{background:var(--white)}
.cine .hero-h{font-size:clamp(36px,5vw,68px)}
.cine-after{padding-top:48px}
@media (max-width:700px){.cine-ov,.ar .cine-ov{background:linear-gradient(0deg,rgba(10,16,24,.95) 0%,rgba(10,16,24,.75) 55%,rgba(10,16,24,.35) 100%)}.cine-in{align-items:flex-end;padding-block:48px}}
@media (prefers-reduced-motion:reduce){.cine-bg{animation:none}}
.pcard .ph.has{overflow:hidden;border:0}.pcard .ph.has img{object-fit:cover}
/* ---- Solutions: isometric scenes with numbered hotspots (23 Oct 2026) ---- */
.ways.solgrid .card.big.solcard{padding:0;overflow:hidden;gap:10px}
.solgrid .solcard>:not(.solthumb){margin-inline:24px}
.solgrid .solcard .more{margin-bottom:24px}
.solthumb{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:var(--ink)}
.solthumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.solcard:hover .solthumb img{transform:scale(1.04)}
.solnum{position:absolute;inset-inline-end:12px;bottom:12px;background:var(--lime);color:var(--ink);font-weight:700;font-size:13px;padding:4px 10px;border-radius:999px}
.solsec{padding-top:8px}
.solscene{display:flex;flex-direction:column;gap:16px}
.solstage{position:relative;border-radius:var(--r);overflow:hidden;background:var(--ink);box-shadow:0 18px 50px rgba(10,16,24,.18)}
.solbg{display:block;width:100%;height:auto}
.hs{position:absolute;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;border:2px solid var(--ink);background:var(--lime);color:var(--ink);font:700 16px/1 var(--f-body);cursor:pointer;display:grid;place-items:center;padding:0;z-index:2;box-shadow:0 4px 14px rgba(0,0,0,.35)}
.hs::before{content:"";position:absolute;inset:-8px;border-radius:50%;border:2px solid var(--lime);opacity:.0;animation:hsPulse 2.4s ease-out infinite}
.hs:hover,.hs[aria-expanded=true]{background:var(--ink);color:var(--lime);border-color:var(--lime)}
.hs:focus-visible{outline:3px solid var(--white);outline-offset:3px}
@keyframes hsPulse{0%{transform:scale(.7);opacity:.9}100%{transform:scale(1.6);opacity:0}}
.hsp{position:absolute;top:50%;transform:translateY(-50%);width:min(340px,40%);background:var(--white);color:var(--ink);border-radius:var(--r);padding:16px;box-shadow:0 20px 50px rgba(0,0,0,.35);z-index:3;display:flex;flex-direction:column;gap:12px}
.hsp[data-side=l]{left:3%}.hsp[data-side=r]{right:3%}
.hsp[hidden]{display:none}
.hsimg{background:var(--card);border-radius:6px;aspect-ratio:4/3;overflow:hidden}
.hsimg img{width:100%;height:100%;object-fit:cover;display:block}
.hsp .hsn{font:700 13px/1 var(--f-body);color:var(--ink);background:var(--lime);align-self:flex-start;padding:4px 8px;border-radius:4px}
.hsp .code{font-size:12px;color:var(--muted);letter-spacing:.04em}
.hsp .t{font-weight:600;font-size:18px;line-height:1.3}
.hsp .d{font-size:14px;color:var(--muted)}
.hsbtns{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.hsbtns .btn{min-height:40px;padding:8px 14px;font-size:14px}
.hsx{position:absolute;top:8px;inset-inline-end:8px;width:32px;height:32px;border-radius:50%;border:0;background:var(--ink);color:var(--white);font-size:20px;line-height:1;cursor:pointer;z-index:1}
.hslegend{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:12px}
.hsl{width:100%;display:flex;align-items:center;gap:12px;text-align:start;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;cursor:pointer;font:inherit;color:var(--ink);min-height:72px}
.hsl:hover,.hsl.on{border-color:var(--ink);background:var(--white)}
.hsl.on .hsln{background:var(--ink);color:var(--lime)}
.hsln{flex:none;width:32px;height:32px;border-radius:50%;background:var(--lime);color:var(--ink);display:grid;place-items:center;font-weight:700}
.hsl img{flex:none;width:52px;height:52px;object-fit:cover;border-radius:6px;background:var(--white)}
.hsl .t{font-weight:600;font-size:15px;line-height:1.35}
.hsl .code{font-size:12px;color:var(--muted)}
@media (max-width:760px){
  .hs{width:30px;height:30px;font-size:13px}
  .hs::before{inset:-6px}
  .hsp{position:fixed;top:auto;bottom:12px;left:12px!important;right:12px!important;width:auto;transform:none;max-height:72vh;overflow:auto;z-index:60;flex-direction:row;flex-wrap:wrap}
  .hsp .hsimg{width:38%;aspect-ratio:1;align-self:flex-start}
  .hsp>.stack-s{flex:1 1 50%;min-width:0}
}
@media (prefers-reduced-motion:reduce){.hs::before{animation:none;opacity:0}}
.hsp[dir=rtl] .code,.hslegend[dir=rtl] .code{text-align:right}
/* ---- Home v2 + mega-menu (23 Oct 2026) ---- */
.navi{position:relative;display:flex;align-items:center}
.navtop{display:inline-flex;align-items:center;gap:6px}
.navtop .caret{opacity:.75;transition:transform .2s}
.navi:hover .caret,.navi:focus-within .caret{transform:rotate(180deg)}
.dd{position:absolute;top:100%;inset-inline-start:-14px;padding-top:24px;display:none;z-index:40}
.navi:hover .dd,.navi:focus-within .dd{display:block}
.ddin{background:var(--ink);border:1px solid var(--line-dark);border-top:3px solid var(--lime);border-radius:0 0 var(--r) var(--r);padding:8px;min-width:250px;display:flex;flex-direction:column;box-shadow:0 18px 40px rgba(0,0,0,.35)}
.nav .ddin a{padding:9px 12px;border-radius:6px;font-size:14px;font-weight:500;color:#D3DAE2;white-space:nowrap;text-decoration:none}
.nav .ddin a:hover,.nav .ddin a:focus-visible{background:var(--surface-dark);color:var(--lime)}
.nav .ddin a:first-child{color:var(--white);font-weight:600}
@media (max-width:1080px){
  .navi{display:block}
  .nav .navtop{display:flex;width:100%;padding:12px 0;border-bottom:1px solid var(--line-dark)}
  .navtop .caret{display:none}
  .dd{display:block;position:static;padding:2px 0 8px}
  .ddin{background:transparent;border:0;box-shadow:none;padding:0;min-width:0}
  .nav .ddin a{padding:7px 14px;border:0;font-size:14px;white-space:normal}
  .nav .ddin a:first-child{display:none}
}
.cine.home .hero-h{font-size:clamp(28px,3.4vw,48px)}
.cine.home .cine-txt{max-width:820px}.cine.home .hero-h{max-width:24ch}
.ar .cine.home .hero-h{font-size:clamp(26px,3.1vw,44px)}
a:hover .more,.more:hover{box-shadow:none;transform:none}
.arr{flex:none;display:inline-block;transition:transform .2s ease}
a:hover .more .arr,.more:hover .arr,.pager a:hover .arr{transform:translateX(3px)}
.ar a:hover .more .arr,.ar .more:hover .arr,.ar .pager a:hover .arr{transform:translateX(-3px)}
.nethover{position:relative;z-index:5;overflow:visible;padding:40px clamp(20px,4vw,56px) 36px}
.nhline{position:absolute;inset-inline:calc(clamp(20px,4vw,56px) + 16px);top:56px;height:3px;background:var(--lime);border-radius:3px;box-shadow:0 0 14px rgba(204,255,0,.55)}
.nh{list-style:none;margin:0;padding:0;display:flex;justify-content:space-between;position:relative}
.nhn{position:relative}
.nhn>a{display:flex;flex-direction:column;align-items:center;gap:10px;text-decoration:none;color:var(--white)}
.dot{width:34px;height:34px;border-radius:50%;background:var(--ink);border:2px solid var(--lime);display:grid;place-items:center;transition:transform .2s,box-shadow .2s}
.dot::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--lime)}
.nhn.last .dot{background:var(--lime)}.nhn.last .dot::after{background:var(--ink)}
.nhn>a:hover .dot,.nhn>a:focus-visible .dot,.nhn:hover .dot{transform:scale(1.22);box-shadow:0 0 0 8px rgba(204,255,0,.18)}
.nhl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.nht{position:absolute;top:calc(100% + 16px);left:50%;transform:translateX(-50%);width:320px;background:var(--white);color:var(--ink);border-radius:var(--r);border-top:3px solid var(--lime);padding:16px 18px;box-shadow:0 20px 50px rgba(0,0,0,.35);display:none;flex-direction:column;gap:6px;z-index:30}
.nht::before{content:"";position:absolute;top:-19px;left:0;right:0;height:19px}
.nhn[data-pos=start] .nht{left:auto;transform:none;inset-inline-start:-10px}
.nhn[data-pos=end] .nht{left:auto;transform:none;inset-inline-end:-10px}
.nhn:hover .nht,.nhn:focus-within .nht{display:flex}
.nht .nhk{font-size:12px;font-weight:600;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.ar .nht .nhk{letter-spacing:0;text-transform:none}
.nht b{font-size:18px;line-height:1.3}
.nht .d{font-size:14px;color:var(--muted);line-height:1.5}
.nht ul{margin:6px 0 0;padding:10px 0 0;border-top:1px solid var(--line);list-style:none;font-size:13px;line-height:1.45;display:grid;gap:4px}
.nht ul.two{grid-template-columns:1fr 1fr;column-gap:14px}
.nht li{padding-inline-start:12px;position:relative}
.nht li::before{content:"";position:absolute;inset-inline-start:0;top:.55em;width:6px;height:6px;background:var(--lime);outline:1px solid var(--ink)}
.nhn:has(ul.two) .nht{width:400px}
@media (max-width:760px){
  .nhl{position:static;width:auto;height:auto;clip:auto;white-space:normal;font-size:12px;text-align:center;max-width:72px;line-height:1.3;color:#C9D1DA}
  .nhn:hover .nht,.nhn:focus-within .nht{display:none}
  .nhline{top:57px}
}
.journey.detail .jstep .d{font-size:14px}
.jmore{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--ink);margin-top:auto;padding-top:4px}
/* ---- Home v3 / Turnkey stages / product images (24 Oct 2026) ---- */
.pcard .ph.has img,.ph.has img{object-fit:contain}
.hsimg img,.hsl img{object-fit:contain}
.h4{font-size:17px;font-weight:600;margin:0}
.netmap{display:flex;flex-direction:column;gap:12px}
.nmstage{position:relative;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.nmstage>img{display:block;width:100%;height:auto;border-radius:var(--r)}
.hz{position:absolute;transform:translate(-50%,-50%);z-index:2}
.hz:hover,.hz:focus-within,.hz.open{z-index:6}
.hzb{display:flex;align-items:center;gap:8px;background:var(--ink);color:var(--white);border:2px solid var(--lime);border-radius:999px;padding:6px 14px 6px 6px;font:600 14px/1 var(--f-body);cursor:pointer;box-shadow:0 6px 18px rgba(10,16,24,.3);white-space:nowrap}
.ar .hzb{font-family:var(--f-ar);padding:6px 6px 6px 14px}
.hzb .dot{width:22px;height:22px;border-width:2px}
.hzb .dot::after{width:8px;height:8px}
.hz:hover .hzb,.hz.open .hzb,.hzb:focus-visible{background:var(--lime);color:var(--ink);border-color:var(--ink)}
.hzp{position:absolute;width:340px;background:var(--white);color:var(--ink);border-radius:var(--r);border-top:3px solid var(--lime);padding:16px 18px;box-shadow:0 20px 50px rgba(10,16,24,.35);display:none;flex-direction:column;gap:6px}
.hz[data-h=l] .hzp{left:-6px}.hz[data-h=r] .hzp{right:-6px}
.hz[data-v=b] .hzp{top:100%;margin-top:10px}.hz[data-v=t] .hzp{bottom:100%;margin-bottom:10px}
.hz[data-v=b] .hzp::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.hz[data-v=t] .hzp::before{content:"";position:absolute;left:0;right:0;bottom:-14px;height:14px}
.hz:hover .hzp,.hz:focus-within .hzp,.hz.open .hzp{display:flex}
.hzp:has(ul.two){width:430px}
.hzp .nhk{font-size:12px;font-weight:600;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.ar .hzp .nhk{letter-spacing:0;text-transform:none}
.hzp b{font-size:18px;line-height:1.3}.hzp .d{font-size:14px;color:var(--muted);line-height:1.5}
.hzp ul{list-style:none;margin:6px 0 4px;padding:8px 0 0;border-top:1px solid var(--line);display:grid;gap:2px}
.hzp ul.two{grid-template-columns:1fr 1fr;column-gap:12px}
.hzp li a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:6px;text-decoration:none;color:var(--ink);font-size:13.5px;line-height:1.35}
.hzp li a:hover,.hzp li a:focus-visible{background:var(--card);color:var(--ink)}
.hzp li a .arr{width:13px;height:13px;color:var(--muted)}
.hzp li a:hover .arr{color:var(--ink)}
.hzp .more{margin-top:6px}
@media (max-width:760px){
  .hzb{padding:4px;font-size:0;gap:0}.ar .hzb{padding:4px}
  .hzb .hzl{display:none}
  .hzp{position:fixed;left:12px!important;right:12px!important;top:auto!important;bottom:12px!important;margin:0!important;width:auto!important;max-height:72vh;overflow:auto;z-index:60}
  .hz:hover .hzp{display:none}.hz.open .hzp{display:flex}
}
.rtimg{border-radius:var(--r);overflow:hidden;background:var(--ink);aspect-ratio:4/3}
.rtimg img{width:100%;height:100%;object-fit:cover;display:block}
.stagejump{flex-wrap:wrap}
.stagesec{scroll-margin-top:90px}
.stagesec.alt{background:var(--card)}
.stagesec.alt .stagegrid>.stageimg{order:2}
.stageimg{position:relative;margin:0;border-radius:var(--r);overflow:hidden;background:var(--ink);aspect-ratio:16/10;box-shadow:0 18px 50px rgba(10,16,24,.15)}
.stageimg img{width:100%;height:100%;object-fit:cover;display:block}
.stagebadge{position:absolute;top:14px;inset-inline-start:14px;background:var(--lime);color:var(--ink);font-weight:700;font-size:15px;border:2px solid var(--ink);border-radius:999px;padding:4px 12px}
@media (max-width:900px){.stagesec.alt .stagegrid>.stageimg{order:0}}
/* ---- v16 (24 Oct 2026) ---- */
.cine-bg{animation:none!important}
.eyebrow{text-transform:none;letter-spacing:.01em;font-size:14px;font-weight:600}
.intro.band{background:var(--ink);color:var(--white);padding-block:56px 52px;border-bottom:3px solid var(--lime)}
.intro.band h1{color:var(--white)}
.intro.band .lede{color:#C9D1DA;max-width:68ch}
.intro.band .eyebrow{color:#C9D1DA}.intro.band .eyebrow::before{outline-color:var(--lime)}
.intro.band .btn-ink{background:var(--lime);color:var(--ink)}
.intro.band .btn-line{border-color:rgba(255,255,255,.8);color:var(--white)}
.intro.band .prog span{background:rgba(255,255,255,.25)}.intro.band .prog span.on{background:var(--lime)}
.intro.band .chip{background:transparent;border-color:rgba(255,255,255,.35);color:var(--white)}
.intro.band .chip:hover{border-color:var(--lime);color:var(--lime)}
.crumbs{padding-block:12px}
/* mega menu */
.ddin{min-width:340px;padding:12px}
.ddin.wide{min-width:560px}
.ddgrid{display:grid;grid-template-columns:1fr;gap:2px}
.ddin.wide .ddgrid{grid-template-columns:1fr 1fr}
.nav .ddin a.ddi{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;white-space:normal;color:var(--white)}
.nav .ddin a.ddi:first-child{font-weight:inherit}
.ddic{flex:none;width:36px;height:36px;border-radius:8px;background:var(--surface-dark);border:1px solid var(--line-dark);display:grid;place-items:center;color:var(--lime)}
.ddt{display:flex;flex-direction:column;gap:2px;min-width:0}
.ddt b{font-size:14px;font-weight:600;color:var(--white)}
.ddt span{font-size:12.5px;line-height:1.45;color:var(--muted-dark)}
.nav .ddin a.ddi:hover{background:var(--surface-dark)}.nav .ddin a.ddi:hover b{color:var(--lime)}
.nav .ddin a.ddall{display:flex;align-items:center;gap:8px;margin-top:8px;padding:12px 12px 4px;border-top:1px solid var(--line-dark);border-radius:0;color:var(--lime);font-weight:600;font-size:13.5px}
@media (max-width:1080px){.ddin.wide{min-width:0}.ddin.wide .ddgrid{grid-template-columns:1fr}.ddic{display:none}.ddt span{display:none}.nav .ddin a.ddall{display:none}.nav .ddin a.ddi{padding:7px 14px}.ddt b{font-weight:500;color:#D3DAE2}}
/* footer */
.ftr-top{display:grid;grid-template-columns:minmax(220px,1.1fr) 3fr;gap:48px;padding-block:56px 40px;align-items:start}
.fcols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.fcol{gap:11px}
.fcol .fh{font-size:13px;font-weight:700;color:var(--lime);margin-bottom:6px;padding-bottom:10px;border-bottom:1px solid var(--line-dark)}
.fcol a{color:#C9D1DA;font-size:14px;line-height:1.4}
.ftr-brand p{font-size:14px;line-height:1.6}
@media (max-width:980px){.ftr-top{grid-template-columns:1fr}.fcols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.fcols{grid-template-columns:1fr 1fr;gap:24px}}
/* turnkey */
.stagepill{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;background:var(--lime);color:var(--ink);border:2px solid var(--ink);border-radius:999px;padding:6px 16px;font-weight:700;font-size:15px;box-shadow:3px 3px 0 var(--ink)}
.stagegrid{align-items:stretch}
.stageimg{aspect-ratio:auto;height:100%;min-height:340px;box-shadow:none;border:1px solid var(--line)}
.stageimg img{object-fit:contain}
.stagesec.alt .stageimg{border-color:#DDE2E8}
.tkcols{gap:20px}
.valbox{background:var(--white);border:1px solid var(--line);border-top:3px solid var(--lime);border-radius:var(--r);padding:16px 18px}
.stagesec.alt .valbox{background:#fff}
.chip b{font-weight:700;margin-inline-start:4px;color:var(--muted)}
@media (max-width:900px){.stageimg{min-height:0;aspect-ratio:16/9;height:auto}.tkcols{grid-template-columns:1fr}}
/* solutions one page */
.solblock{scroll-margin-top:80px}
.solblock.alt{background:var(--card)}
.solhead{display:grid;grid-template-columns:1.4fr 1fr;gap:32px;align-items:end}
.solhead h2{display:flex;align-items:center;gap:12px}
.solic{width:48px;height:48px;border-radius:12px;background:var(--ink);color:var(--lime);display:grid;place-items:center;flex:none}
@media (max-width:900px){.solhead{grid-template-columns:1fr}}
.spot{position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0;transition:opacity .25s;background:radial-gradient(circle at var(--sx,50%) var(--sy,50%),rgba(10,16,24,0) 0,rgba(10,16,24,0) 90px,rgba(10,16,24,.62) 190px)}
.solstage.spotting .spot{opacity:1}
.solstage.spotting .hs:not([aria-expanded=true]){opacity:.55}
.hs[aria-expanded=true]{transform:translate(-50%,-50%) scale(1.15)}
.opsroom{margin:0;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:#fff}
.opsroom img{display:block;width:100%;height:auto}
.mobj{align-items:start}
.pdfv{position:fixed;inset:0;z-index:100;background:rgba(10,16,24,.72);display:grid;place-items:center;padding:24px}
.pdfv[hidden]{display:none}
.pdfv-in{width:min(900px,100%);height:min(92vh,1200px);background:#fff;border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.pdfv-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line)}
.pdfv-bar .hsx{position:static}
.pdfv-bar span{display:flex;gap:8px;align-items:center}
.pdfv iframe{flex:1;width:100%;border:0}
.noscroll{overflow:hidden}
/* passive filters + range legend */
.filters{gap:8px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:6px;flex-wrap:wrap}
.filters .label{padding-inline:10px 4px}
.fchip{border:0!important;background:transparent;color:var(--muted);border-radius:999px;padding:8px 16px;font-weight:600;font-size:14px;box-shadow:none!important;min-height:38px;cursor:pointer}
.fchip:hover{background:#E8ECF0;color:var(--ink)}
.fchip.on{background:var(--ink)!important;color:var(--white)!important}
.filters .count{margin-inline-start:auto;padding-inline:12px;font-weight:600;color:var(--ink)}
.lbar-leg{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13px;color:var(--muted)}
.lbar-leg .lg{display:inline-flex;align-items:center;gap:6px}
.lbar-leg i{width:12px;height:12px;border-radius:3px;border:1px solid var(--line)}
.stageimg img{object-fit:cover}.stageimg{background:var(--ink)!important}
.stageimg.contain{background:#D2D1D6!important}.stageimg.contain img{object-fit:contain}
.stageimg.wide{height:auto;min-height:0;aspect-ratio:2.5/1;background:#D2D1D6!important}
.stageimg.wide img{object-fit:cover}
/* ---- v17 (24 Oct 2026 01:25) ---- */
.lime{color:var(--lime)}
/* header */
.nav{gap:24px;margin-inline-start:auto}
.hdr-in{gap:40px}
.nav .btn-sm{min-height:38px;padding:8px 14px;font-size:13.5px;margin-inline-start:4px}
/* light mega menu */
.ddin{background:#fff;border:1px solid var(--line);border-top:3px solid var(--lime);box-shadow:0 22px 50px rgba(10,16,24,.18)}
.nav .ddin a.ddi{color:var(--ink)}
.ddic{background:var(--card);border-color:var(--line);color:var(--ink)}
.ddt b{color:var(--ink)}
.ddt span{color:var(--muted)}
.nav .ddin a.ddi:hover,.nav .ddin a.ddi:focus-visible{background:var(--card)}
.nav .ddin a.ddi:hover b{color:var(--ink)}
.nav .ddin a.ddi:hover .ddic{background:var(--lime);border-color:var(--ink)}
.nav .ddin a.ddall{color:var(--ink);border-top-color:var(--line)}
.nav .ddin a.ddall:hover{background:var(--card)}
@media (max-width:1080px){.ddin{background:transparent;border:0;box-shadow:none}.ddt b{color:#D3DAE2}.nav .ddin a.ddi:hover{background:transparent}.nav .ddin a.ddi:hover b{color:var(--lime)}}
/* breadcrumbs (product tree) */
.crumbs{font-size:15px;gap:4px;align-items:center;padding-block:16px}
.crumbs a{color:var(--ink);font-weight:500}
.crumbs a:hover{color:var(--ink);text-decoration:underline;text-decoration-color:var(--lime);text-decoration-thickness:3px;text-underline-offset:5px}
.crumbs [aria-current]{color:var(--muted)}
.csep{display:inline-flex;color:var(--muted);padding-inline:4px}
/* section tags */
.eyebrow.tag{align-self:flex-start;background:var(--lime);color:var(--ink);padding:6px 14px;border-radius:999px;font-weight:700;font-size:14px;border:2px solid var(--ink)}
.eyebrow.tag::before{display:none}
/* partner rows */
.prow{transition:transform .2s,box-shadow .2s,border-color .2s;border:2px solid var(--line)}
.prow:hover{border-color:var(--ink);background:#fff;box-shadow:6px 6px 0 var(--lime);transform:translate(-2px,-2px)}
.arrbtn{flex:none;width:48px;height:48px;border-radius:50%;background:var(--ink);color:var(--lime);display:grid;place-items:center;transition:transform .2s}
.arrbtn .arr{width:22px;height:22px}
.prow:hover .arrbtn{background:var(--lime);color:var(--ink);transform:translateX(4px)}
.ar .prow:hover .arrbtn{transform:translateX(-4px)}
/* bands with fibre light effect */
.intro.band{background:var(--ink) url('img/hero/fiber-lines.svg') right center/auto 100% no-repeat}
.ar .intro.band{background-position:left center}
.intro.band .chip{background:rgba(10,16,24,.6)}
.intro.band .chip:hover{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.intro.band .chip:hover .nlb{color:var(--ink)}
.nlb{font-weight:700;color:var(--lime)}
.nsep{opacity:.6;margin-inline:6px}
/* turnkey cards */
.stagesec.alt .stagegrid>.stageimg{order:0}
.tkcard{background:#fff;border:1px solid var(--line);border-top:3px solid var(--ink);border-radius:var(--r);padding:18px 18px 14px;display:flex;flex-direction:column;gap:10px}
.tkcard.val{border-top-color:var(--lime)}
.tkcard .h4{display:flex;align-items:center;gap:8px}
.tkcard .h4 .ico{color:var(--ink)}
.stagesec .valbox{display:none}
/* solutions */
.solic .ico{color:var(--lime)!important}
.hsl{min-height:78px;height:100%}
.hslegend li{display:flex}
.hsl .t{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.hsl .stack-s{min-width:0}
.hsl:hover,.hsl.on{background:#F4FFD1;border-color:var(--ink)}
.hsl:hover .hsln,.hsl.on .hsln{background:var(--ink);color:var(--lime)}
.hsp{width:270px;padding:12px;gap:8px}
.hsp.near{transform:none}
.hsp .hsimg{aspect-ratio:16/10}
.hsp .t{font-size:16px}.hsp .d{font-size:13px}
.hsbtns .btn{min-height:36px;padding:6px 12px;font-size:13px}
.flow4 .flowlist{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:900px){.flow4 .flowlist{grid-template-columns:1fr 1fr}}
.eqtables{align-items:stretch}
.eqtables>.stack{display:flex;flex-direction:column}
.eqtables .tablewrap{flex:1;display:flex}
.eqtables .tablewrap table{height:100%}
/* passive filters */
.fbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.flabel{font-size:14px;font-weight:700;color:var(--ink);min-width:110px}
.gtabs{gap:6px}
.gtabs .chip{border-radius:8px;border:1px solid var(--line);background:#fff;font-weight:600}
.gtabs .chip.on{background:var(--ink);color:var(--white);border-color:var(--ink);box-shadow:inset 0 -3px 0 var(--lime)}
.filters{border-radius:12px;background:#fff}
.filters .flabel{padding-inline:8px 2px}
.stageimg.contain{background:#E6E9ED!important}.stageimg.contain img{object-fit:contain}
.hslegend{align-items:stretch}
.hsl .t{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hsl{height:100%;min-height:84px}
.stageimg.poster{background:linear-gradient(#F6F8FA,#DCE1E6)!important}.stageimg.poster img{object-fit:contain}
.actimg{border-radius:var(--r);border:1px solid var(--line);aspect-ratio:1;display:grid;place-items:center;overflow:hidden}
.actimg img{width:100%;height:100%;object-fit:contain}
.actsec.alt{background:var(--card)}
.actsec .codechip{align-self:flex-start}
/* ---- v18 (24 Oct 2026 02:06) ---- */
/* header: bigger logo, centred uniform nav, language + CTA on the end */
.hdr-in{padding-block:12px;gap:32px}
.logo img{height:46px}
.nav{flex:1;gap:6px;margin-inline-start:0}
.nav>:first-child{margin-inline-start:auto}
.nav .lang{margin-inline-start:auto;padding-inline:12px;border-inline-start:1px solid var(--line-dark);font-size:14px}
.nav>a:not(.btn):not(.lang),.nav .navtop{padding:9px 14px;border-radius:8px;font-size:15px;font-weight:500;color:#E7ECF1;text-decoration:none!important;position:relative;transition:background .15s,color .15s}
.nav>a:not(.btn):not(.lang):hover,.navi:hover .navtop{background:rgba(255,255,255,.08);color:var(--white)}
.nav>a[aria-current]:not(.btn),.nav .navtop[aria-current]{color:var(--lime)}
.nav>a[aria-current]:not(.btn)::after,.nav .navtop[aria-current]::after{content:"";position:absolute;inset-inline:14px;bottom:2px;height:2px;border-radius:2px;background:var(--lime)}
.dd{padding-top:14px;inset-inline-start:0}
@media (max-width:1080px){.nav>:first-child,.nav .lang{margin-inline-start:0}.nav .lang{border:0}.nav>a:not(.btn):not(.lang),.nav .navtop{padding:12px 0;border-radius:0}.nav .navtop[aria-current]::after,.nav>a[aria-current]::after{display:none}.logo img{height:38px}}
/* clean links: no pills */
.more{background:none;border:0;padding:4px 0;border-radius:0;color:var(--ink);font-weight:600;font-size:15px;gap:10px;box-shadow:none!important;transform:none!important}
.more .arr{width:30px;height:30px;padding:7px;border-radius:50%;background:var(--ink);color:var(--lime);transition:transform .2s,background .2s}
a:hover .more,.more:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px;text-decoration-color:var(--lime)}
a:hover .more .arr,.more:hover .arr{background:var(--lime);color:var(--ink)}
.eyebrow.tag{display:none}
/* CTA band: full lime, centred */
.ctaband{background:var(--lime);color:var(--ink)}
.ctaband-in{flex-direction:column;justify-content:center;text-align:center;padding-block:72px;gap:28px}
.ctaband-t{justify-content:center}
.ctaband-t img{display:none}
.ctaband h2{color:var(--ink);max-width:none}
.ctaband .lime{color:var(--ink);text-decoration:underline;text-decoration-thickness:4px;text-underline-offset:8px}
.ctaband .btn-lime{background:var(--ink);color:var(--lime)!important}
.ctaband .btn-lime:hover{background:#1d2733}
/* intro bands: fibre-light photo */
.intro.band{background:linear-gradient(90deg,var(--ink) 30%,rgba(10,16,24,.55) 62%,rgba(10,16,24,.15) 100%),var(--ink) url('img/hero/fiber-band.jpg') right center/cover no-repeat;padding-block:64px 60px}
.ar .intro.band{background:linear-gradient(270deg,var(--ink) 30%,rgba(10,16,24,.55) 62%,rgba(10,16,24,.15) 100%),var(--ink) url('img/hero/fiber-band.jpg') left center/cover no-repeat}
.intro.band .chip .nlb{display:none}
/* stage / model numbers */
.stageno{display:inline-flex;align-items:baseline;gap:8px;font-family:var(--f-display);line-height:1}
.stageno b{font-size:44px;color:var(--ink);border-bottom:4px solid var(--lime);padding-bottom:4px}
.stageno i{font-style:normal;font-size:18px;color:var(--muted)}
/* turnkey stage 2 product grid */
.mfggrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-self:start}
.mfgcard{display:flex;flex-direction:column;gap:12px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px 12px 16px;text-decoration:none;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.mfgcard:hover{border-color:var(--ink);box-shadow:0 10px 30px rgba(10,16,24,.10)}
.mfgimg{aspect-ratio:1;border-radius:8px;display:grid;place-items:center;overflow:hidden}
.mfgimg img{width:100%;height:100%;object-fit:contain}
.mfgcard .t{font-weight:700;font-size:16px}.mfgcard .d{font-size:13.5px;color:var(--muted);line-height:1.5}
.mfgcard .code{font-size:12px;color:var(--muted)}
@media (max-width:560px){.mfggrid{grid-template-columns:1fr}}
/* solutions: legend hover flips to dark */
.hsl{transition:background .15s,color .15s,border-color .15s}
.hsl:hover,.hsl.on{background:var(--ink)!important;border-color:var(--ink)!important;color:var(--white)}
.hsl:hover .t,.hsl.on .t{color:var(--white)}
.hsl:hover .code,.hsl.on .code{color:#9AA6B2}
.hsl:hover .hsln,.hsl.on .hsln{background:var(--lime)!important;color:var(--ink)!important}
.hs.multi::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px dashed var(--lime)}
.hsp.wide{width:330px}
.hsrow{display:grid;grid-template-columns:64px 1fr;gap:10px;align-items:start;padding-top:10px;border-top:1px solid var(--line)}
.hsrimg{width:64px;height:64px;border-radius:6px;display:grid;place-items:center;overflow:hidden}
.hsrimg img{width:100%;height:100%;object-fit:contain}
.hsrow .t{font-size:14px;font-weight:700}.hsrow .d{font-size:12.5px;color:var(--muted);line-height:1.45}
.hslinks{display:flex;gap:14px;font-size:13px;font-weight:600}
.hslinks a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--lime);text-decoration-thickness:2px;text-underline-offset:3px}
/* maintenance */
.mhead{gap:40px}
.mhead .opsroom{margin:0;border-radius:12px;overflow:hidden;aspect-ratio:16/10}
.mhead .opsroom img{width:100%;height:100%;object-fit:cover;max-height:none}
.chain{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px}
.chain li{position:relative;display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px}
.chain li .snum{width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--lime);display:grid;place-items:center;font-weight:700;font-size:13px}
.chain li .t{font-weight:700;font-size:17px}.chain li .d{font-size:14px;color:var(--muted)}
.chain li:not(:last-child)::after{content:"";position:absolute;top:50%;inset-inline-end:-29px;width:22px;height:22px;transform:translateY(-50%);background:no-repeat center/22px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A1018' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E")}
.ar .chain li:not(:last-child)::after{transform:translateY(-50%) scaleX(-1)}
@media (max-width:900px){.chain{grid-template-columns:1fr;gap:28px}.chain li:not(:last-child)::after{top:auto;bottom:-26px;inset-inline-end:auto;inset-inline-start:24px;transform:rotate(90deg)}.ar .chain li:not(:last-child)::after{transform:rotate(90deg)}}
.eqtables .note{margin:0;min-height:3em}
/* product gallery thumbs: images only */
.thumbs.n2{grid-template-columns:repeat(4,minmax(0,1fr))}
.thumb.img{padding:4px;aspect-ratio:1;min-height:0;display:grid;place-items:center;overflow:hidden}
.thumb.img img{width:100%;height:100%;object-fit:contain}
.thumb.img.on{border:2px solid var(--ink);box-shadow:none}
/* ---- v19 (24 Oct 2026 02:37) ---- */
/* big header at top, compact after scroll */
.hdr-in{padding-block:22px;transition:padding .25s ease}
.logo img{height:58px;transition:height .25s ease}
.nav>a:not(.btn),.nav .navtop{font-size:17px;transition:font-size .25s ease,background .15s,color .15s}
.nav .btn-sm{font-size:15px;min-height:44px;padding:10px 20px;transition:all .25s ease}
.hdr.small .hdr-in{padding-block:10px}
.hdr.small .logo img{height:40px}
.hdr.small .nav>a:not(.btn),.hdr.small .nav .navtop{font-size:15px}
.hdr.small .nav .btn-sm{font-size:13.5px;min-height:38px;padding:8px 14px}
/* EN | AR switch */
.langsw{display:inline-flex;margin-inline-start:auto;border:1px solid var(--line-dark);border-radius:999px;padding:3px;gap:2px}
.nav .langsw a{padding:5px 11px!important;border-radius:999px;font-size:13px!important;font-weight:700;letter-spacing:.04em;color:#9AA6B2;text-decoration:none}
.nav .langsw a[aria-current]{background:var(--white);color:var(--ink)}
.nav .langsw a:not([aria-current]):hover{color:var(--lime);background:transparent}
/* dropdowns: two columns, dark hover */
.ddin.wide{min-width:600px}
.ddin.wide .ddgrid{grid-template-columns:1fr 1fr;gap:4px}
.nav .ddin a.ddi{border-radius:8px;transition:background .15s,color .15s}
.nav .ddin a.ddi:hover,.nav .ddin a.ddi:focus-visible{background:var(--ink)!important}
.nav .ddin a.ddi:hover b,.nav .ddin a.ddi:focus-visible b{color:var(--white)!important}
.nav .ddin a.ddi:hover .ddt span{color:#9AA6B2}
.nav .ddin a.ddi:hover .ddic{background:var(--lime)!important;border-color:var(--lime)!important;color:var(--ink)}
.nav .ddin a.ddall:hover{background:var(--ink)!important;color:var(--white)!important}
@media (max-width:1080px){.hdr-in,.hdr.small .hdr-in{padding-block:10px}.logo img,.hdr.small .logo img{height:40px}.nav>a:not(.btn),.nav .navtop{font-size:15px}.langsw{margin-inline-start:0;align-self:flex-start;margin-block:10px}.ddin.wide{min-width:0}.ddin.wide .ddgrid{grid-template-columns:1fr}.nav .ddin a.ddi:hover{background:transparent!important}}
.nav .langsw a{border:0!important}
/* turnkey stage 2: one card */
.mfgpanel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;align-self:start;box-shadow:0 10px 30px rgba(10,16,24,.06)}
.mfghead{margin:0 0 16px;font-weight:700;font-size:15px;display:flex;align-items:center;gap:10px}
.mfghead::before{content:"";width:10px;height:10px;border-radius:2px;background:var(--lime);outline:1px solid var(--ink)}
.mfgpanel .mfggrid{gap:0}
.mfgpanel .mfgcard{border:0;border-radius:8px;padding:12px;box-shadow:none}
.mfgpanel .mfgcard:hover{background:var(--card);box-shadow:none}
.mfgpanel .mfgcard:nth-child(-n+2){border-bottom:1px solid var(--line);border-radius:8px 8px 0 0}
/* product tree (left navigation) */
.withtree{display:grid;grid-template-columns:270px minmax(0,1fr);gap:40px;align-items:start;padding-block:32px 0}
.treebody .wrap{max-width:none;padding-inline:0!important}
.treebody>.sec,.treebody .sec{border-top:0;background:transparent!important}
.treebody .sec>.wrap{padding-block:0 48px}
.treebody .sec.top>.wrap{padding-top:0}
.ptree{position:sticky;top:96px;max-height:calc(100vh - 116px);overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff;padding:14px 10px;font-size:14px}
.ptm-s{display:none}
.pt-sec+.pt-sec{border-top:1px solid var(--line);margin-top:10px;padding-top:10px}
.ptree ul{list-style:none;margin:0;padding:0}
.ptree a{display:block;text-decoration:none;color:var(--ink);padding:6px 10px;border-radius:6px;line-height:1.35}
.ptree a:hover{background:var(--ink);color:var(--white)}
.ptree a[aria-current]{background:var(--ink);color:var(--lime);font-weight:700}
.pt-h{font-weight:800;font-size:13px;letter-spacing:.04em;text-transform:uppercase}
.ar .pt-h{text-transform:none;letter-spacing:0}
.ptree summary{display:flex;align-items:center;gap:4px;cursor:pointer;list-style:none;position:relative;padding-inline-start:18px}
.ptree summary::-webkit-details-marker{display:none}
.ptree summary::before{content:"";position:absolute;inset-inline-start:4px;top:50%;width:7px;height:7px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:translateY(-70%) rotate(-45deg);transition:transform .15s}
.ar .ptree summary::before{transform:translateY(-70%) rotate(135deg)}
.ptree details[open]>summary::before{transform:translateY(-70%) rotate(45deg)}
.ptree summary .pt-g{flex:1;font-weight:600}
.ptree summary .n{font-size:12px;color:var(--muted);padding-inline-end:6px}
.pt-gl .pt-p{padding-inline-start:18px;border-inline-start:2px solid var(--line);margin-inline-start:12px;margin-block:2px 6px}
.pt-gl .pt-p a{font-size:13.5px;color:#3B4652;padding-block:5px}
.treebody .fbar{display:none}
@media (max-width:960px){.withtree{grid-template-columns:1fr;gap:20px}.ptree{position:static;max-height:none}.ptm-s{display:block;font-weight:700;padding:4px 10px;cursor:pointer}}
.appl a{color:var(--ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--lime);text-decoration-thickness:2px;text-underline-offset:3px}.appl b{margin-inline-end:4px}.apptab .lede{margin:0}
.ptree .ptm-s{display:none}
.ptree .pt-p a[aria-current],.ptree a[aria-current]{background:var(--ink)!important;color:var(--lime)!important;font-weight:700}
.ptree .pt-p a:hover{background:var(--ink);color:var(--white)}
@media (max-width:960px){.ptree .ptm-s{display:flex}}
/* product tree v2 — refined */
.ptree{border:0;background:transparent;padding:0;font-size:14px}
.ptree .ts{padding-block:4px 18px}
.ptree .ts+.ts{border-top:1px solid var(--line);padding-top:18px}
.ptree .tsh{margin:0 0 8px}
.ptree .tsh a{display:inline;padding:0;background:none!important;font-family:var(--f-display);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)!important;font-weight:600}
.ar .ptree .tsh a{letter-spacing:0;text-transform:none;font-family:inherit;font-size:14px}
.ptree .tsh a:hover{color:var(--ink)!important}
.ptree .tsh a[aria-current]{color:var(--ink)!important}
.ptree .tl{display:flex;flex-direction:column;gap:2px}
.ptree summary{padding:0;display:flex;align-items:center;gap:0;border-radius:10px}
.ptree summary::before{display:none}
.ptree .tc{flex:none;color:var(--muted);margin-inline:4px 8px;transition:transform .2s}
.ptree details[open]>summary .tc{transform:rotate(180deg)}
.ptree a.tgl{flex:1;display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:10px;color:var(--ink);font-weight:500;background:none}
.ptree .tgi{flex:none;width:32px;height:32px;border-radius:8px;display:grid;place-items:center;background:var(--card);border:1px solid var(--line);color:var(--ink);transition:all .15s}
.ptree .tgt{flex:1;line-height:1.3}
.ptree .tgn{flex:none;font-size:12px;font-weight:600;color:var(--muted);background:var(--card);border-radius:999px;padding:2px 8px}
.ptree summary:hover,.ptree li>a.tgl:hover{background:var(--card)}
.ptree a.tgl:hover{color:var(--ink)}
.ptree a.tgl:hover .tgi{background:var(--ink);border-color:var(--ink);color:var(--lime)}
.ptree a.tgl[aria-current],.ptree .tg.open>details>summary{background:var(--ink)!important;color:var(--white)!important}
.ptree a.tgl[aria-current] .tgi,.ptree .tg.open>details>summary .tgi{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.ptree .tg.open>details>summary a.tgl{color:var(--white)!important;background:none!important}
.ptree .tg.open>details>summary .tgn{background:rgba(255,255,255,.12);color:#C9D1DA}
.ptree .tg.open>details>summary .tc{color:var(--lime)}
.ptree .tp{margin:6px 0 10px;padding:0;margin-inline-start:26px;border-inline-start:1px solid var(--line)}
.ptree .tp a{display:block;padding:7px 14px;border-radius:0;font-size:13.5px;color:#4A5561!important;background:none!important;border-inline-start:2px solid transparent;margin-inline-start:-1px;font-weight:400}
.ptree .tp a:hover{color:var(--ink)!important;border-inline-start-color:var(--ink)}
.ptree .tp a[aria-current]{color:var(--ink)!important;font-weight:700;border-inline-start-color:var(--lime);background:linear-gradient(90deg,rgba(204,255,0,.18),transparent)!important}
.ar .ptree .tp a[aria-current]{background:linear-gradient(270deg,rgba(204,255,0,.18),transparent)!important}
.withtree{grid-template-columns:290px minmax(0,1fr);gap:48px}
@media (max-width:960px){.ptree{border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff}}
/* ---- v20 (24 Oct 2026 02:51) ---- */
/* breadcrumb frozen with the dark header */
.hdr .crumbs{background:#fff;color:var(--muted);max-width:none;padding-block:12px;border-bottom:1px solid var(--line);margin:0}
.hdr .crumbs{padding-left:max(var(--gut),calc((100vw - 1328px)/2 + min(5vw,64px)));padding-right:max(var(--gutR),calc((100vw - 1328px)/2 + min(5vw,64px)))}
.hdr .crumbs a{color:var(--ink)}
.ptree{top:150px;max-height:calc(100vh - 170px)}
/* turnkey: compact stages that fit the screen */
.stagesec.compact>.wrap{padding-block:44px}
.treebody .stagesec.compact>.wrap{padding-block:8px 44px}
.stagesec.compact .stagegrid{align-items:center;gap:32px}
.stagesec.compact h2{font-size:clamp(24px,2.4vw,32px);margin:0}
.stagesec.compact .lede{font-size:16px;margin:0}
.stagesec.compact .stack{gap:14px}
.stagesec.compact .stageno b{font-size:32px}
.stagesec.compact .tkcols{gap:12px}
.stagesec.compact .tkcard{padding:14px 14px 10px;gap:8px}
.stagesec.compact .tkcard .h4{font-size:14px}
.stagesec.compact .tkcard .adv{gap:6px}
.stagesec.compact .tkcard .adv li{font-size:13.5px;line-height:1.45}
.stagesec.compact .stageimg{aspect-ratio:4/3;height:auto;min-height:0;max-height:420px;width:100%}
.stagesec.compact .stageimg img{object-fit:cover}
.stagesec.compact .stageimg.fam{display:block;background:linear-gradient(#F8F9FB,#DEE3E8)!important}
.stagesec.compact .stageimg.fam img{object-fit:contain}
.treebody .stagesec.alt{background:transparent}
.treebody .stagesec+.stagesec>.wrap{border-top:1px solid var(--line);padding-top:36px}
.treebody .stagegrid{grid-template-columns:1fr 1fr}
@media (max-width:1180px){.treebody .stagegrid{grid-template-columns:1fr}.stagesec.compact .stageimg{max-height:none}}
/* solutions inside the tree layout */
.treebody .solblock>.wrap{padding-block:8px 48px}
.treebody .solblock+.solblock>.wrap{border-top:1px solid var(--line);padding-top:40px}
.treebody .solhead{gap:24px}
/* tree v3 — collapsible sections */
.ptree details.ts{padding:0;border:0}
.ptree .ts{padding-block:2px}
.ptree .ts+.ts{border-top:1px solid var(--line);padding-top:6px;margin-top:6px}
.ptree summary.tsh{display:flex;align-items:center;justify-content:space-between;padding:10px 6px 10px 4px;margin:0;border-radius:8px}
.ptree summary.tsh:hover{background:var(--card)}
.ptree .ts.single .tsh{padding:10px 4px;margin:0}
.ptree details.ts>.tl{padding-bottom:10px}
.ptree .ts.cur>.tsh a,.ptree .ts.cur .tsh a{color:var(--ink)!important}
.ptree .ts.cur>summary .tc{color:var(--ink)}
.ptree{max-height:none;overflow:visible}
/* ---- v21 (24 Oct 2026 11:18) ---- */
/* home section heads + footers */
.sechead{display:flex;flex-direction:column;gap:8px;margin-bottom:28px;max-width:820px}
.sechead h2{font-size:clamp(30px,3.4vw,44px);margin:0}
.sechead .lede{margin:0;color:var(--muted)}
.secfoot{display:flex;justify-content:center;margin-top:32px}
.morebtn{border-color:var(--ink);gap:12px;transition:background .25s,color .25s,gap .25s}
.morebtn:hover{background:var(--ink);color:var(--lime);gap:18px}
.rtsec .sub{color:var(--muted);margin:-6px 0 0;font-weight:600}
/* solution card hover: lift, zoom, CTA pill fills */
.solcard{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s}
.solcard .solthumb{overflow:hidden}
.solcard .solthumb img{transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.solcard:hover{transform:translateY(-8px);box-shadow:0 28px 60px rgba(10,16,24,.18);border-color:var(--ink)}
.solcard:hover .solthumb img{transform:scale(1.08)}
.solcard .cardtop .ico{transition:transform .5s cubic-bezier(.2,.8,.2,1),color .3s}
.solcard:hover .cardtop .ico{transform:rotate(-8deg) scale(1.15);color:var(--ink)}
.more.go{position:relative;overflow:hidden;isolation:isolate;padding:10px 16px 10px 0;border-radius:999px;transition:padding .35s cubic-bezier(.2,.8,.2,1),color .3s;text-decoration:none!important}
.more.go::before{content:"";position:absolute;inset:0;background:var(--ink);border-radius:999px;transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.2,.8,.2,1);z-index:-1}
.ar .more.go::before{transform-origin:right}
.more.go .arr{transition:transform .35s,background .3s,color .3s}
a:hover .more.go{padding-inline:18px 8px;color:var(--white)}
a:hover .more.go::before{transform:scaleX(1)}
a:hover .more.go .arr{background:var(--lime);color:var(--ink);transform:translateX(4px) rotate(-45deg)}
.ar a:hover .more.go .arr{transform:translateX(-4px) rotate(45deg)}
/* home map popups: compact, one line per product, dark hover */
.hzp{width:290px;padding:12px 12px 10px;gap:4px}
.hzp:has(ul.two){width:420px}
.hzp b{font-size:15px}.hzp .d{display:none}
.hzp ul{margin:4px 0 2px;padding-top:6px}
.hzp li a{padding:5px 8px;font-size:13px;white-space:nowrap;overflow:hidden}
.hzp li a .t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.hzp li a:hover,.hzp li a:focus-visible{background:var(--ink)!important;color:var(--white)!important}
.hzp li a:hover .arr{color:var(--lime)}
.hzp .more{font-size:13px}
.hz:hover .hzp,.hz:focus-within .hzp,.hz.open .hzp{animation:popin .28s cubic-bezier(.2,.8,.2,1)}
@keyframes popin{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}
/* app section */
.appimg{border-radius:14px;overflow:hidden;box-shadow:0 24px 60px rgba(10,16,24,.15)}
.appimg img{width:100%;display:block;aspect-ratio:4/3;object-fit:cover}
.appctl{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.appctl li{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--card);border:1px solid var(--line);font-weight:600;font-size:14px;transition:background .2s,color .2s,transform .2s}
.appctl li:hover{background:var(--ink);color:var(--white);transform:translateY(-2px)}
.appctl .ck{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--lime);color:var(--ink)}
.appctl .ck .ico{stroke-width:2.5}
.rtimg img{transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}.rtimg{overflow:hidden}
.rtimg:hover img,.appimg:hover img{transform:scale(1.04)}.appimg img{transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
/* energetic motion */
.herotxt>*{animation:rise .9s cubic-bezier(.2,.8,.2,1) both}
.herotxt>*:nth-child(2){animation-delay:.15s}.herotxt>*:nth-child(3){animation-delay:.3s}
@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.intro.band h1,.intro.band .lede,.intro.band .chips{animation:rise .8s cubic-bezier(.2,.8,.2,1) both}
.intro.band .lede{animation-delay:.12s}.intro.band .chips{animation-delay:.24s}
.rv{opacity:0;transform:translateY(34px);transition:opacity .75s cubic-bezier(.2,.8,.2,1),transform .75s cubic-bezier(.2,.8,.2,1)}
.rv.rl{transform:translateX(-46px)}.rv.rr{transform:translateX(46px)}.rv.rs{transform:scale(.92)}
.rv.in{opacity:1;transform:none}
.hs{animation:pinpulse 2.4s ease-out infinite}
.hs:nth-of-type(2n){animation-delay:.6s}.hs:nth-of-type(3n){animation-delay:1.2s}
@keyframes pinpulse{0%{box-shadow:0 0 0 0 rgba(204,255,0,.75),0 4px 14px rgba(0,0,0,.35)}70%{box-shadow:0 0 0 16px rgba(204,255,0,0),0 4px 14px rgba(0,0,0,.35)}100%{box-shadow:0 0 0 0 rgba(204,255,0,0),0 4px 14px rgba(0,0,0,.35)}}
.hzb .dot{animation:pinpulse 2.4s ease-out infinite;border-radius:50%}
.solbg{transition:transform 6s ease}.solstage:hover .solbg{transform:scale(1.03)}
.ctaband h2 .lime{background:linear-gradient(currentColor,currentColor) left bottom/0 4px no-repeat;text-decoration:none;transition:background-size .8s}
.ctaband.in h2 .lime,.ctaband:hover h2 .lime{background-size:100% 4px}
/* hover rail navigation */
.withtree{grid-template-columns:minmax(0,1fr);padding-top:28px}
.ptree.rail{position:fixed;top:50%;transform:translateY(-50%);inset-inline-start:14px;z-index:15;width:auto;max-height:none;overflow:visible;border:0;padding:0;background:transparent}
.rbar{display:flex;flex-direction:column;gap:6px;padding:8px;background:var(--ink);border-radius:16px;box-shadow:0 14px 40px rgba(10,16,24,.28)}
.rbar .ri,.rbar .rpin{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;color:#9AA6B2;background:transparent;border:0;cursor:pointer;transition:background .2s,color .2s,transform .2s}
.rbar .ri:hover{background:rgba(255,255,255,.1);color:var(--white);transform:scale(1.06)}
.rbar .ri.on{background:var(--lime);color:var(--ink)}
.rbar .rpin{width:40px;height:28px;color:#6B7785}
.rbar .rpin:hover,.rbar .rpin[aria-pressed=true]{color:var(--lime)}
.tpanel{position:absolute;top:50%;inset-inline-start:calc(100% + 10px);transform:translate(-10px,-50%);width:300px;max-height:calc(100vh - 180px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 30px 70px rgba(10,16,24,.22);padding:14px 10px;opacity:0;visibility:hidden;transition:opacity .25s,transform .25s,visibility .25s}
.ar .tpanel{transform:translate(10px,-50%)}
.ptree.rail:hover .tpanel,.ptree.rail:focus-within .tpanel,.treepin .ptree.rail .tpanel{opacity:1;visibility:visible;transform:translate(0,-50%)}
.treepin .withtree{padding-inline-start:330px}
.ptree .tgt,.ptree .tp a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ptree .tp a{max-width:100%}
.ptree a.tgl{padding:7px 8px;gap:10px}.ptree .tgi{width:28px;height:28px}
@media (max-width:960px){.ptree.rail{position:static;transform:none}.rbar{display:none}.tpanel{position:static;opacity:1;visibility:visible;transform:none;width:auto;max-height:none;box-shadow:none}.treepin .withtree{padding-inline-start:0}}
/* active: better technical tables */
.actsec .tablewrap{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 10px 30px rgba(10,16,24,.05)}
.actsec .spec{border:0;margin:0}
.actsec .spec tr{transition:background .15s}
.actsec .spec tr:nth-child(even){background:#F7F9FA}
.actsec .spec tr:hover{background:#F1FCD2}
.actsec .spec th{width:30%;font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:14px 22px;border-inline-end:1px solid var(--line);vertical-align:middle}
.ar .actsec .spec th{letter-spacing:0;text-transform:none;font-size:14px}
.actsec .spec td{font-size:15px;color:var(--ink);padding:14px 22px;font-weight:500}
.actsec .spec tr:last-child th,.actsec .spec tr:last-child td{border-bottom:0}
.actsec h3.h4{display:flex;align-items:center;gap:10px}
.actsec h3.h4::before{content:"";width:6px;height:22px;border-radius:3px;background:var(--lime)}
/* solutions popovers with many products */
.hsp.wide{width:340px;max-height:calc(100% - 16px);overflow:auto}
.hsrow{grid-template-columns:48px 1fr;gap:10px;padding-top:8px}
.hsrimg{width:48px;height:48px}
.hsrow .d{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* one-line headings in tight places */
.stagesec h2,.solhead h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rbar .ri .ico,.rbar .rpin svg{color:inherit!important;stroke:currentColor}
.ptree.rail{top:150px;transform:none}
.tpanel{top:0;transform:translateX(-10px);max-height:calc(100vh - 170px)}
.ar .tpanel{transform:translateX(10px)}
.ptree.rail:hover .tpanel,.ptree.rail:focus-within .tpanel,.treepin .ptree.rail .tpanel{transform:none}
.nmstage .hz:hover,.nmstage .hz:focus-within,.nmstage .hz.open{z-index:40}
.nmstage .hz{isolation:isolate}
.nmstage:has(.hz:hover) .hz:not(:hover),.nmstage:has(.hz.open) .hz:not(.open){opacity:.18;transition:opacity .25s}
.hzp:has(ul.two){width:470px}
.hzp ul.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.hzp li{min-width:0}.hzp li a{min-width:0}
/* ---- v22 (24 Oct 2026 12:08) ---- */
/* numbered home sections with pulsing badge */
.numh{display:flex;align-items:center;gap:18px}
.secno{position:relative;flex:none;width:56px;height:56px;border-radius:50%;background:var(--ink);color:var(--lime);display:grid;place-items:center;font-family:var(--f-display);font-size:26px;line-height:1}
.secno::before,.secno::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--lime);animation:ring 2.4s ease-out infinite}
.secno::after{animation-delay:1.2s}
@keyframes ring{0%{transform:scale(1);opacity:.9}100%{transform:scale(1.7);opacity:0}}
/* active products: aligned top + model cards */
.rtsec2{align-items:start;gap:48px}
.rtsec2 .sechead{margin-bottom:6px}
.rtsec2 .rtimg{border-radius:14px;margin-top:4px}
.rmodels{display:grid;gap:12px}
.rmodel{display:flex;flex-direction:column;gap:8px;padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#fff;text-decoration:none;color:var(--ink);transition:border-color .2s,box-shadow .2s,transform .2s}
.rmodel:hover{border-color:var(--ink);box-shadow:0 14px 34px rgba(10,16,24,.10);transform:translateY(-2px)}
.rmh{display:flex;align-items:center;justify-content:space-between;gap:10px}
.rmh .t{font-weight:700;font-size:16px}
.rmd{font-size:14px;color:var(--muted);line-height:1.5}
.mts{display:flex;flex-wrap:wrap;gap:8px}
.mt{display:inline-flex;align-items:baseline;gap:6px;padding:6px 10px;border-radius:8px;background:var(--card)}
.mt b{font-family:var(--f-display);font-size:14px}.mt i{font-style:normal;font-size:12px;color:var(--muted)}
/* application: text left, image right */
.appsec2{gap:48px}
.appsec2 .appctl li{font-size:13.5px}
/* turnkey copy blocks */
.tkblocks{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line);margin-top:4px}
.tkb{padding:16px 18px 4px 0}
.tkb.val{padding-inline:22px 0;border-inline-start:1px solid var(--line)}
.tkbh{font-family:var(--f-body)!important;font-size:12.5px!important;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}
.ar .tkbh{letter-spacing:0;text-transform:none;font-size:14px!important}
.wdl,.vll{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.wdl li,.vll li{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;font-size:14.5px;line-height:1.45;color:var(--ink)}
.wn{font-family:var(--f-display);font-size:13px;color:var(--ink);background:var(--lime);border-radius:6px;height:24px;display:grid;place-items:center}
.vk{width:24px;height:24px;border-radius:50%;background:var(--ink);color:var(--lime);display:grid;place-items:center}
.vk .ico{stroke-width:2.5}
@media (max-width:640px){.tkblocks{grid-template-columns:1fr}.tkb.val{padding-inline:0;border:0;border-top:1px solid var(--line)}}
/* product family grid (stage 2) */
.famgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:22px;border-radius:16px;background:linear-gradient(160deg,#F9FAFB,#DFE4E9);box-shadow:inset 0 0 0 1px #E3E7EB;align-self:center}
.famt{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 8px 10px;border-radius:12px;text-decoration:none;color:var(--ink);transition:background .2s,transform .25s}
.famt:hover{background:rgba(255,255,255,.75);transform:translateY(-3px)}
.fimg{height:118px;width:100%;display:grid;place-items:center}
.fimg img{max-height:118px;max-width:86%;object-fit:contain;filter:drop-shadow(0 10px 12px rgba(10,16,24,.18));transition:transform .35s}
.famt:hover .fimg img{transform:scale(1.07)}
.fn{font-size:11.5px;font-weight:700;letter-spacing:.02em;color:#3A4450;white-space:nowrap}
.famall{grid-column:1/-1;justify-self:center;margin-top:6px;font-size:13px;font-weight:700;color:var(--ink);text-decoration:none;display:inline-flex;gap:8px;align-items:center}
.famall:hover{text-decoration:underline;text-decoration-color:var(--lime);text-decoration-thickness:2px}
/* footer: five columns, bullets, bigger logo */
.ftr-brand img{height:56px!important}
.fcols{grid-template-columns:repeat(5,minmax(0,1fr));gap:28px}
.fcol ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.fcol li{display:flex;align-items:baseline;gap:9px}
.fcol li::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--lime);transform:translateY(-2px)}
.fmail{grid-column:1/-1;color:var(--lime);text-decoration:none;font-weight:600;margin-top:4px}
.fmail:hover{text-decoration:underline}
@media (max-width:1100px){.fcols{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:620px){.fcols{grid-template-columns:1fr 1fr}}
/* solutions: popovers never scroll; names max two lines; sourced essentials */
.hsp.wide{width:min(560px,70%);max-height:none;overflow:visible}
.hsp.wide .hsrow{display:grid}
.hsp.wide{display:grid;grid-template-columns:1fr 1fr;column-gap:14px;row-gap:0;align-content:start}
.hsp.wide[hidden]{display:none}
.hsp.wide>.stack-s,.hsp.wide>.hsx{grid-column:1/-1}
.hsp.wide .hsrow .d{-webkit-line-clamp:2}
.hsl .t{-webkit-line-clamp:2!important}
.hslegend{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr))}
.sourced{margin-top:18px;padding:16px 18px;border-radius:14px;background:var(--card);border:1px dashed #C9D1DA;display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center}
.srch{margin:0;display:flex;flex-direction:column;gap:2px;min-width:220px}
.srch b{font-size:14px}.srch span{font-size:12.5px;color:var(--muted)}
.sourced ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.sourced li{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:13px;font-weight:600}
.sk{color:var(--muted);display:grid}
/* show / hide navigation (no hover) */
.ptree.rail:hover .tpanel,.ptree.rail:focus-within .tpanel{opacity:0;visibility:hidden;transform:translateX(-10px)}
.treepin .ptree.rail .tpanel,.treepin .ptree.rail:hover .tpanel{opacity:1;visibility:visible;transform:none}
.treepin .withtree{padding-inline-start:0}
.rbar .rpin{width:40px;height:auto;padding:6px 0;display:flex;flex-direction:column;align-items:center;gap:3px;font:700 9.5px/1 var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:#C9D1DA;border-bottom:1px solid rgba(255,255,255,.12);border-radius:10px 10px 4px 4px}
.rbar .rpin:hover,.rbar .rpin[aria-pressed=true]{color:var(--lime);background:rgba(255,255,255,.06)}
/* contact */
.csec>.wrap{padding-block:40px 72px}
.cgrid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:40px;align-items:start}
.cside{position:sticky;top:150px;background:var(--ink);color:var(--white);border-radius:18px;padding:32px;display:flex;flex-direction:column;gap:22px;overflow:hidden}
.cside::after{content:"";position:absolute;inset:auto -30% -40% auto;width:320px;height:320px;background:radial-gradient(circle,rgba(204,255,0,.25),transparent 65%)}
.cside h1{color:var(--white);margin:0;font-size:clamp(32px,3.2vw,44px)}
.cside .lede{color:#C9D1DA;margin:0}
.cside .label{color:#9AA6B2}
.cmail{display:flex;flex-direction:column;gap:6px;padding:16px;border-radius:12px;background:rgba(255,255,255,.06)}
.cmail a{color:var(--lime);font-weight:700;font-size:18px;text-decoration:none}
.cmail a:hover{text-decoration:underline}
.cnext{display:flex;flex-direction:column;gap:12px}
.cside .wdl li{color:#E7ECF1}
.cformwrap{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:0 20px 50px rgba(10,16,24,.06)}
.cform{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
.cform .full{grid-column:1/-1}
.cform fieldset{border:0;padding:0;margin:0}
.cform legend,.cform label{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:8px;display:block}
.cform label b{color:#D33}
.cform input,.cform select,.cform textarea{border:1px solid #CBD2D9;border-radius:10px;background:#FAFBFC;transition:border-color .2s,box-shadow .2s,background .2s}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:0;border-color:var(--ink);background:#fff;box-shadow:0 0 0 4px rgba(204,255,0,.45)}
.ichips{display:flex;flex-wrap:wrap;gap:8px}
.ichip{margin:0!important;cursor:pointer}
.ichip input{position:absolute;opacity:0;pointer-events:none}
.ichip span{display:inline-flex;padding:9px 14px;border-radius:999px;border:1px solid #CBD2D9;font-size:13.5px;font-weight:600;color:var(--ink);background:#fff;transition:all .2s}
.ichip input:checked+span{background:var(--ink);color:var(--white);border-color:var(--ink);box-shadow:inset 0 -3px 0 var(--lime)}
.ichip:hover span{border-color:var(--ink)}
.consent{display:flex!important;align-items:flex-start;gap:10px;font-weight:500!important;color:var(--muted)!important}
.consent input{width:18px;height:18px;min-height:0;margin-top:2px;flex:none}
.fsub{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.btn-lg{min-height:54px;padding:14px 28px;font-size:16px}
.qprod{grid-column:1/-1;display:grid;grid-template-columns:72px 1fr auto auto;gap:14px;align-items:center;padding:12px;border-radius:14px;background:#F4FBDF;border:1px solid #D9F08A}
.qprod[hidden]{display:none}
.qimg{width:72px;height:72px;border-radius:10px;background:#fff;display:grid;place-items:center;overflow:hidden}
.qimg img{width:100%;height:100%;object-fit:contain}
.qname{font-size:16px}
.qlink{font-size:13px;font-weight:700;color:var(--ink)}
.qx{width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:18px}
@media (max-width:900px){.cgrid{grid-template-columns:1fr}.cside{position:static}.cform{grid-template-columns:1fr}}
/* app features */
.featgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.feat{display:flex;flex-direction:column;gap:8px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff;transition:background .25s,color .25s,transform .25s}
.feat:hover{background:var(--ink);color:var(--white);transform:translateY(-3px)}
.feat:hover span:last-child{color:#C9D1DA}
.fico{width:30px;height:30px;border-radius:8px;background:var(--lime);color:var(--ink);display:grid;place-items:center}
.feat b{font-size:15.5px}.feat span:last-child{font-size:13.5px;color:var(--muted);line-height:1.5}
@media (max-width:1000px){.featgrid{grid-template-columns:1fr 1fr}}
.vk .ico{color:var(--lime)!important}.ck .ico,.fico .ico,.wn{color:var(--ink)}
.ichip{position:relative}.ichip input{inset:0;width:100%;height:100%;margin:0}
html,body{overflow-x:clip}
.cside{isolation:isolate}
@media (max-width:900px){.cside::after{display:none}.qprod{grid-template-columns:56px minmax(0,1fr) auto}.qimg{width:56px;height:56px}.qlink{grid-column:2}.qx{grid-row:1;grid-column:3}.cformwrap{padding:20px}}
.menu-btn .ico{color:var(--white)}
/* app films */
.filmgrid{display:grid;grid-template-columns:1.25fr 1fr;gap:18px;align-items:start}
.film{margin:0;border-radius:16px;overflow:hidden;background:var(--ink);box-shadow:0 24px 60px rgba(10,16,24,.18)}
.film video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#0A1018}
.film figcaption{padding:12px 16px;font-size:13.5px;color:#C9D1DA}
@media (max-width:900px){.filmgrid{grid-template-columns:1fr}}
/* ---- v23 (24 Oct 2026 12:26) ---- */
/* Amazon-style left tree, always visible (no hover / no show-hide) */
.ptree.rail{position:sticky;top:150px;transform:none;inset:auto;width:auto;z-index:1;align-self:start}
.rbar{display:none!important}
.tpanel,.ptree.rail:hover .tpanel,.ptree.rail:focus-within .tpanel{position:static;opacity:1!important;visibility:visible!important;transform:none!important;width:auto;max-height:calc(100vh - 170px);overflow:auto;box-shadow:none;border:0;border-inline-end:1px solid var(--line);border-radius:0;padding:4px 14px 4px 0;background:transparent}
.withtree{grid-template-columns:240px minmax(0,1fr)!important;gap:36px;padding-top:28px}
.treepin .withtree{padding-inline-start:0}
.ptree .ts .tsh a{font-size:12px}
@media (max-width:960px){.withtree{grid-template-columns:1fr!important}.ptree.rail{position:static}.tpanel{max-height:none;border:0}}
/* home: active products image matches the text column height */
.rtsec2{align-items:stretch}
.rtsec2 .rtimg{height:100%;min-height:420px;margin:0;display:flex}
.rtsec2 .rtimg img{width:100%;height:100%;object-fit:cover}
/* turnkey stage 2: zoomed-out grid, balanced with the text */
.stagesec.compact .stagegrid{align-items:center}
.famgrid{padding:14px;gap:2px}
.famt{padding:8px 6px 6px;gap:5px}
.fimg{height:84px}.fimg img{max-height:84px}
.fn{font-size:11px}
.famall{margin-top:2px}
/* solutions: product names in max two rows + sourced card on the right */
.legwrap{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:stretch}
.legwrap.hasrc{grid-template-columns:minmax(0,1fr) 230px}
.leggrid .hslegend{grid-template-columns:repeat(var(--cols),minmax(0,1fr))!important;gap:8px}
.leggrid .hsl{min-height:62px;padding:8px;gap:8px}
.leggrid .hsl img{width:38px;height:38px}
.leggrid .hsln{width:24px;height:24px;font-size:12px}
.leggrid .hsl .t{font-size:12.5px;line-height:1.3}
.leggrid .hsl .code{font-size:10.5px}
.legwrap .sourced{margin:0;flex-direction:column;align-items:stretch;gap:10px;padding:14px}
.legwrap .sourced ul{flex-direction:column;gap:6px}
.legwrap .sourced li{border-radius:10px;font-size:12px;padding:7px 10px}
.legwrap .srch{min-width:0}
@media (max-width:1100px){.legwrap.hasrc{grid-template-columns:1fr}.leggrid .hslegend{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
/* maintenance tables: clean */
.eqtables .tablewrap{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.eqtables table{border:0;margin:0;width:100%}
.eqtables thead th{background:var(--card);color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:12px 18px;border-bottom:1px solid var(--line)}
.ar .eqtables thead th{letter-spacing:0;text-transform:none;font-size:13px}
.eqtables tbody th,.eqtables tbody td{padding:12px 18px;font-size:14px;border-bottom:1px solid #EEF1F4;vertical-align:middle}
.eqtables tbody th{font-weight:700;color:var(--ink)}
.eqtables tbody tr:last-child th,.eqtables tbody tr:last-child td{border-bottom:0}
.eqtables tbody tr:hover{background:#F7FAEF}
.eqtables h3{display:flex;align-items:center;gap:10px}
.eqtables h3::before{content:"";width:6px;height:20px;border-radius:3px;background:var(--lime)}
/* app: beats */
.beatgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;counter-reset:b}
.beat{position:relative;display:flex;flex-direction:column;gap:8px;padding:20px;border-radius:14px;background:var(--ink);color:var(--white)}
.beat .bn{font-family:var(--f-display);color:var(--lime);font-size:22px}
.beat b{font-size:18px}.beat span:last-child{color:#C9D1DA;font-size:14px;line-height:1.5}
.beat:not(:last-child)::after{content:"→";position:absolute;inset-inline-end:-12px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;background:var(--lime);color:var(--ink);display:grid;place-items:center;font-weight:800;z-index:2}
.ar .beat:not(:last-child)::after{content:"←"}
@media (max-width:900px){.beatgrid{grid-template-columns:1fr 1fr}.beat::after{display:none}}
.leggrid .hsl img{display:none}
.leggrid .hsl{min-height:58px;align-items:center}
.leggrid .hsl .t{font-size:13px}
.legwrap.hasrc{grid-template-columns:minmax(0,1fr) 210px}
.eqtables .tablewrap{flex:none;display:block}
.eqtables .tablewrap table{height:auto!important}
.eqtables{align-items:start}
.eqtables .note{min-height:0}
.leggrid .hsl .code{display:none}
.leggrid .hsl .t{font-size:12.5px;line-height:1.3;word-break:normal;overflow-wrap:normal}
.leggrid .hsl{padding:8px 10px;gap:8px}
.legwrap.hasrc{grid-template-columns:minmax(0,1fr) 190px}
.ptree.rail{inset:auto;top:150px}
.leggrid .hsl{padding:7px 8px;gap:6px}
.leggrid .hsln{width:20px;height:20px;font-size:11px}
.leggrid .hsl .t{font-size:12px;font-weight:600;letter-spacing:-.01em}
.leggrid .hslegend{gap:6px}
/* ---- v24 (24 Oct 2026 12:40) ---- */
/* tree: body font, slimmer, hideable */
.ptree,.ptree *{font-family:var(--f-body)}
.ar .ptree,.ar .ptree *{font-family:var(--f-ar)}
.withtree{grid-template-columns:200px minmax(0,1fr)!important;gap:28px}
.ptree .tsh a{font-family:var(--f-body)!important;font-size:11px!important;letter-spacing:.07em;font-weight:700}
.ar .ptree .tsh a{font-family:var(--f-ar)!important;font-size:12.5px!important;letter-spacing:0}
.ptree summary.tsh{padding:7px 4px}
.ptree .ts.single .tsh{padding:7px 4px}
.ptree a.tgl{gap:8px;padding:5px 8px;font-size:12.5px;border-radius:8px}
.ptree .tgi{width:24px;height:24px;border-radius:6px}
.ptree .tgi svg{width:14px;height:14px}
.ptree .tgn{font-size:10.5px;padding:1px 6px}
.ptree .tp{margin-inline-start:18px}
.ptree .tp a{font-size:12px;padding:4px 10px}
.tpanel,.ptree.rail:hover .tpanel{padding-inline-end:10px}
.ttog{display:inline-flex;align-items:center;gap:6px;margin:0 0 8px;padding:5px 10px 5px 8px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font:600 11.5px/1 var(--f-body);cursor:pointer;transition:all .15s;white-space:nowrap}
.ar .ttog{font-family:var(--f-ar);font-size:12px}
.ttog:hover{background:var(--ink);border-color:var(--ink);color:var(--lime)}
.treehide .withtree{grid-template-columns:auto minmax(0,1fr)!important;gap:20px}
.treehide .ptree .tpanel{display:none!important}
.treehide .ttog{background:var(--ink);border-color:var(--ink);color:var(--lime)}
@media (max-width:960px){.withtree,.treehide .withtree{grid-template-columns:1fr!important}}
/* passive layer pages: numbered product cards */
.numgrid{counter-reset:pn}
.numgrid .pcard{counter-increment:pn;position:relative}
.numgrid .pcard::before{content:counter(pn);position:absolute;top:12px;inset-inline-start:12px;z-index:2;width:30px;height:30px;border-radius:50%;background:var(--ink);color:var(--lime);display:grid;place-items:center;font:600 14px/1 var(--f-display);box-shadow:0 0 0 3px #fff}
.numgrid .pcard:hover::before{background:var(--lime);color:var(--ink)}
/* home active products: tiles on one line, image follows the shorter text */
.rmodel .mts{flex-wrap:nowrap;gap:6px}
.rmodel .mt{padding:5px 8px;gap:5px;white-space:nowrap;min-width:0}
.rmodel .mt b{font-size:12.5px}.rmodel .mt i{font-size:11px}
.rtsec2 .rtimg{min-height:0;max-height:560px;overflow:hidden;border-radius:14px}
.rtsec2>*{min-width:0}
@media (max-width:640px){.rmodel .mts{flex-wrap:wrap}}
/* solutions legend: previous cards, names up to 3 lines; sourced as one line */
.hsl .t{-webkit-line-clamp:3!important;line-clamp:3}
.hsl{min-height:84px}
.sourced{flex-wrap:nowrap;gap:10px 18px;padding:10px 16px;margin-top:12px}
.sourced .srch{display:flex;align-items:baseline;gap:8px;flex:none;margin:0}
.sourced .srch b{font-size:13px;white-space:nowrap}
.sourced .srch span{font-size:12px;color:var(--muted);white-space:nowrap}
.sourced ul{flex-wrap:nowrap;gap:6px;min-width:0}
.sourced li{font-size:12px;padding:5px 10px;white-space:nowrap}
@media (max-width:1200px){.sourced .srch span{display:none}}
@media (max-width:900px){.sourced,.sourced ul{flex-wrap:wrap}}
/* live dashboard (SPARK Application) */
.ldash{position:relative;display:grid;gap:12px;padding:16px;border-radius:18px;background:radial-gradient(120% 90% at 85% 0%,rgba(204,255,0,.10),transparent 55%),#0A1018;color:#E8EDF2;box-shadow:0 30px 60px rgba(10,16,24,.28);font-family:var(--f-body);overflow:hidden;isolation:isolate}
.ar .ldash{font-family:var(--f-ar)}
.ldash::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 0,rgba(204,255,0,.05) 50%,transparent 100%);height:40%;animation:ldscan 5s linear infinite;pointer-events:none;z-index:-1}
@keyframes ldscan{from{transform:translateY(-100%)}to{transform:translateY(260%)}}
.ld-top{display:flex;align-items:center;gap:12px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.08)}
.ld-top img{height:22px;width:auto}
.ld-title{flex:1;font-size:13px;color:#9AA6B2;font-weight:600}
.ld-live{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;letter-spacing:.1em;color:var(--lime);padding:3px 9px;border-radius:999px;background:rgba(204,255,0,.10)}
.ar .ld-live{letter-spacing:0}
.ld-live i{width:7px;height:7px;border-radius:50%;background:var(--lime);animation:ldpulse 1.2s ease-in-out infinite}
@keyframes ldpulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(204,255,0,.6)}50%{opacity:.5;box-shadow:0 0 0 5px rgba(204,255,0,0)}}
.ld-clock{font:600 12px/1 var(--f-body);color:#C9D1DA;font-variant-numeric:tabular-nums}
.ld-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ld-kpi,.ld-card{position:relative;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px;min-width:0}
.ld-kpi{display:flex;flex-direction:column;gap:2px;overflow:hidden}
.lk,.ld-h{font-size:11.5px;color:#9AA6B2;font-weight:600}
.ld-kpi b{font:600 26px/1.15 var(--f-display);color:#fff;font-variant-numeric:tabular-nums;transition:color .4s}
.ld-kpi b.tick{color:var(--lime)}
.ldl{font-size:11px;font-weight:700;color:var(--lime)}.ldl.flat{color:#9AA6B2}
.ld-spk{width:100%;height:24px;margin-top:4px}
.ld-spk path{fill:none;stroke:var(--lime);stroke-width:1.6;vector-effect:non-scaling-stroke;opacity:.85}
.ld-mid{display:grid;grid-template-columns:1.35fr 1fr;gap:10px}
.ld-bars{display:flex;align-items:flex-end;gap:5px;height:118px;margin-top:10px}
.ld-bars i{flex:1;height:var(--h);border-radius:4px 4px 1px 1px;background:linear-gradient(to top,rgba(204,255,0,.35),var(--lime));transition:height .8s cubic-bezier(.2,.8,.2,1)}
.ld-bars i:last-child{box-shadow:0 0 12px rgba(204,255,0,.6)}
.ld-st{display:grid;grid-template-columns:62px minmax(0,1fr) 38px;align-items:center;gap:8px;margin-top:9px;font-size:12px;color:#C9D1DA}
.ld-st b{font:600 12px/1 var(--f-body);color:#fff;text-align:end;font-variant-numeric:tabular-nums}
.ld-sb{height:6px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden}
.ld-sb i{display:block;height:100%;border-radius:3px;background:var(--lime);transition:width 1s ease}
.ld-bot{display:grid;grid-template-columns:1.35fr 1fr;gap:10px}
.ld-feed ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;height:118px;overflow:hidden}
.ld-feed li{display:flex;gap:10px;align-items:center;font-size:12.5px;color:#E8EDF2;padding:5px 8px;border-radius:8px;background:rgba(255,255,255,.03);animation:ldin .6s ease both}
.ld-feed li:first-child{background:rgba(204,255,0,.10)}
.ld-t{flex:none;font-size:11px;color:var(--lime);font-weight:700;font-variant-numeric:tabular-nums}
@keyframes ldin{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
.ld-ring{display:flex;flex-direction:column}
.ld-donut{--p:94;align-self:center;margin:auto;width:104px;height:104px;border-radius:50%;background:conic-gradient(var(--lime) calc(var(--p)*1%),rgba(255,255,255,.08) 0);display:grid;place-items:center;transition:--p 1s}
.ld-donut::before{content:"";grid-area:1/1;width:78px;height:78px;border-radius:50%;background:#101A26}
.ld-donut b{grid-area:1/1;position:relative;font:600 20px/1 var(--f-display);color:#fff}
.ld-note{position:absolute;bottom:6px;inset-inline-end:14px;font-size:10px;color:#6B7785;letter-spacing:.04em}
.ld-sm{padding:12px;gap:9px}
.ld-sm .ld-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.ld-sm .ld-kpi{padding:9px 10px}
.ld-sm .ld-kpi b{font-size:21px}
.ld-sm .ld-spk{height:16px}
.ld-sm .ld-mid{grid-template-columns:1fr 1fr;gap:8px}
.ld-sm .ld-bars{height:84px}
.ld-sm .ld-st{grid-template-columns:52px minmax(0,1fr) 32px;margin-top:6px;font-size:11px}
.ld-sm .ld-bot{grid-template-columns:1fr}
.ld-sm .ld-ring{display:none}
.ld-sm .ld-feed ul{height:64px}
.ld-sm .ld-feed li:nth-child(n+3){display:none}
.ld-lg{padding:22px;gap:14px}
.ld-lg .ld-kpi b{font-size:34px}
.ld-lg .ld-bars{height:170px}
.ld-lg .ld-feed ul{height:150px}
.ld-lg .ld-donut{width:140px;height:140px}.ld-lg .ld-donut::before{width:106px;height:106px}.ld-lg .ld-donut b{font-size:26px}
.livewrap{border-radius:18px}
.appimg.livewrap{background:none;box-shadow:none;aspect-ratio:auto}
@media (max-width:760px){.ld-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ld-mid,.ld-bot{grid-template-columns:1fr}.ld-lg .ld-kpi b{font-size:26px}}
@media (prefers-reduced-motion:reduce){.ldash::after,.ld-live i{animation:none}.ld-feed li{animation:none}}
/* v24 fixes */
.rtsec2 .rtimg{aspect-ratio:auto;width:100%;max-width:100%}
.ldash .ld-top img{width:auto!important;height:22px!important;max-width:none!important;object-fit:contain!important;flex:none;transform:none!important}
.ldash{padding-bottom:22px}
.ld-lg{padding-bottom:28px}
/* tree — Amazon-style sidebar: plain readable list, small type, no icon boxes */
.withtree{grid-template-columns:210px minmax(0,1fr)!important}
.ptree .tgi{display:none!important}
.ptree .tsh a{font-size:14px!important;font-weight:700!important;letter-spacing:0!important;text-transform:none!important;color:var(--ink)!important}
.ar .ptree .tsh a{font-size:14px!important}
.ptree summary.tsh,.ptree .ts.single .tsh{padding:6px 2px}
.ptree .ts+.ts{padding-top:4px;margin-top:4px}
.ptree .tl{gap:0}
.ptree a.tgl{padding:3px 6px;font-size:13.5px;line-height:1.45;font-weight:400;border-radius:4px;color:#0F1111}
.ptree a.tgl:hover{background:none!important;color:var(--ink)!important}
.ptree a.tgl[aria-current],.ptree .tg.open>details>summary{background:none!important;color:var(--ink)!important;font-weight:700}
.ptree .tg.open>details>summary a.tgl{color:var(--ink)!important;font-weight:700}
.ptree a.tgl[aria-current]{box-shadow:inset 3px 0 0 var(--lime)}
.ar .ptree a.tgl[aria-current]{box-shadow:inset -3px 0 0 var(--lime)}
.ptree .tg.open>details>summary .tc{color:var(--ink)}
.ptree .tgn{background:none!important;color:#565959!important;font-size:12px;padding:0}
.ptree .tp{margin:0 0 4px;margin-inline-start:10px;border-inline-start:0}
.ptree .tp a{font-size:13px;padding:2px 8px;line-height:1.45;color:#0F1111!important;border-inline-start:0}
.ptree .tp a:hover{color:var(--ink)!important}
.ptree .tp a[aria-current]{background:none!important;font-weight:700}
.ptree summary:hover{background:none!important}
.ttog{font-size:12.5px;padding:6px 12px 6px 10px}
.sourced{justify-content:space-between}
.sourced .srch{flex-direction:row;align-items:baseline;flex:0 1 auto;min-width:0}
.sourced .srch span{display:inline}
.sourced li{padding:4px 9px;font-size:11.5px;gap:6px}
.sourced li .sk svg{width:14px;height:14px}
@media (max-width:1300px){.sourced .srch span{display:none}}
.ptree a.tgl,.ptree .tp a{white-space:normal;overflow:visible;text-overflow:clip}
.ptree .tgt{white-space:normal;overflow:visible;text-overflow:clip;display:block}
.ptree .tp a{display:block}
.sourced .srch span{display:none!important}
.sourced .srch b i{font-style:normal;font-weight:500;color:var(--muted);font-size:12px}
.sourced ul{flex-shrink:1}
/* tree — world-class card sidebar (Amazon-readable sizes, SPARK finish) */
.ptree .tpanel,.ptree.rail:hover .tpanel{background:#fff!important;border:1px solid var(--line)!important;border-radius:16px!important;padding:8px!important;box-shadow:0 1px 2px rgba(10,16,24,.04),0 12px 32px rgba(10,16,24,.06)!important;max-height:calc(100vh - 210px)}
.ptree .tpanel::-webkit-scrollbar{width:6px}.ptree .tpanel::-webkit-scrollbar-thumb{background:#D5DBE1;border-radius:3px}
.ptree .ts+.ts{border-top:1px solid #EEF1F4;margin-top:2px;padding-top:2px}
.ptree summary.tsh,.ptree .ts.single .tsh{padding:9px 10px;border-radius:10px;transition:background .15s}
.ptree summary.tsh:hover,.ptree .ts.single .tsh:hover{background:var(--card)!important}
.ptree .ts.cur>summary.tsh{background:var(--ink)!important}
.ptree .ts.cur>summary.tsh a{color:#fff!important}
.ptree .ts.cur>summary.tsh .tc{color:var(--lime)}
.ptree .ts.single.cur .tsh{background:var(--ink)!important}.ptree .ts.single.cur .tsh a{color:#fff!important}
.ptree .tsh a{font-size:13.5px!important}
.ptree .tl{margin:4px 0 8px;margin-inline-start:16px;padding-inline-start:6px;border-inline-start:1px solid #E3E7EB}
.ptree a.tgl{padding:5px 10px;font-size:13.5px;color:#26313C;border-radius:8px;transition:background .15s,color .15s,transform .15s}
.ptree a.tgl:hover,.ptree .tp a:hover{background:#F3F5F7!important;color:var(--ink)!important;text-decoration:none!important;transform:translateX(2px)}
.ar .ptree a.tgl:hover,.ar .ptree .tp a:hover{transform:translateX(-2px)}
.ptree a.tgl[aria-current],.ptree .tp a[aria-current]{background:#F4FFD1!important;color:var(--ink)!important;font-weight:700;box-shadow:inset 3px 0 0 var(--lime)!important}
.ar .ptree a.tgl[aria-current],.ar .ptree .tp a[aria-current]{box-shadow:inset -3px 0 0 var(--lime)!important}
.ptree .tg>details>summary{border-radius:8px}
.ptree .tg.open>details>summary{background:#F4FFD1!important;box-shadow:inset 3px 0 0 var(--lime)}
.ar .ptree .tg.open>details>summary{box-shadow:inset -3px 0 0 var(--lime)}
.ptree .tg.open>details>summary a.tgl{background:none!important;box-shadow:none!important}
.ptree .tgn{min-width:22px;text-align:center;border-radius:999px!important;background:#F0F2F5!important;color:#5B6672!important;font-size:11px;padding:1px 7px}
.ptree .tp{margin:2px 0 6px;margin-inline-start:12px;padding-inline-start:6px;border-inline-start:1px dashed #DCE1E6}
.ptree .tp a{font-size:13px;padding:4px 10px;border-radius:7px;color:#3B4652!important}
.ttog{box-shadow:0 1px 2px rgba(10,16,24,.05)}
.withtree{grid-template-columns:232px minmax(0,1fr)!important}
/* ---- v25 (24 Oct 2026 13:01) ---- */
/* home: fibre signal pulses over the network illustration */
.nmstage{position:relative}
.fpulse{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
.fpulse path{fill:none;stroke:#F2FF9E;stroke-width:5;stroke-linecap:round;stroke-dasharray:60 1000;stroke-dashoffset:60;opacity:0;filter:drop-shadow(0 0 4px #CCFF00) drop-shadow(0 0 10px #CCFF00);animation:fpl 5s linear infinite}
@keyframes fpl{0%{stroke-dashoffset:60;opacity:1}28%{stroke-dashoffset:-1000;opacity:1}29%,100%{stroke-dashoffset:-1000;opacity:0}}
.nmstage .hz{z-index:2}
@media (prefers-reduced-motion:reduce){.fpulse{display:none}}
/* home: router image zoomed out — whole product visible */
.rtsec2 .rtimg{background:#020304}
.rtsec2 .rtimg img{object-fit:contain!important;object-position:center}
.rtsec2 .rtimg:hover img{transform:none}
/* tree → left-edge drawer: content always full width */
.withtree{display:block!important;padding-top:24px}
.withtree>.treebody{min-width:0}
.ptree.rail{position:fixed!important;top:170px!important;left:0!important;right:auto!important;bottom:auto!important;width:0!important;height:0!important;max-height:none!important;padding:0!important;margin:0!important;border:0!important;background:none!important;overflow:visible!important;z-index:70;transform:none!important}
.ar .ptree.rail{left:auto!important;right:0!important}
.ptree.rail .ttog{position:absolute;top:0;left:0;margin:0;display:inline-flex;align-items:center;gap:8px;padding:11px 16px 11px 14px;border:0;border-radius:0 999px 999px 0;background:var(--ink);color:var(--lime);font:700 12.5px/1 var(--f-body);box-shadow:0 10px 26px rgba(10,16,24,.22);white-space:nowrap}
.ar .ptree.rail .ttog{left:auto;right:0;border-radius:999px 0 0 999px;font-family:var(--f-ar);padding:11px 14px 11px 16px}
.ptree.rail .ttog:hover{background:#1A2532}
.treeopen .ptree.rail .ttog{background:var(--lime);color:var(--ink)}
.ptree.rail .tpanel{position:absolute!important;top:54px!important;left:14px!important;right:auto!important;width:288px!important;max-height:calc(100vh - 250px)!important;overflow:auto!important;transform:translateX(calc(-100% - 30px))!important;visibility:hidden!important;opacity:1!important;transition:transform .32s cubic-bezier(.2,.8,.2,1),visibility 0s linear .32s!important;box-shadow:0 2px 4px rgba(10,16,24,.06),0 28px 60px rgba(10,16,24,.22)!important;display:block!important}
.ar .ptree.rail .tpanel{left:auto!important;right:14px!important;transform:translateX(calc(100% + 30px))!important}
.treeopen .ptree.rail .tpanel,.ar.treeopen .ptree.rail .tpanel,.treeopen .ar .ptree.rail .tpanel{transform:none!important;visibility:visible!important;transition:transform .32s cubic-bezier(.2,.8,.2,1)!important}
@media (max-width:960px){.ptree.rail{top:auto!important;bottom:18px!important}.ptree.rail .ttog{top:-46px}.ptree.rail .tpanel{top:auto!important;bottom:56px;max-height:70vh!important;width:min(300px,calc(100vw - 40px))!important}}
/* product pages: explicit meta */
.pmeta{display:flex;flex-wrap:wrap;gap:0;margin:0 0 6px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;width:max-content;max-width:100%}
.pmeta>div{padding:9px 16px;display:flex;flex-direction:column;gap:3px;min-width:0}
.pmeta>div+div{border-inline-start:1px solid var(--line)}
.pmeta dt{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ar .pmeta dt{letter-spacing:0;text-transform:none;font-size:12px}
.pmeta dd{margin:0;display:flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:var(--ink)}
.pmeta dd .ico{color:var(--muted)}
.pmeta .pcode{font-family:var(--f-body);background:var(--lime);padding:1px 8px;border-radius:6px;width:max-content;font-size:13px}
/* active: lighter spec tables */
.actsec .spec th,.actsec .spec td{font-size:15px;padding:12px 18px;line-height:1.5}
.actsec .spec th{width:34%}
.specwrap .spec tr.more{display:none}
.specwrap.open .spec tr.more{display:table-row}
.specmore{margin-top:12px;display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;border:1px solid var(--ink);background:#fff;color:var(--ink);font:600 13.5px/1 var(--f-body);cursor:pointer}
.ar .specmore{font-family:var(--f-ar)}
.specmore::after{content:"↓";font-weight:800}.specwrap.open .specmore::after{content:"↑"}
.specmore:hover{background:var(--ink);color:var(--lime)}
/* app: Live Management slider */
.slider{position:relative;border-radius:20px;overflow:hidden;background:#0A1018;box-shadow:0 30px 70px rgba(10,16,24,.25)}
.slides{position:relative;aspect-ratio:16/9}
.slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .8s ease;pointer-events:none}
.slide.on{opacity:1;pointer-events:auto}
.slide img{width:100%;height:100%;object-fit:cover;display:block}
.slide.on img{animation:kb 7s ease-out both}
@keyframes kb{from{transform:scale(1.06)}to{transform:scale(1)}}
.slide figcaption{position:absolute;inset-inline-start:24px;bottom:24px;max-width:460px;display:grid;grid-template-columns:auto 1fr;gap:2px 12px;padding:16px 18px;border-radius:14px;background:rgba(10,16,24,.82);backdrop-filter:blur(8px);color:#fff}
.slide .sn{grid-row:span 2;font:600 28px/1 var(--f-display);color:var(--lime)}
.slide figcaption b{font-size:17px}.slide figcaption span:last-child{font-size:13.5px;color:#C9D1DA}
.snav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--ink);font-size:28px;line-height:1;cursor:pointer;display:grid;place-items:center;box-shadow:0 8px 20px rgba(0,0,0,.25);z-index:3}
.snav:hover{background:var(--lime)}
.sprev{left:16px}.snext{right:16px}
.sdots{position:absolute;bottom:22px;inset-inline-end:24px;display:flex;gap:8px;z-index:3}
.sdot{width:10px;height:10px;border-radius:999px;border:0;background:rgba(255,255,255,.45);cursor:pointer;padding:0;transition:width .3s,background .3s}
.sdot.on{width:28px;background:var(--lime)}
@media (max-width:700px){.slide figcaption{position:static;max-width:none;border-radius:0}.slides{aspect-ratio:auto}.slide{position:relative;display:none}.slide.on{display:block}.slide img{aspect-ratio:16/10}.sdots{bottom:auto;top:12px}}
/* app: infographic wheel */
.appinfo{background:radial-gradient(90% 70% at 50% 40%,#13202E,#0A1018 70%);color:#fff}
.appinfo .sechead{text-align:center;margin-inline:auto;max-width:760px}
.appinfo .sechead h2{color:#fff}.appinfo .lede{color:#C9D1DA}
.wheel{position:relative;height:640px;margin-top:20px}
.wlines{position:absolute;inset:0;width:100%;height:100%}
.wlines line{stroke:rgba(204,255,0,.55);stroke-width:1.5;stroke-dasharray:3 5;animation:wflow 1.6s linear infinite;vector-effect:non-scaling-stroke}
.wlines ellipse{fill:none;stroke:rgba(255,255,255,.08);stroke-width:1;vector-effect:non-scaling-stroke}
@keyframes wflow{to{stroke-dashoffset:-16}}
.hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:210px;height:210px;border-radius:50%;background:radial-gradient(circle at 50% 35%,#1C2B3B,#0A1018);border:2px solid var(--lime);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;box-shadow:0 0 0 10px rgba(204,255,0,.06),0 0 60px rgba(204,255,0,.18);z-index:2}
.hub b{font:600 17px/1.2 var(--f-display);color:#fff;padding:0 18px}.hub span:not(.hr){font-size:12px;color:var(--lime);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.ar .hub b{font-family:var(--f-ar)}.ar .hub span:not(.hr){letter-spacing:0}
.hr{position:absolute;inset:-2px;border-radius:50%;border:2px solid var(--lime);animation:ring 2.8s ease-out infinite;pointer-events:none}.hr.r2{animation-delay:1.4s}
.wnode{position:absolute;transform:translate(-50%,-50%);width:208px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:14px 14px 12px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.10);backdrop-filter:blur(4px);z-index:2;transition:background .2s,border-color .2s,transform .2s}
.wnode:hover{background:rgba(204,255,0,.08);border-color:var(--lime);transform:translate(-50%,-50%) scale(1.04)}
.wi{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--lime);color:var(--ink);margin-bottom:4px}
.wnode b{font-size:15px;color:#fff}.wnode span:last-child{font-size:12.5px;line-height:1.45;color:#AEB8C2}
.ar .wnode{direction:rtl}
.wsol{margin-top:26px;display:flex;flex-direction:column;align-items:center;gap:12px}
.wsl{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#9AA6B2}.ar .wsl{letter-spacing:0;font-size:13px}
.wchips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.wchip{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.18);color:#fff;text-decoration:none;font-weight:600;font-size:14px;transition:all .2s}
.wchip .ico{color:var(--lime)}
.wchip:hover{background:var(--lime);border-color:var(--lime);color:var(--ink)}.wchip:hover .ico{color:var(--ink)}
@media (max-width:1000px){.wheel{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:12px}.wlines{display:none}.hub,.wnode{position:relative;left:auto!important;top:auto!important;transform:none}.hub{grid-column:1/-1;margin:0 auto 10px}.wnode{width:auto}.wnode:hover{transform:none}}
/* app → next page banner */
.mapcta{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:44px 48px;border-radius:20px;background-size:cover;background-position:center;color:#fff;text-decoration:none;min-height:260px;justify-content:center;transition:transform .25s,box-shadow .25s}
.ar .mapcta{align-items:flex-start}
.mapcta:hover{transform:translateY(-3px);box-shadow:0 26px 60px rgba(10,16,24,.28)}
.mapcta .mk{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--lime)}
.mapcta b{font:600 36px/1.1 var(--f-display)}.ar .mapcta b{font-family:var(--f-ar)}
.mapcta .md{max-width:480px;color:#C9D1DA}
.mapcta .btn{margin-top:8px}
/* live field dispatch map */
.gpsband{background:#0B121B}
.gps{position:relative;height:clamp(540px,76vh,780px);overflow:hidden;color:#fff;font-family:var(--f-body)}
.ar .gps{font-family:var(--f-ar)}
.gmap{position:absolute;inset:0;width:100%;height:100%;display:block}
.gfib polyline{stroke:var(--lime);stroke-width:2;opacity:.22;stroke-dasharray:6 6}
.glbl text{font:600 15px var(--f-body);fill:#6F8193;letter-spacing:.02em;paint-order:stroke;stroke:#0B121B;stroke-width:4px}
.ar .glbl text{font-family:var(--f-ar)}
.groute{fill:none;stroke:var(--lime);stroke-width:5;stroke-dasharray:2 12;stroke-linecap:round;opacity:.9}
.gdone{fill:none;stroke:var(--lime);stroke-width:7;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px rgba(204,255,0,.7))}
.gdepot circle{fill:#0B121B;stroke:var(--lime);stroke-width:3}
.galarm .core{fill:#FF4D4D;stroke:#fff;stroke-width:3}
.galarm .ar1,.galarm .ar2{fill:none;stroke:#FF4D4D;stroke-width:3;animation:gring 1.6s ease-out infinite;transform-box:fill-box;transform-origin:center}
.galarm .ar2{animation-delay:.8s}
@keyframes gring{from{transform:scale(1);opacity:.9}to{transform:scale(3.6);opacity:0}}
.galarm .ax{stroke:#fff;stroke-width:3;stroke-linecap:round}.galarm .ok{display:none;fill:none;stroke:#0A1018;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}
.galarm.site .core{fill:#FFB020}.galarm.site .ar1,.galarm.site .ar2{stroke:#FFB020}
.galarm.done .core{fill:var(--lime)}.galarm.done .ar1,.galarm.done .ar2{stroke:var(--lime);animation-iteration-count:2}.galarm.done .ax{display:none}.galarm.done .ok{display:block}
.gcar .halo{fill:rgba(204,255,0,.18);animation:gring 2s ease-out infinite;transform-box:fill-box;transform-origin:center}
.gcar .body{fill:var(--lime);stroke:#0A1018;stroke-width:3}
.gcar .rot path{fill:#0A1018}
.gtop{position:absolute;top:18px;inset-inline-start:20px;display:flex;align-items:center;gap:12px;padding:9px 14px;border-radius:999px;background:rgba(10,16,24,.86);border:1px solid rgba(255,255,255,.1);font-size:13px;font-weight:600;backdrop-filter:blur(6px)}
.glive{display:inline-flex;align-items:center;gap:6px;color:var(--lime);font-weight:800;letter-spacing:.08em;font-size:11.5px}.ar .glive{letter-spacing:0}
.glive i{width:8px;height:8px;border-radius:50%;background:var(--lime);animation:ldpulse 1.2s infinite}
.gclock{color:#C9D1DA;font-variant-numeric:tabular-nums}
.galert{position:absolute;top:18px;left:50%;transform:translate(-50%,-140%);display:flex;align-items:center;gap:12px;padding:10px 16px 10px 10px;border-radius:12px;background:#fff;color:var(--ink);box-shadow:0 18px 40px rgba(0,0,0,.35);transition:transform .45s cubic-bezier(.2,.8,.2,1);max-width:min(560px,calc(100% - 40px))}
.galert.show{transform:translate(-50%,0)}
.gat{flex:none;padding:5px 10px;border-radius:8px;background:#FF4D4D;color:#fff;font-size:11.5px;font-weight:800;letter-spacing:.08em}.ar .gat{letter-spacing:0}
.galert.site .gat{background:#FFB020;color:var(--ink)}.galert.done .gat{background:var(--lime);color:var(--ink)}
.gam{font-size:14px}
.gkpi{position:absolute;top:18px;inset-inline-end:20px;display:flex;gap:2px;border-radius:14px;overflow:hidden;background:rgba(10,16,24,.86);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(6px)}
.gkpi div{padding:10px 16px;display:flex;flex-direction:column;gap:2px}
.gkpi div+div{border-inline-start:1px solid rgba(255,255,255,.08)}
.gkpi b{font:600 20px/1 var(--f-display);color:#fff}.gkpi span{font-size:11px;color:#9AA6B2}
.gcard{position:absolute;bottom:22px;inset-inline-start:20px;width:340px;padding:16px;border-radius:18px;background:#fff;color:var(--ink);box-shadow:0 24px 60px rgba(0,0,0,.45)}
.gch{display:flex;align-items:center;gap:12px}
.gav{flex:none;width:44px;height:44px;border-radius:50%;background:var(--ink);color:var(--lime);display:grid;place-items:center}
.gch>div:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column}
.gcrew{font-size:16px}.gch>div:nth-child(2) span{font-size:12px;color:var(--muted)}
.geta{text-align:center;padding:6px 10px;border-radius:12px;background:var(--ink);color:#fff;min-width:68px}
.geta b{display:block;font:600 22px/1 var(--f-display);color:var(--lime)}.geta span{font-size:10.5px;color:#C9D1DA}
.gbar{height:6px;border-radius:3px;background:#EEF1F4;margin:14px 0 6px;overflow:hidden}.gbar i{display:block;height:100%;width:0;background:var(--lime);border-radius:3px;transition:width .3s linear}
.gdist{display:flex;gap:6px;font-size:12.5px;color:var(--muted)}.gdv{font-weight:700;color:var(--ink)}
.gsteps{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}
.gsteps li{display:grid;grid-template-columns:16px 1fr auto;align-items:center;gap:10px;font-size:13px;color:#9AA6B2;padding:4px 0;position:relative}
.gsteps li i{width:12px;height:12px;border-radius:50%;border:2px solid #D5DBE1;background:#fff}
.gsteps li.done{color:var(--ink)}.gsteps li.done i{background:var(--ink);border-color:var(--ink)}
.gsteps li.cur{color:var(--ink);font-weight:700}.gsteps li.cur i{background:var(--lime);border-color:var(--ink);box-shadow:0 0 0 4px rgba(204,255,0,.35)}
.gsteps time{font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.gattr{position:absolute;bottom:8px;inset-inline-end:14px;font-size:11px;color:#6F8193}
.g3b{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.gkpi{display:none}.gcard{width:auto;inset-inline:12px;bottom:28px}.galert{top:64px}.g3b{grid-template-columns:1fr}}
.gav .ico{color:var(--lime)!important;stroke:var(--lime)}
.fpulse path{stroke:#FBFFE0;stroke-width:9;stroke-dasharray:110 1000;stroke-dashoffset:110;filter:drop-shadow(0 0 3px #CCFF00) drop-shadow(0 0 9px #CCFF00) drop-shadow(0 0 18px rgba(204,255,0,.8))}
@keyframes fpl{0%{stroke-dashoffset:110;opacity:1}28%{stroke-dashoffset:-1000;opacity:1}29%,100%{stroke-dashoffset:-1000;opacity:0}}

.ptree.rail .ttog{background:var(--ink)!important;color:var(--lime)!important;border:0!important}
.treeopen .ptree.rail .ttog{background:var(--lime)!important;color:var(--ink)!important}
.sec.appinfo{background:radial-gradient(90% 70% at 50% 40%,#13202E,#0A1018 70%)!important;border-top:0}
.appinfo .sechead h2,.appinfo .wnode b,.appinfo .hub b{color:#fff!important}
.appinfo .sechead .lede{color:#C9D1DA!important}
.appinfo .wnode{background:rgba(255,255,255,.05)!important}
.sec.appinfo{border-radius:24px;margin-block:24px}
.sec.appinfo>.wrap{padding:64px 28px 56px}
@media (max-width:700px){
.gps{height:780px}
.galert{left:12px;right:12px;top:66px;transform:translateY(-160%);max-width:none}
.galert.show{transform:none}
.gam{font-size:13px;line-height:1.35}
.gcard{padding:12px 14px}.gsteps{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.gsteps li{font-size:12px}.gsteps time{display:none}
.gtop{inset-inline-start:12px;top:12px}
}
/* ---- v26 QA fixes ---- */
.pmeta dt{font-size:11px}
@media (max-width:900px){.sourced .srch{flex:1 1 100%;flex-wrap:wrap}.sourced .srch b{white-space:normal}}
.sdot{position:relative}
.sdot::after{content:"";position:absolute;inset:-8px}
/* mobile: drawer toggle becomes a compact round button */
@media (max-width:960px){.ptree.rail .ttog{width:48px;height:48px;padding:0;justify-content:center;border-radius:0 24px 24px 0}.ptree.rail .ttog span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.ar .ptree.rail .ttog{border-radius:24px 0 0 24px;padding:0}}
/* tablet: home solutions in one row of three */
@media (min-width:700px) and (max-width:1000px){.solgrid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px}.solgrid .card.big{padding:14px}.solgrid .t{font-size:18px}.solgrid .d{font-size:13px}}
/* beats: arrows only when cards sit in one row */
@media (max-width:900px){.beat:not(:last-child)::after{display:none}}
/* home active models: wrap tiles / chips below 1200 */
@media (max-width:1200px){.rmodel .mts{flex-wrap:wrap}.rmh{flex-wrap:wrap}}
/* WCAG 2.2 target size: slider dots */
.sdot{width:24px;height:24px;background:none!important;display:grid;place-items:center}
.sdot::after{display:none}
.sdot::before{content:"";width:10px;height:10px;border-radius:999px;background:rgba(255,255,255,.5);transition:width .3s,background .3s}
.sdot.on{width:40px}.sdot.on::before{width:28px;background:var(--lime)}
.sdots{gap:2px}
/* contrast */
.gat{background:#D92D20}
.gsteps li{color:#66727F}
.geta span{font-size:11px}
/* ---- v27: legal pages + cookie notice ---- */
.legal{max-width:860px}
.draftnote{display:flex;gap:10px;align-items:center;padding:12px 16px;border-radius:12px;background:#FFF7E0;border:1px solid #F2D58A;color:#5C4400;font-weight:600;font-size:14px;margin:0 0 18px}
.draftnote::before{content:"!";flex:none;width:22px;height:22px;border-radius:50%;background:#5C4400;color:#fff;display:grid;place-items:center;font-weight:800;font-size:13px}
.lgnav{margin-bottom:12px}
.lgs{padding:22px 0;border-top:1px solid var(--line)}
.lgs h2{font-size:22px;margin-bottom:10px}
.lgt{font-size:15.5px;line-height:1.7;color:#26313C}
.lgt ul{margin:0;padding-inline-start:20px}.lgt li{margin:6px 0}
.lgt a{color:var(--ink);font-weight:600;text-decoration:underline;text-decoration-color:var(--lime);text-decoration-thickness:2px}
.flegal a{color:inherit;text-decoration:none}.flegal a:hover{color:var(--lime)}
.cnote{position:fixed;z-index:90;bottom:18px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:14px;max-width:min(680px,calc(100% - 32px));padding:12px 14px 12px 18px;border-radius:14px;background:var(--ink);color:#E8EDF2;box-shadow:0 18px 44px rgba(10,16,24,.35);font-size:13.5px}
.cnote[hidden]{display:none}
.cnote p{margin:0}.cnote a{color:var(--lime);font-weight:600}
.cnote .btn{flex:none}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
@media (max-width:700px){.cnote{bottom:80px;flex-direction:column;align-items:flex-start}}
@media (max-width:700px){.cnote{left:16px;right:16px;transform:none;max-width:none;width:auto;flex-direction:row;align-items:center;bottom:16px}}
.hp{position:absolute!important;left:auto!important;inset-inline-start:0;width:1px!important;height:1px!important;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);opacity:0;pointer-events:none}
.cform{position:relative}
/* partner login */
.flegal .plogin{display:inline-flex;align-items:center;gap:6px;margin-inline-start:10px;padding:4px 10px;border:1px solid rgba(204,255,0,.5);border-radius:999px;color:var(--lime)!important;font-weight:600}
.flegal .plogin:hover{background:var(--lime);color:var(--ink)!important}
.plwrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:40px;align-items:center}
.plcard{padding:28px;border-radius:18px;background:var(--ink);color:#E8EDF2;box-shadow:0 24px 60px rgba(10,16,24,.25)}
.plcard h2{color:#fff;font-size:24px;margin-bottom:8px}
.plcard p{color:#C9D1DA;font-size:14.5px}
.plcard .plstate{display:inline-flex;align-items:center;gap:8px;margin:6px 0 18px;padding:5px 12px;border-radius:999px;background:rgba(204,255,0,.12);color:var(--lime);font-size:12.5px;font-weight:700}
.plcard .plstate i{width:8px;height:8px;border-radius:50%;background:var(--lime)}
.plcard .btn{width:100%;justify-content:center;margin-top:8px}
.pllist{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px}
.pllist li{display:flex;gap:10px;align-items:flex-start;font-size:15px}
.pllist li .ck{flex:none;width:22px;height:22px;border-radius:6px;background:var(--lime);color:var(--ink);display:grid;place-items:center}
@media (max-width:860px){.plwrap{grid-template-columns:1fr}}
/* ---- v28 (24 Oct 2026 14:29) ---- */
/* passive overview: full layer images (fix class clash with turnkey family grid) */
.famgrid:has(.card.fam){padding:0;gap:16px}
.card.fam .hfig.fimg{height:auto!important;width:100%;margin:0 0 12px;border-radius:12px;overflow:hidden}
.card.fam .fimg img{max-height:none!important;width:100%!important;height:100%!important;object-fit:cover!important}
/* maintenance tables: one line per cell */
.eqtables th,.eqtables td{white-space:nowrap}
.eqtables .tablewrap{overflow-x:auto}
/* footer: one line per link */
.fcol li{white-space:nowrap}
.fcol li a{white-space:nowrap}
/* Amazon-style All button + drawer under the breadcrumb bar */
.crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px}
.allbtn{display:inline-flex;align-items:center;gap:8px;margin-inline-end:14px;padding:6px 14px 6px 10px;border:0;border-radius:8px;background:var(--ink);color:#fff;font:700 15px/1 var(--f-body);cursor:pointer;transition:background .15s}
.ar .allbtn{font-family:var(--f-ar);padding:6px 10px 6px 14px}
.allbtn:hover,.treeopen .allbtn{background:#1A2532;box-shadow:inset 0 0 0 2px var(--lime)}
.allbtn svg{color:var(--lime)}
.ptree.rail .ttog{display:none!important}
.ptree.rail{top:var(--navtop,150px)!important;bottom:auto!important;left:var(--navx,16px)!important;right:auto!important}
.ar .ptree.rail{left:auto!important;right:var(--navx,16px)!important}
.ptree.rail .tpanel{top:6px!important;left:0!important;right:auto!important;width:320px!important;max-height:calc(100vh - var(--navtop,150px) - 20px)!important;transform:translateY(-8px)!important;opacity:0!important;visibility:hidden!important;transition:opacity .2s,transform .2s,visibility 0s linear .2s!important}
.ar .ptree.rail .tpanel{left:auto!important;right:0!important;transform:translateY(-8px)!important}
.treeopen .ptree.rail .tpanel,.ar.treeopen .ptree.rail .tpanel,.treeopen .ar .ptree.rail .tpanel{transform:none!important;opacity:1!important;visibility:visible!important;transition:opacity .2s,transform .2s!important}
.navdim{position:fixed;left:0;right:0;bottom:0;top:var(--navtop,150px);background:rgba(10,16,24,.35);opacity:0;pointer-events:none;transition:opacity .2s;z-index:60}
.treeopen .navdim{opacity:1;pointer-events:auto}
.ptree.rail{z-index:70}
@media (max-width:960px){.ptree.rail{top:var(--navtop,120px)!important;bottom:auto!important}.ptree.rail .tpanel{top:6px!important;bottom:auto!important;width:min(320px,calc(100vw - 24px))!important;max-height:calc(100vh - var(--navtop,120px) - 16px)!important}}
/* Google-style live map */
.gpsband{background:#F1F3F4}
.glbl text{fill:#5F6368;stroke:#fff;stroke-width:4px;font-weight:600}
.groute{stroke:#8AB4F8;stroke-width:6;stroke-dasharray:1 12;opacity:1}
.gcase{fill:none;stroke:#fff;stroke-width:13;stroke-linecap:round;stroke-linejoin:round}
.gdone{stroke:#1A73E8;stroke-width:8;filter:none}
.gdepot circle{fill:#fff;stroke:#1A73E8;stroke-width:4}
.galarm .core{fill:#EA4335}.galarm .ar1,.galarm .ar2{stroke:#EA4335}
.galarm.site .core{fill:#FBBC04}.galarm.site .ar1,.galarm.site .ar2{stroke:#FBBC04}
.galarm.done .core{fill:#34A853}.galarm.done .ar1,.galarm.done .ar2{stroke:#34A853}.galarm.done .ok{stroke:#fff}
.gcar .halo{fill:rgba(26,115,232,.18)}
.gcar .body{fill:#fff;stroke:#1A73E8;stroke-width:3;filter:drop-shadow(0 2px 3px rgba(0,0,0,.3))}
.gcar .rot path{fill:#1A73E8}
.gtop,.gkpi{background:#fff!important;color:#202124;border:0!important;box-shadow:0 2px 6px rgba(60,64,67,.25)}
.gtop .glive{color:#188038}.gtop .glive i{background:#34A853}
.gclock{color:#5F6368}
.gkpi b{color:#202124}.gkpi span{color:#5F6368}.gkpi div+div{border-inline-start:1px solid #E8EAED}
.gattr{color:#5F6368;background:rgba(255,255,255,.8);padding:2px 6px;border-radius:4px}
.gcard{box-shadow:0 4px 16px rgba(60,64,67,.28)}
.gbar i{background:#1A73E8}
.gsteps li.cur i{background:#1A73E8;border-color:#1A73E8;box-shadow:0 0 0 4px rgba(26,115,232,.2)}
.geta{background:#1A73E8}.geta b{color:#fff}.geta span{color:#E8F0FE}
.gav{background:#E8F0FE;color:#1A73E8}.gav .ico{color:#1A73E8!important;stroke:#1A73E8}
.mapsec .gpsembed{border-radius:20px;overflow:hidden;box-shadow:0 24px 60px rgba(10,16,24,.18)}
.mapsec .gpsembed .gps{height:clamp(520px,68vh,700px)}
/* control-room still: white cards on black */
.ldash.ld-light{background:#000}
.ld-light .ld-kpi,.ld-light .ld-card{background:#fff;border-color:#fff;color:#0A1018}
.ld-light .lk,.ld-light .ld-h{color:#4A5A6A}
.ld-light .ld-kpi b{color:#0A1018}.ld-light .ldl{color:#3F6212}.ld-light .ldl.flat{color:#4A5A6A}
.ld-light .ld-spk path{stroke:#0A1018}
.ld-light .ld-bars i{background:linear-gradient(to top,#0A1018,#334155)}.ld-light .ld-bars i:last-child{background:var(--lime);box-shadow:none}
.ld-light .ld-st{color:#26313C}.ld-light .ld-st b{color:#0A1018}.ld-light .ld-sb{background:#E6EAEF}.ld-light .ld-sb i{background:#0A1018}
.ld-light .ld-feed li{background:#F3F5F7;color:#0A1018}.ld-light .ld-feed li:first-child{background:#F4FFD1}.ld-light .ld-t{color:#3F6212}
.ld-light .ld-donut{background:conic-gradient(#0A1018 calc(var(--p)*1%),#E6EAEF 0)}.ld-light .ld-donut::before{background:#fff}.ld-light .ld-donut b{color:#0A1018}
.ld-light::after{display:none}
/* partner login */
.plhero{background:radial-gradient(120% 90% at 85% 0%,rgba(204,255,0,.10),transparent 55%),#0A1018;color:#E8EDF2}
.plin{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:48px;align-items:center;padding-block:56px}
.plside h1{color:#fff}.plside .lede{color:#C9D1DA}.plside .eyebrow{color:var(--lime)}
.plhero .pllist li{color:#E8EDF2}
.plcard{background:#fff;color:var(--ink);border-radius:20px;padding:26px;box-shadow:0 30px 70px rgba(0,0,0,.35)}
.plform fieldset{border:0;margin:0 0 18px;padding:0}
.plform legend{display:flex;align-items:center;gap:10px;font-weight:800;font-size:15px;margin-bottom:10px}
.stp{width:24px;height:24px;border-radius:50%;background:var(--ink);color:var(--lime);display:grid;place-items:center;font-size:12px}
.ptgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ptype{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;border:1.5px solid var(--line);border-radius:12px;cursor:pointer;transition:all .15s}
.ptype input{position:absolute;opacity:0;width:1px;height:1px}
.ptype .pti{width:36px;height:36px;border-radius:10px;background:var(--card);display:grid;place-items:center;color:var(--ink)}
.ptype b{font-size:13.5px;line-height:1.2}.ptype span:last-child{font-size:11.5px;color:var(--muted);line-height:1.35}
.ptype:hover{border-color:var(--ink)}
.ptype:has(input:checked){border-color:var(--ink);background:#F4FFD1;box-shadow:inset 0 0 0 1px var(--ink)}
.ptype:has(input:checked) .pti{background:var(--ink);color:var(--lime)}
.ptype:has(input:focus-visible){outline:3px solid var(--lime);outline-offset:2px}
.plform.needtype .ptype{border-color:#D92D20}
.plform .field{margin-bottom:10px}
.plform .field label{display:block;font-weight:600;font-size:13px;margin-bottom:4px}
.plform .field input{width:100%;padding:11px 12px;border:1.5px solid var(--line);border-radius:10px;font:inherit}
.plform .field input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(204,255,0,.5)}
.plform .field input[aria-invalid=true]{border-color:#D92D20}
.plrow{display:flex;justify-content:space-between;align-items:center;font-size:13px;margin:4px 0 12px}
.plrow a,.plnew a{color:var(--ink);font-weight:700}
.plbtn{width:100%;justify-content:center}
.plmsg{margin:10px 0 0;font-size:13px}.plmsg.bad{color:#B42318}.plmsg.ok{color:#3F6212;background:#F4FFD1;padding:10px 12px;border-radius:10px}
.plnew{font-size:13.5px;margin:0;color:var(--muted)}
@media (max-width:900px){.plin{grid-template-columns:1fr;padding-block:32px}.ptgrid{grid-template-columns:1fr}.ptype{flex-direction:row;align-items:center;flex-wrap:wrap}.ptype span:last-child{flex-basis:100%}}
.plnew{color:#4A5A6A!important}
.ptree.rail .ptm-s{display:none!important}
/* ---- v28b: Amazon-style side drawer ---- */
.ptree.rail,.navdim{display:none!important}
.sdrawer{position:fixed;inset:0;z-index:200}
.sdrawer[hidden]{display:none}
.snav-dim{position:absolute;inset:0;background:rgba(0,0,0,.8);opacity:0;transition:opacity .3s}
.sdrawer.open .snav-dim{opacity:1}
.snav-panel{position:absolute;top:0;bottom:0;left:0;width:min(365px,calc(100vw - 56px));background:#fff;display:flex;flex-direction:column;transform:translateX(-100%);transition:transform .35s cubic-bezier(.2,.8,.2,1);box-shadow:4px 0 24px rgba(0,0,0,.3)}
.ar .snav-panel,[dir=rtl] .snav-panel{left:auto;right:0;transform:translateX(100%)}
.sdrawer.open .snav-panel{transform:none}
.snav-x{position:absolute;top:12px;left:calc(min(365px,100vw - 56px) + 10px);width:44px;height:44px;border:0;background:none;color:#fff;cursor:pointer;display:grid;place-items:center;opacity:0;transition:opacity .3s}
.ar .snav-x,[dir=rtl] .snav-x{left:auto;right:calc(min(365px,100vw - 56px) + 10px)}
.sdrawer.open .snav-x{opacity:1}
.snav-head{flex:none;display:flex;align-items:center;gap:12px;padding:14px 20px 14px 36px;background:var(--ink);color:#fff!important;font:700 19px/1.2 var(--f-body);text-decoration:none}
.ar .snav-head{font-family:var(--f-ar);padding:14px 36px 14px 20px}
.snav-head svg{color:#fff}.snav-head:hover span{text-decoration:underline;text-decoration-color:var(--lime)}
.snav-body{position:relative;flex:1;overflow:hidden}
.snp{position:absolute;inset:0;overflow-y:auto;padding:4px 0 24px;background:#fff;transform:translateX(100%);visibility:hidden;transition:transform .3s cubic-bezier(.2,.8,.2,1),visibility 0s linear .3s}
.ar .snp,[dir=rtl] .snp{transform:translateX(-100%)}
.snp.on{transform:none;visibility:visible;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.snp[data-p=main]{transform:translateX(-100%)}.ar .snp[data-p=main],[dir=rtl] .snp[data-p=main]{transform:translateX(100%)}.snp[data-p=main].on{transform:none}
.snp section{padding:6px 0 8px;border-bottom:1px solid #D5DBDB}
.snp section:last-child{border-bottom:0}
.snp h3{margin:0;padding:13px 20px 8px 36px;font:700 18px/1.3 var(--f-body);color:#0F1111}
.ar .snp h3{font-family:var(--f-ar);padding:13px 36px 8px 20px}
.snp a,.snp .sitem{display:flex;align-items:center;justify-content:space-between;width:100%;padding:13px 20px 13px 36px;border:0;background:none;text-align:start;font:400 14px/1.3 var(--f-body);color:#111!important;text-decoration:none;cursor:pointer}
.ar .snp a,.ar .snp .sitem{font-family:var(--f-ar);padding:13px 36px 13px 20px;font-size:14.5px}
.snp a:hover,.snp .sitem:hover{background:#EAEDED}
.snp .sch{flex:none;color:#888C8C}
.ar .snp .sch{transform:scaleX(-1)}
.sback{display:flex;align-items:center;gap:10px;width:100%;padding:16px 20px 16px 30px;border:0;border-bottom:1px solid #D5DBDB;background:none;font:700 14px var(--f-body);color:#111;text-transform:uppercase;letter-spacing:.04em;cursor:pointer}
.ar .sback{font-family:var(--f-ar);letter-spacing:0;padding:16px 30px 16px 20px}
.sback .sch{transform:scaleX(-1);color:#111}.ar .sback .sch{transform:none}
.sback:hover{background:#EAEDED}
html.snav-lock,html.snav-lock body{overflow:hidden}
.geta span{color:#fff!important}
.hdrall{margin-inline-end:16px;background:transparent;border:1.5px solid rgba(255,255,255,.25)}
.hdrall:hover{border-color:var(--lime)}
@media (max-width:960px){.hdrall span{display:none}.hdrall{padding:6px 8px;margin-inline-end:10px}}
.sdrawer{z-index:100000!important}
/* drawer: dark highlight, white text on hover / keyboard focus */
.snp a:hover,.snp .sitem:hover,.snp a:focus-visible,.snp .sitem:focus-visible,.sback:hover,.sback:focus-visible{background:var(--ink)!important;color:#fff!important;outline:none}
.snp a:hover .sch,.snp .sitem:hover .sch,.snp .sitem:focus-visible .sch,.sback:hover .sch{color:var(--lime)}
.snp a,.snp .sitem,.sback{transition:background .12s,color .12s}
.snav-x{top:10px}
/* drawer highlight = lime (Chairman 14:56) */
.snp a:hover,.snp .sitem:hover,.snp a:focus-visible,.snp .sitem:focus-visible,.sback:hover,.sback:focus-visible{background:var(--lime)!important;color:var(--ink)!important}
.snp a:hover .sch,.snp .sitem:hover .sch,.snp .sitem:focus-visible .sch,.sback:hover .sch{color:var(--ink)!important}
/* ===== v30 — header distribution · drawer bullets + accordion · app video ===== */
.hdr-in{gap:18px}
.hdr .logo{flex:none}.hdr .logo img{max-width:none}
.hdr .allbtn.hdrall{flex:none}
@media (min-width:1081px){
.nav{flex-wrap:nowrap;align-items:center;gap:4px}
.nav>a,.nav .navtop,.nav .btn-sm,.nav .langsw a{white-space:nowrap}
.nav>a:not(.btn):not(.lang),.nav .navtop{font-size:16px;padding:9px 12px}
.hdr.small .nav>a:not(.btn):not(.lang),.hdr.small .nav .navtop{font-size:15px}
.nav .langsw{flex:none;margin-inline-start:12px}
.nav .btn-sm{flex:none;margin-inline-start:12px}
}
@media (min-width:1081px) and (max-width:1340px){
.hdr-in{gap:12px}
.hdr .logo img,.hdr.small .logo img{height:42px}
.nav>a:not(.btn):not(.lang),.nav .navtop,.hdr.small .nav>a:not(.btn):not(.lang),.hdr.small .nav .navtop{font-size:14.5px;padding:8px 8px}
.nav .navtop{gap:4px}
.nav .btn-sm,.hdr.small .nav .btn-sm{padding:8px 14px;font-size:14px;min-height:40px}
.nav .langsw,.nav .btn-sm{margin-inline-start:8px}
.ar .nav>a:not(.btn):not(.lang),.ar .nav .navtop{font-size:14px;padding:8px 7px}
}
@media (min-width:1081px) and (max-width:1180px){
.hdr .allbtn.hdrall span{display:none}.hdr .allbtn.hdrall{padding-inline:10px}
.nav>a:not(.btn):not(.lang),.nav .navtop{font-size:14px;padding:8px 6px}
}
/* drawer: bullets + inline accordion */
.snp a.sbul{justify-content:flex-start;gap:12px}
.snp a.sbul::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--ink)}
.snp .sacc{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:13px 20px 13px 36px;border:0;background:none;text-align:start;font:600 14px/1.3 var(--f-body);color:#111;cursor:pointer;transition:background .12s,color .12s}
.ar .snp .sacc{font-family:var(--f-ar);padding:13px 36px 13px 20px;font-size:14.5px}
.snp .sacc .sbt{display:flex;align-items:center;gap:12px}
.snp .sacc .sbt::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--ink)}
.snp .sacc .sch{flex:none;color:#666;transition:transform .2s}
.snp .sacc[aria-expanded=true] .sch,.ar .snp .sacc[aria-expanded=true] .sch{transform:rotate(90deg)}
.snp .sacc:hover,.snp .sacc:focus-visible{background:var(--lime)!important;color:var(--ink)!important;outline:none}
.snp .sacc:hover .sch,.snp .sacc:focus-visible .sch{color:var(--ink)}
.snp .sacc[aria-expanded=true]{background:#F1F3F4}
.snp .saccl{background:#F7F8F8;border-block:1px solid #E6E9EA;padding:2px 0 6px}
.snp .saccl[hidden]{display:none}
.snp a.ssub{padding:10px 20px 10px 54px;font-size:13.5px}
.ar .snp a.ssub{padding:10px 54px 10px 20px}
.snp a.ssub::before{width:5px;height:5px;border-radius:1px;background:#66727F}
.snp a.sall{font-weight:600}
/* app page video */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.appvid{padding-block:28px 12px}
.vidbox{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#000;box-shadow:0 18px 50px rgba(10,16,24,.25)}
.vidbox video{display:block;width:100%;height:100%;object-fit:contain;background:#000}
.vidcap{margin:10px 0 0;font-size:13px;color:#66727F}
.pladmin{margin:18px 0 0;text-align:center;font-size:14px}
.pladmin a{color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:3px}
@media (min-width:1081px){.hdr-in{justify-content:flex-start}.nav{flex:1 1 auto}.nav>:first-child{margin-inline-start:auto}.nav .langsw{margin-inline-start:auto}}

/* ===== v32b (24 Oct 2026 18:36) ===== */
/* drawer: lime bullets on every list item */
.snp a.sbul::before{width:8px;height:8px;background:#CCFF00;box-shadow:0 0 0 1.5px #0A1018}
.snp .sacc{-webkit-appearance:none;appearance:none;border-radius:0;box-shadow:none}
.snp .sacc .sbt::before,.snp a.ssub::before{width:8px;height:8px;border-radius:50%;background:#CCFF00;box-shadow:0 0 0 1.5px #0A1018}
/* footer */
.fmail2{display:inline-flex;align-items:center;gap:12px;margin-top:6px;color:#fff;text-decoration:none;border:1px solid var(--line-dark,#24344A);border-radius:12px;padding:10px 16px 10px 12px;align-self:flex-start;transition:border-color .2s}
.fmail2 svg{color:#CCFF00;flex:none}.fmail2 span{display:flex;flex-direction:column;line-height:1.25;font-weight:600;font-size:14px}.fmail2 small{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-dark,#8FA0B5)}
.fmail2:hover{border-color:#CCFF00}
.ftr-bot .fcopy{max-width:720px;line-height:1.55}
/* SPARK Application page */
.wstats{display:flex;align-items:center;justify-content:center;gap:28px;margin-top:22px}
.wstats div{display:flex;align-items:baseline;gap:10px}.wstats b{font:600 44px/1 'Clash Display',Inter,Arial,sans-serif;color:#CCFF00}.wstats span{font-size:14px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#C9D3DE}
.wstats i{width:1px;height:34px;background:rgba(255,255,255,.18)}
.mapsec .mapgrid{display:grid;grid-template-columns:minmax(260px,4fr) minmax(0,8fr);gap:44px;align-items:center}
.mapsec .mapgrid .sechead{text-align:start;margin:0;max-width:none}.mapsec .mapgrid .sechead .lede{margin-inline:0}
.mapsteps{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:10px;counter-reset:ms}
.mapsteps li{counter-increment:ms;display:flex;align-items:center;gap:12px;font-size:15px;color:var(--ink,#0A1018)}
.mapsteps li::before{content:counter(ms,decimal-leading-zero);flex:none;font:700 12px/1 ui-monospace,Consolas,monospace;background:#0A1018;color:#CCFF00;border-radius:6px;padding:6px 7px}
.mapsec .mapgrid .gpsband{margin:0}
@media (max-width:980px){.mapsec .mapgrid{grid-template-columns:1fr;gap:26px}}
.lmgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.lmfig{margin:0;background:#0A1018;border-radius:18px;overflow:hidden;box-shadow:0 20px 50px rgba(10,16,24,.18)}
.lmfig img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.lmfig figcaption{display:grid;grid-template-columns:auto 1fr;column-gap:12px;padding:16px 20px 18px;color:#C9D3DE;font-size:14px}
.lmfig figcaption .sn{grid-row:1/3;font:600 26px/1 'Clash Display',Inter,Arial,sans-serif;color:#CCFF00}.lmfig figcaption b{color:#fff;font-size:16px}
@media (max-width:760px){.lmgrid{grid-template-columns:1fr}}
.beatimg{margin:0 0 22px;border-radius:18px;overflow:hidden;box-shadow:0 20px 50px rgba(10,16,24,.18)}.beatimg img{width:100%;height:auto;display:block}

/* ===== v33 app page (24 Oct 2026 18:55) ===== */
.sec.appinfo{border-radius:0!important}
.wstats{display:none}
.apg{padding-block:72px}.apg+.apg{border-top:1px solid #E6EAEF}
.apghead{display:flex;gap:20px;align-items:flex-start;margin-bottom:28px;max-width:860px}
.apn{flex:none;font:600 44px/1 'Clash Display',Inter,Arial,sans-serif;color:#0A1018;background:#CCFF00;border-radius:12px;padding:10px 14px}
.apghead h2{margin:0 0 6px}.apghead .lede{margin:0}
.apimg{margin:0;border-radius:16px;overflow:hidden;border:1px solid #E1E6EC;box-shadow:0 22px 50px rgba(10,16,24,.12);background:#0A1018}
.apimg img{display:block;width:100%;height:auto}
.apg .mapgrid{display:grid;grid-template-columns:minmax(240px,3fr) minmax(0,9fr);gap:40px;align-items:center}
.apg .mapsteps{margin:0}.apg .gpsband{margin:0}
.apg .beatgrid{margin-top:22px}
@media (max-width:980px){.apg .mapgrid{grid-template-columns:1fr}}
@media (max-width:600px){.apghead{gap:14px}.apn{font-size:30px;padding:8px 10px}.apg{padding-block:52px}}
.sec.appinfo{margin-block:0!important}
.sec.apg{padding-block:56px!important}
.lgh{font-weight:500;color:#6B7785;font-size:12.5px;margin-inline-start:8px}
.fdgz{display:flex;align-items:center;gap:10px;margin-top:2px}.fdgz small{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-dark,#8FA0B5)}.fdgz img{height:21px;width:auto;opacity:.95}
.ftr-brand .fdgz img{height:22px!important;width:auto!important;align-self:center!important}.fdgz small{white-space:nowrap}

/* ===== v35 (24 Oct 2026 19:57) ===== */
/* footer: DIGITIZE endorsement at the very bottom */
.ftr .fdgz{display:flex;justify-content:center;align-items:center;gap:12px;padding:18px 0 26px;border-top:1px solid var(--line-dark,#1E2A3A)}
/* selected chips: lime, not black */
.chip.on,.gtabs .chip.on,.ichip input:checked+span{background:var(--lime)!important;color:var(--ink)!important;border-color:var(--lime)!important;box-shadow:none!important}
/* mobile: picture first, words underneath */
@media (max-width:700px){
 .cine{min-height:0!important;display:block}
 .cine-bg{position:relative!important;inset:auto!important;display:block;width:100%;height:auto!important;aspect-ratio:16/10;object-fit:cover;animation:none!important;z-index:0!important}
 .cine-ov{display:none!important}
 .cine-in{min-height:0!important;padding-block:26px 40px!important;align-items:flex-start!important}
 .intro.band,.ar .intro.band{background:var(--ink)!important;padding-top:0!important}
 .intro.band::before{content:"";display:block;width:100%;aspect-ratio:16/9;background:url('img/hero/fiber-band.jpg') center/cover no-repeat;margin-bottom:26px}
}
/* SPARK Application: See → Decide → Own → Close, animated in sequence with real arrows */
.apg .beatgrid{gap:44px}
.apg .beat{opacity:0;transform:translateY(14px);animation:bIn .6s cubic-bezier(.2,.8,.2,1) forwards,bOn 6s 1.6s infinite}
.apg .beat:nth-child(1){animation-delay:.1s,1.6s}.apg .beat:nth-child(2){animation-delay:.45s,3.1s}.apg .beat:nth-child(3){animation-delay:.8s,4.6s}.apg .beat:nth-child(4){animation-delay:1.15s,6.1s}
@keyframes bIn{to{opacity:1;transform:none}}
@keyframes bOn{0%,22%,100%{box-shadow:0 0 0 0 rgba(204,255,0,0)}6%,16%{box-shadow:0 0 0 3px #CCFF00,0 14px 30px rgba(10,16,24,.25)}}
.apg .beat:not(:last-child)::after{content:""!important;width:30px!important;height:16px!important;border-radius:0!important;inset-inline-end:-37px!important;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 16'%3E%3Cpath d='M1 8h25M19 2l7 6-7 6' fill='none' stroke='%230A1018' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat!important;color:transparent!important}
.ar .apg .beat:not(:last-child)::after{transform:translateY(-50%) scaleX(-1)!important}
@media (max-width:900px){.apg .beatgrid{gap:14px}}
@media (prefers-reduced-motion:reduce){.apg .beat{animation:none;opacity:1;transform:none}}

/* ===== v36 (24 Oct 2026 20:02) ===== */
/* passive: six family cards — full-bleed photos, even text, responsive */
.famgrid:has(.card.fam){display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important;padding:0!important;background:none!important;box-shadow:none!important}
.card.fam{display:flex!important;flex-direction:column;padding:0!important;border-radius:16px!important;overflow:hidden;background:#fff!important;border:1px solid #E3E7EB}
.card.fam .hfig.fimg{margin:0!important;width:100%!important;aspect-ratio:16/10!important;border-radius:0!important;background:#0A1018}
.card.fam .hfig.fimg img{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;display:block}
.card.fam>:not(.fimg){margin-inline:22px!important}
.card.fam .rowflex{margin-top:6px}.card.fam .d{flex:1}.card.fam .more{margin-bottom:22px!important}
@media (max-width:960px){.famgrid:has(.card.fam){grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:640px){.famgrid:has(.card.fam){grid-template-columns:minmax(0,1fr)!important}}
/* turnkey on mobile: picture first, then the words */
@media (max-width:900px){.stagegrid{display:flex!important;flex-direction:column}.stagegrid>.stagetxt{order:2}.stagegrid>:not(.stagetxt){order:1;margin-bottom:22px}}
/* application wheel on mobile */
@media (max-width:1000px){.appinfo .wheel{overflow:hidden;padding-top:18px}.appinfo .hub{width:176px!important;height:176px!important;margin:0 auto 34px!important}.appinfo .hub b{font-size:14px}.appinfo .hub img{width:24px;height:auto}.appinfo .wnode{padding:14px 10px 12px}}
@media (max-width:420px){.appinfo .wheel{grid-template-columns:1fr!important}}
/* mobile menu = the SPARK drawer */
.snav-quick{display:none}
@media (max-width:1080px){
 .snav-panel{width:min(100vw - 44px,420px)!important}
 .snav-quick{display:flex;gap:10px;align-items:center;padding:14px 20px;background:#F4F6F8;border-bottom:1px solid #E6E9EA}
 .snav-quick .btn{flex:1;justify-content:center}
 .snav-quick .sq-home{font-weight:700;color:#0A1018;text-decoration:none;border:1px solid #CBD2D9;border-radius:10px;padding:10px 16px}
 .snp section h3{font-size:15px!important;letter-spacing:.01em}
 .snp a.sbul{padding-block:12px!important;font-size:15px!important}
}
/* ===== v37 drawer revamp: clean groups, guide-line sub-items (no lime circles) ===== */
.snp section{padding:10px 0 12px;border-bottom:1px solid #EBEEF1}
.snp section h3{display:flex;align-items:center;gap:10px;padding:14px 20px 8px 28px!important;font:800 11.5px/1.2 var(--f-body)!important;letter-spacing:.12em!important;text-transform:uppercase;color:#6B7785!important}
.ar .snp section h3{padding:14px 28px 8px 20px!important;font-family:var(--f-ar)!important;letter-spacing:0!important;font-size:13px!important}
.snp section h3::before{content:"";width:14px;height:3px;border-radius:2px;background:var(--lime);box-shadow:0 0 0 1px #0A101814}
.snp a.sbul,.snp .sacc{position:relative;padding:12px 20px 12px 28px!important;font:600 15px/1.3 var(--f-body)!important;color:#0A1018!important;border-radius:0}
.ar .snp a.sbul,.ar .snp .sacc{padding:12px 28px 12px 20px!important;font-family:var(--f-ar)!important}
.snp a.sbul::before,.snp .sacc .sbt::before{width:7px!important;height:7px!important;border-radius:50%!important;background:var(--lime)!important;box-shadow:0 0 0 1.5px #0A1018!important}
.snp a.sbul::after,.snp .sacc::after{content:"";position:absolute;inset-block:8px;inset-inline-start:0;width:3px;border-radius:0 3px 3px 0;background:var(--lime);opacity:0;transition:opacity .15s}
.snp a.sbul:hover,.snp .sacc:hover,.snp .sacc:focus-visible{background:#F4F6F8!important;color:#0A1018!important}
.snp a.sbul:hover::after,.snp .sacc:hover::after,.snp .sacc[aria-expanded=true]::after{opacity:1}
.snp .sacc[aria-expanded=true]{background:#F4F6F8!important;font-weight:800!important}
.snp .sacc[aria-expanded=true] .sch{color:#0A1018}
.snp .saccl{background:#F4F6F8!important;border:0!important;padding:0 0 10px!important;margin:0}
.snp .saccl>div,.snp .saccl{position:relative}
.snp a.ssub{position:relative;margin-inline-start:42px;width:calc(100% - 54px);padding:9px 14px!important;font:500 14px/1.35 var(--f-body)!important;color:#2B3540!important;border-inline-start:2px solid #D6DCE2;justify-content:space-between}
.ar .snp a.ssub{font-family:var(--f-ar)!important}
.snp a.ssub::before{display:none!important;content:none!important}
.snp a.ssub::after{content:"›";color:#9AA5B1;font-size:16px;line-height:1;transition:transform .15s,color .15s}
.ar .snp a.ssub::after{content:"‹"}
.snp a.ssub:hover,.snp a.ssub:focus-visible{border-inline-start-color:#0A1018;background:#fff!important;color:#0A1018!important;outline:none}
.snp a.ssub:hover::after{color:#0A1018;transform:translateX(3px)}
.ar .snp a.ssub:hover::after{transform:translateX(-3px)}
.snp a.ssub:first-child{margin-top:4px}
.snp a.ssub.allsub{font-weight:700!important;color:#0A1018!important}
.snav-head{padding-inline-start:28px!important}
@media (max-width:1080px){
 .snav-panel{width:min(100vw - 40px,430px)!important;border-radius:0 18px 18px 0}
 .ar .snav-panel{border-radius:18px 0 0 18px}
 .snav-quick{padding:14px 18px!important;background:#0A1018!important;border:0!important;gap:10px}
 .snav-quick .btn{background:var(--lime)!important;color:#0A1018!important;border-color:var(--lime)!important;min-height:44px}
 .snav-quick .sq-home{color:#fff!important;border-color:#2A3A4E!important;min-height:44px;display:inline-flex;align-items:center}
 .snp a.sbul,.snp .sacc{padding-block:14px!important;font-size:15.5px!important}
 .snp a.ssub{padding-block:11px!important;font-size:14.5px!important}
}
/* v37 wide screens / zoom-out: the dark shade follows the text column, the picture stays visible edge to edge */
@media (min-width:1500px){
 .cine-ov{background:linear-gradient(90deg,rgba(10,16,24,.30) 0,rgba(10,16,24,.80) calc(50% - 600px),rgba(10,16,24,.62) calc(50% - 40px),rgba(10,16,24,.14) calc(50% + 380px),rgba(10,16,24,.04) 100%),linear-gradient(0deg,rgba(10,16,24,.5) 0%,rgba(10,16,24,0) 35%)}
 .ar .cine-ov{background:linear-gradient(270deg,rgba(10,16,24,.30) 0,rgba(10,16,24,.80) calc(50% - 600px),rgba(10,16,24,.62) calc(50% - 40px),rgba(10,16,24,.14) calc(50% + 380px),rgba(10,16,24,.04) 100%),linear-gradient(0deg,rgba(10,16,24,.5) 0%,rgba(10,16,24,0) 35%)}
}
@media (min-width:2000px){.cine:not(.home) .cine-bg{left:-25vw!important;right:auto!important;width:calc(100% + 25vw)!important;max-width:none!important}.cine.home .cine-bg{left:-42vw!important;right:auto!important;width:calc(100% + 42vw)!important;max-width:none!important;object-position:50% 46%}}
picture.hpic{display:contents}
@media (max-width:700px){.cine.home .cine-bg{object-position:58% 50%}}
/* v38b drawer: clickable group titles + dark hover like the header menus */
.snp section h3 a.sh3{all:unset;display:inline-flex;align-items:center;gap:8px;cursor:pointer;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;width:auto!important;padding:0!important}
.snp section h3 a.sh3::after{content:"→";font-size:13px;opacity:.55;transition:transform .15s,opacity .15s}
.ar .snp section h3 a.sh3::after{content:"←"}
.snp section h3 a.sh3:hover,.snp section h3 a.sh3:focus-visible{color:#0A1018!important}
.snp section h3 a.sh3:hover::after{opacity:1;transform:translateX(3px)}
.ar .snp section h3 a.sh3:hover::after{transform:translateX(-3px)}
.snp a.sbul:hover,.snp a.sbul:focus-visible,.snp .sacc:hover,.snp .sacc:focus-visible{background:#0A1018!important;color:#fff!important}
.snp a.sbul:hover::before,.snp .sacc:hover .sbt::before{box-shadow:0 0 0 1.5px #CCFF00!important}
.snp .sacc:hover .sch,.snp a.sbul:hover .sch{color:#CCFF00!important}
.snp a.ssub:hover,.snp a.ssub:focus-visible{background:#0A1018!important;color:#fff!important;border-inline-start-color:#CCFF00!important}
.snp a.ssub:hover::after{color:#CCFF00!important}
.snp a:hover,.snp .sitem:hover{background:#0A1018;color:#fff!important}
/* v38b application page: alternating text / picture rows */
.apg.apsplit{padding-block:64px}
.apgrid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;align-items:center}
.apsplit.flip .apgrid{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.apsplit.flip .aptxt{order:2}.apsplit.flip .apvis{order:1}
.aptxt .apn{display:inline-flex;align-items:center;justify-content:center;min-width:52px;height:40px;padding:0 10px;border-radius:10px;background:var(--lime);color:var(--ink);font:800 22px/1 var(--f-head,var(--f-body));margin-bottom:14px}
.aptxt h2{margin:0 0 8px;font-size:clamp(24px,2.4vw,32px)}
.aptxt .lede{margin:0 0 16px;font-size:16px;color:#4A5765;max-width:38ch}
.appts{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.appts li{position:relative;padding-inline-start:22px;font-size:14.5px;line-height:1.45;color:#1B2630}
.appts li::before{content:"";position:absolute;inset-inline-start:0;top:.5em;width:9px;height:9px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 1.5px var(--ink)}
.apvis .apimg{margin:0;position:relative}
.apvis .apimg img{width:100%;height:auto;display:block;border-radius:16px;box-shadow:0 18px 40px rgba(10,16,24,.16)}
.apvis .gpsband{margin:0!important}
.apsplit .beatgrid{margin-top:36px}
/* alarm animation on the command-centre picture */
.alm{position:absolute;inset:0;pointer-events:none;z-index:2}
/* alarm rises on the wall screen at the fault pin, then the assignment confirms (no bars over the photo) */
.almping{position:absolute;left:60.6%;top:25%;width:0;height:0}
.almping i{position:absolute;left:0;top:0;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;border:2.5px solid #FF3B30;opacity:0;animation:almRing 6s ease-out infinite}
.almping i:nth-child(2){animation-delay:.6s}
.almtoast{position:absolute;right:5.5%;top:8.5%;display:grid;transform:none}
.almtoast b{grid-area:1/1;white-space:nowrap;font:800 12.5px/1 var(--f-body);padding:9px 13px;border-radius:8px;box-shadow:0 10px 24px rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.25)}
.almtoast .a1{background:#FF3B30;color:#fff;animation:almA 6s ease-in-out infinite}
.almtoast .a2{background:#CCFF00;color:#0A1018;opacity:0;animation:almB 6s ease-in-out infinite}
@keyframes almRing{0%,6%{opacity:0;transform:scale(.4)}10%{opacity:1}30%{opacity:.9;transform:scale(1.6)}55%{opacity:.6;transform:scale(2.6)}60%,100%{opacity:0;transform:scale(3)}}
@keyframes almA{0%,10%{opacity:0;transform:translateX(16px)}18%,56%{opacity:1;transform:none}62%,100%{opacity:0;transform:translateY(-6px)}}
@keyframes almB{0%,60%{opacity:0;transform:translateX(16px)}66%,93%{opacity:1;transform:none}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.almping i,.almtoast b{animation:none}.almtoast .a2{opacity:1}.almtoast .a1{opacity:0}}
@media (max-width:900px){
 .apgrid,.apsplit.flip .apgrid{grid-template-columns:minmax(0,1fr);gap:22px}
 .apsplit .apvis{order:1!important}.apsplit .aptxt{order:2!important}
 .apg.apsplit{padding-block:44px}
 .almtoast b{font-size:10px;padding:6px 9px}.almping i{width:12px;height:12px;margin:-6px 0 0 -6px}
}
/* ===== v40 drawer: group titles clickable rows + dark highlight exactly like the header menu ===== */
.snp section h3{padding:0!important;margin:4px 0 2px}
.snp section h3::before{display:none!important}
.snp section h3 a.sh3{all:unset;box-sizing:border-box;display:flex!important;align-items:center;gap:10px;width:100%!important;padding:12px 20px 10px 28px!important;cursor:pointer;font:800 11.5px/1.2 var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:#6B7785;transition:background .12s,color .12s}
.ar .snp section h3 a.sh3{padding:12px 28px 10px 20px!important;font-family:var(--f-ar);letter-spacing:0;font-size:13px}
.snp section h3 a.sh3::before{content:"";flex:none;width:14px;height:3px;border-radius:2px;background:var(--lime)}
.snp section h3 a.sh3::after{content:"→";margin-inline-start:auto;font-size:14px;opacity:.6}
.ar .snp section h3 a.sh3::after{content:"←"}
.snp a.sbul:hover,.snp a.sbul:focus-visible,.snp a.sbul:active,
.snp .sacc:hover,.snp .sacc:focus-visible,.snp .sacc:active,
.snp a.ssub:hover,.snp a.ssub:focus-visible,.snp a.ssub:active,
.snp section h3 a.sh3:hover,.snp section h3 a.sh3:focus-visible,.snp section h3 a.sh3:active{background:#0A1018!important;color:#fff!important;outline:none}
.snp .sacc:hover .sch,.snp .sacc:focus-visible .sch,.snp a.ssub:hover::after,.snp section h3 a.sh3:hover::after{color:var(--lime)!important;opacity:1}
.snp a.sbul:hover::after,.snp .sacc:hover::after{opacity:0!important}
.snp .sacc[aria-expanded=true]{background:#0A1018!important;color:#fff!important}
.snp .sacc[aria-expanded=true] .sch{color:var(--lime)!important}
.snp .sacc[aria-expanded=true]::after{opacity:0!important}
.snp a.ssub:hover,.snp a.ssub:focus-visible{border-inline-start-color:var(--lime)!important}
/* v40: selected partner type — icon visible (lime on ink) */
.ptype .pti svg{color:var(--ink)!important;stroke:currentColor!important}
.ptype:has(input:checked) .pti{background:var(--ink)!important}
.ptype:has(input:checked) .pti svg{color:var(--lime)!important}
