
/* REALPRO V40 — mobile hero composition and first-fold refinement */

@media (max-width: 760px){
  html, body{
    overflow-x:clip !important;
  }

  /* Remove the white fog / bloom that was being generated beside internal
     hero copy on compact screens. */
  html body.rp-standardized-page .rp-page-hero__cloud,
  html body.rp-standardized-page .rp-page-hero__copy::before{
    display:none !important;
    content:none !important;
    opacity:0 !important;
    filter:none !important;
    background:none !important;
  }

  /* Use a cinematic dark overlay on mobile instead of the former white wash. */
  html body.rp-standardized-page:not(.rp-page-contact) main#main > section.rp-page-hero::before{
    background:
      radial-gradient(circle at 12% 74%, rgba(211,47,47,.16), transparent 31%),
      linear-gradient(180deg, rgba(5,12,23,.35) 0%, rgba(5,12,23,.17) 33%, rgba(5,12,23,.70) 72%, rgba(5,12,23,.94) 100%),
      linear-gradient(90deg, rgba(7,17,31,.88) 0%, rgba(7,17,31,.48) 68%, rgba(7,17,31,.26) 100%) !important;
  }

  html body.rp-standardized-page:not(.rp-page-contact) main#main > section.rp-page-hero::after{
    background-image:
      linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px) !important;
    background-size:86px 86px !important;
    opacity:.34 !important;
  }

  /* Every internal hero occupies a clean, deliberate first screen. */
  html body.rp-standardized-page:not(.rp-page-contact) main#main > section.rp-page-hero{
    min-height:100svh !important;
    height:auto !important;
    padding:0 !important;
    display:flex !important;
    align-items:flex-end !important;
    overflow:hidden !important;
  }

  html body.rp-standardized-page:not(.rp-page-contact) .rp-page-hero__media,
  html body.rp-standardized-page:not(.rp-page-contact) .rp-page-hero__media img{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
  }

  html body.rp-standardized-page:not(.rp-page-contact) .rp-page-hero__media img{
    object-fit:cover !important;
    filter:saturate(.88) contrast(1.05) brightness(.70) !important;
  }

  html body.rp-page-about .rp-page-hero__media img{
    object-position:58% center !important;
  }
  html body.rp-page-services .rp-page-hero__media img{
    object-position:52% center !important;
  }
  html body.rp-page-process .rp-page-hero__media img{
    object-position:50% center !important;
  }

  html body.rp-standardized-page:not(.rp-page-contact) .rp-page-hero__content{
    position:relative !important;
    z-index:5 !important;
    width:calc(100% - 42px) !important;
    min-height:100svh !important;
    margin-inline:auto !important;
    padding:clamp(104px,14svh,126px) 0 clamp(30px,5svh,46px) !important;
    display:flex !important;
    align-items:flex-end !important;
  }

  html body.rp-standardized-page:not(.rp-page-contact) .rp-page-hero__copy{
    position:relative !important;
    width:100% !important;
    max-width:100% !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-end !important;
    align-items:flex-start !important;
    gap:0 !important;
    filter:none !important;
    text-shadow:0 9px 28px rgba(0,0,0,.26) !important;
  }

  html body.rp-standardized-page:not(.rp-page-contact) .rp-page-hero__copy .eyebrow{
    margin:0 0 13px !important;
    font-size:clamp(10px,2.75vw,12px) !important;
    line-height:1.2 !important;
    letter-spacing:.19em !important;
  }

  html body.rp-standardized-page:not(.rp-page-contact) .rp-page-hero__copy h1,
  html body.rp-standardized-page:not(.rp-page-contact) .rp-page-hero__copy .rp-unified-hero-title{
    width:100% !important;
    max-width:11.5ch !important;
    margin:0 !important;
    padding:0 !important;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    font-size:clamp(42px,12.1vw,58px) !important;
    font-weight:650 !important;
    line-height:.92 !important;
    letter-spacing:-.045em !important;
    text-wrap:balance !important;
  }

  html body.rp-page-services .rp-page-hero__copy h1{
    max-width:10.8ch !important;
    font-size:clamp(40px,11.5vw,55px) !important;
  }

  html body.rp-standardized-page:not(.rp-page-contact) .rp-page-hero__copy .lead,
  html body.rp-standardized-page:not(.rp-page-contact) .rp-page-hero__copy > p:not(.eyebrow){
    width:100% !important;
    max-width:35ch !important;
    margin:18px 0 0 !important;
    color:rgba(255,255,255,.82) !important;
    -webkit-text-fill-color:rgba(255,255,255,.82) !important;
    font-size:clamp(15px,4.05vw,17px) !important;
    line-height:1.52 !important;
    font-weight:520 !important;
  }

  html body.rp-standardized-page:not(.rp-page-contact) .rp-page-hero__copy .button-row{
    width:100% !important;
    margin-top:22px !important;
  }

  html body.rp-standardized-page:not(.rp-page-contact) .rp-page-hero__copy .button-row .btn{
    width:100% !important;
    min-height:56px !important;
    border-radius:999px !important;
  }

  /* HOME: reserve the entire first viewport for the hero message. The trusted
     logo carousel is moved into normal flow after the first screen. */
  html body.rp-page-index main#main > section.hero{
    min-height:auto !important;
    height:auto !important;
    padding:0 !important;
    display:block !important;
    overflow:hidden !important;
  }

  html body.rp-page-index .hero-inner{
    position:relative !important;
    z-index:5 !important;
    width:calc(100% - 42px) !important;
    min-height:100svh !important;
    margin-inline:auto !important;
    padding:clamp(104px,14svh,126px) 0 clamp(34px,5svh,50px) !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:flex-start !important;
  }

  html body.rp-page-index .hero-inner .kicker{
    margin-bottom:18px !important;
  }

  html body.rp-page-index .hero-inner h1{
    max-width:10.5ch !important;
    font-size:clamp(48px,13.9vw,66px) !important;
    line-height:.92 !important;
  }

  html body.rp-page-index .hero-copy{
    max-width:34ch !important;
    margin:22px 0 25px !important;
    font-size:clamp(15px,4.05vw,17px) !important;
    line-height:1.56 !important;
  }

  html body.rp-page-index .trusted-hero{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    transform:none !important;
    width:calc(100% - 22px) !important;
    margin:0 auto 30px !important;
  }

  /* Preserve the approved Contact mobile composition exactly. */
  html body.rp-page-contact .rp-contact-hero__cloud,
  html body.rp-page-contact .rp-contact-hero__content::before{
    display:none !important;
  }
}

