:root{--bg:#f5f4ed;--ink:#213f33;--muted:#657366;--line:#d0d9c9;--sage:#e5eddd;--accent:#a36540}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.6 Arial,sans-serif}html{scroll-behavior:smooth;scroll-padding-top:25px}a{color:inherit}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}header{display:flex;justify-content:space-between;align-items:center;padding:22px 5%;border-bottom:1px solid var(--line)}.brand{font-size:25px;font-weight:bold;text-decoration:none;letter-spacing:-1px}nav{display:flex;gap:25px;font-size:12px}nav a{text-decoration:none}main{max-width:1320px;padding:0 35px;margin:auto}.hero{padding:52px 0 40px}.eyebrow{font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:bold;color:var(--muted)}h1{font:normal clamp(37px,4vw,55px)/1.1 Georgia,serif;letter-spacing:-1.7px;margin:15px 0 22px}h1 em{color:#69865c}.lead{color:var(--muted);max-width:720px;font-size:16px}.stats{display:flex;gap:32px;flex-wrap:wrap;margin:26px 0}.stats span{font-size:12px;color:var(--muted)}.stats b{font-size:26px;color:var(--ink);margin-right:6px}.routes{display:flex;align-items:center;flex-wrap:wrap;gap:9px;font-size:12px}.routes button,.textbutton{background:none;border:0;color:var(--ink);text-decoration:underline;text-underline-offset:4px}.routes button{border:1px solid var(--line);border-radius:20px;padding:7px 12px;text-decoration:none}.routes button:hover{background:var(--sage)}.sectiontop{display:flex;justify-content:space-between;align-items:center}.sectiontop h2{font-size:18px}.piece-map{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.piece-map button{border:1px solid var(--line);border-radius:5px;padding:13px;background:#e9eee1;color:var(--ink);text-align:left;min-height:112px}.piece-map button.active{background:var(--ink);color:white}.piece-map small{display:block;opacity:.7;font-size:10px;margin-bottom:10px}.piece-map strong{font-size:12px;line-height:1.3;display:block}.piece-map span{font-size:11px;display:block;margin-top:10px;opacity:.8}.quality{width:100%;text-align:left;border:0;background:#e5e9df;color:var(--ink);margin-top:12px;padding:13px 18px;border-left:3px solid #6f8862;font-size:12px}.quality.active{background:var(--ink);color:white}.explore{margin-top:50px;padding-top:30px;border-top:1px solid var(--line)}.intro h2{font:normal 34px/1.2 Georgia,serif;margin:0 0 18px}.intro p{max-width:900px;color:var(--muted)}.intro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin:22px 0 28px}.intro-grid h3{font-size:12px;margin-bottom:6px}.intro-grid p{font-size:13px;margin:0}.definitions{font-size:12px;margin:22px 0;color:var(--muted)}summary{cursor:pointer}summary::marker{color:#66865b}.filters{display:grid;grid-template-columns:1.5fr 1.4fr .6fr;gap:14px;background:var(--sage);padding:20px;border-radius:6px}.filters label{font-size:11px;font-weight:bold}input[type=search],select{display:block;width:100%;border:1px solid #c7d1bf;background:#fbfcf8;padding:10px;color:var(--ink);margin-top:6px;border-radius:3px;font-size:13px}.sources{margin:15px 0;padding:14px 18px;border:1px solid var(--line);font-size:12px}.sources p{color:var(--muted);max-width:850px}#sources{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}#sources label,.coverage{display:flex;gap:8px;align-items:start;font-size:12px}.coverage{margin-top:18px;font-weight:bold}input[type=checkbox]{accent-color:var(--ink);width:16px;height:16px;flex-shrink:0}.resultsbar{display:flex;justify-content:space-between;margin:26px 0 20px;font-size:12px}.group{margin:30px 0}.group-head{border-left:3px solid #85a574;padding:3px 0 3px 18px;margin-bottom:18px}.group-head .eyebrow{margin:0 0 4px}.group-head h3{font:normal 24px/1.3 Georgia,serif;margin:4px 0 10px}.group-context{font-size:12px;color:var(--muted);max-width:970px}.group-context p{white-space:normal;line-height:1.75}.metric{border:1px solid var(--line);background:#fafbf5;border-radius:5px;margin-bottom:9px}.metric>summary{display:flex;align-items:center;gap:16px;padding:16px 19px;list-style:none}.metric>summary:before{content:'+';font-size:20px;color:#6c875d}.metric[open]>summary:before{content:'−'}.metric-title{flex:1;font-weight:bold;font-size:14px}.metric-title small{font-size:10px;color:var(--muted);display:block;font-weight:normal;margin-top:3px}.tag{font-size:10px;border-radius:20px;background:#e6ecdf;padding:4px 9px;white-space:nowrap}.metric-body{padding:0 22px 23px 48px}.metric-body .formula{background:var(--sage);border-left:2px solid #779466;padding:15px 18px;font-size:14px}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.metric-body h4{font-size:12px;margin:18px 0 7px}.metric-body p{font-size:13px;color:var(--muted);margin:0}.availability{font-size:12px;color:var(--accent);margin:15px 0}.related{display:flex;flex-wrap:wrap;gap:7px}.related a{font-size:11px;padding:5px 10px;background:#e9ede2;border-radius:20px;text-decoration:none}.links{display:flex;gap:20px;flex-wrap:wrap;margin-top:18px;font-size:11px}.links button{border:0;background:none;padding:0;color:var(--ink);text-decoration:underline;cursor:pointer}.btn{display:inline-block;text-decoration:none;padding:11px 18px;border:1px solid var(--ink);border-radius:4px;background:var(--ink);color:white;font-size:12px}.btn.secondary{background:none;color:var(--ink)}.more{text-align:center;margin:25px 0}.downloads{display:flex;justify-content:space-between;gap:30px;padding:35px 0;border-top:1px solid var(--line);align-items:center}.downloads h2{font:normal 28px Georgia,serif}.downloads p{font-size:13px;color:var(--muted);max-width:550px}.downloads .btn{margin:5px}footer{padding:24px 0;font-size:11px;color:var(--muted);border-top:1px solid var(--line)}.route-note{background:#e7eddf;padding:15px 20px;font-size:13px}.empty{padding:40px;background:#e9eee3}.metric:target{outline:2px solid #75935f}@media(max-width:1000px){.piece-map{grid-template-columns:repeat(4,1fr)}.filters{grid-template-columns:1fr 1fr}.wide{grid-column:1/-1}#sources{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){main{padding:0 18px}header{padding:18px;display:block}nav{margin-top:13px;gap:17px}.hero{padding-top:30px}h1{font-size:38px}.stats{gap:15px}.stats b{font-size:23px}.piece-map{grid-template-columns:repeat(2,1fr)}.intro-grid,.metric-grid,.filters{grid-template-columns:1fr}.intro h2{font-size:29px}.intro-grid{gap:15px}.metric>summary{padding:13px;gap:10px;flex-wrap:wrap}.metric-title{font-size:13px}.metric-body{padding:0 16px 20px}.tag{margin-left:22px}#sources{grid-template-columns:1fr 1fr}.downloads{display:block}.group-head h3{font-size:22px}.sectiontop{align-items:start;gap:10px}.sectiontop button{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
[hidden]{display:none!important}

.people-panel{border:1px solid var(--line);padding:24px;margin:24px 0;background:#edf1e7}.people-panel h3{font:normal 26px/1.25 Georgia,serif;margin:8px 0 20px}.people-panel p{font-size:13px;max-width:100%}.people-path{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.people-path button{border:1px solid #b8c8af;border-radius:5px;background:#fffef7;color:var(--ink);padding:13px;text-align:left;font-size:12px}.people-path small{display:block;color:var(--muted);margin-bottom:5px}.people-path button:hover{background:var(--sage)}.people-example{border-top:1px solid var(--line);padding-top:15px;margin-top:18px;font-size:13px}.people-example summary{font-weight:bold}.table-scroll{overflow-x:auto}.people-example table{border-collapse:collapse;width:100%;min-width:530px;margin:18px 0;font-size:12px}.people-example td,.people-example th{padding:10px;text-align:left;border-bottom:1px solid var(--line)}.people-example thead{background:var(--ink);color:white}.cost-reading{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0}.cost-reading div{padding:14px;background:#fffef7}.cost-reading b{font-size:24px;display:block}.cost-reading span{font-size:11px;display:block}.people-link{background:var(--sage);padding:17px 20px;margin:20px 0;border-left:3px solid #6c8b5a;font-size:13px}.people-link p{margin:6px 0}.people-link a{font-size:12px}@media(max-width:650px){.people-path,.cost-reading{grid-template-columns:repeat(2,1fr)}.people-panel{padding:16px}}
