@font-face {
  font-family: Newsreader;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/newsreader-latin-500.woff2') format('woff2');
}

.home-craft {
  background: #fff;
}

.home-craft .notice-bar {
  padding: .375rem 1rem;
  background: #edf3ef;
  border-color: #cddbd2;
  color: #294c3e;
  font-size: .8125rem;
  line-height: 1.45;
}

.home-craft .site-header {
  background: #fff;
  box-shadow: none;
  backdrop-filter: none;
}

.home-craft ::selection {
  background: #d2e6d8;
  color: #183e31;
}

.home-craft .hero a:focus-visible {
  outline: 3px solid #245f9f;
  outline-offset: 4px;
}

#top.home-page > .hero {
  padding-top: 2rem;
  padding-bottom: 1.5rem;
}

#top.home-page > .hero h1 {
  max-width: 1020px;
  margin: 0 0 1rem;
  font-family: Newsreader, Georgia, serif;
  font-size: 4rem;
  font-weight: 500;
  line-height: 1.03;
  letter-spacing: 0;
  text-wrap: balance;
  overflow-wrap: anywhere;
  color: #253c32;
}

.home-craft .hero-lede {
  max-width: 75ch;
  margin-bottom: .65rem;
  color: #49564f;
  font-size: 1rem;
  line-height: 1.5;
}

.home-craft .hero .home-editorial-note {
  margin-bottom: 0;
  color: #49564f;
  font-size: .8125rem;
  line-height: 1.45;
}

.home-craft .hero-actions {
  gap: .625rem;
  margin: 1rem 0 1.25rem;
}

.home-craft .hero-actions .btn {
  min-height: 44px;
  padding: .55rem 1rem;
  border-radius: 4px;
  font-size: .9375rem;
  font-weight: 600;
  box-shadow: none;
  transition: background-color .15s ease;
}

.home-craft .hero-actions .btn:hover {
  transform: none;
}

.home-craft .hero-actions .primary {
  background: #285744;
  color: #fff;
}

.home-craft .hero-actions .primary:hover {
  background: #193e2e;
}

.home-craft .hero-actions .secondary {
  border: 1px solid #68796f;
  background: #fff;
  color: #253c32;
}

.home-craft .hero-actions .secondary:hover {
  background: #edf3ef;
}

.directory-coverage {
  margin: 0;
  padding-top: .875rem;
  border-top: 1px solid #b3c2b9;
}

.directory-coverage figcaption {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: .5rem;
  margin-bottom: .75rem;
  color: #253c32;
  font-size: .9375rem;
}

.directory-coverage figcaption a {
  color: #285878;
  font-size: .8125rem;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.coverage-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.coverage-link {
  --coverage-ink: #285744;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-content: center;
  align-items: baseline;
  gap: .5rem .375rem;
  min-height: 44px;
  color: var(--coverage-ink);
  font-size: .875rem;
  line-height: 1.35;
}

.coverage-link[data-coverage-category='Roleplay'] {
  --coverage-ink: #67486f;
}

.coverage-link[data-coverage-category='Voice Chat'] {
  --coverage-ink: #285878;
}

.coverage-link[data-coverage-category='Image & Video'] {
  --coverage-ink: #854c34;
}

.coverage-label {
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.coverage-value {
  font-size: .8125rem;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.coverage-track {
  display: grid;
  grid-column: 1 / -1;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, 1fr);
  gap: 2px;
  height: 7px;
}

.coverage-tick {
  background: #dce4de;
}

.coverage-tick.is-listed {
  background: var(--coverage-ink);
}

.coverage-link:hover .coverage-label {
  text-decoration-thickness: 2px;
}

#coverage-note {
  margin: .75rem 0 0;
  font-size: .8125rem;
  line-height: 1.4;
  color: #49564f;
}

.home-craft .home-intents {
  padding-top: 1.25rem;
}

.home-craft .home-intents .home-section-heading h2 {
  font-family: Newsreader, Georgia, serif;
  font-size: 1.875rem;
  font-weight: 500;
  line-height: 1.15;
}

@media (max-width: 980px) {
  #top.home-page > .hero h1 {
    font-size: 3.25rem;
  }
  .coverage-list {
    gap: 1rem;
  }
}

@media (max-width: 680px) {
  .home-craft .site-header {
    gap: .375rem;
    padding-block: .375rem;
  }
  .home-craft .nav-links {
    gap: .35rem 1rem;
    font-size: .8125rem;
  }
  .home-craft .nav-links a {
    min-height: 28px;
  }
  #top.home-page > .hero {
    padding-top: .5rem;
    padding-bottom: .5rem;
  }
  #top.home-page > .hero h1 {
    margin-bottom: .5rem;
    font-size: 2rem;
    line-height: 1.04;
  }
  .home-craft .hero-lede {
    font-size: .875rem;
    line-height: 1.45;
    margin-bottom: .5rem;
  }
  .home-craft .hero-actions {
    margin: .25rem 0;
  }
  .home-craft .hero-actions .btn {
    flex: 1 1 auto;
    padding: .5rem .75rem;
    font-size: .875rem;
  }
  .directory-coverage {
    padding-top: .375rem;
  }
  .directory-coverage figcaption {
    margin-bottom: .25rem;
    font-size: .875rem;
  }
  .coverage-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .25rem 1rem;
  }
  .coverage-link {
    grid-template-rows: minmax(2rem, auto) 5px;
    min-height: 42px;
    align-items: start;
    font-size: .8125rem;
    line-height: 1.2;
    gap: .25rem;
  }
  .coverage-value {
    font-size: .75rem;
  }
  .coverage-track {
    height: 5px;
    gap: 1px;
  }
  #coverage-note {
    margin-top: .25rem;
    font-size: .75rem;
  }
  .home-craft .home-intents {
    padding-top: .5rem;
  }
  .home-craft .home-intents .home-section-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    column-gap: .75rem;
    margin-bottom: .25rem;
  }
  .home-craft .home-intents .home-section-heading > a {
    font-size: .8125rem;
    max-width: 6rem;
  }
  .home-craft .home-intents .home-section-heading h2 {
    font-size: 1.625rem;
  }
}

@media (max-width: 360px) {
  #top.home-page > .hero {
    padding-top: .25rem;
    padding-bottom: 0;
  }
  #top.home-page > .hero h1 {
    margin-bottom: .25rem;
    font-size: 1.75rem;
    line-height: 1.05;
  }
  .home-craft .hero-actions {
    margin: .125rem 0;
  }
  .home-craft .home-intents {
    padding-top: .25rem;
  }
}
