/* FIF design system: option 13 "Clean Cut plus", site-wide (round 6, lane A, 12 Nov 2026). Spec: consult5/DESIGN_SYSTEM.md.
   Loaded after every legacy sheet in base.njk; the lane sheets (dept13, learn13, wl13) load after this one.
   Scoped to body.sys13 (base.njk adds it to every page). Light, rounded, Apple-like cards and photo carousels;
   Archivo / FIF Display only (no monospace); yellow only for actions (.b-y, .pb, .x-model .n, focus ring);
   dark only for the player, the hero gradient over a photo and the footer.
   Contrast (WCAG 2.2 AA): #1d1d1f on #f5f5f7 16:1; #4f4f55 on #f5f5f7 7.4:1 (on #fff 8.1:1); #636369 on #f5f5f7 5.4:1. */

/* ---------- 0. one type family: any leftover "IBM Plex Mono" stack now draws Archivo (other sheets still name it) ---------- */
@font-face{font-family:"IBM Plex Mono";src:url(/assets/fonts/archivo-var.woff2) format("woff2-variations"),url(/assets/fonts/archivo-var.woff2) format("woff2");font-weight:100 900;font-stretch:100%;font-display:swap}
@font-face{font-family:"FIF Display";src:url(/assets/fonts/archivo-var.woff2) format("woff2-variations"),url(/assets/fonts/archivo-var.woff2) format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}

/* ---------- 1. tokens ---------- */
.sys13{
  --bg:#f5f5f7;--bg2:#fff;--bg3:#ececf0;
  --ink:#1d1d1f;--ink2:#4f4f55;--ink3:#636369;
  --line:#d2d2d7;--line2:#c7c7cc;
  --y:#ffe600;
  --on-dark:#f4f4f2;--on-dark2:#c9c9c4;
  --r:14px;--r2:22px;--pill:999px;
  --sh:0 4px 20px -10px rgba(0,0,0,.22);--sh2:0 8px 24px -12px rgba(0,0,0,.35);
  --max:1360px;--gut:clamp(16px,4vw,48px);--gap:20px;--rowgap:clamp(40px,6vw,64px);
  --rw:calc(min(100vw,var(--max)) - 2*var(--gut));
  --f-display:"FIF Display",Archivo,sans-serif;--f-body:Archivo,"Helvetica Neue",Arial,sans-serif;--f-mono:Archivo,"Helvetica Neue",Arial,sans-serif;--h-mono:Archivo,"Helvetica Neue",Arial,sans-serif;
  --ds:110%;--dw:800;--dls:-.03em;--hdr:68px;
  --paper:#f5f5f7;--paper-2:#fff;--ink-2:#4f4f55;--grey:#636369;--fif-ink-2:#4f4f55;--fif-line:#d2d2d7
}
/* ---------- 1b. Academy tokens (r8 polish: merged from academy.css). Same colours, radii and shadows as above; the Academy keeps
   its own body stack name (--sans) and a slightly tighter gutter. ---------- */
.sys13 .ac{--sans:"FIF Display","Archivo",Helvetica,Arial,sans-serif;--gut:clamp(16px,4vw,40px)}
html:has(body.sys13){scroll-padding-top:calc(var(--hdr) + 56px)}
body.sys13{background:var(--bg);color:var(--ink);font:400 17px/1.55 var(--f-body)}
body.sys13 main{background:var(--bg)}
.sys13 :focus-visible{outline:3px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 7px var(--y)}
.sys13 .vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- 2. type ---------- */
.sys13 main h1,.sys13 .st-hero-h,.sys13 .phead-h{font-family:var(--f-display);font-weight:var(--dw);font-stretch:var(--ds)!important;letter-spacing:var(--dls);line-height:.98}
.sys13 main h2{font:700 clamp(22px,1rem + .9vw,30px)/1.1 var(--f-body);font-stretch:100%!important;letter-spacing:-.02em}
.sys13 main h3{font:700 20px/1.2 var(--f-body);letter-spacing:-.01em}
.sys13 .kicker,.sys13 .kick,.sys13 .st-k,.sys13 .fif-mk,.sys13 .label{font:600 13px/1.3 var(--f-body);letter-spacing:.09em;text-transform:uppercase;color:var(--ink2)}
.sys13 .lede{font-size:clamp(18px,1rem + .45vw,22px);line-height:1.45;color:var(--ink2);max-width:40rem}
.sys13 .credit,.sys13 .page-updated{font:400 13.5px/1.4 var(--f-body);letter-spacing:0;text-transform:none;color:var(--ink2)}
.sys13 .cnt{font:600 14px var(--f-body);color:var(--ink2)}
@media (max-width:640px){.sys13 main h1,.sys13 .st-hero-h,.sys13 .phead-h{font-size:clamp(34px,10vw,52px);overflow-wrap:break-word}}

/* ---------- 3. legacy neutralisers: no slates, no "SC 01" chips, no grain, fifcopy padding to the row gap ---------- */
.sys13 .sig-slate,.sys13 .st-slate,.sys13 [class*="slate"]:not(.ac-slate){display:none}
.sys13 .sec-h h2::before,.sys13 .st-films>h2::before,.sys13 .st-gallery>h2::before,.sys13 .st-doors>h2::before,.sys13 .st-car-top h2::before,.sys13 .st-fr-head h2::before,.sys13 .st-timeline .wrap>h2::before,.sys13 .st-facts-h::before,.sys13 .st-split-tx>h2::before,.sys13 .st-fs-side-tx>h2::before,.sys13 .st-ctapair h2::before,.sys13 .st-pillarrail h2::before{content:none;display:none}
.sys13 .section{padding-block:var(--rowgap)}

/* ---------- 4. buttons ---------- */
.sys13 .b{border-radius:var(--pill);min-height:48px;padding:12px 22px;font:700 16px/1.1 var(--f-body);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:2px solid transparent;cursor:pointer}
.sys13 .b svg{width:17px;height:17px}
.sys13 .b-y{background:var(--y);color:#000;border-color:var(--y)}
.sys13 .b-y:hover{transform:translateY(-1px);box-shadow:0 6px 14px -6px rgba(0,0,0,.35)}
.sys13 .b-o{background:transparent;color:var(--ink);border-color:var(--ink)}
.sys13 .b-o:hover{background:var(--ink);color:#fff}
.sys13 .ctas{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:24px 0 0}

/* ---------- 5. layout primitives ---------- */
.sys13 .w{max-width:var(--max);margin-inline:auto;padding-inline:var(--gut)}
.sys13 .x-row,.sys13 .x-grid{padding-top:var(--rowgap)}
.sys13 .g{display:grid;gap:var(--gap);grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--min,260px)),1fr));list-style:none;margin-block:0;padding-block:0}
.sys13 .g>li,.sys13 .rail>li{margin:0}
/* r11 design: a grid of two or three cards fills the row (no empty columns); a lone card is shown large, as a feature */
.sys13 .g:where(:not(:has(>li:nth-child(4)))){grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--min,260px)),1fr))}
.sys13 .g:where(:has(>li:only-child)){grid-template-columns:minmax(0,min(100%,calc(var(--min,260px) * 2.4)))}
.sys13 :is(.x-row,.x-grid,.xc,.cc,.door,.pc,.row-h){position:relative}

