/* Course / waitlist page (/course/) */
.course-page{overflow:hidden}
.course-page section{padding:80px 7%}
.course-page .eyebrow{color:#a8ad9e;margin:0 0 6px}
.course-page h2{font-size:clamp(44px,5.4vw,72px);line-height:.95;margin:10px 0 22px}
.course-page .small{max-width:520px}

/* Hero */
.academy-hero{display:grid;grid-template-columns:1.25fr .75fr;gap:60px;align-items:center;padding-top:90px!important;background:radial-gradient(ellipse at 85% 40%,#edbb2920,transparent 55%)}
.academy-hero h1{font-size:clamp(64px,8.4vw,128px);letter-spacing:-2px;margin:18px 0 26px}
.academy-lead{font-size:18px;line-height:1.6;color:#d3d0c4;max-width:560px;margin:0 0 30px}
.academy-actions{display:flex;flex-wrap:wrap;align-items:center;gap:28px;margin-bottom:6px}
.academy-visual{margin:0;background:var(--paper);color:var(--ink);padding:26px 26px 0;transform:rotate(2deg);box-shadow:0 30px 60px #0009;position:relative}
.academy-visual:before{content:"";position:absolute;top:-14px;left:50%;width:90px;height:26px;background:#edbb29b3;transform:translateX(-50%) rotate(-3deg)}
.academy-visual img{display:block;width:100%;aspect-ratio:1;object-fit:contain;background:#d8d2bf}
.academy-visual figcaption{display:flex;justify-content:space-between;gap:12px;padding:14px 0 16px;font:10px 'IBM Plex Mono',monospace;letter-spacing:1.4px}

/* Pipeline strip */
.academy-strip{background:var(--yellow);color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 7%;font:800 clamp(18px,2.6vw,34px) 'Barlow Condensed',sans-serif;letter-spacing:1px}
.academy-strip b{font-weight:400;opacity:.55}

/* Intro */
.academy-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;border-bottom:1px solid #ffffff1c}
.academy-intro p:not(.eyebrow){font-size:16px;line-height:1.75;color:#c9c7bb;margin:0 0 18px;max-width:560px}

/* Curriculum */
.curriculum{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start;background:#1b201b}
.curriculum-heading{position:sticky;top:30px}
.curriculum-heading p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.75;margin:0 0 26px;max-width:420px}
.curriculum-list{border-top:1px solid #ffffff25;counter-reset:mod}
.curriculum-item summary{display:grid;grid-template-columns:62px 1fr 30px;align-items:center;gap:10px;padding:22px 0;font:700 clamp(21px,2.2vw,28px)/1.1 'Barlow Condensed',sans-serif;letter-spacing:.3px}
.curriculum-item summary:after{display:none}
.curriculum-item summary:hover{color:var(--yellow)}
.module-number{font:12px 'IBM Plex Mono',monospace;color:var(--ink);background:var(--yellow);padding:5px 0;text-align:center;width:44px;clip-path:polygon(0 0,78% 0,100% 30%,100% 100%,0 100%)}
.expand{justify-self:end;font:400 26px 'DM Sans',sans-serif;color:var(--yellow);transition:transform .25s}
.curriculum-item[open] .expand{transform:rotate(45deg)}
.module-detail{padding:0 0 26px 72px}
.module-detail>p{color:#c2c2b6;font-size:14px;line-height:1.75;margin:0 0 14px;max-width:560px}
.module-detail ul{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:8px}
.module-detail li{font-size:13px;color:#dedbd0;padding-left:22px;position:relative}
.module-detail li:before{content:"";position:absolute;left:0;top:.2em;width:14px;height:14px;background:var(--yellow);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 4v7a4 4 0 0 0 4 4h9M15 11l4 4-4 4'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 4v7a4 4 0 0 0 4 4h9M15 11l4 4-4 4'/%3E%3C/svg%3E") center/contain no-repeat}
.module-outcome{border:1px dashed #edbb2980;padding:12px 16px;max-width:520px}
.module-outcome small{font:9px 'IBM Plex Mono',monospace;letter-spacing:1.6px;color:var(--yellow)}
.module-outcome p{margin:6px 0 0;font-size:14px;line-height:1.5}

/* Outcomes */
.academy-outcomes .eyebrow{color:#5d6152}
.outcome-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}
.outcome-grid article{border-top:3px solid var(--ink);padding-top:18px}
.outcome-grid span{font:800 64px/1 'Barlow Condensed',sans-serif;color:#c9951a}
.outcome-grid h3{font-size:30px;margin:10px 0}
.outcome-grid p{font-size:14px;line-height:1.7;color:#3d4136;margin:0}

/* Fit */
.academy-fit{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.academy-fit ul{list-style:none;margin:0;padding:0;border-top:1px solid #ffffff25}
.academy-fit li{padding:20px 0 20px 40px;border-bottom:1px solid #ffffff25;font-size:16px;line-height:1.55;position:relative}
.academy-fit li:before{content:"✓";position:absolute;left:4px;top:19px;color:var(--yellow);font-weight:700}

/* Waitlist */
.academy-waitlist{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start;background:#1b201b;border-top:4px solid var(--yellow)}
.academy-waitlist>div>p:not(.eyebrow){color:#c9c7bb;font-size:15px;line-height:1.75;max-width:460px}
.academy-waitlist>div>a{display:inline-block;margin-top:8px;font:13px 'IBM Plex Mono',monospace;color:var(--yellow);border-bottom:1px solid}
.waitlist-note{font:10px 'IBM Plex Mono',monospace!important;letter-spacing:1.4px;color:var(--yellow)!important;margin-top:22px}
#course-waitlist{display:grid;gap:8px;background:var(--paper);color:var(--ink);padding:32px;box-shadow:0 24px 50px #0007}
#course-waitlist label{font:10px 'IBM Plex Mono',monospace;letter-spacing:1.2px;text-transform:uppercase;margin-top:8px}
#course-waitlist input:not([type=checkbox]),#course-waitlist select,#course-waitlist textarea{width:100%;font:15px 'DM Sans',sans-serif;color:var(--ink);background:#fbf9f2;border:1px solid #171b1855;border-radius:0;padding:12px 13px}
#course-waitlist input:focus,#course-waitlist select:focus,#course-waitlist textarea:focus{outline:2px solid var(--yellow);outline-offset:1px;border-color:var(--ink)}
#course-waitlist textarea{resize:vertical}
#course-waitlist .wait-consent{display:flex;gap:10px;align-items:flex-start;font:13px/1.5 'DM Sans',sans-serif;letter-spacing:0;text-transform:none;margin:10px 0 6px}
.wait-consent input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--ink);flex:none}
#course-waitlist button[type=submit]{margin-top:8px;justify-content:center;border:0;cursor:pointer;font-size:11px}
#course-waitlist button[type=submit]{background:var(--ink);color:var(--yellow)}
#course-waitlist .small{color:#5d6152;margin:6px 0 0}
#signup-fallback{border-top:1px dashed #171b1855;margin-top:14px;padding-top:12px;display:grid;gap:10px}
#signup-fallback[hidden]{display:none}
#signup-fallback textarea{font:12px/1.6 'IBM Plex Mono',monospace!important;background:#efe9d6!important}
#signup-email{justify-self:start;cursor:pointer}
#signup-copy{justify-self:start;background:none;border:1px solid var(--ink);padding:9px 14px;font:11px 'IBM Plex Mono',monospace;cursor:pointer;color:var(--ink)}
#signup-copy:hover{background:var(--ink);color:var(--paper)}
#signup-status{font:11px 'IBM Plex Mono',monospace;margin:0;min-height:1em}

/* FAQ */
.academy-faq{max-width:900px;margin:0 auto}
.academy-faq h2{margin-bottom:30px}

@media(max-width:900px){
.course-page section{padding:60px 6%}
.academy-hero,.academy-intro,.curriculum,.academy-fit,.academy-waitlist{grid-template-columns:1fr;gap:36px}
.academy-hero{padding-top:50px!important}
.academy-visual{max-width:340px;justify-self:center}
.curriculum-heading{position:static}
.outcome-grid{grid-template-columns:1fr;gap:28px}
}
@media(max-width:600px){
.academy-hero h1{font-size:58px;letter-spacing:-1px}
.academy-lead{font-size:16px}
.academy-strip{flex-wrap:wrap;justify-content:center;font-size:18px;gap:6px 10px;padding:16px 6%}
.curriculum-item summary{grid-template-columns:50px 1fr 24px;font-size:20px}
.module-number{width:40px;font-size:11px}
.module-detail{padding-left:0}
#course-waitlist{padding:22px 18px}
.academy-visual figcaption{flex-direction:column;gap:4px}
}
