/* =================================================================
   IAC Enterprises — Responsive overrides
   Mobile-first base lives in style.css. Breakpoints below progressively
   enhance layout, type scale and navigation as viewport width grows.
   Tested at: 375, 390, 768, 1024, 1440, 1920.
   ================================================================= */

/* ---------- ~480px: small phone polish ---------- */
@media (min-width: 30em) {
  .hero-actions {
    flex-wrap: nowrap;
  }

  .form-row-split {
    grid-template-columns: 1fr 1fr;
  }
}

/* ---------- ~640px: two-column card grids begin ---------- */
@media (min-width: 40em) {
  .grid-diff {
    grid-template-columns: repeat(2, 1fr);
  }

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

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

  .footer-legal {
    flex-wrap: nowrap;
  }
}

/* ---------- 768px: tablet ---------- */
@media (min-width: 48em) {
  :root {
    --container-pad: 2rem;
  }

  h1 { font-size: var(--text-4xl); }
  h2 { font-size: var(--text-3xl); }
  h3 { font-size: var(--text-xl); }

  .hero {
    padding-block: var(--space-10) var(--space-9);
  }

  .hero-inner {
    max-width: 46rem;
  }

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

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

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

  .footer-grid {
    grid-template-columns: 1.4fr 1fr 1fr;
  }

  .footer-bottom {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }

  .vm-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .contact-layout {
    grid-template-columns: 0.85fr 1.15fr;
  }

  .process-list {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-7) var(--space-8);
  }

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

/* ---------- ~900px: switch from mobile drawer to full nav ---------- */
@media (min-width: 62.5em) {
  .nav-toggle,
  .mobile-nav {
    display: none;
  }

  .primary-nav {
    display: block;
  }

  .header-cta {
    display: inline-flex;
  }
}

/* ---------- 1024px: desktop ---------- */
@media (min-width: 64em) {
  .section {
    padding-block: var(--space-10);
  }

  .hero {
    padding-block: 6.5rem var(--space-10);
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: var(--space-8);
    align-items: center;
  }

  .hero-inner {
    max-width: none;
  }

  .hero-visual {
    display: block;
  }

  .grid-services {
    grid-template-columns: repeat(3, 1fr);
  }

  .grid-diff {
    grid-template-columns: repeat(3, 1fr);
  }

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

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

  .process-list {
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-6);
  }

  .process-step {
    border-left: none;
    border-top: 1px solid var(--hairline);
    padding-left: 0;
    padding-top: var(--space-6);
    padding-bottom: 0;
  }

  .process-step::before {
    left: -5px;
    top: -5px;
  }

  .footer-grid {
    grid-template-columns: 1.6fr 1fr 1fr 1fr;
  }

  .vm-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .approach-list {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-6) var(--space-8);
  }

  .approach-item {
    border-bottom: none;
  }

  .service-category .grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .category-nav-list {
    justify-content: center;
  }
}

/* ---------- 1440px: large desktop ---------- */
@media (min-width: 90em) {
  :root {
    --container-w: 1320px;
  }

  .hero h1 {
    font-size: 4rem;
  }

  .section {
    padding-block: 7rem;
  }
}

/* ---------- 1920px: extra-large ---------- */
@media (min-width: 120em) {
  :root {
    --container-w: 1440px;
    --container-pad: 0;
  }
}
