/* Codeyard Academy (concept). Direction: the printed annual. A 42% column line, gutterless mosaics, whole pages of flat colour.
   Type after the Vercel system: Geist 400 to 600, tight negative tracking, period-terminated headlines; the system monospace in real code only.
   Paper, ink, orange for the action, sage, acid yellow and black fields. Square corners; buttons are pills. */
.b-academies {
  --b-bg: #fafafa; --b-ink: #171717; --b-acc: #fe7141; --b-soft: #d1ddd3; --b-on: #171717;
  --b-d: "Geist", system-ui, sans-serif; --b-t: "Geist", system-ui, sans-serif;
  --paper: #fafafa; --surface: #efefef; --surface-2: #e5e5e5; --ink: #171717; --muted: #4d4d4d;
  --acc: #fe7141; --acc-press: #f2602c; --sage: #d1ddd3; --yel: #f0ff1c;
  --night: #171717; --night-2: #232323; --night-3: #303030; --on-night: #f4f4f4; --night-mute: #b9b9b9;
  --mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace; /* taste-skill-ignore: literal code only */
  --m: clamp(16px, 2.2vw, 32px);
  --ax: calc(42vw - var(--m));
  --t-small: 15px; --t-body: clamp(17px, 1rem + .2vw, 19px); --t-lead: clamp(20px, 1.1rem + .55vw, 26px);
  --t-head: clamp(36px, 1rem + 4vw, 76px); --t-display: clamp(52px, 7.6vw, 128px);
  --sec: clamp(96px, 10vw, 168px);
  --ease: cubic-bezier(.22, 1, .36, 1); --ease-soft: cubic-bezier(.33, 1, .68, 1);
}
body.b-academies { font: 400 var(--t-body)/1.55 var(--b-t); background: var(--paper); color: var(--ink); caret-color: var(--acc); scrollbar-color: var(--ink) var(--surface); font-feature-settings: "tnum" 0; }
.b-academies ::selection { background: var(--ink); color: var(--yel); }
.b-academies :focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; }
.b-academies main { overflow-x: clip; }
.b-academies h1, .b-academies h2, .b-academies h3 { font-family: var(--b-d); font-weight: 600; letter-spacing: -.04em; line-height: .95; margin: 0; text-wrap: balance; }
.b-academies h2 { font-size: var(--t-head); }
.b-academies h3 { font-size: var(--t-lead); letter-spacing: -.02em; line-height: 1.15; }
.b-academies p { margin: 0; text-wrap: pretty; }
.b-academies p + p { margin-top: .9em; }
.b-academies a { color: inherit; text-decoration-thickness: 1.5px; text-underline-offset: 4px; transition: text-underline-offset 180ms var(--ease); }
.b-academies a:hover { text-underline-offset: 6px; }
.b-academies img { display: block; width: 100%; height: 100%; object-fit: cover; }
.b-academies figure { margin: 0; }
.b-academies code { font-family: var(--mono); font-size: .9em; } /* taste-skill-ignore: code, the menu overlay, the federal disclosure box */
.b-academies .cy-ph, .b-academies .cy-cell { overflow: hidden; background: var(--surface-2); }
.b-academies .cy-ph img, .b-academies .cy-cell img, .b-academies .cy-cell video { filter: grayscale(1) contrast(1.05); }
.b-academies .cy-cell video { display: block; width: 100%; height: 100%; object-fit: cover; }

/* logo: a five-by-five yard with a Y planted in it */
.b-academies .cy-glyph { width: .9em; height: .9em; flex: none; }
.b-academies .cy-word { font-weight: 600; letter-spacing: -.05em; }
.dm-logo--own .cy-glyph { width: .85em; height: .85em; margin-right: .3em; vertical-align: -.05em; }

/* buttons: one shape, the pill */
.b-academies .cy-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 26px; border: 0; border-radius: 999px; background: var(--acc); color: var(--ink); font: 600 var(--t-small)/1 var(--b-t); letter-spacing: -.01em; text-decoration: none; cursor: pointer; transition: background-color 180ms ease, transform 140ms var(--ease); }
.b-academies .cy-btn:hover { background: var(--acc-press); }
.b-academies .cy-btn:active { transform: scale(.97); }
.b-academies .cy-btn--ink { background: var(--ink); color: var(--paper); }
.b-academies .cy-btn--ink:hover { background: #333; }
.b-academies .cy-btn--sm { min-height: 44px; padding: 0 20px; }
.b-academies .cy-btn--wide { width: 100%; min-height: 58px; font-size: var(--t-body); }
.b-academies .cy-tl { display: inline-flex; align-items: center; min-height: 44px; font-weight: 500; text-decoration: underline; text-decoration-thickness: 2px; }

/* header: the ink block, the orange tab to the column line, the action at the far right */
.b-academies .cy-head { position: relative; z-index: 5; display: grid; grid-template-columns: 42vw 1fr; background: var(--paper); }
.b-academies .cy-head__l { display: flex; min-height: 60px; }
.b-academies .cy-head__mark { display: flex; align-items: center; gap: .35em; padding: 0 22px; background: var(--ink); color: var(--paper); font-size: var(--t-lead); text-decoration: none; }
.b-academies .cy-head__tab { flex: 1; display: flex; align-items: center; gap: 2px; padding: 0 10px; background: var(--acc); }
.b-academies .cy-head__tab a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 12px; font-size: var(--t-small); font-weight: 500; text-decoration: none; }
.b-academies .cy-head__tab a:hover, .b-academies .cy-head__tab a[aria-current] { text-decoration: underline; text-decoration-thickness: 2px; }
.b-academies .cy-head__r { display: flex; align-items: center; justify-content: flex-end; gap: 10px; padding: 8px var(--m); }
.b-academies .cy-menu { position: relative; }
.b-academies .cy-menu summary { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; list-style: none; cursor: pointer; font-size: var(--t-small); font-weight: 600; border-radius: 999px; background: var(--surface); transition: background-color 180ms ease; }
.b-academies .cy-menu summary::-webkit-details-marker { display: none; }
.b-academies .cy-menu summary:hover, .b-academies .cy-menu[open] summary { background: var(--surface-2); }
.b-academies .cy-menu__pop { position: absolute; right: 0; top: calc(100% + 8px); display: grid; min-width: 240px; padding: 8px; background: var(--ink); color: var(--paper); transform-origin: top right; animation: cy-pop 200ms var(--ease); }
.b-academies .cy-menu__pop a { display: flex; align-items: center; min-height: 46px; padding: 0 14px; text-decoration: none; font-weight: 500; }
.b-academies .cy-menu__pop a:hover, .b-academies .cy-menu__pop a[aria-current] { background: var(--night-3); }
@keyframes cy-pop { from { opacity: 0; transform: scale(.96) translateY(-4px); } }

