@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#172f38;--muted:#617275;--blue:#2459db;--paper:#f6f6f0;--line:#dce3df;--mint:#dceade;--white:#fff;--radius:18px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:17px;line-height:1.6}button,input,textarea{font:inherit}button,a,input,textarea,summary{outline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #e59a35}button{cursor:pointer}button:disabled{cursor:default;opacity:.65}a{color:var(--blue)}[hidden]{display:none!important}.skip{position:absolute;top:-80px;left:20px;background:white;padding:12px;z-index:20}.skip:focus{top:12px}.topbar{height:112px;max-width:1440px;padding:0 5%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:13px;align-items:center;color:var(--ink);text-decoration:none;font-weight:800;font-family:Manrope,Arial,sans-serif;font-size:21px;line-height:1.4}.monogram{background:var(--ink);color:var(--paper);width:43px;height:48px;display:grid;place-items:center;border-radius:14px 14px 14px 2px;font-size:25px}.brand-sub{display:block;font-family:'DM Sans',Arial,sans-serif;font-size:9px;letter-spacing:2.2px;font-weight:600}.topbar nav{display:flex;gap:8px}.nav{border:0;background:transparent;padding:10px 16px;color:var(--muted);font-size:15px;border-radius:30px}.nav.active{color:var(--ink);background:#e5ebe6;font-weight:700}.course-label{font-size:10px;letter-spacing:1.7px;font-weight:700}.course-label span{display:block;font-size:12px;letter-spacing:0;font-weight:400;color:var(--muted);margin-top:5px}main{max-width:1240px;margin:auto;padding:0 34px 56px}.view:not(#homework){padding-top:64px}.hero{display:grid;grid-template-columns:1.4fr 1fr;gap:80px;align-items:center;padding:64px 0 55px}.eyebrow{font-size:11px;letter-spacing:2.2px;font-weight:800;color:#57706a;margin:0 0 18px}.hero h1,h1{font-family:Manrope,Arial,sans-serif;font-size:clamp(35px,4.4vw,57px);line-height:1.13;letter-spacing:-2.3px;font-weight:600;margin:0 0 23px}h2{font-family:Manrope,Arial,sans-serif;font-size:28px;line-height:1.3;letter-spacing:-.7px;margin:0 0 17px}h3{font-size:19px;line-height:1.4;margin:0 0 10px}p{margin:0 0 18px}.intro{font-size:18px;color:var(--muted);max-width:610px;line-height:1.7}.hero-meta{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:13px;color:var(--muted);margin:25px 0}.hero-meta span+span:before{content:'·';margin-right:16px}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;padding:12px 20px;border-radius:9px;font-size:14px;font-weight:700;text-decoration:none;border:1px solid transparent}.primary{background:var(--blue);color:white}.primary:hover{background:#1749c0}.secondary{background:transparent;color:var(--ink);border-color:#bccbc4}.secondary:hover{background:#eaf0e9}.text-button{background:none;border:0;color:var(--muted);text-decoration:underline;font-size:13px;padding:10px}.next-class{background:var(--ink);color:white;border-radius:23px 23px 23px 4px;padding:34px 36px;position:relative}.small-label{font-size:10px;letter-spacing:1.7px;font-weight:700}.next-class .small-label{color:#a6cbbd}.quote{font-family:Manrope,Arial,sans-serif;line-height:1.45;font-size:26px;letter-spacing:-.4px;margin:24px 0 30px}.next-divider{height:1px;background:#3d5559;margin-bottom:24px}.next-class p:not(.quote){margin:8px 0 2px;font-size:17px}.next-date{font-size:12px;color:#c4d5cf}.homework-heading{display:flex;justify-content:space-between;align-items:end;margin:14px 0 20px}.homework-heading .eyebrow{margin-bottom:8px}.homework-heading h2{margin:0;font-size:26px}.homework-heading>p{color:var(--muted);font-size:13px;margin:0}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:22px}.step{display:flex;align-items:center;gap:12px;text-align:left;background:#ecefe8;border:1px solid transparent;border-radius:10px;color:var(--ink);padding:17px 14px;position:relative}.step.active{border-color:#809e90;background:#fff}.step-number{font-size:14px;color:#7a8a81;align-self:start;padding-top:2px}.step strong{font-size:14px;display:block}.step small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.step.complete .tick:after{content:'✓';color:#25634c;font-weight:700;position:absolute;right:9px;top:5px}.practice{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:36px;scroll-margin-top:20px}.activity-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.activity-top .eyebrow{margin:0;color:var(--blue)}.activity-top>span{font-size:12px;color:var(--muted)}.activity>h2{margin-top:20px}.activity>p{color:var(--muted);max-width:820px}.recall-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:26px 0}.recall{background:#f6f7f3;border:1px solid #e6ebe3;border-radius:10px;padding:20px;min-height:175px;display:flex;flex-direction:column;align-items:start}.recall p{font-size:15px;line-height:1.55;flex:1}.reveal{background:none;border:0;border-bottom:1px solid #aabdb4;color:#245843;font-size:13px;padding:0 0 3px}.answer{margin:11px 0 0!important;color:#245843;font-weight:700}.completion{display:flex;gap:12px;align-items:center;background:#eff5ef;padding:16px 18px;border-radius:9px;font-size:15px;margin:24px 0 20px!important;font-weight:500!important}input[type=checkbox],input[type=radio]{accent-color:var(--blue);width:19px;height:19px;flex-shrink:0}.sound-list{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:28px 0}.sound-list>div{padding:24px 20px 24px 0}.sound-list>div+div{border-left:1px solid var(--line);padding-left:24px}.sound-pair{font-size:25px;font-family:Manrope,Arial,sans-serif;font-weight:600}.sound-pair>span{color:var(--blue);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}.sound-list p{font-size:14px;margin:12px 0}.listen{background:#edf1fa;border:1px solid #d6e0f9;color:#2452a9;border-radius:30px;font-size:12px;font-weight:700;padding:7px 14px;min-height:36px}.listen:before{content:'▶';font-size:9px;margin-right:8px}.speech-line{background:#f4f6ef;border-radius:12px;padding:25px;margin-bottom:20px}.speech-line>p:first-of-type{font-size:23px;margin-top:16px;line-height:1.7}.muted{font-size:12px!important;color:var(--muted)!important;line-height:1.6!important;margin-top:12px}.speaking-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:30px;margin:28px 0}.scenario{background:#f0f4ec;padding:25px;border-radius:12px}.scenario h3{margin:10px 0 20px;font-size:23px}.scenario dl{margin:0 0 20px}.scenario dl>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #dae3d5;font-size:14px}dt{color:var(--muted)}dd{margin:0;font-weight:600}.scenario>p{font-size:15px}.model{margin:16px 0;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:15px}.model summary{cursor:pointer;font-weight:700}.model p{margin-top:15px}.speaking-tools>label,label[for]{font-size:14px;font-weight:700;display:block;margin-bottom:8px}input[type=text],input:not([type]),input[type=search],textarea{width:100%;background:#fff;border:1px solid #bdccc3;border-radius:8px;padding:12px 14px;color:var(--ink);resize:vertical;max-width:100%}textarea::placeholder,input::placeholder{color:#79877f;font-size:14px}.timer{display:flex;align-items:center;justify-content:space-between;padding:20px 0;border-bottom:1px solid var(--line);margin-bottom:22px}.timer output{display:block;font-size:37px;font-family:Manrope,Arial,sans-serif;font-weight:500;font-variant-numeric:tabular-nums}.timer>div:last-child{display:flex;flex-direction:column}.optional{font-size:10px;color:var(--muted);font-weight:400;margin-left:8px}.recorder h3{font-size:15px}.recorder p{font-size:12px}.take{border-top:1px solid var(--line);padding:12px 0}.take audio{display:block;width:100%;height:36px;margin:8px 0}.take a{font-size:12px}.take strong{font-size:13px}.followup{border-left:3px solid var(--blue);padding:8px 0 8px 22px;margin:24px 0}.followup p{margin:12px 0;font-size:17px}.self-check{border:0;margin:25px 0;padding:0}.self-check legend{font-size:16px;font-weight:700;margin-bottom:14px}.self-check label{display:flex;align-items:center;gap:10px;font-size:14px;margin-bottom:8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:28px 0}.activity>input,.activity>textarea{margin-bottom:24px}.confidence{border:0;padding:0;margin:24px 0}.confidence legend{font-size:15px;font-weight:600}.confidence>div{display:flex;gap:9px;margin-top:15px}.confidence label{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:72px;padding:10px;border:1px solid var(--line);border-radius:8px;font-size:20px;cursor:pointer}.confidence small{font-size:10px;white-space:nowrap}.confidence label:has(input:checked){background:#eaf1fc;border-color:var(--blue)}.confidence input{margin-bottom:6px}.resource-row{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:32px 0;margin-top:12px}.resource-row h3{font-size:16px;margin:0}.resource-row p{font-size:13px;color:var(--muted);margin:4px 0}.resource-row .button{font-size:12px}.search-label{margin-top:35px}#phrase-search{max-width:550px;margin-bottom:28px}.phrase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.phrase-card{background:white;border:1px solid var(--line);border-radius:13px;padding:24px}.phrase-card .small-label{color:#628470}.phrase-card h3{margin-top:12px;font-size:21px}.phrase-card p{font-size:14px;color:var(--muted)}.phrase-card .example{color:var(--ink);font-style:italic}.progress-panel{display:grid;grid-template-columns:1fr 1.1fr;background:white;border:1px solid var(--line);border-radius:18px;margin-top:38px;padding:35px;gap:55px}.progress-panel h2{margin-top:15px}.progress-panel progress{width:100%;height:12px;accent-color:#39765b}.progress-panel ul{list-style:none;padding:0}.progress-panel li{border-bottom:1px solid var(--line);padding:12px 0;font-size:15px}.progress-panel li span{float:right;color:#577967;font-size:12px}.summary-panel dl>div{margin:14px 0;font-size:14px}.summary-panel dd{margin-top:4px;overflow-wrap:anywhere}.summary-panel dt{font-size:11px;text-transform:uppercase;letter-spacing:1px}.reflection{margin:30px 0;background:#e8efe3;padding:30px;border-radius:14px}.reflection p{font-size:15px}.toast{position:fixed;bottom:24px;right:24px;max-width:360px;padding:16px 22px;background:var(--ink);color:white;border-radius:12px;font-size:14px;z-index:20;box-shadow:0 4px 25px #172f3830}footer{max-width:1240px;margin:auto;border-top:1px solid var(--line);padding:27px 34px 35px;display:flex;justify-content:space-between;gap:35px;font-size:12px;color:var(--muted)}footer>span{white-space:nowrap}footer p{max-width:410px;text-align:right;font-size:11px;margin:0}.footer-dot{margin:0 8px;color:#b1beb4}@media(max-width:1000px){.course-label{display:none}.hero{gap:35px}.quote{font-size:22px}.next-class{padding:28px}.steps{grid-template-columns:repeat(2,1fr)}.recall-grid,.phrase-grid{grid-template-columns:repeat(2,1fr)}.progress-panel{gap:25px}.hero h1{font-size:43px}}@media(max-width:680px){body{font-size:16px}.topbar{height:auto;padding:20px 22px;flex-direction:column;align-items:start;gap:20px}.brand{font-size:20px}.topbar nav{width:100%;justify-content:space-between}.nav{font-size:13px;padding:9px 14px}main{padding:0 20px 30px}.hero{grid-template-columns:1fr;padding:35px 0;gap:30px}.hero h1,h1{font-size:39px;letter-spacing:-1.5px}.intro{font-size:16px}.hero-meta{font-size:12px;gap:7px 12px}.hero-meta span+span:before{margin-right:10px}.next-class{padding:25px}.quote{font-size:25px;margin:17px 0 22px}.next-class .quote br{display:none}.homework-heading{align-items:start;gap:12px}.homework-heading h2{font-size:23px}.homework-heading>p{font-size:11px;margin-top:25px;white-space:nowrap}.step{padding:14px 10px;gap:8px}.step strong{font-size:12px}.step small{font-size:10px}.practice{padding:24px 18px}.activity-top{display:block}.activity-top>span{display:block;margin-top:5px;font-size:11px}h2{font-size:24px}.recall-grid,.phrase-grid,.speaking-grid,.progress-panel,.form-grid{grid-template-columns:1fr}.recall{min-height:130px}.sound-list{grid-template-columns:1fr}.sound-list>div+div{border-left:0;border-top:1px solid var(--line);padding-left:0}.sound-list>div{padding:20px 0}.sound-pair{font-size:24px}.sound-list p{display:inline-block;margin-right:10px}.confidence>div{gap:5px}.confidence label{min-width:0;flex:1;padding:8px 3px}.confidence small{font-size:8px}.completion{font-size:13px}.resource-row{flex-direction:column;align-items:start}.progress-panel{padding:24px;gap:25px}.view:not(#homework){padding-top:35px}footer{display:block;padding:25px 20px}footer>span{white-space:normal}footer p{text-align:left;margin-top:10px}.toast{left:16px;right:16px;bottom:16px;max-width:none}.speech-line>p:first-of-type{font-size:20px}}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.button,.step{transition:background .15s}}

