/* ipo.zone design system v1.01 (29.10.2026)
   "Order Book": graph paper, editorial grotesque, burgundy rules, hard-edged controls.
   Palette: paper #EEECDF, band #E4E4DA, hairline #D9D9CF, burgundy #79363F, ink #141414.
   Light only by design. */
@font-face{font-family:"Bricolage Grotesque";src:url("/assets/fonts/bricolage-grotesque-latin-wght-normal.woff2") format("woff2");font-weight:200 800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Bricolage Grotesque";src:url("/assets/fonts/bricolage-grotesque-latin-ext-wght-normal.woff2") format("woff2");font-weight:200 800;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Source Serif 4";src:url("/assets/fonts/source-serif-4-latin-wght-normal.woff2") format("woff2");font-weight:200 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Serif 4";src:url("/assets/fonts/source-serif-4-latin-ext-wght-normal.woff2") format("woff2");font-weight:200 900;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Source Serif 4";src:url("/assets/fonts/source-serif-4-latin-wght-italic.woff2") format("woff2");font-weight:200 900;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Serif 4";src:url("/assets/fonts/source-serif-4-latin-ext-wght-italic.woff2") format("woff2");font-weight:200 900;font-style:italic;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"JetBrains Mono";src:url("/assets/fonts/jetbrains-mono-latin-400-normal.woff2") format("woff2");font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"JetBrains Mono";src:url("/assets/fonts/jetbrains-mono-latin-ext-400-normal.woff2") format("woff2");font-weight:400;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"JetBrains Mono";src:url("/assets/fonts/jetbrains-mono-latin-500-normal.woff2") format("woff2");font-weight:500;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"JetBrains Mono";src:url("/assets/fonts/jetbrains-mono-latin-ext-500-normal.woff2") format("woff2");font-weight:500;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --ink:#141414; --ink-2:#3D3B38; --muted:#6E6B66; --faint:#8F8B83;
  --paper:#EEECDF; --band:#E4E4DA; --surface:#F6F4EB; --field:#FBFAF4; --sunk:#E4E4DA;
  --line:#D9D9CF; --line-2:#C9C6B8; --grid:#E3E1D4;
  --blue:#79363F; --burgundy:#79363F; --burgundy-dark:#5E2730; --burgundy-light:#A9545F; --pale:#EADBD8; --pale-line:#C9A3A8;
  --ok:#4A6B4F; --ok-soft:#E1E6D9; --warn:#8A5A12; --warn-soft:#EFE3CC; --crit:#8E2A2A; --crit-soft:#EADBD8;
  /* legacy aliases used by tool fragments */
  --brass:#79363F; --brass-ink:#79363F; --brass-soft:#EADBD8; --navy:#3D3B38; --link:#79363F;
  --display:"Bricolage Grotesque",Arial,sans-serif; --serif:"Source Serif 4",Georgia,serif; --mono:"JetBrains Mono",ui-monospace,Menlo,monospace; --body:var(--display);
  --r:0px; --wrap:1320px; --read:70ch;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:24px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--display);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%}
