/**
 * Pixel-perfect layout lock — loads last.
 * Equal section rhythm, content width, gutters, grids, overflow.
 */

:root{
  --site-max-width:1320px;
  --site-narrow:980px;
  --site-gutter:24px;
  --site-gutter-mobile:16px;
  --section-space:60px;
  --section-space-tablet:48px;
  --section-space-mobile:40px;
  --sec-head-gap:36px;
  --block-gap:40px;
  --header-h:78px;
}

html{overflow-x:clip;}
body{overflow-x:hidden;}

/* —— Content column —— */
.wrap,
.wrap-narrow{
  width:min(100%,var(--site-max-width));
  max-width:var(--site-max-width);
  margin-left:auto;
  margin-right:auto;
  padding-left:var(--site-gutter);
  padding-right:var(--site-gutter);
  box-sizing:border-box;
}
.wrap-narrow{max-width:var(--site-narrow);}

/* —— Equal section padding (desktop 60 / 60) —— */
section.bay,
.page-intro,
.page-intro--blog,
.bay--blog,
.footer-cta,
.footer-main,
.lux-trust-band,
.lux-trust-faq,
.about-values-band,
.about-hero,
#page-fleet .flhero,
.fleet-hero,
.fleet-single .fleet-hero,
.fleet-single-brief,
.fleet-single-detail,
.fleet-single-gallery,
.fleet-single-cta,
.svc-banner,
.service-archive-hero,
.lux-single > .bay,
.home-exec,
.home-services,
.home-industries,
.home-chauffeur,
.home-steps,
.home-concierge,
.home-insights,
.hero,
.hero.hero--with-form{
  padding-top:var(--section-space) !important;
  padding-bottom:var(--section-space) !important;
}

.sec-head{
  margin-bottom:var(--sec-head-gap) !important;
}

.site-footer{margin-top:var(--section-space);}

/* Entity / photo heroes: clear fixed header + equal bottom air */
.city-hero.entity-hero{
  margin-top:calc(-1 * var(--header-h));
  align-items:center;
  justify-content:center;
}
.city-hero.entity-hero .city-hero-inner{
  padding-top:calc(var(--header-h) + var(--section-space)) !important;
  padding-bottom:var(--section-space) !important;
  display:flex;
  flex-direction:column;
  justify-content:center;
  width:100%;
  box-sizing:border-box;
}
.city-hero.entity-hero .entity-hero-grid,
.city-hero.entity-hero .svc-banner-grid,
.svc-banner-grid,
.hero-grid,
.flhero-grid,
.fleet-hero-grid,
.city-detail-grid,
.vehicle-detail-grid,
.contact-grid,
.about-hero{
  align-items:center;
  gap:var(--block-gap);
}

/* Detail photos — consistent crop */
.city-detail-photo{
  aspect-ratio:4/3;
  max-height:none;
}

/* Buttons — consistent hit area */
.btn{
  min-height:48px;
  box-sizing:border-box;
  justify-content:center;
}
.btn-primary,
.btn-gold-line,
.btn-ghost{
  min-height:48px;
}

/* Media never blow layout */
img,
video,
svg,
iframe{
  max-width:100%;
}
.city-hero-img img,
.city-detail-photo img,
.fleet-hero-photo-img,
.fleet-photo-img{
  max-width:none;
}

/* Grid children can shrink (prevents horizontal overflow) */
.hero-grid > *,
.svc-banner-grid > *,
.entity-hero-grid > *,
.city-detail-grid > *,
.vehicle-detail-grid > *,
.contact-grid > *,
.fleet-hero-grid > *,
.flhero-grid > *{
  min-width:0;
}

/* Compact hero forms stay balanced with centered copy */
.entity-hero-form .ride-form,
.svc-banner-form .ride-form{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}

/* Section ornaments shouldn't shift content */
.page-intro::before{
  pointer-events:none;
}

