/* education-s1.css — the Schools & education document's stylesheet (family/schools split, Part 3).
 * Cut from education-v11.css, byte for byte below this comment; that file is still loaded by main
 * runtimes v11 to v15 and is never edited. Loaded by blueprint-runtime-schools-s1.js, served no-cache
 * (netlify.toml). Once a Schools document on s1 reaches a customer this file is frozen with the
 * runtime; a change ships as education-s2.css with runtime s2.
 * Comment below is the original header. */
/* Moovedin — Schools & education chapter (T29), runtime v11.
 *
 * One namespaced sheet for #view-education.edu (markup:
 * netlify/functions/education-chapter-markup.js). Injected by the v11 runtime;
 * never added to the blueprint-template.js literal. Nothing here styles an
 * element outside .edu: no html, body, *, bare button or :root rule.
 *
 * Tokens: every colour and font is a --edu-* custom property on .edu, so the
 * design can be recoloured / retyped by token alone (wiring guide §2).
 * The VALUES are Moovedin's (T29 P5b): Blueprint type (Manrope display, IBM
 * Plex Mono eyebrows and labels, Inter body; the page's --disp / --mono /
 * --body tokens when it defines them) plus Source Serif 4 italic, self-hosted,
 * for consultant voice and the italic second line of display headings only;
 * and the Blueprint palette (navy #061528, accent #3D6FB4, cyan #6DB1FF on
 * dark, cream #EEF2F7, white paper, the priority pills). The reference
 * render's values (P5a: Georgia / Inter, its own navy) are kept in
 * internal/tools/fixtures/education-ref-tokens.css for the parity test.
 * The --edu-tone-NN / glass / shade / veil tokens are the rest of the palette,
 * one per colour cluster, named by luminance.
 *
 * Breakpoints are CONTAINER queries on .edu (the chapter sits in a pane, not
 * the full viewport). Reference viewports 1480 / 1180 / 920 / 390 give the
 * chapter 1212 / 912 / 880 / 362 px; the thresholds below sit between them:
 *   < 1000px  child hero and the four search steps stack (WG §4 "below 1180")
 *   <  900px  hero chips 2 x 2, priority columns stack, narrow rail (WG §4 "below 900")
 *   <  600px  phone: rail scrolls across the top, single columns, consultant
 *             block photo above text
 *
 * Route state: the runtime (P6) puts .edu-on on the active page, child plan,
 * section, tab, rail button and switch; only .edu-on pages / plans / sections show.
 */

/* Source Serif 4 italic (Adobe, SIL OFL 1.1: /fonts/SourceSerif4-OFL.md), the voice face. */
@font-face {
  font-family: 'Source Serif 4';
  src: url('/fonts/SourceSerif4-Italic-variable.woff2') format('woff2');
  font-style: italic;
  font-weight: 200 900;
  font-display: swap;
}

.edu {
  /* type */
  --edu-f-body: var(--body, 'Inter'), ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
  --edu-f-head: var(--disp, 'Manrope'), ui-sans-serif, system-ui, sans-serif;
  --edu-f-head-serif: var(--disp, 'Manrope'), ui-sans-serif, system-ui, sans-serif;
  --edu-f-voice: 'Source Serif 4', ui-serif, serif;
  --edu-f-eyebrow: var(--mono, 'IBM Plex Mono'), ui-monospace, monospace;
  --edu-f-num: var(--mono, 'IBM Plex Mono'), ui-monospace, monospace;
  /* dark surfaces */
  --edu-hero-1: #061528; --edu-hero-2: #0E2740; --edu-hero-3: #173554;
  --edu-board-1: #061528; --edu-board-2: #0E2740; --edu-board-3: #173554;
  --edu-band-1: #0E2740; --edu-band-2: #173554;
  --edu-switch-bg: #0E2740;
  --edu-on-dark: #FFFFFF; --edu-on-dark-2: #EEF2F7; --edu-on-dark-3: #B9C8DA; --edu-on-dark-4: #93A7BC;
  --edu-on-dark-accent: #6DB1FF; --edu-on-dark-accent-2: #6DB1FF; --edu-on-dark-eyebrow: #9CC9FF;
  --edu-on-dark-line: rgba(109, 177, 255, 0.28);
  /* light surfaces */
  --edu-paper: #FFFFFF; --edu-paper-2: #F7F9FC; --edu-paper-3: #F7F9FC; --edu-tint: #EEF2F7; --edu-tint-2: #EEF2F7; --edu-chip: #EEF2F7;
  --edu-ink: #0E2238; --edu-ink-2: #0E2740; --edu-ink-3: #0E2740; --edu-ink-4: #1E3550;
  --edu-text: #3E5469; --edu-text-2: #4B6075; --edu-muted: #5B7186; --edu-muted-2: #5B7186; --edu-muted-3: #687D92;
  --edu-line: #C7D4E2; --edu-line-2: #D5DFEA; --edu-line-3: #E1E8F0; --edu-line-4: #EDF1F6;
  --edu-accent: #3D6FB4; --edu-accent-2: #2F5E9E; --edu-accent-3: #3D6FB4; --edu-accent-dark: #0E2740;
  --edu-grid: rgba(61, 111, 180, 0.035);
  --edu-ring-on: #6DB1FF;
  /* priority levels (Low < Medium < High < Very High), and the alert kinds */
  --edu-low: #1A7F4B; --edu-low-bg: #E7F4EE; --edu-low-line: #A9DDC1;
  --edu-medium: #85560E; --edu-medium-bg: #FBF3E4; --edu-medium-line: #EFCFA6;
  --edu-high: #B0441A; --edu-high-bg: #FBEDE6; --edu-high-line: #EBC0AD;
  --edu-vhigh: #FFFFFF; --edu-vhigh-bg: #B4282E; --edu-vhigh-line: #B4282E;
  --edu-on-dark-medium: #F5C76A; --edu-on-dark-high: #FF9C8A;
  --edu-important: #85560E; --edu-note: #3D6FB4; --edu-good: #1E7A5A;

  /* the rest of the palette: one token per colour cluster, named by luminance
     (tone-NN opaque, glass-AA white at AA% alpha, shade-/veil- other alphas) */
  --edu-glass-04: rgba(255, 255, 255, 0.043);
  --edu-shade-10-06: rgba(6, 21, 40, 0.055);
  --edu-shade-18-06: rgba(6, 21, 40, 0.055);
  --edu-glass-08: rgba(255, 255, 255, 0.08);
  --edu-shade-29-09: rgba(6, 21, 40, 0.09);
  --edu-veil-67-10: rgba(109, 177, 255, 0.1);
  --edu-glass-10: rgba(255, 255, 255, 0.1);
  --edu-shade-10-12: rgba(6, 21, 40, 0.12);
  --edu-veil-61-13: rgba(109, 177, 255, 0.13);
  --edu-veil-81-13: rgba(109, 177, 255, 0.13);
  --edu-shade-10-14: rgba(6, 21, 40, 0.14);
  --edu-veil-83-14: rgba(109, 177, 255, 0.14);
  --edu-glass-14: rgba(255, 255, 255, 0.14);
  --edu-shade-7-18: rgba(6, 21, 40, 0.18);
  --edu-shade-21-18: rgba(6, 21, 40, 0.18);
  --edu-veil-83-18: rgba(109, 177, 255, 0.18);
  --edu-glass-18: rgba(255, 255, 255, 0.18);
  --edu-shade-7-22: rgba(6, 21, 40, 0.22);
  --edu-glass-22: rgba(255, 255, 255, 0.22);
  --edu-veil-53-24: rgba(109, 177, 255, 0.24);
  --edu-veil-69-24: rgba(109, 177, 255, 0.24);
  --edu-glass-25: rgba(255, 255, 255, 0.25);
  --edu-veil-83-35: rgba(109, 177, 255, 0.35);
  --edu-glass-42: rgba(255, 255, 255, 0.42);
  --edu-veil-45-45: rgba(199, 212, 226, 0.45);
  --edu-glass-86: rgba(255, 255, 255, 0.86);
  --edu-veil-98-96: rgba(247, 249, 252, 0.96);
  --edu-tone-15: #0C213A;
  --edu-tone-20: #0E2847;
  --edu-tone-21: #0F2B4C;
  --edu-tone-22: #112E52;
  --edu-tone-26: #223E64;
  --edu-tone-28: #25436C;
  --edu-tone-28-2: #274672;
  --edu-tone-32: #445364;
  --edu-tone-35: #2F558B;
  --edu-tone-37: #335B94;
  --edu-tone-38: #506175;
  --edu-tone-41: #55687D;
  --edu-tone-41-2: #3966A6;
  --edu-tone-43: #3A68A9;
  --edu-tone-45: #3C6CAF;
  --edu-tone-48: #647992;
  --edu-tone-50: #487AC1;
  --edu-tone-51: #6D839C;
  --edu-tone-52: #6E849D;
  --edu-tone-53: #2185FF;
  --edu-tone-54: #7288A2;
  --edu-tone-56: #798EA7;
  --edu-tone-61: #899EB5;
  --edu-tone-64: #4C9DFF;
  --edu-tone-67: #67ABFF;
  --edu-tone-68: #69ADFF;
  --edu-tone-70: #A2B3C7;
  --edu-tone-71: #79B5FF;
  --edu-tone-75: #8ABFFF;
  --edu-tone-76: #B3C2D3;
  --edu-tone-80: #C0CDDC;
  --edu-tone-82: #A8CFFF;
  --edu-tone-84: #CCD7E3;
  --edu-tone-87: #D4DDE8;
  --edu-tone-91: #E2E9F0;
  --edu-tone-92: #E6ECF2;
  --edu-tone-97: #F6F8FA;

  container-type: inline-size;
  container-name: edu;
  display: block;
  font-family: var(--edu-f-body);
  font-size: 14px;
  line-height: 1.55;
  letter-spacing: -0.005em;
  color: var(--edu-ink);
  -webkit-font-smoothing: antialiased;
  /* never fake a weight or an italic a loaded face does not have */
  font-synthesis: none;
}
.edu *, .edu *::before, .edu *::after { box-sizing: border-box; }
/* resets carry zero specificity (:where) so every edu-* class rule wins over them */
:where(.edu) :where(h1, h2, h3, h4, p, ul, dl, dd, blockquote, pre) { margin: 0; }
:where(.edu) :where(ul) { padding: 0; list-style: none; }
:where(.edu) :where(button) { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; text-align: inherit; }
:where(.edu) :where(a) { color: inherit; }
:where(.edu) :where(img) { display: block; max-width: 100%; }
:where(.edu) :where(h1, h2, h3, h4) { font-family: var(--edu-f-head); }
.edu :focus-visible { outline: 2px solid var(--edu-accent); outline-offset: 2px; }

