.public-course .focus-shell { max-width:1180px; }
.course-hero { display:grid; grid-template-columns:minmax(0,1fr) 270px; align-items:center; gap:64px; padding:36px 0 44px; }
.course-hero h1 { font-size:clamp(2.2rem,4.3vw,3.6rem); line-height:1.12; letter-spacing:-.045em; margin:16px 0 22px; overflow-wrap:anywhere; text-wrap:balance; }
.course-summary { color:var(--text-secondary); font-size:1.05rem; line-height:1.7; max-width:650px; }
.course-facts { display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:24px; color:var(--text-secondary); font-size:.82rem; }
.course-facts span { display:flex; align-items:center; gap:8px; }
.course-facts span::before { content:""; width:5px; height:5px; border-radius:50%; background:var(--focus-accent); }
.course-actions { display:flex; align-items:center; flex-wrap:wrap; gap:20px; margin-top:28px; }
.course-actions .focus-primary { margin:0; }
.course-progress-link { font-size:.88rem; text-underline-offset:5px; }
.course-hero-art { transform:rotate(3deg); }
.public-course .course-hero-art .catalog-card-band { --subject:var(--focus-accent); min-height:245px; padding:24px; border-radius:24px; box-shadow:9px 10px 0 color-mix(in srgb,var(--focus-accent) 12%,transparent); color:var(--topic-ink,var(--language-ink,var(--focus-accent))); }
.course-hero-art .catalog-card-greeting { height:auto; font-size:3.2rem !important; margin-top:45px; }
.course-hero-art > p { text-align:center; color:var(--text-secondary); font-size:.75rem; margin:22px 0 0; }
.course-list-heading { display:flex; justify-content:space-between; align-items:end; gap:28px; padding-top:32px; border-top:1px solid var(--border-color); }
.course-list-heading h2 { font-size:1.9rem; letter-spacing:-.035em; margin:10px 0; scroll-margin-top:115px; }
.course-list-heading p:not(.focus-eyebrow) { color:var(--text-secondary); font-size:.9rem; line-height:1.6; margin-bottom:0; }
.course-search { width:300px; max-width:100%; flex-shrink:0; }
.course-search label { display:block; font-size:.78rem; font-weight:600; color:var(--text-secondary); margin-bottom:9px; }
.course-search-field { display:flex; align-items:center; background:var(--bg-card); border:1px solid var(--border-color); border-radius:12px; padding:0 12px; }
.course-search-field input { width:100%; min-width:0; padding:14px 0; color:var(--text-primary); background:transparent; border:0; font-size:.85rem; }
.course-search-field input::placeholder { color:var(--text-secondary); opacity:1; }
.course-search-field button { border:0; background:transparent; color:var(--focus-accent); padding:10px 4px; cursor:pointer; font-size:.78rem; }
.course-search-status { font-size:.85rem; color:var(--text-secondary); margin-top:22px; }
.public-course .focus-course-grid { gap:12px; margin-top:26px; }
.public-course .focus-course-grid .lesson-card { grid-template-columns:64px minmax(0,1fr) 36px; gap:24px; padding:24px; text-decoration:none; border-radius:18px; transition:border-color .15s,background .15s; }
.course-lesson-number { align-self:start; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; min-height:68px; border-radius:12px; background:color-mix(in srgb,var(--focus-accent) 10%,var(--bg-card)); color:var(--focus-accent); font-size:1.5rem; font-weight:650; font-variant-numeric:tabular-nums; }
.course-lesson-label { font-size:.55rem; font-weight:600; letter-spacing:.09em; }
.public-course .focus-course-grid h3 { font-size:1.1rem; line-height:1.4; letter-spacing:-.02em; margin:0 0 7px; }
.public-course .focus-course-grid .lesson-desc { font-size:.87rem; line-height:1.6; margin-bottom:10px; }
.course-lesson-meta { font-size:.73rem; color:var(--text-secondary); }
.course-lesson-arrow { display:grid; place-items:center; width:34px; height:34px; border:1px solid var(--border-color); border-radius:50%; color:var(--focus-accent); font-size:1.2rem; }
@media(hover:hover) { .public-course .focus-course-grid .lesson-card:hover { background:color-mix(in srgb,var(--focus-accent) 4%,var(--bg-card)); } .lesson-card:hover .course-lesson-arrow { border-color:var(--focus-accent); } }
@media(max-width:800px) { .course-hero { grid-template-columns:minmax(0,1fr) 200px; gap:30px; } .public-course .course-hero-art .catalog-card-band { min-height:200px; padding:18px; } .course-hero-art .catalog-card-greeting { font-size:2.5rem !important; } }
@media(max-width:600px) {
 .course-hero { grid-template-columns:1fr; gap:22px; padding-top:26px; }
 .course-hero-art { order:-1; transform:none; }
 .public-course .course-hero-art .catalog-card-band { min-height:0; padding:14px 18px; border-radius:14px; box-shadow:none; flex-wrap:nowrap; }
 .course-hero-art .catalog-card-greeting { width:auto; margin:0; font-size:1.6rem !important; }
 .course-hero-art .catalog-band-arrow, .course-hero-art .catalog-card-greeting > span, .course-hero-art > p { display:none; }
 .course-hero-art .catalog-card-icon { font-size:1.4rem; width:28px; flex-basis:28px; }
 .course-list-heading { align-items:stretch; flex-direction:column; gap:22px; }
 .course-search { width:100%; }
 .public-course .focus-course-grid .lesson-card { grid-template-columns:44px minmax(0,1fr); padding:18px 14px; gap:14px; }
 .course-lesson-number { min-height:55px; font-size:1.2rem; border-radius:9px; }
 .course-lesson-label { font-size:.45rem; }
 .course-lesson-arrow { display:none; }
}
@media(prefers-reduced-motion:reduce) { .public-course .focus-course-grid .lesson-card { transition:none; } }
