/* Local fonts: preloaded in index.html to reduce late font swaps. */
@font-face {
  font-family: 'Anton';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/anton-latin-ext-400.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Anton';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/anton-latin-400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/inter-latin-ext-400.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/inter-latin-400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/inter-latin-ext-400.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/inter-latin-400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/inter-latin-ext-400.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/inter-latin-400.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Next150 layout and asset adaptations. Load after the two unmodified component libraries. */
:root {
  --skf-page-width: 1320px;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }
html, body { min-height: 100%; }
.site-shell { display: flex; flex-direction: column; min-height: 100vh; }
.site-main { flex: 1 0 auto; min-height: 28rem; }

body {
  margin: 0;
  color: #252525;
  background: #fff;
  line-height: 1.5;
}

img { display: block; max-width: 100%; }
:focus-visible { outline: 3px solid #00d0ff; outline-offset: 4px; }

.site-skip-link {
  position: absolute;
  z-index: 1001;
  top: -100px;
  left: 1rem;
  padding: .65rem 1rem;
  background: #fff;
  color: #011377;
}
.site-skip-link:focus { top: 1rem; }

/* Reference page composition. These rules supplement the immutable component CSS. */
.site-content-container {
  width: 100%;
  max-width: 82.75rem;
  margin-right: auto;
  margin-left: auto;
  padding-right: 1rem;
  padding-left: 1rem;
}
.site-brand { display: inline-flex; align-items: center; height: 100%; }
.site-header-inner { max-width: 78.75rem; margin: 0 auto; }
.site-brand-mark { position: relative; display: block; width: 89px; height: 48px; }
/* Retain the supplied Foundation logo without distorting its aspect ratio. */
.site-brand-mark .fed-logo-header { width: 100%; height: 100%; max-height: none; object-fit: contain; }
.sk-header-logo { max-width: 100%; }
.fed-logo-footer { width: auto; height: 55px; object-fit: contain; }
@media (max-width: 1023.98px) {
  .fed-logo-footer { margin-inline: auto; }
}
.sk-footer { flex: 0 0 auto; }
.sk-footer p { margin-top: .75rem; }
.sk-footer .fed-phone-link,
.sk-footer .fed-phone-link:visited,
.sk-footer .fed-phone-link:hover,
.sk-footer .fed-phone-link:active,
.sk-footer .fed-phone-link:focus,
.sk-footer .fed-phone-link:focus-visible { color: inherit; text-decoration: underline; cursor: pointer; }
.sk-footer a:focus-visible { border-radius: 2px; outline: 3px solid #00d0ff; outline-offset: 3px; }

/* Recognition sections retain their established widths and grid geometry. */
.section-wrap { width: min(calc(100% - 2rem), var(--skf-page-width)); margin-inline: auto; }


.champions { padding-bottom: 5rem; }
.fed-resource-section { padding: 1.5rem 0 0; }
.fed-resource-intro { max-width: 48rem; margin: 0 auto 3.75rem; text-align: center; }
.fed-resource-page-title { margin: 1.5rem 0 1rem; color: #011377; font-size: 3.75rem; line-height: 1; }
.fed-resource-intro-copy { margin: 0; }
.logo-wall {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .5rem;
  margin-block: 0;
  padding: 0;
  list-style: none;
}
.logo-wall__item {
  display: grid;
  place-items: center;
  flex: 0 1 206px;
  max-width: 206px;
  min-width: 0;
  height: 115px;
  padding: .75rem;
  border: 1px solid #e2e8f0;
  background: #fff;
}
.logo-wall__item img {
  display: block;
  width: 100%;
  max-width: 180px;
  height: 80px;
  max-height: 100%;
  object-fit: contain;
}

/* Below the width needed for two tiles, use more of the available space.
   The 200 × 90 image box retains 2× resolution for the supplied logo assets. */
@media (max-width: 451.98px) {
  .logo-wall__item {
    flex-basis: 100%;
    max-width: 360px;
    height: 140px;
  }
  .logo-wall__item img {
    max-width: 200px;
    height: 90px;
  }
}

.recognition { padding-block: 2rem 3rem; }
.name-list {
  font-size: 1rem;
  line-height: 1.25rem;
  font-weight: 400;
  text-transform: none;
  column-count: 1;
  column-gap: 1.8rem;
  margin: 0;
  padding: 0;
  list-style: none;
  text-wrap: balance;
}
.name-list li {
  break-inside: avoid;
  min-width: 0;
  padding: 0 0 1.25rem;
  text-align: center;
  overflow-wrap: anywhere;
}

@media (min-width: 576px) {
  .title-ending { white-space: nowrap; }
}

@media (min-width: 768px) {
  .site-content-container { padding-right: 2rem; padding-left: 2rem; }
  .section-wrap { width: min(calc(100% - 3rem), var(--skf-page-width)); }
  .logo-wall { gap: .75rem; }
}

/* Use two wide text columns once the viewport reaches the site container width. */
@media (min-width: 1320px) {
  .name-list { column-count: 2; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

@media (max-width: 35.999rem) {
  .fed-resource-section { padding-top: 1rem; }
  .fed-resource-intro { margin-bottom: 3rem; text-align: left; }
  .fed-resource-page-title { max-width: none; font-size: 2.5rem; }
}
