body[data-page="blog"] .blog-hero {
  padding-top: clamp(40px, 5vw, 70px);
  padding-bottom: clamp(32px, 4vw, 58px);
}

body[data-page="blog"] .blog-index {
  padding-top: clamp(32px, 4vw, 56px);
}

body[data-page="blog"] .blog-tools {
  margin-bottom: clamp(36px, 4vw, 58px);
}

body[data-page="blog"] .blog-tools-bottom {
  display: flex;
  grid-column: 1 / -1;
  gap: 20px;
  align-items: center;
  justify-content: space-between;
  padding-top: 6px;
}

body[data-page="blog"] .blog-sort {
  display: flex;
  gap: 10px;
  align-items: center;
  color: var(--muted);
  font: 700 .63rem var(--mono);
  letter-spacing: .035em;
  text-transform: uppercase;
}

body[data-page="blog"] .blog-sort select {
  min-height: 42px;
  padding: 7px 34px 7px 12px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #171c16;
  color: var(--text);
  font: 600 .8rem var(--body);
  text-transform: none;
  cursor: pointer;
}

body[data-page="blog"] .blog-sort select:hover,
body[data-page="blog"] .blog-sort select:focus-visible {
  border-color: var(--accent);
  outline: none;
}

body[data-page="blog"] .blog-feature-wrap {
  margin-bottom: clamp(36px, 4vw, 58px);
}

body[data-page="blog"] .blog-feature {
  min-height: 0;
  gap: clamp(22px, 3vw, 40px);
  cursor: pointer;
}

body[data-page="blog"] .blog-feature-copy {
  padding-block: 0;
}

body[data-page="blog"] .blog-feature h2 {
  display: block;
  max-width: 24ch;
  overflow: visible;
  font-size: clamp(2.25rem, 4vw, 4.5rem);
  -webkit-line-clamp: unset;
}

body[data-page="blog"] .blog-feed article {
  min-height: 0;
  cursor: pointer;
}

body[data-page="blog"] .blog-feed-copy {
  padding: clamp(20px, 2.5vw, 32px) 0;
}

body[data-page="blog"] .blog-feed h3 {
  display: block;
  max-width: none;
  margin: 0 0 .9rem;
  overflow: visible;
  font-family: var(--display);
  font-size: clamp(1.75rem, 2.5vw, 2.65rem);
  font-weight: 550;
  letter-spacing: -.045em;
  line-height: 1.04;
}

body[data-page="blog"] .blog-feed-copy > p {
  -webkit-line-clamp: 2;
}

body[data-page="blog"] .blog-feature h2 a::after,
body[data-page="blog"] .blog-feed h3 a::after,
body[data-page="blog"] .related-grid h3 a::after {
  position: absolute;
  z-index: 2;
  inset: 0;
  content: '';
}

body[data-page="blog"] .blog-feature:focus-within,
body[data-page="blog"] .blog-feed article:focus-within,
body[data-page="blog"] .related-grid article:focus-within {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}

body[data-page="blog"] .blog-feature h2 a:focus-visible,
body[data-page="blog"] .blog-feed h3 a:focus-visible,
body[data-page="blog"] .related-grid h3 a:focus-visible {
  outline: none;
}

body[data-page="blog"] .blog-feature:hover h2 a,
body[data-page="blog"] .blog-feature:focus-within h2 a,
body[data-page="blog"] .blog-feed article:hover h3 a,
body[data-page="blog"] .blog-feed article:focus-within h3 a,
body[data-page="blog"] .related-grid article:hover h3 a,
body[data-page="blog"] .related-grid article:focus-within h3 a {
  color: var(--accent);
}

body[data-page="blog"] .blog-section-label span {
  color: var(--muted);
  font-weight: 400;
}

body[data-page="blog"] .related-grid article {
  position: relative;
  cursor: pointer;
}

@media (max-width: 760px) {
  body[data-page="blog"] .blog-hero {
    padding-top: 26px;
    padding-bottom: 22px;
  }

  body[data-page="blog"] .blog-hero h1 {
    margin: 14px 0 18px;
  }

  body[data-page="blog"] .blog-hero-copy > p:last-child {
    line-height: 1.5;
  }

  body[data-page="blog"] .blog-index {
    padding-top: 22px;
  }

  body[data-page="blog"] .blog-tools {
    margin-bottom: 28px;
  }

  body[data-page="blog"] .blog-filters {
    max-width: 100%;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 6px;
    scrollbar-color: rgba(var(--accent-rgb), .5) transparent;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
  }

  body[data-page="blog"] .blog-filters button {
    min-height: 40px;
    flex: 0 0 auto;
  }

  body[data-page="blog"] .blog-tools-bottom {
    min-width: 0;
  }

  body[data-page="blog"] .blog-feature {
    padding: 18px;
  }

  body[data-page="blog"] .blog-feature-wrap {
    margin-bottom: 30px;
  }

  body[data-page="blog"] .blog-feature-copy {
    padding-block: 18px;
  }

  body[data-page="blog"] .blog-feed article {
    min-height: 0;
    padding: 18px;
  }

  body[data-page="blog"] .blog-feed-copy {
    padding: 18px 0;
  }
}

@media (max-width: 520px) {
  body[data-page="blog"] .blog-hero-count,
  body[data-page="blog"] .blog-feature-marker {
    display: none;
  }

  body[data-page="blog"] .blog-tools-bottom {
    align-items: stretch;
    flex-direction: column;
    gap: 10px;
  }

  body[data-page="blog"] .blog-result-count {
    align-self: flex-start;
  }

  body[data-page="blog"] .blog-sort {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    width: 100%;
    min-width: 0;
    gap: 10px;
  }

  body[data-page="blog"] .blog-sort select {
    box-sizing: border-box;
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  body[data-page="blog"] .blog-feature h2 {
    max-width: none;
    font-size: clamp(1.65rem, 7vw, 2.1rem);
    line-height: 1.1;
    overflow-wrap: anywhere;
  }

  body[data-page="blog"] .blog-feed h3 {
    font-size: clamp(1.6rem, 6.8vw, 2.15rem);
    line-height: 1.1;
    overflow-wrap: anywhere;
  }
}
