:root, html, body { color-scheme: light; }
.counter-strip--hero .cs-value { font-size: clamp(10px, 1.05vw, 15px); letter-spacing: .04em; }
.labs-ground { position: fixed; inset: 0; z-index: -1; background: var(--ink); }
.topnav .tn-labs-mark { gap: .55rem; }
.topnav .tn-labs-logo { width: 25px; height: 25px; display: block; object-fit: contain; }
.topnav .tn-labs-word { color: var(--bone); font: 700 .58rem var(--mono); letter-spacing: .2em; }
.topnav .tn-links a[aria-current="page"], .topnav .tn-panel a[aria-current="page"] { color: var(--red); }
.labs-section .secblock { padding: clamp(1.25rem, 3.2vw, 3rem); }
.labs-section .secbody > .wrap { padding: 0; }
.labs-section .kicker { margin-bottom: 2rem; }
.labs-intro, .labs-heading { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 7rem); align-items: end; }
.labs-intro h2, .labs-heading h2 { margin: 0; max-width: 18ch; }
.labs-intro .lede, .labs-heading > .lede { margin: 0; }
.labs-intro .muted { max-width: 60ch; margin: 1.4rem 0 0; }
.labs-principles { display: grid; grid-template-columns: repeat(3,1fr); margin-top: clamp(3rem,7vw,6.5rem); border-block: 1px solid var(--hair); }
.labs-principles > div { display: grid; grid-template-columns: 44px 1fr; gap: 10px; align-items: start; padding: 1.3rem 1rem 1.3rem 0; font-size: .95rem; }
.labs-principles > div + div { padding-left: 1.2rem; border-left: 1px solid var(--hair); }
.labs-principles small, .labs-inputs small, .labs-index small, .labs-possibilities small { color: var(--dim); font: 9px var(--mono); letter-spacing: .06em; }
.labs-heading { margin-bottom: clamp(2.5rem,5vw,4rem); }
.labs-heading h2 { font-size: clamp(3rem,6.7vw,6.8rem); line-height: .87; }
.labs-heading > p { max-width: 57ch; }
.labs-layer-grid { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(260px,.8fr); gap: clamp(1.2rem,2vw,2rem); align-items: stretch; }
.labs-figure { min-width: 0; }
.labs-figure .figpanel__body { min-height: 0; padding: clamp(1.5rem,3vw,2.6rem); padding-top: clamp(4.5rem,7vw,6rem); }
.labs-figure canvas.eloFig2 { width: 100%; aspect-ratio: 720 / 320; }
.labs-figure canvas.eloFig { width: 100%; aspect-ratio: 360 / 240; }
.labs-figure .figpanel__cap { max-width: 54ch; font-size: 9px; line-height: 1.65; }
.labs-inputs { display: flex; flex-direction: column; border-top: 1px solid var(--hair); }
.labs-inputs article { flex: 1; padding: 1.2rem 0 1.3rem; border-bottom: 1px solid var(--hair); }
.labs-inputs h3 { margin: .6rem 0 .4rem; font: 600 clamp(1.35rem,2.1vw,1.8rem)/1.02 var(--disp); text-transform: uppercase; }
.labs-inputs p { margin: 0; color: var(--dim); font-size: .85rem; line-height: 1.55; }
.labs-inputs a, .labs-simulation .brief-link { display: inline-flex; gap: .7rem; margin-top: .9rem; color: var(--red); font: 9px var(--mono); text-transform: uppercase; }
.labs-simulation { display: grid; grid-template-columns: minmax(280px,.8fr) minmax(0,1.2fr); gap: clamp(2rem,6vw,7rem); align-items: center; }
.labs-simulation h2 { margin: 0; max-width: 8ch; font-size: clamp(3.5rem,7.5vw,7.4rem); line-height: .82; }
.labs-red { color: var(--red); }
.labs-simulation .lede { max-width: 24ch; margin: 1.8rem 0 1rem; }
.labs-simulation .muted { max-width: 43ch; }
.labs-flow { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; align-items: center; gap: clamp(.6rem,2vw,1.7rem); padding: 1.5rem 0; border-block: 1px solid var(--hair); }
.labs-flow > div { min-height: 115px; display: flex; flex-direction: column; justify-content: space-between; gap: 1rem; padding: 1rem; border: 1px solid var(--hair); }
.labs-flow small { color: var(--dim); font: 8px var(--mono); letter-spacing: .08em; }
.labs-flow b { font: 600 clamp(1.2rem,2vw,1.8rem)/1 var(--disp); text-transform: uppercase; }
.labs-flow i { color: var(--red); font: normal 1.2rem var(--mono); }
.labs-flow-core { border-color: var(--red) !important; background: rgba(208,52,21,.045); }
.labs-index { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid var(--hair); border-left: 1px solid var(--hair); }
.labs-index article { min-height: 200px; position: relative; padding: 1.3rem; border-right: 1px solid var(--hair); border-bottom: 1px solid var(--hair); }
.labs-index h3 { margin: 2rem 0 .45rem; font: 600 clamp(1.8rem,3vw,2.6rem)/1 var(--disp); text-transform: uppercase; }
.labs-index p { max-width: 36ch; margin: 0; color: var(--dim); font-size: .85rem; }
.labs-index article > b { position: absolute; top: 1.3rem; right: 1.3rem; color: var(--red); font: 8px var(--mono); }
.labs-horizon .secblock, .labs-closing .secblock { background: var(--bone); color: var(--ink); }
.labs-horizon .labs-heading { margin-top: 1.5rem; }
.labs-possibilities { display: grid; grid-template-columns: repeat(4,1fr); border-block: 1px solid rgba(20,16,12,.24); }
.labs-possibilities article { min-height: 175px; padding: 1rem 1rem 1.4rem 0; }
.labs-possibilities article + article { padding-left: 1rem; border-left: 1px solid rgba(20,16,12,.2); }
.labs-possibilities h3 { margin: 2.5rem 0 .5rem; font: 600 clamp(1.3rem,2vw,1.8rem)/1 var(--disp); text-transform: uppercase; }
.labs-possibilities p { max-width: 24ch; margin: 0; color: var(--dim); font-size: .82rem; }
.labs-closing .wrap { padding-block: clamp(2rem,6vw,5rem); }
.labs-closing h2 { margin: .5rem 0 1rem; font-size: clamp(5rem,13vw,12rem); line-height: .76; }
.labs-closing .btn { margin-top: 1.5rem; }
.labs-footer { display: grid; grid-template-columns: 1fr auto; gap: 1.4rem; align-items: center; padding: 1.5rem clamp(1rem,4vw,3rem); border-top: 1px solid var(--hair); }
.labs-footer > div { display: flex; align-items: center; gap: .6rem; }
.labs-footer > div img { width: 22px; height: 22px; object-fit: contain; }
.labs-footer > div b { font: 700 8px var(--mono); letter-spacing: .15em; }
.labs-footer > div > span, .labs-footer nav, .labs-footer small { color: var(--dim); font: 8px var(--mono); }
.labs-footer nav { display: flex; gap: 1.2rem; }
.labs-footer nav a:hover { color: var(--red); }
.labs-footer small { grid-column: 1 / -1; }
@media (max-width: 900px) {
  .labs-intro, .labs-heading, .labs-layer-grid, .labs-simulation { grid-template-columns: 1fr; gap: 2rem; }
  .labs-flow { grid-template-columns: repeat(4,1fr); }
  .labs-flow > i { display: none; }
  .labs-flow > div { min-height: 115px; }
}
@media (max-width: 700px) {
  .labs-section .secblock { padding: 1.25rem; }
  .labs-principles { grid-template-columns: 1fr; }
  .labs-principles > div + div { padding-left: 0; border-left: 0; border-top: 1px solid var(--hair); }
  .labs-flow { grid-template-columns: repeat(2,1fr); }
  .labs-flow > div { min-height: 100px; }
  .labs-possibilities { grid-template-columns: repeat(2,1fr); }
  .labs-possibilities article:nth-child(3) { border-top: 1px solid rgba(20,16,12,.2); padding-left: 0; }
  .labs-possibilities article:nth-child(4) { border-top: 1px solid rgba(20,16,12,.2); }
  .labs-index { grid-template-columns: 1fr; }
  .labs-footer { grid-template-columns: 1fr; }
  .labs-footer > div { align-items: flex-start; flex-wrap: wrap; }
  .labs-footer nav { flex-wrap: wrap; }
}

