/* Global design refinements: scoped styles preserve the original visual theme. */
:root { --site-gutter: 24px; --section-space: 76px; }

/* Consistent alignment across homepage and nested service/fleet pages. */
.container, .top-inner, .nav-wrap, .home-first-grid {
  width: min(1140px, calc(100% - 2 * var(--site-gutter)));
  margin-inline: auto;
}
main > .section { padding-block: var(--section-space); }
main > .section.compact { padding-block: 60px; }
main > .stat-feature { padding-block: var(--section-space); }
.section-heading { margin-bottom: 34px; }
.spotlight-grid, .contact-grid { column-gap: 52px; }

/* Subtitles match the smaller muted teal label above headings. */
.section-eyebrow {
  margin: 0 0 11px;
  color: #83b1ac;
  font: 700 15px/1.35 'Archivo', Arial, sans-serif;
  letter-spacing: .015em;
}
.section-heading .section-eyebrow { color: #487b7a; }
.hero-copy .section-eyebrow { color: #b7dfd9; }
.section-heading > p:not(.section-eyebrow) { margin-top: 10px; }

/* Hero uses an explicit stylesheet-relative source, not a CSS variable URL. */
.home-first.home-banner-photo {
  background-image: linear-gradient(92deg, rgba(3,12,19,.85) 0%, rgba(3,12,19,.72) 54%, rgba(3,12,19,.64) 100%), url('../images/home-airport-chauffeur-banner.webp');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.home-first-grid { align-items: stretch; gap: 48px; }
.home-first .home-lead { display: flex; flex-direction: column; justify-content: center; padding-top: 0; }
.home-first .atf-wrapper {
  min-height: 570px;
  height: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.9);
  box-shadow: 0 20px 50px rgba(0,0,0,.22);
}
.home-first .atf-title { margin-bottom: 15px; }
.home-first .atf-title h2 { margin-bottom: 8px; }
.home-first .atf-title p { line-height: 1.45; }
.home-first .form-help-line {
  color: #677f82;
  text-align: center;
  font-size: 12px;
  margin: 0 0 17px;
}
.home-first .step-progress {
  display: flex;
  justify-content: center;
  gap: 7px;
  flex-wrap: nowrap;
  margin-bottom: 24px;
}
.home-first .step-dot {
  flex: 1 1 0;
  padding: 8px 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 6px;
  border: 1px solid #d7e4e2;
  border-radius: 11px;
  background: #f5f9f8;
  color: #587174;
  font: 700 11px/1.2 'Archivo', Arial, sans-serif;
  text-align: center;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}
.home-first .step-dot.active { color: #fff; background: #3d6b6d; border-color: #3d6b6d; }
.home-first .step-count { font-size: 14px; line-height: 1; }
.home-first .atf-input, .home-first .atf-select { background: #fff; border: 1px solid #d6e2e1; }
.home-first .atf-input:focus, .home-first .atf-select:focus { background: #fff; }
/* Keep original GET A QUOTE button unchanged. */

/* Original vehicle PNGs, transparent backgrounds and full un-cropped silhouettes. */
.fleet-component .fleet-showcase { min-height: 365px; }
.fleet-component .fleet-showcase img {
  display: block;
  width: min(100%, 900px);
  height: 290px;
  max-height: 290px;
  object-fit: contain;
  object-position: center;
  margin: 0 auto;
}
.fleet-component .fleet-showcase p { margin: 8px auto 0; }

/* Original-style service icons and gentle colour-change hover. */
.service-card .service-icon {
  width: 48px;
  height: 43px;
  font-size: 0;
  border-radius: 7px;
  transition: background-color .24s ease, color .24s ease, transform .24s ease;
}
.service-card .service-icon .ui-icon { width: 24px; height: 24px; }
.service-card:hover .service-icon { background: #d4e9e5; color: #17363b; transform: translateY(-4px); }
.why-card .why-icon .ui-icon { width: 25px; height: 25px; }
.why-card .why-icon { transition: background-color .24s ease, color .24s ease, transform .24s ease; }
.why-card:hover .why-icon { background: #75a8a2; color: #fff; transform: translateY(-3px); }

/* Global footer contact icon column + linked credit. */
.footer-contact-line {
  display: flex !important;
  align-items: flex-start;
  gap: 11px;
  margin-bottom: 13px;
  line-height: 1.5 !important;
}
.footer-contact-icon {
  flex: 0 0 33px;
  width: 33px;
  height: 33px;
  border: 1px solid #5a9696;
  background: #284c55;
  border-radius: 8px;
  color: #cde9e5;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background-color .22s ease, transform .22s ease;
}
.footer-contact-icon .ui-icon { width: 18px; height: 18px; }
.footer-contact-line:hover .footer-contact-icon { background: #5c918a; color: white; transform: translateY(-2px); }
.copyright {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 7px;
}
.copyright a { display: inline; color: #b4ddd6; font-weight: 700; }
.copyright a:hover { text-decoration: underline; color: #fff; }

@media (max-width: 820px) {
  :root { --site-gutter: 17px; --section-space: 56px; }
  .home-first-grid { grid-template-columns: 1fr; }
  .home-first .atf-wrapper { min-height: 0; }
  .spotlight-grid, .contact-grid { row-gap: 28px; }
  .fleet-component .fleet-showcase { min-height: 290px; }
  .fleet-component .fleet-showcase img { height: 225px; max-height: 225px; }
}
@media (max-width: 480px) {
  :root { --site-gutter: 14px; --section-space: 48px; }
  .home-first .step-dot { font-size: 10px; padding-inline: 3px; }
  .home-first .step-count { font-size: 13px; }
  .copyright .credit-separator { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .service-card .service-icon, .why-card .why-icon, .footer-contact-icon, .home-first .step-dot { transition: none; }
}

/* Final accessibility and consistency safeguards */
.home-first.home-banner-photo { background-color: #12272d; }
.atf-step[hidden] { display: none !important; }
.home-first .atf-wrapper { max-width: 100%; }
.home-first .step-progress { width: 100%; }
.site-footer .footer-contact-line { overflow-wrap: anywhere; }
@media (max-width: 820px) {
  .home-first.home-banner-photo { background-position: 44% center; }
  .home-first .atf-wrapper { margin-inline: auto; }
}


/* Visible homepage refinement patch */
.home-first .hero-inline-top{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:12px;}
.home-first .hero-inline-top .eyebrow{margin:0;font-size:17px;line-height:1.2;}
.home-first .hero-inline-top .btn{flex:none;box-shadow:0 12px 28px rgba(0,0,0,.16);}
.home-first .home-lead h1{margin-top:0;}

/* Premium numbered stepper */
.home-first .step-progress{position:relative;gap:0;align-items:flex-start;margin:0 0 22px;}
.home-first .step-progress::before{content:'';position:absolute;left:7%;right:7%;top:22px;height:2px;background:linear-gradient(90deg,#142f36 0%,#83cbbf 100%);opacity:.25;}
.home-first .step-dot{position:relative;background:transparent;border:0;padding:0 8px;gap:8px;color:#4b666c;z-index:1;}
.home-first .step-dot::before{content:'';position:absolute;top:7px;left:50%;width:31px;height:31px;transform:translateX(-50%);border-radius:50%;background:#fff;border:2px solid #dbe8e6;box-shadow:0 8px 18px rgba(23,54,59,.06);}
.home-first .step-dot.active::before{background:#15323a;border-color:#15323a;box-shadow:0 12px 28px rgba(23,54,59,.22);}
.home-first .step-dot.active{color:#163138;}
.home-first .step-count,.home-first .step-label-text{position:relative;z-index:1;}
.home-first .step-count{display:flex;align-items:center;justify-content:center;height:31px;font-size:13px;font-weight:800;color:#17343b;}
.home-first .step-dot.active .step-count{color:#7fe0cb;}
.home-first .step-label-text{font-size:13px;font-weight:700;max-width:120px;line-height:1.25;}
.home-first .step-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:18px;}
.home-first .step-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 20px;border-radius:999px;border:1px solid #cadbda;background:#fff;color:#244247;font:700 12px/1 'Montserrat',Arial,sans-serif;transition:all .2s ease;}
.home-first .step-button.next{background:#17343b;color:#fff;border-color:#17343b;}
.home-first .step-button:hover{transform:translateY(-2px);}

/* Stronger fleet cutout presentation */
.fleet-component .fleet-showcase{display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at center,#f8fbfb 0%,#ffffff 58%,#f4f9f8 100%);border:1px solid #e8efee;border-radius:24px;padding:14px 18px 28px;box-shadow:0 18px 40px rgba(16,39,44,.06);}
.fleet-component .fleet-showcase img{filter:drop-shadow(0 20px 28px rgba(16,39,44,.12));height:310px;max-height:310px;}
.fleet-component .fleet-showcase p{font:700 16px/1.65 'Open Sans',Arial,sans-serif;color:#4d666b;max-width:700px;}

/* Progress / luxury section */
.stat-feature{position:relative;background-image:linear-gradient(92deg,rgba(10,31,38,.95) 0%,rgba(16,44,53,.82) 45%,rgba(29,63,74,.72) 100%),url('../images/benefit.webp');background-position:center right;background-size:cover;overflow:hidden;}
.stat-feature::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,33,40,.15) 0%,rgba(14,33,40,0) 45%);pointer-events:none;}
.stat-feature>.container{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:center;gap:40px;}
.stat-copy .section-eyebrow{color:#8cd5c7;margin-bottom:12px;}
.stat-copy h2{max-width:620px;}
.stat-copy p{max-width:610px;margin-bottom:18px;}
.bar-item{padding:12px 0 18px;border-bottom:2px solid rgba(255,255,255,.32);}
.bar-item i{width:0!important;height:4px;border-radius:999px;background:linear-gradient(90deg,#97ddd0 0%,#79d1c4 100%);transition:width 1.15s cubic-bezier(.22,.61,.36,1);}
.stat-feature.in-view .bar-item i{width:var(--target-width)!important;}
.stat-visual{position:relative;min-height:345px;display:flex;align-items:center;justify-content:flex-end;}
.stat-cutout{position:absolute;right:12px;bottom:16px;width:min(440px,100%);height:auto;filter:drop-shadow(0 26px 34px rgba(0,0,0,.24));}
.stat-note{position:relative;z-index:1;max-width:310px;padding:30px 28px;border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 20px 36px rgba(3,12,19,.18);}
.stat-note h3{font-size:18px;line-height:1.25;}
.stat-note p{font-size:14px;line-height:1.65;}

@media (max-width: 980px){
  .stat-feature>.container{grid-template-columns:1fr;}
  .stat-visual{min-height:240px;justify-content:center;}
  .stat-cutout{position:relative;right:auto;bottom:auto;width:min(360px,100%);margin-inline:auto;}
  .stat-note{margin:18px auto 0;}
}
@media (max-width: 820px){
  .home-first .hero-inline-top{align-items:flex-start;}
  .home-first .step-progress::before{left:10%;right:10%;top:21px;}
  .fleet-component .fleet-showcase img{height:235px;max-height:235px;}
}
@media (max-width: 560px){
  .home-first .hero-inline-top{gap:12px;}
  .home-first .hero-inline-top .btn{width:auto;min-height:40px;padding-inline:18px;}
  .home-first .step-dot .step-label-text{font-size:11px;max-width:88px;}
  .home-first .step-progress::before{left:12%;right:12%;}
  .home-first .step-button{padding-inline:16px;}
}
