:root {
  color-scheme: light;
}

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

html {
  min-width: 320px;
}

body {
  min-width: 320px;
  min-height: 100vh;
  min-height: 100svh;
  margin: 0;
  background: #fff;
}

html:is(.sesh-loading, .sesh-loading--ready, .sesh-loading--finish)::before,
html:is(.sesh-loading, .sesh-loading--ready, .sesh-loading--finish)::after {
  position: fixed;
  z-index: 9999;
  pointer-events: none;
  content: "";
}

html:is(.sesh-loading, .sesh-loading--ready, .sesh-loading--finish)::before {
  inset: 0;
  background: #080808;
}

html:is(.sesh-loading, .sesh-loading--ready, .sesh-loading--finish)::after {
  z-index: 10000;
  top: 50%;
  left: 50%;
  width: clamp(180px, 34vw, 260px);
  height: clamp(64px, 12vw, 96px);
  background: url("./assets/SeshHeaderWhite.png?v=68d934c9bb33") center / contain no-repeat;
  transform: translate(-50%, -50%);
}

html.sesh-loading::after {
  animation: sesh-logo-load 1.3s ease-in-out infinite;
}

html.sesh-loading--ready::after {
  opacity: 1;
  animation: none;
}

html.sesh-loading--finish::before {
  opacity: 0;
  transition: opacity 560ms 80ms ease;
}

html.sesh-loading--finish::after {
  opacity: 0;
  transform: translate(calc(-50% + var(--sesh-loader-x, 0px)), calc(-50% + var(--sesh-loader-y, 0px))) scale(var(--sesh-loader-scale, 1));
  transition: transform 680ms cubic-bezier(.22, 1, .36, 1), opacity 100ms 680ms;
}

html:is(.sesh-loading, .sesh-loading--ready, .sesh-loading--finish) :is(.site-brand, .auth-navbar__brand, .editor-heading__brand) img {
  visibility: hidden;
}

html.sesh-loading--finish.sesh-loading--landed :is(.site-brand, .auth-navbar__brand, .editor-heading__brand) img {
  visibility: visible;
}

@keyframes sesh-logo-load {
  0%, 100% { opacity: .55; }
  50% { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  html.sesh-loading::after { animation: none; }
  html.sesh-loading--finish::before { transition-duration: 150ms; }
  html.sesh-loading--finish::after { transform: translate(-50%, -50%); transition: opacity 150ms; }
}

.site-header {
  background: #000;
}

.site-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 1440px);
  height: 84px;
  margin-inline: auto;
  padding-inline: clamp(16px, 4vw, 56px);
}

.site-brand {
  display: inline-flex;
  align-items: center;
  flex: none;
  min-height: 44px;
}

.site-brand img {
  display: block;
  width: 190px;
  max-width: 100%;
  height: auto;
}

.site-brand:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 4px;
}

.canvas {
  min-height: calc(100vh - 84px);
  min-height: calc(100svh - 84px);
  background: #fff;
}

.hero-carousel {
  position: relative;
  width: 100%;
  min-height: clamp(540px, 58vw, 780px);
  overflow: hidden;
  background: #000;
}

.featured-story {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: #000;
  opacity: 0;
  visibility: hidden;
  transform: translateX(3%);
  transition: opacity 650ms ease, transform 650ms ease, visibility 650ms;
  pointer-events: none;
}

.featured-story.is-active {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
  pointer-events: auto;
}

.featured-story--phoenix {
  background: linear-gradient(90deg, #ee2b1c, #ffad0b);
}

.featured-story__image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.featured-story::after {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to top, rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0.45) 45%, transparent 85%),
    linear-gradient(to right, rgba(0, 0, 0, 0.48), transparent 75%);
  content: "";
}

.featured-story__copy {
  position: relative;
  z-index: 1;
  width: min(100%, 1440px);
  margin-inline: auto;
  padding: 40px clamp(20px, 5vw, 72px) clamp(80px, 7vw, 104px);
  color: #fff;
  text-align: left;
}

