/* ==========================================================
   RESPONSIVE.CSS — Amatista Diseño y Construcción
   Todos los @media queries del sitio, agrupados por breakpoint
   de origen. Se cargan al final para que ganen especificidad.
   ========================================================== */

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .reveal-up { opacity: 1 !important; transform: none !important; transition: none !important; }
  }

@media (prefers-reduced-motion: reduce) {
    .whatsapp-float__ring { animation: none !important; }
  }

@media (max-width: 600px) {
    .whatsapp-float { right: 18px; bottom: 18px; width: 52px; height: 52px; }
    .whatsapp-float svg { width: 24px; height: 24px; }
    .whatsapp-float__tooltip { display: none; }
  }

@media (max-width: 900px) {
    .nav__cta { display: none; }
    body.nav-open .nav__cta { display: none; }
  }

@media (prefers-reduced-motion: reduce) {
    .hero__eyebrow, .hero__title, .hero__subtitle, .hero__actions, .hero__scroll { animation: none !important; opacity: 1 !important; transform: none !important; }
    .hero__scroll-line::after { animation: none !important; }
  }

@media (max-width: 768px) {
    .hero { align-items: flex-start; padding-top: 120px; }
    .hero__actions { flex-direction: column; align-items: flex-start; }
    .hero__scroll { display: none; }
  }

@media (prefers-reduced-motion: reduce) {
  }

@media (prefers-reduced-motion: reduce) {
    .insight-card { transition: opacity 0.3s ease !important; transform: none !important; }
    .insights__progress-seg span { transition: none !important; }
  }

@media (max-width: 768px) {
    .insights__stage { height: 62vh; }
    .insight-card { padding: 28px; }
    .insights__progress { display: none; }
  }

@media (max-width: 860px) {
    .orbit-wrap { display: none; }
    .process-list { display: block; max-width: 480px; margin: 0 auto; }
    .process-list__item { display: flex; gap: 20px; padding: 26px 0; border-top: 1px solid var(--vintage-grape); }
    .process-list__item:last-child { border-bottom: 1px solid var(--vintage-grape); }
    .process-list__num { font-family: var(--font-accent); font-style: italic; color: var(--deep-lilac); font-size: 1.1rem; flex-shrink: 0; width: 32px; }
    .process-list__title { font-weight: 600; margin-bottom: 6px; }
    .process-list__desc { font-size: 0.9rem; color: var(--gray-secondary); line-height: 1.5; }
  }

@media (prefers-reduced-motion: reduce) { .orbit-ring--spin { animation: none !important; } }

@media (max-width: 980px) {
    .services__header { flex-direction: column; align-items: flex-start; }
    .services__grid, .services__grid--secondary { grid-template-columns: 1fr; }
  }

@media (max-width: 768px) {
    .featured__header { flex-direction: column; align-items: flex-start; gap: 12px; }
    .featured__caption { text-align: left; }
    .featured__content { padding: 30px; }
    .featured__footer { flex-direction: column; align-items: flex-start; gap: 16px; }
  }

@media (max-width: 900px) {
    .founder__grid { grid-template-columns: 1fr; gap: 44px; }
    .founder__photo { aspect-ratio: 16 / 10; }
  }

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

@media (max-width: 860px) { .kpis__grid { grid-template-columns: repeat(2, 1fr); row-gap: 44px; } .kpi:nth-child(3) { border-left: none; padding-left: 0; } }

@media (max-width: 520px) { .kpis__grid { grid-template-columns: 1fr; row-gap: 36px; } .kpi { border-left: none; padding-left: 0; } }

@media (prefers-reduced-motion: reduce) { .marquee__track { animation: none !important; } .marquee { overflow-x: auto; } }

@media (max-width: 900px) {
  .marquee__item { padding: 0 34px; height: 66px; }
  img.marquee__logo { width: 118px; height: 48px; }
}
@media (max-width: 520px) {
  .marquee__item { padding: 0 22px; height: 56px; }
  img.marquee__logo { width: 94px; height: 40px; }
}

@media (max-width: 980px) {
    .blog__header { flex-direction: column; align-items: flex-start; }
    .blog__grid { grid-template-columns: repeat(2, 1fr); }
  }

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

@media (max-width: 900px) {
    .footer__grid { grid-template-columns: 1fr 1fr; row-gap: 44px; }
    .footer__bottom { flex-direction: column; align-items: flex-start; gap: 16px; }
  }

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

@media (max-width: 900px) {
    .landing-overview { grid-template-columns: 1fr; gap: 40px; }
    .landing-process__grid { grid-template-columns: repeat(2, 1fr); }
    .landing-gallery__grid { grid-template-columns: repeat(2, 1fr); }
    .landing-gallery__item:first-child { grid-column: span 2; grid-row: span 1; }
    .landing-related { flex-direction: column; align-items: flex-start; }
  }

@media (max-width: 560px) { .landing-process__grid { grid-template-columns: 1fr; } .landing-gallery__grid { grid-template-columns: 1fr; } .landing-gallery__item:first-child { grid-column: span 1; } }

@media (max-width: 980px) { .blog-index__grid { grid-template-columns: repeat(2, 1fr); } }

@media (max-width: 560px) { .blog-index__grid { grid-template-columns: 1fr; } }

/* ============================================================
   MODALES — responsive
   ============================================================ */
@media (max-width: 760px) {
  .modal-panel { padding: 32px 24px; border-radius: 16px; }
  .modal-panel--wide .modal-grid { grid-template-columns: 1fr; }
  .modal-intro { border-radius: 16px 16px 0 0; padding: 32px 24px; }
  .modal-form { padding: 32px 24px; }
  .form-row--split { grid-template-columns: 1fr; gap: 0; }
}
