/* ============================================================
   RESPONSIVE — Breakpoints completos
   max-width: 1023, 767, 639, 424, 374, 319
   min-width: 1440, 1920
   ============================================================ */

/* ============================================================
   BASE — Overflow e animações de reveal
   ============================================================ */
@media (max-width: 1023px) {
  .reveal-left  { transform: translateY(28px); }
  .reveal-right { transform: translateY(28px); }
}

/* ============================================================
   NAVBAR
   ============================================================ */
@media (max-width: 1023px) {
  .navbar-links     { display: none; }
  .navbar-hamburger { display: flex !important; }
}

@media (max-width: 424px) {
  .navbar           { padding: 1rem 0; }
  .navbar.scrolled  { padding: 0.75rem 0; }
  .navbar-logo-name { font-size: 1rem; }
}

/* ============================================================
   HERO
   ============================================================ */
@media (max-width: 1023px) {
  .hero-grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .hero           { text-align: center; }
  .hero-subtitle  { max-width: 100%; }
  .hero-actions   { justify-content: center; }
  .hero-stats     { justify-content: center; }
  .hero-photo-wrap {
    max-width: 560px;
    margin: 0 auto;
    aspect-ratio: 3/4;
  }
}

@media (max-width: 767px) {
  .hero-title      { font-size: clamp(1.875rem, 8vw, 2.5rem); }
  .hero-photo-wrap { max-width: 100%; aspect-ratio: 4/5; }
}

@media (max-width: 639px) {
  .hero            { padding: calc(var(--section-py) + 4rem) 0 4rem; }
  .hero-actions    { flex-direction: column; align-items: center; }
  .hero-actions .btn { width: 100%; justify-content: center; }
  .hero-stats      { flex-direction: column; gap: 0.5rem; }
  .hero-stats-dot  { display: none; }
}

/* ============================================================
   SOBRE
   ============================================================ */
@media (max-width: 1023px) {
  .about-grid       { grid-template-columns: 1fr; gap: 3rem; }
  .about-image-wrap { position: relative; }
  .about-photo      { aspect-ratio: 4/5; max-width: 100%; }
  .about-exp-badge  {
    position: static;
    margin-top: 0.75rem;
    width: fit-content;
    margin-left: auto;
  }
}

@media (max-width: 639px) {
  .about-exp-badge { padding: 0.75rem 1rem; }
  .about-exp-badge .number { font-size: 1.5rem; }
}

/* ============================================================
   BENEFÍCIOS
   ============================================================ */
@media (max-width: 1023px) {
  .benefits-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 639px) {
  .benefits-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   COMO FUNCIONA
   ============================================================ */
@media (max-width: 639px) {
  .step-item   { grid-template-columns: 3rem 1fr; gap: 1rem; padding: 1.5rem 0; }
  .step-number { font-size: 1.75rem; }
}

/* ============================================================
   ESPECIALIDADES
   ============================================================ */
@media (max-width: 1023px) {
  .specialties-grid { grid-template-columns: 1fr; }
  .specialties-grid .specialty-item:nth-child(odd) { border-right: none; }
}

@media (max-width: 639px) {
  .specialty-item {
    grid-template-columns: 2.5rem 1fr;
    gap: 1rem;
    padding: 1.5rem 1rem;
  }
  .specialty-arrow { display: none; }
}

/* ============================================================
   DEPOIMENTOS
   ============================================================ */
@media (max-width: 1023px) {
  .testimonial-card     { min-width: calc((100vw - 4.5rem) / 2); width: calc((100vw - 4.5rem) / 2); }
  .testimonial-featured { padding: 2.5rem 1.5rem; }
}

@media (max-width: 639px) {
  .testimonial-card                { min-width: calc(100vw - 3rem); width: calc(100vw - 3rem); }
  .testimonial-featured blockquote { font-size: 1.375rem; }
}

/* ============================================================
   TRANSFORMAÇÕES
   ============================================================ */
@media (max-width: 1023px) {
  .transformation-img-wrap { aspect-ratio: 3/2; }
}

@media (max-width: 639px) {
  .transformations-grid    { grid-template-columns: 1fr; }
  .transformation-img-wrap { aspect-ratio: 4/3; }
}

/* ============================================================
   RESULTADOS
   ============================================================ */
@media (max-width: 1023px) {
  .results-stats { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 639px) {
  .results-stats     { grid-template-columns: 1fr; }
  .result-stat-value { font-size: 2rem; }
}

/* ============================================================
   FAQ
   ============================================================ */
@media (max-width: 639px) {
  .faq-list { max-width: 100%; }
}

/* ============================================================
   CTA FINAL
   ============================================================ */
@media (max-width: 767px) {
  .cta-final-actions         { flex-direction: column; align-items: center; }
  .cta-final-actions .btn    { width: 100%; justify-content: center; }
}

/* ============================================================
   CONTATO
   ============================================================ */
@media (max-width: 1023px) {
  .contact-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "info"
      "map"
      "cta";
    gap: 2.5rem;
  }
  .contact-map iframe { min-height: 280px; }
}

@media (max-width: 424px) {
  .contact-map iframe { min-height: 240px; }
}

/* ============================================================
   FOOTER
   ============================================================ */
@media (max-width: 1023px) {
  .footer-top { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 639px) {
  .footer-top    { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; text-align: center; }
}

/* ============================================================
   WHATSAPP FLUTUANTE
   ============================================================ */
@media (max-width: 639px) {
  .whatsapp-float { bottom: 1.25rem; right: 1.25rem; }
}

/* ============================================================
   GLOBAL — espaçamentos, tipografia, container
   ============================================================ */
@media (max-width: 1023px) {
  :root           { --section-py: 5rem; }
  .section-header { margin-bottom: 3rem; }
}

@media (max-width: 767px) {
  :root            { --section-py: 4.5rem; }
  .section-heading { font-size: clamp(1.75rem, 7vw, 2.5rem); }
}

@media (max-width: 639px) {
  :root            { --section-py: 4rem; }
  .section-header  { margin-bottom: 2.5rem; }
  .section-heading { font-size: clamp(1.5rem, 7vw, 2rem); }
  .btn             { padding: 0.8rem 1.5rem; font-size: 0.875rem; }
}

@media (max-width: 374px) {
  :root      { --section-py: 3.5rem; }
}

@media (max-width: 319px) {
  :root      { --section-py: 3rem; }
  .container { padding: 0 1rem; }
}

/* ============================================================
   LARGE DESKTOPS — 1440px e 1920px
   ============================================================ */
@media (min-width: 1440px) {
  .container { max-width: 1320px; }
}

@media (min-width: 1920px) {
  .container  { max-width: 1600px; }
  :root       { --section-py: 8rem; }
  .hero-title { font-size: 5rem; }
}
