/* --- self-hosted fonts (latin subset; replaces render-blocking Google Fonts) --- */
@font-face{font-family:'Archivo';font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(/assets/fonts/archivo-var.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-400.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-500.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{--bg:#08090B;--bg2:#0C0E11;--pnl:#101318;--line:rgba(255,255,255,.09);--line2:rgba(255,255,255,.055);
--tx:#F2F3F5;--tx2:#9AA1AB;--tx3:#7A828E;--acc:#2E86FF;--glow:rgba(46,134,255,.13);
--d:"Archivo",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
--m:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
--mk:url("data:image/png;base64,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");--ez:cubic-bezier(.22,.61,.36,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--tx);font-family:var(--d);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.grain{position:fixed;inset:0;z-index:70;pointer-events:none;opacity:.032;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E")}
.ct{max-width:1300px;margin:0 auto;padding:0 40px}
@media(max-width:860px){.ct{padding:0 22px}}
.lbl{font-family:var(--m);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--tx3);display:flex;align-items:center;gap:12px;margin:0 0 26px}
.lbl:before{content:"";height:1px;width:26px;background:var(--acc)}
header{position:fixed;top:0;left:0;right:0;z-index:50;border-bottom:1px solid transparent;transition:background .3s,border-color .3s}
header.stuck{background:rgba(8,9,11,.8);backdrop-filter:blur(14px);border-bottom-color:var(--line2)}
.hi{display:flex;align-items:center;justify-content:space-between;height:74px;gap:26px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--tx)}
.mk{width:25px;height:21px;background:var(--acc);-webkit-mask:var(--mk) center/contain no-repeat;mask:var(--mk) center/contain no-repeat;flex:none}
.wm{font-size:16.5px;font-weight:600;letter-spacing:-.015em}
.wm i{font-style:normal;color:var(--tx3);font-weight:400}
nav{display:flex;gap:32px;align-items:center}
nav a{position:relative;color:var(--tx2);text-decoration:none;font-size:14px;padding:3px 0}
nav a:after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:0;background:var(--acc);transition:width .35s var(--ez)}
nav a:hover{color:var(--tx)}nav a:hover:after{width:100%}
@media(max-width:900px){nav{display:none}}
.hero{position:relative;padding:180px 0 104px;overflow:hidden;border-bottom:1px solid var(--line2)}
#fld{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.hglow{position:absolute;z-index:0;top:-26%;left:4%;width:820px;height:820px;border-radius:50%;background:radial-gradient(circle,var(--glow) 0%,rgba(46,134,255,0) 66%);pointer-events:none}
.hero .ct{position:relative;z-index:2}
h1{font-size:clamp(2.7rem,6.6vw,5.6rem);font-weight:700;letter-spacing:-.045em;line-height:.98;margin:0 0 30px;max-width:16ch}
h1 .ln{display:block;overflow:hidden}h1 .ln>span{display:block}
h1 em{font-style:normal;color:var(--acc)}
.lede{font-size:clamp(1.0625rem,1.5vw,1.3125rem);line-height:1.52;color:var(--tx2);max-width:62ch;margin:0 0 38px}
.cta{display:flex;flex-wrap:wrap;gap:13px}
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 26px;font-size:.9375rem;font-weight:500;text-decoration:none;border:1px solid transparent;transition:.28s var(--ez);cursor:pointer;font-family:var(--d)}
.btn:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
.b1{background:var(--acc);color:#04101F}.b1:hover{background:#4F9BFF;transform:translateY(-2px)}
.b2{border-color:var(--line);color:var(--tx);background:transparent}.b2:hover{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.035);transform:translateY(-2px)}
.ar{transition:transform .28s var(--ez)}.btn:hover .ar{transform:translateX(4px)}
.parent{margin-top:54px;padding-top:22px;border-top:1px solid var(--line2);font-family:var(--m);font-size:11.5px;letter-spacing:.08em;color:var(--tx3)}
.parent a{color:var(--tx2)}
section{position:relative;border-top:1px solid var(--line2)}
section:first-of-type{border-top:none}
.pad{padding:112px 0}
@media(max-width:860px){.pad{padding:70px 0}.hero{padding:130px 0 72px}}
h2{font-size:clamp(1.9rem,3.5vw,2.9rem);font-weight:600;letter-spacing:-.035em;line-height:1.07;margin:0 0 18px;max-width:19ch;text-wrap:balance}
.shead{display:grid;gap:16px;margin-bottom:56px}
@media(min-width:920px){.shead{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px;align-items:end}}
.shead p{margin:0;color:var(--tx2);font-size:1.0625rem;line-height:1.6;max-width:54ch}
.sel{display:grid;gap:26px}
@media(min-width:920px){.sel{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:44px}}
.qs{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line2)}
.q{text-align:left;background:transparent;border:none;border-bottom:1px solid var(--line2);padding:24px 0;cursor:pointer;color:var(--tx2);font-family:var(--d);font-size:1.0625rem;line-height:1.4;transition:.28s var(--ez);display:flex;gap:16px;align-items:flex-start}
.q:hover{color:var(--tx);padding-left:8px}
.q.on{color:var(--tx)}
.q .qn{font-family:var(--m);font-size:11px;color:var(--tx3);padding-top:5px;flex:none;transition:color .28s}
.q.on .qn{color:var(--acc)}
.q:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
.ans{border:1px solid var(--line2);background:linear-gradient(170deg,var(--pnl),var(--bg2));padding:34px 34px 30px;position:relative;overflow:hidden}
.ans:after{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--acc),transparent);opacity:.7}
.ans .on1{font-family:var(--m);font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--acc);margin:0 0 14px}
.ans h3,.ans h2{font-size:1.5rem;font-weight:600;letter-spacing:-.028em;margin:0 0 20px;line-height:1.14}
.ans dl{margin:0;display:grid;gap:16px}
.ans dt{font-family:var(--m);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--tx3);margin-bottom:5px}
.ans dd{margin:0;color:var(--tx2);font-size:.9688rem;line-height:1.6}
.ans .go{margin-top:26px}
.fig{border:1px solid var(--line2);background:linear-gradient(170deg,var(--pnl),var(--bg2));padding:12px 12px 0;margin-top:8px}
.fig svg{display:block;width:100%;height:auto}
.figc{overflow-x:auto}.fig svg{min-width:600px}
.figcap{font-family:var(--m);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--tx3);padding:13px 4px 14px;border-top:1px solid var(--line2);margin-top:10px}
.d-bx{fill:#12161C;stroke:rgba(255,255,255,.2);stroke-width:1;transition:.28s var(--ez)}
.d-bx.on{stroke:#2E86FF;fill:rgba(46,134,255,.11);stroke-width:1.5}
.d-ln{fill:none;stroke:rgba(255,255,255,.24);stroke-width:1;transition:.28s var(--ez)}
.d-ln.on{stroke:#2E86FF;stroke-width:1.6}
.d-t{font-family:"Archivo",sans-serif;font-size:12.5px;fill:#E9EBEE;font-weight:500}
.d-s{font-family:"IBM Plex Mono",monospace;font-size:9.5px;fill:#7C838C;letter-spacing:.06em}
.d-h{font-family:"IBM Plex Mono",monospace;font-size:10px;fill:#9AA1AB;letter-spacing:.13em}
.chips{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 20px}
.chip{font-family:var(--m);font-size:11px;letter-spacing:.05em;padding:9px 14px;background:transparent;color:var(--tx2);border:1px solid var(--line);cursor:pointer;transition:.22s}
.chip:hover{border-color:rgba(255,255,255,.3);color:var(--tx)}
.chip.on{border-color:var(--acc);color:var(--acc);background:rgba(46,134,255,.08)}
.chip:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.cap{font-size:.9688rem;color:var(--tx2);max-width:76ch;min-height:3.2em;margin:16px 0 0;line-height:1.62}
.caps{display:grid;gap:0;border-top:1px solid var(--line2)}
@media(min-width:760px){.caps{grid-template-columns:repeat(3,1fr);gap:0 40px}}
.cpi{padding:22px 0;border-bottom:1px solid var(--line2);transition:.3s var(--ez);opacity:1}
.cpi.dim{opacity:.24}
.cpi h4,.cpi h3{font-size:1rem;font-weight:600;letter-spacing:-.014em;margin:0 0 7px;display:flex;gap:10px;align-items:baseline}
.cpi h4 i,.cpi h3 i{font-style:normal;font-family:var(--m);font-size:10px;color:var(--tx3)}
.cpi.lit h4 i{color:var(--acc)}
.cpi p{margin:0;color:var(--tx2);font-size:.9062rem;line-height:1.58}
.shapes{display:grid;gap:0;border-top:1px solid var(--line2)}
@media(min-width:820px){.shapes{grid-template-columns:1fr 1fr;gap:0 44px}}
.sh{padding:24px 0;border-bottom:1px solid var(--line2)}
.sh h4,.sh h3{font-size:1.0625rem;font-weight:600;letter-spacing:-.016em;margin:0 0 8px}
.sh p{margin:0 0 10px;color:var(--tx2);font-size:.9375rem;line-height:1.58}
.sh .sec2{font-family:var(--m);font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--tx3);line-height:1.7}
.devband{border:1px solid var(--line2);background:linear-gradient(170deg,var(--pnl),var(--bg2));padding:34px 36px}
@media(max-width:760px){.devband{padding:26px 22px}}
.devband h3{font-size:1.375rem;font-weight:600;letter-spacing:-.025em;margin:0 0 12px}
.devband p{margin:0 0 12px;max-width:70ch}

.omx{overflow-x:auto;border:1px solid var(--line2);margin:8px 0 0}
.omg{display:grid;grid-template-columns:200px repeat(4,minmax(158px,1fr));min-width:820px}
.omg>div{padding:14px 16px;border-bottom:1px solid var(--line2);border-right:1px solid var(--line2);transition:.28s var(--ez)}
.omg>div:nth-child(5n){border-right:none}
.omh{background:rgba(255,255,255,.022);font-family:var(--m);font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:var(--tx2);cursor:pointer;user-select:none}
.omh:hover{color:var(--tx)}
.omh.on{color:var(--acc)}
.oml{font-family:var(--m);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--tx3)}
.omc{font-size:.9062rem;line-height:1.45;color:var(--tx2);display:flex;gap:9px;align-items:flex-start}
.omc i{width:6px;height:6px;flex:none;margin-top:6px;font-style:normal}
.st-you i{background:var(--acc)}.st-you{color:var(--tx)}
.st-sh i{background:rgba(255,255,255,.42)}
.st-pr i{background:transparent;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}
.omg.sel>div[data-col]:not(.hit){opacity:.26}
.omkey{display:flex;flex-wrap:wrap;gap:18px;margin:16px 0 0;font-family:var(--m);font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--tx3)}
.omkey span{display:flex;align-items:center;gap:8px}
.omkey i{width:6px;height:6px;font-style:normal}
.modwrap{display:grid;gap:34px;align-items:center;margin-top:8px}
@media(min-width:900px){.modwrap{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:50px}}
.modstage{position:relative;height:390px;display:flex;align-items:center;justify-content:center;perspective:1500px;border:1px solid var(--line2);background:linear-gradient(170deg,var(--pnl),var(--bg2));overflow:hidden}
.modw{position:relative;width:250px;height:250px;transform-style:preserve-3d;transform:rotateX(58deg) rotateZ(-45deg)}
.mlay{position:absolute;inset:0;border:1px solid rgba(255,255,255,.26);background:rgba(16,20,26,.82);transform-style:preserve-3d;transition:transform .8s var(--ez),border-color .4s;
 background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:25px 25px}
.mlay.hi{border-color:var(--acc)}
.mlay .mt{position:absolute;left:0;top:-26px;white-space:nowrap;transform:rotateZ(45deg) rotateX(-58deg);transform-origin:left top;
 font-family:var(--m);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#C9CFD6}
.mlay.hi .mt{color:var(--acc)}
.modlist{display:flex;flex-direction:column;border-top:1px solid var(--line2)}
.mli{text-align:left;background:none;border:none;border-bottom:1px solid var(--line2);padding:16px 0;cursor:pointer;font-family:var(--d);color:var(--tx2);transition:.26s var(--ez)}
.mli:hover,.mli.on{color:var(--tx);padding-left:8px}
.mli h4,.mli h3{font-size:1rem;font-weight:600;margin:0 0 5px;letter-spacing:-.012em}
.mli p{margin:0;font-size:.875rem;color:var(--tx2);line-height:1.5}
.mli.on h4,.mli.on h3{color:var(--acc)}
.mli:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
.wf{display:grid;gap:0;border-top:1px solid var(--line2)}
@media(min-width:900px){.wf{grid-template-columns:repeat(3,1fr);gap:0 40px}}
.wfi{padding:28px 0;border-bottom:1px solid var(--line2)}
.wfi .n{font-family:var(--m);font-size:11px;color:var(--acc);margin:0 0 12px}
.wfi h4{font-size:1.125rem;font-weight:600;letter-spacing:-.018em;margin:0 0 10px}
.wfi p{margin:0 0 10px;color:var(--tx2);font-size:.9375rem;line-height:1.6}
.wfi .ev{font-family:var(--m);font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--tx3);padding-top:10px;border-top:1px solid var(--line2);margin-top:12px}
.faq{border-top:1px solid var(--line2)}
.fq{border-bottom:1px solid var(--line2);padding:26px 0}
.fq h4,.fq h3{font-size:1.0625rem;font-weight:600;margin:0 0 10px;letter-spacing:-.012em}
.fq p{margin:0;color:var(--tx2);font-size:.9688rem;line-height:1.62;max-width:80ch}
.form{display:grid;gap:18px;max-width:620px}
@media(min-width:700px){.fr2{display:grid;grid-template-columns:1fr 1fr;gap:18px}}
label{display:block;font-family:var(--m);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--tx3);margin-bottom:8px}
input,textarea,select{width:100%;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.40);color:var(--tx);font-family:var(--d);font-size:.9688rem;padding:13px 14px;border-radius:0}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--acc)}
textarea{min-height:120px;resize:vertical}
.err{color:#E5837A;font-size:.875rem;margin-top:7px;display:none}
.err.on{display:block}
.formnote{font-family:var(--m);font-size:10.5px;letter-spacing:.07em;color:var(--tx3);margin-top:6px}
#fstat{margin-top:16px;font-size:.9375rem;color:var(--tx2);display:none;padding:14px 16px;border:1px solid var(--line);background:rgba(255,255,255,.02)}
#fstat.on{display:block}
footer{border-top:1px solid var(--line2);padding:64px 0 32px;background:var(--bg2)}
.fg{display:grid;gap:34px}
@media(min-width:820px){.fg{grid-template-columns:2fr 1fr 1fr 1fr}}
footer h5,footer .fh{font-family:var(--m);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--tx3);margin:0 0 15px;font-weight:500}
footer ul{list-style:none;margin:0;padding:0}footer li{margin-bottom:10px}
footer a{color:var(--tx2);text-decoration:none;font-size:.9062rem}footer a:hover{color:var(--tx)}
.fd{font-family:var(--m);font-size:11px;letter-spacing:.08em;color:var(--tx3);margin:14px 0 0;line-height:1.7}
.fb{margin-top:48px;padding-top:22px;border-top:1px solid var(--line2);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:.8125rem;color:var(--tx3)}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto}}

