/* =====================================================
   OMNIWISE TECH — responsive.css
   ===================================================== */

/* --- TABLET (1024px and below) ---------------------- */
@media (max-width: 1024px) {
  h1 { font-size: 44px; }
  h2 { font-size: 32px; }
  h3 { font-size: 24px; }

  .navbar__links { gap: 24px; }

  .impact-numbers__grid { grid-template-columns: repeat(2, 1fr); }
  .impact-numbers__item:nth-child(3) { border-left: none; border-top: 1px solid var(--color-gray-mid); }
  .impact-numbers__item:nth-child(4) { border-top: 1px solid var(--color-gray-mid); }

  .capabilities-grid { grid-template-columns: 1fr; max-width: 600px; margin-left: auto; margin-right: auto; }

  .process-steps { grid-template-columns: repeat(2, 1fr); gap: 48px; }
  .process-steps::before { display: none; }

  .about-proof__inner { grid-template-columns: 1fr; gap: 48px; }
  .founder-section__inner { grid-template-columns: 1fr; gap: 48px; }

  .footer__grid { grid-template-columns: 1fr 1fr; gap: 40px; }

  .problem-section__inner { grid-template-columns: 1fr; gap: 48px; }

  .markets-grid { grid-template-columns: 1fr; max-width: 480px; margin-left: auto; margin-right: auto; }

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

  .contact-layout { grid-template-columns: 1fr; gap: 48px; }
}

/* --- MOBILE (767px and below) ----------------------- */
@media (max-width: 767px) {
  :root { --padding-x: 20px; }

  h1 { font-size: 36px; }
  h2 { font-size: 28px; }
  h3 { font-size: 22px; }

  section { padding: 64px 0; }

  /* Navbar */
  .navbar__links { display: none; }
  .navbar__hamburger { display: flex; }

  /* Hero */
  .hero { height: auto; min-height: 100vh; padding: 120px 0 80px; }
  .hero__content { flex-direction: column; }
  .hero__text { max-width: 100%; text-align: center; }
  .hero h1 { font-size: 36px; }
  .hero__subhead { font-size: 15px; }
  .hero__ctas { justify-content: center; }
  .hero__badges { justify-content: center; }

  /* Trust bar */
  .trust-bar__inner { flex-direction: column; gap: 20px; }
  .trust-bar__item + .trust-bar__item::before { display: none; }
  .trust-bar__item { padding: 0; }

  /* Impact numbers */
  .impact-numbers__grid { grid-template-columns: 1fr; }
  .impact-numbers__item + .impact-numbers__item {
    border-left: none;
    border-top: 1px solid var(--color-gray-mid);
  }
  .impact-numbers__number { font-size: 48px; }

  /* Process steps: vertical */
  .process-steps { grid-template-columns: 1fr; gap: 32px; }
  .process-step { text-align: left; display: flex; gap: 16px; }
  .process-step__node { flex-shrink: 0; margin: 0; }
  .process-step__content { flex: 1; }

  /* About stats */
  .about-stats { flex-direction: column; gap: 16px; }

  /* Markets */
  .markets-grid { grid-template-columns: 1fr; max-width: 100%; }

  /* Footer */
  .footer__grid { grid-template-columns: 1fr; gap: 32px; }
  .footer__bottom { justify-content: center; }

  /* Demo form */
  .demo-form { flex-direction: column; }

  /* Capabilities */
  .capabilities-grid { max-width: 100%; }
  .capability-card { padding: 28px; }

  /* Values */
  .values-grid { grid-template-columns: 1fr; }

  /* Contact */
  .contact-layout { padding: 48px var(--padding-x); }

  /* Page hero */
  .page-hero { padding: 120px var(--padding-x) 60px; }

  /* Closing CTA */
  .closing-cta h2 { font-size: 32px; }

  /* Credentials timeline */
  .credentials-timeline { padding-left: 44px; }

  /* Insights */
  .insights-grid { grid-template-columns: 1fr; }
}

/* --- SMALL MOBILE (480px and below) ----------------- */
@media (max-width: 480px) {
  h1 { font-size: 30px; }
  h2 { font-size: 24px; }

  .hero h1 { font-size: 30px; }
  .hero__ctas { flex-direction: column; align-items: center; }
  .btn { width: 100%; justify-content: center; }

  .founder-section__inner { gap: 32px; }
  .founder-card { padding: 28px; }
}

/* --- REDUCED MOTION --------------------------------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .reveal { opacity: 1; transform: none; }
}

/* --- PRINT ------------------------------------------ */
@media print {
  .navbar, .hero__controls, .hero__scroll, .mobile-menu { display: none; }
  .hero { height: auto; padding: 40px 0; }
  body { color: #000; }
}
