/* OD-LAYOUT-PRIMITIVES v1 — structure only: display, flex/grid, overflow, wrapping, ratio, geometry.
   Put this @layer first; product CSS outside the layer wins ordinary layout rules.
   Native hidden and closed-dialog states take precedence over component display rules. */
@layer od-layout {
  [hidden]:not([hidden="until-found" i]) { display: none !important; }
  dialog:not([open]) { display: none !important; }

  :where(.od-stack,.od-row,.od-row-top,.od-cluster,.od-grid,.od-field,.od-stat,.od-cell,.od-tile) > :where(*) { min-width: 0; }

  /* containers */
  .od-stack   { display: flex; flex-direction: column; gap: var(--od-gap, 8px); }
  .od-row     { display: flex; align-items: center; gap: var(--od-gap, 8px); }
  .od-row-top { display: flex; align-items: flex-start; gap: var(--od-gap, 8px); }
  .od-cluster { display: flex; flex-wrap: wrap; align-items: center; gap: var(--od-gap, 8px); }
  .od-fill    { flex: 1 1 0; min-width: 0; }
  .od-fixed   { flex: none; }
  .od-grid    { display: grid; gap: var(--od-gap, 12px); grid-template-columns: repeat(var(--od-cols, 3), minmax(0, 1fr)); }

  /* stacked information: each piece is its own line — never sibling inline spans */
  .od-stat, .od-field, .od-cell { display: grid; gap: var(--od-gap, 2px); }
  :where(.od-stat,.od-field,.od-cell) > :where(*) { display: block; }
  .od-tile { display: grid; grid-template-rows: auto 1fr; }
  :where(.od-tile) > :where(*) { display: block; }

  /* media keeps its intrinsic ratio by default; never a distorted or cropped
     cover by accident. height:auto lets the ratio win over an <img height="…">
     attribute. Cropping to a uniform box is an explicit opt-in: set --od-ratio
     AND add .od-media-cover together (per the core rule, only where a crop is
     deliberate — tile thumbs, decorative fills — never on full-frame content). */
  .od-media { display: block; width: 100%; height: auto; aspect-ratio: var(--od-ratio, auto); }
  .od-media-cover { object-fit: cover; }

  /* functional inline SVG icons opt into bounded geometry; content SVGs keep their own */
  .od-icon { display: inline-block; inline-size: var(--od-icon-size, 1em); block-size: var(--od-icon-size, 1em); flex: none; }

  /* data text only — authored copy is rewritten to its budget instead */
  .od-truncate { display: block; max-width: 100%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
  .od-clamp-2, .od-clamp-3 { display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
  .od-clamp-2 { -webkit-line-clamp: 2; }
  .od-clamp-3 { -webkit-line-clamp: 3; }
  .od-lines-2 { min-height: calc(2 * 1.4em); }   /* block-level reservation for a shared baseline */
  .od-nowrap  { white-space: nowrap; }           /* Keep technical values together. */
  .od-keep    { word-break: keep-all; overflow-wrap: anywhere; } /* CJK labels break at spaces / <wbr> first */

  /* screen skeleton (optional): bars take their own space, the middle scrolls — no padding guessed for chrome */
  .od-screen { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; height: 100%; }
  .od-scroll { overflow-y: auto; overscroll-behavior: contain; min-height: 0; }

  /* horizontal rail: the next item peeks at the edge; trailing room survives overflow */
  .od-rail { display: flex; gap: var(--od-gap, 8px); overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none;
             padding-inline: var(--od-rail-pad, 16px); scroll-padding-inline: var(--od-rail-pad, 16px); }
  .od-rail::-webkit-scrollbar { display: none; }
  :where(.od-rail) > :where(*) { flex: none; scroll-snap-align: start; }
  :where(.od-rail) > :where(:last-child) { margin-inline-end: var(--od-rail-pad, 16px); }

  .od-spacer { flex: none; visibility: hidden; pointer-events: none; }
  .od-touch  { min-width: 44px; min-height: 44px; }
}
:root [hidden]:where(:not([hidden="until-found" i])) { display: none; }
/* /OD-LAYOUT-PRIMITIVES v1 */


@font-face{font-family:Plex;src:url('./assets/fonts/plex-sans-400.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Plex;src:url('./assets/fonts/plex-sans-500.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Plex;src:url('./assets/fonts/plex-sans-600.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:PlexMono;src:url('./assets/fonts/plex-mono-400.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:PlexMono;src:url('./assets/fonts/plex-mono-500.ttf') format('truetype');font-style:normal;font-weight:500;font-display:swap}
:root{
 --paper:#f7f6f2;--surface:#efece6;--ink:#16181a;--muted:#525860;--rule:#d6d2c9;
 --signal:#c84b31;--signal-ink:#b33d27;--signal-hover:#aa3c27;--match:#1f6e5a;--wild:#e5ddd0;
 --dark:#1b2224;--dark-deep:#141a1c;--dark-rule:#495356;--dark-muted:#b9c2bf;--dark-match:#a9ddbd;
 --font:Plex,sans-serif;--mono:PlexMono,monospace;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;
 --body:16px;--small:14px;--label:12px;--h1:clamp(44px,5.65vw,80px);--h2:clamp(32px,3.4vw,48px);--h3:24px;
 --page-max:1280px;--gutter:48px;--header-height:88px;--duration:180ms;--radius:2px;
 color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + var(--s-5))}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:var(--body);line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:500;letter-spacing:-.04em;line-height:1.12;text-wrap:balance}
p{max-width:68ch}
a{color:inherit;text-underline-offset:5px}
button,input,textarea,select{font:inherit}
button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}
button,a,summary{touch-action:manipulation}
button,summary{cursor:pointer}
button{color:inherit}
button:disabled{cursor:default}
input,textarea,select{max-width:100%;min-width:0}
button{border-radius:var(--radius)}
button,a,summary,input,select,textarea{transition:background-color var(--duration),color var(--duration),border-color var(--duration)}
:focus-visible{outline:3px solid var(--signal);outline-offset:5px}
::selection{background:var(--wild);color:var(--ink)}
[hidden]:not([hidden=until-found]){display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.container{width:min(var(--page-max),calc(100% - var(--gutter)*2));margin-inline:auto;min-width:0}
.mono,bdi[dir=ltr],.ltr{font-family:var(--mono);font-variant-numeric:tabular-nums}
bdi[dir=ltr],.ltr{direction:ltr;unicode-bidi:isolate}
.brand-name{font-family:Plex,sans-serif;font-weight:600;letter-spacing:-1.2px;font-size:28px;line-height:1}
.site-header{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--rule)}
.header-inner{display:flex;align-items:center;min-height:var(--header-height);gap:var(--s-6)}
.brand{display:inline-flex;align-items:center;gap:var(--s-3);text-decoration:none;flex:none;min-height:44px;direction:ltr}
.brand-symbol{display:block;width:28px;height:32px;color:var(--signal)}
.desktop-nav{display:flex;align-items:center;justify-content:center;gap:var(--s-5);margin-inline-start:auto}
.nav-link{font-size:var(--small);text-decoration:none;white-space:nowrap;min-height:44px;display:flex;align-items:center}
.header-actions{display:flex;align-items:center;gap:var(--s-5);flex:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-5);min-height:52px;padding:var(--s-3) var(--s-5);font-size:var(--small);font-weight:500;line-height:1.5;text-decoration:none;white-space:nowrap;border:1px solid transparent;border-radius:var(--radius)}
.btn-primary{color:#fff;background:var(--signal);border-color:var(--signal)}
.btn-outline{color:var(--ink);border-color:var(--ink);background:transparent}
.btn-small{min-height:44px;padding:var(--s-2) var(--s-4)}
.text-link{display:inline-flex;align-items:center;gap:var(--s-4);min-height:44px;font-size:var(--small);font-weight:500;text-decoration:none;line-height:1.5}
.text-link>span:first-child{border-bottom:1px solid currentColor;padding-block:var(--s-1)}
.menu-toggle{display:none;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--rule);background:transparent}
.mobile-nav{border-top:1px solid var(--rule);padding-block:var(--s-4);display:grid;grid-template-columns:1fr 1fr;gap:var(--s-2) var(--s-5)}
.mobile-nav .nav-link{padding-block:var(--s-2)}
.skip-link{position:fixed;top:var(--s-4);inset-inline-start:var(--s-4);z-index:100;background:var(--ink);color:#fff;padding:var(--s-3) var(--s-5);transform:translateY(-160%);text-decoration:none}
.skip-link:focus{transform:none}
.hero{padding-block:var(--s-8) 0}
.eyebrow{display:flex;align-items:center;gap:var(--s-3);font-family:var(--mono);font-size:var(--label);font-weight:400;letter-spacing:.075em;text-transform:uppercase;line-height:1.6}
.signal-line{display:block;width:24px;height:2px;background:var(--signal);flex:none}
.hero-topline{display:flex;justify-content:space-between;gap:var(--s-5);align-items:center}
.micro-label{font-family:var(--mono);font-size:var(--label);letter-spacing:.04em;text-transform:uppercase;line-height:1.6;color:var(--muted)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(0,1fr);gap:var(--s-7);align-items:center;padding-block:var(--s-7) var(--s-8)}
.hero h1{font-size:var(--h1);max-width:850px}
.hero h1 span{display:block}
.hero h1 .hero-subline{color:var(--muted)}
.hero-copy{font-size:18px;line-height:1.7;max-width:55ch;margin-block-start:var(--s-5)}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-5) var(--s-6);margin-block-start:var(--s-6)}
.hero-graphic{align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-width:0;padding-inline-start:var(--s-6);border-inline-start:1px solid var(--rule)}
.graphic-caption{display:flex;justify-content:space-between;align-items:center;gap:var(--s-4);border-bottom:1px solid var(--rule);padding-block-end:var(--s-4)}
.ternary-figures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-2);padding-block:var(--s-5) var(--s-2);font-family:var(--mono);font-size:clamp(64px,7.3vw,108px);font-weight:400;line-height:1.3;text-align:center;letter-spacing:-.06em}
.ternary-figures span:last-child{color:var(--signal)}
.figure-labels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-2);text-align:center;color:var(--muted);font-size:var(--small)}
.hero-diagram{display:block;width:100%;height:auto;aspect-ratio:360/116;margin-block:var(--s-6) var(--s-4);color:var(--muted)}
.graphic-bottom{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);padding-block-start:var(--s-4);border-top:1px solid var(--rule)}
.graphic-bottom span{font-size:var(--small)}
.hero-strip{display:flex;align-items:center;justify-content:space-between;gap:var(--s-5);border-top:1px solid var(--rule);padding-block:var(--s-5);font-size:var(--small);color:var(--muted)}
.hero-strip p{max-width:unset}
.strip-label{color:var(--ink);font-weight:500;white-space:nowrap;display:flex;align-items:center;gap:var(--s-3)}
.outline-square{display:block;width:8px;height:8px;border:1px solid var(--signal)}
.section{padding-block:var(--s-9);border-top:1px solid var(--rule)}
.section-head{display:flex;justify-content:space-between;align-items:center;gap:var(--s-5);margin-block-end:var(--s-7)}
.section-index{font-family:var(--mono);font-size:var(--label);color:var(--signal-ink)}
.section h2{font-size:var(--h2)}
.split-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s-8)}
.section-body{display:flex;flex-direction:column;gap:var(--s-5);min-width:0}
.section-lead{font-size:18px;line-height:1.75}
.fundamentals{border-top:1px solid var(--rule)}
.fundamentals h2{max-width:13ch}
.rules-definition{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--rule);margin-top:var(--s-6)}
.definition{padding-block:var(--s-5);padding-inline-end:var(--s-5)}
.definition+.definition{padding-inline-start:var(--s-5);border-inline-start:1px solid var(--rule)}
.definition dt{font-family:var(--mono);font-size:40px;line-height:1.2;margin-block-end:var(--s-3)}
.definition:last-child dt{color:var(--signal-ink)}
.definition dd{font-size:var(--small);margin:0;color:var(--muted)}
.latency-note{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-6);padding-block-start:var(--s-6);border-top:1px solid var(--rule);margin-block-start:var(--s-7)}
.latency-note h3{font-size:18px;letter-spacing:-.02em;margin-bottom:var(--s-3)}
.latency-note p{font-size:var(--small);color:var(--muted)}
.lookup{background:var(--dark);color:var(--paper);border-top:0}
.lookup .section-index{color:#ef9a83}
.lookup .micro-label{color:var(--dark-muted)}
.lookup .section-head{border-bottom:1px solid var(--dark-rule);padding-bottom:var(--s-5)}
.lookup .split-intro{gap:var(--s-8);align-items:end}
.lookup .section-lead{color:var(--dark-muted);font-size:16px}
.lookup h2{max-width:15ch}
.lookup-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--s-4);margin-block:var(--s-7) var(--s-5)}
.presets{display:flex;flex-wrap:wrap;gap:var(--s-2)}
.preset{min-height:44px;border:1px solid #66716e;color:var(--paper);background:transparent;padding:var(--s-2) var(--s-4);font-size:var(--small);line-height:1.5}
.preset[aria-pressed=true]{color:var(--ink);background:var(--paper);border-color:var(--paper)}
.reset-button{display:inline-flex;align-items:center;gap:var(--s-2);min-height:44px;background:transparent;border:0;padding:var(--s-2);font-size:var(--small);color:var(--paper)}
.lookup-layout{display:grid;grid-template-columns:minmax(0,1fr) 256px;gap:var(--s-6);align-items:stretch}
.matrix-panel{min-width:0;border:1px solid var(--dark-rule);background:var(--dark-deep)}
.matrix-overline{display:flex;align-items:center;justify-content:space-between;gap:var(--s-5);padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--dark-rule);font-size:var(--label)}
.matrix-scroll{overflow-x:auto;max-width:100%;padding:var(--s-5);scrollbar-width:thin;scrollbar-color:#74827e var(--dark-deep);overscroll-behavior-x:contain}
.matrix-scroll:focus-visible{outline-offset:-4px}
.bit-table{border-collapse:separate;border-spacing:8px;table-layout:fixed;min-width:608px;width:100%;direction:ltr;font-family:var(--mono);font-variant-numeric:tabular-nums}
.bit-table .row-label{width:80px;text-align:start;font-family:var(--font);font-size:var(--small);font-weight:400;line-height:1.4;padding-inline-end:var(--s-2)}
.bit-table .row-label>*{display:block}
.bit-table .index-label{font-family:var(--font);font-size:10px;color:var(--dark-muted);font-weight:400}
.bit-table thead th{font-size:var(--label);font-weight:400;color:var(--dark-muted);padding-bottom:var(--s-2);text-align:center}
.bit-table thead th:first-child{text-align:start}
.bit-table .output-column{width:72px}
.bit-table td{padding:0;text-align:center}
.bit-table .key-row th,.bit-table .key-row td{padding-bottom:var(--s-5);border-bottom:1px solid var(--dark-rule)}
.bit-table .rule-first th,.bit-table .rule-first td{padding-top:var(--s-4)}
.bit-button{display:flex;align-items:center;justify-content:center;width:100%;min-width:44px;height:44px;border:1px solid #6c7773;background:#283230;color:var(--paper);font-family:var(--mono);font-size:20px;line-height:1;position:relative}
.key-bit{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.rule-bit[data-state=X]{background:var(--wild);border-color:var(--wild);color:var(--ink)}
.rule-bit[data-pass=false]{background:var(--dark-deep);border-color:#8d716b;border-style:dashed}
.rule-bit[data-pass=false]::after{content:'';position:absolute;bottom:5px;left:calc(50% - 6px);width:12px;border-bottom:1px solid #ef9a83}
.bit-button:focus-visible{outline-color:#ffb79f;outline-offset:2px;z-index:1}
.bit-output{font-family:var(--mono);display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:44px;min-width:44px;color:var(--dark-muted);font-size:16px}
.bit-output[data-match=true]{color:var(--dark-match)}
.output-marker{display:block;width:6px;height:6px;border:1px solid currentColor;flex:none}
.bit-output[data-match=true] .output-marker{background:currentColor}
.scroll-hint{display:none;color:var(--dark-muted);padding:0 var(--s-5) var(--s-4);font-size:var(--label);gap:var(--s-2);align-items:center}
.lookup-result{border-block:1px solid var(--dark-rule);padding:var(--s-5) 0;display:flex;flex-direction:column;align-items:start;min-width:0}
.result-label{display:flex;justify-content:space-between;width:100%;gap:var(--s-4)}
.match-vector{direction:ltr;unicode-bidi:isolate;display:flex;gap:var(--s-2);margin-block:var(--s-5);font-family:var(--mono);font-size:30px;line-height:1.4}
.vector-digit{display:flex;align-items:center;justify-content:center;min-width:32px;border-bottom:2px solid #6c7773;padding-bottom:var(--s-2);color:var(--dark-muted)}
.vector-digit[data-match=true]{color:var(--dark-match);border-color:var(--dark-match)}
.lookup-result h3{font-size:26px;color:var(--dark-match);letter-spacing:-.03em;line-height:1.3}
.lookup-result[data-empty=true] h3{color:var(--paper)}
.matched-rows{font-size:var(--small);color:var(--dark-muted);margin-top:var(--s-3);line-height:1.7}
.result-explanation{border-top:1px solid var(--dark-rule);padding-top:var(--s-5);margin-top:auto;font-size:var(--small);color:var(--dark-muted)}
.result-explanation strong{display:block;color:var(--paper);font-weight:500;margin-bottom:var(--s-2)}
.lookup-foot{display:flex;justify-content:space-between;align-items:start;gap:var(--s-6);padding-top:var(--s-5)}
.demo-disclaimer{max-width:84ch;font-size:var(--small);color:var(--dark-muted)}
.matrix-legend{display:flex;gap:var(--s-5);flex-wrap:wrap;font-size:var(--label);color:var(--dark-muted);padding:var(--s-4) var(--s-5);border-top:1px solid var(--dark-rule)}
.matrix-legend>span{display:flex;gap:var(--s-2);align-items:center}
.legend-marker{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:1px solid #7a8580;color:var(--paper);font-family:var(--mono);font-size:12px;line-height:1}
.legend-marker.wild{background:var(--wild);color:var(--ink);border-color:var(--wild)}
.legend-marker.different{border-style:dashed;color:#ef9a83}
.lookup-foot .text-link{flex:none;color:var(--paper)}
.fit-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:var(--s-8);align-items:end;margin-bottom:var(--s-7)}
.fit-intro h2{max-width:17ch}
.fit-intro p{font-size:18px}
.fit-table{border-top:1px solid var(--ink)}
.fit-row{display:grid;grid-template-columns:48px minmax(0,1fr) minmax(0,1.3fr);gap:var(--s-5);padding-block:var(--s-5);border-bottom:1px solid var(--rule);align-items:baseline}
.fit-row .fit-number{font-family:var(--mono);font-size:var(--label);color:var(--muted)}
.fit-row h3{font-size:20px;font-weight:500;line-height:1.4;letter-spacing:-.02em}
.fit-row p{font-size:16px;color:var(--muted)}
.applications{display:grid;grid-template-columns:1fr 2fr;gap:var(--s-8);margin-top:var(--s-7);align-items:start}
.applications h3{font-size:18px;line-height:1.5;letter-spacing:-.02em}
.application-list{display:flex;flex-wrap:wrap;gap:var(--s-3) var(--s-6);padding:0;margin:0;list-style:none}
.application-list li{display:flex;align-items:center;gap:var(--s-3);font-size:var(--small)}
.application-list li::before{content:'+';color:var(--signal-ink);font-family:var(--mono)}
.application-note{font-size:var(--small);color:var(--muted);margin-top:var(--s-4)}
.evaluation{background:var(--surface)}
.evaluation-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:var(--s-8);align-items:start}
.evaluation h2{max-width:14ch}
.evaluation-copy{display:flex;flex-direction:column;gap:var(--s-5);align-items:start}
.evaluation-topics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s-6);border-top:1px solid var(--rule);padding-top:var(--s-6);margin-top:var(--s-8)}
.evaluation-topic{display:flex;align-items:baseline;gap:var(--s-4)}
.evaluation-topic span{font-family:var(--mono);font-size:var(--label);color:var(--signal-ink)}
.evaluation-topic p{font-size:var(--small);font-weight:500}
.faq-layout{display:grid;grid-template-columns:1fr 1.6fr;gap:var(--s-8)}
.faq-intro h2{max-width:12ch}
.faq-intro p{font-size:var(--small);color:var(--muted);margin-top:var(--s-5);max-width:30ch}
.faq-list{border-top:1px solid var(--ink)}
.faq-item{border-bottom:1px solid var(--rule)}
.faq-item summary{list-style:none;display:flex;align-items:start;justify-content:space-between;gap:var(--s-5);padding-block:var(--s-5);font-size:18px;line-height:1.5;font-weight:500}
summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';font-family:var(--mono);font-size:24px;line-height:1;flex:none;font-weight:400;padding-top:var(--s-1)}
.faq-item[open] summary::after{content:'−'}
.faq-item p{color:var(--muted);padding-bottom:var(--s-5);padding-inline-end:var(--s-7)}
.inquiry{background:#fff}
.inquiry-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:var(--s-9)}
.inquiry-intro h2{max-width:13ch}
.inquiry-intro>p{color:var(--muted);margin-top:var(--s-5);max-width:36ch}
.contact-block{margin-top:var(--s-7);padding-top:var(--s-5);border-top:1px solid var(--rule)}
.contact-block .micro-label{display:block;margin-bottom:var(--s-3)}
.contact-address{font-family:var(--mono);font-size:16px;overflow-wrap:anywhere;text-decoration:none;display:inline-flex;align-items:center;gap:var(--s-4);min-height:44px}
.inquiry-form{min-width:0}
.required-note{font-size:var(--small);color:var(--muted);margin-bottom:var(--s-5)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5)}
.field{display:grid;gap:var(--s-2);align-content:start;min-width:0}
.field-wide{grid-column:1/-1}
.field label{font-size:var(--small);font-weight:500}
.field label .required{color:var(--signal-ink)}
.field input,.field select,.field textarea{display:block;width:100%;border:1px solid #8c8f8b;border-radius:var(--radius);padding:var(--s-3) var(--s-4);min-height:48px;background:#fff;color:var(--ink);font-size:16px;line-height:1.5}
.field textarea{resize:vertical;min-height:112px}
.field input::placeholder,.field textarea::placeholder{color:#626962;opacity:1}
.field input[aria-invalid=true]{border-color:var(--signal-ink)}
.field-error{font-size:var(--small);line-height:1.5;color:var(--signal-ink)}
.field-help{font-size:var(--small);color:var(--muted);line-height:1.6}
.technical-details{border-block:1px solid var(--rule);margin-block:var(--s-6)}
.technical-details>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--s-5);min-height:64px;font-size:var(--small);font-weight:500;list-style:none;padding-block:var(--s-4)}
.technical-details>summary::after{content:'+';font-family:var(--mono);font-size:24px}
.technical-details[open]>summary::after{content:'−'}
.technical-details>.form-grid{padding-block:var(--s-4) var(--s-6)}
.form-summary{padding:var(--s-4);background:var(--surface);margin-bottom:var(--s-5);font-size:var(--small);border:1px solid var(--signal-ink)}
.form-summary p{font-weight:500}
.form-summary ul{margin:var(--s-2) 0 0;padding-inline-start:var(--s-5)}
.form-privacy{font-size:var(--small);line-height:1.6;color:var(--muted);margin-bottom:var(--s-5)}
.form-submit-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-5)}
.form-status{font-size:var(--small);color:var(--muted);line-height:1.6;margin-top:var(--s-4)}
.draft-preview{margin-top:var(--s-6);padding:var(--s-5);border:1px solid var(--match);background:var(--paper)}
.draft-preview h3{font-size:22px;line-height:1.4;letter-spacing:-.02em}
.draft-preview>p{font-size:var(--small);color:var(--muted);margin-top:var(--s-2)}
.draft-destination{font-size:var(--small);margin-block:var(--s-4)}
.draft-destination bdi{display:inline-block}
.draft-preview label{font-size:var(--small);display:block;margin-block:var(--s-4) var(--s-2);font-weight:500}
.draft-text{display:block;width:100%;min-height:320px;resize:vertical;padding:var(--s-4);border:1px solid #8c8f8b;background:#fff;color:var(--ink);font-size:var(--small);line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--font)}
.draft-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s-4) var(--s-5);margin-top:var(--s-5)}
.site-footer{background:var(--dark);color:var(--paper);padding-block:var(--s-7) var(--s-5)}
.footer-top{display:flex;align-items:center;justify-content:space-between;gap:var(--s-5);padding-bottom:var(--s-6);border-bottom:1px solid var(--dark-rule)}
.footer-top p{font-size:var(--small);color:var(--dark-muted)}
.footer-nav{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-5);margin-block:var(--s-5)}
.footer-nav a{font-size:var(--small);min-height:44px;display:inline-flex;align-items:center;text-decoration:none}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:var(--s-5);font-size:var(--label);color:var(--dark-muted)}
.footer-bottom a{font-family:var(--mono);text-decoration:none;display:inline-flex;align-items:center;gap:var(--s-2);min-height:44px}
.footer-bottom .copyright{font-family:Plex,sans-serif}
@media(hover:hover){
 .btn-primary:hover{background:var(--signal-hover);border-color:var(--signal-hover);color:#fff}
 .btn-outline:hover{background:var(--ink);color:#fff}
 .nav-link:hover,.text-link:hover,.contact-address:hover{color:var(--signal-ink)}
 .lookup .text-link:hover{color:#ffb79f}
 .site-footer a:hover{color:#ffb79f}
 .preset:hover{border-color:var(--paper);background:#35413c}
 .preset[aria-pressed=true]:hover{background:var(--paper);color:var(--ink)}
 .bit-button:hover{border-color:#ffb79f}
 .reset-button:hover{color:#ffb79f}
 .faq-item summary:hover{color:var(--signal-ink)}
}
@media(min-width:1440px){.hero h1{font-size:80px}}
@media(max-width:1250px){.desktop-nav{gap:var(--s-4)}.header-inner{gap:var(--s-5)}.header-actions{gap:var(--s-4)}.nav-link{font-size:13px}.lookup-layout{grid-template-columns:minmax(0,1fr) 216px;gap:var(--s-5)}.match-vector{gap:var(--s-1);font-size:28px}.vector-digit{min-width:28px}.inquiry-layout{gap:var(--s-8)}}
@media(max-width:1100px){
 :root{--gutter:32px;--header-height:80px}
 .desktop-nav{display:none}.header-actions{margin-inline-start:auto}.menu-toggle{display:flex}
 .hero-grid{grid-template-columns:1.7fr 1fr;gap:var(--s-6)}.hero-graphic{padding-inline-start:var(--s-5)}
 .hero-actions{gap:var(--s-5)}.hero h1{font-size:clamp(48px,5.8vw,64px)}
 .lookup-layout{grid-template-columns:minmax(0,1fr)}
 .lookup-result{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-4) var(--s-6);padding-block:var(--s-5);align-items:start}
 .lookup-result .result-label{grid-column:1}.match-vector{grid-column:1;margin-block:0}
 .lookup-result h3{grid-column:2;grid-row:1/3;align-self:center}.matched-rows{grid-column:1;margin-top:0}
 .result-explanation{grid-column:2;grid-row:3;border:0;padding:0;margin:0}.result-explanation strong{margin-bottom:var(--s-1)}
 .split-intro,.fit-intro,.evaluation-grid,.faq-layout{gap:var(--s-7)}
 .inquiry-layout{gap:var(--s-7);grid-template-columns:1fr 1.4fr}
}
@media(max-width:800px){
 :root{--gutter:32px;--h1:56px;--h2:36px}
 .hero-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--s-5);padding-block:var(--s-6) var(--s-7)}
 .hero{padding-top:var(--s-7)}.hero-copy{font-size:16px}.hero h1{font-size:48px}.hero-actions{align-items:start;gap:var(--s-3)}
 .hero-actions .text-link{font-size:13px}.hero-graphic{padding-inline-start:var(--s-4)}.ternary-figures{font-size:64px}.figure-labels{font-size:12px;gap:var(--s-1)}
 .graphic-caption{align-items:start}.graphic-caption .micro-label{font-size:10px}.graphic-bottom span{font-size:12px}
 .hero-topline>.micro-label{display:none}.hero-strip{align-items:start;font-size:13px}.hero-strip p{max-width:42ch}
 .section{padding-block:var(--s-8)}.section-head{margin-bottom:var(--s-6)}
 .split-intro,.fit-intro{grid-template-columns:1fr 1fr;gap:var(--s-6)}
 .section-lead,.fit-intro p{font-size:16px}.fundamentals h2{font-size:32px}
 .lookup .split-intro{gap:var(--s-6)}.lookup-foot{flex-direction:column;gap:var(--s-4)}
 .fit-row{grid-template-columns:32px minmax(0,1fr) minmax(0,1.1fr);gap:var(--s-4)}
 .fit-row h3{font-size:18px}.fit-row p{font-size:var(--small)}
 .applications{gap:var(--s-6);grid-template-columns:1fr 1.6fr}.application-list{gap:var(--s-3)}
 .evaluation-grid{gap:var(--s-6)}.evaluation-topics{gap:var(--s-5)}
 .faq-layout{grid-template-columns:1fr 1.5fr;gap:var(--s-6)}.faq-item summary{font-size:16px}.faq-item p{font-size:var(--small);padding-inline-end:var(--s-5)}
 .inquiry-layout{grid-template-columns:1fr;gap:var(--s-7)}.inquiry-intro{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5) var(--s-6)}
 .inquiry-intro>h2{grid-row:1/3}.inquiry-intro>p{margin:0}.contact-block{margin:0;border:0;padding:0}
 .footer-top{align-items:start}
}
@media(max-width:600px){
 :root{--gutter:20px;--header-height:72px;--h2:34px}
 .brand-name{font-size:24px}.brand-symbol{width:24px;height:28px}.brand{gap:var(--s-2)}
 .header-inner{gap:var(--s-3)}.header-actions{gap:var(--s-2)}.header-actions>.btn{display:none}
 .menu-toggle{border:0}
 .mobile-nav{grid-template-columns:1fr 1fr;gap:var(--s-2) var(--s-4)}.mobile-nav .nav-link{font-size:var(--small)}
 .hero{padding-top:var(--s-6)}.eyebrow{font-size:10px;gap:var(--s-2);letter-spacing:.04em}
 .hero-grid{grid-template-columns:1fr;gap:var(--s-7);padding-block:var(--s-6)}
 .hero h1{font-size:clamp(40px,10.5vw,58px);letter-spacing:-.045em}.hero-copy{font-size:16px;margin-top:var(--s-5)}
 .hero-actions{gap:var(--s-4) var(--s-5);margin-top:var(--s-5)}.hero-actions .btn{padding-inline:var(--s-4);gap:var(--s-4)}.hero-actions .text-link{font-size:13px;gap:var(--s-2)}
 .hero-graphic{border-inline-start:0;padding:var(--s-5) 0 0;border-top:1px solid var(--rule)}
 .graphic-caption{padding-bottom:var(--s-3);align-items:center}.graphic-caption .micro-label{font-size:var(--label)}
 .ternary-figures{font-size:80px;padding-block:var(--s-3) 0}.figure-labels{font-size:var(--small)}
 .hero-diagram{margin-block:var(--s-5);max-height:80px}.graphic-bottom span{font-size:var(--small)}
 .hero-strip{flex-direction:column;gap:var(--s-2);padding-block:var(--s-5)}.hero-strip p{max-width:unset}
 .section{padding-block:var(--s-8)}.section-head{margin-bottom:var(--s-6);align-items:start}.section-head>.micro-label{font-size:10px}
 .split-intro,.fit-intro,.evaluation-grid,.faq-layout{grid-template-columns:1fr;gap:var(--s-5)}
 .fundamentals h2{max-width:16ch;font-size:var(--h2)}.section-lead{font-size:16px}
 .rules-definition{margin-top:var(--s-5)}.definition{padding-inline-end:var(--s-4)}.definition+.definition{padding-inline-start:var(--s-4)}.definition dt{font-size:36px}.definition dd{font-size:13px}
 .latency-note{gap:var(--s-5);margin-top:var(--s-6)}.latency-note h3{font-size:16px}.latency-note p{font-size:13px}
 .lookup .split-intro{gap:var(--s-5)}.lookup h2{max-width:16ch}.lookup-controls{margin-top:var(--s-6);gap:var(--s-2)}
 .presets{gap:var(--s-2)}.preset{font-size:12px;padding-inline:var(--s-3)}.reset-button{font-size:13px}
 .matrix-scroll{padding:var(--s-4) var(--s-3)}.matrix-overline{padding-inline:var(--s-4);gap:var(--s-3)}.matrix-overline .micro-label{font-size:10px}
 .scroll-hint{display:flex;padding-inline:var(--s-4)}.matrix-legend{gap:var(--s-4);padding-inline:var(--s-4);font-size:11px}
 .lookup-result{grid-template-columns:1fr;gap:var(--s-4);padding-top:var(--s-5)}
 .lookup-result .result-label,.match-vector,.lookup-result h3,.matched-rows,.result-explanation{grid-column:1;grid-row:auto}
 .lookup-result h3{font-size:28px}.result-explanation{border-top:1px solid var(--dark-rule);padding-top:var(--s-4)}
 .match-vector{font-size:32px;gap:var(--s-3);margin-bottom:var(--s-2)}.vector-digit{min-width:40px}.lookup-foot{padding-top:var(--s-4)}
 .fit-intro{margin-bottom:var(--s-6)}.fit-row{grid-template-columns:28px minmax(0,1fr);gap:var(--s-2) var(--s-3);padding-block:var(--s-5)}
 .fit-row p{grid-column:2;font-size:var(--small)}.fit-row h3{font-size:18px}
 .applications{grid-template-columns:1fr;gap:var(--s-4)}.application-list{flex-direction:column;align-items:start}
 .evaluation-topics{grid-template-columns:1fr;gap:var(--s-4);margin-top:var(--s-7)}
 .faq-layout{gap:var(--s-6)}.faq-intro h2{max-width:16ch}.faq-intro p{max-width:unset;margin-top:var(--s-4)}
 .faq-item summary{padding-block:var(--s-5)}.faq-item p{font-size:16px;padding-inline-end:0}
 .inquiry-intro{display:block}.inquiry-intro>p{margin-top:var(--s-5);max-width:unset}.contact-block{margin-top:var(--s-5)}
 .inquiry-intro h2{max-width:16ch}.form-grid{grid-template-columns:1fr;gap:var(--s-5)}
 .field-wide{grid-column:auto}.draft-preview{padding:var(--s-4)}.draft-actions{align-items:start;flex-direction:column}
 .footer-top{align-items:start;flex-direction:column;gap:var(--s-5)}.footer-nav{gap:0 var(--s-5)}
 .footer-bottom{align-items:start;flex-direction:column;gap:var(--s-2)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{.site-header{position:static}.menu-toggle,.mobile-nav{display:none!important}.container{width:100%}.section{break-inside:avoid}body{font-size:12pt}.lookup{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