/* —— Tablet —— */
@media (max-width:900px){
  :root{
    --site-gutter:20px;
    --block-gap:28px;
    --sec-head-gap:28px;
  }
  section.bay,
  .page-intro,
  .page-intro--blog,
  .bay--blog,
  .footer-cta,
  .footer-main,
  .lux-trust-band,
  .lux-trust-faq,
  .about-values-band,
  .about-hero,
  #page-fleet .flhero,
  .fleet-hero,
  .fleet-single .fleet-hero,
  .fleet-single-brief,
  .fleet-single-detail,
  .fleet-single-gallery,
  .fleet-single-cta,
  .svc-banner,
  .service-archive-hero,
  .lux-single > .bay,
  .home-exec,
  .home-services,
  .home-industries,
  .home-chauffeur,
  .home-steps,
  .home-concierge,
  .home-insights,
  .hero,
  .hero.hero--with-form{
    padding-top:var(--section-space-tablet) !important;
    padding-bottom:var(--section-space-tablet) !important;
  }
  .city-hero.entity-hero .city-hero-inner{
    padding-top:calc(var(--header-h) + var(--section-space-tablet)) !important;
    padding-bottom:var(--section-space-tablet) !important;
  }
  .city-hero.entity-hero .entity-hero-grid,
  .svc-banner-grid{
    align-items:stretch;
    gap:var(--block-gap);
  }
  .site-header{
    padding-left:var(--site-gutter);
    padding-right:var(--site-gutter);
  }
}

/* —— Mobile —— */
@media (max-width:680px){
  :root{
    --site-gutter:var(--site-gutter-mobile);
    --block-gap:24px;
    --sec-head-gap:24px;
  }
  .wrap,
  .wrap-narrow{
    padding-left:var(--site-gutter);
    padding-right:var(--site-gutter);
  }
  section.bay,
  .page-intro,
  .page-intro--blog,
  .bay--blog,
  .footer-cta,
  .footer-main,
  .lux-trust-band,
  .lux-trust-faq,
  .about-values-band,
  .about-hero,
  #page-fleet .flhero,
  .fleet-hero,
  .fleet-single .fleet-hero,
  .fleet-single-brief,
  .fleet-single-detail,
  .fleet-single-gallery,
  .fleet-single-cta,
  .svc-banner,
  .service-archive-hero,
  .lux-single > .bay,
  .home-exec,
  .home-services,
  .home-industries,
  .home-chauffeur,
  .home-steps,
  .home-concierge,
  .home-insights,
  .hero,
  .hero.hero--with-form{
    padding-top:var(--section-space-mobile) !important;
    padding-bottom:var(--section-space-mobile) !important;
  }
  .city-hero.entity-hero .city-hero-inner{
    padding-top:calc(var(--header-h) + var(--section-space-mobile)) !important;
    padding-bottom:var(--section-space-mobile) !important;
  }
  .sec-head{align-items:flex-start;}
  .btn{
    min-height:44px;
  }
  .hero-actions .btn,
  .city-hero-actions .btn,
  .svc-banner-actions .btn,
  .flhero-cta .btn{
    width:100%;
    justify-content:center;
  }
}

/* Safe areas (notched phones) */
@supports (padding:max(0px)){
  .wrap,
  .wrap-narrow,
  .site-header{
    padding-left:max(var(--site-gutter),env(safe-area-inset-left));
    padding-right:max(var(--site-gutter),env(safe-area-inset-right));
  }
}

/* ---- Deploy-safe UI locks (match latest product requests) ---- */
.fleet-show-copy > p{
  display:none !important;
}
.home-svc-card > p,
.srv-card > p,
.srv-card .srv-card-excerpt-spacer{
  display:none !important;
}
.srv-card-foot{
  padding-top:18px !important;
  padding-bottom:18px !important;
}
.home-chauffeur-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}
.home-svc-grid,
.srv-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}
.why-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}
.home-steps-track{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}
@media (max-width:900px){
  .home-svc-grid,
  .srv-grid,
  .why-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .home-chauffeur-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .home-steps-track{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media (max-width:680px){
  .hero-actions,
  .city-hero-actions,
  .svc-banner-actions,
  .flhero-cta{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }
  .hero-actions .btn,
  .city-hero-actions .btn,
  .svc-banner-actions .btn,
  .flhero-cta .btn{
    width:100%;
    max-width:100%;
    justify-content:center;
  }
}
@media (max-width:560px){
  .home-chauffeur-grid,
  .home-svc-grid,
  .srv-grid,
  .why-grid,
  .home-steps-track{grid-template-columns:1fr !important;}
}
