@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-variable.ttf') format('truetype');font-style:normal;font-weight:200 900;font-display:swap}
@font-face{font-family:Archivo;src:url('/assets/fonts/archivo-variable.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
:root{color-scheme:light;--ink:#071d29;--ink-soft:#244050;--green:#0b9561;--green-light:#d7f4e4;--line:#d5e0df;--paper:#f5f8f5;--white:#fff;--muted:#52636b}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--white);font:500 16px/1.65 Manrope,Arial,sans-serif}
a{color:inherit}
button,input{font:inherit}
.shell{width:min(100% - 64px,1200px);margin-inline:auto}
.skip-link{position:absolute;z-index:20;top:-100px;left:12px;padding:10px 15px;background:#fff;color:var(--ink)}
.skip-link:focus{top:12px}
:focus-visible{outline:3px solid #45bf95;outline-offset:3px}
.site-header{background:var(--ink);color:#fff;border-bottom:1px solid #254250}
.header-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{font:800 19px/1 Archivo,Arial,sans-serif;text-decoration:none;letter-spacing:-.03em;white-space:nowrap}
.site-header nav,.site-footer nav{display:flex;flex-wrap:wrap;gap:12px 28px}
.site-header nav a{font-size:13px;font-weight:750;text-decoration:none;color:#d5e8e7}
.site-header nav a:hover,.site-footer a:hover{text-decoration:underline}
.route-hero{padding:28px 0 72px;background:var(--ink);color:#fff}
.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 56px;color:#afc2c7;font-size:12px}
.breadcrumbs a{text-decoration:none}
.breadcrumbs a:hover{text-decoration:underline}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,330px);gap:clamp(30px,6vw,95px);align-items:end}
.eyebrow,.section-label{text-transform:uppercase;letter-spacing:.11em;font-size:11px;font-weight:850;color:#31c787}
h1,h2,h3{font-family:Archivo,Arial,sans-serif;letter-spacing:-.045em;line-height:1.07}
h1{margin:12px 0 18px;max-width:890px;font-size:clamp(44px,6vw,86px);font-weight:850;overflow-wrap:anywhere}
.hero-intro{max-width:740px;margin:0;color:#d5e4e3;font-size:clamp(16px,1.7vw,20px);line-height:1.6}
.source-badge{display:inline-block;margin:27px 0 0;padding:8px 12px;border:1px solid #4b7973;border-radius:3px;color:#c6f2df;font-size:12px;font-weight:800}
.hero-grid aside{padding:24px 26px;border-top:3px solid #33c884;background:#17313c}
.hero-grid aside strong{font:800 19px/1.2 Archivo,Arial,sans-serif}
.hero-grid aside p{margin:11px 0 0;color:#c9d8d8;font-size:14px;line-height:1.65}
.route-section{padding-block:70px 78px}
.route-section h2,.snow-section h2,.index-intro h2{margin:9px 0 28px;font-size:clamp(32px,3.5vw,49px)}
.route-section h3,.venue-group h2{margin:0 0 10px;font-size:clamp(24px,2.3vw,31px)}
.route-section p{max-width:770px;color:var(--muted)}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:34px 0 60px;padding:1px;background:var(--line)}
.metric-grid div{min-height:154px;padding:23px;background:var(--paper)}
.metric-grid dt{font-size:11px;font-weight:850;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.metric-grid dd{margin:19px 0 5px;font:850 clamp(27px,2.8vw,40px)/1 Archivo,Arial,sans-serif}
.metric-grid small{display:block;color:var(--muted);font-size:11px;line-height:1.45}
.profile-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr);gap:42px;align-items:start}
.route-profile{display:block;width:100%;height:auto;margin-top:18px;background:#f6faf9;border:1px solid var(--line)}
.route-profile text{font:650 13px Manrope,Arial,sans-serif;fill:#4e6268}
.chart-axis{stroke:#b9c9ca;stroke-width:1}
.chart-fill{fill:#d5f1e3}
.chart-line{fill:none;stroke:#07845b;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.chart-end{fill:#07845b}
.angle-panel{padding:23px 25px;background:var(--paper);border-top:3px solid var(--green)}
.angle-panel p{font-size:13px;line-height:1.6}
.angle-bars{list-style:none;padding:0;margin:22px 0 0}
.angle-bars li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1px 15px;margin:15px 0;font-size:13px;font-weight:700}
.angle-bars b{font-size:13px}
.angle-bars progress{grid-column:1/-1;width:100%;height:7px;appearance:none;border:0;border-radius:9px;overflow:hidden;background:#dce7e1}
.angle-bars progress::-webkit-progress-bar{background:#dce7e1}
.angle-bars progress::-webkit-progress-value{background:#07845b}
.angle-bars progress::-moz-progress-bar{background:#07845b}
.steepening-panel,.shape-panel{margin-top:42px;padding:29px 32px;border:1px solid var(--line)}
.steepening-panel ul{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:12px}
.steepening-panel li{display:grid;gap:3px;border-left:3px solid var(--green);padding-left:15px}
.steepening-panel li span{color:var(--muted);font-size:13px}
.shape-panel{background:var(--paper)}
.shape-panel p{margin:12px 0}
.shape-panel strong{color:var(--ink)}
.snow-section{padding:67px 0;background:#e9f4ef}
.snow-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,380px);gap:clamp(34px,7vw,100px);align-items:center}
.snow-section .section-label{color:#087449}
.snow-section h2{margin-bottom:18px}
.snow-section p{max-width:670px;color:#314f4b}
.snow-section form{display:grid;gap:10px;padding:30px;background:#fff;border-top:4px solid var(--green);box-shadow:0 14px 36px #1b543015}
.snow-section label{font-size:12px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}
.snow-section input{width:100%;min-height:48px;border:1px solid #92aba0;border-radius:3px;padding:10px 12px;color:var(--ink);background:#fff}
.snow-section button{min-height:50px;margin-top:8px;padding:10px 15px;border:0;border-radius:3px;background:#087a51;color:white;font-weight:800;cursor:pointer}
.snow-section button:hover{background:#075f40}
.snow-section small{color:var(--muted);font-size:11px}
.final-section{padding-bottom:96px}
.related-routes{list-style:none;margin:22px 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.related-routes a{display:block;padding:15px 18px;border:1px solid var(--line);text-decoration:none;font-weight:800}
.related-routes a:hover,.venue-group a:hover{border-color:var(--green);background:#f3faf6}
.closing-links{display:flex;flex-wrap:wrap;gap:12px 25px;margin:30px 0;font-size:14px;font-weight:800}
.closing-links a{color:#075f40}
details{max-width:850px;margin-top:35px;padding-top:17px;border-top:1px solid var(--line)}
summary{cursor:pointer;font-weight:800}
details p{margin:12px 0}
.site-footer{padding:45px 0;background:var(--ink);color:#d5e4e3}
.site-footer a{font-weight:800;text-decoration:none}
.site-footer p{margin:8px 0 23px;color:#afc2c7;font-size:13px}
.site-footer nav{font-size:13px}
.index-hero{padding-bottom:75px}
.index-hero h1{max-width:none}
.index-body{padding:70px 0 95px}
.index-intro{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:38px}
.index-intro h2{margin:0}
.index-intro p{max-width:440px;margin:0;color:var(--muted)}
.venue-group{margin:36px 0}
.venue-group h2{padding-bottom:12px;border-bottom:1px solid var(--line)}
.venue-group ul{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0;margin:18px 0}
.venue-group a{display:flex;flex-direction:column;gap:5px;min-height:92px;padding:17px 20px;border:1px solid var(--line);text-decoration:none}
.venue-group a strong{font:800 21px/1.15 Archivo,Arial,sans-serif}
.venue-group a span{color:var(--muted);font-size:12px}
@media(max-width:1000px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-grid{grid-template-columns:1fr}.angle-panel{max-width:680px}.hero-grid{grid-template-columns:minmax(0,1fr) 280px}}
@media(max-width:760px){.shell{width:min(100% - 36px,1200px)}.header-inner{align-items:flex-start;flex-direction:column;padding-block:18px}.site-header nav{gap:8px 18px}.route-hero{padding-bottom:52px}.breadcrumbs{margin-bottom:43px}.hero-grid,.snow-grid{grid-template-columns:1fr}.hero-grid aside{max-width:610px}.snow-section{padding:50px 0}.snow-section form{max-width:480px}.index-intro{display:block}.index-intro p{margin-top:10px}.venue-group ul{grid-template-columns:1fr}}
@media(max-width:480px){body{font-size:14px}.shell{width:min(100% - 28px,1200px)}.site-header nav a{font-size:12px}.route-hero{padding-bottom:38px}.breadcrumbs{margin-bottom:32px}h1{font-size:clamp(37px,11vw,53px)}.hero-intro{font-size:15px}.route-section{padding-block:48px 55px}.route-section h2,.snow-section h2{font-size:31px}.metric-grid{margin:26px 0 44px}.metric-grid div{min-height:125px;padding:17px}.metric-grid dd{font-size:28px}.metric-grid small{font-size:10px}.profile-grid{gap:27px}.angle-panel{padding:20px}.steepening-panel,.shape-panel{padding:22px}.related-routes{grid-template-columns:1fr}.closing-links{display:grid}.snow-section form{padding:22px}.venue-group a strong{font-size:19px}}
@media(max-width:350px){.metric-grid{grid-template-columns:1fr}.metric-grid div{min-height:0}.site-header nav{gap:7px 12px}.site-header nav a{font-size:11px}.source-badge{font-size:10px}.route-profile text{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