/* ── route state ─────────────────────────────────────────────────────────── */
.edu [data-edu-page] { display: none; }
.edu [data-edu-page].edu-on { display: block; }
.edu .edu-child { display: none; }
.edu .edu-child.edu-on { display: block; }
.edu .edu-sec { display: none; }
.edu .edu-sec.edu-on { display: block; }

/* ── shared pieces ───────────────────────────────────────────────────────── */
.edu-eyebrow { display: inline-block; font-family: var(--edu-f-eyebrow); font-size: 10px; font-weight: 820; line-height: 1.2; letter-spacing: 0.12em; text-transform: uppercase; color: var(--edu-accent-3); }
.edu-voice { font-family: var(--edu-f-voice); font-style: italic; font-weight: 400; }
.edu-photo { width: 118px; height: 118px; flex: 0 0 118px; border-radius: 50%; }
.edu-photo img { width: 118px; height: 118px; border-radius: 50%; object-fit: cover; object-position: 50% 30%; border: 2px solid var(--edu-veil-83-35); box-shadow: none; }
.edu-band-low { color: var(--edu-low); }
.edu-band-medium { color: var(--edu-medium); }
.edu-band-high { color: var(--edu-high); }
.edu-band-vhigh { color: var(--edu-high); }
.edu-rows { display: grid; gap: 0; margin-top: 8px; }
.edu-rows > div { display: grid; grid-template-columns: minmax(150px, 220px) minmax(0, 1fr); gap: 14px; padding: 9px 0; border-top: 1px solid var(--edu-line-4); }
.edu-rows dt { font-size: 10px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: var(--edu-muted-2); font-family: var(--edu-f-eyebrow); }
.edu-rows dd { font-size: 13.5px; line-height: 1.6; color: var(--edu-text); }
.edu-list { display: grid; gap: 0; margin: 8px 0 12px; }
.edu-list li { position: relative; padding: 10px 0 10px 24px; border-bottom: 1px solid var(--edu-line-4); font-size: 13.5px; line-height: 1.55; color: var(--edu-tone-38); }
.edu-list li::before { content: ""; position: absolute; left: 4px; top: 18px; width: 7px; height: 7px; border-radius: 50%; background: var(--edu-accent); opacity: 0.55; }
.edu-static { margin-top: 14px; }
.edu-static-h { font-size: 15px; font-weight: 700; line-height: 1.35; color: var(--edu-tone-26); margin-bottom: 6px; }
.edu-static p, .edu-detail-body p { margin-bottom: 11px; font-size: 14px; line-height: 1.68; color: var(--edu-tone-38); }
.edu-detail-body .edu-docs-note { font-size: 13px; color: var(--edu-muted-2); }
.edu-static h4 { margin: 18px 0 7px; font-size: 15px; font-weight: 700; color: var(--edu-tone-26); }

/* ── top tabs ────────────────────────────────────────────────────────────── */
.edu-tabs { display: flex; margin-bottom: 18px; border-bottom: 1px solid var(--edu-line); }
.edu-tab { display: block; padding: 10px 18px 12px; border-bottom: 3px solid transparent; border-radius: 3px; color: var(--edu-muted); }
.edu-tab small { display: block; margin-bottom: 2px; font-family: var(--edu-f-eyebrow); font-size: 8px; font-weight: 900; line-height: 1.55; letter-spacing: 0.14em; text-transform: uppercase; color: var(--edu-accent); }
.edu-tab b { font-size: 13px; font-weight: 700; color: var(--edu-tone-32); }
.edu-tab.edu-on { background: var(--edu-glass-42); border-bottom-color: var(--edu-accent); }
.edu-tab.edu-on b { color: var(--edu-ink); }

/* ── family overview (F1) ────────────────────────────────────────────────── */
.edu-board { position: relative; padding: 28px; border: 1px solid var(--edu-veil-69-24); border-radius: 22px; overflow: hidden; color: var(--edu-on-dark-2);
  background: linear-gradient(145deg, var(--edu-board-1) 0, var(--edu-board-2) 58%, var(--edu-board-3) 100%); box-shadow: 0 18px 44px var(--edu-shade-10-14); }
.edu-title { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 22px; align-items: start; }
.edu-eyebrow-family { margin-bottom: 14px; font-size: 10px; font-weight: 900; line-height: 1; letter-spacing: 0.18em; color: var(--edu-on-dark-eyebrow); }
.edu-title h1, .edu-hero h1, .edu-timeline-intro h1 { text-wrap: balance; }
.edu-title h1 { margin-bottom: 12px; font-family: var(--edu-f-head); font-size: 68px; font-weight: 700; line-height: 0.95; letter-spacing: -0.052em; color: var(--edu-on-dark); }
.edu-title h1 em, .edu-hero h1 em, .edu-timeline-intro h1 em { font-family: var(--edu-f-voice); font-style: italic; font-weight: 400; }
.edu-title h1 em { color: var(--edu-on-dark-accent); }
.edu-welcome { max-width: 760px; font-size: 15px; line-height: 1.7; color: var(--edu-on-dark-3); }
.edu-title-block { display: grid; gap: 10px; background: var(--edu-shade-7-22); border: 1px solid var(--edu-on-dark-line); border-radius: 2px; overflow: hidden; }
.edu-tb-row { display: grid; grid-template-columns: 98px minmax(0, 1fr); gap: 8px; padding: 10px 13px; border-bottom: 1px solid var(--edu-veil-81-13); font-size: 12px; line-height: 1.55; }
.edu-tb-row span { font-family: var(--edu-f-eyebrow); font-size: 9px; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; color: var(--edu-on-dark-4); }
.edu-tb-row b { font-weight: 650; color: var(--edu-tone-97); }
.edu-signed { position: relative; display: flex; gap: 20px; align-items: flex-start; margin: 14px 0 22px; padding: 20px 24px; background: var(--edu-glass-04); border: 1px solid var(--edu-veil-83-18); border-radius: 18px; }
.edu-signed .edu-eyebrow { font-weight: 900; letter-spacing: 0.13em; color: var(--edu-tone-68); }
.edu-signed .edu-voice { margin-top: 10px; max-width: 980px; font-size: 13.5px; line-height: 1.75; color: var(--edu-tone-87); }
.edu-signoff { display: flex; gap: 14px; align-items: center; margin-top: 14px; padding-top: 12px; border-top: 1px dashed var(--edu-glass-22); }
.edu-signature { width: 178px; height: auto; }
.edu-signoff small { font-size: 10.5px; font-weight: 750; letter-spacing: 0.04em; text-transform: uppercase; color: var(--edu-tone-70); }
.edu-overview-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; align-items: stretch; margin-top: 18px; }
/* a two-column block whose other side (a voice slot) has no content: the side that is there spans the full width */
.edu-overview-grid > :only-child, .edu-alert-grid > :only-child, .edu-knowdo > :only-child { grid-column: 1 / -1; }
.edu-knowdo > :only-child { padding-right: 0; }
.edu-summary:only-child .edu-cards { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); column-gap: 36px; }
.edu-summary:only-child .edu-card { border-top: 1px solid var(--edu-veil-83-14); }
.edu-summary, .edu-priorities { padding: 20px; background: var(--edu-glass-04); border: 1px solid var(--edu-veil-83-14); border-radius: 16px; }
.edu-panel-label { display: inline-block; margin-bottom: 8px; font-family: var(--edu-f-eyebrow); font-size: 10px; font-weight: 850; letter-spacing: 0.13em; text-transform: uppercase; color: var(--edu-tone-75); }
.edu-panel-title { margin-bottom: 10px; font-family: var(--edu-f-head-serif); font-size: 25px; font-weight: 700; line-height: 1.14; color: var(--edu-on-dark); }
/* STATIC-050 helper lines (P9d-2): engine text in each panel and section slot */
.edu-panel-copy { margin: -2px 0 14px; font-size: 13px; line-height: 1.6; color: var(--edu-on-dark-3); }
.edu-cards { display: grid; margin-top: 2px; }
.edu-card { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 118px; grid-template-areas: "head ring" "badges ring" "fh ring" "focus ring" "action action"; column-gap: 18px; align-items: center; min-height: 350px; padding: 10px 0 18px; overflow: hidden; }
.edu-card + .edu-card { border-top: 1px solid var(--edu-veil-83-14); }
.edu-card-head { grid-area: head; }
.edu-kicker { display: block; margin-bottom: 3px; font-family: var(--edu-f-eyebrow); font-size: 9px; font-weight: 850; line-height: 1.2; letter-spacing: 0.14em; text-transform: uppercase; color: var(--edu-tone-64); }
.edu-card h3 { margin-bottom: 3px; font-family: var(--edu-f-head); font-size: 24px; font-weight: 700; line-height: 1.55; letter-spacing: -0.03em; color: var(--edu-on-dark); }
.edu-card-head p { font-size: 12px; line-height: 1.55; color: var(--edu-tone-80); }
.edu-badges { grid-area: badges; display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 11px; }
.edu-badges span { padding: 5px 9px; font-size: 11px; line-height: 1.55; color: var(--edu-tone-87); background: var(--edu-glass-04); border: 1px solid var(--edu-glass-10); border-radius: 2px; }
.edu-badges .edu-band-medium { color: var(--edu-on-dark-medium); }
.edu-badges .edu-band-high, .edu-badges .edu-band-vhigh { color: var(--edu-on-dark-high); }
.edu-card-focus-h { grid-area: fh; margin-bottom: 4px; font-size: 13px; font-weight: 700; color: var(--edu-on-dark); }
.edu-card-focus { grid-area: focus; min-height: 58px; font-size: 12.5px; line-height: 1.6; color: var(--edu-tone-84); }
.edu-card .edu-ring { grid-area: ring; }
.edu-card-action { grid-area: action; text-align: center; margin-top: 18px; }
.edu-card-action .edu-go { display: inline-block; max-width: 220px; padding: 9px 12px; font-size: 12px; font-weight: 800; color: var(--edu-tone-97); border-radius: 9px; background: var(--edu-glass-08); border: 1px solid var(--edu-glass-14); }
.edu-ring { position: relative; display: grid; place-items: center; width: 104px; height: 104px; border-radius: 50%; text-align: center; color: var(--edu-on-dark-2);
  background: conic-gradient(var(--edu-ring-on) calc(var(--edu-p, 0) * 1%), var(--edu-glass-14) 0); box-shadow: 0 0 0 1px var(--edu-glass-08), 0 12px 26px var(--edu-shade-7-18); }
