/* Hallmark · genre: editorial · macrostructure: Ecosystem Index · theme: Newsprint reference-locked · nav: N6 · footer: Ft2 · contrast/mobile/slop: pass */
/* Hallmark · pre-emit critique: P5 H5 E5 S5 R5 V5 */
/* Image system: reference-matched local editorial photography with proportional cover crops. */
@import url("tokens.css?v=20260820-2");

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

html,
body { overflow-x: clip; }

html { scroll-behavior: smooth; }

body {
  min-width: 0;
  margin: 0;
  background: var(--color-paper);
  color: var(--color-ink);
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: 1.55;
}

body.menu-open { overflow: hidden; }

img {
  display: block;
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
}

a:hover { color: var(--color-accent); }

button,
input { font: inherit; }

button { color: inherit; }

h1,
h2,
h3,
h4 {
  min-width: 0;
  margin-block: 0;
  overflow-wrap: anywhere;
  color: var(--color-ink);
  font-family: var(--font-display);
  font-style: normal;
  line-height: 1.18;
}

h1 { font-size: clamp(2rem, 5vw, var(--text-3xl)); }
h2 { font-size: var(--text-xl); }
h3 { font-size: var(--text-md); }

p { margin-block: 0; }

time,
.meta {
  color: var(--color-muted);
  font-size: var(--text-xs);
  font-variant-numeric: tabular-nums;
}

[hidden] { display: none !important; }

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.skip-link {
  position: fixed;
  inset-block-start: var(--space-sm);
  inset-inline-start: var(--space-sm);
  z-index: 60;
  padding: var(--space-sm) var(--space-md);
  transform: translateY(-150%);
  background: var(--color-paper);
  color: var(--color-accent-dark);
  font-weight: 700;
}

.skip-link:focus { transform: none; }

:focus-visible {
  outline: 2px solid var(--color-focus);
  outline-offset: 3px;
}

.site-header :focus-visible,
.site-footer :focus-visible { outline-color: var(--color-focus-on-dark); }

.site-header {
  position: relative;
  z-index: 20;
  background:
    linear-gradient(128deg, var(--color-accent) 0 68%, var(--color-accent-dark) 68% 74%, var(--color-accent) 74% 82%, var(--color-accent-dark) 82% 87%, var(--color-accent) 87% 100%);
  color: var(--color-accent-ink);
}

.masthead {
  width: min(100%, var(--container));
  margin-inline: auto;
  padding: var(--space-md) var(--gutter) 0;
  text-align: center;
}

.masthead__bar {
  min-height: 4.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.masthead__wordmark {
  color: var(--color-accent-ink);
  font-family: var(--font-display);
  font-size: var(--text-2xl);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1;
}

.masthead__wordmark:hover { color: var(--color-accent-light); }

.masthead__toggle {
  position: relative;
  width: 3rem;
  height: 3rem;
  border: var(--rule-hair) solid var(--color-accent-ink);
  border-radius: var(--radius-xs);
  background: none;
  cursor: pointer;
}

.masthead__toggle::before,
.masthead__toggle::after,
.masthead__toggle-lines {
  position: absolute;
  inset-inline: 0.72rem;
  height: var(--rule-strong);
  background: var(--color-accent-ink);
  content: "";
}

.masthead__toggle::before { inset-block-start: 0.88rem; }
.masthead__toggle-lines { inset-block-start: 1.42rem; }
.masthead__toggle::after { inset-block-start: 1.96rem; }

.masthead__toggle[aria-expanded="true"]::before { transform: translateY(0.54rem) rotate(45deg); }
.masthead__toggle[aria-expanded="true"]::after { transform: translateY(-0.54rem) rotate(-45deg); }
.masthead__toggle[aria-expanded="true"] .masthead__toggle-lines { opacity: 0; }

.masthead__nav { display: none; }
.masthead__nav.is-open { display: block; }

.masthead__nav ul,
.footer-nav ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

.masthead__nav ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding-block: var(--space-sm) var(--space-md);
  border-top: var(--rule-hair) solid var(--color-accent-ink);
}

