/*
 * CSP Essential Core 1.3.0 — módulo estrutural reutilizável
 * Ajuste isolado baseado na composição mobile de referência.
 * Não altera copy, cores cadastradas, assets, blog ou layout desktop.
 */
.hero-mobile-visual{display:none}

/* 1.2.13 — mapa sempre visível.
 * O container tinha data-reveal="image-right" e podia permanecer com opacity:0/clip-path.
 * A animação é desabilitada apenas para o bloco do mapa, em desktop e mobile.
 */
.delivery-visual[data-reveal]{
  opacity:1!important;
  transform:none!important;
  clip-path:none!important;
  visibility:visible!important;
}
.delivery-visual .delivery-map-stage,
.delivery-visual .delivery-map,
.delivery-visual .delivery-visual__card{
  opacity:1!important;
  visibility:visible!important;
}


/* Removido da composição do Hero em desktop e mobile, sem apagar o conteúdo do banco. */
.hero-copy > .eyebrow{display:none!important}

@media (max-width:760px){
  html,body{max-width:100%;overflow-x:hidden}

  .hero{
    position:relative!important;
    display:block!important;
    width:100%!important;
    min-height:100svh!important;
    height:100svh!important;
    padding:68px 0 10px!important;
    overflow:hidden!important;
    align-items:initial!important;
  }
  .hero .shell{width:min(100% - 28px,1200px)!important}
  .hero-grid,.hero-grid--left{
    display:block!important;
    position:relative!important;
    z-index:3!important;
    width:100%!important;
    min-height:calc(100svh - 78px)!important;
    height:calc(100svh - 78px)!important;
  }

  /* No mobile só existe uma composição visual: foto atrás da copy. */
  .hero-visual--desktop{display:none!important}
  .hero-mobile-visual{
    display:block!important;
    position:absolute!important;
    z-index:1!important;
    top:62px!important;
    right:0!important;
    left:0!important;
    width:100%!important;
    height:clamp(300px,53svh,356px)!important;
    overflow:visible!important;
    pointer-events:none!important;
  }
  .hero-mobile-visual::before{
    content:""!important;
    position:absolute!important;
    z-index:2!important;
    inset:0!important;
    pointer-events:none!important;
    background:
      linear-gradient(90deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 92%,transparent) 22%,color-mix(in srgb,var(--bg) 48%,transparent) 50%,transparent 72%),
      linear-gradient(0deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 76%,transparent) 14%,transparent 42%)!important;
  }
  .hero-mobile-visual::after{content:none!important;display:none!important}
  .hero-mobile-photo{
    position:absolute!important;
    z-index:1!important;
    top:0!important;
    right:-46px!important;
    left:auto!important;
    width:auto!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:right top!important;
    transform:none!important;
    transform-origin:right top!important;
    opacity:1!important;
    filter:none!important;
    mix-blend-mode:normal!important;
    display:block!important;
  }

  .hero-copy{
    position:relative!important;
    z-index:4!important;
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:100%!important;
    min-height:0!important;
    padding:clamp(142px,25svh,168px) 0 0!important;
    padding-right:0!important;
    padding-left:0!important;
    margin:0!important;
    transform:none!important;
    opacity:1!important;
  }
  .hero-copy::after{content:none!important;display:none!important}

  .hero-copy h1{
    position:relative!important;
    z-index:5!important;
    width:100%!important;
    max-width:13.5ch!important;
    margin:0 0 18px!important;
    font-size:clamp(1.72rem,7.8vw,2.08rem)!important;
    line-height:1.06!important;
    letter-spacing:-.025em!important;
    font-weight:700!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  @supports ((-webkit-background-clip:text) or (background-clip:text)){
    .hero-copy h1{
      background:linear-gradient(180deg,var(--text) 0%,color-mix(in srgb,var(--text) 82%,var(--accent)) 100%)!important;
      -webkit-background-clip:text!important;
      background-clip:text!important;
      -webkit-text-fill-color:transparent!important;
      color:transparent!important;
    }
  }

  .hero-copy .lead{
    position:relative!important;
    z-index:5!important;
    width:100%!important;
    max-width:31ch!important;
    margin:0!important;
    font-size:calc(clamp(.76rem,3.35vw,.84rem) + 2px)!important;
    line-height:1.48!important;
  }

  .hero-actions{
    position:relative!important;
    z-index:5!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:6px!important;
    width:100%!important;
    max-width:100%!important;
    margin:20px 0 0!important;
  }
  .hero-actions .button{
    width:100%!important;
    max-width:100%!important;
    min-height:42px!important;
    padding:10px 18px!important;
    font-size:.82rem!important;
  }
  .hero-actions .button-link{
    width:auto!important;
    min-height:28px!important;
    padding:4px 8px!important;
    justify-self:center!important;
    font-size:.75rem!important;
  }

  /* Mantém "Atuação" dentro do primeiro viewport, como na referência. */
  .hero-pillars{
    position:relative!important;
    z-index:5!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-top:clamp(22px,3.5svh,34px)!important;
    margin-bottom:2px!important;
    padding-top:0!important;
    overflow:hidden!important;
  }
  .hero-pillars__topline{
    justify-content:center!important;
    width:max-content!important;
    margin:0 auto 7px!important;
    padding-bottom:5px!important;
    font-size:.56rem!important;
    letter-spacing:.2em!important;
  }
  .hero-pillars__viewport{
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)!important;
    mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)!important;
  }
  .hero-pillars__track{font-size:.62rem!important;gap:10px!important}
  .hero-architecture,.hero-photo-glow,.hero-scroll-cue{display:none!important}

  /* Mantém o mapa centralizado, sem regressão do hotfix atual. */
  .delivery-visual{order:2!important;min-height:300px!important;margin-top:4px!important;width:100%!important;max-width:100%!important;overflow:hidden!important;transform:none!important}
  .delivery-map-stage{width:100%!important;max-width:100%!important;min-height:240px!important;margin-inline:auto!important;display:flex!important;align-items:center!important;justify-content:center!important;transform:none!important}
  .delivery-map{display:block!important;width:min(92%,420px)!important;max-width:100%!important;height:auto!important;margin-inline:auto!important;transform:none!important;animation:none!important}
  .delivery-visual__card{left:50%!important;right:auto!important;bottom:6px!important;transform:translateX(-50%)!important;min-width:0!important;max-width:90%!important;padding:14px 16px!important;text-align:center!important}
}

