
/* ---- Theme tokens (Kit layer) ---- */
:root{
  --paper:#F5EFE3; --paper-wash:#EDE4D2; --ink:#1A1714; --ink-soft:#5E554C;
  --oxblood:#6E1E2B; --oxblood-deep:#4C1119; --rule:#CDBFA9; --embed:#9C8E78;
  --font:"Newsreader","Iowan Old Style","Palatino Linotype",Georgia,serif;
  --measure:64ch; --accent-2:var(--oxblood); --panel:#FFFFFF; --turq-text:var(--accent-2); --radius:4px; --btn-radius:4px; --display-weight:400; --hero-weight:300; --u-grey:#9AA3AE; --rhythm:4.5rem; --risk:#8A3A2A; --mono:"IBM Plex Mono",Consolas,monospace; --gutter:clamp(20px,5vw,72px); --col-margin:11rem;
}
*{box-sizing:border-box}
html{background:var(--paper);color:var(--ink);font-family:var(--font);font-size:clamp(17px,1.05vw + 12px,20px);line-height:1.55;-webkit-font-smoothing:antialiased;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0}
a{color:inherit;text-decoration-color:var(--rule);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{text-decoration-color:var(--oxblood)}
a:focus-visible,button:focus-visible{outline:2px solid var(--oxblood);outline-offset:3px}
h1,h2,h3{font-weight:400;margin:0;letter-spacing:-.005em;font-family:var(--font-display,var(--font))}
p{margin:0 0 1em;max-width:var(--measure)}
::selection{background:var(--oxblood);color:var(--paper)}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}

/* ---- Header ---- */
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--paper);padding:.6rem 1rem;z-index:10}
.skip:focus{left:0}
header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.2rem var(--gutter);border-bottom:1px solid var(--rule)}
.wordmark{font-size:1.15rem;font-weight:500;text-decoration:none;letter-spacing:.01em;white-space:nowrap}
.wordmark sup{font-size:.55em;font-weight:400;margin-left:.15em;color:var(--ink-soft)}
nav ul{list-style:none;margin:0;padding:0;display:flex;gap:1.6rem;font-size:.95rem;align-items:center}
nav a{text-decoration:none}
nav a:hover{text-decoration:underline}
.btn{display:inline-block;padding:.65rem 1.2rem;border:1px solid var(--oxblood);color:var(--oxblood-deep);text-decoration:none;font-size:.98rem;border-radius:2px;line-height:1.2;white-space:nowrap}
.btn:hover{background:var(--oxblood);color:var(--paper)}
.btn.primary{background:var(--oxblood);color:var(--paper)}
.btn.primary:hover{background:var(--oxblood-deep);border-color:var(--oxblood-deep)}
.btn.quiet{border-color:transparent;padding-left:.4rem;padding-right:.4rem;text-decoration:underline;text-decoration-color:var(--rule)}
.btn.quiet:hover{background:none;color:var(--oxblood-deep);text-decoration-color:var(--oxblood)}

/* ---- Section frame ---- */
section{padding:4.5rem var(--gutter);border-bottom:1px solid var(--rule)}
.frame{display:grid;grid-template-columns:var(--col-margin) minmax(0,1fr);gap:2rem;max-width:1180px}
.note{font-size:.9rem;color:var(--ink-soft);font-style:italic;line-height:1.4;padding-top:.45rem}
.note a{display:block;margin-top:.6rem;font-style:normal;overflow-wrap:anywhere}
h2{font-size:clamp(1.7rem,2.6vw,2.35rem);line-height:1.15;margin-bottom:1.2rem;max-width:24ch;font-variation-settings:"opsz" 72}
.intro{font-size:1.08rem;margin-bottom:2rem}

/* ---- Hero ---- */
.pill-tag{display:inline-block;font-family:"IBM Plex Mono",Consolas,monospace;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--oxblood-deep);border:1px solid var(--oxblood);border-radius:999px;padding:.3rem .8rem;margin-bottom:1.2rem}
.hero{padding:5rem var(--gutter) 4.5rem}
.hero .frame{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.hero h1{font-size:clamp(2.4rem,5vw,4.4rem);line-height:1.04;font-weight:300;max-width:16ch;font-variation-settings:"opsz" 72}
.hero h1 em{font-style:italic;font-weight:300}
.hero .tagline{font-size:1.35rem;margin-top:1.6rem;max-width:34ch;line-height:1.3}
.hero .lede{font-size:1.05rem;margin-top:1.1rem;max-width:46ch;color:var(--ink-soft)}
.hero .cta{margin-top:2rem;display:flex;gap:.9rem;align-items:center;flex-wrap:wrap}

/* ---- Embedded developer-center tools (placeholder convention) ---- */
.embed{border:1px dashed var(--embed);border-radius:2px;position:relative;background:var(--paper-wash)}
.embed-tag{font-size:.78rem;color:var(--ink-soft);font-style:italic;padding:.45rem .9rem;border-bottom:1px dashed var(--embed);display:flex;justify-content:space-between;gap:1rem}
.embed-tag a{font-style:normal}
.embed-body{padding:1.2rem 1.4rem 1.1rem}
.embed.stub .embed-body{min-height:9rem;display:flex;align-items:center;color:var(--ink-soft);font-style:italic;font-size:.95rem}

/* ---- Score simulator ---- */
.sim .picker{display:flex;gap:.35rem;margin-bottom:1rem;flex-wrap:wrap}
.sim .picker button{width:2.6rem;height:2.6rem;border:1px solid var(--rule);border-radius:2px;font-size:1.25rem;font-weight:500;color:var(--ink-soft);background:var(--paper)}
.sim .picker button:hover{border-color:var(--oxblood);color:var(--oxblood)}
.sim .picker button[aria-pressed="true"]{background:var(--oxblood);border-color:var(--oxblood);color:var(--paper)}
.sim .picker button.risk[aria-pressed="true"]{background:var(--risk);border-color:var(--risk)}
.ledger{font-variant-numeric:tabular-nums}
.ledger .row{display:grid;grid-template-columns:7.5rem 1fr;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--rule);font-size:.95rem}
.ledger .row:last-child{border-bottom:0}
.ledger .k{color:var(--ink-soft);font-style:italic}
.ledger .v{min-height:1.4em}
.ledger .score{font-size:2.4rem;line-height:1;font-weight:500;color:var(--oxblood);display:inline-block;vertical-align:-.1em;margin-right:.45rem;font-variation-settings:"opsz" 72}
.ledger .score.risk{color:var(--risk)}
.sim .toggle{display:flex;gap:1rem;font-size:.88rem;margin-bottom:.9rem;color:var(--ink-soft)}
.sim .toggle button{text-decoration:underline;text-decoration-color:var(--rule)}
.sim .toggle button[aria-pressed="true"]{color:var(--ink);text-decoration-color:var(--oxblood)}
.cursor{display:inline-block;width:.5ch;border-bottom:1px solid var(--ink-soft);animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
@media (prefers-reduced-motion:reduce){.cursor{animation:none}}

/* ---- Three capabilities ---- */
.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.2rem;max-width:60rem;border-top:1px solid var(--rule);padding-top:1.4rem}
.three h3{font-size:1.3rem;margin-bottom:.3rem}
.three .role{font-style:italic;color:var(--ink-soft);font-size:.95rem;margin-bottom:.6rem}
.three p{font-size:.98rem}

/* ---- Two layers ---- */
.layers{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:3rem;max-width:60rem}
.layers h3{font-size:1.3rem;margin-bottom:.6rem}
.ladder{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.ladder li{display:grid;grid-template-columns:2.6rem 7rem minmax(0,1fr);gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--rule);align-items:baseline}
.ladder .letter{font-size:1.7rem;line-height:1;font-weight:500;color:var(--oxblood);font-variation-settings:"opsz" 72}
.ladder li.risk .letter{color:var(--risk)}
.ladder .name{font-weight:500;font-size:.98rem}
.ladder .fires{color:var(--ink-soft);font-size:.92rem}
.dossier{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.dossier li{padding:.7rem 0;border-bottom:1px solid var(--rule);font-size:.98rem}
.dossier li span{color:var(--ink-soft);font-style:italic;display:block;font-size:.9rem}
.layers .ordering{font-size:.95rem;margin-top:1rem;color:var(--ink-soft);font-style:italic}

/* ---- Real time ---- */
.moments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.2rem;max-width:60rem}
.moments h3{font-size:1.3rem;margin-bottom:.4rem}
.moments p{font-size:.98rem}
.moments .ms{font-size:2.6rem;font-weight:300;color:var(--oxblood);line-height:1;margin:.2rem 0 .8rem;font-variation-settings:"opsz" 72}
.moments .ms small{font-size:.38em;color:var(--ink-soft);margin-left:.3em}

/* ---- Signals in, decisions out ---- */
.flow{display:grid;grid-template-columns:minmax(0,1fr) 12rem minmax(0,1fr);gap:1.5rem;max-width:60rem;align-items:start}
.flow ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.flow li{padding:.55rem 0;border-bottom:1px solid var(--rule);font-size:.95rem}
.flow .core{text-align:center;padding:1.2rem .8rem;border:1px solid var(--rule);border-radius:2px;background:var(--paper-wash);font-size:.95rem}
.flow .core strong{display:block;font-weight:500;font-size:1.15rem;margin-bottom:.4rem}
.flow .core em{display:block;color:var(--ink-soft);font-size:.88rem}
.flow h3{font-size:1.05rem;margin-bottom:.6rem;color:var(--ink-soft);font-style:italic;font-weight:400}
.flow .back{grid-column:1/-1;text-align:center;font-size:.92rem;color:var(--ink-soft);font-style:italic;margin-top:.4rem}

/* ---- Product lines ---- */
.lines{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule);max-width:60rem}
.lines li{display:grid;grid-template-columns:13rem minmax(0,1fr);gap:1.5rem;padding:1rem 0;border-bottom:1px solid var(--rule);align-items:baseline}
.lines h3{font-size:1.15rem}
.lines p{font-size:.95rem;margin:0}
.lines .status{font-size:.88rem;font-style:italic;color:var(--ink-soft);text-align:right}
.lines .status.live{color:var(--oxblood-deep);font-style:normal}

/* ---- Proof ---- */
.proof .big{font-size:clamp(3.4rem,8vw,6.6rem);line-height:.95;font-weight:300;color:var(--oxblood);letter-spacing:-.02em;font-variation-settings:"opsz" 72;margin:.2rem 0 1rem}
.proof .big small{font-size:.32em;color:var(--ink);letter-spacing:0;font-weight:400;margin-left:.3em;display:inline-block;vertical-align:.55em;max-width:18ch;line-height:1.2}
.proof .basis{font-size:.9rem;color:var(--ink-soft);font-style:italic}

/* ---- Access modes ---- */
.modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.2rem;max-width:60rem;border-top:1px solid var(--rule);padding-top:1.4rem}
.modes h3{font-size:1.3rem;margin-bottom:.3rem}
.modes .who{font-style:italic;color:var(--ink-soft);font-size:.92rem;margin-bottom:.6rem}
.modes p{font-size:.98rem}

/* ---- Re-rate ---- */
.rerate{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem;max-width:60rem}
.rerate h3{font-size:1.3rem;margin-bottom:.5rem}
.rerate p{font-size:.98rem}

/* ---- Solutions ---- */
.solutions{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule);max-width:60rem}
.solutions li{display:grid;grid-template-columns:14rem minmax(0,1fr);gap:1.5rem;padding:1.3rem 0;border-bottom:1px solid var(--rule)}
.solutions h3{font-size:1.2rem}
.solutions p{font-size:.98rem;margin-bottom:.4rem}

