/* Shared reading scale for the public class catalogue and course campaigns. */
body:is(.open-classes-page,.ocd-course-page,.claude-course-page) {
  font-family:'Pretendard Variable',Pretendard,-apple-system,BlinkMacSystemFont,'Segoe UI','Apple SD Gothic Neo','Malgun Gothic',sans-serif;
  font-size:16px;
  font-weight:400;
  line-height:1.75;
  letter-spacing:-.012em;
  font-synthesis:none;
}
:is(.open-classes-page,.ocd-course-page,.claude-course-page) :is(button,input,select,textarea) { font-family:inherit; letter-spacing:inherit; }
:is(.open-classes-page,.ocd-course-page,.claude-course-page) main :is(h1,h2,h3) { word-break:keep-all; overflow-wrap:anywhere; text-wrap:balance; }
:is(.open-classes-page,.ocd-course-page,.claude-course-page) main :is(p,li,dd) { overflow-wrap:anywhere; }

/* Catalogue: the title, description and participation details form three levels. */
.open-classes-page .open-page-heading h1 { font-weight:800; letter-spacing:-.035em; line-height:1.2; }
.open-classes-page .open-page-heading > p { font-size:16px; line-height:1.75; color:#4d6077!important; }
.open-classes-page .open-hero-copy h2 { font-weight:600; letter-spacing:-.03em; line-height:1.3!important; }
.open-classes-page .open-hero-copy h2 em { font-weight:800; }
.open-classes-page .open-team-banner h2 { font-weight:700; letter-spacing:-.025em; }
.open-classes-page :is(.open-hero-copy p,.open-team-banner p) { font-size:15px; line-height:1.75; }
.open-classes-page :is(.open-banner-action,.open-hero-kicker,.open-team-banner div > span:first-child) { font-size:13px; font-weight:600; }
.open-classes-page .open-section-heading h2 { font-weight:700; letter-spacing:-.025em; line-height:1.35!important; }
.open-classes-page .open-class-card h3 { font-size:23px; font-weight:700; line-height:1.45; letter-spacing:-.025em; }
.open-classes-page .open-card-summary { font-size:16px; line-height:1.75; color:#4c5e75!important; }
.open-classes-page :is(.open-card-category,.open-card-action,.open-card-meta,.open-card-tags li,.open-card-media .open-state) { font-size:13px; }
.open-classes-page :is(.open-card-category,.open-card-action) { font-weight:600; }
.open-classes-page p.open-card-meta { color:#596b80!important; }
.open-classes-page :is(.open-search input,.open-search button,.open-catalog-filters button) { font-size:14px; }
.open-classes-page .open-search input { font-size:16px; }
.open-classes-page .open-catalog-caption { font-size:14px; }
.open-classes-page .open-catalog-caption > span { font-size:13px; color:#596b80; }
.open-classes-page :is(.open-section-intro,.open-course-notice p,.open-team p:not(.open-eyebrow),.open-topic-copy p:last-child,.open-topic-copy li,.open-steps p,.open-inquiry-top > p:last-child) { font-size:15px; line-height:1.8; }
.open-classes-page :is(.open-faq summary,.open-faq details p) { font-size:16px; line-height:1.75; }
.open-classes-page .open-faq summary { font-weight:600; }
.open-classes-page :is(.open-topic-copy h3,.open-team h2,.open-inquiry h2) { font-weight:700; letter-spacing:-.025em; }
.open-classes-page :is(.open-text-link,.open-inquiry-foot p,.open-inquiry-foot a,.open-field label,.open-group legend,.open-group label,.open-form-note,.open-field select,.open-primary,.open-course-notice > a) { font-size:14px; }
.open-classes-page .open-practice-strip .open-section-heading > p { font-size:15px; line-height:1.75; }
.open-classes-page .open-practice-grid > a > div > span { font-size:13px; }
.open-classes-page .open-practice-grid > a > div h3 { font-size:23px; font-weight:700; letter-spacing:-.025em; }
.open-classes-page .open-practice-grid > a > div p { font-size:15px; line-height:1.7; }

/* Shared course details: readable descriptions, without resizing the demo UI. */
.ocd-course-page .ocd-hero h1 { font-weight:800; letter-spacing:-.035em; line-height:1.23!important; }
.ocd-course-page :is(.ocd-section h2,.ocd-final h2) { font-weight:700; letter-spacing:-.03em; line-height:1.3!important; }
.ocd-course-page .ocd-hero-summary { font-size:18px; line-height:1.75; }
.ocd-course-page :is(.ocd-story-copy > p:not(.ocd-eyebrow,.ocd-example-disclaimer),.ocd-section-heading > p,.ocd-output-grid article > p,.ocd-curriculum-intro > p:not(.ocd-eyebrow),.ocd-module-body > p,.ocd-workbook-copy > p:not(.ocd-eyebrow,.ocd-example-disclaimer),.ocd-prepare-layout > div > p:not(.ocd-eyebrow,.ocd-example-disclaimer),.ocd-faq details > p,.ocd-final p:not(.ocd-eyebrow,.ocd-example-disclaimer)) { font-size:16px; line-height:1.8; }
.ocd-course-page .ocd-story-copy > p { color:#c5d1e2!important; }
.ocd-course-page :is(.ocd-audience-list li,.ocd-faq summary) { font-size:17px; line-height:1.65; }
.ocd-course-page :is(.ocd-output-grid h3,.ocd-module-list h3,.ocd-story-points h3) { font-weight:700; letter-spacing:-.02em; line-height:1.5; }
.ocd-course-page :is(.ocd-primary,.ocd-text-link,.ocd-section-nav a,.ocd-module-list small,.ocd-module-body > div > span,.ocd-workbook-copy li) { font-size:14px; }
.ocd-course-page :is(.ocd-hero-label,.ocd-preparing,.ocd-schedule-note,.ocd-course-facts div > span,.ocd-image-caption,.ocd-story-image figcaption,.ocd-example-disclaimer) { font-size:12px; line-height:1.7; }
.ocd-course-page .ocd-course-facts strong { font-size:15px; line-height:1.65; }
.ocd-course-page .ocd-workbook-sheet h3 { letter-spacing:-.025em; font-weight:700; }
.ocd-course-page .ocd-example-notes :is(summary,p) { font-size:15px; line-height:1.75; }
.ocd-course-page .ocd-eyebrow { font-size:13px; letter-spacing:.03em; font-weight:600; }

/* Claude has its own layouts, but uses the same reading hierarchy. */
.claude-course-page .cc-hero h1 { font-weight:800; letter-spacing:-.035em; line-height:1.18!important; }
.claude-course-page :is(h2,.cc-campaign-heading h2) { font-weight:700; letter-spacing:-.03em; line-height:1.3!important; }
.claude-course-page .cc-hero-description { max-width:570px; font-size:18px; line-height:1.8; }
.claude-course-page :is(.cc-section-description,.cc-campaign-heading > p:last-child,.cc-demo-copy > p,.cc-audience-list article p,.cc-module-body > p,.cc-module-body li,.cc-toolkit-copy dd,.cc-prepare-strip p,.cc-principle-grid article > p,.cc-faq-list details > p,.cc-final-layout > div:last-child > p) { font-size:16px; line-height:1.8; }
.claude-course-page :is(.cc-demo-copy h3,.cc-campaign-points h3,.cc-audience-list h3,.cc-curriculum-list h3,.cc-toolkit-copy h2,.cc-principle-grid h3) { font-weight:700; letter-spacing:-.025em; }
.claude-course-page :is(.cc-faq-list summary,.cc-demo-copy li) { font-size:16px; line-height:1.75; }
.claude-course-page :is(.cc-button,.cc-text-link,.cc-hero-secondary,.cc-curriculum-list summary > div > span,.cc-toolkit-copy dt,.cc-prepare-strip > a) { font-size:15px; }
.claude-course-page :is(.cc-hero-label,.cc-open-state,.cc-hero-note,.cc-course-facts div > span,.cc-demo-note,.cc-material-note,.cc-pipeline-status,.cc-final-note) { font-size:12px; line-height:1.75; }
.claude-course-page .cc-course-facts strong { font-size:15px; line-height:1.6; }
.claude-course-page :is(.cc-eyebrow,.cc-course-nav a) { font-size:13px; font-weight:600; }
.claude-course-page .cc-eyebrow { letter-spacing:.03em; }
.claude-course-page .cc-campaign-heading > p:last-child { color:#c5d3e6!important; }
.claude-course-page .cc-campaign-image figcaption { font-size:12px; line-height:1.7; }

@media (max-width:760px) {
 .open-classes-page :is(.open-card-summary,.open-page-heading > p,.open-section-intro,.open-topic-copy p:last-child,.open-topic-copy li,.open-steps p,.open-course-notice p,.open-team p:not(.open-eyebrow),.open-inquiry-top > p:last-child,.open-faq summary,.open-faq details p) { font-size:15px; }
 .open-classes-page .open-class-card h3 { font-size:22px; }
 .open-classes-page :is(.open-search button,.open-catalog-filters button) { font-size:12px; }
 .open-classes-page :is(.open-hero-copy p,.open-team-banner p) { font-size:14px; }
 .open-classes-page :is(.open-card-media .open-state,.open-card-tags li) { font-size:12px; }
 .open-classes-page .open-practice-strip .open-section-heading > p { font-size:15px; }
 .ocd-course-page .ocd-hero-summary { font-size:17px; }
 .ocd-course-page :is(.ocd-story-copy > p:not(.ocd-eyebrow,.ocd-example-disclaimer),.ocd-section-heading > p,.ocd-output-grid article > p,.ocd-curriculum-intro > p:not(.ocd-eyebrow),.ocd-module-body > p,.ocd-workbook-copy > p:not(.ocd-eyebrow,.ocd-example-disclaimer),.ocd-prepare-layout > div > p:not(.ocd-eyebrow,.ocd-example-disclaimer),.ocd-faq details > p,.ocd-example-notes summary,.ocd-example-notes p,.ocd-final p:not(.ocd-eyebrow,.ocd-example-disclaimer)) { font-size:15px; }
 .ocd-course-page :is(.ocd-audience-list li,.ocd-faq summary) { font-size:16px; }
 .ocd-course-page .ocd-section-nav .ocd-container { gap:20px; overflow-x:auto; scrollbar-width:none; }
 .ocd-course-page .ocd-section-nav a { font-size:13px; flex-shrink:0; }
 .ocd-course-page .ocd-story-points h3 { font-size:18px; }
 .claude-course-page .cc-hero-description { font-size:17px; }
 .claude-course-page :is(.cc-section-description,.cc-campaign-heading > p:last-child,.cc-demo-copy > p,.cc-demo-copy li,.cc-audience-list article p,.cc-module-body > p,.cc-module-body li,.cc-toolkit-copy dd,.cc-prepare-strip p,.cc-principle-grid article > p,.cc-faq-list details > p,.cc-final-layout > div:last-child > p) { font-size:15px; }
 .claude-course-page .cc-course-nav .cc-container > div { overflow-x:auto; scrollbar-width:none; min-width:0; }
 .claude-course-page .cc-course-nav a { flex-shrink:0; font-size:12px; }
}
@media (max-width:520px) {
 .open-classes-page .open-hero-copy h2 { font-size:34px!important; }
 .open-classes-page .open-card-summary { line-height:1.75; }
 .open-classes-page .open-catalog-caption { flex-direction:column; gap:5px; }
 .open-classes-page .open-catalog-caption > span { font-size:12px; }
 .ocd-course-page .ocd-hero h1 { font-size:38px!important; }
 .ocd-course-page .ocd-hero-label { gap:9px; }
 .ocd-course-page .ocd-module-list small { font-size:13px; }
 .claude-course-page .cc-hero h1 { font-size:46px!important; }
 .claude-course-page .cc-hero-label { gap:9px; }
}
@media (max-width:360px) {
 .open-classes-page .open-hero-copy h2 { font-size:30px!important; }
 .ocd-course-page .ocd-hero h1 { font-size:34px!important; }
 .claude-course-page .cc-hero h1 { font-size:40px!important; }
}

.ocd-course-page .ocd-module-body strong,.claude-course-page .cc-module-body > b,.claude-course-page .cc-module-body > b > span { font-size:14px; line-height:1.7; }
