@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--ink:#11281f;--paper:#f2f0e5;--cream:#fffbea;--acid:#d8f57d;--muted:#b0c0ad;--line:#ffffff29;--gold:#e9bb70;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--ink);color:var(--cream);font-family:var(--sans);font-size:17px;line-height:1.65}a{color:inherit;text-underline-offset:5px}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--acid);outline-offset:5px}.skip{position:fixed;left:20px;top:-80px;background:var(--acid);color:var(--ink);z-index:99;padding:12px}.skip:focus{top:12px}.topbar{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);position:relative;z-index:3;background:#10251f}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;line-height:1.2}.brand b{font-size:17px;font-weight:500;letter-spacing:2px}.brand small{font-size:10px;letter-spacing:3px;display:block;color:var(--muted);margin-top:5px}.brand .seal{border:1px solid #c9de9a;border-radius:50%;width:39px;height:39px;display:grid;place-items:center;font-size:28px;color:var(--acid);font-family:Georgia}.nav{display:flex;gap:26px;font-size:14px}.nav a{text-decoration:none;color:#d9dfd4}.nav a:hover,.nav a[aria-current=page]{color:var(--acid)}.hero{position:relative;min-height:720px;height:calc(100svh - 86px);max-height:1100px;display:flex;align-items:center;padding:5vw;overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#071a16ed 0%,#0d231bb3 28%,#10251f15 75%),linear-gradient(0deg,#10251fbd,transparent 30%);pointer-events:none}.hero-copy{position:relative;z-index:1;max-width:655px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:3px;font-weight:600;color:var(--acid);margin:0 0 23px}.hero h1{font-family:var(--serif);font-size:clamp(70px,7.5vw,120px);line-height:.97;font-weight:400;letter-spacing:-2px;margin:0 0 26px}.hero h1 em{font-weight:400;color:var(--acid)}.hero p.lead{max-width:465px;font-size:19px;color:#e0e7db;line-height:1.65}.actions{display:flex;gap:15px;flex-wrap:wrap;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:14px 23px;min-height:51px;background:var(--acid);color:var(--ink);border:1px solid var(--acid);text-decoration:none;font-size:14px;font-weight:700;border-radius:3px;transition:transform .2s,background .2s}.button:hover{background:#e5ffa1;transform:translateY(-2px)}.button.ghost{background:#10251f66;border-color:#ffffff80;color:var(--cream)}.hero-index{position:absolute;bottom:28px;left:5vw;right:5vw;z-index:1;display:flex;justify-content:space-between;gap:25px;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#e1e8dc}.page-wrap{max-width:1240px;margin:auto;padding:90px 40px}.intro{display:grid;grid-template-columns:1fr 2fr;gap:9vw}.section-tag{color:#81977a;font-size:12px;letter-spacing:2px;text-transform:uppercase}.intro h2,.section-title{font-family:var(--serif);font-size:clamp(40px,4vw,65px);line-height:1.08;font-weight:400;margin:0 0 25px}.intro p{max-width:740px}.paper{background:var(--paper);color:var(--ink)}.paper .eyebrow{color:#456132}.paper a:focus-visible,.paper button:focus-visible,.paper summary:focus-visible,.paper input:focus-visible,.paper select:focus-visible{outline-color:#476d24}.footer{padding:40px 5vw;display:flex;gap:30px;flex-wrap:wrap;justify-content:space-between;border-top:1px solid var(--line);font-size:13px;color:#becab7}.footer p{max-width:570px;margin:0}.footer a{margin-right:15px}.art-credit{font-size:11px;opacity:.75}.chapter-hero{height:460px;min-height:0}.chapter-hero h1{font-size:clamp(55px,6vw,95px)}.chapter-hero .hero-copy{max-width:780px}.chapter-hero .lead{max-width:640px!important}.chapter-hero:after{background:linear-gradient(90deg,#0b2119f0,#0c221aaa 50%,#0c211935)}.rail{display:flex;gap:30px;padding:27px 5vw;border-bottom:1px solid var(--line);color:var(--muted);font-size:13px;flex-wrap:wrap}.rail strong{color:var(--acid);font-size:25px;font-weight:500;margin-right:9px}.lead{font-size:20px}.prose{max-width:800px}.prose p{margin:20px 0}.prose h2,.prose h3{font-family:var(--serif);font-size:38px;font-weight:400;line-height:1.15;margin:45px 0 16px}.prose h3{font-size:28px}.theme-row{display:grid;grid-template-columns:75px 1fr 1fr;gap:35px;padding:40px 0;border-top:1px solid #1a322b30}.theme-row .num{font-family:var(--serif);font-size:45px;color:#75934e}.theme-row h3{font-family:var(--serif);font-size:37px;line-height:1.1;font-weight:400;margin:7px 0 15px}.theme-row p{margin:12px 0}.badge{font-size:11px;letter-spacing:1px;text-transform:uppercase;border:1px solid currentColor;border-radius:3px;padding:5px 9px;display:inline-block;line-height:1.4;color:#49663d}.source-links{font-size:13px;display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.split{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.split img{width:100%;border-radius:3px}.route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:45px}.route-card{display:block;text-decoration:none;position:relative;overflow:hidden;min-height:410px;border-radius:4px}.route-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .6s}.route-card:hover img{transform:scale(1.06)}.route-card:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#061d16f2)}.route-card>div{position:absolute;bottom:25px;left:25px;right:25px;z-index:1}.route-card h3{font:400 35px/1.1 var(--serif);margin:8px 0}.route-card p{font-size:14px;color:#d4dfcd}.filters{display:flex;gap:14px;margin:28px 0;flex-wrap:wrap}.filters input,.filters select{border:1px solid #9caf95;padding:12px 14px;background:#fffdf4;color:var(--ink);border-radius:3px}.filters input{flex:1;min-width:210px}.count{font-size:13px;color:#4b6247}.record{padding:23px 0;border-top:1px solid #213a2730}.record summary{cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;list-style:none}.record summary:after{content:'+';font-size:27px;color:#526f3e}.record[open] summary:after{content:'−'}.record h3{font-size:19px;line-height:1.35;margin:4px 0;font-weight:500}.record .meta{font-size:12px;color:#596b4e}.record-body{padding:20px 0 8px;max-width:900px}.record-body dt{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:#506948;font-weight:700;margin-top:20px}.record-body dd{margin:5px 0 0}.record-body p{font-size:16px}.quote{white-space:pre-wrap;font-size:14px;line-height:1.8;border-left:2px solid #90a577;padding:0 22px;max-height:500px;overflow:auto}.empty{padding:40px;border:1px dashed #7d936b}.steps{counter-reset:step;display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin:35px 0}.step{border-top:1px solid #a2b790;padding-top:20px}.step:before{counter-increment:step;content:'0' counter(step);color:#6b8558;font-family:var(--serif);font-size:34px}.step h3{font-size:18px}.steps p{font-size:15px}.note{border-left:3px solid #b4cd85;padding:15px 22px;background:#e7eadb;font-size:15px;margin:30px 0}.diagram{display:flex;align-items:stretch;gap:12px;flex-wrap:wrap;margin:35px 0}.diagram a,.diagram span{background:#1a372b;border:1px solid #668958;color:var(--cream);padding:20px;flex:1;min-width:140px;text-align:center;text-decoration:none;font-size:15px}.diagram a:hover{background:#315439}.lab-demo{border:1px solid #627953;padding:30px;border-radius:4px;background:#183527;color:#f4f4e7}.lab-demo label{display:block;margin-top:20px;font-size:14px}.lab-demo input{width:100%;accent-color:var(--acid)}.demo-values{display:flex;gap:35px;flex-wrap:wrap;margin-top:25px}.demo-values strong{display:block;font:400 42px var(--serif);color:var(--acid)}svg.plot{width:100%;height:auto;overflow:visible;margin-top:25px}.small{font-size:14px}.fine{font-size:12px}.soft{color:#bfd1b3}.return-link{display:inline-block;margin-bottom:24px}.comparison{border-collapse:collapse;width:100%;margin:30px 0;font-size:15px}.comparison td,.comparison th{text-align:left;border-bottom:1px solid #1f34242e;padding:14px;vertical-align:top}.comparison th{font-size:12px;letter-spacing:1px;text-transform:uppercase}.table-scroll{overflow-x:auto}.chapter-aside{display:grid;grid-template-columns:2fr 1fr;gap:60px}.sticky-note{align-self:start;background:#e4e8d6;padding:30px;border-radius:3px}.sticky-note h3{font:400 30px var(--serif);margin:0 0 15px}.anchor{scroll-margin-top:35px}[hidden]{display:none!important}
@media(max-width:850px){.topbar{height:auto;min-height:86px;flex-wrap:wrap;padding:20px 6vw;gap:20px}.nav{gap:20px;overflow-x:auto;width:100%;padding-bottom:3px}.hero{height:760px;min-height:650px;padding:7vw}.hero h1{font-size:78px}.hero:after{background:linear-gradient(90deg,#0a201ce8,#0a201c77 75%),linear-gradient(0deg,#10251f,transparent 30%)}.hero-index{left:7vw;right:7vw}.hero-index span:last-child{display:none}.page-wrap{padding:60px 25px}.intro,.split,.chapter-aside{grid-template-columns:1fr;gap:28px}.theme-row{grid-template-columns:45px 1fr;gap:20px}.theme-row>div:last-child{grid-column:2}.theme-row h3{font-size:32px}.route-grid{grid-template-columns:1fr}.route-card{min-height:320px}.steps{grid-template-columns:1fr 1fr}.chapter-hero{height:500px;min-height:500px}.chapter-hero h1{font-size:64px}.footer{padding:35px 25px}.hero-copy{max-width:560px}}@media(max-width:450px){.hero h1{font-size:68px}.hero p.lead{font-size:17px}.hero{height:740px}.hero .actions{gap:12px}.hero-index{letter-spacing:1px;font-size:10px}.steps{grid-template-columns:1fr}.chapter-hero h1{font-size:51px}.chapter-hero{height:480px;min-height:480px}.filters select{width:100%}.brand b{font-size:15px}.nav{font-size:13px;gap:18px}.record summary{gap:12px}.record h3{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.topbar,.filters,.hero img,.hero:after,.actions,.footer{display:none}.hero{height:auto;min-height:0;padding:25px;color:#11281f}.hero h1{font-size:45px}.hero .lead,.hero .eyebrow{color:#11281f}.paper,body{background:white;color:black}.page-wrap{padding:20px}.record-body,.record[open]{break-inside:avoid}}

@media(max-width:700px){.nav{flex-wrap:wrap;overflow:visible;gap:5px 18px}.nav a{white-space:nowrap}.topbar{height:auto;padding-bottom:16px}.nav a{min-height:32px;display:flex;align-items:center}}
