/* ============================================================
   MOUNT XION TECHNOLOGIES · design system (v7 composition, 2026-09-06)
   Navy, white, and cool neutral surfaces. Manrope only. Squared,
   ruled panels; hairlines, one shadow token for focal objects. No
   decorative gold: the only brass on the page is the logo's own mark.
   Light theme only. Dark mode retired 2026-09-06 at Donte's direction:
   one look, simple and professional.
   ============================================================ */

:root{
  color-scheme:light;
  --bg:#FFFFFF; --surface:#FFFFFF; --panel:#F2F4F7; --focal:#FFFFFF;
  --ink:#142433; --body:#44525E; --muted:#5D6973;
  --line:#DCE1E6; --line-2:#C6CED6;
  --teal:#0E625F; --focus:#0E625F;
  --band:#102131; --band-2:#0B1926; --band-3:#16304A;
  --band-ink:#F2F5F7; --band-body:#B9C2C9; --band-muted:#8D99A2;
  --band-line:rgba(242,245,247,0.14); --band-line-2:rgba(242,245,247,0.28);
  --band-focus:#8FD1CB;
  --shadow:0 24px 60px -30px rgba(20,36,51,0.28);
  --focal-shadow:0 28px 60px -34px rgba(0,0,0,0.65);
  --sans:'Manrope','Inter',system-ui,-apple-system,sans-serif;
  --ease:cubic-bezier(0.22,1,0.36,1);
  --max:1240px; --gut:clamp(1.25rem,4vw,2.5rem); --r:3px;
  --overhang:120px;
}

/* ---------- Base ---------- */
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0; background:var(--bg); color:var(--body);
  font-family:var(--sans); font-size:1.0625rem; line-height:1.6;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
::selection{ background:rgba(20,36,51,0.18); }
h1,h2,h3{ font-family:var(--sans); color:var(--ink); margin:0; }
h1{ font-size:clamp(2.8rem,5.2vw,4.4rem); line-height:1.0; font-weight:600; letter-spacing:-0.035em; }
h2{ font-size:clamp(1.8rem,3.1vw,2.4rem); line-height:1.1; font-weight:600; letter-spacing:-0.025em; max-width:22ch; }
h3{ font-size:1.25rem; line-height:1.3; font-weight:600; letter-spacing:-0.012em; }
h4,.hh{ font-family:var(--sans); font-weight:700; font-size:1.02rem; color:var(--ink); margin:0; }
p{ margin:0; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; cursor:pointer; }
strong{ color:var(--ink); font-weight:700; }
img{ max-width:100%; }
[hidden]{ display:none !important; }
main a:not(.btn):not(.go):not(.story-row):not(.logo){ color:var(--teal); }
main a:not(.btn):not(.go):not(.story-row):not(.logo):hover{ text-decoration:underline; text-underline-offset:3px; }

/* Wide screens: grow the canvas and the type together */
@media(min-width:1440px){ html{ font-size:17px; } :root{ --max:1340px; } }
@media(min-width:1800px){ html{ font-size:18px; } :root{ --max:1460px; } }

/* ---------- Accessibility ---------- */
.skip-link{
  position:absolute; left:-999px; top:.6rem; z-index:200;
  background:var(--band-ink); color:#142433; padding:.6rem .9rem; border-radius:var(--r);
  font-weight:700; font-size:.9rem;
}
.skip-link:focus{ left:.6rem; }
:focus-visible{ outline:2px solid var(--focus); outline-offset:3px; }
.on-band :focus-visible, .on-dark :focus-visible, .footer :focus-visible{ outline-color:var(--band-focus); }

/* ---------- Layout ---------- */
.container{ width:100%; max-width:var(--max); margin-inline:auto; padding-inline:var(--gut); }
.section{ padding-block:clamp(3.5rem,8vw,6.5rem); }
.section--tight{ padding-block:clamp(2.6rem,6vw,4.5rem); }
.section--flush{ padding-top:0; }