a{color:var(--burgundy);text-underline-offset:4px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--burgundy);outline-offset:4px}
::selection{background:var(--burgundy);color:#fff}
h1,h2,h3,h4{font-family:var(--display);line-height:1.08;text-wrap:balance;margin:0;font-weight:600;letter-spacing:-.035em}
h1{font-size:clamp(44px,5.6vw,80px);font-weight:700;line-height:1;letter-spacing:-.06em;color:var(--burgundy)}
h2{font-size:clamp(28px,3.2vw,44px);line-height:1.05;letter-spacing:-.045em;color:var(--burgundy)}
h3{font-size:22px;color:var(--ink)}
p{margin:0}
.wrap{width:min(var(--wrap),calc(100% - 96px));margin-inline:auto}
@media (max-width:1100px){.wrap{width:calc(100% - 64px)}}
@media (max-width:899px){.wrap{width:calc(100% - 40px)}}
.eyebrow{display:flex;gap:10px;align-items:center;font:500 11px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--burgundy)}
.eyebrow::before{content:"";width:7px;height:7px;background:currentColor;flex:none}
.cap{font:500 11px/1.6 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.muted{color:var(--muted)}
.mono{font-family:var(--mono)}
.tnum{font-variant-numeric:tabular-nums}
.grid-paper{background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:40px 40px}
.skip{position:fixed;top:-80px;left:20px;z-index:50;background:var(--surface);color:var(--ink);padding:14px;border:1px solid var(--ink)}
.skip:focus{top:10px}

/* construction note */
.build-strip{background:var(--band);color:var(--ink);border-bottom:1px solid var(--line-2);font-size:12px;line-height:1.6}
.build-strip .wrap{display:flex;gap:12px;align-items:baseline;padding-block:11px}
.build-strip .dot{width:6px;height:6px;background:var(--burgundy);flex:none;display:inline-block;transform:translateY(-1px)}
.build-strip strong{font-weight:600}

/* masthead */
.site-head .wrap{display:flex;align-items:center;gap:28px;min-height:96px;border-bottom:1px solid var(--ink);flex-wrap:wrap}
.brand{display:flex;align-items:baseline;text-decoration:none;color:var(--ink);font:800 34px/1 var(--display);letter-spacing:-2px}
.brand b{color:var(--burgundy);font-weight:800}
.brand small{font:500 10px/1 var(--mono);color:var(--muted);margin-left:14px;letter-spacing:.08em;text-transform:uppercase}
.brand:hover{text-decoration:none}
.nav{display:flex;gap:30px;margin-left:auto;align-items:center}
.nav a{font:500 14px/1 var(--display);color:var(--ink);text-decoration:none;padding:8px 0;border-bottom:2px solid transparent}
.nav a:hover{border-bottom-color:var(--line-2)}
.nav a[aria-current="page"]{border-bottom-color:var(--burgundy);color:var(--burgundy)}
.nav a:last-child{border-left:1px solid var(--line);padding-left:30px}
.nav a:last-child[aria-current="page"]{border-bottom-color:transparent}
.nav-toggle{display:none;margin-left:auto;background:var(--surface);border:1px solid var(--ink);color:var(--ink);padding:9px 14px;font:600 13px var(--display);cursor:pointer}
.site-head .wrap:has(>.language-switch){display:block;min-height:0;border:0;padding-block:8px 0}
.language-switch{display:flex;justify-content:flex-end;align-items:center;gap:10px;font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.language-switch a{padding:4px 2px;text-decoration:none;color:var(--muted)}
.language-switch a[aria-current="page"]{color:var(--burgundy);text-decoration:underline}
@media (max-width:899px){
  .site-head .wrap{min-height:78px;gap:14px;padding-block:14px}
  .brand{font-size:29px}.brand small{display:none}
  .nav-toggle{display:block}
  .nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;margin-left:0;border-top:1px solid var(--line)}
  .nav.open{display:flex}
  .nav a{padding:14px 0;border-bottom:1px solid var(--line);font-size:16px}
  .nav a:last-child{border-left:0;padding-left:0}
}

main{display:block}
section{padding-block:56px}
.section-head{display:grid;gap:12px;margin-bottom:32px;max-width:780px}
.section-head p{font:18px/1.6 var(--serif);color:var(--ink-2)}

/* buttons */
.btn{display:inline-flex;gap:18px;align-items:center;justify-content:space-between;padding:15px 18px;font:600 13px/1.2 var(--display);border:1px solid var(--ink);background:var(--surface);color:var(--ink);text-decoration:none;cursor:pointer;border-radius:0;transition:background .2s,color .2s,border-color .2s}
.btn:hover{background:var(--ink);color:#fff;text-decoration:none}
.btn-primary{background:var(--burgundy);border-color:var(--burgundy);color:#fff}
.btn-primary:hover{background:var(--ink);border-color:var(--ink)}
.btn-ghost{background:var(--surface)}
.btn-sm{padding:9px 13px;font-size:12.5px;gap:10px}
.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:stretch}

/* cards: hairline ledger tiles */
.grid{display:grid;gap:20px}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:900px){.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.g3,.g2{grid-template-columns:1fr}}
.card{background:var(--surface);border:1px solid var(--line);border-top:1px solid var(--ink);padding:24px 24px 22px;display:flex;flex-direction:column;gap:12px;text-decoration:none;color:var(--ink);min-width:0;position:relative;transition:background .2s}
.card h3{font-size:23px;line-height:1.12}
.card p{font:16px/1.55 var(--serif);color:var(--ink-2)}
a.card::after{content:"↗";position:absolute;top:20px;right:22px;color:var(--burgundy);font-size:16px}
a.card .eyebrow{padding-right:24px}
a.card:hover{background:var(--pale);text-decoration:none}
a.card:hover h3{color:var(--burgundy)}
.card .meta{margin-top:auto;display:flex;gap:8px;flex-wrap:wrap;padding-top:8px}
.tag{font:500 10.5px/1.5 var(--mono);letter-spacing:.06em;padding:3px 8px;background:var(--band);color:var(--ink-2);text-transform:uppercase;border:1px solid var(--line)}
.tag.brass{background:var(--pale);color:var(--burgundy);border-color:var(--pale-line)}
.tag.soon{background:transparent;border:1px dashed var(--line-2);color:var(--muted)}
.pillar{border-top:2px solid var(--burgundy)}
.pillar .num{font:500 11px var(--mono);color:var(--burgundy);letter-spacing:.08em;text-transform:uppercase}
.band{background:var(--surface);border-block:1px solid var(--line)}
.callout{border:1px solid var(--line);border-left:2px solid var(--burgundy);background:var(--surface);padding:18px 22px;display:grid;gap:6px;font:16px/1.6 var(--serif)}
.callout.info{border-left-color:var(--ink)}
.callout.warn{border-left-color:var(--warn)}
.callout strong{font:600 17px/1.3 var(--display);letter-spacing:-.01em}

/* page header: graph paper + faint waves */
.page-head{position:relative;border-bottom:1px solid var(--ink);padding-block:56px 44px;overflow:hidden;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='600' viewBox='0 0 1200 600'%3E%3Cg fill='none' stroke='%23D9D9CF' stroke-width='1'%3E%3Cpath d='M-50 60 C 250 20, 450 140, 700 80 S 1100 10, 1260 90'/%3E%3Cpath d='M-50 86 C 250 46, 450 166, 700 106 S 1100 36, 1260 116'/%3E%3Cpath d='M-50 112 C 250 72, 450 192, 700 132 S 1100 62, 1260 142'/%3E%3Cpath d='M-50 138 C 250 98, 450 218, 700 158 S 1100 88, 1260 168'/%3E%3Cpath d='M-50 164 C 250 124, 450 244, 700 184 S 1100 114, 1260 194'/%3E%3Cpath d='M-50 190 C 250 150, 450 270, 700 210 S 1100 140, 1260 220'/%3E%3Cpath d='M-50 216 C 250 176, 450 296, 700 236 S 1100 166, 1260 246'/%3E%3Cpath d='M-50 242 C 250 202, 450 322, 700 262 S 1100 192, 1260 272'/%3E%3Cpath d='M-50 268 C 250 228, 450 348, 700 288 S 1100 218, 1260 298'/%3E%3Cpath d='M-50 294 C 250 254, 450 374, 700 314 S 1100 244, 1260 324'/%3E%3C/g%3E%3C/svg%3E"),linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);
  background-repeat:no-repeat,repeat,repeat;background-size:1400px auto,40px 40px,40px 40px;background-position:right -160px top -30px,0 0,0 0}
.page-head .wrap{display:grid;gap:16px;position:relative}
.page-head h1{max-width:18ch}
.page-head p.lede{font:19px/1.6 var(--serif);color:var(--ink);max-width:62ch;margin-top:6px}
.crumbs{font:500 11px/1.6 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);display:flex;gap:8px;flex-wrap:wrap}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--burgundy);text-decoration:underline}
.page-meta{display:flex;gap:0;flex-wrap:wrap;font:500 11px/1.6 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-top:1px solid var(--line-2);padding-top:14px;margin-top:8px;max-width:62ch}
.page-meta span{padding-right:16px;margin-right:16px;border-right:1px solid var(--line-2)}
.page-meta span:last-child{border-right:0}
@media (max-width:599px){.page-head{padding-block:38px 30px}.page-head h1{font-size:44px}.page-head p.lede{font-size:17.5px}}

