:root {
  --hc-green: #0a4a2b;
  --hc-green-dark: #042f1c;
  --hc-green-bright: #0d6a3d;
  --hc-silver: #c9cfcb;
  --hc-paper: #f6f3ec;
  --hc-white: #fff;
  --hc-ink: #17211c;
  --hc-muted: #5d6962;
  --hc-line: #d5dcd7;
  --hc-gold: #c09a45;
}

html { scroll-behavior: smooth; }
body { background: #edf1ee; color: var(--hc-ink); }
.hc-shell { margin-inline: auto; width: min(1180px, calc(100% - 40px)); }

.hc-hub-hero,
.hc-year-hero {
  background: var(--hc-green-dark);
  color: var(--hc-white);
  overflow: hidden;
}
.hc-hub-grid,
.hc-year-grid {
  display: grid;
  min-height: 570px;
}
.hc-hub-grid { grid-template-columns: minmax(0, 1.03fr) minmax(510px, .97fr); }
.hc-year-grid { grid-template-columns: minmax(0, .82fr) minmax(500px, 1.18fr); }
.hc-hero-copy {
  align-self: center;
  padding: 70px 44px 70px 0;
}
.hc-kicker {
  color: #b8d1c2;
  display: block;
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.hc-hero-copy h1 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(4rem, 8vw, 7.4rem);
  letter-spacing: -.045em;
  line-height: .84;
  margin: 14px 0 24px;
}
.hc-hub-hero .hc-hero-copy h1 { font-size: clamp(3.9rem, 6.5vw, 5.85rem); }
.hc-year-hero .hc-hero-copy h1 { font-size: clamp(5rem, 10vw, 8.5rem); }
.hc-hero-copy h1 em {
  color: var(--hc-gold);
  display: block;
  font-size: .43em;
  font-style: italic;
  letter-spacing: -.02em;
  line-height: 1;
  margin-top: 13px;
}
.hc-hero-copy > p {
  color: #dfe8e2;
  font-size: 1.05rem;
  line-height: 1.7;
  margin: 0;
  max-width: 620px;
}
.hc-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.hc-button {
  align-items: center;
  background: var(--hc-white);
  border: 1px solid var(--hc-white);
  border-radius: 999px;
  color: var(--hc-green-dark);
  display: inline-flex;
  font-size: .77rem;
  font-weight: 900;
  letter-spacing: .06em;
  min-height: 42px;
  padding: 10px 15px;
  text-decoration: none;
  text-transform: uppercase;
}
.hc-button.soft { background: transparent; color: #fff; border-color: #ffffff66; }
.hc-button:hover,
.hc-button:focus-visible { background: var(--hc-gold); border-color: var(--hc-gold); color: #102019; }

.hc-collage {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  grid-template-rows: 1fr 1fr;
  min-height: 570px;
}
.hc-collage figure,
.hc-year-photo { margin: 0; overflow: hidden; position: relative; }
.hc-collage figure:first-child { grid-row: 1 / 3; }
.hc-collage img,
.hc-year-photo img { display: block; height: 100%; object-fit: cover; width: 100%; }
.hc-collage figure:first-child img { object-position: 48% center; }
.hc-collage figure:nth-child(2) img { object-position: center 45%; }
.hc-collage figure:nth-child(3) img { object-position: center top; }
.hc-collage figure.document img { background: #fff; object-fit: contain; object-position: center; }
.hc-collage figcaption,
.hc-year-photo figcaption {
  background: linear-gradient(transparent, #000d);
  bottom: 0;
  color: #fff;
  font-size: .72rem;
  font-weight: 750;
  left: 0;
  padding: 60px 18px 15px;
  position: absolute;
  right: 0;
}
.hc-year-photo.document { background: #d9ddd9; }
.hc-year-photo.document img { object-fit: contain; }
.hc-year-photo.schedule img { object-fit: cover; object-position: 58% center; }
.hc-year-photo.court img { object-position: center 44%; }
.hc-year-video {
  align-items: center;
  background: #000;
  display: flex;
  min-height: 570px;
}
.hc-year-video .hc-video-frame { width: 100%; }

.hc-proof-strip { background: var(--hc-gold); color: #112019; }
.hc-proof-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.hc-proof-grid.hc-proof-years { grid-template-columns: repeat(7, 1fr); }
.hc-proof-grid a,
.hc-proof-item {
  border-right: 1px solid #1735232c;
  color: inherit;
  display: block;
  padding: 17px 20px;
  text-decoration: none;
}
.hc-proof-grid > :last-child { border-right: 0; }
.hc-proof-grid b { display: block; font: 800 1.45rem/1 Georgia, serif; }
.hc-proof-grid span { display: block; font-size: .68rem; font-weight: 900; letter-spacing: .1em; margin-top: 6px; text-transform: uppercase; }

.hc-main { padding: 46px 0 74px; }
.hc-lede {
  align-items: end;
  display: grid;
  gap: 44px;
  grid-template-columns: 1fr minmax(260px, .42fr);
  margin-bottom: 35px;
}
.hc-lede h2,
.hc-story h2,
.hc-media-heading h2,
.hc-related h2 {
  font-family: Georgia, "Times New Roman", serif;
}
.hc-lede h2 { font-size: clamp(2.3rem, 5vw, 4.5rem); line-height: .98; margin: 8px 0 15px; }
.hc-lede p { color: var(--hc-muted); font-size: 1.02rem; line-height: 1.7; margin: 0; max-width: 780px; }
.hc-lede-note { border-left: 4px solid var(--hc-green); color: var(--hc-muted); font-size: .88rem; line-height: 1.55; padding-left: 16px; }

.hc-year-list { display: grid; gap: 20px; }
.hc-year-card {
  background: var(--hc-white);
  border: 1px solid var(--hc-line);
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
  min-height: 330px;
  overflow: hidden;
  text-decoration: none;
}
.hc-year-card:nth-child(even) { grid-template-columns: minmax(0, 1.28fr) minmax(280px, .72fr); }
.hc-year-card:nth-child(even) .hc-card-image { order: 2; }
.hc-card-image { background: #d8ddd9; min-height: 330px; overflow: hidden; }
.hc-card-image img { display: block; height: 100%; object-fit: cover; transition: transform .2s ease; width: 100%; }
.hc-card-image.document img { object-fit: contain; }
.hc-card-1988 .hc-card-image img { object-position: center 38%; }
.hc-card-1992 .hc-card-image img { object-position: 56% center; }
.hc-card-2004 .hc-card-image img { object-position: center 18%; }
.hc-card-2005 .hc-card-image img { object-position: center 30%; }
.hc-card-2017 .hc-card-image img { object-position: center; }
.hc-card-2019 .hc-card-image img { object-fit: contain; object-position: center; }
.hc-card-2023 .hc-card-image img { object-position: center 36%; }
.hc-year-card:hover .hc-card-image img,
.hc-year-card:focus-visible .hc-card-image img { transform: scale(1.018); }
.hc-card-copy { align-self: center; padding: 36px; }
.hc-card-year { color: var(--hc-green); font: 800 4.5rem/.9 Georgia, serif; }
.hc-card-copy h3 { font: 800 clamp(1.7rem, 3.4vw, 2.75rem)/1.03 Georgia, serif; margin: 10px 0 13px; }
.hc-card-copy p { color: var(--hc-muted); line-height: 1.65; margin: 0; }
.hc-card-facts { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 20px; }
.hc-card-facts span { background: #edf4f0; border-radius: 999px; color: var(--hc-green); font-size: .72rem; font-weight: 900; padding: 8px 10px; }
.hc-card-arrow { color: var(--hc-green); display: block; font-size: .78rem; font-weight: 950; letter-spacing: .08em; margin-top: 20px; text-transform: uppercase; }

.hc-source-note {
  background: var(--hc-paper);
  border-left: 4px solid var(--hc-gold);
  color: var(--hc-muted);
  font-size: .86rem;
  line-height: 1.6;
  margin-top: 30px;
  padding: 17px 19px;
}
.hc-source-note strong { color: var(--hc-ink); }

.hc-story-grid {
  display: grid;
  gap: 26px;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
  margin-bottom: 30px;
}
.hc-story,
.hc-side-card,
.hc-media,
.hc-related {
  background: var(--hc-white);
  border: 1px solid var(--hc-line);
}
.hc-story { padding: 34px; }
.hc-story h2 { font-size: clamp(2.2rem, 5vw, 3.7rem); line-height: 1; margin: 8px 0 18px; }
.hc-story p { color: var(--hc-muted); line-height: 1.72; margin: 0 0 16px; }
.hc-story p:last-child { margin-bottom: 0; }
.hc-side-card { background: var(--hc-green-dark); color: #fff; padding: 28px; }
.hc-side-card h2 { font: 800 1.8rem/1.05 Georgia, serif; margin: 9px 0 16px; }
.hc-side-card p { color: #d5e0d9; font-size: .9rem; line-height: 1.6; }
.hc-fact-list { border-top: 1px solid #ffffff2b; display: grid; margin-top: 20px; }
.hc-fact { border-bottom: 1px solid #ffffff2b; padding: 14px 0; }
.hc-fact b { display: block; font-size: 1rem; }
.hc-fact span { color: #aabbb0; display: block; font-size: .69rem; font-weight: 850; letter-spacing: .1em; margin-top: 4px; text-transform: uppercase; }
.hc-side-card a { color: #fff; font-weight: 900; }

.hc-media { margin-top: 26px; padding: 30px; }
.hc-media-heading { align-items: end; display: flex; gap: 28px; justify-content: space-between; margin-bottom: 22px; }
.hc-media-heading h2 { font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1; margin: 8px 0 0; }
.hc-media-heading p { color: var(--hc-muted); line-height: 1.55; margin: 0; max-width: 540px; }
.hc-gallery { display: grid; gap: 14px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hc-gallery.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hc-gallery figure { background: var(--hc-paper); border: 1px solid var(--hc-line); margin: 0; overflow: hidden; }
.hc-gallery a { background: #d8ddd9; display: block; }
.hc-gallery img { aspect-ratio: 4 / 3; display: block; height: auto; object-fit: cover; width: 100%; }
.hc-gallery .portrait img { aspect-ratio: 4 / 5; object-position: center 20%; }
.hc-gallery .document img { aspect-ratio: 4 / 5; object-fit: cover; object-position: center 12%; }
.hc-gallery .schedule img { object-position: 58% center; }
.hc-gallery .wide { grid-column: span 2; }
.hc-gallery .wide img { aspect-ratio: 16 / 8; }
.hc-gallery figcaption { color: var(--hc-muted); font-size: .82rem; line-height: 1.5; padding: 12px 14px 14px; }
.hc-gallery figcaption strong { color: var(--hc-ink); display: block; font-size: .91rem; margin-bottom: 4px; }
.hc-year-clipping img { padding: 24px; }
.hc-coverage-card { align-self: stretch; background: var(--hc-green-dark); color: #fff; display: flex; flex-direction: column; justify-content: center; min-height: 360px; padding: clamp(28px, 5vw, 54px); }
.hc-coverage-card > span { color: #b8d1c2; font-size: .72rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.hc-coverage-card h3 { font: 800 clamp(2rem, 4vw, 3.4rem)/1 Georgia, serif; margin: 14px 0; }
.hc-coverage-card p { color: #d5e0d9; line-height: 1.65; margin: 0; }
.hc-coverage-card .hc-video-link { color: var(--hc-gold); }

.hc-scoreband {
  align-items: center;
  background: var(--hc-green-dark);
  color: #fff;
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr auto 1fr;
  margin-top: 26px;
  padding: 26px 30px;
  text-align: center;
}
.hc-score-team b { display: block; font: 800 clamp(1.6rem, 4vw, 2.5rem)/1 Georgia, serif; }
.hc-score-team span { color: #b9c9bf; display: block; font-size: .69rem; font-weight: 900; letter-spacing: .1em; margin-top: 7px; text-transform: uppercase; }
.hc-score-final { color: var(--hc-gold); font-size: .7rem; font-weight: 950; letter-spacing: .15em; text-transform: uppercase; }

.hc-video-frame {
  aspect-ratio: 16 / 9;
  background: #000;
  overflow: hidden;
}
.hc-video-frame iframe { border: 0; display: block; height: 100%; width: 100%; }
.hc-video-link {
  color: var(--hc-green);
  display: inline-block;
  font-size: .78rem;
  font-weight: 950;
  letter-spacing: .08em;
  margin-top: 16px;
  text-decoration: none;
  text-transform: uppercase;
}
.hc-video-link:hover,
.hc-video-link:focus-visible { color: var(--hc-green-bright); text-decoration: underline; }

.hc-related { margin-top: 28px; padding: 30px; }
.hc-related h2 { font-size: 2.2rem; margin: 7px 0 10px; }
.hc-related > p { color: var(--hc-muted); line-height: 1.6; margin: 0; }
.hc-related-grid { display: grid; gap: 10px; grid-template-columns: repeat(4, 1fr); margin-top: 22px; }
.hc-related-grid a { border: 1px solid var(--hc-line); color: var(--hc-ink); min-height: 110px; padding: 17px; text-decoration: none; }
.hc-related-grid a:hover,
.hc-related-grid a:focus-visible { border-color: var(--hc-green); background: #edf4f0; }
.hc-related-grid strong { display: block; }
.hc-related-grid span { color: var(--hc-muted); display: block; font-size: .78rem; line-height: 1.45; margin-top: 6px; }

@media (max-width: 940px) {
  .hc-hub-grid,
  .hc-year-grid { grid-template-columns: 1fr; }
  .hc-hero-copy { padding: 58px 0; }
  .hc-collage,
  .hc-year-photo { min-height: 500px; }
  .hc-year-video { min-height: auto; }
  .hc-lede { grid-template-columns: 1fr; gap: 18px; }
  .hc-related-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 700px) {
  .hc-shell { width: min(100% - 26px, 1180px); }
  .hc-hero-copy h1 { font-size: clamp(3.65rem, 18vw, 5.3rem); }
  .hc-hub-hero .hc-hero-copy h1 { font-size: clamp(3.35rem, 15vw, 4.8rem); }
  .hc-collage { grid-template-columns: 1fr 1fr; grid-template-rows: 360px 210px; min-height: auto; }
  .hc-collage figure:first-child { grid-column: 1 / 3; grid-row: auto; }
  .hc-year-photo { min-height: 430px; }
  .hc-proof-grid { grid-template-columns: repeat(2, 1fr); }
  .hc-proof-grid > :nth-child(2) { border-right: 0; }
  .hc-proof-grid > :nth-child(-n+2) { border-bottom: 1px solid #1735232c; }
  .hc-proof-grid.hc-proof-years > :nth-child(2n) { border-right: 0; }
  .hc-proof-grid.hc-proof-years > :nth-child(-n+6) { border-bottom: 1px solid #1735232c; }
  .hc-year-card,
  .hc-year-card:nth-child(even) { grid-template-columns: 1fr; }
  .hc-year-card:nth-child(even) .hc-card-image { order: 0; }
  .hc-card-image { min-height: 290px; }
  .hc-card-copy { padding: 28px; }
  .hc-story-grid { grid-template-columns: 1fr; }
  .hc-media-heading { align-items: start; flex-direction: column; gap: 10px; }
  .hc-gallery,
  .hc-gallery.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hc-scoreband { grid-template-columns: 1fr; }
  .hc-score-final { order: -1; }
}

@media (max-width: 480px) {
  .hc-gallery,
  .hc-gallery.two,
  .hc-related-grid { grid-template-columns: 1fr; }
  .hc-gallery .wide { grid-column: auto; }
  .hc-gallery .wide img { aspect-ratio: 4 / 3; }
  .hc-main { padding-top: 32px; }
  .hc-story,
  .hc-media,
  .hc-related { padding: 22px; }
}

/* Full court photographs and printed pages, with captions below the image. */
.hc-collage { grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; }
.hc-collage figure:first-child { grid-column: 1 / 3; grid-row: auto; }
.hc-collage figure, .hc-year-photo { display: flex; flex-direction: column; background: var(--hc-green-dark); }
.hc-collage img, .hc-year-photo img, .hc-year-photo.schedule img { height: auto; max-height: 560px; object-fit: contain; margin-block: auto; }
.hc-collage figcaption, .hc-year-photo figcaption { position: static; background: #042f1c; padding: 12px 16px; font-size: .875rem; line-height: 1.5; }
.hc-card-image { display: flex; align-items: center; }
.hc-card-image img, .hc-card-2019 .hc-card-image img { height: auto; max-height: 420px; object-fit: contain; }
.hc-year-card:hover .hc-card-image img, .hc-year-card:focus-visible .hc-card-image img { transform: none; }
.hc-gallery img, .hc-gallery .document img, .hc-gallery .schedule img, .hc-gallery .portrait img, .hc-gallery .wide img { aspect-ratio: auto; object-fit: contain; }
.hc-kicker, .hc-button, .hc-proof-grid span, .hc-card-facts span, .hc-card-arrow, .hc-fact span, .hc-video-link, .hc-related-grid span, .hc-gallery figcaption { font-size: .875rem; }
.hc-hero-copy h1 { line-height: 1; overflow-wrap: anywhere; }
.hc-proof-grid > *, .hc-card-copy, .hc-hero-copy { min-width: 0; overflow-wrap: anywhere; }
.hc-story p, .hc-card-copy p { font-size: 1rem; }
@media (max-width: 700px) {
  .hc-collage { grid-template-rows: auto auto; }
  .hc-year-photo, .hc-card-image { min-height: 0; }
  .hc-hero-copy { padding-block: 36px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .hc-card-image img { transition: none; }
}
