
/* Responsividade preservando o desktop aprovado.
   Este arquivo só atua abaixo de 1200px para impedir cortes no hero,
   na logo, no texto e na foto em celulares/tablets. */

@media (min-width: 1200px){
  /* Desktop congelado: nenhuma alteração visual. */
}

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

  .hero-shell{
    background:#020a12;
  }

  .hero-image-wrap{
    width:100%;
    max-width:100%;
    overflow:visible;
    background:#020a12;
  }

  /* A imagem aprovada passa a ser exibida inteira, sem crop. */
  .hero-reference{
    display:block;
    width:100%;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center top !important;
  }

  .hero-image-wrap::after{
    display:none !important;
  }

  .mobile-nav{
    position:relative;
    z-index:20;
    background:rgba(2,10,18,.98);
    border-top:1px solid rgba(255,255,255,.08);
    border-bottom:1px solid rgba(255,255,255,.08);
    backdrop-filter:blur(12px);
  }

  .mobile-nav .navbar-brand{
    max-width:70%;
    white-space:normal;
    line-height:1.1;
    font-family:var(--font-brand);
    letter-spacing:.08em;
    color:#fff;
  }

  .mobile-nav .navbar-toggler{
    border-color:rgba(211,166,78,.45);
  }

  .mobile-nav .navbar-toggler:focus{
    box-shadow:0 0 0 .18rem rgba(211,166,78,.28);
  }

  .mobile-nav .navbar-toggler-icon{
    filter:invert(1) sepia(.2) saturate(1.2);
  }

  .mobile-nav .nav-link{
    color:rgba(255,255,255,.86);
    padding:.85rem 0;
    border-bottom:1px solid rgba(255,255,255,.06);
  }

  .mobile-nav .nav-link:hover,
  .mobile-nav .nav-link:focus{
    color:var(--gold);
  }

  .stat-strip{
    margin-top:0;
  }
}

@media (max-width: 991.98px){
  .section{
    padding-left:0;
    padding-right:0;
  }

  .stat-card{
    min-height:132px;
  }

  .service-card,
  .book-card,
  .media-card,
  .timeline-item{
    overflow:hidden;
  }
}

@media (max-width: 767.98px){
  .hero-reference{
    width:100%;
  }

  .mobile-nav .container-fluid{
    padding-left:1rem !important;
    padding-right:1rem !important;
  }

  .mobile-nav .navbar-brand{
    font-size:.98rem;
  }

  .stat-strip .row{
    --bs-gutter-x:.75rem;
    --bs-gutter-y:.75rem;
  }

  .stat-card{
    min-height:118px;
  }

  .stat-card strong{
    font-size:clamp(1.7rem,8vw,2.25rem);
  }

  .stat-card span{
    font-size:.84rem;
    line-height:1.35;
  }

  .text-block,
  .section-heading p,
  .service-card p,
  .book-info p,
  .media-card p,
  .timeline-item p{
    text-align:justify;
    text-justify:inter-word;
    hyphens:auto;
  }
}

@media (max-width: 430px){
  .hero-reference{
    width:100%;
  }

  .section{
    padding-top:3rem;
    padding-bottom:3rem;
  }

  .about-section h2,
  .section-heading h2,
  .tools-panel h2,
  .contact-panel h2{
    font-size:clamp(1.8rem,9vw,2.25rem);
  }

  .book-cover{
    height:auto !important;
    min-height:0;
  }

  .book-cover img{
    height:auto;
    object-fit:contain;
    background:#fff;
  }
}

/* Correção final mobile: impede qualquer corte no hero aprovado. */
@media (max-width: 1199.98px){
  header.hero-shell,
  .hero-shell,
  .hero-image-wrap{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
  }

  .hero-image-wrap{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
  }

  .hero-reference{
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:auto !important;
    object-fit:contain !important;
    object-position:center top !important;
    transform:none !important;
    position:relative !important;
    inset:auto !important;
  }

  .hero-click-menu,
  .hero-cta-overlay{
    display:none !important;
  }

  .mobile-nav{
    margin-top:0 !important;
  }
}

@media (max-width: 575.98px){
  .hero-reference{
    width:100vw !important;
    max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
  }

  .mobile-nav .navbar-brand{
    font-size:.9rem !important;
    max-width:calc(100% - 62px) !important;
  }
}