/* article */
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:64px;padding-block:52px 72px;align-items:start}
@media (max-width:1000px){.article-layout{grid-template-columns:1fr}.toc{display:none}}
.prose{max-width:var(--read);min-width:0;font:18px/1.7 var(--serif);color:var(--ink)}
.prose>*+*{margin-top:1.05em}
.prose h2{margin-top:1.9em;padding-top:.7em;border-top:1px solid var(--line);font-size:32px;scroll-margin-top:24px}
.prose h3{margin-top:1.5em;font-size:22px;scroll-margin-top:24px}
.prose h2+*,.prose h3+*{margin-top:.6em}
.prose ul,.prose ol{padding-left:1.3em}
.prose li+li{margin-top:.35em}
.prose li::marker{color:var(--burgundy)}
.prose strong{font-weight:650}
.prose blockquote{margin:1.4em 0;padding:4px 0 4px 20px;border-left:2px solid var(--burgundy);color:var(--ink-2);font-style:italic}
.prose code{font-family:var(--mono);font-size:.85em;background:var(--band);padding:1px 5px}
.prose hr{border:0;border-top:1px solid var(--line);margin:2.2em 0}
.prose .callout,.prose .takeaways,.prose .related{font-size:16px}
.prose dt{font:600 18px var(--display);margin-top:1em}
.prose dd{margin-left:0;color:var(--ink-2)}
.prose .table-wrap,.table-wrap{overflow-x:auto;border:1px solid var(--line);border-top:1px solid var(--ink);background:var(--surface)}
.prose table,table.data{border-collapse:collapse;width:100%;font:15px/1.5 var(--display)}
.prose th,.prose td,table.data th,table.data td{padding:11px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.prose th,table.data th{font:500 10.5px var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);background:var(--band)}
.prose tr:last-child td,table.data tr:last-child td{border-bottom:0}
table.data td.mono{white-space:nowrap}
.takeaways{background:var(--surface);border:1px solid var(--line);border-top:2px solid var(--burgundy);padding:22px 24px}
.takeaways h2{margin:0 0 12px!important;padding:0!important;border:0!important;font:500 11px var(--mono)!important;letter-spacing:.08em;text-transform:uppercase;color:var(--burgundy)!important}
.takeaways ul{margin:0}
.toc{position:sticky;top:28px;display:grid;gap:14px}
.toc nav{border-left:1px solid var(--ink);padding-left:18px;display:grid;gap:10px}
.toc .label{font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--burgundy)}
.toc a{color:var(--ink-2);text-decoration:none;font-size:14.5px;line-height:1.35}
.toc a:hover{color:var(--burgundy);text-decoration:underline}
.related{border-top:1px solid var(--ink);margin-top:56px;padding-top:28px;display:grid;gap:18px}
.related h2{font-size:26px!important;border:0!important;padding:0!important;margin:0!important}

