:root{--sheet: #e9eef4;--sheet-2: #dbe3ec;--card: #f5f8fc;--ink: #1b2430;--ink-soft: #38465a;--muted: #52606d;--line: #bfccdb;--line-soft: #d4dde8;--graphite: #2c3a49;--graphite-2: #18232f;--repere: #cf332a;--repere-deep: #a3211b;--steel: #3f6fa6;--steel-hi: #a9c4e0;--paper-hi: #f2f6fb;--serif: "Spectral", Georgia, "Iowan Old Style", "Palatino Linotype", serif;--display: "Zilla Slab", "Rockwell", Georgia, serif;--mono: "IBM Plex Mono", ui-monospace, "SF Mono", "Roboto Mono", monospace;--board: 76rem;--measure: 40rem;--radius: 2px}*{box-sizing:border-box}html{background:var(--sheet);color:var(--ink);font-family:var(--serif);font-size:18px;line-height:1.68;-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;scroll-behavior:smooth}body{margin:0;min-width:320px;background-image:linear-gradient(rgba(63,111,166,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(63,111,166,.05) 1px,transparent 1px);background-size:26px 26px,26px 26px}img,svg{display:block;max-width:100%}svg{height:auto}a{color:var(--repere-deep);text-decoration-thickness:.06em;text-underline-offset:.18em;text-decoration-color:#a3211b66;transition:color .16s ease,text-decoration-color .16s ease}a:hover{color:var(--repere);text-decoration-color:var(--repere)}h1,h2,h3,h4{font-family:var(--display);font-weight:600;color:var(--graphite-2);line-height:1.08;letter-spacing:-.005em;margin:0 0 .5em}p{margin:0 0 1.1em}strong{font-weight:600;color:var(--ink)}.board{width:min(var(--board),calc(100% - 2.6rem));margin-inline:auto}.prose{width:min(var(--measure),100%)}.center{margin-inline:auto}.skip-link{position:absolute;left:-999px;top:0;background:var(--graphite);color:var(--paper-hi);padding:.6rem 1rem;z-index:100;border-radius:0 0 var(--radius) 0}.skip-link:focus{left:0}.refmark{font-family:var(--mono);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--repere-deep);font-weight:500;display:inline-flex;align-items:center;gap:.6rem;margin:0 0 1rem}.refmark:before{content:"";width:1.6rem;height:2px;background:var(--repere);display:inline-block}.refmark--bare:before{display:none}.dockbar{border-bottom:2px solid var(--graphite);box-shadow:0 2px 0 var(--repere);background:#e9eef4e6;backdrop-filter:blur(10px);position:sticky;top:0;z-index:40}.dockbar-row{width:min(var(--board),calc(100% - 2.6rem));margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:74px}.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--graphite-2)}.brand:hover{color:var(--graphite-2)}.brand-mark{width:34px;height:34px;flex:none;color:var(--repere)}.brand-text{display:flex;flex-direction:column;line-height:1}.brand-name{font-family:var(--display);font-weight:700;font-size:1.24rem;letter-spacing:.005em}.brand-sub{font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:.28rem}.dock-nav{display:flex;gap:1.35rem;flex-wrap:wrap;justify-content:flex-end}.dock-nav a{font-family:var(--mono);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);text-decoration:none;padding-bottom:2px;border-bottom:1.5px solid transparent}.dock-nav a:hover,.dock-nav a[aria-current=page]{color:var(--graphite-2);border-color:var(--repere)}.breadcrumb{font-family:var(--mono);font-size:.72rem;letter-spacing:.04em;color:var(--muted);margin-bottom:1.6rem}.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0}.breadcrumb li:after{content:"/";margin-left:.4rem;color:var(--line)}.breadcrumb li:last-child:after{content:""}.breadcrumb a{color:var(--muted);text-decoration:none}.breadcrumb a:hover{color:var(--repere)}.breadcrumb [aria-current]{color:var(--ink-soft)}.section{padding-block:clamp(3rem,7vw,5.5rem)}.section--tight{padding-block:clamp(2rem,4vw,3rem)}.section--sheet2{background:var(--sheet-2)}.section--slate{background:var(--graphite);color:#dce4ee}.section--slate h2,.section--slate h3{color:var(--paper-hi)}.section--slate .refmark{color:var(--steel-hi)}.section--slate .refmark:before{background:var(--steel-hi)}.section--slate a{color:var(--steel-hi);text-decoration-color:#a9c4e080}.section--slate a:hover{color:#fff}.section-head{max-width:46rem;margin-bottom:2.4rem}.section-head.center{margin-inline:auto;text-align:center}.section-title{font-size:clamp(1.7rem,3.6vw,2.4rem)}.section-lead{font-size:1.12rem;color:var(--ink-soft);margin-bottom:0}.section--slate .section-lead{color:#cfd8e2}.plate{padding-block:clamp(2.4rem,5vw,4rem);position:relative}.plate-sheet{position:relative;background:var(--card);border:1.5px solid var(--graphite);border-radius:var(--radius);box-shadow:0 30px 60px -44px #18232f99}.plate-sheet:before,.plate-sheet:after{content:"";position:absolute;width:14px;height:14px;border:2px solid var(--repere);pointer-events:none}.plate-sheet:before{top:-1px;left:-1px;border-right:0;border-bottom:0}.plate-sheet:after{bottom:-1px;right:-1px;border-left:0;border-top:0}.plate-strip{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1.3rem;border-bottom:1px solid var(--line);background:var(--sheet);font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.plate-strip b{color:var(--repere-deep);font-weight:600}.plate-cols{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(1.6rem,4vw,3rem);align-items:center;padding:clamp(1.6rem,4vw,3rem)}.plate-ref{font-family:var(--mono);font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--repere-deep);margin-bottom:1.2rem}.plate h1{font-size:clamp(2.2rem,5.4vw,3.7rem);line-height:1.02;letter-spacing:-.01em;margin-bottom:1.1rem}.plate h1 em{font-style:normal;color:var(--repere);box-shadow:inset 0 -.28em #cf332a29}.plate-lead{font-size:clamp(1.06rem,2.2vw,1.24rem);color:var(--ink-soft);max-width:34rem;margin-bottom:1.8rem}.plate-panel{background:var(--sheet);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.1rem,3vw,1.7rem)}.plate-panel figcaption{font-family:var(--mono);font-size:.68rem;letter-spacing:.05em;color:var(--muted);margin-top:1rem;text-align:center}.btn-row{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--mono);font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;padding:.75rem 1.35rem;border-radius:var(--radius);border:1.5px solid transparent;transition:transform .14s ease,background .16s ease,color .16s ease}.btn-primary{background:var(--repere);color:#fff}.btn-primary:hover{background:var(--repere-deep);color:#fff;transform:translateY(-1px)}.btn-ghost{border-color:var(--graphite);color:var(--graphite)}.btn-ghost:hover{border-color:var(--repere);color:var(--repere-deep);transform:translateY(-1px)}.measure-card{border:1px solid var(--line);border-left:4px solid var(--repere);background:var(--card);border-radius:var(--radius);padding:1.4rem 1.6rem;display:grid;gap:.3rem;margin:2rem 0}.measure-card .label{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.measure-card .value{font-family:var(--mono);font-size:clamp(1.6rem,4vw,2.1rem);font-weight:500;color:var(--graphite-2);letter-spacing:-.01em}.measure-card .value b{color:var(--repere);font-weight:600}.measure-card .note{color:var(--ink-soft);font-size:.96rem;margin:0}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin:2rem 0}.stat-cell{background:var(--card);padding:1.3rem 1.2rem}.stat-cell .n{font-family:var(--mono);font-size:clamp(1.5rem,4vw,2rem);color:var(--repere-deep);line-height:1;margin-bottom:.4rem}.stat-cell .k{font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15.5rem,1fr));gap:1.2rem}.gcard{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem 1.5rem 1.6rem;text-decoration:none;color:inherit;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.gcard:hover{transform:translateY(-3px);border-color:var(--repere);box-shadow:0 22px 40px -30px #18232f80;color:inherit}.gcard .idx{font-family:var(--mono);font-size:.72rem;color:var(--repere-deep);letter-spacing:.1em;margin-bottom:.9rem}.gcard h3{font-size:1.28rem;margin-bottom:.5rem}.gcard p{font-size:.96rem;color:var(--ink-soft);margin-bottom:1rem}.gcard .more{margin-top:auto;font-family:var(--mono);font-size:.74rem;letter-spacing:.05em;text-transform:uppercase;color:var(--repere-deep)}.article-header{border-bottom:1px solid var(--line);padding-bottom:2rem;margin-bottom:2.4rem}.article-header h1{font-size:clamp(2rem,5vw,3rem);line-height:1.04;margin-bottom:.7rem}.article-header .standfirst{font-size:1.2rem;color:var(--ink-soft);max-width:42rem;margin-bottom:1.2rem}.article-meta{font-family:var(--mono);font-size:.72rem;letter-spacing:.05em;color:var(--muted);display:flex;flex-wrap:wrap;gap:1rem}.prose h2{font-size:clamp(1.5rem,3.4vw,2rem);margin-top:2.8rem;padding-top:.4rem}.prose h2 .sec{font-family:var(--mono);font-size:.9rem;color:var(--repere);margin-right:.6rem;font-weight:400}.prose h3{font-size:1.28rem;margin-top:2rem;color:var(--graphite)}.prose p,.prose li{font-size:1.06rem}.prose ul,.prose ol{padding-left:1.3rem;margin:0 0 1.3rem}.prose li{margin-bottom:.55rem}.prose ul li::marker{color:var(--repere)}.prose>p:first-of-type:first-letter,.prose .lead:first-letter{font-family:var(--display);font-weight:700;font-size:3.4em;line-height:.72;float:left;margin:.06em .12em 0 0;color:var(--repere)}blockquote{margin:2rem 0;padding:.4rem 0 .4rem 1.5rem;border-left:3px solid var(--steel);font-family:var(--display);font-weight:500;font-size:1.26rem;color:var(--graphite);line-height:1.4}.note-inline{background:var(--sheet-2);border-radius:var(--radius);padding:1.2rem 1.4rem;margin:1.8rem 0;font-size:.98rem}.note-inline .tag{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--repere-deep);display:block;margin-bottom:.4rem}.table-wrap{overflow-x:auto;margin:2rem 0;border:1px solid var(--line);border-radius:var(--radius)}table.data{width:100%;border-collapse:collapse;min-width:34rem;background:var(--card)}table.data th,table.data td{padding:.85rem 1rem;text-align:left;border-bottom:1px solid var(--line-soft)}table.data thead th{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--sheet-2)}table.data td .mono,table.data th .mono{font-family:var(--mono)}table.data tbody tr:last-child td{border-bottom:none}table.data td strong{color:var(--graphite-2)}table.data .hl{color:var(--repere-deep);font-family:var(--mono);font-weight:500}.checklist{list-style:none;padding:0;margin:1.5rem 0;display:grid;gap:.9rem}.checklist li{position:relative;padding:.9rem 1rem .9rem 2.8rem;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);font-size:1rem}.checklist li:before{content:"✓";position:absolute;left:1rem;top:.85rem;color:var(--steel);font-weight:700}.checklist.flags li:before{content:"✕";color:var(--repere)}.faq{display:grid;gap:0;margin:1.5rem 0;border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;list-style:none;padding:1.15rem 2.4rem 1.15rem 0;font-family:var(--display);font-weight:600;font-size:1.12rem;color:var(--graphite-2);position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";position:absolute;right:.3rem;top:1rem;font-family:var(--mono);font-size:1.4rem;color:var(--repere);transition:transform .2s ease}.faq details[open] summary:after{transform:rotate(45deg)}.faq details p{padding:0 0 1.3rem;margin:0;color:var(--ink-soft)}.readnext{margin-top:3.5rem;padding-top:2rem;border-top:2px solid var(--graphite)}.readnext .refmark{margin-bottom:1.4rem}.readnext-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem}.readnext-item{display:block;text-decoration:none;color:inherit;padding:1.1rem 1.2rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);transition:border-color .16s ease,transform .16s ease}.readnext-item:hover{border-color:var(--repere);transform:translateY(-2px);color:inherit}.readnext-item strong{display:block;font-family:var(--display);font-size:1.06rem;color:var(--graphite-2);margin-bottom:.35rem;font-weight:600}.readnext-item span{font-size:.9rem;color:var(--muted)}.diagram{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.2rem,3vw,2rem);margin:2.2rem 0}.diagram figcaption{font-family:var(--mono);font-size:.7rem;letter-spacing:.04em;color:var(--muted);margin-top:1rem;text-align:center}.footer{background:var(--graphite-2);color:#c4ccd6;margin-top:4rem}.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem;padding-block:3rem 2.4rem}.footer-brand .brand-name{color:var(--paper-hi);font-family:var(--display);font-size:1.3rem;font-weight:700}.footer-brand p{font-size:.92rem;color:#a7afba;margin-top:.8rem;max-width:24rem}.footer h4{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--steel-hi);margin-bottom:1rem}.footer nav{display:grid;gap:.55rem}.footer nav a{color:#c4ccd6;text-decoration:none;font-size:.94rem}.footer nav a:hover{color:var(--paper-hi)}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-block:1.4rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem;font-family:var(--mono);font-size:.7rem;letter-spacing:.04em;color:#86909c}@media(max-width:860px){.plate-cols{grid-template-columns:1fr;padding-block:clamp(1.4rem,5vw,2.2rem)}.plate-panel{margin-top:.4rem}.footer-top{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1 / -1}}@media(max-width:640px){html{font-size:17px}.dockbar-row{min-height:62px;flex-wrap:wrap;gap:.6rem 1rem}.brand-sub{display:none}.dock-nav{gap:.75rem 1rem}.dock-nav a{font-size:.68rem}.plate-strip{flex-wrap:wrap;gap:.3rem .8rem;font-size:.62rem}.stat-row{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr;gap:1.6rem}.prose>p:first-of-type:first-letter,.prose .lead:first-letter{font-size:3em}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
