/* ==========================================================================
   responsive.css — mobile-first: 4 col (base) → 8 col (768) → 12 col (1024)
   ========================================================================== */

/* ---------- ≥ 600px ---------- */
@media (min-width: 600px) {
  .site-header__cta { display: inline-flex; }

  .facts__row { grid-template-columns: 10rem 1fr; gap: 1.5rem; align-items: baseline; }

  .contact-lines { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--gap); }

  .site-footer__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ---------- ≥ 768px (tablet, 8 colunas) ---------- */
@media (min-width: 768px) {
  :root { --header-h: 76px; }

  .grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }

  /* Hero */
  .hero__specs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--gap);
    margin-top: clamp(2.5rem, 2rem + 2vw, 4rem);
    max-width: 44rem;
  }
  .spec { padding-top: 0.9rem; border-top: 1px solid var(--c-line-strong); }

  /* Posicionamento */
  .positioning__body { grid-column: 3 / -1; }

  /* Serviços: mosaico em 8 colunas */
  .services__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    grid-auto-rows: minmax(21rem, auto);
  }
  .service-card { grid-column: span 4; min-height: 0; }
  .service-card--tall { grid-row: span 2; }
  .service-card--banner { grid-column: 1 / -1; }

  /* Processo */
  .process__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3rem var(--gap); }
  .process__rail { display: none; }
  .process-step { padding-left: 0; padding-top: 2rem; border-top: 1px solid var(--c-line-strong); }
  .process-step__dot { top: -6px; }

  /* Números */
  .stats__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

  /* Tecnologia */
  .tech__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); column-gap: var(--gap); }
  .tech__media { grid-column: 1 / span 3; }
  .tech__content { grid-column: 4 / -1; }
  .tech__frame { max-height: none; }

  /* Diferenciais */
  .value { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); align-items: baseline; gap: var(--gap); }

  /* Galeria */
  .gallery__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    grid-auto-rows: clamp(8rem, 13vw, 12rem);
    gap: var(--gap);
  }
  .gallery__item--a { grid-column: 1 / span 5; grid-row: span 3; }
  .gallery__item--b { grid-column: 6 / span 3; grid-row: span 4; }
  .gallery__item--c { grid-column: 1 / span 2; grid-row: span 2; }
  .gallery__item--d { grid-column: 3 / span 3; grid-row: span 2; }
  .gallery__item--e { grid-column: 6 / span 3; grid-row: span 1; }

  /* Impacto: anotações técnicas aparecem */
  .impact__notes {
    display: block;
    position: absolute;
    inset: 0;
    z-index: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    pointer-events: none;
  }
  .impact__note {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.66rem;
    font-weight: 600;
    font-stretch: var(--stretch-label);
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--c-text);
  }
  .impact__note::before {
    content: "";
    width: 9px; height: 9px;
    border: 1px solid var(--c-accent);
    border-radius: 50%;
    flex: none;
  }
  .impact__note span { padding-left: 3.5rem; position: relative; }
  .impact__note span::before {
    content: "";
    position: absolute;
    left: 0.25rem; top: 50%;
    width: 2.75rem; height: 1px;
    background: var(--c-line-strong);
  }
  .impact__note--a { top: 22%; left: 72%; }
  .impact__note--b { top: 14%; left: 44%; }
  .impact__note--c { top: 52%; left: 64%; }

  /* Footer */
  .site-footer__map .map-placeholder { min-height: 14rem; }
}

