@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600&family=Libre+Caslon+Display&display=swap');

:root{--ink:#17231f;--green:#173f38;--green-2:#27695c;--mint:#b8d8cb;--cream:#f4f0e7;--paper:#fcfbf7;--orange:#e56e3f;--line:rgba(23,35,31,.15);--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--mono:'DM Mono',monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}a{color:inherit}button{font:inherit}.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;z-index:100;left:1rem;top:1rem;padding:.65rem 1rem;background:var(--ink);color:#fff;transform:translateY(-150%)}.skip-link:focus{transform:none}
.site-header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.25rem,4vw,4.5rem);border-bottom:1px solid var(--line);background:rgba(252,251,247,.88);backdrop-filter:blur(14px);position:relative;z-index:20}.wordmark{display:flex;align-items:center;gap:.65rem;text-decoration:none;font-weight:600;letter-spacing:-.02em}.wordmark-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--green);color:#fff;font-family:var(--serif);font-size:1.35rem}.site-nav{display:flex;align-items:center;gap:2rem}.site-nav a{text-decoration:none;font-size:.9rem}.site-nav a:not(.nav-cta):hover{text-decoration:underline;text-underline-offset:5px}.nav-cta{border:1px solid var(--ink);border-radius:99px;padding:.65rem 1rem}.nav-cta:hover{background:var(--ink);color:#fff}.menu-button{display:none;background:none;border:0;padding:.5rem}.menu-button span:not(.sr-only){display:block;width:24px;height:1px;background:var(--ink);margin:6px}
.hero{min-height:calc(100vh - 84px);display:grid;grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);overflow:hidden}.hero-copy{padding:clamp(5rem,9vw,9rem) clamp(2rem,7vw,8rem);padding-right:3rem}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;font-weight:600;color:var(--green-2);margin:0 0 1.25rem}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(4.2rem,7.4vw,8.2rem);line-height:.86;letter-spacing:-.055em;margin:0;max-width:780px}.hero h1 em{font-size:.46em;color:var(--orange);font-weight:400}.hero h1 .amp{color:var(--green-2)}.subtitle{font-family:var(--serif);font-size:clamp(1.15rem,1.65vw,1.55rem);line-height:1.4;max-width:650px;margin:2.4rem 0 1rem}.authors{font-size:.92rem;font-weight:600}.authors span{font-family:var(--serif);font-style:italic;font-weight:400;color:#65716c;margin:0 .35rem}.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2.25rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.85rem 1.2rem;border-radius:3px;text-decoration:none;font-weight:600;font-size:.9rem;transition:.2s ease}.button-primary{background:var(--green);color:#fff}.button-primary:hover{background:var(--green-2);transform:translateY(-2px)}.button-secondary{border:1px solid var(--line)}.button-secondary:hover{border-color:var(--ink);background:#fff}
.hero-visual{position:relative;background:var(--green);display:grid;place-items:center;min-height:660px;overflow:hidden}.hero-art{margin:0;width:100%;height:100%;position:absolute;inset:0}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,31,25,.18),transparent 35%),linear-gradient(0deg,rgba(8,31,25,.28),transparent 32%)}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.hero-art figcaption{position:absolute;z-index:2;left:1.5rem;bottom:1.2rem;color:rgba(255,255,255,.72);font-family:var(--mono);font-size:.6rem;letter-spacing:.06em;text-transform:uppercase}.model-chip{position:absolute;z-index:3;right:7%;top:9%;background:var(--orange);color:#fff;font-family:var(--mono);padding:.75rem 1rem;box-shadow:0 10px 25px rgba(0,0,0,.2);transform:rotate(2deg)}.model-chip span{font-size:1.2rem}
.section{padding:clamp(5rem,9vw,9rem) clamp(1.5rem,7vw,8rem)}.intro{background:var(--cream)}.intro-grid{display:grid;grid-template-columns:1.05fr .8fr;gap:8vw;align-items:end;border-bottom:1px solid var(--line);padding-bottom:4rem}.intro h2,.code-copy h2,.contents h2,.resource-card h2{font-family:var(--serif);font-size:clamp(2.7rem,4.6vw,5.1rem);font-weight:400;letter-spacing:-.045em;line-height:1.02;margin:0}.intro-grid>p{font-size:1.08rem;margin:0;max-width:560px}.question-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:4rem}.question-grid article{padding:1rem clamp(1rem,3vw,3rem) 0;border-right:1px solid var(--line);min-height:230px;position:relative;overflow:hidden}.question-grid article:first-child{padding-left:0}.question-grid article:last-child{border:0}.question-number{font-family:var(--mono);font-size:.7rem;color:var(--green-2)}.question-grid h3{font-family:var(--serif);font-size:2rem;font-weight:400;margin:1.2rem 0 .45rem}.question-grid p{font-size:.92rem;max-width:300px;color:#4f5d57}.mini-line{position:absolute;bottom:6px;left:0;right:15%;height:40px;border-top:2px solid var(--orange);transform:skewY(-6deg);opacity:.65}.predictive{border-radius:50% 70% 0 0;border-top-color:var(--green-2);transform:skewY(3deg)}.causal{border-top-color:#a98c3e;transform:skewY(-2deg)}
.code-bridge{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:center;background:#dce8e2}.code-copy>p:not(.section-kicker){max-width:520px;margin:2rem 0}.language-tags{display:flex;gap:1rem}.language-tags span{display:flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:600}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.r-dot{background:#27695c}.py-dot{background:#e6a93c}.code-window{background:#18231f;color:#e8ede9;box-shadow:0 30px 60px rgba(23,63,56,.18);min-width:0}.window-bar{height:48px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;padding:0 1rem;gap:.45rem}.window-bar span{width:8px;height:8px;border-radius:50%;background:#64706b}.window-bar span:first-child{background:#e56e3f}.window-bar strong{font-family:var(--mono);font-size:.67rem;font-weight:400;margin-left:auto;color:#94a099}.code-tabs{display:flex;border-bottom:1px solid rgba(255,255,255,.1)}.code-tabs button{background:none;color:#93a29b;border:0;border-bottom:2px solid transparent;padding:.75rem 1.4rem;font-family:var(--mono);font-size:.75rem;cursor:pointer}.code-tabs button[aria-selected=true]{color:#fff;border-bottom-color:var(--orange)}pre{margin:0;padding:2.2rem;overflow:auto;min-height:210px;font-family:var(--mono);font-size:clamp(.72rem,1.1vw,.9rem);line-height:1.9}.comment{color:#7e9188}.operator{color:#f19a73}.function{color:#8ed3bb}.string{color:#f2cb76}
.contents{background:var(--paper)}.contents-heading{display:grid;grid-template-columns:1fr .65fr;gap:7vw;align-items:end;margin-bottom:5rem}.contents-heading>p{max-width:520px;margin:0;color:#52605a}.chapter-groups{border-top:1px solid var(--ink)}.chapter-group{display:grid;grid-template-columns:.28fr 1fr;border-bottom:1px solid var(--line);padding:2.7rem 0}.group-label{text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;font-weight:600}.group-label span{display:inline-grid;place-items:center;width:28px;height:28px;border:1px solid var(--line);border-radius:50%;margin-right:.65rem}.chapter-list{margin:0;padding:0;list-style:none;counter-reset:item var(--list-start,0)}.chapter-list[start="1"]{--list-start:0}.chapter-list[start="5"]{--list-start:4}.chapter-list[start="10"]{--list-start:9}.chapter-list li{counter-increment:item;display:grid;grid-template-columns:2.5rem 1fr;align-items:center;min-height:52px;border-bottom:1px dotted var(--line)}.chapter-list li:last-child{border:0}.chapter-list li:before{content:counter(item,decimal-leading-zero);font-family:var(--mono);font-size:.7rem;color:#829089}.chapter-list a,.chapter-list li>span{display:flex;justify-content:space-between;align-items:center;gap:1rem;text-decoration:none;padding:.7rem 0}.chapter-list a:hover span{color:var(--orange)}.chapter-list small{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#7b8983;white-space:nowrap}
.resources{display:grid;grid-template-columns:1.35fr .65fr;gap:1rem;background:var(--cream);padding-top:0}.resource-card{padding:clamp(2rem,5vw,5rem);min-height:460px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between}.primary-resource{background:var(--green);color:#fff}.primary-resource .section-kicker{color:var(--mint)}.primary-resource p:not(.section-kicker){max-width:620px;color:#c5d5ce}.button-light{background:#fff;color:var(--green)}.button-light:hover{background:var(--mint);transform:translateY(-2px)}.scope-card{background:#f4c76d;justify-content:flex-start}.scope-icon{display:grid;place-items:center;width:58px;height:58px;border:1px solid rgba(23,35,31,.4);border-radius:50%;font-size:2rem}.scope-card h3{font-family:var(--serif);font-weight:400;font-size:2rem;line-height:1.1;margin:3rem 0 1rem}.scope-card p{font-size:.9rem}
footer{background:#111b17;color:#dae3df;padding:4rem clamp(1.5rem,7vw,8rem) 2rem}.footer-title{font-family:var(--serif);font-size:clamp(2rem,4vw,4.2rem)}footer>p{color:#87958e}.footer-meta{border-top:1px solid rgba(255,255,255,.13);margin-top:3rem;padding-top:1.5rem;display:flex;justify-content:space-between;font-size:.75rem;color:#87958e}.footer-meta a{color:#dae3df;text-decoration:none}
@media(max-width:900px){.site-header{height:70px}.menu-button{display:block}.site-nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--paper);padding:1.5rem;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.site-nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{padding-right:2rem}.hero-visual{min-height:600px}.intro-grid,.contents-heading{grid-template-columns:1fr;gap:2rem}.question-grid{grid-template-columns:1fr}.question-grid article{border-right:0;border-bottom:1px solid var(--line);padding:2rem 0;min-height:190px}.code-bridge{grid-template-columns:1fr}.chapter-group{grid-template-columns:1fr;gap:1.5rem}.resources{grid-template-columns:1fr}.resource-card{min-height:390px}}
@media(max-width:560px){.hero h1{font-size:3.8rem}.hero-copy{padding:4.5rem 1.4rem}.hero-visual{min-height:470px}.hero-art img{object-position:62% center}.model-chip{right:1rem}.section{padding:4.5rem 1.4rem}.chapter-list a,.chapter-list li>span{align-items:flex-start;flex-direction:column;gap:.1rem}.chapter-list small{white-space:normal}.resources{padding-top:0}.resource-card{padding:2rem}.footer-meta{flex-direction:column;gap:.75rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Selected chapter reader */
.reading-banner{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:1.25rem 1.5rem;background:#f2c465;text-decoration:none;margin:-2rem 0 4rem;font-size:.88rem}.reading-banner strong{display:inline-block;background:var(--ink);color:#fff;border-radius:99px;padding:.15rem .55rem;margin-right:.55rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em}.reading-banner b{font-size:1.2rem;margin-left:.6rem}.reading-progress{position:fixed;z-index:100;top:0;left:0;right:0;height:3px}.reading-progress span{display:block;width:100%;height:100%;background:var(--orange);transform:scaleX(0);transform-origin:left}.reading-header{position:sticky;top:0}.reader-hero{min-height:72vh;padding:clamp(5rem,10vw,10rem) clamp(1.5rem,8vw,9rem);display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.reader-hero h1{font-family:var(--serif);font-size:clamp(4rem,8vw,8.5rem);font-weight:400;line-height:.82;letter-spacing:-.06em;margin:0}.reader-hero h1 em{color:var(--orange);font-weight:400}.reader-hero>div>p:last-child{max-width:620px;font-size:1.05rem;margin-top:2rem}.reader-map{position:relative;height:420px;background:var(--green);overflow:hidden}.reader-map:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 20% 80%,rgba(229,110,63,.3),transparent 18%),radial-gradient(circle at 80% 20%,rgba(184,216,203,.22),transparent 20%)}.reader-map svg{position:absolute;inset:10%;width:80%;height:80%;overflow:visible}.reader-map path{fill:none;stroke:#f2c465;stroke-width:3}.reader-map circle{fill:var(--paper);stroke:var(--orange);stroke-width:4}.map-point{position:absolute;z-index:2;color:#fff;font-family:var(--mono);font-size:.65rem;text-transform:uppercase;letter-spacing:.12em}.p1{left:7%;bottom:10%}.p2{left:47%;top:44%}.p3{right:5%;top:8%}.lesson-index{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);margin:0 clamp(1.5rem,8vw,9rem) 8rem}.lesson-index a{padding:2rem;border-right:1px solid var(--line);display:grid;grid-template-columns:2rem 1fr;text-decoration:none}.lesson-index a:last-child{border:0}.lesson-index span{font-family:var(--mono);font-size:.7rem;color:var(--orange)}.lesson-index strong{font-family:var(--serif);font-size:1.5rem;font-weight:400}.lesson-index small{grid-column:2;color:#6e7a75}.web-lesson{scroll-margin-top:80px}.lesson-title{padding:clamp(5rem,9vw,9rem) clamp(1.5rem,8vw,9rem);display:grid;grid-template-columns:1.4fr .6fr;gap:8vw;align-items:end}.lesson-number,.concept-label{font-family:var(--mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;margin:0 0 1rem}.lesson-title h2{font-family:var(--serif);font-weight:400;font-size:clamp(4rem,8vw,8.5rem);letter-spacing:-.06em;line-height:.82;margin:0}.lesson-title>p{font-family:var(--serif);font-size:1.35rem;line-height:1.45}.lesson-coral .lesson-title{background:#e77b50}.lesson-mint .lesson-title{background:#b8d8cb}.lesson-gold .lesson-title{background:#f2c465}.lesson-grid{padding:clamp(5rem,8vw,8rem) clamp(1.5rem,8vw,9rem);display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;align-items:center}.lesson-grid.reverse{grid-template-columns:1.2fr .8fr}.lesson-grid.reverse .lesson-copy{order:2}.lesson-copy h3,.formula-stage h3,.ovb-section h3,.code-intro h3,.selection-card h3,.reader-end h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.4rem,4.5vw,5rem);line-height:1;letter-spacing:-.04em;margin:.5rem 0 1.5rem}.lesson-copy>p:not(.concept-label){font-size:1.05rem}.insight{border-left:3px solid var(--orange);padding:1rem 0 1rem 1.3rem;display:grid;gap:.35rem;margin-top:2rem}.insight strong{text-transform:uppercase;letter-spacing:.1em;font-size:.67rem}.insight span{font-family:var(--serif);font-size:1.1rem}.concept-visual{min-height:430px;position:relative;background:var(--cream);overflow:hidden}.scatter-visual{background-image:linear-gradient(rgba(23,63,56,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(23,63,56,.09) 1px,transparent 1px);background-size:60px 60px}.scatter-visual span{position:absolute;left:var(--x);top:var(--y);width:14px;height:14px;background:var(--green);border-radius:50%;transform:translate(-50%,-50%)}.scatter-visual i{position:absolute;width:120%;height:4px;background:var(--orange);left:-10%;top:52%;transform:rotate(-31deg)}.scatter-visual b,.scatter-visual em,.plane-visual span,.plane-visual b,.plane-visual em{position:absolute;font-family:var(--serif);font-size:1.3rem}.scatter-visual b{right:1rem;bottom:.5rem}.scatter-visual em{left:1rem;top:.5rem}.formula-stage{padding:clamp(5rem,8vw,8rem) clamp(1.5rem,8vw,9rem);display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;background:#dce8e2;align-items:center}.formula-card{background:var(--paper);padding:clamp(1.5rem,4vw,4rem);text-align:center;font-family:var(--serif);font-size:clamp(1rem,1.5vw,1.25rem);overflow-x:auto}.formula-card small{text-transform:uppercase;font-family:var(--mono);font-size:.62rem;letter-spacing:.12em}.formula-card hr{border:0;border-top:1px solid var(--line);margin:2rem}.takeaway-row{display:grid;grid-template-columns:repeat(3,1fr);padding:5rem clamp(1.5rem,8vw,9rem);background:var(--green);color:#fff}.takeaway-row div{border-right:1px solid rgba(255,255,255,.18);padding:0 2rem}.takeaway-row div:last-child{border:0}.takeaway-row span{font-family:var(--serif);font-size:4rem;color:#f2c465}.takeaway-row p{max-width:250px;color:#c8d8d1}.code-pair{padding:clamp(5rem,8vw,8rem) clamp(1.5rem,8vw,9rem);display:grid;grid-template-columns:.65fr 1.35fr;gap:8vw;align-items:center}.code-intro>a,.did-stage a{font-size:.8rem;font-weight:600;text-underline-offset:4px}.mini-code{background:#18231f;color:#e7eee9}.mini-code>div{display:grid;grid-template-columns:70px 1fr;border-bottom:1px solid rgba(255,255,255,.12)}.mini-code>div:last-child{border:0}.mini-code strong{padding:2rem 1rem;text-align:center;border-right:1px solid rgba(255,255,255,.12);color:#f2c465}.mini-code pre{min-height:auto;padding:1.7rem;font-size:.75rem;white-space:pre-wrap}.plane-visual{background:var(--green);perspective:700px}.plane{position:absolute;width:70%;height:60%;left:15%;top:20%;background:linear-gradient(135deg,rgba(184,216,203,.9),rgba(242,196,101,.55));transform:rotateX(63deg) rotateZ(-17deg);box-shadow:0 30px 50px rgba(0,0,0,.25)}.plane-visual i{position:absolute;width:70%;height:2px;background:var(--orange);left:15%;top:35%;transform:rotate(-15deg)}.plane-visual i:nth-of-type(2){top:50%}.plane-visual i:nth-of-type(3){top:65%}.plane-visual span{right:8%;bottom:8%;color:#fff}.plane-visual b{left:8%;bottom:8%;color:#fff}.plane-visual em{left:8%;top:8%;color:#fff}.dark-formula{background:#17231f;color:#fff}.dark-formula .formula-card{color:var(--ink)}.ovb-section{padding:clamp(5rem,8vw,8rem) clamp(1.5rem,8vw,9rem);background:var(--cream)}.ovb-title{display:grid;grid-template-columns:.5fr 1fr;align-items:end}.bias-path{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin:4rem 0;flex-wrap:wrap}.bias-path span{background:#fff;border:1px solid var(--line);padding:1.2rem 1.6rem}.bias-path i{color:var(--orange);font-family:var(--serif)}.ovb-section>p{max-width:780px;margin-left:auto}.counterfactual-stage{padding:7rem clamp(1.5rem,8vw,9rem);display:grid;grid-template-columns:100px 1fr 1fr;gap:2rem;align-items:center;background:var(--green);color:#fff}.person-mark{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:var(--orange);font-family:var(--serif);font-size:2.4rem}.outcome{padding:3rem;border:1px solid rgba(255,255,255,.18);display:grid}.outcome small{text-transform:uppercase;letter-spacing:.12em;font-size:.6rem}.outcome strong{font-family:var(--serif);font-size:4rem;font-weight:400}.outcome span{color:#b8c9c2}.outcome.missing{border-style:dashed;opacity:.63}.brace{grid-column:2/4;text-align:center;color:#f2c465}.principles{display:grid;grid-template-columns:1fr 1fr}.principles div{min-height:150px;border:1px solid var(--line);padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between}.principles span{font-family:var(--mono);font-size:.65rem;color:var(--orange)}.principles strong{font-family:var(--serif);font-size:1.2rem;font-weight:400}.selection-card{padding:clamp(5rem,8vw,8rem) clamp(1.5rem,8vw,9rem);display:grid;grid-template-columns:.7fr 1.3fr;gap:6vw;background:#df8057}.selection-card .formula-card{align-self:center}.design-grid{padding:0 clamp(1.5rem,8vw,9rem) 8rem;display:grid;grid-template-columns:repeat(4,1fr);background:#df8057}.design-grid article{padding:2rem;border:1px solid rgba(23,35,31,.22);border-right:0;background:rgba(255,255,255,.08)}.design-grid article:last-child{border-right:1px solid rgba(23,35,31,.22)}.design-grid span{font-family:var(--mono);font-size:.7rem}.design-grid h3{font-family:var(--serif);font-weight:400;font-size:1.45rem;line-height:1.1}.design-grid p{font-size:.85rem}.did-stage{background:#f0e6cc}.formula-caption{font-family:var(--sans);font-size:.9rem}.reader-end{text-align:center;padding:10rem 1.5rem}.reader-end p{max-width:620px;margin:1.5rem auto 2rem}.reader-end .eyebrow{margin-bottom:1.5rem}
@media(max-width:900px){.reader-hero,.lesson-title,.lesson-grid,.lesson-grid.reverse,.formula-stage,.code-pair,.selection-card{grid-template-columns:1fr}.reader-map{height:330px}.lesson-index{grid-template-columns:1fr;margin-bottom:5rem}.lesson-index a{border-right:0;border-bottom:1px solid var(--line)}.lesson-index a:last-child{border:0}.lesson-grid.reverse .lesson-copy{order:0}.lesson-title>p{max-width:600px}.takeaway-row,.design-grid{grid-template-columns:1fr 1fr}.takeaway-row div:nth-child(2){border-right:0}.counterfactual-stage{grid-template-columns:70px 1fr}.counterfactual-stage .missing{grid-column:2}.brace{grid-column:2}.ovb-title{grid-template-columns:1fr}.reading-banner{margin-top:0}}
@media(max-width:560px){.reader-hero{min-height:auto;padding-top:5rem}.reader-hero h1,.lesson-title h2{font-size:3.8rem}.reader-map{height:270px}.lesson-index{margin-left:1.4rem;margin-right:1.4rem}.takeaway-row,.design-grid,.principles{grid-template-columns:1fr}.takeaway-row div{border-right:0;border-bottom:1px solid rgba(255,255,255,.18);padding:1.4rem 0}.design-grid article{border-right:1px solid rgba(23,35,31,.22);border-bottom:0}.counterfactual-stage{grid-template-columns:1fr}.person-mark{margin:auto}.counterfactual-stage .missing,.brace{grid-column:1}.outcome{text-align:center}.mini-code>div{grid-template-columns:1fr}.mini-code strong{border-right:0;border-bottom:1px solid rgba(255,255,255,.12);text-align:left}.reading-banner{align-items:flex-start;flex-direction:column;gap:.75rem}}

/* Home learning map */
.hero-stats{display:flex;gap:1.5rem;margin-top:2.2rem;padding-top:1.4rem;border-top:1px solid var(--line);max-width:640px}.hero-stats span{font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:#6a7771}.hero-stats b{font-family:var(--serif);font-size:1.2rem;font-weight:400;color:var(--ink);margin-right:.25rem;text-transform:none;letter-spacing:0}.featured-lessons{background:#15241f;color:#fff}.featured-heading{display:grid;grid-template-columns:1fr .65fr;gap:7vw;align-items:end;margin-bottom:4rem}.featured-heading h2{font-family:var(--serif);font-size:clamp(2.7rem,4.6vw,5.1rem);font-weight:400;letter-spacing:-.045em;line-height:1.02;margin:0}.featured-heading>p{color:#afc1b9}.featured-lessons .section-kicker{color:var(--mint)}.lesson-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.lesson-card{min-height:430px;padding:2rem;display:flex;flex-direction:column;text-decoration:none;color:var(--ink);transition:transform .2s ease}.lesson-card:hover{transform:translateY(-6px)}.lesson-card>span{font-family:var(--mono);font-size:.65rem;text-transform:uppercase;letter-spacing:.1em}.lesson-card h3{font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,3.2vw,3.8rem);line-height:.95;margin:3.5rem 0 1rem}.lesson-card p{max-width:270px;font-size:.88rem}.lesson-card b{margin-top:auto;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.card-coral{background:#e77b50}.card-mint{background:#b8d8cb}.card-gold{background:#f2c465}
@media(max-width:900px){.featured-heading{grid-template-columns:1fr;gap:2rem}.lesson-cards{grid-template-columns:1fr}.lesson-card{min-height:330px}}
@media(max-width:560px){.hero-stats{flex-direction:column;gap:.5rem}}

/* Code and QR explorer */
.code-hero{min-height:76vh;padding:clamp(5rem,9vw,9rem) clamp(1.5rem,8vw,9rem);display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:center;background:#e77b50}.code-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(4rem,7.5vw,8rem);line-height:.83;letter-spacing:-.06em;margin:0}.code-hero h1 em{color:var(--paper);font-weight:400}.code-hero>div>p:not(.eyebrow){max-width:550px;font-size:1.05rem}.code-metrics{display:flex;gap:1.5rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(23,35,31,.2)}.code-metrics span{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.code-metrics b{font-family:var(--serif);font-size:1.5rem;font-weight:400;margin-right:.25rem}.hero-terminal{background:#17231f;color:#e8eee9;box-shadow:0 30px 70px rgba(23,35,31,.25)}.terminal-top{height:50px;display:flex;align-items:center;gap:.5rem;padding:0 1rem;border-bottom:1px solid rgba(255,255,255,.12)}.terminal-top i{width:8px;height:8px;border-radius:50%;background:#66736d}.terminal-top i:first-child{background:var(--orange)}.terminal-top span{margin-left:auto;font:400 .65rem var(--mono);color:#8c9993}.hero-terminal pre{min-height:310px}.terminal-result{padding:1rem 1.5rem;border-top:1px solid rgba(255,255,255,.12);font:400 .67rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:#a9b6b0}.terminal-result span{display:inline-block;width:7px;height:7px;border-radius:50%;background:#8ed3bb;margin-right:.5rem}.qr-intro{display:grid;grid-template-columns:1fr .65fr;gap:8vw;align-items:end}.qr-intro h2,.code-index-head h2{font:400 clamp(2.8rem,5vw,5.4rem)/.98 var(--serif);letter-spacing:-.045em;margin:0}.qr-intro>p{max-width:570px;margin:0}.featured-code{padding:0 clamp(1.5rem,8vw,9rem) 8rem}.code-feature{border-top:1px solid var(--ink);padding:5rem 0}.code-feature>header{display:grid;grid-template-columns:.25fr .75fr 1fr;gap:2rem;align-items:end;margin-bottom:3rem}.code-feature>header>span{font:400 .67rem var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--orange)}.code-feature>header h2{font:400 clamp(2rem,3.6vw,4rem)/1 var(--serif);letter-spacing:-.04em;margin:0}.code-feature>header p{margin:0;max-width:520px}.code-feature-body{display:grid;grid-template-columns:1fr 260px;gap:1rem}.paired-source{background:#17231f;color:#e6ede9}.paired-source>div{display:grid;grid-template-columns:72px 1fr;border-bottom:1px solid rgba(255,255,255,.12)}.paired-source>div:last-child{border:0}.paired-source strong{padding:2rem 1rem;border-right:1px solid rgba(255,255,255,.12);color:#f2c465;text-align:center}.paired-source pre{min-height:auto;padding:1.8rem;font-size:.73rem;white-space:pre-wrap}.qr-pair{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.qr-pair a{display:flex;flex-direction:column;justify-content:center;background:var(--cream);padding:.8rem;text-align:center;text-decoration:none}.qr-pair img{width:100%;height:auto;display:block}.qr-pair span{font-size:.65rem;font-weight:600;margin-top:.6rem}.feature-mint>header>span{color:var(--green-2)}.feature-gold>header>span{color:#9b751a}.code-index{background:#dce8e2}.code-index-head{display:grid;grid-template-columns:1fr .65fr;gap:7vw;align-items:end;margin-bottom:4rem}.code-search{display:grid;grid-template-columns:1fr auto;gap:.6rem}.code-search label{grid-column:1/3;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}.code-search input{background:var(--paper);border:1px solid var(--ink);padding:.9rem 1rem;font:400 .9rem var(--sans);min-width:0}.code-search span{align-self:center;font:400 .68rem var(--mono)}.code-module-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(23,35,31,.22);border:1px solid rgba(23,35,31,.22)}.code-module{background:var(--paper);padding:2rem;min-height:270px;display:flex;flex-direction:column}.code-module[hidden]{display:none}.code-module>span{font:400 .65rem var(--mono);color:var(--orange);text-transform:uppercase;letter-spacing:.08em}.code-module h3{font:400 1.65rem/1.1 var(--serif);margin:2rem 0 .6rem}.code-module p{font-size:.82rem;color:#5c6964}.code-module>div{display:flex;gap:.5rem;margin-top:auto}.code-module a{border:1px solid var(--line);padding:.5rem .65rem;font-size:.68rem;text-decoration:none}.code-module a:hover{background:var(--green);color:#fff}
@media(max-width:900px){.code-hero,.qr-intro,.code-index-head{grid-template-columns:1fr}.code-feature>header{grid-template-columns:1fr}.code-feature-body{grid-template-columns:1fr}.qr-pair{max-width:340px}.code-module-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.code-hero h1{font-size:3.8rem}.code-metrics{flex-direction:column;gap:.5rem}.hero-terminal pre{min-height:auto}.code-module-grid{grid-template-columns:1fr}.paired-source>div{grid-template-columns:1fr}.paired-source strong{border-right:0;border-bottom:1px solid rgba(255,255,255,.12);text-align:left}.qr-pair{max-width:none}.code-search{grid-template-columns:1fr}.code-search label{grid-column:1}.code-search span{display:none}}
.code-hero>*,.code-feature-body>*,.paired-source{min-width:0}

/* Full fourteen-chapter map */
.full-chapter-map{padding:2rem clamp(1.5rem,8vw,9rem) 9rem;scroll-margin-top:80px}.map-heading{display:grid;grid-template-columns:1fr .6fr;gap:8vw;align-items:end;margin-bottom:5rem}.map-heading h2,.notes-heading h2{font:400 clamp(2.8rem,5vw,5.6rem)/.96 var(--serif);letter-spacing:-.05em;margin:0}.map-heading>p{max-width:500px}.chapter-band{display:grid;grid-template-columns:50px 1fr auto;align-items:center;border-top:1px solid var(--ink);padding:1.35rem 0;margin-top:4rem}.chapter-band>span{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;font:400 .7rem var(--mono)}.chapter-band strong{text-transform:uppercase;letter-spacing:.1em;font-size:.73rem}.chapter-band small{font:400 .65rem var(--mono);color:#74817b}.overview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.overview-grid.five-grid{grid-template-columns:repeat(5,1fr)}.overview-grid.three-grid{grid-template-columns:repeat(3,1fr)}.overview-grid.two-grid{grid-template-columns:repeat(2,1fr)}.chapter-overview{background:var(--paper);padding:1.7rem;min-height:360px;display:flex;flex-direction:column}.chapter-overview>span{font:400 .7rem var(--mono);color:var(--orange)}.chapter-overview h3{font:400 1.65rem/1.05 var(--serif);margin:2rem 0 .8rem}.chapter-overview p{font-size:.82rem;color:#53615b}.chapter-overview ul{list-style:none;padding:0;margin:1rem 0}.chapter-overview li{font-size:.72rem;padding:.28rem 0;border-bottom:1px dotted var(--line)}.chapter-overview a,.chapter-overview>small{margin-top:auto;font-size:.67rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;text-underline-offset:4px}.featured-overview{background:#dce8e2}.featured-overview:nth-child(odd){background:#f2c465}.concept-notes{padding:8rem clamp(1.5rem,8vw,9rem);background:#17231f;color:#fff;scroll-margin-top:80px}.notes-heading{display:grid;grid-template-columns:.25fr .75fr 1fr;gap:2rem;align-items:end;margin-bottom:5rem}.notes-heading .section-kicker{color:var(--mint)}.notes-heading p:last-child{color:#aebdb6}.concept-note{display:grid;grid-template-columns:60px 1fr 1fr;gap:3rem;align-items:center;padding:3.5rem 0;border-top:1px solid rgba(255,255,255,.15);scroll-margin-top:90px}.concept-note>span{font:400 .72rem var(--mono);color:#f2c465}.concept-note h3{font:400 clamp(1.7rem,2.8vw,3rem)/1 var(--serif);margin:0 0 1rem}.concept-note p{color:#bdcbc5}.note-equation{background:rgba(255,255,255,.06);padding:2rem;text-align:center;overflow-x:auto}.note-equation small{font-size:.68rem;color:#aebdb6}.bandwidth-visual{height:180px;position:relative;background:rgba(255,255,255,.06);overflow:hidden}.bandwidth-visual i{position:absolute;left:8%;right:8%;top:52%;height:2px;background:#f2c465;transform:skewY(-9deg)}.bandwidth-visual i:nth-child(2){top:44%;background:var(--orange);transform:skewY(4deg);border-radius:50%}.bandwidth-visual span{position:absolute;bottom:1rem;font:400 .6rem var(--mono);text-transform:uppercase;letter-spacing:.08em}.bandwidth-visual span:nth-of-type(1){left:1rem}.bandwidth-visual span:nth-of-type(2){right:1rem}
@media(max-width:1100px){.overview-grid.five-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.map-heading,.notes-heading{grid-template-columns:1fr}.overview-grid,.overview-grid.five-grid,.overview-grid.three-grid{grid-template-columns:repeat(2,1fr)}.concept-note{grid-template-columns:40px 1fr}.concept-note>:last-child{grid-column:2}.chapter-overview{min-height:330px}}
@media(max-width:560px){.overview-grid,.overview-grid.five-grid,.overview-grid.three-grid,.overview-grid.two-grid{grid-template-columns:1fr}.chapter-band{grid-template-columns:42px 1fr}.chapter-band small{display:none}.concept-note{grid-template-columns:1fr;gap:1rem}.concept-note>:last-child{grid-column:1}.chapter-overview{min-height:300px}}

/* Author feature */
.author-feature{background:var(--paper);scroll-margin-top:80px}.author-heading{display:grid;grid-template-columns:1fr .65fr;gap:7vw;align-items:end;margin-bottom:4.5rem}.author-heading h2{font:400 clamp(2.8rem,4.8vw,5.3rem)/.98 var(--serif);letter-spacing:-.05em;margin:0}.author-heading>p{max-width:560px;margin:0;color:#52605a}.author-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--ink);border:1px solid var(--ink)}.author-card{display:grid;grid-template-columns:minmax(170px,.42fr) 1fr;min-height:460px;background:var(--cream)}.author-jiajing{background:#dce8e2}.author-photo{position:relative;margin:0;overflow:hidden;background:var(--green);min-width:0}.author-photo img{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.9) contrast(1.02)}.author-photo-per img{object-position:50% 32%}.author-photo-jiajing img{object-position:51% 36%}.author-photo:after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);pointer-events:none}.author-copy{padding:clamp(2rem,4vw,4.5rem);display:flex;flex-direction:column}.author-role{font:500 .64rem/1.5 var(--mono);text-transform:uppercase;letter-spacing:.09em;color:var(--green-2);margin:0}.author-copy h3{font:400 clamp(2.2rem,3.4vw,4rem)/1 var(--serif);letter-spacing:-.04em;margin:2rem 0 1.25rem}.author-copy>p:not(.author-role){font-size:.9rem;color:#4e5d57;margin:0}.author-copy ul{display:flex;gap:.45rem;flex-wrap:wrap;list-style:none;padding:0;margin:auto 0 0}.author-copy li{border:1px solid rgba(23,35,31,.24);border-radius:99px;padding:.35rem .7rem;font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em}.author-note{text-align:right;color:#738079;font:400 .62rem var(--mono);margin:1rem 0 0}
@media(max-width:1100px){.author-grid{grid-template-columns:1fr}.author-card{min-height:390px}}
@media(max-width:900px){.author-heading{grid-template-columns:1fr;gap:2rem}.site-nav{gap:1.2rem}}
@media(max-width:560px){.author-card{grid-template-columns:1fr}.author-photo{height:300px}.author-photo-per img{object-position:50% 27%}.author-photo-jiajing img{object-position:50% 31%}.author-copy{min-height:390px}.author-note{text-align:left}}

/* Fourteen online chapters */
.study-hero{min-height:76vh;padding:clamp(6rem,10vw,10rem) clamp(1.5rem,8vw,9rem);display:grid;grid-template-columns:1.3fr .7fr;gap:9vw;align-items:end;background:var(--green);color:#fff}.study-hero .eyebrow{color:var(--mint)}.study-hero h1{font:400 clamp(4rem,7.5vw,8.2rem)/.86 var(--serif);letter-spacing:-.06em;margin:0}.study-hero h1 em{color:#f2c465;font-weight:400}.study-hero>div>p:last-child{max-width:720px;color:#c6d6cf;font-size:1.05rem;margin-top:2.5rem}.study-hero aside{border-top:1px solid rgba(255,255,255,.3);padding-top:1.5rem}.study-hero aside strong{font:500 .68rem var(--mono);text-transform:uppercase;letter-spacing:.1em}.study-hero ol{margin:1.4rem 0 0;padding-left:1.2rem;color:#c6d6cf}.study-index{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--ink);background:var(--paper);scroll-margin-top:80px;position:relative;z-index:2}.study-index a{min-height:92px;padding:1rem;border-right:1px solid var(--line);border-top:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;font-size:.7rem;font-weight:600}.study-index a:hover{background:var(--orange)}.study-index span{font:400 .62rem var(--mono);color:var(--green-2)}.study-chapter{padding:clamp(6rem,9vw,10rem) clamp(1.5rem,8vw,9rem);scroll-margin-top:80px}.study-chapter>header{display:grid;grid-template-columns:110px 1.1fr .65fr;gap:3vw;align-items:end;padding-bottom:4rem;border-bottom:1px solid currentColor}.study-chapter>header>span{font:500 .66rem var(--mono);text-transform:uppercase;letter-spacing:.1em}.study-chapter>header div p{font:500 .68rem var(--mono);text-transform:uppercase;letter-spacing:.1em;margin:0 0 1rem}.study-chapter>header h2{font:400 clamp(2.8rem,5vw,5.7rem)/.94 var(--serif);letter-spacing:-.05em;margin:0;max-width:870px}.study-chapter>header>p{margin:0;max-width:520px}.study-grid{display:grid;grid-template-columns:repeat(3,1fr);border-left:1px solid currentColor;margin-top:4rem}.study-grid section{min-height:370px;padding:2.2rem;border-right:1px solid currentColor;border-bottom:1px solid currentColor;display:flex;flex-direction:column}.study-grid section>b{font:500 .63rem var(--mono);text-transform:uppercase;letter-spacing:.09em}.study-grid h3{font:400 clamp(1.7rem,2.5vw,2.7rem)/1.04 var(--serif);margin:2rem 0 1rem}.study-grid p{font-size:.88rem;max-width:420px}.study-formula{margin:auto 0 0;padding:1.2rem .5rem;background:rgba(255,255,255,.36);overflow-x:auto;text-align:center}.chapter-rule{display:grid;grid-template-columns:.32fr 1fr;gap:3rem;align-items:center;padding:2rem;border:1px solid currentColor;border-top:0}.chapter-rule strong{font:500 .66rem var(--mono);text-transform:uppercase;letter-spacing:.1em}.chapter-rule p{margin:0;font-family:var(--serif);font-size:1.15rem}.chapter-actions{display:flex;justify-content:flex-end;gap:.6rem;flex-wrap:wrap;margin-top:1.5rem}.chapter-actions a{border:1px solid currentColor;padding:.7rem 1rem;text-decoration:none;font-size:.72rem;font-weight:600}.chapter-actions a:hover{background:var(--ink);color:#fff}.tone-cream{background:var(--cream)}.tone-coral{background:#df8057}.tone-mint{background:#dce8e2}.tone-gold{background:#f2c465}.tone-dark{background:#17231f;color:#fff}.tone-dark .study-formula{background:rgba(255,255,255,.08)}.tone-dark .chapter-actions a:hover{background:#fff;color:var(--ink)}.study-end{text-align:center;padding:11rem 1.5rem;background:var(--paper)}.study-end h2{font:400 clamp(3.5rem,7vw,7.5rem)/.88 var(--serif);letter-spacing:-.055em;margin:0}.study-end>p:not(.eyebrow){max-width:660px;margin:2rem auto}.study-page mjx-container{max-width:100%;overflow-x:auto;overflow-y:hidden}
.study-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.study-grid section{min-width:0}
@media(max-width:1050px){.study-index{grid-template-columns:repeat(4,1fr)}.study-chapter>header{grid-template-columns:70px 1fr}.study-chapter>header>p{grid-column:2}.study-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.study-grid section:last-child{grid-column:1/3}}
@media(max-width:760px){.study-hero{grid-template-columns:1fr;min-height:auto}.study-index{grid-template-columns:repeat(2,1fr)}.study-chapter>header{grid-template-columns:1fr}.study-chapter>header>p{grid-column:1}.study-grid{grid-template-columns:1fr;border-left:1px solid currentColor}.study-grid section{min-height:auto}.study-grid section:last-child{grid-column:1}.chapter-rule{grid-template-columns:1fr;gap:.8rem}.study-hero h1{font-size:3.8rem}}

/* Formal course catalog */
.catalog-hero{padding:clamp(6rem,10vw,10rem) clamp(1.5rem,8vw,9rem) 5rem;background:var(--cream);border-bottom:1px solid var(--ink)}.catalog-hero>div:first-of-type{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end}.catalog-hero h1{font:400 clamp(4rem,7.5vw,8.2rem)/.86 var(--serif);letter-spacing:-.06em;margin:0}.catalog-hero h1 em{color:var(--orange);font-weight:400}.catalog-hero>div>p{max-width:620px;margin:0;font-size:1.05rem}.catalog-key{display:flex;gap:2.5rem;margin-top:5rem;padding-top:1.5rem;border-top:1px solid var(--line)}.catalog-key span{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.catalog-key b{font:400 1.4rem var(--serif);text-transform:none;letter-spacing:0;margin-right:.35rem}.course-catalog{padding:clamp(6rem,9vw,9rem) clamp(1.5rem,8vw,9rem)}.course-catalog>header{display:grid;grid-template-columns:.3fr 1fr;align-items:end;margin-bottom:5rem}.course-catalog>header h2{font:400 clamp(3rem,5vw,5.6rem)/.95 var(--serif);letter-spacing:-.05em;margin:0}.catalog-part{display:grid;grid-template-columns:230px 1fr;border-top:1px solid var(--ink);padding:3rem 0 5rem}.part-label{padding-right:2rem}.part-label>span{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;font:400 .68rem var(--mono)}.part-label h3{font:400 1.5rem/1.1 var(--serif);margin:1.4rem 0 .4rem}.part-label p{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#718079}.catalog-grid,.catalog-grid.five-catalog,.catalog-grid.three-catalog,.catalog-grid.two-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.catalog-grid a{min-height:280px;padding:2rem;background:var(--paper);display:flex;flex-direction:column;text-decoration:none;transition:.18s ease}.catalog-grid a:hover{background:#dce8e2}.catalog-grid a>span{font:400 .68rem var(--mono);color:var(--orange)}.catalog-grid h3{font:400 clamp(1.7rem,2.4vw,2.5rem)/1 var(--serif);margin:2.4rem 0 .8rem}.catalog-grid p{font-size:.83rem;color:#59665f;max-width:380px}.catalog-grid b{margin-top:auto;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}

/* Continuous textbook chapter reader */
.chapter-shell{display:grid;grid-template-columns:310px minmax(0,1fr);align-items:start}.chapter-sidebar{position:sticky;top:0;height:100vh;padding:2rem 1.6rem;background:var(--green);color:#fff;overflow-y:auto;z-index:10}.back-to-course{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:#c3d3cc;text-decoration:none}.sidebar-chapter{padding:3rem 0 2rem;border-bottom:1px solid rgba(255,255,255,.2)}.sidebar-chapter>span{font:400 .64rem var(--mono);text-transform:uppercase;letter-spacing:.1em;color:#f2c465}.sidebar-chapter h1{font:400 2.25rem/1 var(--serif);margin:1rem 0}.sidebar-chapter p{font-size:.76rem;color:#bfd0c8}.sidebar-lessons{padding:1.2rem 0}.sidebar-lessons a{display:grid;grid-template-columns:28px 1fr;gap:.6rem;padding:.72rem 0;border-bottom:1px solid rgba(255,255,255,.1);text-decoration:none}.sidebar-lessons a:hover{color:#f2c465}.sidebar-lessons span{font:400 .58rem var(--mono);color:#f2c465}.sidebar-lessons strong{font-size:.72rem;font-weight:500}.sidebar-code{display:inline-block;margin-top:1rem;font-size:.68rem;color:#fff;text-underline-offset:4px}.lesson-reader{min-width:0;background:var(--paper);outline:0}.chapter-reading-head{padding:clamp(6rem,10vw,10rem) clamp(2rem,8vw,8rem);background:var(--cream);border-bottom:1px solid var(--ink)}.chapter-reading-head .lesson-meta{display:flex;justify-content:space-between;gap:1rem;margin-bottom:5rem;font:400 .64rem var(--mono);text-transform:uppercase;letter-spacing:.08em}.chapter-reading-head h2{font:400 clamp(4rem,7vw,7.7rem)/.86 var(--serif);letter-spacing:-.06em;margin:0;max-width:1000px}.chapter-reading-head>p:last-child{font-family:var(--serif);font-size:1.25rem;max-width:720px;margin:2.5rem 0 0}.textbook-section{display:grid;grid-template-columns:150px minmax(0,1fr);gap:4vw;padding:clamp(5rem,8vw,8rem) clamp(2rem,8vw,8rem);border-bottom:1px solid var(--ink);scroll-margin-top:0}.section-marker{position:sticky;top:2rem;align-self:start}.section-marker span{font:400 .7rem var(--mono);color:var(--orange)}.section-marker p{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;font-weight:600;margin:.8rem 0}.section-prose{max-width:820px;min-width:0}.section-prose>h2{font:400 clamp(2.7rem,4.5vw,4.8rem)/.98 var(--serif);letter-spacing:-.045em;margin:0 0 3rem}.section-prose>p{font-size:1.02rem;max-width:720px}.reading-objectives{margin-top:3rem;padding:2rem;background:#dce8e2}.reading-objectives strong,.reader-formula small,.case-label{font:500 .64rem var(--mono);text-transform:uppercase;letter-spacing:.09em}.reading-objectives ul{margin:1rem 0 0;padding-left:1.2rem}.reading-objectives li{padding:.35rem 0}.textbook-topic{padding:3rem 0;border-top:1px solid var(--line)}.textbook-topic:first-of-type{border-top:0}.topic-kicker{font:500 .64rem var(--mono)!important;text-transform:uppercase;letter-spacing:.1em;color:var(--green-2)}.textbook-topic h3{font:400 clamp(2rem,3vw,3.25rem)/1 var(--serif);margin:.8rem 0 1.5rem}.textbook-topic h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;margin:2rem 0 .4rem}.textbook-topic p{max-width:730px}.topic-takeaway{margin-top:2rem;padding-left:1.25rem;border-left:3px solid var(--orange);font-family:var(--serif);font-size:1.08rem}.formula-collection{display:grid;gap:1rem;margin-top:3rem}.reader-formula{padding:2.5rem;background:#17231f;color:#fff;overflow-x:auto}.reader-formula>div{text-align:center;font-family:var(--serif);font-size:1.15rem;margin:1.5rem 0}.reader-formula>p{font-size:.76rem;color:#bdcbc5;margin:0}.case-section{background:#f2c465}.case-section .section-marker span{color:var(--green)}.case-label{color:#80641d}.case-steps{counter-reset:case-step;list-style:none;padding:0;margin:3rem 0 0}.case-steps li{counter-increment:case-step;display:grid;grid-template-columns:48px 1fr;gap:1rem;padding:1.4rem 0;border-top:1px solid rgba(23,35,31,.3)}.case-steps li:before{content:counter(case-step,decimal-leading-zero);font:400 .65rem var(--mono)}.diagnostic-list{margin-top:3rem;border-top:1px solid var(--ink)}.diagnostic-list article{display:grid;grid-template-columns:48px 1fr;gap:1rem;padding:1.5rem 0;border-bottom:1px solid var(--line)}.diagnostic-list span{font:400 .62rem var(--mono);color:var(--orange)}.diagnostic-list p{margin:0}.extension-section{background:#dce8e2}.extension-list{margin:2rem 0 0;padding:2rem;list-style:none;background:rgba(255,255,255,.5)}.extension-list li{padding:.8rem 0;border-bottom:1px solid var(--line)}.exercise-section{background:var(--cream)}.exercise-list{padding:0;list-style:none;counter-reset:exercise}.exercise-list li{counter-increment:exercise;display:grid;grid-template-columns:52px 1fr;gap:1rem;padding:1.5rem 0;border-top:1px solid var(--line)}.exercise-list li:before{content:'Q' counter(exercise);font:500 .65rem var(--mono);color:var(--orange)}.exercise-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:3rem}.chapter-pager{display:grid;grid-template-columns:1fr 1fr;background:var(--green);color:#fff}.chapter-pager>a{min-height:180px;padding:2.5rem;display:flex;flex-direction:column;text-decoration:none}.chapter-pager>a:last-child{text-align:right;border-left:1px solid rgba(255,255,255,.2)}.chapter-pager span{font:400 .62rem var(--mono);text-transform:uppercase;letter-spacing:.1em;color:#b8d8cb}.chapter-pager strong{font:400 1.45rem var(--serif);margin-top:auto}.chapter-reader-page mjx-container{max-width:100%;overflow-x:auto;overflow-y:hidden}
@media(max-width:1000px){.catalog-part{grid-template-columns:1fr}.part-label{margin-bottom:2rem}.chapter-shell{grid-template-columns:260px minmax(0,1fr)}.textbook-section{grid-template-columns:100px minmax(0,1fr)}}
@media(max-width:760px){.catalog-hero>div:first-of-type,.course-catalog>header{grid-template-columns:1fr;gap:2rem}.catalog-key{flex-direction:column;gap:.6rem}.catalog-grid,.catalog-grid.five-catalog,.catalog-grid.three-catalog,.catalog-grid.two-catalog{grid-template-columns:1fr}.catalog-grid a{min-height:240px}.chapter-shell{grid-template-columns:1fr}.chapter-sidebar{position:relative;height:auto;padding:2rem 1.4rem}.sidebar-chapter{padding:2rem 0 1.5rem}.sidebar-lessons{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.chapter-reading-head{padding-top:5rem}.chapter-reading-head .lesson-meta{margin-bottom:3rem}.textbook-section{grid-template-columns:1fr;gap:1rem;padding-left:1.5rem;padding-right:1.5rem}.section-marker{position:static;display:flex;gap:.6rem;align-items:center}.section-marker p{margin:0}.chapter-pager{grid-template-columns:1fr}.chapter-pager>a:last-child{border-left:0;border-top:1px solid rgba(255,255,255,.2)}}

/* Restrained textbook home */
.formal-hero{min-height:calc(100vh - 84px);display:grid;grid-template-columns:1.25fr .75fr;background:var(--cream);border-bottom:1px solid var(--ink)}.formal-hero-copy{padding:clamp(5rem,9vw,9rem) clamp(2rem,7vw,8rem)}.formal-hero h1{font:400 clamp(4.2rem,7.5vw,8rem)/.86 var(--serif);letter-spacing:-.06em;margin:0}.formal-hero h1,.formal-hero .subtitle{hyphens:none;word-break:normal;overflow-wrap:normal}.formal-hero h1 em{font-size:.48em;color:var(--orange);font-weight:400}.formal-hero h1 span{color:var(--green-2)}.formal-hero-note{padding:clamp(3rem,7vw,7rem);background:var(--green);color:#fff;display:flex;flex-direction:column;justify-content:flex-end}.formal-hero-note>span{font:500 .65rem var(--mono);text-transform:uppercase;letter-spacing:.1em;color:#f2c465}.formal-hero-note>p{font:400 clamp(1.8rem,3vw,3.1rem)/1.08 var(--serif);margin:1.5rem 0 4rem}.formal-hero-note>div{font:400 .62rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:#b8c9c2}.formal-hero-note i{color:#f2c465;margin:0 .45rem}.home-contents{padding:clamp(6rem,9vw,9rem) clamp(1.5rem,8vw,9rem)}.home-contents>header{display:grid;grid-template-columns:1fr .7fr;gap:8vw;align-items:end;margin-bottom:5rem}.home-contents>header h2{font:400 clamp(3.2rem,5vw,5.8rem)/.95 var(--serif);letter-spacing:-.05em;margin:0}.home-contents>header>p{margin:0;max-width:580px}.home-part{display:grid;grid-template-columns:260px 1fr;border-top:1px solid var(--ink);padding:2.5rem 0}.home-part>div{display:grid;grid-template-columns:42px 1fr;align-items:start;padding-right:2rem}.home-part>div>span{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;font:400 .65rem var(--mono)}.home-part>div h3{font:400 1.35rem/1.1 var(--serif);margin:.35rem 0}.home-part ol{margin:0;padding:0;list-style:none;counter-reset:home-chapter calc(var(--start, 1) - 1)}.home-part ol[start="1"]{--start:1}.home-part ol[start="5"]{--start:5}.home-part ol[start="10"]{--start:10}.home-part ol[start="13"]{--start:13}.home-part li{counter-increment:home-chapter}.home-part a{display:grid;grid-template-columns:38px 1fr auto;gap:1rem;align-items:center;padding:1.05rem 0;border-bottom:1px solid var(--line);text-decoration:none}.home-part a:before{content:counter(home-chapter,decimal-leading-zero);font:400 .62rem var(--mono);color:var(--orange)}.home-part a>span{font-family:var(--serif);font-size:1.25rem}.home-part a small{color:#68756f}.home-part a:hover>span{text-decoration:underline;text-underline-offset:5px}.home-code-strip{padding:7rem clamp(1.5rem,8vw,9rem);display:flex;align-items:flex-end;justify-content:space-between;gap:3rem;background:var(--green);color:#fff}.home-code-strip h2{font:400 clamp(3rem,5vw,5.5rem)/.95 var(--serif);letter-spacing:-.05em;margin:0}.home-code-strip p:not(.section-kicker){max-width:600px;color:#bdcdc6}.home-code-strip .section-kicker{color:var(--mint)}
@media(max-width:1100px){.formal-hero{grid-template-columns:1fr}.formal-hero-copy{padding-right:clamp(2rem,10vw,7rem)}.formal-hero h1{font-size:clamp(4.2rem,11vw,7rem);line-height:.92}.formal-hero .subtitle{max-width:760px}.formal-hero-note{min-height:420px}.home-contents>header{grid-template-columns:1fr;gap:2rem}.home-part{grid-template-columns:1fr}.home-part>div{margin-bottom:1.5rem}.home-code-strip{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.formal-hero h1{font-size:4rem}.formal-hero-note{min-height:360px}.home-part a{grid-template-columns:32px 1fr}.home-part a small{display:none}}

.author-email{display:flex;flex-direction:column;align-items:flex-start;margin:1.6rem 0 1rem;font:500 .72rem var(--mono);text-underline-offset:4px;overflow-wrap:anywhere}.author-email span{margin-bottom:.25rem;color:var(--green-2);font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;text-decoration:none}
