:root{color-scheme:light;--ink:#243b31;--muted:#5d6e63;--paper:#f8f6ef;--surface:#fffdf8;--sage:#e3ebe2;--line:#cbd8cb;--accent:#2a7155;--warm:#c47d4c;--success:#245c45;--error:#924b35}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-underline-offset:4px}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--warm);outline-offset:3px}.skip-link{position:absolute;left:1rem;top:-4rem;background:var(--ink);color:var(--surface);padding:.65rem 1rem;z-index:10}.skip-link:focus{top:1rem}.site-header{height:74px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 clamp(1.25rem,5vw,5rem);border-bottom:1px solid var(--line);background:var(--surface)}.brand{font-family:Fraunces,Georgia,serif;font-size:1.25rem;font-weight:600;text-decoration:none;white-space:nowrap}.brand span{color:var(--accent)}.site-header nav{display:flex;gap:clamp(1rem,3vw,2rem);font-size:.84rem;font-weight:700}.site-header nav a{text-decoration:none}.site-header nav a:hover,.route-list a:hover,.next-link:hover{text-decoration:underline}.hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(18rem,.75fr);min-height:32rem;background:#e4ebe1;border-bottom:1px solid var(--line)}.hero-copy{padding:clamp(4rem,8vw,7rem) clamp(1.25rem,6vw,6rem);max-width:52rem}.eyebrow,.small-label{font-size:.69rem;font-weight:700;letter-spacing:.16em;color:var(--accent);margin:0 0 1rem}.hero h1,.route h2{font-family:Fraunces,Georgia,serif;font-size:clamp(2.8rem,5.7vw,5.8rem);line-height:1.07;letter-spacing:-.045em;font-weight:400;margin:0}.hero h1 em{color:var(--accent);font-weight:400}.hero-copy>p:not(.eyebrow){max-width:36rem;font-size:1.05rem;color:#4a6254;margin:1.6rem 0 2rem}.primary-link{display:inline-flex;align-items:center;gap:2.5rem;background:var(--ink);color:var(--surface);font-size:.86rem;font-weight:700;text-decoration:none;padding:.8rem 1rem}.primary-link:hover{background:var(--accent)}.hero-figure{position:relative;display:flex;align-items:center;justify-content:center;gap:.35rem;background:#315d49;color:#f4f2e9;overflow:hidden}.hero-figure:before,.hero-figure:after{content:"";position:absolute;border:1px solid #ffffff3a;border-radius:50%;width:26rem;height:26rem;transform:translate(22%,18%)}.hero-figure:after{width:19rem;height:19rem;transform:translate(-28%,-32%)}.hero-figure span{position:relative;z-index:1}.hero-figure .figure-a,.hero-figure .figure-b,.hero-figure .figure-c{font-family:Fraunces,Georgia,serif;font-size:clamp(1rem,2vw,1.55rem);padding:.9rem .65rem;border-bottom:2px solid #b8d7bf}.hero-figure .figure-b{color:#f6d19e;border-color:#f6d19e}.figure-arrow{font-size:1.6rem;color:#b8d7bf}.hero-figure small{position:absolute;right:2rem;bottom:2rem;letter-spacing:.1em;font-size:.67rem;text-transform:uppercase}.orientation{max-width:74rem;margin:0 auto;padding:2.2rem clamp(1.25rem,5vw,4rem);display:grid;grid-template-columns:12rem 1fr 1fr;gap:1.5rem;border-bottom:1px solid var(--line);font-size:.85rem;color:var(--muted)}.orientation strong{color:var(--ink);font-family:Fraunces,Georgia,serif;font-size:1.35rem;font-weight:400;line-height:1.25}.orientation p{margin:0}.section-top{max-width:74rem;margin:0 auto;padding:3.5rem clamp(1.25rem,5vw,4rem) 1rem;display:flex;align-items:end;justify-content:space-between;gap:1rem}.section-top .eyebrow{margin:0}.section-top p:last-child{font-size:.77rem;font-weight:700;margin:0;color:var(--muted)}.lesson{max-width:74rem;margin:0 auto;padding:3.8rem clamp(1.25rem,5vw,4rem) 5rem;border-bottom:1px solid var(--line);scroll-margin-top:1rem}.lesson-heading{display:grid;grid-template-columns:5rem 1fr;gap:1.25rem;max-width:57rem}.number{font-family:Fraunces,Georgia,serif;font-size:3.1rem;line-height:1;color:var(--warm)}.lesson h2,.route h2{font-family:Fraunces,Georgia,serif;font-weight:400;letter-spacing:-.035em}.lesson h2{font-size:clamp(2.15rem,4vw,3.8rem);line-height:1.15;margin:0 0 1.25rem}.lesson-heading p:last-child{font-size:1.04rem;color:#496052;margin:0}.teaching-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:2.5rem}.teaching-grid article{background:var(--surface);padding:clamp(1.4rem,3vw,2.7rem)}.teaching-grid .worked{background:#e7eee5}.teaching-grid h3,.checks h3,.route-list h3{font-family:Fraunces,Georgia,serif;font-weight:400;line-height:1.2}.teaching-grid h3{font-size:clamp(1.5rem,2.5vw,2.1rem);margin:0 0 1.2rem}.teaching-grid p{font-size:.93rem;color:#4c6154}.worked ol{padding-left:1.3rem;margin:1.2rem 0}.worked li{padding-left:.3rem;margin:.65rem 0}.takeaway{border-top:1px solid #bfd1be;padding-top:1rem;margin:1.5rem 0 0!important}.pair-strip{display:flex;flex-wrap:wrap;gap:.4rem;margin:1.3rem 0}.pair-strip span{background:#e5ede4;padding:.55rem .7rem;font-weight:700;font-size:.8rem}.read-graph table{border-collapse:collapse;width:100%;font-size:.82rem;margin:1.3rem 0}.read-graph th,.read-graph td{padding:.5rem .7rem;border-bottom:1px solid var(--line);text-align:left}.read-graph caption{text-align:left;color:var(--muted);font-size:.75rem;margin-bottom:.3rem}.checks{margin-top:2.8rem}.checks h3{font-size:2.1rem;margin:0}.check-intro{font-size:.88rem;color:var(--muted);margin:.25rem 0 1.4rem}.question{border-top:1px solid var(--line);padding:1.5rem 0;display:grid;grid-template-columns:minmax(11rem,.8fr) minmax(0,1.2fr);gap:1.5rem}.question h4{margin:0;font-size:1rem;line-height:1.45}.question .question-id{display:block;color:var(--accent);font-size:.69rem;letter-spacing:.12em;font-weight:700;margin-bottom:.5rem}.answer-area{min-width:0}.options{border:0;padding:0;margin:0;display:grid;gap:.5rem}.options legend{font-size:.75rem;color:var(--muted);margin-bottom:.5rem}.option{display:flex;align-items:start;gap:.7rem;padding:.7rem .8rem;background:var(--surface);border:1px solid var(--line);cursor:pointer;font-size:.85rem}.option:has(input:checked){border-color:var(--accent);background:#e9f1e9}.option input{accent-color:var(--accent);margin:.2rem 0 0;flex:none}.answer-row{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.answer-row input{width:min(100%,13rem);background:var(--surface);border:1px solid #a8bca8;padding:.65rem .75rem}.check-button{border:0;background:var(--ink);color:var(--surface);padding:.65rem .95rem;font-size:.77rem;font-weight:700;margin-top:.8rem}.check-button:hover{background:var(--accent)}.feedback{font-size:.84rem;padding:.75rem .9rem;margin:.75rem 0 0;background:#f4e7dc;color:var(--error);border-left:3px solid var(--error)}.feedback.correct{background:#e2eee5;color:var(--success);border-color:var(--success)}.feedback[hidden]{display:none}.section-state{display:inline-block;background:#e9ece5;color:#506559;font-size:.8rem;font-weight:700;padding:.6rem .85rem;margin:1rem 0 0}.section-state.complete{background:#dcebdd;color:var(--success)}.next-link{display:block;width:fit-content;font-size:.82rem;font-weight:700;margin-top:1.2rem}.route{max-width:74rem;margin:0 auto;padding:5rem clamp(1.25rem,5vw,4rem) 6rem;scroll-margin-top:1rem}.route h2{font-size:clamp(2.5rem,5vw,4.7rem);max-width:50rem}.route>p:not(.eyebrow){max-width:42rem;color:var(--muted);font-size:1rem}.route-list{margin-top:2.5rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.route-list article{padding:1.6rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column}.route-list article>span{color:var(--accent);font-size:.68rem;font-weight:700;letter-spacing:.12em}.route-list h3{font-size:1.7rem;margin:.7rem 0 .35rem}.route-list p{font-size:.84rem;color:var(--muted);margin:0 0 1.5rem}.route-list a{margin-top:auto;color:var(--accent);font-size:.8rem;font-weight:700}footer{background:var(--ink);color:#e8efe5;padding:2rem clamp(1.25rem,5vw,4rem);display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.8rem}footer a{font-family:Fraunces,Georgia,serif;font-size:1.1rem;text-decoration:none}footer p{margin:0;color:#c0d1c3}@media(max-width:800px){.hero{grid-template-columns:1fr}.hero-figure{min-height:15rem}.orientation{grid-template-columns:1fr 1fr}.orientation strong{grid-column:1/-1}.teaching-grid{grid-template-columns:1fr}.question{grid-template-columns:1fr;gap:.8rem}}@media(max-width:560px){.site-header{height:auto;min-height:68px;flex-wrap:wrap;padding-top:.8rem;padding-bottom:.8rem}.site-header nav{width:100%;justify-content:flex-start}.hero-copy{padding:4rem 1.25rem}.hero-figure{min-height:12rem}.orientation{grid-template-columns:1fr}.route-list{grid-template-columns:1fr}.lesson-heading{grid-template-columns:1fr;gap:.5rem}.number{font-size:2.2rem}.lesson{padding-top:2.5rem;padding-bottom:3.5rem}.section-top{padding-top:2rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.teaching-grid--prep>.read-graph{grid-column:1/-1}.graph-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(12rem,1fr);align-items:center;gap:clamp(1rem,4vw,3rem);max-width:46rem}.mini-graph{width:100%;max-width:18rem;height:auto;color:var(--ink)}.graph-layout table{margin:0}@media(max-width:600px){.graph-layout{grid-template-columns:1fr}.mini-graph{max-width:15rem}}
.practice-chart{background:var(--surface);border:1px solid var(--line);padding:1rem clamp(1rem,3vw,2rem);margin-bottom:1.5rem}.practice-chart p{font-size:.85rem;color:var(--muted)}.practice-chart table{border-collapse:collapse;width:100%;font-size:.82rem}.practice-chart th,.practice-chart td{padding:.5rem .7rem;border-bottom:1px solid var(--line);text-align:left}.practice-chart caption{text-align:left;color:var(--muted);font-size:.75rem;margin-bottom:.3rem}
