@layer editorial {
  body .guide-route-facts { display:grid; grid-template-columns:1fr 1fr; gap:1rem 1.5rem; margin:1rem 0; padding:1rem 0; border-block:1px solid #dce2de; }
  body .guide-route-facts div { min-width:0; }
  body .guide-route-facts dt { color:#59665e; font-size:15px; margin:0 0 .3rem; }
  body .guide-route-facts dd { color:#213b2b; font-size:18px; font-weight:600; margin:0; overflow-wrap:anywhere; }
  body :is(.guide-route-estimate,.guide-route-source,.city-access-source) { color:#59665e!important; font-size:14px!important; line-height:1.5; }
  body .guide-route-action { display:flex; align-items:center; flex-wrap:wrap; gap:.75rem 1.25rem; }
  body .guide-route-print { display:inline-flex; align-items:center; min-height:44px; color:#294536; text-decoration:underline; text-underline-offset:4px; }
  body .guide-route-map,body .guide-route-map .guide-route-marker { font-family:"Source Sans 3",sans-serif!important; border-radius:0!important; }
  body .guide-route-map .leaflet-control-zoom a { width:44px!important; height:44px!important; line-height:44px!important; }
  body .home-forecast-label { display:block; font-size:15px; color:#425147; margin-bottom:.4rem; }
  body .home-page #home-forecast-city { width:100%; font-family:"Source Sans 3",sans-serif; font-size:17px; padding:.45rem .65rem; min-height:44px; border:1px solid #a9b6ad; border-radius:4px; background:#fff; color:#213b2b; }
  body .home-forecast-days { width:100%!important; align-self:stretch!important; margin-top:1rem!important; }
  body .home-forecast-day { display:grid!important; width:100%!important; grid-template-columns:minmax(0,1fr) auto!important; gap:1rem!important; align-items:center!important; border-top:1px solid #e3e8e4!important; padding:.85rem 0!important; }
  body .home-forecast-day time { display:block; font-size:17px; font-weight:600; color:#213b2b!important; }
  body .home-forecast-condition { display:block; font-size:14px; margin-top:.2rem; }
  body .home-forecast-day .home-temperatures { grid-column:auto!important; justify-content:normal!important; gap:.75rem!important; }
  body .home-forecast-status { font-size:15px!important; line-height:1.5!important; margin:.75rem 0!important; }
  body .home-next-activity { margin:1.25rem 0; padding-top:1rem; border-top:1px solid #dce2de; }
  body .home-next-activity :is(strong,time,span) { display:block; }
  body .home-next-activity strong { font-size:17px!important; line-height:1.4!important; }
  body .home-next-activity time { margin:.5rem 0 .25rem; font-size:16px!important; }
  body .home-next-activity>span { font-size:15px!important; line-height:1.5!important; }
  body footer.site-footer .footer-compact-directory { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:2rem; padding-top:2rem; border-top:1px solid #dce2de; }
  body footer.site-footer .footer-compact-directory .footer-heading { font-size:18px!important; line-height:1.4!important; }
  body footer.site-footer .footer-compact-directory .footer-links>li>a { display:flex; align-items:center; min-height:40px; font-size:15px!important; }
  body footer.site-footer .footer-full-directory { margin:1.75rem 0 0; border-top:1px solid #dce2de; padding-top:.75rem; }
  body footer.site-footer .footer-full-directory>summary { display:list-item; width:fit-content; min-height:44px; padding:.5rem 0; cursor:pointer; color:#294536; font-size:16px; font-weight:600; }
  body .search-body :is(.result-url,.result-icon,.browse-icon) { display:none!important; }
  body .search-body .result-card { padding:1.1rem 0!important; gap:0!important; }
  body .search-body .result-body { min-width:0; }
  body .search-body .result-title { font-size:23px!important; line-height:1.3!important; }
  body .search-body .result-cat { color:#59665e!important; background:none!important; border:0!important; padding:0!important; font-size:14px!important; }
  body :is(.home-faq details,.home-faq summary) :is(.home-faq-icon,.faq-icon) { border:0!important; border-radius:0!important; background:none!important; }
  body.route-print-page { margin:0; padding:1.5rem; background:#fff!important; color:#21352a; font-family:"Source Sans 3",sans-serif!important; }
  body.route-print-page main,body.route-print-page .route-print-brand { width:min(100%,800px); margin:0 auto; }
  body.route-print-page .route-print-brand { display:flex; align-items:center; gap:.5rem; padding-bottom:1.25rem; border-bottom:1px solid #dce2de; font-size:20px; font-weight:600; }
  body .route-print-flag { width:30px; height:20px; background:linear-gradient(to bottom,#fdb913 0 33.333%,#006a44 33.333% 66.667%,#c1272d 66.667% 100%); }
  body.route-print-page h1 { margin:1.5rem 0 1rem; font-family:"Source Serif 4",serif!important; font-size:38px; font-weight:600; }
  body.route-print-page h2 { font-family:"Source Sans 3",sans-serif!important; font-size:26px; margin-top:1.5rem; }
  body .route-print-tools { display:flex; align-items:center; flex-wrap:wrap; gap:1rem; margin:1rem 0; }
  body .route-print-tools :is(a,button) { color:#294536; min-height:44px; display:inline-flex; align-items:center; }
  body .route-print-tools button { border:1px solid #a9b6ad; padding:.5rem 1rem; background:#fff; border-radius:4px; font:inherit; cursor:pointer; }
  @media(max-width:800px) { body footer.site-footer .footer-compact-directory { grid-template-columns:1fr 1fr; gap:1.5rem; } }
  @media(max-width:540px) { body.route-print-page h1 { font-size:30px; } body .guide-route-facts { grid-template-columns:1fr; gap:.75rem; } body footer.site-footer .footer-compact-directory { grid-template-columns:1fr; gap:0; padding-top:1rem; } }
}
@media print {
  @page { margin:15mm; }
  body.route-print-page { padding:0!important; }
  body.route-print-page .route-print-tools,body.route-print-page .guide-route-map,body.route-print-page .guide-route-help { display:none!important; }
  body.route-print-page a { color:#21352a!important; text-decoration:none!important; }
  body.route-print-page .guide-route-facts { break-inside:avoid; }
  body.route-print-page .guide-route-stops li { break-inside:avoid; }
}