.page{display:block}
.crumb{font-family:var(--m);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--tx3);margin:0 0 18px}
.crumb a{color:var(--tx2);text-decoration:none}.crumb a:hover{color:var(--tx)}
.phead{padding:148px 0 60px;border-bottom:1px solid var(--line2)}
.phead h1{font-size:clamp(2.1rem,4.6vw,3.5rem);margin-bottom:20px;max-width:20ch}
.phead p{max-width:64ch;font-size:1.0625rem;color:var(--tx2)}
nav a.cur{color:var(--tx)}nav a.cur:after{width:100%}
.ogrid{display:grid;gap:0;border-top:1px solid var(--line2)}
@media(min-width:820px){.ogrid{grid-template-columns:1fr 1fr;gap:0 44px}}
.oc{padding:26px 0;border-bottom:1px solid var(--line2);transition:.28s var(--ez)}
.oc:hover{padding-left:8px}
.oc .n{font-family:var(--m);font-size:11px;color:var(--acc);margin:0 0 10px}
.oc h3{font-size:1.1875rem;font-weight:600;letter-spacing:-.018em;margin:0 0 8px}
.oc p{margin:0 0 12px;font-size:.9375rem;color:var(--tx2);line-height:1.58}
.oc a{color:var(--acc);text-decoration:none;font-size:.8125rem;font-family:var(--m);letter-spacing:.06em}
.endband{border-top:1px solid var(--line2);padding:76px 0;text-align:center}
.endband h2{margin:0 auto 18px;max-width:22ch}
.endband p{margin:0 auto 30px;max-width:56ch;color:var(--tx2)}
.endband .cta{justify-content:center}

