:root{font-family:system-ui,sans-serif;color:#183b35;background:#f7f5ee;line-height:1.65}*{box-sizing:border-box}body{margin:0}header,main,footer,.preview{max-width:860px;margin:auto;padding:20px}header{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #cdd8cc}header>a{font-size:26px;font-weight:750;text-decoration:none}.preview{font-size:13px;color:#71542d;background:#fff2d9}main{padding-block:40px 64px}h1{font-size:clamp(30px,6vw,48px);line-height:1.2;margin:20px 0}h2{font-size:24px;line-height:1.4}.lead{font-size:21px;color:#526e62;max-width:40ch}a{color:#215e48;text-underline-offset:4px;overflow-wrap:anywhere}nav,footer,.source{font-size:14px}.source{color:#5e6d62}.stops{padding-left:28px}.stops>li{padding:12px 0 24px;border-bottom:1px solid #cdd8cc}.eyebrow{font-size:13px;letter-spacing:.1em}article{padding:24px;background:#fffdf7;border:1px solid #d6dfd3;border-radius:16px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-block:24px}button{font:inherit;min-height:44px;padding:8px 20px;border:1px solid #215e48;border-radius:10px;background:#fffdf7;color:#215e48;cursor:pointer}button[aria-pressed=true]{background:#215e48;color:white}button:disabled{opacity:.65;cursor:default}a:focus-visible,button:focus-visible{outline:3px solid #c25d31;outline-offset:4px}.skip{position:absolute;left:12px;top:-100px;padding:12px;background:white;z-index:2}.skip:focus{top:8px}main p,li{overflow-wrap:anywhere}footer{border-top:1px solid #cdd8cc}@media(max-width:440px){header,main,footer,.preview{padding-inline:18px}header{align-items:center;font-size:13px}main{padding-top:24px}.lead{font-size:18px}article{padding:18px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
:root .search-row{display:flex;gap:10px;margin-top:8px}.search-row input{font:inherit;min-height:44px;min-width:0;flex:1;padding:9px 12px;border:1px solid #aabcb0;border-radius:10px;background:white;color:#183b35}.search-results{padding:0;list-style:none;margin-bottom:28px}.search-results li:not([hidden]){display:flex;align-items:baseline;gap:12px;padding:10px 0;border-bottom:1px solid #d6dfd3}.search-results small{flex:0 0 32px;color:#62766c}.search-results a{min-height:28px}input:focus-visible{outline:3px solid #c25d31;outline-offset:3px}