.featured-story__category {
  margin: 0 0 12px;
  font: 800 0.75rem/1.2 Arial, Helvetica, sans-serif;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.featured-story__headline {
  max-width: 900px;
  margin: 0;
  font-family: "Arial Black", Impact, Arial, sans-serif;
  font-size: clamp(2rem, 5vw, 4.25rem);
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -0.045em;
}

.featured-story__description {
  max-width: 760px;
  margin: 16px 0 0;
  color: #f0f0f0;
  font: 400 clamp(1rem, 1.6vw, 1.2rem)/1.5 Arial, Helvetica, sans-serif;
}

.hero-carousel__controls {
  position: absolute;
  z-index: 2;
  right: clamp(20px, 5vw, 72px);
  bottom: 16px;
  display: none;
  gap: 4px;
}

.hero-carousel.has-carousel .hero-carousel__controls {
  display: flex;
}

.hero-carousel__dot {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(255, 255, 255, 0.55);
  cursor: pointer;
}

.hero-carousel__dot::after {
  width: 26px;
  height: 4px;
  background: currentColor;
  content: "";
}

.hero-carousel__dot.is-active {
  color: #fff;
}

.hero-carousel__dot:focus-visible {
  outline: 2px solid #fff;
  outline-offset: -3px;
}

.category-nav {
  position: relative;
  z-index: 5;
  border-bottom: 1px solid #ddd;
  background: #fff;
}

.category-nav__bar {
  display: flex;
  width: min(100%, 1440px);
  margin-inline: auto;
  padding-inline: clamp(8px, 4vw, 60px);
}

.category-nav__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 54px;
  padding: 0 clamp(12px, 2vw, 24px);
  border: 0;
  border-bottom: 3px solid transparent;
  background: transparent;
  color: #111;
  font: 800 0.88rem/1 Arial, Helvetica, sans-serif;
  cursor: pointer;
}

.category-nav__toggle:hover,
.category-nav__toggle[aria-expanded="true"] {
  border-bottom-color: #111;
}

.category-nav__toggle:focus-visible {
  outline: 2px solid #111;
  outline-offset: -5px;
}

.category-nav__chevron {
  width: 7px;
  height: 7px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  transition: transform 180ms ease;
}

.category-nav__toggle[aria-expanded="true"] .category-nav__chevron {
  transform: translateY(2px) rotate(225deg);
}

.category-nav__menu {
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  border-top: 1px solid #eee;
  background: #fff;
  box-shadow: 0 12px 22px rgba(0, 0, 0, 0.16);
}

.category-nav__menu[hidden] {
  display: none;
}

.category-nav__menu-inner {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px 24px;
  width: min(100%, 1440px);
  margin-inline: auto;
  padding: 20px clamp(20px, 5vw, 72px) 24px;
}

.category-nav__menu a {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 8px 10px;
  color: #111;
  font: 700 0.95rem/1.3 Arial, Helvetica, sans-serif;
  text-decoration: none;
}

.category-nav__menu a:hover,
.category-nav__menu a:focus-visible {
  background: #f1f1f1;
  outline: none;
}

.also-featured {
  width: min(100%, 1440px);
  margin-inline: auto;
  padding: clamp(40px, 5vw, 64px) clamp(20px, 5vw, 72px) 72px;
}

.also-featured h2 {
  margin: 0 0 24px;
  font-family: "Arial Black", Impact, Arial, sans-serif;
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 900;
  line-height: 1.1;
}

.also-featured__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.featured-card img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.featured-card__category {
  margin: 14px 0 0;
  font: 800 0.7rem/1.2 Arial, Helvetica, sans-serif;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.featured-card h3 {
  margin: 8px 0 0;
  font: 800 1.1rem/1.3 Arial, Helvetica, sans-serif;
}

.featured-card__description {
  margin: 8px 0 0;
  color: #555;
  font: 400 0.95rem/1.45 Arial, Helvetica, sans-serif;
}

.homepage-section {
  width: min(100%, 1440px);
  margin-inline: auto;
  padding: 36px clamp(20px, 5vw, 72px) 52px;
  border-top: 1px solid #ddd;
}

.homepage-section h2 {
  margin: 0 0 24px;
  font-family: "Arial Black", Impact, Arial, sans-serif;
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 900;
  line-height: 1.1;
}

.homepage-section__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.homepage-card img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.homepage-card h3 {
  margin: 14px 0 0;
  font: 800 clamp(1.1rem, 1.7vw, 1.35rem)/1.25 Arial, Helvetica, sans-serif;
}

.homepage-card p {
  margin: 8px 0 0;
  color: #555;
  font: 400 0.95rem/1.45 Arial, Helvetica, sans-serif;
}

.site-footer {
  background: #000;
  color: #fff;
}

.site-footer__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  width: min(100%, 1440px);
  margin-inline: auto;
  padding: 44px 20px;
  text-align: center;
}