/* hero masthead: a gutterless mosaic, the title on the column line */
.b-academies .cy-mosaic { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); grid-template-areas: "a a b c d d" "e f b c g h"; height: clamp(340px, 52svh, 560px); }
.b-academies .cy-m-a { grid-area: a; } .b-academies .cy-m-b { grid-area: b; } .b-academies .cy-m-c { grid-area: c; } .b-academies .cy-m-d { grid-area: d; }
.b-academies .cy-m-e { grid-area: e; } .b-academies .cy-m-f { grid-area: f; } .b-academies .cy-m-g { grid-area: g; } .b-academies .cy-m-h { grid-area: h; }
.b-academies .cy-m-i { display: none; }
.b-academies .cy-cell--ink { background: var(--ink); } .b-academies .cy-cell--sage { background: var(--sage); }
.b-academies .cy-cell--yel { background: var(--yel); } .b-academies .cy-cell--acc { background: var(--acc); }
.b-academies a.cy-m-g { display: flex; flex-direction: column; justify-content: flex-end; gap: 6px; padding: 18px; color: var(--ink); text-decoration: none; transition: background-color 180ms ease; }
.b-academies a.cy-m-g b { font-size: var(--t-body); font-weight: 600; letter-spacing: -.02em; line-height: 1.15; }
.b-academies a.cy-m-g span { font-size: var(--t-small); line-height: 1.35; }
.b-academies a.cy-m-g:hover { background: #e4f300; }
.b-academies .cy-m-c img { object-position: 30% 50%; }
.b-academies .cy-mast { display: grid; grid-template-columns: var(--ax) minmax(0, 1fr); padding: clamp(48px, 7vw, 110px) var(--m) var(--sec); }
.b-academies .cy-mast__stand { max-width: 30ch; padding-right: 24px; font-size: var(--t-lead); line-height: 1.35; letter-spacing: -.015em; }
.b-academies .cy-h1 { font-size: var(--t-display); line-height: .92; }
.b-academies .cy-lines .cy-line { display: block; overflow: hidden; padding-bottom: .09em; margin-bottom: -.09em; }
.b-academies .cy-lines .cy-line > span { display: block; }
.b-academies .cy-mast__go { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; margin-top: 40px; }
.b-academies .cy-mast__cap { max-width: 52ch; margin-top: 44px; font-size: var(--t-small); color: var(--muted); }

/* inner page head: a one-row strip, then the same masthead */
.b-academies .cy-strip { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); height: clamp(150px, 24svh, 240px); }
.b-academies .cy-phead .cy-mast { padding-bottom: clamp(72px, 8vw, 128px); }

/* plans: two fields meeting at a hard edge */
.b-academies .cy-plans { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
.b-academies .cy-plan { display: flex; flex-direction: column; min-height: min(90svh, 860px); padding: clamp(28px, 3vw, 44px) var(--m); }
.b-academies .cy-plan--ft { order: 2; background: var(--acc); }
.b-academies .cy-plan--pt { order: 1; background: var(--sage); }
.b-academies .cy-plan__who { max-width: 26ch; margin-top: 20px; font-size: var(--t-lead); line-height: 1.3; letter-spacing: -.015em; }
.b-academies .cy-plan__inc { max-width: 46ch; margin-top: 28px; }
.b-academies .cy-plan__foot { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px; margin-top: auto; padding-top: 48px; }
.b-academies .cy-plan__p { font-size: var(--t-display); font-weight: 600; letter-spacing: -.05em; line-height: .85; font-variant-numeric: tabular-nums; }
.b-academies .cy-plan__p span { margin-left: .5em; font-size: var(--t-small); font-weight: 500; letter-spacing: 0; }

/* how it works: lines that step across */
.b-academies .cy-stairs { padding: var(--sec) var(--m); }
.b-academies .cy-stairs__l { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); row-gap: 56px; margin: 0; padding: 0; list-style: none; }
.b-academies .cy-stairs__l > li:nth-child(1) { grid-column: 1 / -1; } .b-academies .cy-stairs__l > li:nth-child(2) { grid-column: 3 / -1; }
.b-academies .cy-stairs__l > li:nth-child(3) { grid-column: 5 / -1; } .b-academies .cy-stairs__l > li:nth-child(4) { grid-column: 7 / -1; }
.b-academies .cy-stairs h2, .b-academies .cy-stairs__h { font-family: var(--b-d); font-size: var(--t-head); font-weight: 600; letter-spacing: -.04em; line-height: 1; }
.b-academies .cy-stairs__l li > p:not(.cy-stairs__h) { max-width: 36ch; margin-top: 14px; }
.b-academies .cy-stairs__l li > p:not(.cy-stairs__h) .cy-tl { color: var(--ink); }

/* the cost split: a pale statement cell beside the dark calculator */
.b-academies .cy-cost, .b-academies .cy-split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); min-height: 90svh; }
.b-academies .cy-split { grid-template-columns: 1fr 1fr; }
.b-academies .cy-cost__cell, .b-academies .cy-split__cell { display: flex; flex-direction: column; padding: clamp(28px, 3vw, 44px) var(--m); background: var(--surface); }
.b-academies .cy-zig span { display: block; }
.b-academies .cy-zig span + span { text-align: right; }
.b-academies .cy-cost__foot, .b-academies .cy-split__foot { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 24px; margin-top: auto; padding-top: 56px; }
.b-academies .cy-cost__foot p, .b-academies .cy-split__foot p { max-width: 32ch; }
.b-academies .cy-cost__tool { background: var(--night); }