/* checklist */
.cl-bar{position:sticky;top:0;z-index:10;background:var(--paper);padding-block:14px;border-bottom:1px solid var(--ink);display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.progress{flex:1 1 240px;display:flex;align-items:center;gap:14px;min-width:0}
.progress .track{flex:1;height:6px;background:var(--band);overflow:hidden;border:1px solid var(--line-2)}
.progress .fill{height:100%;width:0;background:var(--burgundy);transition:width .25s}
.progress .lbl{font:500 12px var(--mono);color:var(--ink-2);white-space:nowrap;font-variant-numeric:tabular-nums}
.cl-section{margin-top:40px}
.cl-section h2{font-size:30px;display:flex;gap:14px;align-items:baseline;flex-wrap:wrap}
.cl-section h2 .count{font:500 11px var(--mono);letter-spacing:.06em;color:var(--muted)}
.cl-section .who{font:15px/1.5 var(--serif);color:var(--muted);margin-top:6px}
.cl-items{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:0;border-top:1px solid var(--ink)}
.cl-item{background:transparent;border-bottom:1px solid var(--line);padding:14px 4px;display:grid;grid-template-columns:24px minmax(0,1fr);gap:14px;align-items:start;transition:background .2s}
.cl-item:hover{background:var(--surface)}
.cl-item input{width:18px;height:18px;margin-top:3px;accent-color:var(--burgundy)}
.cl-item label{font-weight:600;cursor:pointer;line-height:1.4}
.cl-item .why{grid-column:2;font:15px/1.55 var(--serif);color:var(--ink-2)}
.cl-item.done{background:var(--band)}
.cl-item.done label{text-decoration:line-through;text-decoration-color:var(--burgundy);color:var(--muted)}

/* tools */
.tool-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;padding-block:40px 64px;align-items:start}
@media (max-width:960px){.tool-layout{grid-template-columns:1fr}}
.panel{background:var(--surface);border:1px solid var(--line);border-top:1px solid var(--ink);padding:24px;display:grid;gap:18px;min-width:0}
.panel h2{font-size:26px}
.panel.sticky{position:sticky;top:24px}
@media (max-width:960px){.panel.sticky{position:static}}
.field{display:grid;gap:6px}
.field label{font-weight:600;font-size:15px}
.field .hint{font:14px/1.5 var(--serif);color:var(--muted)}
.field input,.field select,.field textarea{font:400 16px var(--display);color:var(--ink);background:var(--field);border:1px solid var(--line-2);border-radius:0;padding:10px 12px;width:100%;min-width:0}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--burgundy);outline:none;box-shadow:0 0 0 3px rgba(121,54,63,.18)}
.field input[type=number]{font-family:var(--mono);font-variant-numeric:tabular-nums}
input,select,textarea,button{font-family:inherit}
.row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.row3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width:560px){.row,.row3{grid-template-columns:1fr}}
fieldset{border:1px solid var(--line);padding:16px 18px;margin:0;display:grid;gap:12px;min-width:0}
legend{font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--burgundy);padding:0 6px}
.kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--ink);border-left:1px solid var(--line)}
.kpi{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 16px;background:var(--surface);display:grid;gap:3px;min-width:0}
.kpi .k{font:500 10.5px var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.kpi .v{font:500 22px/1.25 var(--mono);font-variant-numeric:tabular-nums;color:var(--ink);overflow-wrap:anywhere}
.kpi .s{font:13.5px/1.45 var(--serif);color:var(--muted)}
.kpi.hl{background:var(--pale)}
.kpi.hl .v{color:var(--burgundy)}
.bar-row{display:grid;grid-template-columns:minmax(120px,190px) minmax(0,1fr) 58px;gap:12px;align-items:center;font-size:14.5px}
.bar-row .b{height:8px;background:var(--band);overflow:hidden;border:1px solid var(--line)}
.bar-row .b i{display:block;height:100%;background:var(--burgundy)}
.bar-row .p{font:500 12.5px var(--mono);text-align:right;font-variant-numeric:tabular-nums}
.pill{display:inline-block;font:500 10.5px var(--mono);padding:4px 9px;text-transform:uppercase;letter-spacing:.06em;border:1px solid currentColor}
.pill.ok{background:var(--ok-soft);color:var(--ok)}
.pill.warn{background:var(--warn-soft);color:var(--warn)}
.pill.crit{background:var(--crit-soft);color:var(--crit)}
.q{border-top:1px solid var(--line);padding-top:16px;display:grid;gap:10px}
.q:first-of-type{border-top:0;padding-top:0}
.q .qt{font-weight:600}
.scale{display:flex;gap:6px;flex-wrap:wrap}
.scale label{border:1px solid var(--line-2);padding:7px 11px;font-size:14px;cursor:pointer;background:var(--field);display:flex;gap:7px;align-items:center}
.scale input{accent-color:var(--burgundy)}
.scale label:has(input:checked){border-color:var(--burgundy);background:var(--pale);color:var(--burgundy)}
.timeline{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--ink)}
.timeline li{display:grid;grid-template-columns:118px minmax(0,1fr);gap:16px;padding:13px 0;border-bottom:1px solid var(--line)}
.timeline li:last-child{border-bottom:0}
.timeline .d{font:500 13.5px/1.4 var(--mono);color:var(--burgundy);font-variant-numeric:tabular-nums}
.timeline .w{font:500 11px var(--mono);color:var(--muted);display:block}
.timeline .m{font-weight:600}
.timeline .m small{display:block;font:400 14.5px/1.5 var(--serif);color:var(--ink-2)}
.timeline li.past .d{color:var(--crit)}