/* ---- Trust, closing, footer ---- */
.closing{background:var(--ink);color:var(--paper);border-bottom:0}
.closing h2{max-width:26ch;color:var(--paper)}
.closing p{color:#CFC6B8}
.closing .note{color:#A9A094}
.closing .btn{border-color:var(--paper);color:var(--paper)}
.closing .btn.primary{background:var(--paper);color:var(--ink)}
.closing .btn.primary:hover{background:#E6DECF}
.closing .btn.quiet{border-color:transparent}
.closing .cta{display:flex;gap:.9rem;align-items:center;flex-wrap:wrap}

footer{padding:3rem var(--gutter) 2.5rem;font-size:.9rem;color:var(--ink-soft)}
.sitemap{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2rem;max-width:1180px;margin-bottom:2.5rem}
.sitemap h3{font-size:.95rem;color:var(--ink);margin-bottom:.6rem;font-weight:500}
.sitemap ul{list-style:none;margin:0;padding:0}
.sitemap li{margin:.3rem 0}
.sitemap a{text-decoration:none}
.sitemap a:hover{text-decoration:underline}

.legal{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap;border-top:1px solid var(--rule);padding-top:1.4rem;font-size:.85rem}

@media (max-width:900px){
  header{flex-wrap:wrap}
  header nav{order:3;width:100%}
  nav ul{flex-wrap:wrap;row-gap:.3rem;gap:1rem}
  .frame,.hero .frame{grid-template-columns:1fr}
  .note{border-top:1px solid var(--rule);padding-top:.6rem}
  .hero .note{display:none}
  .three,.moments,.modes,.layers,.rerate{grid-template-columns:1fr}
  .flow{grid-template-columns:1fr}
  .lines li{grid-template-columns:1fr}
  .lines .status{text-align:left}
  .solutions li{grid-template-columns:1fr}
  .sitemap{grid-template-columns:repeat(2,minmax(0,1fr))}
  section{padding:3.2rem var(--gutter)}
}

/* ---- shared page-level additions (v3) ---- */
.crumb{font-size:.85rem;color:var(--ink-soft);margin-bottom:.8rem}
.crumb a{text-decoration:none}
.crumb a:hover{text-decoration:underline}
.page-head{padding:3.6rem var(--gutter) 2.6rem;border-bottom:1px solid var(--rule)}
.page-head h1{font-size:clamp(2.1rem,4vw,3.4rem);line-height:1.06;font-weight:300;max-width:20ch;font-variation-settings:"opsz" 72}
.page-head .standfirst{font-size:1.15rem;margin-top:1.1rem;max-width:52ch}
.steps{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule);max-width:60rem;counter-reset:st}
.steps li{counter-increment:st;display:grid;grid-template-columns:2.2rem 11rem minmax(0,1fr);gap:1.2rem;padding:.8rem 0;border-bottom:1px solid var(--rule);align-items:baseline;font-size:.98rem}
.steps li::before{content:counter(st);color:var(--ink-soft);font-size:.9rem}
.steps b{font-weight:500}
.people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 2.6rem;max-width:62rem;border-top:1px solid var(--rule);padding-top:1.6rem}
.people h3{font-size:1.25rem}
.people .role{font-style:italic;color:var(--ink-soft);font-size:.95rem;margin:.1rem 0 .6rem}
.people p{font-size:.96rem}
.people .portrait{border:1px dashed var(--embed);background:var(--paper-wash);height:7rem;margin-bottom:.8rem;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-style:italic;color:var(--ink-soft)}
.specs{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule);max-width:60rem}
.specs li{display:grid;grid-template-columns:12rem minmax(0,1fr);gap:1.5rem;padding:.7rem 0;border-bottom:1px solid var(--rule);font-size:.96rem}
.specs .k{color:var(--ink-soft);font-style:italic}
.contact-block{font-size:.98rem;line-height:1.6}
/* hero problem picker */
.picker-row{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1rem}
.picker-row button{padding:.4rem .8rem;border:1px solid var(--rule);border-radius:2px;font-size:.9rem;color:var(--ink-soft);background:var(--paper)}
.picker-row button:hover{border-color:var(--oxblood);color:var(--oxblood)}
.picker-row button[aria-pressed="true"]{background:var(--oxblood);border-color:var(--oxblood);color:var(--paper)}
.compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;border-top:1px solid var(--rule);padding-top:.9rem}
.compare h4{font-size:.88rem;font-weight:500;margin:0 0 .4rem;color:var(--ink-soft);font-style:italic}
.compare p{font-size:.95rem;margin:0}
.outcome{border-top:1px solid var(--rule);margin-top:.9rem;padding-top:.7rem;font-size:.95rem}
.outcome b{font-weight:500}
@media (max-width:820px){.people,.compare{grid-template-columns:1fr}.steps li{grid-template-columns:1.6rem minmax(0,1fr)}.steps li b{grid-column:2}}


/* ---- diagram ---- */
.diag{max-width:62rem}
.dline{font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);margin:.6rem 0}
.dline b{color:var(--ink)}
.dboxes{display:grid;grid-template-columns:1fr auto 1.15fr auto 1.15fr auto 1fr;gap:.5rem;align-items:stretch;margin:.4rem 0}
.dbox{border:1px solid var(--rule);background:var(--paper-wash);padding:1rem .8rem;text-align:center;display:flex;flex-direction:column;justify-content:center;gap:.3rem;min-height:8rem}
.dbox strong{font-size:1.05rem;font-weight:600}
.dbox span{font-size:.85rem;color:var(--ink-soft)}
.dbox em{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;font-style:normal;color:var(--oxblood-deep)}
.dbox.core{border:2px solid var(--oxblood);background:var(--paper)}
.darrow{align-self:center;font-size:1.4rem;color:var(--ink)}
.dloop{position:relative;text-align:center;margin:.2rem 0 .6rem}
.dloop::before{content:"";position:absolute;left:12%;right:12%;top:50%;border-top:1px dashed var(--ink)}
.dloop span{position:relative;display:inline-block;background:var(--paper);border:1px solid var(--ink);border-radius:999px;padding:.3rem 1rem;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}
.dnote{border-top:1px solid var(--rule);padding-top:.8rem;margin-top:.8rem;font-size:.95rem;color:var(--ink-soft);text-align:center}
@media (max-width:820px){.dboxes{grid-template-columns:1fr}.darrow{transform:rotate(90deg);justify-self:center}}

/* =====================================================================
   v4 — global header, mobile nav, footer, and new page components
   ===================================================================== */

/* ---- Global header ---- */
.site-header{position:sticky;top:0;z-index:20;background:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem var(--gutter);border-bottom:1px solid var(--rule)}
.wordmark{display:inline-flex;align-items:center;gap:.6rem}
.logo-slot{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;border:1px dashed var(--embed);font-size:.7rem;letter-spacing:.06em;color:var(--ink-soft);flex:none}
.site-nav{display:flex;align-items:center;gap:1.8rem}
.site-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:1.5rem;font-size:.95rem;align-items:center}
.site-nav a{text-decoration:none}
.site-nav ul a:hover{text-decoration:underline}
.site-nav a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--oxblood);text-decoration-thickness:2px}
.nav-toggle{display:none;align-items:center;gap:.5rem;font-size:.9rem;padding:.4rem .2rem}
.nav-toggle .bars{display:inline-flex;flex-direction:column;justify-content:space-between;width:20px;height:14px}
.nav-toggle .bars span{display:block;height:2px;background:var(--ink);transition:transform .2s,opacity .2s}
.nav-toggle[aria-expanded="true"] .bars span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .bars span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] .bars span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
@media (prefers-reduced-motion:reduce){.nav-toggle .bars span{transition:none}}

@media (max-width:1140px){
  .js .nav-toggle{display:inline-flex}
  .js .site-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--rule);flex-direction:column;align-items:stretch;gap:0;padding:.5rem var(--gutter) 1.5rem;max-height:calc(100vh - 4rem);overflow:auto}
  .js .site-nav.open{display:flex}
  .js .site-nav ul{flex-direction:column;align-items:stretch;gap:0;font-size:1.15rem}
  .js .site-nav li{border-bottom:1px solid var(--rule)}
  .js .site-nav ul a{display:block;padding:.95rem 0}
  .js .site-nav .nav-cta{margin-top:1.2rem;text-align:center;padding:.9rem 1.2rem}
  html:not(.js) .site-header{flex-wrap:wrap}
  html:not(.js) .site-nav{width:100%;flex-wrap:wrap;gap:1rem}
  html:not(.js) .site-nav ul{flex-wrap:wrap;gap:.4rem 1rem}
  body.nav-open{overflow:hidden}
}

/* ---- Global footer ---- */
.site-footer{padding:3.5rem var(--gutter) 2.5rem;font-size:.9rem;color:var(--ink-soft);border-top:1px solid var(--rule)}
.footer-top{display:grid;grid-template-columns:minmax(0,17rem) minmax(0,1fr);gap:3rem;max-width:1180px;margin-bottom:2.5rem}
.footer-brand p{margin:.9rem 0 1.2rem;max-width:24ch;color:var(--ink)}
.footer-brand .wordmark{color:var(--ink)}
.site-footer .sitemap{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:0}
.site-footer .sitemap li:first-child a{color:var(--ink);font-weight:500}
@media (max-width:980px){.footer-top{grid-template-columns:1fr;gap:2rem}}
@media (max-width:640px){.site-footer .sitemap{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:1.8rem}.legal{flex-direction:column;gap:.6rem}}

/* ---- Image slots: where a photo or illustration goes ---- */
.img-slot{position:relative;border:1px dashed var(--embed);background:repeating-linear-gradient(135deg,var(--paper) 0 10px,var(--paper-wash) 10px 20px);display:flex;align-items:flex-end;aspect-ratio:16/9;max-width:60rem;margin:2rem 0 0}
.img-slot.wide{aspect-ratio:21/9}
.img-slot.square{aspect-ratio:1/1}
.img-slot.portrait{aspect-ratio:4/5}
.img-slot figcaption{background:var(--paper);border-top:1px dashed var(--embed);width:100%;padding:.5rem .9rem;font-size:.82rem;color:var(--ink-soft);line-height:1.35}
.img-slot figcaption b{color:var(--ink);font-weight:500}
.page-head .img-slot{margin-top:2.2rem}

/* ---- Status tag on product pages ---- */
.status-tag{display:inline-block;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--rule);padding:.25rem .7rem;margin-bottom:1rem;color:var(--ink-soft)}
.status-tag.live{border-color:var(--oxblood);color:var(--oxblood-deep)}

/* ---- Team: three across ---- */
.people.three-up{grid-template-columns:repeat(3,minmax(0,1fr))}
.people .portrait{height:auto;aspect-ratio:4/5}
@media (max-width:980px){.people.three-up{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.people.three-up{grid-template-columns:1fr}}

/* ---- Link list (developer center, related) ---- */
.linklist{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule);max-width:60rem}
.linklist li{display:grid;grid-template-columns:13rem minmax(0,1fr);gap:1.5rem;padding:.9rem 0;border-bottom:1px solid var(--rule);align-items:baseline}
.linklist a{font-weight:500}
.linklist p{margin:0;font-size:.95rem}
@media (max-width:820px){.linklist li{grid-template-columns:1fr;gap:.2rem}}

