*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;overflow-wrap:break-word}
img,svg{max-width:100%;height:auto}
.skip{position:absolute;left:-999px;top:0;z-index:99;background:#000;color:#fff;padding:.6rem 1rem}
.skip:focus{left:0}
.prose::after{content:"";display:block;clear:both}
.prose figure{margin:0 0 1.25rem}
.prose figure.fr{float:right;margin:.25rem 0 1rem 1.5rem;max-width:45%}
.prose figure.fl{float:left;margin:.25rem 1.5rem 1rem 0;max-width:45%}
.prose figure.fc{text-align:center}
.prose table{display:block;overflow-x:auto;border-collapse:collapse}
.crumbs i{font-style:normal;margin:0 .4em;opacity:.5}
.s-results{list-style:none;padding:0}
.s-results li{margin:0 0 1.25rem}
.s-results a{font-weight:700}
.s-results p{margin:.2rem 0 0}
.s-form{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 1.5rem}
.s-form input{flex:1 1 14rem;min-width:0;padding:.7rem .85rem;font:inherit;border:2px solid currentColor;background:transparent;color:inherit}
.s-form button{padding:.7rem 1.2rem;font:inherit;font-weight:700;cursor:pointer}
.a-wrap.solo{grid-template-columns:minmax(0,52rem)!important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.c-form{display:grid;gap:1.1rem;max-width:40rem;margin:1.5rem 0 2rem}
.c-field label{display:block;font-weight:700;margin:0 0 .35rem}
.c-form input,.c-form textarea{display:block;width:100%;min-width:0;padding:.7rem .85rem;font:inherit;border:2px solid currentColor;background:transparent;color:inherit}
.c-form textarea{resize:vertical;min-height:9rem}
.c-form button{justify-self:start}
.sent{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.6rem 1.5rem;margin:1.75rem 0;padding:1.25rem 1.4rem;border:1px solid currentColor;border-radius:6px}
.sent dt{font-weight:700}
.sent dd{margin:0;white-space:pre-wrap}
@media (max-width:520px){.sent{grid-template-columns:minmax(0,1fr)}.sent dd{margin-bottom:.6rem}}
@media (max-width:600px){.prose figure.fr,.prose figure.fl{float:none;max-width:100%;margin:0 0 1.25rem;text-align:center}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
:root{--asph:#15171c;--asph2:#23262e;--pave:#f3f3ef;--ink:#15171c;--mu:#5b5f68;--red:#e0322b;--red2:#b5221c;--rule:#dcdcd5;--y:#ffd100}
body{font:400 1.07rem/1.7 "Red Hat Text",system-ui,sans-serif;color:var(--ink);background:var(--pave)}
a{color:var(--red2)}
h1,h2,h3{font-family:"Red Hat Display",Arial,sans-serif;font-weight:900;line-height:1.05;letter-spacing:-.02em}
.lbl,.crumbs,.kicker,.meta,.c-l,.ln-meta{font-family:"Red Hat Display",Arial,sans-serif;font-weight:700;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase}
.top{background:var(--asph);border-bottom:6px solid var(--red)}
.top-in{max-width:1200px;margin:auto;padding:.75rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:.6rem 2rem;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:#fff;font:900 1.7rem/1 "Red Hat Display",Arial,sans-serif;letter-spacing:-.02em}
.brand b{color:var(--red);font-weight:900}
.brand small{font-weight:500;font-size:.9rem;color:#9a9ea8;margin-left:.1rem}
.nav{display:flex;gap:.4rem;flex-wrap:wrap}
.nav a{display:flex;align-items:center;gap:.5rem;color:#fff;text-decoration:none;font:700 .9rem "Red Hat Display",Arial,sans-serif;padding:.45rem .85rem .45rem .45rem;border-radius:999px;background:var(--asph2)}
.nav a i,.c-l i,.line h3 i,.sign i{display:inline-grid;place-items:center;width:1.65rem;height:1.65rem;border-radius:50%;background:var(--c);color:#fff;font:900 .85rem/1 "Red Hat Display",Arial,sans-serif;font-style:normal;flex:none}
.nav a:hover{background:#30343d}
.nav a[aria-current]{background:#fff;color:var(--asph)}
.hero{position:relative;background:var(--asph);overflow:hidden;color:#fff}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(21,23,28,.2),rgba(21,23,28,.85));z-index:1}
.hero-in{position:relative;z-index:2;max-width:1200px;margin:auto;padding:clamp(4.5rem,12vw,9rem) 1.25rem 2.5rem}
.hero h1{font-size:clamp(2.8rem,8.5vw,6.4rem);margin:0;max-width:11ch}
.hero h1 span{color:var(--y)}
.sign{display:inline-flex;align-items:center;gap:.35rem;background:var(--asph);border:2px solid #fff;border-radius:10px;padding:.4rem .7rem .4rem .45rem;margin:0 0 1.5rem;font:700 .85rem "Red Hat Display",Arial,sans-serif}
.sign span{margin-left:.35rem}
.lane{position:relative;z-index:2;background:var(--red);display:flex;justify-content:space-around;overflow:hidden;white-space:nowrap;padding:.7rem 0;font:900 clamp(1.1rem,3vw,1.7rem)/1 "Red Hat Display",Arial,sans-serif;letter-spacing:.35em;color:#fff;border-top:4px dashed #fff}
.lbl{color:var(--red);margin:0 0 .9rem}
.intro-in{max-width:880px;margin:auto;padding:4rem 1.25rem}
.intro .prose{font-size:1.22rem;line-height:1.75}
.intro .prose p{margin:0 0 1rem}
.more{font:700 1rem "Red Hat Display",Arial,sans-serif;text-decoration:none}
.stops,.map{border-top:1px solid var(--rule)}
.stops{background:#fff}
.stops-in,.map-in{max-width:1200px;margin:auto;padding:3.75rem 1.25rem 4.25rem}
.h-row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;margin-bottom:1.75rem}
.h-row h2{font-size:clamp(1.9rem,4vw,2.8rem);margin:0}
.h-row a,.h-row span{font:700 .95rem "Red Hat Display",Arial,sans-serif;text-decoration:none;color:var(--mu)}
.h-row a{color:var(--red2)}
.stops-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.stop{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);border-radius:14px;overflow:hidden;background:var(--pave);transition:transform .15s}
.stop:hover{transform:translateY(-3px)}
.stop .c-img{aspect-ratio:3/2}
.st-b{display:flex;flex-direction:column;gap:.4rem;padding:1.1rem 1.25rem 1.35rem;border-top:6px solid var(--red)}
.stop strong,.card strong{font:900 1.2rem/1.2 "Red Hat Display",Arial,sans-serif}
.stop small,.card small{color:var(--mu);font-size:.96rem;line-height:1.5}
.lines{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem}
.line h3{margin:0;font-size:1.3rem}
.line h3 a{display:flex;align-items:center;gap:.6rem;color:var(--ink);text-decoration:none}
.line h3 i{width:2.2rem;height:2.2rem;font-size:1.1rem}
.ln-meta{color:var(--mu);margin:.4rem 0 1rem 2.8rem}
.line ol{list-style:none;margin:0 0 0 1.1rem;padding:0;border-left:6px solid var(--c)}
.line li{position:relative;padding:.45rem 0 .45rem 1.4rem;line-height:1.35}
.line li::before{content:"";position:absolute;left:-12px;top:.72rem;width:12px;height:12px;border-radius:50%;background:#fff;border:4px solid var(--c);box-sizing:content-box;transform:translateX(-3px)}
.line li a{color:var(--ink);text-decoration:none;font-weight:600}
.line li a:hover{color:var(--c)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem}
.card{display:flex;flex-direction:column;background:#fff;border-radius:14px;overflow:hidden;text-decoration:none;color:var(--ink);box-shadow:0 1px 0 var(--rule);transition:transform .15s,box-shadow .15s}
.card:hover{transform:translateY(-3px);box-shadow:0 12px 24px -14px rgba(0,0,0,.35)}
.c-img{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--rule)}
.c-img img{display:block;width:100%;height:100%;object-fit:cover}
.c-b{display:flex;flex-direction:column;gap:.45rem;padding:1rem 1.2rem 1.35rem;border-top:6px solid var(--c)}
.c-l{display:flex;align-items:center;gap:.45rem;color:var(--mu)}
.c-l i{width:1.35rem;height:1.35rem;font-size:.7rem}
.section,.article{max-width:1200px;margin:auto;padding:2.5rem 1.25rem 4.5rem}
.s-head,.a-head{max-width:900px;margin-bottom:2rem}
.crumbs{color:var(--mu);margin-bottom:1.25rem}
.crumbs a{color:inherit;text-decoration:none}.crumbs a:hover{color:var(--red)}
.kicker{margin:0 0 .6rem}.kicker a{display:inline-block;background:var(--asph);color:#fff;text-decoration:none;padding:.3rem .7rem;border-radius:6px}
.meta{color:var(--mu)}
.a-head h1,.s-head h1{font-size:clamp(2.2rem,5.5vw,3.8rem);margin:0}
.s-intro{font-size:1.22rem;color:var(--mu);margin-top:.75rem}
.a-wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:3.5rem}
.prose h2{font-size:1.65rem;margin:2.2rem 0 .6rem}
.prose h3{font-size:1.3rem;margin:1.6rem 0 .5rem}
.prose figure.fc img{border-radius:14px;width:100%;max-height:470px;object-fit:cover}
.related{align-self:start;position:sticky;top:1.5rem;background:#fff;border-radius:14px;padding:1.3rem 1.3rem 1rem}
.related h2{font-size:1.15rem;margin:0 0 .75rem}
.related ul{list-style:none;margin:0 0 0 .4rem;padding:0;border-left:4px solid var(--red)}
.related li{position:relative;padding:.45rem 0 .45rem 1rem;line-height:1.35;font-size:.96rem}
.related li::before{content:"";position:absolute;left:-9px;top:.8rem;width:6px;height:6px;border-radius:50%;background:#fff;border:3px solid var(--red)}
.related a{color:var(--ink);text-decoration:none;font-weight:600}.related a:hover{color:var(--red)}
.mail{font:900 1.2rem "Red Hat Display",Arial,sans-serif}
.s-form input,.s-form textarea{border:2px solid var(--asph);border-radius:10px;background:#fff}
.s-form button{background:var(--red);color:#fff;border:0;border-radius:10px}
.sf{background:var(--asph);color:#a9adb6;font-size:.97rem;border-top:6px solid var(--red)}
.sf-in{max-width:1200px;margin:auto;padding:3rem 1.25rem;display:grid;grid-template-columns:2fr 1fr 1fr;gap:1.5rem}
.sf-brand{display:flex;gap:.75rem;align-items:center}
.sf-brand strong{display:block;font:900 1.4rem "Red Hat Display",Arial,sans-serif;color:#fff}
.sf nav{display:flex;flex-direction:column;gap:.3rem}
.sf a{color:#fff;text-decoration:none}.sf a:hover{color:var(--y)}
.sf-copy{grid-column:1/-1;margin:0;font-size:.82rem;border-top:1px solid #30343d;padding-top:1rem}
@media (max-width:900px){.stops-g,.lines{grid-template-columns:minmax(0,1fr)}.a-wrap{grid-template-columns:minmax(0,1fr)}.related{position:static}.sf-in{grid-template-columns:minmax(0,1fr)}}
@media (max-width:600px){.nav a{font-size:.82rem;padding-right:.7rem}.lane span:nth-child(n+2){display:none}}