/* --- spine --- */
.page{position:relative}
.spine{display:none;position:absolute;left:30px;top:0;bottom:0;width:1px;background:var(--line2);z-index:1}
.spine>b{position:absolute;left:0;top:0;width:1px;background:var(--acc);height:0}
.spine .br{position:absolute;left:0;width:34px;height:34px;pointer-events:none}
.spine .br s{position:absolute;left:0;top:0;width:26px;height:1px;background:var(--line2);transform:rotate(45deg);transform-origin:left center;text-decoration:none}
.spine .br u{position:absolute;left:19px;top:18px;width:5px;height:5px;background:#191D22;border:1px solid rgba(255,255,255,.3);text-decoration:none}
.spine .br.on s{background:var(--acc)}
.spine .br.on u{background:var(--acc);border-color:var(--acc)}
@media(min-width:1180px){.spine{display:block}.ct{padding-left:96px}}
/* --- U capability anatomy --- */
.anat{display:grid;gap:0;border-top:1px solid var(--line2);margin-top:8px}
@media(min-width:900px){.anat{grid-template-columns:repeat(4,1fr);gap:0 26px}}
.anb{padding:20px 0;border-bottom:1px solid var(--line2)}
.anb .al{font-family:var(--m);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--acc);margin:0 0 9px}
.anb.bd .al{color:var(--warm)}
.anb p{margin:0;font-size:.9062rem;line-height:1.58;color:var(--tx2)}
.anb.bd{border-left:2px solid rgba(232,118,58,.4);padding-left:16px}
@media(max-width:899px){.anb.bd{padding-left:14px}}
.anh{display:flex;flex-wrap:wrap;gap:12px;align-items:baseline;margin:0 0 4px}
.anh b{font-size:1.1875rem;font-weight:600;letter-spacing:-.018em}
.anh span{font-family:var(--m);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--tx3)}
.cpi{cursor:pointer}
.cpi.sel{border-bottom-color:var(--acc)}
.cpi.sel h4,.cpi.sel h3{color:var(--acc)}
.cpi:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
/* --- G annotated prose --- */
.ann{display:grid;gap:26px;margin-top:8px}
@media(min-width:900px){.ann{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:44px}}
.prose{font-size:1.125rem;line-height:1.7;color:var(--tx2)}
.prose p{max-width:none;font-size:inherit}
.tm{color:var(--tx);border:none;border-bottom:1px dotted rgba(46,134,255,.65);background:none;font:inherit;padding:0;cursor:pointer}
.tm:hover,.tm.on{color:var(--acc);border-bottom-color:var(--acc)}
.tm:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
.apanel{border:1px solid var(--line2);background:linear-gradient(170deg,var(--pnl),#0A0C0F);padding:24px;align-self:start}
.apanel .an{font-family:var(--m);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);margin:0 0 10px}
.apanel h4,.apanel h3{font-size:1.125rem;font-weight:600;margin:0 0 10px;letter-spacing:-.015em}
.apanel p{font-size:.9375rem;margin:0;line-height:1.6}
/* --- P horizon / T lanes / S failures --- */
.figbox{border:1px solid var(--line2);background:linear-gradient(170deg,var(--pnl),#0A0C0F);padding:14px;margin-top:8px}
.figbox .fx{overflow-x:auto}
.figbox svg{display:block;width:100%;height:auto;min-width:640px}
.hz-b{fill:rgba(46,134,255,.18);stroke:#2E86FF;stroke-width:1}
.hz-o{fill:none;stroke:#E8763A;stroke-width:1;stroke-dasharray:6 5}
.hz-t{font-family:"Archivo",sans-serif;font-size:13px;fill:#E9EBEE;font-weight:500}
.hz-s{font-family:"IBM Plex Mono",monospace;font-size:9.5px;fill:#7C838C;letter-spacing:.07em}
.hz-ax{stroke:rgba(255,255,255,.16);stroke-width:1}
.ll{font-family:"IBM Plex Mono",monospace;font-size:10px;fill:#7C838C;letter-spacing:.11em;text-transform:uppercase}
.lane{fill:rgba(255,255,255,.014);stroke:rgba(255,255,255,.07);stroke-width:1}
.sw rect{fill:#12161C;stroke:rgba(255,255,255,.26);stroke-width:1.2}
.sw.kx rect{stroke:#2E86FF;fill:rgba(46,134,255,.08)}
.sw.pv rect{stroke:#E8763A;stroke-dasharray:5 4}
.sw.opt rect{stroke-dasharray:5 4;stroke:rgba(255,255,255,.34)}
.sw text{font-family:"Archivo",sans-serif;font-size:11.5px;fill:#E9EBEE;font-weight:500}
.f-bx{fill:#12161C;stroke:rgba(255,255,255,.24);stroke-width:1.2}
.f-ln{fill:none;stroke:rgba(255,255,255,.26);stroke-width:1.2}
.f-t{font-family:"Archivo",sans-serif;font-size:12.5px;fill:#E9EBEE;font-weight:500}
.f-s{font-family:"IBM Plex Mono",monospace;font-size:9px;fill:#7C838C;letter-spacing:.06em}
.fm rect{fill:#0A0C0F;stroke:#E8763A;stroke-width:1.4}
.fm.on rect{fill:#E8763A}
.fm text{font-family:"IBM Plex Mono",monospace;font-size:10px;fill:#E8763A;letter-spacing:.08em}
.fm.on text{fill:#0A0C0F}
.fm:focus-visible rect{stroke-width:2.4}
/* --- H pinned narrative --- */
.ngrid{display:grid;gap:0}
@media(min-width:960px){.ngrid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:56px}}
.nsticky{position:sticky;top:74px;height:auto;padding:20px 0}
@media(min-width:960px){.nsticky{height:100vh;display:flex;align-items:center;top:0}}
.nstep{min-height:auto;padding:34px 0;border-bottom:1px solid var(--line2)}
@media(min-width:960px){.nstep{min-height:78vh;display:flex;align-items:center;border-bottom:none;padding:0}}
.nstep .sn{font-family:var(--m);font-size:11px;color:var(--acc);letter-spacing:.1em;margin:0 0 12px}
.nstep h3{font-size:clamp(1.375rem,2.4vw,1.875rem);letter-spacing:-.028em;line-height:1.14;margin:0 0 12px;font-weight:600}
.nstep p{font-size:1rem;margin:0}
.nstep>div{opacity:1;transition:opacity .45s var(--ez)}
@media(min-width:960px){.nstep>div{opacity:.3}.nstep.on>div{opacity:1}}
.d-bx{fill:#12161C;stroke:rgba(255,255,255,.22);stroke-width:1;transition:.4s var(--ez)}
.d-bx.on{stroke:#2E86FF;fill:rgba(46,134,255,.1)}
.d-ln{fill:none;stroke:rgba(255,255,255,.26);stroke-width:1}
.d-t{font-family:"Archivo",sans-serif;font-size:12.5px;fill:#E9EBEE;font-weight:500}
.d-s{font-family:"IBM Plex Mono",monospace;font-size:9.5px;fill:#7C838C;letter-spacing:.06em}
.d-h{font-family:"IBM Plex Mono",monospace;font-size:10px;fill:#9AA1AB;letter-spacing:.13em}
/* --- C shape explorer --- */
.shp{border-top:1px solid var(--line2)}
.shrow{display:grid;grid-template-columns:1fr;gap:6px;padding:20px 0;border-bottom:1px solid var(--line2);cursor:pointer;transition:.28s var(--ez)}
@media(min-width:860px){.shrow{grid-template-columns:230px 1fr auto;gap:26px;align-items:baseline}}
.shrow:hover,.shrow.on{padding-left:8px}
.shrow h4,.shrow h3{margin:0;font-size:1.0625rem;font-weight:600;letter-spacing:-.015em}
.shrow.on h4,.shrow.on h3{color:var(--acc)}
.shrow p{margin:0;font-size:.9062rem;color:var(--tx2)}
.shrow .go{font-family:var(--m);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--tx3);white-space:nowrap}
.shrow.on .go{color:var(--acc)}
.shrow:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
.shout{border:1px solid var(--line2);background:linear-gradient(170deg,var(--pnl),#0A0C0F);padding:22px 24px;margin-top:22px}
.shout .an{font-family:var(--m);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);margin:0 0 10px}
.shout p{margin:0 0 12px;font-size:.9375rem}
.shout .caps{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.shout .caps i{font-style:normal;font-family:var(--m);font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border:1px solid rgba(46,134,255,.4);color:var(--acc)}
.skip{position:absolute;left:-9999px;top:0;background:var(--acc);color:#04101F;padding:12px 18px;z-index:99;font-size:14px}
.skip:focus{left:16px;top:14px}

html.js .nojs{display:none}
.nojs{border-top:1px solid var(--line2);margin-top:8px}
.nojs>div{padding:18px 0;border-bottom:1px solid var(--line2)}
.nojs h5,.nojs h3{font-size:1rem;font-weight:600;margin:0 0 8px;color:var(--tx)}
.nojs p{margin:0 0 6px;font-size:.9062rem}
.nojs .bd{color:#C4805C}
.ngrid>*,.ann>*,.sel>*,.modwrap>*{min-width:0}
.nsticky .figbox svg{min-width:0}
.mnav{display:none;font-family:var(--m);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--tx2);background:none;border:1px solid var(--line);padding:9px 14px;cursor:pointer}
.mnav:hover{color:var(--tx);border-color:rgba(255,255,255,.3)}
.mnav:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.mpanel{display:none;border-top:1px solid var(--line2);background:rgba(8,9,11,.97);backdrop-filter:blur(14px)}
.mpanel.open{display:block}
.mpanel a{display:block;padding:16px 22px;color:var(--tx2);text-decoration:none;font-size:1rem;border-bottom:1px solid var(--line2)}
.mpanel a:last-child{border-bottom:none}
.mpanel a:hover,.mpanel a:focus{color:var(--tx);background:rgba(255,255,255,.03)}
@media(max-width:900px){.mnav{display:block}}

.reg{border-top:1px solid var(--line2);margin-top:8px}
.rg{display:grid;grid-template-columns:1fr;gap:6px;padding:18px 0;border-bottom:1px solid var(--line2);cursor:pointer;transition:.26s var(--ez)}
@media(min-width:960px){.rg{grid-template-columns:250px 148px 1fr 1fr;gap:26px;align-items:start}}
.rg:hover,.rg.on{padding-left:8px}
.rg:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
.rgn{font-size:1rem;font-weight:600;letter-spacing:-.012em;color:var(--tx)}
.rgm{font-family:var(--m);font-size:10px;letter-spacing:.11em;text-transform:uppercase;display:flex;align-items:center;gap:8px;padding-top:3px}
.rgm i{width:7px;height:7px;flex:none;font-style:normal}
.m-c .rgm{color:#5FC48E}.m-c .rgm i{background:#5FC48E}
.m-d .rgm{color:var(--acc)}.m-d .rgm i{background:var(--acc)}
.m-r .rgm{color:var(--warm)}.m-r .rgm i{background:transparent;box-shadow:inset 0 0 0 1px var(--warm)}
.rge{font-size:.9062rem;color:var(--tx2);line-height:1.55}
.rgb{font-size:.9062rem;color:#C4805C;line-height:1.55}
.rg.hide{display:none}
.regkey{display:flex;flex-wrap:wrap;gap:20px;margin:16px 0 0;font-family:var(--m);font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--tx3)}
.regkey span{display:flex;align-items:center;gap:8px}.regkey i{width:7px;height:7px;font-style:normal}
.regcount{font-family:var(--m);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--tx3);margin:18px 0 0}
.regcount b{color:var(--tx);font-size:20px;font-weight:500;letter-spacing:-.01em}
.dom{display:grid;gap:0;border-top:1px solid var(--line2)}
@media(min-width:880px){.dom{grid-template-columns:repeat(3,1fr);gap:0 40px}}
.domi{padding:26px 0;border-bottom:1px solid var(--line2)}
.domi .dm{font-family:var(--m);font-size:10px;letter-spacing:.11em;text-transform:uppercase;display:flex;align-items:center;gap:8px;margin:0 0 12px}
.domi .dm i{width:7px;height:7px;font-style:normal}
.domi h3{font-size:1.1875rem;font-weight:600;letter-spacing:-.018em;margin:0 0 10px}
.domi p{margin:0 0 12px;font-size:.9375rem;color:var(--tx2);line-height:1.58}
.domi a{color:var(--acc);text-decoration:none;font-family:var(--m);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.domi a:hover{text-decoration:underline}
.scst{position:sticky;top:0;height:100vh;overflow:hidden;border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);background:#0A0C0F}
.scst svg{position:absolute;inset:0;width:100%;height:100%}
.so{fill:none;stroke:rgba(255,255,255,.34);stroke-width:1;opacity:0;transition:opacity .25s linear}
.so *{vector-effect:non-scaling-stroke}
.so.acc{stroke:#2E86FF}
.scread{position:absolute;right:34px;bottom:32px;z-index:4;font-family:var(--m);font-size:11px;letter-spacing:.13em;color:var(--tx3);text-align:right}
.scread b{display:block;font-size:24px;color:#E9EBEE;font-weight:500;letter-spacing:-.01em;margin-bottom:4px}
.scp{position:absolute;left:0;top:0;bottom:0;width:min(360px,42vw);display:flex;align-items:center;padding-left:44px;pointer-events:none;z-index:3}
.scp>div{position:absolute;left:44px;right:20px;opacity:0;transition:opacity .35s var(--ez)}
.scp>div.on{opacity:1}
.scp .pn{font-family:var(--m);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--acc);margin:0 0 10px}
.scp h3{font-size:clamp(1.25rem,2.2vw,1.75rem);font-weight:600;letter-spacing:-.028em;line-height:1.14;margin:0 0 10px}
.scp p{font-size:.9375rem;margin:0;color:var(--tx2)}
@media(max-width:880px){.scp{width:100%;align-items:flex-end;padding:0 0 36px}
.scp>div{left:20px;right:20px;background:linear-gradient(to top,rgba(10,12,15,.96),rgba(10,12,15,0));padding-top:40px}
.scread{right:16px;bottom:12px}}
.techband{border:1px solid var(--line2);background:linear-gradient(170deg,var(--pnl),var(--bg2));padding:32px 34px}
@media(max-width:760px){.techband{padding:24px 20px}}
.techband h3{font-size:1.3125rem;font-weight:600;letter-spacing:-.024em;margin:0 0 12px}
.techband p{margin:0 0 12px;max-width:68ch}

/* robotics blueprint (mechanism B, reused - refined layout contract) */
.rbwrap{position:relative}
.rbstage{display:none;position:sticky;top:0;height:100vh;overflow:hidden;border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);background:#0A0C0F;grid-template-columns:clamp(260px,24vw,360px) 1fr}
@media(min-width:1100px){html.js .rbwrap{height:420vh}html.js .rbstage{display:grid}html.js .rbmob{display:none}}
html.js .rbwrap.rbstatic{height:auto}
html.js .rbwrap.rbstatic .rbstage{display:none}
html.js .rbwrap.rbstatic .rbmob{display:block}
.rbp{position:relative;display:flex;align-items:center;padding:0 34px 0 40px;min-width:0;z-index:3;pointer-events:none;border-right:1px solid var(--line2)}
.rbp>div{position:absolute;left:40px;right:34px;opacity:0;transition:opacity .35s var(--ez)}
.rbp>div.on{opacity:1}
.rbp .pn{font-family:var(--m);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--acc);margin:0 0 12px}
.rbp h3{font-size:clamp(1.15rem,1.9vw,1.5rem);font-weight:600;letter-spacing:-.026em;line-height:1.16;margin:0 0 12px}
.rbp p{font-size:.875rem;line-height:1.6;margin:0;color:var(--tx2)}
.rbcv{position:relative;min-width:0;overflow:hidden}
.rbcv svg{position:absolute;inset:0;width:100%;height:100%;display:block}
/* shared blueprint ink */
.rb rect{fill:#12161C;stroke:rgba(255,255,255,.24);stroke-width:1;transition:.3s var(--ez)}
.rb.acc rect{stroke:var(--acc);stroke-width:1.4;fill:rgba(46,134,255,.07)}
.rb.lit rect{stroke:var(--acc);fill:rgba(46,134,255,.13)}
.rb.dim rect{stroke:rgba(255,255,255,.1)}
.rb.dim .rb-t,.rb.dim .rb-d,.rb.dim .rb-k{fill:#3E444A}
.zoomin .rb:not(.acc),.zoomin .rb-h,.zoomin .rb-hb,.zoomin .rb-bnd,.zoomin .rb-ln{opacity:.28}
.rb.hot rect{stroke-width:2;fill:rgba(46,134,255,.15)}
.rb-t{font-family:"Archivo",sans-serif;font-size:14px;fill:#E9EBEE;font-weight:600;letter-spacing:.01em;transition:.3s}
.rb-d{font-family:"Archivo",sans-serif;font-size:10.5px;fill:#9AA1AB;font-weight:400;transition:.3s}
.rb-k{font-family:"IBM Plex Mono",monospace;font-size:9px;fill:#6E7681;letter-spacing:.09em;transition:.3s}
.rb-h{font-family:"IBM Plex Mono",monospace;font-size:10.5px;fill:#7A828E;letter-spacing:.13em}
.rb-hb{font-family:"IBM Plex Mono",monospace;font-size:9px;fill:#5C636D;letter-spacing:.13em}
.rb-ih{font-family:"Archivo",sans-serif;font-size:15px;fill:#F2F3F5;font-weight:600;letter-spacing:-.01em}
.rb-rl{font-family:"IBM Plex Mono",monospace;font-size:8.4px;fill:#2E86FF;letter-spacing:.15em}
.rb-rail{fill:none;stroke:rgba(46,134,255,.38);stroke-width:.9}
.rb-stub{fill:none;stroke:rgba(46,134,255,.5);stroke-width:.9}
.rb-port{fill:#2E86FF}
.rb-j{fill:#2E86FF}
.rb-bnd{fill:none;stroke:rgba(255,255,255,.09);stroke-dasharray:6 5}
.rb-ln{fill:none;stroke:rgba(255,255,255,.26);stroke-width:1;transition:stroke .3s var(--ez)}
.rb-ln.lit,.lit>.rb-ln{stroke:var(--acc);stroke-width:1.6}
.rb-ln.dim,.dim>.rb-ln{stroke:rgba(255,255,255,.08)}
/* level 2 - interface anatomy */
.rb2-h{font-family:"IBM Plex Mono",monospace;font-size:3.2px;fill:#2E86FF;letter-spacing:.16em}
.rb2-ttl{font-family:"Archivo",sans-serif;font-size:6px;fill:#F2F3F5;font-weight:600;letter-spacing:-.01em}
.rb2-t{font-family:"Archivo",sans-serif;font-size:4.4px;fill:#E9EBEE;font-weight:600}
.rb2-s{font-family:"IBM Plex Mono",monospace;font-size:2.6px;fill:#8F97A1;letter-spacing:.05em}
.rb2-k{font-family:"IBM Plex Mono",monospace;font-size:2.6px;fill:#5C636D;letter-spacing:.13em}
.rb2-bx{fill:rgba(46,134,255,.05);stroke:var(--acc);stroke-width:.5}
.rb2-mod rect{fill:#12161C;stroke:rgba(255,255,255,.3);stroke-width:.35}
.rb2-ln{fill:none;stroke:rgba(46,134,255,.5);stroke-width:.4}
.rb2-opt{fill:none;stroke:rgba(255,255,255,.24);stroke-width:.3;stroke-dasharray:1.6 1.4}
.rb2-optl{fill:none;stroke:rgba(255,255,255,.2);stroke-width:.3;stroke-dasharray:1.6 1.4}
.rb2-ot{font-family:"Archivo",sans-serif;font-size:3.2px;fill:#9AA1AB;font-weight:500}
.rb2-os{font-family:"IBM Plex Mono",monospace;font-size:2.4px;fill:#6E7681;letter-spacing:.1em}
/* level 3 - requirements */
.rb3-h{font-family:"IBM Plex Mono",monospace;font-size:1.45px;fill:#2E86FF;letter-spacing:.18em}
.rb3-ttl{font-family:"Archivo",sans-serif;font-size:2.8px;fill:#F2F3F5;font-weight:600;letter-spacing:-.01em}
.rb3-n{font-family:"IBM Plex Mono",monospace;font-size:1.3px;fill:#2E86FF;letter-spacing:.1em}
.rb3-t{font-family:"Archivo",sans-serif;font-size:2.3px;fill:#E9EBEE;font-weight:600}
.rb3-s{font-family:"IBM Plex Mono",monospace;font-size:1.3px;fill:#8F97A1;letter-spacing:.05em}
.rb3-tick{fill:var(--acc)}
.rb3-rule{stroke:rgba(255,255,255,.14);stroke-width:.14}
.rb3-ph{font-family:"IBM Plex Mono",monospace;font-size:1.25px;fill:#2E86FF;letter-spacing:.16em}
.rb3-p{font-family:"IBM Plex Mono",monospace;font-size:1.1px;fill:#7A828E;letter-spacing:.05em}
/* stacked fallback - narrow viewports, reduced motion, no script */
.rbmob{display:block;border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);background:#0A0C0F}
.rbmob .lvl{padding:36px 0;border-bottom:1px solid var(--line2)}
.rbmob .lvl:last-child{border-bottom:none}
.rbmob .pn{font-family:var(--m);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--acc);margin:0 0 12px}
.rbmob h3{font-size:1.25rem;font-weight:600;letter-spacing:-.026em;line-height:1.16;margin:0 0 10px}
.rbmob p{font-size:.9062rem;margin:0;color:var(--tx2);max-width:60ch}
.rbmob svg{width:100%;height:auto;display:block;margin-top:24px;max-width:520px}
.mb-t{font-family:"Archivo",sans-serif;font-size:15px;fill:#E9EBEE;font-weight:600}
.mb-d{font-family:"Archivo",sans-serif;font-size:11px;fill:#9AA1AB;font-weight:400}
.mb-k{font-family:"IBM Plex Mono",monospace;font-size:12px;fill:#6E7681;letter-spacing:.09em}
.mb-h{font-family:"IBM Plex Mono",monospace;font-size:12px;fill:#2E86FF;letter-spacing:.16em}
.mb-hb{font-family:"IBM Plex Mono",monospace;font-size:12px;fill:#6E7681;letter-spacing:.1em}
.mb-ih{font-family:"Archivo",sans-serif;font-size:13px;fill:#F2F3F5;font-weight:600}
.mb-ttl{font-family:"Archivo",sans-serif;font-size:20px;fill:#F2F3F5;font-weight:600;letter-spacing:-.02em}
.mb-rl{font-family:"IBM Plex Mono",monospace;font-size:11.5px;fill:#2E86FF;letter-spacing:.15em}
.mb-n{font-family:"IBM Plex Mono",monospace;font-size:12px;fill:#2E86FF;letter-spacing:.1em}
.mb-rq{font-family:"Archivo",sans-serif;font-size:19px;fill:#E9EBEE;font-weight:600}
.mb-s{font-family:"IBM Plex Mono",monospace;font-size:10.5px;fill:#8F97A1;letter-spacing:.05em}
.mb-ot{font-family:"Archivo",sans-serif;font-size:12px;fill:#9AA1AB;font-weight:500}
.mb-os{font-family:"IBM Plex Mono",monospace;font-size:12px;fill:#6E7681;letter-spacing:.1em}
.matbadge{display:inline-flex;align-items:center;gap:8px;font-family:var(--m);font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:var(--warm);border:1px solid rgba(232,118,58,.42);padding:5px 11px;margin-bottom:18px}
.matbadge i{width:7px;height:7px;box-shadow:inset 0 0 0 1px var(--warm);font-style:normal}

/* nav dropdowns */
nav{align-items:center}
.nvi{position:relative;display:flex;align-items:center;gap:5px}
.nvt{background:none;border:none;color:var(--tx3);cursor:pointer;padding:4px 2px;font-size:9px;line-height:1;transition:color .2s;font-family:var(--m)}
.nvi:hover .nvt,.nvt[aria-expanded="true"]{color:var(--tx)}
.nvt:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.dd{position:absolute;top:calc(100% + 12px);left:-14px;min-width:252px;background:rgba(8,9,11,.97);backdrop-filter:blur(14px);border:1px solid var(--line);display:none;z-index:60}
.dd.open{display:block}
/* hover bridge: the dropdown sits 12px below the trigger; without this the
   pointer crosses dead space on the way down and the menu closes itself.
   Only exists while open, since .dd is display:none otherwise. */
.dd:before{content:"";position:absolute;left:0;right:0;top:-13px;height:13px}
.dd a{display:block;padding:13px 16px;font-size:13.5px;color:var(--tx2);text-decoration:none;border-bottom:1px solid var(--line2)}
.dd a:last-child{border-bottom:none}
.dd a:hover,.dd a:focus{color:var(--tx);background:rgba(255,255,255,.04)}
.dd a:after{display:none}
.dd .ddl{font-family:var(--m);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--tx3);padding:11px 16px 7px;border-bottom:1px solid var(--line2)}
.mpanel .sub{padding-left:38px;font-size:.9375rem;color:var(--tx3)}
.mpanel .sub:before{content:"";display:inline-block;width:14px;height:1px;background:var(--line);vertical-align:middle;margin-right:10px}
@media(min-width:1000px){.fg{grid-template-columns:1.7fr 1fr 1fr 1fr 1fr}}

.d-bx.ph{stroke:#E8763A;stroke-dasharray:5 4;fill:none}
.d-ln.ph{stroke:rgba(232,118,58,.55);stroke-dasharray:5 4}

/* --- form status (Formspree AJAX result) --- */
#fstat.fs-wait{color:var(--tx2)}
#fstat.fs-ok{color:#7FD8A8;border-color:rgba(127,216,168,.42);background:rgba(127,216,168,.07)}
#fstat.fs-err{color:#E5837A;border-color:rgba(229,131,122,.42);background:rgba(229,131,122,.06)}
.form button[type=submit][disabled]{opacity:.55;cursor:progress}

/* --- service-page components (added in pre-launch SEO pass) --- */
.dtblw{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:8px 0 0}
.dtbl{width:100%;border-collapse:collapse;font-size:.9375rem;min-width:560px}
.dtbl caption{text-align:left;font-family:var(--m);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--tx3);padding:0 0 14px}
.dtbl th,.dtbl td{text-align:left;vertical-align:top;padding:16px 22px 16px 0;border-bottom:1px solid var(--line2);line-height:1.58}
.dtbl thead th{font-family:var(--m);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--tx3);font-weight:500;border-bottom-color:var(--line);padding-bottom:12px}
.dtbl tbody th{color:var(--tx);font-weight:600;white-space:normal;width:24%;padding-right:28px}
.dtbl td{color:var(--tx2)}
.dtbl tbody tr:last-child th,.dtbl tbody tr:last-child td{border-bottom:0}
.dtbl a{color:var(--acc);text-decoration:none}.dtbl a:hover{text-decoration:underline}
.twocol{display:grid;grid-template-columns:1fr 1fr;gap:0 56px;border-top:1px solid var(--line2);padding-top:30px}
.twocol h3{font-size:1.0625rem;font-weight:600;letter-spacing:-.012em;margin:0 0 16px}
@media(max-width:820px){.twocol{grid-template-columns:1fr;gap:34px}}
ul.tick,ul.cross{list-style:none;margin:0;padding:0}
ul.tick li,ul.cross li{position:relative;padding-left:26px;margin-bottom:13px;color:var(--tx2);font-size:.9375rem;line-height:1.58}
ul.tick li:before,ul.cross li:before{position:absolute;left:0;top:0;font-family:var(--m);font-size:13px}
ul.tick li:before{content:"+";color:var(--acc)}
ul.cross li:before{content:"\2013";color:var(--tx3)}
ul.tick a,ul.cross a{color:var(--acc);text-decoration:none}
ul.tick a:hover,ul.cross a:hover{text-decoration:underline}
.faqs{border-top:1px solid var(--line2)}
.faqs .fq h3{font-size:1.0625rem;font-weight:600;margin:0 0 10px;letter-spacing:-.012em}
ul.rell{list-style:none;margin:0;padding:0;border-top:1px solid var(--line2);display:grid}
ul.rell li{border-bottom:1px solid var(--line2)}
ul.rell a{display:grid;grid-template-columns:minmax(0,30%) minmax(0,1fr);gap:0 32px;align-items:baseline;padding:22px 0;text-decoration:none;transition:.28s var(--ez)}
ul.rell a:hover{padding-left:10px}
ul.rell b{color:var(--tx);font-size:1.0312rem;font-weight:600;letter-spacing:-.014em}
ul.rell a:hover b{color:var(--acc)}
ul.rell span{color:var(--tx2);font-size:.9375rem;line-height:1.56}
@media(max-width:760px){ul.rell a{grid-template-columns:1fr;gap:7px}}

/* --- privacy / long-form policy page --- */
.pv-date{display:block;margin-top:14px;font-family:var(--m);font-size:12px;letter-spacing:.05em;color:var(--tx3)}
.pvbody{max-width:78ch}
.pvbody h2{font-size:clamp(1.25rem,2vw,1.5rem);letter-spacing:-.022em;font-weight:600;color:var(--tx);margin:52px 0 14px}
.pvbody h2:first-child{margin-top:0}
.pvbody p{margin:0 0 16px}
.pvbody a{color:var(--acc);text-decoration:none}
.pvbody a:hover{text-decoration:underline}
.pvbody b{color:var(--tx);font-weight:600}
.pvbody .dtblw{margin:22px 0 26px}
.pvbody .dtbl{font-size:.9375rem}

/* --- contact form: collection notice + field errors --- */
.privnote{margin:18px 0 0;font-size:.8438rem;line-height:1.6;color:var(--tx3);max-width:62ch}
.privnote a{color:var(--acc);text-decoration:none}
.privnote a:hover{text-decoration:underline}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* --- retained positioning line, demoted from H1 --- */
.h1sub{font-size:clamp(1.125rem,1.9vw,1.5rem);line-height:1.34;letter-spacing:-.02em;color:var(--tx);font-weight:500;margin:-14px 0 22px;max-width:26ch}
.phead .h1sub+p{margin-top:0}
.emailalt{margin:14px 0 0;color:var(--tx2);font-size:1rem}
.emailalt a{color:var(--acc);text-decoration:none;border-bottom:1px solid rgba(46,134,255,.4)}
.emailalt a:hover{border-bottom-color:var(--acc)}

/* --- visited links keep the site's blue treatment (never the UA purple) --- */
.prose a:visited,.pvbody a:visited,.dtbl a:visited,.faqs a:visited,
ul.tick a:visited,ul.cross a:visited,.emailalt a:visited,.privnote a:visited,
.trustline a:visited,.oc a:visited{color:var(--acc)}
nav a:visited,footer a:visited,.crumb a:visited,.mpanel a:visited{color:var(--tx2)}
.dd a:visited{color:var(--tx2)}
ul.rell a:visited b{color:var(--tx)}
ul.rell a:visited:hover b{color:var(--acc)}
.b1:visited{color:#04101F}
.b2:visited{color:var(--tx)}

/* --- Australia page: hero trust line --- */
.trustline{margin:26px 0 0;font-family:var(--m);font-size:11.5px;letter-spacing:.06em;color:var(--tx3)}
.trustline a{color:var(--acc);text-decoration:none}
.trustline a:hover{text-decoration:underline}
@media(max-width:520px){.trustline{line-height:1.9}}

/* --- in-page anchors must clear the fixed header --- */
:target{scroll-margin-top:96px}
section[id]{scroll-margin-top:96px}

/* --- mid-page conversion band --- */
.midcta{border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);padding:52px 0;background:var(--bg2)}
.midcta h2{font-size:clamp(1.375rem,2.6vw,1.875rem);letter-spacing:-.028em;font-weight:600;margin:0 0 12px;max-width:24ch}
.midcta p{margin:0 0 24px;color:var(--tx2);max-width:62ch;font-size:1rem}

/* --- scrollable table regions: keyboard reachable, labelled --- */
.dtblw:focus-visible{outline:2px solid var(--acc);outline-offset:3px}

/* --- evidence cards --- */
.evg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--line2)}
.evc{display:flex;flex-direction:column;gap:9px;padding:28px 34px 26px 0;border-bottom:1px solid var(--line2);text-decoration:none;transition:.28s var(--ez)}
.evc:nth-child(odd){border-right:1px solid var(--line2);padding-right:38px}
.evc:hover{padding-left:10px}
.evm{font-family:var(--m);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--acc)}
.evt{font-size:1.0625rem;font-weight:600;letter-spacing:-.014em;color:var(--tx)}
.evc:hover .evt{color:var(--acc)}
.evb{font-size:.9375rem;line-height:1.58;color:var(--tx2)}
.evl{margin-top:auto;padding-top:8px;font-family:var(--m);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--tx3)}
.evc:hover .evl{color:var(--acc)}
.evc:focus-visible{outline:2px solid var(--acc);outline-offset:-2px}
.evc:visited .evt{color:var(--tx)}
.evnote{margin:22px 0 0;font-size:.875rem;line-height:1.6;color:var(--tx3);max-width:70ch}
@media(max-width:760px){
 .evg{grid-template-columns:1fr}
 .evc,.evc:nth-child(odd){border-right:0;padding-right:0}
}

/* --- commercial panel --- */
.panel{margin:30px 0 0;padding:28px 30px;border:1px solid var(--line);border-left:2px solid var(--acc);background:rgba(46,134,255,.045)}
.panel h3{margin:0 0 12px;font-size:1.0625rem;font-weight:600;letter-spacing:-.012em;color:var(--tx)}
.panel p{margin:0 0 12px;color:var(--tx2);font-size:.9375rem;line-height:1.62;max-width:74ch}
.panel p:last-child{margin-bottom:0}
@media(max-width:560px){.panel{padding:24px 20px}}

/* --- in-section subheading + reference line --- */
.subh{margin:44px 0 14px;font-size:1.0625rem;font-weight:600;letter-spacing:-.012em;color:var(--tx)}
.refs{font-size:.875rem;color:var(--tx3)}
.refs a{color:var(--acc);text-decoration:none}
.refs a:hover{text-decoration:underline}
.refs a:visited{color:var(--acc)}

/* --- hero company-positioning line (distinct from the value paragraph) --- */
.poslin{margin:22px 0 0;padding-top:18px;border-top:1px solid var(--line2);max-width:56ch;
        font-size:.9375rem;line-height:1.55;color:var(--tx3)}
.phead .poslin+.cta{margin-top:26px}
