/* One readable hierarchy, using the site's existing paper and ink. */
.curriculum-page .course-section{margin:60px 0}
.curriculum-page .course-section>header{position:static;display:block;background:transparent;border:0;padding:0 0 22px;z-index:auto}
.curriculum-page .course-section h3{font-size:34px;line-height:1.2;margin:10px 0 14px}
.course-section .section-outcome{margin:0 0 8px;max-width:700px}
.course-section .section-includes{font-size:17px;color:var(--muted);margin:0}
.curriculum-page .studio>summary h4{font:400 27px/1.2 'Newsreader',Georgia,serif;letter-spacing:-.025em;margin:0 0 8px;color:var(--ink)}
.topic-count{display:block;font:11px/1.5 'IBM Plex Mono',monospace;color:var(--green);margin-top:10px}
.curriculum-page .topic-overview{padding:0 0 20px;border-bottom:1px solid var(--line);margin-bottom:24px}
.curriculum-page .topic-overview h5,.curriculum-page .lesson-list-label{font:500 12px/1.5 'IBM Plex Mono',monospace;letter-spacing:.02em;color:var(--green);margin:18px 0 12px}
.topic-overview ul{padding-left:22px;margin:0 0 20px}
.topic-result{margin:0;padding-left:16px;border-left:2px solid var(--green)}
.topic-result strong{display:block}
.curriculum-page .course-lesson-group h6{font:500 17px/1.4 'Newsreader',Georgia,serif;color:var(--green);margin:20px 0 10px}
.curriculum-page .course-lesson-group>ol{list-style:none;padding:0;margin:0}
.curriculum-page .course-lesson-group>ol>li{margin:0;border-top:1px solid var(--line);padding:0}
.curriculum-page .lesson-preview{border:0;background:transparent;padding:0}
.curriculum-page .studio .lesson-preview>summary{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:18px 24px 18px 0;position:relative;list-style:none;cursor:pointer}
.lesson-preview>summary::-webkit-details-marker{display:none}
.lesson-preview>summary::after{content:'+';position:absolute;right:0;top:18px;color:var(--green)}
.lesson-preview[open]>summary::after{content:'−'}
.lesson-number{font:11px/1.5 'IBM Plex Mono',monospace;color:var(--muted);padding-top:5px}
.lesson-preview strong{font-size:22px;line-height:1.3;font-weight:400;display:block}
.lesson-preview-idea{display:block;font-size:17px;line-height:1.5;color:var(--muted);margin-top:8px}
.lesson-preview-body{padding:0 0 24px 56px;font-size:18px}
.lesson-preview-body ul{padding-left:20px}
.lesson-preview-body li{margin:0 0 12px}
.curriculum-page .studio-lessons .lesson-preview-body button{display:inline-flex;width:auto;background:var(--green);color:var(--paper);border:0;padding:10px 18px;font-size:18px;gap:20px}
.curriculum-page .studio-plan{margin-top:28px}
.curriculum-page .course-extra{border:0;border-top:1px solid var(--line);background:transparent;padding:0;margin:0}
.curriculum-page .course-extra>summary{padding:24px 0;font:400 25px/1.4 'Newsreader',Georgia,serif;color:var(--green);cursor:pointer}
.course-extra>summary>span{display:block;margin:6px 0 0 20px;font-size:17px;color:var(--muted)}
.curriculum-page .course-extra>section{margin:10px 0 50px}
.lesson-goal strong{display:block;color:var(--green);font-size:16px;margin-bottom:6px}
.lesson-result{border-left:2px solid var(--green);padding-left:20px;margin:26px 0}
.curriculum-page #lesson-dialog .lesson-reading-header h3{font-size:25px;margin:24px 0 14px}
@media(max-width:650px){
 .curriculum-page .course-section h3{font-size:29px}
 .curriculum-page .studio>summary h4{font-size:25px}
 .curriculum-page .studio .lesson-preview>summary{grid-template-columns:1fr;gap:6px}
 .lesson-preview-body{padding-left:0}
 .lesson-preview strong{font-size:21px}
 .curriculum-page .course-extra>summary{font-size:23px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.curriculum-page .course-section>header{margin:0;height:auto;font-size:19px;letter-spacing:normal}
.curriculum-page .studio>summary h4{text-transform:none}
.curriculum-page .sidebar nav a{font:17px/1.35 'Newsreader',Georgia,serif;min-height:44px}
.curriculum-page .studio[open] .lesson-preview>summary::after{content:'+'}
.curriculum-page .studio[open] .lesson-preview[open]>summary::after{content:'−'}
.curriculum-page .studio[open] .lesson-preview>summary{background:transparent;align-items:start}
.curriculum-page .studio .lesson-preview>summary:hover{background:#16222e04}
.curriculum-page #lesson-dialog .lesson-course-context{font-size:15px;color:var(--muted);margin:0 0 12px}
.curriculum-page .course-extra>.course-extra,.curriculum-page .course-extra>.method-chapter,.curriculum-page .course-extra>.notes{margin-left:20px;margin-right:0}

/* Preserve Kyle's preferred six-colour overview of the course. */
.curriculum-page .course-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:30px 0 55px}
.overview-card{padding:24px;display:flex;flex-direction:column;background:#e8ece5}
.overview-card:nth-child(2){background:#eee6d7}
.overview-card:nth-child(3){background:#e2ebed}
.overview-card:nth-child(4){background:#eee0d8}
.overview-card:nth-child(5){background:#e9e3ee}
.overview-card:nth-child(6){background:#e0eae3}
.curriculum-page .overview-card h3{font-size:28px;line-height:1.16;margin:16px 0 24px}
.overview-card h3 a{color:var(--ink);text-decoration:none}
.overview-card h3 a:hover{text-decoration:underline}
.overview-card ul{list-style:none;margin:auto 0 0;padding:0;font-size:18px;line-height:1.4}
.overview-card li+li{margin-top:9px}
.overview-card li a{text-decoration:underline}
@media(min-width:651px) and (max-width:1100px){.curriculum-page .course-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.curriculum-page .course-overview{grid-template-columns:1fr;gap:12px;margin-bottom:35px}.overview-card{padding:24px}.curriculum-page .overview-card h3{font-size:28px;margin-bottom:20px}}
.curriculum-page .course-books{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}
.curriculum-page .book-card ul{margin-top:0}
.book-card-empty .book-status{margin:0;font-size:18px;line-height:1.4;font-style:italic}
.curriculum-page .book-throughline{margin:0 0 55px;font-size:18px;line-height:1.4}
.curriculum-page .book-throughline .eyebrow{display:block;margin-bottom:6px}
.curriculum-page .book-throughline a{text-decoration:underline}
@media(max-width:650px){.curriculum-page .course-books{grid-template-columns:1fr}.curriculum-page .book-throughline{margin-bottom:35px}}
.curriculum-page .book-extra{margin:18px 0 0;font:14px/1.4 'IBM Plex Mono',monospace}
.curriculum-page .book-extra a{text-decoration:underline}