/* glossary */
.gloss-index{display:flex;flex-wrap:wrap;gap:0;margin-bottom:24px;border-left:1px solid var(--line)}
.gloss-index a{font:500 12px var(--mono);padding:7px 11px;border:1px solid var(--line);border-left:0;text-decoration:none;color:var(--ink);background:var(--surface)}
.gloss-index a:hover{background:var(--burgundy);color:#fff;border-color:var(--burgundy)}
.gloss{display:grid;gap:0;border-top:1px solid var(--ink)}
.gloss dt{font:600 21px/1.25 var(--display);letter-spacing:-.02em;padding:20px 0 4px;scroll-margin-top:24px}
.gloss dd{margin:0;padding:0 0 20px;border-bottom:1px solid var(--line);font:16.5px/1.65 var(--serif);color:var(--ink-2);max-width:78ch}
.gloss dd:last-child{border-bottom:0}
.gloss-search{margin-bottom:20px;max-width:440px}
.gloss dd .callout{margin-block:10px;font-size:15px}
.gloss dt,.gloss dd,.prose a{overflow-wrap:anywhere}
.gloss [hidden]{display:none!important}

/* footer */
.site-foot{margin-top:32px}
.site-foot .wrap{border-top:1px solid var(--ink);padding-block:56px 26px;display:grid;grid-template-columns:2fr repeat(3,minmax(0,1fr));gap:32px}
.site-foot .about h4{font:800 34px/1 var(--display);letter-spacing:-2px;color:var(--ink);text-transform:none;margin-bottom:16px}
.site-foot .about h4 b{color:var(--burgundy)}
.site-foot .about p{font:15px/1.6 var(--serif);color:var(--muted);max-width:42ch}
.site-foot h4{font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.site-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.site-foot a{color:var(--ink);text-decoration:none;font-size:14.5px}
.site-foot a:hover{color:var(--burgundy);text-decoration:underline}
.site-foot .fine{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;margin-top:20px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font:12.5px/1.7 var(--serif);color:var(--muted)}
.site-foot .fine .mono{font:500 10px var(--mono);letter-spacing:.08em;text-transform:uppercase}
@media (max-width:760px){.site-foot .wrap{grid-template-columns:1fr 1fr}.site-foot .about{grid-column:1/-1}}

/* =========================================================
   Home: Order Book
   ========================================================= */
.home h2{font-size:clamp(34px,4vw,58px);font-weight:600;line-height:1.05;letter-spacing:-.045em}
.home .section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px;max-width:none}
.home .section-head h2{max-width:750px}
.home .section-no{color:var(--burgundy);margin-bottom:18px}
.home section{padding-block:0}
.hero{position:relative;padding:72px 0 70px!important;overflow:hidden;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1200' height='600' viewBox='0 0 1200 600'%3E%3Cg fill='none' stroke='%23D9D9CF' stroke-width='1'%3E%3Cpath d='M-50 60 C 250 20, 450 140, 700 80 S 1100 10, 1260 90'/%3E%3Cpath d='M-50 86 C 250 46, 450 166, 700 106 S 1100 36, 1260 116'/%3E%3Cpath d='M-50 112 C 250 72, 450 192, 700 132 S 1100 62, 1260 142'/%3E%3Cpath d='M-50 138 C 250 98, 450 218, 700 158 S 1100 88, 1260 168'/%3E%3Cpath d='M-50 164 C 250 124, 450 244, 700 184 S 1100 114, 1260 194'/%3E%3Cpath d='M-50 190 C 250 150, 450 270, 700 210 S 1100 140, 1260 220'/%3E%3Cpath d='M-50 216 C 250 176, 450 296, 700 236 S 1100 166, 1260 246'/%3E%3Cpath d='M-50 242 C 250 202, 450 322, 700 262 S 1100 192, 1260 272'/%3E%3Cpath d='M-50 268 C 250 228, 450 348, 700 288 S 1100 218, 1260 298'/%3E%3Cpath d='M-50 294 C 250 254, 450 374, 700 314 S 1100 244, 1260 324'/%3E%3Cpath d='M-50 320 C 250 280, 450 400, 700 340 S 1100 270, 1260 350'/%3E%3Cpath d='M-50 346 C 250 306, 450 426, 700 366 S 1100 296, 1260 376'/%3E%3Cpath d='M-50 372 C 250 332, 450 452, 700 392 S 1100 322, 1260 402'/%3E%3Cpath d='M-50 398 C 250 358, 450 478, 700 418 S 1100 348, 1260 428'/%3E%3Cpath d='M-50 424 C 250 384, 450 504, 700 444 S 1100 374, 1260 454'/%3E%3Cpath d='M-50 450 C 250 410, 450 530, 700 470 S 1100 400, 1260 480'/%3E%3Cpath d='M-50 476 C 250 436, 450 556, 700 496 S 1100 426, 1260 506'/%3E%3Cpath d='M-50 502 C 250 462, 450 582, 700 522 S 1100 452, 1260 532'/%3E%3C/g%3E%3C/svg%3E"),linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);
  background-repeat:no-repeat,repeat,repeat;background-size:1400px auto,40px 40px,40px 40px;background-position:right -120px top -40px,0 0,0 0}
.hero-top{display:grid;grid-template-columns:1.22fr 1fr;gap:36px;align-items:center}
.hero .eyebrow{margin-bottom:25px}
.hero h1{font-size:clamp(58px,6.3vw,93px);line-height:.99;letter-spacing:-.065em}
.hero h1 .ink{color:var(--ink)}
.hero-copy{font:19px/1.6 var(--serif);max-width:610px;margin-top:30px}
.hero .actions{margin-top:32px;gap:12px}
.hero .btn{padding:18px 20px;gap:24px}
.hero-art{position:relative;margin:20px 0 0 16px}
.hero-art svg{width:100%;height:auto;display:block;overflow:visible}
.art-caption{display:flex;justify-content:space-between;border-top:1px solid var(--ink);padding-top:13px;margin-top:10px;font:10px/1.5 var(--mono);letter-spacing:.02em;color:var(--muted)}
.hero-foot{display:flex;gap:24px;align-items:center;margin-top:62px;color:var(--muted)}
.hero-foot::before{content:"";height:1px;background:var(--line);flex:1}
.hero-foot::after{content:"↓";font-size:20px;color:var(--burgundy)}
@keyframes iz-rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes iz-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes iz-draw{from{stroke-dashoffset:1000}to{stroke-dashoffset:0}}
html.js .hero-text{animation:iz-rise .75s both}
html.js .book-bar{transform-box:fill-box;transform-origin:left;animation:iz-grow .7s cubic-bezier(.2,.6,.2,1) both;animation-delay:var(--delay,0s)}
html.js .depth-line{stroke-dasharray:1000;animation:iz-draw 1.05s ease-out both}
html.js .offer-needle{animation:iz-rise .8s .15s both}

/* IPO clock: horizontal scroll-linked ledger on desktop */
.clock{background:var(--band);color:var(--ink);border-block:1px solid var(--ink);position:relative}
.clock-stage{padding-top:66px;padding-bottom:70px;overflow:hidden}
.clock .section-head{margin-bottom:55px}
.clock h2{font-size:clamp(34px,3.7vw,52px)}
.clock h2 small{color:var(--muted);font:italic .48em var(--serif);letter-spacing:0}
.clock .sub{color:var(--muted);font:15px/1.6 var(--serif);margin-top:15px}
.clock-window{overflow:hidden}
.clock-track{display:flex;position:relative;width:max-content;will-change:transform}
.clock-track::before,.clock-progress{position:absolute;top:14px;left:10px;height:2px;width:calc(100% - 260px);background:var(--line-2);content:""}
.clock-progress{background:var(--burgundy);transform-origin:left;transform:scaleX(0);z-index:1}
.clock-step{position:relative;width:260px;flex-shrink:0;padding-right:34px}
.clock-marker{display:block;position:relative;width:30px;height:30px;border:1px solid var(--faint);background:var(--band);margin-bottom:30px;z-index:2;border-radius:50%;transition:background .25s,transform .25s}
.clock-marker::after{content:"";position:absolute;inset:10px;background:var(--faint);border-radius:0}
.clock-step .time{color:var(--muted);font:12px/1.6 var(--mono);margin-bottom:15px}
.clock-step h3{font-size:24px;line-height:1.15;min-height:58px;margin-bottom:17px}
.clock-step p{font:15px/1.6 var(--serif);color:var(--muted)}
.clock-step.active .clock-marker{border-color:var(--burgundy);background:var(--burgundy)}
.clock-step.active .clock-marker::after{background:var(--surface)}
.clock-step.active .time{color:var(--burgundy)}
.clock-step.day.active .clock-marker{transform:scale(1.25);background:var(--surface);box-shadow:0 0 0 7px rgba(121,54,63,.3)}
.clock-step.day.active .clock-marker::after{background:var(--burgundy)}
.clock-step.day.active h3{color:var(--burgundy)}
.rail-controls{display:flex;align-items:center;gap:8px}
.rail-btn{height:38px;width:42px;background:transparent;color:inherit;border:1px solid var(--faint);font-size:20px;line-height:1;cursor:pointer}
.rail-btn:hover{background:var(--burgundy);color:#fff;border-color:var(--burgundy)}
.clock-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:42px;border-top:1px solid var(--line-2);padding-top:20px;color:var(--muted)}
.clock-bottom a{color:var(--ink)}
@media (min-width:900px){html.motion .clock{height:210vh}html.motion .clock-stage{position:sticky;top:0;min-height:650px;height:100vh;max-height:900px;display:flex;flex-direction:column;justify-content:center}}

/* three ways */
.ways{padding:100px 0!important}
.ways-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink)}
.way{padding:30px 32px 12px 0}
.way+.way{padding-left:32px;border-left:1px solid var(--line)}
.way-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:30px}
.way h3{font-size:42px}
.way .count{font:500 11px var(--mono);letter-spacing:.08em;color:var(--burgundy)}
.way p{font:17px/1.65 var(--serif);max-width:330px}
.way a{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;margin-top:30px;border-top:1px solid var(--line);padding-top:18px;color:var(--ink);text-decoration:none}
.way a:hover{color:var(--burgundy)}
.way-icon{width:100%;height:96px;margin-top:35px;color:var(--burgundy)}

