*{box-sizing:border-box}html{scroll-padding-top:20px}body{margin:0;background:#f6fafb;color:#173f53;font:16px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif}a{color:inherit}button,select{font:inherit}a,button,select{touch-action:manipulation}button,a,select{ -webkit-tap-highlight-color:transparent}a:focus-visible,select:focus-visible,button:focus-visible{outline:3px solid #c58120;outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.22;letter-spacing:-.025em}h1{font-size:clamp(34px,4.4vw,56px);max-width:700px;margin-bottom:22px}h2{font-size:28px;margin-bottom:12px}h3{font-size:21px;margin-bottom:12px}p{margin-bottom:16px}.shell{max-width:1220px;margin-inline:auto;padding-inline:32px}.top{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:110px;border-bottom:1px solid #d9e5e8}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;line-height:1.2}.brand>span{width:48px;height:48px;border-radius:12px;background:#225f73;display:grid;place-items:center;color:#edc773;font-size:25px;font-weight:900}.brand strong{font-size:18px}.brand small{display:block;font-size:9px;letter-spacing:.3em;margin-top:5px}.top label{display:flex;align-items:center;gap:12px;font-size:14px}select{background:white;border:1px solid #bbcfd5;border-radius:9px;padding:10px;color:inherit;max-width:160px}.breadcrumb{display:flex;gap:14px;margin-block:24px 10px;font-size:14px}.breadcrumb a{text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.hero{display:grid;grid-template-columns:1.35fr 1fr;gap:64px;align-items:center;padding-block:28px 50px}.eyebrow{font-size:12px;font-weight:750;letter-spacing:.085em;color:#27758a;margin-bottom:16px}.lead{font-size:18px;max-width:620px;line-height:1.8;color:#426274;margin-bottom:24px}.button{display:inline-flex;gap:18px;align-items:center;justify-content:center;padding:12px 20px;background:#236c89;color:#fff;border:1px solid #236c89;border-radius:10px;font-weight:700;text-decoration:none;line-height:1.5;min-height:48px}.button:hover{background:#194f65;border-color:#194f65}.first-session{padding:27px 30px;background:#edf4ef;border:1px solid #d4e4d8;border-radius:20px}.first-session h2{font-size:21px;line-height:1.4}.first-session ol{padding-inline-start:22px;margin-bottom:0;font-size:15px}.first-session li{padding-inline-start:5px;margin-top:10px}.first-session .eyebrow{color:#42745f}.resume{margin-top:22px;font-size:14px;border-inline-start:3px solid #b3d2d4;padding-inline-start:13px}.resume span{display:block;color:#567382}.resume a{font-weight:650;text-decoration:underline;text-underline-offset:4px}.resume a span{display:inline}.learning-path{scroll-margin-top:20px;border-top:1px solid #d9e5e8;padding-top:34px}.path-heading{max-width:800px;margin-bottom:24px}.path-heading>p{color:#537181;margin-bottom:0}.stage-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:30px}.stage-nav>a{display:flex;flex-direction:column;align-items:flex-start;padding:17px;background:#fff;border:1px solid #cedee3;border-radius:13px;text-decoration:none;gap:12px;transition:background .15s}.stage-nav strong{display:block;font-size:16px;line-height:1.45}.stage-nav small{display:block;color:#647c86;margin-top:6px;font-size:12px;line-height:1.5}.stage-number{width:30px;height:30px;display:grid;place-items:center;background:#edf4f5;border-radius:50%;font-size:12px;font-weight:700;color:#416a77}.stage-nav a:hover{background:#ecf5f7;border-color:#6198a9}.stage-nav [aria-current]{background:#215e73;color:#fff;border-color:#215e73}.stage-nav [aria-current] small{color:#d9eaf0}.stage-nav [aria-current] .stage-number{background:#dcefe8;color:#205f57}.stage-panel{padding:30px;background:#fff;border:1px solid #d7e4e8;border-radius:20px;scroll-margin-top:24px}.stage-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:34px;align-items:start;margin-bottom:28px}.stage-heading h2{font-size:32px}.stage-heading .eyebrow{margin-bottom:10px}.stage-heading>div>p:last-child{margin-bottom:0;color:#567181}.stage-heading aside{border-inline-start:3px solid #bad8c9;padding:10px 0;padding-inline-start:18px;font-size:15px}.stage-heading aside strong{font-size:13px;color:#49735f}.stage-heading aside p{margin:7px 0 0}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.course-grid[data-count="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}.course-card{min-width:0;border:1px solid #dbe6e9;border-radius:15px;overflow:hidden;display:flex;flex-direction:column}.course-image{height:170px;background:#f2f6f5;overflow:hidden;position:relative}.course-image img{width:100%;height:100%;object-fit:cover;display:block}.course-card[data-course="panels"] .course-image img,.course-card[data-course="reading"] .course-image img{object-fit:contain}.scene-strip img{position:absolute;height:500%;object-fit:fill;transform:translateY(-80%)}.course-copy{padding:21px;display:flex;flex-direction:column;flex:1}.course-kicker{display:flex;gap:8px;align-items:center;justify-content:space-between;font-size:11px;color:#567382;margin-bottom:14px;flex-wrap:wrap}.new-badge{border-radius:20px;background:#f6e6bf;padding:2px 9px;color:#765112;font-size:11px;font-weight:700}.course-description{font-size:14px;line-height:1.75;color:#4c6979}.course-meta{font-size:12px;color:#467083;margin-top:auto;padding-top:10px}.course-open{background:white;color:#236c89;border-color:#a5c2cf;font-size:14px;width:100%;padding:10px 12px}.course-open:hover{color:white}.stage-next{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:28px;padding:22px;background:#f2f7f6;border-radius:12px}.stage-next>div{max-width:670px}.stage-next p{font-size:14px;margin:6px 0 0;color:#4a6b76}.stage-next .button{flex-shrink:0;font-size:14px}.previous{display:inline-block;margin-top:20px;font-size:14px}.path-note{font-size:13px;color:#6a7e88;text-align:center;padding:15px 12px;margin-bottom:0}.how{padding-block:44px 30px}.how>h2{font-size:24px}.how ol{padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin:25px 0 0}.how li{display:flex;gap:14px}.how li>span{border:1px solid #bad3dc;color:#287289;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;flex-shrink:0;font-size:13px}.how h3{font-size:17px;margin-bottom:8px}.how p{font-size:14px;color:#557181}.tutor-note{display:grid;grid-template-columns:1.2fr 1fr;gap:35px;padding:24px 28px;border:1px solid #d8e4e6;border-radius:14px;font-size:14px;background:#eef5f8}.tutor-note h2{font-size:19px}.tutor-note p{margin:0}.tutor-note>p{padding-inline-start:24px;border-inline-start:1px solid #c6dce3;color:#66767b}.storage{font-size:13px;color:#6a7e88;margin:22px 0}footer{display:flex;justify-content:space-between;gap:20px;padding-block:28px!important;margin-top:20px!important;border-top:1px solid #d9e5e8;font-size:12px;color:#6a7e88}.skip{position:absolute;inset-inline-start:16px;top:-100px;padding:12px;background:#fff;z-index:10}.skip:focus{top:10px}[hidden]{display:none!important}html[dir=rtl]{font-family:Tahoma,"Segoe UI",sans-serif}html[dir=rtl] h1,html[dir=rtl] h2,html[dir=rtl] h3,html[dir=rtl] .eyebrow{letter-spacing:0}html[dir=rtl] .course-description{line-height:1.9}
@media(max-width:950px){.shell{padding-inline:24px}.hero{gap:28px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stage-nav>a{padding:13px}.stage-nav strong{font-size:14px}.stage-nav small{font-size:11px}.stage-heading{gap:22px}.stage-next{align-items:flex-start;flex-direction:column}}
@media(max-width:650px){.shell{padding-inline:18px}.top{min-height:86px;gap:12px;flex-wrap:wrap;padding-block:14px}.brand>span{width:38px;height:38px}.brand strong{font-size:14px}.top label{font-size:11px;gap:5px;flex-direction:column;align-items:flex-start}.top select{padding:7px;font-size:13px}.breadcrumb{font-size:12px;margin-top:18px}.hero{grid-template-columns:1fr;gap:24px;padding-block:20px 30px}h1{font-size:35px}.lead{font-size:16px;margin-bottom:20px}.eyebrow{font-size:11px}.first-session{padding:20px}.first-session h2{font-size:18px}.first-session ol{font-size:14px}.learning-path{padding-top:27px}.path-heading h2{font-size:24px}.path-heading p{font-size:14px}.stage-nav{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px}.stage-nav>a{flex-direction:row;gap:8px;align-items:center;padding:12px 10px}.stage-nav>a:last-child{grid-column:1/-1}.stage-nav small{display:none}.stage-nav strong{font-size:13px}.stage-number{width:26px;height:26px;flex-shrink:0}.stage-panel{padding:18px;border-radius:16px}.stage-heading{grid-template-columns:1fr;gap:14px;margin-bottom:20px}.stage-heading h2{font-size:27px}.stage-heading p{font-size:14px}.stage-heading aside{padding-block:4px}.course-grid,.course-grid[data-count="2"]{grid-template-columns:1fr}.course-image{height:155px}.course-copy{padding:18px}.course-copy h3{font-size:20px}.stage-next{padding:17px;gap:16px}.stage-next .button{width:100%;font-size:13px}.how{padding-block:30px 15px}.how ol{grid-template-columns:1fr;gap:10px}.tutor-note{grid-template-columns:1fr;gap:16px;padding:20px}.tutor-note>p{padding:15px 0 0;border-inline-start:0;border-top:1px solid #c6dce3}footer{flex-direction:column;gap:6px}.resume{font-size:13px}p,h1,h2,h3,a{overflow-wrap:break-word}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.stage-nav a[aria-current]:hover{background:#194f65;border-color:#194f65;color:#fff}

/* Five learning stages: illustrated navigation, independent of completion. */
.stage-nav{gap:14px;margin-block:28px 34px}
.stage-nav>a{--stage-ink:#24716e;--stage-tint:#e5f3ec;position:relative;isolation:isolate;min-width:0;min-height:194px;padding:20px 18px 24px;gap:22px;border:1px solid #d7e5e8;border-radius:20px;background:linear-gradient(155deg,#fff 45%,#f0f7f7);box-shadow:0 4px 12px #173f5305;transition:transform .18s,box-shadow .18s,background .18s}
.stage-nav>a:nth-child(2){--stage-ink:#496cb0;--stage-tint:#eaf0fc}
.stage-nav>a:nth-child(3){--stage-ink:#996924;--stage-tint:#fbefd8}
.stage-nav>a:nth-child(4){--stage-ink:#7960a5;--stage-tint:#f0eafb}
.stage-nav>a:nth-child(5){--stage-ink:#b06443;--stage-tint:#fbece4}
.stage-top{display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px}
.stage-icon{display:grid;place-items:center;width:48px;height:48px;flex-shrink:0;border-radius:15px;background:var(--stage-tint);color:var(--stage-ink)}
.stage-icon svg{width:26px;height:26px}
.stage-nav .stage-number{width:auto;height:auto;background:none;border-radius:0;color:#69818c;font-size:13px;letter-spacing:.08em;font-weight:650;font-variant-numeric:tabular-nums}
.stage-copy{display:block;padding-inline-end:4px}
.stage-nav strong{font-size:16px;font-weight:750;line-height:1.5}
.stage-nav small{font-size:12px;line-height:1.6;color:#597480;margin-top:7px}
.stage-arrow{position:absolute;inset-inline-end:17px;bottom:13px;font-size:18px;color:var(--stage-ink);opacity:0;transition:opacity .18s}
.stage-nav>a:hover{transform:translateY(-3px);background:#fff;box-shadow:0 9px 23px #173f5310;border-color:#a6c7cf}
.stage-nav>a:hover .stage-arrow,.stage-nav>a[aria-current] .stage-arrow{opacity:1}
.stage-nav>a[aria-current],.stage-nav>a[aria-current]:hover{background:linear-gradient(135deg,#226b7b,#163f56);border-color:#246a7a;color:#fff;box-shadow:0 8px 20px #164e6924}
.stage-nav>a[aria-current]::after{content:"";position:absolute;inset-inline:18px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:#b8ddc7}
.stage-nav [aria-current] .stage-icon{background:#ffffff18;color:#d6f1df;border:1px solid #ffffff28}
.stage-nav [aria-current] .stage-number{background:none;color:#c2dee4}
.stage-nav [aria-current] small{color:#d7e8ed}
.stage-nav [aria-current] .stage-arrow{color:#cce9d6}
@media(max-width:950px) and (min-width:651px){.stage-nav{gap:9px}.stage-nav>a{padding:16px 12px 24px;min-height:196px}.stage-icon{width:40px;height:40px;border-radius:12px}.stage-nav strong{font-size:14px}.stage-nav small{font-size:11px}}
@media(max-width:650px){.stage-nav{grid-template-columns:1fr;gap:10px;margin-block:22px 25px}.stage-nav>a,.stage-nav>a:last-child{grid-column:auto;display:grid;grid-template-columns:48px 1fr;align-items:center;gap:16px;min-height:100px;padding:15px 38px 15px 16px;border-radius:16px}.stage-top{display:block;width:48px}.stage-icon{width:46px;height:46px;border-radius:14px}.stage-nav .stage-number{position:absolute;inset-inline-end:14px;top:12px;font-size:10px}.stage-nav strong{font-size:15px}.stage-nav small{display:block;font-size:12px;margin-top:3px}.stage-arrow{opacity:1;bottom:12px;inset-inline-end:14px}.stage-copy{padding:0}.stage-nav>a[aria-current]::after{inset-inline:0 auto;top:15px;bottom:15px;width:3px;height:auto;border-radius:0 3px 3px 0}html[dir=rtl] .stage-nav>a{padding:15px 16px 15px 38px}}

/* Original learning stickers; decorative, with instructions kept as accessible text. */
.how{scroll-margin-top:28px;padding-block:44px 34px}
.how ol{gap:18px;margin-top:24px}
.how li{position:relative;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;padding:20px 23px 23px;border:1px solid #d9e7e6;border-radius:20px;background:linear-gradient(150deg,#f0f8f3,#fff)}
.how li:nth-child(2){background:linear-gradient(150deg,#fff7e8,#fff);border-color:#eee3d0}
.how li:nth-child(3){background:linear-gradient(150deg,#f0f5ff,#fff);border-color:#dce5ef}
.study-sticker{position:relative;width:144px;height:144px;margin-block:-8px 4px;flex-shrink:0}
.study-sticker img{display:block;width:100%;height:100%;object-fit:contain;transform:rotate(-5deg)}
.how li:nth-child(2) .study-sticker img{transform:rotate(4deg)}
.how li:nth-child(3) .study-sticker img{transform:rotate(-3deg)}
.study-step{position:absolute;inset-inline-start:-5px;bottom:7px;width:29px;height:29px;display:grid;place-items:center;border:3px solid #fff;border-radius:50%;background:#236779;color:#fff;font-size:12px;font-weight:750;box-shadow:0 2px 5px #173f5312}
.how h3{font-size:18px;line-height:1.45;margin-bottom:8px}
.how p{font-size:14px;line-height:1.75;margin-bottom:0;color:#4c6b79}
@media(max-width:950px) and (min-width:651px){.how ol{gap:12px}.how li{padding:16px}.study-sticker{width:112px;height:112px}.how h3{font-size:16px}}
@media(max-width:650px){.how{padding-block:30px 24px}.how ol{gap:12px}.how li{display:grid;grid-template-columns:86px minmax(0,1fr);gap:14px;align-items:center;padding:18px 16px}.study-sticker{width:86px;height:100px;margin:0}.study-step{width:25px;height:25px;inset-inline-start:-3px;bottom:4px;font-size:10px}.how h3{font-size:16px}.how p{font-size:13px;line-height:1.7}}

/* Original card covers: show the complete 16:9 illustration at every breakpoint. */
.course-card:is([data-course="stories"],[data-course="talks"],[data-course="panels"],[data-course="reading"],[data-course="patterns"],[data-course="grammar"]) .course-image{height:auto;aspect-ratio:16/9}
.course-card:is([data-course="stories"],[data-course="talks"],[data-course="panels"],[data-course="reading"],[data-course="patterns"],[data-course="grammar"]) .course-image img{object-fit:cover;object-position:center}

/* Review action: deeper plum accent. */
#a1-practice .stage-next .button{background:#603578;border-color:#603578;color:#fff}
#a1-practice .stage-next .button:hover{background:#452354;border-color:#452354}

/* First session: a compact, illustrated three-step guide. */
.first-session{position:relative;isolation:isolate;padding:26px;background:linear-gradient(145deg,#f0f8f4 0%,#fff 65%);border:1px solid #d2e4dd;border-radius:26px;box-shadow:0 14px 36px #173f530b,0 3px 8px #173f5304}
.session-header{display:grid;grid-template-columns:minmax(0,1fr) 74px;gap:20px;align-items:center;margin-bottom:23px}
.first-session .eyebrow{display:inline-block;margin:0 0 12px;padding:4px 10px;border-radius:7px;background:#daede4;color:#285f50;font-size:11px;letter-spacing:.05em}
.first-session h2{margin:0;font-size:21px;line-height:1.45;letter-spacing:-.025em}
.session-time{width:74px;height:96px;border-radius:22px;background:#215e64;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 6px 14px #215e6420;transform:rotate(5deg)}
.session-time svg{width:19px;height:19px;color:#c5e7d7;margin-bottom:3px}.session-time strong{font-size:30px;line-height:1.05;letter-spacing:-.05em}.session-time>span{font-size:11px;letter-spacing:.08em;color:#dcece7}
.first-session ol{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.first-session li{margin:0;padding:12px 14px;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:15px;border:1px solid #e2ebe7;border-radius:15px;background:#fff;font-size:14px;line-height:1.65;color:#365767}
.session-icon{position:relative;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#e7f2ef;color:#286659}
.session-icon svg{width:23px;height:23px}.session-icon b{position:absolute;inset-inline-end:-4px;bottom:-4px;width:17px;height:17px;display:grid;place-items:center;border-radius:50%;border:2px solid white;background:#286659;color:white;font:700 9px/1 system-ui}
.first-session li:nth-child(2) .session-icon{background:#edf0fa;color:#586d9b}.first-session li:nth-child(2) .session-icon b{background:#586d9b}
.first-session li:nth-child(3) .session-icon{background:#fff1d8;color:#946722}.first-session li:nth-child(3) .session-icon b{background:#946722}
html[dir=rtl] .session-time{transform:rotate(-5deg)}
@media(max-width:650px){.first-session{padding:21px;border-radius:23px}.session-header{gap:14px;grid-template-columns:minmax(0,1fr) 64px;margin-bottom:20px}.session-time{width:64px;height:86px;border-radius:19px}.first-session h2{font-size:19px}.first-session li{padding:12px;gap:13px;font-size:14px}}

/* 1243: prominent, keyboard-accessible level navigation. */
.breadcrumb1243{display:flex;align-items:center;gap:12px;width:fit-content;max-width:100%;padding:6px;margin-block:24px 12px;background:#fff;border:1px solid #e3dff0;border-radius:17px;box-shadow:0 5px 18px #48366f12;font-size:14px}
.breadcrumb1243 .level-back1243{display:inline-flex;align-items:center;gap:11px;min-height:48px;padding:8px 18px 8px 9px;padding-inline:9px 18px;border:1px solid #574077;border-radius:12px;background:linear-gradient(115deg,#493564,#71538e);color:#fff;font-weight:700;text-decoration:none;line-height:1.4;transition:background .15s,box-shadow .15s}
.breadcrumb1243 .level-back1243:hover{background:#3d2b56;box-shadow:0 3px 9px #49356425;text-decoration:none}
.back-icon1243{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#ffffff19;border:1px solid #ffffff20;font-size:21px;line-height:1;flex-shrink:0}
.crumb-divider1243{color:#a295b7;font-size:17px}
.current-level1243{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;min-width:66px;padding:8px 13px;background:#e4f4ed;color:#285b4b;border:1px solid #b9dacc;border-radius:11px;font-size:20px;font-weight:800;line-height:1}
.level-dot1243{width:6px;height:6px;border-radius:50%;background:#49856e}
.breadcrumb1243 .level-back1243:focus-visible{outline:3px solid #9169b5;outline-offset:4px}
@media(max-width:650px){.breadcrumb1243{margin-block:18px 8px;gap:8px;padding:5px;border-radius:15px;font-size:12px}.breadcrumb1243 .level-back1243{gap:8px;min-height:46px;padding-inline:7px 12px}.current-level1243{min-width:53px;font-size:18px;padding:8px 10px;gap:5px}.back-icon1243{width:27px;height:27px}.crumb-divider1243{font-size:14px}}
@media(prefers-reduced-motion:reduce){.breadcrumb1243 .level-back1243{transition:none}}
