@font-face{font-family:Lato;src:url('/assets/lato-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Lato;src:url('/assets/lato-700.woff2') format('woff2');font-weight:600 900;font-display:swap}
@font-face{font-family:Cormorant;src:url('/assets/cormorant-garamond-400.woff2') format('woff2');font-weight:400 600;font-display:swap}
:root{--ink:#292828;--muted:#696663;--paper:#f2f1ec;--white:#fffdfa;--rose:#85614b;--rose-dark:#704d37;--blush:#f4ede3;--green:#315b4e;--sage:#e4eee8;--line:#dfdbd4;--radius:18px;--font:Lato,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);line-height:1.65;font-size:16px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.6}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--rose);outline-offset:4px}h1,h2,h3,h4,p{margin:0 0 1em}h1,h2,h3,h4{line-height:1.15;letter-spacing:-.035em}h1{font-size:clamp(2.5rem,5.6vw,4.8rem);font-weight:600}h2{font-size:clamp(1.7rem,3vw,2.55rem);font-weight:600}h3{font-size:1.4rem;font-weight:600}h4{font-size:1.12rem;letter-spacing:-.015em}p:last-child{margin-bottom:0}ul,ol{padding-left:1.4em}li{margin:.35em 0}img,svg{max-width:100%;height:auto}sup,sub{line-height:0}table{border-collapse:collapse;width:100%;font-size:.94rem;margin:1rem 0}th,td{border-bottom:1px solid var(--line);padding:.65rem .75rem;text-align:left}th{background:var(--sage);font-weight:600}.table-wrap{overflow:auto}code{font-size:.95em;background:#efece7;padding:.1em .3em;border-radius:4px}.skip-link{position:fixed;left:1rem;top:-80px;z-index:100;background:var(--ink);color:white;padding:12px}.skip-link:focus{top:1rem}.wrap{width:min(1240px,calc(100% - 72px));margin:auto}.site-header{position:sticky;top:0;z-index:30;background:rgba(250,247,242,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{display:flex;align-items:center;gap:36px;height:92px}.brand{display:flex;align-items:center;gap:14px;margin-right:auto;min-width:165px}.brand img{width:105px;height:65px;object-fit:contain}.brand-caption{font-size:.65rem;letter-spacing:.13em;text-transform:uppercase;border-left:1px solid var(--line);padding-left:15px;max-width:112px;line-height:1.6}.nav{display:flex;align-items:center;gap:28px}.nav a{font-size:.9rem;padding:8px 0;color:var(--muted)}.nav a.active{color:var(--rose-dark);box-shadow:0 2px var(--rose)}.nav a:hover{color:var(--rose)}.menu-button{display:none;background:none;border:1px solid var(--line);border-radius:8px;padding:7px 11px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.71rem;font-weight:700;color:var(--rose-dark);margin-bottom:20px;display:flex;align-items:center;gap:9px}.dot{width:7px;height:7px;background:var(--rose);border-radius:50%;display:inline-block}.hero{padding:76px 0 62px;display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center}.hero h1{max-width:650px;margin-bottom:24px}.hero h1 em{font-style:normal;color:var(--rose)}.hero p{color:var(--muted);max-width:510px;font-size:1.1rem}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:13px 23px;border-radius:8px;background:var(--rose);border:1px solid var(--rose);color:white;font-weight:600;font-size:.88rem;line-height:1.45}.button:hover{background:var(--rose-dark);border-color:var(--rose-dark)}.button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.button.secondary:hover{background:var(--white);border-color:var(--ink)}.button.small{padding:8px 15px;font-size:.82rem}.hero-visual{position:relative;min-height:380px;border-radius:180px 180px 26px 26px;background:var(--blush);padding:35px 25px 22px;overflow:hidden}.hero-visual svg{width:100%;display:block}.visual-label{display:flex;justify-content:space-between;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;padding:12px 15px 0;border-top:1px solid #dbbfc5}.micro-label{display:inline-flex;gap:7px;align-items:center;background:var(--white);border:1px solid var(--line);padding:7px 12px;border-radius:30px;font-size:.72rem;color:var(--muted)}.hero-foot{margin-top:24px;display:flex;gap:8px;flex-wrap:wrap}.facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;gap:25px}.fact strong{display:block;font-size:1.65rem;letter-spacing:-.035em;font-weight:500}.fact span{font-size:.8rem;color:var(--muted)}.section{padding:70px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.section-heading h2{margin:0}.section-heading p{color:var(--muted);max-width:430px;font-size:.92rem;margin:0}.text-link{color:var(--rose-dark);font-size:.87rem;font-weight:600;display:inline-block}.text-link:hover{text-decoration:underline}.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.topic-card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:24px;transition:transform .15s,border-color .15s;min-width:0}.topic-card:hover{transform:translateY(-3px);border-color:var(--rose)}.card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px}.topic-number{font-size:.72rem;color:var(--muted);letter-spacing:.09em}.tag{font-size:.66rem;line-height:1.3;letter-spacing:.04em;padding:5px 9px;border-radius:30px;background:var(--sage);color:var(--green);font-weight:600}.tag.foundation{background:#efede8;color:#6b6257}.tag.new{background:var(--blush);color:var(--rose-dark)}.topic-card h3{font-size:1.2rem;margin-bottom:10px}.topic-card p{font-size:.84rem;color:var(--muted);margin-bottom:22px;flex:1}.card-bottom{font-size:.72rem;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:16px;color:var(--muted)}.arrow{color:var(--rose);font-size:1.2rem}.scope-banner{border:1px solid #d2ded5;background:var(--sage);border-radius:var(--radius);padding:30px 36px;display:grid;grid-template-columns:1fr 1.6fr;gap:40px}.scope-banner h3{margin-bottom:10px}.scope-banner p{font-size:.92rem;color:var(--green)}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.process-step{border-top:1px solid var(--line);padding-top:22px}.process-step .step-number{font-size:.7rem;letter-spacing:.1em;color:var(--rose);margin-bottom:14px}.process-step p{color:var(--muted);font-size:.9rem}.page-intro{padding:55px 0 30px}.page-intro h1{font-size:clamp(2.6rem,5vw,4rem);margin-bottom:20px}.page-intro p{max-width:720px;color:var(--muted)}.breadcrumb{display:flex;gap:9px;flex-wrap:wrap;font-size:.75rem;color:var(--muted);margin-bottom:25px}.breadcrumb a:hover{color:var(--rose)}.filter-bar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:20px 0 30px}.search-wrap{flex:1;min-width:220px;position:relative}.search-wrap input{width:100%;border:1px solid var(--line);background:var(--white);padding:13px 18px;border-radius:9px;color:var(--ink)}.unit-tabs{display:flex;gap:7px;flex-wrap:wrap}.unit-tabs button{border:1px solid var(--line);background:var(--white);border-radius:8px;padding:10px 15px;font-size:.85rem;color:var(--muted)}.unit-tabs button.selected{background:var(--ink);border-color:var(--ink);color:white}.unit-section{padding:25px 0 45px;border-top:1px solid var(--line)}.unit-heading{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:25px}.unit-heading h2{font-size:1.9rem;margin:0 0 8px}.unit-heading p{font-size:.85rem;color:var(--muted);max-width:680px;margin:0}.unit-index{color:var(--rose);font-size:.75rem;letter-spacing:.1em;margin-bottom:12px}.empty{padding:40px;border:1px dashed var(--line);border-radius:var(--radius);color:var(--muted);text-align:center}.study-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:60px;align-items:start;padding-bottom:75px}.study-sidebar{position:sticky;top:120px;font-size:.82rem}.sidebar-heading{font-size:.67rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}.study-sidebar a{display:block;border-left:2px solid var(--line);padding:8px 16px;color:var(--muted)}.study-sidebar a:hover{border-color:var(--rose);color:var(--rose)}.sidebar-meta{margin-top:28px;border-top:1px solid var(--line);padding-top:20px;color:var(--muted);font-size:.74rem}.study-main{min-width:0;max-width:880px}.learning-goals{background:var(--sage);border-radius:var(--radius);padding:25px 30px;color:var(--green);margin-bottom:38px}.learning-goals h3{font-size:1.1rem;margin-bottom:15px}.learning-goals ul{margin:0;font-size:.92rem}.study-section{padding:35px 0;border-top:1px solid var(--line)}.study-section h2{font-size:2rem;margin-bottom:24px}.note-section{margin:28px 0}.note-section h3{font-size:1.3rem;margin-bottom:15px}.study-main .note-section p,.study-main .note-section li{font-size:.96rem}.formula-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:22px}.formula{border:1px solid var(--line);border-radius:12px;background:var(--white);padding:20px;min-width:0}.formula-label{font-size:.73rem;color:var(--muted);margin-bottom:12px}.formula-expression{font-size:1.2rem;color:var(--green);font-family:Georgia,serif;margin-bottom:10px;overflow-wrap:anywhere}.formula p{font-size:.78rem;color:var(--muted)}.worked-example{border:1px solid var(--line);background:var(--white);border-radius:var(--radius);padding:30px;margin:22px 0}.example-label{font-size:.67rem;letter-spacing:.12em;color:var(--rose-dark);text-transform:uppercase;margin-bottom:12px}.worked-example h3{font-size:1.45rem}.prompt{font-size:.95rem;line-height:1.7;margin-bottom:20px}.diagram{background:#f8f6f0;border-radius:12px;overflow:auto;margin:22px 0;padding:16px;text-align:center}.diagram svg{width:100%;max-width:700px;min-width:280px;display:inline-block}.worked-steps{list-style:none;padding:0;counter-reset:steps;margin:25px 0}.worked-steps li{counter-increment:steps;position:relative;padding-left:44px;margin:22px 0}.worked-steps li:before{content:counter(steps);position:absolute;left:0;top:0;background:var(--blush);color:var(--rose-dark);border-radius:50%;width:28px;height:28px;text-align:center;font-size:.75rem;line-height:28px}.worked-steps h4{margin-bottom:8px}.worked-steps div{font-size:.92rem}.answer{border-left:3px solid var(--green);background:var(--sage);padding:13px 18px;font-size:.93rem;color:var(--green);margin-top:18px}.check{margin-top:13px;color:var(--muted);font-size:.8rem}.pitfalls{border:1px solid #e5c7ce;background:#fbf0f1;border-radius:14px;padding:25px 30px;font-size:.91rem}.pitfalls h3{font-size:1.2rem;color:var(--rose-dark)}.exercise{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:27px;margin:20px 0}.exercise-top{display:flex;gap:10px;align-items:center;justify-content:space-between;font-size:.72rem;color:var(--muted);margin-bottom:16px}.exercise h3{font-size:1.3rem;margin-bottom:15px}.options{border:0;padding:0;margin:20px 0;display:grid;gap:9px;min-width:0}.options legend{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}.option{display:flex;align-items:baseline;gap:12px;border:1px solid var(--line);padding:11px 15px;border-radius:8px;cursor:pointer;font-size:.9rem}.option:has(input:checked){border-color:var(--rose);background:#fbf0f1}.option input{accent-color:var(--rose)}.option.correct{border-color:var(--green);background:var(--sage)}.response-label{font-size:.8rem;display:block;color:var(--muted);margin:18px 0 8px}.exercise textarea{width:100%;min-height:115px;background:var(--paper);border:1px solid var(--line);border-radius:9px;padding:15px;resize:vertical;font-size:.9rem}.response-hint{font-size:.74rem;color:var(--muted);margin:7px 0 16px}.feedback{margin-top:15px;font-size:.84rem}.feedback.good{color:var(--green)}.feedback.retry{color:var(--rose-dark)}.solution{border-top:1px solid var(--line);padding-top:22px;margin-top:22px}.solution h4{margin:0 0 14px}.solution ol{font-size:.92rem}.rubric{font-size:.81rem;background:var(--paper);padding:16px 20px;border-radius:10px;margin-top:18px}.rubric ul{margin-bottom:0}.self-mark{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:18px;font-size:.76rem}.self-mark button{background:transparent;border:1px solid var(--line);padding:7px 11px;border-radius:6px;font-size:.75rem}.self-mark button.selected{border-color:var(--green);background:var(--sage);color:var(--green)}.completion-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--sage);padding:23px 27px;border-radius:var(--radius);margin:30px 0}.completion-bar p{font-size:.83rem;color:var(--green)}.next-topic{border-top:1px solid var(--line);padding-top:25px;display:flex;justify-content:space-between;gap:20px}.next-topic a{font-size:.86rem;color:var(--rose-dark)}.topic-sources{font-size:.76rem;color:var(--muted);margin-top:35px}.topic-sources a{display:block;margin:7px 0;text-decoration:underline}.practice-controls{display:grid;grid-template-columns:1fr 1.4fr auto;gap:15px;align-items:end;background:var(--sage);padding:24px;border-radius:var(--radius);margin:25px 0}.field label{font-size:.75rem;display:block;margin-bottom:7px;color:var(--green)}.field select{width:100%;background:var(--white);border:1px solid #ccd7cf;padding:11px 13px;border-radius:8px;color:var(--ink);font-size:.85rem}.practice-layout{max-width:900px;margin:auto;padding-bottom:65px}.practice-summary{font-size:.8rem;color:var(--muted);padding:10px 0}.tool-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.tool-panel{border:1px solid var(--line);background:var(--white);border-radius:var(--radius);padding:30px}.tool-panel h3{font-size:1.5rem}.tool-panel p,.tool-panel li{font-size:.9rem;color:var(--muted)}.timer-display{font-size:3rem;letter-spacing:.02em;color:var(--green);font-variant-numeric:tabular-nums}.timer-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.resource-row{display:grid;grid-template-columns:90px 1fr auto;gap:25px;align-items:center;padding:23px 0;border-top:1px solid var(--line)}.resource-row h3{font-size:1.15rem;margin:0 0 8px}.resource-row p{font-size:.83rem;color:var(--muted);margin:0}.resource-year{font-size:1.3rem;color:var(--rose)}.resource-links{display:flex;gap:14px;flex-wrap:wrap;max-width:320px;font-size:.78rem;color:var(--rose-dark)}.resource-links a{text-decoration:underline}.resource-note{font-size:.85rem;color:var(--muted);margin:25px 0}.footer{background:var(--ink);color:#f8f4ee;padding:45px 0 25px}.footer-top{display:flex;justify-content:space-between;gap:35px;margin-bottom:30px}.footer h3{font-size:1.5rem;margin-bottom:8px}.footer p{font-size:.82rem;max-width:500px;color:#cac4be}.footer-links{display:flex;gap:20px;font-size:.82rem}.footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #4a4744;padding-top:22px;color:#bfb9b3;font-size:.7rem}.status-pill{font-size:.7rem;color:var(--green);margin-left:8px}.notice{border-left:3px solid var(--rose);padding:16px 22px;background:var(--blush);font-size:.87rem;margin:25px 0}.sr-only{position:absolute;clip-path:inset(50%);height:1px;width:1px;overflow:hidden}.no-print{}.print-button{background:none;border:0;color:var(--muted);font-size:.77rem;text-decoration:underline}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:11px 22px;border-radius:8px;z-index:60;font-size:.85rem}.filters-caption{font-size:.74rem;color:var(--muted)}
@media(max-width:1050px){.wrap{width:calc(100% - 44px)}.hero{gap:35px}.hero-visual{min-height:320px}.nav{gap:17px}.brand-caption{display:none}.study-layout{grid-template-columns:190px minmax(0,1fr);gap:32px}.topic-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.wrap{width:calc(100% - 32px)}.header-inner{height:75px;gap:10px}.brand img{height:53px;width:88px}.menu-button{display:block}.nav{display:none;position:absolute;left:0;right:0;top:75px;background:var(--paper);padding:15px 22px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:5px}.nav.open{display:flex}.nav a{padding:10px}.hero{grid-template-columns:1fr;padding:40px 0;gap:35px}.hero h1{font-size:3.05rem}.hero p{font-size:1rem}.hero-visual{min-height:0;max-width:430px;width:100%;margin:auto;padding:15px 25px;border-radius:140px 140px 22px 22px}.hero-visual svg{max-height:270px}.facts{grid-template-columns:repeat(2,1fr);gap:20px}.section{padding:44px 0}.section-heading{display:block}.section-heading p{margin-top:16px}.topic-grid{grid-template-columns:1fr}.topic-card{padding:22px}.scope-banner{grid-template-columns:1fr;gap:10px;padding:26px}.process-grid{grid-template-columns:1fr;gap:20px}.page-intro{padding-top:35px}.page-intro h1{font-size:2.7rem}.filter-bar{gap:12px}.search-wrap{flex-basis:100%}.unit-tabs{width:100%}.unit-tabs button{padding:8px 12px;flex:1;font-size:.78rem}.unit-heading{display:block}.unit-heading>.tag{display:inline-block;margin-top:15px}.study-layout{display:block}.study-sidebar{position:static;margin:0 0 25px;padding:16px 18px;background:#efede7;border-radius:12px}.sidebar-heading{margin-bottom:8px}.study-sidebar a{display:inline-block;padding:3px 12px 3px 0;border:0;font-size:.78rem}.sidebar-meta{display:none}.formula-grid{grid-template-columns:1fr}.worked-example,.exercise{padding:22px 18px}.worked-steps li{padding-left:37px}.diagram{padding:8px}.completion-bar{align-items:start;flex-direction:column;padding:22px}.practice-controls{grid-template-columns:1fr;padding:20px;gap:12px}.tool-grid{grid-template-columns:1fr}.tool-panel{padding:24px}.resource-row{grid-template-columns:55px 1fr;gap:12px}.resource-links{grid-column:2}.footer-top,.footer-bottom{flex-direction:column;gap:18px}.footer-links{flex-wrap:wrap}.next-topic{flex-direction:column}.unit-heading h2{font-size:1.65rem}.eyebrow{font-size:.65rem}.study-section h2{font-size:1.7rem}.learning-goals{padding:22px}.notice{padding:15px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{body{background:white;font-size:11pt}.site-header,.footer,.study-sidebar,.actions,.completion-bar,.next-topic,.no-print,.self-mark,.response-label,textarea,.response-hint,.toast{display:none!important}.wrap{width:100%}.study-layout{display:block}.study-main{max-width:none}.page-intro{padding-top:0}h1{font-size:28pt!important}.study-section{padding:20px 0}.worked-example,.exercise,.formula{break-inside:avoid}.solution[hidden]{display:block!important}.options{display:block}.option{padding:4px;border:0}.diagram{background:white}.hero{display:block}.hero-visual{display:none}a[href^='https']:after{content:' (' attr(href) ')';font-size:8pt;overflow-wrap:anywhere}}

h1{font-family:Cormorant,Georgia,serif;font-weight:400;letter-spacing:-.035em}h1{line-height:.98}h2{line-height:1.08}.brand img{width:205px;height:40px}.brand{min-width:205px}.hero h1{font-size:clamp(3.4rem,6.5vw,5.4rem)}.topic-card h3{font-size:1.65rem}.worked-example h3,.exercise h3{font-size:1.75rem}.note-section h3{font-size:1.65rem}.study-section h2{font-size:2.5rem}.brand-caption{max-width:106px}.hero-visual{border:1px solid #ded0c2}.unit-heading h2{font-size:2.25rem}
@media(max-width:1050px){.brand img{width:190px}}@media(max-width:720px){.brand img{width:166px;height:33px}.brand{min-width:166px}.hero h1{font-size:3.65rem}.page-intro h1{font-size:3.15rem}.study-section h2{font-size:2.1rem}}

@font-face{font-family:Rubik;src:url(/assets/rubik-300.woff2) format(woff2);font-weight:300;font-display:swap}.eyebrow,.sidebar-heading,.topic-number,.unit-index,.example-label{font-family:Lato,Arial,sans-serif;font-weight:600}.note-section>div,.prompt,.solution{overflow-wrap:anywhere}.note-section table,.prompt table,.solution table{display:block;overflow-x:auto;max-width:100%}.formula-expression{line-height:1.6}