.site-footer img {
  display: block;
  width: 210px;
  max-width: 100%;
  height: auto;
}

.site-footer a:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 4px;
}

.site-footer p {
  margin: 0;
  color: #d3d3d3;
  font: 400 0.8rem/1.5 Arial, Helvetica, sans-serif;
}

@media (max-width: 900px) {
  .also-featured__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .site-nav {
    height: 68px;
  }

  .site-brand img {
    width: 155px;
  }

  .canvas {
    min-height: calc(100vh - 68px);
    min-height: calc(100svh - 68px);
  }

  .hero-carousel {
    min-height: 560px;
  }

  .featured-story__image {
    object-position: 65% center;
  }

  .featured-story--phoenix .featured-story__image {
    object-fit: contain;
    object-position: center top;
  }

  .featured-story__copy {
    padding: 32px 20px 88px;
  }

  .category-nav__bar {
    padding-inline: 0;
  }

  .category-nav__toggle {
    flex: 1;
    min-height: 50px;
    padding-inline: 8px;
  }

  .category-nav__menu-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px 8px;
    padding: 16px 20px 20px;
  }

  .also-featured {
    padding-bottom: 48px;
  }

  .also-featured__grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .homepage-section {
    padding-block: 32px 40px;
  }

  .homepage-section__grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .site-footer img {
    width: 180px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .featured-story,
  .category-nav__chevron {
    transition: none;
  }
}

/* Adapt the supplied visual language to the live Sesh Wire pages. */
:root {
  --sesh-blue: #111;
  --sesh-blue-dark: #000;
  --sesh-blue-soft: #f1f1f1;
  --sesh-ink: #111;
  --sesh-muted: #555;
  --sesh-line: #d9d9d9;
  --sesh-surface: #f5f5f5;
  --sesh-radius: 0;
  --sesh-shadow: none;
  --newspaper-paper-deep: #f2f2f2;
  --newspaper-accent: #111;
  --newspaper-muted: #555;
}