/* six stages */
.stages{padding:74px 0 85px!important;background:var(--surface);border-block:1px solid var(--line)}
.stage-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.stage-link{display:grid;grid-template-columns:36px 1fr 20px;gap:13px;padding:27px 24px 27px 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;transition:background .2s}
.stage-link:nth-child(3n+2),.stage-link:nth-child(3n+3){padding-left:24px;border-left:1px solid var(--line)}
.stage-link .num{font:12px/1.8 var(--mono);color:var(--burgundy)}
.stage-link h3{font-size:24px;margin-bottom:8px}
.stage-link p{font:15px/1.5 var(--serif);color:var(--muted)}
.stage-link>span:last-child{color:var(--burgundy)}
.stage-link:hover{text-decoration:none;background:var(--pale)}

/* tools rail */
.tools{padding-top:85px!important}
.tools-stage{padding-bottom:80px;overflow:hidden}
.tools .section-head{margin-bottom:35px}
.tools .rail-btn{border-color:var(--line-2)}
.tool-window{overflow:hidden}
.tool-track{display:flex;gap:20px;width:max-content;will-change:transform}
.tool-panel{width:520px;border:1px solid var(--ink);background:var(--surface);flex-shrink:0;display:flex;flex-direction:column;color:var(--ink)}
.tool-panel:first-child{background:var(--burgundy);color:#fff;border-color:var(--burgundy)}
.terminal-head{display:flex;justify-content:space-between;align-items:center;padding:17px 24px;border-bottom:1px solid var(--line);font:500 11px var(--mono);text-transform:uppercase;letter-spacing:.06em}
.tool-panel:first-child .terminal-head{border-color:rgba(255,255,255,.3)}
.terminal-head i{display:inline-block;height:6px;width:6px;background:currentColor}
.tool-content{padding:30px 32px 22px;flex:1}
.tool-content h3{font-size:36px;line-height:1.08;max-width:420px;min-height:80px;color:inherit}
.tool-content p{font:17px/1.55 var(--serif);margin-top:18px;max-width:420px}
.tool-chart{height:110px;width:100%;display:block;margin:25px 0 15px}
.tool-bottom{margin:0 32px;padding:17px 0 20px;border-top:1px solid currentColor;display:flex;justify-content:space-between;font-size:13px;font-weight:600;color:inherit;text-decoration:none}
.tool-bottom:hover{text-decoration:underline}
.tool-panel.all{background:var(--band);border-style:dashed}
.tool-panel.all h3{color:var(--burgundy)}
.tools-foot{display:flex;justify-content:space-between;margin-top:22px;color:var(--muted)}
@media (min-width:900px){html.motion .tools{height:240vh;padding-top:0!important}html.motion .tools-stage{position:sticky;top:0;height:100vh;min-height:730px;display:flex;flex-direction:column;justify-content:center;padding-top:50px;padding-bottom:30px}}

/* tracker teaser */
.tracker{background:var(--pale);border-block:1px solid var(--pale-line);padding:75px 0!important}
.tracker-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:90px;align-items:start}
.tracker h2{max-width:590px}
.tracker-copy{font:19px/1.65 var(--serif);margin-top:25px;max-width:590px}
.source-note{border-left:2px solid var(--burgundy);padding:0 0 0 18px;font:15px/1.65 var(--serif);margin-top:30px;max-width:550px}
.exchange-list{border-top:1px solid var(--burgundy);margin-top:5px}
.exchange-row{border-bottom:1px solid var(--pale-line);padding:19px 0;display:flex;justify-content:space-between;align-items:center;font-size:22px;letter-spacing:-.03em}
.exchange-row span:last-child{font:11px var(--mono);color:var(--burgundy);letter-spacing:.06em}
.tracker-tag{display:flex;gap:10px;align-items:center;color:var(--burgundy);margin-top:20px}
.tracker-tag::before{content:"";width:6px;height:6px;border:1px solid currentColor}
.tracker .btn{margin-top:28px}