/* ---------- ≥ 1024px (desktop, 12 colunas) ---------- */
@media (min-width: 1024px) {
  .contact-lines { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  :root { --header-h: 84px; }

  .grid { grid-template-columns: repeat(12, minmax(0, 1fr)); }

  /* Header: navegação completa, sem hambúrguer */
  .menu-toggle { display: none; }
  .mobile-menu { display: none !important; }
  .logo { margin-right: 0; }
  .nav { display: block; margin-left: auto; }

  /* Hero: texto à esquerda, indicadores técnicos à direita */
  .hero { justify-content: center; padding-bottom: clamp(9rem, 7rem + 5vh, 12rem); }
  .hero__inner {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: var(--gap);
    align-items: end;
  }
  .hero__content { grid-column: 1 / span 8; }
  .hero__specs {
    grid-column: 10 / -1;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.25rem;
    margin-top: 0;
  }
  .hero__overlay {
    background:
      linear-gradient(180deg, rgba(5, 5, 5, 0.6) 0%, rgba(5, 5, 5, 0) 22%),
      linear-gradient(90deg, rgba(5, 5, 5, 0.92) 0%, rgba(5, 5, 5, 0.7) 38%, rgba(5, 5, 5, 0.05) 75%),
      linear-gradient(0deg, rgba(5, 5, 5, 0.9) 0%, rgba(5, 5, 5, 0) 35%),
      radial-gradient(ellipse at 60% 50%, transparent 50%, rgba(0, 0, 0, 0.5) 100%);
  }
  .hero__scroll { left: auto; right: var(--gutter); }
  .hero__signal-tag { right: auto; left: 62%; }

  /* Seções com cabeçalho dividido */
  .section-head--split {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: var(--gap);
    align-items: end;
  }
  .section-head--split .eyebrow { grid-column: 1 / span 3; align-self: start; padding-top: 0.6rem; }
  .section-head--split .section-head__title { grid-column: 4 / -1; }

  .section-head:not(.section-head--split) {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: var(--gap);
    align-items: end;
  }
  .section-head:not(.section-head--split) .eyebrow { grid-column: 1 / -1; }
  .section-head:not(.section-head--split) .section-head__title { grid-column: 1 / span 7; }
  .section-head:not(.section-head--split) .section-head__text { grid-column: 9 / -1; }

  /* Posicionamento */
  .positioning__title { grid-column: 1 / span 8; }
  .positioning__body { grid-column: 9 / -1; margin-top: 0; align-self: end; }

  /* Serviços: mosaico assimétrico em 12 colunas */
  .services__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-auto-rows: clamp(19rem, 21vw, 25rem);
  }
  .service-card { grid-column: span 4; }
  .services__grid > :nth-child(1) { grid-column: 1 / span 5; grid-row: 1 / span 2; }
  .services__grid > :nth-child(2) { grid-column: 6 / -1; grid-row: 1; }
  .services__grid > :nth-child(3) { grid-column: 6 / span 4; grid-row: 2; }
  .services__grid > :nth-child(4) { grid-column: 10 / -1; grid-row: 2; }
  .services__grid > :nth-child(5) { grid-column: 1 / span 4; grid-row: 3; }
  .services__grid > :nth-child(6) { grid-column: 5 / -1; grid-row: 3; }
  .service-card--tall .service-card__title { font-size: clamp(1.75rem, 1rem + 1.6vw, 2.75rem); }

  /* Processo: timeline horizontal */
  .process__track { padding-top: 0.5rem; }
  .process__rail {
    display: block;
    left: 0; right: 0;
    top: 5px; bottom: auto;
    width: auto;
    height: 1px;
  }
  .process__progress { transform: scaleX(0); transform-origin: left; }
  .process__steps { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--gap); }
  .process-step { border-top: 0; padding-top: 2.75rem; padding-right: 1rem; }
  .process-step__dot { top: 0; }

  /* Tecnologia */
  .tech__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: start; }
  .tech__media { grid-column: 1 / span 5; position: sticky; top: calc(var(--header-h) + 2rem); }
  .tech__content { grid-column: 7 / -1; }

  /* Diferenciais */
  .values__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); }
  .values__head { grid-column: 1 / span 4; position: sticky; top: calc(var(--header-h) + 2rem); }
  .values__list { grid-column: 6 / -1; }
  .value { padding: 2.25rem 0; }

  /* Impacto */
  .impact__content { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); }
  .impact__content > * { grid-column: 1 / span 7; }
  .impact__content > .impact__title { grid-column: 1 / span 10; }

  /* Galeria: grade assimétrica em 12 colunas */
  .gallery__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-auto-rows: clamp(7rem, 9vw, 11rem);
  }
  .gallery__item--a { grid-column: 1 / span 7; grid-row: 1 / span 3; }
  .gallery__item--b { grid-column: 8 / span 5; grid-row: 1 / span 4; }
  .gallery__item--c { grid-column: 1 / span 3; grid-row: 4 / span 2; }
  .gallery__item--d { grid-column: 4 / span 4; grid-row: 4 / span 2; }
  .gallery__item--e { grid-column: 8 / span 5; grid-row: 5 / span 1; }

  /* Depoimentos */
  .testimonials__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); }
  .testimonials__head { grid-column: 1 / span 4; }
  .carousel { grid-column: 6 / -1; }

  /* FAQ */
  .faq__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); }
  .faq__head { grid-column: 1 / span 4; position: sticky; top: calc(var(--header-h) + 2rem); align-self: start; }
  .faq__list { grid-column: 6 / -1; }

  /* Footer */
  .site-footer__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .site-footer__brand { grid-column: 1 / span 3; }
  .site-footer__col--a { grid-column: 4 / span 2; }
  .site-footer__col--b { grid-column: 6 / span 2; }
  .site-footer__col--c { grid-column: 8 / span 2; }
  .site-footer__map { grid-column: 10 / -1; }
  .site-footer__map .map-placeholder { min-height: 100%; }

  /* Conversão: sai a barra inferior, entra o botão flutuante discreto */
  .mobile-bar { display: none; }
  .site-footer { padding-bottom: 2.5rem; }
  .dock { bottom: 1.5rem; }
  .dock__wa {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    height: 3rem;
    padding: 0 1.1rem;
    border: 1px solid var(--c-line-strong);
    border-radius: var(--radius);
    background: rgba(10, 10, 10, 0.8);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    font-size: 0.7rem;
    font-weight: 600;
    font-stretch: var(--stretch-label);
    letter-spacing: 0.14em;
    text-transform: uppercase;
    transition: background-color 0.3s, color 0.3s, border-color 0.3s;
  }
  .dock__wa svg { color: var(--c-accent); transition: color 0.3s; }
  .dock__wa:hover { background: var(--c-accent); border-color: var(--c-accent); color: var(--c-accent-ink); }
  .dock__wa:hover svg { color: var(--c-accent-ink); }
}

/* ---------- ≥ 1280px ---------- */
@media (min-width: 1280px) {
  .hero__content { grid-column: 1 / span 8; }
  .tech__content { grid-column: 7 / span 5; }
}

/* ---------- ≥ 1600px ---------- */
@media (min-width: 1600px) {
  :root { --gutter: 4rem; }
  .hero__specs { grid-column: 10 / span 3; }
}

/* ---------- Telas muito baixas (paisagem mobile) ---------- */
@media (max-height: 560px) and (orientation: landscape) {
  .hero, .impact { min-height: 0; }
  .hero { padding-top: calc(var(--header-h) + 2rem); }
  .hero__signal, .hero__scroll { display: none; }
  .hero { padding-bottom: 3rem; }
}