/* ---------------------------------------------------------------- the signature calculator (a real interface fragment) */
.b-academies .cy-calc { container-type: inline-size; background: var(--night); color: var(--on-night); font-variant-numeric: tabular-nums; }
.b-academies .cy-calc__in { display: grid; gap: 36px; padding: clamp(20px, 3vw, 44px) clamp(16px, 3vw, 44px); }
@container (min-width: 760px) { .b-academies .cy-calc__in { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 44px; } .b-academies .cy-calc__out { position: sticky; top: 24px; align-self: start; } }
.b-academies .cy-calc__k { display: block; margin: 0 0 10px; padding: 0; font-size: var(--t-small); font-weight: 500; color: var(--night-mute); }
.b-academies .cy-calc__k:not(:first-child) { margin-top: 26px; }
.b-academies .cy-seg { display: flex; flex-wrap: wrap; gap: 4px; }
.b-academies .cy-seg button { flex: 1 1 0; min-width: 120px; min-height: 60px; display: grid; align-content: center; gap: 2px; padding: 10px 14px; border: 0; border-radius: 0; background: var(--night-2); color: var(--on-night); font: inherit; text-align: left; cursor: pointer; transition: background-color 180ms ease, color 180ms ease; }
.b-academies .cy-seg button b { font-size: var(--t-body); font-weight: 600; letter-spacing: -.02em; line-height: 1.2; }
.b-academies .cy-seg button span { font-size: var(--t-small); color: var(--night-mute); line-height: 1.3; }
.b-academies .cy-seg button:hover { background: var(--night-3); }
.b-academies .cy-seg button[aria-checked="true"] { background: var(--paper); color: var(--ink); }
.b-academies .cy-seg button[aria-checked="true"] span { color: var(--muted); }
.b-academies .cy-seg--co button { min-width: 140px; }
.b-academies .cy-seg--sm button { min-height: 48px; }
.b-academies .cy-opts { margin: 26px 0 0; padding: 0; border: 0; min-width: 0; }
.b-academies .cy-opts legend { margin-bottom: 10px; }
.b-academies .cy-opt { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; grid-template-areas: "r n t" "r d d" "r bar bar"; gap: 4px 12px; align-items: baseline; padding: 14px 16px; margin-bottom: 4px; background: var(--night-2); cursor: pointer; transition: background-color 180ms ease, color 180ms ease; }
.b-academies .cy-opt:hover { background: var(--night-3); }
.b-academies .cy-opt input { grid-area: r; width: 20px; height: 20px; margin: 0; align-self: start; margin-top: 2px; accent-color: var(--acc); }
.b-academies .cy-opt__n { grid-area: n; font-weight: 600; letter-spacing: -.02em; }
.b-academies .cy-opt__d { grid-area: d; font-size: var(--t-small); color: var(--night-mute); line-height: 1.35; }
.b-academies .cy-opt__t { grid-area: t; font-size: var(--t-body); font-weight: 600; }
.b-academies .cy-opt__bar { grid-area: bar; display: block; height: 6px; margin-top: 8px; background: rgba(255,255,255,.1); }
.b-academies .cy-opt__bar i { display: block; height: 100%; width: calc(var(--w) * 100%); background: var(--night-mute); transition: width 500ms var(--ease); }
.b-academies .cy-opt:has(input:checked) { background: var(--paper); color: var(--ink); }
.b-academies .cy-opt:has(input:checked) .cy-opt__d { color: var(--muted); }
.b-academies .cy-opt:has(input:checked) .cy-opt__bar { background: var(--surface-2); }
.b-academies .cy-opt:has(input:checked) .cy-opt__bar i { background: var(--acc); }
.b-academies .cy-term { margin-top: 18px; }
.b-academies .cy-term > span { display: block; margin-bottom: 10px; font-size: var(--t-small); color: var(--night-mute); }
.b-academies .cy-term[hidden] { display: none; }
.b-academies .cy-calc__big { margin: 0; font-size: var(--t-head); font-weight: 600; letter-spacing: -.05em; line-height: 1; }
.b-academies .cy-calc__line { margin-top: 14px; max-width: 40ch; }
.b-academies .cy-tila { display: grid; grid-template-columns: 1fr 1fr; margin: 28px 0 0; border: 1px solid rgba(255,255,255,.4); } /* taste-skill-ignore: code, the menu overlay, the federal disclosure box */
.b-academies .cy-tila > div { padding: 14px; border: 1px solid rgba(255,255,255,.4); margin: -.5px; } /* taste-skill-ignore: code, the menu overlay, the federal disclosure box */
.b-academies .cy-tila dt { font-size: var(--t-small); font-weight: 600; line-height: 1.2; }
.b-academies .cy-tila dd { margin: 8px 0 6px; font-size: var(--t-lead); font-weight: 600; letter-spacing: -.03em; }
.b-academies .cy-tila p { font-size: var(--t-small); line-height: 1.35; color: var(--night-mute); }
.b-academies .cy-calc__seat { margin: 26px 0 16px; padding: 14px 16px; background: var(--yel); color: var(--ink); line-height: 1.4; }
.b-academies .cy-calc__fine { margin-top: 14px; font-size: var(--t-small); line-height: 1.45; color: var(--night-mute); }
.b-academies .cy-calc .cy-btn:focus-visible, .b-academies .cy-calc button:focus-visible, .b-academies .cy-calc input:focus-visible { outline-color: var(--yel); }
.b-academies .cy-calc.is-tick .cy-calc__big { animation: cy-tick 420ms var(--ease); }
@keyframes cy-tick { from { opacity: .35; transform: translateY(6px); } }

