/* CDA Academy pages. Builds on site.css (the main site's styles, shared at build time), same colours and fonts. */
.academy main{padding-top:calc(64px + env(safe-area-inset-top,0px))}
.a-hero{padding-block:clamp(56px,9vw,104px) clamp(40px,6vw,64px)}
.a-hero h1{font-size:clamp(2.4rem,6vw,4.4rem);font-weight:800;letter-spacing:-.035em;margin:12px 0 18px}
.a-hero .lede{font-size:1.15rem}
.a-hero .cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.crumb{font:.78rem var(--f-mono);letter-spacing:.08em;color:var(--muted);text-decoration:none}
.crumb:hover{color:var(--fg)}

.isnot{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:700px){.isnot{grid-template-columns:1fr}}
.isnot>div{border:1px solid var(--line);border-radius:16px;padding:20px;background:var(--bg-2);display:grid;gap:8px;align-content:start}
.isnot .yes h3{color:var(--teal)}
.isnot .no h3{color:var(--coral)}
.isnot p{color:var(--muted)}

.courses{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.course{border:1px solid var(--line);border-radius:18px;padding:22px;background:var(--bg-2);display:flex;flex-direction:column;gap:14px;min-width:0;transition:transform .2s ease,border-color .2s}
.course:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--azure) 60%,var(--line))}
.course h3{font-size:1.18rem;line-height:1.2}
.course .oneline{color:var(--muted);font-size:.92rem;flex:1}
.course .btn{width:100%}
.course.team{border-style:dashed}
.badge{display:inline-block;align-self:flex-start;font:.68rem var(--f-mono);letter-spacing:.12em;text-transform:uppercase;padding:4px 9px;border-radius:999px;border:1px solid var(--line);color:var(--teal)}
.badge.lv-intermediate{color:var(--azure)}
.badge.lv-advanced{color:var(--coral)}
.badge.lv-all{color:var(--gold)}
.facts{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:4px 18px;font:.78rem var(--f-mono);color:var(--muted)}
.facts b{display:block;color:var(--fg);font:600 .9rem var(--f-body)}
.cprice{font:800 2rem/1 var(--f-display);letter-spacing:-.02em}
.cprice small{font:400 .82rem var(--f-body);color:var(--muted)}
.cohort{font-size:.84rem;color:var(--muted);border-top:1px solid var(--line);padding-top:12px}
.cohort b{color:var(--fg)}
.cohort .seats{color:var(--teal)}

.path{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font:600 .95rem var(--f-body)}
.path span{border:1px solid var(--line);background:var(--bg-2);border-radius:999px;padding:8px 14px}
.path i{font-style:normal;color:var(--gold)}
.path-note{margin-top:12px;color:var(--muted);font-size:.92rem}

.disclaimer{border:1px solid color-mix(in srgb,var(--gold) 45%,var(--line));background:color-mix(in srgb,var(--gold) 7%,var(--bg-2));border-radius:16px;padding:18px 20px;font-size:.9rem;color:var(--muted)}
.disclaimer b{color:var(--fg);display:block;margin-bottom:6px;font-family:var(--f-display)}

.c-head{display:grid;gap:14px}
.c-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:8px}
.c-meta>div{border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--bg-2)}
.c-meta span{display:block;font:.7rem var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.c-meta b{font:600 1rem var(--f-body)}
.c-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(24px,4vw,48px);align-items:start}
@media (max-width:900px){.c-grid{grid-template-columns:1fr}}
.c-grid h2{font-size:clamp(1.5rem,3vw,2rem);margin:0 0 12px}
.c-section{display:grid;gap:12px;margin-bottom:36px}
.c-section p{color:var(--muted)}
.ticks{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.ticks li{display:grid;grid-template-columns:16px 1fr;gap:10px}
.ticks li::before{content:"";width:9px;height:9px;margin-top:8px;border-radius:2px;background:var(--teal);transform:rotate(45deg)}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px}
table.syl{width:100%;border-collapse:collapse;font-size:.9rem;min-width:560px}
table.syl th,table.syl td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top}
table.syl th{font:.7rem var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--bg-2)}
table.syl tr:last-child td{border-bottom:0}
table.syl td:first-child{font:600 .9rem var(--f-mono);color:var(--gold);white-space:nowrap}
table.syl td:nth-child(2){font-weight:600}
table.syl td:nth-child(n+3){color:var(--muted)}

