.cs-school {
    --cs-accent:#245c45; --cs-bg:#fafbf8; --cs-surface:#fff; --cs-ink:#222e29;
    --cs-muted:color-mix(in srgb,var(--cs-ink) 70%,transparent); --cs-on-accent:#fff; --cs-radius:8px; --cs-content-width:800px;
    box-sizing:border-box; background:var(--cs-bg); color:var(--cs-ink);
    padding:clamp(20px,4vw,48px); max-width:1280px; margin:24px auto;
    border:1px solid color-mix(in srgb,var(--cs-ink) 14%,transparent);
    border-radius:var(--cs-radius); font-size:16px; line-height:1.65;
}
.cs-school *, .cs-school *::before, .cs-school *::after { box-sizing:border-box }
.cs-font-theme { font-family:inherit }
.cs-font-system { font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif }
.cs-font-classic { font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif }
.cs-font-classic h1,.cs-font-classic h2,.cs-font-classic h3 { font-family:Georgia,"Times New Roman",serif; letter-spacing:-.02em }
.cs-radius-square { --cs-radius:2px }
.cs-radius-soft { --cs-radius:8px }
.cs-radius-round { --cs-radius:18px }
.cs-school a { color:var(--cs-accent); text-underline-offset:4px }
.cs-school a:focus-visible,.cs-school button:focus-visible { outline:3px solid #a36900; outline-offset:4px }
.cs-school h2 { font-size:clamp(26px,3vw,36px); line-height:1.2; letter-spacing:-.035em; margin:12px 0 20px; color:var(--cs-ink) }
.cs-school h3 { color:var(--cs-ink) }
.cs-header { display:flex; align-items:center; gap:16px; padding-bottom:24px; margin-bottom:38px; border-bottom:1px solid color-mix(in srgb,var(--cs-ink) 14%,transparent) }
.cs-header>a { font-weight:700; text-decoration:none }
.cs-header>span { margin-left:auto; font-size:13px }
.cs-logo { width:auto; max-width:160px; height:38px; object-fit:contain }
.cs-preview-notice { display:flex; align-items:center; gap:10px 18px; flex-wrap:wrap; margin:-18px 0 28px; padding:12px 16px; background:#fff8e5; border:1px solid #dba617; border-radius:calc(var(--cs-radius) * .7); color:#4d3a00 }
.cs-preview-notice span { font-size:13px }
.cs-kicker { font-size:12px; font-weight:650; letter-spacing:.09em; text-transform:uppercase; color:var(--cs-muted); margin:0 0 8px }
.cs-courses { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:24px; margin-top:32px }
.cs-course { background:var(--cs-surface); border:1px solid color-mix(in srgb,var(--cs-ink) 14%,transparent); border-radius:var(--cs-radius); overflow:hidden }
.cs-course>img { width:100%; height:200px; object-fit:cover }
.cs-course>div { padding:26px }
.cs-course h3 { font-size:24px; line-height:1.3; margin:8px 0 }
.cs-course p { color:var(--cs-muted) }
.cs-school .cs-button { display:inline-block; background:var(--cs-accent); color:var(--cs-on-accent); padding:12px 20px; border:2px solid var(--cs-accent); border-radius:calc(var(--cs-radius) * .65); font:inherit; font-weight:600; text-decoration:none; cursor:pointer }
.cs-button-outline .cs-button { background:transparent; color:var(--cs-accent) }
.cs-button:hover { filter:brightness(.9) }
.cs-progress { font-size:12px; color:var(--cs-muted); margin:20px 0 }
.cs-progress progress { display:block; width:100%; height:7px; margin-top:8px; accent-color:var(--cs-accent) }
.cs-hide-progress .cs-progress { display:none }
.cs-layout { display:grid; grid-template-columns:250px minmax(0,1fr); gap:40px; margin-top:24px }
.cs-sidebar { border-right:1px solid color-mix(in srgb,var(--cs-ink) 14%,transparent); padding-right:24px }
.cs-sidebar h2 { font-size:21px; letter-spacing:-.02em }
.cs-sidebar h3 { font-size:12px; text-transform:uppercase; letter-spacing:.07em; margin:26px 0 10px; color:var(--cs-muted) }
.cs-lesson-link { display:block; padding:10px 12px; margin:3px -12px; font-size:14px; text-decoration:none; border-radius:calc(var(--cs-radius) * .65) }
.cs-lesson-link[aria-current] { background:color-mix(in srgb,var(--cs-accent) 12%,var(--cs-surface)); font-weight:650 }
.cs-content { min-width:0; width:100%; max-width:var(--cs-content-width); background:var(--cs-surface); padding:clamp(20px,3vw,40px); border-radius:var(--cs-radius); border:1px solid color-mix(in srgb,var(--cs-ink) 14%,transparent) }
.cs-content img,.cs-content video,.cs-content iframe { max-width:100% }
.cs-content .wp-block-embed__wrapper { overflow:hidden }
.cs-content iframe { width:100%; aspect-ratio:16/9; height:auto }
.cs-course-cover { margin:0 0 28px; overflow:hidden; border-radius:calc(var(--cs-radius) * .7) }
.cs-course-cover img { display:block; width:100%; height:auto }
.cs-cover-banner img { max-height:360px; object-fit:cover }
.cs-cover-split { float:right; width:min(44%,340px); margin:0 0 24px 32px }
.cs-actions { display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid color-mix(in srgb,var(--cs-ink) 14%,transparent); margin-top:40px; padding-top:24px; flex-wrap:wrap; clear:both }
.cs-back { font-size:14px }
.cs-nav-top .cs-layout { grid-template-columns:1fr; gap:24px }
.cs-nav-top .cs-sidebar { border-right:0; border-bottom:1px solid color-mix(in srgb,var(--cs-ink) 14%,transparent); padding:0 0 24px; display:flex; align-items:center; flex-wrap:wrap; gap:6px 18px }
.cs-nav-top .cs-sidebar h2 { width:100%; margin-bottom:0 }
.cs-nav-top .cs-sidebar .cs-progress { width:min(360px,100%); margin:8px 0 16px }
.cs-nav-top .cs-sidebar>a:not(.cs-lesson-link) { width:100% }
.cs-nav-top .cs-sidebar h3 { width:100%; margin:16px 0 2px }
.cs-nav-top .cs-lesson-link { margin:0; padding:8px 11px }
.cs-nav-top .cs-content { margin-inline:auto }
.cs-school .screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0 }
@media(max-width:760px) {
    .cs-layout { grid-template-columns:1fr; gap:24px }
    .cs-sidebar { border-right:0; border-bottom:1px solid color-mix(in srgb,var(--cs-ink) 14%,transparent); padding:0 0 24px }
    .cs-header { flex-wrap:wrap; margin-bottom:24px }
    .cs-header>span { width:100%; margin:0 }
    .cs-school { padding:20px 16px }
    .cs-content { padding:24px 18px }
    .cs-cover-split { float:none; width:100%; margin:0 0 24px }
}
@supports not (color:color-mix(in srgb,#000 10%,#fff)) {
    .cs-school,.cs-course,.cs-content { border-color:#dbe2d9 }
    .cs-header,.cs-sidebar,.cs-actions { border-color:#dbe2d9 }
    .cs-lesson-link[aria-current] { background:#e5ede3 }
}
