/* Horizon Hub V23 — mobile polish + continuous YouTube rail */

/* YouTube: one horizontal line, all active videos, continuous loop on desktop + mobile. */
.v11-video-section .video-marquee,
.v11-video-section .v17-video-grid{overflow:hidden!important;width:100%!important;max-width:none!important;margin:24px 0 0!important;padding:0!important;display:block!important}
.v11-video-section .video-marquee-track,
.v11-video-section .v17-video-grid{
  display:flex!important;grid-template-columns:none!important;gap:18px!important;width:max-content!important;
  padding:8px 0 20px!important;animation:hhV23VideoRail 48s linear infinite!important;will-change:transform
}
.v11-video-section .youtube-card{flex:0 0 310px!important;width:310px!important;min-width:310px!important;transform:none!important}
.v11-video-section .youtube-card img{width:100%!important;aspect-ratio:16/9!important;object-fit:cover!important;border-radius:18px!important}
.v11-video-section .youtube-play{top:126px!important}
.v11-video-section .video-marquee:hover .video-marquee-track{animation-play-state:paused!important}
@keyframes hhV23VideoRail{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}

@media(max-width:720px){
  /* Homepage hero: keep current content, make visual larger and fill dead space with lightweight mobile-only particles. */
  .v12-hero{position:relative;isolation:isolate;overflow:hidden!important}
  .v12-hero:before,.v12-hero:after{content:"";position:absolute;pointer-events:none;z-index:0;border-radius:50%;filter:blur(.2px)}
  .v12-hero:before{width:230px;height:230px;right:-82px;top:180px;background:
    radial-gradient(circle at 25% 25%,rgba(21,217,160,.34) 0 3px,transparent 4px),
    radial-gradient(circle at 64% 18%,rgba(38,126,255,.24) 0 4px,transparent 5px),
    radial-gradient(circle at 48% 58%,rgba(21,217,160,.25) 0 3px,transparent 4px),
    radial-gradient(circle at 76% 72%,rgba(38,126,255,.20) 0 3px,transparent 4px);
    animation:hhV23ParticlesA 8s ease-in-out infinite alternate}
  .v12-hero:after{width:190px;height:190px;right:-54px;bottom:72px;border:1px solid rgba(21,217,160,.18);box-shadow:0 0 0 34px rgba(21,217,160,.035),0 0 0 68px rgba(36,122,210,.025);animation:hhV23ParticlesB 12s linear infinite}
  .v12-hero-grid{position:relative;z-index:1;gap:20px!important}
  .v12-collage{min-height:360px!important;margin-top:4px!important;transform:scale(1.04);transform-origin:center}
  @keyframes hhV23ParticlesA{to{transform:translate(-18px,24px) rotate(12deg)}}
  @keyframes hhV23ParticlesB{to{transform:rotate(360deg)}}

  /* Homepage service cards: two per row on normal phones, remove featured-card full-width override. */
  .home-services.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
  .home-services .service-card,.home-services .service-card-featured,.home-services .service-card:nth-child(1){grid-column:auto!important;display:block!important;min-width:0!important}
  .home-services .service-image,.home-services .service-card:nth-child(1) .service-image{width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:1/1!important}
  .home-services .service-image img{width:100%!important;height:100%!important;object-fit:cover!important}
  .home-services .service-body,.home-services .service-card:nth-child(1) .service-body{padding:12px!important}
  .home-services .service-body h3,.home-services .service-card:nth-child(1) h3{font-size:1rem!important;line-height:1.2!important;margin:4px 0 7px!important}
  .home-services .service-body p{font-size:.76rem!important;line-height:1.45!important;min-height:0!important}
  .home-services .service-body>div:last-child{font-size:.68rem!important;align-items:flex-end!important}
  .home-services .service-badges{gap:4px!important;flex-wrap:wrap!important}
  .home-services .service-badges em{font-size:.54rem!important;padding:4px 6px!important}

  /* Mobile menu breathing room. */
  .main-nav{left:18px!important;right:18px!important;padding:18px!important}
  .mega-menu-v13{padding:12px!important;border-radius:16px!important;overflow:hidden!important}
  .mega-divisions{padding:0 8px!important}
  .mega-label{padding-left:8px!important;margin-bottom:12px!important}
  .mega-division-grid{grid-template-columns:1fr!important;gap:8px!important}
  .mega-division-grid a{padding:14px 16px!important}
  .mega-popular{padding:14px 16px!important;border-radius:14px!important}

  /* YouTube remains a single moving row on phones, with a useful card width. */
  .v11-video-section .youtube-card{flex-basis:260px!important;width:260px!important;min-width:260px!important}
  .v11-video-section .youtube-play{top:103px!important}
  .v11-video-section .video-marquee-track,.v11-video-section .v17-video-grid{gap:14px!important;animation-duration:38s!important}
}

@media(max-width:390px){
  .home-services.service-grid{gap:9px!important}
  .home-services .service-body{padding:10px!important}
  .home-services .service-body p{font-size:.72rem!important}
  .v12-collage{min-height:335px!important;transform:scale(1.02)}
}

@media(max-width:330px){.home-services.service-grid{grid-template-columns:1fr!important}}

@media(prefers-reduced-motion:reduce){
  .v11-video-section .video-marquee-track,.v11-video-section .v17-video-grid{animation:none!important;overflow-x:auto!important}
  .v12-hero:before,.v12-hero:after{animation:none!important}
}
