/* =====================================================
   STAFFPLACE · RESPONSIVE OVERRIDES
   Mobile-first base lives in styles.css
   ===================================================== */

/* =====================================================
   ≥ 640px — Small tablet / large phone landscape
   ===================================================== */
@media (min-width: 640px) {
  .container { padding: 0 var(--gutter-lg); }

  .display--xl { font-size: 72px; }
  .display--lg { font-size: 56px; }
  .display--md { font-size: 36px; }
  .display--sm { font-size: 28px; }

  .lede { font-size: 19px; }

  .editorial__headline { font-size: 80px; }
  .pull-quote { font-size: 44px; }

  .utility-bar__meta { display: block; white-space: nowrap; }

  .hero__inner { padding: 64px var(--gutter-lg) 96px; }
  .hero__cta { flex-direction: row; }
  .hero__cta .btn { width: auto; }

  .hero-stats__value { font-size: 36px; }
  .hero-stats__cell { padding: 40px 0; }
  .hero-stats__cell:nth-child(2n) { padding-left: 32px; }

  .trust-list { grid-template-columns: repeat(3, 1fr); }
  .trust-list li {
    border-bottom: 0;
    border-right: 1px solid var(--line);
    padding: 20px 24px 20px 0;
  }
  .trust-list li:not(:first-child) { padding-left: 24px; }
  .trust-list li:last-child { border-right: 0; }

  .roles-card { padding: 28px; }

  .service-row {
    grid-template-columns: 48px 1fr 1.4fr auto;
    grid-template-areas: "num title desc pay";
    gap: 24px;
    align-items: baseline;
    padding: 36px 0;
  }
  .service-row__title { font-size: 36px; }
  .service-row__desc { margin-top: 0; }
  .service-row__pay { text-align: right; }

  .form-grid { grid-template-columns: 1fr 1fr; gap: 28px 32px; }
  .form-foot { flex-direction: row; align-items: center; justify-content: space-between; }

  .reqs-cols { grid-template-columns: 1fr 1fr; gap: 56px; }

  .why-grid { grid-template-columns: 1fr 1fr; }
  .why-cell {
    padding: 40px 28px 40px 0;
    border-right: 1px solid var(--line);
  }
  .why-cell:nth-child(2n) { border-right: 0; padding-right: 0; padding-left: 28px; }

  .why-row { grid-template-columns: 5fr 7fr; gap: 24px; padding: 48px 0; align-items: baseline; }

  .faq-item summary { padding: 26px 0; font-size: 22px; }
  .faq-body { font-size: 16px; }

  .form-panel { padding: 32px; margin: 0; border-radius: var(--radius-lg); border: 1px solid var(--line); }

  .footer__legal { flex-direction: row; align-items: center; justify-content: space-between; }
  .footer__legal a:last-child { margin-right: 0; }

  .timeline__row { grid-template-columns: 120px 1fr; gap: 32px; padding: 40px 0; }

  .fact-cell__value { font-size: 44px; }

  .contact-channel__value { font-size: 36px; }

  .section-head__lede { max-width: 480px; }

  /* Restore generous spacing on tablet+ (was tightened for mobile) */
  .section-head { gap: 32px; margin-bottom: 56px; }
  .pull-quote-attr { margin-top: 32px; }
}

/* =====================================================
   ≥ 768px — Tablet
   ===================================================== */
@media (min-width: 768px) {
  .section { padding: 112px 0; }

  .footer__grid { grid-template-columns: 5fr 2fr 2fr 3fr; gap: 40px; }

  .reqs-list--single li:last-child { border-bottom: 0; }

  .process { grid-template-columns: repeat(3, 1fr); }
  .process__step {
    padding: 48px 32px 48px 0;
    border-right: 1px solid var(--line);
    border-bottom: 0;
  }
  /* Revert mobile inline header to stacked on tablet+ */
  .process__step .row-num { display: block; margin-right: 0; }
  .process__time { display: block; margin-top: 16px; }
  .process__time::before { content: ''; margin-right: 0; }
  .process__title { font-size: 22px; margin-top: 8px; }
  .process__step:not(:first-child) { padding-left: 32px; }
  .process__step:last-child { border-right: 0; padding-right: 0; }

  .fact-grid { grid-template-columns: repeat(4, 1fr); }
  .fact-cell { border-bottom: 0; }
  /* Reset mobile 2-col rule */
  .fact-cell:nth-child(2n) { border-left: 0; padding-left: 0; }
  /* 4-col: all non-first cells get the left border + indent */
  .fact-cell + .fact-cell { border-left: 1px solid var(--line); padding-left: 24px; }
}

/* =====================================================
   ≥ 900px — Wide tablet
   ===================================================== */
@media (min-width: 900px) {
  .utility-bar__cities { display: inline; }
}

/* =====================================================
   ≥ 1024px — Desktop
   ===================================================== */
@media (min-width: 1024px) {
  body { padding-bottom: env(safe-area-inset-bottom); }

  .section { padding: 128px 0; }

  .display--xl { font-size: 88px; }
  .display--lg { font-size: 64px; }

  .editorial__headline { font-size: 104px; }
  .pull-quote { font-size: 56px; }

  .navbar__inner { height: 80px; }
  .navbar__nav { display: flex; align-items: center; }
  .navbar__actions { display: flex; }
  .navbar__menu-btn { display: none; }

  .hero__inner {
    grid-template-columns: 7fr 5fr;
    gap: 80px;
    padding: 96px var(--gutter-lg) 128px;
    align-items: center;
  }
  .hero__inner--centered { grid-template-columns: 1fr; }

  .section-head {
    grid-template-columns: 5fr 6fr;
    gap: 64px;
    margin-bottom: 80px;
    align-items: end;
  }
  .section-head > p { grid-column: 2; }
  .section-head > div { grid-column: 1; }

  .hero-stats { grid-template-columns: repeat(4, 1fr); }
  .hero-stats__cell { border-top: 1px solid var(--line); }
  /* Reset mobile 2-col rule and apply 4-col left-border to all but first */
  .hero-stats__cell:nth-child(2n) { border-left: 0; padding-left: 0; }
  .hero-stats__cell + .hero-stats__cell {
    border-left: 1px solid var(--line);
    padding-left: 32px;
  }

  .why-grid { grid-template-columns: repeat(4, 1fr); }
  .why-cell {
    padding: 48px 28px 48px 0;
    border-right: 1px solid var(--line);
    border-bottom: 0;
  }
  .why-cell:not(:first-child) { padding-left: 28px; }
  .why-cell:nth-child(2n) { padding-right: 28px; padding-left: 28px; border-right: 1px solid var(--line); }
  .why-cell:last-child { border-right: 0; padding-right: 0; }

  .sticky-bar { display: none; }

  .split-2 { display: grid; grid-template-columns: 5fr 7fr; gap: 64px; }
  .split-2--reverse { grid-template-columns: 7fr 5fr; }

  .editorial { grid-template-columns: 8fr 4fr; gap: 64px; align-items: end; }

  .pull-quote-wrap { display: grid; grid-template-columns: 2fr 9fr; gap: 32px; }
  .pull-quote-wrap > .eyebrow-wrap { grid-column: 1; }

  .contact-info-form { display: grid; grid-template-columns: 5fr 6fr; gap: 64px; }
}

/* =====================================================
   ≥ 1280px — Large desktop
   ===================================================== */
@media (min-width: 1280px) {
  .hero__inner { gap: 96px; }
}
