/* ══════════════════════════════════════════════════════════
   RESPONSIVE — media queries. Carregado por último.
   ══════════════════════════════════════════════════════════ */

/* ── Tablet e menores (≤ 1024px) ────────────────────────── */
@media (max-width: 1024px) {

  /* Menu vira overlay em tela cheia */
  .menu-toggle {
    display: flex;
    /* Alvo de toque ≥44px (conteúdo real: ~26×42px) */
    min-width: 2.75rem;
    min-height: 2.75rem;
    justify-content: center;
    align-items: center;
  }

  .menu-principal {
    position: fixed;
    inset: 0;
    z-index: var(--z-menu);
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: var(--espaco-lg);
    padding: calc(var(--altura-header) + var(--espaco-md)) var(--espaco-md) var(--espaco-md);
    background: var(--cor-veu);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--transicao-media), visibility var(--transicao-media);
  }
  body.menu-aberto .menu-principal {
    opacity: 1;
    visibility: visible;
  }
  body.menu-aberto { overflow: hidden; }

  .menu-principal ul {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--espaco-sm);
  }
  .menu-principal ul a {
    font-size: var(--texto-xl);
    font-weight: 700;
    letter-spacing: var(--tracking-apertado);
    color: var(--cor-texto);
  }

  /* Grids colapsam para ritmo vertical */
  .segmento-destaque,
  .segmento-comum { grid-column: span 12; grid-row: auto; }
  .segmento-destaque { min-height: auto; }

  .case-card:nth-child(1),
  .case-card:nth-child(2),
  .case-card:nth-child(3) {
    grid-column: span 12;
    margin-top: 0;
  }

  .footer-grid { grid-template-columns: 1fr 1fr; }

  .contato-grid { grid-template-columns: 1fr; gap: var(--espaco-lg); }
}

/* ── Celular (≤ 768px) ──────────────────────────────────── */
@media (max-width: 768px) {

  .secao,
  .cc-secao {
    padding-block: var(--espaco-lg);
  }

  /* Alternância de cores e divisores de seções */
  .secao:nth-of-type(even),
  .cc-secao:nth-of-type(even) {
    background-color: var(--cor-superficie);
  }

  .secao:nth-of-type(odd),
  .cc-secao:nth-of-type(odd) {
    background: radial-gradient(circle at center, var(--cor-brilho) 0%, transparent 70%);
  }

  /* Técnica full-bleed para seções com container acoplado */
  .cc-secao.container,
  .secao.container {
    margin-inline: calc(-50vw + 50%);
    padding-inline: calc(50vw - 50% + var(--espaco-sm));
  }

  .hero-titulo .linha-recuada { margin-left: var(--espaco-md); }

  .hero-base {
    flex-direction: column;
    align-items: flex-start;
  }
  .hero-rolar { display: none; }

  .manifesto-frase {
    text-align: left;
    margin-left: 0;
  }

  .servico-linha {
    grid-template-columns: minmax(2.5rem, 3.5rem) 1fr;
    row-gap: var(--espaco-xs);
  }
  .servico-descricao { grid-column: 2; }
  .servico-tag { display: none; }

  .case-ato { grid-template-columns: 1fr; gap: var(--espaco-xs); }

  .footer-grid { grid-template-columns: 1fr; gap: var(--espaco-md); }
  .footer-base {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--espaco-xs);
  }
}

/* ── Celular pequeno (≤ 480px) ──────────────────────────── */
@media (max-width: 480px) {
  .hero-acoes { flex-direction: column; align-items: stretch; width: 100%; }
  .btn { justify-content: center; }
  .cta-acoes { flex-direction: column; align-items: center; }
}