.edu-ring::before { content: ""; position: absolute; inset: 9px; border-radius: 50%; background: var(--edu-board-2); }
.edu-ring > div { position: relative; }
.edu-ring strong { display: block; font-family: var(--edu-f-head); font-size: 28px; font-weight: 700; line-height: 0.95; letter-spacing: -0.045em; color: var(--edu-on-dark); }
.edu-ring small { display: block; margin-top: 2px; white-space: nowrap; font-size: 11px; line-height: 1.05; color: var(--edu-tone-76); }
.edu-ring-label { display: block; margin-top: 7px; font-family: var(--edu-f-eyebrow); font-size: 8px; font-weight: 900; line-height: 1.05; letter-spacing: 0.17em; color: var(--edu-tone-84); }
.edu-priorities .edu-panel-title { margin-bottom: 7px; }
.edu-priority-child { margin-top: 4px; padding: 17px 0 15px; border-top: 1px solid var(--edu-veil-83-14); }
.edu-priority-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.edu-priority-head h3 { font-family: var(--edu-f-head-serif); font-size: 19px; font-weight: 650; line-height: 1.2; color: var(--edu-on-dark); }
.edu-priority-head span { font-size: 10px; color: var(--edu-tone-70); }
.edu-priority-list { display: grid; gap: 8px; margin-top: 10px; }
.edu-priority-list li { display: grid; grid-template-columns: 16px minmax(0, 1fr); gap: 8px; align-items: start; }
.edu-priority-list li span { width: 7px; height: 7px; margin-top: 7px; border-radius: 50%; background: var(--edu-tone-67); box-shadow: 0 0 0 3px var(--edu-veil-67-10); }
.edu-priority-list li p { font-size: 12.2px; line-height: 1.55; color: var(--edu-tone-84); }
.edu-priority-extra { margin-top: 10px; padding-left: 10px; border-left: 3px solid var(--edu-tone-67); font-size: 12px; line-height: 1.55; color: var(--edu-tone-84); }
.edu-priority-child .edu-go { margin-top: 12px; padding: 4px 0; font-size: 10.5px; font-weight: 800; color: var(--edu-tone-75); }

/* ── move timeline (F2) ──────────────────────────────────────────────────── */
.edu-timeline-shell { padding-bottom: 34px; }
.edu-timeline-intro { position: relative; padding: 34px 38px 31px; color: var(--edu-on-dark); border-radius: 4px 24px 24px 4px; overflow: hidden;
  background: linear-gradient(145deg, var(--edu-tone-15), var(--edu-tone-22)); box-shadow: 0 14px 38px var(--edu-shade-10-12); }
.edu-timeline-intro .edu-eyebrow { font-size: 9.5px; font-weight: 900; letter-spacing: 0.18em; text-transform: none; color: var(--edu-tone-75); }
.edu-timeline-intro h1 { margin: 10px 0 15px; font-family: var(--edu-f-head-serif); font-size: 68px; font-weight: 700; line-height: 0.98; letter-spacing: -0.045em; color: var(--edu-on-dark); }
.edu-timeline-intro h1 em { color: var(--edu-tone-71); }
.edu-timeline-intro p { max-width: 720px; font-size: 14px; line-height: 1.7; color: var(--edu-tone-84); }
.edu-timeline-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 22px; }
.edu-timeline-actions .edu-go { padding: 10px 13px; font-size: 11px; font-weight: 800; color: var(--edu-on-dark); background: var(--edu-glass-08); border: 1px solid var(--edu-glass-14); border-radius: 3px; }
.edu-timeline-board { margin-top: 22px; padding: 26px 28px 30px; background: var(--edu-tone-97); border: 1px solid var(--edu-tone-84); border-radius: 18px; box-shadow: 0 12px 28px var(--edu-shade-10-06); }
.edu-timeline-head { display: flex; justify-content: space-between; align-items: baseline; gap: 18px; padding-bottom: 16px; border-bottom: 1px solid var(--edu-tone-87); }
.edu-timeline-head b { font-family: var(--edu-f-head-serif); font-size: 22px; font-weight: 600; line-height: 1.2; color: var(--edu-ink-2); }
.edu-timeline-head span { font-size: 10.5px; color: var(--edu-tone-52); }
.edu-stages { display: grid; }
.edu-stage { display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 18px; padding: 24px 0; border-bottom: 1px solid var(--edu-tone-87); }
.edu-stage-num { padding-top: 5px; font-family: var(--edu-f-num); font-size: 13px; font-weight: 700; line-height: 1.2; color: var(--edu-tone-51); }
.edu-stage-body h2 { margin-bottom: 4px; font-family: var(--edu-f-head-serif); font-size: 24px; font-weight: 600; line-height: 1.15; letter-spacing: -0.02em; color: var(--edu-ink-2); }
.edu-stage-sub { margin-bottom: 15px; font-size: 12.5px; line-height: 1.55; color: var(--edu-tone-48); }
.edu-stage-row { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 12px; padding: 9px 0; border-top: 1px solid var(--edu-tone-92); }
.edu-stage-row b { font-family: var(--edu-f-eyebrow); font-size: 10px; font-weight: 700; line-height: 1.55; letter-spacing: 0.07em; text-transform: uppercase; color: var(--edu-tone-43); }
.edu-stage-row p { font-size: 12.5px; line-height: 1.55; color: var(--edu-tone-41); }
.edu-timeline-foot { margin-top: 12px; padding: 14px 16px; font-size: 12px; line-height: 1.55; color: var(--edu-tone-41); background: var(--edu-tone-92); border-left: 3px solid var(--edu-tone-53); }

/* ── child plans: switcher, workspace, rail ──────────────────────────────── */
.edu-switcher { position: sticky; top: 0; z-index: 2; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); margin-bottom: 18px;
  background: var(--edu-switch-bg); border-radius: 9px; box-shadow: 0 7px 20px var(--edu-shade-10-12); overflow: hidden; }
.edu-switch { display: flex; gap: 9px; align-items: center; min-height: 48px; padding: 10px 18px; color: var(--edu-tone-87); border-radius: 3px; }
.edu-switch b { font-size: 14px; font-weight: 750; line-height: 1.2; color: var(--edu-on-dark); }
.edu-switch span { font-size: 10.5px; line-height: 1.55; color: var(--edu-tone-70); }
.edu-switch.edu-on, .edu-switch[aria-pressed="true"] { background: var(--edu-veil-61-13); box-shadow: inset 0 -3px 0 var(--edu-tone-67); }
.edu-workspace { display: grid; grid-template-columns: 218px minmax(0, 1fr); gap: 20px; align-items: start; }
.edu-rail { position: sticky; top: 66px; padding: 8px 12px 8px 0; border-right: 1px solid var(--edu-tone-87); }
.edu-rail-head { padding: 4px 12px 10px; }
.edu-rail-head b { font-size: 16px; font-weight: 650; color: var(--edu-tone-26); }
.edu-rail button { display: grid; grid-template-columns: 24px minmax(0, 1fr); column-gap: 9px; align-items: start; width: 100%; min-height: 58px; padding: 10px 10px 10px 9px; color: var(--edu-tone-41); border-left: 2px solid transparent; border-radius: 3px; }
.edu-rail button span { padding-top: 3px; font-family: var(--edu-f-num); font-size: 8px; font-weight: 800; line-height: 1.2; color: var(--edu-tone-61); }
.edu-rail button b { font-size: 11.5px; font-weight: 650; line-height: 1.25; color: var(--edu-tone-20); }
.edu-rail button.edu-on { background: var(--edu-chip); border-left-color: var(--edu-accent); }
.edu-pane { min-width: 0; }

