/* ============================================================
   COURSE & LESSON SYSTEM — The Market Brief Daily
   Clean, study-platform layout (Kaplan Schweser-inspired):
   light content, left curriculum rail, progress tracking.
   ============================================================ */

:root{
  --bg:        #ffffff;
  --rail:      #f7f9fc;
  --rail-2:    #eef2f8;
  --ink:       #1b2433;
  --ink-2:     #36414f;
  --muted:     #64707e;
  --muted-2:   #97a1ae;
  --line:      #e6eaf1;
  --line-2:    #d7dde6;
  --line-soft: #eef1f6;
  --blue:      #15639e;
  --green:     #2f9e5b;
  --rad:       10px;
  --rad-sm:    8px;
  --shadow:    0 8px 26px -16px rgba(20,30,50,.22);
  --ease:      cubic-bezier(.22,.61,.36,1);
  --railw:     300px;
}

/* per-course accent (restrained) */
.acc-drv { --accent:#2f5fd0; --accent-soft:#eaf0fc; }
.acc-pfm { --accent:#1f9166; --accent-soft:#e7f5ef; }
.acc-eqa { --accent:#b3801f; --accent-soft:#f8f0dd; }
.acc-risk{ --accent:#c0413f; --accent-soft:#fbecec; }
.acc-afa { --accent:#0d8794; --accent-soft:#e3f4f5; }
.acc-qrm { --accent:#6f4fc0; --accent-soft:#efeafb; }
:root{ --accent:#2f5fd0; --accent-soft:#eaf0fc; }

/* generic progress bar */
.pbar{ height:7px; background:var(--line); border-radius:99px; overflow:hidden; }
.pbar > i{ display:block; height:100%; width:0; background:var(--accent); border-radius:99px; transition:width .5s var(--ease); }
.is-complete .pbar > i{ background:var(--green); }

/* ─────────────────────────────────────────────────────────────
   COURSE CARDS (education hub)
   ───────────────────────────────────────────────────────────── */
.course-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
@media(max-width:1000px){ .course-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:640px){ .course-grid{ grid-template-columns:1fr; } }

.course-card{
  --accent:#2f5fd0; --accent-soft:#eaf0fc;
  position:relative; display:flex; flex-direction:column;
  padding:22px 22px 18px; background:var(--bg);
  border:1px solid var(--line); border-radius:var(--rad);
  text-decoration:none; color:inherit;
  transition:transform .25s var(--ease), box-shadow .25s, border-color .25s;
}
.course-card:hover{ transform:translateY(-3px); box-shadow:var(--shadow); border-color:var(--line-2); }
.course-card .cc-top{ display:flex; align-items:center; gap:13px; margin-bottom:15px; }
.course-card .cc-top .cfa-badge{ margin-left:auto; }
.idx-head .eyebrow .cfa-badge{ margin-left:8px; vertical-align:middle; }
.lesson-meta .cfa-badge{ margin-left:9px; vertical-align:middle; }
.course-card .cc-badge{
  display:inline-flex; align-items:center; justify-content:center;
  width:42px; height:42px; border-radius:10px; flex-shrink:0;
  background:var(--accent-soft); color:var(--accent);
  font-family:'Inter Tight',sans-serif; font-weight:800; font-size:.95rem;
}
.course-card h3{ font-family:'Inter Tight',sans-serif; font-size:1.12rem; font-weight:750; letter-spacing:-.01em; line-height:1.2; color:var(--ink); margin:0; }
.course-card p{ font-size:13.5px; line-height:1.58; color:var(--muted); margin:0 0 18px; flex:1; }
.course-card .cc-progress{ margin-bottom:12px; }
.course-card .cc-progress .row{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:6px; }
.course-card .cc-progress .row .lab{ font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--muted-2); }
.course-card .cc-progress .row .pct{ font-size:12.5px; font-weight:700; color:var(--accent); }
.course-card.is-complete .cc-progress .row .pct{ color:var(--green); }
.course-card .cc-meta{ display:flex; align-items:center; gap:12px; padding-top:13px; border-top:1px solid var(--line-soft); font-size:12.5px; color:var(--muted-2); font-weight:600; }
.course-card .cc-meta .lessons{ color:var(--ink-2); }
.course-card .cc-go{ margin-left:auto; display:inline-flex; align-items:center; gap:5px; font-size:12px; font-weight:700; color:var(--accent); }
.course-card.soon-card{ opacity:.82; }
.course-card.soon-card .cc-go{ color:var(--muted-2); }

/* ─────────────────────────────────────────────────────────────
   STANDALONE PAGE SHELL
   ───────────────────────────────────────────────────────────── */
body.course-page{ margin:0; background:var(--bg); color:var(--ink-2);
  font-family:'Inter','Segoe UI',system-ui,sans-serif; font-size:16px; line-height:1.68; -webkit-font-smoothing:antialiased; }
.course-page *{ box-sizing:border-box; }
a{ color:var(--accent); }

.topbar{
  position:sticky; top:0; z-index:60; display:flex; align-items:center; gap:14px;
  height:54px; padding:0 clamp(16px,3vw,28px);
  background:#fff; border-bottom:1px solid var(--line);
}
.topbar .home{ display:flex; align-items:center; gap:8px; text-decoration:none; color:var(--ink); font-weight:700; font-size:14px; }
.topbar .home .dot{ width:8px; height:8px; border-radius:50%; background:var(--accent); }
.topbar .sep{ color:var(--muted-2); font-size:13px; }
.topbar .crumb{ font-size:13px; color:var(--muted); text-decoration:none; }
.topbar .crumb:hover{ color:var(--ink); }
.topbar .spacer{ flex:1; }
.topbar .tb-progress{ display:flex; align-items:center; gap:10px; min-width:160px; }
.topbar .tb-progress .pbar{ width:110px; }
.topbar .tb-progress .pct{ font-size:12.5px; font-weight:700; color:var(--accent); min-width:34px; text-align:right; }
.topbar .menu-btn{ display:none; }
.topbar .pill{ font-size:12px; font-weight:700; color:var(--accent); background:var(--accent-soft); padding:4px 11px; border-radius:99px; white-space:nowrap; }

/* ─────────────────────────────────────────────────────────────
   COURSE INDEX
   ───────────────────────────────────────────────────────────── */
.idx-wrap{ max-width:880px; margin:0 auto; padding:clamp(34px,5vw,60px) clamp(18px,4vw,28px) 80px; }
.idx-head{ margin-bottom:34px; }
.idx-head .eyebrow{ font-size:12px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--accent); margin-bottom:12px; }
.idx-head h1{ font-family:'Inter Tight',sans-serif; font-weight:800; font-size:clamp(1.9rem,4vw,2.7rem); letter-spacing:-.025em; line-height:1.08; color:var(--ink); margin:0 0 16px; }
.idx-head p{ font-size:1.04rem; line-height:1.62; color:var(--muted); max-width:64ch; margin:0; }

.idx-progress{ display:flex; align-items:center; gap:18px; margin:26px 0 0; padding:18px 22px; background:var(--rail); border:1px solid var(--line); border-radius:var(--rad); }
.idx-progress .ring{ position:relative; width:54px; height:54px; flex-shrink:0; }
.idx-progress .big{ font-family:'Inter Tight',sans-serif; font-weight:800; }
.idx-progress .meta{ flex:1; }
.idx-progress .meta .t{ font-weight:700; color:var(--ink); font-size:14px; margin-bottom:7px; }
.idx-progress .meta .pbar{ height:8px; }
.idx-progress .meta .s{ font-size:12.5px; color:var(--muted); margin-top:7px; }

.idx-section-title{ font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--muted-2); margin:40px 0 14px; }

.lesson-list{ display:flex; flex-direction:column; gap:8px; }
.lesson-item{
  display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:16px;
  padding:15px 18px; background:var(--bg);
  border:1px solid var(--line); border-radius:var(--rad-sm);
  text-decoration:none; color:inherit;
  transition:border-color .2s, background .2s;
}
.lesson-item:hover{ border-color:var(--accent); background:var(--accent-soft); }
.lesson-item .check{
  width:24px; height:24px; border-radius:50%; flex-shrink:0;
  border:2px solid var(--line-2); display:grid; place-items:center;
  color:transparent; font-size:12px; font-weight:800;
}
.lesson-item.done .check{ background:var(--green); border-color:var(--green); color:#fff; }
.lesson-item .li-body h3{ font-family:'Inter Tight',sans-serif; font-size:1.02rem; font-weight:700; letter-spacing:-.01em; margin:0 0 2px; color:var(--ink); }
.lesson-item .li-body .li-num{ font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--muted-2); margin-bottom:3px; }
.lesson-item .li-body p{ font-size:13px; color:var(--muted); margin:0; line-height:1.5; }
.lesson-item .li-go{ color:var(--muted-2); font-size:18px; }
.lesson-item:hover .li-go{ color:var(--accent); }
.lesson-item.soon{ opacity:.6; pointer-events:none; }
.lesson-item .tag-soon{ font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--muted-2); border:1px solid var(--line); padding:3px 9px; border-radius:99px; }

/* ─────────────────────────────────────────────────────────────
   LESSON: app shell with curriculum rail
   ───────────────────────────────────────────────────────────── */
.lesson-app{ display:grid; grid-template-columns:var(--railw) minmax(0,1fr); align-items:start; }
@media(max-width:880px){ .lesson-app{ grid-template-columns:1fr; } }
/* scrim is a mobile-only overlay; hidden on desktop so it never occupies a grid column */
.scrim{ display:none; }

.curric{
  position:sticky; top:54px; align-self:start;
  height:calc(100vh - 54px); overflow-y:auto;
  background:var(--rail); border-right:1px solid var(--line);
}
@media(max-width:880px){
  .curric{ position:fixed; top:54px; left:0; width:min(86vw,330px); z-index:55; transform:translateX(-102%); transition:transform .28s var(--ease); box-shadow:var(--shadow); }
  .curric.open-drawer{ transform:translateX(0); }
  .topbar .menu-btn{ display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border:1px solid var(--line); border-radius:8px; background:#fff; cursor:pointer; color:var(--ink); }
  .scrim{ display:block; position:fixed; inset:54px 0 0; background:rgba(15,22,35,.32); opacity:0; pointer-events:none; transition:opacity .25s; z-index:54; }
  .scrim.show{ opacity:1; pointer-events:auto; }
}

.curric-head{ padding:18px 18px 16px; border-bottom:1px solid var(--line); }
.curric-head .ct-eyebrow{ font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--accent); margin-bottom:6px; }
.curric-head .ct-title{ font-family:'Inter Tight',sans-serif; font-weight:750; font-size:1.06rem; color:var(--ink); line-height:1.2; margin-bottom:14px; text-decoration:none; display:block; }
.curric-head .cp-row{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:6px; }
.curric-head .cp-row .lab{ font-size:11.5px; font-weight:600; color:var(--muted); }
.curric-head .cp-row .pct{ font-size:12.5px; font-weight:800; color:var(--accent); }
.curric-head.is-complete .cp-row .pct{ color:var(--green); }

.curric-list{ padding:8px 0 26px; }
.cl-group{ border-bottom:1px solid var(--line-soft); }
.cl-row{ display:flex; align-items:stretch; }
.cl-link{
  flex:1; min-width:0; display:flex; gap:10px; align-items:center;
  padding:10px 8px 10px 15px; border-left:3px solid transparent;
  font-size:13.3px; line-height:1.35; color:var(--muted); text-decoration:none;
  transition:background .16s, color .16s;
}
.cl-link:hover{ background:var(--rail-2); color:var(--ink); }
.cl-group.current > .cl-row > .cl-link{ background:#fff; color:var(--ink); font-weight:650; border-left-color:var(--accent); }
.cl-link.soon{ opacity:.6; }
.cl-link .cl-num{ color:var(--muted-2); font-weight:700; font-size:11.5px; min-width:16px; }
.cl-link .cl-ttl{ flex:1; min-width:0; }
.cl-link .check{
  width:19px; height:19px; border-radius:50%; flex-shrink:0;
  border:1.6px solid var(--line-2); display:grid; place-items:center;
  color:transparent; font-size:10px; font-weight:800; background:#fff;
}
.cl-group.done .check{ background:var(--green); border-color:var(--green); color:#fff; }
.cl-group.current .cl-link .check{ border-color:var(--accent); }
.cl-group.current.done .check{ border-color:var(--green); }
.cl-toggle{
  width:36px; flex-shrink:0; border:0; background:transparent; cursor:pointer;
  color:var(--muted-2); font-size:11px; transition:transform .2s, color .15s;
}
.cl-toggle:hover{ color:var(--accent); }
.cl-group.open > .cl-row > .cl-toggle{ transform:rotate(90deg); }
.cl-topics{ display:none; padding:2px 0 8px; background:#fcfdfe; }
.cl-group.open .cl-topics{ display:block; }
.cl-topic{
  display:block; padding:6px 14px 6px 44px; font-size:12.4px; line-height:1.4;
  color:var(--muted); text-decoration:none; border-left:3px solid transparent;
}
.cl-topic:hover{ color:var(--ink); background:var(--rail-2); }
.cl-topic.active{ color:var(--accent); border-left-color:var(--accent); font-weight:600; }
.tag-soon{ font-size:9.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--muted-2); border:1px solid var(--line); padding:2px 7px; border-radius:99px; align-self:center; margin-right:14px; }

/* CFA level badges */
.cfa-badge{ flex-shrink:0; font-size:9.5px; font-weight:800; letter-spacing:.02em; padding:2px 6px; border-radius:5px; white-space:nowrap; }
.cfa-badge.sm{ font-size:8.5px; padding:2px 5px; }
.cfa-l1{ background:#e7f5ef; color:#1c8a59; }
.cfa-l2{ background:#efeafb; color:#6b49bd; }
.cfa-mix{ background:#eef2f8; color:#4a647f; }
.curric-head .ct-eyebrow .cfa-badge{ vertical-align:middle; }

/* reading column */
.reading{ min-width:0; }
.reading-inner{ max-width:760px; margin:0 auto; padding:clamp(30px,4vw,52px) clamp(20px,4vw,46px) 70px; }
.lesson-meta{ font-size:12.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--accent); margin-bottom:14px; }
.reading-inner h1{ font-family:'Inter Tight',sans-serif; font-weight:800; font-size:clamp(1.7rem,3.4vw,2.5rem); letter-spacing:-.025em; line-height:1.08; color:var(--ink); margin:0 0 16px; }
.reading-inner .summary{ font-size:1.08rem; line-height:1.6; color:var(--muted); margin:0 0 8px; }

/* compact contents */
.contents{ margin:24px 0 6px; border:1px solid var(--line); border-radius:var(--rad-sm); background:var(--rail); }
.contents summary{ cursor:pointer; list-style:none; padding:12px 16px; font-size:12.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--ink); display:flex; align-items:center; gap:8px; }
.contents summary::-webkit-details-marker{ display:none; }
.contents summary::before{ content:"▸"; color:var(--accent); transition:transform .2s; }
.contents[open] summary::before{ transform:rotate(90deg); }
.contents .toc-grid{ padding:2px 16px 14px; display:grid; grid-template-columns:1fr 1fr; gap:2px 18px; }
@media(max-width:560px){ .contents .toc-grid{ grid-template-columns:1fr; } }
.contents .toc-grid a{ padding:6px 0; font-size:13.5px; color:var(--muted); text-decoration:none; border-bottom:1px solid var(--line-soft); }
.contents .toc-grid a:hover{ color:var(--accent); }

/* typography */
.reading-inner h2{ font-family:'Inter Tight',sans-serif; font-size:clamp(1.3rem,2.3vw,1.6rem); font-weight:780; letter-spacing:-.02em; color:var(--ink); margin:42px 0 14px; scroll-margin-top:70px; padding-bottom:9px; border-bottom:1px solid var(--line); }
.reading-inner h3{ font-family:'Inter Tight',sans-serif; font-size:1.16rem; font-weight:700; letter-spacing:-.01em; color:var(--ink); margin:26px 0 10px; }
.reading-inner h4{ font-size:.8rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--muted-2); margin:22px 0 9px; }
.reading-inner p{ font-size:1rem; line-height:1.72; color:var(--ink-2); margin:0 0 15px; }
.reading-inner ul,.reading-inner ol{ margin:0 0 16px; padding-left:0; list-style:none; }
.reading-inner li{ position:relative; padding:6px 0 6px 24px; font-size:.98rem; line-height:1.6; color:var(--ink-2); }
.reading-inner ul li::before{ content:""; position:absolute; left:3px; top:14px; width:6px; height:6px; border-radius:50%; background:var(--accent); }
.reading-inner ol{ counter-reset:li; }
.reading-inner ol li::before{ counter-increment:li; content:counter(li); position:absolute; left:0; top:6px; font-size:11.5px; font-weight:800; color:var(--accent); }
.reading-inner strong{ color:var(--ink); font-weight:700; }
.reading-inner .lead{ font-size:1.08rem; line-height:1.7; color:var(--ink-2); margin-bottom:22px; }

/* learning outcomes */
.outcomes-card{ background:var(--accent-soft); border:1px solid color-mix(in srgb,var(--accent) 20%,var(--line)); border-radius:var(--rad); padding:20px 22px; margin:8px 0 26px; }
.outcomes-card h4{ margin:0 0 12px; color:var(--accent); }
.outcomes-card ol{ margin:0; }
.outcomes-card li{ padding-left:26px; }

/* callouts */
.callout{ border:1px solid var(--line); border-left:3px solid var(--accent); border-radius:var(--rad-sm); padding:15px 18px; margin:20px 0; background:var(--rail); }
.callout .ct-label{ font-size:11px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; margin-bottom:6px; display:block; color:var(--accent); }
.callout p{ margin:0; font-size:.97rem; }
.callout.concept{ background:var(--accent-soft); }
.callout.note{ border-left-color:var(--muted-2); }
.callout.note .ct-label{ color:var(--muted); }
.callout.warn{ border-left-color:#d9a23a; background:#fdf7ea; }
.callout.warn .ct-label{ color:#b07d1e; }

/* formula — light, not bulky */
.formula{ background:#f6f8fc; border:1px solid #e4eaf3; border-left:3px solid var(--accent); border-radius:var(--rad-sm); padding:14px 20px; margin:18px 0; overflow-x:auto; }
.formula .f-label{ font-size:11px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--accent); margin-bottom:6px; display:flex; align-items:center; gap:10px; }
.formula .f-label .eqno{ margin-left:auto; color:var(--muted-2); font-weight:600; letter-spacing:0; }
.formula .mjx-row{ color:var(--ink); font-size:1.02rem; }
.formula .note{ margin-top:9px; font-size:13px; color:var(--muted); line-height:1.55; }

/* worked example */
.example{ border:1px solid var(--line); border-radius:var(--rad); margin:22px 0; overflow:hidden; background:var(--bg); }
.example > .ex-head{ display:flex; align-items:center; gap:11px; padding:13px 18px; background:var(--rail); border-bottom:1px solid var(--line); }
.example > .ex-head .ex-tag{ font-size:10.5px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; color:var(--accent); background:var(--accent-soft); padding:4px 10px; border-radius:99px; }
.example > .ex-head h4{ margin:0; font-size:.97rem; letter-spacing:0; text-transform:none; color:var(--ink); font-family:'Inter Tight',sans-serif; font-weight:700; }
.example .ex-body{ padding:16px 20px; }
.example .ex-body > p:first-child{ margin-top:0; }
.example .given{ font-size:.9rem; color:var(--muted); background:var(--rail); border-radius:7px; padding:9px 13px; margin:12px 0; }
.example details{ border-top:1px dashed var(--line); margin-top:8px; }
.example details summary{ cursor:pointer; list-style:none; padding:13px 0 4px; font-size:12.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--accent); display:flex; align-items:center; gap:8px; }
.example details summary::-webkit-details-marker{ display:none; }
.example details summary::before{ content:"▸"; transition:transform .2s; }
.example details[open] summary::before{ transform:rotate(90deg); }
.example .sol{ padding:4px 0; }
.example .answer{ display:inline-block; margin-top:6px; font-weight:700; color:var(--ink); background:var(--accent-soft); border:1px solid color-mix(in srgb,var(--accent) 22%,transparent); padding:6px 12px; border-radius:7px; }

/* tables */
.reading-inner table{ width:100%; border-collapse:collapse; margin:18px 0; font-size:.92rem; }
.reading-inner th{ text-align:left; padding:10px 13px; background:var(--rail); color:var(--ink); font-weight:700; font-size:.82rem; border-bottom:2px solid var(--line-2); }
.reading-inner td{ padding:9px 13px; border-bottom:1px solid var(--line); color:var(--ink-2); }
.reading-inner tbody tr:hover td{ background:var(--rail); }

/* timeline */
.timeline{ display:flex; align-items:flex-start; margin:18px 0; padding:16px 18px; background:var(--rail); border:1px solid var(--line); border-radius:var(--rad-sm); overflow-x:auto; }
.timeline .pt{ display:flex; flex-direction:column; align-items:center; gap:5px; flex-shrink:0; }
.timeline .pt .node{ width:12px; height:12px; border-radius:50%; background:var(--accent); border:3px solid #fff; box-shadow:0 0 0 1px var(--accent); }
.timeline .pt .lab{ font-size:12px; font-weight:700; color:var(--ink); }
.timeline .pt .sub{ font-size:11px; color:var(--muted); }
.timeline .seg{ flex:1; height:2px; min-width:46px; background:var(--accent); margin:6px 3px 0; }

/* mark complete */
.complete-row{ margin:40px 0 6px; padding-top:26px; border-top:1px solid var(--line); display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.mark-btn{ display:inline-flex; align-items:center; gap:9px; padding:11px 22px; border-radius:var(--rad-sm); border:1.5px solid var(--accent); color:var(--accent); background:#fff; font-family:inherit; font-size:14px; font-weight:700; cursor:pointer; transition:background .18s, color .18s; }
.mark-btn:hover{ background:var(--accent-soft); }
.mark-btn .ck{ width:18px; height:18px; border-radius:50%; border:1.6px solid currentColor; display:grid; place-items:center; font-size:10px; }
.mark-btn.done{ background:var(--green); border-color:var(--green); color:#fff; }
.mark-btn.done .ck{ background:#fff; color:var(--green); border-color:#fff; }
.complete-row .hint{ font-size:13px; color:var(--muted-2); }

/* prev / next */
.lesson-nav{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:26px 0 0; }
@media(max-width:560px){ .lesson-nav{ grid-template-columns:1fr; } }
.lesson-nav a{ display:flex; flex-direction:column; gap:3px; padding:15px 18px; border:1px solid var(--line); border-radius:var(--rad-sm); text-decoration:none; background:var(--bg); transition:border-color .2s, background .2s; }
.lesson-nav a:hover{ border-color:var(--accent); background:var(--accent-soft); }
.lesson-nav a.next{ text-align:right; align-items:flex-end; }
.lesson-nav a .dir{ font-size:11px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--muted-2); }
.lesson-nav a .ttl{ font-family:'Inter Tight',sans-serif; font-weight:700; color:var(--ink); font-size:.98rem; }
.lesson-nav a.disabled{ opacity:.4; pointer-events:none; }

/* footer */
.course-foot{ border-top:1px solid var(--line); padding:26px clamp(18px,4vw,40px); text-align:center; color:var(--muted-2); font-size:12.5px; background:var(--rail); }
.course-foot a{ color:var(--muted); text-decoration:none; }
.course-foot a:hover{ color:var(--ink); }
.course-foot .disc{ max-width:680px; margin:0 auto 8px; font-size:12px; line-height:1.55; }
