/* Illustrations are public editorial assets, never protected-video previews. */
.review-course [data-illustrated-curriculum] { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.review-course [data-illustrated-curriculum] .lesson-card { position:relative; display:flex; flex-direction:column; gap:0; padding:0; min-width:0; overflow:hidden; background:#101714; border:1px solid #30423b; transition:border-color .2s ease,box-shadow .2s ease; }
.review-course [data-illustrated-curriculum] .lesson-card:hover { transform:none; border-color:#19b8e0; background:#101714; box-shadow:0 8px 28px #0004; }
.review-course [data-illustrated-curriculum] .lesson-card.featured { border-color:#8fee00; }
.review-course .lesson-art { display:block; position:relative; margin:0; aspect-ratio:3/2; background:#040b0e; overflow:hidden; border-bottom:1px solid #30423b; }
.review-course .lesson-art img { display:block; width:100%; height:100%; object-fit:contain; }
.review-course [data-illustrated-curriculum] .lesson-number { position:absolute; bottom:12px; left:12px; padding:9px 11px; border:1px solid #96ef0066; background:#06110fe8; color:#a5f71b; font-size:1.8rem; line-height:1; z-index:1; }
.review-course [data-illustrated-curriculum] .lesson-main { padding:22px; display:flex; flex-direction:column; flex:1; min-width:0; }
.review-course [data-illustrated-curriculum] .lesson-meta { color:#4dd4f3; font-size:.875rem; letter-spacing:.03em; margin-bottom:12px; }
.review-course [data-illustrated-curriculum] h3 { font-size:clamp(1.5rem,2vw,1.95rem); line-height:1.15; margin:0 0 14px; }
.review-course [data-illustrated-curriculum] p { font-size:1rem; line-height:1.6; margin:0 0 16px; color:#bcc9c2; }
.review-course [data-illustrated-curriculum] p:last-of-type { margin-top:auto; padding-top:14px; border-top:1px solid #30423b; font-size:.94rem; }
.lesson-trainer-link { display:inline-flex; align-items:center; align-self:start; min-height:44px; padding:9px 0; color:#54dafa; font-size:.9rem; font-weight:800; line-height:1.5; text-decoration:underline; text-underline-offset:4px; }
.lesson-trainer-link:hover { color:#b1ff38; }
.lesson-trainer-link:focus-visible { outline:3px solid #a5f71b; outline-offset:4px; }
.review-course .curriculum-art-note { color:#a6b5af; font-size:.875rem; line-height:1.6; margin:24px 0 0; }
.public-course-program li.has-lesson-art { grid-template-columns:minmax(112px,150px) minmax(0,1fr); gap:16px; align-items:start; }
.public-lesson-art { position:relative; margin:0; background:#040b0e; aspect-ratio:3/2; border:1px solid #30423b; overflow:hidden; }
.public-lesson-art img { display:block; width:100%; height:100%; object-fit:contain; }
.public-course-program li.has-lesson-art .public-lesson-copy { overflow-wrap:anywhere; }
.public-lesson-copy .lesson-art-caption { display:block; color:#4dd4f3; font-size:.875rem; line-height:1.4; }
.public-course-program li.has-lesson-art .public-lesson-copy>strong { font-size:1rem; line-height:1.5; }
.public-course-program li.has-lesson-art .public-lesson-copy>span:not(.lesson-art-caption) { font-size:.94rem; line-height:1.6; }
@media(min-width:1100px) {
 .review-course [data-illustrated-curriculum] .lesson-card:last-child { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
 .review-course [data-illustrated-curriculum] .lesson-card:last-child .lesson-art { height:100%; min-height:300px; border-bottom:0; border-right:1px solid #30423b; }
 .review-course [data-illustrated-curriculum] .lesson-card:last-child .lesson-main { align-self:center; padding:32px; }
 .review-course [data-illustrated-curriculum] .lesson-card:last-child h3 { font-size:2.2rem; }
}
@media(min-width:701px) and (max-width:1099px) { .review-course [data-illustrated-curriculum] { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:1099px) {
 .public-course-program li.has-lesson-art { grid-template-columns:minmax(0,1fr); gap:12px; }
 .public-course-program li.has-lesson-art .public-lesson-art { width:100%; max-width:400px; }
}
@media(max-width:700px) {
 .review-course [data-illustrated-curriculum] { grid-template-columns:minmax(0,1fr); gap:20px; }
 .review-course [data-illustrated-curriculum] .lesson-main { padding:20px; }
 .review-course [data-illustrated-curriculum] h3 { font-size:1.8rem; }
}
@media(prefers-reduced-motion:reduce) { .review-course [data-illustrated-curriculum] .lesson-card { transition:none; } }

/* One public programme: visible on the Academy page without an accordion. */
.curriculum-gallery { min-width:0; max-width:100%; grid-column:1/-1; margin:36px 0; scroll-margin-top:110px; }
.gallery-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:24px; }
.gallery-heading>div:first-child { min-width:0; }
.gallery-eyebrow { color:#a5f71b; font-size:.875rem; font-weight:800; letter-spacing:.07em; }
.gallery-heading h3 { color:#f5f6f2; font-size:clamp(1.8rem,3vw,2.65rem); line-height:1.14; margin:12px 0; }
.gallery-heading p { color:#b4c0b9; font-size:1rem; line-height:1.6; margin:0; }
.curriculum-gallery-track { position:relative; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; gap:20px; margin:0; padding:6px 0 20px; list-style:none; overflow:clip; }
.curriculum-gallery-track>li { min-width:0; display:flex; flex-direction:column; padding:0; border:1px solid #30423b; background:#101714; overflow:hidden; }
.curriculum-gallery-track>li:hover { border-color:#19b8e0; }
.curriculum-gallery-track figure { position:relative; flex:none; margin:0; aspect-ratio:3/2; background:#040b0e; border:0; border-bottom:1px solid #30423b; overflow:hidden; }
.curriculum-gallery-track figure img { display:block; width:100%; height:100%; object-fit:contain; }
.curriculum-gallery-track figure::after { content:none; }
.gallery-number { position:absolute; left:12px; bottom:12px; padding:7px 10px; color:#a5f71b; background:#06110fe8; border:1px solid #96ef0066; font:700 1.7rem/1 'Oswald',sans-serif; }
.curriculum-gallery-track .public-lesson-copy { display:flex; flex-direction:column; gap:12px; padding:22px; flex:1; overflow-wrap:anywhere; }
.curriculum-gallery-track .gallery-module { font-size:.875rem; line-height:1.5; color:#4dd4f3; }
.curriculum-gallery-track .lesson-art-caption { display:none; }
.curriculum-gallery-track h4 { margin:0; color:#f5f6f2; font-size:1.7rem; line-height:1.15; }
.curriculum-gallery-track .public-lesson-copy>span:last-of-type { font-size:1rem; line-height:1.65; color:#b4c0b9; }
.curriculum-gallery-track .lesson-trainer-link { margin-top:auto; }
.gallery-footer { display:flex; justify-content:space-between; align-items:center; gap:24px; padding-top:20px; }
.gallery-footer p { color:#a6b5af; font-size:.875rem; line-height:1.6; max-width:460px; margin:0; }
.gallery-footer .button { flex:none; }
@media(max-width:1099px) { .curriculum-gallery-track { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) {
 .gallery-heading { display:block; }
 .curriculum-gallery-track { grid-template-columns:minmax(0,1fr); gap:20px; }
 .curriculum-gallery-track .public-lesson-copy { padding:18px; }
 .gallery-footer { align-items:stretch; flex-direction:column; gap:16px; }
 .gallery-footer .button { width:100%; }
 .curriculum-gallery { scroll-margin-top:24px; }
}
@media(prefers-reduced-motion:reduce) {
 .curriculum-gallery-track>li,[data-illustrated-curriculum] .lesson-card { animation:none!important; transition:none!important; }
}