/* ---- Brand swatches ---- */
.swatches{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;max-width:46rem;margin:1.2rem 0 1.6rem}
.swatch{border:1px solid var(--rule);font-size:.82rem}
.swatch i{display:block;height:4.5rem;border-bottom:1px solid var(--rule)}
.swatch span{display:block;padding:.45rem .6rem;line-height:1.3}
.swatch span small{display:block;color:var(--ink-soft);font-family:"IBM Plex Mono",Consolas,monospace;font-size:.72rem}
@media (max-width:640px){.swatches{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---- Contact form ---- */
.contact-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:3rem;max-width:60rem}
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.2rem}
.form .full{grid-column:1/-1}
.form label{display:block;font-size:.88rem;margin-bottom:.3rem;color:var(--ink)}
.form label .opt{color:var(--ink-soft);font-style:italic}
.form input,.form select,.form textarea{width:100%;font:inherit;font-size:1rem;color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:2px;padding:.7rem .8rem}
.form textarea{min-height:9rem;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--oxblood);outline-offset:1px;border-color:var(--oxblood)}
.form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form .actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.form .fine{font-size:.82rem;color:var(--ink-soft);margin:0}
.form-status{grid-column:1/-1;border:1px solid var(--rule);padding:1rem 1.1rem;font-size:.95rem;display:none}
.form-status.show{display:block}
.form-status.error{border-color:var(--risk)}
@media (max-width:820px){.contact-grid{grid-template-columns:1fr}.form{grid-template-columns:1fr}}

/* ---- Legal documents ---- */
.legal-doc{max-width:46rem}
.legal-doc h2{font-size:1.4rem;margin:2.2rem 0 .8rem;max-width:none}
.legal-doc h3{font-size:1.1rem;margin:1.4rem 0 .5rem}
.legal-doc p,.legal-doc li{font-size:.98rem}
.legal-doc .meta{font-size:.9rem;color:var(--ink-soft);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:.7rem 0;margin-bottom:1.8rem}
.pending{border:1px dashed var(--embed);background:var(--paper-wash);padding:1.2rem 1.4rem;font-size:.95rem}

/* ---- Small-screen hardening ---- */
@media (max-width:640px){
  .ladder li{grid-template-columns:2rem minmax(0,1fr)}
  .ladder .fires{grid-column:2}
  .specs li{grid-template-columns:1fr;gap:.2rem}
  .picker-row button{flex:1 1 auto}
  .hero .cta .btn,.closing .cta .btn{flex:1 1 auto;text-align:center}
}

/* ---- On-page index (company) ---- */
.onpage{list-style:none;margin:1.6rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;font-size:.95rem}
.onpage a{text-decoration:none;border-bottom:1px solid var(--rule)}
.onpage a:hover{border-bottom-color:var(--oxblood)}
[id]{scroll-margin-top:5rem}
/* ---- Before / after table (solutions) ---- */
.ba{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule);max-width:60rem}
.ba li{display:grid;grid-template-columns:11rem minmax(0,1fr) minmax(0,1fr);gap:1.5rem;padding:1rem 0;border-bottom:1px solid var(--rule);font-size:.96rem}
.ba .hd{font-size:.82rem;color:var(--ink-soft);font-style:italic;padding:.5rem 0}
.ba b{font-weight:500}
@media (max-width:820px){.ba li{grid-template-columns:1fr;gap:.35rem}.ba .hd{display:none}.ba li span:nth-child(2)::before{content:"Today — ";color:var(--ink-soft);font-style:italic}.ba li span:nth-child(3)::before{content:"With Intelligent Handshake — ";color:var(--ink-soft);font-style:italic}}
.toc{list-style:none;margin:.6rem 0 0;padding:0;font-style:normal;font-size:.85rem;line-height:1.35}
.toc li{margin:.35rem 0}
.toc a{display:inline;margin:0;text-decoration:none}
.toc a:hover{text-decoration:underline}
@media (max-width:900px){.toc{columns:2;column-gap:1.5rem}}
.people .portrait.img-slot{display:flex;align-items:flex-end;justify-content:stretch;margin:0 0 .9rem;font-style:normal}

/* =====================================================================
   v5 — system of decision components
   ===================================================================== */
.eyebrow{display:block;font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--oxblood-deep);margin-bottom:.8rem}

/* The equation: moments x models x offers = decisions */
.equation{display:grid;grid-template-columns:minmax(0,1fr) 2rem minmax(0,1fr) 2rem minmax(0,1fr) 2rem minmax(0,1fr);align-items:stretch;max-width:66rem;margin:1.6rem 0 2.2rem}
.eq{border:1px solid var(--rule);padding:1.1rem 1.1rem 1.2rem;background:var(--paper)}
.eq .eyebrow{margin-bottom:.35rem}
.eq h3{font-size:1.3rem;margin-bottom:.15rem}
.eq .sub{font-family:var(--mono);font-size:.74rem;color:var(--ink-soft);margin:0 0 .7rem}
.eq p{font-size:.93rem;margin:0}
.eq a{display:inline-block;margin-top:.7rem;font-size:.9rem}
.eq.result{border:2px solid var(--oxblood);background:var(--paper-wash)}
.op{display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--oxblood);font-family:var(--mono)}
.equation-line{font-family:var(--mono);font-size:.85rem;letter-spacing:.04em;color:var(--ink-soft);margin:0 0 .4rem}
@media (max-width:980px){.equation{grid-template-columns:1fr}.op{padding:.3rem 0}}

/* Four moments of truth, one highlighted */
.mot{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;max-width:66rem;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin:1.6rem 0 1.4rem}
.mot > div{padding:1.1rem 1rem 1.2rem;border-right:1px solid var(--rule)}
.mot > div:last-child{border-right:0}
.mot .when{font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}
.mot h3{font-size:1.15rem;margin:.35rem 0 .35rem}
.mot p{font-size:.9rem;margin:0 0 .6rem}
.mot .owner{font-size:.85rem;font-style:italic;color:var(--ink-soft);margin:0}
.mot .ours{background:var(--paper-wash);outline:2px solid var(--oxblood);outline-offset:-2px}
.mot .ours .owner{color:var(--oxblood-deep);font-style:normal;font-weight:500}
@media (max-width:820px){.mot{grid-template-columns:1fr}.mot > div{border-right:0;border-bottom:1px solid var(--rule)}.mot > div:last-child{border-bottom:0}}
.pull{font-size:1.2rem;line-height:1.35;max-width:40ch;margin:0}

/* Record / engagement / decision */
.systems{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem;max-width:66rem;margin:1.4rem 0 1.8rem}
.systems > div{border-top:1px solid var(--rule);padding-top:1rem}
.systems .ex{font-family:var(--mono);font-size:.74rem;color:var(--ink-soft);margin:.2rem 0 .6rem}
.systems h3{font-size:1.2rem}
.systems p{font-size:.95rem}
.systems .value{font-weight:500}
.systems .ours{border-top:2px solid var(--oxblood)}
@media (max-width:820px){.systems{grid-template-columns:1fr}}

/* Stacked layers (inside the models) */
.stack{list-style:none;margin:0;padding:0;max-width:62rem;border-top:1px solid var(--rule)}
.stack li{display:grid;grid-template-columns:14rem minmax(0,1fr);gap:1.5rem;padding:.9rem 0;border-bottom:1px solid var(--rule);font-size:.96rem}
.stack b{font-weight:500}
.stack li.core b::after{content:"compounds";font-family:var(--mono);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;color:var(--oxblood-deep);border:1px solid var(--oxblood);padding:.05rem .4rem;margin-left:.6rem;vertical-align:.15em;font-weight:400}
@media (max-width:820px){.stack li{grid-template-columns:1fr;gap:.25rem}}

