/* Keep the trailer mark anchored to the image, including its letterboxing. */
.fleet-card__art { position:relative; width:100%; max-width:253px; aspect-ratio:3/2; }
.fleet-card__art>img:first-child { width:100%; height:auto; display:block; }
.fleet-card__media .fleet-card__art .fleet-card__trailer-logo { left:57%; top:37%; width:34%; height:auto; transform:rotate(12deg) skewX(3deg); }
.fleet-card:hover .fleet-card__art>img:first-child { transform:none; }
.fleet-card:hover .fleet-card__art .fleet-card__trailer-logo { transform:rotate(12deg) skewX(3deg); }
@media(max-width:767px) { .fleet-card__art { max-width:none; } }
/* Mobile layout: loaded after the shared desktop theme. */
@media (max-width: 767px) {
  html { scroll-padding-top: 88px; }
  html body[data-page] { margin:0; width:100%; }
  html body[data-page] .container { width:calc(100% - 40px)!important; }
  html body[data-page] main :is(p,li) { overflow-wrap:break-word; }
  html body[data-page] main :is(input,select,textarea) { font-size:16px!important; }
  html body[data-page] #site-header { inset:0 0 auto; background:#09251b!important; }
  html body[data-page] #site-header .header-inner { display:flex!important; height:72px!important; min-height:72px; gap:12px; padding:0!important; }
  html body[data-page] #site-header .bp-logo { flex:0 0 auto; transform:none!important; }
  html body[data-page] #site-header .adaptive-logo { width:164px!important; }
  html body[data-page] #site-header .bp-logo .adaptive-logo>img { width:164px!important; height:auto!important; max-height:none; object-fit:contain; }
  html body[data-page] #site-header .adaptive-logo__original { opacity:0!important; visibility:hidden!important; }
  html body[data-page] #site-header .adaptive-logo__white { opacity:1!important; visibility:visible!important; }
  html body[data-page] #site-header :is(.desktop-nav,.bp-header-actions) { display:none!important; }
  html body[data-page] #site-header .menu-toggle { display:block!important; margin-left:auto; width:48px; height:48px; flex:0 0 48px; padding:0; }
  html body[data-page] #site-header .mobile-menu { top:72px!important; height:calc(100dvh - 72px)!important; padding:20px 20px max(28px,env(safe-area-inset-bottom))!important; background:#09251b!important; }
  html body[data-page] #site-header .mobile-menu a { font-size:22px!important; line-height:1.4; padding:18px 0; }

  /* One continuous portrait hero, with live text over the photograph. */
  html body[data-page="home"] #hero-slider { height:auto!important; min-height:0!important; padding:72px 0 0!important; background:#09251b!important; }
  html body[data-page="home"] #hero-slider .bp-hero__stage { display:block; height:max(680px,calc(100svh - 72px))!important; min-height:0!important; background:#09251b; isolation:isolate; }
  html body[data-page="home"] #hero-slider .bp-hero__visual { position:absolute!important; inset:0; width:100%; height:100%!important; z-index:0; }
  html body[data-page="home"] #hero-slider .bp-hero__frames { position:absolute; inset:0; height:100%; }
  html body[data-page="home"] #hero-slider .bp-hero__frame-media { background-image:var(--hero-mobile-image,var(--hero-image))!important; background-size:cover; background-position:center; }
  html body[data-page="home"] #hero-slider .bp-hero__stage::before { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(180deg,rgba(3,15,11,.78) 0%,rgba(3,15,11,.56) 32%,rgba(3,15,11,.08) 59%,rgba(3,15,11,.05) 76%,rgba(3,15,11,.65) 100%); }
  html body[data-page="home"] #hero-slider .bp-hero__copy { position:relative; z-index:2; width:calc(100% - 40px); height:auto; margin:0 auto; padding:36px 0 0!important; justify-content:flex-start; }
  html body[data-page="home"] #hero-slider .bp-hero__slides { display:grid; min-height:0!important; max-width:none; }
  html body[data-page="home"] #hero-slider .bp-hero__slide { grid-area:1/1; position:relative; inset:auto; height:auto; justify-content:flex-start; padding:0; pointer-events:none; }
  html body[data-page="home"] #hero-slider .bp-hero__slide.is-active { pointer-events:auto; }
  html body[data-page="home"] #hero-slider .bp-hero__slide :is(h1,h2,em) { font-size:clamp(34px,9vw,48px)!important; line-height:1.08!important; letter-spacing:-1px!important; color:#fff!important; -webkit-text-fill-color:#fff!important; text-shadow:0 2px 16px #0003; }
  html body[data-page="home"] #hero-slider .bp-hero__slide :is(h1,h2) { margin:0 0 16px!important; }
  html body[data-page="home"] #hero-slider .bp-hero__slide p { font-size:14px!important; line-height:1.7!important; margin:0!important; max-width:480px; color:#f4f5f1!important; -webkit-text-fill-color:#f4f5f1!important; text-shadow:0 1px 8px #0005; }
  html body[data-page="home"] #hero-slider .bp-hero__actions { margin-top:22px!important; }
  html body[data-page="home"] main section#hero-slider .bp-hero__actions>a { min-height:48px!important; height:auto!important; }
  html body[data-page="home"] #hero-slider .bp-hero__badge { display:none!important; }
  html body[data-page="home"] #hero-slider .bp-hero__controls { position:absolute; z-index:3; left:50%; bottom:20px; top:auto; transform:translateX(-50%); margin:0; padding:0; width:auto; background:transparent; gap:12px; }
  html body[data-page="home"] #hero-slider .bp-hero__controls>button { width:44px; height:44px; color:#fff!important; background:rgba(9,37,27,.7)!important; border:1px solid #ffffff66; }
  html body[data-page="home"] #hero-slider .bp-hero__dots button { width:24px; height:24px; min-width:24px; min-height:24px; border:0; border-radius:0; background:radial-gradient(circle,#ffffff70 0 4px,transparent 5px)!important; }
  html body[data-page="home"] #hero-slider .bp-hero__dots button.is-active { background:radial-gradient(circle,#8ed5ab 0 5px,transparent 6px)!important; }

  html body[data-page] .fleet-options { padding:56px 0; }
  html body[data-page] .fleet-options__head { gap:18px; margin-bottom:28px; }
  html body[data-page] .fleet-options__head h2 { font-size:36px!important; line-height:1.12!important; }
  html body[data-page] .fleet-options__head h2 br { display:none; }
  html body[data-page] .fleet-options__head>p { font-size:15px; line-height:1.75; }
  html body[data-page] .fleet-options__grid { display:grid; grid-template-columns:minmax(0,1fr); overflow:visible; gap:24px; padding:0; }
  html body[data-page] .fleet-card__media { height:auto; aspect-ratio:3/2; padding:16px; }
  html body[data-page] .fleet-card__media>img { object-fit:contain; }
  html body[data-page] .fleet-card__body { padding:22px; }
  html body[data-page] .fleet-card dl>div { grid-template-columns:.85fr 1.15fr; min-height:54px; gap:12px; }
  html body[data-page] .fleet-card dt { font-size:12px; }
  html body[data-page] .fleet-card dd { font-size:13px; line-height:1.5; }
  html body[data-page] .fleet-card__body>a { min-height:48px; }
  html body[data-page] .fleet-options__note { font-size:12px; line-height:1.7; }

  html body[data-page] footer.site-footer { padding-bottom:0!important; }
  html body[data-page] footer.site-footer .footer-final__main { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:28px 20px!important; padding:36px 0!important; }
  html body[data-page] footer.site-footer .footer-final__main>* { min-width:0; }
  html body[data-page] footer.site-footer .footer-final__brand { grid-column:1/-1; padding-bottom:26px; border-bottom:1px solid #ffffff26; }
  html body[data-page] footer.site-footer .adaptive-logo { width:180px; }
  html body[data-page] footer.site-footer .adaptive-logo img { width:100%!important; height:auto!important; }
  html body[data-page] footer.site-footer .footer-final__brand>p { margin:20px 0!important; max-width:340px; }
  html body[data-page] footer.site-footer .footer-socials { gap:12px; }
  html body[data-page] footer.site-footer .footer-socials>a { width:44px; height:44px; }
  html body[data-page] footer.site-footer .footer-final__main nav>a { font-size:13px!important; min-height:44px; display:flex; align-items:center; line-height:1.5!important; padding:8px 0!important; }
  html body[data-page] footer.site-footer .footer-final__main small { margin-bottom:14px; }
  html body[data-page] footer.site-footer .footer-final__info { grid-column:1/-1; border-top:1px solid #ffffff26; padding-top:28px; gap:6px; }
  html body[data-page] footer.site-footer .footer-final__info>p { align-items:flex-start!important; margin:0 0 10px; }
  html body[data-page] footer.site-footer .footer-final__info>a { min-height:44px; overflow-wrap:anywhere; }
  html body[data-page] footer.site-footer .footer-final__info>p>svg { margin-top:4px; }
  html body[data-page] footer.site-footer .footer-final__bottom { display:flex; flex-direction:column; align-items:flex-start; gap:16px; padding:24px 0 calc(90px + env(safe-area-inset-bottom))!important; }
  html body[data-page] footer.site-footer .footer-final__bottom>div { display:flex; flex-wrap:wrap; gap:8px 16px; }
  html body[data-page] footer.site-footer .footer-final__bottom a { display:inline-flex; align-items:center; min-height:36px; }
  html body[data-page] .whatsapp-float { width:52px; height:52px; right:12px; bottom:calc(12px + env(safe-area-inset-bottom)); }
  html body[data-page] .whatsapp-float svg { width:30px; height:30px; }
  html body[data-page]:is(.menu-open,.quote-open) .whatsapp-float,
  html body[data-page]:has(.cookie-bar.is-visible) .whatsapp-float { visibility:hidden; pointer-events:none; }
  html body[data-page] .quote-modal__panel { width:100%; max-height:calc(100dvh - 24px); grid-template-columns:1fr; }
  html body[data-page] .quote-modal__form { padding:24px 20px; }
  html body[data-page] .form-row { grid-template-columns:1fr; gap:0; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .reveal { opacity:1; transform:none; transition:none; }
}
@media(max-width:767px) {
  html body[data-page="home"] #hero-slider .bp-hero__stage { gap:0!important; }
  html body[data-page] .fleet-options__head>* { min-width:0; }
  html body[data-page] .services-gallery__track { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; padding:0 20px; touch-action:auto; user-select:auto; }
  html body[data-page] .services-gallery__card { width:100%; height:auto; }
  html body[data-page] .services-gallery__card[aria-hidden="true"] { display:none; }
  html body[data-page] .services-gallery__image { height:220px; }
  html body[data-page] .services-gallery__copy { height:auto; min-height:220px; padding:24px 24px 76px; }
  html body[data-page] .services-gallery__copy p { max-width:none; font-size:15px; line-height:1.7; }
  html body[data-page] .services-gallery__controls { display:none; }
  html body[data-page] footer.site-footer .footer-final__actions>div { display:flex; flex-wrap:wrap; gap:10px; }
}
@media(max-width:767px) {
  html body[data-page] .fleet-options__head { grid-template-columns:minmax(0,1fr); }
  html body[data-page] .fleet-options__head h2 { overflow-wrap:break-word; }
}
@media(max-width:767px) {
  html body[data-page="home"] main section#hero-slider:is(.is-tone-dark,:not(.is-tone-dark)) .bp-hero__actions>a {
    background:#fff!important; border-color:#fff!important; color:#20321e!important; -webkit-text-fill-color:#20321e!important;
  }
}
/* Road service: retain the whole vehicle and avoid nested narrow panels. */
.road-operation-image { display:none; }
@media(max-width:767px) {
  html body[data-page="road_service"] main :is(.service-detail-lead,.service-scope,.service-advantages,.service-industries,.service-longform) { padding:48px 0!important; }
  html body[data-page="road_service"] main :is(.service-detail-lead__grid,.service-scope__panel,.service-advantages>.container,.service-industries>.container) { grid-template-columns:minmax(0,1fr); gap:28px; }
  html body[data-page="road_service"] main :is(h2,h3,p) { overflow-wrap:break-word; }
  html body[data-page="road_service"] main :is(.service-detail-lead h2,.service-scope__heading h2,.service-advantages__content>h2,.service-section-head h2,.service-longform header h2) { font-size:clamp(30px,8vw,38px)!important; line-height:1.15!important; letter-spacing:-.6px!important; text-align:left!important; text-wrap:pretty; }
  html body[data-page="road_service"] main :is(.service-detail-lead p,.service-scope__heading>p,.service-advantages__lead,.service-section-head>p,.service-longform p) { font-size:15px!important; line-height:1.8!important; }
  html body[data-page="road_service"] .service-detail-lead__grid { gap:28px; }
  html body[data-page="road_service"] .service-detail-lead__image { min-height:0!important; height:auto; aspect-ratio:3/2; }
  html body[data-page="road_service"] .service-contact-strip { padding:0 0 16px; }
  html body[data-page="road_service"] .service-contact-strip>.container { width:calc(100% - 40px)!important; padding:0; }
  html body[data-page="road_service"] .service-contact-strip a { overflow-wrap:anywhere; font-size:15px; }
  html body[data-page="road_service"] .service-scope>.container { width:100%!important; }
  html body[data-page="road_service"] .service-scope__panel { padding:32px 20px; border-radius:0; }
  html body[data-page="road_service"] .service-scope__grid { grid-template-columns:minmax(0,1fr); }
  html body[data-page="road_service"] .service-scope__grid article { grid-template-columns:32px minmax(0,1fr); gap:14px; padding:20px 0; }
  html body[data-page="road_service"] .service-scope__grid p { font-size:14px; line-height:1.75; }
  html body[data-page="road_service"] .service-advantages>.container { width:100%!important; padding:0!important; border:0; border-radius:0; box-shadow:none!important; overflow:visible; }
  html body[data-page="road_service"] .service-advantages__media { min-height:0!important; height:auto!important; padding:16px 20px 0; background:#fff!important; overflow:visible; }
  html body[data-page="road_service"] .road-operation-image { display:block; width:100%; height:auto; object-fit:contain; }
  html body[data-page="road_service"] .service-advantages__media-label { position:static; display:inline-block; margin:12px 0 0; padding:8px 10px; background:#eef2eb; color:#466245!important; border:0; font-size:10px; line-height:1.4; letter-spacing:.8px; backdrop-filter:none; }
  html body[data-page="road_service"] .service-advantages__content { padding:28px 20px 32px!important; min-width:0; }
  html body[data-page="road_service"] .service-advantages__content>span { margin-bottom:14px; font-size:10px; letter-spacing:1px; }
  html body[data-page="road_service"] .service-advantages__content>h2 br { display:none; }
  html body[data-page="road_service"] .service-advantages__lead { margin:20px 0 24px; }
  html body[data-page="road_service"] .service-advantages__grid article { display:block; min-height:0; padding:20px 0; }
  html body[data-page="road_service"] .service-advantages__grid h3 { font-size:18px!important; line-height:1.4!important; margin:0 0 8px; }
  html body[data-page="road_service"] .service-advantages__grid p { font-size:14px!important; line-height:1.75!important; }
  html body[data-page="road_service"] .service-industries>.container { width:100%!important; padding:32px 20px; border-radius:0; }
  html body[data-page="road_service"] .service-industries .service-section-head { padding:0; }
  html body[data-page="road_service"] .service-industries__grid { grid-template-columns:minmax(0,1fr); border-left:0; }
  html body[data-page="road_service"] .service-industries__grid article { min-height:0; padding:20px 0; border-right:0; background:transparent; }
  html body[data-page="road_service"] .service-industries__grid h3 { font-size:19px; margin-bottom:8px; }
  html body[data-page="road_service"] .service-industries__grid p { font-size:14px; line-height:1.75; }
  html body[data-page="road_service"] .service-longform header { padding-bottom:24px; }
  html body[data-page="road_service"] .service-longform article { padding-top:28px; }
  html body[data-page="road_service"] .service-longform h3 { font-size:23px!important; line-height:1.35; letter-spacing:-.3px; }
}
@media(max-width:767px) {
  html body[data-page="road_service"] main .reveal { opacity:1; transform:none; transition:none; }
}