.masthead__link {
  min-height: 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-bottom: var(--rule-strong) solid transparent;
  color: var(--color-accent-ink);
  font-family: var(--font-display);
  font-weight: 700;
  white-space: nowrap;
}

.footer-nav a {
  white-space: nowrap;
}

.masthead__link:hover,
.masthead__link.is-active {
  border-color: var(--color-accent-light);
  color: var(--color-accent-light);
}

.section-inner,
.page-shell,
.article-shell {
  width: min(calc(100% - (2 * var(--gutter))), var(--container));
  margin-inline: auto;
}

.page-title {
  margin-block: var(--space-2xl);
  text-align: center;
}

.page-title h1 { font-size: clamp(2rem, 4vw, var(--text-2xl)); }

.eyebrow,
.tag {
  color: var(--color-accent-dark);
  font-size: var(--text-xs);
}

.tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
  margin-block: var(--space-sm);
}

.tag {
  min-height: 1.8rem;
  display: inline-flex;
  align-items: center;
  padding-inline: var(--space-sm);
  border: 0;
  border-radius: var(--radius-sm);
  background: var(--color-accent-light);
  white-space: nowrap;
}

button.tag {
  min-height: 2.75rem;
  background: var(--color-panel);
  color: var(--color-muted);
  cursor: pointer;
}

button.tag:hover {
  background: var(--color-accent);
  color: var(--color-accent-ink);
}

.section-heading {
  position: relative;
  display: flex;
  align-items: end;
  gap: var(--space-lg);
  margin-bottom: var(--space-lg);
  padding-bottom: var(--space-xs);
  color: var(--color-accent);
}

.section-heading::after {
  flex: 1;
  height: var(--rule-strong);
  background: var(--color-accent);
  content: "";
}

.section-heading h2 { color: var(--color-accent); }

.story-image {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-position: center;
  object-fit: cover;
}

.story-image--wide { aspect-ratio: 16 / 9; }
.story-image--square { aspect-ratio: 1; }

.story-card { min-width: 0; }
.story-card > a:first-child { display: block; overflow: hidden; }
.story-card h3 { margin-block: var(--space-sm) var(--space-xs); }
.story-card p { color: var(--color-ink-soft); }
.story-card .meta-row {
  display: flex;
  justify-content: space-between;
  gap: var(--space-sm);
  margin-top: var(--space-sm);
}

.home-hero {
  padding-block: var(--space-xl) var(--space-2xl);
  background: linear-gradient(to bottom, var(--color-accent) 0 10%, var(--color-paper) 10% 100%);
}

.home-hero-grid,
.home-section-grid,
.listing-layout,
.article-hero,
.article-layout,
.related-grid { display: grid; grid-template-columns: minmax(0, 1fr); }

.home-hero-grid { gap: var(--space-md); }

.featured-story { position: relative; min-width: 0; }
.featured-story img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }

.featured-story__caption {
  position: absolute;
  inset-inline: 0;
  inset-block-end: 0;
  padding: var(--space-2xl) var(--space-lg) calc(var(--space-3xl) + var(--space-md));
  background: linear-gradient(to bottom, transparent, var(--color-overlay));
  color: var(--color-accent-ink);
}

.featured-story__caption h1,
.featured-story__caption h2,
.featured-story__caption h3 { color: var(--color-accent-ink); }

.featured-story__caption h1,
.featured-story__caption h2 { font-size: clamp(1.4rem, 4vw, var(--text-xl)); }

.hero-side-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-md); }
.hero-side-grid .story-card { position: relative; }
.hero-side-grid .story-card > a { display: block; }
.hero-side-grid .story-image { aspect-ratio: 1; }
.hero-side-grid .story-card h3 {
  position: absolute;
  inset-inline: var(--space-sm);
  inset-block-end: var(--space-sm);
  color: var(--color-accent-ink);
  font-size: var(--text-sm);
}

.carousel-actions,
.carousel-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-xs);
}

.carousel-actions { position: absolute; inset-inline: var(--space-md); inset-block-end: var(--space-md); justify-content: space-between; }

