/* ===== RESPONSIVIDADE ===== */

/* GUTTER LATERAL: acima de 1240px a max-width já centraliza (sem padding,
   evitando comprimir o conteúdo). Abaixo disso, aplica respiro nas laterais. */
@media(max-width:1240px){
  .wrap, .nav-inner, footer .foot{ padding-left:24px; padding-right:24px; }
}

/* NAV */
@media(max-width:860px){ .nav-links{ display:none; } }

/* HERO / ASSEMBLER */
@media(max-width:900px){ .hero-grid{ grid-template-columns:1fr; } .assembler{ margin-top:36px; } }

/* STATS */
@media(max-width:720px){
  .stats{ grid-template-columns:1fr; }
  .stats .s{ border-right:none; border-bottom:2px solid var(--line); }
  .stats .s:last-child{ border-bottom:none; }
}

/* AVALIAÇÕES */
@media(max-width:820px){ .rev-grid{ grid-template-columns:1fr; } }

/* PORTFÓLIO — CARROSSEL: empilha imagem em cima e descritivo embaixo */
@media(max-width:760px){
  .work-slide{ grid-template-columns:1fr; }
  .work-slide-img{ border-right:none; border-bottom:2px solid var(--line); }
  .work-slide-body{ padding:22px 20px; }
  .carousel-viewport{ box-shadow:6px 6px 0 var(--line); }
  .car-btn{ width:44px; height:44px; }
}

/* FAQ */
@media(max-width:820px){ .faq{ grid-template-columns:1fr; gap:28px; } .faq-aside{ position:static; } }

/* BANNER DE VALOR */
@media(max-width:900px){ .price-banner-inner{ grid-template-columns:1fr; } .price-banner-action{ justify-content:space-between; width:100%; } }
@media(max-width:540px){ .price-banner-action{ flex-direction:column; align-items:stretch; gap:16px; } }

/* ============================================================
   PROCESSO "SEM ENROLAÇÃO" — MOBILE
   Vira coluna vertical (sem scroll horizontal); os cards
   preenchem conforme a rolagem (via IntersectionObserver).
   ============================================================ */
@media(max-width:760px){
  .proc-horizontal-wrapper{ height:auto; }
  .proc-pin-sticky{ position:static; height:auto; display:block; overflow:visible; padding:60px 0; }
  .steps-horizontal-track{
    flex-direction:column; width:100%; gap:16px; margin-top:26px;
    transform:none !important; transition:none;
  }
  .step-card-horiz{ width:100%; padding:22px 20px; flex-shrink:1; }
  .step-card-horiz.active-step{ transform:none; box-shadow:6px 6px 0 var(--ink); }
  .step-card-horiz h3{ font-size:18px; }
  .step-card-horiz p{ font-size:14px; }
  .step-card-horiz .n-tech{ margin-bottom:12px; }
}

/* ============================================================
   AJUSTES GERAIS DE TIPOGRAFIA E ESPAÇAMENTO EM TELAS PEQUENAS
   ============================================================ */
@media(max-width:600px){
  /* MAIS RESPIRO NAS LATERAIS E NO TOPO EM MOBILE */
  .wrap{ padding:0 22px; }
  .nav-inner{ padding:13px 22px; }
  .logo img{ height:24px; }

  /* RODAPÉ MOBILE — EMPILHADO E CENTRALIZADO */
  footer .foot{ flex-direction:column; justify-content:center; text-align:center; gap:16px; padding:30px 22px; }
  .foot-left{ flex-direction:column; align-items:center; gap:8px; }
  .foot-logo img{ height:22px; }

  h1{ letter-spacing:-.5px; }
  .kicker{ margin-bottom:20px; font-size:11px; letter-spacing:1px; }
  .hero{ padding-top:44px; padding-bottom:40px; }
  .lead{ margin-top:20px; }
  .hero-actions{ gap:10px; margin-top:28px; }
  .hero-actions .btn{ flex:1 1 100%; text-align:center; padding:14px 20px; }

  .stats{ margin-top:40px; }
  .stats .s{ padding:20px; }
  .stats .s b{ font-size:26px; }

  .seg-track span{ font-size:14px; padding:20px 0; }

  .sec{ padding-top:56px; padding-bottom:56px; }
  .sec .sub{ font-size:14px; }

  .carousel{ margin-top:28px; }
  .work-slide-body h3{ font-size:22px; }
  .work-slide-body p{ font-size:14px; }

  .rev-grid{ margin-top:26px; }
  .rev-score{ font-size:38px; }

  .price-banner-value{ white-space:normal; }

  .final .wrap{ padding-top:64px; padding-bottom:60px; }
  .cities{ margin-top:38px; gap:10px 22px; font-size:13px; }

  .modal-card{ padding:24px 20px; }

  /* 404 */
  .card-404{ padding:40px 22px; }
}

@media(max-width:400px){
  .nav-cta{ padding:10px 14px; font-size:11px; }
  .logo{ font-size:20px; }
  h1{ font-size:32px; }
}

/* PONTEIROS TÁTEIS: restaura o cursor nativo em dispositivos de toque */
@media(hover:none), (pointer:coarse){
  body, a, button, .foot-left button, .btn, .modal-card .close-btn{ cursor:auto; }
  #customCursor{ display:none !important; }
}

/* MOVIMENTO REDUZIDO */
@media(prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  .seg-track{ animation:none; }
  .assembler .head .live::before{ animation:none; }
  .work-card, .rev, .btn, .nav-cta, .step-card-horiz{ transition:none; }
  .floating-heart{ display:none; }
}
