/* Homepage composition, consolidated from the approved hero patches.
   Scene layers stay in lp-hero-cinematic.css; shared guides stay in
   lp-hero-alignment.css. Keep specificity while the template base remains. */
.tmp-banner-one-area.moody-hero .hero-static-portrait {
    pointer-events: none;
    z-index: 3 !important;
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 97%, rgba(0,0,0,.85) 99%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 0%, #000 97%, rgba(0,0,0,.85) 99%, transparent 100%);
    filter: brightness(.94) contrast(1.03);
}
.tmp-banner-one-area.moody-hero > .container { position: relative; z-index: 5 !important; }
.tmp-banner-one-area.moody-hero #mouse-scroll { z-index: 6 !important; }
.tmp-banner-one-area.moody-hero .lp-v50-proof {
    color: #fff !important;
    font-size: 1.55rem !important;
    line-height: 1.7 !important;
    font-weight: 500 !important;
    letter-spacing: .004em !important;
    width: 560px !important;
    max-width: 560px !important;
    padding-left: 22px !important;
    border-left: 3px solid #FF9800 !important;
    text-align: left !important;
    text-shadow: 0 2px 14px rgba(0,0,0,.78) !important;
}
/* Live rotating words; old pill and DOM-based meteor selectors are unused. */
.tmp-banner-one-area.moody-hero .cd-words-wrapper > b.theme-gradient {
    color: #FF9800 !important;
    background: none !important;
    background-image: none !important;
    -webkit-background-clip: initial !important;
    background-clip: initial !important;
    -webkit-text-fill-color: #FF9800 !important;
    text-shadow: none !important;
}
@media (min-width: 992px) {
    .tmp-banner-one-area.moody-hero .moody-hero-headline {
        font-size: clamp(3.9rem, 5.25vw, 5.5rem) !important;
        line-height: 1.06 !important;
        letter-spacing: -1.8px !important;
    }
    .tmp-banner-one-area.moody-hero .moody-hero-headline .driven-by { margin-top: 18px !important; }
    .tmp-banner-one-area.moody-hero .lp-v50-proof {
        margin: 22px 0 0 0 !important;
        font-style: normal !important;
    }
    .tmp-banner-one-area.moody-hero .lp-v50-proof-spacer { pointer-events: none !important; }
    .tmp-banner-one-area.moody-hero .hero-static-portrait {
        max-height: none !important;
        filter: brightness(.92) contrast(1.04) saturate(.96) !important;
        -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 97%, rgba(0,0,0,.85) 99%, transparent 100%) !important;
        mask-image: linear-gradient(to bottom, #000 0%, #000 97%, rgba(0,0,0,.85) 99%, transparent 100%) !important;
    }
}
@media (min-width: 1200px) {
    .tmp-banner-one-area.moody-hero .banner-one-main-wrapper .inner { transform: translateY(-108px) !important; }
    .tmp-banner-one-area.moody-hero .moody-hero-headline {
        font-size: clamp(4rem, 5.35vw, 5.65rem) !important;
        line-height: 1.005 !important;
    }
    .tmp-banner-one-area.moody-hero .moody-hero-headline .driven-by { margin-top: 14px !important; }
    .tmp-banner-one-area.moody-hero .button-area { margin-top: 20px !important; }
    .tmp-banner-one-area.moody-hero .lp-v50-proof {
        width: 590px !important;
        max-width: 590px !important;
        margin-top: 26px !important;
        font-size: 1.7rem !important;
    }
    .tmp-banner-one-area.moody-hero .hero-static-portrait {
        left: 70% !important;
        height: 75vh !important;
        bottom: -1.5vh !important;
        filter: brightness(.94) contrast(1.05) saturate(.98) !important;
    }
}
@media (min-width: 992px) and (max-width: 1199px) {
    .tmp-banner-one-area.moody-hero .banner-one-main-wrapper .inner { transform: translateY(-72px) !important; }
    .tmp-banner-one-area.moody-hero .button-area { margin-top: 19px !important; }
    .tmp-banner-one-area.moody-hero .lp-v50-proof {
        width: 510px !important;
        max-width: 510px !important;
        padding-left: 22px !important;
        font-size: 1.22rem !important;
    }
    .tmp-banner-one-area.moody-hero .hero-static-portrait { left: 68.5% !important; height: 71vh !important; bottom: -1vh !important; }
}
@media (max-width: 991px) {
    /* Let the mobile composition reserve its own document height. The desktop
       absolute hero and spacer remain unchanged. */
    #home.moody-hero {
        position: relative !important;
        display: block !important;
        height: auto !important;
        min-height: 0 !important;
        padding-top: 140px !important;
        padding-bottom: calc(var(--lp-mobile-portrait-height) + 24px) !important;
        --lp-mobile-portrait-height: clamp(380px, 116vw, 660px);
    }
    #home.moody-hero + .hero-scroll-spacer { height: 0; }
    .tmp-banner-one-area.moody-hero .banner-one-main-wrapper .inner { transform: none !important; }
    .tmp-banner-one-area.moody-hero .button-area { margin-top: 18px !important; }
    .tmp-banner-one-area.moody-hero .lp-v50-proof {
        width: min(100%, 470px) !important;
        max-width: 470px !important;
        margin-top: 25px !important;
        font-size: 1.18rem !important;
        line-height: 1.58 !important;
        padding-left: 18px !important;
    }
    .tmp-banner-one-area.moody-hero .hero-static-portrait {
        left: 50% !important;
        height: var(--lp-mobile-portrait-height) !important;
        max-height: none !important;
        max-width: none;
        width: auto !important;
        bottom: 0 !important;
        object-position: bottom center !important;
        opacity: 1 !important;
    }
}
@media (max-width: 575px) {
    .tmp-banner-one-area.moody-hero .lp-v50-proof {
        width: min(100%, 390px) !important;
        max-width: 390px !important;
        font-size: 1.10rem !important;
        line-height: 1.60 !important;
        padding-left: 16px !important;
    }
}
@media (min-width: 768px) and (max-width: 991px) {
    #home.moody-hero {
        min-height: max(900px, 100svh) !important;
        padding-top: 180px !important;
        padding-bottom: 100px !important;
        --lp-mobile-portrait-height: min(76svh, 760px);
    }
    #home .lp-hero-copy { max-width: 46%; }
    #home.moody-hero .hero-static-portrait { left: 75% !important; }
}

/* Expand the composition around the approved copy; keep the portrait anchored
   to the usable canvas instead of drifting toward an ultrawide screen edge. */
@media(min-width:1600px) {
 .tmp-banner-one-area.moody-hero .banner-one-main-wrapper .inner { max-width:760px; }
 .tmp-banner-one-area.moody-hero .hero-static-portrait {
  left:calc(50% + min(20vw,calc(var(--lp-content-max) * .28))) !important;
  height:calc(75vh * var(--lp-portrait-scale,1)) !important;
 }
}
@media(min-width:1800px) {
 #home.moody-hero .moody-hero-headline { font-size:clamp(6.8rem,calc(6.8rem + (100vw - 1600px) * .003),7.4rem) !important; }
}
@media(min-width:2560px) { #home { --lp-portrait-scale:1.08; } }
@media(min-width:3200px) { #home { --lp-portrait-scale:1.12; } }
@media(min-width:2560px) and (max-height:1500px) {
 #home { --lp-portrait-scale:1.08; }
}
