@font-face{font-family:Avenir;src:url('fonts/AvenirLTProRoman.otf') format('opentype');font-weight:400;font-display:swap}
@font-face{font-family:Avenir;src:url('fonts/AvenirLTProLight.otf') format('opentype');font-weight:300;font-display:swap}
@font-face{font-family:Avenir;src:url('fonts/AvenirLTProMedium.otf') format('opentype');font-weight:500;font-display:swap}
@font-face{font-family:Avenir;src:url('fonts/AvenirLTProHeavy.otf') format('opentype');font-weight:700 900;font-display:swap}
@font-face{font-family:JetBrains;src:url('fonts/JetBrainsMono-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--bg:#10151c;--panel:#1d2530;--paper:#f4f5f2;--ink:#1B3A5C;--navy:#162646;--text:#f7f8fa;--muted:#b7c1cd;--blue:#739BCF;--blue1:#385FAF;--amber:#C4863B;--rule:#394451;--paper-rule:#8A97B5;--sans:Avenir,Arial,sans-serif;--mono:JetBrains,monospace;--wrap:1460px;--railw:352px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--text);font:400 17px/1.6 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer;border:0;background:none;color:inherit}img,svg{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:700;line-height:1.12;letter-spacing:-.025em}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:5px}input:focus-visible,textarea:focus-visible{outline:0}::selection{background:var(--blue);color:var(--bg)}[hidden]{display:none!important}.slash{font-weight:300;color:var(--blue)}sup.tm{font-weight:400;font-size:55%;line-height:0;vertical-align:super;color:inherit;letter-spacing:0;text-transform:none}.skip{position:absolute;left:-9999px;top:10px;z-index:1000}.skip:focus{left:16px;background:var(--paper);color:var(--ink);padding:10px}
/* The real prompt-site dot cloud sits behind everything; opaque surfaces decide what floats. */
#webgl{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.header,main,footer,.rail{position:relative;z-index:2}
.header{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:36px;padding:0 26px;height:86px;background:rgba(16,21,28,.88);backdrop-filter:blur(9px);border-bottom:1px solid var(--rule)}.brand{width:185px;flex:0 0 auto}.brand img{width:174px;height:28px;object-fit:contain;object-position:left}.brand small{display:block;font-size:10px;letter-spacing:.08em;color:var(--muted);margin-top:3px}.prompt{min-width:0;flex:1;display:flex;align-items:center;gap:14px;max-width:670px;border-bottom:1px solid #617083;transition:border-color .15s}.prompt:focus-within{border-bottom:2px solid var(--blue)}.prompt-glyph{color:var(--blue);font:300 26px var(--sans)}.prompt input{width:100%;min-width:0;background:none;border:0;color:var(--text);font-size:16px;padding:13px 0;border-radius:0}.prompt input::placeholder{color:var(--muted);opacity:1}.prompt button{width:44px;height:44px;flex-shrink:0;font-size:24px}.prompt button:hover{color:var(--blue)}.header-actions{margin-left:auto;display:flex;gap:27px;align-items:center;white-space:nowrap;font-size:14px}.browse-button{display:flex;align-items:center;gap:10px;padding:10px 0}.browse-button i{display:inline-block;width:15px;height:9px;border-top:1px solid var(--blue);border-bottom:1px solid var(--blue)}.talk-link{border-bottom:1px solid var(--blue);padding:6px 0}.header-actions a:hover,.browse-button:hover{color:var(--blue)}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 64px}.eyebrow{font:400 10px/1.6 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.hero{display:grid;grid-template-columns:1.6fr 1fr;gap:70px;align-items:end;padding-top:62px;padding-bottom:48px}.hero h1{font-size:clamp(38px,4.05vw,59px);line-height:1.06;margin:23px 0}.hero h1 .secondary{color:var(--blue);font-weight:300;display:block;margin-top:6px}.hero .lede{color:var(--muted);font-size:19px;line-height:1.65;max-width:52ch}.hero .scope{margin-top:18px;max-width:52ch;font-size:13px;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:29px}.primary{display:inline-flex;align-items:center;gap:28px;background:var(--blue);color:#101b29;font-weight:700;padding:13px 20px;font-size:14px;min-height:48px}.primary:hover{background:#9CADD7}.text-link{font-size:14px;padding:9px 0;border-bottom:1px solid var(--rule)}.text-link:hover{color:var(--blue);border-color:var(--blue)}.context-note{font:10px/1.8 var(--mono);color:var(--muted);margin-top:25px;max-width:59ch}.status{display:inline-block;font:10px/1.55 var(--mono);letter-spacing:.03em;color:var(--blue);border:1px solid var(--rule);padding:6px 9px;margin-top:22px;max-width:100%}
.hero-side{padding-bottom:9px}.try-list{display:grid;gap:2px;margin-top:13px}.try{display:block;text-align:left;font-size:15px;color:var(--muted);padding:13px 2px;border-bottom:1px solid var(--rule)}.try:hover{color:var(--blue)}
/* Real Vision drafting sheets, untouched geometry. */
.stagegfx{padding:8px 0 20px}.sheet-panel{margin:0}.sheet-panel svg{width:100%;height:auto;display:block}.sheet-panel .eco-sheet{display:block;line-height:0;background:#090D16}.sheet-panel .eco-sheet img,.result-gfx .eco-sheet img{width:100%;height:auto;display:block}.eco-sheet{cursor:pointer}.eco-sheet:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.sheet-panel.panel-light{background:var(--paper);padding:clamp(18px,3vw,40px);border:1px solid var(--paper-rule)}.sheet-panel.panel-dark{background:transparent;padding:0}.sheet-label{font:10px/1.7 var(--mono);letter-spacing:.1em;color:#516786;margin:0 0 16px}.caption{font:12px/1.7 var(--mono);letter-spacing:.04em;color:var(--muted);margin:16px 0 0;max-width:110ch}.panel-light .caption{color:#4b5e75}
.g .gs{font-family:var(--sans)}.g .gm{font-family:var(--sans);font-weight:500}
.g .gwd{stroke-dasharray:6 10;animation:gwire 1.4s linear infinite}.g .gpulse{animation:gpulse 2.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.g .gblink{animation:gblink 1.2s steps(1) infinite}.g .gw.gws{stroke-dasharray:none;animation:none}.g .pulse{transform-box:fill-box;transform-origin:center;animation:gpulse2 2.6s ease-in-out infinite}.g .gp{display:none}
@keyframes gwire{to{stroke-dashoffset:-32}}@keyframes gpulse{0%,100%{transform:scale(.7);opacity:.5}50%{transform:scale(1.15);opacity:1}}@keyframes gblink{50%{opacity:.2}}@keyframes gpulse2{0%,100%{opacity:.35;transform:scale(1)}50%{opacity:.9;transform:scale(1.35)}}
.g.dsk{display:block}.g.mob{display:none}
.sheet-jump{display:flex;flex-wrap:wrap;gap:8px 30px;margin-top:17px;font:12px/1.8 var(--mono)}.sheet-jump a{color:var(--blue);padding:6px 0}.sheet-jump a:hover{border-bottom:1px solid var(--blue)}
.proof{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);display:grid;grid-template-columns:repeat(4,1fr);padding:24px 0;background:rgba(16,21,28,.72);backdrop-filter:blur(5px)}.proof div{padding:0 25px;border-right:1px solid var(--rule);display:flex;align-items:baseline;gap:14px}.proof div:first-child{padding-left:0}.proof div:last-child{border:0;padding-right:0}.proof strong{font-size:30px;line-height:1;font-weight:300;color:var(--text)}.proof span{font:10px/1.8 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.section{padding:60px 0}.section-title{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:27px}.section h2{font-size:32px;margin-top:11px}.paths{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.path{display:block;border-top:1px solid var(--rule);padding-top:22px}.path .path-top{display:flex;justify-content:space-between;gap:20px;align-items:center;font:10px var(--mono);color:var(--blue)}.path h3{font-size:24px;margin-top:17px}.path p{font-size:15px;line-height:1.7;color:var(--muted);margin-top:12px}.path .path-go{display:block;margin-top:18px;font-size:13px;color:var(--blue)}.path:hover h3{color:var(--blue)}.future-row{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:40px;border:1px solid var(--rule);padding:23px 27px;background:rgba(16,21,28,.72)}.future-row h3{font-size:21px}.future-row p{font-size:14px;color:var(--muted);margin-top:8px}.future-row a{flex-shrink:0;color:var(--blue);font-size:13px}.pre-footer{border-top:1px solid var(--rule);padding:35px 0;display:flex;justify-content:space-between;align-items:center;gap:30px}.pre-footer h2{font-size:29px}.pre-footer p{color:var(--muted);font-size:15px;margin-top:9px}
.breadcrumb{display:flex;align-items:center;gap:10px;font:10px/1.8 var(--mono);color:var(--muted);padding:26px 0 0}.breadcrumb a:hover{color:var(--blue)}.detail.hero{grid-template-columns:1fr;padding-top:40px;padding-bottom:36px}.detail.hero h1{font-size:clamp(37px,3.6vw,54px);max-width:21ch}.reading{background:var(--paper);color:var(--ink);padding:62px 0}.reading-grid{display:grid;grid-template-columns:1fr 2fr;gap:80px}.reading-title h2{font-size:31px;margin-top:16px}.reading .eyebrow{color:#516786}.reading-list{display:grid;gap:31px}.reading-item{display:grid;grid-template-columns:28px 1fr;gap:18px;border-top:1px solid var(--paper-rule);padding-top:23px}.reading-item .number{font:10px/1.7 var(--mono);color:#516786}.reading-item h3{font-size:23px}.reading-item p{font-size:17px;line-height:1.8;margin-top:12px;color:#384f69}.related{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.related a{border-top:1px solid var(--rule);padding:18px 0;font-size:17px;display:flex;justify-content:space-between;gap:15px}.related a:hover{color:var(--blue)}
footer{border-top:1px solid var(--rule);padding:26px;color:var(--muted);display:flex;align-items:center;justify-content:space-between;gap:25px;font:9px/1.9 var(--mono);background:rgba(16,21,28,.85)}.footer-links{display:flex;flex-wrap:wrap;gap:18px;align-items:center}footer a:hover{color:var(--blue)}.regions{display:flex;gap:14px}.regions a{display:inline-flex;align-items:center;gap:6px}.regions .flag{width:16px;height:12px;border-radius:1px;opacity:.85;box-shadow:0 0 0 1px rgba(255,255,255,.12)}.regions a[aria-current=true]{color:var(--text);border-bottom:1px solid var(--blue)}.review-link{color:var(--blue)}
dialog{position:fixed;margin:0 0 0 auto;inset:0;height:100dvh;max-height:100dvh;width:min(580px,100%);max-width:100%;border:0;border-left:1px solid var(--rule);background:var(--bg);color:var(--text);padding:30px;overflow:auto;z-index:60}dialog::backdrop{background:#0009}.dialog-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:20px;border-bottom:1px solid var(--rule)}.dialog-head h2{font-size:27px}.dialog-head button{width:44px;height:44px;font-size:26px}.browse-group{margin-top:28px}.browse-group .eyebrow{margin-bottom:10px}.browse-group a{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--rule);padding:14px 0;font-size:17px}.browse-group a:hover{color:var(--blue)}.browse-group small{font:9px/1.7 var(--mono);color:var(--muted);max-width:150px;text-align:right}.dialog-foot{margin-top:28px;font-size:12px;color:var(--muted)}
/* Ambient discovery rail, rebuilt on Vision-grade content. */
.rail-dock{position:fixed;right:0;top:50%;z-index:40;transform:translateY(-50%);display:flex;flex-direction:column;align-items:stretch;gap:7px;padding:9px 7px;background:rgba(22,28,37,.92);border:1px solid var(--rule);border-right:0;transition:right .28s ease}
.dock-head{display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:0;border-bottom:1px solid var(--rule);padding:2px 0 9px;cursor:pointer;color:var(--muted)}
.dock-lbl{font:9px/1 var(--mono);letter-spacing:.13em;writing-mode:vertical-rl;transform:rotate(180deg)}
.dock-head .n{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:#101b29;font:700 11px/1 var(--mono);min-width:19px;min-height:19px}
.dock-card{width:56px;height:44px;border:1px solid var(--rule);background:#141b25;position:relative;overflow:hidden;cursor:pointer;padding:4px 5px 4px 8px;text-align:left;display:block;opacity:0;transform:translateX(74px)}
.dock-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--blue)}
.dock-card.t-diagram::before{background:#739BCF}.dock-card.t-solution::before{background:#8FB3DC}.dock-card.t-usecase::before{background:#C4863B}.dock-card.t-perspective::before{background:#5F7FA8}
.dock-card .k{display:block;font:600 5.5px/1.4 var(--mono);letter-spacing:.1em;color:#6E85A3;text-transform:uppercase;white-space:nowrap}
.dock-card .t{display:block;font:600 7px/1.45 var(--sans,system-ui);color:#B9CBE6;max-height:30px;overflow:hidden}
.dock-card:hover{border-color:var(--blue)}
.dock-in{animation:dockin .5s cubic-bezier(.2,.9,.3,1) forwards}
@keyframes dockin{60%{opacity:1}100%{opacity:1;transform:none}}
body.rail-open .rail-dock{right:var(--railw)}
@media(prefers-reduced-motion:reduce){.dock-in{animation:none;opacity:1;transform:none}}
@media(max-width:980px){
 /* phones/tablets: no hover - dock shrinks to the head only (count + label); tap toggles rail */
 .rail-dock{padding:7px 5px;gap:0}
 .dock-cards{display:none}
 .dock-head{border-bottom:0;padding:0}
}.rail{position:fixed;top:86px;right:0;bottom:0;width:var(--railw);z-index:35;background:rgba(22,28,37,.97);border-left:1px solid var(--rule);padding:22px 22px 30px;overflow-y:auto;transition:transform .28s ease}.rail.collapsed{transform:translateX(var(--railw))}body.rail-open .rail-dock{right:var(--railw)}
/* An OPEN rail must never cover content: reserve its width (root-cause fix, QA 2026-10-04) */
@media(min-width:981px){body.rail-open main{padding-right:var(--railw);transition:padding-right .28s ease}}.rail-head{padding-bottom:15px;border-bottom:1px solid var(--rule)}.rail-note{font:9px/1.8 var(--mono);color:var(--muted);margin:7px 0 0}.rail-cards{display:grid;gap:14px;margin-top:17px}.rail-card{display:block;border:1px solid var(--rule);background:rgba(16,21,28,.65);padding:14px 15px 16px;transition:border-color .15s,background .15s}.rail-card:hover{border-color:var(--blue);background:rgba(16,21,28,.9)}.rail-type{display:flex;justify-content:space-between;gap:12px;font:9px/1.6 var(--mono);letter-spacing:.12em;color:var(--blue)}.rail-open{color:var(--muted)}.rail-card:hover .rail-open{color:var(--blue)}.rail-thumb{margin:12px -15px;padding:0;max-height:118px;overflow:hidden;opacity:.85;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);pointer-events:none}.rail-thumb svg,.rail-thumb img{width:100%;height:auto;display:block}.rail-title{display:block;font-size:16.5px;font-weight:700;line-height:1.25;margin-top:12px}.rail-sum{display:block;font-size:12.5px;line-height:1.6;color:var(--muted);margin-top:8px}.rail-why{display:block;font:9px/1.6 var(--mono);color:#7d8aa0;margin-top:10px}.rail-why:empty{display:none}body.rail-open #page-content,body.rail-open .search-view{padding-right:0}
@media(min-width:1700px){body.rail-open .wrap{max-width:calc(var(--wrap) - var(--railw)/2)}}
/* Preview guide view (explicitly labelled retrieval, not live AI) */
.search-view{padding-top:48px;padding-bottom:70px;min-height:calc(100vh - 166px)}.search-top{display:flex;justify-content:space-between;align-items:center;gap:25px}.search-top button{color:var(--blue);border-bottom:1px solid var(--rule);font-size:13px}.search-view h1{font-size:clamp(30px,3.2vw,46px);max-width:28ch;margin-top:28px;overflow-wrap:anywhere}.search-note{font-size:13px;color:var(--muted);margin-top:20px}.search-results{display:grid;grid-template-columns:1.25fr 1fr;gap:55px;margin-top:36px}.result-item{border-top:1px solid var(--rule);padding:24px 0}.result-item h2{font-size:26px;margin-top:12px}.result-item p{color:var(--muted);font-size:17px;margin-top:13px;line-height:1.8}.result-item a{display:inline-block;margin-top:18px;color:var(--blue);font-size:14px}.result-gfx{margin-top:20px;border:1px solid var(--rule);background:#10151cdd}.result-gfx svg{width:100%;height:auto}.guide-side{border-left:1px solid var(--rule);padding-left:32px;align-self:start}.guide-side h3{font-size:23px;margin:17px 0}.guide-side a{display:block;padding:14px 0;border-top:1px solid var(--rule);color:var(--blue);font-size:15px}.guide-side p{font-size:14px;color:var(--muted);margin-top:12px}.empty-state{padding:30px 0}.empty-state h2{font-size:25px}.empty-state p{margin-top:14px;color:var(--muted)}
.contact-sheet{max-width:860px;margin-top:34px}
/* panel-dark sets padding:0 later in the cascade - the contact sheet must win or its text sits ON the border */
.sheet-panel.panel-dark.contact-sheet{background:#0E1B36;border:1px solid #2B3F6A;padding:clamp(28px,3.4vw,44px)}
.contact-form textarea{max-width:620px}
.contact-disclosure{margin-top:22px}.contact-sheet h3{color:var(--ink);font-size:24px;margin:6px 0 2px}.contact-form{margin-top:10px}/* Rob's input language: single bottom line, no boxes (2026-10-04) */
.contact-form label{display:block;font:10px/1.7 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#6E85A3;margin:34px 0 2px}
.contact-form textarea{display:block;width:100%;min-height:58px;resize:vertical;background:none;border:0;border-bottom:1px solid #2B3F6A;color:var(--ink);padding:8px 0 10px;border-radius:0;font-size:16.5px;line-height:1.6}
.contact-form textarea::placeholder{color:#44587400;color:#445874}.contact-form textarea:focus{outline:none;border-bottom:2px solid var(--blue1);padding-bottom:9px}.contact-form button{margin-top:34px;background:var(--ink);color:var(--paper)}.contact-disclosure{font-size:12px!important;color:#4b5e75!important;margin-top:16px}.contact-options{margin-top:25px}.contact-options a{display:block;color:var(--blue);padding:9px 0;font-size:16px}.contact-preview{margin-top:20px;border-top:1px solid var(--paper-rule);padding-top:20px;font-size:13px;white-space:pre-wrap;color:#384f69}.contact-preview a{display:inline-block;background:var(--ink);color:var(--paper);padding:10px 14px;margin-top:20px}
.assessment-head{padding:60px 0 35px;max-width:1000px}.assessment-head h1{font-size:clamp(35px,4vw,58px);margin:20px 0}.assessment-head p{font-size:19px;color:var(--muted);max-width:75ch}.assessment-section{padding:38px 0;border-top:1px solid var(--rule);background:rgba(16,21,28,.6)}.assessment-section h2{font-size:31px;margin-bottom:24px}.assessment-section h3{font-size:22px;margin:25px 0 12px}.assessment-section p,.assessment-section li{font-size:16px;color:var(--muted);line-height:1.8}.assessment-section ul{padding-left:23px}.assessment-section strong{color:var(--text)}.compare-shots{display:grid;grid-template-columns:1fr 1fr;gap:24px}.compare-shots img{width:100%;border:1px solid var(--rule)}.compare-shots figcaption{font:10px/1.8 var(--mono);color:var(--muted);margin-top:14px}.compare-shots figure{margin:0}.decision-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.decision-grid div{border-top:1px solid var(--rule);padding-top:15px}.matrix{width:100%;border-collapse:collapse;text-align:left;font-size:14px}.matrix th,.matrix td{padding:16px 18px 16px 0;border-bottom:1px solid var(--rule);vertical-align:top}.matrix th{color:var(--blue);font:10px/1.7 var(--mono)}.matrix td{color:var(--muted)}.matrix td:first-child{color:var(--text);width:20%}.table-scroll{overflow:auto}.assessment-section .source-list a{color:var(--blue);text-decoration:underline;text-underline-offset:4px}.assessment-section code{font:11px/1.7 var(--mono);overflow-wrap:anywhere}.assessment-section .callout{padding:24px;border:1px solid var(--rule);margin:20px 0}.assessment-section .callout p{margin-top:8px}
.assessment-head .eyebrow,.assessment-section>.eyebrow{font-size:10px;line-height:1.8;letter-spacing:.14em;color:var(--blue);margin:0 0 12px}
#query-heading:focus{outline:none}.result-item .eyebrow{font-size:10px;line-height:1.7;letter-spacing:.11em;color:var(--blue);margin-top:0}
@media(min-width:1700px){.hero{gap:100px;padding-top:90px}.header .prompt{max-width:850px}}
@media(max-width:1180px){.wrap{padding:0 34px}.header{gap:24px}.header-actions{gap:18px}.brand{width:158px}.brand img{width:151px}.brand small{font-size:9px}.hero{gap:38px}.hero h1{font-size:45px}.proof div{gap:9px;padding:0 15px}.proof strong{font-size:26px}.proof span{font-size:8px}.reading-grid{gap:45px}.hero-side{display:none}.hero{grid-template-columns:1fr}}
@media(max-width:820px){
/* QA 2026-10-04: the fixed RELATED edge tab overlapped answer text on phones - reserve its width */
body .search-view{padding-right:44px !important}
.header{height:auto;min-height:114px;flex-wrap:wrap;padding:14px 22px 9px;gap:8px 25px}.brand{width:170px}.brand img{width:160px;height:23px}.brand small{display:none}.header-actions{gap:24px}.prompt{order:3;flex-basis:100%;max-width:none}.prompt input{padding:8px 0}.prompt button{height:37px}.hero{grid-template-columns:1fr;padding-top:44px;padding-bottom:30px;gap:35px}.hero h1{font-size:46px;max-width:20ch}.hero .lede{max-width:65ch}.hero .scope{max-width:65ch}.proof{grid-template-columns:1fr 1fr;row-gap:23px}.proof div:nth-child(2){border:0}.proof div:nth-child(3){padding-left:0}.paths{gap:20px}.path h3{font-size:21px}.path p{font-size:14px}.future-row{align-items:start;flex-direction:column;gap:15px}.reading-grid{grid-template-columns:1fr;gap:32px}.reading-title h2{font-size:27px}.search-results{grid-template-columns:1fr;gap:30px}.guide-side{border-left:0;border-top:1px solid var(--rule);padding:24px 0}.compare-shots,.decision-grid{grid-template-columns:1fr}.related{gap:18px}.related a{font-size:15px}.detail.hero h1{font-size:43px}footer{flex-direction:column;align-items:start;gap:13px}.pre-footer{align-items:start;flex-direction:column}.section-title{display:block}.section-title>.text-link{display:inline-block;margin-top:14px}.g.dsk{display:none}.g.mob{display:block;max-width:440px;margin-inline:auto}.sheet-panel.panel-dark .g.mob{margin-inline:auto}.rail{width:min(var(--railw),92vw)}body.rail-open .rail-dock{right:min(var(--railw),92vw)}}
@media(max-width:480px){body{font-size:16px}.wrap{padding:0 21px}.header{padding-left:20px;padding-right:20px;gap:8px 15px}.brand{width:147px}.brand img{width:144px}.header-actions{gap:18px;font-size:12px}.talk-link{font-size:12px}.browse-button{font-size:12px;gap:7px}.browse-button i{width:12px}.prompt input{font-size:16px}.hero{padding-top:33px;gap:32px}.hero h1{font-size:38px;line-height:1.08;margin:18px 0}.hero .lede{font-size:17px;line-height:1.65}.hero .scope{font-size:12px}.hero-actions{gap:20px;margin-top:23px}.primary{font-size:13px;padding:12px 16px;gap:20px}.text-link{font-size:13px}.context-note{margin-top:19px;font-size:9px}.caption{font-size:10px}.sheet-jump{gap:6px 20px;font-size:10px}.proof strong{font-size:27px}.proof div{padding:0 0 0 17px;gap:12px}.proof span{font-size:8px}.paths{grid-template-columns:1fr;gap:28px}.path h3{font-size:24px}.path p{font-size:16px}.path .path-go{margin-top:13px}.section{padding:39px 0}.section h2{font-size:28px}.section-title{margin-bottom:22px}.future-row{padding:22px}.pre-footer h2{font-size:27px}.detail.hero{padding-top:27px;padding-bottom:24px}.detail.hero h1{font-size:36px}.breadcrumb{padding-top:22px;font-size:9px}.reading{padding:39px 0}.reading-item{grid-template-columns:20px 1fr;gap:12px}.reading-item h3{font-size:23px}.reading-item p{font-size:16px}.related{grid-template-columns:1fr;gap:2px}.related a{font-size:17px}.search-view{padding-top:30px}.search-top{align-items:start}.search-top .eyebrow{max-width:180px}.search-top button{white-space:nowrap;font-size:12px}.search-results{margin-top:25px}.search-note{font-size:12px}.result-item h2{font-size:25px}.result-item p{font-size:16px}.assessment-head{padding-top:35px}.assessment-head h1{font-size:38px}.assessment-head p{font-size:17px}.assessment-section h2{font-size:28px}.assessment-section .callout{padding:18px}.footer-links{gap:14px}dialog{padding:24px}.browse-group a{font-size:16px}.browse-group small{font-size:8px;max-width:125px}.matrix{display:block;min-width:0}.matrix thead{display:none}.matrix tbody{display:block}.matrix tr{display:block;margin-bottom:22px;border:1px solid var(--rule);padding:16px}.matrix td{display:block;width:auto!important;border:0;padding:10px 0;font-size:15px}.matrix td:before{content:attr(data-label);display:block;font:9px/1.7 var(--mono);color:var(--blue);margin-bottom:7px}.matrix td:first-child{font-size:19px;font-weight:700;padding-top:0}.sheet-panel.panel-light{padding:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* ---- v3: prompt-primary emphasis ---- */
body[data-page=home] .prompt{max-width:760px;border-bottom-color:var(--blue)}
body[data-page=home] .prompt .prompt-glyph{animation:promptGlow 2.8s ease-in-out infinite}
@keyframes promptGlow{0%,100%{opacity:.65}50%{opacity:1}}
body[data-page=home] .prompt input{font-size:17.5px}
.prompt input:focus::placeholder{opacity:.45}
.home-hero{min-height:calc(100vh - 86px - 80px);align-items:center;padding-bottom:70px}
.home-hero .hero-copy{max-width:760px}
/* ---- live streamed answer ---- */
.answer-stream{font-size:17.5px;line-height:1.75;max-width:66ch}
.answer-stream p{margin:0 0 16px}
.answer-stream h3{font-size:21px;margin:26px 0 12px}
.answer-stream ul{margin:0 0 16px;padding-left:22px}
.answer-stream li{margin:7px 0;color:var(--muted)}
.answer-stream p{color:var(--text)}
.answer-stream p+p{color:var(--muted)}
.tc{display:inline-block;width:9px;height:19px;background:var(--blue);vertical-align:-3px;animation:gblink 1.1s steps(1) infinite}
.answer-ground{margin-top:34px;border-top:1px solid var(--rule);padding-top:22px;animation:ag-in .5s ease}.answer-ground.pending{display:none}@keyframes ag-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.answer-ground .result-gfx{margin-top:16px;border:1px solid var(--rule);background:#10151cdd}
.answer-ground a{display:inline-block;margin-top:16px;color:var(--blue);font-size:14px}
.guide-note{font-size:12.5px;color:var(--muted);margin-top:22px;line-height:1.7}
.rail-card[hidden]{display:none}
@media(max-width:820px){.home-hero{min-height:0;padding-bottom:44px}}

/* v4: the visitor's question is attributed to the visitor, never styled as a Bluestaq headline */
.you-asked{margin-top:22px;max-width:70ch;display:flex;flex-direction:column;gap:8px;border-left:2px solid var(--rule);padding:4px 0 4px 16px}
.you-asked:focus{outline:none}
.you-asked-k{font:10px/1.6 var(--mono);letter-spacing:.14em;color:var(--muted)}
.you-asked-q{font-size:16px;line-height:1.55;color:var(--muted);overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow-wrap:anywhere}
.answer-stream{margin-top:26px}

/* v4 one visual language: no paper surfaces anywhere. Reading + contact sit on the dark drafting ground. */
.reading{background:rgba(14,27,54,.82);color:var(--text);border-top:1px solid #2B3F6A;border-bottom:1px solid #2B3F6A;backdrop-filter:blur(4px)}
.reading .eyebrow{color:var(--blue)}
.reading-title h2{color:var(--text)}
.reading-item{border-top:1px solid #2B3F6A}
.reading-item .number{color:var(--blue)}
.reading-item h3{color:var(--text)}
.reading-item p{color:var(--muted)}
.contact-sheet{background:#0E1B36;border:1px solid #2B3F6A;padding:clamp(20px,3vw,36px)}
.contact-sheet .sheet-label{color:var(--blue)}
.contact-sheet h3{color:var(--text)}
.contact-form label{color:var(--text)}
.contact-form textarea{color:var(--text);border-bottom:1px solid #4A5B78}
.contact-form textarea::placeholder{color:#7d8aa0}
.contact-form textarea:focus{border-bottom:2px solid var(--blue)}
.contact-form button{background:var(--blue);color:#101b29}
.contact-disclosure{color:var(--muted)!important}
.contact-preview{color:var(--muted);border-top:1px solid #2B3F6A}
.contact-preview a{background:var(--blue);color:#101b29}
.panel-light{background:#0E1B36!important;border-color:#2B3F6A!important}

/* the ecosystem takeover (app.js): ecosystem.html framed full screen over the page; the page under it stops scrolling */
.eco-takeover{position:fixed;inset:0;z-index:1000;background:#090D16}.eco-takeover .eco-frame{display:block;width:100%;height:100%;border:0}html.eco-locked,html.eco-locked body{overflow:hidden!important}
/* merge W1 (2026-10-30): the baked legal-entity line per country route, image thumbs on viz/deck rail cards, the lightbox for infographic cards */
footer{flex-wrap:wrap}.footer-entity{flex-basis:100%;margin:0;font:9px/1.8 var(--mono);color:var(--muted);letter-spacing:.04em}.rail-thumb-img{max-height:96px}.rail-thumb-img img{object-fit:cover;height:96px;opacity:.9}
dialog.lightbox{background:rgba(16,21,28,.96);border:1px solid var(--rule);padding:18px;max-width:min(1100px,94vw)}dialog.lightbox img{max-width:100%;max-height:82vh;display:block}dialog.lightbox::backdrop{background:rgba(6,9,14,.82)}.lightbox-close{position:absolute;top:8px;right:10px;background:none;border:0;color:var(--text);font-size:22px;cursor:pointer}

.search-results.no-guide{grid-template-columns:minmax(0,1fr)}

/* ---- Product-page hero: the sheet lockup (Rob 2026-10-31, the /MARKET lockup on the market graphics). The mark is the
   headline: Avenir Light 300 white, the slash Blue2 light (sheet: 32 on a 1600 canvas, about 2 percent of the width);
   beneath it the tracked Blue2 small-caps kicker (sheet: Medium 11, .12em); on the same band to the right the status and
   proof pills (sheet: 26 high, Blue2 outline, Medium 10.5, .12em). Phones: the mark scales with clamp(), the pills wrap
   under the kicker. Everything below the band (lede, actions, sheet) keeps its place. ---- */
.hero-lockup{--mark:clamp(44px,4.6vw,72px);padding-top:34px;padding-bottom:40px}
.lockup-band{display:flex;justify-content:space-between;align-items:flex-start;gap:24px 40px;flex-wrap:wrap}
.lockup-head{min-width:0}
.detail.hero .lockup-h1{font:300 var(--mark)/1 var(--sans);letter-spacing:-.005em;color:var(--text);margin:0;max-width:none;text-transform:none}
/* Display-size TM: at a 44 to 72px mark the body ratio (55%) reads oversized; the sheets draw the hero TM at 40%. Body and label TMs keep 55%. */
.detail.hero .lockup-h1 sup.tm{font-size:40%;vertical-align:super;line-height:0;font-weight:400;color:inherit}.detail.hero .lockup-h1 .lockup-eb sup.tm{font-size:55%}
.lockup-h1 .slash{font-weight:300;color:var(--blue)}
.lockup-h1 sup.tm{font-size:55%;font-weight:400;vertical-align:super;line-height:0}
.lockup-eb{display:block;font:500 11px/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin:0 0 12px}
.lockup-eb .slash{font-weight:300}
.lockup-eb sup.tm{font-size:55%}
.kicker{font:500 12px/1.5 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin:14px 0 0}
.lockup-pills{list-style:none;margin:calc(var(--mark) * .36) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.lockup-pills .pill{display:inline-flex;align-items:center;height:28px;padding:0 14px;border-radius:999px;border:1px solid rgba(115,155,207,.35);background:rgba(115,155,207,.08);font:500 10.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--blue);white-space:nowrap}
/* with a tracked eyebrow over the mark (the /ARQ and feature pages) the pills still sit on the mark band, not the eyebrow */
.lockup-band.has-eb .lockup-pills{margin-top:calc(var(--mark) * .36 + 27px)}
.lockup-pills .pill.amber{color:var(--amber);border-color:rgba(196,134,59,.45);background:rgba(196,134,59,.08)}
/* one text edge for the hero (Rob 2026-11-05): problem line and lede share a pixel width, ~75 chars for the lede */
.hero-lockup .lede{margin-top:30px;max-width:min(930px,100%)}
/* the problem statement above the lede: one sentence, larger and lighter than the lede, white */
.hero-lockup .problem{margin:34px 0 0;max-width:min(930px,100%);font:300 clamp(21px,1.9vw,27px)/1.35 var(--sans);color:var(--text)}.hero-lockup .problem+.lede{margin-top:16px;color:var(--muted)}
/* Rob 2026-10-31 r2: the actions row sits directly beneath the hero sheet on every template page */
.stagegfx .hero-actions{margin-top:30px}
.stagegfx .hero-actions + .read-link{margin-top:22px}
.detail.hero{padding-bottom:28px}
.hero-lockup{padding-top:48px}

/* ---- Domain overview under the hero sheet (Rob 2026-10-31 r2 item 7, /MARKET): a pill row of domains (the lockup pill
   style, the chosen one lit) and the chosen overview paragraph. ---- */
.overview{margin-top:34px;max-width:78ch}
.overview .eyebrow{color:var(--blue)}
.overview-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.overview-pills .pill{display:inline-flex;align-items:center;height:30px;padding:0 15px;border-radius:999px;border:1px solid rgba(115,155,207,.35);background:rgba(115,155,207,.08);font:500 10.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--blue);cursor:pointer;white-space:nowrap}
.overview-pills .pill:hover{border-color:rgba(157,192,240,.7)}
.overview-pills .pill[aria-pressed="true"]{background:rgba(115,155,207,.22);border-color:rgba(157,192,240,.95);color:#fff}
.overview-pills .pill:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.overview-text{margin:20px 0 0;font-size:17px;line-height:1.75;color:var(--text)}
.overview-text[hidden]{display:none}
.stagegfx .overview + .hero-actions{margin-top:34px}
@media(max-width:480px){.overview{margin-top:26px}.overview-pills .pill{height:28px;padding:0 12px;font-size:10px}.overview-text{font-size:16px;line-height:1.7;margin-top:16px}}

/* ---- What you get (Rob 2026-10-31 r2, /MARKET): ledger-backed benefit cards on the dark page, then the second
   marketplace sheet. Glass cards in the Signal grammar; the claim id rides on data-claim, never shown. ---- */
.benefits{padding:66px 0 24px}
.benefits .section-title{display:block;max-width:60ch;margin-bottom:34px}
.benefits .section-title h2{font-size:32px;margin-top:11px}
.benefits-intro{color:var(--muted);font-size:16px;line-height:1.7;margin-top:14px;max-width:58ch}
.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:46px}
/* Benefit cards sit on the live cloud with no dim, so they take the sheet plate (rgba(9,13,22,.82)) instead of glass; dots stay between cards, never through the copy. */
.benefit{background:rgba(9,13,22,.82);border:1px solid var(--t-border,rgba(157,192,240,.35));border-radius:var(--t-radius-card,16px);padding:22px 22px 24px;min-height:190px}
.benefit h3{font-size:19px;line-height:1.25;font-weight:500;color:var(--text);margin:0}
.benefit p{font-size:14px;line-height:1.65;color:var(--muted);margin-top:12px}
.benefit.amber{border-color:rgba(196,134,59,.45);background:rgba(196,134,59,.05)}
.benefit-status{display:inline-block;font-family:var(--mono,ui-monospace,monospace);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--amber);border:1px solid rgba(196,134,59,.45);border-radius:999px;padding:3px 10px;margin-bottom:12px}
@media(max-width:1100px){.benefit-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.benefits{padding:40px 0 10px}.benefits .section-title h2{font-size:28px}.benefit-grid{grid-template-columns:1fr;gap:12px;margin-bottom:30px}.benefit{min-height:0;padding:18px}.benefit h3{font-size:18px}.benefit p{font-size:15px}.stagegfx .hero-actions{margin-top:22px}.hero-lockup{padding-top:30px}}
@media(max-width:820px){
 .hero-lockup{padding-top:26px;padding-bottom:28px}
 .lockup-band{flex-direction:column;align-items:flex-start;gap:18px}
 .lockup-pills,.lockup-band.has-eb .lockup-pills{margin-top:0;justify-content:flex-start}
 .detail.hero .lockup-h1{line-height:1.04}
 .hero-lockup .lede{margin-top:24px}
}
@media(max-width:480px){
 .hero-lockup{padding-top:20px}
 .kicker{font-size:11px;margin-top:10px}
 .lockup-pills .pill{height:26px;padding:0 12px;font-size:10px}
}

/* ---- Hub articles (2026-10-31): the reading page article-<id>.html and the in-site article view (app.js showArticle
   renders the same <article> in the search-view area, full width, KEEP EXPLORING off). Dark page, measure 70ch, the two
   figures full column width, sources as small endnotes. Print: white paper, chrome hidden. ---- */
.article-wrap{padding-bottom:70px}
.read-link{margin:18px 0 0;font-size:14px}
.read-link a{color:var(--blue);border-bottom:1px solid var(--rule);padding-bottom:3px}
.read-link a:hover{border-color:var(--blue)}
.hub-article{max-width:980px;margin:36px 0 0}
.art-head{max-width:70ch}
.art-kicker{font:400 10px/1.6 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.art-title{font-size:clamp(30px,3.4vw,50px);line-height:1.08;margin:18px 0 0;max-width:24ch}
.art-sub{font-size:20px;line-height:1.55;font-weight:300;color:var(--text);margin:22px 0 0;max-width:62ch}
.art-meta{display:flex;flex-wrap:wrap;gap:0 22px;font:400 10px/1.8 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:22px 0 0;padding-bottom:26px;border-bottom:1px solid var(--rule)}
.art-meta .art-by{color:var(--text)}
.art-fig{margin:34px 0 0;border:1px solid var(--rule);background:rgba(16,21,28,.65)}
.art-fig img{width:100%;height:auto;display:block}
.art-fig figcaption{font:12px/1.7 var(--mono);letter-spacing:.04em;color:var(--muted);padding:12px 16px;border-top:1px solid var(--rule)}
.art-fig-open{color:var(--blue);white-space:nowrap;margin-left:8px}
@media print{.art-fig-open{display:none}}
.art-body{max-width:980px;margin-top:10px}
.art-body>p,.art-body>h2{max-width:70ch}
.art-body h2{font-size:24px;margin:44px 0 14px;padding-top:22px;border-top:1px solid var(--rule)}
.art-body p{font-size:17.5px;line-height:1.75;color:var(--muted);margin:0 0 18px}
.art-body p b{color:var(--text);font-weight:700}
.art-body .art-fig{margin:30px 0 32px;max-width:980px}
.art-body sup.fn{font-size:62%;line-height:0;vertical-align:super;margin-left:1px}
.art-body sup.fn a{color:var(--blue)}
.art-notes{max-width:70ch;margin-top:48px;padding-top:22px;border-top:1px solid var(--rule)}
.art-notes h2{font:400 10px/1.6 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin:0 0 14px}
.art-notes ol{margin:0;padding-left:22px;font-size:13.5px;line-height:1.65;color:var(--muted)}
.art-notes li{margin:0 0 8px}
.art-notes li::marker{color:var(--blue)}
.art-notes a{color:var(--blue);border-bottom:1px solid var(--rule)}
.art-proof{font:12px/1.7 var(--mono);letter-spacing:.02em;color:var(--muted);margin:18px 0 0}
.art-back{margin:40px 0 0;font-size:14px}
.art-back a{color:var(--blue);border-bottom:1px solid var(--rule);padding-bottom:3px}
.search-top-actions{display:flex;gap:22px;align-items:center}
.article-results{margin-top:0}
.article-view:focus{outline:0}
.article-view .hub-article{margin-top:10px}
@media(max-width:820px){
 .hub-article{margin-top:22px}
 .art-title{font-size:30px}
 .art-sub{font-size:17px}
 .art-body h2{font-size:21px;margin-top:34px}
 .art-body p{font-size:16px}
 .art-fig,.art-body .art-fig{margin:24px 0}
 .art-fig figcaption{padding:10px 12px;font-size:11px}
 .art-meta{gap:4px 16px}
}
@media print{
 #webgl,.header,.rail,.rail-dock,footer,.skip,#gfx-bank,dialog,.search-top,.art-back,.breadcrumb,.read-link{display:none!important}
 html,body{background:#fff!important;color:#000!important}
 main,.wrap,.search-view{padding:0!important;margin:0!important;max-width:none!important;min-height:0!important}
 .hub-article{max-width:none;margin:0}
 .art-title,.art-sub,.art-body p,.art-body p b,.art-body h2,.art-meta .art-by{color:#000!important}
 .art-kicker,.art-meta,.art-notes ol,.art-fig figcaption,.art-proof,.art-notes h2{color:#333!important}
 .art-fig{border:1px solid #999;background:none;break-inside:avoid;page-break-inside:avoid}
 .art-body h2{border-top-color:#999;break-after:avoid}
 .art-notes{border-top-color:#999}
 .art-notes a,.art-body sup.fn a,.slash{color:#000!important}
 .art-notes a::after{content:" " attr(href);font-size:11px;color:#333}
 a{text-decoration:none}
}
/* Transparent hero sheets (Rob 2026-10-31): the sheets sit on the dot cloud (no ground; plates and halos come from the generator).
   Phones: a sheet without a _mob sibling hides the squeezed drawing and offers the full-screen pinch-zoom lightbox. */
.sheet-open{display:none;margin:4px 0 0;font-size:13px}.sheet-open .text-link{color:var(--blue);padding:10px 0}.sheet-open-note{display:block;font:10px/1.7 var(--mono);letter-spacing:.06em;color:var(--muted)}
@media(max-width:820px){.sheet-panel.no-mob svg.g{display:none}.sheet-panel.no-mob .sheet-open{display:block}.result-gfx .g.mob{display:block;max-width:440px;margin-inline:auto}.result-gfx .g.dsk{display:none}}
dialog.sheet-lightbox{position:fixed;inset:0;margin:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;padding:0;border:0;background:var(--bg);overflow:hidden;display:none;flex-direction:column}dialog.sheet-lightbox[open]{display:flex}
.sheet-lightbox-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;border-bottom:1px solid var(--rule)}.sheet-lightbox-bar .eyebrow{margin:0}.sheet-lightbox .lightbox-close{position:static;width:40px;height:40px}
.sheet-zoom{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y pinch-zoom;padding:16px}.sheet-zoom svg.lightbox-sheet{display:block;height:auto;max-width:none}

/* ---- ONE product-mark style (Rob 2026-11-01: 'reuse that same treatment everywhere. we never change the style of our
   product logos unless it is buried in paragraph text'). build.py tx() wraps every mark outside body prose in .pm: the
   page-title style at the label's own size, Avenir Light 300 white, the slash Blue2 light, the TM 55% (40% at display
   sizes via .lockup-h1). The tracked small-caps eyebrow over a feature mark (.lockup-eb) is the one register that keeps
   its own weight and colour; brand-check.cjs exempts it. ---- */
.pm{font-family:var(--sans);font-weight:300;color:var(--text);letter-spacing:0;text-transform:none}
.pm .slash{font-weight:300;color:var(--blue)}
.pm sup.tm{font-weight:400;font-size:55%;color:inherit}
.lockup-eb .pm{font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit}
.reading-item h3 .pm,.benefit h3 .pm,.rail-title .pm,.path h3 .pm,.related a .pm,.browse-group a .pm,.answer-ground a .pm,.result-item h2 .pm,.search-view h1 .pm{font-weight:300}
/* ---- Browse menu (Rob 2026-11-01): the logo + Platform top link, the four products, the /ARQ section under the small mark,
   Reference, Company. Marks in the menu run in the mark style; the small notes stay mono. ---- */
.browse-top{margin-top:22px}
.browse-platform{align-items:center}
.browse-platform-mark{display:inline-flex;align-items:baseline;gap:10px}
.browse-platform-mark img{width:116px;height:19px;object-fit:contain;object-position:left;display:inline-block;transform:translateY(2px)}
.browse-platform-word{font-weight:300;font-size:19px;letter-spacing:.01em}
.browse-platform:hover .browse-platform-word{color:var(--blue)}
.browse-mark-head{font-size:15px;line-height:1.4;margin:0 0 6px;padding-bottom:4px}
.browse-mark-head .pm{font-size:15px}
.browse-group a .pm{font-size:18px}
@media(max-width:480px){.browse-platform-mark img{width:104px;height:17px}.browse-platform-word{font-size:17px}.browse-group a .pm{font-size:17px}}

/* ---- News (Rob 2026-11-01): a dated, reverse-chronological list from content/news.json; year groups, kind pills; each item is
   one link (external opens a new tab). Headlines are kept as published (data-verbatim / data-history). ---- */
.news{padding:10px 64px 70px}
.news-year{margin-top:34px}
.news-year-head{font:300 34px/1 var(--sans);color:var(--blue);letter-spacing:0;margin:0 0 10px;padding-bottom:12px;border-bottom:1px solid var(--rule)}
.news-list{list-style:none;margin:0;padding:0}
.news-item{border-bottom:1px solid var(--rule)}
.news-link{display:block;padding:20px 0 22px;max-width:86ch}
.news-link:hover .news-title{color:var(--blue)}
.news-meta{display:flex;align-items:center;gap:12px;font:400 10px/1.6 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.news-meta time{color:var(--blue)}
.news-kind{display:inline-flex;align-items:center;height:22px;padding:0 10px;border-radius:999px;border:1px solid rgba(115,155,207,.35);background:rgba(115,155,207,.08);font:500 9.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
.news-item[data-kind=update] .news-kind{border-color:rgba(157,192,240,.9);background:rgba(115,155,207,.22);color:#fff}
.news-src{font:10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.news-ext{color:var(--muted)}
.news-title{font-size:21px;line-height:1.3;font-weight:500;color:var(--text);margin:10px 0 0;transition:color .15s}
.news-sum{font-size:15px;line-height:1.65;color:var(--muted);margin:8px 0 0;max-width:70ch}
@media(max-width:1180px){.news{padding-left:34px;padding-right:34px}}
@media(max-width:480px){.news{padding:0 21px 44px}.news-year-head{font-size:28px}.news-title{font-size:18px}.news-link{padding:16px 0 18px}.news-meta{gap:8px;flex-wrap:wrap}}

/* The narrative section (Rob 2026-11-02, /TRUTH 'The meeting that died at 10:14'): the timeline sheet leads, then four short paragraphs per
   domain switched by the overview pill row, then the status line. Text sits on the live cloud, so the body takes the plate, not glass. */
.narrative{padding:54px 0 10px}
.narrative .section-title{display:block;max-width:62ch;margin-bottom:30px}
.narrative .section-title h2{font-size:32px;margin-top:11px}
.narrative-intro{color:var(--muted);font-size:16px;line-height:1.7;margin-top:14px;max-width:58ch}
.narrative .sheet-panel{margin:0 0 34px}
.narrative-body{max-width:72ch;background:rgba(9,13,22,.82);border:1px solid var(--rule);border-radius:16px;padding:30px 34px 26px}
.narrative-text p{font-size:17.5px;line-height:1.75;color:var(--text);margin:0 0 18px}
.narrative-text p:first-child::first-letter{color:var(--blue)}
.narrative-status{font:12px/1.7 var(--mono);letter-spacing:.04em;color:var(--muted);margin:8px 0 0;padding-top:18px;border-top:1px solid var(--rule)}
@media(max-width:820px){.narrative{padding:40px 0 4px}.narrative .section-title h2{font-size:26px}.narrative-body{padding:22px 20px 18px;border-radius:12px}.narrative-text p{font-size:16px}}
/* /TRUTH r2 (Rob 2026-11-03): the timeline leads. The sheet sits directly under the hero; the section title and the sector pill row
   share one band beneath it; the four beats sit in a four-column row keyed to the four panels of the sheet; the actions row closes.
   Then the one description on the reading band, six benefits, the architecture sheet with its caption. */
/* /TRUTH timeline block (Rob 2026-11-05): pills + sheet + beats read as ONE block with one left edge and no headline of its own.
   The slim sector row (label + five pills) sits directly above the sheet (within 16px of its top); the plated beats band sits
   directly under it (the beats' top edge within 24px of the sheet's bottom) and the four beats take the sheet's own four
   panel columns (canvas 1600: cards at 60/340, 420/370, 810/340, 1170/370; 20 between; beat text at the card's inner 24). */
.narrative-lead{padding:4px 0 10px}
.narrative-lead .sheet-panel{margin:0 0 8px}
.narrative-lead .overview{margin:0 0 12px;max-width:none;display:flex;align-items:center;flex-wrap:wrap;gap:10px 18px}
.narrative-lead .overview .eyebrow{margin:0;white-space:nowrap}
.narrative-lead .overview-pills{margin:0}
.narrative-lead .narrative-body{max-width:none;padding:14px 0 6px}
.narrative-lead .beats{grid-template-columns:340fr 370fr 340fr 370fr;column-gap:1.25%;row-gap:16px;padding:0 3.75%}
.narrative-lead .beat{padding-left:1.5%}
.narrative-lead .beat::before{left:1.5%}
.beats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.beat{position:relative;padding-top:14px;border-top:1px solid rgba(157,192,240,.3)}
.beat::before{content:"";position:absolute;left:0;top:-1px;width:38px;height:1px;background:var(--blue)}
.beat-time{display:inline-block;font:12px/1.4 var(--mono);letter-spacing:.08em;color:var(--blue)}
.beat-label{display:inline-block;margin-left:10px;font:500 10.5px/1.4 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.beat-label .pm{font-size:11px;letter-spacing:0;text-transform:none}
.beat p{font-size:16px;line-height:1.7;color:var(--text);margin:12px 0 16px}
.narrative-lead .hero-actions{margin-top:30px}
.describe{background:rgba(14,27,54,.82);border-top:1px solid #2B3F6A;border-bottom:1px solid #2B3F6A;backdrop-filter:blur(4px);padding:62px 0;margin-top:46px}
.describe-grid{display:grid;grid-template-columns:1fr 2fr;gap:80px}
.describe .eyebrow{color:var(--blue)}
.describe-title h2{font-size:31px;margin-top:16px;max-width:18ch}
.describe-text{max-width:70ch}.describe-text p{font-size:17.5px;line-height:1.8;color:var(--text);margin:0 0 18px}
.describe-text p:first-child::first-letter{color:var(--blue)}
.describe-text p.describe-status{margin:6px 0 0;padding-top:18px;border-top:1px solid #2B3F6A;color:var(--muted);font-size:16px}
.describe-status strong{font-weight:500;color:var(--text)}
.describe-status strong.amber{color:var(--amber)}
.architecture{padding:10px 0 30px}
.architecture .section-title{display:block;max-width:60ch;margin-bottom:26px}
.architecture .section-title h2{font-size:30px;margin-top:9px}
.architecture .caption{margin-top:18px}
.benefit-grid.cols-3{grid-template-columns:repeat(3,1fr)}
@media(max-width:1100px){.benefit-grid.cols-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.benefit-grid.cols-3{grid-template-columns:1fr}}
@media(max-width:1180px){.describe-grid{gap:45px}.beats{gap:20px}}
@media(max-width:900px){.beats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.narrative-lead .beats{grid-template-columns:repeat(2,1fr);column-gap:20px;padding:0 20px}.narrative-lead .beat{padding-left:0}.narrative-lead .beat::before{left:0}}
@media(max-width:820px){.narrative-lead{padding:0 0 4px}.narrative-lead .narrative-body{padding:14px 0 4px}.narrative-lead .overview{gap:8px 14px}.describe{padding:40px 0;margin-top:34px}.describe-grid{grid-template-columns:1fr;gap:26px}.describe-title h2{font-size:27px}.describe-text p{font-size:16px}.architecture .section-title h2{font-size:26px}}
@media(max-width:560px){.beats{grid-template-columns:1fr;gap:16px}.narrative-lead .beats{grid-template-columns:1fr;row-gap:16px;padding:0 18px}.beat p{font-size:16px;margin:10px 0 12px}}
/* White papers in the article view (Rob 2026-11-02): who-this-is-for, the TODAY box and the amber DIRECTION box, the PDF links in the head. */
.art-who{border-left:2px solid var(--blue);padding-left:18px;color:var(--muted)}
.art-pdf{color:var(--blue);border-bottom:1px solid var(--rule);text-transform:none;letter-spacing:.04em;font-size:11px}
.art-box{max-width:70ch;margin:30px 0 0;border:1px solid var(--rule);border-radius:12px;padding:20px 24px 8px;background:rgba(9,13,22,.82)}
.art-box-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;font:500 15px/1.4 var(--sans,inherit);color:var(--text);margin:0 0 12px!important}
.art-box-stamp{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);border:1px solid rgba(115,155,207,.45);border-radius:999px;padding:3px 10px}
.art-box ul{margin:0;padding-left:20px}
.art-box li{font-size:15.5px;line-height:1.65;color:var(--muted);margin:0 0 10px}
.art-box li::marker{color:var(--blue)}
.art-box p{font-size:15.5px;line-height:1.65}
.art-box-direction{border-color:rgba(196,134,59,.5);background:rgba(196,134,59,.06)}
.art-box-direction .art-box-stamp{color:var(--amber);border-color:rgba(196,134,59,.5)}
.art-fig picture{display:block}
@media(max-width:820px){.art-box{padding:16px 16px 4px}.art-box li,.art-box p{font-size:14.5px}}
@media print{.art-pdf{display:none}.art-box{background:none;border-color:#999}.art-box li,.art-box p,.art-box-head,.art-who{color:#000!important}.art-box-stamp{color:#333;border-color:#999}.art-box-direction .art-box-stamp{color:#7a4f14;border-color:#7a4f14}.narrative-body{background:none}}
/* ---- Country parity 2026-11-05: the content-driven country blocks (build.py blocks()): what-we-do, careers, policies, the
   per-country company blocks, the contact cards, the jobs list, the verbatim legal notice and the footer's legal links. Plated
   cards on the live cloud (the .benefit plate), the site's own eyebrow / h2 registers, nothing new in colour. ---- */
.blk{padding:34px 0 10px}.blk-title{display:block;max-width:62ch;margin-bottom:26px}.blk-title h2{font-size:32px;margin-top:11px}.blk-intro{font-size:17px;line-height:1.7;color:var(--muted);margin-top:14px;max-width:70ch}
.blk-grid{display:grid;grid-template-columns:1fr 2fr;gap:60px;align-items:start}.blk-grid .blk-title{margin-bottom:0}.blk-body p{font-size:17px;line-height:1.8;color:var(--muted)}.blk-body p+p{margin-top:16px}
.blk-after{font-size:14px;line-height:1.7;color:var(--muted);margin-top:22px;max-width:90ch}.blk-actions{margin-top:0;padding-bottom:10px}
.blk-cards{display:grid;gap:16px}.blk-cards.cols-2{grid-template-columns:repeat(2,1fr)}.blk-cards.cols-3{grid-template-columns:repeat(3,1fr)}.blk-cards.cols-4{grid-template-columns:repeat(4,1fr)}
.blk-card{display:block;background:rgba(9,13,22,.82);border:1px solid var(--t-border,rgba(157,192,240,.35));border-radius:var(--t-radius-card,16px);padding:22px 22px 24px;min-height:150px}.blk-card .eyebrow{margin-bottom:10px}.blk-card h3{font-size:19px;line-height:1.25;font-weight:500;color:var(--text);margin:0}.blk-card p{font-size:14px;line-height:1.65;color:var(--muted);margin-top:12px}.blk-card .form-head{color:var(--text);font-size:15px;margin-top:8px}.blk-card .path-go{display:block;margin-top:16px;font-size:13px;color:var(--blue)}a.blk-card:hover h3{color:var(--blue)}
.blk-list{list-style:none;margin:0;padding:0;max-width:80ch}.blk-list li{position:relative;padding:10px 0 10px 22px;border-top:1px solid var(--rule);font-size:16px;line-height:1.65;color:var(--muted)}.blk-list li:before{content:'/';position:absolute;left:0;color:var(--blue);font-weight:300}
.facts{display:grid;gap:16px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:24px 0}.facts.cols-2{grid-template-columns:repeat(2,1fr)}.facts.cols-3{grid-template-columns:repeat(3,1fr)}.facts.cols-4{grid-template-columns:repeat(4,1fr)}.fact{padding:0 24px 0 0;border-right:1px solid var(--rule)}.fact:last-child{border-right:0}.fact-label{display:block;font:10px/1.8 var(--mono);letter-spacing:.14em;color:var(--blue)}.fact strong{display:block;font-size:26px;line-height:1.15;font-weight:300;color:var(--text);margin-top:6px}.fact p{font-size:13px;line-height:1.6;color:var(--muted);margin-top:8px}
.ethos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.ethos-item{border-top:1px solid var(--rule);padding-top:20px}.ethos-item .number{font:10px/1.7 var(--mono);color:var(--blue)}.ethos-item h3{font-size:24px;margin-top:12px}.ethos-item p{font-size:15px;line-height:1.7;color:var(--muted);margin-top:10px}
.people{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.person{display:grid;grid-template-columns:52px 1fr;gap:16px;background:rgba(9,13,22,.82);border:1px solid rgba(157,192,240,.35);border-radius:var(--t-radius-card,16px);padding:20px}.person .initials{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;border:1px solid var(--blue);color:var(--blue);font:300 17px/1 var(--sans);letter-spacing:.04em}.person h3{font-size:18px;font-weight:500}.person-title{font:10px/1.7 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin-top:6px}.person p:not(.person-title){font-size:14px;line-height:1.65;color:var(--muted);margin-top:10px}
.badges{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.badge{display:grid;grid-template-columns:96px 1fr;gap:18px;align-items:start;background:rgba(9,13,22,.82);border:1px solid rgba(157,192,240,.35);border-radius:var(--t-radius-card,16px);padding:20px}.badge img{width:96px;height:96px;object-fit:contain;background:#fff;border-radius:10px;padding:8px}.badge h3{font-size:18px;font-weight:500}.badge-line{font:10px/1.7 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin-top:6px}.badge p:not(.badge-line){font-size:14px;line-height:1.65;color:var(--muted);margin-top:10px}
.awards{list-style:none;margin:0;padding:0;columns:2;column-gap:40px}.awards li{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--rule);padding:10px 0;font-size:15px;break-inside:avoid}.awards time{font:11px/1.8 var(--mono);color:var(--blue)}
.caps{display:grid;gap:28px}.cap{display:grid;grid-template-columns:28px 1fr;gap:18px;border-top:1px solid var(--rule);padding-top:22px}.cap .number{font:10px/1.7 var(--mono);color:var(--blue)}.cap h3{font-size:24px}.cap>div>p{font-size:17px;line-height:1.75;color:var(--muted);margin-top:12px;max-width:80ch}.cap ul{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:8px 28px}.cap li{position:relative;padding-left:18px;font-size:15px;line-height:1.6;color:var(--muted)}.cap li:before{content:'/';position:absolute;left:0;color:var(--blue);font-weight:300}
.cta-row{display:flex;align-items:center;justify-content:space-between;gap:30px;border:1px solid var(--rule);background:rgba(9,13,22,.82);border-radius:var(--t-radius-card,16px);padding:28px 32px;margin:12px 0 30px}.cta-row h2{font-size:28px;margin-top:10px}.cta-row p:not(.eyebrow){font-size:15px;line-height:1.7;color:var(--muted);margin-top:10px;max-width:70ch}.cta-row .primary{flex-shrink:0}
.jobs{display:grid;gap:10px;margin-top:20px;max-width:900px}.job{display:flex;justify-content:space-between;align-items:center;gap:20px;background:rgba(9,13,22,.82);border:1px solid rgba(157,192,240,.35);border-radius:12px;padding:16px 20px}.job b{font-weight:500;font-size:17px}.job span{font:11px/1.6 var(--mono);color:var(--blue);text-align:right;flex-shrink:0}.job:hover{border-color:rgba(157,192,240,.9)}.job-board{border-style:dashed}
.blk-privacy .blk-cta{margin-top:20px}.blk-rows{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}.blk-rows p{font-size:16px}.blk-rows a{border-bottom:1px solid var(--rule)}.blk-rows a:hover{color:var(--blue)}
.stmt-body .facts{margin:22px 0}.stmt-rows{margin:20px 0 0;display:grid;gap:0}.stmt-rows div{display:grid;grid-template-columns:220px 1fr;gap:20px;border-top:1px solid var(--rule);padding:12px 0}.stmt-rows dt{font:10px/1.8 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}.stmt-rows dd{margin:0;font-size:16px;line-height:1.7;color:var(--muted)}.stmt-head{font-size:20px;font-weight:500;margin:28px 0 10px;color:var(--text)}
.stmt-table{width:100%;border-collapse:collapse;margin:8px 0 14px;font-size:15px}.stmt-table th{text-align:left;font:10px/1.8 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--blue);border-bottom:1px solid var(--rule);padding:8px 0}.stmt-table td{border-bottom:1px solid var(--rule);padding:9px 0;color:var(--muted)}.stmt-table td:last-child,.stmt-table th:last-child{text-align:right}
.blk-legal{padding-bottom:40px}.legaldoc{background:var(--paper);color:var(--ink);border:1px solid var(--paper-rule);padding:clamp(24px,3.5vw,56px);max-width:1000px;font-size:16px;line-height:1.75}.legaldoc h2{font-size:24px;margin:30px 0 12px}.legaldoc h2:first-child{margin-top:0}.legaldoc h3{font-size:19px;margin:24px 0 8px}.legaldoc p{margin:10px 0;color:#2e4360}.legaldoc ul,.legaldoc ol{padding-left:22px;color:#2e4360}.legaldoc li{margin:6px 0}.legaldoc a{color:var(--blue1);text-decoration:underline}.legaldoc table{border-collapse:collapse;width:100%;margin:12px 0;font-size:14px}.legaldoc td,.legaldoc th{border:1px solid var(--paper-rule);padding:8px;vertical-align:top;text-align:left}
.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:30px 0 8px}.cc-card{background:rgba(9,13,22,.82);border:1px solid rgba(157,192,240,.35);border-radius:var(--t-radius-card,16px);padding:20px 22px 22px}.cc-card .eyebrow{margin-bottom:10px}.cc-card h3{font-size:19px;font-weight:500;line-height:1.3}.cc-card h3 a:hover{color:var(--blue)}.cc-card p{font-size:14px;line-height:1.65;color:var(--muted);margin-top:8px}.cc-card .cc-more a{color:var(--blue);font-size:13px}
.footer-legal{display:flex;flex-wrap:wrap;gap:6px 18px;flex-basis:100%}.footer-copy{flex-basis:100%;margin:0;font:9px/1.8 var(--mono);color:var(--muted);letter-spacing:.04em;opacity:.8}
.news-media .news-sum{margin:6px 0 10px;color:var(--muted);font-size:15px}.media-item{padding:12px 0}.media-item .news-meta{display:flex;gap:12px;align-items:center;font:11px/1.6 var(--mono);color:var(--blue)}.media-list{list-style:none;margin:0;padding:0}.media-item{padding:12px 0;border-bottom:1px solid var(--rule)}.media-title{font-size:17px;font-weight:500;margin-top:6px}
@media(max-width:1100px){.blk-cards.cols-4{grid-template-columns:repeat(2,1fr)}.blk-cards.cols-3{grid-template-columns:repeat(2,1fr)}.people{grid-template-columns:repeat(2,1fr)}.facts.cols-4{grid-template-columns:repeat(2,1fr)}.fact:nth-child(2){border-right:0}.blk-grid{grid-template-columns:1fr;gap:26px}.contact-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.blk-cards.cols-2,.blk-cards.cols-3,.blk-cards.cols-4,.people,.badges,.contact-cards,.blk-rows{grid-template-columns:1fr}.facts.cols-2,.facts.cols-3,.facts.cols-4{grid-template-columns:1fr}.fact{border-right:0;border-top:1px solid var(--rule);padding:14px 0 0}.fact:first-child{border-top:0;padding-top:0}.ethos-grid{grid-template-columns:1fr}.awards{columns:1}.cap ul{grid-template-columns:1fr}.cta-row{flex-direction:column;align-items:start;padding:22px}.stmt-rows div{grid-template-columns:1fr;gap:4px}.job{flex-direction:column;align-items:start;gap:6px}.job span{text-align:left}.blk-title h2{font-size:27px}.blk{padding:28px 0 6px}.stmt-table thead{display:none}.stmt-table td{display:block;text-align:left!important;border-bottom:0;padding:4px 0}.stmt-table td:before{content:attr(data-label) ': ';font:10px/1.7 var(--mono);color:var(--blue)}.stmt-table tr{display:block;border-bottom:1px solid var(--rule);padding:8px 0}}

/* B12 partner link row under community cards; AF28 named certifications under the UK badges (2026-11-05) */
.blk-links{margin:18px 0 0;display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center;font-size:14px}.blk-links .eyebrow{margin:0}.blk-links a{color:var(--text);text-decoration:none;border-bottom:1px solid var(--rule)}.blk-links a:hover{border-bottom-color:var(--blue)}
.badges-named{margin-top:22px}.badges-named .blk-list{margin-top:8px}