.reveal{opacity:1}
html.js .reveal{opacity:0;transform:translateY(16px);transition:opacity .6s,transform .6s}
html.js .reveal.in{opacity:1;transform:none}
@media (min-width:900px){html:not(.motion) .clock-window,html:not(.motion) .tool-window{overflow-x:auto;scroll-snap-type:x mandatory}html:not(.motion) .clock-step,html:not(.motion) .tool-panel{scroll-snap-align:start}}
@media (max-width:1100px){.hero-top{gap:20px}.hero-copy{font-size:18px}.hero .btn{padding:16px;font-size:12px;gap:14px}.hero-art{margin-left:0}.tracker-grid{gap:45px}}
@media (max-width:899px){
  .hero{padding:45px 0!important}.hero-top{grid-template-columns:1fr}.hero-art{width:min(560px,100%);margin:25px auto 0}.hero h1{font-size:clamp(54px,10vw,84px)}.hero-foot{margin-top:35px}
  .clock-stage{padding:50px 0}.clock .section-head{margin-bottom:35px}.clock-window{overflow:visible}.clock-track{width:auto;display:block;transform:none!important}
  .clock-track::before,.clock-progress{left:14px;top:0;width:2px;height:calc(100% - 100px)}.clock-progress{transform:scaleY(0);transform-origin:top}
  .clock-step{padding:0 0 34px 57px;width:auto;min-height:150px}.clock-marker{position:absolute;left:0;top:0;margin:0}.clock-step .time{margin-bottom:7px}.clock-step h3{min-height:0;margin-bottom:9px}.clock-step p{max-width:500px}.clock-bottom{margin-top:0}.clock .rail-controls{display:none}
  .ways{padding:60px 0!important}.way{padding-right:20px}.way+.way{padding-left:20px}.way h3{font-size:32px}.way-top{display:block}.way .count{display:block;margin-top:9px}.way p{font-size:16px}
  .stage-grid{grid-template-columns:repeat(2,1fr)}.stage-link:nth-child(n){padding-left:0;border-left:0}.stage-link:nth-child(even){padding-left:20px;border-left:1px solid var(--line)}
  .tools{padding-top:60px!important}.tools-stage{padding-bottom:60px}.tool-window{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--burgundy) var(--pale);padding-bottom:14px}.tool-track{gap:14px}.tool-panel{width:min(520px,calc(100vw - 60px));scroll-snap-align:start}.tool-content{padding:26px}.tool-content h3{font-size:32px}.tool-bottom{margin-inline:26px}
  .tracker-grid{grid-template-columns:1fr;gap:40px}
  .home .section-head{gap:20px}.home .section-head .rail-controls{flex-shrink:0}
}
@media (max-width:599px){
  .hero{padding-top:37px!important}.hero h1{font-size:54px}.hero .eyebrow{font-size:10px;margin-bottom:22px}.hero-copy{font-size:17.5px;line-height:1.55;margin-top:24px}.hero .actions{display:grid;grid-template-columns:1fr}.hero .btn{font-size:13px;padding:17px 18px}.art-caption{font-size:8px}.hero-foot{font-size:9px;gap:12px}
  .home .section-head{display:block;margin-bottom:30px}.home h2{font-size:36px}
  .ways-grid{grid-template-columns:1fr}.way:nth-child(n){padding:26px 0;border-left:0;border-bottom:1px solid var(--line)}.way-top{display:flex;align-items:baseline;margin-bottom:18px}.way h3{font-size:39px}.way p{max-width:100%}.way-icon{height:68px;margin-top:20px}.way a{margin-top:20px}
  .stages{padding:52px 0!important}.stage-grid{grid-template-columns:1fr}.stage-link:nth-child(n){border-left:0;padding:22px 0}
  .tools .section-head{display:flex;align-items:end;gap:14px}.tools h2{font-size:32px}.tools .rail-btn{width:32px;height:34px}.tool-content h3{font-size:30px;min-height:0}.tool-content p{font-size:16px}.tool-chart{height:95px}.terminal-head{padding:16px 23px;font-size:10px}.tools-foot{font-size:9px;gap:20px}
  .tracker{padding:52px 0!important}.tracker-copy{font-size:18px}.exchange-row{font-size:20px}
}

@media print{
  .build-strip,.site-head,.site-foot,.toc,.cl-bar .actions,.nav-toggle{display:none!important}
  body{background:#fff;color:#000;font-size:12pt}
  .page-head{background:none;padding-block:0 12px}
  .cl-item{break-inside:avoid;border-color:#bbb}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}
  html.js .reveal{opacity:1;transform:none}
  .clock-progress{transform:scaleX(1)}.clock-step .clock-marker{background:var(--burgundy);border-color:#B9868D}.clock-step .clock-marker::after{background:var(--surface)}
}
@media (prefers-reduced-motion:reduce) and (max-width:899px){.clock-progress{transform:scaleY(1)}}
