:root{--ink:#262037;--purple:#5327a8;--orange:#ef682e;--paper:#fffdf8;--line:#e8e2ee}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);font:16px/1.65 system-ui,-apple-system,sans-serif;color:var(--ink)}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}header{max-width:1240px;margin:auto;padding:24px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:10px;align-items:center;font-size:44px;font-weight:900;color:var(--purple);line-height:1}.brand span{font-size:21px}.brand small{font-size:14px;font-weight:500}nav{display:flex;gap:30px;font-size:14px;font-weight:650}.language{border:0;display:flex;background:#eee6fa;border-radius:30px;padding:4px;gap:2px;margin:0}.language button{border:0;background:none;font-size:14px;padding:8px 13px;border-radius:25px}.language button[aria-pressed=true]{background:var(--purple);color:white}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}main{max-width:1176px;margin:auto}.intro{display:grid;grid-template-columns:1.15fr 1fr;gap:80px;padding:65px 0 55px;align-items:center}.eyebrow{font-size:13px;font-weight:750;letter-spacing:.12em;color:var(--purple);margin:0 0 12px}h1{font-size:58px;line-height:1.16;letter-spacing:-.04em;margin:10px 0 20px}h1 em{font-style:normal;color:var(--orange)}h2{font-size:28px;line-height:1.35;margin:8px 0 20px;letter-spacing:-.025em}h3{font-size:21px;line-height:1.45}p{margin:10px 0 20px}.intro p:not(.eyebrow){max-width:520px}.primary{background:var(--purple);color:white;border:0;border-radius:12px;padding:13px 22px;display:inline-block;font-weight:650}.welcome{background:#ffd15e;padding:30px 32px;border-radius:28px;transform:rotate(1deg);box-shadow:10px 10px 0 #f9eee1}.welcome .eyebrow{font-size:12px}.bubble{border:2px solid var(--ink);border-radius:20px 20px 20px 4px;background:white;padding:16px 24px;font-size:34px;font-weight:750;line-height:1.35}.bubble small{display:block;font-size:16px;font-weight:500;color:#68616e}.second{margin-left:45px;background:#5327a8;color:white;border-radius:20px 20px 4px 20px}.second small{color:#eee}.welcome>p:last-child{font-size:14px;margin-bottom:0}.sectionhead{display:flex;justify-content:space-between;gap:30px;align-items:end}.sectionhead>p{font-size:14px;color:#6d6576}#topicgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:12px 0 55px}.topic{border:1px solid var(--line);background:white;border-radius:14px;padding:17px 18px;text-align:left}.topic:hover{border-color:var(--purple);transform:translateY(-2px)}.topic span,.topic small{display:block}.topic span{font-size:12px;letter-spacing:.1em;color:var(--purple)}.topic strong{display:block;font-size:18px;margin:5px 0}.topic small{font-size:14px;color:#6d6576}#classroom{display:grid;grid-template-columns:285px 1fr;gap:40px;align-items:start}aside{padding:24px;background:#f2edf8;border-radius:18px}aside h2{font-size:24px}progress{width:100%;accent-color:var(--purple);height:8px;margin-bottom:20px}#progresslabel{font-size:14px}#days{display:grid;gap:5px}.day{border:0;background:none;text-align:left;border-radius:9px;padding:10px;font-size:14px;display:flex;gap:12px;align-items:center}.day.active{background:var(--purple);color:white}.day:hover:not(.active){background:#e4d9f4}.day b{font-size:13px;opacity:.75}.muted{font-size:14px;color:#6d6576}article{background:white;border:1px solid var(--line);border-radius:24px;padding:36px}article h2{font-size:34px;margin-bottom:12px}.dialogue{display:grid;gap:14px;margin:25px 0}.line{border-radius:14px;background:#f6f2fc;padding:20px;position:relative}.line:nth-child(even){background:#fff4dc}.speaker{font-size:12px;font-weight:750;letter-spacing:.12em;color:var(--purple)}.spanish{font-size:26px;font-weight:650;margin:5px 0}.meaning{margin:0;color:#61576e}.listen{border:1px solid #cfc3e2;background:white;padding:7px 12px;border-radius:9px;font-size:14px;margin-top:12px}.explanation{border-left:4px solid var(--orange);padding-left:18px;margin:25px 0}.practice{background:#faf7ef;padding:20px;border-radius:14px;margin:24px 0}.choices{display:flex;gap:9px;flex-wrap:wrap}.choices button{border:1px solid #d7cde4;background:white;border-radius:10px;padding:10px 16px}.choices button.chosen{border-color:var(--purple);background:#eee6fa}.feedback{min-height:28px;font-weight:650}.lessonnav{display:flex;justify-content:space-between;gap:12px;margin-top:24px;flex-wrap:wrap}.secondary{border:1px solid var(--line);background:white;border-radius:10px;padding:11px 16px}.note{margin:55px 0;background:#5327a8;color:white;padding:30px;border-radius:18px}.note h2{margin:0 0 10px}.note p{margin:0}footer{max-width:1176px;margin:35px auto;font-size:14px;color:#6d6576}button:focus-visible,a:focus-visible{outline:3px solid #f49927;outline-offset:4px}@media(max-width:1240px){main,footer{margin-left:32px;margin-right:32px}}@media(max-width:760px){header{padding:18px 20px;flex-wrap:wrap;gap:18px}nav{order:3;width:100%;gap:24px}.brand{font-size:36px}.brand span{font-size:18px}.language button{padding:7px 10px}main,footer{margin-left:20px;margin-right:20px}.intro{grid-template-columns:1fr;gap:28px;padding:35px 0}h1{font-size:44px}.welcome{padding:24px;max-width:500px}.bubble{font-size:28px}.sectionhead{display:block;margin-top:25px}#topicgrid{grid-template-columns:repeat(2,1fr);margin-bottom:30px}.topic{padding:13px}#classroom{grid-template-columns:1fr;gap:20px}#days{grid-template-columns:repeat(2,1fr)}aside{padding:20px}.day{font-size:14px;gap:8px}article{padding:23px}article h2{font-size:28px}.spanish{font-size:24px}.note{margin-top:30px}h2{font-size:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.topic:hover{transform:none}}
.character-welcome{transform:none;background:#fff2d5;padding:18px 20px 20px;box-shadow:8px 8px 0 #eee5f8}.duo{display:block;width:100%;height:auto;max-height:340px;object-fit:contain}.character-welcome>p:last-child{text-align:center;margin:8px 0 0;font-size:16px}.characters{margin:5px 0 45px}.character-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.character-card{display:flex;align-items:flex-start;gap:18px;border:1px solid var(--line);background:#f5effc;padding:22px;border-radius:18px}.character-card.fox{background:#fff3dd}.character-card h3{margin:0 0 10px;color:var(--purple)}.character-card h3 small{display:block;font-size:14px;font-weight:550;color:#61576e}.character-card p{margin:0;font-size:16px}.portrait{display:inline-block;flex:none;width:54px;height:54px;border-radius:50%;background-color:#f3e9fb;background-image:url('character-reference.png');background-size:320% auto;background-repeat:no-repeat;background-position:12% 26%;border:2px solid white}.portrait.nico{background-color:#fff0d9;background-position:80% 12%}.character-card>.portrait{width:75px;height:75px}.speaker{display:flex;gap:10px;align-items:center}.speaker .portrait{width:42px;height:42px}.coach{display:flex;align-items:center;gap:10px;margin-bottom:12px}.coach .eyebrow{margin:0}.coach .portrait{width:40px;height:40px}.scene{background:#fff8e9;border:1px solid #f2e3c7;border-radius:12px;padding:16px 18px;margin:22px 0}.scene-label{font-size:13px;letter-spacing:.07em;font-weight:750;color:#82551b}.scene p{margin:5px 0 0}@media(max-width:760px){.character-grid{grid-template-columns:1fr}.character-card{padding:18px;gap:12px}.character-card>.portrait{width:60px;height:60px}.duo{max-height:290px}.characters{margin-bottom:28px}}

.lifetime-entry{display:grid;grid-template-columns:1.2fr 1fr;gap:30px;align-items:center;background:#f2edf8;border-radius:24px;padding:30px;margin:10px 0 48px}.lifetime-entry img{width:100%;height:auto;border-radius:18px}.portrait{background-position:12% 25%}.portrait.nico{background-position:80% 25%}@media(max-width:760px){.lifetime-entry{grid-template-columns:1fr;padding:22px}header nav{flex-wrap:wrap;gap:14px}}

.free-scene-picture{display:block;width:100%;height:auto;max-height:340px;object-fit:contain;border-radius:14px;margin:20px 0;background:#fff8e9}

.lesson-method{font-size:14px;font-weight:650;color:var(--purple);background:#f0eafa;border-radius:10px;padding:12px 16px;margin:12px 0}.course-next{border-top:1px solid var(--line);padding-top:22px;margin-top:24px}.intro{gap:40px;padding:38px 0}.intro h1{font-size:clamp(36px,5vw,54px)}.lifetime-entry img{max-height:250px;object-fit:contain}.character-card p{line-height:1.7}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.practice-days button{min-height:44px}@media(max-width:760px){.intro{gap:20px;padding:26px 0}.duo{max-height:220px}#days{max-height:300px;overflow:auto}.lesson-method{line-height:1.7}}