.carousel-button,
.carousel-dot,
.pagination button,
.pagination a,
.pagination span,
.search-form button {
  min-width: 2.75rem;
  min-height: 2.75rem;
  border: 0;
  border-radius: var(--radius-xs);
  background: var(--color-panel);
  cursor: pointer;
}

button:disabled,
[aria-disabled="true"] {
  opacity: 0.55;
  cursor: not-allowed;
}

button[data-state="loading"] { cursor: progress; }
button[data-state="error"] { background: var(--color-error); color: var(--color-accent-ink); }
button[data-state="success"] { background: var(--color-success); color: var(--color-accent-ink); }

.carousel-button:hover,
.pagination button:not(:disabled):hover,
.pagination a:hover,
.pagination button.is-active {
  background: var(--color-accent);
  color: var(--color-accent-ink);
}

.carousel-button:active,
.pagination button:active,
.search-form button:active { transform: translateY(1px); }

.carousel-dot {
  min-width: 0.72rem;
  min-height: 0.72rem;
  width: 0.72rem;
  height: 0.72rem;
  border-radius: var(--radius-round);
  background: var(--color-rule-strong);
}

.carousel-dot.is-active { background: var(--color-accent); }

.home-section { padding-block: var(--space-2xl); }
.home-section:nth-child(even) { background: var(--color-paper-soft); }
.home-section.home-section--classification-five { background: var(--color-paper); }
.home-section-grid { gap: var(--space-lg); }

.home-grid-tiles {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-lg);
}

.compact-list { display: grid; align-content: start; }
.compact-item {
  padding-block: var(--space-sm);
  border-bottom: var(--rule-hair) solid var(--color-rule);
}
.compact-item h3 { font-size: var(--text-sm); }
.compact-item:focus-within h3 { color: var(--color-accent); }

.thumb-list { display: grid; gap: var(--space-md); }
.thumb-item {
  display: grid;
  grid-template-columns: 6rem minmax(0, 1fr);
  gap: var(--space-sm);
  align-items: center;
}
.thumb-item img { width: 6rem; aspect-ratio: 4 / 3; object-fit: cover; }
.thumb-item h3 { font-size: var(--text-sm); }
.thumb-item__body { min-width: 0; }

.home-grid-tiles.is-featured > .story-card > h3 {
  margin-block: var(--space-sm);
  font-size: var(--text-lg);
  line-height: 1.2;
}

.home-grid-tiles.is-featured > .story-card > p {
  display: -webkit-box;
  margin-bottom: var(--space-lg);
  overflow: hidden;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

.home-grid-tiles.is-featured > .story-card:first-child > p { -webkit-line-clamp: 3; }
.home-grid-tiles.is-featured .thumb-list { gap: var(--space-lg); }
.home-grid-tiles.is-featured .thumb-item {
  grid-template-columns: 7.25rem minmax(0, 1fr);
  gap: var(--space-md);
  align-items: start;
}

.home-grid-tiles.is-featured .thumb-item img { width: 7.25rem; }
.home-grid-tiles.is-featured .thumb-item h3 {
  margin: 0;
  font-size: var(--text-base);
  line-height: 1.3;
}

.home-grid-tiles.is-featured .thumb-item time {
  display: block;
  margin-top: var(--space-sm);
}

.search-form {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-bottom: var(--space-xl);
}

.search-form label { grid-column: 1 / -1; margin-bottom: var(--space-xs); font-size: var(--text-sm); }

.search-form input {
  min-width: 0;
  min-height: 3rem;
  padding: var(--space-sm) var(--space-md);
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-round) 0 0 var(--radius-round);
  outline: 2px solid transparent;
  background: var(--color-panel);
  color: var(--color-ink);
}

.search-form input:hover { background: var(--color-paper-soft); }
.search-form input:focus-visible { outline-color: var(--color-focus); }
.search-form input:disabled { opacity: 0.55; cursor: not-allowed; background: var(--color-rule); }
.search-form input[aria-invalid="true"] { border-color: var(--color-error); }
.search-form input[data-state="success"] { border-color: var(--color-success); }
.search-form input[data-state="loading"] { cursor: progress; }

