
:root{
  --bg:#ffffff;
  --text:#111111;
  --muted:#6a6a6a;
  --line:#dedede;
  --soft:#f5f5f5;
  --max:1220px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  color:var(--text);
  background:var(--bg);
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(var(--max),calc(100% - 40px));margin:0 auto}
.header{
  position:sticky;top:0;z-index:20;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{
  min-height:78px;display:flex;align-items:center;gap:28px;
}
.brand{display:flex;align-items:center;gap:12px;font-weight:700;letter-spacing:0}
.brand img{width:48px;height:48px;object-fit:contain}
.brand span{font-family:Arial,Helvetica,sans-serif;font-size:18px;font-weight:700;line-height:1.15;letter-spacing:.045em;text-transform:uppercase}
.navlinks{display:flex;align-items:center;gap:24px;margin-left:auto}
.navlinks a{font-size:14px;font-weight:600}
.navlinks a:hover{text-decoration:underline}
.phone{font-variant-numeric:tabular-nums;letter-spacing:.03em}
.tg{
  border:1px solid #111;border-radius:999px;padding:11px 16px;
}
.hero{
  display:grid;grid-template-columns:1.05fr .95fr;gap:40px;
  padding:72px 0 52px;align-items:center;
}
.eyebrow{
  font-size:12px;letter-spacing:.11em;text-transform:uppercase;font-weight:700;
  margin-bottom:18px;
}
h1{font-size:clamp(48px,7vw,92px);line-height:.94;letter-spacing:-.04em;margin:0 0 26px}
h2{font-size:clamp(34px,4.6vw,64px);line-height:1;letter-spacing:-.03em;margin:0 0 20px}
h3{font-size:24px;margin:0 0 12px}
.lead{font-size:20px;line-height:1.55;color:#333;max-width:700px}
.buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:52px;padding:0 20px;border-radius:4px;
  border:1px solid #111;font-weight:700;
}
.btn.dark{background:#111;color:#fff}
.btn.light{background:#fff}
.btn::after{content:"";width:10px;height:10px;display:inline-block;flex:none;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);transition:transform .2s ease;margin-left:2px}
.btn:hover::after{transform:translateX(3px) rotate(45deg)}
.hero-media img,.wide-media img{
  width:100%;height:100%;object-fit:cover;border-radius:4px;
}
.hero-media{height:610px}
.price-strip{
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:22px 0;margin:10px 0 0;
}
.price-row{display:flex;justify-content:space-between;gap:20px;align-items:end}
.price-row strong{font-size:clamp(30px,4.3vw,50px);font-weight:700;letter-spacing:0;font-variant-numeric:tabular-nums}
.section{padding:92px 0;border-bottom:1px solid var(--line)}
.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:38px}
.section-head p{max-width:560px;color:var(--muted);font-size:18px;line-height:1.55}
.tags{display:flex;gap:10px;flex-wrap:wrap}
.tag{border:1px solid #111;padding:10px 13px;border-radius:999px;font-weight:700;font-size:14px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.card{padding:28px 24px 34px 0;border-bottom:1px solid var(--line)}
.card+.card{padding-left:24px;border-left:1px solid var(--line)}
.num{font-size:13px;font-weight:800;color:var(--muted);margin-bottom:42px}
.card p{color:var(--muted);line-height:1.55}
.media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:38px}
.media-grid img{height:430px;width:100%;object-fit:cover;border-radius:4px}
.media-grid .small{height:430px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}
.step{padding:30px 28px 30px 0;border-bottom:1px solid var(--line)}
.step+.step{padding-left:28px;border-left:1px solid var(--line)}
.step .big{font-size:56px;font-weight:900;letter-spacing:-.04em}
.cta{
  display:grid;grid-template-columns:1.15fr .85fr;gap:30px;align-items:center;
  background:#111;color:#fff;padding:54px;
}
.cta p{color:#cfcfcf;font-size:18px;line-height:1.6}
.cta .btn{border-color:#fff}
.cta .btn.light{color:#111}
.footer{padding:42px 0}
.footer-grid{display:grid;grid-template-columns:1fr auto auto;gap:36px;align-items:start}
.footer small{color:var(--muted)}
.page-hero{padding:74px 0 50px;border-bottom:1px solid var(--line)}
.page-hero h1{font-size:clamp(44px,7vw,86px)}
.service-list,.price-list,.contact-list{border-top:1px solid var(--line)}
.row{
  display:grid;grid-template-columns:90px 1fr 1fr;gap:24px;
  padding:28px 0;border-bottom:1px solid var(--line);align-items:start;
}
.row p{margin:0;color:var(--muted);line-height:1.55}
.price-list .row{grid-template-columns:1fr auto}
.price-value{font-size:clamp(20px,2.3vw,25px);font-weight:600;letter-spacing:0;font-variant-numeric:tabular-nums;white-space:nowrap;color:#242424}
.contact-card{
  display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:40px 0;
  border-bottom:1px solid var(--line)
}
.contact-card a{font-size:clamp(26px,4vw,54px);font-weight:900;letter-spacing:-.03em}
.splash{
  position:fixed;inset:0;background:#fff;z-index:999;
  display:flex;align-items:center;justify-content:center;
  transition:opacity .45s ease,visibility .45s ease;
}
.splash.hide{opacity:0;visibility:hidden}
.splash img{width:min(280px,55vw)}
@media (max-width:900px){
  .navlinks{display:none}
  .hero,.cta,.contact-card{grid-template-columns:1fr}
  .hero-media{height:440px}
  .cards,.steps{grid-template-columns:1fr}
  .card+.card,.step+.step{border-left:0;padding-left:0}
  .media-grid{grid-template-columns:1fr}
  .media-grid img,.media-grid .small{height:320px}
  .footer-grid{grid-template-columns:1fr}
  .row{grid-template-columns:60px 1fr}
  .row p{grid-column:2}
}
@media (max-width:560px){
  .container{width:min(100% - 24px,var(--max))}
  .hero{padding-top:44px}
  .section{padding:64px 0}
  .section-head{display:block}
  .cta{padding:28px}
  .phone{font-size:13px}
  .brand span{font-size:17px;letter-spacing:.045em}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .splash{display:none}
}

.fleet-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.fleet-gallery img{width:100%;height:380px;object-fit:cover;border-radius:4px}.fleet-gallery img:first-child{grid-column:1/-1;height:480px}@media(max-width:650px){.fleet-gallery{grid-template-columns:1fr}.fleet-gallery img,.fleet-gallery img:first-child{grid-column:auto;height:auto;aspect-ratio:4/3;object-fit:cover}}

@media(max-width:560px){.price-list .row{grid-template-columns:1fr;gap:12px}.price-value{text-align:left;font-size:23px}.price-row{align-items:center;gap:12px}.price-row strong{font-size:clamp(27px,8vw,37px)}}

/* Advantages: intentionally understated, editorial layout */
.benefits-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:28px}
.benefit{padding:27px 25px 32px 0;min-width:0}
.benefit+.benefit{padding-left:25px;border-left:1px solid var(--line)}
.benefit-number{font-size:12px;letter-spacing:.1em;font-weight:700;color:var(--muted);margin-bottom:32px}
.benefit h3{font-size:20px;line-height:1.25;font-weight:700;letter-spacing:-.015em;margin:0 0 12px}
.benefit p{font-size:15px;line-height:1.65;color:var(--muted);margin:0}
@media(max-width:950px){.benefits-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.benefit{padding-left:0}.benefit+.benefit{padding-left:20px}.benefit:nth-child(3){border-left:0;padding-left:0;border-top:1px solid var(--line)}.benefit:nth-child(4){border-top:1px solid var(--line)}}
@media(max-width:560px){.benefits-grid{grid-template-columns:1fr}.benefit,.benefit+.benefit,.benefit:nth-child(3),.benefit:nth-child(4){border-left:0;border-top:1px solid var(--line);padding:22px 0 25px}.benefit:first-child{border-top:0}.benefit-number{margin-bottom:17px}.benefit h3{font-size:19px}}

/* Mobile layout refinements: keep desktop rules unchanged */
@media (max-width:650px){
  html,body{max-width:100%;overflow-x:clip}
  .container{width:calc(100% - 32px)}
  .nav{min-height:72px}
  .hero{gap:24px;padding-top:34px;padding-bottom:28px}
  .hero-media{height:auto;aspect-ratio:4/3;min-height:0}
  .hero-media img{width:100%;height:100%;object-fit:cover}
  .price-strip{margin-top:0;padding:22px 0}
  .price-row{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}
  .price-row .eyebrow{margin:0;font-size:12px;letter-spacing:.10em;line-height:1.6}
  .price-row strong{display:block;white-space:nowrap;font-size:clamp(31px,9vw,44px);line-height:1.1;letter-spacing:-.015em}
  .section{padding:52px 0}
  .section-head{margin-bottom:26px}
  .section-head h2{overflow-wrap:break-word}
  .tags{gap:8px}
  .tag{font-size:13px;padding:9px 12px}
  .btn{min-height:49px}
  .media-grid{gap:12px}
  .media-grid img,.media-grid .small{height:auto;aspect-ratio:4/3;object-fit:cover}
  .price-list .row{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
  .price-value{font-size:22px;white-space:nowrap;text-align:left;line-height:1.2}
  .cta{padding:26px 22px}
}
@media (max-width:380px){
  .buttons{gap:9px}
  .btn{padding:0 13px;font-size:14px}
  .brand span{font-size:16px}
  h1{font-size:clamp(41px,11vw,54px)}
}

/* Additional services: preserve typography and readable mobile layout */
.additional-services .lead{margin:0 0 34px}
.additional-services .row{grid-template-columns:64px minmax(0,1fr) minmax(0,1fr)}
.additional-services .row h3{overflow-wrap:anywhere;line-height:1.25}
@media(max-width:900px){.additional-services .row{grid-template-columns:44px minmax(0,1fr);gap:12px 16px}.additional-services .row p{grid-column:2}}
@media(max-width:560px){.additional-services .row{padding:22px 0}.additional-services .row h3{font-size:20px}.additional-services .lead{font-size:17px}.additional-services h2{font-size:clamp(32px,8.5vw,48px)}}

.price-section-heading{font-size:clamp(30px,4vw,50px);margin:12px 0 28px;line-height:1.1}
.price-note{font-size:14px;color:var(--muted);margin:24px 0}
@media(max-width:650px){.price-section-heading{font-size:clamp(27px,8vw,37px)}.price-list .row{min-width:0}.price-list .row h3{overflow-wrap:anywhere}}

/* v16 — native mobile navigation, independent of JavaScript */
.mobile-menu { display:none; }
@media (max-width:900px) {
  .header { z-index:100; }
  .nav { position:relative; display:flex; align-items:center; }
  .brand { flex:0 1 auto; min-width:0; }
  .mobile-menu { display:block; margin-left:auto; flex:0 0 auto; position:static; }
  .mobile-menu summary {
    list-style:none; display:flex; align-items:center; justify-content:center;
    width:52px; height:52px; padding:10px; border:0;
    border-radius:0; background:transparent; cursor:pointer;
    -webkit-tap-highlight-color:transparent; touch-action:manipulation;
  }
  .mobile-menu summary::-webkit-details-marker { display:none; }
  .mobile-menu summary::marker { content:""; }
  .mobile-menu summary:focus-visible { outline:2px solid #111; outline-offset:2px; }
  .hamburger { width:27px; display:flex; flex-direction:column; gap:6px; }
  .hamburger i { display:block; width:27px; height:2px; background:#111; border-radius:2px; transition:transform .2s ease,opacity .2s ease; }
  .mobile-menu[open] .hamburger i:first-child { transform:translateY(8px) rotate(45deg); }
  .mobile-menu[open] .hamburger i:nth-child(2) { opacity:0; }
  .mobile-menu[open] .hamburger i:last-child { transform:translateY(-8px) rotate(-45deg); }
  .mobile-menu-panel {
    position:absolute; top:100%; right:-16px; left:-16px;
    display:flex; flex-direction:column; background:#fff;
    border-top:1px solid #ddd; border-bottom:1px solid #ddd;
    box-shadow:0 14px 22px rgba(0,0,0,.09);
    padding:8px 24px 14px; z-index:101;
  }
  .mobile-menu-panel a { display:block; padding:15px 4px; font-size:16px; font-weight:600; border-bottom:1px solid #e6e6e6; }
  .mobile-menu-panel a:last-child { border-bottom:0; }
  .mobile-menu-panel a:focus-visible { outline:2px solid #111; }
}

@media(max-width:900px){
  .nav>.mobile-menu{display:block!important;margin-left:auto!important;flex-shrink:0}
  .nav>.mobile-menu>summary{background:transparent!important;border:0!important;
    appearance:none!important;-webkit-appearance:none!important;
    border-radius:0!important;box-shadow:none!important}
  .nav>.mobile-menu .hamburger i{background:#111!important}
}

/* v19 mobile menu: consistent on all pages, no text pills */
@media (max-width: 900px) {
  .header .nav { display:flex; align-items:center; justify-content:space-between; position:relative; }
  .header .nav > .mobile-menu { display:block!important; visibility:visible!important; opacity:1!important; margin-left:auto!important; flex:0 0 52px; z-index:10; }
  .header .nav > .mobile-menu > summary { display:flex!important; width:52px; height:52px; justify-content:center; align-items:center; background:transparent!important; border:0!important; border-radius:0!important; cursor:pointer; }
  .header .nav > .mobile-menu .hamburger, .header .nav > .mobile-menu .hamburger i { display:block!important; }
  .header .nav > .mobile-menu .hamburger { width:27px; display:flex!important; flex-direction:column; gap:6px; }
  .header .nav > .mobile-menu .hamburger i { width:27px; height:2px; background:#111; border-radius:2px; }
  .header .nav > .navlinks { display:none!important; }
}
.ext-arrow { display:inline-block; position:relative; width:13px; height:13px; margin-left:7px; vertical-align:baseline; color:inherit; }
.ext-arrow:before { content:""; position:absolute; top:1px; right:0; height:8px; width:8px; border-right:1.8px solid currentColor; border-top:1.8px solid currentColor; }
.ext-arrow:after { content:""; position:absolute; left:1px; bottom:1px; height:1.8px; width:13px; background:currentColor; transform-origin:left center; transform:rotate(-45deg); }

/* Local motorcycle evacuation content in the latest v20 layout. */
.inline-link{text-decoration:underline;text-underline-offset:3px}
.moto-local .section-head p{margin:0}
.moto-page-hero{padding:70px 0 65px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:40px}
.moto-page-hero h1{font-size:clamp(46px,6vw,80px)}
.moto-page-hero img{width:100%;height:480px;object-fit:cover;border-radius:4px}
.moto-details .step p{line-height:1.6}
@media(max-width:800px){.moto-page-hero{grid-template-columns:1fr;padding:50px 0}.moto-page-hero img{height:310px}.moto-local .section-head{display:block}.moto-local .section-head p{margin-top:20px}}
@media(max-width:480px){.moto-page-hero img{height:250px}.moto-page-hero h1{overflow-wrap:anywhere}}
