/* ============================================================
   Responsive scale — fluid type, touch targets, grids, transitions
   ============================================================ */

:root {
  --fs-md: clamp(1rem, 0.92rem + 0.35vw, 1.15rem);
  --fs-lg: clamp(1.15rem, 1rem + 0.55vw, 1.4rem);
  --fs-xl: clamp(1.35rem, 1.1rem + 1vw, 1.85rem);
  --fs-2xl: clamp(1.75rem, 1.35rem + 1.6vw, 2.6rem);
  --fs-3xl: clamp(2.1rem, 1.6rem + 2.2vw, 3.6rem);
  --ease-interactive: cubic-bezier(0.25, 0.8, 0.25, 1);
}

main {
  max-width: 100%;
  overflow-x: clip;
}

.grid-fluid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
  gap: clamp(0.75rem, 2vw, 1.15rem);
}

@media (prefers-reduced-motion: no-preference) {
  a:not(.btn):not([class*='newsroom-card']):not([class*='help-category-card']),
  button:not(.btn),
  input,
  select,
  textarea {
    transition:
      color var(--dur-med) var(--ease-interactive),
      background-color var(--dur-med) var(--ease-interactive),
      border-color var(--dur-med) var(--ease-interactive),
      box-shadow var(--dur-med) var(--ease-interactive),
      transform var(--dur-med) var(--ease-interactive);
  }
}

@media (max-width: 900px) {
  .btn,
  .btn--sm {
    min-height: 44px;
    padding-block: max(0.55rem, calc((44px - 1em) / 2));
  }

  .site-header.nav-open .nav__link {
    min-height: 48px;
    display: flex;
    align-items: center;
  }

  .newsroom__filter {
    min-height: 44px;
    padding-block: 0.55rem;
  }

  .help-category-card {
    min-height: 44px;
  }

  .help-section-nav a {
    min-height: 44px;
    display: flex;
    align-items: center;
  }

  .newsroom-card {
    min-height: 44px;
  }
}
