/* Clear navigation and comfortable reading across every route page. */
:root{--muted:#4d5957;--copper:#805438}
body{font-size:17px;line-height:1.75}
header{height:100px}
.nav-contact{font-size:15px;font-weight:600}
.site-tabs{display:flex;justify-content:center;gap:0;background:var(--ivory);border-bottom:1px solid #c9cec5;position:sticky;top:0;z-index:20;padding:0 4%;box-shadow:0 3px 14px #101d2508}
.site-tabs a{font-size:15px;font-weight:600;line-height:1.4;padding:20px 24px;border-bottom:3px solid transparent;white-space:nowrap;color:#35433e}
.site-tabs a:hover{color:var(--navy);background:#eae7df}
.site-tabs a[aria-selected="true"]{color:var(--navy);border-bottom-color:var(--copper);background:#e9e5dc}
.site-panel{min-height:60vh;outline-offset:-4px}
.tabbed-site .section{padding-top:52px;padding-bottom:52px}
.tabbed-site .hero{height:calc(100svh - 164px);min-height:560px;max-height:740px}
.hero-content{padding-top:55px;padding-bottom:75px}
.hero-description{font-size:18px;color:#f6f3ec;line-height:1.7}
.eyebrow,.hero .eyebrow{font-size:12px;letter-spacing:1.6px}
.hero-bottom,.hero-bottom a{font-size:12px;letter-spacing:.5px}
h2{font-family:'DM Sans',Arial,sans-serif;font-weight:500;font-size:clamp(34px,3.4vw,48px);line-height:1.2;letter-spacing:-1px}
h3{font-family:'DM Sans',Arial,sans-serif;font-weight:500;line-height:1.3;letter-spacing:-.5px}
h2 em,h3 em{font-style:normal;font-weight:500}
.intro p:not(.eyebrow),.intro aside p,.route-list article p,.steps p,.guide-grid p,.document-note p,.request-copy>p:not(.eyebrow),details p,.selected-route p{font-size:16px;line-height:1.75;color:#45524e}
.intro .lead{font-size:20px}
.steps p{color:#e0e6e6}
.steps{margin-top:35px}
.steps h3{margin-top:20px}
.section-heading>p{font-size:16px;color:#45524e}
.route-layout{margin-top:10px;gap:4%}
.route-list article{padding:20px 0;gap:16px}
.route-list article>span{font-size:13px}
.route-list article h3{font-size:30px}
.route-explorer label,label{font-size:14px;font-weight:600;letter-spacing:0}
input,select,textarea,.route-explorer select{font-size:16px;color:#101d25}
input::placeholder,textarea::placeholder{color:#596461;opacity:1}
.button,.text-link,.guide-card span{font-size:15px;font-weight:500}
.button{min-height:48px}
.muted,.form-note,.photo-upload .muted,.vehicle-preview figcaption span,.vehicle-preview figcaption a,.map-disclaimer,.route-sources p,.route-sources summary,.map-legend,.route-explorer #route-stops{font-size:13px;line-height:1.7;color:#4d5957}
.photo-upload input,.photo-upload button{font-size:14px}
.vehicle-preview strong{font-size:17px}
.vehicle-photo{height:210px}
summary{font-size:17px;line-height:1.55;font-weight:500}
.faq h2{font-size:48px;margin-bottom:25px}
.document-note{margin-top:20px;padding:25px}
.guide-grid{gap:15px 40px}
.guide-card,.care article{padding:20px 0}
.guide-card h3,.care h3{font-size:31px;margin-bottom:15px}
.request{gap:6%}
.request-copy{position:sticky;top:100px}
footer{padding-top:30px;gap:18px}
footer p,footer>div,.legal-link{font-size:14px;color:#e0e6e6}
footer small{font-size:12px;color:#c2cccd}
dialog p,dialog pre{font-size:15px;line-height:1.75}
.route-detail.section{padding-top:45px;padding-bottom:45px}
.route-detail .eyebrow{margin-top:30px}
.route-detail h1{font-size:clamp(44px,5vw,76px)}
@media(max-width:1000px){.site-tabs a{padding:18px 14px;font-size:14px}.intro{gap:30px}.request-copy{position:static}}
@media(max-width:620px){
  header{height:88px}.nav-contact{font-size:13px}.nav-contact span{margin-left:5px}
  .site-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0 8px;gap:0}
  .site-tabs a{font-size:12px;padding:12px 3px;text-align:center;white-space:normal;display:flex;align-items:center;justify-content:center;min-height:44px}
  .site-tabs a:nth-child(5),.site-tabs a:nth-child(6),.site-tabs a:nth-child(7){grid-column:span 1}
  .tabbed-site .section{padding:34px 6%}
  .tabbed-site .hero{height:auto;min-height:590px;max-height:none}
  .hero-content{padding:45px 6% 90px}.hero .eyebrow{font-size:11px;max-width:300px}
  .hero-description{font-size:17px}.hero-bottom{font-size:10px;gap:15px}.hero-bottom a{font-size:11px}
  h1{font-size:60px}h2,.faq h2{font-size:40px}
  .steps{grid-template-columns:1fr;gap:20px}.steps h3{font-size:29px;margin:10px 0}
  .form-grid{grid-template-columns:1fr;gap:22px}
  .request-copy{margin-bottom:0}.request-copy .phone{margin-top:15px}
  .section-heading>p{margin-bottom:25px}.intro aside h3{line-height:1.3}
  .route-detail .lead{font-size:20px}footer{padding-top:25px}
}
