/* Clinical Pivot AI App · design system.
   Deep royal navy (the Funkie Tee Music blue), premium white, gold. No ivory or cream. Serif for headlines and emphasis only; sans for everything you read and tap.
   Every colour, size, radius and shadow is a token here, so the whole app changes from one place. */
:root{
  /* colour */
  --navy:#0C1544;--ink-blue:#0E1742;--slate:#17256A;--navy-deep:#080E33;
  --gold:#D4B145;--gold-soft:#EBCB6B;--gold-dark:#C9A227;--gold-ink:#7A5E0D;
  --ivory:#FFFFFF;--warm-white:#FFFFFF;--on-dark:#FFFFFF;--on-dark-muted:#B9C0DC;
  --bg:#FFFFFF;--surface:#FFFFFF;--surface-2:#F5F6FB;--ink:#0F1A4A;--ink-2:#39426B;--muted:#5A6285;
  --line:rgba(15,26,74,.11);--line-2:rgba(15,26,74,.26);--accent:var(--gold-ink);
  --ok:#1F6A47;--ok-bg:#E7F1EA;--no:#96342A;--no-bg:#F8EAE6;--focus:#17256A;--btn-ink:#0C1544;--btn-bg:#0E1742;
  --panel:linear-gradient(145deg,#18276E 0%,#0E1742 48%,#0A1038 100%);
  --cta:linear-gradient(135deg,#F2DC85 0%,#DDBA4C 50%,#C9A227 100%);
  /* type */
  --serif:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --t-h1:clamp(1.75rem,1.42rem + 1.5vw,2.5rem);--t-h1-lesson:clamp(1.5rem,1.3rem + .9vw,2rem);--t-emph:clamp(1.35rem,1.2rem + .6vw,1.6rem);
  --t-lead:clamp(1.06rem,1rem + .3vw,1.2rem);--t-body:1.0625rem;--t-card:clamp(1.03rem,1rem + .15vw,1.1rem);--t-small:.95rem;--t-label:.8125rem;
  /* space, shape, depth */
  --s1:8px;--s2:12px;--s3:16px;--s4:24px;--s5:32px;--s6:48px;
  --r-sm:12px;--r:15px;--r-lg:24px;
  --shadow-sm:0 1px 2px rgba(12,21,68,.06),0 10px 22px -12px rgba(12,21,68,.22);
  --shadow:0 24px 60px rgba(12,21,68,.24);
  color-scheme:light}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#070C2B;--surface:#0E1742;--surface-2:#16205A;--ink:#FFFFFF;--ink-2:#DDE1F2;--muted:#B9C0DC;--line:rgba(255,255,255,.12);--line-2:rgba(255,255,255,.28);
  --accent:#E8C96B;--gold-ink:#E8C96B;--ok:#93DDB6;--ok-bg:#12382A;--no:#F6B3A8;--no-bg:#45201B;--focus:#E8C96B;--btn-bg:#24358A;color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#070C2B;--surface:#0E1742;--surface-2:#16205A;--ink:#FFFFFF;--ink-2:#DDE1F2;--muted:#B9C0DC;--line:rgba(255,255,255,.12);--line-2:rgba(255,255,255,.28);
  --accent:#E8C96B;--gold-ink:#E8C96B;--ok:#93DDB6;--ok-bg:#12382A;--no:#F6B3A8;--no-bg:#45201B;--focus:#E8C96B;--btn-bg:#24358A;color-scheme:dark}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:var(--t-body);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
[hidden]{display:none!important}
img{max-width:100%;height:auto}
a{color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:99;background:var(--surface);padding:10px 14px;border-radius:8px}
h1,h2,h3,h4{margin:0;text-wrap:balance}
h1{font-family:var(--serif);font-weight:400;font-size:var(--t-h1);line-height:1.12;letter-spacing:-.005em}h1:focus{outline:none}
h1.ltitle{font-size:var(--t-h1-lesson)}
h2{font-family:var(--sans);font-weight:700;font-size:1.18rem;line-height:1.3;letter-spacing:-.005em}
h3{font-family:var(--sans);font-weight:700;font-size:1.08rem;line-height:1.3}
h4{font-family:var(--sans);font-weight:700;font-size:1rem;line-height:1.35}
p{margin:0}

/* ---------- frame ---------- */
.top{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:var(--s2);min-height:60px;padding:6px clamp(16px,4vw,32px);padding-top:calc(6px + env(safe-area-inset-top,0px));background:var(--navy);border-bottom:1px solid rgba(212,177,69,.45)}
.top__logo,.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff}.top__logo img,.brand img{width:44px;height:44px;border-radius:11px;border:1px solid rgba(212,177,69,.6)}
.brandname{font-family:var(--serif);font-size:clamp(1.25rem,1.1rem + .7vw,1.6rem);line-height:1;color:#fff;white-space:nowrap}.brandname b{font-weight:400;color:var(--gold-soft)}
.top__menu{min-height:46px;padding:0 20px;border-radius:999px;border:0;background:var(--gold);color:var(--btn-ink);font-weight:700;font-size:.95rem;letter-spacing:.01em;cursor:pointer;transition:filter .18s ease}
.top__menu:hover{filter:brightness(1.05)}
.menu{position:fixed;z-index:29;top:calc(61px + env(safe-area-inset-top,0px));right:0;left:0;max-height:calc(100vh - 61px);overflow:auto;display:grid;gap:2px;padding:var(--s2) clamp(16px,4vw,32px) var(--s3);background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--shadow)}
.menu a{display:flex;align-items:center;min-height:46px;padding:0 var(--s2);border-radius:10px;color:var(--ink);text-decoration:none;font-weight:600}
.menu a:hover{background:var(--surface-2)}.menu .btn{margin-top:var(--s1);justify-self:start}
@media(min-width:760px){.menu{left:auto;width:340px;border-left:1px solid var(--line);border-radius:0 0 0 var(--r)}}
main{width:100%;max-width:860px;margin:0 auto;padding:var(--s4) clamp(16px,4.5vw,32px) calc(var(--s6) + env(safe-area-inset-bottom,0px));display:grid;gap:var(--s3)}
main>*{min-width:0}
.boot{padding:40px 0;text-align:center;color:var(--muted)}

/* ---------- text ---------- */
.eyebrow{font-size:var(--t-label);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.lead{font-size:var(--t-lead);line-height:1.5;color:var(--ink-2)}
.note{font-size:var(--t-small);line-height:1.5;color:var(--muted)}
.fine{font-size:var(--t-small);line-height:1.5;color:var(--muted);max-width:62ch}
.big{font-size:clamp(1.08rem,1.03rem + .25vw,1.2rem);line-height:1.55}.big+.big{margin-top:var(--s2)}
.pull{font-family:var(--serif);font-size:var(--t-emph);line-height:1.3;padding-left:var(--s3);border-left:2px solid var(--gold)}
.center{text-align:center}
.back{justify-self:start;display:inline-flex;align-items:center;min-height:44px;font-weight:600;font-size:.92rem;color:var(--muted);text-decoration:none}
.back:hover{color:var(--ink)}
.ac{display:inline;padding:0;border:0;background:none;font-weight:inherit;color:inherit;text-decoration:underline solid var(--gold-dark) 1.5px;text-underline-offset:4px;cursor:help}
.chip{display:inline-block;padding:3px 10px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);font-size:.78rem;font-weight:700;color:var(--ink-2)}
.chip--ISF{border-color:var(--slate);color:var(--slate)}.chip--TMF{border-color:var(--gold-dark);color:var(--gold-ink)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:56px;padding:10px 26px;border-radius:13px;border:1px solid var(--btn-bg);background:var(--btn-bg);color:var(--on-dark);font-weight:700;font-size:1.03rem;text-decoration:none;text-align:center;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.btn:hover:not([disabled]){transform:translateY(-1px);filter:brightness(1.04)}
.btn--gold{background:var(--cta);border-color:transparent;color:var(--btn-ink);box-shadow:0 10px 22px -14px rgba(201,162,39,.75)}
.btn--gold:hover:not([disabled]){box-shadow:0 14px 26px -14px rgba(201,162,39,.85)}
.btn--ghost{background:transparent;border-color:var(--line-2);color:var(--ink)}
.btn--sm{min-height:44px;padding:6px 16px;font-size:.92rem;border-radius:11px}
.btn--big{min-height:58px;width:100%;font-size:1.08rem}
@media(min-width:640px){.btn--big,.hero>.btn--big,.card>.btn--big{width:auto;min-width:260px;justify-self:start}}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2)}
.navrow{display:flex;justify-content:space-between;align-items:center;gap:var(--s2)}.navrow .btn{min-width:128px}

/* ---------- panels and cards ---------- */
.card{display:grid;gap:var(--s3);padding:clamp(18px,3.4vw,28px);border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);box-shadow:0 1px 2px rgba(12,21,68,.05),0 18px 40px -22px rgba(12,21,68,.28)}
/* The deep panel: used for the welcome, the home summary, lesson-done and quiz results. */
.hero{display:grid;gap:var(--s3);padding:clamp(22px,4.2vw,40px);border-radius:var(--r-lg);background:var(--panel);border:1px solid rgba(212,177,69,.14);box-shadow:var(--shadow);color:var(--on-dark)}
.card>*,.hero>*{min-width:0}
.hero h1,.hero h2{color:var(--on-dark)}.hero .eyebrow{color:var(--gold)}.hero p{color:var(--on-dark)}.hero .lead{color:#E3E7F6}.hero .note,.hero .fine{color:var(--on-dark-muted)}
.hero .pull{color:var(--on-dark);border-left-color:var(--gold)}.hero a:not(.btn){color:var(--gold-soft)}
.hero .btn--ghost{border-color:rgba(248,245,238,.34);color:var(--on-dark)}.hero .btn--ghost:hover{border-color:var(--gold)}
.hero .bar{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.10)}
.hero .steps li{background:rgba(255,255,255,.045);border-color:rgba(212,177,69,.22);color:var(--on-dark)}
.hero .steps li::before{background:var(--gold);color:var(--btn-ink)}
.hero .lockednote{background:rgba(255,255,255,.045);border:1px solid rgba(212,177,69,.22)}.hero .lockednote p{color:var(--on-dark)}
.bar{height:8px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);overflow:hidden}.bar i{display:block;height:100%;min-width:8px;background:var(--cta);border-radius:999px}
.guide{display:flex;align-items:center;gap:var(--s2)}.guide img{width:60px;height:60px;border-radius:50%;object-fit:cover;object-position:50% 8%;border:1.5px solid var(--gold);background:var(--ivory)}
.guide small{display:block;font-size:.8rem;color:var(--muted)}
.steps{margin:0;padding:0;list-style:none;counter-reset:s;display:grid;gap:10px}
.steps li{counter-increment:s;position:relative;padding:16px 20px 16px 66px;border-radius:var(--r);background:var(--surface-2);border:1px solid var(--line);font-size:var(--t-card);font-weight:500;line-height:1.45}
.steps li::before{content:counter(s);position:absolute;left:16px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--ink-blue);color:var(--gold-soft);font-weight:700;font-size:.92rem}
.mistakes{margin:0;padding:0;list-style:none;display:grid;gap:10px}.mistakes li{padding:14px 18px;border-radius:var(--r);border-left:2px solid var(--no);background:var(--no-bg);font-size:var(--t-card)}
ul.plain{margin:0;padding-left:1.2rem;display:grid;gap:6px}