.side{position:sticky;top:88px;display:grid;gap:14px}
@media (max-width:900px){.side{position:static}}
.side-card{border:1px solid var(--gold);border-radius:18px;padding:22px;background:linear-gradient(180deg,color-mix(in srgb,var(--gold) 8%,var(--bg-2)),var(--bg-2));display:grid;gap:14px}
.side-card .btn{width:100%}
.dm-note{font-size:.84rem;color:var(--muted)}

.a-form{border:1px solid var(--line);border-radius:18px;padding:clamp(18px,4vw,26px);background:var(--bg-2);display:grid;gap:12px;scroll-margin-top:88px}
.a-form h3{font-size:1.3rem}
.a-form .grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:600px){.a-form .grid2{grid-template-columns:1fr}}
.a-form label{display:grid;gap:6px;font-size:.88rem;color:var(--muted)}
.a-form input,.a-form select,.a-form textarea{font:1rem var(--f-body);padding:11px 12px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--fg);width:100%}
.a-form textarea{resize:vertical}
.a-form .check{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;color:var(--fg);font-size:.9rem}
.a-form .check input{width:18px;height:18px;margin-top:2px;accent-color:var(--teal)}
.a-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.a-form .btn{justify-self:start;min-width:200px}
.a-form small{color:var(--muted);font-size:.78rem}
.ok{color:var(--teal);font-weight:600}
.err{color:var(--coral);font-size:.86rem}

.opts td:nth-child(2){color:var(--fg)}
ol.agenda{margin:0;padding-left:20px;display:grid;gap:6px;color:var(--muted)}
.terms-doc{max-width:760px;display:grid;gap:18px}
.terms-doc h2{font-size:1.25rem}
.terms-doc p{color:var(--muted)}
.testbar{position:fixed;left:0;right:0;bottom:0;z-index:999;padding:8px 16px;text-align:center;font:600 .85rem var(--f-body);background:var(--coral);color:#fff}
.c-head .badge,.a-hero .badge{justify-self:start}
/* Phones: each syllabus week (and each team option) becomes a stacked card instead of a wide table */
@media (max-width:640px){
  .table-wrap{overflow:visible;border:0}
  table.syl{min-width:0}
  table.syl thead{display:none}
  table.syl,table.syl tbody,table.syl tr,table.syl td{display:block;width:100%}
  table.syl tr{border:1px solid var(--line);border-radius:14px;background:var(--bg-2);padding:10px 0;margin-bottom:10px}
  table.syl td{border:0;padding:4px 14px}
  table.syl td::before{content:attr(data-label);display:block;font:.66rem var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
  table.syl td:first-child{white-space:normal}
}
/* Team Training spans the full row under the four courses (like Enterprise under the Founders' Round tiers) */
.course.team{grid-column:1/-1}
@media (min-width:761px){
  .course.team{display:grid;grid-template-columns:minmax(220px,1.1fr) minmax(0,1.6fr) minmax(200px,auto);grid-template-rows:auto auto auto;column-gap:32px;row-gap:10px;align-items:center}
  .course.team .badge,.course.team h3,.course.team .cprice{grid-column:1}
  .course.team .facts,.course.team .oneline{grid-column:2}
  .course.team .facts{grid-row:1/span 2;align-self:end}
  .course.team .oneline{grid-row:3;align-self:start}
  .course.team .btn{grid-column:3;grid-row:1/span 3;width:auto;min-width:200px}
}
.course.team .badge{justify-self:start}
