/* Remote by Designs Learning Platform
   Brand colors: Midnight Blue #0D2238 · Slate Blue #58758A · RBD Blue Teal #2F8F9D
   Brand fonts:  DM Serif Display (headlines) · Poppins (body & interface) · Canva Sans (labels & tags)
   Canva Sans is a Canva-only font with no web version, so labels use it when it is installed
   on the viewer's computer and fall back to DM Sans everywhere else. */
@font-face{font-family:"Canva Sans";src:local("Canva Sans"),local("CanvaSans-Regular");font-weight:400;font-display:swap}
@font-face{font-family:"Canva Sans";src:local("Canva Sans Bold"),local("CanvaSans-Bold");font-weight:700;font-display:swap}

:root{
  --navy:#0D2238; --slate:#58758A; --teal:#2F8F9D;
  --navy-2:#132F4C; --teal-deep:#22717C; --teal-light:#E3F1F3;
  --bg:#F4F7F9; --surface:#FFFFFF; --surface-2:#EDF2F5;
  --ink:#0D2238; --muted:#58758A; --line:#DCE5EB;
  --accent:#2F8F9D; --accent-strong:#22717C; --accent-text:#22717C; --accent-soft:rgba(47,143,157,.12);
  --on-accent:#FFFFFF; --band:#0D2238; --band-ink:#EEF4F7; --band-muted:#A3B6C4;
  --ok:#2E7D5B; --ok-soft:rgba(46,125,91,.12); --danger:#A8443A;
  --shadow-sm:0 1px 2px rgba(13,34,56,.06),0 2px 8px -2px rgba(13,34,56,.08);
  --shadow-md:0 2px 4px rgba(13,34,56,.04),0 18px 40px -18px rgba(13,34,56,.28);
  --shadow-lg:0 4px 8px rgba(13,34,56,.05),0 30px 60px -24px rgba(13,34,56,.38);
  --r-sm:10px; --r-md:14px; --r-lg:20px;
  --f-display:"DM Serif Display",Georgia,"Times New Roman",serif;
  --f-body:"Poppins","Segoe UI",system-ui,sans-serif;
  --f-label:"Canva Sans","Poppins","Segoe UI",system-ui,sans-serif;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#081626; --surface:#0F2236; --surface-2:#152C44; --ink:#E6EEF3; --muted:#9DB2C1; --line:#213A51;
    --teal-light:rgba(69,166,179,.16);
    --accent:#45A6B3; --accent-strong:#2F8F9D; --accent-text:#73C3CD; --accent-soft:rgba(69,166,179,.16);
    --ok:#5DBB8F; --ok-soft:rgba(93,187,143,.14); --danger:#E08A7F;
    --shadow-sm:0 1px 2px rgba(0,0,0,.3); --shadow-md:0 18px 40px -18px rgba(0,0,0,.6); --shadow-lg:0 30px 60px -24px rgba(0,0,0,.7);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
    --bg:#081626; --surface:#0F2236; --surface-2:#152C44; --ink:#E6EEF3; --muted:#9DB2C1; --line:#213A51;
    --teal-light:rgba(69,166,179,.16);
    --accent:#45A6B3; --accent-strong:#2F8F9D; --accent-text:#73C3CD; --accent-soft:rgba(69,166,179,.16);
    --ok:#5DBB8F; --ok-soft:rgba(93,187,143,.14); --danger:#E08A7F;
    --shadow-sm:0 1px 2px rgba(0,0,0,.3); --shadow-md:0 18px 40px -18px rgba(0,0,0,.6); --shadow-lg:0 30px 60px -24px rgba(0,0,0,.7);
    color-scheme:dark;
  }

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);font:400 15px/1.65 var(--f-body);-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto 0;height:520px;z-index:-1;pointer-events:none;
  background:radial-gradient(60% 80% at 85% 0%,rgba(47,143,157,.10),transparent 70%),radial-gradient(50% 70% at 0% 10%,rgba(88,117,138,.08),transparent 70%)}
[hidden]{display:none!important}
img{max-width:100%}
h1,h2,h3{font-family:var(--f-display);font-weight:400;text-wrap:balance;margin:0;line-height:1.1;letter-spacing:-.005em}
h2{font-size:28px}
p{margin:0}
a{color:var(--accent-text);text-decoration:none}
a:hover{text-decoration:none}
code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.88em;background:var(--surface-2);padding:1px 6px;border-radius:5px}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.wrap{width:100%;max-width:1200px;margin:0 auto;padding-inline:24px}
.muted{color:var(--muted)}
.small{font-size:13px}

/* Brand band */
.band{background:rgba(13,34,56,.96);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);color:var(--band-ink);position:sticky;top:0;z-index:10;padding-top:env(safe-area-inset-top,0px);border-bottom:1px solid rgba(255,255,255,.07)}
.band .wrap{display:flex;align-items:center;gap:20px;min-height:70px;flex-wrap:wrap;padding-block:8px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit}
.logo{height:54px;width:auto;display:block}
.brandtxt{display:flex;flex-direction:column;line-height:1.2;padding-left:14px;border-left:1px solid rgba(255,255,255,.14)}
.brandtxt b{font-family:var(--f-display);font-weight:400;font-size:18px;letter-spacing:.005em}
.brandtxt span{font-family:var(--f-label);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--band-muted);margin-top:2px}
.nav{display:flex;gap:4px;margin-left:auto;flex-wrap:wrap;background:rgba(255,255,255,.05);padding:4px;border-radius:999px;border:1px solid rgba(255,255,255,.08)}
.nav button{background:none;border:0;color:var(--band-muted);padding:7px 15px;border-radius:999px;cursor:pointer;font-weight:500;font-size:14px;transition:background .15s,color .15s}
.nav button:hover{color:var(--band-ink);background:rgba(255,255,255,.07)}
.nav button[aria-current="page"]{color:#fff;background:var(--teal)}
.nav .navlink{color:var(--band-muted);padding:7px 15px;border-radius:999px;font-weight:500;font-size:14px;line-height:1.6;transition:background .15s,color .15s}
.nav .navlink:hover{color:var(--band-ink);background:rgba(255,255,255,.07)}
.menu-toggle{display:none}

.notice{background:var(--accent-soft);font-size:14px}
.notice .wrap{padding-block:10px}
main{flex:1;padding-block:48px 72px}

.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-label);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-text);font-weight:700}
.eyebrow::before{content:"";width:18px;height:2px;border-radius:2px;background:currentColor}

/* ---------- Stage tags (button-like pills) ---------- */
.stages{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.stage-tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-label);font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;line-height:1;
  padding:7px 12px 7px 10px;border-radius:999px;border:1px solid transparent;background:var(--teal);color:#fff;
  box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 2px 6px -2px rgba(34,113,124,.55);white-space:nowrap;text-decoration:none}
.stage-tag::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.75}
button.stage-tag{cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s}
button.stage-tag:hover{transform:translateY(-1px);background:var(--teal-deep);box-shadow:0 6px 14px -6px rgba(34,113,124,.7)}
.stage-tag.any{background:var(--slate);box-shadow:0 2px 6px -2px rgba(88,117,138,.55)}
button.stage-tag.any:hover{background:#4A6577}
.stage-step{color:var(--muted);font-size:12px;opacity:.7}

/* ---------- Auth layout ---------- */
.reg{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,480px);gap:56px;align-items:start}
.reg-intro{display:flex;flex-direction:column;gap:20px;padding-top:4px}
.reg-intro h1{font-size:clamp(38px,5vw,60px);line-height:1.04}
.reg-intro h1 em{font-style:italic;color:var(--accent)}
.lede{font-size:17.5px;color:var(--muted);max-width:52ch}

.path-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:14px}
.path-head h2{font-size:24px}
.path-head span{white-space:nowrap;font-family:var(--f-label);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.path{display:flex;flex-direction:column;gap:10px}
.path-row{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;align-items:center;padding:16px 18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s,border-color .2s;overflow:hidden}
.path-row::after{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(var(--teal),var(--slate));opacity:0;transition:opacity .2s}
.path-row:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:rgba(47,143,157,.45)}
.path-row:hover::after{opacity:1}
.path-num{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--navy);color:#fff;font-family:var(--f-display);font-size:20px;box-shadow:inset 0 -3px 0 var(--teal)}
.path-body{display:flex;flex-direction:column;gap:8px;min-width:0}
.path-row q{font-style:italic;color:var(--muted);font-size:14.5px;quotes:"\201C" "\201D"}
.path-title{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;justify-content:space-between}
.path-title b{font-family:var(--f-display);font-weight:400;font-size:21px;line-height:1.15;color:var(--ink)}
.path-row .stage-tag{font-size:10.5px;padding:6px 10px 6px 9px}

