/* Shared whole-course curriculum; the asset path is retained for existing pages. */
.esssp-catalog,.esssp-mode{padding:72px 0;color:#203f49;scroll-margin-top:220px}
.esssp-catalog{background:#fff}.esssp-mode{background:#f4f7f1}
.esssp-catalog .wrap,.esssp-mode .wrap{width:calc(100% - 44px);max-width:1224px;padding:0;margin:0 auto}
.esssp-catalog h2,.esssp-mode h2{font-size:clamp(28px,3.2vw,44px);line-height:1.3;margin:12px 0 24px;letter-spacing:normal}
.esssp-catalog p,.esssp-catalog li,.esssp-mode p,.esssp-mode dd{font-size:17px;line-height:1.85;overflow-wrap:anywhere}
.esssp-catalog .eyebrow,.esssp-catalog .esssp-unit-label{font-size:14px;font-weight:700;letter-spacing:normal}
.esssp-program-summary,.esssp-curriculum-key{max-width:84ch}
.esssp-catalog .esssp-curriculum-key{font-size:15px;color:#52676c;margin:20px 0 40px}
.esssp-unit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}
.esssp-unit{min-width:0;border:1px solid #d4ded9;border-left:4px solid #74928b;border-radius:12px;background:#f8fbfa;scroll-margin-top:220px;overflow:hidden}
.esssp-unit:nth-child(even){border-left-color:#899ac2;background:#f7f9fd}
.esssp-unit-details{margin:0}
.esssp-unit-details summary{list-style:none;cursor:pointer;padding:24px;min-height:142px}
.esssp-unit-details summary::-webkit-details-marker{display:none}
.esssp-unit-details summary:focus-visible{outline:3px solid #6974aa;outline-offset:-4px;border-radius:10px}
.esssp-catalog .esssp-unit-heading{position:relative;margin:0;padding-right:28px;font-size:25px;line-height:1.4;letter-spacing:normal}
.esssp-unit-heading>span{display:block}
.esssp-unit-heading .esssp-unit-label{color:#52676c;line-height:1.6;margin-bottom:10px}
.esssp-unit-title{font-weight:700}
.esssp-unit-action{font-size:14px;font-weight:600;color:#52676c;line-height:1.6;margin-top:14px}
.esssp-unit-details .esssp-hide,.esssp-unit-details[open] .esssp-show{display:none}
.esssp-unit-details[open] .esssp-hide{display:inline}
.esssp-toggle{position:absolute;right:0;top:5px;width:18px;height:18px;color:#203f49}
.esssp-toggle:before,.esssp-toggle:after{content:"";position:absolute;background:currentColor;left:1px;top:8px;width:16px;height:2px}
.esssp-toggle:after{transform:rotate(90deg);transition:transform .18s ease,opacity .18s ease}
.esssp-unit-details[open] .esssp-toggle:after{transform:rotate(0);opacity:0}
.esssp-unit-details[open]>.esssp-unit-resources{animation:esssp-reveal .18s ease-out}
.esssp-unit-resources{padding:0 24px 24px}
.esssp-unit-resources>.esssp-unit-outcomes{padding-bottom:16px;border-bottom:1px solid #d4ded9;margin:0 0 16px}
.esssp-catalog .esssp-unit-english{font-size:15px;margin:0 0 12px;color:#52676c}
.esssp-catalog h4{font-size:16px;line-height:1.6;margin:22px 0 4px;letter-spacing:normal}
.esssp-unit p{margin:4px 0 12px}
.esssp-unit-resources ol{padding-left:24px}
.esssp-unit-resources li{padding:8px 0;border-bottom:1px solid #e2e7e1}
.esssp-catalog .lesson-list,.esssp-text-list{list-style:none;margin:0;padding:0}
.esssp-catalog .lesson-list li,.esssp-text-list li{display:grid;grid-template-columns:74px minmax(0,1fr);gap:12px;align-items:start}
.esssp-unit-resources strong{font-weight:600}.esssp-unit-resources small{display:block;font-size:15px;line-height:1.7;color:#52676c}
.esssp-starting-point{padding:24px 0;margin:32px 0 0;border-top:1px solid #b9c7bd}
.esssp-mode .en-fixed{margin-top:36px}
.esssp-faq{margin:36px 0 0;padding-top:28px;border-top:1px solid #b9c7bd}
.esssp-faq dt{font-size:20px;line-height:1.5;font-weight:700}.esssp-faq dd{margin:12px 0 0;max-width:85ch}
/* Both rows share the same grid tracks and divider rather than separate ratios. */
body .v8-esssp-plan{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:0}
body .v8-course-total{padding-left:32px}
body .v8-subject-balance{gap:0}
body .v8-subject-balance>span:last-child{border-left:1px solid #fff}
@keyframes esssp-reveal{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:720px){.esssp-catalog,.esssp-mode{padding:48px 0}.esssp-unit-grid{grid-template-columns:1fr;gap:12px}.esssp-unit-details summary{padding:18px;min-height:0}.esssp-catalog .esssp-unit-heading{font-size:21px;line-height:1.45}.esssp-unit-heading .esssp-unit-label{font-size:12px;margin-bottom:6px}.esssp-unit-action{font-size:13px;margin-top:10px}.esssp-unit-resources{padding:0 18px 20px}.esssp-catalog .esssp-unit-outcomes{font-size:16px}.esssp-catalog .lesson-list li,.esssp-text-list li{grid-template-columns:62px minmax(0,1fr);gap:8px}}
@media(max-width:760px){body .v8-esssp-plan{grid-template-columns:1fr}body .v8-course-total{padding-left:0}}
@media(prefers-reduced-motion:reduce){.esssp-unit-details[open]>.esssp-unit-resources{animation:none}.esssp-toggle:after{transition:none}}
