/* Shared contact, reading and touch refinements. */
.nav{gap:20px}.desktop-nav{gap:18px;justify-content:center;flex:1}.desktop-nav a{white-space:nowrap;font-size:13px}.nav-cta{flex-shrink:0;white-space:nowrap}.brand small{letter-spacing:.5px;line-height:1.4}.header-contact{display:flex;flex-direction:column;flex-shrink:0;gap:3px;font-size:13px;line-height:1.6;color:#1d5f9e}.header-contact a{display:flex;align-items:center;gap:3px}.header-contact a:hover,.contact-details a:hover{color:#12365c;text-decoration:underline;text-underline-offset:4px}.header-contact span{max-width:180px;overflow-wrap:anywhere}.contact-details{display:flex;gap:12px 30px;flex-wrap:wrap;align-items:center;font-size:15px;line-height:1.8}.contact-details a{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px;min-height:44px;overflow-wrap:anywhere}.contact-details span{overflow-wrap:anywhere}.inquiry-contact{margin:24px 0;padding:22px 25px;border:1px solid #dbe2ea;background:#f3f6f9;color:#1d5f9e}.inquiry-contact h3{font-size:16px;font-weight:500;margin-bottom:8px}.inquiry-contact p{font-size:14px;line-height:1.9;margin-top:6px;color:#55667a}.inquiry-contact+.quote-layout{margin-top:25px}.footer-contact{border-top:1px solid #dbe2ea;display:flex;align-items:center;gap:25px;padding-block:20px}.footer-contact>strong{font-size:15px;font-weight:500}.footer-contact .contact-details{font-size:14px}.quote-followup{background:#f3f6f9;border:1px solid #dbe2ea;padding:20px;margin-top:18px;color:#1d5f9e}.quote-followup h3{font-size:17px;font-weight:500;margin-bottom:8px}.quote-followup p{font-size:15px;line-height:1.9;margin-top:10px}.quote-followup .submission-note{font-size:13px;color:#55667a}.company-facts{margin:28px 0 0;display:grid;gap:17px}.company-facts>div{display:grid;grid-template-columns:80px minmax(0,1fr);gap:16px;border-top:1px solid #e8eff7;padding-top:17px;font-size:15px;line-height:1.8}.company-facts dt{color:#1d5f9e}.company-facts dd{margin:0;color:#55667a}.about-copy>p{font-size:15px}.contact-channels .contact-details{flex-direction:column;align-items:stretch;gap:0}.contact-channels .contact-details a{border-bottom:1px solid #dbe2ea;padding-block:14px;justify-content:space-between}.contact-channels>.text-button{padding-block:16px;justify-content:space-between}.mobile-contact-bar{display:none}.close-contact{background:#f3f6f9;color:#1d5f9e;font-size:28px;width:44px;height:44px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;padding:0}.contact-dialog-list{display:grid;gap:12px;margin:24px 0}.contact-dialog-list>div{padding:15px;border:1px solid #dbe2ea;border-radius:2px;font-size:15px;line-height:1.8;outline-offset:3px}.contact-dialog-list dt{color:#55667a;font-size:13px;margin-bottom:5px}.contact-dialog-list dd{margin:0;overflow-wrap:anywhere;user-select:text}.contact-dialog-list .is-highlighted{border-color:#55667a;background:#f3f6f9}.contact-dialog-note{font-size:15px;line-height:1.9;color:#12365c}.contact-copy-status{font-size:13px;color:#0f7a3d;margin-top:12px;line-height:1.8}.footer .road-footer>p:last-child{color:#55667a}
/* Darker behind white copy, while the rest of the site retains its light palette. */
.hero-shade,.hero-slide[data-slide="1"] .hero-shade{background:linear-gradient(180deg,rgba(8,27,45,.22) 0%,rgba(8,27,45,.61) 36%,rgba(8,27,45,.65) 70%,rgba(8,27,45,.75) 100%)}
.hero-photo{filter:saturate(.96)}.hero-copy{color:#ffffff;text-shadow:0 2px 8px #0b244070}.hero-desc{color:#ffffff}.hero-title{text-wrap:balance;font-size:57px;line-height:1.35;font-weight:500;letter-spacing:3px}.road-hero-shade,.sea-hero-shade{background:linear-gradient(90deg,rgba(8,27,45,.82),rgba(8,27,45,.58) 52%,rgba(8,27,45,.14)),linear-gradient(0deg,#0b244080,transparent 45%)}
@media(min-width:1500px){.hero-title{font-size:66px}}
@media(max-width:1200px){.desktop-nav{display:none}.nav{gap:20px}.header-contact{margin-left:auto}.nav-cta{margin-left:0}.menu-toggle{display:block;min-width:44px;min-height:44px}.hero-title{font-size:50px}}
@media(min-width:801px){#mobile-nav{max-height:calc(100dvh - 100px);overflow:auto}}
@media(max-width:800px){
  html{scroll-padding-top:138px;scroll-padding-bottom:90px}body{padding-bottom:calc(68px + env(safe-area-inset-bottom,0px))}
  body a,body button,body summary{min-height:44px!important}body a{display:inline-flex;align-items:center}body button{line-height:1.5}.footer-links a{display:flex;line-height:1.7;margin-top:4px}.footer-links span{line-height:1.8}.skip{align-items:center}
  .nav{height:118px;position:relative;gap:12px;padding-bottom:44px}.nav-cta{margin-left:auto;min-width:90px;padding:9px 12px}.brand small{font-size:13px;letter-spacing:0}.brand strong{font-size:20px}.brand svg{width:30px}.header-contact{position:absolute;left:0;right:0;bottom:0;min-height:44px;border-top:1px solid #e8eff7;display:flex;flex-direction:row;justify-content:flex-end;gap:24px}.header-contact a{font-size:13px;line-height:1.4}.header-contact span{max-width:180px}.menu-toggle{padding:0;min-width:44px}.header #mobile-nav{max-height:calc(100dvh - 190px);overflow:auto}
  .road-subnav,.sea-subnav{top:118px}.road-subnav a,.sea-subnav a{padding-block:12px}.road-page section[id],.sea-page section[id],.clearance-grid article[id],.quote-results{scroll-margin-top:190px}.inquiry{scroll-margin-top:138px}
  .hero{height:calc(100svh - 68px - env(safe-area-inset-bottom,0px));min-height:650px;max-height:none}.hero-copy{top:49%}.hero-title{font-size:42px}.hero-desc,.road-hero-copy>p:not(.road-eyebrow),.sea-hero-copy>p:not(.eyebrow){font-size:16px;line-height:1.9}.hero-controls{bottom:77px}.play-toggle{width:44px;height:44px;min-width:44px}.hero-foot{bottom:18px;align-items:center}.hero-link{min-height:48px}.hero-shade,.hero-slide[data-slide="1"] .hero-shade{background:linear-gradient(180deg,#0b244035 0%,#0b2440b8 34%,#0b2440bf 72%,#0b2440c7 100%)}
  .road-hero,.sea-hero{height:690px;min-height:690px}.road-hero-copy,.sea-hero-copy{padding-top:173px}.road-hero-shade,.sea-hero-shade{background:linear-gradient(90deg,#0b2440ce,#0b244088),linear-gradient(0deg,#0b244080,transparent 50%)}
  .quick-fields{grid-template-columns:1fr 44px 1fr}.quick-fields #swap{width:44px;height:44px;margin-top:14px}.quick-fields input,.quick-fields select{height:44px;font-size:16px}.close-dialog{width:44px;height:44px}.detail-grid input,.detail-grid select,#detail-form textarea,.form-grid input,.form-grid select,.form-grid textarea,.sea-search input,.sea-search select{min-height:44px;font-size:16px}.form-grid .check-field{align-items:center;min-height:44px}.form-grid input[type="checkbox"]{width:22px;height:22px;min-height:22px;margin:0}.back-top{width:44px;height:44px;justify-content:center}.footer .brand{display:inline-flex}.footer-contact{flex-direction:column;align-items:flex-start;gap:8px}.footer-contact .contact-details{gap:5px 22px}
  .mobile-contact-bar{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:fixed;z-index:45;bottom:0;left:0;right:0;min-height:68px;padding:10px 18px calc(10px + env(safe-area-inset-bottom,0px));background:#fffffffa;border-top:1px solid #dbe2ea;box-shadow:0 -4px 20px #0b244012}.mobile-contact-bar button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;background:#1d5f9e;color:white;font-size:16px;font-weight:500;border:1px solid #1d5f9e}.mobile-contact-bar button:last-child{background:#f3f6f9;color:#1d5f9e}.mobile-contact-bar svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
  dialog{max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain}.quote-followup .contact-details{flex-direction:column;align-items:stretch;gap:0}.query-provenance a,.query-downloads a{justify-content:center}.contact-details a{overflow-wrap:anywhere;max-width:100%}
}
@media(max-width:560px){
  .nav{gap:6px}.brand{gap:6px}.brand strong{font-size:18px;letter-spacing:1px}.brand small{font-size:13px;letter-spacing:-.2px}.brand svg{width:26px}.nav-cta{font-size:13px;min-width:80px;padding-inline:9px}.header-contact{justify-content:space-between;gap:12px}.header-contact span{max-width:120px}.header-contact a{font-size:13px;gap:0}
  .hero-title{font-size:clamp(27px,7.5vw,34px);letter-spacing:.3px;line-height:1.5}.hero-english{font-size:16px;line-height:1.7}.hero-desc{font-size:16px;margin-top:18px}.hero-desc br{display:none}.hero-copy{left:20px;right:20px}.hero-controls{gap:14px}.slide-selectors{gap:15px}.slide-selectors button{width:105px;font-size:13px;gap:8px}.hero-foot{font-size:13px;gap:10px}.hero-foot a{gap:8px}.hero-link{font-size:14px}.road-hero h1,.sea-hero h1{font-size:32px}.road-hero-actions>a:last-child{display:flex;margin-top:10px}.sea-actions{gap:10px}.sea-actions>a:last-child{min-height:44px}.road-hero-bottom,.sea-hero-foot{font-size:13px;bottom:24px}
  .inquiry-contact{padding:19px 17px}.inquiry-contact .contact-details{gap:0;flex-direction:column;align-items:stretch}.inquiry-contact p{font-size:14px}.quote-followup{padding:18px 14px}.quote-followup p{font-size:14px}.company-facts>div{font-size:14px;grid-template-columns:70px 1fr;gap:10px}.footer-links{grid-template-columns:1fr 1fr;gap:24px 16px}.footer-links>div:last-child{grid-column:1/-1}.footer-bottom{padding-right:55px}.query-facts{grid-template-columns:1fr;gap:16px}.query-facts>div+div{border-left:0;border-top:1px solid #e8eff7;padding-top:16px}.query-facts dt{font-size:13px}.query-facts dd{font-size:16px;margin-top:7px}.query-reference summary{flex-wrap:wrap}.query-reference summary span{font-size:13px}.sea-search label{font-size:14px}.sea-search input,.sea-search select{font-size:16px}.popular-routes{gap:8px}.popular-routes button{font-size:13px}.popular-routes>span{font-size:13px}.sea-footer>a{white-space:normal}.request-preview{padding-inline:14px}.preview-buttons{display:grid;grid-template-columns:1fr}.preview-buttons .outline-button{width:100%;font-size:14px}.form-grid{grid-template-columns:1fr}.form-grid .span-two{grid-column:auto}.business-features>span{padding-inline:6px}.business-tabs button{height:auto;min-height:66px}.business-panel{min-height:0;padding-bottom:12px}.route-panel-top{gap:10px}.route-panel-top small{display:none}.route-panel-bottom{flex-wrap:wrap;gap:8px}.query-downloads{gap:8px 18px}
}
/* 2026-11-06: no configured contact channel -> no fixed bottom bar spacing. */
body.no-contact-bar{padding-bottom:0!important}