/* stats: one photograph and two figure tiles */
.b-academies .cy-stats { padding: var(--sec) 0 0; }
.b-academies .cy-stats__h { padding: 0 var(--m) 40px; }
.b-academies .cy-stats__m { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); grid-template-rows: 1fr 1fr; height: min(64vw, 92svh); }
.b-academies .cy-stats__ph { grid-row: 1 / 3; }
.b-academies .cy-tile { display: flex; flex-direction: column; gap: 16px; padding: 28px; text-decoration: none; transition: background-color 180ms ease; }
.b-academies .cy-tile b { font-size: var(--t-head); font-weight: 600; letter-spacing: -.05em; line-height: .9; }
.b-academies .cy-tile span { max-width: 28ch; }
.b-academies .cy-tile--yel { background: var(--yel); color: var(--ink); } .b-academies .cy-tile--yel:hover { background: #e4f300; }
.b-academies .cy-tile--ink { background: var(--ink); color: var(--paper); } .b-academies .cy-tile--ink:hover { background: #262626; }
.b-academies .cy-stats__note { padding: 20px var(--m) 0; max-width: 70ch; font-size: var(--t-small); color: var(--muted); }

/* agenda: day tabs and banded sessions */
.b-academies .cy-agenda { padding: var(--sec) var(--m); }
.b-academies .cy-agenda__top { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 56px; }
.b-academies .cy-agenda__h span { display: block; } .b-academies .cy-agenda__h span:first-child { color: var(--muted); }
.b-academies .cy-tabs { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 40px; }
.b-academies .cy-tabs__l { display: grid; align-content: start; gap: 6px; }
.b-academies .cy-tabs__l button { display: grid; align-content: center; gap: 2px; min-height: 64px; padding: 0 16px; border: 0; background: var(--surface); color: var(--ink); font: inherit; text-align: left; cursor: pointer; transition: background-color 180ms ease, color 180ms ease; }
.b-academies .cy-tabs__l button b { font-size: var(--t-body); font-weight: 600; }
.b-academies .cy-tabs__l button span { font-size: var(--t-small); color: var(--muted); }
.b-academies .cy-tabs__l button:hover { background: var(--surface-2); }
.b-academies .cy-tabs__l button[aria-selected="true"] { background: var(--ink); color: var(--paper); }
.b-academies .cy-tabs__l button[aria-selected="true"] span { color: var(--night-mute); }
.b-academies .cy-bands { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
.b-academies .cy-bands[hidden] { display: none; }
.b-academies .cy-bands li { display: grid; grid-template-columns: 110px minmax(0, 1fr) minmax(0, 220px); align-items: center; gap: 16px; min-height: 76px; padding: 12px 20px; background: var(--surface); animation: cy-band 360ms var(--ease) both; }
.b-academies .cy-bands li:nth-child(even) { background: var(--surface-2); }
.b-academies .cy-bands li:nth-child(2) { animation-delay: 40ms; } .b-academies .cy-bands li:nth-child(3) { animation-delay: 80ms; }
.b-academies .cy-bands li:nth-child(4) { animation-delay: 120ms; } .b-academies .cy-bands li:nth-child(5) { animation-delay: 160ms; }
@keyframes cy-band { from { opacity: 0; transform: translateX(-12px); } }
.b-academies .cy-bands time { font-size: var(--t-lead); font-weight: 600; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.b-academies .cy-bands__t { display: grid; gap: 2px; } .b-academies .cy-bands__t b { font-weight: 600; letter-spacing: -.01em; line-height: 1.25; }
.b-academies .cy-bands__t span { font-size: var(--t-small); color: var(--muted); }
.b-academies .cy-bands__w { font-size: var(--t-small); text-align: right; }
.b-academies .cy-tabs__note { margin-top: 16px; font-size: var(--t-small); color: var(--muted); }

/* about: side facts beside a wide paragraph, then the record */
.b-academies .cy-about { padding: var(--sec) var(--m); background: var(--surface); }
.b-academies .cy-about--paper { background: var(--paper); }
.b-academies .cy-about__r1, .b-academies .cy-about__r2 { display: grid; grid-template-columns: var(--ax) minmax(0, 1fr); }
.b-academies .cy-about__r2 { margin-top: 120px; grid-template-columns: var(--ax) minmax(0, 1fr) minmax(0, 1fr); column-gap: 64px; }
.b-academies .cy-facts { display: grid; align-content: start; gap: 20px; margin: 0; padding-right: 24px; }
.b-academies .cy-facts dt { font-size: var(--t-small); color: var(--muted); }
.b-academies .cy-facts dd { margin: 2px 0 0; font-size: var(--t-small); font-weight: 600; }
.b-academies .cy-about__p { max-width: 54ch; font-size: var(--t-lead); line-height: 1.35; letter-spacing: -.015em; }
.b-academies .cy-about__w { font-size: var(--t-small); font-weight: 600; }
.b-academies .cy-rec { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; align-content: start; }
.b-academies .cy-rec li { display: flex; justify-content: space-between; gap: 20px; font-size: var(--t-small); }
.b-academies .cy-rec li span:last-child { color: var(--muted); text-align: right; white-space: nowrap; }
.b-academies .cy-about__more { grid-column: 2; margin-top: 24px; }

/* faq: a band per question */
.b-academies .cy-faq__head { display: flex; align-items: flex-end; min-height: 40svh; padding: 40px var(--m); background: var(--acc); }
.b-academies .cy-faq__head h2 { font-size: var(--t-display); }
.b-academies .cy-faq__b { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 24px; padding: 56px var(--m); background: var(--paper); }
.b-academies .cy-faq__b:nth-child(odd) { background: var(--surface); }
.b-academies .cy-faq__b h3 { grid-column: 1 / 6; } .b-academies .cy-faq__b p { grid-column: 7 / 13; max-width: 56ch; }

/* close: three photographs, then a field */
.b-academies .cy-cta__strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); height: 40svh; min-height: 260px; }
.b-academies .cy-cta__band { position: relative; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-content: start; min-height: 44svh; padding: 44px var(--m) 48px; background: var(--sage); }
.b-academies .cy-cta__s { grid-column: 1 / 8; font-size: var(--t-lead); line-height: 1.3; letter-spacing: -.015em; }
.b-academies .cy-cta__s a { text-decoration-thickness: 4px; text-underline-offset: 6px; font-weight: 600; }
.b-academies .cy-cta__s a:hover { text-underline-offset: 9px; }
.b-academies .cy-cta__m { grid-column: 1 / 8; margin-top: 32px; font-size: var(--t-small); }
.b-academies .cy-cta__pt { position: absolute; right: 40px; bottom: 40px; width: 150px; aspect-ratio: 4 / 5; }

/* footer: the address is the headline */
.b-academies .cy-foot { display: flex; flex-direction: column; min-height: 90svh; padding: 40px var(--m) 28px; background: var(--yel); color: var(--ink); }
.b-academies .cy-foot__top { display: grid; grid-template-columns: auto repeat(3, minmax(0, 1fr)) auto; gap: 24px; align-items: start; font-size: var(--t-small); }
.b-academies .cy-foot__top p { max-width: 30ch; margin: 0; }
.b-academies .cy-foot__mark { display: inline-flex; align-items: center; gap: .3em; font-size: var(--t-lead); text-decoration: none; }
.b-academies .cy-foot__up { min-height: 44px; display: inline-flex; align-items: flex-start; font-weight: 600; }
.b-academies .cy-foot__mail { display: block; margin-top: auto; padding-top: 80px; font-size: var(--t-display); font-weight: 600; letter-spacing: -.05em; line-height: .95; text-decoration: none; }
.b-academies .cy-foot__mail span { display: block; }
.b-academies .cy-foot__mail:hover { text-decoration: underline; text-decoration-thickness: 6px; text-underline-offset: 10px; }
.b-academies .cy-foot__meta { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) auto; gap: 24px; align-items: end; margin-top: 44px; font-size: var(--t-small); }
.b-academies .cy-foot__meta nav { display: flex; flex-wrap: wrap; gap: 0 16px; }
.b-academies .cy-foot__meta nav a { min-height: 44px; display: inline-flex; align-items: center; }
.b-academies .cy-foot__meta p { margin: 0; max-width: 64ch; }

/* text pages: side note in the left zone, the title on the column line */
.b-academies .cy-text { display: grid; grid-template-columns: var(--ax) minmax(0, 1fr); padding: var(--sec) var(--m); }
.b-academies .cy-text__side p { max-width: 28ch; padding-right: 24px; font-size: var(--t-small); color: var(--muted); }
.b-academies .cy-text__main > h2 { margin-bottom: 32px; }
.b-academies .cy-text__main > p { max-width: 62ch; }
.b-academies .cy-text__main > p + .cy-code, .b-academies .cy-text__main > .cy-code + p { margin-top: 28px; }
.b-academies .cy-text--wide .cy-tw { margin-left: calc(-1 * var(--ax)); }
.b-academies .cy-text__note { margin-top: 28px; max-width: 62ch; }

/* tables: real data, so real lines */
.b-academies .cy-tw { overflow-x: auto; }
.b-academies .cy-table { width: 100%; border-collapse: collapse; font-size: var(--t-small); font-variant-numeric: tabular-nums; }
.b-academies .cy-table caption { padding-bottom: 12px; text-align: left; font-weight: 600; font-size: var(--t-body); }
.b-academies .cy-table th, .b-academies .cy-table td { padding: 12px 12px 12px 0; text-align: left; vertical-align: top; border-bottom: 1px solid rgba(23,23,23,.18); }
.b-academies .cy-table thead th { font-weight: 600; vertical-align: bottom; border-bottom: 2px solid var(--ink); }
.b-academies .cy-table tbody th { font-weight: 600; }
.b-academies .cy-table td span, .b-academies .cy-table th span { display: block; color: var(--muted); font-weight: 400; }
.b-academies .cy-table tfoot th, .b-academies .cy-table tfoot td { font-weight: 600; border-bottom: 0; border-top: 2px solid var(--ink); }
.b-academies .cy-out { min-width: 980px; }
.b-academies .cy-tw--two { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.b-academies .cy-seats { display: inline-block; width: 64px; height: 8px; margin-right: 10px; background: var(--surface-2); vertical-align: middle; }
.b-academies .cy-seats i { display: block; height: 100%; width: calc(var(--w) * 100%); background: var(--ink); }

/* colour fields: one figure, one block of content */
.b-academies .cy-field { display: grid; grid-template-columns: var(--ax) minmax(0, 1fr); padding: var(--sec) var(--m); color: var(--ink); }
.b-academies .cy-field--sage { background: var(--sage); } .b-academies .cy-field--yel { background: var(--yel); } .b-academies .cy-field--acc { background: var(--acc); }
.b-academies .cy-fig { font-size: var(--t-display); font-weight: 600; letter-spacing: -.05em; line-height: .9; font-variant-numeric: tabular-nums; }
.b-academies .cy-field__fig { padding-right: 32px; }
.b-academies .cy-field__cap { max-width: 30ch; margin-top: 24px; }
.b-academies .cy-field__tab > h2 { margin-bottom: 28px; }
.b-academies .cy-field__tab > p { max-width: 60ch; margin-bottom: 24px; }
.b-academies .cy-field__fine { margin-top: 20px; font-size: var(--t-small); max-width: 60ch; }
.b-academies .cy-field .cy-table th, .b-academies .cy-field .cy-table td { border-bottom-color: rgba(23,23,23,.28); }
.b-academies .cy-big { grid-column: 1 / -1; display: grid; grid-template-columns: var(--ax) minmax(0, 1fr); align-items: end; }
.b-academies .cy-big__s { max-width: 40ch; font-size: var(--t-lead); line-height: 1.3; letter-spacing: -.015em; }

/* night band */
.b-academies .cy-night { padding: var(--sec) var(--m); background: var(--night); color: var(--on-night); }
.b-academies .cy-night > h2 { margin: 0 0 56px var(--ax); }
.b-academies .cy-night__note { max-width: 60ch; margin: 40px 0 0 var(--ax); color: var(--night-mute); }
.b-academies .cy-funnel { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.b-academies .cy-funnel li { display: grid; grid-template-columns: var(--ax) minmax(0, 1fr); align-items: center; }
.b-academies .cy-funnel__n { grid-row: 1; grid-column: 1; font-size: var(--t-lead); font-weight: 600; }
.b-academies .cy-funnel__t { grid-row: 2; grid-column: 1; font-size: var(--t-small); color: var(--night-mute); }
.b-academies .cy-funnel i { grid-row: 1 / 3; grid-column: 2; display: block; height: 56px; width: calc(var(--w) * 100%); background: var(--on-night); transform-origin: left; transition: transform 900ms var(--ease); }
.b-academies .cy-funnel li:nth-child(4) i, .b-academies .cy-funnel li:nth-child(5) i { background: var(--yel); }
.rv-on .b-academies .cy-funnel:not(.is-in) i { transform: scaleX(.05); }

/* methodology */
.b-academies .cy-meth { display: grid; grid-template-columns: var(--ax) minmax(0, 1fr); padding: var(--sec) var(--m); }
.b-academies .cy-meth__head p { max-width: 26ch; margin-top: 24px; padding-right: 24px; }
.b-academies .cy-meth__l { display: grid; grid-template-columns: 1fr 1fr; gap: 44px 48px; margin: 0; }
.b-academies .cy-meth__l dt { font-size: var(--t-lead); font-weight: 600; letter-spacing: -.02em; }
.b-academies .cy-meth__l dd { margin: 10px 0 0; max-width: 46ch; }
.b-academies .cy-endband { display: grid; grid-template-columns: var(--ax) minmax(0, 1fr); padding: 96px var(--m); background: var(--sage); }
.b-academies .cy-endband__s { grid-column: 2; max-width: 34ch; font-size: var(--t-lead); line-height: 1.3; letter-spacing: -.015em; }
.b-academies .cy-endband__s a { font-weight: 600; text-decoration-thickness: 4px; text-underline-offset: 6px; }

/* syllabus */
.b-academies .cy-syll { padding: var(--sec) var(--m); }
.b-academies .cy-syll__l { margin: 0; padding: 0; list-style: none; display: grid; gap: 120px; }
.b-academies .cy-unit { display: grid; grid-template-columns: var(--ax) minmax(0, 1fr); }
.b-academies .cy-unit__side { padding-right: 32px; }
.b-academies .cy-unit__side h2 { font-size: var(--t-head); margin-bottom: 20px; }
.b-academies .cy-unit__side p { max-width: 30ch; font-size: var(--t-small); }
.b-academies .cy-weeks { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }
.b-academies .cy-weeks li { padding: 24px; background: var(--surface); }
.b-academies .cy-weeks li:nth-child(4n+2), .b-academies .cy-weeks li:nth-child(4n+3) { background: var(--surface-2); }
.b-academies .cy-weeks b { display: block; margin-bottom: 8px; font-size: var(--t-lead); letter-spacing: -.03em; }
.b-academies .cy-weeks__b { margin-top: 12px; font-size: var(--t-small); font-weight: 600; }

/* split rows */
.b-academies .cy-rows { display: grid; grid-auto-rows: 1fr; background: var(--night); color: var(--on-night); }
.b-academies .cy-row { display: grid; grid-template-columns: 5fr 4fr 3fr; align-items: start; gap: 20px; padding: 28px; background: var(--night); }
.b-academies .cy-row:nth-child(even) { background: var(--night-2); }
.b-academies .cy-row h3 { font-size: var(--t-lead); }
.b-academies .cy-row p { font-size: var(--t-body); }
.b-academies .cy-row__terms { font-size: var(--t-small) !important; color: var(--night-mute); }
.b-academies .cy-split__code { display: flex; align-items: center; padding: clamp(24px, 4vw, 64px); background: var(--night); }

/* code: the one place for the mono face */
.b-academies .cy-code { margin: 0; padding: 22px 24px; overflow-x: auto; background: var(--night); color: #ececec; font: 400 var(--t-small)/1.65 var(--mono); tab-size: 2; } /* taste-skill-ignore: code, the menu overlay, the federal disclosure box */
.b-academies .cy-code code { font-size: inherit; }
.b-academies .cy-code--dark { width: 100%; padding: 0; background: transparent; }

/* steps */
.b-academies .cy-steps { padding: var(--sec) 0; }
.b-academies .cy-steps__h { padding: 0 var(--m) 48px; margin-left: var(--ax); }
.b-academies .cy-steps__l { margin: 0; padding: 0; list-style: none; }
.b-academies .cy-steps__l li { display: grid; grid-template-columns: var(--ax) minmax(0, 220px) minmax(0, 1fr); gap: 0 24px; align-items: baseline; padding: 32px var(--m); background: var(--surface); }
.b-academies .cy-steps__l li:nth-child(even) { background: var(--paper); }
.b-academies .cy-steps__d { font-size: var(--t-lead); font-weight: 600; letter-spacing: -.03em; }
.b-academies .cy-steps__l li > p:last-child { max-width: 52ch; margin: 0; }
.b-academies .cy-steps__go { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; padding: 48px var(--m) 0 calc(var(--ax) + var(--m)); }

/* deposit */
.b-academies .cy-dep .cy-field__fig { align-self: start; }
.b-academies .cy-dep__h { margin-top: 12px; }
.b-academies .cy-dep__b { max-width: 60ch; }
.b-academies .cy-dep__b .cy-btn { margin-top: 28px; }
.b-academies .cy-dep__for { font-size: var(--t-lead); line-height: 1.3; letter-spacing: -.015em; margin-bottom: 20px; }

/* readiness check */
.b-academies .cy-check { display: grid; grid-template-columns: var(--ax) minmax(0, 1fr); padding: var(--sec) var(--m); background: var(--surface); }
.b-academies .cy-check__side { padding-right: 32px; }
.b-academies .cy-check__side h2 { margin-bottom: 24px; }
.b-academies .cy-check__side p { max-width: 34ch; }
.b-academies .cy-ready { max-width: 760px; }
.b-academies .cy-rq { margin: 0 0 28px; padding: 0; border: 0; min-width: 0; }
.b-academies .cy-rq legend { padding: 0; margin-bottom: 14px; font-weight: 600; letter-spacing: -.01em; }
.b-academies .cy-rq__o { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin-top: 4px; }
.b-academies .cy-rq__o label { display: flex; align-items: center; gap: 12px; min-height: 56px; padding: 10px 16px; background: var(--paper); cursor: pointer; transition: background-color 180ms ease, color 180ms ease; }
.b-academies .cy-rq__o label:hover { background: var(--surface-2); }
.b-academies .cy-rq__o input { width: 20px; height: 20px; margin: 0; flex: none; accent-color: var(--ink); }
.b-academies .cy-rq[data-rq]:not([data-rq="h"]) .cy-rq__o span { font-family: var(--mono); font-size: var(--t-small); } /* taste-skill-ignore: code, the menu overlay, the federal disclosure box */
.b-academies .cy-rq__o label.is-right { background: var(--sage); }
.b-academies .cy-rq__o label.is-wrong { background: #ffd8c9; }
.b-academies .cy-rq__why { margin-top: 12px; padding: 14px 16px; background: var(--paper); }
.b-academies .cy-rq__why b { font-weight: 600; }
.b-academies .cy-ready.is-step .cy-rq:not(.is-cur) { display: none; }
.b-academies .cy-ready.is-step .cy-ready__f > .cy-btn { display: none; }
.b-academies .cy-ready.is-step.is-last .cy-ready__f > .cy-btn { display: inline-flex; }
.b-academies .cy-ready__bar { display: block; height: 6px; margin-bottom: 24px; background: var(--surface-2); }
.b-academies .cy-ready__bar i { display: block; height: 100%; width: calc(var(--p, 0) * 100%); background: var(--ink); transition: width 400ms var(--ease); }
.b-academies .cy-ready__next { margin-top: 16px; }
.b-academies .cy-ready__res { padding: 32px; background: var(--yel); }
.b-academies .cy-ready__res h3 { font-size: var(--t-head); margin-bottom: 18px; letter-spacing: -.04em; line-height: .95; }
.b-academies .cy-ready__res p { max-width: 50ch; }
.b-academies .cy-ready__res .cy-row-go { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 24px; }
.b-academies .cy-ready__res button { border: 0; background: none; font: inherit; font-weight: 500; text-decoration: underline; cursor: pointer; min-height: 44px; color: var(--ink); }

/* forms */
.b-academies .cy-join { align-items: start; }
.b-academies .cy-join__t p { max-width: 30ch; margin-top: 20px; padding-right: 24px; }
.b-academies .cy-form { display: grid; gap: 14px; max-width: 620px; }
.b-academies .cy-form label > span { display: block; margin-bottom: 6px; font-size: var(--t-small); font-weight: 600; }
.b-academies .cy-form input:not([type=checkbox]), .b-academies .cy-form select { width: 100%; min-height: 52px; padding: 0 14px; border: 1.5px solid var(--ink); border-radius: 0; background: var(--paper); color: var(--ink); font: inherit; }
.b-academies .cy-form input:focus-visible, .b-academies .cy-form select:focus-visible { outline: 3px solid var(--ink); outline-offset: 2px; }
.b-academies .cy-form input[aria-invalid="true"] { border-color: #b3261e; border-width: 2.5px; }
.b-academies .cy-form .cy-btn { justify-self: start; margin-top: 8px; }
.b-academies .cy-form__ok { display: flex; gap: 12px; align-items: flex-start; }
.b-academies .cy-form__ok input { width: 22px; height: 22px; margin: 2px 0 0; flex: none; accent-color: var(--acc); }
.b-academies .cy-form__ok span { font-size: var(--t-small); font-weight: 400 !important; line-height: 1.45; }
.b-academies .cy-form__done { padding: 16px; background: var(--paper); color: var(--ink); font-weight: 500; }
.b-academies .cy-form--night input:not([type=checkbox]), .b-academies .cy-form--night select { background: var(--night-2); border-color: #6d6d6d; color: var(--on-night); }
.b-academies .cy-form--night input:focus-visible, .b-academies .cy-form--night select:focus-visible { outline-color: var(--yel); }
.b-academies .cy-reg { display: grid; grid-template-columns: var(--ax) minmax(0, 1fr); gap: 48px 0; }
.b-academies .cy-reg__t { grid-column: 2; }
.b-academies .cy-reg__t h2 { margin-bottom: 32px; }
.b-academies .cy-reg__f { grid-column: 2; max-width: 620px; margin-top: 56px; }
.b-academies .cy-reg__f h3 { margin-bottom: 20px; }
.b-academies .cy-tline { margin: 0; padding: 0; list-style: none; display: grid; gap: 4px; }
.b-academies .cy-tline li { display: grid; grid-template-columns: minmax(0, 200px) minmax(0, 1fr); gap: 16px; padding: 14px 16px; background: var(--night-2); }
.b-academies .cy-tline li:nth-child(even) { background: var(--night-3); }
.b-academies .cy-tline b { font-weight: 600; }

/* instructors */
.b-academies .cy-team { padding: var(--sec) var(--m); }
.b-academies .cy-team__l { margin: 0; padding: 0; list-style: none; display: grid; gap: 120px; }
.b-academies .cy-person { display: grid; grid-template-columns: var(--ax) minmax(0, 1fr); align-items: start; }
.b-academies .cy-person__ph { width: min(100%, 340px); aspect-ratio: 4 / 5; }
.b-academies .cy-person__t h2 { font-size: var(--t-head); }
.b-academies .cy-person__r { margin-top: 12px; font-size: var(--t-lead); color: var(--muted); letter-spacing: -.015em; }
.b-academies .cy-facts--row { grid-template-columns: minmax(0, 160px) minmax(0, 1fr); gap: 20px 32px; margin: 32px 0 24px; max-width: 640px; }
.b-academies .cy-person__t > p:last-child { max-width: 56ch; }

.b-academies .cy-sigsec { background: var(--night); }

/* the calculator inside the Jefi case page */
.wk-sigwrap.b-academies { font: 400 17px/1.5 var(--b-t); color: var(--on-night); }
.wk-sigwrap.b-academies p { margin: 0; }

/* ---------------------------------------------------------------- motion */
@media (prefers-reduced-motion: no-preference) {
  .b-academies .cy-lines .cy-line > span { transform: translateY(105%); animation: cy-up 900ms var(--ease) forwards; animation-delay: calc(var(--i) * 110ms + 150ms); }
  .b-academies .cy-mast__stand, .b-academies .cy-mast__go, .b-academies .cy-mast__cap { animation: cy-fade 700ms var(--ease) 420ms both; }
  .b-academies .cy-mosaic > .cy-cell, .b-academies .cy-strip > .cy-cell { animation: cy-open 900ms var(--ease-soft) both; }
  .b-academies .cy-mosaic > :nth-child(2), .b-academies .cy-strip > :nth-child(2) { animation-delay: 60ms; } .b-academies .cy-mosaic > :nth-child(3), .b-academies .cy-strip > :nth-child(3) { animation-delay: 120ms; }
  .b-academies .cy-mosaic > :nth-child(4), .b-academies .cy-strip > :nth-child(4) { animation-delay: 180ms; } .b-academies .cy-mosaic > :nth-child(5), .b-academies .cy-strip > :nth-child(5) { animation-delay: 240ms; }
  .b-academies .cy-mosaic > :nth-child(6), .b-academies .cy-strip > :nth-child(6) { animation-delay: 300ms; } .b-academies .cy-mosaic > :nth-child(7) { animation-delay: 360ms; } .b-academies .cy-mosaic > :nth-child(8) { animation-delay: 420ms; }
  .b-academies .cy-drift img, .b-academies .cy-stats__ph img { animation: cy-drift 22s ease-in-out infinite alternate; }
  .b-academies .cy-tile, .b-academies .cy-ph img { transition: transform 600ms var(--ease-soft), background-color 180ms ease; }
  .b-academies .cy-cta__strip .cy-ph:hover img { transform: scale(1.04); }
}
@keyframes cy-up { to { transform: none; } }
@keyframes cy-fade { from { opacity: 0; transform: translateY(16px); } }
@keyframes cy-open { from { clip-path: inset(0 0 100% 0); } to { clip-path: inset(0 0 0 0); } }
@keyframes cy-drift { from { transform: scale(1); } to { transform: scale(1.09) translateX(-2%); } }
@media (prefers-reduced-motion: reduce) {
  .b-academies .cy-bands li { animation: none; }
  .b-academies .cy-funnel i { transition: none; transform: none !important; }
}

/* ---------------------------------------------------------------- tablet */
@media (max-width: 1100px) {
  .b-academies .cy-head__tab { font-size: 0; }
  .b-academies .cy-head__tab a { display: none; }
  .b-academies .cy-tw--two { grid-template-columns: 1fr; }
  .b-academies .cy-row { grid-template-columns: 1fr; gap: 8px; }
  .b-academies .cy-foot__top { grid-template-columns: auto 1fr 1fr; }
  .b-academies .cy-foot__top p:nth-of-type(3) { grid-column: 2 / 4; }
}
@media (max-width: 900px) {
  .b-academies .cy-cost, .b-academies .cy-split, .b-academies .cy-plans { grid-template-columns: 1fr; }
  .b-academies .cy-plan--ft { order: 1; } .b-academies .cy-plan--pt { order: 2; }
  .b-academies .cy-plan { min-height: 70svh; padding-top: 56px; padding-bottom: 56px; }
  .b-academies .cy-cost__cell, .b-academies .cy-split__cell { min-height: 0; gap: 0; }
  .b-academies .cy-weeks { grid-template-columns: 1fr; }
  .b-academies .cy-weeks li:nth-child(n) { background: var(--surface); } .b-academies .cy-weeks li:nth-child(even) { background: var(--surface-2); }
  .b-academies .cy-meth__l { grid-template-columns: 1fr; }
  .b-academies .cy-about__r2 { grid-template-columns: var(--ax) minmax(0, 1fr); row-gap: 40px; }
  .b-academies .cy-about__r2 .cy-rec + .cy-rec, .b-academies .cy-about__more { grid-column: 2; }
}

/* ---------------------------------------------------------------- phone: its own composition */
@media (max-width: 700px) {
  .b-academies { --ax: 0px; --sec: 88px; }
  .b-academies .cy-head { grid-template-columns: auto 1fr; }
  .b-academies .cy-head__l { min-height: 56px; }
  .b-academies .cy-head__tab { display: none; }
  .b-academies .cy-head__go { display: none; }
  .b-academies .cy-head__r { padding-right: var(--m); }
  .b-academies .cy-mosaic { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-areas: "a a c" "g g b"; height: 40svh; min-height: 280px; }
  .b-academies .cy-m-d, .b-academies .cy-m-e, .b-academies .cy-m-f, .b-academies .cy-m-h { display: none; }
  .b-academies a.cy-m-g { padding: 14px; }
  .b-academies .cy-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); height: 120px; }
  .b-academies .cy-strip > :nth-child(n+4) { display: none; }
  .b-academies .cy-mast, .b-academies .cy-text, .b-academies .cy-field, .b-academies .cy-meth, .b-academies .cy-check, .b-academies .cy-unit,
  .b-academies .cy-person, .b-academies .cy-about__r1, .b-academies .cy-about__r2, .b-academies .cy-big, .b-academies .cy-endband, .b-academies .cy-reg { grid-template-columns: 1fr; }
  .b-academies .cy-mast { padding-top: 36px; }
  .b-academies .cy-mast__t { order: -1; }
  .b-academies .cy-mast__stand { margin-top: 24px; max-width: none; padding: 0; }
  .b-academies .cy-h1 { font-size: var(--t-display); }
  .b-academies .cy-mast__go { margin-top: 28px; }
  .b-academies .cy-mast__go .cy-btn { width: 100%; }
  .b-academies .cy-mast__cap { margin-top: 28px; }
  .b-academies .cy-phead .cy-mast { padding-bottom: 64px; }
  .b-academies .cy-plan__foot { flex-direction: column; align-items: stretch; }
  .b-academies .cy-plan__foot .cy-btn { width: 100%; }
  .b-academies .cy-stairs__l { row-gap: 40px; }
  .b-academies .cy-stairs__l > li:nth-child(n) { grid-column: 1 / -1; }
  .b-academies .cy-stairs__l > li:nth-child(2) { padding-left: 6vw; } .b-academies .cy-stairs__l > li:nth-child(3) { padding-left: 12vw; } .b-academies .cy-stairs__l > li:nth-child(4) { padding-left: 18vw; }
  .b-academies .cy-stairs h2, .b-academies .cy-stairs__h { font-size: var(--t-head); }
  .b-academies .cy-zig span + span { text-align: left; padding-left: 10vw; }
  .b-academies .cy-cost__foot, .b-academies .cy-split__foot { flex-direction: column; align-items: flex-start; }
  .b-academies .cy-stats__m { grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; height: auto; }
  .b-academies .cy-stats__ph { grid-column: 1 / -1; grid-row: 1; aspect-ratio: 4 / 3; }
  .b-academies .cy-tile { min-height: 50vw; padding: 16px; gap: 10px; }
  .b-academies .cy-tile span { font-size: var(--t-small); line-height: 1.35; }
  .b-academies .cy-tabs { grid-template-columns: 1fr; gap: 16px; }
  .b-academies .cy-tabs__l { grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 4px; position: sticky; top: 0; z-index: 2; background: var(--paper); padding: 4px 0; }
  .b-academies .cy-tabs__l button { min-height: 56px; padding: 0 8px; }
  .b-academies .cy-bands li { grid-template-columns: 1fr; gap: 4px; padding: 16px; }
  .b-academies .cy-bands__w { text-align: left; color: var(--muted); }
  .b-academies .cy-about__p { order: -1; margin-bottom: 32px; }
  .b-academies .cy-about__r1 .cy-facts { grid-template-columns: 1fr 1fr; }
  .b-academies .cy-about__r2 { margin-top: 56px; }
  .b-academies .cy-about__r2 .cy-rec + .cy-rec, .b-academies .cy-about__more { grid-column: 1; }
  .b-academies .cy-faq__head { min-height: 30svh; }
  .b-academies .cy-faq__b { grid-template-columns: 1fr; padding: 32px var(--m); }
  .b-academies .cy-faq__b h3, .b-academies .cy-faq__b p { grid-column: 1; }
  .b-academies .cy-faq__b p { margin-top: 12px; }
  .b-academies .cy-cta__strip { grid-template-columns: 1fr 1fr; height: auto; }
  .b-academies .cy-cta__strip > :first-child { grid-column: 1 / -1; aspect-ratio: 4 / 3; }
  .b-academies .cy-cta__strip > :not(:first-child) { aspect-ratio: 1; }
  .b-academies .cy-cta__band { grid-template-columns: 1fr; padding-bottom: 160px; }
  .b-academies .cy-cta__s, .b-academies .cy-cta__m { grid-column: 1; }
  .b-academies .cy-cta__pt { width: 96px; right: var(--m); bottom: 28px; }
  .b-academies .cy-foot__top { grid-template-columns: 1fr; gap: 12px; }
  .b-academies .cy-foot__top p:nth-of-type(3) { grid-column: 1; }
  .b-academies .cy-foot__mail { font-size: var(--t-head); }
  .b-academies .cy-foot__meta { grid-template-columns: 1fr; gap: 16px; }
  .b-academies .cy-text--wide .cy-tw { margin-left: 0; }
  .b-academies .cy-text__side p { margin-bottom: 24px; max-width: none; }
  .b-academies .cy-out { min-width: 0; }
  /* tables become stacked records */
  .b-academies .cy-out thead, .b-academies .cy-board thead, .b-academies .cy-cmp thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .b-academies .cy-out tr, .b-academies .cy-board tr, .b-academies .cy-cmp tr { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; padding: 16px 0; border-bottom: 1px solid rgba(23,23,23,.18); }
  .b-academies .cy-out tfoot tr { border-top: 2px solid var(--ink); }
  .b-academies .cy-out th, .b-academies .cy-out td, .b-academies .cy-board th, .b-academies .cy-board td, .b-academies .cy-cmp th, .b-academies .cy-cmp td { border: 0 !important; padding: 4px 0; }
  .b-academies .cy-out tr > th, .b-academies .cy-board tr > th, .b-academies .cy-cmp tr > th { grid-column: 1 / -1; font-size: var(--t-body); }
  .b-academies .cy-out td::before, .b-academies .cy-board td::before, .b-academies .cy-cmp td::before { content: attr(data-l); display: block; color: var(--muted); font-weight: 400; }
  .b-academies .cy-out td span { display: inline; margin-left: 6px; }
  .b-academies .cy-field__fig { padding: 0 0 32px; }
  .b-academies .cy-big__s { margin-top: 20px; }
  .b-academies .cy-night > h2, .b-academies .cy-steps__h { margin-left: 0; }
  .b-academies .cy-night__note { margin-left: 0; }
  .b-academies .cy-funnel li { grid-template-columns: 1fr; }
  .b-academies .cy-funnel i { grid-row: 3; grid-column: 1; height: 36px; margin: 6px 0 14px; }
  .b-academies .cy-meth__head { margin-bottom: 40px; }
  .b-academies .cy-endband__s { grid-column: 1; }
  .b-academies .cy-syll__l, .b-academies .cy-team__l { gap: 72px; }
  .b-academies .cy-unit__side { padding: 0 0 24px; }
  .b-academies .cy-weeks li { padding: 18px; }
  .b-academies .cy-row { padding: 22px var(--m); }
  .b-academies .cy-steps__l li { grid-template-columns: 1fr; gap: 6px; padding: 24px var(--m); }
  .b-academies .cy-steps__go { padding: 32px var(--m) 0; }
  .b-academies .cy-steps__go .cy-btn { width: 100%; }
  .b-academies .cy-check__side { padding: 0 0 32px; }
  .b-academies .cy-rq__o { grid-template-columns: 1fr; }
  .b-academies .cy-ready__res { padding: 24px 18px; }
  .b-academies .cy-person__ph { width: 70%; margin-bottom: 24px; }
  .b-academies .cy-facts--row { grid-template-columns: 1fr; }
  .b-academies .cy-tline li { grid-template-columns: 1fr; gap: 2px; }
  .b-academies .cy-reg__t, .b-academies .cy-reg__f { grid-column: 1; }
  .b-academies .cy-form .cy-btn { width: 100%; justify-self: stretch; }
  .b-academies .cy-tila > div { padding: 12px 10px; }
  .b-academies .cy-seg button { min-width: 0; flex-basis: calc(50% - 2px); }
  .b-academies .cy-seg--co button { flex-basis: 100%; min-height: 52px; grid-template-columns: auto 1fr; align-items: baseline; column-gap: 12px; }
  .b-academies .cy-seg--co button span { text-align: right; }
}