/* Decision levers */
.levers{list-style:none;margin:1rem 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;max-width:46rem}
.levers li{border:1px solid var(--rule);padding:.6rem .8rem;font-size:.92rem;background:var(--paper)}
.levers li small{display:block;color:var(--ink-soft);font-size:.8rem}
@media (max-width:640px){.levers{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Progression (models that become yours) */
.progress{list-style:none;margin:1rem 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;max-width:62rem;counter-reset:pg}
.progress li{counter-increment:pg;border-top:2px solid var(--rule);padding:.9rem 1.2rem 0 0;font-size:.95rem}
.progress li:last-child{border-top-color:var(--oxblood)}
.progress li b{display:block;font-weight:500;font-size:1.05rem;margin-bottom:.25rem}
.progress li b::before{content:counter(pg) "  ";font-family:var(--mono);font-size:.8rem;color:var(--ink-soft)}
@media (max-width:820px){.progress{grid-template-columns:1fr;gap:1rem}}

/* The loop (offers) */
.loop{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;max-width:66rem;counter-reset:lp}
.loop li{counter-increment:lp;border:1px solid var(--rule);padding:1rem;font-size:.92rem;position:relative;background:var(--paper)}
.loop li::before{content:"0" counter(lp);display:block;font-family:var(--mono);font-size:.74rem;color:var(--oxblood-deep);margin-bottom:.3rem}
.loop li b{display:block;font-size:1.1rem;font-weight:500}
.loop li i{display:block;font-family:var(--mono);font-style:normal;font-size:.72rem;color:var(--ink-soft);margin:.1rem 0 .5rem}
.loop-back{max-width:66rem;border:1px solid var(--oxblood);border-top-width:2px;padding:.8rem 1rem;margin-top:.8rem;font-size:.95rem;display:flex;gap:1rem;align-items:baseline}
.loop-back b{font-weight:500;white-space:nowrap}
.loop-back b::before{content:"05  ";font-family:var(--mono);font-size:.74rem;color:var(--oxblood-deep)}
@media (max-width:900px){.loop{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.loop{grid-template-columns:1fr}.loop-back{flex-direction:column;gap:.3rem}}

/* Timeline (naming the moment) */
.timeline{list-style:none;margin:1.2rem 0 0;padding:0;max-width:62rem;border-top:1px solid var(--rule)}
.timeline li{display:grid;grid-template-columns:4.5rem 12rem minmax(0,1fr);gap:1.2rem;padding:.75rem 0;border-bottom:1px solid var(--rule);font-size:.95rem;align-items:baseline}
.timeline .yr{font-family:var(--mono);font-size:.85rem;color:var(--ink-soft)}
.timeline b{font-weight:500}
.timeline b small{display:block;font-weight:400;font-size:.82rem;color:var(--ink-soft)}
.timeline li.now{background:var(--paper-wash)}
.timeline li.now .yr,.timeline li.now b{color:var(--oxblood-deep)}
@media (max-width:720px){.timeline li{grid-template-columns:3.6rem minmax(0,1fr)}.timeline li > span:last-child{grid-column:2}}

/* Founder story with photo */
.story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.6rem;max-width:66rem;align-items:start;margin-top:2.4rem}
.story figure{margin:0}
.story img{display:block;width:100%;height:auto;border:1px solid var(--rule)}
.story figcaption{font-size:.82rem;color:var(--ink-soft);margin-top:.5rem}
.story h3{font-size:1.5rem;margin-bottom:.8rem}
@media (max-width:820px){.story{grid-template-columns:1fr;gap:1.4rem}}

/* Beliefs */
.beliefs{list-style:none;margin:0;padding:0;max-width:62rem;border-top:1px solid var(--rule)}
.beliefs li{padding:1.1rem 0;border-bottom:1px solid var(--rule)}
.beliefs h3{font-size:1.35rem;margin-bottom:.35rem}
.beliefs p{margin:0;font-size:.97rem}

/* Big figures row (proof) */
.figs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.4rem;max-width:62rem}
@media (max-width:820px){.figs{grid-template-columns:1fr}}

/* Kit-aware brand swatches */
.swatch code{display:block;font-family:var(--mono);font-size:.72rem;color:var(--ink-soft)}
.kit-name{font-family:var(--mono);font-size:.8rem;color:var(--ink-soft)}

/* Origin art (company page) */
.origin-art{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:1.8rem;align-items:center;max-width:52rem;margin-top:2.4rem}
.origin-art > a{display:block;padding:6px;border:1px solid var(--rule);background:var(--paper-wash);line-height:0}
.origin-art img{display:block;width:100%;height:auto}
.origin-art h3{font-size:1.25rem;margin-bottom:.4rem}
.origin-art p{font-size:.95rem;margin:0 0 .5rem}
@media (max-width:640px){.origin-art{grid-template-columns:1fr}}
.logo-lg{display:flex;width:5rem;height:5rem;font-size:1rem;margin:.4rem 0 1.4rem}
.figs .big small{display:block;font-size:1.05rem;line-height:1.35;margin:.6rem 0 0;max-width:30ch;vertical-align:baseline;letter-spacing:0}

/* The moments (platform) */
.moment-list{list-style:none;margin:0 0 2rem;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.6rem;max-width:66rem}
.moment-list a{display:block;border:1px solid var(--rule);padding:.8rem .8rem .9rem;text-decoration:none;background:var(--paper);height:100%}
.moment-list a:hover{border-color:var(--oxblood)}
.moment-list b{display:block;font-weight:500;font-size:1rem}
.moment-list span{display:block;font-size:.8rem;color:var(--ink-soft);margin-top:.2rem}
@media (max-width:980px){.moment-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.moment-list{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* =====================================================================
   v9 — cards, hero stat, bands, team photos (structure; the wireframe look)
   ===================================================================== */
.cards{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule);max-width:60rem}
.cards li a{display:grid;grid-template-columns:13rem minmax(0,1fr);gap:.3rem 1.5rem;padding:1rem 0;border-bottom:1px solid var(--rule);text-decoration:none;color:inherit}
.cards h3{font-size:1.15rem;text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:.18em;text-decoration-thickness:1px}
.cards li a:hover h3{text-decoration-color:var(--oxblood)}
.cards p{margin:0;font-size:.95rem;grid-column:2}
.cards h3{grid-column:1;grid-row:1 / span 2}
.cards .more,.cards .ico,.head-ico,.moment-list .ico{display:none}
.cards .uses{display:block;font-size:.85rem;color:var(--ink-soft);margin-top:.35rem}
@media (max-width:820px){.cards li a{grid-template-columns:1fr}.cards h3,.cards p{grid-column:1;grid-row:auto}}

.stat-hero{border:1px solid var(--rule);padding:2rem 2rem 1.8rem;background:var(--paper)}
.stat-hero .eyebrow{margin-bottom:.4rem}
.stat-num{font-size:clamp(5.5rem,12vw,9.5rem);line-height:.9;font-weight:700;letter-spacing:-.04em}
.stat-num span{font-size:.5em;letter-spacing:0;margin-left:.05em;vertical-align:.55em}
.stat-sub{font-size:1.35rem;margin:.6rem 0 1.2rem;max-width:none}
.stat-basis{font-size:.9rem;color:var(--ink-soft);border-top:1px solid var(--rule);padding-top:.9rem;margin:0;max-width:34ch}
.hero .frame{align-items:center}

.band{background:var(--paper-wash)}
.pick-band h2{margin-bottom:1.2rem}
.pick-band .embed{max-width:60rem}
.pick-band .compare{max-width:none}

.people .portrait.img-slot{position:relative;overflow:hidden}
.team-photo{display:none}
html.photos-on .team-photo{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
html.photos-on .people .portrait figcaption{display:none}
.photo-toggle{display:inline-block;margin-top:.8rem;font:inherit;font-size:.85rem;font-style:normal;border:1px solid var(--rule);padding:.3rem .7rem;background:var(--paper);cursor:pointer;color:var(--ink)}
.photo-toggle[aria-pressed="true"]{border-color:var(--ink)}

/* Brand options (/brand) */
.brand-opts{list-style:none;margin:0;padding:0;display:grid;gap:1rem;max-width:62rem}
.brand-opt{display:grid;grid-template-columns:120px minmax(0,1fr);gap:1.8rem;align-items:start;border:1px solid var(--rule);padding:1.6rem;background:var(--panel)}
.brand-opt img{width:120px;height:120px}
.brand-opt h3{font-size:1.5rem;margin:.1rem 0 .5rem}
.brand-opt p{font-size:.95rem}
.brand-opt .cta{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:.8rem}
@media (max-width:640px){.brand-opt{grid-template-columns:1fr}.brand-opt img{width:88px;height:88px}}
html:not([data-kit="wire"]) .brand-opt{border-radius:var(--radius)}

/* No widows: headings balance their lines, paragraphs avoid a lone last word,
   and .nw keeps a phrase together (the hero breaks only between its three phrases). */
h1,h2,h3,.standfirst,.tagline,.stat-sub{text-wrap:balance}
p,li{text-wrap:pretty}
.nw{white-space:nowrap}
.hero h1{max-width:18ch}

/* Registration mark and the hero emphasis: the last line carries the weight */
.wordmark sup.reg{display:inline;font-size:.5em;vertical-align:super;margin-left:.08em;color:inherit;font-weight:400;line-height:0}
.legal span:first-child{max-width:62rem;line-height:1.6}
html[data-kit] .hero h1.hero-h1{font-weight:400}
html[data-kit] .hero h1.hero-h1 strong{font-weight:700}

/* =====================================================================
   v12 structure: resources, the four layers, the decision, the aligned equation.
   Plain here (the wireframe); 01 Dahlia styles them in kits.css.
   ===================================================================== */
.nav-cycle{position:absolute;left:0;top:0;bottom:0;width:max(16px,calc(var(--gutter) - 8px));z-index:1;cursor:default}
.site-footer .sitemap{grid-template-columns:repeat(5,minmax(0,1fr))}
.sitemap li.sub{padding-left:.8rem;font-size:.88em}
@media (max-width:1100px){.site-footer .sitemap{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.site-footer .sitemap{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* the equation, set over its cards */
.equation-head{display:grid;grid-template-columns:minmax(0,1fr) 2rem minmax(0,1fr) 2rem minmax(0,1fr) 2rem minmax(0,1fr);align-items:end;max-width:66rem;margin:1.8rem 0 .7rem;font-size:1.45rem;line-height:1.15}
.equation-head .eqh{display:flex;flex-direction:column;gap:.5rem;padding:0 .2rem}
.equation-head .eqh > span{white-space:nowrap}
.equation-head .eqo{text-align:center;font-family:var(--mono);color:var(--ink-soft)}
.equation-head + .equation,.equation-head ~ .equation{margin-top:0}
.equation-head ~ .equation .eq .eyebrow{display:none}
h2.equation-head.as-title{margin-top:0;font-size:clamp(1.6rem,2.6vw,2.2rem)}
@media (max-width:980px){
  .equation-head{display:block}
  .equation-head .eqh,.equation-head .eqo{display:inline}
  .equation-head .eqo{padding:0 .3rem}
  .equation-head ~ .equation .eq .eyebrow{display:block}
}

/* the 25% card */
.stat-viz{display:block;width:100%;max-width:340px;height:auto;margin:1.2rem 0 .4rem;overflow:visible}
.stat-viz .sv-base{stroke:var(--ink);stroke-width:1}
.stat-viz .sv-level{stroke:var(--ink-soft);stroke-width:1;stroke-dasharray:3 4}
.stat-viz .sv-media{fill:var(--paper-wash);stroke:var(--rule)}
.stat-viz .sv-rev{fill:var(--ink-soft)}
.stat-viz .sv-rev-ih{fill:var(--ink)}
.stat-viz .sv-lift{fill:var(--oxblood)}
.stat-viz text{font-family:var(--mono);font-size:11px;fill:var(--ink-soft)}
.stat-viz .sv-strong{fill:var(--ink);font-weight:500}

/* the pick band: one centered, squarer card */
.pick-band .frame{grid-template-columns:1fr;justify-items:center;text-align:center}
.pick-band .note{border:0;padding:0}
.pick-band h2{text-align:center}
.pick-band .embed{max-width:46rem;width:100%;margin:0 auto;text-align:left}
.pick-band .picker-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin-bottom:1.4rem}
.pick-band .picker-row button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;padding:1rem .5rem;min-height:5.5rem;text-align:center;line-height:1.2}
.pick-band .compare{min-height:9rem}
@media (max-width:640px){.pick-band .picker-row{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* the four layers, newest on top */
.stack4{list-style:none;margin:1.6rem 0 2rem;padding:0;max-width:66rem;border-top:1px solid var(--rule)}
.stack4 li{display:grid;grid-template-columns:4.5rem 14rem minmax(0,1fr) minmax(0,1.1fr);gap:1.4rem;align-items:center;padding:1.1rem .6rem;border-bottom:1px solid var(--rule)}
.stack4 .yr{font-family:var(--mono);font-size:.8rem;color:var(--ink-soft)}
.stack4 h3{font-size:1.3rem;margin:0}
.stack4 .ex{font-family:var(--mono);font-size:.72rem;color:var(--ink-soft);margin:.15rem 0 0}
.stack4 .q{font-style:italic;margin:0}
.stack4 .who{font-size:.92rem;color:var(--ink-soft);margin:0}
.stack4 li.ours{outline:2px solid var(--ink);outline-offset:-2px}
.stack4 li.ours .who{color:var(--ink)}
@media (max-width:820px){.stack4 li{grid-template-columns:3.6rem minmax(0,1fr);gap:.3rem 1rem}.stack4 .yr{grid-row:span 3}.stack4 .q,.stack4 .who{grid-column:2}}

/* the decision: four steps and the loop back */
.dflow{list-style:none;margin:1.6rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2.2rem;max-width:66rem;counter-reset:d}
.dflow li{position:relative;border:1px solid var(--rule);padding:1.1rem 1.1rem 1.2rem;background:var(--paper)}
.dflow li + li::before{content:"→";position:absolute;left:-1.7rem;top:50%;transform:translateY(-50%);font-family:var(--mono);color:var(--ink-soft)}
.dflow b{display:block;font-size:1.1rem;font-weight:500;margin-bottom:.3rem}
.dflow span{display:block;font-size:.92rem;color:var(--ink-soft)}
.dflow li.back{border-width:2px;border-color:var(--ink)}
.dflow-back{max-width:66rem;margin:.2rem 0 2.6rem;position:relative;height:2.4rem;border:1px solid var(--ink-soft);border-top:0;margin-left:12%;margin-right:12%;text-align:center}
.dflow-back span{position:relative;top:1.6rem;background:var(--paper);padding:0 .8rem;font-style:italic;font-size:.92rem;color:var(--ink-soft)}
.sub-h{font-size:1.3rem;margin:1rem 0 1rem}
.corner{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:66rem}
.corner li{border:1px solid var(--rule);padding:1.2rem 1.3rem}
.corner h3{font-size:1.15rem;margin:0 0 .35rem}
.corner p{font-size:.94rem;margin:0}
@media (max-width:820px){.dflow{grid-template-columns:1fr;gap:1.6rem}.dflow li + li::before{content:"↓";left:50%;top:-1.45rem;transform:none}.dflow-back{display:none}.corner{grid-template-columns:1fr}}

/* resources */
.dev-badge{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1.2rem;align-items:center;max-width:46rem;margin:1.8rem 0 .4rem;padding:1.1rem 1.3rem;border:2px solid var(--ink);text-decoration:none;color:inherit}
.dev-badge-text{display:flex;flex-direction:column;gap:.15rem}
.dev-badge-text b{font-size:1.2rem;font-weight:500}
.dev-badge-text > span:last-child{font-size:.92rem;color:var(--ink-soft)}
.dev-badge-go{font-size:.88rem;font-weight:500;white-space:nowrap}
.dev-badge-go::after{content:" →"}
.dev-badge:hover{border-color:var(--oxblood)}
@media (max-width:640px){.dev-badge{grid-template-columns:1fr}.dev-badge-ico{display:none}}
.res-grid{list-style:none;margin:1.4rem 0 1rem;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;max-width:66rem}
.res-grid li > a,.res-grid li > div{display:block;height:100%;border:1px solid var(--rule);padding:1.1rem 1.1rem 1.2rem;text-decoration:none;color:inherit}
.res-grid li > a:hover{border-color:var(--oxblood)}
.res-grid h3{font-size:1.15rem;margin:0 0 .35rem}
.res-grid p{font-size:.92rem;margin:0;color:var(--ink-soft)}
@media (max-width:980px){.res-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.res-grid{grid-template-columns:1fr}}
.sublinks{font-size:.9rem;color:var(--ink-soft);max-width:66rem}
.news-list{list-style:none;margin:1.2rem 0 0;padding:0;display:grid;gap:1rem;max-width:66rem}
.news-list a{display:block;border:1px solid var(--rule);padding:1.3rem 1.4rem;text-decoration:none;color:inherit}
.news-list a:hover{border-color:var(--oxblood)}
.news-list h3{font-size:1.35rem;margin:.4rem 0 .4rem;max-width:40ch}
.news-list p{margin:0;color:var(--ink-soft);max-width:60ch}
.news-list .more{display:block;margin-top:.8rem;font-size:.85rem;font-weight:500}
.news-list .more::after{content:" →"}
.investor-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.4rem;align-items:start;max-width:46rem;border:1px solid var(--rule);padding:1.4rem 1.5rem}
.investor-card p{margin:0 0 1rem}
.release-body{max-width:var(--measure)}
.release-body p{margin:0 0 1.1rem}
.release-body .dateline{font-weight:600}
.release-body h3{font-size:1.15rem;margin:2rem 0 .5rem}
.release-quote{margin:1.6rem 0;padding:0 0 0 1.4rem;border-left:2px solid var(--ink)}
.release-quote p{font-size:1.2rem;line-height:1.45;margin:0 0 .6rem}
.release-quote cite{font-style:normal;font-size:.9rem;color:var(--ink-soft)}
.page-head .pill-tag{margin-bottom:1rem}

/* ---- v13: hero badge, chart, outcome tag, customer study, timelines ---- */
.stat-top{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:1.4rem;align-items:center}
.stat-badge{display:block;width:100%;height:auto}
.stat-badge .sb-fill{fill:var(--ink)}
.stat-badge .sb-line{fill:none;stroke:#fff;stroke-opacity:.45;stroke-width:2}
.stat-badge .sb-num{fill:#fff;font-family:var(--font-display,Georgia,serif);font-size:58px;font-weight:600;letter-spacing:-1px}
.stat-badge .sb-cap{fill:#fff;fill-opacity:.85;font-family:var(--mono);font-size:12px;letter-spacing:2px}
.stat-top .stat-sub{margin:.2rem 0 .6rem}
.stat-top .stat-basis{margin:0;font-size:.85rem}
.stat-viz .sv-in{fill:#fff;font-family:var(--mono);font-size:13px}
.stat-viz .sv-big{font-family:var(--mono);font-size:22px;font-weight:600;fill:var(--ink)}
.stat-viz .sv-brace{fill:none;stroke:var(--ink);stroke-width:1.5}
.stat-note{font-family:var(--mono);font-size:.72rem;color:var(--ink-soft);margin:.2rem 0 0}
.outcome .outcome-tag{display:table;font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500;border:1px solid var(--ink);padding:.2rem .55rem;margin-bottom:.55rem}
.outcome #p-out{display:block}
.study{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.4rem;align-items:center;max-width:66rem;margin-top:1.4rem}
.study .art{display:block;margin:0}
.study-body .big{margin-top:.6rem}
.study-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1.4rem;margin:1.2rem 0 0;padding:1rem 0 0;border-top:1px solid var(--rule)}
.study-facts dt{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
.study-facts dd{margin:.15rem 0 0;font-size:.92rem}
.study-order{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:2rem 0 .6rem;max-width:66rem}
.study-order span:last-child{margin-left:.6rem;font-size:.95rem}
.mini-score{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid var(--rule);font-family:var(--mono);font-weight:500;font-size:.95rem;background:var(--paper)}
@media (max-width:820px){.study{grid-template-columns:1fr}.study-facts{grid-template-columns:1fr}.stat-top{grid-template-columns:6rem minmax(0,1fr)}}
.stack4.nodates li{grid-template-columns:15rem minmax(0,1fr) minmax(0,1.1fr)}
@media (max-width:820px){.stack4.nodates li{grid-template-columns:1fr}.stack4.nodates .q,.stack4.nodates .who{grid-column:1}}
.timeline2{list-style:none;margin:1.8rem 0 0;padding:0;display:grid;grid-template-columns:8.5rem repeat(8,minmax(0,1fr));gap:.6rem}
.timeline2 li{border:1px solid var(--rule);padding:.8rem .75rem .9rem;font-size:.84rem;background:var(--paper)}
.timeline2 li.track{border:0;background:none;padding:.8rem 0 0;font-weight:500;font-size:.95rem}
.timeline2 li.track small{display:block;font-weight:400;color:var(--ink-soft);font-size:.8rem}
.timeline2 .yr{display:block;font-family:var(--mono);font-size:.74rem;color:var(--ink-soft);margin-bottom:.35rem}
.timeline2 b{display:block;font-weight:500;font-size:.98rem;line-height:1.2;margin-bottom:.35rem}
.timeline2 b small{display:block;font-weight:400;font-size:.76rem;color:var(--ink-soft);margin-top:.15rem}
.timeline2 li > span:last-child{display:block;color:var(--ink-soft);line-height:1.4}
.timeline2 li.system{border-style:dashed}
.timeline2 li.now{border:2px solid var(--ink);display:flex;flex-direction:column;justify-content:center}
.timeline2 li.now b{font-size:1.25rem}
@media (min-width:1101px){#moment .timeline2{width:calc(100% + var(--col-margin) + 2rem);margin-left:calc(-1 * (var(--col-margin) + 2rem))}}
@media (max-width:1100px){.timeline2{display:block}.timeline2 li{margin-bottom:.6rem}.timeline2 li.track{display:none}}
.study .big small{display:block;font-size:1.05rem;line-height:1.35;margin:.6rem 0 0;max-width:30ch;vertical-align:baseline;letter-spacing:0}
.study{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
@media (min-width:1101px){.study{max-width:none;width:calc(100% + var(--col-margin) + 2rem);margin-left:calc(-1 * (var(--col-margin) + 2rem))}}
@media (max-width:820px){.study{grid-template-columns:1fr}}

/* ---- v14: five stage diagram, tiers, books, offer map, model library ---- */
.diag5{max-width:66rem;margin:1.2rem 0 1rem}
.d5-line{display:flex;flex-wrap:wrap;gap:.3rem 1rem;align-items:baseline;font-family:var(--mono);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 1rem}
.d5-line b{color:var(--ink);font-weight:500}
.d5-line.out{margin:1rem 0 .4rem}
.d5-row{display:grid;grid-template-columns:minmax(0,1fr) 2.2rem minmax(0,1fr) 2.2rem minmax(0,1fr) 2.2rem minmax(0,1fr);align-items:stretch}
.d5{border:1px solid var(--rule);padding:1.2rem 1rem;text-align:center;display:flex;flex-direction:column;justify-content:center;gap:.35rem;background:var(--paper-wash)}
.d5 em{font-style:normal;font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
.d5 strong{font-size:1.35rem;font-weight:500}
.d5 span{font-size:.88rem;color:var(--ink-soft)}
.d5.core{border:2px solid var(--ink);background:var(--paper)}
.d5-arrow{display:flex;align-items:center;justify-content:center;font-family:var(--mono);color:var(--ink-soft)}
.d5-loop{position:relative;height:3.4rem;margin:0 calc(12.5% - .3rem) 0 calc(12.5% - .3rem);border:2px dashed var(--ink-soft);border-top:0;text-align:center}
.d5-loop::before{content:"▲";position:absolute;left:-.5rem;top:-.6rem;font-size:.75rem;color:var(--ink-soft);line-height:1}
.d5-loop span{position:relative;top:2.6rem;display:inline-block;background:var(--paper);border:2px solid var(--ink-soft);border-radius:999px;padding:.35rem 1.2rem;font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.diag5 .dnote{margin-top:1.6rem;font-style:italic;color:var(--ink-soft)}
@media (max-width:820px){.d5-row{grid-template-columns:1fr}.d5-arrow{transform:rotate(90deg);padding:.2rem 0}.d5-loop{display:none}}
h2.equation-head.as-title .ico{width:64px;height:64px;padding:30px;box-sizing:content-box}
.tiers{list-style:none;margin:1.2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;max-width:66rem}
.tiers li{border:1px solid var(--rule);padding:1.3rem 1.2rem 1.4rem;position:relative}
.tiers li + li::before{content:"→";position:absolute;left:-.85rem;top:1.4rem;font-family:var(--mono);color:var(--ink-soft);font-size:.9rem}
.tiers .eyebrow{display:block;margin-bottom:.3rem}
.tiers h3{font-size:1.2rem;margin:0 0 .4rem}
.tiers p{font-size:.92rem;margin:0}
.tiers .tier-premium{border-width:2px;border-color:var(--ink)}
@media (max-width:980px){.tiers{grid-template-columns:repeat(2,minmax(0,1fr))}.tiers li + li::before{display:none}}
@media (max-width:560px){.tiers{grid-template-columns:1fr}}
.mstack li.asset{border:2px solid var(--ink);padding:1.2rem 1rem;margin:.4rem 0}
.mstack li.asset b em{display:block;font-style:normal;font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-top:.2rem}
.books{display:grid;grid-template-columns:minmax(0,.85fr) 4rem minmax(0,1.4fr);gap:0;align-items:start;max-width:66rem;margin-top:1.4rem}
.book{border:1px solid var(--rule);padding:1.4rem 1.4rem 1.2rem;background:var(--paper)}
.book header{display:flex;gap:.9rem;align-items:center;margin-bottom:1rem}
.book h3{font-size:1.4rem;margin:0}
.receipt{margin:0;font-family:var(--mono);font-size:.82rem;font-variant-numeric:tabular-nums}
.receipt div{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px dotted var(--rule)}
.receipt dt{color:var(--ink-soft)}
.receipt dd{margin:0;text-align:right}
.receipt .total{border-bottom:3px double var(--ink);border-top:1px solid var(--ink);margin-top:.4rem;font-weight:600}
.books-arrow{display:flex;flex-direction:column;align-items:center;justify-content:center;align-self:center;font-family:var(--mono);font-size:1.4rem;color:var(--ink-soft)}
.books-arrow span{font-size:.62rem;letter-spacing:.08em;text-transform:uppercase}
.ledger-book{position:relative}
.ledger-stack{position:absolute;left:10px;right:10px;top:-10px;height:10px}
.ledger-stack i{position:absolute;left:0;right:0;height:10px;border:1px solid var(--rule);border-bottom:0;background:var(--paper)}
.ledger-stack i:nth-child(1){top:-12px;left:16px;right:16px}.ledger-stack i:nth-child(2){top:-6px;left:8px;right:8px}.ledger-stack i:nth-child(3){top:0}
.ledger-table{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:.78rem;font-variant-numeric:tabular-nums}
.ledger-table th{text-align:left;font-weight:500;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);border-bottom:1px solid var(--ink);padding:.4rem .4rem}
.ledger-table td{padding:.42rem .4rem;border-bottom:1px solid var(--rule);white-space:nowrap}
.ledger-table td:nth-child(4){white-space:normal}
.ledger-table .num{text-align:right}
.ledger-table tfoot td{border-top:1px solid var(--ink);border-bottom:3px double var(--ink);font-weight:600;padding-top:.6rem}
.ledger-table .mini-score{width:1.5rem;height:1.5rem;font-size:.75rem}
.ledger-note{font-family:var(--mono);font-size:.66rem;color:var(--ink-soft);margin:.6rem 0 0}
@media (max-width:900px){.books{grid-template-columns:1fr}.books-arrow{transform:rotate(90deg);padding:.6rem 0}.ledger-table th:nth-child(2),.ledger-table td:nth-child(2){display:none}}
.offer-map{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;max-width:66rem;margin:1.6rem 0 2rem}
.om-col h4{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-weight:500;margin:0 0 .6rem}
.om-col ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.om-col li{display:flex;align-items:center;gap:.7rem;border:1px solid var(--rule);padding:.65rem .8rem;font-size:.95rem}
.om-col li.on{border:2px solid var(--ink);font-weight:500}
.om-key{grid-column:1/-1;display:flex;align-items:center;gap:.7rem;margin:.4rem 0 0;font-size:.92rem;color:var(--ink-soft)}
@media (max-width:820px){.offer-map{grid-template-columns:repeat(2,minmax(0,1fr))}}
.d5-line{max-width:none}
.d5-line span{flex:1 1 30rem}
.book header .ico{flex:none}
.books{grid-template-columns:minmax(0,1fr) 3.6rem minmax(0,1.45fr)}
@media (min-width:1101px){.books{max-width:none;width:calc(100% + var(--col-margin) + 2rem);margin-left:calc(-1 * (var(--col-margin) + 2rem))}}
.d5 em .prop{display:block;font-style:normal}

/* ---- v14: product names, card titles, AI cards, news, sources, vertical timeline ---- */
.pn{white-space:nowrap}
.pn b{font-weight:700}
.cards h3 .pn{white-space:normal}
.cards h3 .pn b{display:block}
.res-grid.three-up{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:820px){.res-grid.three-up{grid-template-columns:1fr}}
.news-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.news-list li.rel{grid-column:1/-1}
.news-list li > a{height:100%}
.news-list li.rel h3{max-width:46ch}
@media (max-width:820px){.news-list{grid-template-columns:1fr}}
.sources{font-size:.9rem;padding-left:1.2rem}
.sources li{margin:.3rem 0}
/* the history, read top to bottom, ending at the decision */
.timeline2{display:block;position:relative;max-width:46rem;margin:2rem 0 0;padding-left:0}
.timeline2::before{content:"";position:absolute;left:5.6rem;top:.6rem;bottom:2rem;width:2px;background:var(--rule)}
.timeline2 li{display:grid;grid-template-columns:4.6rem minmax(0,1fr);column-gap:2rem;align-items:start;position:relative;margin:0 0 .8rem;padding:0;border:0;background:none;font-size:.95rem}
.timeline2 li.track{display:none}
.timeline2 li .yr{grid-row:1 / span 3;text-align:right;padding-top:1rem;font-size:.85rem}
.timeline2 li::after{content:"";position:absolute;left:calc(5.6rem - 5px);top:1.15rem;width:12px;height:12px;border-radius:50%;background:var(--paper);border:2px solid var(--ink-soft)}
.timeline2 li > b,.timeline2 li > span:last-child{grid-column:2;border:1px solid var(--rule);background:var(--paper);padding:0 1.1rem}
.timeline2 li > b{border-bottom:0;padding-top:.9rem;font-size:1.1rem}
.timeline2 li > b small{display:inline;margin-left:.5rem}
.timeline2 li > span:last-child{border-top:0;padding-bottom:.9rem}
.timeline2 li.system > b::before{content:"The stack · ";font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;font-weight:400;color:var(--ink-soft)}
.timeline2 li.moment > b::before{content:"A moment · ";font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;font-weight:400;color:var(--ink-soft)}
.timeline2 li.now{display:grid;border:0;margin-top:1.4rem}
.timeline2 li.now > b,.timeline2 li.now > span:last-child{border:2px solid var(--ink)}
.timeline2 li.now > b{border-bottom:0;font-size:1.5rem}
.timeline2 li.now > span:last-child{border-top:0}
.timeline2 li.now::after{background:var(--ink);border-color:var(--ink);width:16px;height:16px;left:calc(5.6rem - 7px)}
@media (min-width:1101px){#moment .timeline2{width:auto;margin-left:0}}
@media (max-width:560px){.timeline2::before{left:3.6rem}.timeline2 li{grid-template-columns:2.8rem minmax(0,1fr);column-gap:1.4rem}.timeline2 li::after{left:calc(3.6rem - 5px)}.timeline2 li.now::after{left:calc(3.6rem - 7px)}}
.site-footer .pn{white-space:normal}
.news-list{grid-template-columns:repeat(6,minmax(0,1fr))}
.news-list li.rel{grid-column:span 3}
.news-list li.art{grid-column:span 2}
@media (max-width:980px){.news-list{grid-template-columns:1fr}.news-list li.rel,.news-list li.art{grid-column:auto}}
/* interface kit page */
.ik-swatches{list-style:none;margin:1.2rem 0 1.6rem;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;max-width:66rem}
.ik-swatches li{border:1px solid var(--rule);display:grid;grid-template-columns:3.4rem minmax(0,1fr);column-gap:.9rem;padding:.7rem;background:#fff;border-radius:6px}
.ik-swatches i{grid-row:span 3;border-radius:4px;border:1px solid rgba(0,0,0,.06)}
.ik-swatches b{font-family:var(--mono);font-size:.8rem;font-weight:500}
.ik-swatches code{font-size:.78rem;color:var(--ink-soft)}
.ik-swatches span{font-size:.82rem;color:var(--ink-soft)}
.ik-type{display:grid;gap:1rem;max-width:66rem;margin-bottom:1rem}
.ik-type > div{border:1px solid var(--rule);background:#fff;border-radius:8px;padding:1rem 1.2rem}
.ik-demo{max-width:66rem;border:1px solid var(--rule);border-radius:10px;overflow:hidden;background:var(--ih-ground,#F5F7F6);margin:1.2rem 0;display:grid;gap:1px}
.ik-docs{padding:1.4rem;background:#fff}
.ik-row{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;margin:1rem 0}
.ik-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;max-width:66rem;margin:1rem 0}
.ik-grid .ih-ico svg{width:24px;height:24px;display:block}
html[data-kit="wire"] .ik-grid .ih-ico .ico{display:block}
@media (max-width:820px){.ik-swatches,.ik-grid{grid-template-columns:1fr}}
.moment-list .pn{display:inline;white-space:normal}
@media (max-width:900px){.frame,.hero .frame{grid-template-columns:minmax(0,1fr)}.ledger-table{display:block;overflow-x:auto}}
.ik-demo .ih-topbar{flex-wrap:wrap}
/* the nav never wraps: one line, tighter between 1101 and 1300 */
.site-nav a,.site-nav .nav-cta,.wordmark,.wordmark-text{white-space:nowrap}
.site-header{flex-wrap:nowrap}
@media (min-width:1141px) and (max-width:1300px){.site-nav{gap:1.1rem}.site-nav ul{gap:1rem;font-size:.9rem}.site-nav .nav-cta{padding:.6rem .95rem}}

/* ---- v16 ---- */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* footer: brand row on top, a wide sitemap below, nothing wraps */
.site-footer{padding-top:4.6rem;padding-bottom:3rem}
.footer-top{display:block;max-width:1320px;margin-bottom:3.4rem}
.footer-brand{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 2rem;padding-bottom:2.4rem;margin-bottom:2.6rem;border-bottom:1px solid var(--rule)}
.footer-brand p{margin:0;flex:1 1 16rem}
.site-footer .sitemap{grid-template-columns:repeat(5,minmax(0,1fr));gap:2.4rem 2.6rem}
.site-footer .sitemap li{margin:.55rem 0}
.site-footer .sitemap a{white-space:nowrap}
.site-footer .legal{max-width:1320px}
@media (max-width:1100px){.site-footer .sitemap{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.site-footer .sitemap{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer .sitemap a{white-space:normal}}
.ext{font-size:.85em;opacity:.7;margin-left:.15rem}
.dev-card-li{margin:.8rem 0 .6rem !important}
.dev-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.7rem;align-items:center;border:2px solid var(--ink);padding:.65rem .8rem;text-decoration:none;color:var(--ink);max-width:15rem;white-space:normal !important}
.dev-card-ico{display:flex}
.dev-card-text b{display:block;font-weight:600;font-size:.92rem;white-space:nowrap}
.dev-card-text small{display:block;font-size:.76rem;color:var(--ink-soft)}
.dev-card .ext{align-self:start;font-size:1rem}
html[data-kit="wire"] .dev-card-ico .ico{display:block}
/* stage lists: one height, layered */
.steps.stages li{min-height:4.4rem;align-items:center}
/* diagram: room between the loop and the decisions out */
.d5-line.out{margin-top:3.8rem}
/* the score as a button: big, square, clickable */
.score-btn{display:inline-flex;align-items:center;justify-content:center;width:4.2rem;height:4.2rem;font-family:var(--mono);font-size:2rem;font-weight:500;background:#fff;border:1px solid var(--ink);cursor:pointer;line-height:1}
.om-key{align-items:center;gap:1.4rem}
.om-score{display:flex;flex-direction:column;align-items:center;gap:.35rem}
.om-score small{font-family:var(--mono);font-size:.62rem;color:var(--ink-soft)}
.om-line{margin:0;font-size:1rem;max-width:46ch}
.mini-score{width:2.4rem;height:2.4rem;font-size:1.1rem}
.ledger-table .mini-score{width:1.9rem;height:1.9rem;font-size:.85rem}
/* news: one feed, newest first, by month */
.news-feed{list-style:none;margin:1.4rem 0 0;padding:0;max-width:56rem;position:relative}
.news-feed::before{content:"";position:absolute;left:7.4rem;top:.4rem;bottom:.4rem;width:2px;background:var(--rule)}
.news-feed li{display:grid;grid-template-columns:6.4rem minmax(0,1fr);column-gap:2.2rem;position:relative;margin-bottom:1rem}
.news-feed li::before{content:"";position:absolute;left:calc(7.4rem - 5px);top:1.5rem;width:12px;height:12px;border-radius:50%;background:var(--paper);border:2px solid var(--ink-soft)}
.nf-date{text-align:right;padding-top:1.2rem;font-family:var(--mono);font-size:.78rem;color:var(--ink-soft)}
.nf-date b{display:block;font-weight:500;color:var(--ink);font-size:.86rem}
.news-feed a{display:block;border:1px solid var(--rule);padding:1.2rem 1.4rem;text-decoration:none;color:inherit;background:var(--paper)}
.news-feed a:hover{border-color:var(--oxblood)}
.news-feed h3{font-size:1.3rem;margin:.35rem 0 .35rem;max-width:44ch}
.news-feed p{margin:0;color:var(--ink-soft);max-width:62ch}
.news-feed .more{display:block;margin-top:.7rem;font-size:.85rem;font-weight:500}
.news-feed .more::after{content:" →"}
.news-feed li.nf-rel a{border-width:2px;border-color:var(--ink)}
@media (max-width:640px){.news-feed::before,.news-feed li::before{display:none}.news-feed li{grid-template-columns:1fr}.nf-date{text-align:left;padding:0 0 .3rem}.nf-date b{display:inline;margin-right:.3rem}}
/* the history: two sides of one rail, oldest first, ending on the decision */
.timeline3{list-style:none;margin:2.2rem 0 0;padding:0;display:grid;grid-template-columns:minmax(0,1fr) 7rem minmax(0,1fr);row-gap:1.2rem;position:relative;max-width:60rem}
.timeline3::before{content:"";position:absolute;left:50%;transform:translateX(-1px);top:0;bottom:4rem;width:2px;background:var(--rule);z-index:0}
.timeline3 li{position:relative;z-index:1;border:1px solid var(--rule);background:var(--paper);padding:1.3rem 1.3rem 1.4rem;min-height:9.5rem;display:flex;flex-direction:column;gap:.35rem;max-width:21rem;width:100%}
.timeline3 li.moment{grid-column:1;justify-self:end}
.timeline3 li.system{grid-column:3;justify-self:start}
.timeline3 .yr{position:absolute;top:1.2rem;font-family:var(--mono);font-size:.82rem;color:var(--ink);background:var(--paper);padding:.15rem .4rem}
.timeline3 li.moment .yr{right:calc(-3.5rem - 1px);transform:translateX(50%)}
.timeline3 li.system .yr{left:calc(-3.5rem - 1px);transform:translateX(-50%)}
.timeline3 b{display:block;font-size:1.2rem;font-weight:500;line-height:1.2}
.timeline3 b small{display:block;font-weight:400;font-size:.8rem;color:var(--ink-soft);margin-top:.25rem}
.timeline3 li > span:last-child{color:var(--ink-soft);font-size:.94rem}
.timeline3 li::before{font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}
.timeline3 li.moment::before{content:"A moment"}
.timeline3 li.system::before{content:"The stack"}
.timeline3 li.now{grid-column:1 / -1;justify-self:center;max-width:30rem;min-height:0;border:2px solid var(--ink);text-align:center;align-items:center;margin-top:1rem}
.timeline3 li.now::before{content:"Both arrive here"}
.timeline3 li.now .yr{position:static;transform:none;padding:0}
.timeline3 li.now b{font-size:1.8rem}
@media (max-width:760px){.timeline3{grid-template-columns:1fr}.timeline3::before{display:none}.timeline3 li.moment,.timeline3 li.system,.timeline3 li.now{grid-column:1;justify-self:stretch;max-width:none}.timeline3 .yr{position:static;transform:none;padding:0;background:none}}
.timeline3{display:flex;flex-direction:column;gap:1.2rem}
.timeline3 li{width:calc(50% - 3.5rem);max-width:none}
.timeline3 li.moment{align-self:flex-start}
.timeline3 li.system{align-self:flex-end}
.timeline3 li.now{align-self:center;width:min(30rem,100%)}
@media (max-width:760px){.timeline3 li,.timeline3 li.now{width:100%}}
.dev-card{max-width:100%}
.dev-card-text b{white-space:normal}
.timeline3 li{max-width:18rem;min-height:12rem;justify-content:flex-start}
.timeline3 li.moment{margin-right:calc(50% - 21.5rem)}
.timeline3 li.system{margin-left:calc(50% - 21.5rem)}
.timeline3 li.moment,.timeline3 li.system{width:18rem}
@media (max-width:900px){.timeline3 li.moment,.timeline3 li.system{width:calc(50% - 3.5rem);margin:0}}
@media (max-width:760px){.timeline3 li.moment,.timeline3 li.system{width:100%;max-width:none;min-height:0}}
@media (min-width:901px){
  .timeline3 li.moment{align-self:flex-start;margin-right:0;margin-left:calc(50% - 21.5rem)}
  .timeline3 li.system{align-self:flex-start;margin-left:calc(50% + 3.5rem)}
}
@media (max-width:760px){.timeline3 li.moment .yr,.timeline3 li.system .yr{position:static;transform:none;right:auto;left:auto;padding:0;background:none}}
/* v17 */
.dev-card{grid-template-columns:auto auto auto;justify-content:start;padding:.5rem .8rem;gap:.6rem;max-width:none;width:max-content}
.dev-card-text b{white-space:nowrap}
.d5{justify-content:flex-start}
.books{grid-template-columns:minmax(0,1fr) 7rem minmax(0,1.45fr)}
.books-arrow{gap:.5rem;padding:0 .6rem}
.books-arrow span{white-space:nowrap;font-size:.66rem}
@media (min-width:901px){.books-arrow{font-size:2rem;line-height:1}}
.d5 em{min-height:2.5em;display:flex;flex-direction:column;justify-content:flex-start;align-items:center}
.steps.stages li{min-height:5.2rem}
.d5 em{height:2.3rem;min-height:0;line-height:1.5}
@media (max-width:640px){.dev-card{width:auto;max-width:100%}.dev-card-text b{white-space:normal}}
/* v18 */
.site-footer .sitemap{column-gap:4rem}
.footer-top,.site-footer .legal{max-width:1400px}
.dev-card{padding:.35rem .7rem;gap:.45rem;font-size:.86rem}
.dev-card-text b{font-size:.86rem}
@media (min-width:981px){.moment-list{max-width:none;width:calc(100% + var(--col-margin) + 2rem);margin-left:calc(-1 * (var(--col-margin) + 2rem))}}
.moment-list b{font-size:.98rem}
.moment-list span{font-size:.78rem}
.moment-list .pn{white-space:nowrap}
.news-feed h3{font-size:1.7rem;line-height:1.2;margin:.5rem 0 .55rem}
.moment-list .pn b{display:inline;font-size:inherit;font-weight:600}
/* v19: footer brand row, LinkedIn, video in the news feed */
.footer-brand p{flex:1 1 auto;white-space:nowrap}
.footer-actions{display:flex;align-items:center;gap:1rem;margin-left:auto}
.footer-actions .social{display:inline-flex;color:var(--ink-soft)}
.footer-actions .social:hover{color:var(--oxblood)}
@media (max-width:820px){.footer-brand p{white-space:normal}.footer-actions{margin-left:0}}
.nf-card{display:grid;grid-template-columns:15rem minmax(0,1fr);gap:1.4rem;border:1px solid var(--rule);padding:1.1rem;background:var(--paper)}
.nf-thumb{position:relative;display:block;align-self:start;aspect-ratio:4/3;overflow:hidden;background:var(--ink)}
.nf-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.nf-play{position:absolute;left:50%;top:50%;width:3.4rem;height:3.4rem;transform:translate(-50%,-50%);border-radius:50%;background:rgba(14,23,38,.78)}
.nf-play::after{content:"";position:absolute;left:1.35rem;top:1.05rem;border-left:1.1rem solid #fff;border-top:.65rem solid transparent;border-bottom:.65rem solid transparent}
.nf-thumb:hover .nf-play{background:var(--oxblood)}
.nf-body h3 a{text-decoration:none;color:inherit}
.nf-links{display:flex;flex-wrap:wrap;gap:.4rem 1.6rem;margin-top:.8rem !important}
.nf-links .more::after{content:none}
@media (max-width:640px){.nf-card{grid-template-columns:1fr}}
.news-feed .nf-card a{display:inline;border:0;padding:0;background:none;border-radius:0;box-shadow:none}
.news-feed .nf-card a.nf-thumb{display:block}
.news-feed .nf-card .nf-links .more{display:inline;margin:0}
.news-feed .nf-card h3{margin-top:.4rem}
.stat-badge .sb-long{font-size:44px;letter-spacing:-1.5px}
/* v20: product lines under the equation, flagship note */
.equation-head .eql{display:block;font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap;margin-top:-.2rem}
@media (max-width:980px){.equation-head .eql{display:none}}
.flagship{max-width:46rem;margin:1.2rem 0 0;padding:.9rem 1.1rem;border-left:2px solid var(--ink);font-size:.95rem}
.flagship{margin-bottom:1rem}
/* v21: footer brand row under the nav, social buttons */
.footer-top{margin-bottom:0}
.footer-brand{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.8rem;max-width:1400px;margin:3.4rem 0 2.4rem;padding:2.6rem 0 0;border-top:1px solid var(--rule);border-bottom:0}
.footer-brand p{margin:0;white-space:nowrap;flex:none}
.site-footer .social{list-style:none;margin:.4rem 0 0;padding:0;display:flex;gap:.6rem;justify-content:center}
.site-footer .social a{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .9rem;border:1px solid var(--rule);border-radius:999px;text-decoration:none;color:var(--ink);font-size:.88rem;font-weight:500}
.site-footer .social a:hover{border-color:var(--oxblood);color:var(--oxblood)}
@media (max-width:640px){.footer-brand p{white-space:normal}}
/* diagram: prominent arrows, attribution as proprietary */
.d5-row{grid-template-columns:minmax(0,1fr) 3.2rem minmax(0,1fr) 3.2rem minmax(0,1fr) 3.2rem minmax(0,1fr)}
.d5-arrow{color:var(--ink)}
.d5-arrow svg{width:2.4rem;height:auto;display:block}
.d5-loop{height:4.2rem}
.d5-loop span.d5-attr{top:2.6rem;display:inline-flex;align-items:center;gap:.8rem;border:2px solid var(--ink);background:var(--paper);padding:.6rem 1.4rem;border-radius:12px;text-transform:none;letter-spacing:0}
.d5-attr em{font-style:normal;font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}
.d5-attr strong{font-family:var(--font);font-size:1.15rem;font-weight:500}
.d5-attr i{font-style:normal;font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}
.d5-line.out{margin-top:4.6rem}
@media (max-width:820px){.d5-arrow svg{transform:rotate(90deg);margin:0 auto}}
/* video placeholder on product pages */
.video-slot{margin:1.4rem 0 0;max-width:56rem}
.vs-frame{position:relative;aspect-ratio:16/9;background:var(--ink);overflow:hidden}
.vs-play{position:absolute;left:50%;top:50%;width:5rem;height:5rem;transform:translate(-50%,-50%);border-radius:50%;background:#fff}
.vs-play::after{content:"";position:absolute;left:2.05rem;top:1.55rem;border-left:1.5rem solid var(--ink);border-top:.95rem solid transparent;border-bottom:.95rem solid transparent}
.video-slot figcaption{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;font-size:.95rem}
.video-slot figcaption span{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
/* ledger: the books behind, clearly stacked */
.ledger-stack{top:-30px;height:30px}
.ledger-stack i{height:14px}
.ledger-stack i:nth-child(1){top:0;left:30px;right:30px;opacity:.55}
.ledger-stack i:nth-child(2){top:10px;left:18px;right:18px;opacity:.75}
.ledger-stack i:nth-child(3){top:20px;left:8px;right:8px;opacity:.92}
.ledger-book{margin-top:24px}
.video-slot figcaption .vs-title{font-family:var(--font);font-size:1rem;letter-spacing:0;text-transform:none;color:var(--ink)}
.video-slot figcaption .vs-title b{font-weight:500}
.video-slot figcaption .vs-title .pn b{font-weight:700}
.video-slot figcaption .vs-title span,.video-slot figcaption .vs-title .pn{font-family:inherit;font-size:inherit;letter-spacing:0;text-transform:none;color:inherit}
@media (max-width:820px){.d5-row{grid-template-columns:minmax(0,1fr)}.d5-arrow{justify-content:center}}
/* v22 footer */
.footer-brand{flex-direction:row;justify-content:space-between;align-items:center;text-align:left;margin:3.4rem 0 1.6rem;padding:2.4rem 0 0}
.footer-brand p{font-size:1rem}
.site-footer .legal{border-top:0;padding-top:0;align-items:flex-end}
.site-footer .legal > span:last-child{align-self:flex-end}
@media (max-width:640px){.footer-brand{flex-direction:column;align-items:flex-start;gap:1rem}}
.li-btn{margin-top:.9rem !important}
.li-in{display:inline-flex !important;align-items:center;gap:.55rem;background:#0A66C2;color:#fff !important;padding:.42rem .85rem .42rem .5rem;border-radius:6px;font-weight:600;font-size:.88rem;text-decoration:none !important}
.li-in:hover{background:#004182}
.li-mark{display:inline-flex;align-items:center;justify-content:center;width:1.3rem;height:1.3rem;background:#fff;color:#0A66C2;border-radius:3px;font-weight:700;font-size:.82rem;font-family:var(--font)}
/* diagram: signals as a card, attribution stacked */
.d5-in{text-align:left;align-items:flex-start;padding:1rem 1.2rem}
.d5-in strong{font-size:1.2rem}
.d5-in em{height:auto}
.d5-in span{font-size:.85rem}
.d5-down{display:flex;justify-content:center;color:var(--ink);padding:.4rem 0}
.d5-loop{height:5.6rem}
.d5-loop span.d5-attr{flex-direction:column;gap:.15rem;padding:.8rem 2.4rem;top:2.6rem}
.d5-attr em{display:flex;flex-direction:column;align-items:center}
.d5-attr .prop{display:block;font-size:.66rem}
.d5-line.out{margin-top:6.2rem}
/* video card: same format, video on the right */
.nf-card{grid-template-columns:minmax(0,1fr) 15rem}
.nf-card > .ico{display:none}
@media (max-width:640px){.nf-card{grid-template-columns:1fr}}
.d5-loop span.d5-attr .prop{position:static;top:auto;display:block;border:0;background:none;padding:0;border-radius:0;box-shadow:none;letter-spacing:.08em}
.d5-in{text-align:center;align-items:center}

/* ---- v23: home v2 ---- */
.hero .frame{grid-template-columns:minmax(0,1.25fr) minmax(320px,.85fr);gap:clamp(2rem,4vw,3.6rem);max-width:1240px}
.hero h1{max-width:none}
@media (max-width:640px){.lede-more{display:none}}
/* team photos are shown; the toggle is gone */
.team-photo{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.people .portrait figcaption{display:none}
.photo-toggle{display:none}
/* trust strip */
.trust-strip{padding:1.4rem var(--gutter);border-bottom:1px solid var(--rule)}
.trust-strip .frame{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 2rem;grid-template-columns:none;max-width:1240px}
.trust-strip p{margin:0;font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}
.trust-strip ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem 2.2rem}
.trust-strip li{display:flex;align-items:center;gap:.55rem;font-size:1.05rem;font-weight:500}
/* the score explorer */
.score-explorer{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:2rem;margin:1.6rem 0 0;max-width:none}
@media (min-width:1101px){#ih-score .score-explorer,#ih-score .flagship{width:calc(100% + var(--col-margin) + 2rem);margin-left:calc(-1 * (var(--col-margin) + 2rem));max-width:none}}
.se-states{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.se-state{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;align-items:center;width:100%;text-align:left;background:var(--paper);border:1px solid var(--rule);padding:.55rem .8rem;cursor:pointer;font:inherit;color:inherit}
.se-state .score-btn{width:2.9rem;height:2.9rem;font-size:1.4rem}
.se-name b{display:block;font-weight:600}
.se-name small{display:block;color:var(--ink-soft);font-size:.86rem}
.se-state[aria-pressed="true"]{border:2px solid var(--ink)}
.se-moments{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;align-content:start}
.se-moments a{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:.9rem;row-gap:.2rem;align-items:start;border:1px solid var(--rule);padding:1rem 1.1rem;text-decoration:none;color:inherit;height:100%;background:var(--paper)}
.se-moments .ico{grid-row:span 2}
.se-moment{font-weight:600}
.se-act{color:var(--ink-soft);font-size:.95rem}
@media (max-width:900px){.score-explorer{grid-template-columns:1fr}}
@media (max-width:560px){.se-moments{grid-template-columns:1fr}}
/* how it works, four steps */
.steps4{list-style:none;margin:1.6rem 0 1.2rem;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;max-width:none;counter-reset:s}
.steps4 li{position:relative;border:1px solid var(--rule);padding:1.3rem 1.2rem}
.steps4 li + li::before{content:"→";position:absolute;left:-.85rem;top:1.4rem;font-family:var(--mono);color:var(--ink-soft)}
.steps4 h3{font-size:1.2rem;margin:.35rem 0 .35rem}
.steps4 p{margin:0;font-size:.95rem;color:var(--ink-soft)}
.eq-line{font-family:var(--mono);font-size:.85rem;color:var(--ink-soft);display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;align-items:baseline}
.eq-line a{font-family:var(--font);font-size:.95rem}
.eq-line a::after{content:" →"}
@media (max-width:900px){.steps4{grid-template-columns:repeat(2,minmax(0,1fr))}.steps4 li + li::before{display:none}}
@media (max-width:560px){.steps4{grid-template-columns:1fr}}
/* business case */
.pl4{list-style:none;margin:1.4rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.pl4 li{border-top:2px solid var(--ink);padding-top:.9rem}
.pl4 h3{font-size:1.2rem;margin:0 0 .4rem}
.pl4 p{margin:0;font-size:.95rem}
@media (max-width:900px){.pl4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.pl4{grid-template-columns:1fr}}
/* credibility */
.credibility{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.6rem;align-items:center}
.credibility h2{margin-top:0}
.testimonial{margin:0;border-left:3px solid var(--ink);padding:.4rem 0 .4rem 1.6rem}
.testimonial p{font-family:var(--font-display);font-size:1.45rem;line-height:1.35;margin:0 0 .8rem}
.testimonial cite{font-style:normal;color:var(--ink-soft);font-size:.92rem}
@media (max-width:820px){.credibility{grid-template-columns:1fr}}
.call-now{margin:1rem 0 0;font-size:.95rem}
.closing .call-now a{color:inherit}
.hero .frame{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr)}
.hero .lede{max-width:54ch}
.hero .tagline{max-width:none}
.study-order span:last-child{flex:1 1 20rem}
@media (max-width:900px){.hero .frame{grid-template-columns:minmax(0,1fr)}}

/* ---- Brand section (company page) ---- */
.brand-sheet{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;margin:1.6rem 0}
.brand-mark{margin:0;border:1px solid var(--rule);background:#fff;border-radius:var(--radius);padding:2rem;display:flex;flex-direction:column;align-items:center;gap:1rem}
.brand-mark img{width:160px;height:160px}
.brand-mark figcaption{font-family:var(--mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
.brand-mark.on-dark{background:var(--midnight);border-color:var(--midnight)}
.brand-mark.on-dark figcaption{color:rgba(255,255,255,.7)}
.brand-colors{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.8rem;grid-column:1/-1}
.brand-colors li{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem}
.brand-colors .sw{display:block;height:3.2rem;border-radius:var(--radius);border:1px solid var(--rule)}
.brand-colors code{font-family:var(--mono);font-size:.78rem;color:var(--ink-soft)}
.brand-type{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin:0;border-top:1px solid var(--rule);padding-top:1.2rem}
.brand-type dt{font-family:var(--mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
.brand-type dd{margin:.3rem 0 0;font-size:1.6rem;line-height:1.2}
.brand-type .t-display{font-family:var(--font-display)}
.brand-type .t-text{font-family:var(--font)}
.brand-type .t-mono{font-family:var(--mono);font-size:1.2rem}
.brand-rule{color:var(--ink-soft);font-size:.95rem}
@media (max-width:720px){.brand-sheet{grid-template-columns:1fr}.brand-colors{grid-template-columns:repeat(3,minmax(0,1fr))}.brand-type{grid-template-columns:1fr}}

/* Build it: three developer center cards on each product page */
.res-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:860px){.res-grid.three{grid-template-columns:1fr}}
.res-grid h3 .ext{font-size:.8em;color:var(--ink-soft);text-decoration:none}

/* ---- Brand guidelines page (/brand/) ---- */
.bg-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1.4rem 0}
.bg-tile{margin:0;border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper);padding:1.6rem 1rem 1rem;display:flex;flex-direction:column;align-items:center;gap:.9rem}
.bg-tile img{width:120px;height:120px}
.bg-tile figcaption{font-family:var(--mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
.bg-tile.on-white{background:#fff}
.bg-tile.on-midnight{background:var(--midnight);border-color:var(--midnight)}
.bg-tile.on-sapphire{background:var(--sapphire);border-color:var(--sapphire)}
.bg-tile.on-midnight figcaption,.bg-tile.on-sapphire figcaption{color:rgba(255,255,255,.75)}
.bg-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 2rem;margin:1.4rem 0 0;max-width:60rem}
.bg-facts dt{font-family:var(--mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
.bg-facts dd{margin:.3rem 0 0;font-size:.95rem}
.bg-wordmark{border:1px solid var(--rule);background:#fff;border-radius:var(--radius);padding:3rem 2rem;display:flex;justify-content:center;margin:1.4rem 0}
.bg-wm{display:inline-flex;align-items:center;gap:1.1rem;font-family:var(--font-display);font-size:2.4rem;letter-spacing:-.01em}
.bg-wm sup{font-family:var(--font);font-size:.9rem;vertical-align:top;margin-left:0;line-height:1}
.bg-swatches{list-style:none;margin:1.4rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;max-width:66rem}
.bg-swatches li{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem}
.bg-swatches .sw{display:block;height:4.4rem;border-radius:var(--radius);margin-bottom:.3rem}
.bg-swatches code{font-family:var(--mono);font-size:.76rem;color:var(--ink-soft)}
.bg-swatches span:last-child{color:var(--ink-soft);font-size:.86rem;line-height:1.4}
.bg-type{display:grid;gap:1.4rem;margin:1.4rem 0 0;max-width:60rem}
.bg-type > div{border-top:1px solid var(--rule);padding-top:1rem}
.bg-t-display{font-family:var(--font-display);font-size:2.6rem;line-height:1.08;letter-spacing:-.015em;margin:.5rem 0 .4rem}
.bg-t-display b{font-weight:600;color:var(--sapphire)}
.bg-t-text{font-family:var(--font);font-size:1.15rem;margin:.5rem 0 .4rem}
.bg-t-mono{font-family:var(--mono);font-size:1.05rem;margin:.5rem 0 .4rem}
.bg-t-note{color:var(--ink-soft);font-size:.92rem;max-width:60rem}
.bg-scores{list-style:none;margin:1.4rem 0 1rem;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem;max-width:66rem}
.bg-scores li{display:flex;flex-direction:column;gap:.4rem;font-size:.9rem}
.bg-scores .score-btn{cursor:default;width:3.6rem;height:3.6rem;font-size:1.7rem}
.bg-scores b{margin-top:.3rem}
.bg-scores span:last-child{color:var(--ink-soft);font-size:.84rem;line-height:1.4}
.bg-headers{list-style:none;margin:1.4rem 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:60rem}
.bg-headers a{text-decoration:none;color:inherit;display:block}
.bg-hdr{display:flex;align-items:center;gap:.7rem;padding:.9rem 1rem;border:1px solid var(--rule);border-radius:var(--radius);font-size:.92rem}
.bg-hdr i{width:22px;height:22px;background:url("brand/dahlia/mark-small.svg") center/contain no-repeat;flex:none}
.bg-hdr b{font-family:var(--font-display);font-weight:400;font-size:1.05rem;flex:1}
.bg-hdr em{font-style:normal;font-size:.8rem;padding:.35rem .6rem;border-radius:4px;background:var(--sapphire);color:#fff}
.bg-hdr.light{background:#fff}
.bg-hdr.blue{background:var(--sapphire);color:#fff;border-color:var(--sapphire)}
.bg-hdr.blue em{background:var(--turq);color:var(--midnight)}
.bg-hdr.midnight{background:var(--midnight);color:#fff;border-color:var(--midnight)}
.bg-hdr.blue i,.bg-hdr.midnight i{background-image:url("brand/dahlia/mark-reversed.svg")}
.bg-hdr.tint{background:var(--dahlia-tint);border-color:var(--dahlia-tint-2)}
.bg-hdr-cap{display:block;margin-top:.5rem;font-family:var(--mono);font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}
.bg-hdr-cap small{text-transform:none;letter-spacing:0;margin-left:.4rem}
.bg-headers a:hover .bg-hdr{border-color:var(--sapphire)}
.bg-rules{margin:1.2rem 0 1.6rem;padding-left:1.3rem;max-width:60rem}
.bg-rules li{margin-bottom:.8rem}
@media (max-width:860px){.bg-row,.bg-swatches{grid-template-columns:repeat(2,minmax(0,1fr))}.bg-scores{grid-template-columns:repeat(3,minmax(0,1fr))}.bg-facts,.bg-headers{grid-template-columns:1fr}.bg-wm{font-size:1.6rem}}