/* ---------- Type helpers ---------- */
.eyebrow{
  display:inline-flex; align-items:center; gap:.6rem;
  font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--muted);
}
.on-band .eyebrow, .on-dark .eyebrow, .page-hero .eyebrow{ color:var(--band-muted); }
.lead{ font-size:clamp(1.05rem,1.35vw,1.2rem); line-height:1.6; color:var(--body); max-width:58ch; }
.small{ font-size:.9rem; color:var(--muted); }
.sec-head{ max-width:64ch; }
.sec-head .eyebrow + h2{ margin-top:.9rem; }
.eyebrow + h1, .eyebrow + h2, .eyebrow + .stmt{ margin-top:.9rem; }
.sec-head .lead{ margin-top:1rem; }
.sec-top{ display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; flex-wrap:wrap; }
.head-note{ font-size:.95rem; color:var(--body); max-width:38ch; line-height:1.55; }
.head-note b{ color:var(--ink); font-weight:700; }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:.6rem;
  font-family:var(--sans); font-size:.92rem; font-weight:700;
  padding:.85rem 1.4rem; border-radius:var(--r); border:1px solid transparent; line-height:1.2; cursor:pointer;
  transition:background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease), transform .2s var(--ease);
}
.btn .arr{ transition:transform .2s var(--ease); }
.btn:hover .arr{ transform:translateX(4px); }
.btn-primary{ background:var(--ink); color:var(--bg); }
.btn-primary:hover{ transform:translateY(-1px); }
.btn-ghost{ border-color:var(--line-2); color:var(--ink); background:transparent; }
.btn-ghost:hover{ border-color:var(--ink); }
.on-band .btn-primary, .on-dark .btn-primary{ background:var(--band-ink); color:#142433; }
.on-band .btn-primary:hover, .on-dark .btn-primary:hover{ background:#fff; }
.on-band .btn-ghost, .on-dark .btn-ghost{ border-color:var(--band-line-2); color:var(--band-ink); }
.on-band .btn-ghost:hover, .on-dark .btn-ghost:hover{ border-color:var(--band-ink); }
button.btn[disabled]{ opacity:.6; cursor:progress; }
.go{
  display:inline-flex; align-items:center; gap:.45rem; font-weight:700; font-size:.9rem;
  color:var(--ink); background:none; border:0; padding:0; text-align:left;
}
.go .arr{ transition:transform .2s var(--ease); }
.go:hover .arr{ transform:translateX(4px); }
.on-band .go, .on-dark .go{ color:var(--band-ink); }
.btn-row{ margin-top:2rem; display:flex; gap:.8rem; flex-wrap:wrap; align-items:center; }

/* ---------- Header: sits on the band, no rule beneath it ---------- */
.header{ background:var(--band); color:var(--band-ink); }
.nav-inner{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-block:1.1rem; }
.logo{ display:inline-flex; align-items:center; gap:.75rem; color:var(--band-ink); }
.logo .mark{ width:34px; height:34px; flex:none; }
.logo .word{ display:flex; flex-direction:column; line-height:1.05; }
.logo .word b{ font-weight:600; font-size:.98rem; letter-spacing:.2em; text-transform:uppercase; color:var(--band-ink); }
.logo .word span{ font-size:.56rem; font-weight:600; letter-spacing:.3em; text-transform:uppercase; color:var(--band-muted); margin-top:4px; }
.nav-links{ display:none; gap:1.6rem; font-size:.9rem; font-weight:600; }
@media(min-width:1024px){ .nav-links{ display:flex; } }
.nav-links a{ color:var(--band-body); padding:.3rem 0; position:relative; transition:color .2s; }
.nav-links a:hover, .nav-links a.active{ color:var(--band-ink); }
.nav-links a.active::after{ content:''; position:absolute; left:0; right:0; bottom:-4px; height:2px; background:var(--band-ink); }
.nav-right{ display:flex; align-items:center; gap:.7rem; }
.header .btn{ padding:.62rem 1.1rem; font-size:.86rem; }
@media(max-width:559px){ .nav-right .btn{ display:none; } }
.burger{
  display:inline-flex; flex-direction:column; justify-content:center; gap:5px;
  width:44px; height:44px; padding:10px; background:none; border:1px solid var(--band-line-2); border-radius:var(--r);
}
@media(min-width:1024px){ .burger{ display:none; } }
.burger span{ width:22px; height:2px; background:var(--band-ink); display:block; }
.mobile{ background:var(--band-2); border-top:1px solid var(--band-line); padding-bottom:.4rem; }
@media(min-width:1024px){ .mobile{ display:none !important; } }
.mobile a{ display:block; padding:.95rem 0; border-bottom:1px solid var(--band-line); font-size:1.15rem; font-weight:600; color:var(--band-ink); }
.mobile a:last-child{ border-bottom:0; }
.mobile a.m-cta{ font-size:1rem; font-weight:700; }

/* ---------- Homepage hero: headline left, the sample sheet right, crossing the band edge ---------- */
.hero{ background:var(--band); color:var(--band-body); }
.hero-grid{ display:grid; grid-template-columns:1fr; gap:2.8rem; padding-block:clamp(2.4rem,5vw,4rem) 0; }
@media(min-width:960px){ .hero-grid{ grid-template-columns:6.4fr 5.6fr; gap:3.5rem; align-items:start; padding-top:clamp(3rem,6vw,5rem); } }
.hero-copy{ padding-bottom:clamp(2.4rem,5vw,4rem); }
.hero h1{ color:var(--band-ink); max-width:12ch; }
.hero h1 span{ display:block; }
.hero .lead{ margin-top:1.6rem; color:var(--band-body); max-width:52ch; }
.hero-actions{ margin-top:2rem; display:flex; gap:.7rem; flex-wrap:wrap; align-items:center; }
.hero-note{ margin-top:1.1rem; font-size:.88rem; color:var(--band-muted); }
.sheet-col{ position:relative; align-self:end; margin-bottom:calc(-1 * var(--overhang)); z-index:2; }
@media(max-width:959px){ .sheet-col{ --overhang:88px; max-width:560px; margin-inline:auto; width:100%; } }
.sheet{ position:relative; margin:0; background:#FFFFFF; border:1px solid var(--line-2); box-shadow:var(--focal-shadow); }
.sheet img{ display:block; width:100%; height:auto; }
.sheet-tag{
  position:absolute; top:-13px; right:18px; font-size:.64rem; letter-spacing:.12em; text-transform:uppercase; font-weight:700;
  color:#142433; background:#FFFFFF; border:1px solid #142433; padding:.32rem .6rem; border-radius:var(--r);
}

/* ---------- Assessment: the scorecard spread (two pages of the sample at readable size) ---------- */
.spread{ display:grid; grid-template-columns:1fr; gap:2.2rem; margin-top:1.6rem; }
@media(min-width:760px){ .spread{ grid-template-columns:1fr 1fr; gap:2.4rem; align-items:start; } }
.spread .pg{ margin:0; }
.spread .pg-cap{ margin-top:.85rem; padding-top:.7rem; border-top:1px solid var(--line); font-size:.82rem; line-height:1.5; color:var(--body); }
.spread .pg-cap b{ color:var(--ink); }
.sc-index{ margin-top:1.9rem; display:grid; grid-template-columns:1fr; border-top:1px solid var(--line-2); }
@media(min-width:760px){ .sc-index{ grid-template-columns:repeat(4,1fr); column-gap:1.6rem; } }
.sc-index > div{ padding:1rem 0 1.1rem; border-bottom:1px solid var(--line); }
.sc-index .sc-i{ display:block; font-size:.72rem; font-weight:700; letter-spacing:.12em; color:var(--muted); font-variant-numeric:tabular-nums; }
.sc-index .sc-t{ margin-top:.35rem; font-weight:700; color:var(--ink); font-size:.95rem; line-height:1.3; }
.sc-index .sc-d{ margin-top:.3rem; font-size:.86rem; line-height:1.5; color:var(--body); }

/* ---------- Bridge: the white page begins under the sheet ---------- */
.bridge{ background:var(--bg); border-bottom:1px solid var(--line); }
.bridge-grid{ display:grid; grid-template-columns:1fr; gap:1rem; padding-top:calc(var(--overhang) + 1.6rem); padding-bottom:clamp(2rem,4vw,3rem); }
@media(min-width:960px){ .bridge-grid{ grid-template-columns:6.4fr 5.6fr; gap:3.5rem; padding-top:2.4rem; padding-bottom:clamp(2.4rem,4vw,3.4rem); } }
@media(max-width:959px){ .bridge-grid{ padding-top:calc(88px + 1.6rem); } }
.cap{ font-size:1rem; line-height:1.6; max-width:54ch; color:var(--body); }
.cap b{ color:var(--ink); font-weight:700; }
.sample-links{ margin-top:1rem; display:flex; flex-direction:column; gap:.7rem; }
/* Fragment destinations take programmatic focus after an in-page link; they are not controls, so no ring */
section[tabindex="-1"]:focus, main[tabindex="-1"]:focus, h2[tabindex="-1"]:focus, div[tabindex="-1"]:focus{ outline:none; }
.disclose{ max-width:60ch; }
.disclose > summary{ list-style:none; cursor:pointer; display:inline-flex; align-items:center; gap:.5rem; font-weight:700; font-size:.92rem; color:var(--ink); }
.disclose > summary::-webkit-details-marker{ display:none; }
.disclose > summary .ind{ font-size:1.15rem; line-height:1; transition:transform .2s var(--ease); }
.disclose[open] > summary .ind{ transform:rotate(45deg); }
.disclose .dbody{ margin-top:1rem; border-top:1px solid var(--line-2); }
.f-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; padding:1rem 0 .2rem; }
.f-head h3{ font-size:1.15rem; max-width:22ch; }
.f-status{
  flex:none; font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; font-weight:700;
  color:#7A2E1E; background:#F6E7E3; border:1px solid #E7C8C0; padding:.32rem .55rem; border-radius:var(--r); margin-top:.15rem;
}
.f-row{ display:grid; grid-template-columns:8.5rem 1fr; gap:1rem; padding:.8rem 0; border-top:1px solid var(--line); font-size:.93rem; line-height:1.55; }
.f-row b{ color:var(--ink); font-weight:700; font-size:.86rem; padding-top:1px; }
.f-foot{ padding-top:.8rem; border-top:1px solid var(--line); font-size:.78rem; color:var(--muted); line-height:1.5; }
@media(max-width:479px){ .f-row{ grid-template-columns:1fr; gap:.2rem; } }
/* Readable scorecard excerpt: the same bars and priorities as the image, as text */
.x-intro{ padding:1rem 0 .4rem; font-size:.9rem; line-height:1.55; }
.x-intro + .x-intro{ padding-top:0; }
.x-intro b{ color:var(--ink); }
.x-h{ margin-top:.9rem; font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }
.x-bars{ list-style:none; margin:.5rem 0 0; padding:0; border-top:1px solid var(--line); }
.x-bars li{ display:grid; grid-template-columns:minmax(9rem,14rem) 1fr auto; gap:.8rem; align-items:center; padding:.5rem 0; border-bottom:1px solid var(--line); font-size:.88rem; }
.x-bars .x-track{ height:6px; background:var(--panel); border:1px solid var(--line); position:relative; }
.x-bars .x-fill{ position:absolute; left:0; top:0; bottom:0; background:var(--teal); }
.x-bars .x-val{ color:var(--body); white-space:nowrap; font-variant-numeric:tabular-nums; font-size:.84rem; }
@media(max-width:479px){ .x-bars li{ grid-template-columns:1fr auto; } .x-bars .x-track{ grid-column:1 / -1; } }
.x-list{ margin:.5rem 0 0; padding-left:1.2rem; font-size:.9rem; line-height:1.55; display:flex; flex-direction:column; gap:.3rem; }

/* ---------- Offers: one wide entry beside two stacked rows, then the flagship feature ---------- */
.offer-grid{ display:grid; grid-template-columns:1fr; margin-top:2.4rem; border:1px solid var(--line-2); background:var(--surface); }
@media(min-width:900px){ .offer-grid{ grid-template-columns:7fr 5fr; grid-template-rows:auto auto; } }
.offer{ padding:1.7rem 1.6rem 1.5rem; display:flex; flex-direction:column; border-bottom:1px solid var(--line); position:relative; }
@media(min-width:900px){ .offer.entry{ grid-row:1 / span 2; border-bottom:0; border-right:1px solid var(--line); } .offer.support:last-child{ border-bottom:0; } }
@media(max-width:899px){ .offer:last-child{ border-bottom:0; } }
.offer.entry{ background:var(--panel); }
.offer.entry h3{ font-size:1.6rem; max-width:16ch; }
.when{ margin-top:.9rem; font-size:.9rem; line-height:1.5; color:var(--ink); padding-left:.9rem; border-left:2px solid var(--ink); max-width:44ch; }
.when span{ display:block; font-size:.66rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin-bottom:.15rem; }
.offer p.out{ margin-top:.85rem; font-size:.95rem; max-width:52ch; }
.offer.support p.out{ font-size:.92rem; }
.shape{ margin-top:1.1rem; padding-top:.8rem; border-top:1px solid var(--line); font-size:.76rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); line-height:1.6; }
.offer.support .shape{ margin-top:.9rem; }
.offer details{ margin-top:.9rem; }
.offer summary{ list-style:none; cursor:pointer; display:inline-flex; align-items:center; gap:.5rem; font-weight:700; font-size:.9rem; color:var(--ink); }
.offer summary::-webkit-details-marker{ display:none; }
.offer summary .ind{ font-size:1.15rem; line-height:1; font-weight:600; transition:transform .2s var(--ease); }
.offer details[open] summary .ind{ transform:rotate(45deg); }
.offer .dbody{ margin-top:.9rem; padding-top:.9rem; border-top:1px solid var(--line); }
.offer .dbody p{ font-size:.9rem; max-width:52ch; }
.offer .dbody ul{ margin:.7rem 0 1rem; padding-left:1.1rem; display:flex; flex-direction:column; gap:.4rem; font-size:.9rem; max-width:52ch; }
.acts{ display:flex; flex-wrap:wrap; gap:.7rem 1.2rem; align-items:center; }
.acts .btn{ padding:.7rem 1.1rem; font-size:.86rem; }
.acts .go{ font-size:.86rem; }
.flag-feature{
  margin-top:1.2rem; background:var(--band); color:var(--band-body); border:1px solid var(--band-line); border-top:3px solid var(--band-ink);
  padding:clamp(1.5rem,3vw,2.4rem); display:grid; grid-template-columns:1fr; gap:1.6rem;
}
@media(min-width:900px){ .flag-feature{ grid-template-columns:1.25fr .75fr; gap:3rem; align-items:center; } }
.flag-feature h3{ color:var(--band-ink); font-size:clamp(1.5rem,2.4vw,2rem); margin-top:.9rem; letter-spacing:-0.02em; max-width:22ch; }
.flag-feature .when{ color:var(--band-ink); border-left-color:var(--band-body); max-width:48ch; }
.flag-feature .when span{ color:var(--band-muted); }
.flag-feature .fp{ margin-top:.9rem; max-width:62ch; font-size:.98rem; }
.flag-feature .fmt{ margin-top:1.1rem; font-size:.8rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--band-muted); line-height:1.6; }
.flag-feature .acts{ margin-top:1.5rem; gap:.9rem; }
.flag-feature .side{ border-top:1px solid var(--band-line); padding-top:1.4rem; }
@media(min-width:900px){ .flag-feature .side{ border-top:0; border-left:1px solid var(--band-line); padding:0 0 0 2rem; } }
.flag-feature .lbl{ font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--band-muted); font-weight:700; }
.flag-feature .metrics{ display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; margin:1rem 0; }
.flag-feature .metrics strong{ display:block; font-weight:600; font-size:clamp(2.2rem,3.4vw,3rem); line-height:1; color:var(--band-ink); letter-spacing:-0.03em; font-variant-numeric:tabular-nums; }
.flag-feature .metrics span{ display:block; font-size:.84rem; color:var(--band-body); margin-top:.4rem; }
.flag-feature .attrib{ font-size:.84rem; color:var(--band-muted); line-height:1.6; max-width:40ch; }
.retainer{ margin-top:1.2rem; border-bottom:1px solid var(--line); font-size:.93rem; }
.retainer summary{ list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap; padding:1.1rem .2rem; }
.retainer summary::-webkit-details-marker{ display:none; }
.retainer b{ color:var(--ink); font-weight:700; }
.retainer .rbody{ padding:0 .2rem 1.3rem; max-width:66ch; }
.retainer .rbody ul{ margin:.6rem 0 1rem; padding-left:1.1rem; display:flex; flex-direction:column; gap:.4rem; font-size:.92rem; }