.lesson-nav{display:flex;align-items:center;gap:12px;padding:25px 0 0}.lesson-nav>span{font-size:10px;letter-spacing:1.6px;color:var(--muted);font-weight:700;margin-right:8px}.lesson-nav a{display:flex;gap:10px;align-items:baseline;padding:10px 16px;border:1px solid var(--line);border-radius:9px;color:var(--muted);text-decoration:none;font-size:13px}.lesson-nav a strong{color:var(--ink)}.lesson-nav a[aria-current=page]{border-color:#849d91;background:white}.lesson-nav a[aria-current=page] strong{color:var(--blue)}.language-help{padding:19px 22px;margin:25px 0;background:#f0f4ec;border-radius:10px;font-size:15px}.language-help summary{cursor:pointer;font-weight:700}.language-help p{margin-top:14px;margin-bottom:0}.lesson-nav+.view:not(#homework){padding-top:40px}@media(max-width:680px){.lesson-nav{display:grid;grid-template-columns:1fr 1fr;gap:9px}.lesson-nav>span{grid-column:1 / -1}.lesson-nav a{flex-direction:column;gap:1px;padding:11px 12px;font-size:12px}.lesson-nav a strong{font-size:14px}}

.audio-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px 22px;padding:18px 0;border-bottom:1px solid var(--line);margin-top:15px}.audio-controls>div{margin-right:auto}.audio-controls strong{font-size:13px;display:block}.audio-controls>div span{font-size:10px;color:var(--muted)}.audio-controls label{font-size:12px;display:flex;align-items:center;gap:10px}.audio-controls select{padding:8px 12px;border:1px solid #bccbc4;border-radius:8px;background:white;font:inherit;color:var(--ink)}#playback-status{flex-basis:100%;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}@media(max-width:680px){.audio-controls{gap:8px 12px}.audio-controls>div{flex-basis:100%}.audio-controls .text-button{padding:8px 0}.audio-controls label{font-size:11px}}

/* Four lessons remain easy to reach on narrow screens. */
.lesson-nav{flex-wrap:wrap}.lesson-nav a{flex-wrap:wrap;gap:3px 10px}
.sound-quiz{margin:24px 0}.quiz-row{padding:18px 0;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;gap:12px}.quiz-row>span{font-weight:700;font-size:14px}.quiz-row [role=group]{display:flex;gap:8px}.quiz-row .choice[aria-pressed=true]{background:#eaf1fc;border-color:var(--blue)}.quiz-feedback{flex-basis:100%;font-size:14px;margin:0;color:#245843}.quiz-feedback:empty{display:none}
@media(max-width:680px){.lesson-nav a{align-items:flex-start}.scenario dl>div{flex-wrap:wrap}.scenario dd{overflow-wrap:anywhere}.quiz-row .button{padding:8px 14px}}
