/* =========================================================
   SUNZiO HOME HERO — sunset backdrop, matched badge rings,
   Florida coverage emphasis, driving fleet row
   ========================================================= */

.page-home .brand-hero.brand-hero-home{
  position:relative;
  width:100%;
  overflow:hidden;
  height:clamp(560px,68vw,760px);
  background:#06213A;
  isolation:isolate;
}

.page-home .brand-hero.brand-hero-home > .brand-hero-fleet{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 46%;
  display:block;
  z-index:0;
}

.page-home .brand-hero.brand-hero-home::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg,
    rgba(6,33,58,.12) 0%,
    rgba(6,33,58,.02) 26%,
    rgba(6,33,58,.28) 62%,
    rgba(6,33,58,.62) 84%,
    rgba(6,33,58,.82) 100%);
}

/* ---------- Circular badges (logo + Florida coverage) ---------- */

.page-home .brand-hero-badge-wrap{
  position:absolute;
  top:clamp(34px,11%,86px);
  width:clamp(130px,15.5vw,215px);
  z-index:4;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.page-home .brand-hero-badge-left{ left:clamp(14px,4vw,54px); }
.page-home .brand-hero-badge-right{ right:clamp(14px,4vw,54px); }

.page-home .badge-ring{
  display:block;
  width:100%;
  aspect-ratio:1/1;
  border-radius:50%;
  padding:5px;
  background:conic-gradient(from -90deg,
    #F58220 0deg 90deg,
    #55C8EF 90deg 180deg,
    #06213A 180deg 360deg);
  box-shadow:0 12px 28px rgba(4,18,32,.45);
}
.page-home .badge-photo{
  position:relative;
  width:100%;
  height:100%;
  border-radius:50%;
  overflow:hidden;
  background:#fff;
}
.page-home .fl-badge-star{
  position:absolute;
  left:67%;
  top:51%;
  transform:translate(-50%,-50%);
  color:#FFD447;
  font-size:clamp(15px,2.1vw,24px);
  line-height:1;
  text-shadow:0 1px 3px rgba(6,33,58,.55),0 0 5px rgba(255,255,255,.6);
  z-index:2;
  pointer-events:none;
}
.page-home .badge-photo img.brand-hero-badge{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

/* Zoom into the Florida silhouette + coverage pins, crop out the
   original side wordmark (it now lives in .fl-badge-caption above) */
.page-home .fl-badge-img{
  transform:scale(2.3);
  transform-origin:30% 53%;
}

.page-home .fl-badge-caption{
  order:-1;
  margin-bottom:8px;
  padding:5px 12px;
  border-radius:999px;
  text-align:center;
  line-height:1;
  background:rgba(6,33,58,.55);
  box-shadow:0 6px 16px rgba(4,18,32,.35);
  white-space:nowrap;
}
.page-home .fl-badge-caption .fb-sun,
.page-home .fl-badge-caption .fb-zio{
  font-family:"Arial Black","Helvetica Neue",Helvetica,Arial,sans-serif;
  font-weight:900;
  font-style:italic;
  font-size:clamp(13px,1.5vw,17px);
  letter-spacing:-.5px;
}
.page-home .fl-badge-caption .fb-sun{ color:#F58220; }
.page-home .fl-badge-caption .fb-zio{ color:#55C8EF; }
.page-home .fl-badge-caption .fb-sub{
  display:block;
  font-family:Arial,Helvetica,sans-serif;
  font-style:normal;
  font-weight:800;
  letter-spacing:2.4px;
  text-transform:uppercase;
  font-size:clamp(7px,.85vw,9px);
  color:#fff;
  margin-top:1px;
}

/* ---------- Center wordmark (matches the logo lockup) ---------- */

.page-home .brand-hero-sunzio-text{display:flex;justify-content:center;
  position:absolute;
  top:34%;
  left:50%;
  width:100%;
  z-index:3;
  text-align:center;
  transform:translate(-50%,-50%) skewX(-6deg);
  font-family:"Arial Black","Helvetica Neue",Helvetica,Arial,sans-serif;
  font-weight:900;
  font-style:italic;
  letter-spacing:-3px;
  font-size:clamp(46px,7.2vw,108px);
  line-height:.88;
  text-shadow:0 10px 28px rgba(4,18,32,.4);
}
.page-home .brand-hero-sun-word{ color:#F58220; }
.page-home .brand-hero-zio-word{
  background:linear-gradient(180deg,#9fe6ff 0%,#55C8EF 45%,#1357A6 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.page-home .brand-hero-auto-text{
  position:absolute;
  top:calc(34% + clamp(46px,6vw,84px));
  left:50%;
  width:100%;
  z-index:3;
  text-align:center;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  font-family:Arial,Helvetica,sans-serif;
  font-weight:800;
  letter-spacing:8px;
  font-size:clamp(13px,1.7vw,21px);
  color:#fff;
  text-shadow:0 4px 14px rgba(4,18,32,.45);
}
.page-home .brand-hero-auto-text::before,
.page-home .brand-hero-auto-text::after{
  content:'';
  width:clamp(20px,4vw,54px);
  height:2px;
  background:rgba(255,255,255,.65);
}

/* ---------- Fleet row: drive in, then turn to face forward ---------- */

.page-home .brand-hero-fleet-row{
  position:absolute;
  left:0;
  right:0;
  bottom:clamp(18px,4.5vh,48px);
  z-index:3;
  display:flex;
  justify-content:center;
  align-items:flex-end;
  gap:clamp(7px,1.3vw,20px);
  padding:0 clamp(10px,3vw,40px);
  perspective:1400px;transform:none;
}

.page-home .fleet-row-car{
  --start-x:-130vw;
  position:relative;
  width:clamp(74px,9.2vw,148px);
  aspect-ratio:3/2;
  object-fit:cover;
  border-radius:12px;
  border:2px solid rgba(255,255,255,.9);
  box-shadow:0 16px 26px rgba(4,18,32,.5);
  background:#0b2540;
  opacity:1;
  transform-style:preserve-3d;
  animation:none;
  animation-delay:calc(var(--i) * .15s + .1s);
}
.page-home .fleet-row-car:nth-child(even){ --start-x:130vw; }

.page-home .brand-hero-fleet-row::after{
  content:none;
}

@keyframes fleetDriveIn{
  0%{
    opacity:1;
    transform:translateX(var(--start-x)) translateY(12px) scale(.68) rotateY(72deg);
  }
  58%{
    opacity:1;
    transform:translateX(0) translateY(0) scale(1.05) rotateY(58deg);
  }
  82%{
    transform:translateX(0) translateY(0) scale(1) rotateY(0deg);
  }
  100%{
    opacity:1;
    transform:translateX(0) translateY(0) scale(1) rotateY(0deg);
  }
}

@media (prefers-reduced-motion: reduce){
  .page-home .fleet-row-car{
    animation:none;
    opacity:1;
    transform:none;
  }
}

/* ---------- Responsive ---------- */

@media (max-width:760px){
  .page-home .brand-hero.brand-hero-home{ height:auto; min-height:640px; padding-bottom:150px; }
  .page-home .brand-hero-badge-wrap{ width:clamp(78px,20vw,110px); top:10px; }
  .page-home .brand-hero-sunzio-text{ top:30%; letter-spacing:-2px; }
  .page-home .brand-hero-auto-text{ letter-spacing:5px; }
  .page-home .brand-hero-fleet-row{
    justify-content:flex-start;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    bottom:14px;
  }
  .page-home .brand-hero-fleet-row::-webkit-scrollbar{ display:none; }
  .page-home .fleet-row-car{ width:104px; flex:0 0 auto; }
}
