:root{
  --ink:#0B2E29; --ink-2:#11423A; --paper:#FFFFFF; --mist:#F2F7F5;
  --amber:#2FD79B; --amber-dark:#0FA97A; --text:#243B35; --muted:#587068;
  --line:#DBE9E2; --radius:14px; --max:1100px;
  --shadow:0 10px 30px rgba(11,46,41,.10);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:inherit}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
/* Prevent long content inside grid cells from forcing horizontal overflow */
.hero .wrap>*,.steps-grid>*,.veh-grid>*,.comp-grid>*,.fleet-row>*,.route-cards>*,.contact-grid>*,.trustbar .wrap>*,.statbar .wrap>*{min-width:0}
h1,h2,h3{color:var(--ink);line-height:1.15;letter-spacing:-.02em}
h2{font-size:clamp(26px,4vw,38px);margin-bottom:12px}
.kicker{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--amber-dark);margin-bottom:10px}
.sub{color:var(--muted);font-size:17px;max-width:640px}
section{padding:72px 0}

/* Buttons */
.btn{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2px 8px;font-weight:700;font-size:17px;padding:16px 28px;border-radius:12px;text-decoration:none;transition:transform .12s ease,box-shadow .12s ease;cursor:pointer;border:0}
.btn small{flex-basis:100%;text-align:center}
.btn-primary{background:linear-gradient(180deg,#57E6B2,#1FC98C);color:var(--ink);box-shadow:0 6px 18px rgba(47,215,155,.35)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(47,215,155,.45)}
.btn-ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.35)}
.btn-ghost:hover{border-color:#fff}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{transform:translateY(-2px)}
.btn small{display:block;font-weight:500;font-size:12px;opacity:.75}

/* Header */
header{position:sticky;top:0;z-index:50;background:rgba(11,46,41,.94);backdrop-filter:blur(10px);color:#fff}
.nav{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:66px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:17px;text-decoration:none;letter-spacing:-.01em;flex:none}
.brand svg{width:30px;height:30px}
.nav-links{display:flex;gap:22px}
.nav-links a{color:#D8EDE3;text-decoration:none;font-size:14.5px;font-weight:600;padding:4px 0;border-bottom:2px solid transparent}
.nav-links a:hover{color:#fff}
.nav-links a.active{color:var(--amber);border-bottom-color:var(--amber)}
.nav-links .menu-only{display:none}
.show-sm{display:none}
.menu-btn{display:none;background:none;border:0;cursor:pointer;padding:12px;margin:-6px -8px -6px -4px}
.menu-btn span{display:block;width:22px;height:2px;background:#fff;margin:5px 0;border-radius:2px;transition:transform .2s ease,opacity .2s ease}
header.menu-open .menu-btn span:nth-child(1){transform:translateY(7px) rotate(45deg)}
header.menu-open .menu-btn span:nth-child(2){opacity:0}
header.menu-open .menu-btn span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.nav-right{display:flex;align-items:center;gap:18px;flex:none}
.nav-phone{display:flex;align-items:center;gap:7px;text-decoration:none;font-weight:700;font-size:15px;color:#fff;opacity:.95}
.nav-phone:hover{color:var(--amber)}
.nav .btn{padding:10px 18px;font-size:15px}

/* Hero (home) */
.hero{background:linear-gradient(160deg,#0B2E29 0%,#155045 55%,#0B2E29 100%);color:#fff;padding:72px 0 88px;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 300px at 80% 20%,rgba(47,215,155,.14),transparent 65%)}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.hero h1{color:#fff;font-size:clamp(32px,5vw,52px);margin-bottom:18px}
.hero h1 em{font-style:normal;color:var(--amber)}
.hero p.lead{font-size:19px;color:#C3E0D5;max-width:520px;margin-bottom:30px}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:30px}
.chips{display:flex;gap:10px;flex-wrap:wrap}
.chip{display:flex;align-items:center;gap:7px;font-size:13.5px;font-weight:600;color:#D8EDE3;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);padding:7px 13px;border-radius:99px}
.chip svg{width:15px;height:15px;flex:none}

/* Interior page hero */
.page-hero{background:linear-gradient(160deg,#0B2E29 0%,#155045 70%,#0B2E29 100%);color:#fff;padding:60px 0;position:relative;overflow:hidden}
.page-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 260px at 85% 10%,rgba(47,215,155,.12),transparent 65%)}
.page-hero .wrap{position:relative}
.page-hero h1{color:#fff;font-size:clamp(30px,4.5vw,44px);margin-bottom:12px}
.page-hero p{color:#C3E0D5;font-size:18px;max-width:640px}

/* Video card */
.video-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:14px;box-shadow:0 24px 60px rgba(0,0,0,.35)}
.video-frame{position:relative;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:linear-gradient(145deg,#155045,#0B2E29);cursor:pointer}
.video-frame iframe,.video-frame video{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-poster{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:20px}
.play-btn{width:72px;height:72px;border-radius:50%;background:var(--amber);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 30px rgba(47,215,155,.5);transition:transform .15s ease}
.video-frame:hover .play-btn{transform:scale(1.08)}
.play-btn svg{width:26px;height:26px;margin-left:4px}
.video-poster strong{color:#fff;font-size:17px}
.video-poster span{color:#8FBCAC;font-size:13.5px}
.video-caption{display:flex;align-items:center;gap:8px;padding:12px 6px 2px;color:#8FBCAC;font-size:13.5px}

/* Stat band — floating card overlapping the hero */
.statbar{background:transparent;color:#fff;padding:0 20px;position:relative;z-index:5;margin-top:-34px}
.statbar .wrap{display:grid;grid-template-columns:repeat(4,1fr);padding:0;background:var(--ink-2);border:1px solid rgba(255,255,255,.09);border-radius:16px;box-shadow:0 18px 44px rgba(11,46,41,.30);overflow:hidden}
.stat{padding:24px 14px;text-align:center;border-left:1px solid rgba(255,255,255,.08)}
.stat:first-child{border-left:0}
.stat b{display:block;font-size:30px;font-weight:800;color:var(--amber);letter-spacing:-.02em;line-height:1.1}
.stat span{font-size:13px;color:#8FBCAC}

/* Step timing badge */
.step-time{display:inline-block;font-size:12px;font-weight:700;color:var(--amber-dark);background:rgba(47,215,155,.14);padding:3px 10px;border-radius:99px;margin-left:8px;vertical-align:middle;white-space:nowrap}

/* Trust bar */
.trustbar{background:var(--ink-2);color:#fff}
.trustbar .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.trust-item{display:flex;align-items:center;gap:12px;padding:20px 16px;border-left:1px solid rgba(255,255,255,.08)}
.trust-item:first-child{border-left:0}
.trust-item svg{width:26px;height:26px;flex:none;color:var(--amber)}
.trust-item b{display:block;font-size:15px}
.trust-item span{font-size:12.5px;color:#8FBCAC}

/* Steps */
.steps{background:var(--mist)}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:38px}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;position:relative;box-shadow:var(--shadow)}
.step-num{width:38px;height:38px;border-radius:10px;background:var(--ink);color:var(--amber);font-weight:800;font-size:17px;display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.step h3{font-size:19px;margin-bottom:8px}
.step p{font-size:15px;color:var(--muted)}

/* Vehicle cards (home overview) */
.veh-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:38px}
.veh{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .15s ease,box-shadow .15s ease;position:relative;background:#fff}
.veh:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.veh-art{height:130px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,var(--mist),#E4F0EA);position:relative;overflow:hidden}
.veh-art svg{width:120px;height:80px}
/* Real vehicle cutout (transparent PNG) sits on the brand gradient, same as the
   illustration it replaces. If the file is missing the img removes itself and
   the SVG fallback shows through. */
.veh-art img,.fleet-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:1;padding:10px}
.fleet-art img{padding:22px}
.veh-body{padding:24px;display:flex;flex-direction:column;gap:10px;flex:1}
.veh h3{font-size:20px}
.cap{display:flex;gap:14px;font-size:13.5px;font-weight:600;color:var(--ink);flex-wrap:wrap}
.cap span{display:flex;align-items:center;gap:6px}
.cap svg{width:16px;height:16px;color:var(--amber-dark)}
.veh p{font-size:14.5px;color:var(--muted);flex:1}
.veh .btn{font-size:15px;padding:12px 20px}
.tag{position:absolute;top:14px;right:14px;background:var(--amber);color:var(--ink);font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:99px;z-index:1}
.tag.tag-blue{background:#2E7CE6;color:#fff}

/* Fleet page rows */
.fleet-row{display:grid;grid-template-columns:300px 1fr;gap:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:var(--shadow);margin-top:28px;position:relative}
.fleet-art{display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,var(--mist),#E4F0EA);padding:30px;position:relative;overflow:hidden}
.fleet-art svg{width:200px;height:130px}
.fleet-body{padding:30px 34px;display:flex;flex-direction:column;gap:12px}
.fleet-body h2{font-size:24px;margin-bottom:0}
.fleet-body p{font-size:15.5px;color:var(--muted)}
.fleet-body .btn{align-self:flex-start;font-size:15px;padding:12px 22px;margin-top:6px}
.feature-list{list-style:none;display:flex;flex-direction:column;gap:8px;margin:4px 0}
.feature-list li{display:flex;gap:9px;align-items:flex-start;font-size:14.5px;color:var(--text)}
.feature-list svg{width:17px;height:17px;flex:none;margin-top:3px;color:var(--amber-dark)}

/* ADA callout */
.ada-callout{background:linear-gradient(145deg,#EAF2FE,#F2F7F5);border:1px solid #C7DBF7;border-radius:var(--radius);padding:30px;display:flex;gap:20px;align-items:flex-start;margin-top:28px}
.ada-callout .ada-icon{width:52px;height:52px;flex:none;border-radius:12px;background:#2E7CE6;display:flex;align-items:center;justify-content:center}
.ada-callout .ada-icon svg{width:30px;height:30px;color:#fff}
.ada-callout h3{font-size:19px;margin-bottom:6px}
.ada-callout p{font-size:15px;color:var(--muted)}

/* Compare */
.compare{background:var(--ink);color:#fff}
.compare h2{color:#fff}
.compare .sub{color:#8FBCAC}
.comp-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:38px}
.comp-card{border-radius:var(--radius);padding:30px;border:1px solid rgba(255,255,255,.12)}
.comp-card.us{background:rgba(47,215,155,.08);border-color:rgba(47,215,155,.4)}
.comp-card h3{color:#fff;font-size:19px;margin-bottom:16px;display:flex;align-items:center;gap:10px}
.comp-card ul{list-style:none;display:flex;flex-direction:column;gap:11px}
.comp-card li{display:flex;gap:10px;font-size:15px;color:#C3E0D5;align-items:flex-start}
.comp-card li svg{width:18px;height:18px;flex:none;margin-top:3px}
.li-yes svg{color:var(--amber)} .li-no svg{color:#6B7C97}

/* Areas */
.areas-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}
.area{font-size:14px;font-weight:600;color:var(--ink);background:var(--mist);border:1px solid var(--line);padding:7px 14px;border-radius:99px}
.route-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:38px}
.route-card{border:1px solid var(--line);border-radius:var(--radius);padding:28px;background:#fff;box-shadow:var(--shadow)}
.route-card h3{font-size:20px;margin-bottom:8px;display:flex;align-items:center;gap:10px}
.route-card h3 svg{width:22px;height:22px;color:var(--amber-dark)}
.route-card p{font-size:15px;color:var(--muted)}

/* FAQ */
.faq{background:var(--mist)}
.faq-list{margin-top:34px;display:flex;flex-direction:column;gap:12px;max-width:780px}
details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:0 22px;overflow:hidden}
summary{cursor:pointer;font-weight:700;color:var(--ink);font-size:16.5px;padding:18px 0;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:22px;color:var(--amber-dark);font-weight:400;transition:transform .15s}
details[open] summary::after{transform:rotate(45deg)}
details p{padding:0 0 18px;color:var(--muted);font-size:15px}

/* Contact */
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:38px}
.contact-card{border:1px solid var(--line);border-radius:var(--radius);padding:30px;text-align:center;background:#fff;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;gap:10px}
.contact-card .c-icon{width:52px;height:52px;border-radius:14px;background:var(--ink);display:flex;align-items:center;justify-content:center}
.contact-card .c-icon svg{width:24px;height:24px;color:var(--amber)}
.contact-card h3{font-size:18px}
.contact-card p{font-size:14px;color:var(--muted)}
.contact-card a.big{font-size:17px;font-weight:800;color:var(--ink);text-decoration:none}
.contact-card a.big:hover{color:var(--amber-dark)}

/* Final CTA */
.final{background:linear-gradient(160deg,#155045,#0B2E29);color:#fff;text-align:center;padding:88px 0}
.final h2{color:#fff;font-size:clamp(28px,4.5vw,42px)}
.final p{color:#C3E0D5;font-size:18px;margin:14px auto 32px;max-width:560px}
.final .hero-ctas{justify-content:center;margin-bottom:0}

/* Footer */
footer{background:#06201B;color:#8AAF9F;padding:44px 0;font-size:14px}
footer .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
footer a{color:#C3E0D5;text-decoration:none}
footer a:hover{color:var(--amber)}
.foot-links{display:flex;gap:22px;flex-wrap:wrap}
.foot-nav{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px}
.foot-nav a{font-size:13.5px;color:#8AAF9F}

/* Sticky mobile bar */
.mobile-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:60;background:var(--ink);padding:10px 12px;gap:10px;box-shadow:0 -6px 20px rgba(0,0,0,.25)}
.mobile-bar a{flex:1;text-align:center;padding:13px 8px;font-size:15px}

@media (max-width:900px){
  section{padding:56px 0}
  .menu-btn{display:block}
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--ink);border-top:1px solid rgba(255,255,255,.1);padding:6px 20px 20px;box-shadow:0 24px 40px rgba(0,0,0,.45)}
  header.menu-open .nav-links{display:flex}
  .nav-links a{width:100%;font-size:14.5px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08)}
  .nav-links a.active{border-bottom-color:rgba(255,255,255,.08)}
  .nav-links .menu-only{display:block;text-align:center;background:var(--amber);color:var(--ink);font-weight:800;border-radius:10px;padding:14px;margin-top:16px;border-bottom:0}
  .nav-phone span{display:none}
  .hero .wrap{grid-template-columns:1fr;gap:36px}
  .hero{padding:52px 0 64px}
  .trustbar .wrap{grid-template-columns:1fr 1fr}
  .trust-item{border-left:0;border-top:1px solid rgba(255,255,255,.08)}
  .trust-item:nth-child(-n+2){border-top:0}
  .statbar{padding:0 16px;margin-top:-30px}
  .statbar .wrap{grid-template-columns:1fr 1fr}
  .stat{border-left:0;border-top:1px solid rgba(255,255,255,.08);padding:18px 10px}
  .stat:nth-child(-n+2){border-top:0}
  .stat:nth-child(even){border-left:1px solid rgba(255,255,255,.08)}
  .stat b{font-size:24px}
  .stat span{font-size:12px}
  .steps-grid,.veh-grid,.comp-grid,.route-cards,.contact-grid{grid-template-columns:1fr}
  .fleet-row{grid-template-columns:1fr}
  .fleet-art{padding:16px;min-height:190px}
  .ada-callout{flex-direction:column}
  .mobile-bar{display:flex}
  body{padding-bottom:64px}
}

/* Phones */
@media (max-width:620px){
  section{padding:44px 0}
  .wrap{padding:0 16px}
  /* Header: bottom sticky bar already carries the quote CTA on phones */
  .nav .btn{display:none}
  .nav{padding-top:8px;padding-bottom:8px;row-gap:4px}
  .nav-right{gap:10px}
  .nav-phone{padding:14px 12px;margin:-8px 0 -8px -4px}
  .nav-phone svg{width:19px;height:19px}
  .brand{font-size:16px}
  .brand svg{width:26px;height:26px}
  .btn{font-size:16px;padding:14px 20px}
  .hero{padding:36px 0 64px}
  .hero h1{font-size:clamp(26px,7.2vw,34px);margin-bottom:14px}
  .hero p.lead{font-size:16px;margin-bottom:22px}
  .hero-ctas{margin-bottom:24px}
  .hero-ctas .btn{width:100%}
  .chips{gap:6px}
  .chip{font-size:13px;padding:6px 9px;gap:5px;white-space:nowrap}
  .chip svg{width:14px;height:14px}
  .hide-sm{display:none}
  .show-sm{display:inline}
  .video-card{padding:10px}
  .play-btn{width:60px;height:60px}
  .video-poster strong{font-size:15.5px}
  .trustbar .wrap{grid-template-columns:1fr}
  .trust-item{padding:13px 2px}
  .trust-item:nth-child(-n+2){border-top:1px solid rgba(255,255,255,.08)}
  .trust-item:first-child{border-top:0}
  .page-hero{padding:38px 0}
  .page-hero p{font-size:16px}
  .steps-grid,.veh-grid,.route-cards,.contact-grid,.comp-grid{gap:16px;margin-top:28px}
  .step,.comp-card,.route-card,.ada-callout{padding:22px}
  /* Vehicle cards become compact horizontal rows on phones */
  .veh{display:grid;grid-template-columns:108px 1fr}
  .veh-art{height:100%;min-height:120px}
  .veh-art svg{width:88px;height:60px}
  .veh-body{padding:14px 16px;gap:7px}
  .veh h3{font-size:16.5px}
  .veh p{font-size:13px}
  .veh .cap{font-size:12px;gap:8px}
  .veh .cap svg{width:14px;height:14px}
  .veh .btn{padding:9px 14px;font-size:13.5px;align-self:flex-start}
  .veh .tag{top:6px;left:6px;right:auto;font-size:9.5px;padding:3px 7px;max-width:96px;line-height:1.35;text-align:center}
  .fleet-row .tag{top:8px;right:8px;left:auto;font-size:10px;padding:4px 8px}
  .fleet-row{margin-top:20px}
  .fleet-body{padding:22px 20px}
  .fleet-body h2{font-size:21px}
  .cap{gap:10px;font-size:13px}
  details{padding:0 16px}
  summary{font-size:15.5px;padding:15px 0}
  .final{padding:56px 0}
  .final .hero-ctas .btn{width:100%}
  footer .wrap{flex-direction:column;align-items:flex-start}
}