@media (max-width:480px){
  .hero{padding-top:68px!important;padding-bottom:8px!important}
  .hero-grid,.hero-grid--left{min-height:calc(100svh - 76px)!important;height:calc(100svh - 76px)!important}
  .hero-mobile-visual{top:60px!important;height:clamp(294px,51svh,338px)!important}
  .hero-mobile-photo{right:-48px!important}
  .hero-copy{padding-top:clamp(138px,24svh,158px)!important}
  .hero-copy h1{font-size:clamp(1.68rem,7.65vw,1.96rem)!important;max-width:13.2ch!important;font-weight:700!important;margin-bottom:18px!important}
  .hero-copy .lead{font-size:calc(clamp(.74rem,3.2vw,.81rem) + 2px)!important;line-height:1.48!important;max-width:31ch!important}
}

@media (max-width:380px){
  .hero .shell{width:min(100% - 24px,1200px)!important}
  .hero-mobile-photo{right:-52px!important}
  .hero-copy{padding-top:134px!important}
  .hero-copy h1{font-size:1.64rem!important;max-width:13ch!important}
  .hero-copy .lead{font-size:calc(.74rem + 2px)!important;line-height:1.46!important}
  .hero-actions{margin-top:18px!important}
  .hero-actions .button{min-height:40px!important}
  .hero-pillars__track{font-size:.59rem!important}
}

@media (max-height:620px) and (max-width:760px){
  .hero-copy{padding-top:126px!important}
  .hero-mobile-visual{height:292px!important}
  .hero-copy h1{font-size:1.62rem!important;line-height:1.03!important;margin-bottom:12px!important;font-weight:700!important}
  .hero-copy .lead{font-size:calc(.72rem + 2px)!important;line-height:1.40!important}
  .hero-actions{margin-top:12px!important;gap:4px!important}
  .hero-actions .button{min-height:38px!important;padding:8px 16px!important}
  .hero-actions .button-link{min-height:24px!important}
  .hero-pillars{margin-top:16px!important;padding-top:0!important}
}

/* Dra. Marcia Lima · HOTFIX 1.0.1
 * O módulo legado usa regras genéricas .hero no mobile. Estas regras finais
 * preservam a Hero em vídeo e impedem que a primeira dobra ultrapasse a viewport.
 */
@media(max-width:760px){
  .page-type-home .hero.hero-video{
    position:relative!important;
    display:flex!important;
    width:100%!important;
    height:100svh!important;
    min-height:620px!important;
    max-height:none!important;
    padding:70px 0 18px!important;
    align-items:flex-end!important;
    overflow:hidden!important;
  }
  .page-type-home .hero-video__media{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important}
  .page-type-home .hero-video__element{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;transform:none!important;opacity:1!important}
  .page-type-home .hero-video__content{position:relative!important;z-index:4!important;width:min(100% - 28px,1200px)!important;height:auto!important;min-height:0!important}
}
@media(max-width:760px) and (max-height:720px){
  .page-type-home .hero.hero-video{min-height:560px!important;padding:62px 0 10px!important}
}