/* ── child overview zone ─────────────────────────────────────────────────── */
.edu-zone { position: relative; padding: 0 18px 18px; background: var(--edu-paper-2); border-radius: 20px; overflow: hidden; box-shadow: 0 12px 30px var(--edu-shade-10-06); }
.edu-zone-head { display: flex; align-items: center; gap: 12px; min-height: 58px; padding: 14px 28px 12px;
  background: linear-gradient(105deg, var(--edu-hero-1) 0, var(--edu-hero-2) 62%, var(--edu-hero-3) 100%); }
.edu-zone-head b { font-family: var(--edu-f-eyebrow); font-size: 10px; font-weight: 700; letter-spacing: 0.13em; text-transform: uppercase; color: var(--edu-tone-76); }
.edu-zone-head p { margin-top: 4px; font-size: 12.5px; line-height: 1.5; color: var(--edu-on-dark-3); }
.edu-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 22px 28px; margin-top: -1px; padding: 10px 28px 22px; color: var(--edu-on-dark);
  background: linear-gradient(105deg, var(--edu-hero-1) 0, var(--edu-hero-2) 62%, var(--edu-hero-3) 100%); }
.edu-hero .edu-eyebrow { font-weight: 850; color: var(--edu-tone-68); }
.edu-hero h1 { margin: 14px 0 18px; max-width: 780px; font-family: var(--edu-f-head); font-size: 56px; font-weight: 760; line-height: 1.02; letter-spacing: -0.052em; color: var(--edu-on-dark); }
.edu-hero h1 em { color: var(--edu-on-dark-accent-2); letter-spacing: -0.04em; }
.edu-hero > div > p { max-width: 690px; font-size: 15px; line-height: 1.65; color: var(--edu-tone-84); }
.edu-child-card { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 112px; gap: 14px; align-items: center; padding: 5px 0 5px 22px; border-left: 1px solid var(--edu-glass-18); }
.edu-child-card b { display: block; font-size: 18px; font-weight: 700; line-height: 1.55; }
.edu-child-card span, .edu-child-card small { display: block; margin-top: 2px; font-size: 12px; line-height: 1.45; color: var(--edu-tone-84); }
.edu-child-card .edu-ring { width: 104px; height: 104px; }
.edu-child-card .edu-ring::before { background: var(--edu-hero-2); }
.edu-stats { grid-column: 1 / -1; position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 2px; background: var(--edu-glass-04); border: 1px solid var(--edu-glass-14); border-radius: 12px; }
.edu-stats article { padding: 14px 16px; border-radius: 11px; }
.edu-stats span { display: block; min-height: 28px; font-family: var(--edu-f-eyebrow); font-size: 9px; font-weight: 760; line-height: 1.35; letter-spacing: 0.075em; color: var(--edu-tone-68); }
.edu-stats b { display: block; margin: 6px 0 2px; font-family: var(--edu-f-head); font-size: 18px; font-weight: 740; line-height: 1.2; color: var(--edu-on-dark); }
.edu-stats small { font-size: 11px; line-height: 1.35; color: var(--edu-tone-80); }
.edu-consultant { position: relative; display: grid; grid-template-columns: 118px minmax(0, 1fr); gap: 20px; align-items: start; padding: 25px 28px 26px; background: var(--edu-paper); border-top: 1px solid var(--edu-tone-87); border-bottom: 1px solid var(--edu-tone-87); }
.edu-consultant .edu-eyebrow { color: var(--edu-tone-45); }
.edu-consultant blockquote { margin: 7px 0 8px; max-width: 900px; font-size: 18px; line-height: 1.65; color: var(--edu-ink-4); }
.edu-consultant small { font-family: var(--edu-f-eyebrow); font-size: 9.5px; font-weight: 750; letter-spacing: 0.08em; text-transform: uppercase; color: var(--edu-tone-52); }
.edu-risk { position: relative; padding: 26px 28px 29px; background: var(--edu-tone-97); overflow: hidden; }
.edu-risk-head { display: grid; grid-template-columns: 45px minmax(0, 1fr) auto; gap: 18px; align-items: start; }
.edu-risk-icon { display: grid; place-items: center; width: 45px; height: 45px; border-radius: 50%; background: var(--edu-tone-91); color: var(--edu-tone-35); }
.edu-risk-icon svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.edu-risk-head h2 { margin: 4px 0 7px; max-width: 820px; font-family: var(--edu-f-head); font-size: 28px; font-weight: 700; line-height: 1.15; letter-spacing: -0.035em; color: var(--edu-ink-2); }
.edu-risk-head p { max-width: 720px; font-size: 12.5px; line-height: 1.65; color: var(--edu-tone-48); }
.edu-risk-badge { flex: none; padding: 8px 12px; font-family: var(--edu-f-eyebrow); font-size: 10px; font-weight: 900; letter-spacing: 0.1em; text-transform: uppercase; text-align: center; border: 1px solid; border-radius: 3px; }
.edu-risk-badge.edu-band-low { color: var(--edu-low); background: var(--edu-low-bg); border-color: var(--edu-low-line); }
.edu-risk-badge.edu-band-medium { color: var(--edu-medium); background: var(--edu-medium-bg); border-color: var(--edu-medium-line); }
.edu-risk-badge.edu-band-high { color: var(--edu-high); background: var(--edu-high-bg); border-color: var(--edu-high-line); }
.edu-risk-badge.edu-band-vhigh { color: var(--edu-vhigh); background: var(--edu-vhigh-bg); border-color: var(--edu-vhigh-line); }
.edu-risk-cols { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 22px; background: var(--edu-paper); border: 1px solid var(--edu-tone-87); border-radius: 12px; overflow: hidden; }
.edu-risk-col { padding: 17px 18px; background: var(--edu-paper); }
.edu-risk-col + .edu-risk-col { border-left: 1px solid var(--edu-tone-92); }
.edu-risk-col-title { display: flex; align-items: center; gap: 8px; }
.edu-risk-col-title i { width: 9px; height: 9px; border-radius: 50%; background: var(--edu-muted-3); }
.edu-risk-active .edu-risk-col-title i { background: var(--edu-high); }
.edu-risk-review .edu-risk-col-title i { background: var(--edu-important); }
.edu-risk-favour .edu-risk-col-title i { background: var(--edu-good); }
.edu-risk-col-title span { font-size: 11px; font-weight: 800; color: var(--edu-tone-32); }
.edu-risk-items { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.edu-risk-items span { padding: 5px 8px; font-size: 10.5px; line-height: 1.55; border-radius: 999px; color: var(--edu-ink-2); background: var(--edu-chip); }
.edu-risk-active .edu-risk-items span { color: var(--edu-high); background: var(--edu-high-bg); }
.edu-risk-col small { display: block; margin-top: 10px; font-size: 11px; line-height: 1.5; color: var(--edu-muted-2); }
.edu-risk-review .edu-risk-items span { color: var(--edu-medium); background: var(--edu-medium-bg); }
.edu-risk-favour .edu-risk-items span { color: var(--edu-low); background: var(--edu-low-bg); }
.edu-risk-scope { position: relative; display: grid; grid-template-columns: max-content minmax(0, 1fr) max-content minmax(0, 1fr); gap: 8px 10px; align-items: start; margin-top: 17px; padding-top: 15px; border-top: 1px solid var(--edu-tone-84); font-size: 10.5px; line-height: 1.55; color: var(--edu-tone-48); }
.edu-risk-scope b { font-weight: 740; color: var(--edu-accent-2); }

/* ── plan sections (01-04) ───────────────────────────────────────────────── */
/* each sits in the same light zone as the child overview, the card inside it */
.edu-sec-joining, .edu-sec-finding, .edu-sec-action, .edu-sec-milestones { padding: 0 18px 20px; background: var(--edu-paper-2); border-radius: 20px; box-shadow: 0 12px 30px var(--edu-shade-10-06); }
.edu-sec-card { position: relative; background: var(--edu-paper); border: 1px solid var(--edu-tone-87); border-top-color: var(--edu-band-2); border-radius: 14px; overflow: hidden; box-shadow: 0 8px 24px var(--edu-shade-10-06); }
.edu-sec-head { position: relative; display: flex; align-items: center; gap: 16px; min-height: 78px; padding: 16px 20px; background: linear-gradient(145deg, var(--edu-band-1), var(--edu-band-2)); }
.edu-sec-head h2 { font-family: var(--edu-f-head-serif); font-size: 23px; font-weight: 500; line-height: 1.08; letter-spacing: -0.03em; color: var(--edu-on-dark); }
.edu-sec-body { position: relative; padding: 24px 26px 28px; font-size: 14px; line-height: 1.68; background: var(--edu-paper); }
.edu-sec-joining .edu-sec-body { background-color: var(--edu-tint); }
/* the faint plan grid behind section bodies, as the reference (not Joining, which is tinted) */
.edu-sec:not(.edu-sec-joining) .edu-sec-body { background-image: linear-gradient(var(--edu-grid) 1px, transparent 1px), linear-gradient(90deg, var(--edu-grid) 1px, transparent 1px); background-size: 24px 24px; }
.edu-bridge { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-top: 18px; padding: 12px 0; border-top: 1px solid var(--edu-tone-87); }
.edu-bridge span { font-family: var(--edu-f-eyebrow); font-size: 8px; font-weight: 900; letter-spacing: 0.13em; color: var(--edu-tone-51); padding-left: 0; }
.edu-bridge .edu-go { padding: 8px 0 8px 8px; font-size: 10.5px; font-weight: 850; color: var(--edu-accent-2); white-space: nowrap; }
.edu-bridge p { margin-top: 3px; font-size: 12.5px; line-height: 1.5; color: var(--edu-tone-41); }

/* 01 joining */
.edu-factors-intro span, .edu-attention-head span { display: block; font-family: var(--edu-f-eyebrow); font-size: 9px; font-weight: 900; line-height: 1.68; letter-spacing: 0.14em; text-transform: uppercase; color: var(--edu-accent-3); }
.edu-factors-intro p { margin-top: 4px; font-size: 13px; color: var(--edu-text-2); }
.edu-factors { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 10px 0 26px; background: var(--edu-paper-3); border: 1px solid var(--edu-tone-84); border-radius: 12px; overflow: hidden; }
.edu-factors > div { min-height: 72px; padding: 13px 12px; }
.edu-factors > div + div { border-left: 1px solid var(--edu-tone-92); }
.edu-factors span { display: block; font-size: 9.5px; line-height: 1.25; color: var(--edu-tone-48); }
.edu-factors b { display: inline-flex; margin-top: 7px; font-size: 12px; font-weight: 900; line-height: 1.35; }
.edu-out04 { margin-bottom: 26px; }
.edu-out04 h3, .edu-primary h3, .edu-search-intro h3 { margin: 6px 0 8px; font-family: var(--edu-f-head-serif); font-size: 18px; font-weight: 600; line-height: 1.3; letter-spacing: -0.01em; color: var(--edu-ink-2); }
.edu-out04-note { margin-top: 10px; font-size: 13px; line-height: 1.6; color: var(--edu-text-2); }
.edu-attention-head { margin-bottom: 14px; }
.edu-attention-head p { margin-top: 4px; font-size: 13px; color: var(--edu-text-2); }
.edu-alerts { position: relative; display: grid; gap: 10px; }
.edu-alert { background: var(--edu-glass-86); border: 1px solid var(--edu-line); border-left: 3px solid var(--edu-important); border-radius: 9px; overflow: hidden; }
.edu-alert-note { border-left-color: var(--edu-note); }
.edu-alert-good { border-left-color: var(--edu-good); }
.edu-alert header { display: flex; gap: 10px; align-items: center; padding: 14px 15px 0; }
.edu-chip { padding: 4px 7px; font-family: var(--edu-f-eyebrow); font-size: 9px; font-weight: 900; line-height: 1.68; letter-spacing: 0.1em; text-transform: uppercase; color: var(--edu-important); border: 1px solid currentColor; border-radius: 3px; }
.edu-alert-note .edu-chip { color: var(--edu-note); }
.edu-alert-good .edu-chip { color: var(--edu-good); }
.edu-alert header h4 { font-size: 15px; font-weight: 700; line-height: 1.35; color: var(--edu-ink); }
.edu-alert-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); padding: 6px 15px 15px; }
.edu-alert-grid > div { padding: 12px 13px; background: var(--edu-tone-97); border-radius: 6px; }
.edu-alert-grid > div + div { background: var(--edu-tone-97); border-left: 1px solid var(--edu-tone-91); border-radius: 0 6px 6px 0; }
.edu-alert-grid.edu-alert-one { grid-template-columns: minmax(0, 1fr); }
.edu-alert-grid b { font-family: var(--edu-f-eyebrow); font-size: 9.5px; font-weight: 700; letter-spacing: 0.12em; color: var(--edu-note); }
.edu-alert-grid p { margin-top: 4px; font-size: 14px; line-height: 1.68; color: var(--edu-text-2); }
.edu-alert-support { padding: 10px 28px 14px; border-top: 1px solid var(--edu-line-4); font-size: 12.5px; color: var(--edu-muted); }
.edu-blocks { margin-top: 22px; }
.edu-detail { background: var(--edu-paper); border-top: 1px solid var(--edu-tone-92); border-radius: 12px; }
.edu-detail summary { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 16px 4px; font-size: 13px; font-weight: 720; line-height: 1.68; color: var(--edu-ink); cursor: pointer; list-style: none; }
.edu-detail summary::-webkit-details-marker { display: none; }
.edu-detail summary::after { content: "+"; font-size: 16px; font-weight: 700; color: var(--edu-accent); }
.edu-detail[open] > summary::after { content: "–"; }
.edu-detail summary small { font-size: 10px; font-weight: 600; color: var(--edu-muted-2); }
.edu-detail-body { padding: 0 2px 18px; font-size: 12.5px; line-height: 1.7; color: var(--edu-tone-38); }
.edu-detail-body .edu-alert { margin-bottom: 12px; }
.edu-entry { display: flex; gap: 12px; align-items: baseline; margin-bottom: 8px; }
.edu-entry span { font-weight: 700; color: var(--edu-ink); }
.edu-entry b { font-size: 12px; font-weight: 900; }