/* ---------- the path ---------- */
.path{margin:var(--s2) 0 0;padding:0;list-style:none;display:grid;gap:var(--s1)}
.path__a{display:flex;align-items:center;gap:var(--s3);min-height:62px;padding:10px 16px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);box-shadow:0 1px 2px rgba(12,21,68,.04),0 10px 22px -18px rgba(12,21,68,.3);color:var(--ink);text-decoration:none;transition:border-color .18s ease,box-shadow .18s ease}
a.path__a:hover{border-color:rgba(212,177,69,.6);box-shadow:var(--shadow-sm)}
.path__n{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--surface-2);border:1px solid var(--line-2);font-weight:700;font-size:.92rem;color:var(--ink-2)}
.path__t{flex:1;min-width:0;display:grid}.path__t b{font-weight:700}.path__t small{font-size:.86rem;color:var(--muted)}
.is-done .path__n{background:var(--ok-bg);border-color:transparent;color:var(--ok)}
.is-here .path__a{border-color:var(--gold);box-shadow:var(--shadow-sm)}.is-here .path__n{background:var(--ink-blue);border-color:var(--ink-blue);color:var(--gold-soft)}
.is-locked .path__a{opacity:.58}
.here{flex:none;padding:4px 10px;border-radius:999px;background:var(--ink-blue);color:var(--gold-soft);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.lockednote{padding:var(--s3);border-radius:var(--r);background:var(--surface-2);border:1px dashed var(--line-2)}

/* ---------- lesson ---------- */
.dots{display:flex;gap:5px}.dots i{flex:1;height:4px;border-radius:999px;background:var(--line-2);opacity:.5}.dots .is-past{background:var(--gold-dark);opacity:1}.dots .is-now{background:var(--ink);opacity:1}
.screen{min-height:220px;align-content:start}
.q{font-family:var(--sans);font-size:1.14rem;font-weight:700;line-height:1.4}
.check+.check{margin-top:var(--s4);padding-top:var(--s4);border-top:1px solid var(--line)}
.opts{display:grid;gap:10px;margin-top:var(--s2)}
.opt{min-height:54px;text-align:left;padding:13px 18px;border-radius:var(--r);border:1px solid var(--line-2);background:var(--surface);font-weight:600;font-size:var(--t-card);cursor:pointer;transition:border-color .15s ease,background-color .15s ease}
.opt:hover:not([disabled]){border-color:var(--gold-dark);background:var(--surface-2)}
.opt.is-right{border-color:var(--ok);background:var(--ok-bg)}.opt.is-wrong{border-color:var(--no);background:var(--no-bg)}.opt[disabled]{cursor:default}
.fb{margin-top:10px;padding:13px 16px;border-radius:var(--r);background:var(--surface-2)}.fb--ok{background:var(--ok-bg);color:var(--ink)}.fb--no{background:var(--no-bg);color:var(--ink)}
.copybox{margin:0;padding:var(--s3);border-radius:var(--r);background:var(--surface-2);border:1px solid var(--line);white-space:pre-wrap;word-break:break-word;font-family:var(--sans);font-size:.98rem;line-height:1.55}
.tabs{display:flex;gap:6px;flex-wrap:wrap}.tab{min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--line-2);background:transparent;font-weight:700;font-size:.92rem;cursor:pointer}
.tab[aria-selected="true"]{background:var(--ink-blue);border-color:var(--ink-blue);color:var(--gold-soft)}
.rolepane{display:grid;gap:var(--s2);margin-top:var(--s2)}
.flash{display:grid;gap:var(--s3);place-items:center;width:100%;min-height:230px;padding:var(--s4);border-radius:var(--r-lg);border:1px solid rgba(212,177,69,.18);background:var(--panel);color:var(--on-dark);text-align:center;cursor:pointer;box-shadow:var(--shadow)}
.flash__term{font-family:var(--serif);font-weight:400;font-size:2.4rem}.flash span{display:grid;gap:8px;font-size:1.1rem}.flash small{color:var(--on-dark-muted)}
.listen select{width:auto;min-width:0;max-width:100%}

/* ---------- forms and tools ---------- */
.form{display:grid;gap:var(--s3);min-width:0}.form>*{min-width:0}
.field{display:grid;gap:4px;flex:1;min-width:0}.field label{font-weight:700;font-size:.92rem}.field small{font-size:.86rem;color:var(--muted)}
input[type=text],input[type=email],input[type=date],input[type=search],select,textarea{width:100%;min-height:50px;padding:10px 14px;border-radius:var(--r-sm);border:1px solid var(--line-2);background:var(--surface);color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold-dark);box-shadow:0 0 0 3px rgba(212,177,69,.28)}
textarea{min-height:0;resize:vertical}input[type=file]{width:100%;max-width:100%;min-width:0;font-size:.9rem}
.tick{display:flex;gap:var(--s2);align-items:flex-start;padding:9px 0;min-height:44px;cursor:pointer}.tick input{flex:none;width:22px;height:22px;margin-top:2px;accent-color:var(--ink-blue)}
.fs{border:1px solid var(--line);border-radius:var(--r);padding:10px 16px;margin:0 0 var(--s2)}.fs legend{font-weight:700;padding:0 6px}
.block,.tool{display:grid;gap:var(--s2)}.tool>*{min-width:0}
.cards{display:grid;gap:10px}@media(min-width:620px){.cards{grid-template-columns:1fr 1fr}}
.mini{display:grid;gap:8px;padding:var(--s3);border-radius:var(--r);background:var(--surface-2);border:1px solid var(--line);min-width:0}
.tpl{display:grid;gap:8px}
.qa{padding:13px 16px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface-2)}.qa+.qa{margin-top:8px}.qa summary{font-weight:700;cursor:pointer;min-height:30px}.qa[open]>*:not(summary){margin-top:8px}
.ba{display:grid;gap:6px;padding:13px 16px;border-radius:var(--r);border:1px solid var(--line)}.ba__b{color:var(--muted)}.ba__a{border-left:2px solid var(--ok);padding-left:12px}
.links{margin:0;padding-left:1.2rem;display:grid;gap:6px;word-break:break-word}
.scroll{overflow-x:auto}.tbl{border-collapse:collapse;width:100%;font-size:.93rem}.tbl th,.tbl td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--line);min-width:120px}.tbl thead th{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.draft{display:grid;gap:6px}.draft__part{text-align:left;padding:11px 14px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);cursor:pointer;line-height:1.5}
.draft__part.is-hit{border-color:var(--no);background:var(--no-bg)}.draft__part.is-fine{opacity:.6}
.result{display:grid;gap:8px;padding:var(--s3);border-radius:var(--r);background:var(--ok-bg);border:1px solid transparent}
.sim{display:grid;gap:8px;padding:var(--s3);border-radius:var(--r);border:1px solid var(--line-2);background:var(--surface)}.sim__h{font-size:.82rem;font-weight:700;color:var(--muted)}
.simrow{display:flex;justify-content:space-between;gap:12px;padding:9px 12px;border-radius:9px;background:var(--surface-2)}.simrow.is-flag{outline:1.5px solid var(--no)}
.sim__q{padding:11px;border-radius:9px;background:var(--no-bg)}.sim__doc{font-family:var(--serif);font-size:1.25rem}
.filters{display:flex;flex-wrap:wrap;gap:10px}.filters .field{min-width:160px}
.term{position:relative;padding-right:60px;margin-bottom:8px}.star{position:absolute;top:10px;right:10px;width:44px;height:44px;border-radius:50%;border:1px solid var(--line-2);background:transparent;font-size:1.15rem;color:var(--line-2);cursor:pointer}
.star.is-on{color:var(--gold-dark);border-color:var(--gold-dark)}.also{padding-top:8px;border-top:1px dashed var(--line-2)}
.letter{margin:var(--s3) 0 var(--s1);font-family:var(--serif);font-weight:400;font-size:1.6rem;color:var(--accent)}
.plan{display:grid;gap:10px}.plan__logo{width:52px;height:52px;border-radius:12px}.plan h4{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.printonly{display:none}.cols{columns:2;column-gap:24px;font-size:.8rem;line-height:1.35;padding-left:1.4rem}.cols li{break-inside:avoid;margin-bottom:4px}
.locked h2{opacity:.55}.locked h2::before{content:"Locked · ";font-size:.74rem;letter-spacing:.1em;text-transform:uppercase}
.aod{border-left:2px solid var(--gold)}.aod h2{font-family:var(--serif);font-weight:400;font-size:1.6rem}

/* ---------- sign-in ---------- */
.signin{display:grid;gap:var(--s3);width:100%;max-width:520px;justify-self:center;padding:clamp(22px,5vw,40px);border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);margin-top:6vh}
.signin .brand{justify-self:start;padding:14px 18px;border-radius:14px;background:var(--panel)}
.preview{display:grid;gap:8px;padding:var(--s3);border-radius:var(--r);border:1px dashed var(--line-2);background:var(--surface-2)}

