/* ============================================================
   AIMOQ — Responsive / Media Queries
   ============================================================ */

/* ── Tablet (≤1024px) ── */
@media (max-width: 1024px) {
  .services-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .stats-band__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .stats-band__item:nth-child(2) {
    border-right: none;
  }

  .stats-band__item:nth-child(2),
  .stats-band__item:nth-child(4) {
    border-right: none;
  }

  .process-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .process-grid::before {
    display: none;
  }

  .footer__grid {
    grid-template-columns: 1fr 1fr;
    gap: var(--sp-8);
  }

  .why-us__grid {
    grid-template-columns: 1fr;
    gap: var(--sp-10);
  }

  .why-us__visual {
    order: -1;
  }

  .grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }

  .ai-cases-grid {
    grid-template-columns: 1fr;
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
    margin-inline: auto;
  }

  .tech-cards-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ── Mobile Large (≤768px) ── */
@media (max-width: 768px) {
  .section {
    padding-top: var(--sp-16);
    padding-bottom: var(--sp-16);
    padding-block: var(--sp-16);
  }

  .hero {
    padding-top: 80px;
    min-height: 100vh;
    min-height: 100svh;
  }

  .hero__title {
    font-size: clamp(2.2rem, 10vw, 3.5rem);
  }

  .hero__stats {
    gap: var(--sp-5);
  }

  .hero__stat-divider {
    display: none;
  }

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

  .tech-cards-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .stats-band__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .section-title {
    font-size: clamp(1.8rem, 7vw, 2.5rem);
  }

  .cta-section__title {
    font-size: clamp(1.8rem, 7vw, 2.5rem);
  }

  .grid-2,
  .grid-3,
  .grid-4 {
    grid-template-columns: 1fr;
  }

  .footer__grid {
    grid-template-columns: 1fr;
    gap: var(--sp-8);
  }

  .footer__bottom {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

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

  .why-us__grid {
    grid-template-columns: 1fr;
  }

  .hero__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .hero__actions .btn {
    width: 100%;
    justify-content: center;
  }

  .cta-section__actions {
    flex-direction: column;
    align-items: stretch;
    max-width: 300px;
    margin-left: auto;
    margin-right: auto;
    margin-inline: auto;
  }

  .cta-section__actions .btn {
    width: 100%;
    justify-content: center;
  }

  .page-hero__title {
    font-size: clamp(2rem, 8vw, 3rem);
  }

  .hero__scroll {
    display: none;
  }

  /* Evitar que elementos absolutos desborden horizontalmente */
  .hero,
  .stats-band,
  .cta-section,
  .startup-section,
  .journey-section {
    overflow-x: hidden;
  }
}

/* ── Mobile Small (≤480px) ── */
@media (max-width: 480px) {
  .hero__eyebrow {
    font-size: 0.65rem;
  }

  .stats-band__grid {
    grid-template-columns: 1fr 1fr;
    gap: 0;
  }

  .stats-band__item {
    border-right: 1px solid rgba(255,255,255,0.12);
    border-bottom: 1px solid rgba(255,255,255,0.12);
    padding: var(--sp-4);
  }

  .stats-band__item:nth-child(2) {
    border-right: none;
  }

  .stats-band__item:nth-child(3),
  .stats-band__item:nth-child(4) {
    border-bottom: none;
  }

  .stats-band__item:nth-child(4) {
    border-right: none;
  }

  .tech-grid {
    gap: var(--sp-2);
  }

  .tech-badge {
    font-size: 0.75rem;
    padding: var(--sp-2) var(--sp-3);
  }

  .tech-cards-grid {
    grid-template-columns: 1fr 1fr;
  }

  .tech-logo-icon {
    width: 38px;
    height: 38px;
  }

  .card {
    padding: var(--sp-6);
  }

  .service-card {
    padding: var(--sp-6);
  }

  .footer__social-link {
    width: 34px;
    height: 34px;
    font-size: 0.9rem;
  }
}

/* ── Services Showcase responsive ── */
@media (max-width: 900px) {
  .svc-grid { grid-template-columns: 1fr; }
  .svc-card { flex-direction: column; min-height: auto; }
  .svc-card--light { flex-direction: column-reverse; }
  .svc-card--dark:last-of-type .svc-card__visual { order: -1; }
  .svc-card__visual { width: 100%; min-height: 200px; }
  .svc-card--custom { flex-direction: column; align-items: flex-start; gap: var(--sp-5); padding: var(--sp-8); }
  .mock-phones { margin: 0 auto; }
  .mock-browser, .mock-site { margin: 0 auto; }
}

/* ── Startup section responsive ── */
@media (max-width: 1024px) {
  .startup-hero { gap: var(--sp-12); }
  .startup-hero__visual { height: 340px; }
}

@media (max-width: 860px) {
  .startup-hero { grid-template-columns: 1fr; }
  .startup-hero__visual { height: 300px; max-width: 420px; }
  .startup-bento { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 560px) {
  .startup-hero__visual { display: none; }
  .startup-bento { grid-template-columns: 1fr; }
  .startup-title { font-size: clamp(2.2rem, 9vw, 3rem); }
}

/* ── Journey section responsive ── */
@media (max-width: 900px) {
  .journey-grid { grid-template-columns: 1fr 1fr; }
  .journey-card--featured { grid-column: span 2; }
  .journey-promise { flex-direction: column; gap: var(--sp-3); }
}

@media (max-width: 640px) {
  .journey-grid { grid-template-columns: 1fr; }
  .journey-card--featured { grid-column: span 1; }
  .journey-num { font-size: 5rem; }
}

/* ── Reduced Motion ── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  html { scroll-behavior: auto; }

  .reveal {
    opacity: 1;
    transform: none;
  }
}

/* ── Print ── */
@media print {
  .nav,
  .hero__scroll,
  .cta-section,
  .footer__social { display: none; }

  body {
    color: #000;
    background: #fff;
  }
}