/* 02 finding */
.edu-search-intro { position: relative; max-width: 900px; margin-bottom: 26px; padding-bottom: 22px; border-bottom: 1px solid var(--edu-tone-87); }
.edu-search-intro .edu-eyebrow { color: var(--edu-tone-45); }
.edu-search-intro > p { margin-top: 10px; font-size: 14px; line-height: 1.68; color: var(--edu-tone-41); }
.edu-steps { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 18px 0 30px; border-top: 1px solid var(--edu-line-2); border-bottom: 1px solid var(--edu-line-2); }
.edu-step-card { position: relative; display: flex; flex-direction: column; align-items: center; padding: 18px 22px; text-align: center; }
.edu-step-card + .edu-step-card { border-left: 1px solid var(--edu-line-2); }
.edu-step-card > span { margin-bottom: 8px; font-family: var(--edu-f-head-serif); font-size: 9px; font-weight: 800; line-height: 1.2; letter-spacing: 0.1em; text-transform: uppercase; color: var(--edu-tone-56); }
.edu-step-card h3 { margin-bottom: 6px; font-size: 15px; font-weight: 700; line-height: 1.3; letter-spacing: -0.01em; color: var(--edu-tone-26); }
.edu-step-card p { margin-bottom: 8px; font-size: 12px; line-height: 1.55; color: var(--edu-tone-48); }
.edu-step-card .edu-jump { margin-bottom: 9px; font-size: 10px; font-weight: 750; color: var(--edu-tone-35); text-decoration: underline; text-underline-offset: 2px; }
.edu-step { margin-top: auto; padding-top: 10px; font-size: 9px; font-weight: 850; letter-spacing: 0.04em; text-transform: uppercase; color: var(--edu-tone-54); border-radius: 3px; }
.edu-step[aria-pressed="true"] { color: var(--edu-good); }
.edu-primary { margin-bottom: 26px; }
.edu-primary .edu-alert { margin-top: 10px; }
.edu-schools-head { position: relative; margin-top: 30px; padding-bottom: 11px; border-bottom: 1px solid var(--edu-tone-87); }
.edu-schools-frame { display: flex; flex-wrap: wrap; gap: 4px 12px; margin: 10px 0 2px; font-size: 11.5px; line-height: 1.5; color: var(--edu-muted-2); }
.edu-schools-frame b { font-weight: 700; color: var(--edu-tone-26); }
/* T43 F: the OUT-06 'what to check' lines under the school listing (v1.2.66). */
.edu-schools-checks { margin: 12px 0 4px; }
.edu-schools-checks p { margin: 0 0 6px; font-size: 13px; line-height: 1.6; color: var(--edu-tone-41); }
.edu-schools-head h3 { margin: 5px 0 8px; font-family: var(--edu-f-head-serif); font-size: 18px; font-weight: 400; line-height: 1.3; color: var(--edu-tone-20); }
.edu-schools-head p { margin: 0 0 4px; font-size: 13px; line-height: 1.6; color: var(--edu-tone-41); }
.edu-schools { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 0 10px; margin-bottom: 32px; }
.edu-school { position: relative; display: flex; justify-content: space-between; gap: 14px; padding: 17px 0; border-bottom: 1px solid var(--edu-tone-87); }
.edu-school-area { display: block; margin-bottom: 2px; font-family: var(--edu-f-eyebrow); font-size: 9px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--edu-tone-56); }
.edu-school h4 { font-size: 17px; font-weight: 700; line-height: 1.3; color: var(--edu-tone-26); }
.edu-school-chips { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 6px; }
.edu-school-chips span { padding: 2px 7px; font-size: 10px; line-height: 1.6; color: var(--edu-tone-38); background: var(--edu-chip); border: 1px solid var(--edu-tone-87); border-radius: 3px; }
.edu-school-meta { flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.edu-school-meta small { margin-top: 7px; font-size: 10px; color: var(--edu-muted-3); }
.edu-school-link { font-size: 9.5px; font-weight: 700; color: var(--edu-tone-43); }
/* the school map (one baked image; the runtime sets its src) and each card's pin letter (T29 P8d) */
.edu-school-map { margin: 14px 0 4px; padding: 12px; background: var(--edu-paper-2); border: 1px solid var(--edu-line-2); border-radius: 12px; }
.edu-school-map .edu-eyebrow { display: block; margin-bottom: 8px; }
.edu-school-map img { width: 100%; height: auto; aspect-ratio: 760 / 420; border-radius: 8px; background: var(--edu-tint); }
.edu-school-map img:not([src]) { visibility: hidden; }
.edu-school-map figcaption { margin-top: 8px; font-size: 12px; line-height: 1.5; color: var(--edu-muted-2); }
.edu-pin { display: inline-grid; place-items: center; width: 20px; height: 20px; margin-right: 8px; border-radius: 50%; vertical-align: 2px; font-family: var(--edu-f-num); font-size: 10px; font-weight: 700; color: var(--edu-on-dark); background: var(--edu-accent); }
.edu-visit { position: relative; margin: 32px 0 30px; background: var(--edu-paper); border-radius: 14px; overflow: hidden; box-shadow: 0 8px 24px var(--edu-shade-18-06); }
.edu-visit > header { padding: 22px 24px 20px; background: linear-gradient(105deg, var(--edu-tone-15), var(--edu-tone-22)); }
.edu-visit > header .edu-eyebrow { color: var(--edu-tone-71); }
.edu-visit > header h3 { margin: 5px 0 0; font-size: 23px; font-weight: 700; line-height: 1.2; letter-spacing: -0.01em; color: var(--edu-on-dark); font-family: var(--edu-f-head); }
.edu-visit > header p { margin-top: 6px; font-size: 13px; line-height: 1.55; color: var(--edu-on-dark-3); }
.edu-visit-bar { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin: 23px 24px 0; padding-bottom: 18px; border-bottom: 1px solid var(--edu-tone-87); }
.edu-visit-bar b { font-size: 13px; font-weight: 700; }
.edu-visit-bar div span { display: block; margin-top: 3px; font-size: 12px; line-height: 1.5; color: var(--edu-tone-45); }
.edu-send-phone { padding: 8px 11px; font-size: 10px; font-weight: 850; white-space: nowrap; color: var(--edu-on-dark); background: var(--edu-accent-dark); border: 1px solid var(--edu-accent-dark); border-radius: 8px; }
.edu-visit-body { padding: 4px 24px 27px; font-size: 13.5px; line-height: 1.65; }
.edu-visit-body h4 { margin: 22px 0 7px; font-size: 15px; font-weight: 700; color: var(--edu-tone-26); }
.edu-visit-body p { margin: 13.5px 0; color: var(--edu-tone-41); }
.edu-ratings { margin-top: 26px; }
.edu-evaluate { position: relative; margin: 0 0 26px; padding: 18px 20px; background: var(--edu-paper); border: 1px solid var(--edu-tone-87); border-radius: 12px; }
.edu-evaluate h3 { margin-bottom: 10px; font-family: var(--edu-f-head-serif); font-size: 18px; font-weight: 400; line-height: 1.3; color: var(--edu-tone-20); }
.edu-evaluate p { margin: 0 0 10px; font-size: 13.5px; line-height: 1.65; color: var(--edu-tone-41); }
.edu-evaluate p:last-child { margin-bottom: 0; }

/* 03 action */
.edu-knowdo { position: relative; display: grid; grid-template-columns: 1fr 1fr; margin-bottom: 20px; border-top: 1px solid var(--edu-line-2); border-bottom: 1px solid var(--edu-line-2); }
.edu-knowdo article { padding: 16px 20px 17px 0; }
.edu-knowdo article + article { padding-left: 20px; border-left: 1px solid var(--edu-line-2); }
.edu-knowdo span { display: inline-block; font-family: var(--edu-f-eyebrow); font-size: 8.5px; font-weight: 900; letter-spacing: 0.13em; color: var(--edu-tone-43); }
.edu-knowdo h3 { margin: 5px 0; font-size: 15px; font-weight: 700; line-height: 1.3; letter-spacing: -0.01em; color: var(--edu-ink); }
.edu-knowdo p { font-size: 12.4px; line-height: 1.6; color: var(--edu-muted); }
.edu-move-line { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; margin: 22px 0 14px; background: var(--edu-paper); }
.edu-move-phase { position: relative; padding: 10px 13px; background: var(--edu-tone-97); border: 1px solid var(--edu-tone-84); border-radius: 12px; }
.edu-move-phase span, .edu-move-marker span { display: block; font-family: var(--edu-f-eyebrow); font-size: 8px; font-weight: 900; letter-spacing: 0.13em; color: var(--edu-tone-52); }
.edu-move-phase b { display: block; margin-top: 3px; font-size: 11px; font-weight: 700; color: var(--edu-tone-28); }
.edu-move-marker { position: relative; margin: 0 12px; padding: 9px 12px; text-align: center; color: var(--edu-on-dark); background: var(--edu-accent-dark); border-radius: 999px; box-shadow: 0 5px 14px var(--edu-shade-21-18); }
.edu-move-marker span { color: var(--edu-tone-82); }
.edu-move-marker b { display: block; margin-top: 3px; font-size: 11px; font-weight: 700; white-space: nowrap; }
.edu-streams { position: relative; display: grid; gap: 8px; margin: 22px 0 16px; }
.edu-stream { padding: 15px 16px; background: var(--edu-paper); border: 1px solid var(--edu-tone-84); border-left: 4px solid var(--edu-tone-64); border-radius: 10px; overflow: hidden; }
.edu-stream-secured { border-color: var(--edu-tone-70); border-left-color: var(--edu-tone-64); }
.edu-stream > summary { position: relative; display: grid; grid-template-columns: 29px minmax(0, 1fr) auto; gap: 12px; align-items: center; margin: -15px -16px 0; padding: 13px 15px 18px 16px; background: var(--edu-tint-2); border-bottom: 1px solid var(--edu-tone-87); cursor: pointer; list-style: none; }
.edu-stream > summary::-webkit-details-marker { display: none; }
.edu-stream-num { display: grid; place-items: center; width: 29px; height: 29px; font-size: 10px; font-weight: 900; color: var(--edu-tone-82); background: var(--edu-tone-21); border-radius: 2px; box-shadow: 0 0 0 4px var(--edu-tone-97); }
.edu-stream h3 { margin-bottom: 8px; font-size: 18px; font-weight: 700; line-height: 1.3; letter-spacing: -0.01em; color: var(--edu-ink-3); }
.edu-stream small { font-size: 11px; color: var(--edu-ink); }
.edu-stream-desc { margin-top: 6px; font-size: 11.5px; line-height: 1.5; color: var(--edu-muted-2); }
.edu-stream-progress { display: flex; align-items: center; gap: 8px; margin-top: 11px; font-size: 9.5px; font-weight: 800; color: var(--edu-tone-52); white-space: nowrap; }
.edu-stream-bar { position: absolute; left: 56px; right: 15px; bottom: 8px; height: 4px; background: var(--edu-tone-87); overflow: hidden; }
.edu-stream-bar i { display: block; height: 100%; width: calc(var(--edu-stream-p, 0) * 1%); background: var(--edu-accent); }
.edu-tasks { margin-top: 12px; }
.edu-tasks li { border-top: 1px solid var(--edu-line-3); }
.edu-tasks li:first-child { border-top: 0; }
.edu-tasks label { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 9px; align-items: start; padding: 11px 2px; cursor: pointer; }
.edu-task { position: absolute; opacity: 0; width: 1px; height: 1px; }
.edu-task-ui { display: grid; place-items: center; width: 20px; height: 20px; background: var(--edu-paper); border: 1px solid var(--edu-tone-61); border-radius: 2px; }
.edu-task:checked + .edu-task-ui { background: var(--edu-accent); border-color: var(--edu-accent); }
.edu-task:checked + .edu-task-ui::after { content: "✓"; font-size: 13px; font-weight: 900; color: var(--edu-on-dark); }
.edu-task:focus-visible + .edu-task-ui { outline: 2px solid var(--edu-accent); outline-offset: 2px; }
.edu-task-copy { font-size: 12px; line-height: 1.45; color: var(--edu-tone-32); }
.edu-task:checked ~ .edu-task-copy { color: var(--edu-muted-2); text-decoration: line-through; text-decoration-color: var(--edu-veil-45-45); }
/* T43 F: a dated task's due date (the Reception round, v1.2.66). */
.edu-task-due { display: block; margin-top: 2px; font-size: 11px; font-weight: 700; color: var(--edu-tone-37); }
.edu-stream-link { display: inline-flex; margin-top: 9px; font-size: 10px; font-weight: 850; color: var(--edu-tone-37); }
.edu-secured-badge { display: inline-block; margin-top: 9px; padding: 5px 8px; font-family: var(--edu-f-eyebrow); font-size: 8px; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; color: var(--edu-on-dark); background: var(--edu-accent-dark); border-radius: 999px; }
.edu-sec-action .edu-detail { margin-top: 22px; }
.edu-template { border-top: 1px solid var(--edu-tone-92); }
.edu-template > summary { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 16px 4px; font-size: 12px; font-weight: 720; color: var(--edu-tone-38); cursor: pointer; list-style: none; }
.edu-template > summary::-webkit-details-marker { display: none; }
.edu-template > summary span, .edu-template > summary small { font-size: 10px; font-weight: 800; color: var(--edu-accent-2); }
.edu-template pre { padding: 12px; font-family: var(--edu-f-num); font-size: 11px; line-height: 1.55; color: var(--edu-tone-38); white-space: pre-wrap; background: var(--edu-paper-2); border-top: 1px solid var(--edu-line); }
.edu-glossary-list { display: grid; }
.edu-glossary-list > div { display: grid; grid-template-columns: minmax(130px, 220px) minmax(0, 1fr); gap: 12px; padding: 9px 2px; border-top: 1px solid var(--edu-line-4); }
.edu-glossary-list dt { font-weight: 700; color: var(--edu-ink); font-size: 12.5px; }
.edu-glossary-list dd { font-size: 12.5px; color: var(--edu-tone-38); }
.edu-call { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "eyebrow eyebrow" "lead button" "body button"; gap: 6px 18px; align-items: center; margin-top: 22px; padding: 18px; color: var(--edu-on-dark);
  background: linear-gradient(135deg, var(--edu-tone-20), var(--edu-tone-22)); border: 1px solid var(--edu-veil-53-24); border-radius: 3px 18px 18px 3px; box-shadow: 8px 8px 0 var(--edu-shade-29-09); }
.edu-call .edu-eyebrow { grid-area: eyebrow; color: var(--edu-tone-71); }
.edu-call h3 { grid-area: lead; margin-top: 3px; font-size: 18px; font-weight: 700; line-height: 1.3; letter-spacing: -0.01em; }
.edu-call p { grid-area: body; font-size: 14px; line-height: 1.68; color: var(--edu-tone-80); }
.edu-call-button, .edu-specialist-button { grid-area: button; display: inline-block; padding: 11px 15px; font-size: 10.5px; font-weight: 850; text-align: center; text-decoration: none; color: var(--edu-tone-21); background: var(--edu-tone-97); border: 1px solid var(--edu-glass-25); border-radius: 8px; white-space: nowrap; }

/* 04 milestones */
.edu-sec-lead h3 { margin-bottom: 8px; font-family: var(--edu-f-head-serif); font-size: 18px; font-weight: 400; line-height: 1.3; color: var(--edu-tone-20); }
.edu-sec-lead p { max-width: 760px; font-size: 13.5px; line-height: 1.65; color: var(--edu-tone-41); }
.edu-pathway { position: relative; margin-top: 18px; padding: 14px; background: var(--edu-tone-97); border: 1px solid var(--edu-tone-87); border-radius: 14px; overflow: hidden; }
.edu-pathway-tools { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "title arrows" "help arrows"; align-items: center; margin-bottom: 12px; }
.edu-pathway-tools b { grid-area: title; font-size: 13px; font-weight: 700; color: var(--edu-ink); }
.edu-pathway-tools small { grid-area: help; margin-top: 2px; font-size: 11px; color: var(--edu-tone-52); }
.edu-pathway-arrows { grid-area: arrows; display: flex; gap: 6px; }
.edu-arrow { width: 34px; height: 34px; font-size: 17px; font-weight: 900; color: var(--edu-tone-35); background: var(--edu-paper); border: 1px solid var(--edu-tone-80); border-radius: 3px; text-align: center; }
.edu-rail-track { position: relative; display: flex; gap: 12px; padding: 2px 0 5px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: thin; }
.edu-ms { position: relative; flex: 0 0 268px; padding: 16px 15px 15px; background: var(--edu-paper); border: 1px solid var(--edu-tone-64); border-radius: 12px; box-shadow: inset 0 3px 0 var(--edu-tone-50); scroll-snap-align: start; }
.edu-ms-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.edu-ms-year { font-family: var(--edu-f-head); font-size: 13px; font-weight: 900; letter-spacing: 0.06em; color: var(--edu-tone-28-2); }
.edu-ms-away { display: flex; align-items: center; min-height: 22px; font-family: var(--edu-f-eyebrow); font-size: 8.5px; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; color: var(--edu-tone-37); white-space: nowrap; }
.edu-ms-stage { display: block; margin-bottom: 8px; padding-bottom: 9px; font-family: var(--edu-f-eyebrow); font-size: 11px; font-weight: 900; letter-spacing: 0.055em; text-transform: uppercase; color: var(--edu-tone-43); border-bottom: 1px solid var(--edu-tone-84); }
.edu-ms h3 { margin: 8px 0; font-size: 18px; font-weight: 700; line-height: 1.3; letter-spacing: -0.01em; color: var(--edu-ink); }
.edu-ms b { display: block; margin-top: 10px; font-family: var(--edu-f-eyebrow); font-size: 9px; font-weight: 700; letter-spacing: 0.09em; color: var(--edu-tone-52); }
.edu-ms p { margin-top: 3px; font-size: 14px; line-height: 1.68; color: var(--edu-tone-41); }
.edu-range { display: flex; align-items: center; gap: 10px; margin-top: 12px; font-family: var(--edu-f-eyebrow); font-size: 8px; font-weight: 900; letter-spacing: 0.1em; color: var(--edu-tone-52); }
.edu-range-input { flex: 1; accent-color: var(--edu-accent); }
.edu-specialist { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "lead button" "body button"; gap: 2px 12px; align-items: center; margin-top: 18px; padding: 17px; color: var(--edu-on-dark);
  background: linear-gradient(135deg, var(--edu-tone-20), var(--edu-tone-22)); border: 1px solid var(--edu-veil-53-24); border-radius: 3px 18px 18px 3px; box-shadow: 8px 8px 0 var(--edu-shade-29-09); }
.edu-specialist > b { grid-area: lead; font-size: 14px; font-weight: 700; }
.edu-specialist > p { grid-area: body; margin-top: 2px; font-size: 14px; line-height: 1.68; color: var(--edu-tone-80); }
.edu-specialist .edu-specialist-button { grid-area: button; }
.edu-sec-milestones .edu-detail { margin-top: 18px; }
.edu-note { margin: 26px 0 0; padding: 20px 24px; background: var(--edu-paper-3); border: 1px solid var(--edu-tone-87); border-left: 3px solid var(--edu-accent); border-radius: 14px; }
.edu-sec-card > .edu-note { margin: 26px 0 0; }
.edu-note .edu-eyebrow { display: block; margin-bottom: 8px; font-weight: 900; color: var(--edu-tone-43); }
.edu-note .edu-voice { max-width: 860px; font-size: 15px; font-weight: 500; line-height: 1.7; color: var(--edu-tone-28); }
.edu-horizons { position: relative; margin-top: 34px; padding: 29px 30px; color: var(--edu-on-dark); background: linear-gradient(105deg, var(--edu-tone-15), var(--edu-tone-22)); border-radius: 18px; overflow: hidden; }
.edu-horizons > header { display: grid; grid-template-columns: 43px minmax(0, 1fr); gap: 15px; margin-bottom: 16px; }
.edu-horizons-icon { display: grid; place-items: center; width: 43px; height: 43px; border-radius: 50%; background: var(--edu-glass-08); color: var(--edu-on-dark-accent-2); }
.edu-horizons-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.edu-horizons .edu-eyebrow { color: var(--edu-on-dark-accent-2); }
.edu-horizons h2 { margin: 4px 0 7px; font-family: var(--edu-f-head); font-size: 29px; font-weight: 700; line-height: 1.55; letter-spacing: -0.035em; color: var(--edu-on-dark); }
.edu-horizons p { max-width: 900px; margin-bottom: 12px; font-size: 12.5px; line-height: 1.62; color: var(--edu-tone-80); }
.edu-closing { position: relative; display: grid; grid-template-columns: 118px minmax(0, 1fr); gap: 22px; align-items: center; margin-top: 20px; padding: 25px 28px; background: var(--edu-tone-97); border: 1px solid var(--edu-tone-84); border-radius: 14px; overflow: hidden; }
.edu-closing small { display: block; margin-bottom: 5px; font-family: var(--edu-f-eyebrow); font-size: 9px; font-weight: 900; letter-spacing: 0.15em; text-transform: uppercase; color: var(--edu-tone-41-2); }
.edu-closing h3 { margin-bottom: 5px; font-family: var(--edu-f-head-serif); font-size: 20px; font-weight: 400; line-height: 1.2; color: var(--edu-tone-20); }
.edu-closing p { max-width: 760px; font-size: 12px; line-height: 1.55; color: var(--edu-tone-48); }
.edu-closing-byline { display: block; margin-top: 10px; font-family: var(--edu-f-eyebrow); font-size: 9.5px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: var(--edu-tone-48); }

/* T29 P12 (runtime v12): Your planning tools: three tool cards in one row, then the shortlist
   tracker. Table-style rows in the editorial register (quiet rules, no card per row); stages
   are status, never quality, so no colour per stage. Pages on v11 never carry this markup. */
.edu-tool-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 4px 0 16px; }
.edu-tool-card { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 16px 40px 16px 18px; text-align: left; font: inherit; background: var(--edu-paper-2); border: 1px solid var(--edu-line-2); border-radius: 12px; cursor: pointer; }
.edu-tool-card:hover, .edu-tool-card:focus-visible { border-color: var(--edu-accent); }
.edu-tool-card b { font-size: 14px; font-weight: 750; line-height: 1.35; color: var(--edu-ink); }
.edu-tool-card span { font-size: 12.5px; line-height: 1.55; color: var(--edu-muted); }
.edu-tool-card i { position: absolute; top: 15px; right: 16px; font-style: normal; font-weight: 700; color: var(--edu-accent); }
.edu-tracker { margin-bottom: 8px; }
.edu-tracker .edu-sl-hint { font-size: 13px; color: var(--edu-muted-2); }
.edu-tracker .edu-sl-empty { padding: 14px 0; font-size: 13px; color: var(--edu-muted); border-top: 1px solid var(--edu-line-4); border-bottom: 1px solid var(--edu-line-4); }
.edu-sl-head, .edu-sl-row { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1.25fr) 148px minmax(0, 1.6fr) 64px; gap: 10px; align-items: center; }
.edu-sl-head { padding: 0 0 8px; border-bottom: 1px solid var(--edu-line-2); }
.edu-sl-head span { font-family: var(--edu-f-eyebrow); font-size: 10px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: var(--edu-muted-2); }
.edu-sl-row { padding: 8px 0; border-bottom: 1px solid var(--edu-line-4); }
.edu-sl-cell { display: block; min-width: 0; }
.edu-sl-label { display: none; }
.edu-sl-stagewrap { display: flex; flex-wrap: wrap; gap: 6px; }
.edu-sl-row input, .edu-sl-row select { width: 100%; min-width: 0; padding: 7px 9px; font: inherit; font-size: 13px; line-height: 1.4; color: var(--edu-ink); background: var(--edu-paper); border: 1px solid var(--edu-line-2); border-radius: 8px; }
.edu-sl-stagewrap select { flex: 1 1 120px; width: auto; }
.edu-sl-row input:focus, .edu-sl-row select:focus { outline: 2px solid var(--edu-accent); outline-offset: 1px; border-color: var(--edu-accent); }
.edu-sl-remove { padding: 6px 4px; font: inherit; font-size: 12px; font-weight: 650; color: var(--edu-muted); background: none; border: 0; cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.edu-sl-remove:hover { color: var(--edu-ink); }
.edu-sl-add { margin-top: 14px; padding: 9px 16px; font: inherit; font-size: 13px; font-weight: 700; color: var(--edu-on-dark); background: var(--edu-accent-dark); border: 0; border-radius: 999px; cursor: pointer; }
.edu-sl-add:hover, .edu-sl-add:focus-visible { background: var(--edu-accent-2); }

/* ── < 1000px: hero and search steps stack (WG §4 "below 1180") ─────────── */
@container edu (max-width: 999px) {
  /* P12: below the 1180 reference the tracker rows stack as bordered cards (the search steps' pattern) */
  .edu-sl-head { display: none; }
  .edu-sl-row { grid-template-columns: minmax(0, 1fr); gap: 10px; margin-bottom: 10px; padding: 14px 16px; background: var(--edu-tone-97); border: 1px solid var(--edu-line-2); border-radius: 12px; }
  .edu-sl-label { display: block; margin-bottom: 4px; font-family: var(--edu-f-eyebrow); font-size: 10px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: var(--edu-muted-2); }
  .edu-sl-remove { justify-self: start; }
  .edu-sl-row .edu-sl-c-date input { max-width: 200px; }
  .edu-title h1 { font-size: 56.64px; }
  .edu-timeline-intro h1 { font-size: 59px; }
  .edu-hero { display: block; }
  .edu-hero h1 { font-size: 50.74px; }
  .edu-child-card { display: flex; justify-content: space-between; gap: 18px; margin-top: 18px; }
  .edu-stats { margin-top: 18px; }
  .edu-steps { grid-template-columns: minmax(0, 1fr); gap: 10px; border: 0; }
  .edu-step-card { align-items: flex-start; padding: 14px 16px; text-align: left; background: var(--edu-tone-97); border: 1px solid var(--edu-line-2); border-radius: 12px; }
  .edu-step-card + .edu-step-card { border-left: 1px solid var(--edu-line-2); }
  .edu-step-card > span { padding: 2px 10px; border: 1px solid var(--edu-tone-80); border-radius: 999px; }
  .edu-step { margin-top: 10px; }
}

/* ── < 900px: chips 2 x 2, priority columns stack, narrow rail ───────────── */
@container edu (max-width: 899px) {
  .edu-title h1 { font-size: 44.16px; }
  .edu-timeline-intro h1 { font-size: 46px; }
  .edu-hero h1 { font-size: 39.56px; }
  .edu-child-card { padding: 16px 0 0; border-left: 0; border-top: 1px solid var(--edu-glass-18); }
  .edu-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .edu-stats article { border-bottom: 1px solid var(--edu-glass-10); }
  .edu-workspace { grid-template-columns: 180px minmax(0, 1fr); gap: 14px; }
  .edu-risk-cols { grid-template-columns: minmax(0, 1fr); }
  .edu-risk-col + .edu-risk-col { border-left: 0; border-top: 1px solid var(--edu-tone-92); }
  .edu-risk-scope { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .edu-move-line { grid-template-columns: minmax(0, 1fr); }
  .edu-move-marker { margin: 8px auto; }
}

/* ── < 600px: phone ──────────────────────────────────────────────────────── */
@container edu (max-width: 599px) {
  .edu-tool-cards { grid-template-columns: minmax(0, 1fr); gap: 10px; }   /* P12: the three tool cards stack on a phone */
  .edu-tabs { margin-bottom: 12px; overflow-x: auto; }
  .edu-tab { padding: 9px 12px 10px; flex: none; }
  .edu-board { padding: 20px; }
  .edu-title { grid-template-columns: minmax(0, 1fr); }
  .edu-title h1 { font-size: 39px; }
  .edu-signed { display: block; }
  .edu-signed .edu-photo { margin-bottom: 14px; }
  .edu-signoff { flex-wrap: wrap; }
  .edu-overview-grid { grid-template-columns: minmax(0, 1fr); }
  .edu-card { grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "badges" "fh" "focus" "ring" "action"; min-height: 0; }
  .edu-card .edu-ring { margin-top: 12px; }
  .edu-ring strong { font-size: 23px; }
  .edu-priority-head { display: block; }
  .edu-priority-head span { display: block; margin-top: 3px; }
  .edu-timeline-intro { padding: 25px 20px 23px; }
  .edu-timeline-intro h1 { font-size: 40px; }
  .edu-timeline-actions { display: grid; }
  .edu-timeline-head { display: block; }
  .edu-stage { grid-template-columns: 36px minmax(0, 1fr); gap: 10px; }
  .edu-stage-row { grid-template-columns: minmax(0, 1fr); gap: 3px; }
  .edu-switcher { margin-bottom: 10px; }
  .edu-switch { justify-content: space-between; padding: 10px 12px; }
  .edu-workspace { display: block; }
  .edu-rail { position: static; display: flex; gap: 4px; margin-bottom: 12px; padding: 4px; overflow-x: auto; background: var(--edu-veil-98-96); border: 1px solid var(--edu-line-2); border-radius: 10px; }
  .edu-rail-head { display: none; }
  .edu-rail { border-right: 1px solid var(--edu-line-2); }
  .edu-rail button { display: block; flex: 0 0 calc(100% - 8px); width: auto; min-height: 0; border-left: 0; border-bottom: 3px solid transparent; }
  .edu-rail button.edu-on { border-bottom-color: var(--edu-accent); }
  .edu-rail button span { display: block; margin-bottom: 2px; }
  .edu-rail button b { white-space: nowrap; }
  .edu-hero { padding: 10px 18px 18px; }
  .edu-hero h1 { font-size: 36px; }
  .edu-consultant { display: block; padding: 20px 18px; }
  .edu-consultant .edu-photo { margin-bottom: 14px; }
  .edu-consultant blockquote { font-size: 16px; }
  .edu-risk { padding: 22px 18px 24px; }
  .edu-risk-head { grid-template-columns: 45px minmax(0, 1fr); }
  .edu-risk-badge { grid-column: 2; justify-self: start; }
  .edu-risk-scope { grid-template-columns: minmax(0, 1fr); }
  .edu-factors { grid-template-columns: minmax(0, 1fr); }
  .edu-factors > div + div { border-left: 0; border-top: 1px solid var(--edu-tone-92); }
  .edu-alert-grid { grid-template-columns: minmax(0, 1fr); }
  .edu-bridge { flex-direction: column; align-items: flex-start; }
  .edu-bridge .edu-go { padding: 2px 0 6px; }
  .edu-schools { grid-template-columns: minmax(0, 1fr); }
  .edu-school { flex-direction: column; }
  .edu-school-meta { align-items: flex-start; }
  .edu-visit-bar { display: block; }
  .edu-send-phone { margin-top: 10px; }
  .edu-knowdo { grid-template-columns: minmax(0, 1fr); }
  .edu-knowdo article + article { padding-left: 0; border-left: 0; border-top: 1px solid var(--edu-line-2); }
  .edu-rows > div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .edu-glossary-list > div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  /* the reference keeps two columns here and squeezes the text (0px / 142px); stacked instead */
  .edu-call, .edu-specialist { grid-template-columns: minmax(0, 1fr); grid-template-areas: "eyebrow" "lead" "body" "button"; }
  .edu-specialist { grid-template-areas: "lead" "body" "button"; }
  .edu-call-button, .edu-specialist-button { margin-top: 10px; justify-self: start; }
  .edu-ms { flex-basis: 85%; }
  .edu-horizons { padding: 22px 18px; }
  .edu-closing { grid-template-columns: minmax(0, 1fr); padding: 21px; }
}

@media (prefers-reduced-motion: reduce) {
  .edu-rail-track { scroll-behavior: auto; }
}
