/*
 * Dra. Lidiane Sena — Hero mobile 1.2.14
 * 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. Lidiane Sena — HOTFIX 1.2.29
   Leitura mobile + Hero expansiva + menu vivo
   ========================================================= */

/* Na Home, o cabeçalho não ocupa a primeira dobra. Ele entra quando a Hero termina. */
.page-type-home .site-header{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate3d(0,-112%,0);
  transition:transform .38s cubic-bezier(.16,1,.3,1),opacity .26s ease,background .35s ease,border-color .35s ease!important;
}
.page-type-home .site-header.is-live-visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate3d(0,0,0)!important;
}
.page-type-home .site-header.is-live-visible.is-hidden{transform:translate3d(0,0,0)!important}

@media (max-width:760px){
  /*
   * A Hero deixa de ser forçada a caber em um único viewport.
   * Todo o conteúdo permanece na Hero e a página ganha altura quando necessário.
   */
  .page-type-home .hero{
    min-height:100svh!important;
    height:auto!important;
    padding:0 0 34px!important;
    overflow:hidden!important;
  }
  .page-type-home .hero-grid,
  .page-type-home .hero-grid--left{
    min-height:0!important;
    height:auto!important;
  }

  /* Foto sobe com a retirada do cabeçalho da primeira dobra. */
  .page-type-home .hero-mobile-visual{
    top:0!important;
    height:clamp(330px,50svh,420px)!important;
  }
  .page-type-home .hero-mobile-photo{
    top:28px!important;
    right:-38px!important;
  }

  /* H1 sobe, cresce e mantém espaçamento seguro entre linhas. */
  .page-type-home .hero-copy{
    height:auto!important;
    min-height:0!important;
    padding-top:clamp(168px,24svh,190px)!important;
  }
  .page-type-home .hero-copy h1{
    max-width:12.4ch!important;
    margin:0 0 20px!important;
    font-size:clamp(2.55rem,10.9vw,3.12rem)!important;
    line-height:1.075!important;
    letter-spacing:-.028em!important;
    overflow:visible!important;
    text-wrap:balance;
  }
  .page-type-home .hero-copy .lead{
    max-width:32ch!important;
    font-size:1.18rem!important;
    line-height:1.55!important;
  }
  .page-type-home .hero-actions{
    gap:9px!important;
    margin-top:22px!important;
  }
  .page-type-home .hero-actions .button{
    min-height:56px!important;
    padding:13px 20px!important;
    font-size:1.08rem!important;
    line-height:1.25!important;
  }
  .page-type-home .hero-actions .button-link{
    min-height:40px!important;
    padding:8px 10px!important;
    font-size:1rem!important;
    line-height:1.3!important;
  }

  /* Atendimento continua na Hero, mas passa a ser realmente legível. */
  .page-type-home .hero-attendance-strip{
    margin-top:18px!important;
    padding:15px 0 14px!important;
  }
  .page-type-home .hero-attendance-strip__label{
    margin-bottom:10px!important;
    font-size:.88rem!important;
    line-height:1.2!important;
  }
  .page-type-home .hero-attendance-strip__item{
    gap:4px!important;
    min-width:0!important;
  }
  .page-type-home .hero-attendance-strip__item strong{
    font-size:1.03rem!important;
    line-height:1.25!important;
  }
  .page-type-home .hero-attendance-strip__item small{
    font-size:.94rem!important;
    line-height:1.36!important;
    white-space:normal!important;
  }
  .page-type-home .hero-attendance-strip__note{
    margin-top:11px!important;
    padding-top:10px!important;
    font-size:.92rem!important;
    line-height:1.3!important;
  }
  .page-type-home .hero-attendance-strip__note b{font-size:1rem!important}

  /* Faixa de atuação permanece no fechamento da Hero. */
  .page-type-home .hero-pillars{
    margin-top:24px!important;
    margin-bottom:0!important;
  }
  .page-type-home .hero-pillars__topline{
    margin-bottom:10px!important;
    padding-bottom:7px!important;
    font-size:.86rem!important;
    line-height:1.2!important;
  }
  .page-type-home .hero-pillars__track{
    gap:12px!important;
    font-size:.94rem!important;
    line-height:1.45!important;
  }

  /* Escala de leitura da Home. Texto funcional nunca deve parecer microtexto. */
  .page-type-home .section p,
  .page-type-home .marquee-section p,
  .page-type-home .copy p,
  .page-type-home .about-rich,
  .page-type-home .section-head>p,
  .page-type-home .marquee-heading>p,
  .page-type-home .audience-item p,
  .page-type-home .delivery-copy p,
  .page-type-home .authority-item span,
  .page-type-home .faq-answer p,
  .page-type-home .contact-copy p,
  .page-type-home .footer-grid p{
    font-size:1.08rem!important;
    line-height:1.66!important;
  }
  .page-type-home .eyebrow{
    font-size:.88rem!important;
    line-height:1.3!important;
  }
  .page-type-home .button{
    font-size:1.02rem!important;
  }

  /* Cards de atuação. */
  .page-type-home .service-card__index{font-size:.84rem!important}
  .page-type-home .service-card h3{font-size:1.52rem!important;line-height:1.18!important}
  .page-type-home .service-card p{font-size:1.04rem!important;line-height:1.6!important}
  .page-type-home .service-card a{font-size:.98rem!important}

  /* Abordagem. */
  .page-type-home .approach-tab__index{font-size:.84rem!important}
  .page-type-home .approach-tab__text strong{font-size:1.04rem!important;line-height:1.25!important}
  .page-type-home .approach-tab__text small{font-size:.92rem!important;line-height:1.35!important}
  .page-type-home .approach-contact-card p{font-size:1.02rem!important}
  .page-type-home .approach-panel p{font-size:1.06rem!important;line-height:1.62!important}
  .page-type-home .approach-panel a{font-size:1rem!important}

  /* Público, atendimento, autoridade e contato. */
  .page-type-home .audience-item>span{font-size:.88rem!important}
  .page-type-home .attendance-tab>span{font-size:.84rem!important}
  .page-type-home .attendance-tab strong{font-size:1rem!important;line-height:1.25!important}
  .page-type-home .attendance-tab small{font-size:.9rem!important;line-height:1.35!important}
  .page-type-home .attendance-kicker,
  .page-type-home .attendance-details span,
  .page-type-home .attendance-imds-card__eyebrow{font-size:.86rem!important;line-height:1.3!important}
  .page-type-home .attendance-details strong{font-size:1.02rem!important;line-height:1.5!important}
  .page-type-home .attendance-location-link{font-size:1rem!important}
  .page-type-home .attendance-imds-card__copy strong{font-size:1.12rem!important}
  .page-type-home .attendance-imds-card__copy p{font-size:1rem!important;line-height:1.58!important}
  .page-type-home .faq-question{font-size:1.1rem!important;line-height:1.4!important}
  .page-type-home .contact-card span{font-size:.86rem!important}
  .page-type-home .contact-card strong{font-size:1.04rem!important;line-height:1.45!important}

  /* Blog exibido na Home. */
  .page-type-home #blog .post-card .tag{font-size:.84rem!important}
  .page-type-home #blog .post-card h3{font-size:1.45rem!important;line-height:1.22!important}
  .page-type-home #blog .post-card p{font-size:1.02rem!important;line-height:1.58!important}
  .page-type-home #blog .post-card__link{font-size:1rem!important}

  /* Rodapé: mantém hierarquia sem voltar a microtexto. */
  .page-type-home .footer-grid a{font-size:1rem!important;line-height:1.5!important}
  .page-type-home .footer-bottom{font-size:.92rem!important;line-height:1.55!important}
}

