/* Dense curved selector: titles stay upright, with a fixed reading panel. */
.curriculum{background:linear-gradient(145deg,#fff 15%,#f6f9ff 65%,#fff);border-color:#dbe5f2}
.curriculum::before{display:none}
.course-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid #d6e3f7;border-bottom:1px solid #d6e3f7}
.course-tab{padding:20px 17px 18px;border:0;border-bottom:3px solid transparent;background:transparent!important;color:var(--ink)!important;min-width:0}
.course-tab+.course-tab::before{content:'';position:absolute;left:0;top:20px;bottom:20px;width:1px;background:#dbe5f2}
.course-tab small{font:11px/1.4 Arial,sans-serif;letter-spacing:.13em;color:#637fac!important;margin-bottom:13px}
.course-tab strong{font:700 clamp(14px,1.4vw,17px)/1.6 var(--sans);letter-spacing:0}
.course-tab .course-count{font:11px/1.4 Arial,sans-serif;top:20px;right:17px;letter-spacing:.06em;color:#637fac!important}
.course-tab[aria-selected='true']{border-bottom-color:#0758ed;color:#0758ed!important}
.course-tab[aria-selected='true'] small,.course-tab[aria-selected='true'] .course-count{color:#0758ed!important}
.course-tab:hover{background:#edf4ff!important}
.course-intro{color:#5c7397;font-size:14px;margin:23px 0 12px;line-height:1.9}
.curriculum-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px 0 0}
.curriculum-toolbar p{display:flex;align-items:center;gap:18px;color:#6680a6;font-size:13px}
.curriculum-toolbar strong{color:#254369;font-weight:500;white-space:nowrap}
#curriculum-view{display:flex;align-items:center;gap:14px;min-height:44px;padding:10px 0;background:none;border:0;border-bottom:1px solid #0758ed;color:#0758ed;font-size:13px;font-weight:700;white-space:nowrap}
#curriculum-view span{font-size:20px;line-height:1}
.orbit-browser{display:grid;grid-template-columns:minmax(0,.46fr) minmax(0,.54fr);align-items:start;position:relative;isolation:isolate;margin-top:18px}
.curriculum-picker{min-width:0;padding-right:34px}
.curriculum-orbit{height:568px;position:relative;touch-action:pan-y;cursor:grab;user-select:none;overflow:hidden}
.curriculum-orbit.is-dragging{cursor:grabbing}
.orbit-track{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;fill:none;stroke-width:1}
.orbit-line{stroke:#bfd6ff}.orbit-dash{stroke:#d2e1fb;stroke-dasharray:3 12}
.orbit-gold{stroke:#e9b335;stroke-width:1.1}.orbit-dot{fill:#edb935;stroke:none}
.orbit-browser .chapter-list{position:absolute;inset:0;display:block;padding:0;max-height:none;overflow:visible;background:none;border:0}
.orbit-browser .chapter-button{position:absolute;left:0;top:0;display:flex;align-items:center;gap:12px;min-height:0;padding:6px 16px;border:1px solid #dbe7fb;border-radius:13px;background:rgba(255,255,255,.95);color:#254166;font-size:15px;line-height:1.35;text-align:left;box-shadow:0 5px 15px #0a3c7804;transition:background .18s,border-color .18s,color .18s,box-shadow .18s;will-change:transform}
.orbit-browser .chapter-button span{flex:0 0 24px;font:400 14px/1 Arial,sans-serif;color:#517cbf}
.orbit-browser .chapter-button b{font-weight:600;white-space:normal;word-break:normal;overflow-wrap:normal;line-break:strict;overflow:visible;text-overflow:clip;text-wrap:pretty}
.orbit-browser .chapter-button::after{display:none}
.orbit-browser .chapter-button:hover{background:#edf4ff;border-color:#84b3ff;color:#0758ed}
.orbit-browser .chapter-button[aria-pressed='true']{background:#0758ed;border-color:#0758ed;color:#fff;box-shadow:0 16px 40px #0758ed23}
.orbit-browser .chapter-button[aria-pressed='true'] span{color:#d2e2ff}
.orbit-browser .chapter-button[aria-pressed='true']::after{display:block;content:'✦';color:#f5c957;margin-left:auto;font:22px/1 Arial,sans-serif;flex-shrink:0}
.orbit-browser button:focus-visible,#curriculum-view:focus-visible{outline:3px solid #629cf7;outline-offset:4px}
.picker-controls{display:flex;align-items:center;justify-content:center;gap:30px;margin:0 0 7px}
.picker-controls button{display:grid;place-items:center;width:46px;height:46px;border:1px solid #cfdff6;border-radius:50%;background:#fff;color:#0b2048;font:28px/1 Arial,sans-serif;transition:background .18s,color .18s}
.picker-controls button:hover{background:#0758ed;color:#fff;border-color:#0758ed}
#orbit-position{font:20px/1 Arial,sans-serif;letter-spacing:.06em;color:#0758ed;min-width:76px;text-align:center}
#orbit-position i{font-style:normal;color:#7c93b5}
.picker-help{font-size:11px;color:#7389a9;text-align:center;line-height:1.7}
.picker-detail-link{display:none}
.orbit-browser .chapter-detail{position:relative;left:auto;right:auto;top:auto;transform:none;border:0;border-left:1px solid #d3e1f7;border-radius:0;box-shadow:none;background:none;min-height:0;padding:30px 0 18px 38px;margin:25px 0 0;overflow:hidden;scroll-margin-top:110px}
.orbit-browser .chapter-meta{font:700 13px/1.7 var(--sans);letter-spacing:.1em;justify-content:flex-start;gap:18px;min-height:26px}
.orbit-browser .chapter-meta::before{content:'';display:block;width:32px;height:1px;background:#edb935;flex-shrink:0}
.orbit-browser .chapter-meta strong{position:absolute;right:-6px;top:-1px;z-index:-1;color:#e8effa;font:400 clamp(120px,12vw,175px)/1 Arial,sans-serif;letter-spacing:-.06em;pointer-events:none}
.orbit-browser .chapter-detail h3{margin:24px 0 12px;font:700 clamp(25px,2.8vw,38px)/1.55 var(--sans);letter-spacing:.015em;text-wrap:pretty}
.orbit-browser .chapter-sub{font-size:17px;font-weight:500;line-height:1.9;color:#0758ed}
.orbit-browser .chapter-exp{font-size:16px;line-height:2.15;color:#4f668b;margin-top:23px}
.orbit-browser .chapter-facts{order:4;margin-top:23px;padding-top:20px;border-top:1px solid #d3e1f7}
.orbit-browser .chapter-facts>div:last-child{position:relative;padding:0 0 0 50px;background:none;border:0}
.orbit-browser .chapter-facts>div::before{content:'✓';display:grid;place-items:center;position:absolute;left:0;top:1px;width:32px;height:32px;border-radius:50%;background:#0758ed;color:#fff;font:19px/1 Arial,sans-serif}
.orbit-browser .chapter-facts dt{font-size:12px;color:#6684b1;font-weight:400;margin-bottom:8px}
.orbit-browser .chapter-facts dd{font-size:16px;line-height:1.9;font-weight:600;color:#142f55}
.chapter-extra{font-size:13px;color:#5e769b;margin-top:14px;order:5}
.chapter-extra summary{cursor:pointer;padding:10px 0;min-height:44px}
.chapter-extra p{padding:4px 0 12px;line-height:1.9}
.chapter-book{display:flex;align-items:center;justify-content:space-between;gap:18px;align-self:flex-start;font-size:14px;font-weight:700;color:#0758ed;text-decoration:none;min-height:48px;border-bottom:1px solid #0758ed;margin-top:14px;order:6}
.chapter-book span{font:24px/1 Arial,sans-serif;margin-left:15px}
.chapter-book:hover{color:#023fae}
.chapter-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.orbit-browser .chapter-back{display:none}
.curriculum-note{border-top:1px solid #d6e3f7;padding-top:24px;margin-top:32px;color:#637da5}
.curriculum-foot{color:#526e93}
.orbit-browser[data-view='list'] .curriculum-orbit{height:auto;cursor:auto;overflow:visible}
.orbit-browser[data-view='list'] .orbit-track,.orbit-browser[data-view='list'] .picker-controls,.orbit-browser[data-view='list'] .picker-help{display:none}
.orbit-browser[data-view='list'] .chapter-list{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:26px}
.orbit-browser[data-view='list'] .chapter-button{position:static;width:auto!important;height:auto!important;min-height:64px;padding:12px 11px;gap:8px;font-size:13px!important;will-change:auto}
.orbit-browser[data-view='list'] .chapter-button span{flex-basis:19px;font-size:12px}
.orbit-browser[data-view='list'] .chapter-button[aria-pressed='true']::after{display:none}
.orbit-browser[data-view='list'] .chapter-detail{margin-top:26px;padding-top:28px}

.chapter-more,.chapter-more-body{display:contents}
.chapter-more>summary{display:none}
.orbit-browser.is-consultation .curriculum-orbit{height:244px}
.orbit-browser.is-consultation .chapter-detail{margin-top:15px;padding-top:18px}
.course-tabs{scroll-margin-top:8px}
@media(max-width:1200px) and (min-width:841px){
 .course-tab small{font-size:9px}.course-tab .course-count{font-size:9px;position:static;display:block;margin-top:6px}
 .course-tab{padding:15px 12px}.course-tab strong{font-size:15px;line-height:1.6}
 .curriculum-picker{padding-right:20px}.orbit-browser .chapter-detail{padding-left:25px}.orbit-browser .chapter-detail h3{font-size:28px}
 .orbit-browser .chapter-button{padding-left:12px;padding-right:12px;gap:9px}
}
@media(max-width:1000px){.course-tabs{scroll-margin-top:0}}
@media(max-width:840px){
 .curriculum{padding-top:64px;padding-bottom:60px}
 .course-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
 .course-tab{display:block;padding:6px 10px;min-height:44px}.course-tab small{display:none}
 .course-tab strong{font-size:12px;line-height:1.5;white-space:normal;text-wrap:balance;letter-spacing:0}
 .course-tab .course-count{position:static;display:block;font-size:9px;margin-top:1px;line-height:1.3;letter-spacing:.04em}
 .course-tab+.course-tab::before{top:8px;bottom:8px}.course-tab:nth-child(3)::before{display:none}
 .course-intro{display:none}.curriculum-toolbar{padding:2px 0 0;gap:10px;align-items:center}.curriculum-toolbar p{font-size:11px;display:block}.orbit-instruction{display:none}#curriculum-view{font-size:11px;gap:8px;min-height:34px;padding:4px 0}
 .orbit-browser{grid-template-columns:minmax(0,1fr);margin-top:0;scroll-margin-top:0}
 .curriculum-picker{padding:0;width:100%;max-width:510px;justify-self:center}.curriculum-orbit{height:250px}
 .orbit-browser .chapter-button{padding:6px 12px;gap:9px;font-size:14px;line-height:1.3;border-radius:10px}
 .orbit-browser .chapter-button span{font-size:13px;flex-basis:21px}.orbit-browser .chapter-button[aria-pressed='true']::after{font-size:17px}
 .picker-controls{gap:26px;margin:0}.picker-controls button{width:40px;height:40px;font-size:23px}#orbit-position{font-size:16px}.picker-help,.picker-detail-link{display:none}
 .orbit-browser .chapter-detail{margin:8px 0 0;padding:10px 0 0;min-height:0;border-left:0;border-top:1px solid #d3e1f7;scroll-margin-top:84px;overflow:visible}
 .orbit-browser .chapter-back{display:none}
 .orbit-browser .chapter-meta{font-size:10px;min-height:18px;gap:11px;letter-spacing:.05em}.orbit-browser .chapter-meta::before{width:18px}.orbit-browser .chapter-meta strong{top:3px;font-size:75px;right:0}
 .orbit-browser .chapter-detail h3{font-size:23px;margin:7px 0 3px;line-height:1.5}.orbit-browser .chapter-sub{font-size:14px;line-height:1.6;font-weight:500}
 .orbit-browser .chapter-facts{margin:10px 0 0;padding-top:9px}.orbit-browser .chapter-facts>div:last-child{padding-left:35px}.orbit-browser .chapter-facts>div::before{width:25px;height:25px;font-size:16px;top:3px}
 .orbit-browser .chapter-facts dt{font-size:10px;margin-bottom:3px}.orbit-browser .chapter-facts dd{font-size:14px;line-height:1.65}
 .chapter-more{display:block;order:5;font-size:12px;color:#5e769b;margin-top:7px}.chapter-more-body{display:block}
 .chapter-more>summary{display:flex;align-items:center;gap:14px;list-style:none;cursor:pointer;min-height:38px;width:fit-content;border-bottom:1px solid #d5e1f1}
 .chapter-more>summary::after{content:'＋';font-size:16px}.chapter-more[open]>summary::after{content:'−'}
 .orbit-browser .chapter-exp{font-size:15px;line-height:1.9;margin:12px 0 0}.chapter-extra{font-size:12px;margin-top:6px}.chapter-extra summary{min-height:38px;padding:6px 0}
 .chapter-book{font-size:13px;min-height:38px;margin-top:7px}.chapter-book span{font-size:21px}
 .curriculum-note{margin-top:24px;padding-top:16px;font-size:11px}.curriculum-foot{margin-top:20px}
 .orbit-browser[data-view='list'] .chapter-list{padding-top:12px}
 .orbit-browser[data-view='list'] .chapter-detail{padding-top:12px;margin-top:18px}
 .orbit-browser[data-view='list'] .chapter-back{display:block;align-self:flex-start;margin:0 0 10px;font-size:11px;min-height:40px}
 .orbit-browser.is-consultation .curriculum-orbit{height:154px}.orbit-browser.is-consultation .chapter-detail{padding-top:10px;margin-top:8px}
}
@media(max-width:840px) and (max-height:799px){.curriculum-orbit{height:154px}}
/* Short phones keep the same readable titles and three cards, with less repeated metadata. */
@media(max-width:840px) and (max-height:640px){
 .course-tab{padding-top:5px;padding-bottom:5px}
 .curriculum-toolbar{padding-top:0}#curriculum-view{min-height:30px;padding:2px 0}
 .orbit-browser .chapter-detail,.orbit-browser.is-consultation .chapter-detail{margin-top:4px;padding-top:6px}
 .orbit-browser .chapter-meta{height:0;min-height:0}.orbit-browser .chapter-meta::before{display:none}
 .orbit-browser .chapter-meta>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .orbit-browser .chapter-detail h3{margin-top:0;line-height:1.4}.orbit-browser .chapter-sub{line-height:1.5}
 .orbit-browser .chapter-facts{margin-top:7px;padding-top:5px}.orbit-browser .chapter-facts dt{line-height:1.6}
}
@media(max-width:370px){
 .course-tab{padding-left:9px;padding-right:9px}.course-tab strong{font-size:12px}
 .orbit-browser .chapter-button{padding:6px 10px;gap:7px}.orbit-browser .chapter-button span{flex-basis:18px}
 .orbit-browser .chapter-button[aria-pressed='true']::after{display:none}
 .orbit-browser .chapter-detail h3{font-size:22px}
}
@media(prefers-reduced-motion:reduce){.orbit-browser .chapter-button{will-change:auto;transition:none}.picker-controls button{transition:none}}