@media (min-width: 641px) and (max-width: 899px) {
  .topnav .tn-links { display: flex; gap: .15rem; }
  .topnav .tn-links a { height: 28px; padding-inline: .55rem; font-size: .48rem; letter-spacing: .16em; }
  .topnav .tn-burger { display: none; }
  .topnav .tn-mark { padding-inline: .35rem; }
  .topnav .tn-in { padding-inline: .65rem; gap: .3rem; }
}
.labs-horizon .secbody, .labs-horizon .wrap, .labs-closing .secbody, .labs-closing .wrap { background: transparent; }
.labs-horizon .labs-possibilities { border-color: rgba(232,232,219,.24); }
.labs-horizon .labs-possibilities article + article { border-color: rgba(232,232,219,.2); }
.labs-horizon .labs-possibilities small, .labs-horizon .labs-possibilities p, .labs-horizon .readout.muted { color: rgba(232,232,219,.66); }
.labs-horizon .lede, .labs-horizon .muted, .labs-closing .muted { color: rgba(232,232,219,.78); }
.labs-closing .kicker { color: rgba(232,232,219,.58); }
.labs-territories { border-top: 1px solid var(--hair); }
.labs-territories article { display: grid; grid-template-columns: 44px minmax(190px,.85fr) minmax(180px,1.15fr) 20px; gap: 1rem; align-items: center; padding: 1rem 0; border-bottom: 1px solid var(--hair); }
.labs-territories article > span { color: var(--dim); font: 9px var(--mono); }
.labs-territories h3 { margin: 0; font: 600 clamp(1.25rem,2vw,1.7rem)/1 var(--disp); text-transform: uppercase; }
.labs-territories p { margin: 0; color: var(--dim); font-size: .85rem; }
.labs-territories b { color: var(--red); font: 12px var(--mono); }
@media (max-width: 700px) {
  .labs-territories article { grid-template-columns: 35px 1fr 18px; gap: .6rem; }
  .labs-territories p { grid-column: 2 / 3; }
  .labs-territories b { grid-column: 3; grid-row: 1; }
}
