/* Homepage only; service pages retain their approved styles. */
.home-page .hero{height:auto;min-height:540px;background:#090b0d}
.home-page .hero-inner{height:auto;min-height:540px;padding-block:54px}
.home-page .hero-copy{width:42%;max-width:545px;padding:20px 18px 20px 0;background:rgba(5,5,5,.24)}
.home-page .hero h1{font-size:var(--type-page-h1);line-height:1.05;letter-spacing:-.015em;text-transform:none}
.home-page .hero h1 span{white-space:normal}
.home-page .hero-copy>p:not(.hero-service-line){width:100%;max-width:440px;font-size:16px;line-height:1.65;margin-top:22px}
.home-page .hero-actions{gap:16px;margin-top:26px;flex-wrap:wrap}
.home-page .hero-actions .button{min-height:48px;min-width:0;padding-inline:24px;white-space:normal}
.home-page .hero-service-line{max-width:465px;line-height:1.6}
.home-page .home-call-mobile,.home-page .home-cta-whatsapp{display:none}
.home-hero-media{position:absolute;inset:0;display:block}
.home-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center}
.home-page .quote-panel{background:linear-gradient(110deg,#151719,#090a0b 75%)}
.home-page .fleet-card,.home-page .fleet-card:first-child{height:auto;min-height:0;aspect-ratio:auto}
.home-page .fleet-image{position:relative;inset:auto;aspect-ratio:4/3}
.home-page .fleet-image::after{background:linear-gradient(transparent 80%,rgba(0,0,0,.3))}
.home-page .fleet-image img,.home-page .fleet-card:not(:first-child) .fleet-image img{object-fit:cover;object-position:var(--fleet-position,center)}
.home-page .fleet-slide,.home-page .fleet-slide.is-active,.home-page .fleet-card:hover .fleet-slide.is-active{transform:none}
.home-page .fleet-copy{position:relative;inset:auto;min-height:92px;background:#080808;border-top:1px solid var(--border)}
/* Compact dots, accessible names and distinct keyboard focus. */
.home-page .fleet-dots{bottom:8px;gap:0;padding:0 5px;border-radius:20px;background:rgba(5,5,5,.32)}
.home-page .fleet-dot,.home-page .fleet-dot.is-active{display:grid;place-items:center;width:24px;height:28px;padding:0;border:0;border-radius:3px;background:transparent;box-shadow:none;transform:none;cursor:pointer}
.home-page .fleet-dot::after{content:"";width:5px;height:5px;border:1px solid rgba(255,255,255,.75);border-radius:50%;background:rgba(255,255,255,.4);box-shadow:0 1px 4px rgba(0,0,0,.6)}
.home-page .fleet-dot.is-active::after{border-color:var(--gold-highlight);background:var(--gold-highlight)}
.home-page .fleet-dot:focus-visible{outline:2px solid var(--gold-highlight);outline-offset:-2px}
.home-page .fleet-image .featured-badge{font-size:10px}
.home-page .featured-section{grid-template-columns:minmax(0,43%) minmax(0,1fr);border:1px solid var(--border);border-radius:6px;overflow:hidden;width:min(1440px,calc(100% - 64px));margin-block:12px 24px}
.home-page .featured-image{grid-row:1/3;min-height:0;aspect-ratio:4/3;align-self:center}
.home-page .featured-image img{object-position:center;object-fit:cover}
.home-page .featured-content{padding:32px 34px 20px}
.home-page .vehicle-option{display:grid;grid-template-columns:30px 1fr auto;gap:7px 12px;align-items:center;text-align:left;margin:0 34px 30px;padding:16px;background:#10100e;border-color:var(--border)}
.home-page .vehicle-option>.icon{grid-column:1;grid-row:1/3;width:26px;height:26px}
.home-page .vehicle-option h3{margin:0;font-size:13px}
.home-page .vehicle-option p{grid-column:2;max-width:340px;margin:0;font-size:11px}
.home-page .vehicle-option .button{grid-column:3;grid-row:1/3;width:230px;min-width:230px;height:auto;min-height:42px;max-width:none;padding-inline:14px;white-space:nowrap;line-height:1.25;text-align:center}
.home-page .service-card{aspect-ratio:auto;display:flex;flex-direction:column}
.home-page .service-card>img{position:relative;inset:auto;aspect-ratio:4/3;height:auto;object-position:center}
.home-page .service-shade{display:none}
.home-page .service-copy{position:relative;inset:auto;flex:1;min-height:92px;padding:20px}
.home-page .final-cta{height:clamp(460px,40vw,760px);background:#070707}
.home-page .final-cta>picture{inset:0;width:100%;-webkit-mask-image:none;mask-image:none}
.home-page .final-cta>picture>img{object-fit:cover;object-position:center top}
.home-page .final-cta .cta-overlay{background:linear-gradient(90deg,rgba(7,7,7,.96),rgba(7,7,7,.9) 28%,rgba(7,7,7,.65) 39%,rgba(7,7,7,.1) 52%,transparent 68%)}
.home-page .final-cta .cta-content h2{max-width:420px}
.home-page .final-cta .cta-locations{max-width:425px}
@media(min-width:1600px){.home-page .hero,.home-page .hero-inner{min-height:620px}}
@media(min-width:901px) and (max-width:1199px){
 .home-page .featured-content{padding:26px 24px 20px}
 .home-page .vehicle-option{margin:0 24px 24px;grid-template-columns:26px 1fr}
 .home-page .vehicle-option .button{grid-column:2;grid-row:auto;width:auto;min-width:0;max-width:100%;white-space:normal;justify-self:start}
}
@media(min-width:768px) and (max-width:1199px){
 .home-page .hero{display:flex;flex-direction:column;min-height:0}
 .home-hero-media{position:relative;inset:auto;aspect-ratio:4/3;overflow:hidden}
 .home-hero-media img{object-fit:contain}
 .home-page .hero-overlay{display:none}
 .home-page .hero-inner{min-height:0;padding-block:30px 40px;justify-content:center;text-align:center}
 .home-page .hero-copy{width:100%;max-width:600px;padding:0;background:none}
 .home-page .hero h1{font-size:40px}
 .home-page .hero-copy>p:not(.hero-service-line),.home-page .hero-service-line{margin-inline:auto!important;max-width:600px}
 .home-page .hero-actions{justify-content:center}
 .home-page .fleet-card:first-child{grid-column:auto}
 .home-page .fleet-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
 .home-page .fleet-copy{min-height:110px}
 .home-page .featured-content{padding:24px}
 .home-page .featured-specs{grid-template-columns:1fr}
 .home-page .vehicle-option{margin:0 24px 24px;grid-template-columns:26px 1fr}
 .home-page .vehicle-option .button{grid-column:2;grid-row:auto;width:auto;min-width:0;max-width:100%;white-space:normal}
 .home-page .final-cta>picture{width:100%}
 .home-page .final-cta>picture>img{object-fit:contain;object-position:right center}
 .home-page .final-cta .cta-content h2{max-width:310px}
 .home-page .final-cta .cta-content>p{max-width:40%}
 .home-page .final-cta .cta-buttons{flex-direction:column;gap:10px}
}
@media(max-width:767px){
 .home-page .hero{height:auto;display:flex;flex-direction:column;min-height:0;background:#070707}
 .home-hero-media{position:relative;inset:auto;height:min(104vw,560px);overflow:hidden;background:#070707}
 .home-hero-media img{height:100%;object-fit:cover;object-position:center 65%;-webkit-mask-image:none;mask-image:none}
 .home-hero-media::after{content:"";position:absolute;inset:auto 0 0;height:130px;pointer-events:none;background:linear-gradient(180deg,transparent,#070707)}
 .home-page .hero-inner{position:relative;z-index:2;width:calc(100% - 36px);min-height:0;margin-top:-96px;padding-block:0 40px;display:block}
 .home-page .hero-copy{display:block;min-height:0;width:100%;max-width:none;padding:0;background:none;text-align:center}
 .home-page .hero h1{width:auto;max-width:420px;margin:0 auto;font-size:var(--type-page-h1);line-height:1;text-align:center;text-shadow:0 2px 8px rgba(0,0,0,.55)}
 .home-page .hero-copy>p:not(.hero-service-line){width:auto;max-width:550px;margin:20px auto 0;font-size:14px;line-height:1.75;text-align:center}
 .home-page .hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:26px 0 0}
 .home-page .hero-actions .button{flex:0 1 auto;width:auto;max-width:100%;padding-inline:17px;height:auto;min-height:48px;font-size:11px;text-transform:none;gap:12px}
 .home-page .home-call-desktop{display:none}
 .home-page .home-hero-detail{display:none}
 .home-page .home-call-mobile{display:inline}
 .home-page .hero-service-line{margin:18px auto 0!important;max-width:460px;font-size:10px!important}
 .home-page .fleet-copy{min-height:82px;padding:14px 16px}
 .home-page .featured-section{grid-template-columns:1fr;width:calc(100% - 36px);margin-block:12px 24px}
 .home-page .featured-image{grid-row:auto;min-height:0;aspect-ratio:4/3}
 .home-page .featured-content{padding:26px 20px}
 .home-page .featured-specs{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px}
 .home-page .vehicle-option{grid-template-columns:26px 1fr;margin:0 20px 24px;padding:16px}
 .home-page .vehicle-option .button{grid-column:2;grid-row:auto;width:auto;min-width:0;max-width:100%;white-space:normal;justify-self:start}
 /* Same integrated portrait banner and actions as the approved service pages. */
 .home-page .final-cta{height:clamp(530px,130vw,590px);aspect-ratio:auto;min-height:0;display:block;padding:0;isolation:isolate}
 .home-page .final-cta>picture{position:absolute;inset:0;z-index:-2;width:100%;height:100%;aspect-ratio:auto;-webkit-mask-image:none;mask-image:none}
 .home-page .final-cta>picture>img{object-fit:cover;object-position:center}
 .home-page .final-cta .cta-overlay{display:block;position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.8),rgba(0,0,0,.45) 29%,transparent 43%,transparent 72%,rgba(0,0,0,.72))}
 .home-page .final-cta .cta-content{position:relative;display:block;width:calc(100% - 36px);height:100%;min-width:0;padding-block:24px 130px;text-align:center}
 .home-page .final-cta .cta-content h2{margin:0 auto;max-width:420px!important;padding:0;text-align:center;font-size:var(--type-section-h2);line-height:1.05}
 .home-page .final-cta .cta-content>p:not(.cta-locations){max-width:350px;margin:14px auto 0;font-size:14px;line-height:1.75;text-align:center}
 .home-page .final-cta .cta-buttons{position:absolute;inset:auto 0 20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:auto;max-width:none;margin:0;gap:10px;text-shadow:none}
 .home-page .final-cta .cta-buttons .button{display:flex;width:100%;min-width:0;max-width:100%;height:auto;min-height:48px;font-size:clamp(9.5px,2.7vw,11px);line-height:1.25;padding-inline:8px;gap:6px;white-space:normal}
 .home-page .final-cta .cta-buttons .button:first-child{grid-column:1/-1;order:3;min-height:50px;font-size:var(--type-button)}
 .home-page .final-cta .cta-buttons .button:nth-child(2){order:1}
 .home-page .final-cta .cta-buttons .button:nth-child(3){order:2}
 .home-page .final-cta .cta-buttons .icon{width:16px;height:16px;flex:0 0 auto}
}
@media(max-width:360px){
 .home-page .hero-actions{flex-direction:column;align-items:stretch}
 .home-page .hero-actions .button{width:100%}
 .home-page .final-cta>picture>img{object-fit:contain;background:#070707}
}
@media(min-width:481px) and (max-width:767px){
 /* Extra image room on wide phones keeps the wheels above the actions. */
 .home-page .final-cta{height:clamp(590px,90vw,700px)}
 .home-page .final-cta>picture>img{object-position:center 70%}
}
