/* Academy-specific styles. Shared tokens and components come from site.css. */

/* on-this-page table of contents */
.toc{background:var(--deep);border-bottom:1px solid rgba(255,255,255,.06)}
.toc .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:6px 22px;padding-block:14px}
.toc .k{font:600 11.5px/1 var(--font-b);letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}
.toc ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 18px;font-size:15px;counter-reset:t}
.toc li{counter-increment:t}
.toc a{color:#D6D4E4;text-decoration:none;padding-block:6px;display:inline-block}
.toc a::before{content:counter(t,decimal-leading-zero) " ";color:var(--muted-d);font-size:12.5px}
.toc a:hover{color:#fff}

/* journey cards: same look as the approved home (code in orange, title, hours) */
.journey{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
.journey li{display:flex}
.mod{flex:1;padding:14px 14px 12px;border-radius:12px;background:#fff;border:1px solid var(--line-l);display:grid;gap:6px;align-content:start;grid-template-rows:auto 1fr auto;text-decoration:none;color:var(--text-l);position:relative;transition:border-color .15s,transform .15s,box-shadow .15s;min-height:132px}
.mod b{font:600 13px/1 var(--font-b);color:var(--orange-t);letter-spacing:.04em}
.mod span{font-size:15.5px;line-height:1.3;color:var(--text-l);font-weight:500}
.mod small{font-size:13px;color:var(--muted-l)}
.mod small::after{content:" \2192";color:var(--orange-t);opacity:0;transition:opacity .15s}
.mod:hover,.mod:focus-visible{border-color:rgba(224,122,58,.7);box-shadow:0 0 0 3px rgba(224,122,58,.16);transform:translateY(-2px)}
.mod:hover small::after,.mod:focus-visible small::after{opacity:1}
.mod:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.mod.bridge{background:#FDF3EC;border-color:rgba(224,122,58,.45)}
.jnote{margin-top:16px;font-size:15px;color:var(--muted)}
.jtot{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.jtot span{font:500 14px/1 var(--font-b);padding:9px 13px;border-radius:999px;background:#fff;border:1px solid var(--line-l);color:var(--text-l)}
@media (max-width:1100px){.journey{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:760px){.journey{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.journey{grid-template-columns:repeat(2,minmax(0,1fr))}.mod{min-height:118px}}

/* where to start */
.dest{padding:24px 26px;border-radius:16px;background:var(--ink);color:var(--text-d);display:grid;gap:8px}
.dest .k{font:600 11.5px/1 var(--font-b);letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}
.dest h3{font-size:var(--t-h3);color:#fff}
.dest p{color:#CFCDE0}
ol.choose{list-style:none;margin:0;padding:0;display:grid;gap:12px;counter-reset:c}
ol.choose li{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start;counter-increment:c;font-size:17px}
ol.choose li::before{content:counter(c);width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--orange);color:var(--ink);font:600 14px var(--font-b)}

/* instructor */
.instr{display:grid;grid-template-columns:auto 1fr auto;gap:clamp(20px,3vw,40px);align-items:center;padding:26px;border-radius:18px;background:var(--ink);color:var(--text-d)}
.instr img.av{width:120px;height:120px;border-radius:50%;object-fit:cover;object-position:center 22%;border:3px solid rgba(224,122,58,.6)}
.instr h3{font-size:var(--t-h3);color:#fff;margin-top:8px}
.instr ul{margin:12px 0 0;padding:0;list-style:none;display:grid;gap:8px;font-size:16px;color:#D6D4E4}
.instr li{display:flex;gap:10px}.instr li::before{content:"";flex:none;width:6px;height:6px;margin-top:10px;border-radius:9px;background:var(--orange)}
.instr .side{display:grid;gap:10px;justify-items:start}
.instr .side small{font-size:13.5px;color:var(--muted-d)}
@media (max-width:860px){.instr{grid-template-columns:1fr}}

/* module page */
.mhead .meta{display:flex;flex-wrap:wrap;gap:8px}
.chip{font:500 13.5px/1 var(--font-b);padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.2);color:#E6E4F2}
.chip.o{border-color:rgba(224,122,58,.7);color:var(--orange)}
.mline{font:600 12.5px/1.3 var(--font-b);letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}
.mline .code{color:#fff}
.sect{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:clamp(18px,4vw,56px);padding-block:clamp(28px,3.5vw,44px);border-top:1px solid var(--line)}
.sect:first-child{border-top:0;padding-top:0}
.sect>h2{font-size:var(--t-h2);line-height:1.12}
.sect .body{display:grid;gap:14px;align-content:start;max-width:72ch}
.sect .body>p{font-size:var(--t-lead);color:var(--text)}
@media (max-width:860px){.sect{grid-template-columns:1fr}}
ol.topics{list-style:none;margin:0;padding:0;display:grid;gap:0}
ol.topics li{display:grid;grid-template-columns:40px 1fr;gap:2px 12px;padding:14px 0;border-top:1px solid var(--line)}
ol.topics li:first-child{border-top:0;padding-top:0}
ol.topics .num{grid-row:1/3;font:600 13px/1.9 var(--font-b);color:var(--orange-t)}
ol.topics h3{font:500 19px/1.35 var(--font-b);color:var(--head)}
ol.topics p{color:var(--muted);font-size:16.5px}
.example{padding:22px 24px;border-radius:16px;background:var(--ink);color:#EEEDF5;font-size:var(--t-lead);line-height:1.55}
.fill{padding:20px 22px;border-radius:16px;background:#FDF3EC;border:1px solid rgba(224,122,58,.4);font-size:var(--t-lead);color:var(--text-l)}
.fill .blank{display:inline-block;min-width:4.5em;border-bottom:2px solid var(--orange);margin-inline:2px}
.choose-if{font:400 var(--t-h3)/1.3 var(--font-h);color:var(--head)}
.choose-if b{font:600 12px/1 var(--font-b);letter-spacing:.14em;text-transform:uppercase;color:var(--eyebrow);display:block;margin-bottom:10px}
.pn{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:clamp(28px,4vw,48px)}
.pn a{display:grid;gap:6px;padding:18px 20px;border-radius:14px;border:1px solid var(--line);background:#fff;text-decoration:none;color:var(--text-l)}
.pn a:hover,.pn a:focus-visible{border-color:rgba(224,122,58,.7)}
.pn small{font:600 11.5px/1 var(--font-b);letter-spacing:.14em;text-transform:uppercase;color:var(--orange-t)}
.pn span{font:400 19px/1.25 var(--font-h);color:var(--ink)}
.pn .next{text-align:right}
.pn .ph{visibility:hidden}
@media (max-width:560px){.pn{grid-template-columns:1fr}.pn .next{text-align:left}}
.dl{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:18px}
.lk{color:var(--orange-t);text-decoration:none;border-bottom:1px solid rgba(184,86,31,.4)}

/* print (used to generate the module guide PDFs) */
.print-only{display:none}
@media print{
  @page{size:A4;margin:14mm 14mm 16mm}
  .hdr,.menu,.nav,.foot,.cta,.pn,.dl,.crumb,.toc,.noprint{display:none!important}
  .print-only{display:block}
  body{background:#fff;color:#2D2D3F;font-size:12.5pt}
  .phero{background:#1A1A2E!important;padding:26px 0 22px!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .phero .h1{font-size:30pt}
  .sec{padding-block:18px!important}
  .sect{grid-template-columns:150px 1fr;padding-block:14px;break-inside:avoid}
  .sect>h2{font-size:16pt}
  .example,.fill,.chip{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  a{text-decoration:none}
  .pfoot{margin-top:18px;font-size:9.5pt;color:#565E6C;border-top:1px solid #E4E2EC;padding-top:8px}
}
