@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700&family=Noto+Serif+KR:wght@400;500;600;700&display=swap');

:root{--paper:#f5f3ec;--ink:#242c29;--muted:#66716a;--line:#d6d9cf;--teal:#1c5449;--burgundy:#953d3b;--light-teal:#e9eee6;--serif:'Noto Serif KR',Georgia,serif;--sans:'Noto Sans KR',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.8;word-break:keep-all;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--burgundy);outline-offset:6px}button:focus-visible{outline-offset:3px}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{line-height:1.4;font-weight:500}button{background:none;border:0}::selection{background:#cddbd2;color:var(--ink)}.container{width:min(1180px,calc(100% - 80px));margin-inline:auto}.section-pad{padding-block:104px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:20px;top:15px;z-index:100;background:var(--teal);color:#fff;padding:10px 20px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.eyebrow{font-size:10px;line-height:1.4;font-weight:600;letter-spacing:.16em;color:var(--teal);margin-bottom:25px}.site-header{position:sticky;top:0;z-index:30;background:rgba(245,243,236,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{height:87px;display:flex;align-items:center;justify-content:space-between;gap:25px}.wordmark{display:flex;align-items:center;gap:14px}.brand-symbol{font:italic 25px Georgia,serif;color:var(--teal);letter-spacing:-2px}.brand-symbol>span{font-size:16px;color:var(--burgundy);display:inline-block;margin:0 3px;font-style:normal}.brand-name{display:block;font-size:10px;font-weight:700;letter-spacing:.14em;line-height:1.8}.brand-name>span{display:block;letter-spacing:0;font-size:11px;font-weight:500}.site-header nav{display:flex;gap:28px;align-items:center;font-size:12px}.site-header nav>a{transition:color .15s}.site-header nav>a:hover{color:var(--burgundy)}.site-header nav>.nav-cta{padding:8px 14px;border:1px solid var(--teal);border-radius:2px;color:var(--teal)}.nav-cta>span{margin-left:13px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:30px;padding-block:92px 76px;min-height:680px}.hero .eyebrow{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.08em;margin-bottom:29px}.small-line{display:inline-block;height:1px;width:24px;background:var(--teal)}.course-name{font-size:16px;margin-bottom:14px;color:var(--muted);letter-spacing:.01em}.hero h1{font-family:var(--serif);font-size:clamp(42px,4.6vw,62px);line-height:1.42;letter-spacing:-.07em;font-weight:500}.hero h1 em{font-style:normal;color:var(--teal)}.hero-description{font-size:15px;line-height:2;margin-top:27px;color:var(--muted);letter-spacing:-.03em}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:31px}.button{display:inline-flex;justify-content:center;align-items:center;gap:28px;font-size:12px;font-weight:500;line-height:1.5;min-height:48px;padding:14px 20px;border:1px solid transparent;border-radius:2px;transition:background .15s,color .15s,transform .15s}.button:hover{transform:translateY(-2px)}.primary{background:var(--teal);color:white}.primary:hover{background:#113d34}.secondary{border-color:var(--teal);color:var(--teal)}.secondary:hover{background:var(--teal);color:#fff}.text-link{font-size:12px;display:inline-flex;gap:16px;align-items:center;line-height:1.6}.text-link:hover{color:var(--burgundy)}.hero-meta{display:flex;gap:0;margin-top:35px;font-size:10px;color:var(--muted)}.hero-meta>span+span::before{content:'·';padding:0 12px}.hero-art{padding-top:12px;margin-top:13px}.art-top{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:.14em;color:#7d887d;border-top:1px solid var(--line);padding-top:12px;margin-inline:20px}.hero-art svg{width:100%;height:auto;display:block;margin:0 auto;max-width:520px}.hero-art figcaption{display:flex;gap:18px;font-size:9px;align-items:center;margin-inline:20px;padding-top:12px;border-top:1px solid var(--line);color:var(--muted)}.dot{display:inline-block;width:5px;height:5px;border-radius:50%;margin-right:6px;vertical-align:middle}.teal{background:var(--teal)}.burgundy{background:var(--burgundy)}.art-caption{margin-left:auto}.mobile-break{display:none}.about{background:#eaece3}.section-intro{display:grid;grid-template-columns:1fr 1fr;column-gap:70px;align-items:center}.section-intro .eyebrow{grid-column:1/-1;margin-bottom:30px}.section-intro h2,.section-heading h2,.join h2,.closing h2{font-family:var(--serif);font-size:34px;line-height:1.65;letter-spacing:-.055em}.section-intro>p:last-child{font-size:14px;line-height:2.1;color:var(--muted)}strong{font-weight:600;color:var(--ink)}.lenses{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:55px}.lenses article{border-top:1px solid #bbc3b6;padding-top:19px}.lens-number{font:italic 22px Georgia,serif;color:var(--burgundy);display:block;margin-bottom:15px}.lenses h3{font-size:19px;font-weight:500}.lens-sub{font-size:10px;letter-spacing:.08em;color:var(--teal);margin-top:6px;margin-bottom:16px}.lenses article>p:last-child{font-size:12px;line-height:1.95;color:var(--muted)}.teaching-note{display:flex;align-items:center;gap:27px;margin-top:48px;border-top:1px solid #cbd0c4;padding-top:21px;font-size:10px;color:var(--muted)}.teaching-note>span{font-weight:600;flex-shrink:0;color:var(--teal)}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:48px}.section-heading>p,.curriculum-intro>p{font-size:12px;line-height:2;color:var(--muted)}.section-heading .eyebrow{margin-bottom:23px}.rhythm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}.rhythm-grid article{padding-top:22px;border-top:1px solid var(--line)}.day{display:flex;align-items:center;gap:10px;color:var(--teal);margin-bottom:20px}.day>span:first-child{font-family:Georgia,serif;font-size:11px;letter-spacing:.08em}.day b{font-size:11px;font-weight:500}.rhythm-arrow{margin-left:auto;font-size:20px;line-height:1;color:#9ca996}.rhythm-grid h3{font-size:18px;margin-bottom:14px}.rhythm-grid p{font-size:12px;color:var(--muted);line-height:2}.rhythm-detail{font-size:10px;display:block;margin-top:24px;color:#7b867e}.section-footnote{font-size:10px;color:#737e74;line-height:1.9;margin-top:30px;max-width:1000px}.curriculum{background:#ebeae2}.curriculum-intro{padding-bottom:3px}.outline-label{display:inline-block;color:var(--teal);font-size:10px;border:1px solid #c0c9bc;padding:3px 10px;border-radius:2px;margin-bottom:15px}.schedule-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:17px;margin-bottom:23px}.filters{display:flex;gap:7px;flex-wrap:wrap}.filters button{padding:8px 13px;font-size:11px;border-radius:2px;line-height:1.4;border:1px solid transparent}.filters button[aria-pressed="true"]{background:var(--teal);color:#fff}.filters button:not([aria-pressed="true"]):hover{border-color:#b0baad}.filters button span{font-size:8px;margin-left:4px;opacity:.7}.expand-button{font-size:10px;white-space:nowrap;color:var(--muted)}.expand-button>span{font-size:15px;margin-left:6px}.schedule-list{border-top:1px solid #b7c1b3}.week{border-bottom:1px solid #cbd0c4;scroll-margin-top:110px}.week[hidden]{display:none}.week summary{list-style:none;cursor:pointer;display:flex;align-items:center;min-height:98px;gap:23px;padding:14px 24px 14px 4px;transition:background .16s}.week summary::-webkit-details-marker,.faq summary::-webkit-details-marker{display:none}.week summary:hover{background:#e3e5db}.week-number{width:57px;flex-shrink:0;font:26px Georgia,serif;color:var(--teal);line-height:1;text-align:center}.week-number>span{display:block;font:7px var(--sans);letter-spacing:.12em;margin-top:6px;opacity:.6}.week-title{flex:1;min-width:0}.phase-name{display:block;font-size:8px;color:var(--muted);letter-spacing:.03em;margin-bottom:5px}.week h3{font-size:16px;line-height:1.7;letter-spacing:-.025em}.week-type{font-size:9px;color:var(--muted);padding:3px 8px;border:1px solid #c8cec1;border-radius:2px;white-space:nowrap;line-height:1.5}.active-type{color:var(--teal);border-color:#b1c0ae}.planned-type{color:var(--burgundy);border-color:#cdbab0}.plus{display:block;width:12px;height:12px;position:relative;flex-shrink:0;margin-left:10px}.plus::before,.plus::after{content:'';position:absolute;display:block;background:var(--teal);top:50%;left:0;width:12px;height:1px}.plus::after{transform:rotate(90deg);transition:transform .15s}details[open]>summary .plus::after{transform:rotate(0)}.week[open]{background:#f6f4ed}.week[open] summary{padding-top:21px;padding-bottom:21px}.week-body{display:grid;grid-template-columns:1fr 1fr;gap:25px 42px;padding:13px 65px 32px 84px}.session-label{font-size:9px;letter-spacing:.02em;color:var(--burgundy);display:block;margin-bottom:9px}.week-body h4{font-size:14px;margin-bottom:9px;font-weight:500}.week-body div>p{font-size:11px;color:var(--muted);line-height:1.95}.inline-link{font-size:10px;color:var(--teal);display:inline-block;border-bottom:1px solid #b8c9bb;margin-top:12px}.inline-link:hover{color:var(--burgundy)}.week-question{grid-column:1/-1;border-top:1px solid #dedfd4;padding-top:15px;margin-top:2px;font-family:var(--serif);font-size:12px;color:var(--teal)}.week-question>span{font-family:var(--sans);color:var(--muted);font-size:8px;margin-right:13px}.week-note{grid-column:1/-1;color:var(--burgundy);font-size:10px;line-height:1.8;border-left:2px solid #c8a69a;padding-left:12px}.full-width{grid-column:1/-1;max-width:760px}.exam-week .week-number{color:#8c8f80}.games-grid{display:grid;grid-template-columns:repeat(3,1fr);column-gap:38px;row-gap:35px}.game-item{border-top:1px solid var(--line);padding:22px 4px 10px;display:flex;flex-direction:column;transition:border-color .15s,transform .15s}.game-item:hover{border-color:var(--teal);transform:translateY(-3px)}.game-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.game-symbol{font-size:32px;line-height:1;color:var(--teal);font-family:Georgia,serif}.game-top>span:last-child{font-size:8px;letter-spacing:.09em;color:var(--muted)}.game-top>span:last-child>span{display:inline-block;font-size:15px;margin-left:17px;color:var(--teal)}.game-item h3{font-size:19px;line-height:1.6}.game-academic{font-size:9px;color:var(--burgundy);margin-top:3px;margin-bottom:17px}.game-item>p:not(.game-academic){font-size:12px;color:var(--muted);line-height:1.95}.game-condition{font-size:8px;display:flex;flex-wrap:wrap;gap:7px;color:#8a9386;border-top:1px solid #e0e2d7;padding-top:13px;margin-top:24px}.game-condition b{font-weight:400;color:var(--teal);font-size:9px}.simulator-strip{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-top:45px;background:var(--light-teal);padding:29px 34px}.simulator-strip .eyebrow{font-size:8px;margin-bottom:11px}.simulator-strip h3{font-family:var(--serif);font-size:21px;margin-bottom:8px}.simulator-strip p{font-size:11px;color:var(--muted);line-height:1.9}.simulator-strip .button{font-size:11px;flex-shrink:0}.join{background:#eaece3}.join-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px}.join h2{margin-bottom:24px}.join-copy>p:not(.eyebrow):not(.join-note){font-size:12px;color:var(--muted);line-height:2}.join .button{margin-top:29px}.join-note{font-size:9px;color:var(--muted);line-height:1.9;margin-top:15px;max-width:310px}.faq{padding-top:6px}.faq details{border-top:1px solid #c4cbbd}.faq details:last-child{border-bottom:1px solid #c4cbbd}.faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:12px;font-weight:500;line-height:1.8;padding:21px 0;gap:20px}.faq details p{font-size:11px;line-height:2;color:var(--muted);padding:0 28px 22px 0}.closing{text-align:center;padding-block:88px 95px}.closing>p{font-size:11px;color:var(--muted);margin-bottom:16px}.closing h2{font-size:30px;line-height:1.7;color:var(--teal);margin-bottom:26px}.site-footer{border-top:1px solid var(--line);padding-block:32px 35px}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-brand{font-size:12px;font-weight:500}.footer-inner p{font-size:9px;color:var(--muted);margin-top:4px}.footer-inner>div:last-child{text-align:right;font-size:9px;color:var(--muted)}.footer-inner>div:last-child>a{font-size:10px;color:var(--teal);display:block;margin-bottom:5px}.footer-inner a:hover{color:var(--burgundy)}

@media(min-width:1440px){.hero{min-height:730px;padding-top:100px}.hero-art svg{max-width:570px}}
@media(max-width:1024px){.container{width:calc(100% - 56px)}.header-inner{height:77px}.site-header nav{gap:19px;font-size:11px}.brand-name>span{font-size:9px}.hero{gap:15px;padding-top:70px;min-height:600px}.hero h1{font-size:48px}.hero-description{font-size:13px}.hero-actions{gap:17px}.hero-actions .button{padding-inline:16px;gap:17px;font-size:11px}.hero-actions .text-link{font-size:10px;gap:9px}.hero-art figcaption{gap:10px;font-size:8px;margin-inline:7px}.art-caption{max-width:95px}.section-pad{padding-block:84px}.section-intro h2,.section-heading h2,.join h2{font-size:29px}.section-intro{gap:40px}.section-intro>p:last-child{font-size:12px}.lenses,.rhythm-grid{gap:30px}.lenses h3{font-size:17px}.lenses article>p:last-child,.rhythm-grid p{font-size:11px}.teaching-note{align-items:flex-start;gap:20px}.week h3{font-size:14px}.week summary{gap:15px;padding-right:16px}.week-body{padding-left:76px;padding-right:40px;gap:22px 30px}.games-grid{gap:28px}.game-item h3{font-size:17px}.game-item>p:not(.game-academic){font-size:11px}.join-layout{gap:50px}}
@media(max-width:760px){html{scroll-padding-top:84px}.container{width:calc(100% - 40px)}.section-pad{padding-block:65px}.header-inner{height:71px}.brand-symbol{font-size:24px}.brand-name{font-size:9px}.brand-name>span{font-size:10px}.wordmark{gap:12px}.menu-toggle{display:flex;align-items:center;gap:12px;font-size:10px;padding:10px 2px}.menu-lines{width:17px;height:12px;border-top:1px solid var(--teal);border-bottom:1px solid var(--teal);display:block;position:relative}.menu-lines::after{content:'';position:absolute;width:17px;height:1px;background:var(--teal);left:0;top:4px}.site-header nav{display:flex;position:absolute;top:71px;left:0;right:0;gap:0;flex-direction:column;align-items:stretch;background:var(--paper);padding:0 20px 20px;border-bottom:1px solid var(--line)}.site-header nav[hidden]{display:none}.site-header nav>a{padding:15px 4px;font-size:12px}.site-header nav>.nav-cta{padding:12px;margin-top:7px;align-self:flex-start}.hero{grid-template-columns:1fr;padding-block:49px 43px;gap:39px;min-height:0}.hero .eyebrow{font-size:9px;margin-bottom:25px}.course-name{font-size:13px;margin-bottom:14px}.hero h1{font-size:clamp(39px,9vw,61px);line-height:1.45;letter-spacing:-.06em}.hero-description{font-size:13px;margin-top:22px;line-height:2.05}.hero-actions{gap:24px;margin-top:26px}.hero-actions .button{font-size:11px;padding:14px 17px;gap:22px}.hero-actions .text-link{font-size:10px}.hero-meta{margin-top:25px;font-size:9px}.hero-meta>span+span::before{padding-inline:10px}.hero-art{max-width:470px;width:100%;margin:auto;padding:0 15px}.hero-art svg{width:100%;max-width:400px;margin-block:-7px}.art-top{font-size:7px;margin-inline:0}.hero-art figcaption{margin:0;font-size:8px}.art-caption{max-width:none}.section-intro{grid-template-columns:1fr;gap:24px}.section-intro .eyebrow{margin-bottom:0}.section-intro h2,.section-heading h2,.join h2{font-size:29px}.section-intro>p:last-child{font-size:12px;line-height:2}.lenses{grid-template-columns:1fr;gap:25px;margin-top:37px}.lenses article{display:grid;grid-template-columns:34px 1fr;gap:0 12px;padding-top:20px}.lens-number{grid-row:1/4;font-size:21px;margin-bottom:0;padding-top:1px}.lenses h3{font-size:18px}.lens-sub{margin-bottom:10px;font-size:9px}.lenses article>p:last-child{grid-column:2;font-size:11px;line-height:1.9}.teaching-note{display:block;margin-top:32px;padding-top:18px;font-size:9px}.teaching-note>span{display:block;margin-bottom:7px}.section-heading{display:block;margin-bottom:34px}.section-heading .eyebrow{margin-bottom:22px}.section-heading>p,.curriculum-intro>p{font-size:11px;margin-top:22px;line-height:1.95}.rhythm-grid{grid-template-columns:1fr;gap:25px}.rhythm-grid article{display:grid;grid-template-columns:74px 1fr;gap:0 18px;padding-top:22px}.day{grid-row:1/4;align-items:flex-start;flex-direction:column;gap:3px;padding-top:1px}.day>span:first-child{font-size:10px}.day>b{font-size:10px}.rhythm-arrow{display:none}.rhythm-grid h3{font-size:17px;margin-bottom:8px}.rhythm-grid p{font-size:11px}.rhythm-detail{grid-column:2;margin-top:12px;font-size:9px}.section-footnote{font-size:9px;margin-top:25px}.curriculum-intro{margin-top:22px}.curriculum-intro>p{margin-top:11px}.outline-label{font-size:9px;margin-bottom:0}.schedule-toolbar{display:block;margin-bottom:16px;margin-top:29px}.filters{gap:4px}.filters button{font-size:9px;padding:7px 9px}.expand-button{display:block;margin-top:14px;margin-left:auto;font-size:9px}.week summary{min-height:92px;padding:15px 5px 15px 0;gap:12px;flex-wrap:wrap;position:relative}.week-number{width:38px;font-size:23px}.week-number>span{font-size:6px}.week-title{padding-right:21px}.phase-name{font-size:7px;margin-bottom:4px}.week h3{font-size:13px;line-height:1.65}.week-type{font-size:7px;line-height:1.4;padding:2px 6px;margin-left:50px;margin-top:-10px}.week summary>.plus{position:absolute;right:8px;top:39px;width:10px;height:10px;margin:0}.week .plus::before,.week .plus::after{width:10px}.week-body{grid-template-columns:1fr;padding:12px 18px 25px 50px;gap:23px}.week-body h4{font-size:13px;margin-bottom:8px;line-height:1.65}.week-body div>p{font-size:10px;line-height:1.95}.session-label{font-size:8px;margin-bottom:7px}.week-question{font-size:11px;line-height:1.9}.week-question>span{display:block;font-size:8px;margin-bottom:6px}.week-note{font-size:9px}.inline-link{font-size:9px;margin-top:9px}.week[open] summary{padding-block:18px}.week[open] summary>.plus{top:43px}.games-grid{grid-template-columns:1fr 1fr;gap:29px 20px}.game-item{padding-top:19px}.game-top{margin-bottom:18px}.game-symbol{font-size:27px}.game-top>span:last-child{font-size:6px;letter-spacing:0}.game-top>span:last-child>span{font-size:12px;margin-left:7px}.game-item h3{font-size:15px;line-height:1.7;letter-spacing:-.04em}.game-academic{font-size:8px;margin-bottom:13px}.game-item>p:not(.game-academic){font-size:10px;line-height:1.95}.game-item p br{display:none}.game-condition{font-size:7px;gap:2px;margin-top:17px;padding-top:10px;flex-direction:column}.game-condition b{font-size:8px;line-height:1.8}.simulator-strip{padding:24px;display:block;margin-top:31px}.simulator-strip .eyebrow{font-size:7px}.simulator-strip h3{font-size:20px}.simulator-strip p{font-size:10px}.simulator-strip .button{margin-top:20px;font-size:10px;gap:26px;min-height:43px;padding:11px 16px}.join-layout{grid-template-columns:1fr;gap:35px}.join h2{margin-bottom:20px}.join-copy>p:not(.eyebrow):not(.join-note){font-size:11px}.join .button{font-size:11px;margin-top:24px}.join-note{font-size:8px;max-width:100%;margin-top:11px}.faq summary{font-size:11px;padding-block:18px;gap:16px}.faq details p{font-size:10px}.closing{padding-block:65px 69px}.closing>p{font-size:10px}.closing h2{font-size:26px}.closing .text-link{font-size:11px}.footer-inner{align-items:flex-start;gap:20px}.footer-brand{font-size:10px}.footer-inner p{font-size:8px;max-width:170px;line-height:1.8}.footer-inner>div:last-child{font-size:7px;line-height:1.7;flex-shrink:0}.footer-inner>div:last-child>a{font-size:9px;margin-bottom:7px}}
@media(max-width:360px){.container{width:calc(100% - 32px)}.hero h1{font-size:39px}.hero-actions{gap:14px}.hero-actions .button{font-size:10px;gap:13px;padding-inline:13px}.hero-actions .text-link{font-size:9px;gap:7px}.brand-name>span{font-size:9px}.hero-meta{font-size:8px}.hero-art{padding-inline:4px}.week h3{font-size:12px}.week-body{padding-left:30px}.games-grid{gap:25px 15px}.game-item h3{font-size:14px}.filters button{padding-inline:7px;font-size:8px}.footer-brand{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.button:hover,.game-item:hover{transform:none}}
@media print{.site-header,.hero-actions,.hero-art,.schedule-toolbar,.games,.join,.closing,.site-footer{display:none}.container{width:100%}.section-pad{padding-block:25px}.hero{display:block;min-height:0;padding-block:20px}.hero h1{font-size:30px}.week[hidden]{display:block}.week{break-inside:avoid}.week-body{padding:15px 20px}.week:not([open])>.week-body{display:grid}.week-type{border:none}.section-heading h2{font-size:23px}a{color:inherit}.about,.curriculum{background:none}}

/* Keep the reading size consistent across the course guide. */
@media screen {
  body { font-size:15px; }
  .eyebrow, .hero .eyebrow { font-size:11px; }
  .brand-name, .brand-name>span { font-size:11px; }
  .site-header nav, .site-header nav>a { font-size:14px; }
  .button, .hero-actions .button, .simulator-strip .button, .join .button,
  .text-link, .hero-actions .text-link, .closing .text-link { font-size:14px; }
  .hero-description { font-size:17px; }
  .hero-meta { font-size:12px; flex-wrap:wrap; }
  .art-top { font-size:11px; letter-spacing:.08em; gap:12px; }
  .hero-art figcaption { font-size:11px; gap:14px; flex-wrap:wrap; }
  .art-caption { max-width:none; }
  .section-intro>p:last-child, .section-heading>p, .curriculum-intro>p,
  .lenses article>p:last-child, .rhythm-grid p,
  .game-item>p:not(.game-academic), .simulator-strip p,
  .join-copy>p:not(.eyebrow):not(.join-note) { font-size:15px; line-height:1.95; }
  .lenses h3, .rhythm-grid h3, .game-item h3 { font-size:20px; }
  .lens-sub, .rhythm-detail, .day>span:first-child, .day b,
  .outline-label, .phase-name, .week-number>span, .week-type,
  .session-label, .game-academic, .game-top>span:last-child,
  .game-condition, .game-condition b, .simulator-strip .eyebrow { font-size:12px; }
  .teaching-note, .section-footnote, .join-note { font-size:13px; }
  .filters button, .expand-button { font-size:13px; }
  .filters button span { font-size:11px; }
  .week summary { min-height:112px; }
  .week h3 { font-size:18px; }
  .week-body h4 { font-size:17px; }
  .week-body div>p { font-size:15px; line-height:1.95; }
  .inline-link { font-size:13px; }
  .week-question { font-size:15px; line-height:1.9; }
  .week-question>span { font-size:12px; }
  .week-note { font-size:13px; line-height:1.95; }
  .game-condition { gap:7px; }
  .game-condition b { line-height:1.8; }
  .faq summary { font-size:16px; }
  .faq details p { font-size:15px; line-height:1.95; }
  .closing>p { font-size:14px; }
  .footer-brand { font-size:14px; }
  .footer-inner p, .footer-inner>div:last-child,
  .footer-inner>div:last-child>a { font-size:12px; }
}

@media screen and (min-width:761px) and (max-width:1024px) {
  .hero-actions { align-items:flex-start; flex-direction:column; gap:18px; }
  .site-header nav { gap:16px; }
  .brand-name>span { max-width:170px; }
  .week summary { gap:15px; }
  .week-type { font-size:11px; }
  .game-top { align-items:flex-start; gap:15px; }
  .game-top>span:last-child { text-align:right; }
}

@media screen and (max-width:760px) {
  body { font-size:14px; }
  .menu-toggle { font-size:13px; flex-shrink:0; }
  .brand-name, .brand-name>span { font-size:11px; }
  .brand-name>span { max-width:195px; }
  .hero-description { font-size:15px; }
  .course-name { font-size:15px; }
  .hero-actions { flex-wrap:wrap; gap:18px 24px; }
  .hero-actions .button { padding-inline:17px; }
  .hero-meta { font-size:11px; }
  .hero-meta>span+span::before { padding-inline:8px; }
  .art-top { font-size:11px; letter-spacing:.04em; }
  .hero-art figcaption { font-size:11px; gap:9px 14px; }
  .art-caption { flex-basis:100%; margin-left:0; }
  .section-intro>p:last-child, .section-heading>p, .curriculum-intro>p,
  .lenses article>p:last-child, .rhythm-grid p,
  .game-item>p:not(.game-academic), .simulator-strip p,
  .join-copy>p:not(.eyebrow):not(.join-note) { font-size:14px; line-height:1.95; }
  .lenses h3, .rhythm-grid h3 { font-size:18px; }
  .lenses article { grid-template-columns:34px minmax(0,1fr); }
  .rhythm-grid article { grid-template-columns:74px minmax(0,1fr); }
  .lens-sub, .rhythm-detail, .day>span:first-child, .day b,
  .outline-label, .phase-name, .week-number>span, .week-type,
  .session-label, .game-academic, .game-top>span:last-child,
  .game-condition, .game-condition b, .simulator-strip .eyebrow { font-size:11px; }
  .teaching-note, .section-footnote, .join-note { font-size:12px; }
  .filters { gap:5px; }
  .filters button { font-size:12px; padding:8px 10px; }
  .expand-button { font-size:12px; margin-top:17px; }
  .week summary { min-height:114px; gap:14px 12px; }
  .week-title { flex-basis:calc(100% - 55px); padding-right:20px; }
  .week h3 { font-size:16px; }
  .phase-name { margin-bottom:5px; }
  .week-type { margin-top:-7px; padding:3px 7px; }
  .week summary>.plus { top:43px; }
  .week[open] summary>.plus { top:46px; }
  .week-body { padding-left:25px; padding-right:21px; gap:26px; }
  .week-body h4 { font-size:16px; }
  .week-body div>p { font-size:14px; }
  .inline-link { font-size:13px; }
  .week-question { font-size:14px; }
  .week-question>span { font-size:11px; }
  .week-note { font-size:12px; }
  .game-item h3 { font-size:18px; }
  .game-top { align-items:flex-start; gap:8px; }
  .game-top>span:last-child { text-align:right; max-width:95px; }
  .game-top>span:last-child>span { margin-left:4px; }
  .game-condition { gap:4px; }
  .simulator-strip .button { font-size:14px; }
  .faq summary { font-size:15px; }
  .faq details p { font-size:14px; }
  .closing>p { font-size:13px; }
  .footer-inner { align-items:flex-start; flex-wrap:wrap; }
  .footer-brand { font-size:13px; }
  .footer-inner p { max-width:none; font-size:11px; }
  .footer-inner>div:last-child { font-size:11px; flex-shrink:1; }
  .footer-inner>div:last-child>a { font-size:12px; }
}

@media screen and (max-width:360px) {
  .brand-name>span { max-width:155px; }
  .header-inner { gap:12px; }
  .wordmark { gap:8px; }
  .hero-actions .button, .hero-actions .text-link { font-size:14px; }
  .hero-actions .button { gap:16px; }
  .week h3 { font-size:16px; }
  .week-body { padding-left:19px; padding-right:17px; }
  .game-item h3 { font-size:17px; }
  .filters button { font-size:12px; padding-inline:9px; }
  .footer-brand { font-size:13px; }
}