/* ---------- Evidence: what an assessment hands over ---------- */
.evsec{ background:var(--panel); border-block:1px solid var(--line); }
.evid{ display:grid; grid-template-columns:1fr; gap:2rem; align-items:start; }
@media(min-width:960px){ .evid{ grid-template-columns:1fr 1.1fr; gap:4.5rem; } }
.evid .lead{ margin-top:1rem; }
.dlist{ border-top:1px solid var(--line-2); }
.dlist > div{ padding:1rem .2rem; border-bottom:1px solid var(--line); }
.dlist b{ display:block; font-size:1.02rem; color:var(--ink); font-weight:700; }
.dlist small{ display:block; font-size:.9rem; line-height:1.55; color:var(--body); margin-top:.2rem; max-width:56ch; }
.fee{ margin-top:1.2rem; font-size:.93rem; color:var(--ink); font-weight:600; }
.evid .acts{ margin-top:1.3rem; gap:1.2rem; }

/* ---------- Expertise: the connected environment figure (dimensional study, ported 2026-09-06) ----------
   Six nodes on three boundary surfaces, wires routed from real card geometry (assets/network.js).
   The board keeps its own navy palette; red is semantic only (needs attention) and is paired with
   dashed-versus-solid wires and status marks so state never rests on color alone. ---------- */
