*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;color:#202b29;background:#fff;font:1.0625rem/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:#175747;text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}a:focus-visible{outline:3px solid #175747;outline-offset:5px}.wrap{width:min(1080px,calc(100% - 48px));margin:auto}.skip{position:absolute;left:24px;top:-100px;background:white;padding:12px;z-index:2}.skip:focus{top:8px}header{border-bottom:1px solid #d5dfdb}header .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:24px}.wordmark{font:2.2rem/1 Georgia,"Times New Roman",serif;text-decoration:none;white-space:nowrap}.wordmark span{font:500 .875rem/1 system-ui,sans-serif;letter-spacing:.18em;margin-left:.75em}nav{display:flex;gap:24px;flex-wrap:wrap;font-size:.9375rem}h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.12;letter-spacing:-.025em}h1{font-size:clamp(2.6rem,5.5vw,4.4rem);margin:14px 0 24px;max-width:13ch}h2{font-size:2.2rem;margin:0 0 20px}h3{font-size:1.1rem;margin:0 0 8px}p{margin:0 0 20px}.eyebrow{font-size:.875rem;letter-spacing:.12em;text-transform:uppercase;color:#466158;font-weight:600}.hero{display:grid;grid-template-columns:1.4fr 1fr;gap:56px;align-items:center;padding-block:70px 60px}.lead{font-size:1.1875rem;max-width:40ch;color:#466158}.geometry{width:100%;height:auto}.caption{font-size:.875rem;color:#466158;text-align:center;margin-top:8px}.button{display:inline-block;background:#175747;color:white;padding:12px 22px;text-decoration:none;font-weight:600;border:2px solid #175747}.button:hover{background:#103e33}.meta{font-size:.9375rem;color:#466158;margin:12px 0 0}.section{padding-block:48px;border-top:1px solid #d5dfdb;scroll-margin-top:24px}.split{display:grid;grid-template-columns:1fr 1fr;gap:64px}.sample{background:#f0f5f2;padding:30px}.sample h2{font-size:1.9rem}.list{padding-left:1.25em;margin:16px 0 24px}.list li{margin:8px 0}.price{font:2.1rem Georgia,serif;color:#175747;margin-bottom:12px}.status{font-weight:600}.contents{margin:24px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.contents div{padding:14px 0;border-top:1px solid #d5dfdb}.contents dt{font-weight:600}.contents dd{margin:2px 0 0;color:#466158;font-size:.9375rem}.reading{max-width:70ch;padding-block:50px}.reading h1{font-size:3rem;max-width:none}.reading h2{font-size:1.7rem;margin-top:32px}footer{border-top:1px solid #d5dfdb;padding-block:26px;color:#466158;font-size:.875rem}footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}footer p{margin:0}@media(max-width:700px){.wrap{width:calc(100% - 36px)}header .wrap{align-items:flex-start;flex-direction:column;gap:20px}.hero{grid-template-columns:1fr;padding-block:40px;gap:24px}.hero figure{max-width:300px;margin:0 auto}.split{grid-template-columns:1fr;gap:36px}.section{padding-block:36px}.sample{padding:24px}.contents{grid-template-columns:1fr}h1{max-width:16ch}nav{gap:20px}}@media print{body{font-size:11pt;color:#000}header nav,.skip,.button,footer{display:none}.wrap{width:100%}.hero{padding-block:16px;gap:20px}.hero h1{font-size:30pt}.section{padding-block:20px}.sample{background:none;border:1px solid #999}.split{gap:24px}a{color:#000}.contents div,figure{break-inside:avoid}}
.lesson{max-width:760px}.lesson-header{padding:46px 0 32px;border-bottom:1px solid #d5dfdb}.lesson-header h1{font-size:clamp(2.3rem,5vw,3.4rem);max-width:22ch}.lesson .lead{max-width:55ch}.lesson-header nav{margin-top:28px}.lesson-section{padding:36px 0;border-bottom:1px solid #d5dfdb;scroll-margin-top:20px}.lesson-section h2{font-size:1.9rem}.lesson-section h3{margin:28px 0 12px}.notation,.math-figure figcaption{font-size:.9375rem;color:#466158}.math-figure{max-width:420px;margin:28px auto}.math-figure svg{width:100%;height:auto;display:block}.math-figure figcaption{text-align:center;margin-top:12px}.remember{border-left:3px solid #175747;padding:12px 20px;background:#f0f5f2;margin:24px 0}.remember p{margin:6px 0 0}.equation,.equations{font:1.25rem/1.8 Georgia,serif;margin:20px 0;padding-left:20px;border-left:2px solid #d5dfdb}.equations p{margin:6px 0}details{border-top:1px solid #d5dfdb;padding:16px 0}summary{cursor:pointer;color:#175747;font-weight:600;padding:6px 0}summary:focus-visible{outline:3px solid #175747;outline-offset:4px}details[open] summary{margin-bottom:16px}details p:last-child{margin-bottom:0}.next{border-bottom:0}.pack-note{font-size:.9375rem;color:#466158;border-top:1px solid #d5dfdb;padding-top:22px;margin:26px 0 0}@media(max-width:400px){.equations,.equation{padding-left:10px;font-size:1.125rem}.lesson-header{padding-top:30px}}@media print{.lesson-header{padding:10px 0}.lesson-section{padding:20px 0}.lesson-header nav,summary{display:none}details::details-content{content-visibility:visible!important;height:auto!important}details{display:block}.math-figure{max-width:280px}.remember{background:none}.lesson h1{font-size:28pt}}

/* Vectors lesson: resources first, then vertical contents and recap. */
.lesson-header .resource-links{list-style:none;padding:0 0 24px;margin:0 0 28px;border-bottom:1px solid #d5dfdb}.resource-links li+li{margin-top:12px}.resource-links a{font-weight:600}.resource-price{font-size:.9375rem;color:#466158;white-space:nowrap}.lesson-contents{display:block}.lesson-contents h2{font:600 1.0625rem/1.5 system-ui,sans-serif;letter-spacing:0;margin:0 0 10px}.lesson-contents ol{padding-left:1.5em;margin:0}.lesson-contents li{padding:5px 0}.vector-scaling{list-style:none;margin:24px 0;padding:0}.vector-scaling li{display:grid;grid-template-columns:3rem 180px 1fr;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid #d5dfdb}.vector-scaling svg{display:block;width:100%;height:auto;color:#175747}.scaling-label{font:1.25rem Georgia,serif}.solving-principles{padding-left:1.4em}.solving-principles li{padding-left:6px;margin:16px 0}@media(max-width:550px){.vector-scaling li{grid-template-columns:3rem minmax(0,180px);gap:8px 16px}.vector-scaling li>span:last-child{grid-column:1 / -1}}@media print{.resource-links,.lesson-contents{display:none!important}.vector-scaling li{break-inside:avoid}}
/* Topic library */
.directory{padding-block:44px 72px}.page-intro{max-width:740px;margin-bottom:34px}.page-intro h1{max-width:none;font-size:clamp(2.6rem,5vw,3.7rem)}.home-intro{padding:20px 0 42px;max-width:900px}.home-intro h1{max-width:none;font-size:clamp(2.6rem,5.7vw,4.5rem);line-height:1.1}.home-intro .lead{max-width:660px}.home-paths{display:flex;flex-wrap:wrap;gap:16px 30px;margin-top:30px}.home-paths a{font-weight:600}.home-paths span{margin-left:8px}.browse-intro{padding-top:22px;border-top:1px solid #d5dfdb}.category-nav{display:flex;flex-wrap:wrap;gap:10px 28px;margin:24px 0 36px}.category-nav a{padding:8px 0;font-weight:600}.topic-group{scroll-margin-top:24px;margin-bottom:42px}.group-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;border-bottom:2px solid #175747;padding-bottom:12px}.group-heading h2{margin:0}.group-heading span{color:#536760;font-size:.9rem}.topic-list{display:grid;grid-template-columns:1fr 1fr;gap:0 36px;list-style:none;margin:0;padding:0}.topic-list li{padding:22px 0;border-bottom:1px solid #d5dfdb;min-width:0}.topic-list h3{font:600 1.13rem/1.45 system-ui,sans-serif;margin:0 0 7px}.topic-list h3 a{text-decoration-thickness:1px;text-underline-offset:4px}.topic-list p{font-size:.94rem;color:#536760;line-height:1.6;margin:0}.worksheet-download{display:inline-block;margin-top:12px}.rating{font-size:.94rem;color:#175747;letter-spacing:1px;white-space:nowrap}.worked-steps{list-style:none;padding:0;margin:22px 0}.worked-steps li{padding:16px 20px;border-left:2px solid #d5dfdb;margin:14px 0}.worked-steps p{margin:10px 0 0;color:#466158}.worked-steps math[display="block"]{text-align:left;margin:0;font-size:1.15em;overflow-x:auto;overflow-y:hidden;padding-block:8px;max-width:100%}math{font-family:math;font-size:1.06em}.answer{background:#f0f5f2;padding:16px}.math-figure img{display:block;max-width:100%;height:auto;width:100%;max-height:430px;object-fit:contain}.syllabus-back{padding:26px 0 40px}.syllabus-back h2{font-size:1.4rem}.syllabus-back li{margin:8px 0}a:focus-visible{outline:3px solid #175747;outline-offset:4px}main{min-width:0}
@media(max-width:700px){.topic-list{grid-template-columns:1fr}.directory{padding-top:30px}.home-intro{padding-top:8px}.home-paths{display:grid;gap:14px}.category-nav{gap:8px 22px}.worked-steps li{padding:12px}.lesson-header h1{overflow-wrap:break-word}header nav{gap:12px 20px;font-size:.94rem}}
@media print{.home-paths,.category-nav,.resource-links,.worksheet-download,.syllabus-back{display:none!important}.topic-list{grid-template-columns:1fr 1fr}.topic-list li,.worked-steps li{break-inside:avoid}.directory{padding:0}.home-intro h1{font-size:30pt}details{content-visibility:visible}.answer{background:none}}
.legacy-vector-link{display:none}.legacy-vector-link:target{display:block;padding:20px;margin-bottom:24px;background:#eff4f1;font-weight:600}

/* Free library */
.resource-links {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;float:none;width:auto;max-width:none;padding:0;list-style:none;}
.resource-links li {margin:0;padding:0;}
.resource-links a {font-weight:650;}
.download-meta {display:block;color:#536760;font-size:.85rem;margin-top:3px;}
.about-author:empty {min-height:220px;}
.about-author {margin:28px 0 48px;}
.topic-list .resource-links {margin-top:18px;}
@media(max-width:560px){.resource-links{grid-template-columns:1fr 1fr;gap:14px;} .download-meta{font-size:.8rem;}}
.resource-links li + li {margin-top:0;}
.topic-list .resource-links li {border:0;padding:0;}
.lesson-header .resource-links > li, .resource-links > li {margin:0;align-self:start;}

.subject-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:28px 0 48px}.subject-links a{border-top:2px solid #175747;padding:16px 0;font-weight:600}@media(max-width:600px){.subject-links{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Local Cochin comparison; keep the established wordmark. */
body,h1,h2,h3,.topic-heading h3,.route h3,.tier,.topic-labels .rating{font-family:Cochin,Georgia,"Times New Roman",serif}
