/* Public training experience */
:root { --academy-ink:#102345; --academy-blue:#1749a1; --academy-gold:#f5ba4b; --academy-bg:#f3f6fb; }
.academy-hero { background:linear-gradient(120deg,#fff 42%,#eff5ff); border-bottom:1px solid var(--line); }
.academy-hero-grid { display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:clamp(25px,6vw,92px); padding-block:clamp(48px,7vw,96px); }
.academy-hero h1 { max-width:12ch; margin:.22em 0 .32em; font-size:clamp(2.7rem,5.7vw,5rem); line-height:1.02; letter-spacing:-.062em; }
.academy-hero h1 em { color:var(--academy-blue); font-style:normal; }
.academy-hero p { max-width:49ch; font-size:1.08rem; margin-bottom:26px; }
.academy-hero .eyebrow { border-left:3px solid var(--academy-gold); padding-left:10px; }
.academy-hero .button span { margin-left:.6em; }
.academy-hero-visual { position:relative; overflow:hidden; isolation:isolate; min-width:0; aspect-ratio:1.1; border-radius:20px 68px 20px 20px; background:radial-gradient(circle at 52% 55%,#285eb2,#11284f 72%); }
.academy-hero-visual::before { content:""; position:absolute; inset:0; z-index:-1; background:repeating-linear-gradient(130deg,transparent 0 36px,#c4daff18 37px 38px); }
.academy-hero-visual img { width:80%; height:100%; margin:auto; object-fit:contain; object-position:center bottom; }
.academy-visual-label,.academy-visual-caption { position:absolute; z-index:1; left:18px; color:white; }
.academy-visual-label { top:18px; font-size:.68rem; letter-spacing:.16em; font-weight:700; }
.academy-visual-label span { display:inline-block; width:8px; height:8px; background:var(--academy-gold); margin-right:5px; border-radius:50%; }
.academy-visual-caption { bottom:18px; padding:10px 15px; background:#102345ed; border-left:3px solid var(--academy-gold); }
.academy-visual-caption strong,.academy-visual-caption span { display:block; }
.academy-visual-caption span { font-size:.76rem; color:#dbe8ff; }
.academy-track-strip { background:var(--academy-ink); }
.academy-track-strip .shell { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.academy-track-strip a { color:white; display:flex; align-items:center; gap:12px; padding:18px 12px; text-decoration:none; }
.academy-track-strip a + a { border-left:1px solid #ffffff30; }
.academy-track-strip a:hover { background:#ffffff12; }
.academy-track-strip a span:last-child { margin-left:auto; }
.track-number { color:var(--academy-gold); font-size:.8rem; font-weight:750; }
.stories { background:#f3f6fb; }
.story-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:14px; margin-bottom:24px; flex-wrap:wrap; }
.story-heading .section-head,.story-heading .story-controls { margin:0; }
.story-track { scrollbar-width:none; }
.story-track::-webkit-scrollbar { display:none; }

/* Academy admin workspace */
.admin { background:var(--academy-bg); }
.workspace-header { display:flex; align-items:center; gap:18px; padding:14px clamp(14px,3vw,36px); min-height:72px; background:white; border-bottom:1px solid var(--line); }
.workspace-header > span { color:var(--muted); font-size:.88rem; }
.workspace-site { margin-left:auto; font-weight:700; text-decoration:none; }
.workspace-layout { display:grid; grid-template-columns:220px minmax(0,1fr); min-height:calc(100vh - 72px); }
.workspace-sidebar { background:#fff; padding:25px 14px; border-right:1px solid var(--line); }
.workspace-caption { display:block; margin:0 9px 15px; color:var(--muted); font-size:.68rem; text-transform:uppercase; font-weight:750; letter-spacing:.1em; }
.workspace-sidebar nav { display:grid; gap:5px; }
.workspace-sidebar nav a { display:flex; align-items:center; gap:10px; padding:10px 9px; border-radius:7px; color:var(--academy-ink); font-size:.88rem; }
.workspace-sidebar nav a:hover,.workspace-sidebar nav a[aria-current] { color:var(--academy-blue); background:#eaf1ff; }
.workspace-account { margin:24px 9px 0; padding-top:15px; border-top:1px solid var(--line); overflow-wrap:anywhere; font-size:.78rem; }
.workspace-account span { display:block; color:var(--muted); }
.workspace-main { min-width:0; width:100%; max-width:1450px; padding:clamp(20px,4vw,52px); }
.workspace-main h1 { margin:.2em 0 .45em; font-size:clamp(1.9rem,3vw,2.65rem); }
.workspace-guest { display:block; }
.workspace-guest .workspace-main { max-width:530px; margin:auto; }
.workspace-intro { margin-bottom:20px; }
.workspace-metrics { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,155px),1fr)); gap:14px; }
.workspace-metric,.workspace-panel { display:block; padding:18px; background:white; border:1px solid var(--line); border-radius:12px; }
.workspace-metric { color:var(--academy-ink); text-decoration:none; }
.workspace-metric:hover { border-color:var(--academy-blue); }
.workspace-metric span,.workspace-metric strong,.workspace-metric small { display:block; }
.workspace-metric span { font-weight:750; }
.workspace-metric strong { font-size:2rem; color:var(--academy-blue); }
.workspace-metric small { color:var(--muted); }
.workspace-panel { margin-top:18px; }
.workspace-panel h2 { font-size:1.2rem; }
.workspace-list-bar { display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:16px; }
.workspace-list-bar p { margin:0; }
.workspace-record { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(135px,auto); align-items:center; gap:12px; padding:13px 16px; margin-bottom:8px; }
.workspace-status { border-radius:20px; padding:3px 9px; background:#eef2f8; font-size:.76rem; font-weight:700; }
.workspace-status[data-status="published"] { color:#0d664b; background:#e4f6ef; }
.workspace-record-actions { display:flex; gap:12px; justify-content:flex-end; flex-wrap:wrap; font-size:.84rem; }
@media(max-width:760px) {
  .academy-hero-grid { grid-template-columns:1fr; }
  .academy-hero-visual { max-width:500px; width:100%; }
  .academy-track-strip a { gap:6px; font-size:.79rem; padding:12px 6px; }
  .workspace-layout { display:block; }
  .workspace-sidebar { border:0; border-bottom:1px solid var(--line); padding:10px 14px; }
  .workspace-sidebar nav { display:flex; flex-wrap:wrap; }
  .workspace-caption,.workspace-account,.workspace-header > span { display:none; }
  .workspace-header { gap:8px; }
  .workspace-site { font-size:.82rem; }
  .workspace-record { grid-template-columns:minmax(0,1fr) auto; }
  .workspace-record-actions { grid-column:1/-1; justify-content:flex-start; }
}
