:root{
  color-scheme:dark;
  --ink:#060B16;--navy:#0A1426;--panel:#0D1A30;--panel2:#11223D;--panel3:#162B4B;
  --line:#1B2E4D;--line2:#27406A;
  --tx:#E8EEF7;--mut:#9AA9C2;--dim:#6E7F9C;
  --blue:#5B8FF9;--blue2:#3E74E8;--teal:#1BC3D1;--teal2:#3CDCEB;--tealdim:rgba(27,195,209,.12);
  --crit:#E5484D;--high:#EF8A3E;--med:#D9B64A;--low:#6A9BD8;--ok:#2FB87A;
  --paper:#F3F6FA;--paper2:#FFFFFF;--ptx:#0B1830;--pmut:#4A5B76;--pline:#DAE2ED;
  --fd:"Manrope","IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --fb:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --fm:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --wrap:1240px;--r:10px;--r2:14px;
  --navh:68px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--navh) + 16px)}
body{margin:0;background:var(--ink);color:var(--tx);font-family:var(--fb);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--teal2);outline-offset:3px;border-radius:4px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:16px;top:-60px;z-index:200;background:var(--teal);color:#021016;padding:10px 16px;border-radius:8px;font-weight:600;text-decoration:none}
.skip:focus{top:12px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
section{position:relative}
.sec{padding-block:clamp(72px,10vw,128px)}
.sec.tight{padding-block:clamp(56px,7vw,88px)}
.light{background:var(--paper);color:var(--ptx)}
.light .lede,.light .mut{color:var(--pmut)}
.alt{background:var(--navy)}
.eyebrow{font-family:var(--fm);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);display:inline-flex;align-items:center;gap:10px;margin:0 0 18px}
.eyebrow::before{content:"";width:18px;height:1px;background:currentColor;opacity:.7}
.light .eyebrow{color:#0E7F8C}
h1,h2,h3,h4{font-family:var(--fd);margin:0;letter-spacing:-.02em;text-wrap:balance}
h2{font-size:clamp(30px,4.2vw,50px);line-height:1.08;font-weight:700;max-width:22ch}
h3{font-size:20px;line-height:1.3;font-weight:700}
.lede{font-size:clamp(16px,1.5vw,18.5px);color:var(--mut);max-width:62ch;margin:20px 0 0}
.mut{color:var(--mut)}
.mono{font-family:var(--fm)}
.num{font-variant-numeric:tabular-nums}
.head{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:end;margin-bottom:56px}
.head .lede{margin:0}
@media (max-width:900px){.head{grid-template-columns:1fr;gap:16px}}
.btn{display:inline-flex;align-items:center;gap:10px;height:46px;padding:0 20px;border-radius:8px;font-weight:600;font-size:15px;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background .2s,border-color .2s,transform .2s;white-space:nowrap}
.btn-p{background:var(--teal);color:#021318}
.btn-p:hover{background:var(--teal2)}
.btn-g{border-color:var(--line2);color:var(--tx);background:rgba(255,255,255,.02)}
.btn-g:hover{border-color:var(--teal);background:var(--tealdim)}
.light .btn-g{border-color:#B9C6D8;color:var(--ptx);background:#fff}
.btn-s{height:38px;padding:0 14px;font-size:14px}
.btn .ar{transition:transform .2s}
.btn:hover .ar{transform:translateX(3px)}
.tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--fm);font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:5px;border:1px solid var(--line2);color:var(--mut);white-space:nowrap}
.illus{display:inline-flex;align-items:center;gap:6px;font-family:var(--fm);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);border:1px dashed var(--line2);padding:3px 8px;border-radius:5px}
.illus::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--med)}
.light .illus{border-color:#B9C6D8;color:#5C6C86}

/* ---------- NAV ---------- */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:100;background:rgba(255,255,255,.97);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid #E3E9F2;color:var(--ptx)}
.nav .wrap{display:flex;align-items:center;height:var(--navh);gap:20px}
.brand{display:flex;align-items:center;flex-shrink:0}
.brand img{height:28px;width:auto;display:block}
.menu{display:flex;gap:2px;list-style:none;margin:0;padding:0;flex:1}
.menu>li{position:relative}
.mtrig{white-space:nowrap;background:none;border:0;height:var(--navh);padding:0 12px;font-size:14.5px;font-weight:500;color:#243552;cursor:pointer;display:flex;align-items:center;gap:6px}
.mtrig svg{width:10px;height:10px;transition:transform .2s;opacity:.6}
.mtrig:hover,.mtrig[aria-expanded="true"]{color:#0A1F3F}
.mtrig[aria-expanded="true"] svg{transform:rotate(180deg)}
.mpanel{position:absolute;top:calc(var(--navh) - 6px);left:-8px;min-width:300px;background:#fff;border:1px solid #E1E8F1;border-radius:12px;box-shadow:0 24px 60px -20px rgba(10,24,48,.28);padding:10px;display:none}
.mpanel.wide{min-width:560px;display:none;grid-template-columns:1fr 1fr;gap:4px}
.mtrig[aria-expanded="true"]+.mpanel{display:block}
.mtrig[aria-expanded="true"]+.mpanel.wide{display:grid}
.mpanel a{display:flex;gap:12px;padding:10px 12px;border-radius:8px;text-decoration:none;color:var(--ptx)}
.mpanel a:hover,.mpanel a:focus-visible{background:#F1F5FA}
.mpanel .mi{flex:0 0 34px;height:34px;border-radius:8px;background:#EAF7F9;color:#0E7F8C;display:grid;place-items:center;font-family:var(--fm);font-size:10px;font-weight:600}
.mpanel b{display:block;font-size:14px;font-weight:600}
.mpanel small{display:block;color:#5A6A84;font-size:12.5px;line-height:1.4}
.mpanel .mfoot{grid-column:1/-1;border-top:1px solid #EDF1F6;margin-top:6px;padding:10px 12px 4px;font-size:12.5px;color:#5A6A84}
.navcta{display:flex;align-items:center;gap:10px;margin-left:auto}
.navcta .lnk{white-space:nowrap;font-size:14px;font-weight:500;color:#243552;text-decoration:none;padding:8px 10px}
.navcta .btn-p{height:40px;background:#0B1830;color:#fff}
.navcta .btn-p:hover{background:#13305A}
.burger{display:none;margin-left:auto;background:none;border:1px solid #D6DFEA;border-radius:8px;width:42px;height:42px;cursor:pointer;color:var(--ptx)}
.mob{display:none}
@media (max-width:1120px){
  .menu,.navcta{display:none}
  .burger{display:grid;place-items:center}
  .mob{position:fixed;inset:calc(var(--navh) + env(safe-area-inset-top,0px)) 0 0 0;background:#fff;color:var(--ptx);overflow:auto;padding:12px 20px 40px;z-index:99;border-top:1px solid #E3E9F2}
  .mob.open{display:block}
  .mob details{border-bottom:1px solid #EAEFF5}
  .mob summary{list-style:none;padding:16px 4px;font-weight:600;font-size:16px;cursor:pointer;display:flex;justify-content:space-between}
  .mob summary::after{content:"+";color:#0E7F8C;font-size:20px;line-height:1}
  .mob details[open] summary::after{content:"–"}
  .mob a{display:block;padding:9px 12px;color:#243552;text-decoration:none;font-size:15px}
  .mob .btn{margin-top:22px;width:100%;justify-content:center;background:#0B1830;color:#fff}
}

/* ---------- HERO ---------- */
.hero{background:radial-gradient(1200px 600px at 78% 30%,rgba(27,195,209,.08),transparent 60%),radial-gradient(900px 500px at 10% 0%,rgba(91,143,249,.08),transparent 60%),var(--ink);overflow:hidden;border-bottom:1px solid var(--line)}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;opacity:.28;mask-image:radial-gradient(ellipse at 70% 40%,#000 20%,transparent 70%);pointer-events:none}
.hero .wrap{display:grid;grid-template-columns:1.02fr 1fr;gap:40px;align-items:center;padding-block:clamp(56px,8vw,104px) clamp(48px,6vw,80px);position:relative}
.hero h1{font-size:clamp(36px,4.6vw,60px);line-height:1.02;font-weight:800;letter-spacing:-.035em}
.hero h1 .l2{display:block;color:var(--teal2);font-weight:700}
.hero .lede{font-size:clamp(16.5px,1.6vw,19px);margin-top:26px;max-width:54ch}
.hero .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.bomline{margin-top:40px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-family:var(--fm);font-size:13px;letter-spacing:.12em;color:var(--mut)}
.bomline span{color:var(--tx)}
.bomline i{font-style:normal;color:var(--line2)}
.bomline .k{color:var(--dim);letter-spacing:.08em;font-size:11px;text-transform:uppercase;border-right:1px solid var(--line2);padding-right:14px}
.graphbox{position:relative;aspect-ratio:1/0.92;max-width:100%;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,rgba(13,26,48,.85),rgba(6,11,22,.85));box-shadow:0 40px 100px -40px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.04)}
.graphbar{position:absolute;top:0;left:0;right:0;height:40px;display:flex;align-items:center;gap:10px;padding:0 14px;border-bottom:1px solid var(--line);font-family:var(--fm);font-size:11px;color:var(--dim)}
.graphbar .dots{display:flex;gap:6px}.graphbar .dots i{width:8px;height:8px;border-radius:50%;background:var(--line2)}
.graphbar .live{margin-left:auto;display:flex;align-items:center;gap:6px;color:var(--teal)}
.graphbar .live::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 0 rgba(27,195,209,.6);animation:ping 2.2s infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(27,195,209,.5)}80%,100%{box-shadow:0 0 0 8px rgba(27,195,209,0)}}
#heroGraph{position:absolute;inset:40px 0 46px 0;width:100%;height:calc(100% - 86px)}
.graphfoot{position:absolute;left:0;right:0;bottom:0;height:46px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);font-family:var(--fm);font-size:11px}
.graphfoot div{padding:7px 14px;border-right:1px solid var(--line);color:var(--dim);line-height:1.35}
.graphfoot div:last-child{border-right:0}
.graphfoot b{display:block;color:var(--tx);font-weight:500;font-size:12.5px}
.graphfoot b.c{color:var(--crit)}
@media (max-width:980px){.hero .wrap{grid-template-columns:1fr}.graphbox{aspect-ratio:1/1}}
@media (max-width:520px){.graphfoot{grid-template-columns:repeat(2,1fr);height:auto}.graphfoot div:nth-child(2){border-right:0}.graphfoot div{border-bottom:1px solid var(--line)}#heroGraph{inset:40px 0 92px 0;height:calc(100% - 132px)}.graphbox{aspect-ratio:auto;height:520px}}
.gnode text{font-family:var(--fm)}
.gl{stroke:var(--line2);stroke-width:1;fill:none}
.gl.b{stroke:rgba(27,195,209,.35)}

/* ---------- STRIP ---------- */
.strip{border-bottom:1px solid var(--line);background:var(--navy)}
.strip .wrap{display:grid;grid-template-columns:280px 1fr;gap:32px;align-items:center;padding-block:30px}
.strip p{margin:0;font-size:14px;color:var(--mut);line-height:1.5}
.sectors{display:flex;flex-wrap:wrap;gap:8px 28px;list-style:none;margin:0;padding:0}
.sectors li{font-family:var(--fm);font-size:12px;letter-spacing:.14em;color:#C3CFE2;display:flex;align-items:center;gap:10px}
.sectors li::before{content:"";width:5px;height:5px;background:var(--teal);opacity:.7;transform:rotate(45deg)}
@media (max-width:820px){.strip .wrap{grid-template-columns:1fr;gap:16px}}

/* ---------- PROBLEM ---------- */
.prob{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:start}
@media (max-width:960px){.prob{grid-template-columns:1fr;gap:40px}}
.stack{border:1px solid var(--pline);border-radius:var(--r2);background:#fff;overflow:hidden}
.stack .srow{display:grid;grid-template-columns:28px 1fr auto auto;gap:14px;align-items:center;padding:13px 18px;border-bottom:1px solid #EDF1F6;font-size:14.5px}
.stack .srow:last-child{border-bottom:0}
.stack .ix{font-family:var(--fm);font-size:11px;color:#8B98AE}
.stack .sn{font-weight:600}
.stack .cov{width:110px;height:6px;border-radius:3px;background:#E9EEF5;overflow:hidden}
.stack .cov i{display:block;height:100%;border-radius:3px;background:#B8C4D6}
.stack .cov i.lo{background:#E0A83C}.stack .cov i.no{background:#D85A5E}
.stack .st{font-family:var(--fm);font-size:11px;color:#5C6C86;width:92px;text-align:right}
.stack .shead{background:#F6F8FB;font-family:var(--fm);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#6A7890;padding:10px 18px}
.qs{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
.qs li{padding:11px 0;border-bottom:1px solid var(--pline);font-size:15px;display:flex;gap:12px;color:#22334F}
.qs li::before{content:"?";font-family:var(--fm);font-size:12px;color:#0E7F8C;flex:0 0 18px;height:18px;border:1px solid #9ED7DD;border-radius:4px;display:grid;place-items:center;margin-top:3px}
@media (max-width:600px){.qs{grid-template-columns:1fr}}
.connects{margin-top:32px;display:flex;align-items:center;gap:14px;font-family:var(--fd);font-weight:700;font-size:22px;color:var(--ptx)}
.connects::before{content:"";width:40px;height:2px;background:#1BC3D1}

/* ---------- ARCH STORY ---------- */
.arch{display:grid;grid-template-columns:repeat(7,1fr);gap:0;border:1px solid var(--line);border-radius:var(--r2);overflow:hidden;background:var(--panel)}
.arch .st{padding:22px 18px 24px;border-right:1px solid var(--line);position:relative;cursor:default;transition:background .25s}
.arch .st:last-child{border-right:0}
.arch .st:hover,.arch .st.on{background:var(--panel2)}
.arch .n{font-family:var(--fm);font-size:11px;color:var(--teal);letter-spacing:.1em}
.arch h4{font-size:15.5px;margin:14px 0 8px;line-height:1.25}
.arch p{margin:0;font-size:13px;color:var(--mut);line-height:1.5}
.arch .bar{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--line)}
.arch .bar i{display:block;height:100%;width:0;background:var(--teal);transition:width .6s ease}
.arch .st.on .bar i{width:100%}
@media (max-width:1000px){.arch{grid-template-columns:repeat(2,1fr)}.arch .st{border-bottom:1px solid var(--line)}.arch .st:nth-child(2n){border-right:0}}
@media (max-width:520px){.arch{grid-template-columns:1fr}.arch .st{border-right:0}}

/* ---------- PLATFORM / BOM CARDS ---------- */
.boms{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.bom{grid-column:span 2;background:var(--panel);border:1px solid var(--line);border-radius:var(--r2);padding:26px;display:flex;flex-direction:column;transition:border-color .25s,transform .25s;position:relative;overflow:hidden}
.bom:nth-child(4),.bom:nth-child(5){grid-column:span 3}
.bom:hover{border-color:var(--line2);transform:translateY(-2px)}
.bom .top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.bom .code{font-family:var(--fm);font-weight:600;font-size:13px;letter-spacing:.1em;color:var(--teal2);border:1px solid rgba(27,195,209,.35);background:var(--tealdim);padding:4px 9px;border-radius:6px}
.bom h3{margin:18px 0 6px;font-size:21px}
.bom .sub{font-size:14.5px;color:var(--mut);margin:0 0 18px}
.bom .viz{height:128px;border:1px solid var(--line);border-radius:10px;background:var(--ink);margin-bottom:18px;overflow:hidden;position:relative}
.bom ul{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.bom li{font-size:12.5px;color:#C4D0E3;border:1px solid var(--line);padding:3px 9px;border-radius:5px;background:rgba(255,255,255,.015)}
.bom .ex{margin-top:auto;background:none;border:0;padding:0;color:var(--tx);font-weight:600;font-size:14.5px;cursor:pointer;display:inline-flex;gap:8px;align-items:center;align-self:flex-start}
.bom .ex:hover{color:var(--teal2)}
.bom .ex .ar{transition:transform .2s}.bom .ex:hover .ar{transform:translateX(4px)}
@media (max-width:1000px){.boms{grid-template-columns:1fr 1fr}.bom,.bom:nth-child(4),.bom:nth-child(5){grid-column:span 1}}
@media (max-width:640px){.boms{grid-template-columns:1fr}}
.govbar{margin-top:16px;border:1px solid var(--line);border-radius:var(--r2);padding:18px 24px;display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center;background:linear-gradient(90deg,rgba(27,195,209,.07),transparent 60%)}
.govbar b{font-family:var(--fd);font-size:16px}
.govbar span{font-size:14px;color:var(--mut)}
.govbar .btn{margin-left:auto}

/* drawer */
.drawer{position:fixed;inset:0;z-index:150;display:none}
.drawer.open{display:block}
.drawer .scrim{position:absolute;inset:0;background:rgba(3,7,15,.7);backdrop-filter:blur(3px)}
.drawer .dpanel{position:absolute;top:0;right:0;bottom:0;width:min(760px,100%);background:var(--navy);border-left:1px solid var(--line);overflow:auto;padding:calc(28px + env(safe-area-inset-top,0px)) clamp(20px,4vw,44px) 48px;animation:slin .3s ease}
@keyframes slin{from{transform:translateX(40px);opacity:.4}to{transform:none;opacity:1}}
.dclose{position:sticky;top:0;float:right;width:40px;height:40px;border-radius:8px;border:1px solid var(--line2);background:var(--panel);cursor:pointer;font-size:20px;line-height:1}
.drawer h2{font-size:clamp(28px,3.4vw,40px);margin-top:18px}
.dgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px 28px;margin:28px 0}
.dgrid div{border-top:1px solid var(--line);padding-top:12px;font-size:14.5px;color:#C9D4E6}
.dgrid div b{display:block;color:var(--tx);font-size:14px;margin-bottom:2px}
@media (max-width:600px){.dgrid{grid-template-columns:1fr}}
.dh{font-family:var(--fm);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin:34px 0 12px}
.chain{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.chain span{font-family:var(--fm);font-size:12px;padding:7px 11px;border:1px solid var(--line2);border-radius:6px;background:var(--panel);color:#D4DEEE}
.chain i{font-style:normal;color:var(--teal);font-size:13px}
.chain span.hot{border-color:rgba(229,72,77,.5);color:#FFB3B5;background:rgba(229,72,77,.08)}
.chain span.good{border-color:rgba(47,184,122,.5);color:#9BE6C3;background:rgba(47,184,122,.08)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips span{font-size:12.5px;padding:4px 10px;border-radius:5px;border:1px solid var(--line);color:#C4D0E3}
pre.code{font-family:var(--fm);font-size:12.5px;line-height:1.65;background:var(--ink);border:1px solid var(--line);border-radius:10px;padding:16px 18px;overflow-x:auto;color:#B9C7DC;margin:0}
pre.code .k{color:#7FB3FF}pre.code .s{color:#8EDFC1}pre.code .c{color:var(--dim)}pre.code .w{color:#F0B469}pre.code .r{color:#FF8A8D}

/* ---------- PRODUCT GRAPH ---------- */
.pg{border:1px solid var(--line);border-radius:18px;background:var(--panel);overflow:hidden}
.pgsteps{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--line);overflow-x:auto}
.pgs{background:none;border:0;border-right:1px solid var(--line);padding:18px 16px;text-align:left;cursor:pointer;position:relative;min-width:130px;transition:background .2s}
.pgs:last-child{border-right:0}
.pgs:hover{background:rgba(255,255,255,.02)}
.pgs[aria-selected="true"]{background:var(--panel2)}
.pgs[aria-selected="true"]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--teal)}
.pgs small{display:block;font-family:var(--fm);font-size:10.5px;letter-spacing:.1em;color:var(--dim);text-transform:uppercase}
.pgs b{display:block;font-size:14px;margin-top:6px;font-weight:600}
.pgs em{display:block;font-style:normal;font-family:var(--fm);font-size:11.5px;color:var(--mut);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pgbody{display:grid;grid-template-columns:1.25fr 1fr;min-height:400px}
.pgcanvas{border-right:1px solid var(--line);position:relative;background:var(--ink);overflow-x:auto}
#pgSvg{display:block;width:100%;min-width:560px;height:100%;min-height:400px}
.pgdetail{padding:26px 28px}
.pgdetail h3{font-size:22px;margin:10px 0 6px}
.kv{display:grid;grid-template-columns:140px 1fr;border-top:1px solid var(--line);margin-top:18px}
.kv dt,.kv dd{margin:0;padding:10px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.kv dt{color:var(--dim);font-family:var(--fm);font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;padding-top:12px}
.kv dd{color:#D6E0EF;font-family:var(--fm);font-size:12.5px;word-break:break-word}
@media (max-width:900px){.pgbody{grid-template-columns:1fr}.pgcanvas{border-right:0;border-bottom:1px solid var(--line)}.pgsteps{grid-template-columns:repeat(7,minmax(130px,1fr))}}
.pgfoot{display:flex;gap:18px;flex-wrap:wrap;align-items:center;padding:14px 20px;border-top:1px solid var(--line);font-size:13px;color:var(--mut)}
.pgfoot .pill{display:inline-flex;gap:8px;align-items:center}
.pgfoot .pill i{width:8px;height:8px;border-radius:2px}

/* ---------- APP WINDOW (dashboards) ---------- */
.app{border:1px solid var(--line);border-radius:14px;background:var(--panel);overflow:hidden;box-shadow:0 50px 120px -60px rgba(0,0,0,.9)}
.appbar{display:flex;align-items:center;gap:14px;height:44px;padding:0 16px;border-bottom:1px solid var(--line);background:#0A1629;font-size:12.5px;color:var(--mut)}
.appbar .crumb{font-family:var(--fm);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.appbar .crumb b{color:var(--tx);font-weight:500}
.appbar .sp{margin-left:auto;display:flex;gap:10px;align-items:center}
.appgrid{display:grid;grid-template-columns:200px 1fr}
.side{border-right:1px solid var(--line);padding:14px 10px;background:#0B172B}
.side a{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-radius:6px;font-size:13px;color:var(--mut);text-decoration:none}
.side a.on{background:var(--panel3);color:var(--tx)}
.side a .cnt{font-family:var(--fm);font-size:10.5px;background:rgba(229,72,77,.15);color:#FF9EA1;padding:1px 6px;border-radius:4px}
.side .grp{font-family:var(--fm);font-size:10px;letter-spacing:.12em;color:var(--dim);text-transform:uppercase;padding:14px 10px 6px}
.main{padding:18px;min-width:0}
@media (max-width:860px){.appgrid{grid-template-columns:1fr}.side{display:none}}
.sev{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.sevt{border:1px solid var(--line);border-radius:10px;padding:14px 16px;background:var(--ink);position:relative;overflow:hidden;cursor:pointer;text-align:left}
.sevt::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--c)}
.sevt small{font-family:var(--fm);font-size:10.5px;letter-spacing:.12em;color:var(--mut)}
.sevt b{display:block;font-family:var(--fd);font-size:30px;font-weight:700;line-height:1.1;margin-top:4px;font-variant-numeric:tabular-nums}
.sevt em{font-style:normal;font-size:11.5px;color:var(--dim);font-family:var(--fm)}
.sevt[aria-pressed="true"]{background:var(--panel2);border-color:var(--c)}
@media (max-width:600px){.sev{grid-template-columns:1fr 1fr}}
.riskgrid{display:grid;grid-template-columns:1fr 280px;gap:14px;margin-top:14px}
@media (max-width:1060px){.riskgrid{grid-template-columns:1fr}}
.card{border:1px solid var(--line);border-radius:10px;background:var(--ink)}
.card .ch{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);font-size:13px;font-weight:600}
.card .ch small{font-family:var(--fm);font-weight:400;font-size:11px;color:var(--dim)}
.filters{display:flex;gap:6px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid var(--line)}
.fchip{font-size:12px;font-family:var(--fm);padding:4px 10px;border-radius:5px;border:1px solid var(--line2);background:none;cursor:pointer;color:var(--mut)}
.fchip[aria-pressed="true"]{border-color:var(--teal);color:var(--teal2);background:var(--tealdim)}
.tbl{width:100%;border-collapse:collapse;font-size:12.5px}
.tblw{overflow-x:auto}
.tbl th{font-family:var(--fm);font-size:10.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl td{padding:10px 12px;border-bottom:1px solid rgba(27,46,77,.6);white-space:nowrap;color:#CFD9E8}
.tbl tr:last-child td{border-bottom:0}
.tbl tbody tr:hover td{background:rgba(255,255,255,.02)}
.tbl .cn{font-family:var(--fm);color:var(--tx)}
.tbl .v{font-family:var(--fm);color:var(--dim)}
.sb{display:inline-flex;align-items:center;gap:6px;font-family:var(--fm);font-size:10.5px;letter-spacing:.06em;padding:2px 7px;border-radius:4px;font-weight:500}
.sb.crit{background:rgba(229,72,77,.14);color:#FF9DA0}.sb.high{background:rgba(239,138,62,.14);color:#FFB57E}.sb.med{background:rgba(217,182,74,.14);color:#EBD07F}.sb.low{background:rgba(106,155,216,.14);color:#A9C8F0}
.st-o{color:#FFB57E}.st-p{color:#8FDDB8}.st-i{color:#A9C8F0}
.yes{color:#FF9DA0}.no{color:var(--dim)}
.bomt{font-family:var(--fm);font-size:10.5px;color:var(--teal2);border:1px solid rgba(27,195,209,.3);padding:1px 6px;border-radius:4px}
.factors{padding:8px 14px 14px}
.fct{display:grid;grid-template-columns:1fr auto;gap:4px 10px;padding:9px 0;border-bottom:1px solid rgba(27,46,77,.6);font-size:12.5px}
.fct:last-child{border-bottom:0}
.fct b{font-family:var(--fm);font-weight:500;font-variant-numeric:tabular-nums}
.fct .trk{grid-column:1/-1;height:4px;background:var(--panel3);border-radius:2px;overflow:hidden}
.fct .trk i{display:block;height:100%;background:var(--blue);border-radius:2px}
.fct .trk i.w{background:var(--high)}.fct .trk i.c{background:var(--crit)}

/* ---------- GOVERNANCE LOOP ---------- */
.loopwrap{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
@media (max-width:960px){.loopwrap{grid-template-columns:1fr}}
.watch{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1px;background:var(--pline);border:1px solid var(--pline);border-radius:12px;overflow:hidden;margin-top:32px}
.watch div{background:#fff;padding:14px 16px;font-size:14px;font-weight:600;color:#1E2F4B}
.watch small{display:block;font-family:var(--fm);font-weight:400;font-size:11px;color:#6A7890;margin-top:2px}
@media (max-width:520px){.watch{grid-template-columns:1fr 1fr}}
.loop{position:relative;aspect-ratio:1;max-width:520px;margin:0 auto;width:100%}
#loopSvg{width:100%;height:100%;display:block}
.changes{margin-top:18px;border:1px solid var(--pline);border-radius:12px;background:#fff;overflow:hidden}
.changes .row{display:grid;grid-template-columns:78px 60px 1fr;gap:10px;padding:10px 14px;border-bottom:1px solid #EDF1F6;font-size:13px;align-items:center}
.changes .row:last-child{border-bottom:0}
.changes time{font-family:var(--fm);font-size:11.5px;color:#6A7890}
.changes .t{font-family:var(--fm);font-size:10.5px;color:#0E7F8C;border:1px solid #A9DDE2;border-radius:4px;padding:1px 6px;text-align:center}

/* ---------- COMPLIANCE ---------- */
.cflow{display:flex;flex-wrap:wrap;gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:28px}
.cflow span{flex:1 1 120px;padding:14px 16px;font-family:var(--fm);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#C7D3E6;border-right:1px solid var(--line);background:var(--panel);position:relative}
.cflow span:last-child{border-right:0;color:var(--teal2);background:var(--panel2)}
.cflow span small{display:block;color:var(--dim);font-size:10px;letter-spacing:.1em;margin-bottom:3px}
.cdash{display:grid;grid-template-columns:320px 1fr;min-height:520px}
@media (max-width:960px){.cdash{grid-template-columns:1fr}}
.fwlist{border-right:1px solid var(--line);padding:10px}
@media (max-width:960px){.fwlist{border-right:0;border-bottom:1px solid var(--line)}}
.fw{display:grid;grid-template-columns:1fr auto;gap:6px 12px;width:100%;text-align:left;background:none;border:1px solid transparent;border-radius:8px;padding:12px 12px;cursor:pointer;margin-bottom:2px}
.fw:hover{background:rgba(255,255,255,.02)}
.fw[aria-selected="true"]{background:var(--panel2);border-color:var(--line2)}
.fw b{font-size:14px;font-weight:600}
.fw small{font-size:11.5px;color:var(--dim);grid-column:1/2}
.fw .pc{font-family:var(--fd);font-weight:700;font-size:18px;font-variant-numeric:tabular-nums;grid-row:1/3;grid-column:2;align-self:center}
.fw .trk{grid-column:1/-1;height:4px;background:var(--panel3);border-radius:2px;overflow:hidden}
.fw .trk i{display:block;height:100%;background:var(--teal);border-radius:2px}
.fwd{padding:20px 22px;min-width:0}
.fwd .hdr{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.fwd h3{font-size:22px}
.fwd .meta{display:flex;gap:18px;flex-wrap:wrap;margin:14px 0 16px;font-size:12.5px;color:var(--mut)}
.fwd .meta b{color:var(--tx);font-family:var(--fm);font-weight:500}
.drill{display:grid;grid-template-columns:repeat(6,1fr);gap:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:14px}
.drill div{padding:10px 12px;border-right:1px solid var(--line);font-size:12.5px;background:var(--ink);min-width:0}
.drill div:last-child{border-right:0}
.drill small{display:block;font-family:var(--fm);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);margin-bottom:4px}
.drill span{display:block;color:#D6E0EF;line-height:1.4;overflow-wrap:anywhere}
@media (max-width:760px){.drill{grid-template-columns:1fr 1fr}.drill div{border-bottom:1px solid var(--line)}}
.reqrow{cursor:pointer}
.reqrow[aria-selected="true"] td{background:rgba(27,195,209,.07)}
.reqrow td:first-child{white-space:normal;min-width:220px}
.regs{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}
@media (max-width:760px){.regs{grid-template-columns:1fr}}
.reg{border:1px solid var(--line);border-radius:12px;padding:20px 22px;background:var(--panel)}
.reg h4{font-family:var(--fm);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-weight:500;margin-bottom:14px}
.reg ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.reg li{font-size:13.5px;padding:6px 12px;border-radius:6px;border:1px solid var(--line2);background:var(--ink);color:#D6E0EF}
.note{font-size:12.5px;color:var(--dim);margin-top:14px;max-width:90ch}
.light .note{color:#6A7890}

/* ---------- EVIDENCE ---------- */
.evgrid{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:start}
@media (max-width:960px){.evgrid{grid-template-columns:1fr}}
.evfeat{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.evfeat li{padding:12px 0;border-top:1px solid var(--pline);font-size:14.5px;font-weight:500;color:#1E2F4B;display:flex;gap:10px}
.evfeat li::before{content:"";flex:0 0 7px;height:7px;margin-top:9px;background:#1BC3D1;transform:rotate(45deg)}
@media (max-width:520px){.evfeat{grid-template-columns:1fr}}
.evrec{background:#0B1830;color:var(--tx);border-radius:14px;overflow:hidden;border:1px solid #0B1830;box-shadow:0 40px 80px -40px rgba(11,24,48,.45)}
.evrec .eh{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.evrec .eh b{font-family:var(--fm);font-size:13px;font-weight:500}
.ok{color:#8FDDB8}
.evcols{display:grid;grid-template-columns:1fr 1fr}
@media (max-width:600px){.evcols{grid-template-columns:1fr}}
.evcols .kv{margin:0;padding:6px 18px 12px;border:0;grid-template-columns:96px 1fr}
.tl{list-style:none;margin:0;padding:14px 18px 18px;border-left:1px solid var(--line)}
@media (max-width:600px){.tl{border-left:0;border-top:1px solid var(--line)}}
.tl li{position:relative;padding:0 0 14px 20px;font-size:12.5px;color:#C9D4E6;line-height:1.45}
.tl li::before{content:"";position:absolute;left:0;top:5px;width:8px;height:8px;border-radius:50%;border:1.5px solid var(--teal);background:#0B1830}
.tl li::after{content:"";position:absolute;left:4px;top:15px;bottom:-1px;width:1px;background:var(--line2)}
.tl li:last-child::after{display:none}
.tl time{display:block;font-family:var(--fm);font-size:10.5px;color:var(--dim)}
.hash{padding:12px 18px;border-top:1px solid var(--line);font-family:var(--fm);font-size:11px;color:var(--dim);overflow-wrap:anywhere}

/* ---------- DEPLOY ---------- */
.dep{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center}
@media (max-width:960px){.dep{grid-template-columns:1fr}}
.dmodels{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:30px}
.dm{border:1px solid var(--line);border-radius:10px;padding:14px 16px;background:var(--panel);cursor:pointer;text-align:left;transition:border-color .2s}
.dm[aria-pressed="true"]{border-color:var(--teal);background:var(--panel2)}
.dm b{display:block;font-family:var(--fm);font-size:12px;letter-spacing:.1em;font-weight:500}
.dm small{display:block;font-size:13px;color:var(--mut);margin-top:4px;line-height:1.45}
.dm:last-child{grid-column:1/-1}
@media (max-width:520px){.dmodels{grid-template-columns:1fr}}
.perim{position:relative;border:1px solid var(--line);border-radius:18px;background:var(--ink);padding:22px;min-height:420px}
#perimSvg{width:100%;height:auto;display:block}

/* ---------- INTEGRATIONS ---------- */
.ints{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--pline);border:1px solid var(--pline);border-radius:14px;overflow:hidden}
.int{background:#fff;padding:20px 22px}
.int h4{font-family:var(--fm);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#6A7890;font-weight:500;margin-bottom:14px}
.int ul{list-style:none;margin:0;padding:0}
.int li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 0;font-size:14.5px;font-weight:500;color:#1E2F4B;border-bottom:1px dashed #E3E9F1}
.int li:last-child{border-bottom:0}
.int .s{font-family:var(--fm);font-size:10px;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border-radius:4px;white-space:nowrap}
.s.sup{background:#E3F6EE;color:#17774E}.s.cfm{background:#EEF2F8;color:#56657E}.s.soon{background:#FFF4E0;color:#935F0B}
@media (max-width:960px){.ints{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.ints{grid-template-columns:1fr}}

/* ---------- CLI ---------- */
.cli{display:grid;grid-template-columns:1fr 1.25fr;gap:56px;align-items:center}
@media (max-width:960px){.cli{grid-template-columns:1fr}}
.term{border:1px solid var(--line);border-radius:14px;background:#050A13;overflow:hidden;font-family:var(--fm);font-size:13px}
.term .tb{height:38px;display:flex;align-items:center;gap:8px;padding:0 14px;border-bottom:1px solid var(--line);color:var(--dim);font-size:11.5px}
.term .tb i{width:10px;height:10px;border-radius:50%;background:var(--line2)}
.term .tb span{margin-left:8px}
.term pre{margin:0;padding:18px 20px 22px;min-height:360px;line-height:1.75;color:#B9C7DC;white-space:pre-wrap;overflow-x:auto}
.term .p{color:var(--teal2)}.term .g{color:#8FDDB8}.term .d{color:var(--dim)}.term .w{color:#EBD07F}
.cursor{display:inline-block;width:8px;height:15px;background:var(--teal2);vertical-align:-2px;animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.clipts{list-style:none;padding:0;margin:28px 0 0}
.clipts li{padding:12px 0;border-top:1px solid var(--line);font-size:15px;color:#C9D4E6}
.clipts b{color:var(--tx);font-weight:600}

/* ---------- INDUSTRIES / USE CASES ---------- */
.inds{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border:1px solid var(--pline);border-radius:14px;overflow:hidden;background:#fff}
.ind{padding:24px 22px;border-right:1px solid var(--pline);display:flex;flex-direction:column;gap:12px}
.ind:last-child{border-right:0}
.ind h3{font-size:17px;color:var(--ptx)}
.ind p{margin:0;font-size:13.5px;color:var(--pmut);line-height:1.55}
.ind ul{list-style:none;margin:auto 0 0;padding:12px 0 0;border-top:1px solid #EDF1F6;display:flex;flex-direction:column;gap:6px}
.ind li{font-family:var(--fm);font-size:11.5px;color:#34465F}
.ind .ico{width:38px;height:38px;border-radius:9px;background:#0B1830;display:grid;place-items:center}
@media (max-width:1100px){.inds{grid-template-columns:repeat(3,1fr)}.ind{border-bottom:1px solid var(--pline)}}
@media (max-width:680px){.inds{grid-template-columns:1fr}.ind{border-right:0}}
.ucs{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.uc{border:1px solid var(--line);border-radius:12px;padding:22px;background:var(--panel);display:flex;flex-direction:column;gap:18px;min-height:190px;text-decoration:none;transition:border-color .2s,background .2s}
.uc:hover{border-color:var(--teal);background:var(--panel2)}
.uc q{font-family:var(--fd);font-size:19px;font-weight:600;line-height:1.3;quotes:"\201C" "\201D"}
.uc .ft{margin-top:auto;display:flex;justify-content:space-between;align-items:center}
.uc .ft span:last-child{color:var(--teal2)}
.uc.wide{grid-column:span 2;background:linear-gradient(120deg,var(--panel2),var(--panel))}
@media (max-width:1000px){.ucs{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.ucs{grid-template-columns:1fr}.uc.wide{grid-column:span 1}}

/* ---------- EXEC DASHBOARD ---------- */
.kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.kpi{border:1px solid var(--line);border-radius:10px;padding:14px 16px;background:var(--ink)}
.kpi small{font-family:var(--fm);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);display:block}
.kpi b{display:block;font-family:var(--fd);font-weight:700;font-size:28px;line-height:1.15;margin-top:6px;font-variant-numeric:tabular-nums}
.kpi em{font-style:normal;font-size:11.5px;font-family:var(--fm)}
.up{color:#8FDDB8}.dn{color:#FF9DA0}
@media (max-width:1100px){.kpis{grid-template-columns:repeat(3,1fr)}}
@media (max-width:520px){.kpis{grid-template-columns:1fr 1fr}}
.exgrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:12px}
.exgrid .card.span2{grid-column:span 2}
@media (max-width:1000px){.exgrid{grid-template-columns:1fr}.exgrid .card.span2{grid-column:span 1}}
.chart{padding:12px 14px 8px}
.chart svg{width:100%;height:auto;display:block}
.chart text{font-family:var(--fm);font-size:10px;fill:var(--dim)}
.legend{display:flex;gap:14px;font-size:11.5px;color:var(--mut);font-family:var(--fm);padding:0 14px 12px;flex-wrap:wrap}
.legend i{display:inline-block;width:10px;height:2px;vertical-align:middle;margin-right:6px}
.covbars{padding:10px 14px 14px;display:flex;flex-direction:column;gap:11px}
.covbars div{display:grid;grid-template-columns:52px 1fr 40px;gap:10px;align-items:center;font-family:var(--fm);font-size:11.5px}
.covbars .trk{height:8px;background:var(--panel3);border-radius:2px;overflow:hidden}
.covbars .trk i{display:block;height:100%;background:var(--teal)}
.covbars span:last-child{text-align:right;color:var(--mut)}
.lst{list-style:none;margin:0;padding:4px 14px 10px}
.lst li{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid rgba(27,46,77,.6);font-size:12.5px}
.lst li:last-child{border-bottom:0}
.lst .v{font-family:var(--fm);font-size:11px;color:var(--dim)}

/* ---------- TRUST ---------- */
.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--pline)}
.tr{padding:26px 26px 28px 0;border-bottom:1px solid var(--pline)}
.tr h3{font-size:17px;color:var(--ptx);display:flex;align-items:center;gap:10px}
.tr h3 svg{flex:0 0 18px;color:#0E7F8C}
.tr p{margin:8px 0 0;font-size:14px;color:var(--pmut);max-width:40ch}
@media (max-width:900px){.trust{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.trust{grid-template-columns:1fr}}
.certnote{margin-top:28px;display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border:1px solid var(--pline);border-radius:10px;background:#fff;font-size:14px;color:var(--pmut)}
.certnote b{color:var(--ptx)}

/* ---------- RESOURCES ---------- */
.rtabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:24px}
.rtab{border:1px solid var(--line2);background:none;border-radius:999px;padding:6px 14px;font-size:13px;cursor:pointer;color:var(--mut)}
.rtab[aria-pressed="true"]{background:var(--tx);color:var(--ink);border-color:var(--tx)}
.rgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-auto-rows:auto;gap:14px}
.res{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:22px;display:flex;flex-direction:column;gap:12px;text-decoration:none;min-height:200px;transition:border-color .2s}
.res:hover{border-color:var(--line2)}
.res.feat{grid-row:span 2;background:linear-gradient(160deg,var(--panel2),var(--panel) 60%)}
.res .ty{font-family:var(--fm);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}
.res h3{font-size:19px}
.res.feat h3{font-size:26px}
.res p{margin:0;font-size:14px;color:var(--mut)}
.res .rm{margin-top:auto;font-size:13.5px;font-weight:600}
@media (max-width:900px){.rgrid{grid-template-columns:1fr 1fr}.res.feat{grid-column:1/-1;grid-row:auto}}
@media (max-width:560px){.rgrid{grid-template-columns:1fr}}

/* ---------- CTA / FOOTER ---------- */
.cta{background:radial-gradient(800px 400px at 50% 120%,rgba(27,195,209,.16),transparent 70%),var(--navy);border-top:1px solid var(--line);text-align:center}
.cta h2{margin:0 auto;max-width:20ch;font-size:clamp(34px,5vw,60px)}
.cta .lede{margin:22px auto 0}
.cta .ctas{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:34px}
.cta .small{margin-top:28px;font-family:var(--fm);font-size:12px;letter-spacing:.08em;color:var(--dim)}
.motto{display:flex;justify-content:center;gap:clamp(12px,3vw,40px);flex-wrap:wrap;font-family:var(--fm);letter-spacing:.2em;font-size:12px;color:var(--mut);margin-bottom:34px}
.motto span{display:flex;gap:10px;align-items:center}
.motto span::before{content:"";width:6px;height:6px;background:var(--teal);transform:rotate(45deg)}
footer{background:var(--ink);border-top:1px solid var(--line);padding-block:64px 32px;font-size:14px}
.fgrid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:32px}
@media (max-width:900px){.fgrid{grid-template-columns:1fr 1fr}.fbrand{grid-column:1/-1}}
.fbrand .logo{display:inline-block;background:#fff;border-radius:10px;padding:12px 16px}
.fbrand .logo img{height:26px;display:block}
.fbrand p{color:var(--mut);margin:16px 0 0;max-width:32ch}
.fbrand .tl2{font-family:var(--fd);font-weight:600;color:var(--tx);font-size:16px}
footer h4{font-family:var(--fm);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-weight:500;margin-bottom:14px}
footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
footer a{color:#C3CFE2;text-decoration:none}
footer a:hover{color:var(--teal2)}
.fcontact{margin-top:18px;font-family:var(--fm);font-size:13px;display:flex;flex-direction:column;gap:6px}
.fbot{margin-top:56px;padding-top:22px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;color:var(--dim);font-size:13px}
.fbot ul{flex-direction:row;flex-wrap:wrap;gap:6px 20px}

/* modal */
.modal{position:fixed;inset:0;z-index:160;display:none;align-items:center;justify-content:center;padding:16px}
.modal.open{display:flex}
.modal .scrim{position:absolute;inset:0;background:rgba(3,7,15,.72);backdrop-filter:blur(3px)}
.mbox{position:relative;width:min(640px,100%);max-height:calc(100% - 32px);overflow:auto;background:var(--navy);border:1px solid var(--line2);border-radius:16px;padding:28px clamp(18px,4vw,34px)}
.mbox h2{font-size:28px}
.form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}
.form .full{grid-column:1/-1}
.form label{display:block;font-size:12.5px;color:var(--mut);margin-bottom:6px}
.form input,.form select,.form textarea{width:100%;background:var(--ink);border:1px solid var(--line2);border-radius:8px;height:44px;padding:0 12px;color:var(--tx);font:inherit;font-size:14.5px}
.form textarea{height:90px;padding:10px 12px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--teal)}
.form .err{font-size:12px;color:#FF9DA0;margin-top:4px;min-height:0}
.form .boxes{display:flex;flex-wrap:wrap;gap:6px}
.form .boxes label{display:inline-flex;gap:6px;align-items:center;margin:0;border:1px solid var(--line2);border-radius:6px;padding:6px 10px;font-family:var(--fm);font-size:12px;color:var(--tx);cursor:pointer}
.form .boxes input{width:auto;height:auto;accent-color:var(--teal)}
@media (max-width:560px){.form{grid-template-columns:1fr}}
.done{border:1px solid rgba(47,184,122,.4);background:rgba(47,184,122,.07);border-radius:10px;padding:16px;margin-top:18px;font-size:14px}
.done pre{white-space:pre-wrap;font-family:var(--fm);font-size:12px;color:var(--mut);margin:10px 0}

/* reveal */
.rv{transition:transform .7s cubic-bezier(.2,.7,.2,1),opacity .7s}
.js .rv.pre{transform:translateY(14px);opacity:.35}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .js .rv.pre{transform:none;opacity:1}
}

.qs li.full{grid-column:1/-1}

.fwd .tbl td{white-space:normal;min-width:110px}
.fwd .tbl td:last-child{white-space:nowrap}
@media (max-width:1240px){.mtrig{padding:0 9px;font-size:14px}}

/* ---------- ARTICLE READER ---------- */
.reader{position:fixed;inset:0;z-index:140;background:var(--paper);color:var(--ptx);display:flex;flex-direction:column}
.rdbar{flex:0 0 auto;display:flex;align-items:center;gap:14px;height:60px;padding:env(safe-area-inset-top,0px) clamp(16px,4vw,40px) 0;background:#fff;border-bottom:1px solid var(--pline)}
.rdback{background:none;border:1px solid #CBD6E4;border-radius:8px;height:38px;padding:0 14px;font-size:14px;font-weight:600;cursor:pointer;color:var(--ptx)}
.rdback:hover{border-color:#0E7F8C;color:#0E7F8C}
.rdcrumb{font-family:var(--fm);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:#6A7890;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rdx{margin-left:auto;position:static;float:none;background:#fff;border-color:#CBD6E4;color:var(--ptx)}
.rdscroll{flex:1;overflow:auto;scroll-behavior:smooth}
.rdwrap{max-width:1120px;margin:0 auto;padding:clamp(32px,6vw,72px) clamp(16px,4vw,40px) 96px;display:grid;grid-template-columns:220px minmax(0,720px);gap:64px;justify-content:center}
@media (max-width:960px){.rdwrap{grid-template-columns:minmax(0,720px)}.rdtoc{display:none}}
.rdtoc{position:sticky;top:24px;align-self:start;font-size:13.5px}
.rdtoc p{font-family:var(--fm);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#6A7890;margin:0 0 12px}
.rdtoc ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--pline)}
.rdtoc a{display:block;padding:6px 0 6px 14px;margin-left:-1px;border-left:2px solid transparent;color:#4A5B76;text-decoration:none;line-height:1.35}
.rdtoc a:hover,.rdtoc a.on{color:var(--ptx);border-left-color:#1BC3D1}
.rdart{min-width:0;font-size:17px;line-height:1.72;color:#1C2B45}
.rdart .rmeta{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;font-family:var(--fm);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:#6A7890}
.rdart .rmeta .ty{color:#0E7F8C;border:1px solid #A9DDE2;border-radius:5px;padding:3px 8px}
.rdart h1{font-size:clamp(32px,4.6vw,50px);line-height:1.08;font-weight:800;letter-spacing:-.03em;color:var(--ptx);margin:18px 0 18px}
.rdart .dek{font-size:clamp(18px,2vw,21px);line-height:1.55;color:#4A5B76;margin:0 0 30px}
.rdart .keys{border:1px solid var(--pline);background:#fff;border-radius:12px;padding:20px 24px;margin:0 0 40px}
.rdart .keys b{display:block;font-family:var(--fm);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#0E7F8C;margin-bottom:8px}
.rdart .keys ul{margin:0;padding-left:20px;font-size:15.5px;line-height:1.6}
.rdart .keys li{margin:6px 0}
.rdart h2{font-size:clamp(24px,2.6vw,30px);line-height:1.2;color:var(--ptx);margin:48px 0 14px;scroll-margin-top:24px}
.rdart h3{font-size:19px;color:var(--ptx);margin:30px 0 8px}
.rdart p{margin:0 0 18px}
.rdart ul,.rdart ol{margin:0 0 20px;padding-left:24px}
.rdart li{margin:7px 0}
.rdart a{color:#0B6E79;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.rdart code{font-family:var(--fm);font-size:.86em;background:#E8EDF4;padding:1px 6px;border-radius:4px}
.rdart .small{font-size:14px;color:#6A7890;border-top:1px solid var(--pline);padding-top:14px;margin-top:28px}
.rdart .tw{overflow-x:auto;margin:6px 0 24px;border:1px solid var(--pline);border-radius:10px;background:#fff}
.rdart table{width:100%;border-collapse:collapse;font-size:14.5px;line-height:1.5}
.rdart th{text-align:left;font-family:var(--fm);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#56657E;font-weight:500;background:#F6F8FB;padding:10px 14px;border-bottom:1px solid var(--pline)}
.rdart td{padding:10px 14px;border-bottom:1px solid #EDF1F6;vertical-align:top}
.rdart tr:last-child td{border-bottom:0}
.rdart td:first-child{font-weight:600;color:var(--ptx)}
.fieldgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:6px 0 22px}
.fieldgrid span{font-family:var(--fm);font-size:12.5px;background:#fff;border:1px solid var(--pline);border-radius:6px;padding:7px 10px;color:#1E2F4B}
@media (max-width:600px){.fieldgrid{grid-template-columns:1fr 1fr}}
sup.cite{font-size:.7em;line-height:0;margin-left:1px}
sup.cite a{font-family:var(--fm);text-decoration:none!important;color:#0B6E79;font-weight:600;padding:0 1px}
sup.cite a:hover{background:#DDF3F5;border-radius:3px}
.rsrc{margin-top:56px;border-top:2px solid var(--ptx);padding-top:18px}
.rsrc h2{margin-top:0!important;font-size:22px!important}
.rsrc ol{padding-left:0;list-style:none;counter-reset:s;font-size:14.5px;line-height:1.5}
.rsrc li{counter-increment:s;display:grid;grid-template-columns:34px 1fr;gap:4px;padding:10px 8px;border-bottom:1px solid var(--pline);border-radius:6px;scroll-margin-top:24px;transition:background .6s}
.rsrc li::before{content:"[" counter(s) "]";font-family:var(--fm);font-size:12.5px;color:#0B6E79;font-weight:600;padding-top:1px}
.rsrc li.hl{background:#DDF3F5}
.rsrc .pub{display:block;color:#6A7890;font-size:13px}
.rsrc .url{display:block;font-family:var(--fm);font-size:11.5px;color:#56657E;overflow-wrap:anywhere;text-decoration:none!important}
.rsrc .note2{font-size:13px;color:#6A7890;margin-top:14px}
.rrel{margin-top:48px}
.rrel h2{font-size:20px!important;margin:0 0 14px!important}
.rrel .g{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media (max-width:700px){.rrel .g{grid-template-columns:1fr}}
.rrel a{display:flex;flex-direction:column;gap:8px;text-decoration:none!important;border:1px solid var(--pline);background:#fff;border-radius:10px;padding:16px;color:var(--ptx)}
.rrel a:hover{border-color:#1BC3D1}
.rrel a small{font-family:var(--fm);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#0E7F8C}
.rrel a b{font-family:var(--fd);font-size:16px;line-height:1.3}
.rcta{margin-top:48px;background:#0B1830;color:#E8EEF7;border-radius:14px;padding:26px 28px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}
.rcta b{font-family:var(--fd);font-size:20px;display:block}
.rcta span{font-size:14.5px;color:#9AA9C2}
.res .rt{font-family:var(--fm);font-size:11px;color:var(--dim);letter-spacing:.06em}
[hidden]{display:none!important}
.res.feat{grid-row:auto}
.res.feat h3{font-size:24px}
.rdback{white-space:nowrap}
@media (max-width:520px){.rdcrumb{display:none}}

/* =================== MULTI-PAGE ADDITIONS =================== */
.bom a.ex{text-decoration:none}
.mtrig[aria-current="true"]{color:#0A1F3F;box-shadow:inset 0 -2px 0 #1BC3D1}
.narrow{max-width:820px}
/* breadcrumbs */
.crumbs ol{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-wrap:wrap;gap:6px;font-family:var(--fm);font-size:11.5px;letter-spacing:.06em;color:var(--dim)}
.crumbs li{display:flex;align-items:center;gap:6px}
.crumbs li+li::before{content:"/";color:var(--line2)}
.crumbs a{color:var(--mut);text-decoration:none}
.crumbs a:hover{color:var(--teal2)}
.crumbs [aria-current]{color:var(--tx);max-width:48ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* home resources clusters */
.clusgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:1000px){.clusgrid{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.clusgrid{grid-template-columns:1fr}}
.clus{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:22px;display:flex;flex-direction:column;gap:12px}
.clus.prog{background:linear-gradient(160deg,var(--panel2),var(--panel) 70%)}
.clus .ctop{display:flex;justify-content:space-between;align-items:center;gap:8px}
.clus .code,.rhhead .code{font-family:var(--fm);font-weight:600;font-size:12px;letter-spacing:.1em;color:var(--teal2);border:1px solid rgba(27,195,209,.35);background:var(--tealdim);padding:3px 8px;border-radius:6px}
.clus h3 a{text-decoration:none}
.clus h3 a:hover{color:var(--teal2)}
.clus p{margin:0;font-size:14px;color:var(--mut)}
.clus ul{list-style:none;margin:4px 0 0;padding:0;border-top:1px solid var(--line)}
.clus li a{display:block;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px;color:#C9D4E6;text-decoration:none}
.clus li a:hover{color:var(--teal2)}
.clus li b{color:var(--tx);font-weight:600}
.clus .more{margin-top:auto;font-weight:600;font-size:14px;color:var(--tx);text-decoration:none}
.clus .more:hover{color:var(--teal2)}
/* BOM landing */
.lhero{background:radial-gradient(1000px 500px at 80% 20%,rgba(27,195,209,.09),transparent 60%),var(--ink);border-bottom:1px solid var(--line)}
.lhgrid{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center;padding-block:clamp(40px,6vw,80px)}
@media (max-width:980px){.lhgrid{grid-template-columns:1fr}}
.lhero h1,.phero h1{font-size:clamp(34px,4.6vw,58px);line-height:1.04;font-weight:800;letter-spacing:-.035em;max-width:18ch}
.lhero .lede,.phero .lede{margin-top:20px}
.lhero .ctas,.phero .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.lhero .btn-g{white-space:normal;height:auto;min-height:46px;padding-block:10px}
.lchips{margin-top:28px}
.lv .lvbody{padding:18px}
.lv-code{border:0;background:none;padding:0}
.lvchain{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}
.lvchain li{display:grid;grid-template-columns:120px 1fr;gap:14px;align-items:center;padding:12px 14px;border:1px solid var(--line);background:var(--ink);border-radius:8px;position:relative;margin-bottom:14px}
.lvchain li:not(:last-child)::after{content:"";position:absolute;left:30px;bottom:-15px;width:1px;height:14px;background:var(--teal)}
.lvchain small{font-family:var(--fm);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.lvchain b{font-family:var(--fm);font-size:13px;font-weight:500;color:#D6E0EF}
.lvchain li.hot{border-color:rgba(229,72,77,.5);background:rgba(229,72,77,.06)}.lvchain li.hot b{color:#FFB3B5}
.lvchain li.good{border-color:rgba(47,184,122,.5);background:rgba(47,184,122,.06)}.lvchain li.good b{color:#9BE6C3}
.lintro{display:grid;grid-template-columns:1fr 1.3fr;gap:48px;align-items:start;margin-bottom:40px}
@media (max-width:900px){.lintro{grid-template-columns:1fr;gap:16px}}
.ltrack div{border-top-color:var(--pline);color:var(--pmut)}.ltrack div b{color:var(--ptx)}
.caps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.cap{background:var(--panel);padding:24px}
.cap h3{font-size:17px;margin-bottom:8px}
.cap p{margin:0;font-size:14.5px;color:var(--mut)}
@media (max-width:900px){.caps{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.caps{grid-template-columns:1fr}}
.howi{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.howi li{padding:22px 18px;border-right:1px solid var(--line);background:var(--panel)}
.howi li:last-child{border-right:0}
.howi .n{font-family:var(--fm);font-size:11px;color:var(--teal);letter-spacing:.1em}
.howi b{display:block;font-family:var(--fd);font-size:16px;margin:12px 0 6px}
.howi p{margin:0;font-size:13.5px;color:var(--mut);line-height:1.5}
@media (max-width:960px){.howi{grid-template-columns:1fr 1fr}.howi li{border-bottom:1px solid var(--line)}}
@media (max-width:520px){.howi{grid-template-columns:1fr}.howi li{border-right:0}}
.lucs{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:700px){.lucs{grid-template-columns:1fr}}
.luc{border:1px solid var(--pline);background:#fff;border-radius:12px;padding:22px}
.luc q{display:block;font-family:var(--fd);font-weight:700;font-size:19px;color:var(--ptx);line-height:1.3;quotes:"\201C" "\201D"}
.luc p{margin:10px 0 0;color:var(--pmut);font-size:14.5px}
.lmaps{margin-top:22px;align-items:center}
.light .chips span{border-color:var(--pline);color:#1E2F4B;background:#fff}
.rgroups{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:1000px){.rgroups{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.rgroups{grid-template-columns:1fr}}
.rg{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:18px 20px}
.rg h3{font-family:var(--fm);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin-bottom:8px}
.rg ul{list-style:none;margin:0;padding:0}
.rg a{display:block;padding:8px 0;border-bottom:1px solid var(--line);font-size:14.5px;color:#D6E0EF;text-decoration:none}
.rg li:last-child a{border-bottom:0}
.rg a:hover{color:var(--teal2)}
.faq h2{margin-top:0!important}
.faq details{border:1px solid var(--pline);background:#fff;border-radius:10px;margin-bottom:10px}
.faq summary{cursor:pointer;padding:16px 18px;font-weight:600;color:var(--ptx);list-style:none;display:flex;justify-content:space-between;gap:12px;font-size:16px}
.faq summary::after{content:"+";color:#0E7F8C;font-size:20px;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:0;padding:0 18px 16px;font-size:15.5px;color:#34465F}
.obs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:8px}
@media (max-width:900px){.obs{grid-template-columns:1fr 1fr}}
.ob{display:flex;flex-direction:column;gap:10px;border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:18px;text-decoration:none;color:var(--tx)}
.ob:hover{border-color:var(--teal)}
.ob .code{align-self:flex-start;font-family:var(--fm);font-weight:600;font-size:12px;letter-spacing:.1em;color:var(--teal2)}
/* page hero (hubs) */
.phero{background:radial-gradient(900px 400px at 85% 0%,rgba(27,195,209,.09),transparent 60%),var(--ink);border-bottom:1px solid var(--line);padding-block:clamp(40px,6vw,76px)}
.phero h1{max-width:22ch}
.jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.jump a{font-family:var(--fm);font-size:12px;letter-spacing:.08em;padding:6px 12px;border:1px solid var(--line2);border-radius:999px;text-decoration:none;color:var(--mut)}
.jump a:hover{border-color:var(--teal);color:var(--teal2)}
.jump.dark{margin:40px 0 0;align-items:center}
.jump.dark span{font-size:13px;color:var(--pmut);margin-right:4px}
.jump.dark a{border-color:#C9D5E4;color:#1E2F4B;background:#fff}
.rhsec{padding-block:40px;border-bottom:1px solid var(--pline);scroll-margin-top:90px}
.rhsec:first-child{padding-top:0}
.rhhead{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;margin-bottom:20px}
.rhhead h2{font-size:clamp(24px,2.8vw,32px);margin:12px 0 8px;color:var(--ptx)}
.rhhead p{margin:0;color:var(--pmut);max-width:70ch}
.rhhead .code{color:#0E7F8C;border-color:#A9DDE2;background:#EAF7F9}
.rhact{display:flex;gap:8px;flex-wrap:wrap}
@media (max-width:760px){.rhhead{grid-template-columns:1fr}}
.rpill{display:grid;gap:6px;background:#0B1830;color:#E8EEF7;border-radius:12px;padding:20px 22px;text-decoration:none;margin-bottom:12px}
.rpill small{font-family:var(--fm);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--teal2)}
.rpill b{font-family:var(--fd);font-size:20px}
.rpill span{font-size:14.5px;color:#9AA9C2}
.rpill:hover b{color:var(--teal2)}
.rcards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
@media (max-width:900px){.rcards{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.rcards{grid-template-columns:1fr}}
.rcard{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid var(--pline);border-radius:10px;padding:12px 14px;text-decoration:none;color:var(--ptx)}
.rcard:hover{border-color:#1BC3D1}
.rcard small{font-family:var(--fm);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#6A7890}
.rcard b{font-size:14.5px;font-weight:600;line-height:1.35}
/* cluster hub */
.cgrp{margin-bottom:36px}
.cgrp h2{font-family:var(--fm);font-size:12px!important;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#0E7F8C;margin-bottom:12px;max-width:none}
.carows{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:760px){.carows{grid-template-columns:1fr}}
.carow{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid var(--pline);border-radius:12px;padding:18px 20px;text-decoration:none;color:var(--ptx);transition:border-color .2s}
.carow:hover{border-color:#1BC3D1}
.carow .ct{font-family:var(--fm);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#6A7890}
.carow b{font-family:var(--fd);font-size:18px;line-height:1.3}
.carow .cd{font-size:14px;color:var(--pmut);line-height:1.5}
/* article page */
.abar{background:var(--ink);border-bottom:1px solid var(--line);padding-top:18px}
.abar .crumbs ol{margin-bottom:16px}
.aw{background:var(--paper)}
.alayout{max-width:1160px;margin:0 auto;padding:clamp(28px,5vw,64px) clamp(16px,4vw,40px) 96px;display:grid;grid-template-columns:240px minmax(0,740px);gap:64px;justify-content:center}
@media (max-width:980px){.alayout{grid-template-columns:minmax(0,740px)}.aside{display:none}}
.aside{position:sticky;top:calc(var(--navh) + 20px);align-self:start;max-height:calc(100vh - var(--navh) - 40px);overflow:auto;font-size:13.5px;padding-right:6px}
.atoc p,.aclus p{font-family:var(--fm);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#6A7890;margin:0 0 10px}
.atoc ol,.aclus ol{list-style:none;margin:0 0 26px;padding:0;border-left:1px solid var(--pline)}
.atoc a,.aclus a{display:block;padding:5px 0 5px 14px;margin-left:-1px;border-left:2px solid transparent;color:#4A5B76;text-decoration:none;line-height:1.35}
.atoc a:hover,.atoc a.on,.aclus a:hover{color:var(--ptx);border-left-color:#1BC3D1}
.aclus a[aria-current]{color:var(--ptx);font-weight:600;border-left-color:#0B1830}
.aclus .more{font-weight:600;color:#0B6E79;text-decoration:none;font-size:13.5px}
.rdart h2{scroll-margin-top:calc(var(--navh) + 20px)}
.rsrc li{scroll-margin-top:calc(var(--navh) + 30px)}
.rrel .g4{grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){.rrel .g4{grid-template-columns:1fr 1fr}}
.rdart .faq{margin-top:48px}
.rdart .faq h2{font-size:22px}

/* ---------- PRODUCT UI TOUR ---------- */
.tour{background:radial-gradient(1100px 500px at 50% 0%,rgba(91,143,249,.10),transparent 60%),var(--navy);border-bottom:1px solid var(--line)}
.tourfig{margin:0}
.tourframe{border:1px solid var(--line2);border-radius:14px;overflow:hidden;background:#0A1629;box-shadow:0 60px 140px -60px rgba(0,0,0,.9),0 0 0 6px rgba(255,255,255,.02)}
.tourbar{display:flex;align-items:center;gap:12px;height:38px;padding:0 14px;border-bottom:1px solid var(--line);font-family:var(--fm);font-size:11.5px;color:var(--dim)}
.tourbar .dots{display:flex;gap:6px}.tourbar .dots i{width:9px;height:9px;border-radius:50%;background:var(--line2)}
.tourbar .url{background:var(--ink);border:1px solid var(--line);border-radius:6px;padding:3px 12px}
.tourimg{position:relative;line-height:0;background:#F3F6FB}
.tourimg img{display:block;width:100%;height:auto}
.hs{position:absolute;transform:translate(-50%,-50%);width:30px;height:30px;border-radius:50%;border:2px solid #fff;background:#0B1830;color:#fff;font-family:var(--fm);font-size:13px;font-weight:600;line-height:1;cursor:pointer;display:grid;place-items:center;box-shadow:0 0 0 0 rgba(27,195,209,.55),0 6px 16px rgba(11,24,48,.35);transition:background .2s,transform .2s}
.hs::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid rgba(27,195,209,.55);animation:hsp 2.4s infinite}
@keyframes hsp{0%{transform:scale(.8);opacity:1}100%{transform:scale(1.5);opacity:0}}
.hs:hover,.hs.on{background:var(--teal);color:#021318;transform:translate(-50%,-50%) scale(1.12)}
.tourfig figcaption{margin-top:12px;font-size:12.5px;color:var(--dim)}
.tourlist{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.tourlist li{display:flex;gap:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:16px 18px;cursor:default;transition:border-color .2s,background .2s}
.tourlist li.on{border-color:var(--teal);background:var(--panel2)}
.tourlist .n{flex:0 0 26px;height:26px;border-radius:50%;background:#0B1830;border:1px solid var(--line2);display:grid;place-items:center;font-family:var(--fm);font-size:12px;color:var(--teal2)}
.tourlist li.on .n{background:var(--teal);color:#021318;border-color:var(--teal)}
.tourlist b{display:block;font-family:var(--fd);font-size:15.5px;margin-bottom:4px}
.tourlist p{margin:0;font-size:13.5px;color:var(--mut);line-height:1.5}
.tourlist li:nth-child(6){grid-column:span 2}
.tourcta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
@media (max-width:1100px){.tourlist{grid-template-columns:1fr 1fr}.tourlist li:nth-child(6){grid-column:auto}}
@media (max-width:640px){.tourlist{grid-template-columns:1fr}.hs{width:22px;height:22px;font-size:10.5px;border-width:1.5px}.hs::after{inset:-4px}}
@media (max-width:640px){.hs{display:none}.tourlist li .n{background:var(--teal);color:#021318;border-color:var(--teal)}}
.ttabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
.ttab{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;border:1px solid var(--line2);background:var(--panel);border-radius:12px;padding:14px 18px;cursor:pointer;transition:border-color .2s,background .2s}
.ttab b{font-family:var(--fd);font-size:17px}
.ttab span{font-size:13px;color:var(--mut)}
.ttab:hover{border-color:var(--teal)}
.ttab[aria-selected="true"]{border-color:var(--teal);background:var(--panel2);box-shadow:inset 0 -3px 0 var(--teal)}
.tourlist li:nth-child(6){grid-column:auto}

/* ---------- BLOG ---------- */
.bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:1000px){.bgrid{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.bgrid{grid-template-columns:1fr}}
.bcard{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid var(--pline);border-radius:12px;padding:20px 22px;text-decoration:none;color:var(--ptx);transition:border-color .2s}
.bcard:hover{border-color:#1BC3D1}
.bcard .bmeta{display:flex;flex-wrap:wrap;gap:6px 12px;font-family:var(--fm);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#6A7890}
.bcard .bmeta b{color:#0E7F8C;font-weight:500}
.bcard h3{font-size:18px;line-height:1.3}
.bcard p{margin:0;font-size:14px;color:var(--pmut);line-height:1.55}
.bcard .btags{display:flex;flex-wrap:wrap;gap:5px;margin-top:auto}
.bcard .btags span{font-size:11.5px;border:1px solid var(--pline);border-radius:5px;padding:2px 7px;color:#34465F}
.bcard .rm{font-weight:600;font-size:13.5px;color:#0B6E79}
.bcard.feat{background:#0B1830;color:#E8EEF7;border-color:#0B1830;padding:30px 32px;margin-bottom:28px}
.bcard.feat h3{font-size:clamp(24px,3vw,34px);max-width:28ch}
.bcard.feat p{color:#B9C7DC;font-size:16px;max-width:80ch}
.bcard.feat .bmeta b,.bcard.feat .rm{color:var(--teal2)}
.bcard.feat .btags span{border-color:var(--line2);color:#C4D0E3}
.bfilter{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 20px}
.light .rtab{border-color:#C9D5E4;color:#34465F;background:#fff}
.light .rtab[aria-pressed="true"]{background:#0B1830;color:#fff;border-color:#0B1830}
.hblog{margin-top:40px}
.hbhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.hbhead .eyebrow{margin:0}
.hbhead a{color:var(--teal2);font-weight:600;text-decoration:none;font-size:14px}
#resources .bcard,.rhsec .bcard{min-height:100%}
.share{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:-12px 0 30px;font-size:13px;color:#6A7890}
.share a{border:1px solid #C9D5E4;border-radius:999px;padding:4px 12px;text-decoration:none!important;color:#1E2F4B!important;background:#fff}
.ptags{margin-top:28px}
.rdart blockquote{margin:22px 0;padding:14px 20px;border-left:3px solid #1BC3D1;background:#fff;border-radius:0 10px 10px 0}
.rdart blockquote p:last-child{margin-bottom:0}
.rdart pre{background:#0B1830;color:#D6E0EF;border-radius:10px;padding:14px 16px;overflow-x:auto;font-size:13px}
.rdart pre code{background:none;padding:0;color:inherit}
/* ---------- ABOUT ---------- */
.ahero h1{max-width:20ch}
.apls{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media (max-width:1000px){.apls{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.apls{grid-template-columns:1fr}}
.apl{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:20px;text-decoration:none;color:var(--tx)}
a.apl:hover{border-color:var(--teal)}
.apl .code{align-self:flex-start;font-family:var(--fm);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--teal2);border:1px solid rgba(27,195,209,.35);background:var(--tealdim);padding:3px 8px;border-radius:6px}
.apl b{font-family:var(--fd);font-size:16.5px}
.apl p{margin:0;font-size:14px;color:var(--mut)}
.apl .rm{margin-top:auto;font-size:13px;font-weight:600;color:var(--teal2)}
.aen{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center}
@media (max-width:900px){.aen{grid-template-columns:1fr;gap:28px}}
.aenl{list-style:none;margin:0;padding:0;display:grid;gap:10px;counter-reset:e}
.aenl li{counter-increment:e;display:flex;gap:14px;align-items:center;border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:14px 18px;font-weight:600}
.aenl li::before{content:"";width:9px;height:9px;background:var(--teal);transform:rotate(45deg);flex:0 0 9px}
.afacts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.afacts div{background:#fff;border:1px solid var(--pline);border-radius:12px;padding:18px}
.afacts b{display:block;font-family:var(--fd);font-size:18px;color:var(--ptx)}
.afacts span{font-size:13.5px;color:var(--pmut)}
.avision{background:radial-gradient(800px 400px at 50% 120%,rgba(27,195,209,.16),transparent 70%),var(--navy);text-align:center}
.avision h2{margin:18px auto 0;max-width:28ch;font-size:clamp(26px,3.4vw,40px)}
.avision .aq{max-width:70ch;margin:0 auto;color:var(--mut);font-size:17px}
.avision .ctas{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:30px}
.acontact{margin-top:24px;font-size:14px;color:var(--mut)}
.acontact a{color:var(--teal2)}
/* ---------- CAREERS ---------- */
.jhead{display:flex;justify-content:space-between;align-items:center;margin:8px 0 14px}
.jhead .eyebrow{margin:0}
.light .tag{border-color:#C9D5E4;color:#34465F}
.jgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:10px}
@media (max-width:800px){.jgrid{grid-template-columns:1fr}}
.jcard{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid var(--pline);border-radius:14px;padding:24px;text-decoration:none;color:var(--ptx)}
.jcard:hover{border-color:#1BC3D1}
.jdept{font-family:var(--fm);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#0E7F8C}
.jcard h3{font-size:21px;line-height:1.25}
.jmeta{display:flex;flex-wrap:wrap;gap:6px}
.jmeta span{font-size:12.5px;border:1px solid var(--pline);border-radius:999px;padding:3px 10px;color:#34465F;background:#F6F8FB}
.jcard p{margin:0;font-size:14.5px;color:var(--pmut)}
.jfoot{margin-top:auto;display:flex;justify-content:space-between;font-size:13px;color:#6A7890}
.jfoot .rm{font-weight:600;color:#0B6E79}
.apply{margin-top:48px;background:#0B1830;color:#E8EEF7;border-radius:16px;padding:28px clamp(18px,4vw,32px)}
.apply h2{color:#fff!important;margin-top:0!important}
.apply>p{color:#9AA9C2}
.apply .form label{color:#9AA9C2}
.apply .form input[type=file]{padding:9px 12px;height:auto}
.apply a{color:var(--teal2)}

/* ---------- MOBILE / iOS HARDENING ---------- */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.nav{-webkit-backdrop-filter:saturate(1.4) blur(10px)}
.mob summary::-webkit-details-marker{display:none}
.mob summary::marker{content:""}
@media (max-width:1120px){
  .mob{position:fixed;top:calc(var(--navh) + env(safe-area-inset-top,0px));left:0;right:0;bottom:0;inset:auto;top:calc(var(--navh) + env(safe-area-inset-top,0px));left:0;right:0;bottom:0;height:auto;max-height:calc(100vh - var(--navh));max-height:calc(100dvh - var(--navh) - env(safe-area-inset-top,0px));overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:8px 20px calc(32px + env(safe-area-inset-bottom,0px));box-shadow:0 24px 40px -20px rgba(10,24,48,.35);z-index:120}
  .mob details summary{min-height:48px;align-items:center}
  .mob a{padding:12px 12px;border-radius:8px}
  .mob a:active{background:#F1F5FA}
  .mobcta{display:grid;gap:10px;margin-top:18px}
  .mob .mobcta .btn{margin:0;width:100%;justify-content:center}
  .mob .mobcta .btn-g{background:#fff;color:var(--ptx);border-color:#C9D5E4}
  .nav .wrap{gap:12px}
  .brand img{height:26px}
}
@media (max-width:640px){
  .form input,.form select,.form textarea{font-size:16px}
  .btn{white-space:normal;text-align:center;min-height:46px;height:auto;padding-block:10px}
  h2{font-size:clamp(28px,8vw,40px)}
  .hero h1{font-size:clamp(34px,10vw,46px)}
  .lhero h1,.phero h1{font-size:clamp(32px,9.5vw,44px)}
  .rdart h1{font-size:clamp(28px,8.5vw,40px)}
  .crumbs [aria-current]{max-width:60vw}
  .mbox{padding:22px 18px}
  .modal{align-items:flex-end;padding:0}
  .mbox{width:100%;max-height:92vh;max-height:92dvh;border-radius:16px 16px 0 0;padding-bottom:calc(22px + env(safe-area-inset-bottom,0px))}
  .tourbar .url{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60vw}
  .graphbar{font-size:10px}
  .rdart{font-size:16.5px}
  .share{margin-top:0}
}
.rdart code{overflow-wrap:anywhere;word-break:break-word}
.rdart p,.rdart li,.rdart td{overflow-wrap:anywhere}
@media (max-width:520px){
  .stack .srow{grid-template-columns:24px 1fr auto;gap:10px;padding:12px 14px}
  .stack .cov{display:none}
  .stack .st{width:auto}
  .stack .shead{flex-wrap:wrap}
}