.nm-section{padding:64px 0 32px;background:var(--surface)}
.nm-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:42px}
.nm-eyebrow{text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--muted);margin:0 0 16px}
.nm-intro h1,.nm-intro h2{font-size:clamp(32px,3.6vw,48px);font-weight:600;line-height:1.12;letter-spacing:-.04em;max-width:21ch}
.nm-intro .nm-lead{font-size:15px;line-height:1.8;max-width:47ch;justify-self:end;color:var(--body);padding-bottom:2px}
.nm-network{--nm-surface:#0C1C29;--nm-node-top:#243C50;--nm-node-bottom:#142B3D;--nm-text:#F2F5F7;--nm-muted:#B4C2CD;--nm-attention:#F0AAA1;--nm-good:#8FD1CB;--nm-line:rgba(192,216,230,.22)}
.nm-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:36px;align-items:stretch}
.nm-figure{margin:0;min-width:0;background:var(--nm-surface);border:1px solid #314452;border-radius:5px;color:var(--nm-text);box-shadow:0 18px 40px -22px rgba(4,16,27,.45);position:relative;isolation:isolate}
.nm-map-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:25px 26px 12px}
.nm-map-header h3{font-size:14px;line-height:1.4;letter-spacing:-.01em;font-weight:600;color:var(--nm-text)}
.nm-illustrative{font-size:11px;letter-spacing:.035em;color:var(--nm-muted)}
.nm-board{position:relative;height:430px;margin:0 18px;isolation:isolate;background:radial-gradient(ellipse at 48% 25%,rgba(126,173,195,.08),transparent 65%)}
.nm-board::before{content:'';position:absolute;inset:15px 0 60px;background-image:linear-gradient(rgba(159,186,205,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(159,186,205,.026) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(transparent,#000 18%,#000 85%,transparent);pointer-events:none;z-index:-2}
.nm-zone{position:absolute;top:19px;bottom:58px;width:calc(33.333% - 12px);border:1px solid rgba(174,204,220,.17);border-top-color:rgba(205,224,237,.28);background:linear-gradient(145deg,rgba(122,159,185,.078),rgba(63,107,133,.025));border-radius:4px;box-shadow:0 5px 0 #091622,0 6px 0 rgba(170,198,218,.14),inset 0 1px 0 rgba(255,255,255,.025);z-index:-1;padding:15px 13px;transition:border-color .5s,background .5s}
.nm-zone[data-zone=foundation]{left:0}
.nm-zone[data-zone=information]{left:calc(33.333% + 6px)}
.nm-zone[data-zone=enablement]{right:0}
.nm-zone-number{display:block;color:#94A9B8;font-size:11px;letter-spacing:.1em;line-height:1}
.nm-zone-name{display:block;font-size:11px;letter-spacing:.035em;color:#BBCAD4;margin-top:7px;line-height:1.4}
.nm-zone.is-secured{border-color:rgba(143,209,203,.24);background:linear-gradient(145deg,rgba(89,148,153,.085),rgba(63,107,133,.025))}
.nm-wires{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}
.nm-link{fill:none;stroke:var(--nm-attention);stroke-width:1.25;stroke-dasharray:4 5;stroke-linecap:round;opacity:.72;transition:stroke .6s,opacity .3s}
.nm-link.is-secured{stroke:var(--nm-good);stroke-dasharray:none;opacity:.8}
.nm-link.is-related{opacity:1;stroke-width:1.8}
.nm-link.is-dim{opacity:.12}
.nm-link.is-flowing{stroke:var(--nm-good);opacity:.8}
.nm-pulse{fill:none;stroke:#D6FFFA;stroke-width:2.5;stroke-linecap:round;stroke-dasharray:9 91;stroke-dashoffset:100;opacity:0;filter:drop-shadow(0 0 3px rgba(143,209,203,.65))}
.nm-pulse.is-flowing{opacity:1;animation:nm-flow 1.15s ease-in-out infinite}
@keyframes nm-flow{from{stroke-dashoffset:100}to{stroke-dashoffset:-100}}
.nm-node{position:absolute;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;width:calc(33.333% - 42px);height:108px;padding:15px 15px 13px;z-index:2;text-align:left;border:1px solid #4C606F;border-top-color:#748593;border-radius:5px;background:linear-gradient(145deg,var(--nm-node-top),var(--nm-node-bottom) 80%);color:var(--nm-text);box-shadow:0 5px 0 #091722,0 6px 0 #425462,0 15px 18px -9px rgba(0,0,0,.55),inset 0 1px 0 rgba(230,243,250,.07);transform:translateX(-50%);transition:border-color .3s,box-shadow .3s,background .3s,opacity .25s;appearance:none;-webkit-tap-highlight-color:transparent}
.nm-node::before,.nm-node::after{content:'';position:absolute;pointer-events:none;left:8px;right:8px;height:1px;background:linear-gradient(90deg,transparent,var(--nm-attention),transparent);opacity:.9;bottom:-6px;transition:background .5s}
.nm-node::after{bottom:auto;top:0;opacity:.17}
.nm-node[data-node=network],.nm-node[data-node=devices]{left:calc(16.666% - 3px)}
.nm-node[data-node=identity],.nm-node[data-node=data]{left:50%}
.nm-node[data-node=applications],.nm-node[data-node=ai]{left:calc(83.333% + 3px)}
.nm-node[data-node=network],.nm-node[data-node=identity],.nm-node[data-node=applications]{top:106px}
.nm-node[data-node=devices],.nm-node[data-node=data],.nm-node[data-node=ai]{top:250px}
.nm-node-hub{background:linear-gradient(135deg,#304C61,#1D3548 75%);border-top-color:#93A5B2}
.nm-node-top{display:flex;width:100%;align-items:center;justify-content:space-between;margin-bottom:10px;color:#D5E1E8}
.nm-node-top svg{width:23px;height:23px;display:block}
.nm-status-mark{display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;line-height:1;width:16px;height:16px;color:var(--nm-attention);border:1px dashed var(--nm-attention);border-radius:50%}
.nm-node-name{font-size:13px;font-weight:600;line-height:1.4;letter-spacing:-.015em;color:var(--nm-text);white-space:nowrap}
.nm-node-status{font-size:11px;line-height:1.5;color:var(--nm-attention);margin-top:4px;white-space:nowrap}
.nm-node.is-secured::before,.nm-node.is-secured::after{background:linear-gradient(90deg,transparent,var(--nm-good),transparent)}
.nm-node.is-secured .nm-node-status{color:var(--nm-good)}
.nm-node.is-secured .nm-status-mark{border-style:solid;border-color:rgba(143,209,203,.55);color:var(--nm-good);background:rgba(143,209,203,.08)}
.nm-node.is-checking{border-color:var(--nm-good);box-shadow:0 5px 0 #091722,0 6px 0 #678A91,0 12px 22px -8px rgba(143,209,203,.2),inset 0 1px 0 rgba(230,243,250,.1)}
.nm-node.is-checking .nm-node-status{color:#DAEEE9}
.nm-node.is-active{border-color:var(--nm-good);background:linear-gradient(145deg,#294B5E,#193544);box-shadow:0 5px 0 #091722,0 6px 0 #729DAB,0 13px 23px -9px rgba(143,209,203,.2),inset 0 0 0 1px rgba(143,209,203,.2)}
.nm-node.is-related{border-top-color:#ABC0CD}
.nm-node.is-dim{opacity:1;border-color:#344B5C;background:linear-gradient(145deg,#192F41,#102534)}
.nm-node.is-dim .nm-node-name{color:#B7C6D0}
.nm-node.is-dim .nm-node-top{color:#90A6B6}
.nm-node:hover{border-color:#A2BCCB}
.nm-node:focus-visible{outline:2px solid var(--nm-good);outline-offset:9px}
.nm-oversight{position:absolute;bottom:8px;left:5px;right:5px;display:flex;gap:12px;align-items:center}
.nm-oversight-rule{height:8px;flex:1;border-bottom:1px solid #627B8A}
.nm-oversight-rule:first-child{border-left:1px solid #627B8A}
.nm-oversight-rule:last-child{border-right:1px solid #627B8A}
.nm-oversight button{padding:7px 3px;display:flex;align-items:center;justify-content:center;gap:7px;border:0;background:transparent;color:#BBCAD4;font-size:11px;line-height:1.4}
.nm-oversight button svg{height:14px;width:14px}
.nm-oversight button[aria-pressed=true]{color:#BDEDE6}
.nm-oversight button:hover{color:#F2F5F7}
.nm-oversight button:focus-visible{outline-color:var(--nm-good)}
.nm-map-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--nm-line);padding:16px 25px;font-size:11px;line-height:1.5;color:var(--nm-muted)}
.nm-legend{display:flex;flex-wrap:wrap;gap:16px}
.nm-legend>span{display:flex;align-items:center;gap:6px}
.nm-legend i{display:block;width:15px;height:0;border-top:1.5px solid var(--nm-good)}
.nm-legend .nm-legend-attention{border-top:1.5px dashed var(--nm-attention)}
.nm-detail{padding:20px 0 0;min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.nm-detail-header{display:flex;justify-content:space-between;align-items:baseline;width:100%;gap:8px;min-height:35px}
.nm-detail .nm-eyebrow{font-size:11px;margin-bottom:18px}
.nm-detail h3{font-size:26px;line-height:1.2;letter-spacing:-.035em;font-weight:600;max-width:20ch;min-height:0}
.nm-detail #nm-detail-copy{font-size:14px;line-height:1.8;margin-top:17px;color:var(--body)}
.nm-detail-controls{margin-top:26px;padding-top:20px;border-top:1px solid var(--line);width:100%}
.nm-detail-controls h4,.nm-small-label{margin:0;font-size:11px;letter-spacing:.065em;text-transform:uppercase;font-weight:700;line-height:1.6;color:var(--muted)}
.nm-detail-controls ul{list-style:none;padding:0;margin:9px 0 0;display:grid;gap:9px}
.nm-detail-controls li{font-size:12px;line-height:1.65;padding-left:16px;position:relative;color:var(--body)}
.nm-detail-controls li::before{content:'';position:absolute;top:.65em;left:0;width:4px;height:4px;border-radius:50%;background:var(--teal)}
.nm-detail-connection{border-top:1px solid var(--line);padding-top:16px;margin-top:23px}
.nm-detail-connection p{font-size:12px;line-height:1.75;margin-top:8px}
.nm-detail-state{font-size:11px;line-height:1.5;color:var(--muted);padding-top:18px;margin-top:auto}
.nm-text-button{padding:0;border:0;background:transparent;color:var(--teal);font-size:11px;white-space:nowrap}
.nm-transport{display:flex;gap:25px;justify-content:space-between;align-items:center;margin-top:26px;border-bottom:1px solid var(--line);padding-bottom:23px}
.nm-progress{width:min(45%,340px)}
.nm-progress-track{height:2px;background:var(--line);overflow:hidden}
#nm-progress-fill{display:block;transform-origin:left;transform:scaleX(0);width:100%;height:100%;background:var(--teal);transition:width .45s,transform .45s}
.nm-progress p{font-size:11px;line-height:1.6;margin-top:9px;color:var(--body)}
.nm-playback{display:flex;gap:8px;align-items:center}
.nm-playback button{min-height:40px;padding:8px 13px;border:1px solid var(--line-2);background:transparent;border-radius:3px;color:var(--ink);display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px;line-height:1.5;white-space:nowrap}
.nm-playback svg{width:16px;height:16px}
.nm-playback .nm-play{color:var(--bg);background:var(--ink);border-color:var(--ink)}
.nm-playback button:disabled{opacity:.45;cursor:default}
.nm-playback button[data-action=reset]{border-color:transparent;color:var(--body)}
.nm-bottom-caption{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-top:17px;font-size:11px;line-height:1.7}
.nm-bottom-caption p{color:var(--body)}
.nm-bottom-caption>span{color:var(--muted)}
.nm-sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nm-no-script{padding-block:20px;font-size:13px}
@media(min-width:1440px){.nm-layout{grid-template-columns:minmax(0,1fr) 320px;gap:44px}.nm-board{height:462px}.nm-node{height:114px;padding:17px}.nm-node-name{font-size:14px}.nm-node-status{font-size:11px}.nm-node[data-node=devices],.nm-node[data-node=data],.nm-node[data-node=ai]{top:271px}.nm-zone-name{font-size:11px}.nm-map-caption,.nm-illustrative{font-size:11px}}
@media(max-width:1100px){.nm-layout{grid-template-columns:minmax(0,1fr) 250px;gap:24px}.nm-node{padding:13px 10px;width:calc(33.333% - 30px)}.nm-node-status{font-size:11px}.nm-node-name{font-size:12px}.nm-zone{padding:14px 10px}.nm-zone-name{font-size:11px}.nm-detail h3{font-size:24px}.nm-map-header{padding-inline:20px}.nm-map-caption{padding-inline:18px;flex-wrap:wrap;gap:7px}.nm-board{margin-inline:14px}}
@media(max-width:960px){.nm-layout{grid-template-columns:1fr}.nm-intro{gap:32px}.nm-intro .nm-lead{font-size:14px}.nm-detail{display:grid;grid-template-columns:1fr 1fr;column-gap:40px;row-gap:0;padding-top:12px}.nm-detail-header{grid-column:1 / -1}.nm-detail h3{grid-column:1;min-height:0;font-size:26px}.nm-detail #nm-detail-copy{grid-column:1;grid-row:3}.nm-detail-controls{grid-column:2;grid-row:2 / 4;margin:0;padding-top:4px;border-top:0}.nm-detail-connection{grid-column:1 / -1;margin-top:24px;display:grid;grid-template-columns:1fr 2fr;gap:20px}.nm-detail-connection p{margin:0}.nm-detail-state{grid-column:1 / -1}.nm-board{height:440px;margin-inline:20px}.nm-node{width:calc(33.333% - 44px);padding:16px;height:111px}.nm-node-name{font-size:14px}.nm-node-status{font-size:11px}.nm-zone-name{font-size:11px}}
@media(max-width:640px){
  .nm-section{padding-top:38px}.nm-intro{grid-template-columns:1fr;gap:20px;margin-bottom:28px}.nm-intro h1,.nm-intro h2{font-size:34px;line-height:1.14}.nm-intro .nm-lead{justify-self:start;font-size:13px;line-height:1.8;max-width:46ch}.nm-eyebrow{margin-bottom:13px;font-size:11px}
  .nm-layout{gap:26px}.nm-figure{border-radius:4px}.nm-map-header{padding:19px 17px 7px;align-items:flex-start;flex-direction:column;gap:4px}.nm-map-header h3{font-size:14px}.nm-illustrative{font-size:11px}
  .nm-board{height:652px;margin:0 12px}.nm-zone{left:0!important;right:0!important;width:auto;height:179px;bottom:auto;padding:12px 12px;box-shadow:0 4px 0 #091622,0 5px 0 rgba(170,198,218,.14)}
  .nm-zone[data-zone=foundation]{top:16px}.nm-zone[data-zone=information]{top:218px}.nm-zone[data-zone=enablement]{top:420px}.nm-zone-number,.nm-zone-name{display:inline-block;font-size:11px;line-height:1.5;margin-top:0}.nm-zone-name{padding-left:10px}
  .nm-node{width:calc(50% - 33px);height:106px;padding:13px 12px;transform:translateX(-50%)}
  .nm-node[data-node=network],.nm-node[data-node=identity],.nm-node[data-node=applications]{left:25%;top:auto}.nm-node[data-node=devices],.nm-node[data-node=data],.nm-node[data-node=ai]{left:75%;top:auto}
  .nm-node[data-node=network],.nm-node[data-node=devices]{top:65px}.nm-node[data-node=identity],.nm-node[data-node=data]{top:267px}.nm-node[data-node=applications],.nm-node[data-node=ai]{top:469px}
  .nm-node-name{font-size:12px}.nm-node-status{font-size:11px}.nm-node-top{margin-bottom:8px}.nm-node-top svg{width:23px;height:23px}.nm-status-mark{font-size:11px;width:15px;height:15px}
  .nm-oversight{bottom:7px;gap:5px;left:1px;right:1px}.nm-oversight button{font-size:11px;gap:5px;min-height:36px}.nm-oversight button svg{width:12px}
  .nm-map-caption{font-size:11px;padding:16px;gap:9px;flex-direction:column;align-items:flex-start}.nm-legend{gap:18px}.nm-map-caption>span:last-child{color:#B4C2CD}
  .nm-detail{display:flex;gap:0;padding-top:0}.nm-detail-header{min-height:30px}.nm-detail .nm-eyebrow{font-size:11px}.nm-detail h3{font-size:28px;max-width:22ch}.nm-detail #nm-detail-copy{font-size:14px;margin-top:13px}.nm-detail-controls{border-top:1px solid var(--line);padding-top:17px;margin-top:20px}.nm-detail-controls li{font-size:12px}.nm-detail-connection{display:block;margin-top:21px;padding-top:16px}.nm-detail-connection p{margin-top:7px}.nm-detail-state{padding-top:16px}
  .nm-transport{flex-direction:column;align-items:stretch;gap:17px;margin-top:22px;padding-bottom:19px}.nm-progress{width:100%}.nm-playback{justify-content:flex-start;gap:6px}.nm-playback button{min-height:44px;padding-inline:11px;font-size:11px}.nm-bottom-caption{flex-direction:column;gap:7px;font-size:11px}
}
@media(max-width:360px){.nm-intro h1,.nm-intro h2{font-size:30px}.nm-node{width:calc(50% - 18px);padding:13px 8px}.nm-node-name{font-size:11px}.nm-node-status{font-size:11px}.nm-board{margin-inline:10px}.nm-oversight button{font-size:11px}.nm-legend{gap:10px}.nm-playback button{padding-inline:9px}}
@media(prefers-reduced-motion:reduce){.nm-network *,.nm-network *::before,.nm-network *::after{animation:none!important;transition:none!important}.nm-pulse{display:none}}

.nm-zone.is-active,.nm-network[data-selection="governance"] .nm-zone{border-color:rgba(143,209,203,.65);background:linear-gradient(145deg,rgba(89,148,153,.13),rgba(63,107,133,.045))}

/* Keep playback beside the figure's caption, including on phones. */
.nm-figure{grid-column:1;grid-row:1}
.nm-detail{grid-column:2;grid-row:1 / 3}
.nm-transport{grid-column:1;grid-row:2;margin-top:0;gap:18px;padding-bottom:19px}
.nm-layout{row-gap:23px}
.nm-bottom-caption{border-top:1px solid var(--line);padding-top:15px}
.nm-transport{border-bottom:0}
.nm-node-name{font-size:15px}
.nm-node-top svg{width:25px;height:25px}
.nm-link{stroke-width:1.5}
@media(max-width:960px){.nm-detail{grid-column:1;grid-row:3}.nm-transport{grid-column:1;grid-row:2}.nm-node-name{font-size:14px}}
@media(max-width:640px){.nm-node-name{font-size:12px}.nm-transport{padding-bottom:4px}.nm-layout{row-gap:22px}.nm-node-top svg{width:23px;height:23px}}



#mx-network .nm-figure a.nm-detail-jump{color:var(--nm-good);text-decoration:underline;text-underline-offset:3px}
.nm-detail-jump:focus-visible{outline-color:var(--nm-good)}
@media(max-width:640px){.nm-detail-jump{min-height:32px;display:flex;align-items:center}}

/* ---------- Experience: the founder portrait and the career record as prose ---------- */
.exp{ background:var(--panel); border-block:1px solid var(--line); }
.case{ display:grid; grid-template-columns:1fr; gap:2.4rem; align-items:center; }
@media(min-width:900px){ .case{ grid-template-columns:.62fr 1.38fr; gap:4rem; } }
.portrait{ position:relative; max-width:360px; margin-inline:auto; }
.portrait img, .portrait .art{ position:relative; display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; object-position:50% 20%; border:1px solid var(--line-2); box-shadow:var(--shadow); }
.portrait figcaption{ position:relative; margin-top:.9rem; font-size:.84rem; color:var(--body); }
.portrait figcaption b{ color:var(--ink); font-weight:700; display:block; }
.case .lead{ margin-top:1rem; }
.record{ margin-top:1.2rem; font-size:.98rem; line-height:1.65; max-width:60ch; }
.record b{ color:var(--ink); font-weight:700; font-variant-numeric:tabular-nums; }
.record a{ text-decoration:underline; text-underline-offset:3px; }
.practice{ margin-top:1.6rem; padding-top:1.4rem; border-top:1px solid var(--line-2); display:grid; grid-template-columns:1fr; gap:1rem; }
@media(min-width:700px){ .practice{ grid-template-columns:1fr 1fr; gap:2rem; } }
.practice p{ font-size:.93rem; max-width:44ch; }
.case .go{ margin-top:1.4rem; }

/* ---------- Results index ---------- */
.story-list{ margin-top:2.2rem; border-top:1px solid var(--line-2); }
.story-row{ display:grid; grid-template-columns:1fr; gap:.3rem; padding:1.35rem .2rem; border-bottom:1px solid var(--line); transition:background .2s var(--ease); }
@media(min-width:900px){ .story-row{ grid-template-columns:10.5rem 1fr 15.5rem 1.4rem; gap:1.6rem; align-items:baseline; } }
.story-row:hover{ background:var(--panel); }
.s-cat{ font-size:.68rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--muted); }
.s-head{ font-size:clamp(1.05rem,1.4vw,1.2rem); color:var(--ink); line-height:1.35; font-weight:600; }
.s-stat{ font-size:.92rem; color:var(--ink); font-weight:700; font-variant-numeric:tabular-nums; }
.s-arr, .story-row .arr{ color:var(--ink); font-weight:700; text-align:right; }
@media(max-width:899px){ .s-arr, .story-row .arr{ display:none; } }
.res-link{ margin-top:1.5rem; }

/* ---------- FAQ: visible answers in two columns ---------- */
.faqsec{ background:var(--panel); border-block:1px solid var(--line); }
.qa{ margin-top:2.2rem; display:grid; grid-template-columns:1fr; gap:0 4rem; border-top:1px solid var(--line-2); }
@media(min-width:900px){ .qa{ grid-template-columns:1fr 1fr; } }
.qa div{ padding:1.3rem .2rem 1.4rem; border-bottom:1px solid var(--line); }
.qa h3{ font-size:1.05rem; max-width:34ch; }
.qa p{ margin-top:.55rem; font-size:.95rem; max-width:52ch; line-height:1.6; }

/* ---------- Close band: the discovery call, explained ---------- */
.close-band{ background:var(--band); color:var(--band-body); }
.close-band h2{ color:var(--band-ink); max-width:18ch; }
.close-band .lead{ color:var(--band-body); margin-top:.9rem; }
.book-grid{ display:grid; grid-template-columns:1fr; gap:2.4rem; padding-block:clamp(3.5rem,7vw,5.5rem); }
@media(min-width:960px){ .book-grid{ grid-template-columns:7fr 5fr; gap:4rem; align-items:start; } }
.call-facts{ margin-top:1.7rem; border-top:1px solid var(--band-line); max-width:56ch; }
.call-facts > div{ padding:.95rem 0; border-bottom:1px solid var(--band-line); font-size:.95rem; line-height:1.55; }
.call-facts b{ color:var(--band-ink); display:block; font-weight:700; }
.book-card{ background:var(--focal); color:var(--body); border:1px solid var(--line-2); padding:clamp(1.4rem,3vw,2rem); box-shadow:var(--focal-shadow); }
.book-card h3{ color:var(--ink); font-size:1.4rem; }
.book-card .sel{ margin-top:.8rem; font-size:.92rem; }
.book-card .sel b{ color:var(--ink); }
.book-card .book-act{ margin-top:1.3rem; }
.book-card .alt{ margin-top:1.1rem; font-size:.9rem; }
.book-card .alt a{ color:var(--ink); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.book-card .fine{ font-size:.8rem; color:var(--muted); margin-top:1rem; line-height:1.5; }
/* Subpage close band */
.close-inner{ display:flex; flex-direction:column; gap:2rem; align-items:flex-start; padding-block:clamp(3.5rem,7vw,5.5rem); }
@media(min-width:900px){ .close-inner{ flex-direction:row; align-items:center; justify-content:space-between; } }
.close-inner h2{ margin-top:0; }
.close-actions{ display:flex; flex-direction:column; gap:.9rem; align-items:flex-start; }
.email-plain{ font-size:.95rem; color:var(--band-body); }
.email-plain a{ color:var(--band-ink); font-weight:600; text-decoration:underline; text-underline-offset:3px; }

/* ---------- Footer ---------- */
.footer{ background:var(--band-2); color:var(--band-body); padding:3.2rem 0 1.8rem; }
.footer-grid{ display:grid; grid-template-columns:1fr; gap:2.4rem; }
@media(min-width:820px){ .footer-grid{ grid-template-columns:2fr 1fr 1fr 1fr; gap:2rem; } }
.footer .tag{ max-width:34ch; font-size:.9rem; margin-top:1rem; color:var(--band-body); }
.footer h3{ font-size:.7rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--band-muted); margin:0 0 .9rem; }
.footer ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.6rem; }
.footer a{ color:var(--band-body); font-size:.92rem; transition:color .2s; }
.footer a:hover{ color:var(--band-ink); }
.footer-meta{ margin-top:2.4rem; padding-top:1.4rem; border-top:1px solid var(--band-line); display:flex; flex-wrap:wrap; justify-content:space-between; gap:.8rem; font-size:.76rem; color:var(--band-muted); }
.footer-meta a{ color:inherit; font-size:inherit; text-decoration:underline; text-underline-offset:2px; }

/* ---------- Subpage hero, on the band with the header ---------- */
.page-hero{ background:var(--band); color:var(--band-body); padding-block:clamp(2.4rem,5vw,4rem) clamp(3rem,6vw,4.6rem); }
.page-hero .btn-primary{ background:var(--band-ink); color:#142433; }
.page-hero .btn-ghost{ border-color:var(--band-line-2); color:var(--band-ink); }
.page-hero h1{ color:var(--band-ink); max-width:18ch; font-size:clamp(2.4rem,4.6vw,3.8rem); }
.page-hero .eyebrow + h1{ margin-top:1rem; }
.page-hero .lead{ color:var(--band-body); margin-top:1.3rem; }
.page-hero .hero-actions{ margin-top:1.8rem; }

/* ---------- Breadcrumbs (service pages, in the page hero) ---------- */
.crumbs{ font-size:.8rem; font-weight:600; letter-spacing:.02em; margin-bottom:1.1rem; color:var(--band-muted); }
.crumbs ol{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:.3rem 0; }
.crumbs li{ display:inline-flex; align-items:center; }
.crumbs li + li::before{ content:"/"; margin-inline:.55rem; color:var(--band-line-2); }
.crumbs a{ color:var(--band-body); }
.crumbs a:hover{ color:var(--band-ink); text-decoration:underline; text-underline-offset:3px; }
.crumbs [aria-current]{ color:var(--band-ink); }
.svc + .faqsec{ border-top:0; }

/* ---------- Service detail (services, landing pages, results cases) ---------- */
.svc{ border-bottom:1px solid var(--line); padding-block:clamp(3.2rem,6vw,5rem); scroll-margin-top:1rem; }
.svc [id]{ scroll-margin-top:1rem; }
.svc:last-of-type{ border-bottom:none; }
.svc-grid{ display:grid; grid-template-columns:1fr; gap:2.4rem; }
@media(min-width:960px){ .svc-grid{ grid-template-columns:1.15fr .85fr; gap:4.5rem; } }
.svc h2{ margin-top:.9rem; }
.svc .lead{ margin-top:1rem; }
.svc .eyebrow + h2, .svc .label + h2{ margin-top:.9rem; }
.label{ display:inline-block; font-size:.76rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); line-height:1.6; }
.body-copy{ margin-top:1.2rem; max-width:64ch; display:flex; flex-direction:column; gap:1rem; }
.best{ background:var(--panel); border:1px solid var(--line-2); border-radius:var(--r); padding:1.5rem 1.6rem; }
.best + .best{ margin-top:1rem; }
.best .hh{ margin-bottom:.7rem; }
.best ul{ margin:0; padding-left:1.15rem; display:flex; flex-direction:column; gap:.5rem; font-size:.95rem; }
/* Columns hold their own height and travel with the copy, so a short panel never leaves a hole beside a long one */
@media(min-width:960px){ .svc-grid > *{ align-self:start; position:sticky; top:1.5rem; } }

/* ---------- Field note: a case study surfaced beside a service or a results list ---------- */
.field-note{ margin-top:2rem; background:var(--panel); border:1px solid var(--line-2); border-radius:var(--r); padding:1.5rem 1.6rem; max-width:64ch; }
.field-note .fn-title{ margin-top:.75rem; font-size:1.12rem; line-height:1.35; font-weight:700; letter-spacing:-0.01em; max-width:none; }
.field-note .fn-title a:hover{ text-decoration:underline; text-underline-offset:3px; }
.field-note .fn-body{ margin-top:.7rem; font-size:.95rem; line-height:1.65; color:var(--body); }
.field-note .fn-links{ display:flex; flex-wrap:wrap; gap:.6rem 1.5rem; margin-top:1.1rem; }
.field-note--wide{ max-width:none; margin-top:2.4rem; padding:clamp(1.5rem,3vw,2rem); }
.field-note--wide .fn-body{ max-width:64ch; }

/* ---------- Insights index ---------- */
.post-list{ margin-top:2.4rem; border-top:1px solid var(--line-2); max-width:72ch; }
.post{ padding:2rem 0; border-bottom:1px solid var(--line); }
.post h2{ margin-top:.75rem; font-size:clamp(1.3rem,1.9vw,1.6rem); line-height:1.3; letter-spacing:-0.015em; max-width:none; }
.post h2 a:hover{ text-decoration:underline; text-underline-offset:3px; }
.post .dek{ margin-top:.8rem; color:var(--body); line-height:1.65; max-width:62ch; }
.post .post-note{ margin-top:.8rem; font-size:.92rem; color:var(--body); line-height:1.65; max-width:62ch; }
.post .post-links{ display:flex; flex-wrap:wrap; gap:.6rem 1.5rem; margin-top:1.1rem; }

/* ---------- About: founder ---------- */
.founder-grid{ display:grid; grid-template-columns:1fr; gap:3rem; align-items:start; }
@media(min-width:960px){ .founder-grid{ grid-template-columns:5fr 7fr; gap:4.5rem; } .founder-side{ position:sticky; top:1.5rem; } }
.founder-grid .portrait{ max-width:none; margin-inline:0; }
.principle{ margin-top:1.6rem; padding:.3rem 0 .3rem 1.4rem; border-left:2px solid var(--ink); max-width:60ch; }
.principle p{ font-size:clamp(1.08rem,1.5vw,1.28rem); line-height:1.45; color:var(--ink); font-weight:500; letter-spacing:-0.01em; }
.principle p + p{ margin-top:.8rem; }
.principle .attrib{ display:block; margin-top:1rem; font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }
.chapters{ border-top:1px solid var(--line-2); }
.chapters .ch{ display:grid; grid-template-columns:2.7rem 1fr; gap:.2rem 1rem; padding:1.2rem 0 1.3rem; border-bottom:1px solid var(--line); }
.chapters .c-i{ font-size:.86rem; font-weight:700; color:var(--muted); padding-top:.3rem; font-variant-numeric:tabular-nums; }
.chapters .c-t{ font-size:clamp(1.1rem,1.5vw,1.25rem); font-weight:600; color:var(--ink); line-height:1.25; grid-column:2; }
.chapters .c-d{ margin-top:.45rem; font-size:.9rem; line-height:1.55; color:var(--body); max-width:52ch; grid-column:2; }
.check-list{ list-style:none; padding:0; margin:1.8rem 0 0; display:flex; flex-direction:column; gap:1.15rem; }
.check-list li{ display:flex; gap:.95rem; align-items:flex-start; }
.check-list .ck{ flex:none; width:26px; height:26px; margin-top:2px; border-radius:50%; background:var(--surface); border:1px solid var(--line-2); color:var(--ink); display:grid; place-items:center; }
.check-list .ck svg{ width:13px; height:13px; }
.check-list .hh{ margin-bottom:.15rem; }
.check-list p{ font-size:.93rem; }
.cred-cols{ margin-top:1.9rem; display:grid; grid-template-columns:1fr; gap:1.4rem; }
@media(min-width:640px){ .cred-cols{ grid-template-columns:1fr 1fr; } }
.cred{ border-top:1px solid var(--line); padding-top:1.05rem; }
.cred h3{ margin:0 0 .55rem; font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }
.cred ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.5rem; font-size:.95rem; }
.cred .cred-note{ margin:.35rem 0 .8rem; font-size:.82rem; line-height:1.5; color:var(--muted); }
.cred-span{ grid-column:1 / -1; }
.cred-span p{ font-size:.92rem; line-height:1.6; max-width:64ch; }
.aud-grid{ display:grid; grid-template-columns:1fr; gap:1rem; margin-top:2.4rem; }
@media(min-width:860px){ .aud-grid{ grid-template-columns:repeat(3,1fr); gap:1.2rem; } }
.aud{ background:var(--panel); border:1px solid var(--line-2); border-radius:var(--r); padding:1.7rem 1.6rem; }
.aud .who{ font-size:1.15rem; font-weight:600; color:var(--ink); line-height:1.3; }
.aud p{ margin-top:.7rem; font-size:.95rem; }

/* ---------- Practice standards band (services page) ---------- */
.std-band{ background:var(--panel); }
.std-label{ font-size:.72rem; font-weight:700; letter-spacing:.14em; line-height:1.4; text-transform:uppercase; color:var(--muted); margin:0; }
.std-note{ margin-top:.7rem; font-size:.95rem; line-height:1.6; color:var(--body); max-width:68ch; }
.std-set{ margin-top:clamp(2.2rem,4vw,3rem); }
.std-origin{ margin-top:clamp(2.2rem,4vw,3rem); background:var(--surface); border:1px solid var(--line-2); border-radius:var(--r); padding:clamp(1.5rem,3vw,2.2rem); max-width:70ch; }
.std-origin .stmt{ font-size:clamp(1.1rem,1.6vw,1.3rem); line-height:1.45; color:var(--ink); font-weight:500; letter-spacing:-0.01em; max-width:56ch; }
.std-origin p{ margin-top:.9rem; font-size:.95rem; line-height:1.65; color:var(--body); max-width:64ch; }
.std-origin .stmt + p{ margin-top:.9rem; }

/* ---------- Prose (privacy) ---------- */
.prose{ max-width:70ch; display:flex; flex-direction:column; gap:1.1rem; }
.prose h2{ font-size:1.45rem; margin-top:1.2rem; }

/* ---------- Forms: lead form and the native scheduler ---------- */
.lead-form{ background:var(--panel); border:1px solid var(--line-2); border-radius:var(--r); padding:clamp(1.5rem,3vw,2.2rem); scroll-margin-top:1rem; }
.lead-form .fields{ display:grid; grid-template-columns:1fr; gap:1.15rem; margin-top:1.4rem; }
@media(min-width:720px){ .lead-form .fields{ grid-template-columns:1fr 1fr; gap:1.15rem 1.4rem; } }
.field{ display:flex; flex-direction:column; gap:.4rem; }
.field.wide{ grid-column:1 / -1; }
.field label{ font-size:.78rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ink); }
.field .hint{ font-size:.82rem; color:var(--body); }
.field label .opt{ font-weight:400; text-transform:none; letter-spacing:0; color:var(--body); }
.field input, .field select{
  font-family:var(--sans); font-size:.98rem; color:var(--ink); background:var(--surface);
  border:1px solid var(--line-2); border-radius:var(--r); padding:.75rem .85rem; width:100%;
  transition:border-color .2s var(--ease);
}
.field select{ appearance:none; background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%); background-position:calc(100% - 20px) 55%, calc(100% - 15px) 55%; background-size:5px 5px, 5px 5px; background-repeat:no-repeat; padding-right:2.4rem; }
.field input:hover, .field select:hover{ border-color:var(--ink); }
.field input:focus-visible, .field select:focus-visible{ outline:2px solid var(--focus); outline-offset:2px; border-color:var(--focus); }
.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.form-actions{ margin-top:1.7rem; display:flex; flex-wrap:wrap; align-items:center; gap:1rem; }
.form-note{ margin-top:1.1rem; font-size:.86rem; color:var(--body); max-width:56ch; }
.form-status{ margin-top:1.1rem; font-size:.93rem; line-height:1.6; color:var(--body); }
.form-status:empty{ display:none; }
.form-status.error{ color:#8A2D2D; font-weight:600; }
.sched{ margin-top:2.4rem; }
.sched .topic{ margin:0 0 1.2rem; font-size:.95rem; color:var(--body); }
.sched .topic b{ color:var(--ink); }
.sched .step-label{ font-size:.78rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ink); margin:0 0 .7rem; }
.sched .days{ display:flex; gap:.6rem; overflow-x:auto; padding-bottom:.4rem; scrollbar-width:thin; }
.sched .day{ flex:0 0 auto; font-family:var(--sans); font-size:.9rem; font-weight:600; color:var(--ink); background:var(--surface); border:1px solid var(--line-2); border-radius:var(--r); padding:.6rem .95rem; cursor:pointer; transition:border-color .2s var(--ease), background .2s var(--ease); text-align:center; line-height:1.35; }
.sched .day small{ display:block; font-weight:400; color:var(--body); font-size:.78rem; }
.sched .day:hover{ border-color:var(--ink); }
.sched .day[aria-pressed="true"]{ background:var(--ink); color:var(--bg); border-color:var(--ink); }
.sched .day[aria-pressed="true"] small{ color:var(--bg); opacity:.8; }
.sched .times{ display:grid; grid-template-columns:repeat(auto-fill,minmax(108px,1fr)); gap:.6rem; margin-top:1.2rem; }
.sched .slot{ font-family:var(--sans); font-size:.92rem; font-weight:600; color:var(--ink); background:var(--surface); border:1px solid var(--line-2); border-radius:var(--r); padding:.65rem .4rem; cursor:pointer; transition:border-color .2s var(--ease), background .2s var(--ease); }
.sched .slot:hover{ border-color:var(--ink); }
.sched .slot[aria-pressed="true"]{ background:var(--ink); color:var(--bg); border-color:var(--ink); }
.sched .tz-note{ margin-top:.9rem; font-size:.82rem; color:var(--muted); }
.sched-details{ margin-top:1.9rem; padding-top:1.7rem; border-top:1px solid var(--line); }
.sched-picked{ font-size:1.1rem; font-weight:600; color:var(--ink); margin:0 0 .3rem; }
.sched-success{ text-align:center; padding:2.5rem 1rem; }
.sched-success h2{ font-size:1.55rem; margin-inline:auto; }
.sched-success p{ margin-top:.9rem; }

/* ============================================================
   Figures · static editorial data graphics (results page)
   Marks: ink = achieved result, teal = process direction,
   panel/line = neutral track. Text wears text tokens only.
   ============================================================ */
.fig{ margin:0; padding:1.7rem 0 1.35rem; border-block:1px solid var(--line-2); }
.fig .fig-kicker{ display:block; font-size:.68rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }
.fig .fig-title{ font-weight:600; font-size:clamp(1.15rem,1.5vw,1.3rem); line-height:1.3; color:var(--ink); letter-spacing:-0.01em; margin-top:.55rem; }
.fig figcaption{ margin-top:1.5rem; padding-top:.95rem; border-top:1px solid var(--line); font-size:.8rem; line-height:1.55; color:var(--body); font-weight:400; }
.case-head .eyebrow + h2, .case-head .label + h2{ margin-top:.9rem; }
.case-head h2{ max-width:24ch; }
.case-body{ display:grid; grid-template-columns:1fr; gap:2.2rem; margin-top:2rem; }
@media(min-width:960px){ .case-body{ grid-template-columns:5fr 7fr; gap:clamp(3.5rem,6vw,5.5rem); align-items:start; } .case-body .body-copy{ margin-top:0; } }
.meter{ margin-top:1.5rem; }
.meter:first-of-type{ margin-top:1.35rem; }
.meter .m-head{ display:flex; align-items:baseline; justify-content:space-between; gap:1rem; }
.meter .m-label{ font-size:.88rem; font-weight:600; color:var(--body); }
.meter .m-val{ font-size:1.42rem; font-weight:600; line-height:1; color:var(--ink); font-variant-numeric:tabular-nums; }
.meter .m-val .u{ font-size:.76rem; font-weight:600; color:var(--body); margin-left:.15rem; }
.meter .m-track{ margin-top:.7rem; height:4px; background:var(--line); position:relative; }
.meter .m-fill{ position:absolute; left:0; top:0; bottom:0; background:var(--ink); }
.meter .m-fill::after{ content:''; position:absolute; right:-4px; top:50%; margin-top:-4px; width:8px; height:8px; border-radius:50%; background:var(--ink); box-shadow:0 0 0 2px var(--bg); }
.scale5{ display:flex; gap:11px; margin-top:.7rem; align-items:center; }
.scale5 i{ width:12px; height:12px; border-radius:50%; background:var(--ink); }
.scale5 i.off{ background:transparent; border:1.5px solid var(--line-2); }
.ba{ margin-top:1.1rem; }
.ba .ba-heads{ display:grid; grid-template-columns:minmax(0,34fr) 36px minmax(0,44fr); gap:.8rem; padding-bottom:.6rem; border-bottom:1px solid var(--line-2); }
.ba .ba-h{ font-size:.66rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--body); }
.ba .ba-h.after{ color:var(--ink); }
.ba .ba-row{ display:grid; grid-template-columns:minmax(0,34fr) 36px minmax(0,44fr); gap:.8rem; padding-block:.95rem; border-bottom:1px solid var(--line); align-items:start; }
.ba .ba-row:last-child{ border-bottom:none; }
.ba .cell{ font-size:.88rem; line-height:1.5; }
.ba .cell.b{ color:var(--muted); }
.ba .cell.a{ color:var(--ink); font-weight:600; }
.ba .conn{ position:relative; height:1.3rem; align-self:start; }
.ba .conn i{ position:absolute; left:5px; right:6px; top:.62rem; height:1px; background:var(--line-2); }
.ba .conn::before{ content:''; position:absolute; left:-2px; top:calc(.62rem - 4px); width:8px; height:8px; border-radius:50%; border:1.5px solid var(--ink); background:transparent; box-sizing:border-box; }
.ba .conn::after{ content:''; position:absolute; right:-3px; top:calc(.62rem - 5px); width:10px; height:10px; border-radius:50%; background:var(--ink); }
@media(max-width:479px){
  .ba .ba-heads{ display:none; }
  .ba .ba-row{ grid-template-columns:1fr; gap:.45rem; }
  .ba .conn{ height:20px; width:1px; margin-left:4px; }
  .ba .conn i{ left:4px; right:auto; top:2px; bottom:2px; width:1px; height:auto; }
  .ba .conn::before{ left:1px; top:-4px; }
  .ba .conn::after{ left:0; right:auto; top:auto; bottom:-5px; }
}
.dots{ display:grid; grid-template-columns:repeat(7,11px); gap:5px; }
.dots i{ width:11px; height:11px; border-radius:50%; background:var(--ink); }
.flow{ margin-top:1.4rem; }
.flow .f-stage{ position:relative; padding-left:1.55rem; }
.flow .f-stage::before{ content:''; position:absolute; left:5px; top:5px; width:9px; height:9px; border-radius:50%; background:var(--bg); border:2px solid var(--teal); box-sizing:border-box; box-shadow:0 0 0 3px var(--bg); z-index:1; }
.flow .f-stage:last-child::before{ background:var(--teal); }
.flow .f-stage + .f-stage{ margin-top:1.5rem; }
.flow .f-stage:not(:last-child)::after{ content:''; position:absolute; left:9px; top:16px; bottom:calc(-1.5rem - 3px); width:1px; background:var(--teal); opacity:.4; }
.flow .f-k{ font-size:.66rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--body); }
.flow .f-body{ margin-top:.5rem; }
.flow .chips{ display:flex; flex-wrap:wrap; gap:.4rem; }
.flow .chip{ position:static; width:auto; height:auto; transform:none; box-shadow:none; background:none; color:var(--body); font-size:.78rem; font-weight:600; border:1px solid var(--line-2); border-radius:var(--r); padding:.26rem .7rem; display:inline-flex; }
.flow .f-hero{ display:flex; align-items:center; gap:1.1rem; flex-wrap:wrap; }
.flow .f-hero .n{ font-weight:600; font-size:3rem; line-height:1; color:var(--ink); letter-spacing:-0.03em; }
.flow .f-hero .k{ font-size:.85rem; color:var(--body); line-height:1.45; max-width:14ch; }
.flow .tiers4{ display:flex; gap:8px; align-items:center; max-width:280px; }
.flow .tiers4 i{ flex:1; height:4px; background:var(--ink); }
.flow .tiercap{ display:flex; justify-content:space-between; margin-top:.5rem; font-size:.74rem; font-weight:600; color:var(--body); max-width:280px; }
.flow .f-out{ font-size:.9rem; font-weight:600; color:var(--ink); line-height:1.5; max-width:32ch; }
.rec3{ display:grid; grid-template-columns:1fr; margin-top:1.35rem; }
.rec3 .r{ padding:1.05rem .2rem; border-top:1px solid var(--line); }
.rec3 .r:first-child{ border-top:none; padding-top:.4rem; }
.rec3 .n{ display:block; font-weight:600; font-size:clamp(1.8rem,2.5vw,2.3rem); line-height:1.05; color:var(--ink); letter-spacing:-0.02em; font-variant-numeric:tabular-nums; }
.rec3 .k{ display:block; margin-top:.4rem; font-size:.85rem; line-height:1.5; color:var(--body); }
/* Career record: dark band (results page) */
.svc.record-band{ background:var(--band); border-bottom:1px solid var(--band-line); color:var(--band-body); }
.record-band h2{ color:var(--band-ink); }
.record-band .lead{ color:var(--band-body); }
.record-band .small{ color:var(--band-muted); }
.rec-grid{ display:grid; grid-template-columns:repeat(2,1fr); margin-top:2.8rem; border-top:1px solid var(--band-line); }
@media(min-width:860px){ .rec-grid{ grid-template-columns:repeat(4,1fr); } }
.rec-item{ padding:2rem 1.6rem 2rem 0; border-bottom:1px solid var(--band-line); }
.rec-item .n{ font-weight:600; font-size:clamp(1.9rem,3vw,2.5rem); color:var(--band-ink); line-height:1; letter-spacing:-0.025em; font-variant-numeric:tabular-nums; }
.rec-item .k{ margin-top:.65rem; font-size:.85rem; color:var(--band-body); line-height:1.5; max-width:24ch; }
@media(min-width:860px){ .rec-item:nth-last-child(-n+4){ border-bottom:none; } }
@media(max-width:859px){ .rec-item:nth-last-child(-n+2){ border-bottom:none; } }

/* ---------- Reveal (subpages) ---------- */
.js .reveal{ opacity:0; transform:translateY(16px); transition:opacity .6s var(--ease), transform .6s var(--ease); }
.js .reveal.in{ opacity:1; transform:none; }
.reveal.d1{ transition-delay:.07s; } .reveal.d2{ transition-delay:.14s; } .reveal.d3{ transition-delay:.21s; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *, *::before, *::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; transition-delay:0s !important; }
  .js .reveal{ opacity:1; transform:none; }
}

/* ---------- Consent banner ---------- */
.consent{
  position:fixed; left:1rem; bottom:calc(1rem + env(safe-area-inset-bottom)); z-index:80; max-width:330px;
  background:var(--focal); color:var(--body); border:1px solid var(--line-2); border-radius:var(--r);
  box-shadow:var(--focal-shadow); padding:1rem 1.1rem;
}
.consent p{ margin:0 0 .75rem; font-size:.85rem; line-height:1.5; color:var(--body); }
.consent p a{ color:var(--ink); text-decoration:underline; text-underline-offset:2px; }
.consent-actions{ display:flex; gap:.55rem; }
.consent .btn{ padding:.55rem 1rem; font-size:.85rem; white-space:nowrap; }
@media(max-width:479px){ .consent{ left:.75rem; right:.75rem; max-width:none; } }
