:root {
  --sec-color-text: #454545;
  --sec-color-focus: #603aaa;
  --sec-radius-control: 2rem;
  --sec-space-unit: 0.5rem;
  --sec-page-gutter: clamp(24px, 4vw, 64px);
}
:focus-visible { outline: 2px solid var(--sec-color-focus); outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: 0.01ms !important; }
}

.layout-container :is(h1, h2, h3, h4, p, label, legend, button) { overflow-wrap: anywhere; }
.layout-container :is(input, textarea, select) { max-width: 100%; min-width: 0; }
.layout-container .partners-wrapper:is(.is-paused, :focus-within, :not(.has-motion-controls)) .partners-banner-track {
  animation: none;
  transform: none;
  width: 100%;
}
.layout-container .partners-wrapper:is(.is-paused, :focus-within, :not(.has-motion-controls)) .partners-banner-content {
  width: 100%;
  flex-wrap: wrap;
  justify-content: center;
}
.layout-container .partners-wrapper:is(.is-paused, :focus-within, :not(.has-motion-controls)) .partners-banner-content[aria-hidden="true"] { display: none; }

.layout-container .partners-wrapper:is(.is-paused, :focus-within, :not(.has-motion-controls)) .partners-banner {
  height: auto;
  min-height: 64px;
  overflow: visible;
}

/* One mobile heading scale across public pages and form sections. */
@media (max-width: 767px) {
  .layout-container main :is(h1, .h1) {
    font-size: 42px;
    line-height: 1.12;
  }
  .layout-container main :is(h2, .h2) {
    font-size: 42px;
    line-height: 1.18;
  }
  .layout-container main :is(h3, .h3) {
    font-size: clamp(22px, 5.8vw, 26px);
    line-height: 1.2;
  }
  .layout-container main :is(h4, .h4) {
    font-size: 22px;
    line-height: 1.25;
  }
  .layout-container main .hero-section .hero-heading {
    font-size: clamp(64px, 20vw, 96px);
    line-height: 0.98;
  }
}


@media (max-width: 769px) {
  .layout-container .news-card-content { padding: 18px; gap: 20px; }
}
