:root{--ink:#202225;--paper:#f4f4f2;--white:#fff;--line:#c9c9c4;--red:#b53234;--teal:#126b70;--mint:#dcebea;--gold:#d0a72d;--dark:#20262a;--max:1160px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6}
a{color:#086068;text-underline-offset:3px}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:#fff;padding:10px;z-index:20}
a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
header,footer{background:var(--dark);color:#fff}.brand{max-width:var(--max);margin:auto;padding:13px 24px;font-weight:900;font-size:1.05rem}.brand span{color:#8ccbc8;margin-left:7px}
main{max-width:var(--max);margin:auto}.first{display:grid;grid-template-columns:.95fr 1.05fr;gap:30px;align-items:center;padding:28px 24px}
.hero{margin:0}.hero img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border:1px solid #737977}.hero figcaption{font-size:.78rem;color:#5c6163;margin-top:5px}
.eyebrow{color:#a82d30;font-weight:900;margin:0 0 7px}.first h1,h2{font-family:Georgia,serif;letter-spacing:0}.first h1{font-size:clamp(2.1rem,4.1vw,3.75rem);line-height:1.01;margin:0 0 12px}.lede{font-size:1.08rem}.boundary{border-left:4px solid var(--red);padding-left:14px}.jump{display:inline-block;background:var(--teal);color:#fff;text-decoration:none;font-weight:900;padding:10px 15px;border-radius:4px}
nav{position:sticky;top:0;z-index:6;background:#fff;border-block:1px solid var(--line)}nav ul{max-width:var(--max);margin:auto;padding:8px 24px;display:flex;gap:22px;list-style:none;white-space:nowrap}
section{padding:40px 24px;scroll-margin-top:64px}section:nth-of-type(even){background:#e8eae8}
h2{font-size:2rem;line-height:1.14;margin:0 0 12px}h3{font-size:1.16rem;margin:0 0 8px}
.route-grid,.definitions,.recs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.route-grid article,.definitions details,.recs article{background:#fff;border:1px solid var(--line);border-top:4px solid var(--teal);padding:17px;border-radius:5px}.route-grid article:nth-child(2n),.recs article:nth-child(2n){border-top-color:var(--red)}
.definitions summary{font-weight:900;cursor:pointer}.definitions p{font-size:.93rem}.definitions strong{color:var(--teal)}.recs span{display:inline-block;background:var(--mint);color:#09585d;font-weight:900;padding:3px 8px;border-radius:3px;margin-bottom:8px}.recs ul{padding-left:20px}
.table-wrap,.details-wrap{overflow-x:auto;border:1px solid var(--line);background:#fff}table{width:100%;border-collapse:collapse;min-width:850px}caption{text-align:left;padding:12px;background:var(--mint);font-weight:900}th,td{text-align:left;vertical-align:top;padding:11px;border-bottom:1px solid var(--line)}th{background:#263f44;color:#fff}
.steps{list-style:none;counter-reset:role;padding:0}.steps li{counter-increment:role;position:relative;padding-left:46px;margin:15px 0}.steps li:before{content:counter(role);position:absolute;left:0;top:0;width:29px;height:29px;background:var(--red);color:#fff;font-weight:900;text-align:center;border-radius:3px}.stop{border:2px solid var(--red);background:#fff5ed;padding:16px;margin-top:22px}
.sources{columns:2;column-gap:34px}.sources li{break-inside:avoid;margin:.6rem 0}footer{padding:25px 24px}footer p{max-width:var(--max);margin:auto}
@media(max-width:760px){.first{grid-template-columns:1fr;padding:18px}.first h1{font-size:2.08rem}.hero img{max-height:220px}.route-grid,.definitions,.recs{grid-template-columns:1fr}section{padding:33px 18px;scroll-margin-top:98px}h2{font-size:1.68rem}nav ul{padding:7px 18px;display:flex;flex-wrap:wrap;gap:5px 14px;white-space:normal}.sources{columns:1}.table-wrap table,.details-wrap table{min-width:0}.table-wrap thead,.details-wrap thead{display:none}.table-wrap tr,.details-wrap tr{display:block;padding:9px;border-bottom:8px solid var(--paper)}.table-wrap td,.details-wrap td{display:grid;grid-template-columns:minmax(108px,36%) minmax(0,1fr);gap:10px;border:0;padding:7px 9px;overflow-wrap:anywhere}.table-wrap td:before,.details-wrap td:before{content:attr(data-label);font-weight:900;color:var(--teal)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