/* ---------- 6. section header (.row-h) ---------- */
.sys13 .row-h{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.sys13 .row-h h2{margin:0}
.sys13 .row-h .all{margin-left:auto;font:600 14.5px var(--f-body);text-decoration:underline;text-underline-offset:4px;white-space:nowrap;color:var(--ink);min-height:44px;display:inline-flex;align-items:center}
.sys13 .row-h .cue{font:600 13.5px var(--f-body);color:var(--ink2);white-space:nowrap}
.sys13 .row-h .all~.cue{margin-left:0}
.sys13 .row-h .cue:first-of-type:not(.all~.cue){margin-left:auto}
.sys13 .cue i{display:inline-block;font-style:normal;animation:x13nudge 1.6s ease-in-out infinite}
@keyframes x13nudge{50%{transform:translateX(5px)}}
.sys13 .arr{display:flex;gap:8px}
.sys13 .ab{width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:var(--ink);box-shadow:0 2px 10px rgba(0,0,0,.12);font-size:18px;cursor:pointer;display:grid;place-items:center}
.sys13 .ab:hover{background:var(--ink);color:#fff}
.sys13 .ab[disabled]{opacity:.35;cursor:default}
.sys13 .x-note{color:var(--ink2);font-size:15.5px;margin-top:-6px;margin-bottom:14px}
.sys13 .x-row.at-end .cue{visibility:hidden}

/* ---------- 7. carousel (.x-row .rail) ---------- */
.sys13 .x-row .rail{display:flex;gap:var(--gap);overflow-x:auto;scroll-snap-type:x mandatory;list-style:none;margin:0;
  padding:4px max(var(--gut),calc((100vw - var(--max))/2 + var(--gut))) 16px;
  scroll-padding-inline:max(var(--gut),calc((100vw - var(--max))/2 + var(--gut)));scrollbar-width:none}
.sys13 .x-row .rail::-webkit-scrollbar{display:none}
.sys13 .x-row .rail>*{flex:0 0 calc(var(--rw)/var(--per) - var(--gap)*(1 - 1/var(--per)));scroll-snap-align:start;min-width:0}
.sys13 .x-track{display:block;position:relative;height:3px;background:var(--line);border-radius:2px;overflow:hidden}
.sys13 .x-track i{position:absolute;top:0;bottom:0;left:0;width:30%;background:var(--ink);border-radius:2px;transition:left .15s}
@media (max-width:760px){
  .sys13 .x-row .rail>*{flex-basis:calc(var(--rw)/var(--perm) - var(--gap)*(1 - 1/var(--perm)))}
  .sys13 .arr{display:none}
  .sys13 .row-h .cue{margin-left:auto}
}

/* ---------- 8. cards: one family ---------- */
.sys13 .im{display:block;position:relative;overflow:hidden;aspect-ratio:16/9;border-radius:var(--r);background:var(--bg3)}
.sys13 .im img,.sys13 .im picture{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.sys13 :is(.cd,.cc,.dpt,.door):hover .im img{transform:scale(1.04)}
/* video */
.sys13 .cd{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);position:relative;border-radius:var(--r)}
.sys13 .cd .im{box-shadow:var(--sh2)}
.sys13 .cd .tx{display:flex;flex-direction:column;gap:4px;padding-top:11px}
.sys13 .cd .t{font:600 15.5px/1.3 var(--f-body);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sys13 .cd .m,.sys13 .cc .m{font:400 13.5px/1.35 var(--f-body);color:var(--ink2)}
.sys13 .len{position:absolute;right:8px;bottom:8px;background:rgba(0,0,0,.78);color:#fff;font:600 12px/1 var(--f-body);padding:5px 6px;border-radius:4px}
.sys13 .pb{position:absolute;left:50%;top:50%;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;background:var(--y);color:#000;display:grid;place-items:center;opacity:0;transform:scale(.8);transition:.2s;z-index:2}
.sys13 .pb svg{width:22px;height:22px;margin-left:3px}
.sys13 .cd:hover .pb,.sys13 .cd:focus-visible .pb{opacity:1;transform:none}
.sys13 .k-wide .im{aspect-ratio:16/8}
.sys13 :is(.k-wide,.k-poster) .im::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.88),rgba(0,0,0,.1) 55%,transparent)}
.sys13 :is(.k-wide,.k-poster) .tx{position:absolute;left:0;right:0;bottom:0;padding:14px;color:#fff;z-index:1}
.sys13 :is(.k-wide,.k-poster) .m{color:var(--on-dark2)}
.sys13 :is(.k-wide,.k-poster) .len{top:8px;bottom:auto;z-index:1}
.sys13 .k-wide .t{font-size:clamp(18px,1.5vw,24px);font-weight:700}
.sys13 .k-poster .im{aspect-ratio:2/3}
.sys13 .k-poster .t{font:700 19px/1.12 var(--f-display);font-stretch:90%;-webkit-line-clamp:3}
/* department tile */
.sys13 .dpt{display:block;position:relative;text-decoration:none;color:#fff;border-radius:18px}
.sys13 .dpt .im{aspect-ratio:4/5;border-radius:18px}
.sys13 .dpt .im::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.85),rgba(0,0,0,.08) 55%,transparent)}
.sys13 .dpt b{position:absolute;left:12px;right:12px;bottom:12px;font:700 17px/1.15 var(--f-display);font-stretch:105%;z-index:1}
.sys13 .dpt.on .im{outline:3px solid var(--ink);outline-offset:2px}
.sys13 .x-new{font:700 10.5px/1 var(--f-body);font-style:normal;letter-spacing:.07em;text-transform:uppercase;background:#fff;color:#000;padding:3px 6px;border-radius:4px;vertical-align:2px;margin-left:6px;white-space:nowrap}
.sys13 .k-dept{--per:6.4;--perm:2.5}
/* path and course */
.sys13 .cc{display:flex;flex-direction:column;height:100%;text-decoration:none;color:var(--ink);background:var(--bg2);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh)}
.sys13 .cc .im{border-radius:0}
.sys13 .cc .tx{display:flex;flex-direction:column;gap:8px;padding:16px 18px 18px;flex:1}
.sys13 .cc .k,.sys13 .door .k,.sys13 .pc .k,.sys13 .prose-rail .k{font:600 12.5px/1.3 var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--ink2)}
.sys13 .cc .t{font:800 21px/1.1 var(--f-display);font-stretch:var(--ds);letter-spacing:-.01em}
.sys13 .cc .d{font-size:15px;line-height:1.45;color:var(--ink2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sys13 .cc .m{margin-top:auto}
.sys13 .cc .go{font:700 15px var(--f-body);text-decoration:underline;text-underline-offset:5px}
.sys13 .cc:not(.soon):not(.k-path) .go{align-self:flex-start;background:var(--y);color:#000;text-decoration:none;padding:10px 16px;border-radius:var(--pill)}
.sys13 .cc.soon .go{align-self:flex-start;border:2px solid var(--ink);text-decoration:none;padding:8px 14px;border-radius:var(--pill)}
/* person */
.sys13 .pc{display:flex;flex-direction:column;gap:14px;background:var(--bg2);border-radius:var(--r);padding:16px;box-shadow:var(--sh)}
.sys13 .pc .im{aspect-ratio:1;border-radius:var(--r)}
.sys13 .pc-ini{display:grid;place-items:center;width:100%;height:100%;font:800 clamp(44px,6vw,72px)/1 var(--f-display);font-stretch:110%;letter-spacing:-.03em;color:var(--ink2);background:var(--bg3)}
.sys13 .pc .tx{display:flex;flex-direction:column;gap:6px}
.sys13 .pc .t{font:800 21px/1.1 var(--f-display);font-stretch:var(--ds);margin:0}
.sys13 .pc .t a{text-decoration:none}
.sys13 .pc .d{font-size:15.5px;line-height:1.5;color:var(--ink2)}
.sys13 .pc .go{font:700 15px var(--f-body);min-height:44px;display:inline-flex;align-items:center}
/* resource / logo */
.sys13 .xc{display:flex;flex-direction:column;gap:7px;height:100%;min-height:200px;padding:18px 18px 16px;border:0;border-radius:18px;background:#fff;box-shadow:var(--sh);text-decoration:none;color:var(--ink)}
.sys13 .xc:hover{box-shadow:var(--sh2)}
.sys13 .xc-l{display:grid;place-items:center start;height:64px;padding:8px 12px;border-radius:12px;background:var(--bg3)}
.sys13 .xc-l img{height:48px;width:auto;max-width:100%;object-fit:contain}
.sys13 .xc-mono{font:800 22px/1 var(--f-display);color:var(--ink2)}
.sys13 .xc-p{align-self:flex-start;font:600 12.5px/1 var(--f-body);background:var(--bg3);border-radius:var(--pill);padding:6px 10px}
.sys13 .xc b{font:800 21px/1.1 var(--f-display);font-stretch:var(--ds);letter-spacing:-.01em;margin-top:4px}
.sys13 .xc-w{font-size:15px;color:var(--ink2);line-height:1.4}
.sys13 .xc-r{font:600 13.5px var(--f-body);color:var(--ink2)}
.sys13 .xc-go{margin-top:auto;font:700 15px var(--f-body);text-decoration:underline;text-underline-offset:5px}
/* door */
.sys13 .door{display:flex;flex-direction:column;height:100%;text-decoration:none;color:var(--ink);background:#fff;box-shadow:var(--sh);border-radius:var(--r);padding:22px;position:relative}
.sys13 .door .tx{display:flex;flex-direction:column;gap:6px;height:100%}
.sys13 .door .t{font:800 21px/1.1 var(--f-display);font-stretch:var(--ds);letter-spacing:-.01em}
.sys13 .door .d{font-size:15.5px;line-height:1.45;color:var(--ink2)}
.sys13 .door .go{margin-top:auto;padding-top:8px;font:700 20px/1 var(--f-body)}
.sys13 .door:hover{box-shadow:var(--sh2);transform:translateY(-2px)}
.sys13 .door{transition:transform .16s,box-shadow .16s}
.sys13 .door-ph{padding:0;overflow:hidden;color:#fff;min-height:0}
.sys13 .door-ph .im{aspect-ratio:3/2;border-radius:0}
.sys13 .door-ph .im::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.88),rgba(0,0,0,.2) 60%,transparent)}
.sys13 .door-ph .tx{position:absolute;left:0;right:0;bottom:0;padding:18px 20px;height:auto;z-index:1}
.sys13 .door-ph .k,.sys13 .door-ph .d{color:var(--on-dark)}
.sys13 .door-ph .go{display:none}

/* r9: designed title card (.tc13) for projects with no photos of their own: ink panel, corner marks, display type; no yellow */
.sys13 .tc13{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:clamp(26px,4vw,48px);background:radial-gradient(120% 95% at 88% 8%,#3b3b41 0,#1d1d1f 52%,#0d0d0e 100%);color:#fff;box-sizing:border-box}
.sys13 .tc13-k{font:600 12.5px/1.3 var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:#d2d2d7}
.sys13 .tc13-b{font:800 clamp(26px,2.6vw,38px)/1 var(--f-display);font-stretch:var(--ds);letter-spacing:-.02em;color:#fff}
.sys13 .tc13-t{margin-top:auto;font:800 clamp(28px,3.6vw,52px)/1.02 var(--f-display);font-stretch:var(--ds);letter-spacing:-.025em;color:#fff;max-width:14ch}
.sys13 .tc13-s{font:500 16px/1.35 var(--f-body);color:#d2d2d7}
.sys13 .door-ph .im.tc13{position:relative}
.sys13 .door-ph .im.tc13::after{display:none}
.sys13 :is(.door-ph,.st-door) .tc13 :is(.cn.bl,.cn.br){display:none}

/* ---------- 9. CTA band (.cta13) ---------- */
.sys13 .cta13{display:grid;gap:clamp(20px,3vw,40px);align-items:center;margin-top:var(--rowgap);margin-bottom:var(--rowgap)}
.sys13 .cta13>*{min-width:0}
.sys13 .cta13{background:#fff;border-radius:var(--r2);box-shadow:var(--sh);padding:clamp(24px,4vw,48px);max-width:calc(var(--max) - 2*var(--gut));width:calc(100% - 2*var(--gut))}
.sys13 .cta13 h2{font:800 clamp(26px,1rem + 1.6vw,40px)/1.05 var(--f-display);font-stretch:var(--ds);letter-spacing:var(--dls);margin:0 0 10px}
.sys13 .cta13 p{color:var(--ink2);margin:0}
.sys13 .cta13 .ctas{margin-top:22px}
/* r11 design: a CTA card that ends its band adds no extra space below (was ~265px of dead space on guides and pillar pages) */
.sys13 .wide>.wrap>.cta13:last-child{margin-bottom:0}.sys13 .wide:has(>.wrap>.cta13:last-child){padding-bottom:0}
.sys13 .cta13 .im{aspect-ratio:3/2;border-radius:var(--r)}
@media (min-width:900px){.sys13 .cta13.has-img{grid-template-columns:3fr 2fr}}

/* ---------- 10. page headers ---------- */
/* H-C text header */
.sys13 .ph{background:var(--bg);color:var(--ink);padding:clamp(32px,5vw,72px) 0 clamp(20px,3vw,40px)}
.sys13 .ph h1{font-size:clamp(38px,1.2rem + 4vw,80px);max-width:16ch;margin:0;color:var(--ink)}
.sys13 .ph .kick{margin:0 0 14px}
.sys13 .ph .lede{margin-top:18px}
/* H-A photo hero carousel */
.sys13 .hk{padding:22px 0 8px}
.sys13 .hk-rail{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;list-style:none;margin:0;padding:0 max(var(--gut),calc((100vw - var(--max))/2 + var(--gut)));scrollbar-width:none}
.sys13 .hk-s{flex:0 0 88%;max-width:1240px;aspect-ratio:21/9;position:relative;border-radius:var(--r2);overflow:hidden;scroll-snap-align:center;color:#fff;box-shadow:0 20px 50px -20px rgba(0,0,0,.35)}
.sys13 .hk-s>.im,.sys13 .hk-s>img{position:absolute;inset:0;width:100%;height:100%;border-radius:0}
.sys13 .hk-s::after{content:"";position:absolute;inset:0;background:linear-gradient(80deg,rgba(0,0,0,.86),rgba(0,0,0,.45) 50%,rgba(0,0,0,.05) 80%)}
.sys13 .hk-t{position:absolute;left:clamp(20px,4vw,56px);bottom:clamp(20px,4vw,48px);right:30%;z-index:3}
.sys13 .hk-t h1,.sys13 .hk-t .h1{font-size:clamp(34px,1rem + 3.6vw,72px);color:#fff;margin:0}
.sys13 .hk-t .lede,.sys13 .hk-t .kick{color:var(--on-dark)}
.sys13 .hk-dots{display:flex;gap:8px;justify-content:center;align-items:center;margin-top:16px}
.sys13 .hk-dots button{width:8px;height:8px;border-radius:4px;border:0;background:var(--line2);padding:0;position:relative}
.sys13 .hk-dots button::before{content:"";position:absolute;inset:-18px -6px}
.sys13 .hk-dots button.on{width:26px;background:var(--ink)}
@media (max-width:760px){.sys13 .hk-s{flex-basis:90%;aspect-ratio:4/5}.sys13 .hk-t{right:20px}}
/* corner frame marks */
.sys13 .cn{position:absolute;width:22px;height:22px;border:0 solid #fff;opacity:.9;pointer-events:none;z-index:2}
.sys13 .cn.tl{left:14px;top:14px;border-width:2px 0 0 2px}.sys13 .cn.tr{right:14px;top:14px;border-width:2px 2px 0 0}
.sys13 .cn.bl{left:14px;bottom:14px;border-width:0 0 2px 2px}.sys13 .cn.br{right:14px;bottom:14px;border-width:0 2px 2px 0}

/* ---------- 11. ladder stepper ---------- */
.sys13 section.ladder{display:block;margin:0 auto;padding-top:var(--rowgap);flex-direction:initial}
.sys13 .ladder-r{display:flex;gap:14px;overflow-x:auto;list-style:none;margin:0;padding:6px 2px 18px;position:relative;scrollbar-width:none}
.sys13 .ladder-r>li{flex:0 0 clamp(170px,19vw,230px);position:relative;margin:0}
.sys13 .ladder-r>li+li::before{content:"";position:absolute;left:-14px;top:30px;width:14px;height:2px;background:var(--ink)}
.sys13 .ladder-r a,.sys13 .ladder-c{display:flex;flex-direction:column;gap:6px;height:100%;padding:14px 16px;border-radius:var(--r);background:#fff;box-shadow:var(--sh);text-decoration:none;color:var(--ink)}
.sys13 .ladder-r a:hover{box-shadow:var(--sh2)}
.sys13 .ladder-r .im{margin:-14px -16px 6px;border-radius:var(--r) var(--r) 0 0}
.sys13 .ladder-n{font:600 12.5px/1.3 var(--f-body);color:var(--ink2);letter-spacing:.06em;text-transform:uppercase}
.sys13 .ladder-r b{font:800 18px/1.15 var(--f-display);font-stretch:105%}
.sys13 .ladder-r .d{font-size:14.5px;line-height:1.4;color:var(--ink2)}
.sys13 .ladder-sp{margin-top:10px;padding-top:14px;border-top:2px solid var(--ink);display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center}
.sys13 .ladder-sp .k{font:600 12.5px var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--ink2)}
.sys13 .ladder-sp ul{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.sys13 .ladder-sp :is(a,span:not(.k)){display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:var(--pill);background:#fff;box-shadow:var(--sh);text-decoration:none;font:600 14.5px var(--f-body);color:var(--ink)}

/* ---------- 12. long read with a right rail (.prose13) ---------- */
.sys13 .prose13{display:grid;gap:clamp(24px,4vw,56px);padding-top:var(--rowgap)}
.sys13 .prose{max-width:66ch;font-size:18px;line-height:1.65;min-width:0}
.sys13 .prose h2{font:700 26px/1.15 var(--f-body);letter-spacing:-.02em;margin:2.2em 0 .5em}
.sys13 .prose h2:first-child{margin-top:0}
.sys13 .prose h3{margin:1.6em 0 .4em}
.sys13 .prose-rail{display:flex;flex-direction:column;gap:18px;min-width:0}
.sys13 .prose-rail .card{background:#fff;border-radius:var(--r);box-shadow:var(--sh);padding:18px 20px}
.sys13 .prose-rail .toc ul{list-style:none;margin:8px 0 0;padding:0}
.sys13 .prose-rail .toc a{display:flex;align-items:center;min-height:40px;text-decoration:none;font-weight:600;color:var(--ink);border-top:1px solid var(--line)}
.sys13 .prose-rail .toc li:first-child a{border-top:0}
.sys13 .prose-films ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:16px}
.sys13 .prose-rail .t{font:800 20px/1.15 var(--f-display);font-stretch:var(--ds);margin:0 0 6px}
.sys13 .prose-rail .d{color:var(--ink2);font-size:15.5px;margin:0 0 14px}
@media (min-width:1000px){.sys13 .prose13{grid-template-columns:minmax(0,8fr) minmax(0,4fr)}.sys13 .prose-rail{position:sticky;top:calc(var(--hdr) + 20px);align-self:start}}
.sys13 .note{background:#fff;border-radius:var(--r);box-shadow:var(--sh);padding:20px 22px;border:0}
.sys13 .prose table,.sys13 table.t13{border-collapse:separate;border-spacing:0;background:#fff;border-radius:var(--r);overflow:hidden;width:100%;font-size:15px}
.sys13 .prose :is(th,td),.sys13 table.t13 :is(th,td){padding:12px 14px;border-top:1px solid var(--line);text-align:left;vertical-align:top}
.sys13 .prose tr:first-child :is(th,td){border-top:0}

/* ---------- 13. A–Z bar ---------- */
.sys13 .az-bar{position:sticky;top:var(--hdr);z-index:5;background:var(--bg);border-bottom:1px solid var(--line);padding:10px var(--gut)}
.sys13 .az-bar ul{display:flex;gap:4px;overflow-x:auto;list-style:none;margin:0 auto;padding:0;max-width:calc(var(--max) - 2*var(--gut));scrollbar-width:none}
.sys13 .az-bar :is(a,span){flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:var(--pill);font:700 15px var(--f-body);text-decoration:none;color:var(--ink);background:#fff}
.sys13 .az-bar a:hover{background:var(--ink);color:#fff}
.sys13 .az-bar span[aria-disabled]{opacity:.4;background:transparent}

/* ---------- 14. the learning model strip ---------- */
.sys13 .x-model{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:var(--gap)}
.sys13 .x-model li{display:flex;flex-direction:column;gap:8px;background:#fff;border-radius:var(--r);box-shadow:var(--sh);padding:20px}
.sys13 .x-model .n{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--y);color:#000;font:800 22px/1 var(--f-display);font-stretch:110%}
.sys13 .x-model b{font:800 22px/1.05 var(--f-display);font-stretch:var(--ds);margin-top:6px}
.sys13 .x-model p{color:var(--ink2);font-size:15.5px;margin:0}

/* ---------- 15. footer: the one dark block that closes every page ---------- */
.sys13 .ff-legal{font:400 13px/1.6 var(--f-body);letter-spacing:0;color:var(--on-dark2)}
.sys13 .ff-util,.sys13 .ff-social a{font-family:var(--f-body);letter-spacing:.02em}

@media (prefers-reduced-motion:reduce){.sys13 .cue i{animation:none}.sys13 .im img{transition:none}.sys13 .door{transition:none}}

/* =====================================================================================================================
   16. Legacy blocks moved onto the system (S1, S3, S8). The story kit (kit/story-plugin.js) now writes x-row, door and
   cta13 markup for film rows, picture carousels, pillar bands, steps and CTA pairs; what is left here re-skins the blocks
   that keep their own markup: heroes, page heads, picture bands, timelines, facts, numbers, tiles and "Next" lists.
   Dark stays only on the hero gradient over a photo, the player and the footer. Yellow stays on buttons and play discs.
   ===================================================================================================================== */
/* H-A: the photo hero becomes a rounded card with corner frame marks (the Watch and Learn hero) */
.sys13 .st-hero{margin:22px max(var(--gut),calc((100vw - var(--max))/2 + var(--gut))) 0;border-radius:var(--r2);min-height:clamp(440px,44vw,640px);box-shadow:0 20px 50px -20px rgba(0,0,0,.35);isolation:isolate;background:#1d1d1f}
.sys13 .st-hero::before{content:"";position:absolute;inset:14px;pointer-events:none;z-index:3;opacity:.9;
  background:linear-gradient(#fff,#fff) 0 0/22px 2px,linear-gradient(#fff,#fff) 0 0/2px 22px,linear-gradient(#fff,#fff) 100% 0/22px 2px,linear-gradient(#fff,#fff) 100% 0/2px 22px,linear-gradient(#fff,#fff) 0 100%/22px 2px,linear-gradient(#fff,#fff) 0 100%/2px 22px,linear-gradient(#fff,#fff) 100% 100%/22px 2px,linear-gradient(#fff,#fff) 100% 100%/2px 22px;background-repeat:no-repeat}
.sys13 .st-hero::after{display:none}
.sys13 .st-hero .st-shade{background:linear-gradient(80deg,rgba(0,0,0,.86),rgba(0,0,0,.5) 50%,rgba(0,0,0,.08) 85%)}
.sys13 .st-hero-in{padding:clamp(28px,4.2vw,58px);max-width:56rem;margin:0;z-index:4}
.sys13 .st-hero-h{font-size:clamp(34px,1rem + 3.6vw,72px);max-width:16ch;letter-spacing:var(--dls)}
.sys13 .st-hero-lead{font-size:clamp(17px,1rem + .35vw,21px);color:var(--on-dark)}
.sys13 .st-hero .kicker{color:var(--on-dark)}
.sys13 .st-hero-credit{font:400 12px var(--f-body);color:var(--on-dark2);right:22px;bottom:18px;z-index:4}
.sys13 .st-hp-ico{border-radius:50%;width:56px;height:56px}
.sys13 .st-heroplay:hover .st-hp-ico{background:#fff}
.sys13 .st-hp-t{font-family:var(--f-body)}
@media (max-width:640px){
  .sys13 .st-hero{margin:12px 12px 0;min-height:500px}.sys13 .st-hero::before{inset:12px}.sys13 .st-hero-in{padding:22px 20px 26px}
  .sys13 .st-hero-credit{display:none}
}
/* H-B: page with a lead film and no photo: text left, player right; player first on phones */
.sys13 .st-fhead{background:var(--bg);background-image:none;color:var(--ink)}
.sys13 .st-fhead::before{display:none}
.sys13 .st-fhead-in{max-width:var(--max);padding-inline:var(--gut);margin-inline:auto}
@media (min-width:980px){.sys13 .st-fhead-in{grid-template-columns:5fr 7fr}}
@media (max-width:979px){.sys13 .st-fhead-in>div:last-child{order:-1}}
.sys13 .st-fhead h1{color:var(--ink);font-size:clamp(34px,1rem + 3.2vw,64px)}
.sys13 .st-fhead .phead-lead,.sys13 .st-fhead p{color:var(--ink2)}
.sys13 .st-fhead .kicker{color:var(--ink2)!important}
.sys13 .st-fhead .crumbs a,.sys13 .st-fhead .st-fm a{color:var(--ink)}
.sys13 .st-fhead :is(.st-fcap,.st-fm,.st-fl){color:var(--ink2)}
.sys13 .st-fhead .st-frame{border-radius:var(--r);overflow:hidden;box-shadow:var(--sh2)}
.sys13 .st-fhead .st-go{color:var(--ink)}
/* H-C: text page head on the light ground (no black title bar) */
.sys13 .phead{background:var(--bg);background-image:none;color:var(--ink);padding:clamp(32px,5vw,72px) 0 clamp(20px,3vw,40px)}
.sys13 .phead-in{max-width:var(--max);padding-inline:var(--gut);margin-inline:auto}
.sys13 .phead-h{font-size:clamp(38px,1.2rem + 4vw,80px);max-width:16ch;color:var(--ink);line-height:.98}
.sys13 .phead-lead{color:var(--ink2);font-size:clamp(18px,1rem + .45vw,22px);line-height:1.45;max-width:40rem;margin-top:18px}
.sys13 .phead .kicker{color:var(--ink2);margin:0 0 14px}
.sys13 .phead .credit{color:var(--ink2)}
.sys13 .phead :focus-visible{outline-color:var(--ink);box-shadow:0 0 0 7px var(--y)}
.sys13 .phead .b1,.sys13 .band-ink .b1{background:var(--y);color:#000}
.sys13 .phead .b2,.sys13 .band-ink .b2{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
@media (max-width:640px){.sys13 .phead-h{font-size:clamp(34px,10vw,52px)}}
/* breadcrumbs */
.sys13 .crumbs{font:600 13px/1.3 var(--f-body);letter-spacing:.03em}
.sys13 :is(.phead,.st-fhead,.ph) .crumbs a{color:var(--ink2)}
/* buttons everywhere: pills, yellow for the first action */
.sys13 .b{border-radius:var(--pill)}
.sys13 .b1{background:var(--y);color:#000;border-color:var(--y)}
.sys13 .b2{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
.sys13 .b2:hover{background:var(--ink);color:#fff}
/* black bands go light: section text inherits ink */
.sys13 :is(.band-ink,.st-carousel,.st-filmrow,.st-timeline,.st-ctapair,.st-fs-side,.st-projectrow){background:var(--bg);background-image:none;color:var(--ink)}
.sys13 :is(.band-ink,.st-timeline,.st-ctapair,.st-fs-side,.st-carousel,.st-filmrow) :is(h2,h3,a:not(.b):not(.st-cta),p,li,dt,dd,.credit,.st-cap,.st-tl-t){color:var(--ink)}
.sys13 .band-ink .tile,.sys13 .band-ink .tiles{background:transparent;box-shadow:none}
.sys13 .band-ink :focus-visible{outline-color:var(--ink);box-shadow:0 0 0 7px var(--y)}
/* picture band and quote: a rounded photo card in the content width (hero gradient rule) */
.sys13 :is(.st-bleed,.st-pquote){margin:var(--rowgap) max(var(--gut),calc((100vw - var(--max))/2 + var(--gut))) 0;border-radius:var(--r2);min-height:clamp(360px,40vw,560px);box-shadow:var(--sh2)}
.sys13 :is(.st-bleed,.st-pquote) .st-shade{background:linear-gradient(80deg,rgba(0,0,0,.86),rgba(0,0,0,.45) 55%,rgba(0,0,0,.05) 85%)}
.sys13 :is(.st-bleed-tx,.st-pq){padding:clamp(24px,4vw,52px);max-width:none;margin:0}
.sys13 .st-line{font:800 clamp(26px,1rem + 2vw,44px)/1.04 var(--f-display);font-stretch:var(--ds);letter-spacing:var(--dls)}
.sys13 .st-bleed .st-k{color:var(--on-dark)}
.sys13 .st-pq figcaption{color:var(--on-dark);font:600 14px var(--f-body)}
.sys13 .st-bleed .st-go{color:#fff}
/* timeline: white cards on the light ground, the rule in ink */
.sys13 .st-timeline{padding-block:var(--rowgap) 0}
.sys13 .st-tl{border-top:2px solid var(--ink)}
.sys13 .st-tl-y{color:var(--ink);font:800 26px/1 var(--f-display);font-stretch:var(--ds)}
.sys13 .st-tl-img img{border-radius:var(--r)}
.sys13 .st-tl-play{border-radius:50%}
.sys13 .st-tl--rail .st-tl-i{background:#fff;border-radius:var(--r);box-shadow:var(--sh);padding:12px 12px 16px}
/* numbers and facts: white stat cards, no yellow strip, no numbered boxes */
.sys13 .st-numbers{background:transparent;color:var(--ink)}
.sys13 .st-num-in{max-width:var(--max);padding-inline:var(--gut);margin-inline:auto;gap:var(--gap)}
.sys13 .st-num{background:#fff;border-radius:var(--r);box-shadow:var(--sh);padding:20px 22px;color:var(--ink2)}
.sys13 .st-num strong{color:var(--ink);font-family:var(--f-display);font-stretch:var(--ds)}
.sys13 .st-fact-n{display:none}
.sys13 .st-facts-g{gap:var(--gap);border:0;background:transparent}
.sys13 .st-fact{background:#fff;border:0!important;border-radius:var(--r);box-shadow:var(--sh);padding:18px 20px}
.sys13 .st-fact dt{font:600 12.5px/1.3 var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--ink2)}
.sys13 .st-fact dd{font:800 20px/1.2 var(--f-display);font-stretch:105%;color:var(--ink);margin:6px 0 0}
/* tiles and "Next" lists: text doors (white, soft shadow, rounded), never bordered boxes */
.sys13 .tile{background:#fff;color:var(--ink);box-shadow:var(--sh);border:0;border-radius:var(--r);transition:transform .16s,box-shadow .16s}
.sys13 .tile:hover{background:#fff;color:var(--ink);box-shadow:var(--sh2);transform:translateY(-2px)}
.sys13 .tile:hover .chip{border-color:currentColor;color:inherit}
.sys13 .tiles{gap:var(--gap);background:transparent;border:0}
.sys13 .tile-t{font:800 21px/1.1 var(--f-display);font-stretch:var(--ds)}
.sys13 .tile-d{color:var(--ink2);opacity:1}
.sys13 .tile-pic{overflow:hidden}
.sys13 .tile-pic .tile-img{background:var(--bg3)}
.sys13 nav.next{border-top:0;padding-top:var(--rowgap);margin-top:0}
.sys13 nav.next .kicker{font:700 clamp(22px,1rem + .9vw,30px)/1.1 var(--f-body);letter-spacing:-.02em;text-transform:none;color:var(--ink);margin:0 0 14px}
.sys13 .next-list{gap:var(--gap)}
@media (min-width:760px){.sys13 .next-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}
.sys13 .next-list a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:84px;padding:18px 22px;background:#fff;border:0;border-radius:var(--r);box-shadow:var(--sh);font:800 19px/1.15 var(--f-display);font-stretch:105%}
.sys13 .next-list a:hover{text-decoration:none;box-shadow:var(--sh2)}
/* chips: grey pills, no yellow fill */
.sys13 .chip{font:600 12.5px/1 var(--f-body);letter-spacing:.04em;border-radius:var(--pill);border:0;background:var(--bg3);color:var(--ink);padding:7px 11px}
/* home doors ("Who are you?", "Now"): rounded photo doors */
.sys13 .st-doors>h2{margin:0 0 14px}
.sys13 .st-doors-g{gap:var(--gap)}
.sys13 .st-door{border-radius:var(--r);box-shadow:var(--sh2);background:#1d1d1f}
.sys13 .st-door .st-shade{background:linear-gradient(to top,rgba(0,0,0,.9),rgba(0,0,0,.25) 55%,transparent)}
.sys13 .st-door-t{font-family:var(--f-display);font-stretch:var(--ds);font-weight:800}
.sys13 .st-door-l{color:var(--on-dark)}
.sys13 .st-door:focus-visible{outline:3px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 7px var(--y)}
.sys13 .st-door-img img{transition:transform .5s}.sys13 .st-door:hover .st-door-img img{transform:scale(1.04)}
/* media frames: corner marks in white on our featured media, rounded films */
.sys13 :is(.st-split-m,.st-one-media,.st-ch-media)::before,.sys13 :is(.st-split-m,.st-one-media,.st-ch-media)::after{display:none}
.sys13 .st-frame,.sys13 .st-split-pic img,.sys13 .st-chimg img,.sys13 .st-tile,.sys13 .st-grid img{border-radius:var(--r);overflow:hidden}
.sys13 .st-play{border-radius:50%}
.sys13 .st-chapter .st-k{color:var(--ink2)}
.sys13 .st-hint{font:600 14px var(--f-body);color:var(--ink2)}
.sys13 .st-hint a{color:var(--ink)}
.sys13 .x-foot{margin-top:6px}
/* pull quote: ink, not a yellow box */
.sys13 .st-pullquote blockquote p::before{background:transparent;color:var(--ink)}
/* forms side panel goes light */
.sys13 .st-fs-side{border-radius:var(--r2);background:#fff;box-shadow:var(--sh)}
.sys13 .st-fs-side .st-k{color:var(--ink2)}
/* the old "Who's on a unit" call-sheet list: white rows, no yellow hover */
.sys13 .st-unit-l{border-top:0;display:grid;gap:10px}
.sys13 .st-unit-l a{background:#fff;border:0;border-radius:var(--r);box-shadow:var(--sh);padding:16px 20px}
.sys13 .st-unit-l a:hover,.sys13 .st-unit-l a:focus-visible{background:#fff;box-shadow:var(--sh2)}
/* "Read more" drawer */
.sys13 .st-more{border:0;background:#fff;border-radius:var(--r);box-shadow:var(--sh);padding:16px 20px}
.sys13 .st-more summary{min-height:44px;display:flex;align-items:center}
/* gallery and photo cards */
.sys13 .k-photo .im{aspect-ratio:3/2}
.sys13 .k-photo .t{font:400 14px/1.35 var(--f-body);color:var(--ink2)}
/* sections: one rhythm, no rules */
.sys13 .flow-sec>.sec{padding:var(--rowgap) 0 0}
.sys13 .flow>.x-row:first-child,.sys13 .flow>.x-grid:first-child{padding-top:clamp(28px,4vw,44px)}
.sys13 .flow{padding-bottom:var(--rowgap)}
/* rows and bands inside the legacy .flow column: rows run edge to edge (the rail pads itself), panels sit in the content width */
.sys13 .flow>:is(.x-row,.x-grid,.ph,.az-bar,.prose13,section.ladder){margin-inline:0;max-width:none;padding-inline:0}
.sys13 .flow>.cta13,.sys13 main>.cta13{margin-inline:auto;width:auto;max-width:calc(var(--max) - 2*var(--gut))}
@media (max-width:1408px){.sys13 .flow>.cta13,.sys13 main>.cta13{margin-inline:var(--gut)}}
.sys13 :is(.st-bleed,.st-pquote).st-full,.sys13 :is(.st-bleed,.st-pquote){width:auto;max-width:calc(var(--max) - 2*var(--gut))}
@media (min-width:1409px){.sys13 :is(.st-bleed,.st-pquote){margin-inline:auto}}
/* people grids: 3 up at 1440, 1 up at 390; the sixth cell is a door so no row is half empty */
.sys13 .x-people .g{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
@media (min-width:1000px){.sys13 .x-people .g{grid-template-columns:repeat(3,minmax(0,1fr))}}
.sys13 .door-wrap>.door{height:100%}
.sys13 .x-people .pc .im{max-height:260px;aspect-ratio:auto;height:200px}
@media (max-width:760px){.sys13 .x-people .pc{display:grid;grid-template-columns:96px 1fr;align-items:start}.sys13 .x-people .pc .im{height:96px}.sys13 .pc-ini{font-size:34px}}
/* featured first project: a wide photo door */
.sys13 .x-feature{padding-top:var(--rowgap)}
.sys13 .x-feature .door-ph .im{aspect-ratio:21/9}
.sys13 .x-feature .door-ph .t{font-size:clamp(26px,1rem + 2vw,44px)}
@media (max-width:760px){.sys13 .x-feature .door-ph .im{aspect-ratio:4/5}}
.sys13 .flow>.x-feature{margin-inline:0;max-width:none}
@media (min-width:1000px){.sys13 .x-cases .g{grid-template-columns:repeat(3,minmax(0,1fr))}}
.sys13 .cd .st-ft{font:inherit;color:inherit;display:inline}
.sys13 :is(.dpt,.door-ph,.k-wide,.k-poster) .im{background:#3a3a3e}
/* Get support: logo wells; dark-background wordmarks keep a dark well */
.sys13 .xc-l.xc-dk{background:#1d1d1f}
.sys13 .xc b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sys13 .xc-w{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media (min-width:1000px){.sys13 .x-policies .g{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* callouts ("Draft for board confirmation", "If someone is in immediate danger"): white note cards */
.sys13 .callout{background:#fff;border:0;border-left:0;border-radius:var(--r);box-shadow:var(--sh);padding:20px 22px;color:var(--ink)}
.sys13 .callout-h{font:700 17px/1.3 var(--f-body);letter-spacing:0;text-transform:none;color:var(--ink);margin:0 0 6px}
.sys13 .prose .callout{margin:0 0 1.6em}
.sys13 .flow>.prose13{padding-top:clamp(20px,3vw,36px)}
.sys13 .prose ul,.sys13 .prose ol{padding-left:1.2em}
/* the sections transform wraps wide blocks in .wide>.wrap; rows and grids carry their own gutters */
.sys13 .wide>.wrap:has(>:is(.x-row,.x-grid,.x-feature,.prose13,section.ladder)){max-width:none;width:100%;padding-inline:0;margin-inline:0}
/* forms: a white rounded card, 48px fields with a 12px radius, Archivo labels */
.sys13 .st-fs-form{background:#fff;border-radius:var(--r2);box-shadow:var(--sh);padding:clamp(20px,3vw,36px)}
.sys13 .st-fs-pic img{border-radius:var(--r)}
.sys13 .st-fs-side{background:transparent;box-shadow:none;color:var(--ink)}
.sys13 .st-fs-side :is(p,li,h2,span){color:var(--ink)}
.sys13 .st-fs-r .st-k{color:var(--ink2)}
.sys13 .field label,.sys13 .field legend,.sys13 .form-h{font:600 15px/1.35 var(--f-body);letter-spacing:0;text-transform:none;color:var(--ink)}
.sys13 .field :is(input:not([type=checkbox]):not([type=radio]),select){min-height:48px;border-radius:12px;border:1px solid var(--line2);background:#fff;padding:0 14px;font:400 16px var(--f-body);color:var(--ink)}
.sys13 .field textarea{border-radius:12px;border:1px solid var(--line2);padding:12px 14px;font:400 16px/1.5 var(--f-body)}
.sys13 .field :is(input,select,textarea):focus-visible{border-color:var(--ink)}
.sys13 form button[type=submit],.sys13 form .b-submit{background:var(--y);color:#000;border:0;border-radius:var(--pill);min-height:48px;padding:0 24px;font:700 16px var(--f-body)}
/* Get help now: numbered help cards white and rounded */
.sys13 :is(.help-list,.sp-list)>*{background:#fff;border:0;border-radius:var(--r);box-shadow:var(--sh)}
.sys13 .help-list{gap:var(--gap)}.sys13 .help-list>li{padding:18px 20px;border-top:0}
/* r11 design: four helplines sit 2 + 2 (big numbers need the width), never 3 + 1 */
@media (min-width:760px){.sys13 .help-list:has(>li:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.sys13 .x-courses .g{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ---------- 20. case study (r8 polish): H-B header (photo or player), fact strip, long read + rail, pictures, quote card ---------- */
.sys13 .cs13-h{background:var(--bg);padding:clamp(20px,3vw,40px) 0 0}
.sys13 .cs13-in{display:grid;gap:clamp(18px,3vw,40px);align-items:center}
.sys13 .cs13-media{position:relative;min-width:0}
.sys13 .cs13-ph{position:relative;margin:0;border-radius:var(--r2);overflow:hidden;aspect-ratio:16/9;box-shadow:0 20px 50px -20px rgba(0,0,0,.35);background:#111}
.sys13 .cs13-ph :is(img,picture){display:block;width:100%;height:100%;object-fit:cover}
.sys13 .cs13-media .st-film{margin:0}.sys13 .cs13-media .st-frame{border-radius:var(--r2);overflow:hidden;box-shadow:0 20px 50px -20px rgba(0,0,0,.35)}
.sys13 .cs13-tx h1{font:var(--dw) clamp(34px,1rem + 3.2vw,64px)/.98 var(--f-display);font-stretch:var(--ds);letter-spacing:var(--dls);margin:6px 0 14px;max-width:16ch;overflow-wrap:break-word}
.sys13 .cs13-tx .lede{margin:0 0 18px}
.sys13 .cs13-tx .crumbs{margin-bottom:10px}
.sys13 .cs13-tx .ctas{margin:0}
.sys13 .cs13-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px;margin:clamp(20px,3vw,36px) auto 0;padding-bottom:4px}
.sys13 .cs13-facts>div{background:#fff;border-radius:var(--r);box-shadow:var(--sh);padding:14px 18px;margin:0}
.sys13 .cs13-facts dt{font:600 12.5px/1.3 var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--ink2);margin:0 0 4px}
.sys13 .cs13-facts dd{font:700 17px/1.3 var(--f-body);margin:0;color:var(--ink)}
.sys13 .cs13-facts dd a{color:var(--ink)}
.sys13 .cs13-story .prose>h2:first-child{margin-top:0}
.sys13 .cs13-story .prose p{font-size:18px;line-height:1.65;max-width:66ch}
.sys13 .cs13-more a{font-weight:700;color:var(--ink);text-underline-offset:4px}
.sys13 .k-photo .im{aspect-ratio:3/2}
.sys13 .cs13-pics .g{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}
@media (min-width:900px){.sys13 .cs13-g1{grid-template-columns:minmax(0,1fr)!important}.sys13 .cs13-g2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.sys13 .cs13-g3{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
.sys13 .cs13-q{display:grid;gap:0;background:#fff;border-radius:var(--r2);box-shadow:var(--sh);overflow:hidden;margin:0;padding:0}
.sys13 .cs13-qw{margin-top:var(--rowgap)}
/* r12 care: case-study questions and grades */
.sys13 .cs13-faq{margin-top:var(--rowgap)}.sys13 .cs13-faq h2{margin:0 0 14px}.sys13 .cs13-faq .st-more{margin:0 0 10px;max-width:52rem}.sys13 .cs13-roles{margin-top:var(--rowgap)}
.sys13 .cs13-q .im{aspect-ratio:4/3}
.sys13 .cs13-qt{padding:clamp(24px,4vw,48px);position:relative}
.sys13 .cs13-qt::before{content:"\201C";position:absolute;left:clamp(18px,3vw,40px);top:-.05em;font:800 120px/1 var(--f-display);color:var(--line)}
.sys13 .cs13-q blockquote{margin:0;position:relative}
.sys13 .cs13-q blockquote p{font:800 clamp(24px,1rem + 1.6vw,40px)/1.12 var(--f-display);font-stretch:var(--ds);letter-spacing:-.02em;margin:0 0 16px;max-width:28ch}
.sys13 .cs13-q figcaption{font:500 15px/1.4 var(--f-body);color:var(--ink2)}
.sys13 .cs13-next{margin-top:var(--rowgap)}
.sys13 .cs13-next .g{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}
.sys13 .cs13-flow{padding-bottom:var(--rowgap)}.sys13 .cs13-flow>.page-updated{margin-top:var(--rowgap)}
@media (min-width:1000px){
  .sys13 .cs13-in{grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-areas:"tx media"}
  .sys13 .cs13-media{grid-area:media}.sys13 .cs13-tx{grid-area:tx}
  .sys13 .cs13-q.has-img{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center}.sys13 .cs13-q.has-img .im{aspect-ratio:auto;height:100%}
  .sys13 .cs13-next .g{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:999px){.sys13 .cs13-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.sys13 .cs13-facts>div{padding:12px 14px}.sys13 .cs13-facts dd{font-size:15.5px}.sys13 .cs13-story .toc{display:none}}

/* ---------- 21. department guide (r8 polish): hero carousel, chip bar, long read ---------- */
.sys13 .dh13{padding-top:clamp(14px,2vw,22px)}
.sys13 .dh13 .hk-s{min-height:440px}
.sys13 .dh13 .hk-s>.im :is(img,picture){width:100%;height:100%;object-fit:cover;display:block}
.sys13 .dh13 .hk-s>img{object-fit:cover}
.sys13 .dh13 .hk-t{right:34%}
.sys13 .dh13 .hk-t h1,.sys13 .dh13 .hk-t .h1{font:var(--dw) clamp(30px,1rem + 2.6vw,58px)/1 var(--f-display);font-stretch:var(--ds);letter-spacing:var(--dls);color:#fff;margin:4px 0 12px;max-width:18ch}
.sys13 .dh13 .hk-t .lede{max-width:36rem;margin:0 0 16px}
.sys13 .dh13 .crumbs{margin:0 0 8px}.sys13 .dh13 .crumbs a,.sys13 .dh13 .crumbs li{color:var(--on-dark)}
.sys13 .dh13 .ctas{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.sys13 .dh13 .b-o{color:#fff;border-color:rgba(255,255,255,.8);background:transparent}
.sys13 .dh13 .b-o:hover{background:#fff;color:#000}
.sys13 .dh13-credit{position:absolute;right:16px;bottom:10px;z-index:3;margin:0;font:500 12px/1.3 var(--f-body);color:var(--on-dark2);max-width:40%;text-align:right}
@media (max-width:760px){.sys13 .dh13 .hk-s{min-height:0}.sys13 .dh13 .hk-t{right:18px;left:18px;bottom:18px}.sys13 .dh13 .hk-t .lede{font-size:16px}.sys13 .dh13-credit{display:none}}
.sys13 .dh13-chips{position:sticky;top:var(--hdr);z-index:20;background:rgba(245,245,247,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);margin-top:18px}
.sys13 .dh13-cl{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;list-style:none;margin:0 auto;padding-block:10px}
.sys13 .dh13-cl::-webkit-scrollbar{display:none}
.sys13 .chip13{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:var(--pill);background:#fff;box-shadow:var(--sh);color:var(--ink);font:600 14.5px/1 var(--f-body);text-decoration:none;white-space:nowrap;border:0!important}
.sys13 .chip13:hover{background:var(--ink);color:#fff}
.sys13 .dl13 .prose h3{font:700 22px/1.2 var(--f-body);letter-spacing:-.01em;margin:1.8em 0 .5em}
.sys13 .dl13 .prose h3:first-child{margin-top:0}
.sys13 .dl13 .prose :is(p,li){font-size:18px;line-height:1.65;max-width:66ch}
.sys13 .dl13 .prose table{border-collapse:separate;border-spacing:0;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);font-size:15px;width:100%}
.sys13 .dl13 .prose :is(th,td){padding:10px 12px;border-top:1px solid var(--line);text-align:left;vertical-align:top}
.sys13 .dl13 .prose tr:first-child :is(th,td){border-top:0}
.sys13 .dl13-solo .prose{max-width:66ch}
@media (max-width:600px){.sys13 .dl13 .prose table,.sys13 .dl13 .prose :is(thead,tbody,tr,th,td){display:block}.sys13 .dl13 .prose thead{display:none}.sys13 .dl13 .prose tr{border-top:1px solid var(--line);padding:8px 0}.sys13 .dl13 .prose td{border:0;padding:4px 14px}}
.sys13 .dh13 .hk-s{display:flex;align-items:flex-end;aspect-ratio:auto;min-height:clamp(440px,38vw,580px)}
.sys13 .dh13 .hk-t{position:relative;inset:auto;z-index:3;padding:clamp(22px,4vw,52px) clamp(20px,4vw,56px);max-width:64%}
@media (max-width:760px){.sys13 .dh13 .hk-s{min-height:560px}.sys13 .dh13 .hk-t{max-width:none;padding:20px}}

/* ---------- 22. role pages (r8 polish): long read with a mini ladder in the right rail ---------- */
.sys13 .role13 .prose>h2:first-child{margin-top:0}
.sys13 .role13 .prose :is(p,li){font-size:18px;line-height:1.65;max-width:66ch}
.sys13 .rl13-l{list-style:none;margin:10px 0 12px;padding:0 0 0 18px;position:relative}
.sys13 .rl13-l::before{content:"";position:absolute;left:5px;top:12px;bottom:12px;width:2px;background:var(--line)}
.sys13 .rl13-l li{position:relative;padding:0}
.sys13 .rl13-l li::before{content:"";position:absolute;left:-17px;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:#fff;border:2px solid var(--line2)}
.sys13 .rl13-l li.on::before{background:var(--ink);border-color:var(--ink)}
.sys13 .rl13-l :is(a,li>span){display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:40px;color:var(--ink);text-decoration:none;font:600 15.5px/1.25 var(--f-body)}
.sys13 .rl13-l a:hover{text-decoration:underline}
.sys13 .rl13-h{font:600 12px/1 var(--f-body);letter-spacing:.06em;text-transform:uppercase;background:var(--ink);color:#fff;border-radius:var(--pill);padding:5px 9px}
.sys13 .rl13-sp{font-size:14.5px;color:var(--ink2);margin:0 0 10px}
.sys13 .rl13-all{font-weight:700;color:var(--ink);text-underline-offset:4px}
/* r8 polish: rental house "What you hire" photo grid */
.sys13 .hire13 .g{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}
.sys13 .hire13-c{margin:0;background:#fff;border-radius:var(--r);box-shadow:var(--sh);overflow:hidden;height:100%}
.sys13 .hire13-c .im{aspect-ratio:3/2;border-radius:0}
.sys13 .hire13-c figcaption{padding:14px 18px 18px;display:grid;gap:4px}
.sys13 .hire13-c b{font:800 20px/1.15 var(--f-display);font-stretch:var(--ds)}
.sys13 .hire13-c span:not(.im){color:var(--ink2);font-size:15.5px;line-height:1.45}
@media (min-width:1000px){.sys13 .hire13 .g{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* r8 polish: Play hub. The games stay dark inside their own pages; the passport on the hub is a light card. */
.sys13 .lg.lg-pp{--lg-bg:#fff;--lg-ink:var(--ink);--lg-mut:var(--ink2);--lg-acc:var(--ink);--lg-line:var(--line);border-radius:var(--r);box-shadow:var(--sh)}
.sys13 .lg.lg-pp.lg-on a{color:var(--ink)}
.sys13 .lg.lg-pp .lg-stamps li{border-radius:12px}
.sys13 .lg.lg-pp .lg-stamps li.lg-got{border:2px solid var(--ink)}
.sys13 .lg.lg-pp button{border-radius:var(--pill)}
.sys13 .play13 .cc .im{aspect-ratio:16/10;background:#0b0b0b}
/* r8 polish: bands and card rows inside a long read become callout cards in the text column */
.sys13 .prose13 .prose .band-b{background:#fff;color:var(--ink);border-radius:var(--r);box-shadow:var(--sh);padding:20px 22px;margin:1.6em 0;width:auto;max-width:none}
.sys13 .prose13 .prose .band-b .band-in{padding:0;max-width:none;margin:0}
.sys13 .prose13 .prose .band-b :is(h2,p,li,.kicker){color:var(--ink)}
.sys13 .prose13 .prose .band-b h2{margin-top:.2em}
.sys13 .prose13 .prose :is(p,li){font-size:18px;line-height:1.65}
.sys13 .prose13 .prose table{border-collapse:separate;border-spacing:0;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);font-size:15px;width:100%}
.sys13 .prose13 .prose :is(th,td){padding:10px 12px;border-top:1px solid var(--line);text-align:left;vertical-align:top}
.sys13 .prose13 .prose tr:first-child :is(th,td){border-top:0}
@media (max-width:600px){.sys13 .prose13 .prose table,.sys13 .prose13 .prose :is(thead,tbody,tr,th,td){display:block}.sys13 .prose13 .prose thead{display:none}.sys13 .prose13 .prose tr{border-top:1px solid var(--line);padding:8px 0}.sys13 .prose13 .prose td{border:0;padding:4px 14px}.sys13 .prose13 .prose td:first-child{font-weight:700}}
.sys13 .tiles-h{margin:var(--rowgap) 0 14px}
.sys13 .cs13-tx .crumbs a{color:var(--ink2)}
/* hero dots: 24px targets (WCAG 2.2 target size), the visible pill drawn inside */
.sys13 .dh13 .hk-dots button{width:24px;height:24px;background:transparent;display:inline-grid;place-items:center}
.sys13 .dh13 .hk-dots button::before{inset:0}
.sys13 .dh13 .hk-dots button::after{content:"";width:8px;height:8px;border-radius:4px;background:var(--line2)}
.sys13 .dh13 .hk-dots button.on{width:34px;background:transparent}.sys13 .dh13 .hk-dots button.on::after{width:26px;background:var(--ink)}

/* r11 design: "Last reviewed" line, tight under the closing band */
.sys13 .page-upd{padding-top:12px}.sys13 .page-upd .page-updated{margin:0;font-size:13px;color:var(--ink2)}
/* r11 design: header search, opens Watch and Learn search */
.fh-search{flex:0 0 auto;display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--ink,#1d1d1f);margin-right:6px;margin-left:auto}.fh-search+.fh-watch{margin-left:0}
.fh-search:hover{background:var(--bg3,#ececf0)}
.fh-search:focus-visible{outline:3px solid var(--ink,#1d1d1f);outline-offset:2px}
@media (max-width:480px){.fh-search{display:none}}/* phones: Search sits first in the menu sheet instead */
/* r15: desktop header never overlaps; menu sheet up to 1240px */
@media (min-width:1241px){.fh-nav{flex:0 0 auto;margin-right:1.5rem}.fh-help{margin-left:auto}}
@media (min-width:1241px) and (max-width:1500px){.fh-help{display:none}}