.search-form button {
  min-width: 3.25rem;
  min-height: 3rem;
  border-radius: 0 var(--radius-round) var(--radius-round) 0;
  background: var(--color-panel);
}

.search-form button:hover { background: var(--color-accent); color: var(--color-accent-ink); }

.search-form__status {
  min-height: 1lh;
  grid-column: 1 / -1;
  margin-top: var(--space-xs);
  color: var(--color-muted);
  font-size: var(--text-xs);
}

.search-form label,
.search-form__status {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.listing-layout { gap: var(--space-2xl); padding-bottom: var(--space-4xl); }
.listing-main { min-width: 0; scroll-margin-top: var(--space-xl); }
.listing-main:focus { outline: none; }

.sidebar { display: grid; gap: var(--space-xl); align-content: start; }
.sidebar-panel h2 {
  margin-bottom: var(--space-md);
  padding-bottom: var(--space-sm);
  border-bottom: var(--rule-hair) solid var(--color-rule);
}
.sidebar-panel h2::after {
  display: block;
  width: 3rem;
  height: var(--rule-strong);
  margin-top: var(--space-sm);
  background: var(--color-accent);
  content: "";
}

.editor-pick img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.editor-pick h3 { margin-block: var(--space-sm); font-size: var(--text-sm); }
.editor-pick .carousel-dots { margin-top: var(--space-sm); }

.popular-tags { display: flex; flex-wrap: wrap; gap: var(--space-xs); }
.popular-tags .tag { background: var(--color-panel); color: var(--color-muted); }
.popular-tags button.tag { min-height: 1.8rem; }

.listing-feature { margin-bottom: var(--space-2xl); }
.listing-feature > img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.listing-feature__copy { padding: var(--space-xl); background: var(--color-panel); }
.listing-feature__copy h2 { margin-block: var(--space-md); }

.row-list { display: grid; gap: var(--space-lg); }
.row-story {
  display: grid;
  grid-template-columns: minmax(7rem, 0.6fr) minmax(0, 1.8fr);
  gap: var(--space-lg);
  align-items: center;
  padding: var(--space-lg);
  background: var(--color-panel);
}
.row-story img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.row-story h3 { margin-block: var(--space-sm); }
.row-story:focus-within h3 { color: var(--color-accent); }

.card-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-xl); }
.card-grid .story-card img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }

.date-list { display: grid; }
.date-item {
  display: grid;
  grid-template-columns: 4rem minmax(0, 1fr);
  gap: var(--space-md);
  padding-block: var(--space-lg);
  border-bottom: var(--rule-hair) solid var(--color-rule);
}
.date-box { display: grid; place-items: center; padding: var(--space-sm); background: var(--color-paper-soft); color: var(--color-muted); }
.date-box strong { font-family: var(--font-display); font-size: var(--text-xl); line-height: 1; }
.date-item:focus-within h3,
.date-item:focus-within .date-box { color: var(--color-accent); }

.paired-feed { display: grid; gap: var(--space-xl); }
.paired-story { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-md); align-items: center; }
.paired-story img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }

.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
  margin-top: var(--space-3xl);
  padding-block: var(--space-xl) var(--space-4xl);
}

.pagination button,
.pagination a,
.pagination span {
  display: inline-grid;
  width: 2.875rem;
  min-width: 2.875rem;
  height: 2.875rem;
  min-height: 2.875rem;
  place-items: center;
  padding: 0;
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-xs);
  background: var(--color-panel);
  color: var(--color-ink-soft);
  font-variant-numeric: tabular-nums;
  line-height: 1;
  transition:
    transform var(--dur-micro) var(--ease-out),
    background-color var(--dur-short) var(--ease-out),
    border-color var(--dur-short) var(--ease-out),
    color var(--dur-short) var(--ease-out);
}

.pagination button[data-delta] {
  font-family: var(--font-body);
  font-size: var(--text-lg);
}

