:root{--ink:#173e38;--muted:#5c7067;--paper:#f8f7f2;--white:#fffefa;--line:#d4ddd3;--soft:#edf1e8;--accent:#a76846;--radius:5px;--max:1160px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:140px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.75 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:5px}button,input,select{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}[hidden]{display:none!important}.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.35;text-wrap:pretty}h1{font-size:clamp(31px,4.4vw,52px);font-weight:650;letter-spacing:-.025em;margin-bottom:20px}h2{font-size:28px;font-weight:600;margin-bottom:20px}h3{font-size:22px;font-weight:600;margin-bottom:12px}p{margin-bottom:16px}.eyebrow{font-size:11px;letter-spacing:.14em;font-weight:600;color:var(--muted);margin-bottom:12px}.lead{font-size:18px;line-height:1.85;color:var(--muted);max-width:680px}.section{padding-top:62px;padding-bottom:62px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:26px}.section-head h2{margin-bottom:0}.text-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:550;text-decoration:none;border-bottom:1px solid #789486}.text-link:hover{color:var(--accent);border-color:var(--accent)}.button{display:inline-flex;justify-content:center;align-items:center;text-align:center;min-height:48px;padding:12px 22px;border:1px solid var(--ink);border-radius:3px;background:var(--ink);color:white;text-decoration:none;font-size:14px;font-weight:550;line-height:1.45;cursor:pointer;transition:background .15s}.button:hover{background:#285e50}.button.secondary{background:transparent;color:var(--ink);border-color:#91a899}.button.secondary:hover{background:var(--soft)}.button.compact{min-height:40px;padding:9px 18px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px}.skip{position:absolute;left:12px;top:-100px;z-index:100;background:white;padding:12px}.skip:focus{top:12px}.site-header{position:sticky;top:0;z-index:40;background:rgba(248,247,242,.98);border-bottom:1px solid var(--line)}.header-top{max-width:var(--max);margin:auto;padding:17px 24px 12px;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:73px}.brand{display:flex;align-items:center;gap:20px;text-decoration:none;min-width:0}.brand img{width:180px;height:40px;object-fit:contain}.brand span{border-left:1px solid var(--line);padding-left:20px;font-size:12px;color:var(--muted);white-space:nowrap}.header-tools{display:flex;gap:24px;align-items:center}.header-tool{min-height:44px;display:inline-flex;align-items:center;font-size:12px;text-decoration:none}.desktop-nav{display:flex;justify-content:center;gap:42px;min-height:43px}.desktop-nav a{font-size:13px;text-decoration:none;padding:8px 0;border-bottom:2px solid transparent}.desktop-nav a[aria-current]{border-color:var(--ink);font-weight:650}.mobile-menu{display:none}.home-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);gap:66px;align-items:center;padding-top:64px;padding-bottom:46px}.page-heading{padding:44px 0 20px}.home-hero .page-heading{padding:0}.home-hero h1{max-width:720px}.trust-logos{display:flex;align-items:center;flex-wrap:wrap;gap:28px;margin-top:38px}.trust-logos img{width:150px;height:45px;object-fit:contain;object-position:left center}.hero-dates{border-top:3px solid var(--accent);padding:26px 28px 20px;background:var(--soft)}.hero-dates h2{font-size:21px;margin:10px 0 22px}.hero-date{display:flex;align-items:center;gap:20px;padding:20px 0;border-top:1px solid #ccd6c6;text-decoration:none}.hero-date>span{font-size:26px;color:var(--accent);font-variant-numeric:tabular-nums;line-height:1.2;min-width:66px}.hero-date>span small{display:block;font-size:12px;color:var(--muted);margin-top:6px}.hero-date>div{flex:1}.hero-date strong{font-size:15px}.hero-date>div small{display:block;font-size:12px;color:var(--muted);margin-top:6px}.hero-date b{font-size:19px;font-weight:400}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.course-card{display:flex;flex-direction:column;padding:25px;border:1px solid var(--line);background:var(--white);min-width:0;transition:border-color .15s}.course-card:hover{border-color:#779787}.course-code{font-size:33px;font-weight:550;letter-spacing:-.025em;margin:14px 0 9px}.course-card h2{font-size:22px;margin-bottom:15px}.course-title{text-decoration:none}.card-summary{font-size:14px;color:var(--muted);line-height:1.8;margin-bottom:20px}.topic-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}.topic-chips span{font-size:11px;line-height:1.5;border:1px solid #dbe2d8;padding:4px 7px;color:#597262;max-width:100%}.course-bottom{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:11px;color:var(--muted)}.kind{font-size:12px;color:var(--accent);margin:8px 0 16px}.course-card>.text-link{align-self:flex-start;margin-top:12px}.format-section{background:#e8eee4;padding:54px 0}.format-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.format-grid article{border-top:1px solid #c5d1c0;padding-top:20px}.step-num{display:block;font-size:38px;font-weight:450;line-height:1;color:#6f8a70;margin-bottom:26px}.format-grid h3{font-size:23px}.format-grid article>p:not(.eyebrow){font-size:14px;color:var(--muted);line-height:1.9}.section-note{font-size:12px;color:var(--muted);margin:26px 0 0}.class-list{display:grid;gap:14px}.class-card{display:grid;grid-template-columns:108px minmax(0,1fr) auto;gap:28px;align-items:center;background:var(--white);padding:25px;border:1px solid var(--line)}.date-tile{border-right:1px solid var(--line);padding-right:24px;display:grid;align-content:start;gap:8px;color:var(--muted);font-variant-numeric:tabular-nums}.date-tile small{font-size:13px}.date-tile strong{font-size:31px;line-height:1.15;color:var(--accent);font-weight:500}.date-tile>span{font-size:12px}.class-main h2{font-size:23px;margin-bottom:10px}.class-main h2 a{text-decoration:none}.class-main .eyebrow{margin-bottom:7px}.class-place{font-size:20px;font-weight:550;margin-bottom:5px}.class-place span{font-size:12px;color:var(--muted);font-weight:400;margin-left:18px}.class-teachers{font-size:13px;color:var(--muted);margin-bottom:0}.class-action{display:flex;align-items:end;flex-direction:column;gap:20px}.info-badge{display:inline-block;background:#e7ede1;padding:5px 11px;font-size:11px;border-radius:2px;font-weight:550;letter-spacing:.025em}.institute-section{padding-top:15px}.institute-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.institute-grid article{display:flex;gap:24px;align-items:center;padding:25px;border:1px solid var(--line);background:#fffefa}.institute-grid img{width:100px;height:auto;object-fit:contain;flex:none}.institute-grid h3{font-size:21px}.institute-grid p:not(.eyebrow){font-size:13px;color:var(--muted)}.institute-grid .text-link{font-size:12px}.filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:22px;background:var(--soft);border:1px solid #d7e0d1}.filters label{display:grid;gap:8px;min-width:130px;flex:1;font-size:12px;font-weight:550}.filters .search-field{flex:1.7;min-width:200px}.filters input,.filters select{width:100%;min-height:46px;padding:11px 12px;font-size:14px;line-height:1.4;background:var(--white);color:var(--ink);border:1px solid #bfcdbf;border-radius:2px;min-width:0}.filters .button{min-height:46px}.reset{font-size:12px;min-height:44px;display:flex;align-items:center}.filter-message{font-size:13px;color:#824428;margin:10px 0}.filter-message:empty{display:none}.result-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:24px 0;font-size:13px;color:var(--muted)}[data-results]{margin-bottom:60px}.empty-state{padding:30px;background:var(--soft);border:1px solid var(--line);margin:20px 0}.empty-state h2,.empty-state h3{font-size:23px}.empty-state p{font-size:14px;color:var(--muted)}.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:28px 0 8px;font-size:12px;color:var(--muted)}.breadcrumb a{min-height:32px;display:flex;align-items:center}.detail-hero{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);gap:60px;align-items:center;padding:36px 0 45px}.detail-hero h1{font-size:clamp(31px,4vw,48px)}.overview-panel{padding:27px;background:var(--soft);border-top:3px solid #80987e}.overview-panel h2{font-size:23px}.overview-panel p:not(.eyebrow){font-size:14px;color:var(--muted)}.source-strip{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0;font-size:12px;color:var(--muted)}.source-strip a{min-height:32px;display:flex;align-items:center}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:50px}.compact-section{padding-top:36px;padding-bottom:20px}.compact-section h2{font-size:26px}.topics-list{list-style:none;padding:0;margin:28px 0}.topics-list li{display:flex;gap:22px;border-top:1px solid var(--line);padding:17px 0;font-size:16px}.topics-list li>span{font-size:13px;color:var(--accent);font-variant-numeric:tabular-nums;padding-top:3px}.reading-layer{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:25px 0}.reading-layer summary{font-size:16px;font-weight:550;min-height:52px;padding:16px 2px;cursor:pointer}.reading-layer>div{padding:15px 3px 23px;color:var(--muted);font-size:14px}.reading-layer h3{font-size:18px;color:var(--ink);margin-top:15px}.notice{font-size:13px;padding:18px;background:var(--soft);border-left:3px solid #9aaf92;color:var(--muted)}.faculty-panel{padding-top:40px;align-self:start;position:sticky;top:135px}.faculty-panel h2{font-size:23px;line-height:1.5}.faculty-panel>p:not(.eyebrow){font-size:13px;color:var(--muted)}.teacher-link{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:18px 0;border-top:1px solid var(--line);text-decoration:none}.teacher-link strong{display:block;font-size:15px;font-weight:550}.teacher-link small{display:block;font-size:12px;color:var(--muted);margin-top:3px}.teacher-link>span:last-child{font-size:11px;color:var(--muted);white-space:nowrap}.faculty-panel .teacher-link{flex-direction:column;align-items:start;gap:4px}.faculty-panel>.text-link{margin-top:20px;font-size:12px}.detail-classes .class-card{grid-template-columns:85px minmax(0,1fr);gap:18px;padding:20px}.detail-classes .date-tile{padding-right:16px}.detail-classes .date-tile strong{font-size:26px}.detail-classes .class-main h2{font-size:19px}.detail-classes .class-action{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:14px}.cohort-heading{padding:35px 0 40px;border-bottom:1px solid var(--line)}.cohort-heading h1{margin-bottom:26px}.class-city-title{font-size:27px;font-weight:600;margin-bottom:12px}.class-full-date{font-size:23px;font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin-bottom:20px}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:55px;padding-top:40px}.facts-panel h2{font-size:25px}.facts-panel dl{margin:0 0 35px}.facts-panel dl>div{display:grid;grid-template-columns:150px 1fr;gap:18px;padding:18px 0;border-top:1px solid var(--line)}dt{font-size:13px;color:var(--muted)}dd{margin:0;font-size:15px}.facts-panel h3{font-size:18px}.booking-panel{padding:27px;background:var(--soft);border-top:3px solid var(--accent);align-self:start;position:sticky;top:140px}.price-caption{font-size:13px;color:var(--muted);margin-bottom:8px}.reference-price{font-size:37px;line-height:1.25;font-weight:550;margin-bottom:16px;font-variant-numeric:tabular-nums}.price-note,.consult-note,.small-note{font-size:12px;color:var(--muted);line-height:1.85}.booking-panel>.button{width:100%;margin-top:12px}.consult-note{margin-top:15px}.booking-divider{height:1px;background:#cad6c4;margin:24px 0}.booking-panel>.text-link{margin-bottom:16px}.mobile-action{display:none}.site-footer{margin-top:55px;background:#e9eee4;border-top:1px solid #d2dccb;padding:45px 0 20px;color:#526a5d}.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:50px}.footer-brand{font-size:23px;font-weight:550;color:var(--ink)}.footer-grid p:not(.footer-brand){font-size:13px}.footer-grid h2{font-size:14px;margin-bottom:15px}.footer-grid>div>a{display:block;text-decoration:none;font-size:12px;min-height:34px;line-height:2.4}.footer-note{border-top:1px solid #c9d6c2;margin-top:24px;padding-top:23px;font-size:11px}.footer-note p{margin:8px 0}.footer-note a{display:inline-block;min-height:25px}.is-ended{opacity:.65}.unavailable{background:#edf0e8;color:#365747;font-size:12px}
@media(max-width:980px){.home-hero{gap:30px;grid-template-columns:1.25fr 1fr}.hero-dates{padding:22px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-layout{grid-template-columns:minmax(0,1fr) 245px;gap:25px}.detail-hero{gap:30px}.booking-layout{grid-template-columns:minmax(0,1fr) 290px;gap:28px}.institute-grid article{flex-direction:column;align-items:start}.institute-grid img{width:120px}.brand span{display:none}.class-card{gap:20px}.footer-grid{gap:25px}}
@media(max-width:680px){html{scroll-padding-top:108px}.wrap{padding-left:22px;padding-right:22px}.header-top{padding:13px 20px;min-height:72px}.brand img{width:152px;height:34px}.header-tools,.desktop-nav{display:none}.mobile-menu{display:block}.mobile-menu>summary{list-style:none;cursor:pointer;min-width:66px;min-height:44px;padding:9px 10px;border:1px solid #80998a;font-size:14px;text-align:center}.mobile-menu>summary::-webkit-details-marker{display:none}.mobile-menu>summary::after{content:' ＋';font-size:14px}.mobile-menu[open]>summary::after{content:' −'}.mobile-menu nav{position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--line);padding:12px 22px 20px;display:grid;grid-template-columns:1fr 1fr;gap:3px 20px;max-height:65vh;overflow:auto}.mobile-menu nav>a{min-height:48px;display:flex;align-items:center;border-bottom:1px solid var(--line);font-size:14px;text-decoration:none}.home-hero{grid-template-columns:1fr;padding-top:34px;padding-bottom:10px;gap:32px}.home-hero h1{font-size:35px}.home-hero .lead{font-size:15px}.home-hero .actions{gap:10px}.home-hero .button{padding:12px 15px;font-size:13px}.trust-logos{margin-top:27px;gap:24px}.trust-logos img{width:130px;height:34px}.hero-dates{padding:22px}.hero-date{padding:15px 0}.hero-dates .text-link{font-size:13px}.section{padding-top:40px;padding-bottom:34px}.section-head{gap:8px;margin-bottom:21px}.section-head h2{font-size:25px}.section-head .text-link{font-size:12px}.course-grid{grid-template-columns:1fr;gap:16px}.course-card{padding:22px}.course-card h2{font-size:23px}.course-code{font-size:31px;margin-top:7px}.format-section{padding:36px 0}.format-grid{grid-template-columns:1fr;gap:27px}.format-grid article{position:relative;padding-left:48px;padding-top:18px}.step-num{position:absolute;left:0;top:22px;font-size:27px}.format-grid h3{font-size:23px}.format-grid .eyebrow{font-size:10px}.class-card{grid-template-columns:78px minmax(0,1fr);gap:18px;padding:20px}.date-tile{padding-right:16px;gap:8px}.date-tile strong{font-size:26px}.class-main h2{font-size:21px}.class-main .eyebrow{font-size:10px;letter-spacing:.02em}.class-place{font-size:21px}.class-teachers{font-size:12px;overflow-wrap:anywhere}.class-action{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:14px}.class-action .button{min-height:44px;padding:10px 16px;font-size:13px}.institute-grid{grid-template-columns:1fr;gap:18px}.institute-grid article{flex-direction:row;align-items:center;gap:20px;padding:20px}.institute-grid img{width:95px}.institute-grid h3{font-size:20px}.institute-grid .eyebrow{font-size:10px}.institute-grid .text-link{font-size:11px}.page-heading{padding:30px 0 18px}.page-heading h1{font-size:31px}.page-heading .lead{font-size:15px}.filters{padding:18px;gap:13px;display:grid;grid-template-columns:1fr 1fr}.filters label{min-width:0;width:100%}.filters .search-field{grid-column:1/-1;min-width:0}.filters input,.filters select{font-size:13px}.filters .button{padding:10px 14px}.filters .reset{justify-content:center}.result-bar{margin:20px 0;font-size:12px;gap:6px}.result-bar .text-link{font-size:11px}.breadcrumb{padding-top:18px;font-size:11px}.detail-hero{grid-template-columns:1fr;gap:25px;padding:25px 0 30px}.detail-hero h1{font-size:34px}.detail-hero .lead{font-size:16px}.overview-panel{padding:22px}.detail-layout{display:flex;flex-direction:column;gap:0}.faculty-panel{position:static;padding:25px 0;border-top:1px solid var(--line)}.faculty-panel .teacher-link{flex-direction:row;align-items:center}.faculty-panel .teacher-link>span:last-child{font-size:11px}.topics-list li{font-size:15px}.compact-section{padding-top:30px;padding-bottom:10px}.source-strip{font-size:11px}.cohort-heading{padding:26px 0}.cohort-heading h1{font-size:32px}.class-city-title{font-size:25px}.class-full-date{font-size:18px;line-height:1.8}.booking-layout{display:flex;flex-direction:column;gap:25px;padding-top:27px}.booking-panel{position:static;order:-1;width:100%;padding:24px}.booking-panel .eyebrow{font-size:10px}.booking-panel .reference-price{font-size:33px}.facts-panel dl>div{grid-template-columns:100px 1fr;gap:16px}.teacher-link{gap:10px}.teacher-link strong{font-size:14px}.mobile-action{display:flex;gap:18px;align-items:center;justify-content:space-between;position:fixed;z-index:30;bottom:0;left:0;right:0;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:rgba(248,247,242,.99);border-top:1px solid #c5d2c4}.mobile-action>.button{flex:1;min-height:46px}.mobile-action>a:last-child:not(.button){font-size:12px;min-height:44px;display:flex;align-items:center}.site-footer{margin-top:35px;padding-top:33px;padding-bottom:110px}.footer-grid{grid-template-columns:1fr 1fr;gap:25px}.footer-grid>div:first-child{grid-column:1/-1}.footer-brand{font-size:22px}.footer-note{font-size:10px}.footer-grid>div>a{min-height:40px}.empty-state{padding:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media print{.site-header,.site-footer,.mobile-action,.filters,.actions,.skip{display:none!important}body{background:white;color:#172f29;font-size:12pt}.wrap{max-width:none;padding:0}.course-grid,.format-grid{grid-template-columns:1fr 1fr}.detail-layout,.detail-hero,.booking-layout,.home-hero{display:block}.faculty-panel,.booking-panel{position:static}.reading-layer>div{display:block!important}.class-card,.course-card{break-inside:avoid}a{text-decoration:none}.section{padding:20px 0}}

.cohort-teachers{font-size:15px;color:var(--muted);line-height:1.9;margin:0 0 20px}.cohort-teachers a{display:inline-block;min-height:32px}

.legacy-entry { margin-top:24px; padding-top:20px; border-top:1px solid var(--line); }
.legacy-entry h3 { font-size:18px; margin:0 0 10px; }
.facts-panel dd { overflow-wrap:anywhere; }

.guide-layout .booking-panel { order:0; }
.guide-layout .booking-panel .button { width:100%; }

.button:disabled{opacity:.55;cursor:default}.muted{color:var(--muted);font-size:13px}.learner-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:42px;margin:15px 0 60px}.learner-panel{min-width:0;border:1px solid var(--line);background:var(--white);padding:30px}.learner-panel>p{font-size:14px;color:var(--muted)}.learner-status{min-height:50px;padding:14px 0;border-bottom:1px solid var(--line);margin:18px 0}.learner-orders{display:grid;gap:20px}.learner-order{padding:24px;background:var(--soft);border:1px solid var(--line);overflow-wrap:anywhere}.learner-order h3{font-size:20px}.learner-item{border-top:1px solid var(--line);padding-top:16px;margin:18px 0}.learner-item h4{font-size:17px;margin:0 0 10px}.learner-item p{font-size:14px;margin-bottom:8px}.learner-item .text-link{display:flex;max-width:max-content}.learner-paging{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:24px 0}.learner-paging span{font-size:12px;color:var(--muted)}.learner-support article{padding:24px 0;border-top:1px solid var(--line)}.learner-support article h3{font-size:20px}.learner-support article p{font-size:14px;color:var(--muted)}
@media(max-width:680px){.learner-layout{display:flex;flex-direction:column;gap:30px}.learner-panel{padding:21px}.learner-panel .actions{gap:12px}.learner-panel .button{padding:11px 14px}.learner-order{padding:18px}.learner-paging .button{font-size:12px;min-height:44px;padding:10px 12px}.learner-paging span{font-size:11px}.learner-support{padding-top:10px}}
@media print{.learner-panel{display:none!important}.learner-layout{display:block}}

.cart-proceed{width:100%;margin:24px 0 14px}

.preparation-actions{margin:28px 0 18px}.preparation-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(250px,1fr);gap:44px;margin:38px 0 60px}.preparation-panel{padding:30px;border:1px solid var(--line);background:var(--white);min-width:0}.preparation-requirement{margin:0 0 22px;border-left:3px solid var(--accent);padding:16px 20px;background:var(--soft);line-height:1.85;overflow-wrap:anywhere}.preparation-checks{display:grid;gap:14px;margin:24px 0}.preparation-checks label{display:flex;align-items:start;gap:15px;padding:18px;border:1px solid var(--line);cursor:pointer}.preparation-checks input{width:19px;height:19px;margin-top:5px;flex:none;accent-color:var(--ink)}.preparation-checks strong{display:block;font-weight:550}.preparation-checks small{display:block;margin-top:7px;line-height:1.85;color:var(--muted)}[data-preparation-progress]{font-size:13px;color:var(--muted)}.preparation-support article{padding:24px 0;border-top:1px solid var(--line)}.preparation-support h3{font-size:20px}.preparation-support p{color:var(--muted);font-size:14px}
@media(max-width:680px){.preparation-layout{display:flex;flex-direction:column;gap:30px}.preparation-panel{padding:22px}.preparation-actions{gap:12px}.preparation-actions .button{padding:12px 15px}.preparation-checks label{padding:16px;gap:12px}}
@media print{.preparation-actions,.preparation-reset{display:none!important}.preparation-layout{display:block;margin:15px 0}.preparation-panel{border:0;padding:0}.preparation-page .cohort-heading{padding:12px 0}.preparation-page .cohort-heading h1{font-size:24pt}.preparation-page .section{padding:14px 0}.preparation-checks label,.preparation-requirement,.preparation-support article{break-inside:avoid}.preparation-checks input{print-color-adjust:exact}.preparation-support{margin-top:25px}.preparation-page .cohort-heading .small-note{font-size:10pt}}

@page preparation{size:A4;margin:14mm 16mm}
@media print{.preparation-page{page:preparation;font-size:10.5pt;line-height:1.45}.preparation-page h2{font-size:15pt;margin:14px 0 8px}.preparation-page h3{font-size:12pt;margin:8px 0}.preparation-page p{margin:8px 0}.preparation-page .cohort-heading h1{font-size:20pt;margin:10px 0}.preparation-page .lead{font-size:12pt;line-height:1.5}.preparation-page .class-full-date{font-size:14pt;margin:10px 0}.preparation-page .cohort-teachers{font-size:10.5pt;margin:8px 0}.preparation-page .kind{margin:5px 0}.preparation-page .section{padding:9px 0}.preparation-page .cohort-heading .small-note{font-size:9pt}.preparation-requirement{padding:10px 14px;margin:10px 0}.preparation-checks{grid-template-columns:1fr 1fr;gap:8px;margin:12px 0;break-inside:avoid}.preparation-checks label{padding:10px;gap:9px}.preparation-checks small{font-size:9pt;line-height:1.45;margin-top:5px}.preparation-page .preparation-panel .actions{display:flex!important;gap:15px}.preparation-page .text-link{min-height:25px;font-size:10pt}.preparation-support{margin-top:15px}.preparation-support article{padding:10px 0}.preparation-support article:last-child{display:none}.preparation-support p{font-size:10pt;line-height:1.45}}

.class-action .comparison-entry{font-size:13px;color:var(--muted);text-underline-offset:4px}

.learning-context{margin:10px 0 28px}.learning-context select{min-width:0;max-width:100%;width:100%;min-height:44px;padding:10px;border:1px solid var(--line);background:var(--white);font:inherit;color:var(--ink)}.learning-context form .actions{display:grid;grid-template-columns:minmax(0,1fr) auto}.learning-context label{display:block;margin:12px 0}.learning-context [data-context-detail] .text-link{display:inline-flex;margin:6px 22px 6px 0;min-height:44px;align-items:center}.learning-context p{overflow-wrap:anywhere}@media(max-width:680px){.learning-context form .actions{grid-template-columns:1fr}.learning-context{padding:21px}}

.purchase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:24px 0}.purchase-card{padding:25px;border:1px solid var(--line);background:var(--white);min-width:0;overflow-wrap:anywhere}.purchase-card h3{font-size:22px;margin:12px 0}.purchase-card p{font-size:14px}.purchase-card .purchase-price{font-size:19px;font-weight:600;color:var(--ink)}.purchase-control .button{width:100%;margin:8px 0}.purchase-control .small-note{font-size:12px;line-height:1.8}.purchase-control .text-link{display:flex;min-height:44px;align-items:center}.purchase-unavailable{padding:18px;background:var(--soft);margin:16px 0}.purchase-unavailable h3{font-size:20px}.purchase-unavailable p{font-size:14px}.purchase-unlisted{font-size:11px;max-width:190px;line-height:1.5;color:var(--muted);text-decoration:underline;text-underline-offset:4px;min-height:44px;display:flex;align-items:center}.class-action .button[data-native-purchase]{background:var(--ink);color:var(--white)}@media(max-width:950px){.purchase-grid{grid-template-columns:1fr}.purchase-card{padding:22px}.desktop-nav{gap:20px}}@media(max-width:680px){.class-action{flex-wrap:wrap}.class-action .purchase-unlisted{max-width:160px;font-size:11px}.purchase-grid{gap:16px}.purchase-card h3{font-size:21px}.mobile-action .button.secondary{flex:0 0 auto}.purchase-unavailable{padding:15px}}

/* Complete book covers and course-specific illustrations, with explicit provenance. */
.course-visual{margin:0 0 20px;min-width:0}.course-visual img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#f3f0e8;border-radius:3px}.course-visual figcaption{font-size:11px;line-height:1.5;margin-top:8px;color:var(--muted)}.cover-source{display:inline-block;padding:5px 0;text-decoration:none}.cover-source:hover{text-decoration:underline}.course-visual-thumb{float:right;width:110px;margin:0 0 10px 16px}.course-visual-thumb figcaption{font-size:10px}.class-main:after{content:"";display:block;clear:both}@media(max-width:680px){.course-visual-thumb{width:72px;margin-left:10px}.course-visual-thumb figcaption{display:none}}@media(min-width:681px) and (max-width:950px){.purchase-card>.course-visual{max-width:340px;margin-left:auto;margin-right:auto}}

.purchase-grid>[data-purchase-empty]{grid-column:1/-1}
