/* HOME FINAL FIX — scoped to the homepage only. Preserve all existing subpages. */
html,body{width:100%;max-width:100%;overflow-x:hidden}
body{margin:0}

/* Remove duplicate/missing pseudo icon boxes while keeping the real SVG icons. */
.main-nav .nav-dd>a::before,
.main-nav>a::before,
.main-nav .mega-grid a::before,
.main-nav .area-grid-mega a::before,
.site-footer li a::before,
.footer-brand .footer-contact-line::before,
.area-grid a::before{content:none!important;display:none!important}

/* ---------- Homepage hero ---------- */
.hero{background:#0b2d63!important;color:#fff;position:relative;overflow:hidden;height:auto!important;min-height:0!important}
.hero:before{display:none!important}
.hero:after{content:'NEXT APPLIANCE REPAIR';position:absolute;left:-30px;bottom:-34px;font-size:clamp(70px,10vw,150px);line-height:1;font-weight:900;color:rgba(255,255,255,.035);white-space:nowrap;pointer-events:none}
.hero-grid{width:min(1240px,calc(100% - 40px));margin:0 auto;min-height:520px!important;height:auto!important;display:grid!important;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr)!important;gap:42px!important;align-items:center!important;position:relative;z-index:2;padding:52px 0!important}
.hero-grid>div:first-child{position:relative!important;inset:auto!important;width:auto!important;height:auto!important;padding:0!important;margin:0!important;display:block!important;z-index:3!important}
.eyebrow{font-size:16px!important;line-height:1.35!important;letter-spacing:3px!important;color:#ffb000!important;font-weight:900!important;text-transform:uppercase!important;margin:0 0 15px!important}
.hero h1{font-size:clamp(48px,4.4vw,64px)!important;line-height:1.02!important;letter-spacing:-1.4px!important;max-width:620px!important;margin:0 0 22px!important;color:#fff!important}
.hero p{font-size:18px!important;line-height:1.55!important;max-width:610px!important;color:#f5f8fc!important;margin:0!important}
.actions{display:flex!important;gap:14px!important;flex-wrap:wrap!important;margin:26px 0 20px!important}
.actions .btn{min-height:54px!important;padding:15px 24px!important;border-radius:10px!important;font-size:17px!important}
.actions .btn .icon{width:21px!important;height:21px!important;margin-right:7px!important;color:inherit!important}
.hero-checks{font-size:16px!important;line-height:1.6!important;max-width:620px!important;color:#fff!important;margin:0!important;white-space:normal!important}
.hero-media{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;margin:0!important;z-index:2!important;display:block!important}
.hero-media .van{display:block!important;width:100%!important;height:auto!important;max-width:none!important;aspect-ratio:1536/590!important;object-fit:contain!important;object-position:center!important;border-radius:16px!important;box-shadow:0 20px 45px rgba(0,0,0,.25)!important}
.appliance-float{position:absolute!important;right:18px!important;bottom:-38px!important;display:flex!important;gap:10px!important;z-index:4!important}
.mini-appliance{width:126px!important;background:#fff!important;color:#0b2d63!important;border:3px solid #fff!important;border-radius:14px!important;overflow:hidden!important;box-shadow:0 12px 30px rgba(0,0,0,.24)!important}
.mini-appliance img{display:block!important;width:100%!important;height:86px!important;object-fit:cover!important}
.mini-appliance span{display:block!important;background:#0b2d63!important;color:#fff!important;text-align:center!important;font-size:12px!important;font-weight:900!important;padding:8px 3px!important}

/* ---------- Homepage services: appliance image + name + Explore only ---------- */
.homepage .service-badge-grid,.service-badge-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:22px!important}
.service-badge-card{display:flex!important;flex-direction:column!important;min-height:0!important;height:100%!important;background:#fff!important;border:1px solid #dce7f1!important;border-radius:16px!important;overflow:hidden!important;box-shadow:0 8px 24px rgba(16,42,84,.07)!important;transition:transform .2s ease,box-shadow .2s ease!important}
.service-badge-card:hover{transform:translateY(-4px)!important;box-shadow:0 15px 34px rgba(16,42,84,.12)!important}
.service-badge-media{height:220px!important;min-height:220px!important;background:#f7f9fb!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}
.service-badge-media img{width:100%!important;height:100%!important;display:block!important;object-fit:cover!important;object-position:center!important}
.service-badge-copy{padding:15px 17px 17px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;min-width:0!important}
.service-badge-copy h3{margin:0!important;color:#0b2f68!important;font-family:NextMachina,Arial,sans-serif!important;font-size:19px!important;line-height:1.2!important;font-weight:900!important;text-decoration:none!important}
.service-badge-copy:after{content:'Explore →'!important;color:#1769d6!important;font-family:Arial,sans-serif!important;font-size:13px!important;font-weight:900!important;white-space:nowrap!important}

/* Keep homepage container centered and prevent side gaps/overflow. */
.section>.container{width:min(1240px,calc(100% - 40px))!important;margin-left:auto!important;margin-right:auto!important}

/* ---------- Mobile: text first, complete van image second, no horizontal scroll ---------- */
@media(max-width:900px){
  html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
  .hero{width:100%!important}
  .hero-grid{width:100%!important;display:flex!important;flex-direction:column!important;gap:0!important;min-height:0!important;padding:0!important}
  .hero-grid>div:first-child{order:1!important;width:100%!important;padding:38px 20px 30px!important;box-sizing:border-box!important}
  .hero-media{order:2!important;width:100%!important;padding:0 14px 34px!important;box-sizing:border-box!important}
  .hero-media .van{width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;border-radius:12px!important;box-shadow:0 12px 28px rgba(0,0,0,.24)!important}
  .hero h1{font-size:clamp(40px,10vw,52px)!important;line-height:1.04!important;letter-spacing:-.8px!important;margin-bottom:18px!important}
  .hero p{font-size:16px!important;line-height:1.58!important}
  .actions{margin:22px 0 18px!important;gap:12px!important}
  .actions .btn{width:auto!important;min-height:52px!important;padding:14px 18px!important;font-size:16px!important}
  .hero-checks{font-size:15px!important;line-height:1.65!important}
  .appliance-float{position:static!important;margin:14px 0 0!important;display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:8px!important}
  .mini-appliance{width:100%!important;border-radius:10px!important;border-width:2px!important}
  .mini-appliance img{height:76px!important}
  .mini-appliance span{font-size:11px!important;padding:7px 2px!important}
  .section>.container{width:calc(100% - 28px)!important}
  .service-badge-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
  .service-badge-media{height:160px!important;min-height:160px!important}
  .service-badge-copy{padding:12px!important;display:block!important}
  .service-badge-copy h3{font-size:17px!important;line-height:1.18!important}
  .service-badge-copy:after{display:block!important;margin-top:7px!important;font-size:12px!important}
}
@media(max-width:480px){
  .hero-grid>div:first-child{padding:32px 16px 26px!important}
  .hero-media{padding:0 10px 28px!important}
  .hero h1{font-size:38px!important}
  .actions{flex-direction:column!important;align-items:stretch!important}
  .actions .btn{width:100%!important}
  .service-badge-grid{grid-template-columns:1fr 1fr!important}
  .service-badge-media{height:145px!important;min-height:145px!important}
  .service-badge-copy h3{font-size:16px!important}
}