.pagination button.is-active,
.pagination button[aria-current="page"],
.pagination span.current,
.pagination a.current {
  border-color: var(--color-accent);
  background: var(--color-accent);
  color: var(--color-accent-ink);
  cursor: default;
}

.pagination button:disabled {
  border-color: var(--color-rule);
  background: var(--color-paper-soft);
  color: var(--color-muted);
  opacity: 0.55;
  cursor: not-allowed;
}

.empty-results {
  padding: var(--space-2xl);
  border: var(--rule-hair) solid var(--color-rule);
  text-align: center;
}

.breadcrumb { padding-block: var(--space-lg); }
.breadcrumb ol { display: flex; flex-wrap: wrap; gap: var(--space-sm); padding: 0; margin: 0; list-style: none; }
.breadcrumb li:not(:last-child)::after { margin-inline-start: var(--space-sm); color: var(--color-muted); content: ">"; }
.breadcrumb a { white-space: nowrap; }

.article-hero { gap: var(--space-2xl); align-items: center; padding-bottom: var(--space-xl); }
.article-hero__copy h1 { margin-block: 0 var(--space-lg); font-size: clamp(2rem, 5vw, var(--text-3xl)); }
.article-hero__copy > p { max-width: 54ch; color: var(--color-ink-soft); }
.article-hero__image { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }

.article-byline { display: flex; flex-wrap: wrap; gap: var(--space-xl); align-items: center; margin-top: var(--space-xl); }
.author { display: flex; gap: var(--space-sm); align-items: center; font-family: var(--font-display); font-weight: 700; }
.author img { width: 2.75rem; height: 2.75rem; border-radius: var(--radius-round); object-fit: cover; }
.article-byline time::before,
.article-byline .meta::before { margin-inline-end: var(--space-xs); color: var(--color-accent); font-size: var(--text-md); }
.article-byline time::before { content: "\25a3"; }
.article-byline .meta::before { content: "\25ae"; }

.article-rule { height: 0.42rem; margin-block: var(--space-lg); border: 0; background: repeating-linear-gradient(90deg, var(--color-rule) 0 2px, var(--color-paper) 2px 4px); }

.article-layout { gap: var(--space-2xl); align-items: start; padding-bottom: var(--space-3xl); }
.article-prose { min-width: 0; color: var(--color-ink-soft); }
.article-prose p { max-width: var(--measure); margin-bottom: var(--space-lg); }
.article-prose .tag-panel { max-width: var(--measure); margin-top: var(--space-2xl); padding: var(--space-lg); border: var(--rule-hair) solid var(--color-rule); }

.brand-list { max-height: 29rem; display: grid; gap: var(--space-md); overflow-y: auto; padding-inline-end: var(--space-sm); }
.brand-item { display: grid; grid-template-columns: 4.25rem minmax(0, 1fr); gap: var(--space-sm); align-items: center; }
.brand-mark {
  width: 4.25rem;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  background: var(--color-paper-soft);
  color: var(--color-accent);
  font-family: var(--font-display);
  font-size: var(--text-xl);
  font-weight: 700;
}
.brand-item h3 { font-size: var(--text-sm); }
.brand-item p { color: var(--color-muted); font-size: var(--text-xs); }

.article-nav { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-lg); margin-top: var(--space-2xl); }
.article-nav a { display: grid; grid-template-columns: 9rem minmax(0, 1fr); gap: var(--space-md); align-items: center; }
.article-nav img { width: 9rem; aspect-ratio: 4 / 3; object-fit: cover; }
.article-nav small { color: var(--color-muted); }
.article-nav h3 { font-size: var(--text-md); }
.article-nav a:focus-visible h3 { color: var(--color-accent); }

.related-posts { padding-bottom: var(--space-4xl); }
.related-posts > h2 { margin-bottom: var(--space-xl); }
.related-grid { gap: var(--space-lg); }
.related-grid img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.related-grid h3 { margin-block: var(--space-md) var(--space-sm); }

