@font-face { font-family: "Mulish"; src: url("fonts/Mulish-400.ttf") format("truetype"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "Mulish"; src: url("fonts/Mulish-500.ttf") format("truetype"); font-style: normal; font-weight: 500; font-display: swap; }
@font-face { font-family: "Mulish"; src: url("fonts/Mulish-600.ttf") format("truetype"); font-style: normal; font-weight: 600; font-display: swap; }
@font-face { font-family: "Mulish"; src: url("fonts/Mulish-700.ttf") format("truetype"); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: "Mulish"; src: url("fonts/Mulish-800.ttf") format("truetype"); font-style: normal; font-weight: 800; font-display: swap; }
@font-face { font-family: "Newsreader"; src: url("fonts/Newsreader-500.ttf") format("truetype"); font-style: normal; font-weight: 500; font-display: swap; }
@font-face { font-family: "Newsreader"; src: url("fonts/Newsreader-600.ttf") format("truetype"); font-style: normal; font-weight: 600; font-display: swap; }

:root {
  --black: #040200;
  --ground: #120a00;
  --ink: #1b0d01;
  --terracotta: #e2805a;
  --terracotta-dark: #b9502f;
  --signal: #f1cc36;
  --paper: #fffdfb;
  --paper-warm: #fff7f1;
  --peach: #fbe8df;
  --line-warm: #efd5c7;
  --soft-ink: #493529;
  --serif: "Newsreader", Georgia, serif;
  --sans: "Mulish", "Segoe UI", Arial, sans-serif;
  --content: min(92rem, calc(100vw - clamp(2rem, 6vw, 7rem)));
  --reading: 48rem;
  --bg: var(--paper);
  --surface: #ffffff;
  --surface-2: var(--paper-warm);
  --text: var(--ink);
  --text-soft: var(--soft-ink);
  --line: var(--line-warm);
  --header: #f3b57d;
  --deep: var(--ground);
  --deep-text: #fffdfb;
  color-scheme: light;
  font-family: var(--sans);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

html[data-theme="dark"] {
  --bg: #080401;
  --surface: #120a00;
  --surface-2: #1b0d01;
  --text: #fffaf3;
  --text-soft: #d9cbbc;
  --line: #5a3928;
  --header: #efaf75;
  --deep: #020100;
  --deep-text: #fffaf3;
  color-scheme: dark;
}

* { box-sizing: border-box; }
html { min-width: 20rem; scroll-behavior: smooth; scroll-padding-top: 6.5rem; background: var(--bg); }
body { margin: 0; min-width: 20rem; min-height: 100vh; overflow-x: clip; background: var(--bg); color: var(--text); font-family: var(--sans); font-size: clamp(1rem, .96rem + .15vw, 1.12rem); line-height: 1.62; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
button, input, textarea, select { font: inherit; }
button, a { color: inherit; }
a { text-decoration-thickness: .09em; text-underline-offset: .22em; }
img, svg { display: block; max-width: 100%; }
figure, blockquote, p, h1, h2, h3, h4, ol, ul, dl, dd { margin-top: 0; }
h1, h2, .display { font-family: var(--serif); font-optical-sizing: auto; font-weight: 600; letter-spacing: -.035em; line-height: .98; text-wrap: balance; }
h1 { font-size: clamp(3.1rem, 2.1rem + 4.35vw, 7.5rem); }
h2 { font-size: clamp(2.2rem, 1.65rem + 2.5vw, 4.75rem); }
h3 { font-size: clamp(1.25rem, 1.05rem + .65vw, 1.75rem); line-height: 1.18; }
p, li { text-wrap: pretty; }
:focus-visible { outline: 3px solid var(--signal); outline-offset: 4px; }
[hidden] { display: none !important; }

.skip-link { position: fixed; z-index: 500; top: .8rem; left: .8rem; transform: translateY(-180%); padding: .75rem 1rem; background: var(--signal); color: var(--ink); font-weight: 800; }
.skip-link:focus { transform: none; }
.shell { width: var(--content); margin-inline: auto; }
.reading { max-width: var(--reading); }
.eyebrow { margin: 0 0 .8rem; color: var(--terracotta-dark); font-size: .76rem; font-weight: 800; letter-spacing: .14em; line-height: 1.4; text-transform: uppercase; }
html[data-theme="dark"] .eyebrow { color: #f0a787; }
.lede { max-width: 52rem; color: var(--text-soft); font-size: clamp(1.15rem, 1.02rem + .5vw, 1.55rem); line-height: 1.52; }
.micro { color: var(--text-soft); font-size: .84rem; }
.numeral { color: var(--terracotta); font-size: .8rem; font-weight: 800; letter-spacing: .12em; }

.site-header { position: sticky; z-index: 100; top: 0; background: var(--header); color: var(--ink); border-bottom: 1px solid rgba(27,13,1,.18); }
.header-inner { width: var(--content); min-height: 5.4rem; margin-inline: auto; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: clamp(1rem, 2vw, 2.25rem); }
.brand { display: inline-flex; align-items: center; min-width: 3.4rem; }
.brand img { width: 3.35rem; height: auto; }
.desktop-nav { display: flex; justify-content: center; align-items: center; gap: clamp(.35rem, 1.05vw, 1.2rem); font-size: clamp(.72rem, .61rem + .28vw, .93rem); font-weight: 700; }
.desktop-nav > a, .dropdown-toggle { min-height: 2.75rem; display: inline-flex; align-items: center; border: 0; background: none; padding: .25rem .08rem; text-decoration: none; white-space: nowrap; cursor: pointer; }
.desktop-nav > a:hover, .dropdown-toggle:hover, .desktop-nav [aria-current="page"] { text-decoration: underline; text-decoration-thickness: .12em; text-underline-offset: .35em; }
.nav-dropdown { position: relative; }
.dropdown-toggle svg { width: .78rem; margin-left: .36rem; transition: transform .2s ease; }
.dropdown-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.dropdown-panel { position: absolute; top: calc(100% + .45rem); left: 50%; min-width: 19rem; transform: translate(-50%, .5rem); opacity: 0; visibility: hidden; padding: .65rem; background: var(--paper); color: var(--ink); border: 1px solid rgba(27,13,1,.18); box-shadow: 0 1.1rem 2.2rem rgba(27,13,1,.16); }
.dropdown-panel.is-open { transform: translate(-50%, 0); opacity: 1; visibility: visible; }
.dropdown-panel a, .dropdown-panel button { display: flex; width: 100%; min-height: 2.65rem; align-items: center; padding: .55rem .7rem; border: 0; background: transparent; text-align: left; text-decoration: none; font-weight: 700; }
.dropdown-panel a:hover, .dropdown-panel button:hover { background: var(--peach); }
.header-actions { display: flex; align-items: center; gap: .5rem; }
.theme-control, .menu-control { min-height: 2.8rem; padding: .55rem .85rem; border: 1px solid rgba(27,13,1,.35); border-radius: 999px; background: transparent; color: var(--ink); cursor: pointer; font-weight: 700; }
.menu-control { display: none; }
.mobile-nav { display: none; }

.site-footer { background: var(--ground); color: var(--paper); }
.footer-grid { width: var(--content); margin-inline: auto; padding: clamp(3rem, 5vw, 5.5rem) 0; display: grid; grid-template-columns: 1.6fr repeat(3, 1fr); gap: clamp(2rem, 5vw, 5rem); }
.footer-grid img { width: 3.25rem; margin-bottom: 1.25rem; filter: brightness(0) invert(1); }
.footer-grid h3 { margin: 0 0 1rem; color: #f0a787; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; }
.footer-grid a { display: block; width: fit-content; margin: .48rem 0; color: inherit; text-decoration: none; }
.footer-grid a:hover { text-decoration: underline; }
.footer-brand p { max-width: 25rem; color: #d9cbbc; }
.footer-meta { border-top: 1px solid rgba(255,255,255,.18); padding: 1.1rem max(calc((100vw - 92rem) / 2), clamp(1rem, 3vw, 3.5rem)); display: flex; flex-wrap: wrap; justify-content: space-between; gap: .8rem 2rem; color: #d9cbbc; font-size: .83rem; }

.button-row { display: flex; flex-wrap: wrap; gap: .8rem; align-items: center; }
.button { min-height: 3.25rem; display: inline-flex; justify-content: center; align-items: center; padding: .85rem 1.25rem; border: 1px solid currentColor; text-decoration: none; font-family: var(--sans); font-size: .93rem; font-weight: 800; }
.button--primary { border-color: var(--terracotta); background: var(--terracotta); color: var(--ink); }
.button--primary:hover { background: #ed936e; }
.button--secondary { background: transparent; color: inherit; }
.button--light { border-color: #fff; background: #fff; color: var(--ink); }
.text-link, .arrow-link { display: inline-flex; width: fit-content; gap: .6rem; align-items: center; font-weight: 800; }
.arrow-link::after { content: "↗"; color: var(--terracotta); }

.review-gate { padding: .7rem max(calc((100vw - 92rem) / 2), clamp(1rem, 3vw, 3.5rem)); background: var(--signal); color: var(--ink); font-size: .82rem; font-weight: 800; text-align: center; }

/* Home working revision — whole-page approval reopened 2026-08-10 */
.home-hero { width: var(--content); min-height: min(52rem, calc(100vh - 5.4rem)); margin-inline: auto; padding: clamp(4rem, 8vw, 8rem) 0; display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(26rem, .85fr); gap: clamp(2.5rem, 5vw, 6rem); align-items: start; }
.home-hero h1 { max-width: 65rem; margin: 0 0 1.7rem; font-size: clamp(3.3rem, 2.45rem + 1.25vw, 4.25rem); }
.home-hero .lede { margin-bottom: 2rem; }
.home-hero .gap-figure { margin-top: 2.6rem; }
.gap-figure { margin: 0; }
.gap-stage { position: relative; overflow: hidden; aspect-ratio: 1.65; display: grid; place-items: center; background: var(--surface-2); border: 1px solid var(--line); }
.gap-stage img { width: 100%; height: 100%; object-fit: contain; }
.gap-tabs { display: grid; grid-template-columns: repeat(3, 1fr); }
.gap-tabs button { min-height: 3rem; border: 1px solid var(--line); background: transparent; color: inherit; font-weight: 800; cursor: pointer; }
.gap-tabs button.is-active { background: var(--signal); color: var(--ink); }
.client-strip { position: relative; overflow: hidden; padding: 1rem 0; background: var(--ground); color: var(--paper); border-block: 1px solid rgba(255,255,255,.16); }
.client-strip > p { margin: 0 0 .75rem; text-align: center; font-size: .67rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.logo-arrow { position: absolute; z-index: 2; left: clamp(1rem, 3vw, 3rem); bottom: 1.4rem; display: grid; place-items: center; width: 2.5rem; height: 2.5rem; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; font-size: 1.25rem; background: var(--ground); }
.logo-marquee { display: flex; width: max-content; align-items: center; animation: logo-marquee 34s linear infinite; }
.logo-set { display: flex; min-width: max(100vw, 72rem); justify-content: space-around; align-items: center; gap: 3rem; padding: 0 2rem; }
.logo-set img { width: auto; max-width: 8rem; height: 2.2rem; object-fit: contain; filter: grayscale(1) brightness(0) invert(1); opacity: .86; }
@keyframes logo-marquee { to { transform: translateX(-50%); } }
.editorial-section, .soft-section, .deep-section, .page-section { padding: clamp(5rem, 9vw, 10rem) 0; }
.editorial-grid { width: var(--content); margin-inline: auto; display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: clamp(3rem, 9vw, 10rem); align-items: start; }
.section-heading h2 { margin: 0; }
.prose { max-width: 50rem; }
.prose p { margin: 0 0 1.2rem; }
.prose .lead-copy { font-size: clamp(1.25rem, 1.05rem + .75vw, 1.85rem); }
.home-opening .lead-copy, .home-system .lead-copy { font-size: clamp(1.08rem, 1.02rem + .25vw, 1.3rem); line-height: 1.65; }
.home-question { padding: clamp(4rem, 7vw, 7rem) max(calc((100vw - 92rem) / 2), clamp(1rem, 3vw, 3.5rem)); background: var(--terracotta); color: var(--ink); text-align: center; }
.home-question p { margin: 0 auto; max-width: 75rem; font-family: var(--serif); font-size: clamp(2.6rem, 1.7rem + 3vw, 5.8rem); line-height: 1; }
.home-gap-story { width: var(--content); margin-inline: auto; padding-block: clamp(3rem, 6vw, 6rem); border-top: 1px solid var(--line); }
.home-gap-story article { display: grid; grid-template-columns: 3.5rem minmax(17rem, .62fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4.5rem); align-items: start; padding: clamp(2.5rem, 5vw, 4.5rem) 0; border-bottom: 1px solid var(--line); }
.sequence-number { color: var(--terracotta); font-size: .8rem; font-weight: 800; letter-spacing: .12em; }
.home-gap-story h2 { margin: 0; font-size: clamp(1.8rem, 1.4rem + 1vw, 3rem); }
.home-gap-story p { margin: 0; max-width: 52rem; }
.home-system { padding: clamp(5rem, 9vw, 10rem) 0; background: var(--deep); color: var(--deep-text); }
.method-context { width: var(--content); margin: clamp(3rem, 6vw, 6rem) auto 0; display: grid; grid-template-columns: repeat(5, 1fr); border-block: 1px solid rgba(255,255,255,.22); }
.method-context span { padding: 1.3rem; border-right: 1px solid rgba(255,255,255,.22); font-family: var(--serif); font-size: clamp(1.3rem, 1.05rem + .75vw, 2rem); text-align: center; }
.system-explanation { width: var(--content); margin: 3rem auto 0; display: grid; grid-template-columns: 1fr auto; gap: 2rem; align-items: end; }
.system-explanation p { max-width: 58rem; margin: 0; font-size: clamp(1.15rem, 1.02rem + .45vw, 1.5rem); }
.home-paths .entry-grid { width: var(--content); margin-inline: auto; display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); }
.entry-grid article { padding: clamp(2rem, 4vw, 3.5rem); border-right: 1px solid var(--line); }
.entry-grid article:last-child { border-right: 0; }
.card-number { color: var(--terracotta); font-weight: 800; }
.soft-section { background: var(--surface-2); }
.home-audiences .section-heading, .home-audiences > .arrow-link { width: var(--content); margin-inline: auto; }
.audience-list { width: var(--content); margin: clamp(2.5rem, 5vw, 5rem) auto 2rem; border-top: 1px solid var(--line); }
.audience-list a { display: grid; grid-template-columns: 3rem minmax(15rem, 1fr) minmax(18rem, 1.15fr) 1rem; gap: 1.2rem; align-items: center; padding: 1.3rem 0; border-bottom: 1px solid var(--line); text-decoration: none; }
.audience-list h3, .audience-list p { margin: 0; }
.testimonial-rail { width: var(--content); margin: 3rem auto 0; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(22rem, 42%); gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-color: var(--terracotta) var(--line); padding-bottom: 1rem; }
.testimonial-rail blockquote { scroll-snap-align: start; margin: 0; padding: clamp(2rem, 4vw, 3.5rem); border: 1px solid var(--line); background: var(--surface); }
.testimonial-rail blockquote p { font-family: var(--serif); font-size: clamp(1.05rem, .98rem + .28vw, 1.32rem); line-height: 1.55; }
.testimonial-rail footer { display: grid; gap: .15rem; margin-top: 2rem; }
.testimonial-controls { width: var(--content); margin: 1rem auto 0; display: flex; justify-content: flex-end; gap: .6rem; }
.testimonial-controls button { width: 3rem; height: 3rem; border: 1px solid var(--line); background: var(--surface); color: var(--text); cursor: pointer; }
.home-final-cta { width: var(--content); margin-inline: auto; padding: clamp(5rem, 9vw, 9rem) 0; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(18rem, .8fr); gap: clamp(3rem, 8vw, 8rem); align-items: end; }

/* Page openings and reusable editorial structures */
.page-opening { padding: clamp(5.5rem, 10vw, 11rem) 0; }
.page-opening h1 { margin: 0 0 2rem; }
.opening-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(22rem, .9fr); gap: clamp(3rem, 8vw, 8rem); align-items: center; }
.opening-grid--wide { grid-template-columns: minmax(0, 1.4fr) minmax(18rem, .6fr); }
.opening-grid > *, .stage-grid > *, .split-statement > *, .segment-context > *, .evidence-slots > * { min-width: 0; }
.opening-prose { max-width: 58rem; color: var(--text-soft); font-size: clamp(1.15rem, 1rem + .45vw, 1.55rem); }
.opening-prose p { margin-bottom: 1.25rem; }
.lab-page-opening { padding-block: clamp(4.5rem, 8vw, 8rem); }
.lab-page-opening__copy { max-width: 76rem; }
.lab-page-opening__copy .breadcrumbs { margin-bottom: clamp(2rem, 4vw, 3.5rem); }
.lab-page-opening__copy h1 { max-width: none; }
.lab-explanation .reading { margin-inline: auto; }
.lab-explanation h2 { margin-bottom: clamp(2rem, 4vw, 3.5rem); }
.lab-explanation p { font-size: clamp(1.08rem, 1rem + .24vw, 1.28rem); }
.media-frame { margin: 0; padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid var(--line); background: var(--surface-2); }
.media-frame figcaption { margin-top: 1rem; color: var(--text-soft); font-size: .82rem; }
.route-pattern, .system-map, .evidence-map, .lab-choice, .tool-boundary, .method-index, .audience-map { min-height: 23rem; display: grid; align-content: center; gap: .85rem; }
.semantic-row { display: grid; grid-template-columns: minmax(7rem, .7fr) 2rem minmax(9rem, 1fr); gap: .5rem; align-items: center; }
.semantic-row > span, .semantic-row > strong, .semantic-chip { padding: .8rem 1rem; border: 1px solid var(--line); background: var(--surface); }
.semantic-row > i { color: var(--terracotta); text-align: center; font-style: normal; font-weight: 800; }
.diagram-label { color: var(--text-soft); font-size: .75rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.full-row-list { border-top: 1px solid var(--line); }
.full-row { display: grid; grid-template-columns: 4rem minmax(12rem, .45fr) minmax(0, 1fr); gap: clamp(1rem, 4vw, 4rem); padding: clamp(2.3rem, 5vw, 4.5rem) 0; border-bottom: 1px solid var(--line); align-items: start; }
.full-row h3 { margin: 0; font-family: var(--serif); font-size: clamp(1.8rem, 1.35rem + 1.2vw, 3rem); }
.full-row p:last-child { margin-bottom: 0; }
.split-statement { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(3rem, 9vw, 10rem); align-items: start; }
.statement-large { font-family: var(--serif); font-size: clamp(2rem, 1.35rem + 2.3vw, 4.4rem); line-height: 1.08; }
.ink-band { background: var(--deep); color: var(--deep-text); }
.ink-band p, .ink-band .lede { color: #fffdfb; }
.lab-result-boundary .lede { color: #fffdfb; }
.signal-band { background: var(--terracotta); color: var(--ink); }

/* Gap */
.gap-opening h1 { font-size: clamp(3.5rem, 2.5rem + 4vw, 8rem); }
.gap-definition { max-width: 70rem; }
.symptom-ledger { display: grid; grid-template-columns: repeat(2, 1fr); border: 1px solid var(--line); }
.symptom-ledger > div { padding: clamp(2rem, 5vw, 4rem); }
.symptom-ledger > div:first-child { border-right: 1px solid var(--line); }
.symptom-ledger ul { margin-bottom: 0; padding-left: 1.2rem; }
.state-stack article { display: grid; grid-template-columns: 4rem minmax(12rem, .4fr) minmax(0, 1fr); gap: clamp(1rem, 4vw, 4rem); padding: clamp(2.5rem, 5vw, 5rem) 0; border-top: 1px solid var(--line); }
.state-stack article:last-child { border-bottom: 1px solid var(--line); }
.state-stack h3 { font-family: var(--serif); font-size: clamp(2rem, 1.4rem + 1.7vw, 3.8rem); }

/* System */
.system-opening { text-align: center; }
.system-opening .opening-prose { margin-inline: auto; }
.system-opening h1 { max-width: 80rem; margin-inline: auto; }
.system-relationship { display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line); }
.system-relationship div { min-height: 10rem; padding: 1.2rem; border-right: 1px solid var(--line); display: flex; flex-direction: column; justify-content: space-between; }
.system-relationship div:last-child { border-right: 0; background: var(--surface-2); }
.element-spread { display: grid; grid-template-columns: 4rem minmax(14rem, .5fr) minmax(0, 1fr); gap: clamp(1rem, 4vw, 5rem); padding: clamp(2.5rem, 5vw, 5rem) 0; border-top: 1px solid var(--line); }

/* Accepted Brand-Power System composition */
.system-opening-accepted h1 { max-width: 76rem; }
.system-opening-accepted .opening-grid { grid-template-columns: minmax(0, .82fr) minmax(34rem, 1.18fr); align-items: start; }
.system-network { min-height: 34rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; align-content: center; }
.system-node { min-width: 0; min-height: 6rem; display: grid; align-content: center; gap: .25rem; padding: 1rem; border: 1px solid var(--line); background: var(--surface); }
.system-node small, .system-artifact small, .method-sequence small { color: var(--terracotta-dark); font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
html[data-theme="dark"] .system-node small, html[data-theme="dark"] .system-artifact small, html[data-theme="dark"] .method-sequence small { color: #f0a787; }
.system-node strong { font-family: var(--serif); font-size: clamp(1.05rem, .96rem + .35vw, 1.35rem); line-height: 1.12; }
.system-core { grid-column: 1 / -1; min-height: 8rem; background: var(--terracotta); color: var(--ink); }
.system-core small { color: var(--ink); }
.system-core span { font-size: .78rem; font-weight: 800; }
.system-outcomes { grid-column: 1 / -1; min-height: 7rem; background: var(--deep); color: var(--deep-text); }
.element-stack { margin-top: clamp(2.5rem, 5vw, 5rem); border-top: 1px solid var(--line); }
.element-row { display: grid; grid-template-columns: 3.5rem minmax(13rem, .45fr) minmax(19rem, .85fr) minmax(18rem, .7fr); gap: clamp(1rem, 3vw, 3rem); align-items: start; padding: clamp(2rem, 4.5vw, 4.5rem) 0; border-bottom: 1px solid var(--line); }
.element-row h3 { margin: 0; font-family: var(--serif); font-size: clamp(1.75rem, 1.35rem + 1.15vw, 3rem); }
.element-row > p { margin: 0; color: var(--text-soft); }
.system-artifact { display: grid; gap: .6rem; padding: 1.2rem; border: 1px solid var(--line); background: var(--surface-2); }
.system-artifact > strong { font-family: var(--serif); font-size: 1.25rem; line-height: 1.18; }
.system-artifact > div { display: flex; flex-wrap: wrap; gap: .4rem; }
.system-artifact span { padding: .35rem .55rem; border: 1px solid var(--line); background: var(--surface); font-size: .73rem; font-weight: 800; }
.coherence-copy { max-width: 69rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(2rem, 6vw, 6rem); margin: 2rem 0 clamp(2.5rem, 5vw, 5rem); }
.coherence-copy p { margin: 0; }
.coherence-compare { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; border: 1px solid var(--line); }
.coherence-compare > div { min-width: 0; padding: clamp(1.5rem, 4vw, 3rem); }
.coherence-compare > div:first-child { border-right: 1px solid var(--line); }
.coherence-compare > div > strong { display: block; margin-bottom: 1.5rem; font-family: var(--serif); font-size: clamp(1.45rem, 1.2rem + .7vw, 2.1rem); }
.coherence-compare p { display: grid; grid-template-columns: 6rem minmax(0, 1fr); gap: 1rem; margin: 0; padding: 1rem 0; border-top: 1px solid var(--line); }
.coherence-compare small { color: var(--terracotta-dark); font-weight: 800; }
.method-sequence { list-style: none; margin: 2.5rem 0 2rem; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-block: 1px solid var(--line); }
.method-sequence li { min-width: 0; display: grid; gap: .5rem; padding: 1.4rem 1rem; border-right: 1px solid var(--line); }
.method-sequence li:last-child { border-right: 0; }
.method-sequence strong { font-family: var(--serif); font-size: clamp(1.35rem, 1.05rem + .7vw, 2rem); }

/* Method */
.method-index ol { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--line); }
.method-index li { padding: 1rem .65rem; border-right: 1px solid var(--line); }
.method-index li:last-child { border-right: 0; }
.method-index small, .method-index strong { display: block; }
.method-index strong { margin-top: .45rem; font-family: var(--serif); font-size: 1.25rem; }
.method-stages article { padding: clamp(4.5rem, 8vw, 9rem) 0; border-top: 1px solid var(--line); }
.method-stages article:nth-child(even) { background: var(--surface-2); }
.stage-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(22rem, 1.2fr); gap: clamp(3rem, 9vw, 9rem); align-items: center; }
.stage-copy h2 { margin: .8rem 0 1.5rem; }
.stage-visual { min-height: 24rem; display: grid; place-content: center; gap: .75rem; padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid var(--line); background: var(--surface); }

/* Audience and segment */
.audience-opening { text-align: center; }
.audience-opening .opening-prose { margin-inline: auto; }
.who-serve-intro { max-width: 76rem; }
.audience-route-stack { border-top: 1px solid var(--line); }
.audience-route { padding: clamp(4.5rem, 8vw, 8.5rem) 0; border-bottom: 1px solid var(--line); }
.audience-route:nth-child(even) { background: var(--surface-2); }
.audience-route-grid { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(25rem, .96fr); gap: clamp(3rem, 8vw, 8rem); align-items: center; }
.audience-route:nth-child(even) .audience-copy { order: 2; }
.audience-copy .numeral { display: block; margin-bottom: 1rem; }
.audience-copy h2 { max-width: 15ch; margin: 0 0 1.5rem; }
.audience-copy p { max-width: 51rem; margin-bottom: 1.4rem; color: var(--text-soft); font-size: clamp(1.05rem, 1rem + .3vw, 1.3rem); }
.audience-copy .arrow-link { margin-top: .4rem; }
.audience-evidence { min-height: 24rem; margin: 0; padding: clamp(1.2rem, 2.5vw, 2rem) 0; border-block: 1px solid var(--line); }
.nonprofit-evidence { display: grid; grid-template-columns: 1fr auto 1fr; gap: 1rem; align-items: center; }
.nonprofit-evidence > i { color: var(--terracotta); font-style: normal; font-size: 1.65rem; }
.evidence-inputs, .evidence-outcomes { display: grid; }
.evidence-inputs span, .evidence-outcomes span { padding: .75rem 0; border-bottom: 1px solid var(--line); font-size: .78rem; font-weight: 800; }
.evidence-inputs span:last-child, .evidence-outcomes span:last-child { border-bottom: 0; }
.evidence-outcomes span { padding-left: .8rem; border-left: .18rem solid var(--terracotta); }
.enterprise-evidence { display: grid; align-content: center; gap: 1.6rem; }
.dual-centre { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(.8rem, 2vw, 1.4rem); }
.dual-centre div { min-width: 0; aspect-ratio: 1; display: grid; place-content: center; border: 1px solid var(--line); border-radius: 50%; background: var(--surface); text-align: center; }
.dual-centre small, .venture-stage small, .purpose-proof small, .capacity-layer small { color: var(--terracotta-dark); font-size: .67rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
html[data-theme="dark"] .dual-centre small, html[data-theme="dark"] .venture-stage small, html[data-theme="dark"] .purpose-proof small, html[data-theme="dark"] .capacity-layer small { color: #f0a787; }
.dual-centre strong { overflow-wrap: anywhere; font-family: var(--serif); font-size: clamp(1.35rem, 1rem + 1vw, 2rem); }
.evidence-bridge { display: grid; grid-template-columns: repeat(4, 1fr); gap: .6rem; }
.evidence-bridge span { padding-top: .65rem; border-top: .18rem solid var(--terracotta); text-align: center; font-size: .72rem; font-weight: 800; }
.venture-evidence { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(.8rem, 2vw, 1.5rem); align-items: center; }
.venture-stage { min-height: 17rem; display: grid; align-content: center; gap: .8rem; padding-left: 1rem; border-left: 1px solid var(--line); }
.venture-stage:nth-child(2) { border-left-color: var(--terracotta); }
.venture-stage span { font-size: .76rem; font-weight: 700; }
.business-evidence { display: grid; grid-template-columns: .9fr 1.1fr; gap: 1.5rem; align-items: center; }
.purpose-proof { aspect-ratio: 1; display: grid; place-content: center; gap: .65rem; padding: 1.25rem; border: 1px solid var(--terracotta); border-radius: 50%; text-align: center; }
.purpose-proof strong { font-family: var(--serif); font-size: 2rem; }
.purpose-proof span { font-size: .73rem; font-weight: 700; }
.purpose-public { display: grid; gap: .6rem; }
.purpose-public span { padding: .7rem 0 .7rem 1rem; border-left: 1px solid var(--line); font-weight: 800; }
.funder-evidence { display: grid; align-content: center; gap: 1.5rem; }
.capacity-layer { display: grid; grid-template-columns: repeat(3, 1fr); gap: .7rem; padding-bottom: 1.1rem; border-bottom: 1px solid var(--line); }
.capacity-layer small { grid-column: 1 / -1; }
.capacity-layer span { font-size: .7rem; font-weight: 800; }
.portfolio-orgs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.portfolio-orgs div { min-width: 0; width: min(100%, 10rem); justify-self: center; aspect-ratio: 1; display: grid; place-items: center; padding: .7rem; border: 1px solid var(--line); border-radius: 50%; font-family: var(--serif); text-align: center; }
.funder-evidence > strong { color: var(--text-soft); text-align: center; font-size: .76rem; }
.segment-opening h1 { max-width: 68rem; }
.segment-context { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); }
.segment-context div { padding: clamp(1.5rem, 4vw, 3rem); border-right: 1px solid var(--line); }
.segment-context div:last-child { border-right: 0; }
.segment-context h3 { font-family: var(--serif); }
.segment-introduction h3 { max-width: 28ch; margin-bottom: 1.15rem; }
.segment-introduction .lede { margin: 0; }
.segment-section-heading { max-width: 22ch; margin-bottom: clamp(2.5rem, 6vw, 5rem); }

/* Labs */
.labs-opening { overflow: hidden; padding: clamp(3.75rem, 7vw, 7.5rem) 0; background: var(--surface-2); }
.labs-opening__grid { display: grid; grid-template-columns: minmax(22rem, .78fr) minmax(30rem, 1.22fr); gap: clamp(3rem, 8vw, 8.5rem); align-items: center; }
.labs-opening__copy h1 { max-width: 10ch; margin-bottom: clamp(1.8rem, 4vw, 3rem); font-size: clamp(4rem, 3.1rem + 3.2vw, 7.2rem); }
.labs-opening__copy .opening-prose { max-width: 44rem; font-size: clamp(1.08rem, 1rem + .32vw, 1.32rem); }
.labs-facts { display: flex; gap: 0; margin: clamp(2.5rem, 5vw, 4rem) 0 0; border-block: 1px solid var(--line); }
.labs-facts div { min-width: 9.5rem; padding: 1.1rem 1.5rem 1.1rem 0; }
.labs-facts div + div { padding-left: 1.5rem; border-left: 1px solid var(--line); }
.labs-facts dt { color: var(--text-soft); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.labs-facts dd { margin: .2rem 0 0; font-family: var(--serif); font-size: clamp(2rem, 1.6rem + 1vw, 3rem); line-height: 1; }

.labs-choice { position: relative; min-width: 0; overflow: hidden; padding: clamp(1.5rem, 3.5vw, 3rem); background: var(--deep); color: var(--deep-text); }
.labs-choice::before { content: ""; position: absolute; top: 0; bottom: 0; left: 71%; width: 1px; pointer-events: none; background: rgba(226,128,90,.16); }
.labs-choice__prompt { position: relative; margin: 0 0 1.15rem; color: #d9cbbc; font-size: .72rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.labs-choice__diagnostic { position: relative; min-height: 9.5rem; display: grid; grid-template-columns: 1.1rem minmax(0, 1fr) auto; grid-template-rows: auto auto; column-gap: 1rem; align-content: center; padding: clamp(1.5rem, 3vw, 2.4rem); background: var(--terracotta); color: var(--ink); text-decoration: none; }
.labs-choice__diagnostic:hover strong { text-decoration: underline; text-decoration-thickness: .08em; text-underline-offset: .16em; }
.labs-choice__signal { grid-row: 1 / 3; align-self: center; width: .78rem; height: .78rem; border: .18rem solid var(--ink); border-radius: 50%; background: var(--signal); box-shadow: 0 0 0 .42rem rgba(241,204,54,.22); }
.labs-choice__diagnostic small { font-size: .74rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.labs-choice__diagnostic strong { max-width: 20ch; font-family: var(--serif); font-size: clamp(1.65rem, 1.25rem + 1.05vw, 2.55rem); line-height: 1.04; }
.labs-choice__diagnostic i { grid-column: 3; grid-row: 1 / 3; align-self: center; font-size: 1.65rem; font-style: normal; }
.labs-choice__recognised { position: relative; margin-left: clamp(1.25rem, 4vw, 3.5rem); border-left: 1px solid rgba(255,255,255,.24); }
.labs-choice__recognised > p { margin: 0; padding: 1.2rem 1.2rem .75rem; color: #d9cbbc; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.labs-choice__recognised a { min-height: 3.25rem; display: grid; grid-template-columns: 2.25rem minmax(0, 1fr); gap: .8rem; align-items: center; padding: .72rem 1.2rem; border-top: 1px solid rgba(255,255,255,.16); text-decoration: none; }
.labs-choice__recognised a:last-child { border-bottom: 1px solid rgba(255,255,255,.16); }
.labs-choice__recognised a:hover { background: rgba(226,128,90,.13); }
.labs-choice__recognised a span { color: #f0a787; font-size: .7rem; font-weight: 800; letter-spacing: .1em; }
.labs-choice__recognised a strong { font-size: clamp(.88rem, .82rem + .18vw, 1rem); }

.labs-diagnostic { padding: clamp(4rem, 7vw, 7rem) 0; background: var(--terracotta); color: var(--ink); }
.labs-diagnostic__grid { display: grid; grid-template-columns: minmax(0, .88fr) minmax(28rem, 1.12fr); gap: clamp(3rem, 8vw, 8rem); align-items: center; }
.labs-diagnostic__copy { max-width: 52rem; }
.labs-kicker { margin: 0 0 1rem; font-size: .75rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.labs-diagnostic h2 { max-width: 14ch; margin-bottom: 1.5rem; font-size: clamp(2.7rem, 2rem + 2vw, 4.6rem); }
.labs-diagnostic__copy > p:not(.labs-kicker) { max-width: 48rem; }
.labs-diagnostic .button { margin-top: 1rem; border-color: var(--ink); }
.diagnostic-sorter { margin: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(13rem, .62fr); gap: 1rem; align-items: center; padding: clamp(1.3rem, 3vw, 2.4rem); background: var(--ground); color: var(--paper); }
.diagnostic-sorter > i { color: var(--terracotta); font-size: 1.7rem; font-style: normal; }
.diagnostic-sorter__pressures { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid rgba(255,255,255,.2); }
.diagnostic-sorter__pressures span { padding: .72rem 0; border-bottom: 1px solid rgba(255,255,255,.2); font-size: .8rem; font-weight: 700; }
.diagnostic-sorter__pressures span:nth-child(odd) { padding-right: .7rem; }
.diagnostic-sorter__pressures span:nth-child(even) { padding-left: .7rem; border-left: 1px solid rgba(255,255,255,.2); }
.diagnostic-sorter__route { min-height: 12rem; display: grid; align-content: center; gap: .6rem; padding: 1.2rem; border: 1px solid rgba(255,255,255,.28); }
.diagnostic-sorter__route small { color: #f0a787; font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.diagnostic-sorter__route strong { font-family: var(--serif); font-size: clamp(1.35rem, 1.1rem + .6vw, 1.85rem); line-height: 1.12; }
.diagnostic-sorter__route span { color: #d9cbbc; font-size: .75rem; font-weight: 800; }

.labs-directory { padding: clamp(5rem, 9vw, 9rem) 0; background: var(--bg); }
.labs-directory__heading { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(19rem, .8fr); gap: clamp(2.5rem, 8vw, 8rem); align-items: end; margin-bottom: clamp(3.5rem, 7vw, 7rem); }
.labs-directory__heading h2 { max-width: 18ch; margin: 0; }
.labs-directory__heading p { max-width: 38rem; margin: 0; color: var(--text-soft); font-size: clamp(1.05rem, 1rem + .2vw, 1.25rem); }
.lab-directory__list { border-top: 1px solid var(--line); }
.lab-directory__row { display: grid; grid-template-columns: 3.25rem minmax(14rem, .52fr) minmax(20rem, .88fr) minmax(17rem, .62fr); gap: clamp(1.3rem, 3vw, 3.25rem); align-items: center; padding: clamp(3rem, 6vw, 5.75rem) 0; border-bottom: 1px solid var(--line); }
.lab-directory__row > * { min-width: 0; }
.lab-directory__number { align-self: start; color: var(--terracotta-dark); font-size: .75rem; font-weight: 800; letter-spacing: .12em; }
html[data-theme="dark"] .lab-directory__number, html[data-theme="dark"] .lab-count { color: #f0a787; }
.lab-directory__title { align-self: start; }
.lab-directory__title h3 { margin: 0 0 .65rem; font-family: var(--serif); font-size: clamp(2rem, 1.5rem + 1.35vw, 3.4rem); line-height: 1; }
.lab-count { margin: 0; color: var(--terracotta-dark); font-size: .73rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.lab-directory__copy p { margin-bottom: .85rem; }
.lab-directory__copy .arrow-link { min-height: 2.75rem; margin-top: .45rem; }
.lab-mini { position: relative; min-height: 11rem; color: var(--text-soft); font-size: .66rem; font-weight: 800; letter-spacing: .045em; }
.lab-mini strong { color: var(--text); }
.lab-mini--coherence { display: grid; grid-template-columns: 1fr 1.5rem 1fr; gap: .5rem; align-items: center; }
.lab-mini--coherence > div { display: grid; gap: .4rem; }
.lab-mini--coherence span { padding: .35rem 0; border-bottom: 1px solid var(--line); }
.lab-mini--coherence i { position: relative; align-self: stretch; border-left: .18rem solid var(--terracotta); }
.lab-mini--coherence i::before, .lab-mini--coherence i::after { content: ""; position: absolute; left: -.65rem; width: 1.05rem; border-top: 1px solid var(--terracotta); }
.lab-mini--coherence i::before { top: 25%; }
.lab-mini--coherence i::after { bottom: 25%; }
.lab-mini--coherence strong { font-family: var(--serif); font-size: 1.25rem; line-height: 1.1; }
.lab-mini--visibility { width: 100%; max-width: 32rem; justify-self: end; overflow: hidden; display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(3, 1fr); align-items: center; text-align: center; }
.lab-mini--visibility span { position: relative; }
.lab-mini--visibility span::after { content: ""; position: absolute; z-index: -1; top: 50%; left: 50%; width: 150%; border-top: 1px solid var(--line); transform-origin: left; }
.lab-mini--visibility span:nth-child(1) { grid-area: 1 / 1; }
.lab-mini--visibility span:nth-child(2) { grid-area: 1 / 3; }
.lab-mini--visibility span:nth-child(3) { grid-area: 3 / 1; }
.lab-mini--visibility span:nth-child(4) { grid-area: 3 / 3; }
.lab-mini--visibility strong { grid-area: 2 / 2; width: min(100%, 6.5rem); justify-self: center; display: grid; place-items: center; aspect-ratio: 1; border: .18rem solid var(--terracotta); border-radius: 50%; font-size: .7rem; }
.lab-mini--proof, .lab-mini--support { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr) auto; gap: .45rem; align-items: center; }
.lab-mini--proof span, .lab-mini--proof strong, .lab-mini--support span, .lab-mini--support strong { min-height: 4.4rem; display: grid; place-items: center; padding: .55rem; border-block: 1px solid var(--line); text-align: center; }
.lab-mini--proof i, .lab-mini--support i { color: var(--terracotta); font-style: normal; }
.lab-mini--activation { display: grid; grid-template-columns: repeat(7, auto); gap: .35rem; place-content: center; }
.lab-mini--activation span { padding-bottom: .45rem; border-bottom: .18rem solid var(--terracotta); }
.lab-mini--activation i { color: var(--terracotta); font-style: normal; }
.lab-mini--activation b { position: absolute; right: .5rem; bottom: 1.2rem; color: var(--terracotta); font-size: 1.4rem; }

.labs-boundary { padding: clamp(5rem, 9vw, 9rem) 0; background: var(--deep); color: var(--deep-text); }
.labs-boundary__grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(29rem, 1.05fr); gap: clamp(3rem, 8vw, 8rem); align-items: center; }
.labs-boundary h2 { max-width: 14ch; }
.labs-boundary__grid > div p { max-width: 50rem; color: #d9cbbc; }
.labs-boundary__visual { margin: 0; display: grid; }
.labs-boundary__visual > div { min-height: 6rem; display: grid; grid-template-columns: minmax(8rem, .8fr) 2rem minmax(11rem, 1fr); gap: .6rem; align-items: center; padding: 1rem 0; border-top: 1px solid rgba(255,255,255,.22); }
.labs-boundary__visual > div:last-child { border-bottom: 1px solid rgba(255,255,255,.22); }
.labs-boundary__visual span { color: #d9cbbc; }
.labs-boundary__visual i { color: #f0a787; text-align: center; font-style: normal; font-weight: 800; }
.labs-boundary__visual strong { font-family: var(--serif); font-size: clamp(1.25rem, 1.05rem + .5vw, 1.75rem); }
.labs-boundary__stop { margin-top: 1.5rem; border: 1px solid var(--terracotta); padding-inline: 1rem !important; }

.labs-next-route { padding: clamp(5rem, 9vw, 9rem) 0; background: var(--surface-2); }
.labs-next-route__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(30rem, 1.1fr); gap: clamp(3rem, 8vw, 8rem); align-items: center; }
.labs-next-route h2 { max-width: 13ch; }
.labs-next-route__grid > div p { max-width: 52rem; color: var(--text-soft); }
.labs-next-route__visual { margin: 0; display: grid; grid-template-columns: minmax(10rem, .65fr) 3rem minmax(14rem, 1fr); align-items: center; }
.labs-next-route__visual > strong { padding: 1.5rem; background: var(--terracotta); color: var(--ink); font-family: var(--serif); font-size: clamp(1.3rem, 1.05rem + .7vw, 2rem); line-height: 1.08; }
.labs-next-route__visual > i { position: relative; height: 100%; min-height: 15rem; border-block: 1px solid var(--terracotta); border-right: 1px solid var(--terracotta); }
.labs-next-route__visual > i::before { content: ""; position: absolute; top: 50%; left: 0; width: 100%; border-top: 1px solid var(--terracotta); }
.labs-next-route__visual > div { border-block: 1px solid var(--line); }
.labs-next-route__visual span { min-height: 3.75rem; display: flex; align-items: center; padding: .75rem 0 .75rem 1rem; border-bottom: 1px solid var(--line); font-size: .82rem; font-weight: 800; }
.labs-next-route__visual span:last-child { border-bottom: 0; }

@media (max-width: 76rem) {
  .labs-opening__grid { grid-template-columns: minmax(19rem, .72fr) minmax(27rem, 1.28fr); gap: clamp(2.5rem, 5vw, 5rem); }
  .lab-directory__row { grid-template-columns: 3.25rem minmax(13rem, .55fr) minmax(0, 1fr); }
  .lab-directory__row .lab-mini { grid-column: 2 / -1; min-height: 9rem; margin-left: calc(13rem + clamp(1.3rem, 3vw, 3.25rem)); }
}

@media (max-width: 64rem) {
  .labs-opening__grid, .labs-diagnostic__grid, .labs-directory__heading, .labs-boundary__grid, .labs-next-route__grid { grid-template-columns: 1fr; }
  .labs-opening__copy h1 { max-width: none; }
  .labs-opening__copy .opening-prose { max-width: 52rem; }
  .labs-choice { max-width: 48rem; }
  .labs-diagnostic__copy { max-width: 58rem; }
  .diagnostic-sorter { max-width: 55rem; }
  .labs-directory__heading p { max-width: 52rem; }
  .lab-directory__row { grid-template-columns: 3.25rem minmax(13rem, .48fr) minmax(0, 1fr); }
  .lab-directory__row .lab-mini { margin-left: 0; }
  .labs-boundary__visual { max-width: 52rem; }
  .labs-next-route__visual { max-width: 52rem; }
}

@media (max-width: 43rem) {
  .labs-opening { padding: 3.5rem 0 4.5rem; }
  .labs-opening__copy h1 { font-size: clamp(3.3rem, 17vw, 4.5rem); }
  .labs-facts div { min-width: 0; flex: 1; }
  .labs-choice { padding: 1rem; }
  .labs-choice::before { display: none; }
  .labs-choice__diagnostic { grid-template-columns: 1rem minmax(0, 1fr) auto; min-height: 8.5rem; padding: 1.2rem; }
  .labs-choice__diagnostic strong { font-size: clamp(1.45rem, 7vw, 1.9rem); }
  .labs-choice__recognised { margin-left: .85rem; }
  .labs-choice__recognised a { grid-template-columns: 1.8rem minmax(0, 1fr); padding-inline: .9rem; }
  .labs-diagnostic { padding: 4rem 0; }
  .labs-diagnostic h2 { font-size: clamp(2.4rem, 11vw, 3.25rem); }
  .diagnostic-sorter { grid-template-columns: 1fr; }
  .diagnostic-sorter > i { transform: rotate(90deg); justify-self: center; }
  .diagnostic-sorter__route { min-height: 9rem; }
  .labs-directory { padding: 4.5rem 0; }
  .labs-directory__heading { margin-bottom: 3.5rem; }
  .lab-directory__row { grid-template-columns: 2.25rem minmax(0, 1fr); gap: 1rem; padding: 3rem 0; }
  .lab-directory__copy, .lab-directory__row .lab-mini { grid-column: 2; }
  .lab-directory__title h3 { font-size: clamp(2rem, 10vw, 2.75rem); }
  .lab-directory__row .lab-mini { min-height: 8.5rem; margin-top: 1rem; }
  .lab-mini--proof, .lab-mini--support { grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: 1fr; }
  .lab-mini--proof i, .lab-mini--support i { transform: rotate(90deg); }
  .lab-mini--proof span, .lab-mini--proof strong, .lab-mini--support span, .lab-mini--support strong { min-height: 3.2rem; }
  .lab-mini--activation { grid-template-columns: 1fr; place-content: stretch; }
  .lab-mini--activation i { transform: rotate(90deg); justify-self: center; }
  .lab-mini--activation span { text-align: center; }
  .lab-mini--activation b { right: 1rem; bottom: .25rem; }
  .labs-boundary { padding: 4.5rem 0; }
  .labs-boundary__visual > div { grid-template-columns: 1fr; gap: .35rem; padding: 1.2rem 0; }
  .labs-boundary__visual i { min-height: 1.5rem; display: grid; place-items: center; transform: rotate(90deg); }
  .labs-boundary__stop { padding-inline: .9rem !important; }
  .labs-next-route { padding: 4.5rem 0; }
  .labs-next-route__visual { grid-template-columns: 1fr; gap: 0; }
  .labs-next-route__visual > strong { min-height: 6rem; display: grid; align-content: center; }
  .labs-next-route__visual > i { width: 50%; min-height: 3rem; border-top: 0; border-right: 1px solid var(--terracotta); }
  .labs-next-route__visual > i::before { display: none; }
  .labs-next-route__visual span { padding-left: 0; }
}

.tool-directory { border-top: 1px solid var(--line); }
.tool-entry { display: grid; grid-template-columns: 3.5rem minmax(14rem, .75fr) minmax(0, 1fr) auto; gap: 1.25rem 2.5rem; align-items: center; padding: 1.25rem 0; border-bottom: 1px solid var(--line); text-decoration: none; }
.tool-entry h3 { margin: 0; font-size: 1.05rem; }
.tool-entry p { margin: 0; color: var(--text-soft); font-size: .88rem; }
.access-state { padding: .35rem .55rem; border: 1px solid var(--line); font-size: .72rem; font-weight: 800; white-space: nowrap; }

/* Tool pages */
.tool-opening { padding-bottom: clamp(2rem, 5vw, 5rem); }
.tool-opening h1 { font-size: clamp(2.75rem, 2rem + 3.4vw, 6.2rem); overflow-wrap: anywhere; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: 2rem; color: var(--text-soft); font-size: .8rem; }
.breadcrumbs a { color: inherit; }
.tool-copy { width: var(--content); margin-inline: auto; display: grid; grid-template-columns: minmax(0, .82fr) minmax(20rem, 1.18fr); gap: clamp(3rem, 8vw, 8rem); padding: clamp(4rem, 8vw, 8rem) 0; border-top: 1px solid var(--line); }
.tool-copy section { display: contents; }
.tool-copy h2 { font-size: clamp(2rem, 1.5rem + 1.6vw, 3.5rem); }
.tool-copy-body { max-width: 52rem; }
.tool-copy-body p { margin-bottom: 1rem; }
.tool-copy-body ul { padding-left: 1.25rem; }
.tool-embed-shell { background: var(--deep); color: var(--deep-text); padding: clamp(3rem, 6vw, 6rem) 0; }
.tool-embed-head { width: var(--content); margin: 0 auto 1.5rem; display: flex; justify-content: space-between; gap: 1rem; align-items: end; }
.tool-embed-frame { width: var(--content); min-height: 50rem; margin-inline: auto; display: block; border: 0; background: #fffdfb; }
.tool-caveat { width: var(--content); margin: 1rem auto 0; color: #d8ccc3; font-size: .82rem; }

/* Identity, proof, legal and recovery */
.identity-opening { background: var(--surface-2); }
.identity-opening .opening-grid { grid-template-columns: minmax(0, 1.35fr) minmax(19rem, .65fr); gap: clamp(2.5rem, 6vw, 6rem); }
.identity-opening .lede { max-width: 64rem; }
.identity-art { min-height: clamp(24rem, 34vw, 34rem); margin: 0; display: grid; place-items: center; overflow: hidden; padding: clamp(1.5rem, 3vw, 3rem); border: 1px solid rgba(27,13,1,.22); background: var(--terracotta); }
.identity-art img { width: min(100%, 30rem); }
.identity-direction > .shell > h2 { max-width: 46rem; margin-bottom: clamp(2.5rem, 5vw, 5rem); }
.identity-direction__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-block: 1px solid var(--line); }
.identity-direction__grid article { min-height: 22rem; display: grid; align-content: start; gap: 1.5rem; padding: clamp(2rem, 5vw, 4.5rem); }
.identity-direction__grid article:first-child { border-right: 1px solid var(--line); }
.identity-direction__grid h3 { margin: 0; font-family: var(--serif); font-size: clamp(1.75rem, 1.3rem + 1.25vw, 3rem); }
.identity-direction__grid p { max-width: 42rem; margin: 0; color: var(--text-soft); font-size: clamp(1.15rem, 1.05rem + .35vw, 1.45rem); line-height: 1.5; }
.identity-principles { background: var(--surface-2); }
.identity-section-heading { max-width: 58rem; margin-bottom: clamp(3rem, 6vw, 5.5rem); }
.identity-section-heading p { max-width: 44rem; margin-bottom: 0; color: var(--text-soft); font-size: clamp(1.05rem, .98rem + .25vw, 1.25rem); }
.principle-ledger { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--line); }
.principle-ledger article { min-height: 18rem; display: grid; grid-template-columns: 3rem minmax(0, 1fr); align-content: start; gap: 1rem clamp(1rem, 3vw, 2.5rem); padding: clamp(2rem, 4vw, 3.5rem); }
.principle-ledger article:nth-child(odd) { border-right: 1px solid var(--line); }
.principle-ledger article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
.principle-ledger h3 { margin: 0; font-family: var(--serif); font-size: clamp(1.55rem, 1.25rem + .85vw, 2.35rem); }
.principle-ledger p { grid-column: 2; max-width: 34rem; margin: 0; color: var(--text-soft); }
.identity-role__copy { max-width: 64rem; margin-bottom: clamp(3rem, 6vw, 6rem); }
.identity-role__copy p { max-width: 54rem; color: var(--text-soft); font-size: clamp(1.1rem, 1rem + .35vw, 1.4rem); }
.identity-role__map { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--line); }
.identity-role__map article { min-height: 18rem; display: grid; align-content: start; gap: 1.25rem; padding: clamp(2rem, 4vw, 3.5rem); border-right: 1px solid var(--line); }
.identity-role__map article:last-child { border-right: 0; }
.identity-role__map article:nth-child(2) { background: var(--terracotta); color: var(--ink); }
.identity-role__map article:nth-child(2) .numeral { color: var(--ink); }
.identity-role__map h3 { margin: 0; font-family: var(--serif); font-size: clamp(1.65rem, 1.3rem + 1vw, 2.6rem); }
.identity-role__map p { margin: 0; color: inherit; }
.identity-team { background: var(--terracotta); color: var(--ink); }
.identity-team p { max-width: 44rem; font-size: clamp(1.1rem, 1rem + .35vw, 1.4rem); }

/* Origin Story: source-led institutional narrative */
.origin-opening { background: var(--surface-2); }
.origin-opening__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(17rem, .75fr); gap: clamp(3rem, 7vw, 8rem); align-items: center; }
.origin-opening h1 { max-width: 58rem; }
.origin-opening__prose { max-width: 62rem; color: var(--text-soft); font-size: clamp(1.12rem, 1rem + .42vw, 1.48rem); }
.origin-opening__prose p { margin: 0 0 1.25rem; }
.origin-mask { min-height: clamp(24rem, 38vw, 38rem); margin: 0; display: grid; place-items: center; overflow: hidden; background: var(--terracotta); }
.origin-mask img { width: min(68%, 18rem); max-height: 31rem; object-fit: contain; }
.origin-prose-grid { display: grid; grid-template-columns: minmax(16rem, .72fr) minmax(0, 1.28fr); gap: clamp(3rem, 9vw, 10rem); align-items: start; }
.origin-prose-grid h2 { margin: 0; }
.origin-prose-grid > div { max-width: 58rem; }
.origin-prose-grid p, .origin-conversation p, .origin-today p { color: var(--text-soft); font-size: clamp(1.12rem, 1rem + .35vw, 1.4rem); line-height: 1.65; }
.origin-passion { background: var(--surface); }
.origin-conversation { background: var(--deep); color: var(--deep-text); }
.origin-conversation__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(21rem, .95fr); gap: clamp(3rem, 8vw, 9rem); align-items: center; }
.origin-conversation h2 { margin-top: 0; }
.origin-conversation p { color: #ded4cb; }
.origin-archive { margin: 0; padding: clamp(1.5rem, 4vw, 3.5rem); background: var(--paper); color: var(--ink); }
.origin-archive img { width: 100%; max-height: 34rem; object-fit: contain; }
.origin-archive figcaption { margin-top: 1rem; font-size: .75rem; font-weight: 700; letter-spacing: .04em; }
.origin-insight { border-bottom: 1px solid var(--line); }
.origin-today { background: var(--terracotta); color: var(--ink); }
.origin-today__grid { display: grid; grid-template-columns: minmax(16rem, .75fr) minmax(0, 1.25fr); gap: clamp(3rem, 9vw, 10rem); align-items: start; }
.origin-today h2 { margin: 0; }
.origin-today__grid > div { max-width: 58rem; }
.origin-today p { color: var(--ink); }
.origin-today .button { margin-top: 1rem; border-color: var(--ink); color: var(--ink); }

/* Team */
.team-opening { padding-top: clamp(4.5rem, 8vw, 8rem); background: var(--surface-2); }
.team-opening__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(22rem, .72fr); gap: clamp(3rem, 8vw, 9rem); align-items: end; padding-bottom: clamp(4rem, 7vw, 7rem); }
.team-opening h1 { max-width: none; margin: 0; }
.team-opening__introduction { max-width: 39rem; padding-bottom: .7rem; }
.team-opening__introduction p { margin: 0; color: var(--text-soft); font-size: clamp(1.25rem, 1.05rem + .75vw, 1.8rem); line-height: 1.48; }
.team-index { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); }
.team-index button { appearance: none; min-height: 10rem; padding: clamp(1.5rem, 3vw, 2.5rem) var(--gutter); display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .7rem 1rem; align-content: center; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; border: 0; border-right: 1px solid var(--line); }
.team-index button:last-child { border-right: 0; }
.team-index span { color: var(--terracotta-dark); font-size: .74rem; font-weight: 800; letter-spacing: .12em; }
.team-index strong { font-family: var(--serif); font-size: clamp(1.4rem, 1.2rem + .7vw, 2rem); line-height: 1.04; }
.team-index small { grid-column: 2; color: var(--text-soft); font-size: .98rem; }
.team-index button:hover, .team-index button:focus-visible { background: var(--terracotta); color: var(--ink); }
.team-index button:hover small, .team-index button:focus-visible small { color: var(--ink); }
.team-directory { border-top: 1px solid var(--line); }
.team-member { padding: clamp(4rem, 8vw, 8rem) 0; border-bottom: 1px solid var(--line); }
.team-member:nth-child(even) { background: var(--surface-2); }
.team-member__grid { display: grid; grid-template-columns: minmax(18rem, .78fr) minmax(0, 1.22fr); gap: clamp(3rem, 8vw, 9rem); align-items: start; }
.team-member--reverse .team-member__grid { grid-template-columns: minmax(0, 1.22fr) minmax(18rem, .78fr); }
.team-member--reverse .team-portrait { grid-column: 2; }
.team-member--reverse .team-member__content { grid-column: 1; grid-row: 1; }
.team-portrait { min-height: clamp(28rem, 46vw, 45rem); margin: 0; display: grid; place-items: end center; overflow: hidden; background: var(--terracotta); }
.team-portrait--olu { place-items: center; background: var(--signal); }
.team-portrait img { width: 100%; height: 100%; max-height: 45rem; object-fit: contain; object-position: center bottom; }
.team-portrait--olu img { width: min(88%, 34rem); height: auto; }
.team-member__content { max-width: 58rem; }
.team-field-label { margin-bottom: .8rem; color: var(--terracotta-dark); font-size: .76rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
html[data-theme="dark"] .team-field-label { color: #f0a787; }
.team-member__content > h2 { margin-bottom: 1rem; }
.team-role { margin: 0 0 clamp(2.5rem, 5vw, 4.5rem); color: var(--terracotta-dark); font-size: clamp(1.15rem, 1rem + .45vw, 1.5rem); font-weight: 750; }
html[data-theme="dark"] .team-role { color: #f0a787; }
.team-bio { max-width: 48rem; padding-block: clamp(2rem, 4vw, 3rem); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.team-bio p { margin: 0 0 1.15rem; color: var(--text-soft); font-size: clamp(1.08rem, 1rem + .3vw, 1.35rem); }
.team-bio p:last-child { margin-bottom: 0; }
#team-bill.team-member--bill { position: relative; overflow: hidden; background: var(--terracotta); color: var(--ink); }
.team-member--bill::after { content: "OPERATIONS"; position: absolute; right: -1rem; bottom: -1.9rem; color: color-mix(in srgb, var(--ink) 10%, transparent); font-family: var(--serif); font-size: clamp(5rem, 16vw, 15rem); line-height: .78; pointer-events: none; }
.team-member__bill { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(5rem, .24fr) minmax(0, 1fr); gap: clamp(2rem, 7vw, 8rem); align-items: start; }
.team-member__number { font-family: var(--serif); font-size: clamp(5rem, 11vw, 10rem); line-height: .76; opacity: .22; }
.team-member--bill .team-field-label, .team-member--bill .team-role, .team-member--bill .team-bio p { color: var(--ink); }
html[data-theme="dark"] .team-member--bill,
html[data-theme="dark"] .team-member--bill .team-field-label,
html[data-theme="dark"] .team-member--bill .team-role,
html[data-theme="dark"] .team-member--bill .team-bio p { color: #1b0d01; }
.team-member--bill .team-bio { border-color: color-mix(in srgb, var(--ink) 25%, transparent); }

/* Why Ije — working choice-and-proof hub */
.why-opening { background: var(--surface-2); text-align: center; }
.why-opening h1 { max-width: none; margin-bottom: clamp(2rem, 4vw, 3.5rem); }
.why-opening__copy { max-width: 72rem; margin-inline: auto; color: var(--text-soft); font-size: clamp(1.15rem, 1rem + .52vw, 1.6rem); line-height: 1.58; }
.why-opening__copy p { margin-bottom: 1.25rem; }
.why-opening__copy p:last-child { margin-bottom: 0; }
.why-section-heading { max-width: 72rem; margin-bottom: clamp(3rem, 6vw, 5.5rem); }
.why-section-heading h2 { margin-bottom: 1rem; }
.why-section-heading p { max-width: 44rem; margin: 0; color: var(--text-soft); }
.why-reason-ledger { border-top: 1px solid var(--line); }
.why-reason { display: grid; grid-template-columns: 4rem minmax(16rem, .72fr) minmax(23rem, 1.25fr) minmax(12rem, auto); gap: clamp(1.25rem, 3.5vw, 4rem); align-items: start; padding: clamp(2.5rem, 5vw, 4.6rem) 0; border-bottom: 1px solid var(--line); }
.why-reason h3, .why-route-list h3 { margin: 0; font-family: var(--serif); font-size: clamp(1.8rem, 1.4rem + 1.1vw, 3rem); line-height: 1; }
.why-reason p { max-width: 49rem; margin: 0; color: var(--text-soft); }
.why-reason .arrow-link { align-self: start; white-space: normal; }
.why-work { padding: clamp(5rem, 9vw, 10rem) 0; background: var(--deep); color: var(--deep-text); }
.why-work__grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(28rem, 1.2fr); gap: clamp(3rem, 8vw, 9rem); align-items: center; }
.why-work__copy { max-width: 52rem; }
.why-work__copy h2 { margin-bottom: 1.6rem; }
.why-work__copy p { margin-bottom: 2rem; color: #ded4cb; font-size: clamp(1.1rem, 1rem + .3vw, 1.38rem); }
.why-client-field { margin: 0; }
.why-client-field > div { min-height: clamp(24rem, 37vw, 36rem); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 3.5rem); align-items: center; padding: clamp(2rem, 5vw, 4.5rem); border: 1px solid rgba(255,255,255,.24); background: #080401; }
.why-client-field img { width: min(100%, 9rem); max-height: 3.4rem; margin-inline: auto; object-fit: contain; filter: grayscale(1) brightness(0) invert(1); opacity: .92; }
.why-client-field img:nth-child(2), .why-client-field img:nth-child(6) { transform: translateY(1.4rem); }
.why-client-field img:nth-child(3), .why-client-field img:nth-child(7) { transform: translateY(-1rem); }
.why-client-field figcaption { margin-top: 1rem; color: #cfc0b1; font-size: .8rem; }
.why-directory { background: var(--surface-2); }
.why-route-list { border-top: 1px solid var(--line); }
.why-route-list article { display: grid; grid-template-columns: 4rem minmax(15rem, .65fr) minmax(22rem, 1.15fr) minmax(11rem, auto); gap: clamp(1.25rem, 3.5vw, 4rem); align-items: start; padding: clamp(2.2rem, 4.5vw, 4rem) 0; border-bottom: 1px solid var(--line); }
.why-route-list p { max-width: 48rem; margin: 0; color: var(--text-soft); }
.why-route-list .arrow-link { align-self: start; }
.why-conversation { padding: clamp(5rem, 9vw, 9rem) 0; background: var(--terracotta); color: var(--ink); }
.why-conversation__grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(20rem, .88fr); gap: clamp(3rem, 8vw, 8rem); align-items: end; }
.why-conversation h2 { margin: 0; }
.why-conversation p { max-width: 48rem; margin-bottom: 2rem; font-size: clamp(1.1rem, 1rem + .3vw, 1.38rem); }
.why-conversation .button { border-color: var(--ink); color: var(--ink); }

/* Portfolio — reconstructed from the current public page and its project media */
.portfolio-opening { padding: clamp(5.5rem, 9vw, 9rem) 0 clamp(3.5rem, 6vw, 6rem); border-bottom: 1px solid var(--line); }
.portfolio-opening__copy { max-width: 72rem; margin-inline: auto; text-align: center; }
.portfolio-opening h1 { margin: 0 0 clamp(1.6rem, 3vw, 2.5rem); }
.portfolio-opening__copy p { max-width: 60rem; margin-inline: auto; color: var(--text-soft); font-size: clamp(1.12rem, .98rem + .55vw, 1.6rem); line-height: 1.5; }
.portfolio-opening__copy p + p { margin-top: 1rem; font-size: clamp(.96rem, .91rem + .18vw, 1.1rem); }
.portfolio-index { margin-top: clamp(3.5rem, 7vw, 6.5rem); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.portfolio-index ol { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; padding: 0; list-style: none; }
.portfolio-index li { border-right: 1px solid var(--line); }
.portfolio-index li:nth-child(3n) { border-right: 0; }
.portfolio-index li:nth-child(-n+3) { border-bottom: 1px solid var(--line); }
.portfolio-index button { width: 100%; min-height: 5.2rem; display: flex; gap: 1rem; align-items: center; padding: 1rem clamp(.9rem, 2vw, 1.5rem); border: 0; background: transparent; color: var(--text); text-align: left; cursor: pointer; font-weight: 700; }
.portfolio-index button:hover { background: var(--surface-2); }
.portfolio-index button span { color: var(--terracotta-dark); font-size: .76rem; font-weight: 800; letter-spacing: .12em; }
html[data-theme="dark"] .portfolio-index button span { color: #f0a787; }

.portfolio-project { scroll-margin-top: 6.5rem; padding: clamp(5rem, 9vw, 9rem) 0; border-bottom: 1px solid var(--line); }
.portfolio-project:nth-of-type(even) { background: var(--surface-2); }
.portfolio-project__heading { display: grid; grid-template-columns: minmax(18rem, .88fr) minmax(24rem, 1.12fr); gap: clamp(2.5rem, 7vw, 8rem); align-items: start; }
.portfolio-project__number, .portfolio-project__label { margin: 0 0 .65rem; color: var(--terracotta-dark); font-size: .76rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
html[data-theme="dark"] .portfolio-project__number, html[data-theme="dark"] .portfolio-project__label { color: #f0a787; }
.portfolio-project h2 { max-width: 40rem; margin: 0; }
.portfolio-project__context h3 { margin: 0 0 1rem; font-family: var(--serif); font-size: clamp(1.7rem, 1.35rem + 1.1vw, 2.75rem); font-weight: 600; letter-spacing: -.025em; }
.portfolio-project__context > p:last-child { max-width: 43rem; margin-bottom: 0; color: var(--text-soft); }
.portfolio-deliverables { display: grid; grid-template-columns: minmax(18rem, .88fr) minmax(24rem, 1.12fr); gap: clamp(2.5rem, 7vw, 8rem); margin-top: clamp(2.5rem, 5vw, 4.5rem); padding: 1.1rem 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.portfolio-deliverables > p { margin: 0; font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.portfolio-deliverables ul { display: flex; flex-wrap: wrap; gap: .55rem 1.4rem; margin: 0; padding: 0; list-style: none; }
.portfolio-deliverables li { position: relative; padding-left: 1rem; color: var(--text-soft); font-size: .94rem; }
.portfolio-deliverables li::before { position: absolute; left: 0; content: "—"; color: var(--terracotta); }

.portfolio-gallery { margin: clamp(3rem, 6vw, 6rem) 0 0; }
.portfolio-gallery:focus-visible { outline-offset: .5rem; }
.portfolio-slide { aspect-ratio: 16 / 9; overflow: hidden; display: grid; place-items: center; background: #100800; border: 1px solid #5a3928; }
.portfolio-slide img { width: 100%; height: 100%; object-fit: contain; }
.portfolio-gallery__controls { min-height: 4.5rem; display: grid; grid-template-columns: auto 1fr auto; gap: 1.5rem; align-items: center; padding: .8rem 0; border-bottom: 1px solid var(--line); }
.portfolio-gallery__buttons { display: flex; gap: .45rem; }
.portfolio-gallery__buttons button, .portfolio-gallery__pagination button { min-width: 2.75rem; min-height: 2.75rem; border: 1px solid var(--line); background: transparent; color: var(--text); cursor: pointer; font-weight: 800; }
.portfolio-gallery__buttons button:hover, .portfolio-gallery__pagination button:hover, .portfolio-gallery__pagination button[aria-current="true"] { background: var(--terracotta); border-color: var(--terracotta); color: var(--ink); }
.portfolio-gallery__pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem; }
.portfolio-gallery__pagination button { min-width: 2.35rem; min-height: 2.35rem; border: 0; font-size: .76rem; }
.portfolio-gallery__status { margin: 0; color: var(--text-soft); font-size: .84rem; font-weight: 700; white-space: nowrap; }
.portfolio-gallery figcaption { max-width: 48rem; margin-top: .9rem; color: var(--text-soft); font-size: .84rem; }

.portfolio-contact { padding: clamp(4.5rem, 8vw, 8rem) 0; background: var(--terracotta); color: var(--ink); }
.portfolio-contact__grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(20rem, .85fr); gap: clamp(2rem, 7vw, 8rem); align-items: end; }
.portfolio-contact h2 { max-width: 50rem; margin: 0; }
.portfolio-contact p { max-width: 35rem; font-size: clamp(1.05rem, .98rem + .3vw, 1.28rem); }
.portfolio-contact .button { border-color: var(--ink); color: var(--ink); }

/* Blog — reconstructed from the current public article index and its media */
.blog-opening { padding: clamp(4.75rem, 8vw, 8rem) 0 clamp(5rem, 9vw, 9rem); background: var(--deep); color: var(--deep-text); }
.blog-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 2rem; padding-bottom: clamp(1.5rem, 3vw, 2.5rem); border-bottom: 1px solid rgba(255,255,255,.26); }
.blog-heading h1 { margin: 0; }
.blog-heading p { margin: 0 0 .35rem; color: #f0a787; font-size: .78rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.blog-feature { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(22rem, .8fr); gap: clamp(2.5rem, 6vw, 7rem); align-items: center; margin-top: clamp(3rem, 6vw, 6rem); }
.blog-media { margin: 0; overflow: hidden; aspect-ratio: 16 / 9; background: #1b0d01; }
.blog-media img { width: 100%; height: 100%; object-fit: cover; }
.blog-feature__copy { max-width: 43rem; }
.blog-meta { margin: 0 0 1rem; color: #f0a787; font-size: .78rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.blog-feature h2 { margin: 0 0 1.5rem; font-size: clamp(2.25rem, 1.65rem + 2.1vw, 4.35rem); }
.blog-feature h2 a, .blog-entry h3 a { color: inherit; text-decoration: none; }
.blog-feature h2 a:hover, .blog-entry h3 a:hover { text-decoration: underline; text-decoration-thickness: .06em; text-underline-offset: .15em; }
.blog-feature__copy > p:not(.blog-meta) { margin-bottom: 1.6rem; color: #d9cbbc; font-size: clamp(1.05rem, .98rem + .3vw, 1.3rem); }
.blog-feature .arrow-link { color: var(--deep-text); }
.blog-archive { padding: clamp(5rem, 9vw, 9rem) 0; }
.blog-archive__heading { padding-bottom: clamp(1.5rem, 3vw, 2.5rem); }
.blog-archive__heading h2 { margin: 0; }
.blog-list { border-top: 1px solid var(--line); }
.blog-entry { display: grid; grid-template-columns: minmax(18rem, .72fr) minmax(0, 1.28fr); gap: clamp(2rem, 7vw, 8rem); align-items: center; padding: clamp(2.5rem, 5vw, 5rem) 0; border-bottom: 1px solid var(--line); }
.blog-entry--reverse { grid-template-columns: minmax(0, 1.28fr) minmax(18rem, .72fr); }
.blog-entry--reverse .blog-media { order: 2; }
.blog-entry__copy { max-width: 49rem; }
.blog-entry .blog-meta { color: var(--terracotta-dark); }
html[data-theme="dark"] .blog-entry .blog-meta { color: #f0a787; }
.blog-entry h3 { margin: 0 0 1.2rem; font-family: var(--serif); font-size: clamp(1.8rem, 1.35rem + 1.25vw, 3.15rem); font-weight: 600; letter-spacing: -.025em; line-height: 1.04; }
.blog-entry__copy > p:not(.blog-meta) { max-width: 46rem; margin-bottom: 1.5rem; color: var(--text-soft); }

.gate-card { max-width: 66rem; padding: clamp(2rem, 5vw, 4rem); border: 1px solid var(--line); background: var(--surface-2); }
.gate-card ul { padding-left: 1.2rem; }
.evidence-slots { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.evidence-slot { min-height: 16rem; padding: 1.5rem; border: 1px solid var(--line); display: flex; flex-direction: column; justify-content: space-between; }
.legal-page { width: min(56rem, calc(100vw - 2rem)); margin-inline: auto; padding: clamp(5rem, 10vw, 10rem) 0; }
.legal-page h1 { font-size: clamp(3rem, 2rem + 3vw, 6rem); }
.legal-page section { padding: 2rem 0; border-top: 1px solid var(--line); }
.recovery { min-height: calc(100vh - 5.4rem); display: grid; grid-template-columns: minmax(0, 1fr) minmax(20rem, .55fr); align-items: center; gap: clamp(3rem, 8vw, 8rem); padding: clamp(4rem, 8vw, 8rem) max(calc((100vw - 92rem) / 2), clamp(1rem, 3vw, 3.5rem)); }
.recovery-mark { aspect-ratio: 1; display: grid; place-items: center; border: 1px solid var(--line); font-family: var(--serif); font-size: clamp(6rem, 13vw, 14rem); }
.contact-form { display: grid; gap: 1rem; max-width: 50rem; }
.contact-form label { display: grid; gap: .45rem; font-weight: 800; }
.contact-form input, .contact-form textarea, .contact-form select { width: 100%; min-height: 3rem; padding: .8rem; border: 1px solid var(--line); background: var(--surface); color: var(--text); }
.contact-form textarea { min-height: 10rem; resize: vertical; }

/* Review index */
.review-index { width: var(--content); margin-inline: auto; padding: 4rem 0 8rem; }
.review-index h1 { font-size: clamp(3rem, 2rem + 3vw, 6rem); }
.review-toolbar { display: grid; grid-template-columns: 1fr auto; gap: 1rem; margin: 2rem 0; }
.review-toolbar input { min-height: 3rem; padding: .75rem 1rem; border: 1px solid var(--line); background: var(--surface); color: var(--text); }
.route-list { border-top: 1px solid var(--line); }
.route-list a { display: grid; grid-template-columns: 4rem minmax(12rem, .6fr) minmax(12rem, .8fr) minmax(9rem, .35fr); gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--line); text-decoration: none; }
.route-list code { overflow-wrap: anywhere; }
.status-pill { width: fit-content; padding: .25rem .5rem; border: 1px solid var(--line); font-size: .68rem; font-weight: 800; text-transform: uppercase; }

@media (max-width: 78rem) {
  .desktop-nav { display: none; }
  .desktop-theme { display: none; }
  .menu-control { display: inline-flex; align-items: center; }
  .mobile-nav { position: fixed; inset: 5.4rem 0 0; z-index: 90; overflow-y: auto; padding: 1rem max(calc((100vw - 92rem) / 2), 1rem) 4rem; background: var(--deep); color: var(--deep-text); }
  .mobile-nav.is-open { display: block; }
  .mobile-nav > a, .mobile-nav summary { display: grid; grid-template-columns: 3rem 1fr auto; align-items: center; min-height: 3.5rem; border-bottom: 1px solid rgba(255,255,255,.18); color: inherit; text-decoration: none; cursor: pointer; }
  .mobile-nav summary { list-style: none; }
  .mobile-nav summary::-webkit-details-marker { display: none; }
  .mobile-nav summary svg { width: .9rem; }
  .mobile-nav-group > div { display: grid; padding: .6rem 0 1rem 3rem; }
  .mobile-nav-group a { padding: .55rem 0; color: inherit; }
  .mobile-theme { margin-top: 1.5rem; color: #fff; border-color: rgba(255,255,255,.5); }
  .choice-branches { grid-template-columns: repeat(3, 1fr); }
  .lab-route, .tool-entry { grid-template-columns: 3rem minmax(12rem, .65fr) minmax(0, 1fr); }
  .lab-route .button, .tool-entry .access-state { grid-column: 2 / -1; width: fit-content; }
  .why-reason, .why-route-list article { grid-template-columns: 3rem minmax(15rem, .72fr) minmax(0, 1.28fr); }
  .why-reason .arrow-link, .why-route-list .arrow-link { grid-column: 3; }
}

@media (max-width: 68rem) {
  .home-hero, .opening-grid, .opening-grid--wide, .editorial-grid, .stage-grid, .split-statement, .tool-copy { grid-template-columns: 1fr; }
  .home-hero { min-height: auto; }
  .home-hero .gap-figure { max-width: 52rem; margin-top: 0; }
  .system-explanation { grid-template-columns: 1fr; }
  .home-final-cta { grid-template-columns: 1fr; }
  .audience-list a { grid-template-columns: 2.5rem 1fr 1rem; }
  .audience-list p { grid-column: 2 / -1; }
  .footer-grid { grid-template-columns: 1.5fr repeat(2, 1fr); }
  .footer-grid > div:last-child { grid-column: 2; }
  .system-relationship { grid-template-columns: repeat(2, 1fr); }
  .system-relationship div { border-bottom: 1px solid var(--line); }
  .system-relationship div:nth-child(even) { border-right: 0; }
  .system-relationship div:last-child { grid-column: 1 / -1; }
  .method-index ol { grid-template-columns: repeat(3, 1fr); }
  .method-index li { border-bottom: 1px solid var(--line); }
  .audience-route-grid { grid-template-columns: 1fr; }
  .audience-route:nth-child(even) .audience-copy { order: 0; }
  .audience-evidence { max-width: 48rem; }
  .segment-context, .evidence-slots { grid-template-columns: 1fr; }
  .segment-context div { border-right: 0; border-bottom: 1px solid var(--line); }
  .segment-context div:last-child { border-bottom: 0; }
  .tool-copy section { display: block; padding: 2.25rem 0; border-top: 1px solid var(--line); }
  .tool-copy { display: block; padding-top: 0; }
  .tool-copy h2 { margin-bottom: 1.2rem; }
  .route-list a { grid-template-columns: 3rem 1fr auto; }
  .route-list code { grid-column: 2 / -1; }
  .system-opening-accepted .opening-grid { grid-template-columns: 1fr; }
  .system-network { min-height: auto; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .system-core, .system-outcomes { grid-column: auto; }
  .element-row { grid-template-columns: 3rem minmax(12rem, .5fr) minmax(0, 1fr); }
  .system-artifact { grid-column: 2 / -1; }
  .identity-opening .opening-grid { grid-template-columns: minmax(0, 1.25fr) minmax(17rem, .75fr); gap: clamp(2rem, 4vw, 3.5rem); }
  .team-member__grid { gap: clamp(2.5rem, 5vw, 4.5rem); }
  .why-work__grid { grid-template-columns: 1fr; }
  .why-client-field { max-width: 58rem; }
  .why-conversation__grid { grid-template-columns: 1fr; }
  .blog-feature { grid-template-columns: 1fr; }
  .blog-feature__copy { max-width: 54rem; }
}

@media (max-width: 52rem) {
  .portfolio-index ol { grid-template-columns: repeat(2, 1fr); }
  .portfolio-index li, .portfolio-index li:nth-child(3n) { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .portfolio-index li:nth-child(2n) { border-right: 0; }
  .portfolio-index li:nth-last-child(-n+2) { border-bottom: 0; }
  .portfolio-project__heading, .portfolio-deliverables, .portfolio-contact__grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .portfolio-project__context { max-width: 44rem; }
  .portfolio-gallery__controls { grid-template-columns: auto 1fr; }
  .portfolio-gallery__pagination { justify-content: flex-start; grid-column: 1 / -1; grid-row: 2; }
  .home-paths .entry-grid { grid-template-columns: 1fr; }
  .entry-grid article { border-right: 0; border-bottom: 1px solid var(--line); }
  .entry-grid article:last-child { border-bottom: 0; }
  .identity-opening .opening-grid, .identity-direction__grid, .principle-ledger, .identity-role__map { grid-template-columns: 1fr; }
  .identity-art { min-height: 22rem; }
  .identity-direction__grid article { min-height: auto; }
  .identity-direction__grid article:first-child, .principle-ledger article:nth-child(odd), .identity-role__map article { border-right: 0; }
  .identity-direction__grid article:first-child, .principle-ledger article, .identity-role__map article { border-bottom: 1px solid var(--line); }
  .principle-ledger article:last-child, .identity-role__map article:last-child { border-bottom: 0; }
  .origin-opening__grid, .origin-prose-grid, .origin-conversation__grid, .origin-today__grid { grid-template-columns: 1fr; }
  .origin-mask { min-height: 22rem; }
  .origin-mask img { width: min(56%, 15rem); }
  .team-member__grid { grid-template-columns: 1fr; }
  .team-member--reverse .team-member__grid { grid-template-columns: 1fr; }
  .team-member--reverse .team-portrait, .team-member--reverse .team-member__content { grid-column: auto; grid-row: auto; }
  .team-portrait { min-height: clamp(25rem, 90vw, 38rem); }
  .team-member__content { max-width: none; }
  .why-reason, .why-route-list article { grid-template-columns: 3rem minmax(0, 1fr); gap: 1rem 1.5rem; }
  .why-reason p, .why-reason .arrow-link, .why-route-list p, .why-route-list .arrow-link { grid-column: 2; }
  .why-client-field > div { min-height: 22rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .blog-entry, .blog-entry--reverse { grid-template-columns: 1fr; gap: 1.75rem; }
  .blog-entry--reverse .blog-media { order: 0; }
}

@media (max-width: 43rem) {
  :root { --content: calc(100vw - 2rem); }
  .portfolio-opening { padding-top: 4.2rem; }
  .portfolio-opening__copy { text-align: left; }
  .portfolio-index ol { grid-template-columns: 1fr; }
  .portfolio-index li, .portfolio-index li:nth-child(2n), .portfolio-index li:nth-last-child(-n+2) { border-right: 0; border-bottom: 1px solid var(--line); }
  .portfolio-index li:last-child { border-bottom: 0; }
  .portfolio-index button { min-height: 4.5rem; }
  .portfolio-project { padding-block: 4rem; }
  .portfolio-gallery__controls { gap: .8rem; }
  .portfolio-gallery__pagination button { min-width: 2.6rem; min-height: 2.6rem; }
  .header-inner { min-height: 4.8rem; }
  .mobile-nav { inset-block-start: 4.8rem; }
  .brand img { width: 2.75rem; }
  h1 { font-size: clamp(2.75rem, 12.5vw, 4.4rem); }
  h2 { font-size: clamp(2.1rem, 9vw, 3.35rem); }
  .gap-opening h1 { font-size: clamp(2.4rem, 10vw, 3rem); overflow-wrap: anywhere; }
  .button-row { align-items: flex-start; flex-direction: column; }
  .button { width: fit-content; max-width: 100%; min-height: 3rem; text-align: center; }
  .home-hero { padding: 3.5rem 0 5rem; gap: 2.5rem; }
  .home-hero h1 { font-size: clamp(2.45rem, 10vw, 3.25rem); }
  .home-hero .button-row .button--secondary { min-height: auto; padding: .35rem 0; border: 0; text-decoration: underline; text-decoration-thickness: .09em; text-underline-offset: .24em; }
  .logo-set { min-width: 52rem; }
  .home-gap-story article { grid-template-columns: 1fr; gap: .8rem; padding: 2rem 0; }
  .method-context { grid-template-columns: 1fr; }
  .method-context span { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.22); text-align: left; }
  .semantic-row { grid-template-columns: 1fr; }
  .semantic-row > i { min-height: 1.5rem; display: grid; place-items: center; }
  .tool-opening h1 { font-size: clamp(2.35rem, 9.4vw, 3.35rem); }
  .full-row, .state-stack article, .element-spread { grid-template-columns: 1fr; gap: 1rem; }
  .symptom-ledger { grid-template-columns: 1fr; }
  .symptom-ledger > div:first-child { border-right: 0; border-bottom: 1px solid var(--line); }
  .method-index ol { grid-template-columns: 1fr; }
  .method-index li { border-right: 0; }
  .nonprofit-evidence, .business-evidence { grid-template-columns: 1fr; }
  .nonprofit-evidence > i { transform: rotate(90deg); justify-self: center; }
  .venture-evidence, .capacity-layer, .portfolio-orgs { grid-template-columns: 1fr; }
  .venture-stage { min-height: 0; }
  .capacity-layer small { grid-column: 1; }
  .portfolio-orgs div { aspect-ratio: auto; min-height: 7rem; border-radius: 50%; }
  .choice-branches { grid-template-columns: 1fr; }
  .lab-route, .tool-entry { grid-template-columns: 2.5rem 1fr; }
  .lab-route p, .lab-route .button, .tool-entry p, .tool-entry .access-state { grid-column: 2; }
  .tool-embed-head { align-items: flex-start; flex-direction: column; }
  .tool-embed-frame { width: 100%; min-height: 48rem; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-grid > div:last-child { grid-column: auto; }
  .footer-meta { display: grid; justify-content: start; }
  .recovery { min-height: auto; grid-template-columns: 1fr; }
  .recovery-mark { order: -1; }
  .system-network { grid-template-columns: 1fr; }
  .system-core, .system-outcomes { grid-column: auto; }
  .element-row { grid-template-columns: 1fr; gap: .9rem; }
  .system-artifact { grid-column: auto; }
  .coherence-copy, .coherence-compare { grid-template-columns: 1fr; }
  .coherence-compare > div:first-child { border-right: 0; border-bottom: 1px solid var(--line); }
  .coherence-compare p { grid-template-columns: 5.5rem minmax(0, 1fr); }
  .method-sequence { grid-template-columns: 1fr; }
  .method-sequence li { border-right: 0; border-bottom: 1px solid var(--line); }
  .method-sequence li:last-child { border-bottom: 0; }
  .team-opening { padding-top: 3.75rem; }
  .team-opening__grid { grid-template-columns: 1fr; gap: 1.5rem; padding-bottom: 3.5rem; }
  .team-opening__introduction { padding-bottom: 0; }
  .team-index { grid-template-columns: 1fr; }
  .team-index button { min-height: 0; padding: 1.5rem 1rem; border-right: 0; border-bottom: 1px solid var(--line); }
  .team-index button:last-child { border-bottom: 0; }
  .team-member__bill { grid-template-columns: 1fr; gap: 1.5rem; }
  .team-member__number { font-size: 4.5rem; }
  .team-member--bill::after { font-size: 24vw; }
  .why-opening { padding-block: 4.5rem; }
  .why-opening__copy { text-align: left; }
  .why-reason, .why-route-list article { grid-template-columns: 1fr; gap: .85rem; padding-block: 2.2rem; }
  .why-reason p, .why-reason .arrow-link, .why-route-list p, .why-route-list .arrow-link { grid-column: auto; }
  .why-client-field > div { min-height: 20rem; padding: 1.5rem; gap: 1.5rem; }
  .why-client-field img:nth-child(n) { transform: none; }
  .blog-opening { padding: 3.75rem 0 4.5rem; }
  .blog-heading { align-items: flex-start; }
  .blog-heading h1 { font-size: clamp(3.5rem, 17vw, 5rem); }
  .blog-heading p { margin-top: .6rem; white-space: nowrap; }
  .blog-feature { margin-top: 2.5rem; gap: 2rem; }
  .blog-feature h2 { font-size: clamp(2.1rem, 9.4vw, 3rem); }
  .blog-archive { padding-block: 4.5rem; }
  .blog-entry { padding-block: 3rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  .logo-marquee { animation: none; width: 100%; overflow-x: auto; }
  .logo-set:last-child { display: none; }
}

@media print {
  .site-header, .site-footer, .review-gate, .button-row, .testimonial-controls { display: none !important; }
  :root, html[data-theme="dark"] { --bg: #fff; --surface: #fff; --surface-2: #fff; --text: #000; --text-soft: #222; --line: #aaa; }
  body { background: #fff; color: #000; font-size: 11pt; }
  .page-opening, .page-section, .editorial-section { padding: 2rem 0; }
}
