/* YTT v3.68.180 — SINGLE SOURCE OF TRUTH: compact homepage hero only. */

/* Full-width structural breakout also lives here: no second hero patch. */
body.home .ytt175-hero-breakout,
body.front-page .ytt175-hero-breakout{
  position:relative!important;
  left:50%!important;
  width:100vw!important;
  max-width:100vw!important;
  margin:0 0 0 -50vw!important;
  padding:0!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
body.home .ytt175-hero-breakout .ytt169-hero,
body.front-page .ytt175-hero-breakout .ytt169-hero{
  width:100vw!important;
  max-width:none!important;
}
/* Only the shortcode ancestor path is allowed to expose the full-bleed hero. */
body.home:has(.ytt175-hero-breakout) :is(.elementor-widget-shortcode,.elementor-widget-shortcode>.elementor-widget-container,.entry-content,.site-main),
body.front-page:has(.ytt175-hero-breakout) :is(.elementor-widget-shortcode,.elementor-widget-shortcode>.elementor-widget-container,.entry-content,.site-main){
  overflow:visible!important;
}
@media(max-width:760px){
  body.home .elementor-widget-shortcode:has(.ytt175-hero-breakout),
  body.front-page .elementor-widget-shortcode:has(.ytt175-hero-breakout),
  body.home .elementor-widget-shortcode:has(.ytt175-hero-breakout)>.elementor-widget-container,
  body.front-page .elementor-widget-shortcode:has(.ytt175-hero-breakout)>.elementor-widget-container{
    margin:0!important;padding:0!important;
  }
}

/* Core slider mechanics */
.ytt175-hero-breakout .ytt169-hero{
  position:relative!important;
  isolation:isolate!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  border-radius:0!important;
  overflow:hidden!important;
  background:#082f20!important;
  color:#fff!important;
  box-shadow:none!important;
}
.ytt175-hero-breakout .ytt169-hero .ytt164-slides,
.ytt175-hero-breakout .ytt169-hero .ytt164-slide{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
}
.ytt175-hero-breakout .ytt169-hero .ytt164-slides{z-index:0!important;background:#082f20!important}
.ytt175-hero-breakout .ytt169-hero .ytt164-slide{opacity:0!important;pointer-events:none!important;transition:opacity .75s ease!important}
.ytt175-hero-breakout .ytt169-hero .ytt164-slide.is-active{opacity:1!important}
.ytt175-hero-breakout .ytt169-hero .ytt164-slide img{
  display:block!important;width:100%!important;height:100%!important;max-width:none!important;
  object-fit:cover!important;filter:none!important;transform:none!important;
}
.ytt175-hero-breakout .ytt169-hero .ytt163-hero-overlay{position:absolute!important;inset:0!important;z-index:1!important;pointer-events:none!important}
.ytt175-hero-breakout .ytt169-hero .ytt163-hero-inner{position:relative!important;z-index:3!important;color:#fff!important}
.ytt175-hero-breakout .ytt169-hero .ytt169-heading,
.ytt175-hero-breakout .ytt169-hero .ytt163-hero-intro{color:#fff!important}
.ytt175-hero-breakout .ytt169-hero .ytt169-highlight{color:#ff7b20!important}

/* Desktop: true full-width cinematic hero. */
@media(min-width:761px){
  .ytt175-hero-breakout .ytt169-hero{
    min-height:clamp(500px,42vw,620px)!important;
    height:clamp(500px,42vw,620px)!important;
    display:flex!important;align-items:center!important;
  }
  .ytt175-hero-breakout .ytt169-hero .ytt164-slide img{object-position:var(--ytt-hero-position,center center)!important}
  .ytt175-hero-breakout .ytt169-hero .ytt163-hero-overlay{
    background:
      linear-gradient(90deg,rgba(4,28,18,.84) 0%,rgba(4,28,18,.66) 30%,rgba(4,28,18,.24) 58%,rgba(4,28,18,.03) 80%),
      linear-gradient(0deg,rgba(3,23,14,.34) 0%,rgba(3,23,14,.04) 48%,transparent 70%)!important;
  }
  .ytt175-hero-breakout .ytt169-hero .ytt163-hero-inner{
    width:min(calc(100% - 144px),1600px)!important;
    min-height:100%!important;
    margin:0 auto!important;
    padding:54px 0 48px!important;
    display:flex!important;align-items:center!important;
  }
  .ytt175-hero-breakout .ytt169-copy{max-width:800px!important;margin:0!important;padding:0!important}
  .ytt175-hero-breakout .ytt169-heading{
    max-width:790px!important;margin:0!important;font-size:clamp(50px,5.4vw,76px)!important;
    line-height:1.02!important;letter-spacing:-.055em!important;font-weight:800!important;
    text-shadow:0 4px 28px rgba(0,0,0,.35)!important;
  }
  .ytt175-hero-breakout .ytt169-heading span{display:inline!important}
  .ytt175-hero-breakout .ytt169-hero .ytt163-hero-intro{
    max-width:680px!important;margin:26px 0 0!important;font-size:clamp(17px,1.45vw,20px)!important;
    line-height:1.6!important;font-weight:500!important;text-shadow:0 2px 16px rgba(0,0,0,.32)!important;
  }
  .ytt175-hero-breakout .ytt169-hero .ytt163-actions{display:flex!important;flex-wrap:wrap!important;gap:12px!important;margin:28px 0 0!important}
  .ytt175-hero-breakout .ytt169-hero .ytt163-btn{width:auto!important;min-width:0!important}
  .ytt175-hero-breakout .ytt169-hero .ytt164-controls{
    position:absolute!important;z-index:5!important;left:50%!important;right:auto!important;bottom:26px!important;top:auto!important;
    transform:translateX(-50%)!important;display:flex!important;align-items:center!important;gap:8px!important;padding:6px 9px!important;
    border:1px solid rgba(255,255,255,.26)!important;border-radius:999px!important;background:rgba(5,35,23,.52)!important;
    backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;
  }
}

/* Mobile: one image canvas, copy integrated into the lower tint. */
@media(max-width:760px){
  body.home .ytt175-hero-breakout,body.front-page .ytt175-hero-breakout{margin-top:0!important;padding-top:0!important}
  .ytt175-hero-breakout .ytt169-hero{
    --ytt180-mobile-h:clamp(350px,55vh,440px);
    height:var(--ytt180-mobile-h)!important;min-height:var(--ytt180-mobile-h)!important;max-height:none!important;
    display:block!important;
  }
  .ytt175-hero-breakout .ytt169-hero .ytt164-slide img{
    object-position:var(--ytt-hero-position-mobile,var(--ytt-hero-position,center 44%))!important;
  }
  /* Bottom-up tint: clean image at top, progressively stronger behind copy. */
  .ytt175-hero-breakout .ytt169-hero .ytt163-hero-overlay{
    background:linear-gradient(180deg,
      rgba(3,20,12,.08) 0%,
      rgba(3,20,12,.04) 28%,
      rgba(3,20,12,.13) 48%,
      rgba(3,20,12,.42) 66%,
      rgba(3,20,12,.78) 82%,
      rgba(3,20,12,.96) 100%)!important;
  }
  .ytt175-hero-breakout .ytt169-hero .ytt163-hero-inner{
    position:absolute!important;left:0!important;right:0!important;bottom:0!important;z-index:3!important;
    width:100%!important;max-width:none!important;min-height:0!important;margin:0!important;padding:0 16px 18px!important;
    background:transparent!important;text-align:left!important;
  }
  .ytt175-hero-breakout .ytt169-copy{width:min(91%,440px)!important;max-width:440px!important;margin:0!important;padding:0!important;text-align:left!important}
  .ytt175-hero-breakout .ytt169-heading{
    max-width:410px!important;margin:0!important;font-size:clamp(23px,7.15vw,31px)!important;line-height:1.05!important;
    letter-spacing:-.038em!important;font-weight:800!important;text-align:left!important;text-wrap:balance!important;
    text-shadow:0 3px 18px rgba(0,0,0,.52)!important;
  }
  .ytt175-hero-breakout .ytt169-hero .ytt163-hero-intro{
    max-width:390px!important;margin:7px 0 0!important;font-size:11.2px!important;line-height:1.43!important;font-weight:500!important;
    text-align:left!important;color:rgba(255,255,255,.97)!important;text-shadow:0 2px 12px rgba(0,0,0,.55)!important;
  }
  .ytt175-hero-breakout .ytt169-hero .ytt163-actions{
    display:flex!important;flex-wrap:nowrap!important;justify-content:flex-start!important;gap:7px!important;
    width:auto!important;max-width:370px!important;margin:11px 0 0!important;
  }
  .ytt175-hero-breakout .ytt169-hero .ytt163-btn{
    width:auto!important;min-width:0!important;min-height:36px!important;padding:8px 11px!important;border-radius:999px!important;
    font-size:9px!important;line-height:1.05!important;white-space:nowrap!important;
  }
  .ytt175-hero-breakout .ytt169-hero .ytt164-controls{
    position:absolute!important;z-index:5!important;top:12px!important;right:12px!important;bottom:auto!important;left:auto!important;transform:none!important;
    display:flex!important;align-items:center!important;gap:5px!important;min-height:31px!important;padding:3px 6px!important;
    border:1px solid rgba(255,255,255,.25)!important;border-radius:999px!important;background:rgba(4,28,18,.43)!important;
    backdrop-filter:blur(7px)!important;-webkit-backdrop-filter:blur(7px)!important;
  }
  .ytt175-hero-breakout .ytt169-hero .ytt164-dots{display:flex!important;align-items:center!important;gap:5px!important}
  .ytt175-hero-breakout .ytt169-hero .ytt164-dot{width:6px!important;height:6px!important;min-width:6px!important;padding:0!important;border:0!important;border-radius:999px!important;background:rgba(255,255,255,.55)!important}
  .ytt175-hero-breakout .ytt169-hero .ytt164-dot.is-active{width:18px!important;background:#ff7b20!important}
  .ytt175-hero-breakout .ytt169-hero .ytt164-arrow{display:grid!important;place-items:center!important;width:26px!important;height:26px!important;padding:0!important;border:0!important;border-radius:50%!important;background:rgba(255,255,255,.10)!important;color:#fff!important;font:400 19px/1 Arial,sans-serif!important}
}
@media(max-width:390px){
  .ytt175-hero-breakout .ytt169-hero{--ytt180-mobile-h:clamp(330px,52vh,405px)}
  .ytt175-hero-breakout .ytt169-hero .ytt163-hero-inner{padding:0 13px 15px!important}
  .ytt175-hero-breakout .ytt169-heading{font-size:22px!important}
  .ytt175-hero-breakout .ytt169-hero .ytt163-hero-intro{font-size:10.5px!important}
  .ytt175-hero-breakout .ytt169-hero .ytt163-btn{font-size:8.4px!important;padding:7px 9px!important}
}

/* Tighten the hand-off from hero to the first homepage section. */
body.home .ytt178-home > .ytt166-services:first-child,
body.front-page .ytt178-home > .ytt166-services:first-child{
  padding-top:34px!important;
}
@media(max-width:760px){
  body.home .ytt178-home > .ytt166-services:first-child,
  body.front-page .ytt178-home > .ytt166-services:first-child{
    padding-top:24px!important;
  }
}

@media(prefers-reduced-motion:reduce){.ytt175-hero-breakout .ytt169-hero .ytt164-slide{transition:none!important}}
