
:root{--ink:#223248;--muted:#596779;--blue:#315f9e;--line:#dde4ec;--wash:#f3f6fa;--paper:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.7 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:var(--blue);text-underline-offset:4px}a:hover{text-decoration:underline}a:focus-visible{outline:3px solid var(--blue);outline-offset:5px}header,main,footer{width:min(1080px,calc(100% - 64px));margin:auto}header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;border-bottom:1px solid var(--line);font-size:14px}.author{font-weight:700;color:var(--ink);text-decoration:none}nav{display:flex;flex-wrap:wrap;gap:24px}nav a{text-decoration:none;color:var(--muted)}.hero{padding:78px 0 64px;max-width:860px}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.13em;font-weight:700;color:var(--blue);margin:0 0 18px}h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(44px,6.8vw,76px);line-height:1.08;letter-spacing:-.045em;margin:0 0 26px}h1 span{color:var(--blue)}.intro{max-width:720px;font-size:20px;line-height:1.65}.byline{font-size:13px;color:var(--muted);margin:24px 0}.actions{display:flex;flex-wrap:wrap;gap:24px;align-items:center;margin-top:30px}.button{display:inline-block;background:var(--blue);color:#fff;border-radius:5px;padding:12px 20px;text-decoration:none;font-weight:600;font-size:15px}.text-link{font-weight:600;font-size:15px;text-decoration:none}.feature{display:grid;grid-template-columns:1fr 1.35fr;gap:36px;background:var(--wash);padding:36px;border:1px solid var(--line);border-radius:8px;align-items:center}.feature h2{font:400 33px/1.2 Georgia,serif;letter-spacing:-.02em;margin:0 0 20px}.feature p{font-size:15px}.muted,.deliverable{color:var(--muted)}figure{margin:0}figure img{width:100%;height:auto;display:block}figcaption{font-size:11px;color:var(--muted);margin-top:12px}.prerequisites{padding:38px 0;border-bottom:1px solid var(--line)}.prerequisites h2{font-size:21px}.prerequisites p{max-width:880px;color:var(--muted);font-size:16px}.section-heading{padding:54px 0 26px}.section-heading h2{font:400 34px/1.25 Georgia,serif;margin:0}.section-heading .eyebrow{margin-bottom:12px}.roadmap{list-style:none;margin:0;padding:0}.roadmap li{display:grid;grid-template-columns:60px 1fr;gap:20px;padding:30px 0;border-top:1px solid var(--line)}.number{font:400 30px/1.3 Georgia,serif;color:#73849b}.available .number{color:var(--blue)}h3{font-size:20px;line-height:1.4;margin:8px 0}h3 a{text-decoration:none}.roadmap p{margin:8px 0;max-width:820px;font-size:16px}.deliverable{font-size:14px!important}.status{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#246143;background:#e8f2ec;padding:2px 8px;border-radius:3px}.planned{color:var(--muted);background:#eef1f5}.resources{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.resources>a{padding:26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none}.resources>a:hover{background:var(--wash)}.resources span{font-size:12px;color:var(--muted)}.resources h3{font-size:18px}.resources p{font-size:14px;color:var(--muted);margin-bottom:0}.resource-note{font-size:13px;margin:22px 0 60px}footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;border-top:1px solid var(--line);padding:26px 0 40px;font-size:12px;color:var(--muted)}.skip{position:absolute;top:-80px;left:16px;background:white;padding:10px;z-index:1}.skip:focus{top:8px}section[id]{scroll-margin-top:24px}@media(max-width:680px){header,main,footer{width:calc(100% - 36px)}header{align-items:flex-start;flex-direction:column;gap:12px}nav{gap:18px}.hero{padding:48px 0 40px}.intro{font-size:18px}.feature{grid-template-columns:1fr;padding:24px;gap:24px}.resources{grid-template-columns:1fr}.roadmap li{grid-template-columns:36px 1fr;gap:14px}.section-heading h2{font-size:29px}.actions{gap:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