html { color: #111; background: #fff; }
body, button, input, select, textarea { font-family: Arial, Helvetica, sans-serif; }
body { color: #111; line-height: 1.5; }
::selection { color: #fff; background: #111; }
a { color: #111; }
a:hover { color: #000; }
:focus-visible { outline: 2px solid #111; outline-offset: 3px; }
[hidden] { display: none !important; }

:is(h1, h2, h3, .newspaper-masthead__name) { font-family: "Arial Black", Impact, Arial, sans-serif; font-weight: 900; }
:is(.section-kicker, .about-kicker, .wire-kicker, .document-kicker, .privacy-policy__kicker) {
  color: #111; font-family: Arial, Helvetica, sans-serif; font-weight: 800;
}

/* The header and category menu are shared by every page. */
.site-header { position: relative; z-index: 20; padding: 0; color: #fff; background: #000; }
.site-nav { height: 84px; }
.site-brand { text-decoration: none; }
.site-brand img { width: 190px; }
.category-nav { z-index: 19; }
.category-nav__toggle.is-current { border-bottom-color: #111; }
.category-nav__menu-inner a[aria-current="page"] { background: #f1f1f1; }
.category-nav__menu-inner { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* Homepage: real articles feed the reference carousel and category grids. */
.home-page { width: 100%; padding: 0; background: #fff; }
.home-page .hero-carousel { min-height: clamp(540px, 58vw, 780px); }
.featured-story__headline a { color: #fff; text-decoration: none; }
.featured-story__headline a:hover, .featured-story__headline a:focus-visible { text-decoration: underline; text-underline-offset: .1em; }
.featured-story.is-missing-image { background: linear-gradient(130deg, #222, #000); }
.featured-story__headline a:focus-visible { outline-color: #fff; }
.hero-carousel__status { display: grid; min-height: inherit; margin: 0; padding: 2rem; place-items: center; color: #fff; text-align: center; }
.home-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin: 0 0 24px; }
.home-section-heading h2 { margin: 0; font-size: clamp(1.5rem, 2.5vw, 2rem); line-height: 1.1; }
.home-section-heading a { flex: none; color: #111; font-size: .82rem; font-weight: 800; text-decoration: none; }
.home-section-heading a:hover, .home-section-heading a:focus-visible { text-decoration: underline; }
.also-featured__grid, .homepage-section__grid { width: 100%; }
.featured-card, .homepage-card { min-width: 0; }
.featured-card__media, .homepage-card__media { display: block; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; background: #e6e6e6; }
.featured-card__media img, .homepage-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.featured-card__media.is-missing-image, .homepage-card__media.is-missing-image { display: grid; place-items: center; background: #111; }
.featured-card__media.is-missing-image::after, .homepage-card__media.is-missing-image::after { content: "Sesh Wire"; color: #fff; font-weight: 900; }
.featured-card__category { margin: 14px 0 0; }
.featured-card h3 a, .homepage-card h3 a { color: #111; text-decoration: none; }
.featured-card h3 a:hover, .homepage-card h3 a:hover, .featured-card h3 a:focus-visible, .homepage-card h3 a:focus-visible { text-decoration: underline; text-underline-offset: .15em; }
.featured-card__description, .homepage-card__description { color: #555; }
.homepage-section { padding-top: 36px; padding-bottom: 52px; }
.home-featured-gallery { width: min(100%, 1440px); margin: 0 auto 2rem; padding: 0 clamp(20px, 5vw, 72px); }
.home-featured-gallery__link { min-height: 20rem; border-radius: 0; color: #fff; background: #111; }
.home-featured-gallery__link h2 { font-family: "Arial Black", Impact, Arial, sans-serif; }

/* Keep every homepage section on the same grid and spacing rhythm. */
.home-page { --home-gutter: clamp(20px, 5vw, 72px); --home-space: clamp(40px, 5vw, 64px); }
.home-page :is(.also-featured, .homepage-section, .home-featured-gallery) {
  width: min(100%, 1440px);
  margin-inline: auto;
  padding-inline: var(--home-gutter);
}
.home-page :is(.also-featured, .homepage-section) { padding-block: var(--home-space); }
.home-page .home-featured-gallery { margin-bottom: 0; padding-block: var(--home-space); border-top: 1px solid #ddd; }
.home-page .home-section-heading { margin-bottom: 24px; }
.home-page :is(.also-featured__grid, .homepage-section__grid) { gap: clamp(16px, 2vw, 24px); }
.home-page :is(.also-featured__grid, .homepage-section__grid) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.home-page :is(.featured-card__media, .homepage-card__media) { aspect-ratio: 16 / 9; }
.home-page :is(.featured-card__media img, .homepage-card__media img) {
  aspect-ratio: auto;
  object-fit: cover;
  object-position: center;
}
.home-page :is(.featured-card, .homepage-card) { display: flex; min-width: 0; flex-direction: column; }
.home-page :is(.featured-card__category, .homepage-card p.homepage-card__category) {
  margin: 14px 0 0;
  color: #555;
  font: 800 .7rem/1.2 Arial, Helvetica, sans-serif;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.home-page :is(.featured-card h3, .homepage-card h3) {
  margin: 8px 0 0;
  font: 800 clamp(1.05rem, 1.5vw, 1.3rem)/1.25 Arial, Helvetica, sans-serif;
}
.home-page :is(.featured-card__description, .homepage-card p.homepage-card__description) {
  display: -webkit-box;
  overflow: hidden;
  margin: 8px 0 0;
  color: #555;
  font: 400 .95rem/1.45 Arial, Helvetica, sans-serif;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

@media (min-width: 741px) {
  .home-page .homepage-section__grid > .homepage-card:only-child {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
    grid-template-rows: auto auto 1fr;
    column-gap: clamp(20px, 3vw, 40px);
  }
  .home-page .homepage-section__grid > .homepage-card:only-child .homepage-card__media {
    grid-column: 1;
    grid-row: 1 / 4;
  }
  .home-page .homepage-section__grid > .homepage-card:only-child :is(.homepage-card__category, h3, .homepage-card__description) {
    grid-column: 2;
  }
}

@media (max-width: 740px) {
  .home-page :is(.also-featured__grid, .homepage-section__grid) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 600px) {
  .home-page :is(.also-featured__grid, .homepage-section__grid) {
    grid-template-columns: 1fr;
  }
}

/* Listings, articles, and author pages. */
:is(.article-page, .listing-page, .writer-page, .bio-page) {
  --article-blue: #111;
  --article-ink: #111;
  --article-muted: #555;
  --article-line: #d9d9d9;
  --article-soft: #f2f2f2;
}
.listing-page { padding-block: clamp(2.5rem, 6vw, 5.5rem); }
.listing-page__inner, .scores-page__inner { width: min(100%, 1440px); }
.listing-page__header { margin-bottom: clamp(2rem, 4vw, 3rem); }
.listing-page__header h1, .scores-page__header h1, .article__title { font-family: "Arial Black", Impact, Arial, sans-serif; font-weight: 900; }
.listing-page__line { height: 3px; border-radius: 0; background: #111; }
.listing-category-nav { gap: 0; border-bottom: 1px solid #d9d9d9; }
.listing-category-nav a { border: 0; border-bottom: 3px solid transparent; border-radius: 0; color: #111; background: transparent; }
.listing-category-nav a:hover, .listing-category-nav a:focus-visible, .listing-category-nav a[aria-current="page"] { border-bottom-color: #111; color: #111; background: transparent; }
.listing-filters { margin-top: 1.5rem; }
:is(.listing-filter, .scores-filter) label { font-size: .75rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
:is(.listing-filter, .scores-filter) select { width: 100%; min-height: 44px; padding: .55rem .75rem; border: 1px solid #999; border-radius: 0; color: #111; background: #fff; }
.article-list { gap: clamp(2rem, 4vw, 3.5rem) clamp(1rem, 2vw, 1.5rem); }
.article-list__status { border: 1px solid #d9d9d9; border-radius: 0; }
.article-list .article-card__image-link, .article-related .article-card__image-link { overflow: hidden; border: 0; border-radius: 0; background: #eee; box-shadow: none; }
.article-card__image { object-fit: cover; }
.article-list .article-card__image-link:hover, .article-list .article-card__image-link:focus-visible { border: 0; box-shadow: none; }
.article-card__meta, .article-card__featured { color: #111; font-size: .72rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.article-card__title { font-family: "Arial Black", Impact, Arial, sans-serif; font-size: clamp(1.15rem, 2vw, 1.5rem); font-weight: 900; line-height: 1.2; letter-spacing: -.025em; }
.article-card__author { color: #555; }
.article-card__image-link.is-missing::after { color: #fff; background: #111; }
.article-page { padding-top: clamp(2.5rem, 6vw, 5rem); }
.article__header { width: min(100%, 900px); }
.article__title { max-width: 18ch; font-size: clamp(2.5rem, 6vw, 5rem); line-height: 1.04; letter-spacing: -.045em; }
.article__category, .article__area, .article__date { color: #111; }
.article__body { font-family: Arial, Helvetica, sans-serif; }
.article__body a { color: #111; text-decoration-thickness: 1px; }
.article__main-figure, .article__main-image { border-radius: 0; }
.article-related .article-card__title { font-family: "Arial Black", Impact, Arial, sans-serif; }

/* Other public sections keep their features and adopt the same surface language. */
.scores-page { --score-blue: #111; --score-ink: #111; --score-muted: #555; --score-line: #d9d9d9; --score-soft: #f2f2f2; }
.scores-filters { border-top-width: 3px; }
.match-card, .match-card--live { border-radius: 0; box-shadow: none; }
.match-card--live { border-width: 2px; }
.podcast-page { --podcast-blue: #111; --podcast-ink: #111; --podcast-muted: #555; --podcast-line: #d9d9d9; --podcast-soft: #f2f2f2; }
.podcast-masthead__overlay { background: linear-gradient(to top, rgb(0 0 0 / 90%), rgb(0 0 0 / 30%) 70%, transparent); }
.podcast-masthead, .podcast-player { background: #000; }
.podcast-player, .podcast-episode-card, .podcast-related-card { border-radius: 0; box-shadow: none; }
.gallery-page { background: #f1f1f1; }
.gallery-shell { width: min(100%, 1440px); background: #fff; box-shadow: none; }
.gallery-categories a { border-radius: 0; }
.gallery-categories a[aria-current="page"], .gallery-categories a:hover { border-color: #111; background: #111; }
.gallery-photo { box-shadow: none; }
.gallery-page__header h1 { font-family: "Arial Black", Impact, Arial, sans-serif; font-weight: 900; }
.gallery-set__heading > p:first-child { color: #111; }
.newspaper-page { background: #f2f2f2; }
.newspaper-shell { border-radius: 0; box-shadow: none; }
.newspaper-masthead__topline { font-family: Arial, Helvetica, sans-serif; }
.outlet-page, .privacy-policy, .wire-page, .hosted-document-page, .apply-page { width: min(100% - 2rem, 1440px); }
.outlet-intro h1, .outlet-section > h2, .privacy-policy__header h1 { font-family: "Arial Black", Impact, Arial, sans-serif; }
.league-mark, .team-profile, .team-card, .about-profile-card, .coverage-map__inner, .wire-access__card, .wire-browser__frame, .apply-shell__form { border-radius: 0; box-shadow: none; }
.about-reach { background: #111; border-radius: 0; }
.health-journal-page { background: #fff; }
.b2tb-page { --b2tb-blue: #111; }
.b2tb-ticket-button { border-radius: 0; }
.b2tb-banner img, .b2tb-event-bar { border-radius: 0; }
.wire-browser__frame { border-color: #d9d9d9; }

/* Editorial systems retain every control, but use the same neutral styling. */
.writer-page :is(.auth-card, .editor-panel, .desk-panel, .staff-article-card, .form-panel, .editor-card, .gallery-desk-file) { border-radius: 0; box-shadow: none; }
.writer-page { background: #f5f5f5; }
.writer-page .auth-form input { background: #fff; }
.writer-page .editor-heading { border-radius: 0; background: #111; box-shadow: none; }
.writer-page :is(input, select, textarea, button) { border-radius: 0; }
.writer-page :is(.primary-action, .desk-tab[aria-selected="true"]) { color: #fff; background: #111; }
.writer-page :is(.desk-tab, .text-button) { font-family: Arial, Helvetica, sans-serif; }
.writer-page :is(.editor-heading h1, .auth-card h1) { font-family: "Arial Black", Impact, Arial, sans-serif; }

/* Footer retains links to the complete site. */
.site-footer { padding: 0; background: #000; color: #fff; }
.site-footer__inner { display: flex; flex-direction: column; align-items: center; gap: 18px; width: min(100%, 1440px); padding: 44px 20px; text-align: center; }
.site-footer__brand img { width: 210px; }
.site-footer__statement p { max-width: none; font-family: Arial, Helvetica, sans-serif; font-size: .85rem; font-weight: 400; }
.site-footer__statement .site-footer__copyright { margin-top: .5rem; }
.site-footer__statement .site-footer__version { color: #aaa; }
.site-footer__links { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem 1.4rem; }
.site-footer__links a { color: #d3d3d3; font-size: .78rem; text-decoration: none; }
.site-footer__links a:hover, .site-footer__links a:focus-visible { color: #fff; text-decoration: underline; }

@media (max-width: 900px) {
  .article-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 47.5rem) {
  body { padding-bottom: 0; }
}
@media (max-width: 600px) {
  .site-nav { height: 68px; }
  .site-brand img { width: 155px; }
  .category-nav__menu-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .article-list { grid-template-columns: 1fr; }
  .home-section-heading { align-items: baseline; }
  .home-section-heading a { font-size: .72rem; }
  .home-featured-gallery__link { grid-template-columns: 1fr; }
  .site-footer__brand img { width: 180px; }
}
@media (prefers-reduced-motion: reduce) {
  .featured-story, .category-nav__chevron { transition: none; }
}

/* Article lead images use the same full-width treatment as homepage features. */
body[data-section="article"] .article-page {
  --reader-gutter: clamp(1rem, 4vw, 3rem);
  padding: 0 var(--reader-gutter) clamp(4rem, 8vw, 7rem);
}

.article-hero,
body[data-article-theme="sessions"] .sessions-story-hero {
  position: relative;
  display: flex;
  width: calc(100% + 2 * var(--reader-gutter));
  min-height: clamp(540px, 58vw, 780px);
  margin: 0 calc(-1 * var(--reader-gutter)) clamp(2.75rem, 5vw, 4.5rem);
  align-items: flex-end;
  overflow: hidden;
  border-radius: 0;
  color: #fff;
  background: #111;
}

.article-hero::after,
body[data-article-theme="sessions"] .sessions-story-hero::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(to top, rgb(0 0 0 / 90%), rgb(0 0 0 / 42%) 50%, transparent 88%),
    linear-gradient(to right, rgb(0 0 0 / 42%), transparent 75%);
  pointer-events: none;
  content: "";
}

.article-hero .article__main-figure,
body[data-article-theme="sessions"] .sessions-story-hero__media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
}

.article-hero .article__main-figure picture,
.article-hero .article__main-image,
body[data-article-theme="sessions"] .sessions-story-hero__media img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
  border-radius: 0;
}

.article-hero .article__main-figure figcaption {
  position: absolute;
  z-index: 2;
  right: var(--reader-gutter);
  bottom: 14px;
  max-width: 42ch;
  margin: 0;
  color: rgb(255 255 255 / 85%);
  text-align: right;
  text-shadow: 0 1px 4px #000;
}

.article-hero .article__header,
body[data-article-theme="sessions"] .sessions-story-hero__copy {
  position: relative;
  z-index: 2;
  width: min(100%, 1440px);
  max-width: none;
  margin: 0 auto;
  padding: 40px clamp(20px, 5vw, 72px) clamp(68px, 7vw, 104px);
  color: #fff;
}

.article-hero .article__title,
body[data-article-theme="sessions"] .sessions-story-hero__copy h1 {
  max-width: 900px;
  margin-top: .7rem;
  font-family: "Arial Black", Impact, Arial, sans-serif;
  font-size: clamp(2.2rem, 5vw, 4.25rem);
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -.045em;
}

.article-hero :is(.article__category, .article__area, .article__date, .article__byline, .article__reading-time, .article__translation-credit, .article__author-link) {
  color: #fff;
}

.article-hero .article__category { font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.article-hero .article__byline { margin-top: 1rem; }
.article-hero .article-share-entry { margin-top: 1rem; }
.article-hero .article-share-trigger { border-color: #fff; border-radius: 0; color: #fff; background: transparent; }
.article-hero .article-share-trigger:hover,
.article-hero .article-share-trigger:focus-visible { color: #111; background: #fff; }
.article-hero .article__coverage-link { color: #111; background: #fff; }

.article-hero--text-only { min-height: 0; color: #111; background: #fff; }
.article-hero--text-only::after { display: none; }
.article-hero--text-only .article__header { padding-top: clamp(2.5rem, 6vw, 5rem); color: #111; }
.article-hero--text-only :is(.article__category, .article__area, .article__date, .article__byline, .article__reading-time, .article__translation-credit, .article__author-link) { color: #111; }
.article-hero--text-only .article-share-trigger { border-color: #111; color: #111; }
.article-hero--text-only .article-share-trigger:hover,
.article-hero--text-only .article-share-trigger:focus-visible { color: #fff; background: #111; }
.article-hero--text-only .article__coverage-link { color: #fff; background: #111; }

body[data-article-theme="sessions"] .article-hero { display: none; }
body[data-article-theme="sessions"] .sessions-story-hero__copy { display: flex; min-height: inherit; flex-direction: column; justify-content: flex-end; }
body[data-article-theme="sessions"] .sessions-story-hero__copy h1 { margin: 0; }
body[data-article-theme="sessions"] .sessions-story-hero__pretext { max-width: 55ch; margin: 1.2rem 0 0; font-size: clamp(1rem, 1.6vw, 1.2rem); line-height: 1.5; }
body[data-article-theme="sessions"] .sessions-story-hero__byline { margin: 1rem 0 0; padding: 0; font-style: normal; }

@media (max-width: 600px) {
  .article-hero,
  body[data-article-theme="sessions"] .sessions-story-hero { min-height: 560px; }
  .article-hero .article__header,
  body[data-article-theme="sessions"] .sessions-story-hero__copy { padding: 36px 20px 58px; }
  .article-hero .article__title,
  body[data-article-theme="sessions"] .sessions-story-hero__copy h1 { font-size: clamp(2rem, 8vw, 3rem); }
  .article-hero .article__main-figure figcaption { right: 20px; bottom: 10px; font-size: .65rem; }
}
