/* ================================================
   RESPONSIVE.CSS — Mobile-first fixes
   ================================================ */

/* ---- Tablet ≤ 1100px ---- */
@media (max-width: 1100px) {
  .hero__inner { grid-template-columns: 1fr 320px; gap: var(--s10); }
  .sobre__inner { grid-template-columns: 260px 1fr; }
  .servicos__grid { grid-template-columns: 1fr 1fr; }
  .svc--wide { grid-column: span 1; }
  .svc--cta { grid-row: span 1; }
  .abordagem__top { grid-template-columns: 1fr; gap: var(--s8); }
  .abordagem__steps { grid-template-columns: repeat(3, 1fr); }
  .faq__inner { grid-template-columns: 260px 1fr; gap: var(--s8); }
  .cta__inner { grid-template-columns: 1fr; gap: var(--s8); }
  .cta__right { flex-direction: row; align-items: center; }
  .palestras__layout { grid-template-columns: 320px 1fr; }
  .footer__inner { grid-template-columns: 1.5fr 1fr 1fr; }
}

/* ---- Tablet médio ≤ 900px ---- */
@media (max-width: 900px) {
  .palestras__layout {
    grid-template-columns: 1fr;
    gap: var(--s10);
  }
  .palestras__head {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--s4);
  }
  .palestras__note { text-align: left; max-width: 100%; }
  .palestras__img-wrap { max-width: 420px; aspect-ratio: 3/4; border-radius: var(--r-xl); }
  .palestras__img-wrap img { object-position: center 10% !important; }
}

/* ---- Mobile ≤ 768px ---- */
@media (max-width: 768px) {
  /* Nav */
  .nav__links { display: none; }
  .nav__cta   { display: none; }
  .nav__burger { display: flex; }

  /* Hero */
  .hero__inner {
    grid-template-columns: 1fr;
    padding-top: clamp(5rem, 18vw, 7rem);
    padding-bottom: clamp(6rem, 14vw, 9rem);
    gap: var(--s8);
  }
  .hero__h1 { font-size: clamp(2.6rem, 12vw, 4rem); }
  .hero__actions { flex-direction: column; align-items: stretch; }
  .hero__actions .btn-primary,
  .hero__actions .btn-ghost-light { width: 100%; justify-content: center; }
  .hero__scroll { display: none; }

  /* Hero visual: retrato abaixo do texto no mobile */
  .hero__visual {
    display: flex;
    order: 2;
    align-items: stretch;
    width: 100%;
  }
  .hero__frame {
    width: 100%;
    max-width: 100%;
    aspect-ratio: 4/5;
    border-radius: var(--r-xl);
  }
  .hero__frame img {
    object-position: center 10%;
  }
  .hero__frame-initials { font-size: 5rem; }
  /* Stats: grid 2+1 para não cortar o terceiro card */
  .hero__stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--s3);
  }
  /* Terceiro card (CRP) ocupa a linha inteira — destaque total */
  .hero__stat:last-child {
    grid-column: 1 / -1;
  }
  .hero__stat { padding: var(--s4) var(--s4); }
  .hero__stat-num { font-size: var(--t-lg); }

  /* Sobre: esconde coluna lateral, mostra imagem mobile inline */
  .sobre__inner { grid-template-columns: 1fr; }
  .sobre__img-col { display: none; }
  .sobre__img-mobile { display: block; }

  /* Serviços */
  .servicos__grid { grid-template-columns: 1fr; }
  .svc--wide { grid-column: span 1; }
  .svc--cta { grid-row: span 1; min-height: auto; }
  .servicos__head { flex-direction: column; align-items: flex-start; gap: var(--s4); }
  .servicos__note { text-align: left; }

  /* Palestras */
  .palestras__layout { grid-template-columns: 1fr; }
  .palestras__img-wrap { aspect-ratio: 3/4; border-radius: var(--r-xl); }
  .palestras__img-wrap img { object-position: center 10% !important; }
  .palestras__cta { flex-direction: column; align-items: flex-start; }
  .palestras__cta .btn-primary { width: 100%; justify-content: center; }

  /* Abordagem */
  .abordagem__top { grid-template-columns: 1fr; }
  .abordagem__steps { grid-template-columns: 1fr; }
  .step {
    border-right: none;
    border-bottom: 1px solid rgba(140,45,59,0.1);
    padding: var(--s6) 0;
  }
  .step:last-child { border-bottom: none; }
  .step:first-child,
  .step:nth-child(2),
  .step:last-child { padding-left: 0; }

  /* FAQ */
  .faq__inner { grid-template-columns: 1fr; }
  .faq__left  { position: static; }

  /* CTA */
  .cta__inner { grid-template-columns: 1fr; }
  .cta__right { flex-direction: column; align-items: flex-start; }
  .cta__h2 { font-size: clamp(2rem, 9vw, 3rem); }
  .cta__right .btn-primary { width: 100%; justify-content: center; }

  /* Footer */
  .footer__inner { grid-template-columns: 1fr 1fr; gap: var(--s8); }
  .footer__brand { grid-column: 1 / -1; }
  .footer__bottom { flex-direction: column; align-items: flex-start; gap: var(--s2); }
}

/* ---- Mobile pequeno ≤ 480px ---- */
@media (max-width: 480px) {
  .footer__inner { grid-template-columns: 1fr; }
  .wpp { bottom: var(--s4); right: var(--s4); width: 50px; height: 50px; }

  .hero__frame { aspect-ratio: 3/4; }
  .palestras__img-wrap { aspect-ratio: 3/4; }
  .palestras__img-wrap img { object-position: center 10% !important; }

  .pal-card { flex-direction: column; gap: var(--s3); }
  .pal-card__icon { width: 36px; height: 36px; }

  .palestras__head { margin-bottom: var(--s10); }
}

/* ---- Touch: desativa cursor custom ---- */
@media (hover: none) {
  #cursor { display: none; }
}

/* ---- Foco visível: garante acessibilidade em teclado ---- */
@media (prefers-reduced-motion: no-preference) {
  .nav__cta, .btn-primary, .btn-ghost-light, .btn-white {
    transition: transform 200ms var(--ease-out), box-shadow 200ms ease, background 200ms ease;
  }
}
