body.sport-page {
  --bg: #191e1b;
  --panel: #252c27;
  --line: #48554b;
  --accent: #ff938e;
  --muted: #c5cdc5;
  --ink: #f6f5ef;
}
.sport-page .jdm-era h1 {
  font-size: clamp(2.35rem, 6.3vw, 6.25rem);
  line-height: 1.02;
  text-wrap: balance;
}
.sport-page .jdm-chapter h2 {
  font-size: clamp(1.75rem, 3.15vw, 3.6rem);
  line-height: 1.08;
  text-wrap: balance;
}
.sport-page .jdm-chapter .jdm-prose { max-width: 50ch; }
.sport-page .sport-links { display: flex; flex-wrap: wrap; gap: 8px 14px; list-style: none; padding: 0; margin: 16px 0 0; }
.sport-links a { display: inline-flex; min-height: 44px; align-items: center; color: var(--accent); text-decoration: underline; text-underline-offset: .22em; }
.sport-links a:hover { color: var(--ink); }
.sport-page .sport-advisor { border-color: var(--accent); }
.sport-page .jdm-button:is(:hover,:focus-visible) { background: var(--accent); color: var(--bg); }
.sport-page .jdm-close { padding-bottom: clamp(48px, 6vw, 90px); }
.sport-page .site-footer { padding-right: 24px; }

.sport-page .jdm-chapters { padding-inline: var(--gutter); }
.sport-page .jdm-chapter { margin-bottom: clamp(12px, 1.5vw, 24px); }
.sport-page .jdm-hero img,
.sport-page .jdm-chapter img,
.sport-finale img { mask-image: linear-gradient(#000 0 86%, transparent); }
.sport-page .jdm-chapter img {
  object-fit: contain;
  mask-image: linear-gradient(90deg, transparent, #000 8% 92%, transparent), linear-gradient(transparent, #000 8% 90%, transparent);
  mask-composite: intersect;
}
.sport-page .jdm-chapter .jdm-caption { padding: 12px 0; }
.sport-finale {
  display: flex;
  flex-direction: column;
  gap: clamp(10px, 1.5vw, 24px);
  max-width: 1800px;
  margin-inline: auto;
  padding-bottom: 28px;
}
.sport-finale img {
  width: 100%;
  height: auto;
  mask-image: linear-gradient(transparent, #000 12% 86%, transparent);
}
@media (min-width: 980px) {
  .sport-page .jdm-chapter { grid-template-columns: minmax(0, 1fr) minmax(0, 1.65fr); gap: clamp(24px, 4vw, 60px); }
  .sport-page .jdm-chapter img { grid-column: 2; grid-row: 1; }
  .sport-page .jdm-chapter .jdm-caption { grid-column: 1; grid-row: 1; }
  .sport-page .jdm-chapter:nth-child(even) { grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); }
  .sport-page .jdm-chapter:nth-child(even) img { grid-column: 1; }
  .sport-page .jdm-chapter:nth-child(even) .jdm-caption { grid-column: 2; }
}

.sport-finale figure { margin: 0; }
.sport-finale figcaption { padding: 8px var(--gutter) 16px; color: var(--muted); }
.sport-page .jdm .jdm-advisor {
  background: transparent;
  border-color: transparent;
  color: var(--accent);
  text-shadow: 0 1px 4px #000, 0 2px 8px #000;
}
.sport-page .jdm .jdm-advisor:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}
.sport-page:has(#ltr-consultant-dialog[open]) .jdm-advisor { visibility: hidden; }
.sport-page .site-footer { padding-bottom: 76px; }