@media (max-width:480px){
  .page-type-home .hero-mobile-visual{top:-4px!important;height:clamp(322px,49svh,400px)!important}
  .page-type-home .hero-mobile-photo{right:-42px!important}
  .page-type-home .hero-copy{padding-top:clamp(160px,23.5svh,182px)!important}
  .page-type-home .hero-copy h1{font-size:clamp(2.42rem,10.8vw,2.9rem)!important;max-width:12.1ch!important}
  .page-type-home .hero-copy .lead{font-size:1.14rem!important;line-height:1.55!important}
}

@media (max-width:380px){
  .page-type-home .hero-copy{padding-top:156px!important}
  .page-type-home .hero-copy h1{font-size:2.34rem!important;line-height:1.08!important;max-width:11.9ch!important}
  .page-type-home .hero-copy .lead{font-size:1.08rem!important}
  .page-type-home .hero-attendance-strip__item strong{font-size:.98rem!important}
  .page-type-home .hero-attendance-strip__item small{font-size:.9rem!important}
}

/* Telas baixas não voltam a comprimir tipografia. A Hero cresce verticalmente. */
@media (max-height:620px) and (max-width:760px){
  .page-type-home .hero{height:auto!important;min-height:100svh!important}
  .page-type-home .hero-grid,.page-type-home .hero-grid--left{height:auto!important;min-height:0!important}
  .page-type-home .hero-mobile-visual{top:-6px!important;height:320px!important}
  .page-type-home .hero-copy{padding-top:150px!important}
  .page-type-home .hero-copy h1{font-size:2.38rem!important;line-height:1.08!important;margin-bottom:18px!important}
  .page-type-home .hero-copy .lead{font-size:1.08rem!important;line-height:1.5!important}
  .page-type-home .hero-actions{margin-top:20px!important;gap:8px!important}
  .page-type-home .hero-actions .button{min-height:54px!important;padding:12px 18px!important}
  .page-type-home .hero-pillars{margin-top:22px!important}
}

/* 1.2.31 — correção cirúrgica do degradê inferior da Hero mobile.
 * A foto foi deslocada 28px para baixo no 1.2.30; o overlay permanecia
 * terminando no limite anterior do container, criando uma linha horizontal.
 * O overlay agora acompanha exatamente o mesmo deslocamento, sem mover foto,
 * copy, CTAs, Atendimento ou Atuação.
 */
@media (max-width:760px){
  .page-type-home .hero-mobile-visual::before{
    inset:0 0 -28px 0!important;
  }
}