/* ---------- sheet and toast ---------- */
.sheet{position:fixed;inset:0;z-index:50;display:grid;align-items:end}
.sheet__scrim{position:absolute;inset:0;background:rgba(8,14,51,.66)}
.sheet__box{position:relative;display:grid;gap:var(--s2);width:min(100%,600px);max-height:86vh;overflow:auto;margin:0 auto;padding:var(--s4) clamp(18px,4vw,28px) calc(var(--s4) + env(safe-area-inset-bottom,0px));border-radius:var(--r-lg) var(--r-lg) 0 0;background:var(--surface);border-top:2px solid var(--gold)}
.sheet__box>div{display:grid;gap:10px}.sheet__box h2{font-family:var(--serif);font-weight:400;font-size:1.7rem}
@media(min-width:700px){.sheet{align-items:center}.sheet__box{border-radius:var(--r-lg)}}
.toast{position:fixed;z-index:60;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translate(-50%,20px);max-width:min(92vw,420px);padding:12px 20px;border-radius:999px;background:var(--navy);color:var(--on-dark);border:1px solid rgba(212,177,69,.35);font-weight:600;font-size:.95rem;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
.toast.is-on{opacity:1;transform:translate(-50%,0)}
@media (prefers-reduced-motion:reduce){.toast,.btn,.path__a,.opt{transition:none}.btn:hover:not([disabled]){transform:none}}

/* ---------- print (the one-page PDFs) ---------- */
@media print{
  .top,.menu,.back,.noprint,.toast,.sheet{display:none!important}
  body{background:#fff;color:#000;font-size:11pt}main{max-width:none;padding:0}.card,.hero{border:0;padding:0;box-shadow:none;background:none;color:#000}
  .plan input{border:0;padding:0;min-height:0}
  body.print-one main *{visibility:hidden}body.print-one .print-me,body.print-one .print-me *{visibility:visible}
  body.print-one .printonly{display:block}body.print-one .print-me{position:absolute;left:0;top:0;width:100%}
  body.print-one .tick input{visibility:visible}
}

/* ---------- Speak Clearly (interview speaking practice) ---------- */
.speak{display:grid;gap:var(--s3)}.speak__line{font-family:var(--serif);font-size:var(--t-emph);line-height:1.35;padding:var(--s3);border-radius:var(--r);background:var(--surface-2);border:1px solid var(--line)}
.speak__step{display:grid;gap:var(--s2);padding:var(--s3);border-radius:var(--r);border:1px solid var(--line)}.speak__step h4{display:flex;align-items:center;gap:10px}
.speak__step h4 i{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--btn-bg);color:var(--gold-soft);font-style:normal;font-size:.86rem}
.speak audio{width:100%}.heard span{padding:1px 3px;border-radius:5px}.heard .miss{background:var(--no-bg);color:var(--no);font-weight:700}.heard .hit{color:var(--ok)}
.meter{display:flex;gap:var(--s4);flex-wrap:wrap}.meter div{display:grid}.meter b{font-family:var(--serif);font-weight:400;font-size:1.7rem;line-height:1.1}.meter small{color:var(--muted);font-size:.82rem}
.rec{background:var(--no);border-color:var(--no);color:#fff}

/* ---------- the cover: the doors you enter through ---------- */
.cover{position:fixed;inset:0;z-index:80;display:grid;place-items:center;overflow:hidden;color:#fff}
.cover__door{position:absolute;top:0;bottom:0;width:50.1%;overflow:hidden;background:var(--navy);transition:transform 1s cubic-bezier(.7,0,.2,1)}
.cover__door--l{left:0}.cover__door--r{right:0}
.cover__door i{position:absolute;top:0;bottom:0;width:100vw;background:radial-gradient(90% 70% at 50% 38%,#22348C 0%,#0E1742 46%,#080E33 100%);background-size:cover;background-position:center}
.cover__door--l i{left:0}.cover__door--r i{right:0}
/* With a picture behind it, the words sit on a solid navy card and the picture is softened, so nothing fights the text. */
.cover.has-img .cover__in{padding:clamp(26px,5vw,48px) clamp(22px,5vw,56px);border-radius:var(--r-lg);background:rgba(10,16,56,.93);border:1px solid rgba(212,177,69,.45);box-shadow:0 30px 80px rgba(0,0,0,.55)}
.cover.has-img .cover__door i{filter:blur(3px) saturate(.9);transform:scale(1.04)}
.cover.has-img::after{display:none}
.cover::after{content:"";position:absolute;inset:14px;border:1px solid rgba(212,177,69,.38);border-radius:20px;pointer-events:none;transition:opacity .4s ease}
.cover__in{position:relative;z-index:1;display:grid;gap:var(--s3);justify-items:center;text-align:center;width:min(100% - 48px,620px);transition:opacity .4s ease,transform .6s ease}
.cover__mark{width:84px;height:84px;border-radius:20px;border:1px solid rgba(212,177,69,.7);box-shadow:0 20px 50px rgba(0,0,0,.4)}
.cover .eyebrow{color:var(--gold-soft);letter-spacing:.24em}
.cover h1{color:#fff;font-size:clamp(2rem,1.4rem + 3vw,3.4rem);line-height:1.08}
.cover .lead{color:#E3E7F6}.cover .fine{color:#B9C0DC}
.cover .btn,.cover__in>.btn--big{min-width:220px;width:auto;margin-top:var(--s2);justify-self:center}
.cover.is-open .cover__door--l{transform:translateX(-101%)}.cover.is-open .cover__door--r{transform:translateX(101%)}
.cover.is-open .cover__in{opacity:0;transform:scale(1.04)}.cover.is-open::after{opacity:0}.cover.is-open{pointer-events:none}
@media (prefers-reduced-motion:reduce){.cover__door,.cover__in{transition:opacity .3s ease}.cover.is-open .cover__door{transform:none;opacity:0}}

.cover__hi{font-family:var(--serif);font-size:var(--t-emph);color:var(--gold-soft)}
.cover__name{display:grid;gap:8px;justify-items:center;width:min(100%,320px)}.cover__name label{font-weight:600;color:#E3E7F6}
.cover__name input{text-align:center;background:rgba(255,255,255,.08);border:1px solid rgba(212,177,69,.55);color:#fff;font-size:1.1rem}.cover__name input::placeholder{color:#B9C0DC}

/* ---------- lesson slides ---------- */
.deckbar{display:flex;justify-content:space-between;align-items:center;gap:var(--s2)}
.playbtn{min-width:112px;border-radius:999px}
.slide{display:grid;grid-template-rows:auto 1fr auto;min-height:0;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--gold-dark);box-shadow:0 1px 2px rgba(12,21,68,.05),0 22px 48px -24px rgba(12,21,68,.34);overflow:hidden;animation:slideIn .28s ease both}
.slide__head{display:grid;gap:6px;padding:clamp(18px,3.4vw,30px) clamp(18px,3.6vw,34px) 0}
.slide__kicker{font-family:var(--sans);font-size:.8125rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;line-height:1.4;color:var(--accent)}
.slide__title{font-family:var(--serif);font-weight:400;font-size:clamp(1.5rem,1.25rem + 1.1vw,2.1rem);line-height:1.15;letter-spacing:-.005em}
.slide__body{display:grid;gap:var(--s3);align-content:start;padding:var(--s3) clamp(18px,3.6vw,34px) var(--s4);min-width:0}.slide__body>*{min-width:0}
.slide__foot{display:flex;justify-content:space-between;align-items:center;padding:10px clamp(18px,3.6vw,34px);border-top:1px solid var(--line);font-size:.8rem;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}
.slide__brand{font-family:var(--serif);font-size:.95rem;font-weight:400;color:var(--ink)}.slide__brand b{font-weight:400;color:var(--gold-ink)}
.slide--title{background:var(--panel);border-color:rgba(212,177,69,.14);border-top-color:var(--gold);color:#fff}
.slide--title .slide__head{align-content:center;padding-top:clamp(32px,7vw,64px)}
.slide--title .slide__kicker{color:var(--gold-soft)}.slide--title .slide__title{color:#fff;font-size:clamp(1.9rem,1.4rem + 2.4vw,3rem)}
.slide--title .slide__foot{border-top-color:rgba(255,255,255,.14);color:#B9C0DC}.slide--title .slide__brand{color:#fff}.slide--title .slide__brand b{color:var(--gold-soft)}
.slide--title .guide b{color:#fff}.slide--title .guide small,.slide--title .note{color:#B9C0DC}
.slide__intro{display:grid;gap:var(--s3)}
.voicebox{padding:12px 16px;border-radius:var(--r);border:1px solid var(--line);background:var(--surface-2)}.voicebox summary{font-weight:700;font-size:.92rem;cursor:pointer}.voicebox[open]>*:not(summary){margin-top:10px}
.lockchip{flex:none;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
@keyframes slideIn{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.slide{animation:none}}

/* ---------- colour and energy: lesson top bar, Read/Listen switch, slide header band ---------- */
.deckbar .back{min-height:46px;padding:0 18px;border-radius:999px;background:var(--btn-bg);color:#fff;font-size:.95rem;font-weight:700;box-shadow:0 10px 20px -12px rgba(12,21,68,.7)}
.deckbar .back:hover{color:var(--gold-soft)}
.seg{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line-2)}
.seg__b{min-height:42px;padding:0 20px;border-radius:999px;border:0;background:transparent;font-weight:700;font-size:.95rem;color:var(--ink-2);cursor:pointer;transition:background-color .18s ease,color .18s ease}
.seg__b[aria-pressed="true"]{background:var(--btn-bg);color:#fff}
.seg__b--listen[aria-pressed="true"]{background:var(--cta);color:var(--btn-ink);box-shadow:0 8px 18px -10px rgba(201,162,39,.9)}
.seg__b--listen::before{content:"";display:inline-block;width:0;height:0;margin-right:8px;border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent currentColor;vertical-align:-1px}
.seg__b--listen[aria-pressed="true"]::before{width:10px;height:12px;border:0;border-left:3px solid currentColor;border-right:3px solid currentColor}
.slide{border-top:0}
.slide__head{padding:clamp(16px,3vw,24px) clamp(18px,3.6vw,34px);background:var(--panel);border-bottom:3px solid var(--gold-dark)}
.slide__kicker{color:var(--gold-soft)}.slide__title{color:#fff}
.slide--title .slide__head{background:none;border-bottom:0}
.slide__body{padding-top:var(--s4)}
.slide .pull{font-size:clamp(1.4rem,1.2rem + .9vw,1.9rem);border-left-width:3px}
.dots i{height:5px}
@media (prefers-reduced-motion:reduce){.seg__b{transition:none}}

/* ---------- balanced slides: no empty halves ---------- */
.slide__body{align-content:center;min-height:clamp(200px,34vh,320px)}
.slide--title{min-height:clamp(320px,52vh,460px)}.slide--title .slide__body{min-height:0;align-content:start}
.split{display:grid;gap:var(--s4);align-items:center}
.split__text{display:grid;gap:var(--s2)}.split__text .big+.big{margin-top:0}
.slide__art{justify-self:center;width:min(100%,220px);height:auto;border-radius:var(--r-lg)}
@media(min-width:700px){.split{grid-template-columns:1.5fr 1fr}.slide__art{width:min(100%,280px);justify-self:end}}
@media(max-width:699px){.slide__art{width:150px;order:-1}}
.likeq{position:relative;margin:0;padding:clamp(22px,4vw,36px) clamp(20px,4vw,40px) clamp(22px,4vw,36px) clamp(64px,9vw,96px);border-radius:var(--r-lg);background:var(--surface-2);border:1px solid var(--line);font-family:var(--serif);font-size:clamp(1.3rem,1.1rem + 1vw,1.85rem);line-height:1.35;color:var(--ink)}
.likeq::before{content:"\201C";position:absolute;left:clamp(14px,2.4vw,26px);top:clamp(2px,1vw,10px);font-family:var(--serif);font-size:clamp(4rem,3rem + 4vw,6.5rem);line-height:1;color:var(--gold-dark)}
.keepbox{display:grid;gap:var(--s2);padding:clamp(22px,4vw,38px);border-radius:var(--r-lg);background:var(--panel);color:#fff;text-align:center;justify-items:center}
.keepbox .eyebrow{color:var(--gold-soft)}.keepbox .note{color:#B9C0DC}
.keepbox__line{font-family:var(--serif);font-size:clamp(1.35rem,1.1rem + 1.2vw,2rem);line-height:1.3;max-width:26ch}
.slide .steps li,.slide .mistakes li{font-size:clamp(1.03rem,1rem + .2vw,1.14rem)}
.deckbar .back{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:48vw;display:inline-block;line-height:46px}
.seg__b{white-space:nowrap}
@media(max-width:480px){.seg__b{padding:0 14px}.deckbar .back{padding:0 14px}}

/* ---------- module pictures ---------- */
.modhero{display:grid;gap:var(--s2);align-content:end;min-height:clamp(220px,34vw,340px);padding:clamp(22px,4.2vw,40px);border-radius:var(--r-lg);background:var(--panel);background-size:cover;background-position:center right;color:#fff;box-shadow:var(--shadow);border:1px solid rgba(212,177,69,.14)}
.modhero .eyebrow{color:var(--gold-soft)}.modhero h1{color:#fff;max-width:16ch}.modhero .lead{color:#E3E7F6;max-width:44ch}
.slide--title{background-size:cover;background-position:center right}
.slide--title .slide__title{max-width:14ch}
@media(max-width:699px){.modhero,.slide--title{background-position:68% center}}
/* On phones the title sits over more of the picture, so the navy wash is stronger there. */
@media(max-width:699px){.slide--title,.modhero{position:relative;overflow:hidden}.slide--title::before,.modhero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,16,56,.78),rgba(10,16,56,.55) 70%,rgba(10,16,56,.72))}.slide--title>*,.modhero>*{position:relative}}

/* ---------- front page: summary with stats, tools, compact path ---------- */
main:focus{outline:none}
.hero--home{gap:var(--s4)}.hero__main{display:grid;gap:var(--s3);min-width:0}
.stats{display:grid;gap:var(--s2);align-content:center}
.stat{display:flex;align-items:baseline;gap:10px;padding:12px 16px;border-radius:var(--r);background:rgba(255,255,255,.05);border:1px solid rgba(212,177,69,.22)}
.stat b{font-family:var(--serif);font-weight:400;font-size:1.9rem;line-height:1;color:var(--gold-soft);font-variant-numeric:tabular-nums}.stat span{font-size:.9rem;color:#D8DDF0}
@media(min-width:760px){.hero--home{grid-template-columns:1.5fr 1fr;align-items:center}}
@media(max-width:759px){.stats{grid-template-columns:repeat(3,1fr)}.stat{flex-direction:column;gap:2px;padding:10px 12px}.stat span{font-size:.78rem}}
.toolgrid{display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}
@media(min-width:760px){.toolgrid{grid-template-columns:repeat(4,1fr)}}
.tooltile{display:grid;gap:4px;align-content:start;padding:16px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--gold-dark);color:var(--ink);text-decoration:none;box-shadow:0 1px 2px rgba(12,21,68,.04),0 10px 22px -18px rgba(12,21,68,.3);transition:transform .18s ease,border-color .18s ease}
.tooltile:hover{transform:translateY(-2px)}.tooltile b{font-weight:700}.tooltile span{font-size:.86rem;color:var(--muted);line-height:1.35}
@media(min-width:900px){.path:not(.path--lessons){grid-template-columns:1fr 1fr}}
.path:not(.path--lessons) .path__a{min-height:58px}
/* ---------- a smaller, friendlier welcome card ---------- */
.cover__in{width:min(100% - 40px,440px);gap:var(--s2)}
.cover.has-img .cover__in{padding:clamp(22px,4vw,34px) clamp(20px,4vw,34px)}
.cover__mark{width:60px;height:60px;border-radius:15px}
.cover h1{font-size:clamp(1.6rem,1.3rem + 1.4vw,2.15rem)}
.cover .lead{font-size:1rem}.cover .btn,.cover__in>.btn--big{min-width:180px;min-height:52px}
.cover__name{width:min(100%,280px)}

/* ---------- recommended plan: stages and picture cards ---------- */
.tooltile{background:var(--panel);border:1px solid rgba(212,177,69,.2);border-top:3px solid var(--gold);color:#fff}.tooltile b{color:#fff}.tooltile span{color:#C9D0EA}
.tooltile::after{content:"→";justify-self:end;color:var(--gold-soft);font-weight:700;margin-top:2px}
.plan2{display:grid;gap:var(--s4)}
.plan2__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:var(--s3);padding:clamp(18px,3vw,26px);border-radius:var(--r-lg);background:var(--surface-2);border:1px solid var(--line)}
.plan2__title{font-family:var(--serif);font-weight:400;font-size:clamp(1.35rem,1.15rem + 1vw,1.85rem);line-height:1.15;margin:4px 0}
.stage{display:grid;gap:var(--s2)}
.stage__head{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.stage__n{padding:4px 12px;border-radius:999px;background:var(--btn-bg);color:var(--gold-soft);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.stage__head h3{font-family:var(--serif);font-weight:400;font-size:1.45rem}
.stage__w{margin-left:auto;padding:4px 12px;border-radius:999px;border:1px solid var(--gold-dark);color:var(--gold-ink);font-size:.8rem;font-weight:700}
.stage__x{color:var(--ink-2);max-width:60ch}
.modgrid{display:grid;gap:var(--s2);grid-template-columns:1fr}
@media(min-width:560px){.modgrid{grid-template-columns:repeat(2,1fr)}}
.modcard{display:grid;grid-template-rows:auto 1fr;border-radius:var(--r-lg);overflow:hidden;background:var(--surface);border:1px solid var(--line);color:var(--ink);text-decoration:none;box-shadow:0 1px 2px rgba(12,21,68,.05),0 16px 34px -22px rgba(12,21,68,.4);transition:transform .2s ease,box-shadow .2s ease}
a.modcard:hover{transform:translateY(-3px);box-shadow:0 2px 4px rgba(12,21,68,.06),0 26px 44px -22px rgba(12,21,68,.5)}
.modcard__img{position:relative;display:block;height:clamp(104px,16vw,132px);background:var(--panel);background-size:cover;background-position:center right}
.modcard__n{position:absolute;left:14px;bottom:12px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--gold);color:var(--btn-ink);font-weight:800;font-size:.95rem;box-shadow:0 6px 14px rgba(0,0,0,.35)}
.modcard__chip{position:absolute;right:12px;top:12px;padding:4px 10px;border-radius:999px;background:rgba(10,16,56,.82);color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.modcard__chip--here{background:var(--cta);color:var(--btn-ink)}
.modcard__body{display:grid;gap:6px;padding:14px 16px 16px}.modcard__body b{font-size:1.05rem;line-height:1.3}.modcard__body small{font-size:.86rem;color:var(--muted)}
.modcard .bar{height:6px}
.modcard.is-here{border:2px solid var(--gold)}
.modcard.is-locked .modcard__img{filter:saturate(.55) brightness(.8)}.modcard.is-locked .modcard__body{opacity:.7}
.modcard.is-done .modcard__n{background:#fff;color:var(--ok)}
@media (prefers-reduced-motion:reduce){.modcard{transition:none}a.modcard:hover{transform:none}}
.plan2>*,.stage>*{min-width:0}.plan2__head>div:first-child{flex:1 1 240px;min-width:0}.plan2__head .seg{flex-wrap:wrap}
@media(max-width:480px){.plan2__head .seg__b{padding:0 12px;font-size:.88rem}}

.modcard .bar i{min-width:0}
.modcard.is-locked .modcard__img{filter:saturate(.7) brightness(.95)}
@media(min-width:760px){.modgrid--3{grid-template-columns:repeat(3,1fr)}}

.review{flex:1 1 100%;padding:10px 14px;border-radius:var(--r);background:var(--surface);border:1px dashed var(--gold-dark)}

/* ---------- clear navigation: back pills, Back and Next, the Read/Listen choice ---------- */
.back{padding:0 18px;min-height:46px;border-radius:999px;background:var(--btn-bg);color:#fff;font-size:.95rem;font-weight:700;box-shadow:0 10px 20px -12px rgba(12,21,68,.7)}
.back:hover{color:var(--gold-soft)}
.navrow .btn{min-width:140px}.modnav{margin-top:var(--s2)}
.modtop{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--s3)}
.modebox{display:grid;gap:8px;justify-items:start;padding:14px 16px;border-radius:var(--r);background:var(--surface-2);border:1px solid var(--line)}
.modebox__q{font-weight:700}.modebox .note{font-size:.86rem}
.welcomevid{width:100%;max-height:360px;border-radius:var(--r);background:#000;border:1px solid rgba(212,177,69,.35)}

/* ---------- module acronyms, the 3 roles page ---------- */
.acchips{display:flex;flex-wrap:wrap;gap:8px}
.acchip{min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--gold-dark);background:var(--surface);color:var(--ink);font-weight:700;font-size:.95rem;cursor:pointer}
.acchip:hover{background:var(--btn-bg);color:var(--gold-soft);border-color:var(--btn-bg)}
.tab--big{min-height:52px;padding:0 26px;font-size:1.05rem}
.rolepage{display:grid;gap:var(--s3)}.rolehero__t{font-family:var(--serif);font-weight:400;font-size:clamp(1.6rem,1.3rem + 1.4vw,2.3rem);line-height:1.12;color:#fff}
.rolegrid{display:grid;gap:10px}@media(min-width:640px){.rolegrid{grid-template-columns:1fr 1fr}}

.listennote{justify-self:start;border-color:var(--gold-dark);color:var(--gold-ink)}

/* Voice and speed bar (top of each lesson) */
.voicebar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:10px 14px;border-radius:var(--r);border:1px solid var(--line);background:#fff;box-shadow:0 10px 24px -20px rgba(12,21,68,.55)}
.voicebar__t{font-weight:800;font-size:.9rem;color:var(--ink-blue)}
.voicebar__f{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:700;min-width:0;flex:1 1 180px}
.voicebar__f--rate{flex:0 0 auto}
.voicebar__f select{min-height:42px;padding:0 10px;border-radius:10px;border:1px solid var(--line);background:#fff;font:inherit;font-weight:600;min-width:0;flex:1 1 auto;max-width:100%}
.voicebar__auto{display:flex;align-items:center;gap:8px;font-size:.85rem;cursor:pointer;flex:1 1 100%}
.voicebar__auto input{width:20px;height:20px;accent-color:var(--ink-blue)}
/* Checklists page */
.ckjump{display:flex;flex-wrap:wrap;gap:8px}.ckjump .btn{min-height:42px}
.ckstage{margin-top:var(--s4)}.ckstage h2{margin-bottom:var(--s2)}
.cklist summary{display:flex;justify-content:space-between;align-items:center;gap:12px}
.ckcount{flex:none;font-size:.8rem;font-weight:800;padding:4px 10px;border-radius:999px;background:#EEF1FA;color:var(--ink-blue)}
.ckcount.is-done{background:var(--gold);color:#0C1544}
.ckgroup{margin:14px 0 2px;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-blue)}
@media(max-width:560px){.voicebar__t{display:none}.voicebar{padding:8px 12px;gap:6px 10px}.voicebar__f{flex:1 1 150px}}

/* Compact home: slim welcome panel and tool row */
.hero--home{display:grid;grid-template-columns:1fr;gap:10px;padding:clamp(18px,2.6vw,26px) clamp(18px,3vw,30px)}
.hero--home h1{font-size:clamp(1.5rem,2.6vw,2rem);margin:0}.hero--home .eyebrow{margin:0}.hero--home .homestats{margin:0;font-size:.88rem}
.homecta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:4px}
.homecta .btn{min-height:46px;padding:0 18px;font-size:.95rem;width:auto;min-width:0}.homecta .btn--big{min-width:0;font-size:1rem}
.toolgrid .tooltile{padding:12px 14px;min-height:0;gap:2px}.toolgrid .tooltile b{font-size:.98rem}.toolgrid .tooltile span{font-size:.8rem}
@media(max-width:520px){.homecta .btn--big{flex:1 1 100%}.homecta .btn--ghost{flex:1 1 0}}
.toolgrid .tooltile{grid-template-columns:1fr auto;align-content:center;column-gap:8px}.toolgrid .tooltile b,.toolgrid .tooltile span{grid-column:1}.toolgrid .tooltile::after{grid-column:2;grid-row:1 / span 2;align-self:center;margin:0}

.swipehint{display:none;margin:0 0 6px;font-weight:700;color:var(--gold-ink)}@media(max-width:640px){.swipehint{display:block}}

/* Type scale, tightened: one body size, calmer headings, matching labels */
:root{--t-h1:clamp(1.6rem,1.32rem + 1.1vw,2.125rem);--t-emph:clamp(1.2rem,1.1rem + .4vw,1.375rem);--t-lead:clamp(1rem,.97rem + .15vw,1.0938rem);--t-body:1rem;--t-card:1rem;--t-small:.9rem}
.menu a{font-size:.97rem;min-height:44px}
.stack{display:grid;gap:var(--s2)}
.tool{display:grid;gap:var(--s2)}.tool>h3{margin-top:var(--s2)}
.toolpage--speak .tool>h3:first-child,.toolpage--tracker .tool>h3:first-child,.toolpage--builder .tool>h3:first-child,.toolpage--documents .tool>h3:first-child{display:none}
.speak__step .field{max-width:420px}
.tool label:not(.tick):not(.opt),.card .field label{font-weight:700;font-size:.9rem}
.tick span{font-size:1rem}

/* Acronym footnote under a slide */
.acrofoot{margin-top:var(--s3);padding-top:10px;border-top:1px solid var(--line);font-size:.86rem;line-height:1.6;color:var(--muted)}.acrofoot b{color:var(--ink);font-weight:800}

.acrofoot--words{display:grid;gap:4px}.acrofoot__k{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-ink)}.acrofoot__w{display:block}

/* Menu in groups */
.menu__g{display:grid;gap:2px}.menu__g+.menu__g{margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}.menu__k{margin:4px var(--s2) 2px;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-ink)}
@media(min-width:760px){.menu{width:360px}}

/* Slides glide in from the side the learner is moving toward */
@keyframes slideNext{from{opacity:0;transform:translateX(46px)}to{opacity:1;transform:none}}
@keyframes slidePrev{from{opacity:0;transform:translateX(-46px)}to{opacity:1;transform:none}}
.slide{animation:slideNext .5s cubic-bezier(.22,.8,.26,1) both;will-change:transform,opacity}
.slide.is-back{animation-name:slidePrev}
@media (prefers-reduced-motion:reduce){.slide,.slide.is-back{animation:none}}
/* Home: stages fold on phones */
details.stage>summary{list-style:none;cursor:pointer}details.stage>summary::-webkit-details-marker{display:none}
@media(max-width:759px){details.stage>summary::after{content:"+";margin-left:auto;font-weight:800;font-size:1.3rem;color:var(--gold-ink)}details.stage[open]>summary::after{content:"\2013"}
  details.stage:not([open]){padding:12px 14px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface-2)}.stagetoggle{justify-self:start}}
@media(min-width:760px){details.stage>summary{cursor:default;pointer-events:none}}
.seg--wrap{flex-wrap:wrap;height:auto}.practice select{min-height:42px;border-radius:10px;border:1px solid var(--line);padding:0 10px;background:#fff;font:inherit;font-weight:600}

/* The Next arrow waits for the learner: always in reach on a phone, and it lights up when a slide has been read */
@media(max-width:759px){.slide+.navrow{position:sticky;bottom:10px;z-index:6;padding:8px;border-radius:999px;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);box-shadow:0 10px 30px -12px rgba(12,21,68,.45);border:1px solid var(--line)}.navrow .btn{min-width:0;flex:1 1 0;min-height:48px}.navrow{flex-wrap:wrap}.navrow--end .btn{flex:0 1 auto}}
@keyframes nudge{0%,100%{box-shadow:0 0 0 0 rgba(212,177,69,.0)}50%{box-shadow:0 0 0 10px rgba(212,177,69,.35)}}
.navrow .btn--gold.is-ready{animation:nudge 1.4s ease-in-out 3}
@media (prefers-reduced-motion:reduce){.navrow .btn--gold.is-ready{animation:none;outline:3px solid var(--gold-dark);outline-offset:2px}}
/* Diagram block */
.tree{display:grid;gap:14px}.tree__root{padding:16px 18px;border-radius:var(--r);background:var(--panel);color:#fff;text-align:center}.tree__root b{font-family:var(--serif);font-weight:400;font-size:1.35rem;display:block}.tree__root p{color:#D8DDF0;margin-top:4px}
.tree__kids{display:grid;gap:12px;position:relative}@media(min-width:680px){.tree__kids{grid-template-columns:1fr 1fr}}
.tree__b{position:relative;padding:16px 18px;border-radius:var(--r);border:1px solid var(--line-2);background:var(--surface-2);display:grid;gap:8px;align-content:start}.tree__b>b{font-size:1.08rem}
.tree__b.is-focus{border:2px solid var(--gold-dark);background:#fff}.tree__tag{justify-self:start;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:3px 10px;border-radius:999px;background:var(--gold);color:#0C1544}

.orderpick{display:grid;gap:8px;padding:14px 16px;border-radius:var(--r);border:1px solid var(--line);background:#fff;flex:1 1 100%}.orderpick__q{font-weight:800;font-size:.92rem}

/* Learning style: two clear choices */
.orderpick{display:grid;gap:10px;padding:0;border:0;background:none;flex:1 1 100%}
.choices{display:grid;gap:10px}@media(min-width:620px){.choices{grid-template-columns:1fr 1fr}}
.choice{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;text-align:left;padding:14px 16px;border-radius:var(--r);border:1.5px solid var(--line-2);background:#fff;color:var(--ink);cursor:pointer;font:inherit;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.choice:hover{border-color:var(--gold-dark)}
.choice__dot{width:22px;height:22px;border-radius:50%;border:2px solid var(--line-2);display:grid;place-items:center;flex:none}
.choice__txt{display:grid;gap:2px;min-width:0}.choice__txt b{font-weight:800;font-size:1rem}.choice__txt small{font-size:.86rem;color:var(--muted);line-height:1.4}
.choice__tag{font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:999px;background:#EEF1FA;color:var(--ink-blue);white-space:nowrap}
.choice[aria-pressed="true"]{background:var(--panel);border-color:var(--gold-dark);color:#fff;box-shadow:0 14px 30px -18px rgba(12,21,68,.7)}
.choice[aria-pressed="true"] .choice__txt small{color:#C9D0EA}
.choice[aria-pressed="true"] .choice__dot{border-color:var(--gold);background:var(--gold)}.choice[aria-pressed="true"] .choice__dot::after{content:"";width:8px;height:8px;border-radius:50%;background:#0C1544}
.choice[aria-pressed="true"] .choice__tag{background:var(--gold);color:#0C1544}
/* Pace picker: three equal buttons with one caption, never wrapping */
.seg--pace{display:grid;grid-template-columns:repeat(3,1fr);width:100%;max-width:360px}.seg--pace .seg__b{padding:0 8px;text-align:center}
@media(max-width:619px){.choice{grid-template-columns:auto 1fr}.choice__tag{grid-column:2;justify-self:start;margin-top:2px}}

/* Calmer home page: one clear next step, plan settings folded, one stage open */
.herolinks{margin:2px 0 0;font-size:.9rem;color:var(--on-dark-muted)}.herolinks a{color:var(--gold-soft);font-weight:700}
.planset{border:1px solid var(--line);border-radius:var(--r);background:#fff}.planset>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;font-size:.92rem;color:var(--ink-2)}
.planset>summary::-webkit-details-marker{display:none}.planset__t b{color:var(--ink);margin-right:6px}.planset__c{flex:none;font-weight:800;font-size:.82rem;color:var(--gold-ink)}
.planset[open]>summary{border-bottom:1px solid var(--line)}.planset[open] .planset__c{visibility:hidden}.planset .plan2__head{padding:14px 16px 16px}
.plan2{background:none;border:0;padding:0;box-shadow:none}
.stagebar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:6px}.stagebar h2{font-family:var(--serif);font-weight:400;font-size:1.5rem}
details.stage>summary{cursor:pointer;pointer-events:auto}details.stage>summary::after{content:"+";margin-left:auto;font-weight:800;font-size:1.3rem;color:var(--gold-ink)}details.stage[open]>summary::after{content:"\2013"}
details.stage:not([open]){padding:12px 14px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface-2)}
details.accard>summary{font-weight:800;cursor:pointer}details.accard[open]>summary{margin-bottom:10px}

/* Sample documents: shown as a sheet of paper */
.paper{display:grid;gap:14px;padding:clamp(16px,3vw,28px);border:1px solid var(--line-2);border-radius:10px;background:#fff;box-shadow:0 16px 36px -24px rgba(12,21,68,.5)}
.paper__mark{justify-self:start;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:4px;background:var(--gold);color:#0C1544}
.paper__t{font-family:var(--serif);font-weight:400;font-size:1.5rem;padding-bottom:8px;border-bottom:2px solid var(--ink-blue)}
.paper__s{display:grid;gap:8px}.paper__s h4{font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-blue)}
.paper__f{display:grid;grid-template-columns:minmax(120px,34%) 1fr;gap:6px 14px;margin:0;font-size:.94rem}.paper__f dt{font-weight:700;color:var(--ink-2)}.paper__f dd{margin:0}
.paper .tbl{font-size:.88rem}.paper__look{padding:14px 16px;border-radius:var(--r);background:var(--surface-2);border-left:4px solid var(--gold-dark);display:grid;gap:8px}
@media(max-width:520px){.paper__f{grid-template-columns:1fr;gap:0 0}.paper__f dd{margin-bottom:8px}}

/* Sample documents are for viewing on screen only */
.paper{-webkit-user-select:none;user-select:none}@media print{.paper{display:none}.paper::after{content:''}}

.pull--sm{font-size:1.12rem;line-height:1.4}

/* Start Here: what 15, 30 or 45 minutes a day gives you */
.pacegrid{display:grid;gap:10px}@media(min-width:700px){.pacegrid{grid-template-columns:repeat(3,1fr)}}
.pacecard{display:grid;gap:4px;align-content:start;text-align:left;padding:14px 16px;border-radius:var(--r);border:1.5px solid rgba(255,255,255,.22);background:rgba(255,255,255,.05);color:#fff;font:inherit;font-size:.9rem;line-height:1.4;cursor:pointer;transition:border-color .18s ease,background .18s ease}
.pacecard span{color:#D8DDF0}.pacecard__n{font-family:var(--serif);font-weight:400;font-size:1.2rem;color:#fff}.pacecard .pacecard__t{font-weight:800;color:var(--gold-soft);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}
.pacecard .pacecard__f{margin-top:4px;padding-top:6px;border-top:1px solid rgba(255,255,255,.16);font-size:.84rem}
.pacecard[aria-pressed="true"]{border-color:var(--gold);background:rgba(212,177,69,.14)}

/* My plan: open from the start; the learner can hide it, and that choice is remembered */
.planset[open] .planset__d{display:none}.planset[open] .planset__c{visibility:visible}.planset .planset__c--hide{display:none}.planset[open] .planset__c--hide{display:inline}.planset[open] .planset__c--open{display:none}
/* Module cards: an odd last card sits in the middle, never alone on the left */
@media(min-width:560px){.modgrid:not(.modgrid--3)>.modcard:last-child:nth-child(odd){grid-column:1 / -1;justify-self:center;width:calc(50% - var(--s2) / 2)}}
@media(min-width:560px) and (max-width:759px){.modgrid--3>.modcard:last-child:nth-child(odd){grid-column:1 / -1;justify-self:center;width:calc(50% - var(--s2) / 2)}}

/* Knowledge check: what the learner sees after the last answer */
.checkdone{margin-top:var(--s3,16px);padding:14px 16px;border:1px solid var(--gold,#C9A227);border-radius:14px;background:#fff}
.checkdone .row{margin-top:12px}

/* Welcome page: listen button on the dark hero */
.hero .listenwelcome{border-color:rgba(235,203,107,.7);color:#fff;background:transparent}
.hero .listenwelcome:hover,.hero .listenwelcome[aria-pressed="true"]{background:rgba(235,203,107,.16)}
.acrofoot--start ul{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:2px}
.hero .acrofoot--start{border-top-color:rgba(255,255,255,.22);color:rgba(255,255,255,.86);font-size:.92rem}
.hero .acrofoot--start b{color:#EBCB6B}.hero .acrofoot--start .acrofoot__k{color:#EBCB6B;margin:0}

/* ---------- One clean typeface (Inter) everywhere. Headings are the same family, just heavier. ---------- */
h1,.brandname,.pull,.flash__term,.sim__doc,.letter,.aod h2,.sheet__box h2,.speak__line,.meter b,.cover__hi,.slide__title,.slide__brand,.likeq,.keepbox__line,.stat b,.plan2__title,.stage__head h3,.rolehero__t,.tree__root b,.stagebar h2,.paper__t,.pacecard__n{font-weight:700;letter-spacing:-.018em}
.brandname b,.slide__brand b{font-weight:700}
.likeq,.keepbox__line,.pull,.speak__line{font-weight:600;letter-spacing:-.012em;line-height:1.4}
.likeq{font-size:clamp(1.15rem,1.05rem + .6vw,1.5rem)}.keepbox__line{font-size:clamp(1.15rem,1.02rem + .7vw,1.55rem);max-width:34ch}
.slide .pull{font-size:clamp(1.15rem,1.05rem + .6vw,1.5rem)}
body{font-size:1rem;line-height:1.6}
b,strong{font-weight:600}
[style*="font-weight:800"],.voicebar__t,.acrofoot b,.acrofoot__k{font-weight:700}

/* ---------- Calmer lesson pages: less on screen at once ---------- */
.voicebox{border:1px solid var(--line);border-radius:var(--r);background:#fff}
.voicebox>summary{list-style:none;cursor:pointer;padding:9px 14px;font-size:.86rem;font-weight:600;color:var(--ink-blue);display:flex;align-items:center;justify-content:space-between}
.voicebox>summary::-webkit-details-marker{display:none}.voicebox>summary::after{content:"Change";font-weight:600;color:var(--gold-ink)}.voicebox[open]>summary::after{content:"Hide"}
.voicebox .voicebar{border:0;box-shadow:none;border-top:1px solid var(--line);border-radius:0 0 var(--r) var(--r)}
.slide__body{gap:var(--s4);padding-top:clamp(22px,3.4vw,34px);padding-bottom:clamp(24px,3.6vw,38px)}
.slide .steps{gap:0}
.slide .steps li{background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:16px 4px 16px 50px;font-weight:400;line-height:1.55;font-size:1.04rem}
.slide .steps li:last-child{border-bottom:0}
.slide .steps li::before{left:0;top:16px;transform:none;width:32px;height:32px;font-size:.86rem}
.steps__label{display:block;font-weight:700;font-size:1.06rem;color:var(--ink-blue);margin-bottom:2px}
.slide .steps--named{gap:12px;counter-reset:none}
.slide .steps--named li{border:1px solid var(--line);border-left:3px solid var(--gold-dark);border-radius:var(--r);background:var(--surface-2);padding:16px 18px}
.slide .steps--named li:last-child{border-bottom:1px solid var(--line)}
.slide .steps--named li::before{content:none}
.slide .mistakes li{font-weight:400;line-height:1.55;font-size:1.04rem}
details.acrofoot--words{display:block}details.acrofoot--words>summary{cursor:pointer;list-style:none}details.acrofoot--words>summary::-webkit-details-marker{display:none}
details.acrofoot--words>summary::after{content:" +";color:var(--gold-ink)}details.acrofoot--words[open]>summary::after{content:" \2013"}
details.acrofoot--words .acrofoot__w{margin-top:4px}

/* An odd last module card sits on the left like the others, not in the middle */
.modgrid:not(.modgrid--3)>.modcard:last-child:nth-child(odd){grid-column:auto;justify-self:stretch;width:auto}

a.seg__b{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}

/* ---------- Top bar: Search, Modules, Tools ---------- */
.top__nav{display:flex;align-items:center;gap:8px}
.top__btn{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 15px;border-radius:999px;border:1px solid rgba(235,203,107,.55);background:transparent;color:#fff;font:inherit;font-weight:600;font-size:.93rem;cursor:pointer}
.top__btn:hover,.top__btn[aria-expanded="true"]{background:rgba(235,203,107,.16)}
.top__menu{min-height:44px;padding:0 18px;font-weight:600}
@media(max-width:560px){.brandname{display:none}.top__btn{padding:0 12px;font-size:.88rem}.top__menu{padding:0 14px;font-size:.88rem}.top{gap:8px}}
@media(max-width:360px){#searchBtn span{display:none}}
.menu__h{margin:4px var(--s2) 6px;font-size:1.05rem;font-weight:700;color:var(--ink-blue)}
.menu__hint{margin:2px var(--s2) 8px;font-size:.86rem;color:var(--muted)}
.menu .menu__a{display:grid;gap:1px;align-items:start;padding:8px var(--s2);min-height:0}
.menu .menu__a b{font-weight:600;font-size:.96rem}.menu .menu__a small{font-weight:400;font-size:.8rem;color:var(--muted);line-height:1.35}
@media(min-width:760px){.menu{width:380px}.menu--mods{width:440px}.menu--search{width:520px}}
.modrow{border-radius:10px}.modrow>summary{list-style:none;display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:center;padding:9px var(--s2);border-radius:10px;cursor:pointer}
.modrow>summary::-webkit-details-marker{display:none}.modrow>summary:hover,.modrow[open]>summary{background:var(--surface-2)}
.modrow>summary b{font-weight:600;font-size:.95rem}.modrow>summary small{font-size:.76rem;color:var(--muted);white-space:nowrap}
.modrow__n{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--ink-blue);color:var(--gold-soft);font-size:.8rem;font-weight:700}
.modlist{display:grid;gap:1px;padding:4px 0 8px 40px}
.menu .modlist a{display:grid;grid-template-columns:22px 1fr auto;gap:8px;align-items:baseline;min-height:0;padding:6px 8px;font-weight:400;font-size:.9rem;line-height:1.35}
.menu .modlist a span:first-child{color:var(--muted);font-size:.78rem}.menu .modlist a.is-done span:first-child{color:var(--gold-ink);font-weight:700}
.menu .modlist a small{font-size:.72rem;color:var(--muted)}.menu .modlist .modlist__all{display:block;font-weight:600;color:var(--gold-ink);font-size:.84rem}
#searchBox{width:calc(100% - 2*var(--s2));margin:0 var(--s2) 6px;min-height:48px;padding:0 14px;border-radius:12px;border:1.5px solid var(--ink-blue);font:inherit;font-size:1rem;background:#fff;color:var(--ink)}
.menu .hit{display:grid;gap:2px;align-items:start;min-height:0;padding:9px var(--s2);font-weight:400}
.menu .hit b{font-weight:600;font-size:.96rem}.menu .hit small{font-size:.82rem;color:var(--ink-2);line-height:1.45}.menu .hit .hit__m{font-size:.72rem;color:var(--gold-ink);font-weight:600;letter-spacing:.02em}
.menu mark{background:rgba(235,203,107,.55);color:inherit;border-radius:3px;padding:0 1px}

/* Stage rows: badge, title, then the weeks label lined up on the right in every row */
details.stage>summary.stage__head{display:grid;grid-template-columns:104px minmax(0,1fr) auto 22px;align-items:center;column-gap:14px;row-gap:6px}
details.stage>summary .stage__n{justify-self:start;white-space:nowrap}
details.stage>summary .stage__w{margin-left:0;justify-self:end;white-space:nowrap;min-width:138px;text-align:center}
details.stage>summary::after{margin-left:0;justify-self:end}
@media(max-width:640px){details.stage>summary.stage__head{grid-template-columns:auto minmax(0,1fr) 22px}
  details.stage>summary .stage__w{grid-column:1/3;grid-row:2;justify-self:start;min-width:0}
  details.stage>summary::after{grid-column:3;grid-row:1}}
details.stage:not([open])>summary.stage__head{margin-bottom:0}details.stage:not([open]){padding-top:14px;padding-bottom:14px}

.hometag{margin:2px 0 6px;color:#E3E7F6;font-size:1rem;line-height:1.45;max-width:46ch}
details.stage:not([open]){padding-left:14px;padding-right:14px}
details.stage[open]>summary.stage__head{padding-left:15px;padding-right:15px}

/* ---------- Home: closing rows ---------- */
.homeend{display:grid;gap:10px;margin-top:var(--s3)}
.endrow{display:grid;grid-template-columns:104px minmax(0,1fr) auto;align-items:center;column-gap:14px;padding:14px 15px;border:1px solid var(--line);border-radius:var(--r);background:#fff;color:var(--ink);text-decoration:none}
.endrow:hover{border-color:var(--gold-dark)}.endrow b{font-weight:700;font-size:1.12rem;letter-spacing:-.01em}.endrow__go{font-size:.84rem;font-weight:600;color:var(--gold-ink);white-space:nowrap}
.endrow .stage__n{justify-self:start;white-space:nowrap}
@media(max-width:640px){.endrow{grid-template-columns:minmax(0,1fr) auto}.endrow .stage__n{grid-column:1/3;justify-self:start;margin-bottom:6px}}
.opt.is-picked{border-color:var(--ink-blue);background:var(--surface-2);box-shadow:inset 0 0 0 2px var(--ink-blue)}
/* ---------- Certificate ---------- */
.cert{margin-top:var(--s3);padding:10px;border-radius:14px;background:#0C1544}
.cert__in{display:grid;gap:12px;justify-items:center;text-align:center;padding:clamp(26px,5vw,56px) clamp(18px,5vw,64px);border:2px solid #C9A227;border-radius:8px;background:#fff;color:#0C1544}
.cert__brand{font-weight:700;font-size:1.15rem;letter-spacing:-.01em}.cert__brand b{color:#8A6D10}
.cert__k{font-weight:700;font-size:clamp(1.5rem,1.1rem + 2.4vw,2.6rem);letter-spacing:-.02em;line-height:1.1}
.cert__t{font-size:1rem;color:#33406e;max-width:52ch}.cert__name{font-weight:700;font-size:clamp(1.5rem,1.1rem + 2.2vw,2.4rem);padding:4px 28px 8px;border-bottom:2px solid #C9A227;min-width:min(100%,320px)}
.cert__s{font-size:.86rem;color:#5a6690;max-width:60ch}
.cert__f{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;width:100%;margin-top:18px}.cert__f div{display:grid;gap:3px}.cert__f b{font-size:1rem;padding-bottom:6px;border-bottom:1px solid #C9A227}.cert__f span{font-size:.76rem;color:#5a6690;text-transform:uppercase;letter-spacing:.08em}
.cert__fine{font-size:.72rem;color:#6b7699;max-width:64ch;margin-top:8px}
@media(max-width:560px){.cert__f{grid-template-columns:1fr}}
@media print{@page{size:landscape;margin:12mm}.cert{background:#0C1544!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.cert__in{-webkit-print-color-adjust:exact;print-color-adjust:exact}.cert__f{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ---------- Interview tracks ---------- */
.trackgrid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin:var(--s3) 0}
.trackcard{display:grid;gap:6px;padding:20px;border:1px solid var(--line);border-radius:var(--r);background:#fff;color:var(--ink);text-decoration:none;border-top:3px solid var(--gold-dark)}
.trackcard:hover{border-color:var(--gold-dark)}.trackcard b{font-size:1.1rem;font-weight:700;letter-spacing:-.01em}.trackcard span{font-size:.86rem;color:var(--muted)}.trackcard__go{color:var(--gold-ink)!important;font-weight:600}
/* "Think of it like" box: a closing quote mark to match the opening one */
.likeq{padding-right:clamp(64px,9vw,96px)}
.likeq::after{content:"\201D";position:absolute;right:clamp(14px,2.4vw,26px);bottom:clamp(-34px,-3vw,-18px);font-family:var(--serif);font-weight:700;font-size:clamp(4rem,3rem + 4vw,6.5rem);line-height:1;color:var(--gold-dark)}

/* A Back button at the foot of every page */
.navrow--end{margin-top:var(--s4);justify-content:flex-start}
.modcta{margin:2px 0 4px}

/* ---------- Admin: learner progress ---------- */
.adstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.adstat{display:grid;gap:2px;padding:14px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface-2)}.adstat b{font-size:1.7rem;font-weight:700;line-height:1;color:var(--ink-blue)}.adstat span{font-size:.8rem;color:var(--muted)}
.learner>summary{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(80px,1fr) 44px auto;gap:12px;align-items:center}
.learner__who{display:grid;min-width:0}.learner__who b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.learner__who small{color:var(--muted);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.learner__bar{height:8px;border-radius:99px;background:var(--line);overflow:hidden}.learner__bar i{display:block;height:100%;background:var(--gold-dark);border-radius:99px}
.learner__n{font-weight:600;font-size:.86rem;text-align:right}.chip--gold{background:var(--gold);color:var(--btn-ink);border-color:var(--gold)}
.learnerhead{justify-content:space-between;align-items:end}.learnerhead .field{max-width:240px}
@media(max-width:640px){.learner>summary{grid-template-columns:minmax(0,1fr) auto}.learner__bar,.learner__n{display:none}}

/* ---------- Sign-in page: full-screen, dark, one clear action ---------- */
.signwrap{position:fixed;inset:0;z-index:40;display:grid;place-items:center;overflow:auto;padding:24px 16px;background:radial-gradient(90% 70% at 50% 30%,#22348C 0%,#0E1742 46%,#080E33 100%);background-size:cover;background-position:center}
.signwrap .signin{display:grid;gap:14px;justify-items:center;text-align:center;width:min(100%,440px);margin:0;padding:clamp(28px,5vw,44px) clamp(22px,5vw,40px);border-radius:22px;background:rgba(10,16,56,.9);border:1px solid rgba(212,177,69,.5);box-shadow:0 30px 80px rgba(0,0,0,.55);color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.signin__mark{width:64px;height:64px;border-radius:16px;border:1px solid rgba(212,177,69,.7);box-shadow:0 16px 40px rgba(0,0,0,.4)}
.signin__brand{font-size:.8rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#EBCB6B}.signin__brand b{font-weight:700}
.signwrap .signin h1{color:#fff;font-size:clamp(1.6rem,1.3rem + 1.4vw,2.1rem);line-height:1.15}
.signwrap .signin .lead{color:#D8DDF0;font-size:1rem;max-width:32ch}
.signwrap .form{width:100%;display:grid;gap:12px;margin-top:6px;text-align:left}
.signwrap .field>span,.signwrap .field label,.signwrap label{color:#E3E7F6}
.signwrap input[type=email]{background:rgba(255,255,255,.08);border:1px solid rgba(212,177,69,.55);color:#fff;font-size:1.05rem;min-height:52px}
.signwrap input[type=email]::placeholder{color:#AEB6D6}
.signwrap input[type=email]:focus{outline:2px solid #EBCB6B;outline-offset:1px}
.signwrap .btn--gold{width:100%;min-height:54px;font-size:1.02rem}
.signin__fine{font-size:.8rem;color:#AEB6D6;max-width:34ch}
.signwrap .preview{width:100%;padding-top:12px;border-top:1px solid rgba(255,255,255,.16);text-align:left}.signwrap .preview .note{color:#C5CCE6}.signwrap .preview .eyebrow{color:#EBCB6B}
.signwrap .preview .btn--ghost{background:transparent;color:#fff;border-color:rgba(235,203,107,.6)}

/* ================= Final polish pass ================= */
/* Gold means current, selected or the main action. Ordinary rows are navy and grey. */
a.path__a:hover{border-color:#B9C0DC}
.is-here .path__a{border-color:var(--gold-dark);border-width:1.5px}
a.modcard:hover{border-color:#B9C0DC}
/* Headings: the same clean family, set with more intent */
h1{letter-spacing:-.022em}
.eyebrow{letter-spacing:.14em}
/* Home summary */
.snap{display:grid;gap:8px;margin-top:var(--s3)}
.snap__g{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--line)}
.snap__c{display:grid;gap:3px;padding:12px 14px;background:#fff;color:var(--ink);text-decoration:none;min-width:0}
.snap__c span{font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.snap__c b{font-size:.98rem;font-weight:700;color:var(--ink-blue)}
a.snap__c:hover{background:var(--surface-2)}
@media(max-width:900px){.snap__g{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:420px){.snap__g{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Fact rows (final assessment, practice work) */
.facts{display:flex;flex-wrap:wrap;gap:10px 26px;margin:6px 0 2px}.facts div{display:grid;gap:1px}.facts b{font-size:1.7rem;font-weight:700;line-height:1;color:var(--gold-soft)}.facts span{font-size:.78rem;color:#D8DDF0}
.facts--light b{color:var(--ink-blue)}.facts--light span{color:var(--muted)}
.bigscore{font-size:clamp(3rem,2.2rem + 4vw,4.6rem);font-weight:700;line-height:1;letter-spacing:-.03em;color:#fff;padding-bottom:10px;border-bottom:2px solid var(--gold);justify-self:start}
/* Interview workspace: rounds as steps, questions as cards */
.rounds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.round{display:grid;gap:3px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r);background:#fff;color:var(--ink);text-decoration:none;min-width:0}
.round b{font-weight:700;font-size:.98rem}.round small{font-size:.78rem;color:var(--muted)}
.round.is-on{background:var(--btn-bg);border-color:var(--btn-bg);color:#fff}.round.is-on small{color:var(--gold-soft)}
.round--sub{padding:10px 14px}.round--sub b{font-size:.9rem;font-weight:600}
a.round:hover:not(.is-on){border-color:#B9C0DC}
@media(max-width:640px){.rounds{grid-template-columns:1fr 1fr}}@media(max-width:350px){.rounds{grid-template-columns:1fr}}
.workspace{max-width:none}.qlist{display:grid;gap:10px}
.qcard{border:1px solid var(--line);border-radius:var(--r);background:#fff}
.qcard>summary{list-style:none;display:grid;grid-template-columns:32px minmax(0,1fr) 18px;gap:12px;align-items:start;padding:16px 16px;cursor:pointer}
.qcard>summary::-webkit-details-marker{display:none}.qcard>summary::after{content:"+";font-weight:700;color:var(--muted);font-size:1.1rem;line-height:1.3}.qcard[open]>summary::after{content:"\2013"}
.qcard__n{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);font-size:.8rem;font-weight:700;color:var(--muted)}
.qcard.is-done .qcard__n{background:var(--ink-blue);border-color:var(--ink-blue);color:var(--gold-soft)}
.qcard__q{font-weight:600;font-size:1.02rem;line-height:1.4;color:var(--ink)}
.qcard[open]{border-color:var(--ink-blue);box-shadow:0 14px 30px -22px rgba(12,21,68,.5)}
.qcard>*:not(summary){margin:0 16px 12px 60px}
.qcard__k{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-ink)}
.qcard__own{font-size:.88rem;color:var(--muted);padding-left:12px;border-left:2px solid var(--gold-dark)}
.qcard .row{align-items:center;justify-content:space-between;gap:10px;padding-bottom:6px}.qcard__tick{font-size:.9rem}
@media(max-width:560px){.qcard>*:not(summary){margin-left:16px}}
/* Premium workspace */
.premgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.premcard{border-top:3px solid var(--gold-dark);display:grid;gap:8px;align-content:start}
/* Modules menu: where the learner is */
.modrow.is-now>summary{background:var(--surface-2);box-shadow:inset 3px 0 0 var(--gold-dark)}.modrow.is-now>summary small{color:var(--gold-ink);font-weight:600}
.modrow.is-done .modrow__n{background:#fff;color:var(--ink-blue);border:1px solid var(--line)}
.menu .modlist a small{opacity:.8}
/* Search suggestions and quick jumps */
.tries{display:flex;flex-wrap:wrap;gap:8px;margin:2px var(--s2) 8px}.jumpbox .tries{margin:8px 0 0}
.try{min-height:42px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink-blue);font:inherit;font-size:.86rem;font-weight:600;cursor:pointer}.try:hover{border-color:var(--ink-blue)}
.try--gold{border-color:var(--gold-dark);color:var(--gold-ink)}
.jumpbox{padding:16px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface-2);margin-bottom:var(--s3)}
.toolpage details.qa{scroll-margin-top:84px}#buildh{scroll-margin-top:84px}
/* Practice work */
.practice{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;align-items:center;background:#fff;border:1px solid var(--line)}
.practice h4{margin:0}.practice p{margin:2px 0 0;color:var(--muted);font-size:.92rem}.practice.is-built{box-shadow:inset 3px 0 0 var(--gold-dark)}
@media(max-width:640px){.practice{grid-template-columns:1fr}}
/* Résumé service steps */
.svc{list-style:none;margin:6px 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.svc li{display:grid;gap:6px;justify-items:start;padding:12px;border:1px solid var(--line);border-radius:var(--r);background:#fff;color:var(--muted);font-size:.88rem}
.svc li span{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1px solid var(--line);font-size:.78rem;font-weight:700}
.svc li.is-now{border-color:var(--ink-blue);color:var(--ink)}.svc li.is-now span{background:var(--ink-blue);color:var(--gold-soft);border-color:var(--ink-blue)}
.svc li.is-done{color:var(--ink)}.svc li.is-done span{background:var(--gold);color:var(--btn-ink);border-color:var(--gold)}
@media(max-width:560px){.svc{grid-template-columns:1fr 1fr}}
/* What your access includes */
.accgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}
.acclist{list-style:none;margin:0;padding:0;display:grid}.acclist li{border-top:1px solid var(--line)}.acclist li:first-child{border-top:0}
.acclist a{display:block;padding:11px 0;color:var(--ink);text-decoration:none;font-weight:500}.acclist a:hover{color:var(--gold-ink)}
/* Small screens */
@media(max-width:360px){.top{padding-left:10px;padding-right:10px}.top__btn,.top__menu{padding:0 10px;font-size:.84rem}.top__logo img{width:38px;height:38px}}

/* Comfortable tap targets everywhere */
#view summary{min-height:44px}.qa summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.btn--sm{min-height:42px}.tick{min-height:44px;align-items:center}.acchip{min-height:40px}
#view .back{min-height:44px}
/* ---------- welcome card, slimmer: she found the earlier one too bulky ---------- */
.cover__in{width:min(100% - 48px,340px);gap:10px}
.cover.has-img .cover__in{padding:26px 26px 28px;border-radius:18px;background:rgba(10,16,56,.88);border-color:rgba(212,177,69,.32);box-shadow:0 22px 60px rgba(0,0,0,.45)}
.cover__mark{width:44px;height:44px;border-radius:11px;box-shadow:none}
.cover .eyebrow{font-size:.66rem;letter-spacing:.22em;margin-top:2px}
.cover h1{font-size:1.4rem;line-height:1.2;font-weight:600;letter-spacing:-.01em;max-width:15ch}
.cover .lead{font-size:.92rem;line-height:1.45;color:#C9D0EA;max-width:28ch}
.cover__hi{font-size:1rem}
.cover__name{width:100%;gap:6px;margin-top:6px}
.cover__name label{font-size:.84rem;font-weight:500;color:#C9D0EA}
.cover__name input{min-height:44px;padding:8px 12px;font-size:.98rem;border-radius:10px;border-color:rgba(212,177,69,.4)}
.cover .btn,.cover__in>.btn--big{min-width:0;width:100%;min-height:44px;font-size:.98rem;border-radius:10px;margin-top:8px;box-shadow:none}
/* ---------- sign-in card, slimmer: matches the welcome card ---------- */
.signwrap .signin{width:min(100%,340px);gap:10px;padding:26px 26px 24px;border-radius:18px;background:rgba(10,16,56,.88);border-color:rgba(212,177,69,.32);box-shadow:0 22px 60px rgba(0,0,0,.45)}
.signin__mark{width:44px;height:44px;border-radius:11px;box-shadow:none}
.signin__brand{font-size:.66rem;letter-spacing:.22em;margin-top:2px}
.signwrap .signin h1{font-size:1.4rem;line-height:1.2;font-weight:600;letter-spacing:-.01em}
.signwrap .signin .lead{font-size:.92rem;line-height:1.45;color:#C9D0EA}
.signwrap .form{gap:8px;margin-top:6px}
.signwrap .field label{font-size:.84rem;font-weight:500;color:#C9D0EA}
.signwrap input[type=email]{min-height:44px;padding:8px 12px;font-size:.98rem;border-radius:10px;border-color:rgba(212,177,69,.4)}
.signwrap .btn--gold{min-height:44px;font-size:.98rem;border-radius:10px;box-shadow:none}
.signwrap .fb{margin-top:2px;padding:10px 12px;border-radius:10px;font-size:.9rem;line-height:1.4}
.signin__fine{font-size:.76rem;margin-top:4px}
/* ---------- Elevate workspace: three groups of small tiles ---------- */
.ws{display:grid;gap:12px}.ws>h2{margin:0}.ws>.note{margin:-4px 0 0}
.wsgrid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.wstile{display:grid;gap:6px;align-content:start;padding:16px;border-radius:var(--r);background:var(--surface-2);border:1px solid var(--line);min-width:0}
.wstile__k{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-ink)}
.wstile h3{margin:0;font-size:1.04rem;line-height:1.3}
.wstile p{margin:0;font-size:.92rem;line-height:1.45}
.wstile .btn{justify-self:start;margin-top:6px}
.ws__go{justify-self:start}
/* ---------- polish pass: one look for every page ---------- */
/* Title band: plain pages now open with the same navy panel as the home page. */
.pagehead{display:grid;gap:8px;padding:clamp(20px,3.2vw,30px) clamp(20px,3.4vw,32px);border-radius:var(--r-lg);background:var(--panel);border:1px solid rgba(212,177,69,.18);box-shadow:0 18px 44px -22px rgba(12,21,68,.55);position:relative;overflow:hidden}
.pagehead::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--gold-dark),var(--gold-soft),var(--gold-dark))}
.pagehead h1{color:#fff;margin:0}.pagehead .eyebrow{color:var(--gold-soft);margin:0}.pagehead .lead{color:#DDE2F4;margin:0;max-width:62ch}
.pagehead .term,.pagehead [data-term]{color:#fff}
/* Rows that open: white, with a chevron, and a gold edge when open. */
.qa{background:var(--surface);transition:border-color .15s ease,box-shadow .15s ease}
.qa:hover{border-color:var(--line-2)}
.qa[open]{box-shadow:inset 3px 0 0 var(--gold-dark),0 10px 24px -18px rgba(12,21,68,.35)}
.qa>summary{list-style:none}.qa>summary::-webkit-details-marker{display:none}
.qa>summary::after{content:"";flex:none;margin-left:auto;width:8px;height:8px;border-right:2px solid var(--gold-dark);border-bottom:2px solid var(--gold-dark);transform:rotate(45deg) translate(-2px,-2px);transition:transform .2s ease}
.qa[open]>summary::after{transform:rotate(-135deg) translate(-2px,-2px)}
/* The second back button at the foot of a page: quiet, not a second headline button. */
.navrow--end .btn--back{min-width:0;min-height:42px;padding:0 16px;font-size:.92rem;background:transparent;color:var(--ink);border:1px solid var(--line-2);box-shadow:none}
.navrow--end .btn--back:hover{border-color:var(--ink);background:var(--surface-2)}
/* File picker matches the other buttons. */
input[type=file]::file-selector-button{margin-right:12px;min-height:40px;padding:0 16px;border-radius:11px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);font:inherit;font-weight:600;cursor:pointer}
input[type=file]::file-selector-button:hover{border-color:var(--ink)}
