/* The Director's Chair course. Built on the madebydavidmartin.com blue theme (styles.css, Sept 2026).
   Layout: dark slate bands for headers, a light reading column with a sticky course outline,
   film-production devices (slate, takes, final cut) used only where they mean something. */
:root{
  --bg:#F4F8FC; --bg-2:#E3ECF7; --card:#FFFFFF; --alt:#FFFFFF;
  --ink:#0B1F3A; --muted:#4A5D78; --line:#B9CCE4;
  --blue:#1D5AA6; --blue-deep:#154784; --tint:#D6E4F5; --on-blue:#FFFFFF;
  --night:#0B1F3A; --night-2:#112A4D; --night-3:#1A3A66; --night-line:rgba(156,195,240,.28); --night-muted:#A9BCD6; --glow:#9CC3F0; --on-night:#FFFFFF;
  --ok:#1E7A4F; --ok-tint:#DDF1E6; --stop:#A8452B; --stop-tint:#F7E3DC;
  --sans:"Geist","Segoe UI",system-ui,-apple-system,sans-serif;
  --mono:"Geist Mono",ui-monospace,Menlo,Consolas,monospace;
  --hand:"Caveat","Segoe Script",cursive;
  --r:4px;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0A1628; --bg-2:#10223D; --card:#10223D; --alt:#0D1D34;
  --ink:#EAF1FA; --muted:#A9BCD6; --line:#24406A;
  --blue:#9CC3F0; --blue-deep:#C4DBF6; --tint:#16335A; --on-blue:#0A1628;
  --night:#07111F; --night-2:#0D1D34; --night-3:#14305A;
  --ok:#6FCF9C; --ok-tint:#123326; --stop:#F0A08A; --stop-tint:#3A1D16;
  color-scheme:dark;}}
:root[data-theme="dark"]{
  --bg:#0A1628; --bg-2:#10223D; --card:#10223D; --alt:#0D1D34;
  --ink:#EAF1FA; --muted:#A9BCD6; --line:#24406A;
  --blue:#9CC3F0; --blue-deep:#C4DBF6; --tint:#16335A; --on-blue:#0A1628;
  --night:#07111F; --night-2:#0D1D34; --night-3:#14305A;
  --ok:#6FCF9C; --ok-tint:#123326; --stop:#F0A08A; --stop-tint:#3A1D16;
  color-scheme:dark;}

*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
html,body{overflow-x:clip}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 var(--sans);padding-inline:clamp(16px,4vw,48px);padding-block:0;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--blue)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:3px}
h1,h2,h3,h4{margin:0;text-wrap:balance;letter-spacing:-.02em;font-weight:600}
p{margin:0}
.wrap{max-width:1160px;margin:0 auto}
.mono{font-family:var(--mono)}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font:500 12px/1.3 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--blue)}
.muted{color:var(--muted)}

