.curriculum { padding:24px 0 132px; scroll-margin-top:44px; }
.curriculum-heading { margin:0 auto 52px; text-align:center; }
.curriculum-heading h2 { margin:0; font-size:clamp(31px,3.7vw,48px); line-height:1.2; font-weight:750; letter-spacing:-.04em; }
.curriculum-heading h2 span { display:inline-block; margin-left:.1em; font-family:'Orange Marker',Manrope,sans-serif; font-size:1.2em; font-weight:400; letter-spacing:0; color:#eaff00; transform:rotate(-1.5deg); }
.curriculum-heading>p { max-width:680px; margin:22px auto 0; font-size:18px; font-weight:500; line-height:1.65; color:#a8ada4; text-wrap:pretty; }
.curriculum-modules { max-width:1120px; margin:auto; display:grid; gap:22px; }
.curriculum-stage { min-width:0; perspective:1400px; scroll-margin-top:36px; }
.curriculum-card { --curriculum-radius:29px; position:relative; isolation:isolate; border-radius:var(--curriculum-radius); }
.curriculum-disclosure { border-radius:inherit; }
.curriculum-card::before { content:''; position:absolute; inset:0; z-index:-1; border-radius:inherit; background:#0c0d0bf2; filter:blur(1.4px); box-shadow:0 20px 44px -22px #000b; pointer-events:none; transition:opacity .28s ease; }
.curriculum-card[data-moving] { will-change:transform; }
.curriculum-toggle { display:grid; grid-template-columns:49px minmax(0,1fr) auto 44px; gap:24px; align-items:center; min-height:166px; padding:32px 38px; list-style:none; cursor:pointer; border-radius:inherit; -webkit-tap-highlight-color:transparent; }
.curriculum-toggle::-webkit-details-marker,.curriculum-subsection>summary::-webkit-details-marker { display:none; }
.curriculum-toggle::marker,.curriculum-subsection>summary::marker { content:''; }
.curriculum-number { font-family:'Orange Marker',Manrope,sans-serif; color:var(--accent); font-size:35px; font-weight:400; line-height:1; }
.curriculum-label h3 { margin:0; font-size:26px; font-weight:700; line-height:1.3; letter-spacing:-.035em; text-wrap:pretty; }
.curriculum-label p { max-width:630px; margin:10px 0 0; font-size:17px; font-weight:500; line-height:1.6; color:#a8ada4; text-wrap:pretty; }
.curriculum-meta { color:#bdc6b4; font-size:15px; line-height:1.4; white-space:nowrap; }
.curriculum-plus { display:grid; place-items:center; width:44px; height:44px; flex:none; border-radius:50%; background:#ffffff06; color:#ced1c5; transition:color .2s,background .2s; }
.curriculum-plus svg { display:block; width:23px; height:23px; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; }
.curriculum-plus-vertical { transform-origin:12px 12px; transition:transform .2s,opacity .2s; }
.curriculum-card[open]>.curriculum-toggle .curriculum-plus-vertical,.curriculum-disclosure[open]>.curriculum-toggle .curriculum-plus-vertical,.curriculum-subsection[open]>summary .curriculum-plus-vertical { transform:rotate(90deg); opacity:0; }
.curriculum-card[open]>.curriculum-toggle .curriculum-plus,.curriculum-disclosure[open]>.curriculum-toggle .curriculum-plus,.curriculum-subsection[open]>summary .curriculum-plus { color:#eaff00; background:#eaff0009; }
.curriculum-toggle:focus-visible,.curriculum-subsection>summary:focus-visible { outline:2px solid #eaff00; outline-offset:5px; }
/* Native details content has its own inherited radius; use the surface radius explicitly. */
.curriculum-card>.author-glare { z-index:2; contain:paint; border-radius:var(--curriculum-radius); }
.curriculum-body { padding:0 38px 34px 111px; }
.curriculum-lessons { list-style:none; margin:0; padding:5px 12px 8px 0; display:grid; gap:25px; }
.curriculum-lessons>li { display:grid; grid-template-columns:58px minmax(0,1fr); gap:20px; align-items:baseline; }
.curriculum-lesson-number { font-family:'Orange Marker',Manrope,sans-serif; color:#d96b3b; font-size:24px; line-height:1.3; white-space:nowrap; }
.curriculum-lesson-range { font-size:17px; }
.curriculum-lessons h4,.curriculum-lessons h5,.curriculum-lessons h6 { margin:0; max-width:760px; font-size:18px; line-height:1.5; font-weight:650; letter-spacing:-.015em; text-wrap:pretty; }
.curriculum-lessons p { max-width:730px; margin:7px 0 0; color:#9fa498; font-size:16px; line-height:1.65; font-weight:500; text-wrap:pretty; }
.curriculum-close { display:block; margin:30px 0 0; padding:10px 0; background:none; border:0; font:500 14px/1.4 Manrope,Arial,sans-serif; color:#a8ada4; text-decoration:underline; text-decoration-color:#6a706166; text-underline-offset:6px; cursor:pointer; }
.curriculum-close[hidden] { display:none; }
.curriculum-close:hover { color:#eaff00; }
.curriculum-close:focus-visible { outline:2px solid #eaff00; outline-offset:5px; }
.curriculum-sections { display:grid; gap:3px; }
.curriculum-subsection { border-radius:13px; }
.curriculum-subsection>summary { display:grid; grid-template-columns:36px minmax(0,1fr) 36px; gap:18px; align-items:center; padding:21px 7px 21px 0; list-style:none; cursor:pointer; border-radius:13px; -webkit-tap-highlight-color:transparent; }
.curriculum-section-number { font-family:'Orange Marker',Manrope,sans-serif; color:var(--accent); font-size:24px; line-height:1.2; }
.curriculum-subsection>summary :is(h4,h5) { margin:0; font-size:20px; line-height:1.45; font-weight:650; letter-spacing:-.025em; text-wrap:pretty; }
.curriculum-subsection .curriculum-plus { width:36px; height:36px; }
.curriculum-subsection .curriculum-plus svg { width:18px; height:18px; }
.curriculum-subsection>.curriculum-lessons { padding:5px 42px 24px 54px; gap:23px; }
.curriculum-subsection .curriculum-lessons>li { grid-template-columns:70px minmax(0,1fr); gap:18px; }
.curriculum-subsection[open]>summary :is(h4,h5) { color:#d9e6b8; }
.curriculum-group { scroll-margin-top:40px; }
.curriculum-group+.curriculum-group { margin-top:42px; }
.curriculum-group-heading { display:flex; align-items:baseline; flex-wrap:wrap; gap:10px 20px; margin:0 0 23px; }
.curriculum-group-heading h4 { margin:0; color:#e0e4d7; font-size:21px; line-height:1.4; font-weight:700; letter-spacing:-.025em; text-wrap:pretty; }
.curriculum-group-heading>span { color:#bdc6b4; font-size:14px; white-space:nowrap; }
@media (hover:hover) and (pointer:fine) {
  .curriculum-stage:hover>.curriculum-card:not([open]):not(:has(>.curriculum-disclosure[open]))::before { opacity:.72; }
  .curriculum-toggle:hover .curriculum-plus,.curriculum-subsection>summary:hover .curriculum-plus { color:#eaff00; }
}
@media (max-width:1000px) {
  .curriculum-toggle { grid-template-columns:40px minmax(0,1fr) auto 40px; gap:18px; padding:29px; }
  .curriculum-label h3 { font-size:24px; }
  .curriculum-label p { font-size:16px; }
  .curriculum-body { padding:0 29px 28px 87px; }
}
@media (max-width:740px) {
  .curriculum { padding:15px 0 90px; }
  .curriculum-heading { margin-bottom:35px; }
  .curriculum-heading h2 { font-size:31px; }
  .curriculum-heading h2 span { display:block; margin:6px 0 0; font-size:clamp(25px,7.4vw,35px); white-space:nowrap; }
  .curriculum-heading>p { margin-top:21px; font-size:16px; max-width:420px; }
  .curriculum-break { display:none; }
  .curriculum-modules { gap:18px; }
  .curriculum-card { --curriculum-radius:25px; }
  .curriculum-toggle { grid-template-columns:minmax(0,1fr) auto 36px; gap:15px 12px; padding:24px; min-height:0; }
  .curriculum-number { grid-column:1; grid-row:1; font-size:30px; }
  .curriculum-meta { grid-column:2; grid-row:1; font-size:14px; }
  .curriculum-toggle>.curriculum-plus { grid-column:3; grid-row:1; width:36px; height:36px; }
  .curriculum-label { grid-column:1 / -1; grid-row:2; }
  .curriculum-label h3 { font-size:23px; line-height:1.3; }
  .curriculum-label p { margin-top:11px; font-size:15px; }
  .curriculum-body { padding:0 24px 22px; }
  .curriculum-lessons { padding-top:7px; gap:23px; }
  .curriculum-lessons>li { grid-template-columns:30px minmax(0,1fr); gap:12px; }
  .curriculum-lesson-number { font-size:22px; }
  .curriculum-lesson-range { font-size:14px; }
  .curriculum-lessons h4,.curriculum-lessons h5,.curriculum-lessons h6 { font-size:16px; }
  .curriculum-lessons p { font-size:14px; }
  .curriculum-subsection>summary { grid-template-columns:28px minmax(0,1fr) 28px; gap:10px; padding:18px 0; }
  .curriculum-subsection>summary :is(h4,h5) { font-size:17px; }
  .curriculum-group-heading { margin-bottom:18px; gap:6px 14px; }
  .curriculum-group-heading h4 { font-size:18px; }
  .curriculum-section-number { font-size:22px; }
  .curriculum-subsection .curriculum-plus { width:28px; height:28px; }
  .curriculum-subsection>.curriculum-lessons { padding:4px 0 23px; }
  .curriculum-subsection .curriculum-lessons>li { grid-template-columns:60px minmax(0,1fr); gap:12px; }
  #program-ai-models .curriculum-subsection .curriculum-lessons>li { grid-template-columns:30px minmax(0,1fr); }
  .curriculum-close { margin-top:22px; font-size:13px; }
}
@media (prefers-reduced-motion:reduce),(hover:none),(pointer:coarse) {
  .curriculum-card { transform:none!important; }
  .curriculum-card>.author-glare { display:none; }
}
