*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:#142b42;background:#f6f8fb;font:18px/1.65 Arial,sans-serif}a{color:#185abc;text-underline-offset:4px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:3px solid #185abc;outline-offset:4px}.wrap{max-width:1160px;padding:0 32px;margin:auto}.site-header{border-bottom:1px solid #ccd6e2;padding:20px 0}.header-row{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.brand{font-size:20px;font-weight:700;text-decoration:none;color:#142b42}nav{display:flex;gap:24px;flex-wrap:wrap}.hero{padding:72px 0 52px;display:grid;grid-template-columns:3fr 1fr;gap:40px;align-items:center}h1{font:normal clamp(40px,5.8vw,70px)/1.05 Georgia,serif;letter-spacing:-1.5px;margin:18px 0 26px;max-width:850px}h2{font-size:32px;line-height:1.2;margin:0 0 24px}h3{font-size:23px;line-height:1.3}.lead{font-size:21px;max-width:740px}.eyebrow{color:#526a80;font-size:15px;letter-spacing:1px;text-transform:uppercase}.jump{display:inline-block;background:#185abc;color:white;text-decoration:none;padding:12px 20px;border-radius:4px;margin-top:18px}.intro{display:flex;gap:44px;flex-wrap:wrap;border-block:1px solid #ccd6e2;padding:22px 0;margin-bottom:58px}.intro p{margin:0}.intro strong{display:block;font-size:22px}.section{padding:0 0 62px}.lesson-row{display:grid;grid-template-columns:70px 1fr auto;gap:20px;border-top:1px solid #ccd6e2;padding:28px 0;align-items:start}.lesson-row h3{margin:0 0 8px}.lesson-row p{margin:0;max-width:740px}.lesson-num{font:32px Georgia,serif;color:#185abc}.status{font-size:15px;color:#0b7469}.row-link{white-space:nowrap}.toolbar{display:flex;gap:18px;align-items:end;flex-wrap:wrap;margin:28px 0}.toolbar label{flex:1;min-width:220px}.toolbar input{display:block;width:100%;font:inherit;padding:10px 14px;border:1px solid #90a7bb;background:white;border-radius:4px}.toolbar button{font:inherit;padding:10px 16px;background:white;border:1px solid #90a7bb;border-radius:4px;color:#142b42;cursor:pointer}.toolbar button[aria-pressed=true]{background:#142b42;color:white}.week{border-top:1px solid #ccd6e2;padding:20px 0 24px;display:grid;grid-template-columns:120px 1fr;gap:24px}.week-title{font:24px Georgia,serif;padding-top:13px;color:#526a80}.meeting{padding:12px 0}.meeting summary{cursor:pointer;list-style:none;display:flex;gap:14px;align-items:baseline}.meeting summary::-webkit-details-marker{display:none}.meeting summary:after{content:'+';margin-left:auto;color:#185abc}.meeting[open] summary:after{content:'−'}.meeting strong{font-size:20px;font-weight:500}.meeting .number{color:#526a80;font-size:16px;min-width:26px}.meeting .status{margin-left:12px;font-size:13px}.meeting-content{padding:10px 0 4px 40px;max-width:880px}.meeting-content p{margin:8px 0}.rail{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;width:200px}.rail span{aspect-ratio:1;background:#e0e7ef;border:1px solid #c0cddb}.rail span.ready{background:#185abc;border-color:#185abc}.rail-note{font-size:14px;color:#526a80;width:200px}.article{max-width:860px;padding:48px 0 70px}.article h1{font-size:clamp(36px,5vw,54px);line-height:1.12;margin-bottom:32px}.article h2{font-size:28px;margin:40px 0 16px}.article h3{font-size:22px}.article pre{overflow:auto;background:#e7eef6;padding:18px}.article code{font-size:.88em;overflow-wrap:anywhere}.article blockquote{margin:24px 0;border-left:4px solid #185abc;background:#e7eef6;padding:10px 24px}.article table{border-collapse:collapse;display:block;overflow-x:auto}.article td,.article th{padding:12px;border:1px solid #c0cddb;text-align:left}.resources{display:flex;gap:12px 26px;flex-wrap:wrap;border-block:1px solid #ccd6e2;padding:20px 0;margin:30px 0}.note{border-left:4px solid #0b7469;padding:12px 20px;background:#e6f1ed}.back{font-size:16px}.footer{padding:28px 0 40px;border-top:1px solid #ccd6e2;color:#526a80;font-size:15px}[hidden]{display:none!important}@media(max-width:700px){.wrap{padding:0 20px}.hero{display:block;padding:42px 0 34px}.hero aside{display:none}h1{letter-spacing:-.7px}.intro{gap:22px}.intro strong{font-size:20px}.lesson-row{grid-template-columns:40px 1fr}.row-link{grid-column:2}.week{grid-template-columns:1fr;gap:0}.week-title{font-size:20px}.meeting summary{gap:9px}.meeting strong{font-size:18px}.meeting .status{display:block;margin-left:0}.meeting-content{padding-left:32px}.article{padding-top:30px}nav{gap:12px;font-size:16px}.resources{gap:10px 20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}