/* logo mark (same as site) */
.bmark{--s:26px;display:inline-block;flex:none;position:relative;width:var(--s);height:var(--s);border-radius:calc(var(--s)*.19);background:#1D5AA6}
.bmark::after{content:"";position:absolute;inset:calc(var(--s)*.31);border:max(2px,calc(var(--s)*.08)) solid #fff;border-right-color:transparent;border-radius:2px;transform:rotate(45deg)}

/* header */
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:var(--night);color:#fff;margin-inline:calc(-1 * clamp(16px,4vw,48px));padding-inline:clamp(16px,4vw,48px);border-bottom:3px solid #1D5AA6}
.head-in{max-width:1160px;margin:0 auto;display:flex;align-items:center;gap:10px 18px;min-height:76px}
.mark{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff;min-width:0}
.mark .bmark{--s:36px;box-shadow:0 0 0 1.5px var(--night-line)}
.mark span{display:grid;gap:4px}
.mark b{font-family:var(--hand);font-weight:600;font-size:38px;line-height:.9;color:#fff;letter-spacing:.2px;white-space:nowrap}
.mark small{font:700 11.5px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--glow);margin-left:2px;white-space:nowrap}
.head-nav{order:2;display:flex;align-items:center;gap:4px;margin-left:auto}
.head-nav a{font-weight:500;font-size:14.5px;color:var(--night-muted);text-decoration:none;padding:8px 11px;border-radius:3px;white-space:nowrap}
.head-nav a:hover,.head-nav a[aria-current="page"]{color:#fff;background:rgba(156,195,240,.14)}
.head-prog{display:inline-flex;align-items:center;gap:10px;padding:7px 12px;margin-left:6px;border:1.5px solid var(--night-line);border-radius:3px;font:500 12px/1 var(--mono);color:var(--night-muted);white-space:nowrap}
.head-prog .bar{width:60px;height:6px;background:rgba(156,195,240,.18);border-radius:3px;overflow:hidden}
.head-prog .bar i{display:block;height:100%;width:0;background:var(--glow);transition:width .3s}
.back-port{order:3;display:inline-flex;align-items:center;gap:8px;flex:none;padding:10px 15px;border-radius:3px;background:var(--glow);color:#0B1F3A;font:600 14.5px/1 var(--sans);text-decoration:none;white-space:nowrap;transition:background .15s}
.back-port:hover{background:#fff}
.back-port svg{width:17px;height:17px}
.back-port .bp-s{display:none}
.site-head a:focus-visible{outline-color:var(--glow)}
@media (max-width:1060px){.head-prog{display:none}}
@media (max-width:860px){
  .head-in{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;min-height:0;padding-block:10px}
  .mark b{font-size:30px}.mark .bmark{--s:30px}.mark small{font-size:10px;letter-spacing:.16em}
  .back-port{grid-column:2;grid-row:1;padding:11px 14px}
  .head-nav{grid-column:1 / -1;grid-row:2;margin:0;padding-top:8px;border-top:1px solid var(--night-line);overflow-x:auto;scrollbar-width:none}
  .head-nav::-webkit-scrollbar{display:none}
  .head-nav a{padding:7px 10px;font-size:14px}
  .head-prog{display:inline-flex;margin-left:auto;padding:6px 9px;font-size:11px}
  .head-prog .bar{display:none}
}
@media (max-width:420px){.back-port .bp-l{display:none}.back-port .bp-s{display:inline}.back-port{padding:10px 12px}.mark small{display:none}.mark b{font-size:26px}.mark .bmark{--s:26px}.head-prog{display:none}}

/* buttons */
.btns{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.btn{display:inline-flex;align-items:center;gap:9px;font:600 15.5px/1.2 var(--sans);text-decoration:none;padding:13px 20px;border-radius:3px;border:1.5px solid transparent;cursor:pointer;transition:background .15s,border-color .15s,transform .15s}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:#1D5AA6;color:#fff}
.btn-primary:hover{background:#154784}
.btn-glow{background:var(--glow);color:#0B1F3A}
.btn-glow:hover{background:#fff}
.btn-line{color:var(--on-night);border-color:var(--night-line)}
.btn-line:hover{border-color:var(--glow)}
.btn-ghost{color:var(--blue);border-color:var(--line);background:var(--card)}
.btn-ghost:hover{border-color:var(--blue)}
.btn svg{width:17px;height:17px}

/* dark band (full bleed without horizontal scroll) */
.band{position:relative;background:var(--night);color:var(--on-night);box-shadow:0 0 0 100vmax var(--night);clip-path:inset(0 -100vmax)}
.grid-bg{background-image:linear-gradient(var(--night-line) 1px,transparent 1px),linear-gradient(90deg,var(--night-line) 1px,transparent 1px);background-size:56px 56px;background-position:center top}
.band .eyebrow{color:var(--glow)}
.band .lede{color:#D3DEEC}

/* hero */
.hero{padding-block:clamp(40px,6vw,84px) clamp(36px,5vw,64px)}
.hero-in{display:grid;gap:36px;grid-template-columns:minmax(0,7fr) minmax(0,4fr);align-items:center}
@media (max-width:900px){.hero-in{grid-template-columns:1fr}}
.hero-copy{display:grid;gap:20px;min-width:0}
.hero h1{font-size:clamp(38px,5.6vw,66px);line-height:1.02;letter-spacing:-.035em}
.hero h1 em{font-style:normal;color:var(--glow);display:block;font-size:.52em;line-height:1.2;letter-spacing:-.02em;margin-top:12px}
.lede{font-size:clamp(17.5px,1.6vw,20px);line-height:1.6;max-width:60ch}
.meta-row{display:flex;flex-wrap:wrap;gap:8px}
.meta-row span{display:inline-flex;align-items:center;gap:7px;font:500 12.5px/1 var(--mono);letter-spacing:.03em;padding:8px 11px;border:1.5px solid var(--night-line);border-radius:3px;color:#DCE7F5}
.meta-row span b{color:var(--glow);font-weight:500}
.crumbs{display:flex;flex-wrap:wrap;gap:6px;font:500 12.5px/1.3 var(--mono);color:var(--night-muted)}
.crumbs a{color:var(--night-muted);text-decoration:none}
.crumbs a:hover{color:#fff}

/* the slate: signature device, shared with the guide covers */
.slate{background:#06142A;border:1.5px solid var(--night-line);border-radius:var(--r);overflow:hidden;color:#fff;max-width:420px;width:100%;justify-self:end}
@media (max-width:900px){.slate{justify-self:start}}
.slate-clap{height:26px;background:repeating-linear-gradient(-45deg,#F4F8FC 0 16px,#0B1F3A 16px 32px);border-bottom:3px solid #F4F8FC}
.slate-title{padding:16px 18px 14px;border-bottom:1.5px solid rgba(156,195,240,.25);display:grid;gap:4px}
.slate-title small{font:500 10.5px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#9CC3F0}
.slate-title b{font-size:22px;line-height:1.15;letter-spacing:-.015em}
.slate-grid{margin:0;display:grid;grid-template-columns:1fr 1fr}
.slate-grid div{padding:10px 18px;border-top:1.5px solid rgba(156,195,240,.18)}
.slate-grid div:nth-child(odd){border-right:1.5px solid rgba(156,195,240,.18)}
.slate-grid div:nth-child(-n+2){border-top:0}
.slate-grid dt{font:500 10px/1.2 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#9CC3F0}
.slate-grid dd{margin:4px 0 0;font:600 15px/1.25 var(--mono);color:#fff}
.slate-grid .big dd{font-size:28px;line-height:1}
.slate-foot{padding:10px 18px;border-top:1.5px solid rgba(156,195,240,.25);display:flex;justify-content:space-between;gap:10px;font:500 10.5px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#9CC3F0}

/* stats strip */
.stats{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:1.5px;margin:clamp(32px,5vw,52px) 0 0;background:var(--night-line);border:1.5px solid var(--night-line);border-radius:var(--r);overflow:hidden}
.stats div{background:var(--night-2);padding:16px 18px}
.stats div:nth-child(odd){background:var(--night-3)}
.stats dt{font-size:clamp(26px,2.6vw,34px);font-weight:600;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.stats dd{margin:8px 0 0;font:500 11.5px/1.35 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--night-muted)}

/* sections */
.sec{padding-block:clamp(44px,6vw,80px);border-top:1.5px solid var(--line)}
.band + .sec{border-top:0}
.sec.alt{background:var(--alt);box-shadow:0 0 0 100vmax var(--alt);clip-path:inset(0 -100vmax);border-top-color:transparent}
.sec.alt + .sec{border-top-color:transparent}
.sec-head{display:grid;gap:12px;margin-bottom:30px}
@media (min-width:880px){.sec-head{grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:48px;align-items:end}}
.sec-head h2{font-size:clamp(28px,3.4vw,42px);line-height:1.08;margin-top:10px}
.sec-head p{max-width:58ch;color:var(--muted)}

.outcomes{list-style:none;margin:0;padding:0;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}
.outcomes li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;padding:18px 20px;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r);font-size:15.5px;line-height:1.5}
.outcomes li svg{width:20px;height:20px;color:var(--blue);margin-top:2px}

.fmt{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.fmt div{display:grid;gap:8px;align-content:start;padding:20px;border:1.5px solid var(--line);border-radius:var(--r);background:var(--card)}
.fmt b{font-size:17px}
.fmt p{font-size:15px;color:var(--muted);line-height:1.5}
.fmt .lbl{font:500 11px/1 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--blue)}

.who-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.who-grid div{padding-top:16px;border-top:3px solid var(--ink);display:grid;gap:6px}
.who-grid b{font-size:18px}
.who-grid p{font-size:15.5px;color:var(--muted)}

/* syllabus */
.part{display:grid;gap:14px;margin-bottom:34px}
.part-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px}
.part-h h3{font-size:22px}
.part-h span{font:500 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}
.part-h p{flex-basis:100%;color:var(--muted);font-size:15.5px}
.mod{border:1.5px solid var(--line);border-radius:var(--r);background:var(--card)}
.mod[data-done="1"]{border-color:var(--ok)}
.mod summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:18px;align-items:center;padding:18px 20px}
.mod summary::-webkit-details-marker{display:none}
.mod-n{display:grid;place-items:center;height:64px;background:var(--night);color:#fff;border-radius:var(--r);font:600 26px/1 var(--mono)}
.mod-n small{display:block;font:500 9.5px/1 var(--mono);letter-spacing:.12em;color:var(--glow);margin-bottom:4px}
.mod-t{display:grid;gap:5px;min-width:0}
.mod-t b{font-size:19px;line-height:1.25}
.mod-t span{font-size:14.5px;color:var(--muted);line-height:1.45}
.mod-side{display:grid;justify-items:end;gap:8px}
.state{font:500 11px/1 var(--mono);letter-spacing:.07em;text-transform:uppercase;padding:6px 9px;border-radius:3px;background:var(--bg-2);color:var(--muted);white-space:nowrap}
.state.done{background:var(--ok-tint);color:var(--ok)}
.state.prog{background:var(--tint);color:var(--blue)}
.mod-time{font:500 12px/1 var(--mono);color:var(--muted)}
.mod-body{padding:0 20px 20px 102px;display:grid;gap:14px}
.mod-body ol{margin:0;padding-left:20px;display:grid;gap:4px;font-size:15px}
.mod-body .btns{gap:10px}
@media (max-width:640px){.mod summary{grid-template-columns:52px minmax(0,1fr)}.mod-n{height:52px;font-size:22px}.mod-side{grid-column:2;justify-items:start;grid-auto-flow:column;align-items:center}.mod-body{padding:0 18px 18px}}

/* standard */
.standard{list-style:none;margin:0;padding:0;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}
.standard li{display:grid;gap:8px;align-content:start;padding:20px;border:1.5px solid var(--night-line);border-radius:var(--r);background:var(--night-2)}
.standard li span{font:500 11px/1 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--glow)}
.standard li b{font-size:17.5px;line-height:1.3;color:#fff}
.standard li p{font-size:14.5px;line-height:1.5;color:var(--night-muted)}

/* instructor */
.inst{display:grid;gap:36px;grid-template-columns:240px minmax(0,1fr);align-items:start}
@media (max-width:760px){.inst{grid-template-columns:1fr}}
.inst-photo{position:relative;width:100%;max-width:240px;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden;background:var(--night);border:1.5px solid var(--line)}
.inst-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.inst-photo .initials{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--hand);font-size:72px;color:var(--glow)}
.inst-txt{display:grid;gap:16px;max-width:66ch}
.inst-txt h3{font-size:clamp(24px,2.6vw,30px)}
.inst-facts{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));margin:6px 0 0}
.inst-facts div{padding:14px 16px;border:1.5px solid var(--line);border-radius:var(--r);background:var(--card)}
.inst-facts dt{font-size:26px;font-weight:600;line-height:1;letter-spacing:-.02em;color:var(--blue);font-variant-numeric:tabular-nums}
.inst-facts dd{margin:6px 0 0;font-size:13.5px;line-height:1.4;color:var(--muted)}

/* faq */
.faq{display:grid;gap:10px;max-width:820px}
.faq details{border:1.5px solid var(--line);border-radius:var(--r);background:var(--card)}
.faq summary{cursor:pointer;padding:16px 20px;font-weight:600;font-size:16.5px;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:500 20px/1 var(--mono);color:var(--blue)}
.faq details[open] summary::after{content:"\2212"}
.faq details p{padding:0 20px 18px;color:var(--muted);font-size:15.5px;max-width:68ch}

/* module layout */
.mlayout{display:grid;gap:44px;grid-template-columns:250px minmax(0,1fr);align-items:start;padding-block:clamp(36px,5vw,60px)}
@media (max-width:980px){.mlayout{grid-template-columns:1fr;gap:24px}}
.toc{position:sticky;top:calc(100px + env(safe-area-inset-top,0px));display:grid;gap:14px;font-size:14.5px;max-height:calc(100vh - 120px);overflow:auto}
@media (max-width:980px){.toc{position:static;max-height:none}}
.toc details{border:1.5px solid var(--line);border-radius:var(--r);background:var(--card)}
.toc summary{cursor:pointer;padding:12px 14px;font:500 11.5px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}
.toc ol{list-style:none;margin:0;padding:0 8px 10px;display:grid;gap:2px}
.toc a{display:grid;grid-template-columns:34px minmax(0,1fr);gap:6px;padding:7px 8px;border-radius:3px;color:var(--ink);text-decoration:none;line-height:1.35}
.toc a span{font:500 12px/1.35 var(--mono);color:var(--muted)}
.toc a:hover{background:var(--bg-2)}
.toc a.on{background:var(--tint)}
.toc-mods a{grid-template-columns:24px minmax(0,1fr)}
.toc-mods a[aria-current="page"]{background:var(--night);color:#fff}
.toc-mods a[aria-current="page"] span{color:var(--glow)}
.toc-mods a.done span::before{content:"\2713 ";color:var(--ok)}
.toc-mods a.done span{font-size:0}
.toc-mods a.done span::before{font-size:13px}

.mcol{display:grid;gap:56px;max-width:760px;min-width:0}
.block{display:grid;gap:18px;scroll-margin-top:100px}
.block-h{display:grid;gap:8px}
.block-h h2{font-size:clamp(25px,2.8vw,33px);line-height:1.12}
.lnum{font:500 12px/1 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--blue)}
.lmeta{font:500 12px/1 var(--mono);color:var(--muted);margin-left:8px;letter-spacing:.03em;text-transform:none}
.prose{display:grid;gap:16px;font-size:17px;line-height:1.7}
.prose p{max-width:66ch}
.prose h4{font-size:17px;margin-top:6px}

.objectives{list-style:none;margin:0;padding:22px;display:grid;gap:12px;background:var(--card);border:1.5px solid var(--line);border-top:3px solid var(--blue);border-radius:var(--r)}
.objectives li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;font-size:16px;line-height:1.5}
.objectives li::before{content:attr(data-n);font:500 12px/24px var(--mono);text-align:center;width:24px;height:24px;border-radius:3px;background:var(--tint);color:var(--blue)}

.tbl{overflow-x:auto;border:1.5px solid var(--line);border-radius:var(--r);background:var(--card)}
.cmp{width:100%;border-collapse:collapse;font-size:15px;line-height:1.45;min-width:520px}
.cmp.mini{min-width:480px}
.cmp th,.cmp td{padding:12px 14px;text-align:left;vertical-align:top;border-top:1.5px solid var(--line)}
.cmp thead th{border-top:0;background:var(--bg);font:500 11px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.cmp thead th:last-child{color:var(--blue)}
.cmp tbody th{font-weight:600;width:24%}
.cmp tbody th small{display:block;font:500 10.5px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:3px;font-weight:500}
.cmp td:last-child{background:color-mix(in srgb,var(--tint) 40%,transparent)}
.cmp.arrows td:first-child{color:var(--muted);width:46%}
.cmp.arrows td:first-child::after{content:" \2192";color:var(--blue)}
.cmp tr.hl th,.cmp tr.hl td{background:var(--night);color:#fff;border-top-color:var(--night)}
.cmp tr.hl th small{color:var(--glow)}

.callout{padding:18px 20px;background:var(--night);color:#fff;border-radius:var(--r);display:grid;gap:6px}
.callout b{font:500 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--glow)}
.callout p{font-size:17px;line-height:1.55}

.why{padding:18px 20px;border:1.5px solid var(--line);border-left:4px solid var(--blue);border-radius:var(--r);background:var(--card);display:grid;gap:8px}
.why span{font:500 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}
.why p{font-size:16px;line-height:1.6}
.why small{font:500 12px/1.4 var(--mono);color:var(--muted)}

.habits{list-style:none;margin:0;padding:0;display:grid;gap:10px;counter-reset:h}
.habits li{counter-increment:h;display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:14px;row-gap:4px;padding:16px 18px;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r);font-size:16px;line-height:1.5}
.habits li::before{content:"0" counter(h);grid-row:span 2;font:600 18px/40px var(--mono);text-align:center;height:40px;background:var(--night);color:var(--glow);border-radius:3px}
.habits .try{grid-column:2;font-size:14.5px;color:var(--blue);font-weight:500}

.steps5{list-style:none;margin:0;padding:0;display:grid;gap:0;border:1.5px solid var(--line);border-radius:var(--r);background:var(--card);counter-reset:s}
.steps5 li{counter-increment:s;display:grid;grid-template-columns:44px 150px minmax(0,1fr);gap:12px;align-items:baseline;padding:13px 16px;border-top:1.5px solid var(--line)}
.steps5 li:first-child{border-top:0}
.steps5 li::before{content:"0" counter(s);font:500 12px/1 var(--mono);color:var(--blue)}
.steps5 b{font:600 12.5px/1.4 var(--mono);letter-spacing:.07em;text-transform:uppercase}
.steps5 span{font-size:15.5px;line-height:1.5}
@media (max-width:560px){.steps5 li{grid-template-columns:34px minmax(0,1fr)}.steps5 span{grid-column:2}}

.brief{margin:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.brief div{padding:14px 16px;border:1.5px solid var(--line);border-top:3px solid var(--blue);border-radius:var(--r);background:var(--card)}
.brief dt{font:600 12px/1 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--blue)}
.brief dd{margin:6px 0 0;font-size:15px;line-height:1.5}

.slip{border:1.5px dashed var(--line);border-radius:var(--r);background:var(--bg);padding:16px 18px;display:grid;gap:10px}
.slip-h{font:500 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}
.slip dl{margin:0;display:grid}
.slip dl div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px;padding:8px 0;border-top:1px solid var(--line)}
.slip dl div:first-child{border-top:0}
.slip dt{font:600 11.5px/1.6 var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.slip dd{margin:0;font-size:15.5px;line-height:1.5}
.slip .tbl{background:var(--card)}
.file{margin:0;white-space:pre-wrap;font:13.5px/1.6 var(--mono);color:var(--ink)}

.two{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.two > div{padding:18px;border:1.5px solid var(--line);border-radius:var(--r);background:var(--card);display:grid;gap:10px;align-content:start}
.three{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
.three > div{padding-top:14px;border-top:3px solid var(--blue);display:grid;gap:6px}
.three h4{font-size:16.5px}
.three p{font-size:15px;color:var(--muted);line-height:1.5}
.ticks{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.ticks li{position:relative;padding-left:26px;font-size:15.5px;line-height:1.5}
.ticks li::before{content:"";position:absolute;left:2px;top:7px;width:12px;height:7px;border-left:2px solid var(--ok);border-bottom:2px solid var(--ok);transform:rotate(-45deg)}
.ticks.stop li::before{width:12px;height:12px;top:5px;border:0;transform:none;background:linear-gradient(45deg,transparent 43%,var(--stop) 43% 57%,transparent 57%),linear-gradient(-45deg,transparent 43%,var(--stop) 43% 57%,transparent 57%)}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}
.checks li{display:flex;gap:10px;align-items:center;padding:12px 14px;border:1.5px solid var(--ok);border-radius:var(--r);background:var(--ok-tint);font-size:14.5px;font-weight:500;line-height:1.35}
.checks li::before{content:"";flex:none;width:16px;height:16px;border:2px solid var(--ok);border-radius:2px}

.blocks{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.blocks > div{position:relative;padding:18px 18px 16px;border:1.5px solid var(--line);border-radius:var(--r);background:var(--card);display:grid;gap:8px;align-content:start}
.bn{font:500 12px/1 var(--mono);color:var(--blue)}
.blocks h4{font-size:17px}
.blocks p{font-size:15px;line-height:1.5;color:var(--muted)}
.blocks .shift{margin-top:auto;padding-top:10px;border-top:1.5px dashed var(--line);color:var(--ink);font-weight:500}
.blocks .shift b{font:500 10.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-right:8px}

.tshape{display:grid;justify-items:center;gap:0;padding:20px;border:1.5px solid var(--line);border-radius:var(--r);background:var(--card)}
.tbar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;max-width:560px}
.tbar span{padding:10px 4px;text-align:center;font:500 11px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;background:var(--tint);color:var(--blue);border:1.5px solid var(--card)}
.tstem{width:min(130px,28%);height:120px;background:var(--night);display:grid;place-items:end center;padding-bottom:12px;border-radius:0 0 var(--r) var(--r)}
.tstem span{font:500 11px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--glow);text-align:center}
@media (max-width:480px){.tbar span{font-size:9px;letter-spacing:.02em}}

.flowx{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.flowx li{font-weight:500;font-size:14px;padding:8px 12px;border-radius:3px;background:var(--card);border:1.5px solid var(--line)}
.flowx li:not(:last-child)::after{content:" \2192";color:var(--muted)}
.flowx li.end{background:#1D5AA6;color:#fff;border-color:#1D5AA6}

.vid{display:grid;grid-template-columns:72px minmax(0,1fr);gap:16px;align-items:center;padding:16px;border-radius:var(--r);background:var(--night);color:#fff;text-decoration:none;border:1.5px solid var(--night-line)}
.vid:hover{border-color:var(--glow)}
.vid-play{width:72px;height:52px;border-radius:3px;background:#1D5AA6;display:grid;place-items:center}
.vid-play::before{content:"";margin-left:5px;border-left:16px solid #fff;border-top:10px solid transparent;border-bottom:10px solid transparent}
.vid-t{display:grid;gap:4px}
.vid-t b{font-size:16.5px;line-height:1.3}
.vid-t small{font:500 12px/1.3 var(--mono);color:var(--glow)}

/* leadership and field boxes */
.lead{padding:clamp(20px,3vw,30px);background:var(--night);color:#fff;border-radius:var(--r);display:grid;gap:14px}
.lead .eyebrow{color:var(--glow)}
.lead h3{font-size:clamp(22px,2.4vw,28px);line-height:1.15}
.lead p{color:#D3DEEC;font-size:16.5px;line-height:1.65;max-width:62ch}
.lead .ticks li{color:#fff}
.lead .ticks li::before{border-color:var(--glow)}
.field{padding:clamp(20px,3vw,28px);border:1.5px solid var(--line);border-top:3px solid var(--blue);border-radius:var(--r);background:var(--card);display:grid;gap:14px}
.field h3{font-size:21px;line-height:1.2}
.field p{font-size:16px;line-height:1.65}
.facts{margin:0;display:grid;border-top:1.5px solid var(--line)}
.facts div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;padding:9px 0;border-bottom:1.5px solid var(--line)}
.facts dt{font:500 11.5px/1.6 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.facts dd{margin:0;font-size:15px;line-height:1.5}
@media (max-width:520px){.facts div{grid-template-columns:1fr;gap:2px}}
.more{font-weight:600;font-size:15px;text-decoration:none}
.more::after{content:" \2192"}

/* exercise */
.ex{padding:clamp(18px,3vw,28px);border:1.5px solid var(--line);border-radius:var(--r);background:var(--card);display:grid;gap:16px}
.ex-intro{font-size:16px;line-height:1.6;color:var(--muted)}
.ex-form{display:grid;gap:14px}
.ex-row{display:grid;gap:6px}
.ex-row label{font:600 12px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}
.ex-row label small{display:block;font:400 13.5px/1.4 var(--sans);letter-spacing:0;text-transform:none;color:var(--muted);margin-top:3px}
.ex-row textarea,.ex-row input{width:100%;font:15.5px/1.5 var(--sans);color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:3px;padding:10px 12px;resize:vertical}
.ex-row textarea:focus,.ex-row input:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px var(--tint)}
.ex-after{margin:0;padding-left:20px;display:grid;gap:4px;font-size:15.5px}
.ex-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding-top:12px;border-top:1.5px solid var(--line)}
.ex-note{font:500 12px/1.4 var(--mono);color:var(--muted)}
.cklist{list-style:none;margin:0;padding:0;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.cklist label{display:flex;gap:10px;align-items:flex-start;padding:11px 13px;border:1.5px solid var(--line);border-radius:3px;background:var(--bg);font-size:15px;line-height:1.4;cursor:pointer}
.cklist input{margin-top:3px;accent-color:#1D5AA6;width:17px;height:17px;flex:none}
.cklist label:has(input:checked){border-color:var(--blue);background:var(--tint)}
.score{display:grid;gap:12px;grid-template-columns:auto minmax(0,1fr);align-items:center;padding:16px 18px;background:var(--night);color:#fff;border-radius:var(--r)}
.score-n{font:600 40px/1 var(--mono);color:var(--glow);font-variant-numeric:tabular-nums}
.score-n small{font-size:16px;color:var(--night-muted)}
.score b{display:block;font-size:18px}
.score p{color:#D3DEEC;font-size:15px;line-height:1.5}
.scale{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.scale span{padding:8px;text-align:center;font:500 11px/1.3 var(--mono);letter-spacing:.05em;text-transform:uppercase;border:1.5px solid var(--line);border-radius:3px;color:var(--muted)}
.scale span.on{background:#1D5AA6;border-color:#1D5AA6;color:#fff}
.calc{display:grid;gap:10px}
.calc-row{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:12px;align-items:center}
.calc-row label{font-size:15px}
.calc-row input{font:500 15px var(--mono);text-align:right}
.calc-out{display:grid;gap:10px;padding:16px;border-radius:var(--r);background:var(--night);color:#fff}
.calc-out p{color:#D3DEEC;font-size:15px}
.calc-out b{color:var(--glow);font-family:var(--mono)}
.cbar{display:flex;height:14px;border-radius:2px;overflow:hidden;background:var(--night-2)}
.cbar i{display:block;height:100%}
.cbar i.a{background:#9CC3F0}.cbar i.b{background:#1D5AA6}
.ckey{display:flex;flex-wrap:wrap;gap:6px 16px;font:500 11.5px/1.3 var(--mono);color:var(--night-muted)}
.ckey span::before{content:"";display:inline-block;width:10px;height:10px;margin-right:6px;vertical-align:-1px;border-radius:2px;background:var(--c)}

/* quiz */
.quiz{display:grid;gap:14px}
.q{padding:18px 20px;border:1.5px solid var(--line);border-radius:var(--r);background:var(--card);display:grid;gap:12px}
.q legend{padding:0;font-size:16.5px;font-weight:600;line-height:1.45;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px}
.q legend span{font:500 12px/1.9 var(--mono);color:var(--blue)}
.q fieldset{border:0;margin:0;padding:0;display:grid;gap:8px;min-width:0}
.opt{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1.5px solid var(--line);border-radius:3px;background:var(--bg);font-size:15.5px;line-height:1.45;cursor:pointer}
.opt input{margin-top:4px;accent-color:#1D5AA6;flex:none}
.opt:has(input:checked){border-color:var(--blue)}
.q.answered .opt{cursor:default}
.opt.right{border-color:var(--ok);background:var(--ok-tint)}
.opt.wrong{border-color:var(--stop);background:var(--stop-tint)}
.fb{font-size:15px;line-height:1.55;padding:10px 12px;border-left:3px solid var(--blue);background:var(--bg)}
.fb b{font-weight:600}
.qbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:16px 18px;border-radius:var(--r);background:var(--bg-2)}
.qres{font-size:15.5px;font-weight:500}
.qres b{font-family:var(--mono)}

.summary{display:grid;gap:12px;padding:clamp(20px,3vw,28px);border:1.5px solid var(--line);border-radius:var(--r);background:var(--card)}
.summary ol{margin:0;padding-left:22px;display:grid;gap:8px;font-size:16px;line-height:1.5}
.nextstep{display:grid;gap:6px;padding:16px 18px;background:var(--tint);border-radius:var(--r)}
.nextstep b{font:500 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}
.nextstep p{font-size:16.5px;font-weight:500}
.reading{display:grid;gap:8px}
.reading a{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border:1.5px solid var(--line);border-radius:var(--r);background:var(--card);text-decoration:none;color:var(--ink);font-weight:500;font-size:15.5px}
.reading a:hover{border-color:var(--blue)}
.reading a span{font:500 12px/1.5 var(--mono);color:var(--blue);white-space:nowrap}
.guidecard{display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;align-items:center;padding:16px;border:1.5px solid var(--line);border-top:3px solid var(--blue);border-radius:var(--r);background:var(--card);text-decoration:none;color:var(--ink)}
.guidecard:hover{border-color:var(--blue)}
.mini-slate{aspect-ratio:3/4;background:#06142A;border-radius:2px;overflow:hidden;display:grid;grid-template-rows:12px 1fr auto;color:#fff;box-shadow:0 8px 20px -10px rgba(11,31,58,.6)}
.mini-slate i{background:repeating-linear-gradient(-45deg,#F4F8FC 0 6px,#0B1F3A 6px 12px)}
.mini-slate b{padding:10px 9px 0;font-size:13px;line-height:1.15;letter-spacing:-.01em}
.mini-slate small{padding:6px 9px 8px;font:500 8px/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#9CC3F0;border-top:1px solid rgba(156,195,240,.25)}
.guidecard .gt{display:grid;gap:6px}
.guidecard .gt span{font:500 11px/1 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--blue)}
.guidecard .gt b{font-size:18px;line-height:1.25}
.guidecard .gt p{font-size:14.5px;color:var(--muted)}

.complete{display:grid;gap:12px;padding:20px;border-radius:var(--r);border:1.5px solid var(--line);background:var(--card)}
.complete[data-done="1"]{border-color:var(--ok);background:var(--ok-tint)}
.pager{display:grid;gap:12px;grid-template-columns:1fr 1fr}
.pager a{display:grid;gap:6px;padding:16px 18px;border:1.5px solid var(--line);border-radius:var(--r);background:var(--card);text-decoration:none;color:var(--ink)}
.pager a:hover{border-color:var(--blue)}
.pager a span{font:500 11px/1 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--blue)}
.pager a b{font-size:17px;line-height:1.3}
.pager a.next{text-align:right;grid-column:2}
@media (max-width:560px){.pager{grid-template-columns:1fr}.pager a.next{grid-column:1}}

/* certificate */
.cert-wrap{display:grid;gap:18px}
.cert{position:relative;aspect-ratio:1.414/1;width:100%;max-width:900px;background:#FFFFFF;color:#0B1F3A;border:1.5px solid #B9CCE4;border-radius:2px;padding:clamp(18px,4vw,48px);display:grid;grid-template-rows:auto 1fr auto;overflow:hidden}
.cert::before{content:"";position:absolute;inset:clamp(8px,1.4vw,14px);border:1.5px solid #1D5AA6;pointer-events:none}
.cert-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.cert-top .wm{display:flex;align-items:center;gap:10px}
.cert-top .wm b{font-family:var(--hand);font-size:clamp(22px,3.4vw,36px);color:#1D5AA6;font-weight:600}
.cert-top small{font:500 clamp(8px,1.1vw,11px)/1.3 "Geist Mono",monospace;letter-spacing:.12em;text-transform:uppercase;color:#4A5D78;text-align:right}
.cert-mid{display:grid;align-content:center;justify-items:center;text-align:center;gap:clamp(6px,1.2vw,12px)}
.cert-mid .k{font:500 clamp(9px,1.2vw,12px)/1 "Geist Mono",monospace;letter-spacing:.2em;text-transform:uppercase;color:#1D5AA6}
.cert-mid .nm{font-family:var(--hand);font-size:clamp(34px,6.4vw,68px);line-height:1;color:#0B1F3A;border-bottom:1.5px solid #B9CCE4;padding:0 clamp(10px,3vw,40px) 6px;min-width:60%}
.cert-mid p{font-size:clamp(11px,1.6vw,16px);line-height:1.5;color:#4A5D78;max-width:58ch}
.cert-mid h3{font-size:clamp(20px,3.4vw,34px);letter-spacing:-.02em;color:#0B1F3A}
.cert-foot{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:end;font:500 clamp(8px,1.1vw,11px)/1.4 "Geist Mono",monospace;letter-spacing:.06em;text-transform:uppercase;color:#4A5D78}
.cert-foot .sig{display:grid;gap:4px}
.cert-foot .sig b{font-family:var(--hand);font-size:clamp(20px,3vw,32px);text-transform:none;letter-spacing:0;color:#0B1F3A;font-weight:600;border-bottom:1.5px solid #B9CCE4;padding-bottom:2px}
.cert-foot .seal{width:clamp(48px,8vw,84px);aspect-ratio:1;border-radius:50%;background:#0B1F3A;display:grid;place-items:center;color:#9CC3F0;text-align:center;font-size:clamp(6px,.9vw,9px);letter-spacing:.1em;line-height:1.3;box-shadow:0 0 0 3px #fff,0 0 0 4.5px #1D5AA6}
.cert-foot .right{text-align:right}
.locked{padding:20px;border:1.5px dashed var(--line);border-radius:var(--r);background:var(--card);color:var(--muted)}

/* cta + footer */
.cta-band{padding-block:clamp(40px,5vw,60px)}
.cta-in{display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center;justify-content:space-between}
.cta-in h2{font-size:clamp(24px,3vw,36px);letter-spacing:-.025em}
.cta-in p{color:var(--night-muted);margin-top:8px;max-width:60ch}
.foot{border-top:3px solid #1D5AA6}
.foot-in{padding-block:52px calc(36px + env(safe-area-inset-bottom,0px));display:grid;gap:20px}
.foot-brand{display:flex;align-items:center;gap:14px}
.foot-brand .bmark{--s:46px}
.foot-name{font-family:var(--hand);font-weight:600;font-size:44px;line-height:1;color:#fff}
.foot-tag{font-size:clamp(18px,2.2vw,24px);font-weight:600;color:var(--glow);letter-spacing:-.015em}
.foot h2{font-size:clamp(26px,3.6vw,40px)}
.foot p{color:var(--night-muted)}
.foot-nav{display:flex;flex-wrap:wrap;gap:6px 20px;padding-top:18px;border-top:1px solid var(--night-line)}
.foot-nav a{color:var(--night-muted);text-decoration:none;font-size:14.5px}
.foot-nav a:hover{color:#fff}
.fine{font-size:13px;color:var(--night-muted);max-width:84ch}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{
  .site-head,.foot,.cta-band,.no-print,.toc,.pager{display:none!important}
  body{background:#fff;padding:0}
  .cert{border:1.5px solid #B9CCE4;max-width:none;page-break-inside:avoid}
}

.mod-more{font:500 11.5px/1 var(--mono);color:var(--blue)}
.mod[open] .mod-more{display:none}
