@font-face {
  font-family: "Fira Sans";
  src: url("../assets/fonts/FiraSans-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Fira Sans";
  src: url("../assets/fonts/FiraSans-SemiBold.woff2") format("woff2");
  font-weight: 600 800;
  font-style: normal;
  font-display: swap;
}

:root {
  --hawk-red: #c90019;
  --ink: #1c1c1c;
  --muted: #5f6368;
  --line: #d8d8d8;
  --soft: #f2f2f0;
  --mid: #d7d7d4;
  --header-text: #3b3d40;
  --dark-grey: #383c3f;
}

* { box-sizing: border-box; }

button,
input,
select,
textarea { font: inherit; }

button { cursor: pointer; }

:focus-visible {
  outline: 3px solid rgba(201, 0, 25, .35);
  outline-offset: 2px;
}

.site-footer-large {
  color: #fff;
  background: #3b3d40;
}

.footer-large-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(14rem, .9fr) minmax(15rem, .8fr);
  gap: 4rem;
  width: min(100%, 1120px);
  margin: 0 auto;
  padding: 3.5rem 1.25rem 3.2rem;
  font-size: 15px;
  line-height: 24px;
}

.footer-large-inner section { min-width: 0; }
.footer-large-inner p { margin: 0; color: #a8adb3; font-size: 15px; line-height: 24px; font-weight: 500; }
.footer-large-inner .footer-large-status { margin-top: 1.25rem; }
.footer-large-status strong { color: #fff; }
.footer-large-inner h2,
.footer-large-inner h3 { margin: 0; }
.footer-large-inner h2 { max-width: 34rem; margin-top: 1.25rem; color: #fff; font-size: 15px; line-height: 26px; font-weight: 600; text-transform: uppercase; }
.footer-large-inner h3 { margin-bottom: 1rem; color: #a8adb3; font-size: 15px; line-height: 24px; font-weight: 500; }
.footer-large-inner nav { display: grid; gap: .85rem; }
.footer-large-inner a { width: fit-content; color: #fff; font-size: 15px; line-height: 24px; font-weight: 400; text-decoration: none; }
.footer-large-inner a:hover { text-decoration: underline; }
.footer-large-inner a[aria-current="page"] { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .25rem; }

@media (max-width: 700px) {
  .footer-large-inner { grid-template-columns: 1fr; gap: 2rem; padding: 2.5rem 1rem; }
}

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

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

@media (forced-colors: active) {
  :focus-visible { outline: 3px solid Highlight; }

  button,
  input,
  select,
  textarea,
  .btn { border: 1px solid ButtonText; }

  [aria-current="page"],
  .is-active { outline: 2px solid Highlight; outline-offset: -2px; }
}
