/* Readable type hierarchy. Self-hosted SUIT, licensed under SIL OFL. */
@font-face{font-family:SUIT;src:url('assets/fonts/SUIT-Variable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{--muted:#4b5b70}
body{font-size:18px;line-height:1.65;letter-spacing:-.025em}
h1,h2,h3,h4,h5{font-family:SUIT,'Malgun Gothic',sans-serif;font-weight:900;letter-spacing:-.045em;line-height:1.2;text-wrap:balance}
p,li{overflow-wrap:break-word;text-wrap:pretty}
strong,b{font-weight:800}
nav{font-size:16px;gap:24px}header .brand{font-size:22px}header .brand span{font-size:12px;letter-spacing:0}
.button,.nav-cta{font-size:17px;font-weight:800}.button{padding:17px 25px}
h2{font-size:clamp(42px,4.25vw,60px);line-height:1.18}
.hero h1{font-size:clamp(44px,4.3vw,64px);letter-spacing:-.055em;font-weight:950;line-height:1.15}
.hero h1 em{font-size:1.1em}.hero-lead{font-size:20px;line-height:1.65;font-weight:500}
.hero-brand{font-size:36px}.hero-brand small{font-size:12px;letter-spacing:.12em}
.hero-bottom{font-size:16px}.hero-bottom b{font-size:19px;font-weight:800}.hero-bottom small{font-size:14px}
.section-label,.eyebrow{font-size:14px;letter-spacing:.08em;font-weight:800}
.lead,.intro-grid .lead{font-size:24px;font-weight:600;line-height:1.55}
.intro-grid p{font-size:18px;line-height:1.65;max-width:36em}.heading-row>p{font-size:18px;line-height:1.6}
.note,.source-note p,.matching .note{font-size:14px;line-height:1.55}
.master-world h3{font-size:36px}.master-world>div{max-width:340px}.master-world>div p{font-size:20px;line-height:1.5}.master-world>div span{font-size:13px}.master-world>small{font-size:12px}
.audiences span,.labs span{font-size:13px;font-weight:800;letter-spacing:.04em}.audiences h3{font-size:27px}.audiences p{font-size:18px;line-height:1.6}
.calendar-title b{font-size:22px}.calendar-title b span{font-size:14px}.month-calendar th{font-size:15px}.month-calendar td span{font-size:20px}.month-calendar td small{font-size:12px}.month-calendar td{height:65px}.calendar-key{font-size:14px;gap:10px}
.calendar-copy h3{font-size:42px}.calendar-copy>p{font-size:19px;line-height:1.6}.calendar-copy .eyebrow{font-size:13px}.calendar-copy .note{font-size:15px}.time-block b{font-size:24px}.time-block span{font-size:16px}
.date{font-size:16px}.timeline h3{font-size:29px}.timeline article>p:not(.date){font-size:18px;line-height:1.55}.timeline small{font-size:14px;line-height:1.5;opacity:1}.timeline .step{font-size:44px}.timeline article{padding:25px 22px}.diagnosis-strip{font-size:18px;line-height:1.5}
.method-list b{font-size:22px}.method-list p{font-size:18px;line-height:1.5;max-width:30em}.method-list li{margin:20px 0}.method figcaption{font-size:14px}
.matching label{font-size:17px;font-weight:700}.matching select{font-size:19px}.matching p{font-size:18px;line-height:1.55}.match-head{font-size:18px;line-height:1.45}.match-row{font-size:17px;line-height:1.45;gap:10px}.match-row b{font-size:15px}.match-row small{font-size:16px;line-height:1.45}
.book-quote span{font-size:13px}.book-quote strong{font-size:38px;line-height:1.2}.book-band h3{font-size:36px}.book-band p:last-child{font-size:19px;line-height:1.6}
.labs h3{font-size:28px}.labs p{font-size:18px;line-height:1.55}.learning-link>a{font-size:18px}.continuity h3{font-size:42px}.continuity p{font-size:19px;line-height:1.6}.continuity b{font-size:20px;line-height:1.45}.class-strip h2{font-size:44px}
.join .lead{font-size:22px}dl>div{font-size:18px;line-height:1.55;grid-template-columns:125px 1fr}.stay{font-size:18px;line-height:1.55}.stay b{flex-shrink:0}.faq h3{font-size:32px}.faq summary{font-size:20px;font-weight:800;line-height:1.45}.faq details p{font-size:18px;line-height:1.6;max-width:42em}
.brochure-download h3{font-size:30px}.brochure-download p:not(.eyebrow){font-size:18px;line-height:1.5}.brochure-download small{font-size:14px}.source-note summary{font-size:14px}footer{font-size:16px}

/* Curriculum uses SUIT for both titles and compact, clearly grouped copy. */
.curriculum-expanded{font-family:SUIT,'Malgun Gothic',sans-serif;font-weight:500;letter-spacing:-.02em}
.curriculum-expanded h2{font-weight:950;font-size:clamp(44px,4.4vw,62px)}
.curriculum-intro{font-size:22px;line-height:1.5;max-width:35em;font-weight:600}
.grammar-path span{font-size:13px;letter-spacing:.025em}.grammar-path b{font-size:22px;font-weight:850;line-height:1.3}.grammar-path a{padding:23px 21px}
.curriculum-context{font-size:16px;line-height:1.5;max-width:64em;margin:20px 0 32px}
.stage-number{font-family:SUIT,sans-serif;font-size:62px;font-weight:900}.stage-heading{gap:22px;align-items:center}
.stage-heading>div>p:first-child{font-size:14px;letter-spacing:.035em;font-weight:800;margin-bottom:8px}
.curriculum-expanded .stage-heading h3{font-size:40px;font-weight:900;line-height:1.18}
.stage-description{font-size:19px;line-height:1.5;max-width:33em;font-weight:550;margin-top:12px}.stage-tag{font-size:12px}
.panel-title{display:block;padding-bottom:20px;margin-bottom:24px}.panel-title>span{display:block;font-size:13px;max-width:none;letter-spacing:.04em;font-weight:800;margin-bottom:9px}.panel-title h4{font-size:30px;font-weight:850;text-align:left;line-height:1.22}
.panel-content{grid-template-columns:minmax(210px,.72fr) minmax(0,1.8fr);gap:28px;align-items:start}
.structure-example{padding:22px}.structure-example>span{font-size:13px;letter-spacing:.015em}.structure-example>strong{font-size:32px;font-weight:900;line-height:1.25;margin:22px 0}.structure-example p{font-size:18px;line-height:1.45;font-weight:600;max-width:24em}.structure-example small{font-size:14px;line-height:1.4;margin-top:16px}
.topic-columns{gap:26px}.topic-group h5{font-size:23px;line-height:1.25;font-weight:850;margin:0 0 16px}.topic-group ul{font-size:18px;line-height:1.45;color:#334660;padding-left:17px;font-weight:500}.topic-group li{margin-bottom:12px;padding-left:2px;max-width:24em}.topic-group li:last-child{margin-bottom:0}.topic-key{font-weight:800;color:#203450;display:block;line-height:1.35;margin-bottom:3px}.topic-detail{display:block;font-size:17px;line-height:1.4;color:#4b5b70}
.learning-goal{font-size:19px;line-height:1.45;gap:22px;padding:18px 22px;font-weight:650}.learning-goal b{font-size:19px;font-weight:900}.learning-goal span{max-width:44em}
.curriculum-bridge>div>span{font-size:13px}.curriculum-bridge h3{font-size:34px}.curriculum-bridge p{font-size:18px;line-height:1.5}
@media(max-width:1100px) and (min-width:701px){header{padding:0 3%}nav{gap:15px;font-size:14px}.hero h1{font-size:43px}.hero-lead{font-size:18px}.grammar-path b{font-size:19px}.grammar-path span{font-size:11px}.stage-tag{display:none}.curriculum-expanded .stage-heading h3{font-size:34px}.panel-content{grid-template-columns:1fr}.structure-example{display:grid;grid-template-columns:1fr 1fr;gap:10px 25px}.structure-example>span,.structure-example small{grid-column:1/-1}.structure-example>strong{margin:8px 0}.topic-columns{gap:35px}.calendar-layout{grid-template-columns:1fr}.matching{grid-template-columns:1fr}.audiences{gap:14px}.audiences article{padding:20px}.audiences h3{font-size:24px}}
@media(max-width:700px){
 body{font-size:17px;line-height:1.55}header .brand{font-size:19px}header .brand span{font-size:10px}header .nav-cta{font-size:13px;padding:10px 14px}h2{font-size:36px;line-height:1.2}.hero h1{font-size:36px;line-height:1.18}.hero h1 em{font-size:1.18em}.title-star{margin-left:8px}.hero-lead{font-size:18px;line-height:1.6}.hero-brand{font-size:31px}.hero-brand small{font-size:11px}.hero-bottom{grid-template-columns:1fr;font-size:15px;gap:18px}.hero-bottom b{font-size:18px}.hero-bottom small{font-size:14px}.section-label,.eyebrow{font-size:13px;letter-spacing:.04em}.hero .eyebrow{font-size:12px}.button{font-size:17px}.intro-grid .lead,.lead{font-size:22px;line-height:1.5}.intro-grid p{font-size:18px}.intro-grid .note{font-size:14px}.heading-row>p{font-size:17px}.master-world>div{top:22px;max-width:240px}.master-world h3{font-size:29px}.master-world>div p{font-size:17px}.master-world>div span{font-size:11px}.master-world>small{font-size:10px}.audiences h3{font-size:27px}.audiences p{font-size:18px}.calendar-copy h3{font-size:35px}.calendar-copy>p{font-size:18px}.time-block b{font-size:23px}.time-block span{font-size:15px}.calendar-key{font-size:12px;gap:10px}.month-calendar td{height:57px}.month-calendar td span{font-size:19px}.month-calendar td small{font-size:11px}.month-calendar th{font-size:14px}.timeline h3{font-size:28px}.timeline article>p:not(.date){font-size:18px;line-height:1.55}.timeline small{font-size:14px}.diagnosis-strip{font-size:17px}.method-list p{font-size:17px}.method figcaption{font-size:13px}.textbook h2{font-size:34px}.matching{padding:20px}.matching p{font-size:17px}.matching .note{font-size:14px}.match-row{font-size:17px;grid-template-columns:50px 1fr}.match-row b{font-size:14px}.match-row small{font-size:16px}.book-quote strong{font-size:35px}.book-band h3{font-size:33px}.book-band p:last-child{font-size:18px}.labs h3{font-size:28px}.labs p{font-size:18px}.continuity h3{font-size:37px}.continuity p{font-size:18px}.continuity b{font-size:19px}.continuity>div{padding:25px}.class-strip h2{font-size:32px}.class-strip .eyebrow{font-size:12px}.join .lead{font-size:20px}dl>div{font-size:17px;grid-template-columns:96px 1fr;gap:10px}.stay{font-size:17px}.faq h3{font-size:29px}.faq summary{font-size:19px}.faq details p{font-size:17px}.brochure-download h3{font-size:28px}.brochure-download p:not(.eyebrow){font-size:17px}.brochure-download .button{font-size:16px}.brochure-download small{font-size:13px}.source-note p{font-size:14px}.mobile-cta{font-size:16px;font-weight:800}
 .curriculum-expanded h2{font-size:38px;line-height:1.16}.curriculum-intro{font-size:20px;line-height:1.5}.grammar-path span{font-size:11px;letter-spacing:0}.grammar-path b{font-size:19px;line-height:1.3}.grammar-path a{padding:18px 14px}.curriculum-context{font-size:15px;line-height:1.5}.stage-heading{gap:12px;align-items:flex-start}.stage-number{font-size:46px}.stage-heading>div>p:first-child{font-size:12px;line-height:1.3;letter-spacing:0}.curriculum-expanded .stage-heading h3{font-size:30px;line-height:1.16}.stage-description{font-size:18px;line-height:1.45;margin-top:10px}.curriculum-panel{padding:22px 18px}.panel-title>span{font-size:12px;line-height:1.3}.panel-title h4{font-size:27px;line-height:1.2;margin-top:8px}.panel-content{grid-template-columns:1fr;gap:25px}.structure-example{display:block;padding:20px}.structure-example>span{font-size:12px}.structure-example>strong{font-size:30px;line-height:1.3;margin:18px 0}.structure-example p{font-size:18px;line-height:1.45}.structure-example small{font-size:14px}.topic-columns{grid-template-columns:1fr;gap:26px}.topic-group h5{font-size:23px;margin-bottom:14px}.topic-group ul{font-size:18px;line-height:1.4}.topic-group li{margin-bottom:12px}.topic-detail{font-size:17px;line-height:1.4}.learning-goal{font-size:18px;line-height:1.45;padding:18px}.learning-goal b{font-size:19px}.curriculum-bridge{padding:24px}.curriculum-bridge h3{font-size:29px}.curriculum-bridge p{font-size:18px}.curriculum-bridge>div>span{font-size:12px}
}
@media(max-width:370px){.hero h1{font-size:33px}.curriculum-expanded h2{font-size:35px}.grammar-path b{font-size:18px}.stage-number{font-size:39px}.curriculum-expanded .stage-heading h3{font-size:28px}}
@media(max-width:700px){.journey h2 em{display:block;text-wrap:balance}}