@media (max-width: 390px){
  html body.rp-standardized-page:not(.rp-page-contact) .rp-page-hero__content,
  html body.rp-page-index .hero-inner{
    width:calc(100% - 34px) !important;
  }

  html body.rp-standardized-page:not(.rp-page-contact) .rp-page-hero__copy h1,
  html body.rp-standardized-page:not(.rp-page-contact) .rp-page-hero__copy .rp-unified-hero-title{
    font-size:clamp(38px,11.6vw,50px) !important;
  }

  html body.rp-page-services .rp-page-hero__copy h1{
    font-size:clamp(36px,10.9vw,47px) !important;
  }

  html body.rp-page-index .hero-inner h1{
    font-size:clamp(45px,13.4vw,59px) !important;
  }
}

@media (max-width:760px) and (max-height:700px){
  html body.rp-standardized-page:not(.rp-page-contact) .rp-page-hero__content,
  html body.rp-page-index .hero-inner{
    padding-top:92px !important;
    padding-bottom:24px !important;
  }

  html body.rp-standardized-page:not(.rp-page-contact) .rp-page-hero__copy h1,
  html body.rp-standardized-page:not(.rp-page-contact) .rp-page-hero__copy .rp-unified-hero-title{
    font-size:clamp(35px,10.3vw,47px) !important;
  }

  html body.rp-page-services .rp-page-hero__copy h1{
    font-size:clamp(33px,9.8vw,44px) !important;
  }

  html body.rp-standardized-page:not(.rp-page-contact) .rp-page-hero__copy .lead,
  html body.rp-standardized-page:not(.rp-page-contact) .rp-page-hero__copy > p:not(.eyebrow){
    margin-top:13px !important;
    font-size:14px !important;
    line-height:1.42 !important;
  }

  html body.rp-standardized-page:not(.rp-page-contact) .rp-page-hero__copy .button-row{
    margin-top:16px !important;
  }

  html body.rp-page-index .hero-inner h1{
    font-size:clamp(41px,12vw,54px) !important;
  }
  html body.rp-page-index .hero-copy{
    margin:16px 0 18px !important;
    font-size:14px !important;
    line-height:1.46 !important;
  }
}