.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}
.form-card{box-shadow:var(--shadow-lg);overflow:hidden;position:sticky;top:96px}
.tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:14px 14px 0;padding:4px;background:var(--surface-2);border-radius:999px}
.tabs button{background:transparent;border:0;padding:10px;font-weight:600;font-size:14px;color:var(--muted);cursor:pointer;border-radius:999px;transition:background .15s,color .15s}
.tabs button[aria-selected="true"]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}
.form{padding:28px 30px 30px;display:flex;flex-direction:column;gap:18px}
.form.flat{padding:0}
.form h2{margin-top:8px}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field label,.legend{font-weight:600;font-size:13.5px}
.hint{font-size:12.5px;color:var(--muted)}
.input{background:var(--surface-2);border:1px solid transparent;border-radius:var(--r-sm);padding:12px 14px;width:100%;transition:border-color .15s,box-shadow .15s,background .15s}
.input:hover{border-color:var(--line)}
.input:focus{border-color:var(--accent);background:var(--surface);outline:none;box-shadow:0 0 0 4px var(--accent-soft)}
.input:disabled{opacity:.7}
textarea.input{resize:vertical;min-height:76px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fields{display:flex;flex-direction:column;gap:18px}
.choices{display:flex;flex-direction:column;gap:7px;border:0;padding:0;margin:0;min-width:0}
.choice{display:flex;gap:11px;align-items:center;padding:11px 14px;border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer;background:var(--surface);font-size:14px;transition:border-color .15s,background .15s}
.choice:hover{border-color:var(--slate)}
.choice input{margin:0;accent-color:var(--accent);width:16px;height:16px;flex:none}
.choice:has(input:checked){border-color:var(--accent);background:var(--accent-soft);font-weight:600}
.program-choice .choice{align-items:flex-start}
.program-choice .choice span{display:grid;gap:2px}
.program-choice .choice small{font-size:12.5px;color:var(--muted);font-weight:400;line-height:1.4}
.program-choice .choice:has(input:checked) small{color:var(--accent-text)}
.check{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--muted)}
.check input{margin-top:3px;accent-color:var(--accent)}
.err{color:var(--danger);font-size:13.5px;font-weight:500}
.ok{color:var(--ok);font-size:13.5px;font-weight:600}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:12px 22px;font-weight:600;font-size:14.5px;border:1px solid transparent;cursor:pointer;transition:background .15s,border-color .15s,transform .15s,box-shadow .15s;text-decoration:none}
.btn-primary{background:var(--teal);color:var(--on-accent);box-shadow:0 8px 18px -10px rgba(47,143,157,.9)}
.btn-primary:hover{background:var(--teal-deep);transform:translateY(-1px)}
.btn-ghost{background:var(--surface);border-color:var(--line);color:var(--ink)}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent-text)}
.btn-danger{background:var(--danger);color:#fff}
.btn-sm{padding:8px 15px;font-size:13.5px}
.btn[disabled]{opacity:.6;cursor:progress;transform:none}
.linkbtn{background:none;border:0;padding:4px;color:var(--accent-text);font-weight:600;font-size:13.5px;cursor:pointer;text-decoration:none}
.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.actions.spread{justify-content:space-between}

.center-msg{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.narrow{max-width:540px;margin:24px auto;padding:34px;box-shadow:var(--shadow-md)}
.narrow-form{max-width:660px;margin:0 auto;box-shadow:var(--shadow-md)}
#v-loading{align-items:center;padding:60px 0}

/* ---------- Dashboard ---------- */
.welcome{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,580px);gap:32px;align-items:stretch;margin-bottom:48px}
.welcome h1{font-size:clamp(34px,4.4vw,52px)}
.welcome-text{display:flex;flex-direction:column;gap:14px;justify-content:center}
.reco{position:relative;overflow:hidden;background:linear-gradient(145deg,#0D2238 0%,#16385A 100%);color:var(--band-ink);border-radius:var(--r-lg);padding:26px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow-lg);
  --surface-2:rgba(255,255,255,.12);--ink:#EEF4F7;--muted:#A3B6C4;--accent:#45A6B3}
.reco::after{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(47,143,157,.55),transparent 70%);pointer-events:none}
.reco .eyebrow{color:#86CDD6}
.reco h3{font-size:30px}
.reco p{color:var(--band-muted);font-size:14.5px}
.reco .stages{flex-wrap:nowrap}
.reco .btn-primary{align-self:flex-start;margin-top:6px;background:#fff;color:var(--navy);box-shadow:0 10px 22px -12px rgba(0,0,0,.6)}
.reco .btn-primary:hover{background:var(--teal-light);color:var(--navy)}
.mine{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.enr-list{display:grid;gap:10px;width:100%}
.enr-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 16px;color:var(--ink);transition:border-color .15s,box-shadow .15s,transform .15s}
a.enr-row:hover{border-color:var(--accent);box-shadow:0 8px 22px rgba(13,34,56,.10);transform:translateY(-1px);color:var(--ink)}
.enr-num{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--navy);color:#fff;font-family:var(--f-display);font-size:18px;box-shadow:inset 0 -3px 0 var(--teal)}
.enr-row.soon .enr-num{background:var(--surface-2);color:var(--muted);box-shadow:none}
.enr-body{display:grid;gap:1px;min-width:0}
.enr-body b{font-family:var(--f-display);font-weight:400;font-size:19px;line-height:1.2;color:var(--ink)}
.enr-meta{font-size:12.5px;color:var(--muted)}
.enr-bar{display:block;height:5px;background:var(--line);border-radius:9px;overflow:hidden;margin-top:6px;max-width:280px}
.enr-bar i{display:block;height:100%;background:var(--teal)}
.enr-go{display:inline-flex;align-items:center;gap:6px;background:var(--teal);color:#fff;border-radius:999px;padding:8px 15px;font-weight:600;font-size:13px;white-space:nowrap}
a.enr-row:hover .enr-go{filter:brightness(.92)}
.enr-go.muted{background:var(--ok-soft);color:var(--ok)}
@media(max-width:560px){.enr-row{grid-template-columns:40px minmax(0,1fr)}.enr-num{width:40px;height:40px;font-size:16px}.enr-go{grid-column:1/-1;justify-content:center}}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;padding:5px 12px;border-radius:999px;background:var(--ok-soft);color:var(--ok)}

.toolbar{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.toolbar h2{margin-top:6px;font-size:34px}
.filters{scroll-margin-top:110px;display:flex;gap:4px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);padding:4px;border-radius:999px;box-shadow:var(--shadow-sm)}
.chip{font-family:var(--f-label);font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;padding:8px 14px;border-radius:999px;border:0;background:transparent;color:var(--muted);cursor:pointer;transition:background .15s,color .15s}
.chip:hover{color:var(--ink);background:var(--surface-2)}
.chip[aria-pressed="true"]{background:var(--navy);color:#fff}

/* ---------- Academy path selector ---------- */
.academy-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-bottom:24px}
.academy-hero h1{font-size:clamp(36px,4.6vw,58px);margin-top:8px}
.academy-hero p{max-width:68ch;font-size:16px}
.academy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-bottom:22px}
.academy-card{display:flex;flex-direction:column;gap:16px;padding:28px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-sm);transition:background .22s,border-color .22s,box-shadow .22s,transform .22s,color .22s}
.academy-card h2{font-size:34px}
.academy-card p{color:var(--muted)}
.academy-kicker{font-family:var(--f-label);font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--accent-text);font-weight:700}
.academy-status{display:flex;flex-direction:column;gap:6px;margin-top:auto}
.academy-card .btn{align-self:flex-start}
.academy-card:first-child{background:linear-gradient(135deg,#fff 0%,#F3F8FA 100%)}
.academy-card:first-child:hover{border-color:var(--slate);box-shadow:0 14px 34px -22px rgba(13,34,56,.38);transform:translateY(-3px)}
.accelerator-card{background:linear-gradient(140deg,#0D2238 0%,#173A5C 100%);border-color:#173A5C;color:#fff;box-shadow:var(--shadow-md)}
.accelerator-card .academy-kicker{color:#86CDD6}
.accelerator-card p,.accelerator-card .muted{color:var(--band-muted)}
.accelerator-card .btn-primary{background:#fff;color:var(--navy);box-shadow:0 10px 22px -12px rgba(0,0,0,.6)}
.accelerator-card .btn-primary:hover{background:var(--teal-light)}
.accelerator-card:hover{border-color:var(--teal);box-shadow:0 22px 44px -24px rgba(13,34,56,.55);transform:translateY(-3px)}
.lock-pill{background:var(--surface-2);color:var(--muted)}
.accelerator-card .lock-pill{background:rgba(255,255,255,.12);color:#D5E3EA}
/* ---------- Accelerator dashboard ---------- */
.acc-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:24px;align-items:stretch;margin-bottom:24px}
.acc-hero > div:first-child{padding:32px;border-radius:var(--r-lg);background:linear-gradient(140deg,#0D2238 0%,#173A5C 100%);color:#fff;box-shadow:var(--shadow-lg)}
.acc-hero h1{font-size:clamp(36px,4.6vw,58px);margin-top:8px}
.acc-hero p{color:var(--band-muted)}
.acc-next{padding:26px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:10px}
.acc-next h3{font-size:27px}
.acc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:18px;margin-bottom:24px}
.acc-week{padding:20px;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow-sm)}
.acc-week-num{font-family:var(--f-label);font-size:12px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:var(--accent-text)}
.acc-week-toggle{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;text-align:left;background:none;border:0;padding:0;cursor:pointer;color:inherit}
.acc-week-toggle .acc-week-num{grid-column:1/-1}
.acc-week-title{font-family:var(--f-display);font-size:24px;line-height:1.08;color:var(--ink)}
.acc-expand{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);color:var(--accent-text);font-weight:700;transition:transform .15s,background .15s,color .15s}
.acc-week.is-open .acc-expand{transform:rotate(45deg);background:var(--teal);color:#fff}
.acc-week p{color:var(--muted);font-size:13px;line-height:1.55}
.acc-week-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto;color:var(--muted)}
.acc-week-meta span{position:relative;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.11em;color:var(--muted)}
.acc-week-meta span + span::before{content:"";display:inline-block;width:3px;height:3px;border-radius:50%;background:currentColor;margin:0 10px 2px 0;opacity:.55}
.acc-week-detail{margin-top:4px;padding-top:12px;border-top:1px solid var(--line)}
.acc-week-detail h3{font-family:var(--f-label);font-size:11px;letter-spacing:.13em;text-transform:uppercase;font-weight:700;color:var(--accent-text);margin:0 0 7px}
.acc-week-detail ul{margin:0;padding-left:18px;color:var(--muted);font-size:13px;line-height:1.55}
.acc-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.acc-panel{padding:24px;display:flex;flex-direction:column;gap:12px}
.acc-panel ul{margin:0;padding-left:20px;color:var(--muted)}

/* Course cards */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,350px),1fr));gap:22px}
.course{display:flex;flex-direction:column;min-width:0;overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .25s,box-shadow .25s,border-color .25s}
.course:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.course-head{position:relative;overflow:hidden;padding:22px 22px 20px;background:linear-gradient(140deg,#0D2238 0%,#173A5C 100%);color:#fff;display:flex;flex-direction:column;gap:14px}
.course-head::after{content:"";position:absolute;right:-50px;bottom:-70px;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(47,143,157,.5),transparent 70%);pointer-events:none}
.course-top{display:flex;align-items:center;justify-content:space-between;gap:10px;position:relative;z-index:1}
.course-num{font-family:var(--f-display);font-size:40px;line-height:.9;color:rgba(255,255,255,.22)}
.badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.badge{font-family:var(--f-label);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.2)}
.badge.reco-badge{background:#fff;color:var(--navy);border-color:#fff}
.badge.done{background:var(--ok);border-color:var(--ok)}
.course h3{font-size:27px;position:relative;z-index:1}
.course-head .stages{position:relative;z-index:1}
.course-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:14px;flex:1}
.course.is-enrolled{border-color:var(--ok)}
.course.is-reco{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft),var(--shadow-md)}
.tagline{font-size:15.5px;font-weight:500;color:var(--ink)}
.for{font-size:14px;color:var(--muted)}
.for b{color:var(--ink);font-weight:600}

details.covers{background:var(--surface-2);border-radius:var(--r-sm);padding:10px 14px}
details.covers summary{cursor:pointer;font-weight:600;font-size:13.5px;color:var(--accent-text);list-style:none;display:flex;justify-content:space-between;align-items:center}
details.covers summary::-webkit-details-marker{display:none}
details.covers summary::after{content:"+";font-size:18px;line-height:1}
details.covers[open] summary::after{content:"\2212"}
.covers ul{margin:10px 0 2px;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.covers li{font-size:12.5px;padding:4px 10px;border-radius:999px;background:var(--surface);border:1px solid var(--line)}
.course-foot{margin-top:auto;padding-top:16px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.format{font-size:13px;color:var(--muted);max-width:24ch}
.format b{display:block;color:var(--ink);font-family:var(--f-label);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:2px}
.confirm{font-size:13px;color:var(--danger);font-weight:600}

/* ---------- Admin ---------- */
.search{width:230px;padding:8px 14px;font-size:13.5px;border-radius:999px}
#adm-course{width:auto;padding:8px 14px;font-size:13.5px;border-radius:999px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:24px}
.stat{padding:16px 18px;border-radius:var(--r-md);box-shadow:var(--shadow-sm)}
.stat:first-child{background:var(--navy);color:#fff;border-color:var(--navy)}
.stat:first-child span{color:var(--band-muted)}
.stat b{display:block;font-family:var(--f-display);font-weight:400;font-size:34px;line-height:1.1;font-variant-numeric:tabular-nums}
.stat span{font-size:12.5px;color:var(--muted)}
.tablebox{overflow-x:auto;border-radius:var(--r-md);box-shadow:var(--shadow-sm)}
table{width:100%;border-collapse:collapse;font-size:14px;min-width:820px}
th{text-align:left;font-family:var(--f-label);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700;padding:13px 16px;border-bottom:1px solid var(--line);background:var(--surface-2)}
td{padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:top}
tbody tr:hover td{background:var(--accent-soft)}
td .tag{display:inline-block;font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent-text);margin:0 4px 4px 0}
td .tag.req{background:var(--surface-2);color:var(--muted)}
.empty{padding:36px;text-align:center;color:var(--muted)}

footer{border-top:1px solid var(--line);padding-block:24px;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));font-size:13px;color:var(--muted)}
footer .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(24px + env(safe-area-inset-bottom,0px));background:var(--navy);color:#fff;padding:12px 20px;border-radius:999px;font-weight:600;font-size:14px;z-index:20;max-width:calc(100% - 32px);box-shadow:var(--shadow-lg)}

@media (max-width:960px){
  .reg,.welcome{grid-template-columns:1fr;gap:32px}
  .form-card{position:static}
  .academy-grid,.acc-hero,.acc-panels{grid-template-columns:1fr}
}
@media (max-width:860px){
  .brandtxt{display:none}
  .logo{height:46px}
}
@media (max-width:560px){
  .wrap{padding-inline:16px}
  main{padding-block:32px 56px}
  .two{grid-template-columns:1fr}
  .form{padding:22px}
  .narrow{padding:24px}
  .path-row{grid-template-columns:36px minmax(0,1fr);gap:12px;padding:14px}
  .path-num{width:36px;height:36px;font-size:17px;border-radius:10px}
  .path-title b{font-size:19px}
  .filters{border-radius:var(--r-md);justify-content:center;align-self:center;margin-inline:auto;max-width:100%}
  .toolbar{justify-content:center;text-align:center}
  .search{width:100%}
  .nav button{padding:7px 11px;font-size:13px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}.course:hover,.path-row:hover{transform:none}}

/* ---------- One-line rules: stage tags and buttons never wrap inside a card ---------- */
.btn,.pill,.badge{white-space:nowrap}
.course-head .stages,.path-title .stages{flex-wrap:nowrap;gap:4px}
.course-head .stage-tag{font-size:10.5px;letter-spacing:.06em;padding:6px 9px 6px 8px;gap:5px}
.path-row .stage-tag{letter-spacing:.07em;gap:5px}
.course-foot{flex-wrap:wrap}
.course-foot .actions{flex-wrap:wrap;justify-content:flex-end;margin-left:auto}
@media (max-width:560px){
  .reco .stages{flex-wrap:wrap}
  .path-title{flex-direction:column;align-items:flex-start;gap:8px}
  .course-head .stage-tag,.path-row .stage-tag{font-size:9.5px;padding:5px 8px;letter-spacing:.05em}
  .course-head .stage-tag::before,.path-row .stage-tag::before{display:none}
}

/* ---------- Profile (read-only view + edit form) ---------- */
.pv{display:flex;flex-direction:column;gap:22px;max-width:980px;margin:0 auto}
.pv-hero{position:relative;overflow:hidden;display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding:30px;border-radius:var(--r-lg);
  background:linear-gradient(140deg,#0D2238 0%,#173A5C 100%);color:#fff;box-shadow:var(--shadow-lg)}
.pv-hero::after{content:"";position:absolute;right:-80px;top:-90px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(47,143,157,.5),transparent 70%);pointer-events:none}
.pv-avatar{flex:none;width:84px;height:84px;border-radius:50%;display:grid;place-items:center;background:var(--teal);color:#fff;font-family:var(--f-display);font-size:34px;box-shadow:0 0 0 4px rgba(255,255,255,.14)}
.pv-id{flex:1;min-width:200px;display:flex;flex-direction:column;gap:6px;position:relative;z-index:1}
.pv-id .eyebrow{color:#86CDD6}
.pv-id h1{font-size:clamp(32px,4vw,44px)}
.pv-meta{color:var(--band-muted);font-size:14.5px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.pv-meta .dot{width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.6}
.btn-edit{position:relative;z-index:1;background:#fff;color:var(--navy);box-shadow:0 10px 22px -12px rgba(0,0,0,.6);align-self:flex-start}
.btn-edit:hover{background:var(--teal-light);transform:translateY(-1px)}
.pv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.pv-card{padding:22px 24px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow-sm)}
.pv-card h3{font-size:22px}
.pv-wide{grid-column:1/-1}
.pv-card-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.pv-quote{font-style:italic;font-size:16px;color:var(--ink)}
.pv-reco{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:var(--r-sm);background:var(--surface-2)}
.pv-reco b{font-family:var(--f-display);font-weight:400;font-size:19px}
.pv-reco .stages{flex-wrap:nowrap}
.pv-reco .stage-tag{font-size:10px;letter-spacing:.06em;padding:5px 9px 5px 8px;gap:5px}
.pv-dl{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin:0;font-size:14.5px}
.pv-dl dt{color:var(--muted)}
.pv-dl dd{margin:0;font-weight:600}

.links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.lk{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none;text-align:left;cursor:pointer;min-width:0;transition:border-color .15s,transform .15s,box-shadow .15s}
.lk:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.lk > span:nth-child(2){display:flex;flex-direction:column;min-width:0;flex:1}
.lk b{font-weight:600;font-size:14px}
.lk small{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lk-go{color:var(--accent-text);font-weight:700}
.lk-mark{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--navy);color:#fff;font-family:var(--f-label);font-weight:700;font-size:13px;letter-spacing:.02em}
.lk-empty{background:var(--surface)}
.lk-empty .lk-mark{background:var(--navy);color:#fff}
.lk-empty small{color:var(--accent-text);font-weight:600}
.lk-label{display:flex;align-items:center;gap:8px}
.lk-label .lk-mark{width:24px;height:24px;border-radius:7px;font-size:10.5px}
.lk-label .lk-mark svg{width:14px;height:14px}
.linkset .two{margin-top:8px}
.form-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.adm-links{display:flex;gap:4px;flex-wrap:wrap;margin-top:2px}

@media (max-width:860px){ .links{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:560px){
  .pv-hero{padding:22px;gap:16px}
  .pv-avatar{width:64px;height:64px;font-size:26px}
  .pv-grid,.links{grid-template-columns:1fr}
  .btn-edit{align-self:auto}
}
@media (max-width:560px){
  .pv-reco .stage-tag{font-size:9.5px;padding:5px 8px;letter-spacing:.05em}
  .pv-reco .stage-tag::before{display:none}
  .pv-meta .dot{display:none}
  .pv-meta{flex-direction:column;align-items:flex-start;gap:2px}
}

/* ---------- Profile: full-width on computers ---------- */
.pv{max-width:none}
.pv-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.pv-grid .pv-card:first-child,.pv-grid .pv-card:nth-child(4){grid-column:span 2}
.wide-form{max-width:none;margin:0;padding:34px 36px;box-shadow:var(--shadow-md)}
.acct-email{margin-top:8px}
.acct-email b{color:var(--ink);font-weight:600}
@media (min-width:900px){
  #profile-fields .fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:40px;row-gap:22px;
    grid-template-areas:"basic links" "sit links" "sit goal";grid-template-rows:auto auto 1fr}
  #profile-fields .fields > .two{grid-area:basic}
  #profile-fields .fields > .linkset{grid-area:links;align-self:start}
  #profile-fields .fields > .choices:not(.linkset){grid-area:sit}
  #profile-fields .fields > .field{grid-area:goal;align-self:start}
  #profile-fields textarea.input{min-height:118px}
}
@media (max-width:899px){ .pv-grid{grid-template-columns:repeat(2,minmax(0,1fr))} .pv-grid .pv-card:first-child,.pv-grid .pv-card:nth-child(4){grid-column:auto} }
@media (max-width:560px){ .pv-grid{grid-template-columns:1fr} .wide-form{padding:22px} }


/* ---------- Homepage: readable for every age group ---------- */
:root{--muted:#4A6375}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--muted:#A9BCCA}}
:root[data-theme="dark"]{--muted:#A9BCCA}
body{font-size:16px}
.band .wrap{min-height:76px}
.reg{grid-template-columns:minmax(0,1fr) minmax(0,500px);gap:64px}
.reg-intro{gap:22px}
.reg-intro h1{font-size:clamp(40px,5.2vw,64px);line-height:1.05;letter-spacing:-.01em;color:var(--ink)}
.hero-sub{font-size:clamp(18px,1.6vw,21px);line-height:1.55;color:var(--ink);max-width:40ch;opacity:.85}

.steps{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.steps li{display:flex;flex-direction:column;gap:12px;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-sm)}
.step-n{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--teal);color:#fff;font-weight:700;font-size:16px}
.steps b{display:block;font-size:16px;font-weight:700;line-height:1.3;color:var(--ink)}
.steps li span:not(.step-n){display:block;font-size:14.5px;color:var(--muted);margin-top:4px;line-height:1.45}

.path-head{margin-top:18px}
.path-head h2{font-size:26px}
.path{display:grid;grid-template-columns:1fr;gap:8px}
.path-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:14px;align-items:center;padding:15px 18px;border-radius:var(--r-md)}
.path-row q{font-style:normal;font-size:16px;color:var(--ink);font-weight:500}
.path-arrow{color:var(--teal);font-weight:700;font-size:18px}
.path-row b{font-family:var(--f-body);font-weight:700;font-size:16px;color:var(--accent-text);text-align:left}

.form-lede{font-size:14px;line-height:1.55;color:var(--muted);margin-top:8px}
.form-intro h2{font-size:30px}
.field label,.legend{font-size:14.5px}
.input{font-size:16px;padding:13px 15px}
.choice{font-size:15px;padding:12px 15px}
.btn{font-size:15.5px}
.tabs button{font-size:15px;padding:11px}
.check{font-size:14.5px}

@media (max-width:960px){
  .reg{display:flex;flex-direction:column;gap:22px}
  .reg-intro{display:contents}
  .reg-intro > .eyebrow,.reg-intro > h1,.reg-intro > .hero-sub{order:1}
  .reg > .form-card{order:2;width:100%;max-width:560px}
  .steps,.path-head,.path{order:3}
  .path-head{margin-top:10px}
}
@media (max-width:640px){
  .steps{grid-template-columns:1fr}
  .steps li{flex-direction:row;align-items:center;padding:14px 16px}
  .path-row{grid-template-columns:1fr;gap:4px}
  .path-arrow{display:none}
  .path-row b::before{content:"→ ";color:var(--teal)}
}

/* ---------- How it works: one connected, flowing panel ---------- */
.steps{position:relative;gap:0;padding:26px 22px 24px;border-radius:var(--r-lg);border:1px solid rgba(47,143,157,.18);
  background:linear-gradient(135deg,var(--surface) 0%,var(--teal-light) 100%);box-shadow:var(--shadow-sm);overflow:hidden}
.steps::before{content:"";position:absolute;left:calc(22px + 20px);right:calc(33.333% - 2px);top:calc(26px + 20px);height:2px;
  background:linear-gradient(90deg,var(--teal),rgba(47,143,157,.25));border-radius:2px}
.steps::after{content:"";position:absolute;right:-60px;bottom:-80px;width:220px;height:220px;border-radius:50%;
  background:radial-gradient(circle,rgba(47,143,157,.16),transparent 70%);pointer-events:none}
.steps li{position:relative;z-index:1;background:none;border:0;box-shadow:none;border-radius:0;padding:0 14px 0 0;gap:14px;transition:transform .25s ease}
.steps li:hover{transform:translateY(-3px)}
.step-n{width:40px;height:40px;font-size:17px;box-shadow:0 0 0 5px var(--surface),0 6px 14px -6px rgba(34,113,124,.8);transition:background .25s,transform .25s}
.steps li:hover .step-n{background:var(--navy);transform:scale(1.06)}
.steps b{font-size:16.5px}

/* ---------- "Which one sounds like you?" rows: colour change on hover ---------- */
.path-row{transition:background .25s ease,border-color .25s ease,transform .25s ease,box-shadow .25s ease;cursor:default}
.path-row::after{display:none}
.path-row q,.path-row b,.path-arrow{transition:color .25s ease,transform .25s ease}
.path-row:hover{background:var(--navy);border-color:var(--navy);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.path-row:hover q{color:#fff}
.path-row:hover b{color:#86CDD6}
.path-row:hover .path-arrow{color:#86CDD6;transform:translateX(4px)}
.seo-panel{padding:22px 24px;border:1px solid var(--line);border-radius:var(--r-lg);background:linear-gradient(135deg,var(--surface) 0%,rgba(47,143,157,.08) 100%);box-shadow:var(--shadow-sm)}
.seo-panel h2{font-size:27px;margin-bottom:8px}
.seo-panel p{color:var(--muted);max-width:68ch}

@media (max-width:640px){
  .steps{padding:20px 18px;gap:18px}
  .steps::before{left:calc(18px + 19px);right:auto;width:2px;height:auto;top:38px;bottom:38px;background:linear-gradient(180deg,var(--teal),rgba(47,143,157,.25))}
  .steps li{padding:0;gap:14px}
  .steps li:hover{transform:none}
  .path-row:hover b::before{color:#86CDD6}
}
@media (prefers-reduced-motion:reduce){.steps li:hover,.path-row:hover,.path-row:hover .path-arrow{transform:none}}

/* ---------- Steps: titles always on one line ---------- */
.steps li{padding-right:6px;gap:12px}
.steps b{font-size:14px;white-space:nowrap;letter-spacing:-.005em}
.steps li span:not(.step-n){font-size:13.5px;line-height:1.5;margin-top:3px}
/* When the hero column is too narrow for three across, stack the steps (same look as phones) */
@media (min-width:961px){ .reg-intro{container-type:inline-size} }
@container (max-width:585px){
  .steps{grid-template-columns:1fr;gap:16px;padding:20px 18px}
  .steps::before{left:calc(18px + 19px);right:auto;width:2px;height:auto;top:38px;bottom:38px;background:linear-gradient(180deg,var(--teal),rgba(47,143,157,.25))}
  .steps li{flex-direction:row;align-items:center;padding:0}
  .steps li:hover{transform:none}
}
@media (max-width:640px){ .steps b{white-space:normal;font-size:15px} }
.steps{column-gap:14px}
.steps li{padding-right:0}

/* ---------- Header logo: transparent PNG with a soft shadow ---------- */
.logo{height:58px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}
@media (max-width:860px){
  .band .wrap{justify-content:center;gap:10px}
  .brand{width:100%;justify-content:center}
  .logo{height:48px}
  .brandtxt{padding-left:12px}
  .nav{width:100%;justify-content:center;margin-left:0;border-radius:18px}
  .nav button,.nav .navlink{min-height:36px;display:flex;align-items:center;justify-content:center}
}
@media (max-width:520px){
  .band .wrap{padding-inline:14px}
  .brand{gap:10px}
  .logo{height:42px}
  .brandtxt b{font-size:16px}
  .brandtxt span{font-size:9.5px}
  .nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;border-radius:16px}
  .nav button,.nav .navlink{padding:8px 10px;font-size:12.5px}
}

/* ===================== Oct 8 round 4 ===================== */
/* Homepage sub-heading: a bit smaller and calmer */
.hero-sub{font-size:17px;line-height:1.6;color:var(--muted);opacity:1;max-width:46ch}

/* "Which one sounds like you?": each row on one line */
.path-row{display:flex;align-items:center;gap:10px;padding:13px 18px;flex-wrap:nowrap}
.path-row q{font-size:15px;white-space:nowrap;flex:none}
.path-row b{font-size:15px;white-space:nowrap}
.path-arrow{flex:none;font-size:16px}
@container (max-width:560px){ .path-row{flex-wrap:wrap} .path-row q{white-space:normal} }
@media (max-width:640px){ .path-row{flex-wrap:wrap;display:grid} .path-row q{white-space:normal} }

/* Consent box on sign-up */
.consent{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line);font-size:13px;line-height:1.55;color:var(--muted);cursor:pointer}
.consent input{margin-top:3px;width:17px;height:17px;flex:none;accent-color:var(--accent)}
.consent b{display:block;color:var(--ink);font-size:14px;margin-bottom:3px}
.consent:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}

/* Smaller Enroll / Withdraw / Request buttons everywhere */
.btn-sm{padding:6px 13px;font-size:13px;gap:6px}

/* Recommended card: fits its content, title on one line, tags + button side by side */
.welcome{grid-template-columns:minmax(0,1fr) auto}
.reco{width:fit-content;max-width:600px;justify-self:end}
.reco h3{font-size:26px;white-space:nowrap}
.reco p{max-width:50ch}
.reco-row{display:flex;align-items:center;gap:14px;flex-wrap:nowrap;margin-top:4px}
.reco-row .stages{flex-wrap:nowrap}
.reco .reco-row .btn-primary{margin-top:0;align-self:center}
@media (max-width:960px){ .welcome{grid-template-columns:1fr;gap:24px} .reco{width:auto;max-width:none;justify-self:stretch} .reco h3{white-space:normal} .reco-row{flex-wrap:wrap} }
@media (max-width:560px){ .reco{padding:20px;gap:10px} .reco h3{font-size:22px} }

/* Program cards: headers all the same height (set in app.js), tags sit at the bottom */
.course-head .stages{margin-top:auto}

/* Additional assessments & certifications */
.resources{margin-top:56px}
.res-lede{max-width:70ch;margin-top:8px}
.res-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:18px}
.res{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .25s,box-shadow .25s}
.res:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.res-logo{height:96px;display:grid;place-items:center;padding:18px 24px;background:#fff;border-bottom:1px solid var(--line)}
.res-logo img{max-height:46px;max-width:78%;width:auto;height:auto;object-fit:contain}
.res-logo-txt{font-weight:700;font-size:18px;color:var(--navy)}
.res-body{padding:18px 20px 6px;display:flex;flex-direction:column;gap:8px;flex:1}
.res-provider{font-family:var(--f-label);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text)}
.res h3{font-size:21px}
.res p{font-size:14px;color:var(--muted);line-height:1.55}
.res-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:6px}
.res-tags span{font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;background:var(--surface-2);color:var(--ink)}
.res-go{margin:14px 20px 20px;align-self:flex-start}
.res-note{margin-top:18px;padding:14px 18px;border-radius:var(--r-md);background:var(--surface-2);border-left:4px solid var(--slate);font-size:13px;line-height:1.6;color:var(--muted)}
.res-note b{color:var(--ink)}
.res-note p{margin:0}.res-note p + p{margin-top:8px}

/* Mid-size laptop windows: slimmer form column so the homepage rows stay on one line */
@media (min-width:961px) and (max-width:1199px){ .reg{grid-template-columns:minmax(0,1fr) minmax(0,430px);gap:40px} }
@media(max-width:560px){
  .nav{width:100%;flex-wrap:nowrap;justify-content:space-between;margin-left:0}
  .nav button,.nav .navlink{flex:1 1 auto;text-align:center;white-space:nowrap;padding:7px 6px;font-size:12px}
}

/* ===================== Academy program selector refinements ===================== */
.path{gap:12px}
.path-row{
  display:block;
  padding:0;
  overflow:hidden;
  border-radius:16px;
  cursor:default;
  background:var(--surface);
}
.path-row:nth-child(odd){border-color:rgba(47,143,157,.28);background:linear-gradient(135deg,var(--surface) 0%,rgba(47,143,157,.09) 100%)}
.path-row:nth-child(even){border-color:rgba(88,117,138,.28);background:linear-gradient(135deg,#F9FBFC 0%,rgba(88,117,138,.13) 100%)}
.path-main{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  text-align:left;
  border:0;
  background:transparent;
  padding:17px 20px;
  cursor:pointer;
}
.path-main span:first-child{display:grid;gap:4px;min-width:0}
.path-main q{white-space:normal;font-style:normal;font-size:14.5px;line-height:1.45;color:var(--muted);font-weight:500}
.path-main b{font-family:var(--f-display);font-size:24px;font-weight:400;line-height:1.1;color:var(--ink);white-space:normal}
.path-main b em{display:inline-flex;margin-left:8px;vertical-align:middle;font-family:var(--f-label);font-size:10px;font-style:normal;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 8px;border-radius:999px;background:var(--surface-2);color:var(--muted)}
.path-main .path-arrow{
  width:36px;
  height:36px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--teal);
  color:#fff;
  transition:transform .2s,background .2s,color .2s;
}
.path-row:hover,.path-row.is-open{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.path-row:nth-child(odd):hover,.path-row:nth-child(odd).is-open{background:var(--navy);border-color:var(--navy)}
.path-row:nth-child(even):hover,.path-row:nth-child(even).is-open{background:var(--teal-deep);border-color:var(--teal-deep)}
.path-row:hover .path-main q,.path-row:hover .path-main b,.path-row.is-open .path-main q,.path-row.is-open .path-main b{color:#fff}
.path-row:hover .path-arrow,.path-row.is-open .path-arrow{background:#fff;color:var(--navy);transform:translateX(3px)}
.path-row.is-open .path-arrow{transform:rotate(90deg)}
.path-definition{
  display:grid;
  gap:10px;
  padding:0 20px 18px;
  color:#fff;
}
.path-definition p{font-size:14px;line-height:1.6;color:rgba(255,255,255,.88)}
.path-definition b{font-family:var(--f-body);font-size:14px;font-weight:700;color:#fff}
.learn-more{
  justify-self:start;
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#fff;
  font-weight:700;
  font-size:13.5px;
}
.learn-more:hover{color:#DDF2F5}

.program-overview{display:grid;gap:22px}
.program-hero{max-width:760px;scroll-margin-top:110px}
.program-hero h1{font-size:clamp(40px,5vw,64px);margin-top:10px}
.program-hero p{margin-top:14px;font-size:18px;color:var(--muted)}
.program-detail{padding:30px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-sm);scroll-margin-top:110px}
.program-detail.accent{background:linear-gradient(140deg,#0D2238 0%,#173A5C 100%);color:#fff;border-color:#173A5C}
.program-label{font-family:var(--f-label);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text)}
.program-detail.accent .program-label{color:#86CDD6}
.program-detail h2{font-size:clamp(38px,5vw,58px);margin-top:8px}
.program-tagline{display:inline-block;margin-top:14px!important;padding:12px 14px;border-radius:14px;background:var(--teal-light);color:var(--ink)!important;font-weight:700;font-size:16px}
.program-detail.accent .program-tagline{background:rgba(255,255,255,.12);color:#fff!important}
.program-detail p{margin-top:12px;max-width:76ch;color:var(--muted)}
.program-detail.accent p{color:var(--band-muted)}
.program-points{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.program-points span{font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:7px 11px;border-radius:999px;background:var(--surface-2);color:var(--ink)}
.program-detail.accent .program-points span{background:rgba(255,255,255,.12);color:#fff}

@media (max-width:960px){
  .reg > .form-card{margin-inline:auto;align-self:center}
  .brandtxt{display:flex!important}
  .band .wrap{align-items:center}
  .brand{width:auto;max-width:100%;justify-content:center}
  .nav{align-items:center}
  .seo-panel{order:4}
}
@media (max-width:860px){
  .brand{flex:0 0 auto}
  .nav{flex-basis:100%}
}
@media (max-width:640px){
  .path-main{padding:16px}
  .path-main b{font-size:20px;white-space:nowrap}
  .path-main b::before{content:none!important}
  .path-main b em{display:block;width:max-content;margin:6px 0 0;font-size:9px}
  .path-definition{padding:0 16px 16px}
  .reg > .form-card{width:min(100%,560px)}
  .seo-panel{order:4}
}

/* ===================== Logged-in mobile header + Accelerator polish ===================== */
.topbtn{
  position:fixed;
  right:16px;
  bottom:calc(18px + env(safe-area-inset-bottom,0px));
  z-index:25;
  width:42px;
  height:42px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.35);
  background:var(--navy);
  color:#fff;
  box-shadow:var(--shadow-lg);
  font-weight:700;
  cursor:pointer;
}
@media (min-width:861px){.topbtn{display:none!important}}

#v-accelerator{font-size:14px}
.acc-hero p,.acc-next p{font-size:14px;line-height:1.55}
.acc-next h3{font-size:24px}
.acc-story{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;margin:-2px 0 24px;padding:26px;border:1px solid rgba(47,143,157,.18);border-radius:var(--r-lg);background:linear-gradient(135deg,var(--surface) 0%,rgba(47,143,157,.08) 100%);box-shadow:var(--shadow-sm)}
.acc-story h2{font-size:34px;margin-top:8px}
.acc-story p{max-width:68ch;color:var(--muted);font-size:14.5px;line-height:1.6;margin-top:8px}
.acc-story{grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-items:stretch}
.acc-proof{display:grid;grid-template-rows:repeat(3,1fr);gap:10px}
.proof{position:relative;overflow:hidden;display:grid;grid-template-columns:46px minmax(0,1fr);gap:14px;align-items:center;padding:14px 16px;border-radius:16px;border:1px solid transparent;box-shadow:var(--shadow-sm)}
.proof::after{content:"";position:absolute;right:-28px;top:-28px;width:96px;height:96px;border-radius:50%;background:rgba(255,255,255,.07);pointer-events:none}
.proof-ic{display:grid;place-items:center;width:46px;height:46px;border-radius:13px}
.proof-ic svg{width:24px;height:24px}
.proof-t{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:12px;align-items:center}
.proof-t b{grid-row:span 2;min-width:1.3em;font-family:var(--f-display);font-weight:400;font-size:34px;line-height:1}
.proof-t strong{font-size:14.5px;font-weight:700;line-height:1.2}
.proof-t small{font-size:12px;line-height:1.35;opacity:.8}
.proof.p-navy{background:linear-gradient(135deg,#0D2238 0%,#173A5C 100%);color:#fff}
.proof.p-navy .proof-ic{background:rgba(134,205,214,.16);color:#86CDD6}
.proof.p-teal{background:linear-gradient(135deg,#22717C 0%,#2F8F9D 100%);color:#fff}
.proof.p-teal .proof-ic{background:rgba(255,255,255,.16);color:#fff}
.proof.p-gold{background:linear-gradient(135deg,#FFF7E6 0%,#FDEBC8 100%);border-color:#F3D9A4;color:#0D2238}
.proof.p-gold::after{background:rgba(232,154,44,.12)}
.proof.p-gold .proof-ic{background:linear-gradient(135deg,#F7C948 0%,#F2994A 55%,#EE7B2E 100%);color:#3B1F00;box-shadow:0 6px 14px -8px rgba(238,123,46,.8)}
.proof.p-gold small{color:#5A4A2A;opacity:1}
[data-theme="dark"] .proof.p-navy{background:linear-gradient(135deg,#10263D 0%,#1D4468 100%);border-color:#24496B}
[data-theme="dark"] .proof.p-gold{background:linear-gradient(135deg,#3A2E16 0%,#4A3A1A 100%);border-color:#6B5426;color:#FDF1D8}
[data-theme="dark"] .proof.p-gold small{color:#E9D6AE}
.acc-grid{position:relative;grid-template-columns:1fr;gap:14px;max-width:980px;margin-inline:auto}
.acc-grid::before{content:"";position:absolute;left:25px;top:22px;bottom:22px;width:2px;background:linear-gradient(var(--teal),rgba(47,143,157,.18));border-radius:2px}
.acc-week{position:relative;margin-left:52px;border-radius:16px}
.acc-week-toggle{grid-template-columns:minmax(160px,220px) minmax(0,1fr) auto;align-items:center}
.acc-week-toggle .acc-week-num{grid-column:auto;display:flex;align-items:center;gap:12px;letter-spacing:.11em}
.acc-week-num span{position:absolute;left:-52px;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-family:var(--f-display);font-size:22px;font-weight:400;letter-spacing:0;box-shadow:0 0 0 6px var(--bg),inset 0 -4px 0 var(--teal)}
.acc-week-title{font-size:25px}

@media (max-width:860px){
  .band .wrap{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    justify-content:normal;
    align-items:center;
    gap:10px;
    min-height:78px;
  }
  .brand{width:auto;justify-content:flex-start;min-width:0}
  .logo{height:44px}
  .brandtxt{display:flex!important;padding-left:10px}
  .brandtxt b{font-size:16px}
  .brandtxt span{font-size:9px;letter-spacing:.12em}
  .menu-toggle{
    display:inline-grid;
    place-items:center;
    gap:2px;
    width:42px;
    height:42px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:12px;
    background:rgba(255,255,255,.06);
    color:#fff;
    cursor:pointer;
  }
  .menu-toggle span{display:block;width:18px;height:2px;border-radius:2px;background:currentColor}
  .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(4px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-4px) rotate(-45deg)}
  .nav{
    position:fixed;
    top:calc(78px + env(safe-area-inset-top,0px));
    left:16px;
    right:16px;
    display:none;
    width:auto;
    margin:0;
    padding:14px;
    border-radius:16px;
    background:var(--surface);
    border:1px solid var(--line);
    box-shadow:var(--shadow-lg);
    grid-template-columns:1fr;
    gap:2px;
    z-index:30;
  }
  .nav.is-open{display:grid}
  .nav button,.nav .navlink{
    width:100%;
    justify-content:flex-start;
    text-align:left;
    padding:11px 14px;
    min-height:36px;
    font-size:13.5px;
    border-radius:10px;
    color:var(--ink);
  }
  .nav button:hover,.nav .navlink:hover{background:var(--surface-2);color:var(--ink)}
  .nav button[aria-current="page"]{background:var(--accent-soft);color:var(--accent-text)}
  .acc-hero{gap:16px}
  .acc-hero > div:first-child,.acc-next{padding:24px}
  .acc-hero h1{font-size:32px}
  .acc-hero p,.acc-next p{font-size:13.5px}
  .acc-story{grid-template-columns:1fr;padding:22px;margin-bottom:18px}
  .acc-story h2{font-size:28px}
  .acc-proof{grid-template-rows:none}
  .acc-grid::before{left:20px}
  .acc-week{margin-left:42px}
  .acc-week-toggle{grid-template-columns:minmax(0,1fr) auto;align-items:start}
  .acc-week-toggle .acc-week-num{grid-column:1/-1}
  .acc-week-num span{left:-42px;width:42px;height:42px;font-size:18px}
}
@media (max-width:520px){
  .band .wrap{padding-inline:14px}
  .logo{height:40px}
  .brandtxt b{font-size:14px}
  .brandtxt span{font-size:8.5px}
  .acc-grid{gap:12px}
  .acc-week{padding:18px}
  .acc-week-title{font-size:22px}
}

/* =====================================================================
   Light / dark theme (v7). theme.js sets data-theme on <html>:
   the visitor's saved choice, or the device setting until they choose.
   ===================================================================== */
.theme-toggle{flex:none;display:inline-grid;place-items:center;width:40px;height:40px;margin-left:12px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:var(--band-ink);cursor:pointer;transition:background .15s,border-color .15s}
.theme-toggle:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.24)}
.theme-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.theme-toggle .ti-sun{display:none}
[data-theme="dark"] .theme-toggle .ti-sun{display:block}
[data-theme="dark"] .theme-toggle .ti-moon{display:none}
.band .wrap > .theme-toggle{margin-left:auto}
.band .wrap > .nav:not([hidden]) ~ .theme-toggle{margin-left:12px}
@media (max-width:860px){
  .band .wrap{grid-template-columns:minmax(0,1fr) auto auto}
  .band .wrap > .theme-toggle{order:1;margin-left:0;width:42px;height:42px}
  .band .wrap > .menu-toggle{order:2}
}

/* Readable status pill on the dark Accelerator card (both themes) */
.accelerator-card .pill{background:rgba(93,187,143,.18);color:#8FE0B7}

/* Dark mode: surfaces that were hard-coded white */
[data-theme="dark"] body::before{background:radial-gradient(60% 80% at 85% 0%,rgba(69,166,179,.10),transparent 70%)}
[data-theme="dark"] .band{border-bottom-color:rgba(255,255,255,.08)}
[data-theme="dark"] .academy-card:first-child{background:linear-gradient(135deg,var(--surface) 0%,#12304A 100%)}
[data-theme="dark"] .academy-card:first-child:hover{border-color:#3A5873;box-shadow:0 14px 34px -22px rgba(0,0,0,.7)}
[data-theme="dark"] .path-row:nth-child(even){background:linear-gradient(135deg,var(--surface) 0%,rgba(88,117,138,.18) 100%);border-color:rgba(147,174,193,.22)}
[data-theme="dark"] .res-logo{background:#EEF3F6;border-bottom-color:transparent}
[data-theme="dark"] .program-detail.accent{background:linear-gradient(140deg,#10263D 0%,#173A5C 100%);border-color:#24496B}
[data-theme="dark"] .acc-hero > div:first-child{background:linear-gradient(140deg,#10263D 0%,#173A5C 100%);border:1px solid #24496B}
[data-theme="dark"] .acc-week-num span{background:#173A5C}
[data-theme="dark"] input::placeholder,[data-theme="dark"] textarea::placeholder{color:#6F8A9D}

/* =====================================================================
   All programs page (programs.html)
   ===================================================================== */
.pg-nav{display:flex;align-items:center;gap:4px;margin-left:auto;padding:4px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
.pg-nav a{color:var(--band-muted);padding:7px 14px;border-radius:999px;font-weight:500;font-size:14px;white-space:nowrap;transition:background .15s,color .15s}
.pg-nav a:hover{color:var(--band-ink);background:rgba(255,255,255,.07)}
.pg-nav a.pg-nav-cta{background:var(--teal);color:#fff}
.pg-nav a.pg-nav-cta:hover{background:var(--teal-deep)}
.band .wrap > .pg-nav ~ .theme-toggle{margin-left:12px}

.all-programs{display:grid;gap:56px}
.ap-hero{max-width:780px}
.ap-hero h1{font-size:clamp(38px,5vw,62px);margin-top:10px}
.ap-hero > p{margin-top:14px;font-size:18px;color:var(--muted);max-width:62ch}
.ap-jump{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.ap-jump a{display:inline-flex;align-items:baseline;gap:7px;padding:9px 16px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--ink);font-size:14px;font-weight:500;box-shadow:var(--shadow-sm);transition:border-color .15s,transform .15s}
.ap-jump a:hover{border-color:var(--accent);transform:translateY(-1px)}
.ap-jump b{font-family:var(--f-display);font-weight:400;font-size:20px;color:var(--accent-text)}
.ap-section{scroll-margin-top:100px}
.ap-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap;margin-bottom:22px}
.ap-head h2{font-size:clamp(28px,3.4vw,38px);margin-top:8px}
.ap-head p{margin-top:8px;max-width:62ch}

.ap-icon{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:var(--accent-soft);color:var(--accent-text)}
.ap-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ap-icon.lg{width:54px;height:54px;border-radius:15px}
.ap-icon.lg svg{width:28px;height:28px}

.ap-programs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.ap-program{display:flex;flex-direction:column;gap:12px;padding:30px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);scroll-margin-top:100px}
.ap-program-top{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ap-program h3{font-size:clamp(30px,3.6vw,42px)}
.ap-program > p{color:var(--muted);max-width:62ch}
.ap-program .ap-tag{align-self:flex-start;padding:10px 14px;border-radius:14px;background:var(--teal-light);color:var(--ink);font-weight:600;font-size:15px}
.ap-program .program-points{margin-top:4px}
.ap-program .ap-cta{align-self:flex-start;margin-top:auto}
.ap-program .program-points + .ap-cta{margin-top:10px}
.ap-program.accent{background:linear-gradient(140deg,#0D2238 0%,#173A5C 100%);border-color:#173A5C;color:#fff}
.ap-program.accent .program-label{color:#86CDD6}
.ap-program.accent > p{color:var(--band-muted)}
.ap-program.accent .ap-tag{background:rgba(255,255,255,.12);color:#fff}
.ap-program.accent .ap-icon{background:rgba(255,255,255,.1);color:#86CDD6}
.ap-program.accent .program-points span{background:rgba(255,255,255,.12);color:#fff}
.ap-program.accent .btn-primary{background:#fff;color:var(--navy);box-shadow:0 10px 22px -12px rgba(0,0,0,.6)}
.ap-program.accent .btn-primary:hover{background:var(--teal-light)}
[data-theme="dark"] .ap-program.accent{background:linear-gradient(140deg,#10263D 0%,#173A5C 100%);border-color:#24496B}
[data-theme="dark"] .ap-program.accent .btn-primary:hover{background:#DDF2F5;color:var(--navy)}

.ap-sub{font-family:var(--f-body);font-weight:700;font-size:15px;letter-spacing:.02em;margin:6px 0 14px;display:flex;align-items:center;gap:10px;color:var(--ink)}
.ap-count{display:inline-grid;place-items:center;min-width:26px;height:22px;padding:0 7px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:700}
#ap-paid-wrap{margin-top:34px}
#ap-free-wrap[hidden] + #ap-paid-wrap{margin-top:0}
.ap-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:18px}
.ap-course{display:flex;flex-direction:column;gap:8px;padding:22px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s,border-color .2s}
.ap-course:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--accent)}
.ap-course-top{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.ap-course-top .course-num{margin-left:auto;font-family:var(--f-display);font-size:22px;line-height:1;color:var(--muted);opacity:.7}
.ap-badge{font-family:var(--f-label);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:4px 10px;border-radius:999px}
.ap-badge.free{background:var(--ok-soft);color:var(--ok)}
.ap-badge.paid{background:rgba(196,140,46,.14);color:#8A5A12}
[data-theme="dark"] .ap-badge.paid{background:rgba(226,177,90,.14);color:#E7BE72}
.ap-course h4{margin:0;font-family:var(--f-display);font-weight:400;font-size:22px;line-height:1.15;color:var(--ink)}
.ap-meta{font-size:12.5px;font-weight:600;color:var(--accent-text)}
.ap-desc{font-size:14px;line-height:1.6;color:var(--muted)}
.ap-deliv{margin-top:4px;padding:12px 14px;border-radius:12px;background:var(--surface-2);border-left:3px solid var(--accent);font-size:13px;line-height:1.55;color:var(--ink)}
.ap-deliv b{display:block;font-family:var(--f-label);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--accent-text);margin-bottom:2px}
.ap-course-foot{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:10px}
.ap-notify{font-size:13px;font-weight:600}
.all-programs .resources{margin-top:0}

@media (max-width:960px){ .ap-programs{grid-template-columns:1fr} }
@media (max-width:860px){
  .band .wrap > .pg-nav{grid-column:1/-1;order:3;width:100%;margin:0 0 4px;justify-content:space-between;overflow-x:auto}
  .pg-nav a{flex:1 1 auto;text-align:center;padding:7px 8px;font-size:13px}
}
@media (max-width:560px){
  .all-programs{gap:44px}
  .ap-hero > p{font-size:16px}
  .ap-program{padding:22px}
  .ap-head .filters{width:100%}
  .pg-nav a{font-size:12px;padding:7px 4px}
}
[data-theme="dark"] .chip[aria-pressed="true"]{background:var(--teal);color:#fff}

/* All programs v7.1: access tiers, Paid tag, Notify me button */
.ap-subnote{margin:-8px 0 14px;font-size:13.5px;color:var(--muted)}
.ap-sub-gap{margin-top:30px}
.ap-badge.acc{background:var(--accent-soft);color:var(--accent-text)}
.ap-badge.paid,[data-theme="dark"] .ap-badge.paid{background:linear-gradient(135deg,#F7C948 0%,#F2994A 55%,#EE7B2E 100%);color:#3B1F00;box-shadow:0 4px 12px -6px rgba(238,123,46,.7)}
.ap-course.paid{border-top:3px solid #F2994A}
.ap-course.acc{border-top:3px solid var(--accent)}
.ap-notify{appearance:none;border:0;background:none;padding:0;font:inherit;font-size:13px;font-weight:600;color:var(--accent-text);cursor:pointer}
.ap-notify:hover{text-decoration:underline;text-underline-offset:3px}

/* Accelerator paywall (v7.1) */
.acc-start{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:20px}
.acc-hero .acc-start .btn-primary{background:#fff;color:var(--navy);box-shadow:0 10px 22px -12px rgba(0,0,0,.6)}
.acc-hero .acc-start .btn-primary:hover{background:#DDF2F5;color:var(--navy)}
.acc-pay{font-size:12.5px;font-weight:600;padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.12);color:#D5E3EA}
.acc-pay:empty{display:none}
.acc-pay.ok{background:rgba(93,187,143,.2);color:#8FE0B7}
.acc-pay.wait{background:rgba(247,201,72,.18);color:#F7D774}
.pw-price{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line)}
.pw-price > span{font-size:13px;color:var(--muted);font-weight:600}
.pw-price b{font-family:var(--f-display);font-weight:400;font-size:30px;line-height:1;color:var(--ink)}
.pw-list{margin:0;padding-left:20px;display:grid;gap:5px;font-size:14px;line-height:1.5}
.pw-steps{margin:0;padding:14px 16px 14px 34px;border-radius:14px;background:var(--accent-soft);display:grid;gap:5px;font-size:13.5px;line-height:1.5}
.pw .nf-body > div:not(.nf-head){display:flex;flex-direction:column;gap:14px}
button.enr-row{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer}
.markpaid{margin:4px 0 6px;padding:5px 11px;font-size:12px}
.stat-warn b{color:#C46A1A}
[data-theme="dark"] .stat-warn b{color:#F2B266}
.adm-sub{margin-top:36px}
@media (max-width:860px){ html body .acc-hero{grid-template-columns:minmax(0,1fr)} }

/* Accelerator paywall: GCash QR, discount code, reference number (v8.1) */
.nf.pw{width:min(100% - 32px,820px)}
.pw-grid{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:24px;align-items:start}
.pw-qr{display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px;border-radius:16px;background:#0057E4}
.pw-qr img{display:block;width:100%;height:auto;border-radius:10px}
.pw-qr .btn{background:#fff;color:#0040A8;border-color:#fff}
.pw-qr .btn:hover{background:#E8F0FF;color:#0040A8}
.pw-hint{font-size:12px;line-height:1.5;color:#DCE7FF;text-align:center}
.pw-hint b{color:#fff}
.pw-side{display:flex;flex-direction:column;gap:14px;min-width:0}
.pw-price s{font-family:var(--f-body);font-size:16px;color:var(--muted);margin-right:6px;font-weight:500}
.pw-code label,.pw-ref label{display:block;font-weight:600;font-size:13.5px;margin-bottom:6px}
.pw-row{display:flex;gap:8px}
.pw-row .input{flex:1;min-width:0;text-transform:uppercase}
.pw-row .input::placeholder{text-transform:none}
.pw-msg{margin-top:6px;font-size:13px;font-weight:500}
.pw-msg.ok{color:var(--ok)}
.pw-msg.bad{color:var(--danger)}
.pw-ref{display:flex;flex-direction:column;gap:8px}
.pw-ref .btn{align-self:flex-start}
.pw-inc summary{cursor:pointer;font-weight:600;font-size:13.5px;color:var(--accent-text)}
.pw-inc .pw-list{margin-top:8px}
.pay-info{margin:4px 0 2px;font-size:12px;line-height:1.5;color:var(--ink);padding:6px 9px;border-radius:9px;background:rgba(247,201,72,.16);max-width:240px}
.pay-info.done{background:var(--ok-soft)}
.pay-info.none{background:var(--surface-2);color:var(--muted)}
@media (max-width:700px){
  .pw-grid{grid-template-columns:1fr}
  .pw-qr{max-width:280px;width:100%;margin:0 auto}
}

/* v10: Accelerator dashboard — week title on its own line, journey steps, next-session box */
.acc-week-toggle{grid-template-columns:minmax(0,1fr) auto!important;align-items:start!important}
.acc-week-toggle .acc-week-num{grid-column:1/-1!important}
.acc-next .btn{align-self:flex-start;margin-top:4px}
#acc-next-date{font-family:var(--f-display);font-size:19px;color:var(--ink)}
.acc-steps{list-style:none;counter-reset:st;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-width:680px}
.acc-steps li{counter-increment:st;position:relative;display:flex;flex-direction:column;gap:2px;padding:12px 12px 12px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.acc-steps li::before{content:"0" counter(st);font-family:var(--f-label);font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--accent-text)}
.acc-steps b{font-family:var(--f-display);font-weight:400;font-size:18px;color:var(--ink)}
.acc-steps span{font-size:12px;color:var(--muted);line-height:1.35}
@media (max-width:700px){ .acc-steps{grid-template-columns:repeat(2,minmax(0,1fr))} }
/* All programs: main-program tags on one line on wide screens */
@media (min-width:961px){ .ap-program .program-points{flex-wrap:nowrap;gap:6px} .ap-program .program-points span{white-space:nowrap;font-size:clamp(10.5px,.88vw,12.5px);padding:6px 10px;letter-spacing:0;text-transform:none;font-weight:600} }
@media (min-width:961px) and (max-width:1180px){ .ap-programs{gap:16px} .ap-program{padding:24px} .ap-program .program-points span{padding:5px 8px} }

/* v11: Fully booked banner for the Remote Career Framework */
.booked{display:inline-flex;align-items:center;gap:6px;width:max-content;padding:4px 10px;border-radius:999px;background:#FDECEA;color:#B42318;border:1px solid #F5B5AE;font-family:var(--f-label);font-size:11px;font-style:normal;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1.4}
.booked::before{content:"";width:7px;height:7px;border-radius:50%;background:#D92D20;box-shadow:0 0 0 3px rgba(217,45,32,.18)}
[data-theme="dark"] .booked{background:rgba(240,68,56,.16);color:#FDA29B;border-color:rgba(240,68,56,.4)}
.choice small .booked{margin:0 6px 0 0;font-size:10px;padding:2px 8px;vertical-align:1px}
.path-main b em.booked,[data-theme="dark"] .path-main b em.booked{background:#FDECEA;color:#B42318;border:1px solid #F5B5AE}
[data-theme="dark"] .path-main b em.booked{background:rgba(240,68,56,.16);color:#FDA29B;border-color:rgba(240,68,56,.4)}
.academy-card .booked{margin-top:-4px}
.ap-program.is-booked{overflow:hidden}
.booked-banner{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin:-30px -30px 6px;padding:11px 30px;background:linear-gradient(90deg,#B42318 0%,#D92D20 100%);color:#fff;font-size:13.5px}
.booked-banner b{font-family:var(--f-label);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase}
.booked-banner span:last-child{opacity:.9}
.booked-dot{width:9px;height:9px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.25);animation:bookedPulse 2s ease-in-out infinite}
@keyframes bookedPulse{50%{box-shadow:0 0 0 7px rgba(255,255,255,0)}}
@media (prefers-reduced-motion:reduce){.booked-dot{animation:none}}
@media (min-width:961px) and (max-width:1180px){ .booked-banner{margin:-24px -24px 6px;padding-inline:24px} }
@media (max-width:560px){ .booked-banner{margin:-22px -22px 6px;padding:10px 22px;font-size:12.5px} }

/* v11: All programs counters stay on one row on phones */
@media (max-width:600px){
  .ap-jump{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .ap-jump a{flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:10px 2px;border-radius:14px;font-size:10.5px;letter-spacing:-.01em;line-height:1.2;text-align:center;white-space:nowrap}
  .ap-jump b{font-size:19px;line-height:1}
}

/* v11: topic icons on dashboard panels */
.t-ico{flex:none}
.eyebrow .t-ico{width:14px;height:14px;margin-right:6px;vertical-align:-2px}
.t-head{display:flex;align-items:center;gap:12px}
.t-head .t-ico{width:38px;height:38px;padding:8px;border-radius:11px;background:var(--teal-light);color:var(--accent-text)}
.t-head.grad .t-ico{background:linear-gradient(135deg,#F7C948 0%,#F2994A 55%,#EE7B2E 100%);color:#3B1F00}
[data-theme="dark"] .t-head .t-ico{background:rgba(134,205,214,.14);color:#86CDD6}
[data-theme="dark"] .t-head.grad .t-ico{background:linear-gradient(135deg,#F7C948 0%,#F2994A 55%,#EE7B2E 100%);color:#3B1F00}
@media (max-width:384px){ .ap-jump{gap:5px} .ap-jump a{font-size:9.6px;letter-spacing:-.02em} }
@media (max-width:350px){ .ap-jump a{white-space:normal} }

/* Step numbers stay perfect circles even when the text beside them is long */
.step-n{flex:0 0 auto;aspect-ratio:1/1;min-width:40px;min-height:40px}

/* ---------- My Learning (general learner dashboard) ---------- */
#v-learning{display:grid;gap:34px}
#v-learning[hidden]{display:none}
.ml-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:24px;align-items:stretch}
.ml-hero-main{padding:32px;border-radius:var(--r-lg);background:linear-gradient(140deg,#0D2238 0%,#173A5C 100%);color:#fff;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}
.ml-hero-main::after{content:"";position:absolute;right:-70px;top:-70px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(114,192,200,.22),transparent 70%);pointer-events:none}
.ml-hero-main .eyebrow{color:#86CDD6}
.ml-hero h1{font-size:clamp(36px,4.6vw,58px);margin-top:8px;color:#fff}
.ml-lede{color:var(--band-muted);font-size:15px;line-height:1.6;max-width:62ch;margin-top:10px}
.ml-stats{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.ml-stats span{display:inline-flex;align-items:baseline;gap:6px;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);font-size:13px;color:#D6E4EE}
.ml-stats b{font-family:var(--f-display);font-weight:400;font-size:20px;color:#fff}
.ml-next{padding:26px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--teal);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:8px}
.ml-next h3{font-size:24px;line-height:1.2}
.ml-next p{font-size:14px;color:var(--muted)}
.ml-bar{display:block;height:7px;border-radius:99px;background:var(--surface-2);overflow:hidden;margin:4px 0 6px}
.ml-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--teal),#86CDD6);border-radius:99px}
.ml-next-btn{align-self:flex-start;margin-top:auto}
.ml-sec{display:grid;gap:16px}
.ml-sec-head h2{font-size:clamp(26px,3vw,34px);margin-top:4px}
.ml-sec-head p{margin-top:6px;font-size:14.5px}
.ml-empty{padding:18px 20px;border-radius:var(--r-md);border:1px dashed var(--line);background:var(--surface);color:var(--muted);font-size:14.5px}
.ml-empty b{color:var(--ink)}
.ml-prog-note{font-size:13.5px!important;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
.ml-extras{display:flex;align-items:center;gap:16px;padding:20px 22px;border-radius:var(--r-lg);background:var(--amber-soft,#FDF3E1);border:1px solid var(--amber-line,#F3D9A8);color:var(--ink);text-decoration:none;transition:transform .15s,box-shadow .15s}
.ml-extras:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);text-decoration:none}
.ml-extras-ico{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:13px;background:linear-gradient(135deg,#F7C948 0%,#F2994A 55%,#EE7B2E 100%);color:#3B1F00;font-size:20px}
.ml-extras b{display:block;font-family:var(--f-display);font-weight:400;font-size:22px}
.ml-extras small{display:block;font-size:13.5px;color:var(--muted);margin-top:2px}
.ml-extras-go{margin-left:auto;font-size:20px;color:var(--accent-text)}
[data-theme="dark"] .ml-extras{background:rgba(226,177,90,.1);border-color:rgba(226,177,90,.3)}
@media (max-width:960px){ .ml-hero{grid-template-columns:1fr} }
@media (max-width:560px){ .ml-hero-main{padding:24px 20px} .ml-next{padding:20px} #v-learning{gap:28px} }

/* ---------- My Learning v13: suggestions slider + live activity ---------- */
.ml-side{display:grid;grid-template-rows:auto auto;gap:14px;min-width:0}
.ml-slider{position:relative;overflow:hidden;min-height:196px;padding:22px 24px 18px;transition:background .3s,border-color .3s,box-shadow .3s,color .3s}
.ml-slides{position:relative;min-height:128px}
.ml-slide{position:absolute;inset:0;display:flex;flex-direction:column;gap:6px;opacity:0;transform:translateX(28px);transition:opacity .5s ease,transform .5s ease;pointer-events:none}
.ml-slide.on{position:relative;opacity:1;transform:none;pointer-events:auto}
.ml-slide h3{font-size:22px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ml-slide p{font-size:13.5px;color:var(--muted);transition:color .3s}
.ml-slide-btn{align-self:flex-start;margin-top:6px;background:var(--surface-2);color:var(--ink);border:1px solid var(--line);transition:background .3s,color .3s,border-color .3s}
.ml-dots{display:flex;gap:6px;margin-top:12px}
.ml-dot{width:8px;height:8px;padding:0;border-radius:99px;border:0;background:var(--line);cursor:pointer;transition:width .3s,background .3s}
.ml-dot.on{width:22px;background:var(--teal)}
/* Hover or keyboard focus makes the card "active": brand teal, paused on the current suggestion */
.ml-slider.active{background:linear-gradient(140deg,#22717C 0%,#2F8F9D 100%);border-color:#22717C;border-top-color:#86CDD6;box-shadow:0 18px 36px -18px rgba(34,113,124,.75);color:#fff}
.ml-slider.active .eyebrow,.ml-slider.active h3{color:#fff}
.ml-slider.active p{color:#D8F0F2}
.ml-slider.active .ml-slide-btn{background:#fff;color:#0D2238;border-color:#fff}
.ml-slider.active .ml-dot{background:rgba(255,255,255,.35)}
.ml-slider.active .ml-dot.on{background:#fff}
@media (prefers-reduced-motion:reduce){ .ml-slide{transition:none} }

.ml-live{padding:16px 20px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.ml-live[hidden]{display:none}
.ml-live-head{display:flex;align-items:center;gap:8px}
.ml-pulse{width:9px;height:9px;border-radius:50%;background:#22C55E;box-shadow:0 0 0 0 rgba(34,197,94,.55);animation:mlPulse 1.8s ease-out infinite}
@keyframes mlPulse{70%{box-shadow:0 0 0 8px rgba(34,197,94,0)}100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}}
@media (prefers-reduced-motion:reduce){ .ml-pulse{animation:none} }
.ml-live-list{list-style:none;margin:10px 0 6px;padding:0;display:grid;gap:4px;font-size:13.5px;color:var(--muted)}
.ml-live-list b{font-family:var(--f-display);font-weight:400;font-size:20px;color:var(--ink);margin-right:4px}
.ml-live-foot{font-size:12.5px;color:var(--muted)}

/* ---------- RBD VA Arsenal ---------- */
.ml-arsenal{position:relative;overflow:hidden;display:flex;gap:18px;align-items:flex-start;padding:26px 26px 24px;border-radius:var(--r-lg);
  background:linear-gradient(135deg,#0B3B44 0%,#22717C 55%,#2F8F9D 100%);color:#fff;box-shadow:0 22px 44px -24px rgba(11,59,68,.85)}
.ml-arsenal::after{content:"";position:absolute;right:-60px;bottom:-90px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(134,205,214,.35),transparent 70%);pointer-events:none}
.ml-arsenal-ico{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:rgba(255,255,255,.14);color:#BFF3F7}
.ml-arsenal-ico svg{width:28px;height:28px}
.ml-arsenal-kicker{font-family:var(--f-label);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#BFF3F7}
.ml-arsenal h2{font-size:clamp(24px,2.8vw,30px);color:#fff;margin-top:4px}
.ml-arsenal p{color:#DDF2F5;font-size:14.5px;line-height:1.6;max-width:70ch;margin-top:8px}
.ml-arsenal p b{color:#fff}
.ml-arsenal-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:16px;position:relative;z-index:1}
.ml-arsenal-btn{background:#fff;color:#0B3B44;box-shadow:0 10px 22px -12px rgba(0,0,0,.6)}
.ml-arsenal-btn:hover{background:#DDF2F5;color:#0B3B44}
.ml-arsenal-link{color:#BFF3F7;font-weight:600;font-size:14px;text-decoration:none}
.ml-arsenal-link:hover{color:#fff;text-decoration:none}
@media (max-width:560px){ .ml-arsenal{flex-direction:column;padding:22px 20px} }

/* ---------- Course info card ---------- */
.nf.ci{width:min(100% - 32px,540px)}
.ci-head{display:flex;align-items:center;gap:10px}
.nf.ci h2{font-size:28px;line-height:1.15}
.ci-meta{font-size:13px;font-weight:600;color:var(--accent-text)}
.ci-desc{font-size:15px;line-height:1.6;color:var(--muted)}
.ci-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px}
.ap-badge.prog{background:linear-gradient(135deg,#0D2238,#173A5C);color:#86CDD6}

/* ---------- Distinct course labels (Paid unchanged) ---------- */
.ap-badge.free{background:linear-gradient(135deg,#1F9D63 0%,#34C27E 100%);color:#fff;box-shadow:0 4px 12px -6px rgba(31,157,99,.75)}
.ap-badge.free::before{content:"✓ ";font-weight:800}
.ap-course.free{border-top:3px solid #2BB673}
.ap-badge.acc{background:linear-gradient(135deg,#0D2238 0%,#22717C 100%);color:#fff;box-shadow:0 4px 12px -6px rgba(13,34,56,.75)}
.ap-badge.acc::before{content:"★ ";color:#F7C948}
.ap-course.acc{border-top:3px solid #22717C}
[data-theme="dark"] .ap-badge.free{background:linear-gradient(135deg,#1F9D63 0%,#34C27E 100%);color:#fff}
[data-theme="dark"] .ap-badge.acc{background:linear-gradient(135deg,#173A5C 0%,#2F8F9D 100%);color:#fff}

/* ---------- Admin: learner profile view ---------- */
.adm-view{font-size:12.5px;margin-left:6px}
.nf.lv{width:min(100% - 32px,600px)}
.lv-id{display:flex;align-items:center;gap:14px}
.lv-avatar{width:52px;height:52px;font-size:18px;flex:none}
.lv-grid{display:grid;gap:0;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.lv-row{display:grid;grid-template-columns:140px minmax(0,1fr);gap:12px;padding:10px 14px;border-top:1px solid var(--line);font-size:14px}
.lv-row:first-child{border-top:0}
.lv-row > span{color:var(--muted);font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding-top:2px}
.lv-row > div{overflow-wrap:anywhere}
.lv-h{font-size:20px;margin-top:4px}
.lv-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.lv-list li{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}
@media (max-width:560px){ .lv-row{grid-template-columns:1fr;gap:2px} }
/* polish: centred welcome content, clean slide hand-over, steady card height */
.ml-hero-main{display:flex;flex-direction:column;justify-content:center}
.ml-slide{transition:opacity .25s ease,transform .45s ease}
.ml-slide.on{transition:opacity .35s ease .22s,transform .45s ease .22s}
.ml-slides{min-height:150px}

/* ---------- v14: profile tags, streak, badges, tools ---------- */
.pv-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.pv-tag{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);color:#E6EEF3;font-size:13px;box-shadow:0 6px 16px -10px rgba(0,0,0,.6);max-width:100%;overflow-wrap:anywhere}
.pv-tag > span{color:#86CDD6;font-size:12px}
.pv-streak{background:linear-gradient(135deg,#FFF7E6 0%,#FDEBC8 100%);border-color:#F3D9A4}
[data-theme="dark"] .pv-streak{background:linear-gradient(135deg,#3A2E16 0%,#2A2212 100%);border-color:#6B5426}
.sk-main{display:flex;align-items:center;gap:14px;margin:6px 0 12px}
.sk-flame{font-size:40px;line-height:1;filter:drop-shadow(0 6px 10px rgba(238,123,46,.45))}
.sk-num{font-family:var(--f-display);font-weight:400;font-size:46px;line-height:1;color:var(--ink);display:block}
.sk-lbl{font-size:13px;color:var(--muted)}
.sk-best{margin-left:auto;text-align:center;padding:8px 14px;border-radius:14px;background:rgba(255,255,255,.6);border:1px solid rgba(0,0,0,.06)}
[data-theme="dark"] .sk-best{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1)}
.sk-best span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.sk-best b{font-family:var(--f-display);font-weight:400;font-size:24px}
.sk-week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:10px}
.sk-day{display:flex;flex-direction:column;align-items:center;gap:4px}
.sk-day i{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;font-style:normal;font-weight:800;font-size:14px;background:rgba(0,0,0,.06);color:transparent}
[data-theme="dark"] .sk-day i{background:rgba(255,255,255,.08)}
.sk-day.on i{background:linear-gradient(135deg,#F7C948 0%,#F2994A 55%,#EE7B2E 100%);color:#3B1F00;box-shadow:0 6px 12px -8px rgba(238,123,46,.9)}
.sk-day small{font-size:11px;color:var(--muted)}
.bdgs{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px}
.bdg{display:flex;flex-direction:column;align-items:center;text-align:center;gap:3px;padding:12px 8px;border-radius:14px;border:1px dashed var(--line);background:var(--surface-2);opacity:.7}
.bdg.on{opacity:1;border-style:solid;border-color:rgba(47,143,157,.35);background:linear-gradient(160deg,var(--surface) 0%,rgba(47,143,157,.1) 100%);box-shadow:var(--shadow-sm)}
.bdg-ico{font-size:26px;line-height:1.1}
.bdg b{font-size:12.5px;line-height:1.2;color:var(--ink)}
.bdg small{font-size:11px;line-height:1.3;color:var(--muted)}
.tools-wrap{display:flex;flex-wrap:wrap;gap:10px}
.tchip{display:inline-flex;align-items:center;gap:10px;padding:8px 12px 8px 8px;border-radius:12px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.tmark{display:inline-block;padding:4px 9px;border-radius:8px;background:var(--tc);color:#fff;font-size:12.5px;font-weight:700;letter-spacing:.01em;white-space:nowrap}
.tstars{display:inline-flex;gap:1px;font-size:14px;color:#D4DCE3}
.tstars i{font-style:normal}
.tstars i.on{color:#F2A93B}
[data-theme="dark"] .tstars{color:#2E4560}
.tools-empty{padding:14px 16px;border-radius:12px;border:1px dashed var(--line);color:var(--muted);font-size:14px}
.tools-empty b{color:var(--ink)}
/* tools editor */
.nf.te{width:min(100% - 32px,640px)}
.te-search{width:100%}
.te-list{max-height:min(52vh,460px);overflow:auto;display:grid;gap:14px;padding-right:4px}
.te-grp h4{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:6px}
.te-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;border-top:1px solid var(--line)}
.te-row[hidden],.te-grp[hidden]{display:none}
.te-stars{display:inline-flex;align-items:center;gap:2px}
.te-star{border:0;background:none;font-size:22px;line-height:1;color:#D4DCE3;cursor:pointer;padding:2px}
.te-star.on{color:#F2A93B}
.te-star:hover{transform:scale(1.15)}
[data-theme="dark"] .te-star{color:#2E4560}
[data-theme="dark"] .te-star.on{color:#F2A93B}
.te-clear{border:1px solid var(--line);background:var(--surface-2);color:var(--muted);border-radius:8px;width:26px;height:26px;margin-left:6px;cursor:pointer}
.te-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}

/* ---------- v14: status pills on programs ---------- */
.pill.sp-done{background:var(--ok-soft);color:var(--ok)}
.pill.sp-prog{background:rgba(242,153,74,.16);color:#A0560D}
.pill.sp-new{background:var(--surface-2);color:var(--muted)}
.pill.sp-wait{background:rgba(247,201,72,.2);color:#8A5A12}
[data-theme="dark"] .pill.sp-prog{background:rgba(242,153,74,.18);color:#F5B26B}
[data-theme="dark"] .pill.sp-wait{background:rgba(247,201,72,.15);color:#E7BE72}
.enr-go{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}
.enr-arrow{color:var(--accent-text);font-weight:700}

/* ---------- v14: My Learning landing ---------- */
.ml-lede b{color:#fff;font-weight:600}
.ml-lede-2{margin-top:8px;font-size:14px}
.ml-streak-chip{background:linear-gradient(135deg,rgba(247,201,72,.22),rgba(238,123,46,.22))!important;border-color:rgba(247,201,72,.4)!important}
.ml-marquee{position:relative;overflow:hidden;border-radius:999px;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ml-marquee-track{display:flex;width:max-content;animation:mlMarquee 38s linear infinite}
.ml-marquee:hover .ml-marquee-track{animation-play-state:paused}
.ml-marquee ul{display:flex;list-style:none;margin:0;padding:0}
.ml-marquee li{display:inline-flex;align-items:center;gap:14px;padding:13px 0 13px 18px;font-weight:600;font-size:14px;color:var(--ink);white-space:nowrap}
.ml-marquee li::after{content:"✦";color:var(--accent);font-size:11px;margin-left:4px}
@keyframes mlMarquee{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){ .ml-marquee-track{animation:none;flex-wrap:wrap;width:auto} .ml-marquee ul[aria-hidden]{display:none} .ml-marquee{border-radius:var(--r-lg);-webkit-mask-image:none;mask-image:none} }
.ml-sec-row{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap}
.ml-why{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ml-why article{padding:20px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:8px}
.ml-why-ico{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(140deg,#0D2238,#22717C);color:#86CDD6;font-family:var(--f-label);font-weight:800;font-size:13px}
.ml-why h3{font-size:20px}
.ml-why p{font-size:14px;color:var(--muted);line-height:1.55}
.ml-mkt{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ml-mkt article{padding:22px;border-radius:var(--r-lg);background:linear-gradient(150deg,#0F2B44 0%,#1B4D63 100%);color:#EEF4F7;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:8px}
.ml-mkt b{font-family:var(--f-display);font-weight:400;font-size:44px;line-height:1;color:#fff}
.ml-mkt p{font-size:14px;color:#C7D6E4;line-height:1.55}
.ml-mkt-help{font-size:13px;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:#DDF2F5}
.ml-mkt a{margin-top:auto;font-size:12px;color:#86CDD6;text-decoration:none}
.ml-mkt a:hover{color:#fff}
@media (max-width:1100px){ .ml-why{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:860px){ .ml-mkt{grid-template-columns:1fr} }
@media (max-width:560px){ .ml-why{grid-template-columns:1fr} .sk-num{font-size:40px} }
.ap-arsenal{margin-top:24px}
.bdg{min-width:0}
.bdg b,.bdg small{overflow-wrap:anywhere;max-width:100%}
@media (max-width:560px){ .bdgs{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px} .bdg{padding:10px 6px} }
/* v14 fixes: status pill sits on its own (no old teal button behind it) */
.enr-go,a.enr-row:hover .enr-go{background:none!important;padding:0!important;filter:none!important;color:inherit}
.enr-go .pill{font-size:12.5px;padding:6px 12px}
a.enr-row:hover .enr-arrow{transform:translateX(3px)}
.enr-arrow{transition:transform .15s}
@media(max-width:560px){ .enr-go{justify-content:flex-start!important;grid-column:2/-1!important} }
/* v14 profile layout: streak | badges (wide) / tools / links / programs (wide) | account */
.pv-grid{align-items:start}
.pv-grid > .pv-card{grid-column:auto}
.pv-grid > .pv-streak{grid-column:1/2}
.pv-grid > .pv-badges{grid-column:2/-1}
.pv-grid > .pv-wide{grid-column:1/-1}
.pv-grid > .pv-card:nth-last-child(2){grid-column:1/3}
.pv-grid > .pv-card:last-child{grid-column:3/4}
.pv-badges .bdgs{grid-template-columns:repeat(auto-fill,minmax(118px,1fr))}
@media (max-width:899px){ .pv-grid > .pv-streak,.pv-grid > .pv-badges,.pv-grid > .pv-card:nth-last-child(2),.pv-grid > .pv-card:last-child{grid-column:1/-1} }
#profile-view .pv-grid > .pv-card{grid-column:auto}
#profile-view .pv-grid > .pv-card.pv-streak{grid-column:1/2}
#profile-view .pv-grid > .pv-card.pv-badges{grid-column:2/-1}
#profile-view .pv-grid > .pv-card.pv-wide{grid-column:1/-1}
#profile-view .pv-grid > .pv-card:nth-last-child(2){grid-column:1/3}
#profile-view .pv-grid > .pv-card:last-child{grid-column:3/4}
@media (max-width:899px){ #profile-view .pv-grid > .pv-card.pv-streak,#profile-view .pv-grid > .pv-card.pv-badges,#profile-view .pv-grid > .pv-card:nth-last-child(2),#profile-view .pv-grid > .pv-card:last-child{grid-column:1/-1} }
/* v15: My Learning stats stay on one line */
.ml-stats{flex-wrap:nowrap;max-width:100%}
.ml-stats > span{white-space:nowrap;flex:0 1 auto;min-width:0}
.ml-stats i{font-style:normal}
@media (max-width:560px){
  .ml-stats{gap:6px}
  .ml-stats > span{padding:6px 10px;font-size:12px;gap:4px}
  .ml-stats b{font-size:17px}
  .ml-stats .mls-x{display:none}
}
@media (max-width:360px){ .ml-stats > span{padding:5px 8px;font-size:11.5px} .ml-stats b{font-size:15px} }
/* v15: Arsenal buttons, equal size, one line */
.ml-arsenal-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:460px;flex-wrap:nowrap}
.ml-arsenal-actions .btn{width:100%;white-space:nowrap;padding:12px 14px;font-size:14px;min-height:46px}
.ml-arsenal-link.btn{background:transparent;color:#fff;border:1.5px solid rgba(191,243,247,.7);box-shadow:none}
.ml-arsenal-link.btn:hover{background:rgba(255,255,255,.12);border-color:#fff;color:#fff}
@media (max-width:420px){ .ml-arsenal-actions{gap:8px} .ml-arsenal-actions .btn{padding:11px 8px;font-size:13px;gap:5px} }
/* v15: compact badges; earned only by default */
#pv-badges.bdgs,#mc-badges.bdgs{grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:8px}
.pv-badges .bdg,.mc-grid .bdg{padding:8px 6px;border-radius:12px;gap:2px}
.pv-badges .bdg-ico,.mc-grid .bdg-ico{font-size:20px}
.pv-badges .bdg b,.mc-grid .bdg b{font-size:11.5px}
.pv-badges .bdg small{font-size:10.5px}
.bdg-more{cursor:pointer;justify-content:center;font:600 12px/1.25 var(--f-body,inherit);color:var(--accent-text);border:1px dashed var(--accent,#2F8F9D);background:transparent;opacity:1}
.bdg-more:hover{background:rgba(47,143,157,.08)}
/* v15: profile hero bio, smaller Edit + Share card */
.pv-bio{margin:8px 0 0;color:#D6E4EE;font-size:14.5px;line-height:1.55;max-width:62ch;white-space:pre-line}
.pv-bio-add{color:#86CDD6;padding:0;font-size:13.5px}
.pv-acts{display:flex;gap:8px;align-self:flex-start;position:relative;z-index:1;flex-wrap:wrap}
.pv-acts .btn-edit{padding:8px 14px;font-size:13px;gap:6px}
.btn-share{background:var(--teal,#2F8F9D);color:#fff}
.btn-share:hover{background:#22717C;color:#fff}
@media (max-width:640px){ .pv-acts{width:100%} .pv-acts .btn-edit{flex:1} }
/* v15: edit form, bio + contact card */
.pf-card{border:1px solid var(--line);border-radius:var(--r-md);padding:16px 18px;margin:6px 0 4px;display:grid;gap:12px;min-width:0}
.pf-card legend{padding:0 6px;font-weight:700;font-size:14px}
.pf-card textarea{min-height:84px;resize:vertical}
.pf-toggles{display:grid;gap:10px}
.tgl{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px}
.tgl input{position:absolute;opacity:0;width:1px;height:1px}
.tgl-ui{flex:none;width:40px;height:22px;border-radius:999px;background:#C9D3DB;position:relative;transition:background .15s}
.tgl-ui::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .15s}
.tgl input:checked + .tgl-ui{background:var(--teal,#2F8F9D)}
.tgl input:checked + .tgl-ui::after{transform:translateX(18px)}
.tgl input:focus-visible + .tgl-ui{outline:2px solid var(--accent,#2F8F9D);outline-offset:2px}
/* v15: tools request */
.te-req{display:grid;gap:6px;padding-top:10px;border-top:1px solid var(--line)}
.te-req label{font-weight:600;font-size:13.5px}
.te-req-row{display:flex;gap:8px}
.te-req-row .input{flex:1;min-width:0}
/* v15: share card dialog */
.sc .nf-body{display:grid;gap:14px}
.sc-qr{display:grid;place-items:center}
.sc-qr canvas{width:min(240px,70vw);height:auto;border-radius:14px;box-shadow:var(--shadow-md);border:1px solid var(--line)}
.sc-link .input{width:100%;font-size:13px}
.sc-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.sc-actions .btn{padding:10px 8px;font-size:13.5px;white-space:nowrap}
@media (max-width:480px){ .sc-actions{grid-template-columns:1fr 1fr} .sc-actions a.btn{grid-column:1/-1} }
/* v15: public member card page */
.mc{padding-top:28px;padding-bottom:48px}
.mc-msg{max-width:520px;margin:40px auto;text-align:center;display:grid;gap:12px;justify-items:center}
.mc-hero .pv-tag{text-decoration:none}
.mc-hero a.pv-tag:hover{background:rgba(255,255,255,.18)}
.mc-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:16px;margin-top:18px;align-items:start}
.mc-wide{grid-column:1/-1}
.mc-grid [hidden]{display:none}
.mc-qr{flex-direction:row;align-items:center;gap:18px}
.mc-qr canvas{width:132px;height:auto;border-radius:10px;border:1px solid var(--line);flex:none}
.mc-qr-acts{margin-top:10px}
.mc-foot{text-align:center;margin-top:22px}
@media (max-width:760px){ .mc-grid{grid-template-columns:1fr} .mc-grid .links{grid-template-columns:1fr 1fr} }
@media (max-width:420px){ .mc-grid .links{grid-template-columns:1fr} .mc-qr{flex-direction:column;text-align:center} }
@media (max-width:380px){ .ml-arsenal-actions .btn{font-size:12.5px;padding:10px 6px} .ml-arsenal-actions .btn > span[aria-hidden]{display:none} }
/* ===== v16 ===== */
/* Bio uses the full width of the hero */
.pv-bio{max-width:none}
.pv-headline{margin:2px 0 0;color:#BFE6EB;font-weight:600;font-size:15.5px;letter-spacing:.01em}
.pv-headline .pv-bio-add{font-weight:600}
/* Profile: narrower, compact streak card */
@media (min-width:900px){ #profile-view .pv-grid{grid-template-columns:300px minmax(0,1fr) minmax(0,1fr)} }
.pv-streak{padding:18px 20px;gap:8px}
.pv-streak .pv-card-head h3{font-size:19px}
.pv-streak .sk-main{gap:10px;margin:2px 0 6px}
.pv-streak .sk-flame{font-size:28px}
.pv-streak .sk-num{font-size:36px}
.pv-streak .sk-best{padding:6px 10px}
.pv-streak .sk-best b{font-size:20px}
.pv-streak .sk-week{gap:4px;margin-bottom:4px}
.pv-streak .sk-day i{width:26px;height:26px;font-size:12px}
.pv-streak .sk-day small{font-size:10px}
.pv-streak > p{font-size:12.5px;line-height:1.45;margin:0}
@media (max-width:899px){ #profile-view .pv-grid > .pv-card.pv-streak{max-width:none} }
/* Mobile hero: drop the initials circle, give the content the full width */
@media (max-width:640px){
  .pv-hero{padding:22px 18px;gap:14px}
  .pv-hero .pv-avatar{display:none}
  .pv-id{min-width:0;flex-basis:100%}
  .pv-id h1{font-size:30px}
  .pv-tags{gap:6px}
  .pv-tag{padding:5px 10px;font-size:12.5px}
}
/* Card link field */
.pf-slug{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:var(--r-sm,12px);overflow:hidden;background:var(--surface)}
.pf-slug-pre{display:flex;align-items:center;padding:0 10px;background:var(--surface-2);color:var(--muted);font-size:13px;white-space:nowrap;border-right:1px solid var(--line)}
.pf-slug .input{border:0;border-radius:0;flex:1;min-width:0;box-shadow:none}
/* Brand badges: text glyphs in RBD teal/navy medallions */
.bdg-ico{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;margin-bottom:4px;font-family:var(--f-body,Poppins),"Segoe UI Symbol","Apple Symbols",sans-serif;font-size:16px!important;font-weight:700;line-height:1;color:#fff;
  background:linear-gradient(145deg,#2F8F9D 0%,#1C5D6B 60%,#0D2238 100%);box-shadow:0 6px 14px -6px rgba(47,143,157,.75),inset 0 0 0 2px rgba(255,255,255,.18)}
.bdg-ico.num{font-family:var(--f-display);font-weight:400;font-size:17px!important}
.bdg:not(.on) .bdg-ico{background:transparent;color:var(--muted);box-shadow:inset 0 0 0 1.5px var(--line)}
.pv-badges .bdg-ico,.mc-grid .bdg-ico{width:30px;height:30px;font-size:14px!important}
.pv-badges .bdg-ico.num,.mc-grid .bdg-ico.num{font-size:15px!important}
.bdg.on{border-color:rgba(47,143,157,.3)}
/* All programs: livelier jump tags */
.ap-jump a{position:relative;background:linear-gradient(180deg,var(--surface) 0%,var(--surface) 60%,var(--accent-soft) 100%);border:1px solid rgba(47,143,157,.28);
  box-shadow:0 12px 24px -16px rgba(13,34,56,.55),0 2px 0 rgba(47,143,157,.35);transition:transform .18s,box-shadow .18s,border-color .18s}
.ap-jump a::before{content:"";position:absolute;left:14px;right:14px;top:-1px;height:3px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,#2F8F9D,#73C3CD)}
.ap-jump a:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 18px 30px -16px rgba(47,143,157,.7),0 3px 0 var(--accent)}
.ap-jump a:active{transform:translateY(-1px)}
.ap-jump a::before{content:none}
.ap-jump a{align-items:center;gap:10px;padding:6px 16px 6px 6px}
.ap-jump b{display:grid;place-items:center;min-width:32px;height:32px;padding:0 6px;border-radius:999px;color:#fff!important;font-size:17px!important;line-height:1;
  background:linear-gradient(145deg,#2F8F9D 0%,#1C5D6B 65%,#0D2238 100%);box-shadow:0 6px 12px -6px rgba(47,143,157,.8),inset 0 0 0 2px rgba(255,255,255,.18)}
@media (max-width:560px){ .ap-jump a{padding:8px 2px 9px;gap:5px} .ap-jump b{min-width:28px;height:28px;font-size:15px!important} }
@media (min-width:761px){ .mc-grid{grid-template-columns:300px minmax(0,1fr)} }