body[data-page^="classification-"] .page-title { margin-block: 5.5rem var(--space-2xl); }

body[data-page="classification-1"] .page-shell > .home-section-grid { gap: var(--space-2xl); }
body[data-page="classification-1"] .page-shell > .home-section-grid .listing-feature__copy {
  padding: var(--space-md) 0 0;
  background: var(--color-paper);
}
body[data-page="classification-1"] .row-story { padding: 0; gap: 0; align-items: stretch; }
body[data-page="classification-1"] .row-story > div { display: flex; flex-direction: column; justify-content: center; padding: var(--space-xl); }

.classification-three-lead { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-2xl); margin-bottom: var(--space-2xl); }
.classification-three-lead .listing-feature { margin-bottom: 0; }
.classification-three-lead .listing-feature__copy { padding: var(--space-md) 0 0; background: var(--color-paper); }
.classification-three-lead .meta-row { display: flex; justify-content: space-between; gap: var(--space-md); align-items: center; }
.classification-three-lead .tags { margin-block: 0; }
.classification-three-body .story-card .tags { margin-bottom: var(--space-xs); }

.classification-four-lead { margin-bottom: var(--space-3xl); }
body[data-page="classification-4"] .paired-feed { grid-template-columns: minmax(0, 1fr); }

body[data-page="classification-5"] .card-grid .story-card h2 {
  margin-block: var(--space-sm) var(--space-xs);
  font-size: var(--text-md);
  line-height: 1.18;
}
body[data-page="classification-5"] .card-grid { row-gap: 3.5rem; }

.site-footer { background: var(--color-accent); color: var(--color-accent-ink); }
.footer-inner { width: min(calc(100% - (2 * var(--gutter))), var(--container)); margin-inline: auto; padding-block: var(--space-xl); }
.footer-nav ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-xs) var(--space-lg); }
.footer-nav a { min-height: 2.75rem; display: inline-flex; align-items: center; color: var(--color-accent-ink); font-family: var(--font-display); font-weight: 700; white-space: nowrap; }
.copyright { margin-top: var(--space-lg); padding-top: var(--space-md); border-top: var(--rule-hair) solid var(--color-accent-dark); text-align: center; font-family: var(--font-display); font-size: var(--text-xs); }

@media (hover: hover) and (pointer: fine) {
  .compact-item:hover h3,
  .row-story:hover h3,
  .date-item:hover h3,
  .date-item:hover .date-box,
  .article-nav a:hover h3 { color: var(--color-accent); }
  .popular-tags .tag:hover { background: var(--color-accent); color: var(--color-accent-ink); }
  .story-card a:hover img,
  .row-story a:hover img,
  .related-grid a:hover img { opacity: 0.9; }
  .carousel-button:hover,
  .pagination button:not(:disabled):hover,
  .pagination a:hover,
  .search-form button:hover { transform: translateY(-1px); }
}

@media (max-width: 39.99rem) {
  .pagination {
    gap: var(--space-xs);
    padding-bottom: var(--space-3xl);
  }
}

