/* Stable, platform-independent UI icons. */
.accessatl-icon { display:inline-block; width:1.05em; height:1.05em; flex-shrink:0; vertical-align:-.15em; }
.btn .accessatl-icon { margin-left:6px; }
#hd .mb .accessatl-icon { width:26px; height:26px; }
#hd .mb .menu-line { transform-box:view-box; transition:transform .28s ease,opacity .18s ease; }
#hd .mb .menu-line-top { transform-origin:12px 6px; }
#hd .mb .menu-line-middle { transform-origin:12px 12px; }
#hd .mb .menu-line-bottom { transform-origin:12px 18px; }
#hd .mb[aria-expanded="true"] .menu-line-top { transform:translateY(6px) rotate(45deg); }
#hd .mb[aria-expanded="true"] .menu-line-middle { transform:scaleX(0); opacity:0; }
#hd .mb[aria-expanded="true"] .menu-line-bottom { transform:translateY(-6px) rotate(-45deg); }
#hd .dd .accessatl-icon { margin-left:6px; width:15px; height:15px; transition:transform .2s; }
#hd .dd[aria-expanded="true"] .accessatl-icon { transform:rotate(180deg); }
#services .sv a::before { content:""; width:20px; height:20px; background:var(--t); -webkit-mask:url('arrow.svg') center/contain no-repeat; mask:url('arrow.svg') center/contain no-repeat; }
.select-option[aria-selected="true"]::after { content:""; top:50%; transform:translateY(-50%); width:16px; height:16px; background:var(--t); -webkit-mask:url('check.svg') center/contain no-repeat; mask:url('check.svg') center/contain no-repeat; }
summary::after { content:""; flex-shrink:0; width:18px; height:18px; margin-left:16px; background:var(--t); -webkit-mask:url('plus.svg') center/contain no-repeat; mask:url('plus.svg') center/contain no-repeat; }
details[open] summary::after { content:""; -webkit-mask-image:url('minus.svg'); mask-image:url('minus.svg'); }
.accessatl-menu-backdrop { display:none; }
.accessatl-menu-contact { display:none; }
/* Permit intrinsic grid items to shrink rather than widen the viewport. */
.split > *, .page-grid > *, .contact-layout > *, .planner-layout > *, .planner-fields > *, .route-metrics > *, footer .w > * { min-width:0; }
@media (max-width:980px) {
  html { scroll-padding-top:88px; }
  body { -webkit-text-size-adjust:100%; }
  #hd > .w, #hd.s > .w { height:76px; padding-inline:20px; gap:16px; }
  #hd .logo { min-width:0; flex-shrink:1; }
  #hd .logo img, #hd.s .logo img { height:auto; width:192px; max-width:calc(100vw - 100px); }
  #hd .mb { display:flex; align-items:center; justify-content:center; flex:0 0 48px; width:48px; height:48px; min-height:48px; padding:0; border:1px solid #ffffff3b; border-radius:50%; background:#ffffff08; z-index:62; }
  #hd #nv { position:fixed; inset:var(--accessatl-nav-top,76px) 0 0; width:100%; height:calc(100dvh - var(--accessatl-nav-top,76px)); max-height:calc(100dvh - var(--accessatl-nav-top,76px)); margin:0; padding:24px 24px calc(24px + env(safe-area-inset-bottom)); display:flex; flex-direction:column; background:radial-gradient(ellipse at 100% 0%,#087f8355,transparent 60%),linear-gradient(155deg,#06484c,#032c31); transform:translateY(-16px); clip-path:inset(0 0 100% 0); opacity:0; visibility:hidden; pointer-events:none; transition:clip-path .36s cubic-bezier(.22,.7,.25,1),transform .36s ease,opacity .2s,visibility .36s; overflow:hidden; border-top:1px solid var(--y); z-index:61; }
  #hd #nv.o { transform:none; clip-path:inset(0); opacity:1; visibility:visible; pointer-events:auto; }
  #hd #nv > ul { display:flex; flex-direction:column; gap:0; align-items:stretch; flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding-bottom:12px; width:100%; max-width:640px; margin-inline:auto; }
  #hd #nv > ul > li { min-width:0; border-bottom:1px solid #ffffff14; }
  #hd #nv a, #hd #nv .dd { display:flex; align-items:center; min-height:54px; padding:14px 12px; font-size:20px; line-height:1.3; border-radius:3px; }
  #hd #nv a.nav-active:not(.btn) { border-left:2px solid var(--y); background:#ffffff06; }
  #hd .mb[aria-expanded="true"] { background:var(--y); color:#073f43; border-color:var(--y); }
  #hd #nv .dd { justify-content:space-between; width:100%; }
  #hd #nv .sub > div { padding:0 0 12px 10px; min-width:0; width:100%; background:none; }
  #hd #nv .sub > div a { display:block; padding:12px; font-size:14px; border-left:1px solid #ffffff22; }
  #hd #nv .submenu-desc { font-size:12px; line-height:1.45; margin-top:4px; }
  #hd #nv .sub > div a:hover { background:#ffffff0b; color:#fff; }
  #hd #nv a.btn.b1 { color:#17282b!important; justify-content:center; margin:14px 0 4px; }
  #hd #nv .accessatl-menu-contact { display:block; flex:0 0 auto; width:100%; max-width:640px; margin:0 auto; padding:18px 12px 0; border-top:1px solid #ffffff18; }
  #hd #nv .accessatl-menu-contact a { display:flex; justify-content:center; gap:10px; padding:0; min-height:44px; font-size:18px; font-weight:600; color:var(--y); }
  #hd #nv .accessatl-menu-contact a.btn.b1 { width:100%; min-height:52px; margin:10px 0 0; padding:12px 20px; font-size:16px; }
  #hd #nv li[hidden] { display:none; }
  #hd #nv li:has(> .tel) { display:none; }
  .accessatl-menu-backdrop { display:block; position:fixed; inset:var(--accessatl-nav-top,76px) 0 0; background:#001b20a6; z-index:49; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .2s; }
  body.accessatl-menu-open .accessatl-menu-backdrop { opacity:1; visibility:visible; pointer-events:auto; }
  body.accessatl-menu-open { overflow:hidden; }
  .page-grid, .contact-layout { grid-template-columns:minmax(0,1fr); gap:32px; }
  .page-grid .photo { position:relative; top:auto; min-height:0; aspect-ratio:4/3; }
  .split { grid-template-columns:minmax(0,1fr); gap:32px; }
  .planner-layout { grid-template-columns:minmax(0,1fr); gap:28px; }
  .planner-intro p { max-width:none; }
  .planner-fields { grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr); gap:10px; }
  .planner-fields .route-swap { height:44px; width:44px; margin-bottom:6px; transform:none; }
  .route-swap .accessatl-icon { width:20px; height:20px; }
  .planner-panel { padding:24px; }
  .select-trigger > span { min-width:0; overflow-wrap:anywhere; }
  .select-menu { max-width:calc(100vw - 16px); }
  .contact-form input, .contact-form textarea, input, select, textarea, .select-trigger, .planner-fields .select-trigger { font-size:16px; }
  .select-option { font-size:15px; min-height:44px; }
  .picker-trigger { width:44px; height:44px; right:2px; }
  .calendar-nav { width:40px; height:40px; }
  .calendar-day { height:40px; font-size:14px; }
  .calendar-nav .accessatl-icon { width:18px; height:18px; }
  .time-choice { min-height:44px; font-size:13px; }
  .calendar-bottom button { min-height:44px; }
  .contact-form { grid-template-columns:minmax(0,1fr); padding:24px; }
  .contact-form .f { grid-column:1/-1; }
  .contact-card a, footer a, .accessatl-booking-help { overflow-wrap:anywhere; }
  #main .btn { min-height:48px; padding:12px 20px; line-height:1.4; text-align:center; }
  .accessatl-reservations > .w { padding-inline:16px; }
  .accessatl-booking-panel { padding:12px; }
  .accessatl-booking-widget, .accessatl-booking-widget iframe { width:100%; max-width:100%; }
}
@media (max-width:600px) {
  body { font-size:16px; line-height:1.6; }
  #main .w, footer .w { padding-inline:20px; }
  #main section, .inner-page #main > section:not(.page-hero) { padding-block:52px; }
  body.home #main .hero { padding-block:48px; min-height:calc(100svh - var(--accessatl-header-height,76px)); align-items:center; }
  #main .hero h1 { font-size:clamp(36px,9.8vw,48px); line-height:1.04; letter-spacing:-.045em; max-width:100%; }
  #main .hero h1 em { display:block; }
  #main .hero p { font-size:16px; line-height:1.65; max-width:100%; margin-top:22px; }
  #main .hero .row { margin-block:26px 0; }
  #main .page-hero { padding-block:42px 46px; }
  .inner-page #main .page-hero h1 { font-size:clamp(31px,8.5vw,40px); line-height:1.1; letter-spacing:-.04em; }
  .inner-page #main h2, body.home #main section h2, body.home #main #services h2, .inner-page #main .closing h2 { font-size:clamp(27px,7.5vw,34px); line-height:1.12; letter-spacing:-.04em; }
  .inner-page #main .story-block h2 { font-size:25px; }
  #main .lead, #main .page-hero .lead { font-size:16px; line-height:1.6; }
  body.home #services > .w > .lead { position:static; max-width:none; margin:20px 0 0; line-height:1.6; }
  #main h1, #main h2, #main h3 { overflow-wrap:break-word; }
  .sv { grid-template-columns:minmax(0,1fr); margin-top:26px; }
  #services .sv a:nth-child(n) { padding:24px 20px; min-height:0; border-left:0; }
  .sv h3 { font-size:21px; max-width:calc(100% - 24px); }
  .sv p { max-width:none; font-size:15px; line-height:1.6; }
  #services .sv a::before { right:18px; top:25px; }
  .fl, .page-card-grid { grid-template-columns:minmax(0,1fr); gap:22px; }
  .page-card, .fleet-category { padding:24px; }
  .page-card h3, .fleet-category h3, .fl h3 { font-size:23px; }
  .fl p, .page-card p, .small-note { font-size:14px; line-height:1.6; }
  #main .photo, .page-grid .photo { min-height:0; aspect-ratio:4/3; width:100%; }
  .photo-caption { padding:26px 18px 18px; font-size:9px; line-height:1.5; }
  .fleet-banner { height:auto; aspect-ratio:4/3; margin-top:26px; }
  .fleet-banner img { height:100%; object-position:65% center; }
  .fleet-banner span { left:18px; bottom:18px; font-size:9px; }
  .ben { grid-template-columns:minmax(0,1fr); gap:24px; }
  .ben h3 { font-size:18px; }
  .ben p, .st p { font-size:15px; }
  .st { grid-template-columns:minmax(0,1fr); gap:24px; }
  .st div { padding-left:58px; }
  .st div::before { font-size:36px; }
  .st h3 { font-size:21px; }
  .ownership { min-height:0; padding:30px 24px; }
  .ownership h3, .inner-page .ownership h3 { font-size:30px; }
  .ownership p { max-width:none; }
  .ar { gap:8px; }
  .ar li { padding:9px 13px; font-size:13px; }
  .planner-fields { grid-template-columns:minmax(0,1fr); gap:8px; }
  .planner-fields .route-swap { justify-self:center; margin:0; transform:rotate(90deg); }
  .planner-panel { padding:20px; }
  #main .planner-layout { padding-inline:16px; }
  .planner-footnote { margin-top:18px; font-size:12px; line-height:1.6; }
  .planner-fields label { font-size:13px; }
  .planner-fields .select-trigger { min-height:54px; padding:12px; border-radius:4px; }
  .route-path { margin:20px 0; }
  .route-metrics { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; }
  .route-metrics strong { font-size:30px; }
  .metric-label, .metric-unit { font-size:12px; }
  .route-metrics .btn { grid-column:1/-1; width:100%; white-space:normal; }
  .route-summary { font-size:13px; line-height:1.6; overflow-wrap:anywhere; }
  .route-disclaimer { font-size:12px; line-height:1.6; }
  .contact-form { padding:20px; gap:16px; }
  .contact-form label { font-size:14px; }
  .contact-form .chk { line-height:1.5; }
  .contact-form .chk input { flex:0 0 22px; width:22px; min-height:22px; }
  .contact-form .btn { width:100%; }
  summary { min-height:56px; padding-block:18px; font-size:16px; line-height:1.5; align-items:center; }
  details p { font-size:15px; line-height:1.7; }
  #main .closing .row { display:grid; grid-template-columns:minmax(0,1fr); width:100%; gap:12px; }
  #main .closing .btn { width:100%; }
  footer { padding:48px 0 28px; }
  footer .w { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px 20px; }
  footer .w > div:first-child, footer .w > div:nth-child(4), footer .fb { grid-column:1/-1; }
  footer p { max-width:none; font-size:14px; line-height:1.65; }
  footer h3 { font-size:12px; margin-bottom:14px; }
  footer li { margin:0; }
  footer li a { display:inline-block; padding-block:6px; font-size:14px; line-height:1.5; }
  footer .fb { display:flex; align-items:flex-start; flex-direction:column; flex-wrap:wrap; gap:18px; padding-top:22px; }
  footer .footer-copyright-group { display:flex; align-items:center; flex-wrap:wrap; gap:10px 18px; }
  footer .copyright { font-size:12px; line-height:1.65; }
  footer .site-credit { font-size:12px; }
  footer .footer-bottom-right { margin-left:0; width:100%; justify-content:flex-start; flex-wrap:wrap; gap:12px 20px; }
  footer .footer-area-link { font-size:12px; padding-block:4px; }
  footer .accessatl-payment-cards { margin-top:16px; gap:7px; }
  .accessatl-reservations > .w { padding-inline:10px; }
  .accessatl-booking-panel { padding:8px; }
  .accessatl-booking-help { font-size:14px; line-height:1.65; }
}
@media (prefers-reduced-motion:reduce) {
  #hd #nv, .accessatl-menu-backdrop, #hd .dd .accessatl-icon, #hd .mb .menu-line { transition:none; }
}

/* Prepared page content replaces in place, flush with the masthead. */
#main { view-transition-name:none; }
@media(max-width:600px) {
  footer .footer-copyright-group { display:contents; }
  footer .copyright { order:0; }
  footer .footer-bottom-right { order:1; }
  footer .site-credit { order:2; margin-top:2px; }
}