@media (min-width: 40rem) {
  .masthead__nav ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-grid-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-grid-tiles .story-card:first-child { grid-column: auto; }
  .home-grid-tiles.is-two,
  .home-grid-tiles.is-featured { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-grid-tiles.is-featured .story-card:first-child { grid-column: 1 / -1; }
  .home-grid-tiles.is-featured > .story-card > a > .story-image { aspect-ratio: 1; }
  .home-grid-tiles.is-featured > .story-card:first-child > a > .story-image { aspect-ratio: 52 / 25; }
  .home-grid-tiles.is-featured > .story-card:first-child .thumb-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .card-grid.is-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .paired-story { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .footer-nav ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 60rem) {
  .masthead { padding-top: var(--space-lg); }
  .masthead__bar { justify-content: center; }
  .masthead__toggle { display: none; }
  .masthead__nav { display: block; }
  .masthead__nav ul { grid-template-columns: repeat(6, minmax(0, 1fr)); padding-bottom: 0; }
  .masthead__link { min-height: 4rem; }
  .home-hero { padding-block-start: 0; }
  .home-hero-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
  .featured-story img { aspect-ratio: 1; }
  body[data-page="classification-1"] .page-shell > .home-section-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
  }
  body[data-page="classification-1"] .page-shell > .home-section-grid .thumb-list { gap: var(--space-lg); }
  body[data-page="classification-1"] .page-shell > .home-section-grid .thumb-item {
    grid-template-columns: minmax(0, 1fr) 11.5rem;
    gap: var(--space-lg);
    align-items: start;
  }
  body[data-page="classification-1"] .page-shell > .home-section-grid .thumb-item > img { grid-column: 2; grid-row: 1; width: 11.5rem; }
  body[data-page="classification-1"] .page-shell > .home-section-grid .thumb-item > div { grid-column: 1; grid-row: 1; }
  body[data-page="classification-1"] .row-story { grid-template-columns: minmax(0, 0.76fr) minmax(0, 1.24fr); }
  body[data-page="classification-2"] .page-shell > .listing-feature {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
  }
  body[data-page="classification-2"] .page-shell > .listing-feature > img {
    grid-column: 2;
    grid-row: 1;
    height: 100%;
  }
  body[data-page="classification-2"] .page-shell > .listing-feature .listing-feature__copy {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  body[data-page="classification-2"] .row-story { min-height: 15.25rem; }
  .classification-three-lead { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3xl); align-items: start; }
  .classification-three-lead .date-item { grid-template-columns: 6.5rem minmax(0, 1fr); min-height: 8.5rem; align-items: center; padding-block: var(--space-md); }
  .classification-three-lead .date-box { min-height: 6.5rem; }
  .classification-three-lead .listing-feature > img { aspect-ratio: 4 / 3; }
  .classification-three-body { padding-top: 0; }
  .classification-three-body .story-card img { aspect-ratio: 1.42 / 1; }
  .classification-three-body.card-grid,
  .classification-three-body .card-grid { gap: var(--space-lg); }
  .classification-four-lead { grid-template-columns: minmax(0, 2.1fr) repeat(2, minmax(0, 1fr)); gap: var(--space-xl); align-items: start; }
  .classification-four-lead .story-card:first-child .story-image { aspect-ratio: 1.93 / 1; }
  .classification-four-lead .story-card:not(:first-child) .story-image { aspect-ratio: 0.93 / 1; }
  body[data-page="classification-4"] .paired-story { grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); gap: var(--space-xl); }
  .home-section { padding-block: var(--space-3xl); }
  .home-section-grid { grid-template-columns: minmax(0, 2.2fr) minmax(16rem, 0.8fr); }
  .home-section-grid.is-reversed { grid-template-columns: minmax(16rem, 0.8fr) minmax(0, 2.2fr); }
  .home-section-grid.is-reversed .sidebar { order: -1; }
  .home-grid-tiles.is-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .home-grid-tiles.is-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-grid-tiles.is-featured { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .home-grid-tiles.is-featured .story-card:first-child { grid-column: span 2; }
  .listing-layout { grid-template-columns: minmax(0, 2.45fr) minmax(16rem, 0.75fr); }
  .listing-layout.sidebar-left { grid-template-columns: minmax(16rem, 0.75fr) minmax(0, 2.45fr); }
  .listing-layout.sidebar-left .sidebar { order: -1; }
  .card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .card-grid.is-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .article-hero { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3xl); padding-block: var(--space-xl) var(--space-2xl); }
  .article-layout { grid-template-columns: minmax(20rem, 0.8fr) minmax(0, 2.35fr); gap: var(--space-3xl); }
  .article-layout .sidebar { order: -1; }
  .article-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .related-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .footer-nav ul { display: flex; justify-content: center; gap: var(--space-2xl); }
}

@media (min-width: 80rem) {
  .home-hero-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-grid-tiles.is-five { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  body:not([data-page="classification-4"]) .paired-feed { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: var(--dur-micro) !important;
    animation-duration: var(--dur-micro) !important;
    animation-iteration-count: 1 !important;
  }
}
