:root {
  --navy: #092b4c;
  --navy-dark: #051d34;
  --blue: #124f7b;
  --maroon: #7a1f3d;
  --maroon-dark: #55152b;
  --gold: #f2b632;
  --gold-dark: #c98e0b;
  --white: #ffffff;
  --off-white: #f5f7fa;
  --text: #243443;
  --muted: #5d6b77;
  --border: #dce3e9;
  --shadow: 0 14px 35px rgba(5, 29, 52, 0.11);
  --radius: 12px;
  --container: 1180px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  color: var(--text);
  background: var(--white);
  font-family: "Source Sans 3", Arial, sans-serif;
  font-size: 1.05rem;
  line-height: 1.6;
}

a {
  color: inherit;
}

h1,
h2,
h3,
strong {
  font-family: "Montserrat", Arial, sans-serif;
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1 {
  max-width: 760px;
  margin-bottom: 1rem;
  color: var(--white);
  font-size: clamp(2.5rem, 6vw, 4.6rem);
  line-height: 1.04;
  letter-spacing: -0.04em;
}

h2 {
  margin-bottom: 1rem;
  color: var(--navy);
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.12;
  letter-spacing: -0.025em;
}

h3 {
  color: var(--navy);
  font-size: 1.22rem;
  line-height: 1.3;
}

.container {
  width: min(calc(100% - 2.5rem), var(--container));
  margin-inline: auto;
}

.skip-link {
  position: absolute;
  z-index: 100;
  top: -60px;
  left: 1rem;
  padding: 0.75rem 1rem;
  color: var(--navy-dark);
  background: var(--gold);
  font-weight: 700;
}

.skip-link:focus {
  top: 1rem;
}

.utility-bar {
  color: #d9e7f1;
  background: var(--navy-dark);
  font-size: 0.88rem;
}

.utility-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 38px;
  gap: 1rem;
}

.utility-inner a {
  color: var(--white);
  font-weight: 700;
  text-decoration-color: var(--gold);
  text-underline-offset: 3px;
}

.brand-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 116px;
  gap: 2rem;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  color: var(--navy);
  text-decoration: none;
}

.brand-mark {
  display: grid;
  width: 70px;
  height: 70px;
  place-items: center;
  border: 4px solid var(--gold);
  border-radius: 50%;
  color: var(--white);
  background: var(--maroon);
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 2.3rem;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 0 0 4px var(--navy);
}

.brand strong {
  display: block;
  font-size: clamp(1.35rem, 3vw, 2rem);
  line-height: 1.1;
}

.brand small {
  display: block;
  margin-top: 0.35rem;
  color: var(--muted);
  font-size: 0.9rem;
}

.site-nav {
  color: var(--white);
  background: var(--maroon);
  border-bottom: 4px solid var(--gold);
}

.site-nav ul {
  display: flex;
  align-items: stretch;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-nav a {
  display: flex;
  align-items: center;
  min-height: 58px;
  padding: 0.7rem 1rem;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none;
  transition: color 160ms ease, background 160ms ease;
}

.site-nav a:hover,
.site-nav a:focus-visible,
.site-nav a.active {
  color: var(--navy-dark);
  background: var(--gold);
}

.menu-button {
  display: none;
  align-items: center;
  gap: 0.55rem;
  border: 0;
  color: var(--white);
  background: var(--navy);
  padding: 0.75rem 1rem;
  border-radius: 6px;
  font: 700 0.9rem "Montserrat", Arial, sans-serif;
  cursor: pointer;
}

.menu-icon,
.menu-icon::before,
.menu-icon::after {
  display: block;
  width: 20px;
  height: 2px;
  background: currentColor;
}

.menu-icon {
  position: relative;
}

.menu-icon::before,
.menu-icon::after {
  position: absolute;
  left: 0;
  content: "";
}

.menu-icon::before {
  top: -6px;
}

.menu-icon::after {
  top: 6px;
}

.hero {
  position: relative;
  color: var(--white);
  background:
    linear-gradient(90deg, rgba(5, 29, 52, 0.98) 0%, rgba(52, 25, 47, 0.91) 53%, rgba(122, 31, 61, 0.70) 100%),
    radial-gradient(circle at 78% 38%, #a24461 0%, var(--maroon) 38%, var(--navy-dark) 76%);
  overflow: hidden;
}

.hero::after {
  position: absolute;
  right: -90px;
  bottom: -210px;
  width: 570px;
  height: 570px;
  border: 65px solid rgba(242, 182, 50, 0.14);
  border-radius: 50%;
  content: "";
}

.hero-content {
  position: relative;
  z-index: 1;
  padding-block: clamp(3.5rem, 7vw, 5.5rem);
}

.hero h1 {
  font-size: clamp(2.6rem, 6vw, 4.2rem);
}

.hero-content > p:not(.eyebrow) {
  max-width: 660px;
  margin-bottom: 2rem;
  color: #e1edf5;
  font-size: 1.25rem;
}

.eyebrow {
  margin-bottom: 0.65rem;
  color: var(--gold-dark);
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 0.77rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.hero .eyebrow,
.sports-band .eyebrow {
  color: var(--gold);
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0.7rem 1.25rem;
  border: 2px solid transparent;
  border-radius: 6px;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 0.86rem;
  font-weight: 800;
  text-decoration: none;
  transition: transform 160ms ease, background 160ms ease, border-color 160ms ease;
}

.button:hover,
.button:focus-visible {
  transform: translateY(-2px);
}

.button-primary {
  color: var(--navy-dark);
  background: var(--gold);
}

.button-primary:hover,
.button-primary:focus-visible {
  background: #ffc84b;
}

.button-secondary {
  color: var(--white);
  border-color: rgba(255, 255, 255, 0.65);
  background: rgba(255, 255, 255, 0.06);
}

.button-secondary:hover,
.button-secondary:focus-visible {
  border-color: var(--white);
  background: rgba(255, 255, 255, 0.13);
}

.button-light {
  flex-shrink: 0;
  color: var(--navy);
  background: var(--white);
}

.section {
  padding-block: clamp(4rem, 8vw, 6.5rem);
}

.section-heading {
  max-width: 620px;
  margin-bottom: 2.25rem;
}

.card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}

.resource-card {
  display: flex;
  min-height: 300px;
  flex-direction: column;
  padding: 1.75rem;
  border: 1px solid var(--border);
  border-top: 5px solid var(--maroon);
  border-radius: var(--radius);
  color: var(--text);
  background: var(--white);
  text-decoration: none;
  box-shadow: 0 5px 18px rgba(5, 29, 52, 0.06);
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.resource-card:hover,
.resource-card:focus-visible {
  transform: translateY(-6px);
  box-shadow: var(--shadow);
}

.card-icon {
  display: grid;
  width: 48px;
  height: 48px;
  margin-bottom: 1.25rem;
  place-items: center;
  border-radius: 50%;
  background: #f7edf1;
  font-size: 1.35rem;
}

.resource-card h3 {
  color: var(--maroon);
  margin-bottom: 0.6rem;
}

.resource-card p {
  color: var(--muted);
}

.card-link {
  margin-top: auto;
  color: var(--maroon);
  font-weight: 700;
}

.sports-band {
  color: var(--white);
  background: linear-gradient(110deg, var(--maroon-dark), var(--maroon));
}

.sports-band h2 {
  color: var(--white);
}

.sports-band p:not(.eyebrow) {
  max-width: 750px;
  margin-bottom: 0;
  color: #d6e3ed;
}

.sports-layout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 3rem;
}

.welcome {
  background: var(--off-white);
}

.welcome-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(280px, 0.8fr);
  align-items: center;
  gap: clamp(2rem, 6vw, 5rem);
}

.welcome-grid > div > p:last-child {
  max-width: 740px;
  color: var(--muted);
  font-size: 1.13rem;
}

.contact-panel {
  padding: 2rem;
  border-left: 5px solid var(--maroon);
  border-radius: 0 var(--radius) var(--radius) 0;
  background: var(--white);
  box-shadow: var(--shadow);
}

.contact-panel p {
  color: var(--muted);
}

.text-link {
  color: var(--blue);
  font-weight: 800;
  text-underline-offset: 4px;
}

.site-footer {
  padding-block: 2.5rem;
  color: #c9d8e4;
  background: var(--navy-dark);
}

.footer-grid {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}

.footer-grid > p {
  margin: 0;
  font-size: 0.9rem;
}

.footer-brand {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.footer-brand strong {
  color: var(--white);
}

.footer-brand p {
  margin: 0.25rem 0 0;
  font-size: 0.85rem;
}

.brand-mark.small {
  width: 48px;
  height: 48px;
  border-width: 3px;
  font-size: 1.45rem;
  box-shadow: 0 0 0 3px var(--navy);
}

:focus-visible {
  outline: 3px solid #52a9db;
  outline-offset: 3px;
}

@media (max-width: 960px) {
  .menu-button {
    display: inline-flex;
  }

  .site-nav {
    display: none;
  }

  .site-nav.open {
    display: block;
  }

  .site-nav ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    padding-block: 0.5rem;
  }

  .site-nav a {
    min-height: 48px;
  }

  .card-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 680px) {
  body {
    font-size: 1rem;
  }

  .utility-inner span {
    display: none;
  }

  .utility-inner {
    justify-content: flex-end;
  }

  .brand-row {
    min-height: 92px;
  }

  .brand-mark {
    width: 52px;
    height: 52px;
    border-width: 3px;
    font-size: 1.7rem;
    box-shadow: 0 0 0 3px var(--navy);
  }

  .brand small {
    display: none;
  }

  .site-nav ul,
  .card-grid,
  .welcome-grid {
    grid-template-columns: 1fr;
  }

  .hero-content {
    padding-block: 3.5rem;
  }

  .hero-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .button {
    width: 100%;
  }

  .resource-card {
    min-height: 245px;
  }

  .sports-layout,
  .footer-grid {
    align-items: flex-start;
    flex-direction: column;
  }

  .sports-layout .button {
    width: auto;
  }
}


.page-hero{padding-block:clamp(3.5rem,7vw,5.5rem);color:var(--white);background:linear-gradient(110deg,var(--navy-dark),var(--maroon))}.page-hero h1{margin-bottom:.75rem;font-size:clamp(2.6rem,6vw,4.2rem)}.page-hero p:last-child{max-width:680px;margin:0;color:#e3edf4;font-size:1.2rem}.season-nav{position:sticky;z-index:10;top:0;border-bottom:1px solid var(--border);background:rgba(255,255,255,.96);box-shadow:0 5px 18px rgba(5,29,52,.07)}.season-nav .container{display:flex;justify-content:center;gap:.5rem}.season-nav a{padding:1rem 2rem;color:var(--maroon);font-family:"Montserrat",Arial,sans-serif;font-weight:800;text-decoration:none}.season-nav a:hover,.season-nav a:focus-visible{color:var(--navy);background:#f7edf1}.sport-season{scroll-margin-top:60px}.sport-season.section{padding-block:clamp(2.75rem,5vw,4rem)}.sport-season.alternate{background:var(--off-white)}.season-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:1.4rem;gap:1rem}.season-heading h2{margin:0}.season-count{padding:.35rem .8rem;border-radius:999px;color:var(--maroon);background:#f7edf1;font-weight:700}.sport-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem}.sport-card{display:flex;min-height:185px;flex-direction:column;padding:1.15rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--white);box-shadow:0 5px 18px rgba(5,29,52,.06);transition:transform 180ms ease,box-shadow 180ms ease}.sport-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.sport-icon{display:grid;width:38px;height:38px;margin-bottom:.7rem;place-items:center;border-radius:50%;background:#f7edf1;font-size:1.1rem}.sport-card h3{margin-bottom:.3rem;color:var(--maroon)}.sport-card p{margin-bottom:.65rem;color:var(--muted);font-size:.94rem;line-height:1.4}.sport-card a,.coming-soon{margin-top:auto;color:var(--maroon);font-weight:800;text-decoration-thickness:2px;text-underline-offset:4px}.coming-soon{color:var(--muted);font-size:.92rem}.chairman-note{padding-block:4rem;color:var(--white);background:var(--maroon)}.chairman-note .container{display:flex;align-items:center;justify-content:space-between;gap:3rem}.chairman-note h2{margin-bottom:.6rem;color:var(--white)}.chairman-note p:not(.eyebrow){max-width:760px;margin:0;color:#f1dfe5}@media(max-width:960px){.sport-grid{grid-template-columns:repeat(2,1fr)}.chairman-note .container{align-items:flex-start;flex-direction:column}}@media(max-width:680px){.season-nav a{padding:.85rem 1.1rem}.sport-grid{grid-template-columns:1fr}.sport-card{min-height:175px}.season-heading{align-items:flex-start;flex-direction:column}.chairman-note .button{width:100%}}


/* Individual sport page */
.sport-detail-hero{padding-block:clamp(2.75rem,6vw,4.5rem);color:var(--white);background:linear-gradient(115deg,var(--navy-dark),var(--maroon))}
.back-link{display:inline-block;margin-bottom:1.6rem;color:#f5d781;font-weight:800;text-decoration-thickness:2px;text-underline-offset:4px}
.sport-title-row{display:flex;align-items:center;gap:1.5rem}.sport-title-icon{display:grid;width:82px;height:82px;flex:0 0 auto;place-items:center;border:3px solid var(--gold);border-radius:50%;background:rgba(255,255,255,.1);font-size:2.35rem}
.sport-title-row h1{margin-bottom:.35rem;font-size:clamp(2.8rem,6vw,4.5rem)}.sport-title-row p:last-child{max-width:700px;margin:0;color:#e3edf4;font-size:1.17rem}
.sport-overview.section{padding-block:clamp(3rem,6vw,5rem)}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:2.25rem}.section-heading.compact{margin-bottom:1.5rem}.section-heading.compact h2{margin-bottom:.55rem}.section-heading.compact>p:last-child{color:var(--muted)}
.classification-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.classification-card{display:flex;min-height:310px;flex-direction:column;padding:1.35rem;border:1px solid var(--border);border-top:5px solid var(--maroon);border-radius:var(--radius);background:var(--white);box-shadow:0 5px 18px rgba(5,29,52,.06)}.class-label{align-self:flex-start;margin-bottom:1rem;padding:.3rem .7rem;border-radius:999px;color:var(--maroon);background:#f7edf1;font:800 .76rem "Montserrat",Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase}.classification-card h3{margin-bottom:.45rem}.classification-card p{color:var(--muted);font-size:.95rem}.resource-actions{display:grid;margin-top:auto;gap:.55rem}.resource-actions a{display:flex;justify-content:space-between;padding:.65rem .8rem;border-radius:5px;color:var(--white);background:var(--maroon);font-weight:800;text-decoration:none}.resource-actions a:hover,.resource-actions a:focus-visible{background:var(--navy)}.resource-status{color:var(--muted);font-size:.9rem;font-style:italic}
.chairman-card{padding:1.65rem;border-top:5px solid var(--gold);border-radius:var(--radius);background:var(--navy);color:var(--white);box-shadow:var(--shadow)}.chairman-card h2{margin-bottom:.4rem;color:var(--white);font-size:1.65rem}.chairman-role{color:#d7e4ed}.chairman-card dl{margin:1.4rem 0 0}.chairman-card dl div{padding-block:.75rem;border-top:1px solid rgba(255,255,255,.17)}.chairman-card dt{color:#f5d781;font:800 .72rem "Montserrat",Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}.chairman-card dd{margin:.2rem 0 0}.chairman-card a{color:var(--white);overflow-wrap:anywhere;text-underline-offset:3px}
.featured-documents{padding-block:clamp(3rem,6vw,5rem);background:linear-gradient(110deg,var(--maroon-dark),var(--maroon))}.featured-documents .section-heading h2{color:var(--white)}.featured-documents .section-heading .eyebrow{color:var(--gold)}.document-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:1.1rem}.document-card{display:flex;gap:1.2rem;padding:1.5rem;border:1px solid var(--border);border-radius:var(--radius);color:var(--text);background:var(--white);text-decoration:none;box-shadow:0 5px 18px rgba(5,29,52,.06);transition:transform 180ms ease,box-shadow 180ms ease}.document-card:hover,.document-card:focus-visible{transform:translateY(-4px);box-shadow:var(--shadow)}.document-card.featured{border-left:5px solid var(--maroon)}.document-icon{font-size:1.8rem}.document-type{color:var(--maroon);font:800 .72rem "Montserrat",Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}.document-card h3{margin:.25rem 0 .4rem}.document-card p{margin-bottom:.7rem;color:var(--muted);font-size:.95rem}.document-link{color:var(--maroon);font-weight:800}
.live-update-note{padding-block:3.5rem;color:var(--white);background:var(--maroon)}.live-update-note .container{max-width:900px;text-align:center}.live-update-note h2{margin-bottom:.65rem;color:var(--white)}.live-update-note p:last-child{margin:0;color:#f1dfe5}
@media(max-width:960px){.detail-grid{grid-template-columns:1fr}.chairman-card{width:100%}.classification-grid{grid-template-columns:repeat(2,1fr)}.document-grid{grid-template-columns:1fr}}
@media(max-width:680px){.sport-title-row{align-items:flex-start;flex-direction:column}.sport-title-icon{width:66px;height:66px;font-size:1.9rem}.classification-grid{grid-template-columns:1fr}.classification-card{min-height:260px}.document-card{flex-direction:column}}


/* Past Champions archive */
.champions-hero{background:linear-gradient(115deg,var(--navy-dark),var(--maroon) 72%,var(--maroon-dark))}
.champions-archive.section{padding-block:clamp(3rem,6vw,5rem);background:var(--off-white)}
.archive-toolbar{display:flex;align-items:end;justify-content:space-between;margin-bottom:1.5rem;gap:2rem}
.archive-toolbar h2{margin:0}
.archive-search{display:grid;width:min(100%,330px);gap:.4rem;color:var(--navy);font:800 .78rem "Montserrat",Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase}
.archive-search input{width:100%;min-height:48px;padding:.7rem 1rem;border:1px solid var(--border);border-radius:7px;color:var(--text);background:var(--white);font:600 1rem "Source Sans 3",Arial,sans-serif}
.archive-search input:focus{border-color:var(--maroon);outline:3px solid rgba(122,31,61,.16)}
.decade-filters{display:flex;flex-wrap:wrap;margin-bottom:1rem;gap:.55rem}
.filter-button{padding:.55rem .9rem;border:1px solid #d4bcc5;border-radius:999px;color:var(--maroon);background:var(--white);font:800 .78rem "Montserrat",Arial,sans-serif;cursor:pointer}
.filter-button:hover,.filter-button:focus-visible,.filter-button.active{border-color:var(--maroon);color:var(--white);background:var(--maroon)}
.archive-count{margin-bottom:1.25rem;color:var(--muted)}
.champion-year-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.85rem}
.champion-year-card[hidden]{display:none!important}
.champion-year-card{display:flex;min-height:132px;flex-direction:column;padding:1.15rem;border:1px solid var(--border);border-top:4px solid var(--maroon);border-radius:9px;color:var(--text);background:var(--white);text-decoration:none;box-shadow:0 4px 14px rgba(5,29,52,.05);transition:transform 160ms ease,box-shadow 160ms ease}
.champion-year-card:hover,.champion-year-card:focus-visible{transform:translateY(-4px);box-shadow:var(--shadow)}
.champion-year{color:var(--navy);font:800 1.15rem "Montserrat",Arial,sans-serif}
.archive-current{align-self:flex-start;margin-top:.45rem;padding:.15rem .45rem;border-radius:999px;color:var(--maroon-dark);background:#f5d781;font:800 .65rem "Montserrat",Arial,sans-serif;text-transform:uppercase}
.champion-year-link{margin-top:auto;color:var(--maroon);font-weight:800}
.archive-empty{padding:2rem;border:1px dashed var(--border);border-radius:var(--radius);color:var(--muted);background:var(--white);text-align:center}
.archive-note{padding-block:clamp(3rem,6vw,4.5rem);color:var(--white);background:linear-gradient(110deg,var(--maroon-dark),var(--maroon))}
.archive-note .container{max-width:900px}
.archive-note h2{margin-bottom:.65rem;color:var(--white)}
.archive-note p:last-child{margin:0;color:#f1dfe5}
.archive-note .eyebrow{color:var(--gold)}
@media(max-width:960px){.champion-year-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.archive-toolbar{align-items:flex-start;flex-direction:column}.archive-search{width:100%}.champion-year-grid{grid-template-columns:repeat(2,1fr)}.champion-year-card{min-height:120px}}
@media(max-width:420px){.champion-year-grid{grid-template-columns:1fr}}

/* Individual championship year */
.champion-record-hero{padding-block:clamp(2.75rem,6vw,4.75rem);color:var(--white);background:linear-gradient(115deg,var(--navy-dark),var(--maroon) 72%,var(--maroon-dark))}
.champion-record-hero h1{margin-bottom:.65rem;color:var(--white);font-size:clamp(2.6rem,6vw,4.4rem)}
.champion-record-hero p:last-child{max-width:680px;margin:0;color:#e3edf4;font-size:1.15rem}
.record-year-nav{border-bottom:1px solid var(--border);background:var(--white);box-shadow:0 5px 18px rgba(5,29,52,.06)}
.record-year-nav .container{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem}
.record-year-nav a{padding-block:1rem;color:var(--maroon);font-weight:800;text-decoration-thickness:2px;text-underline-offset:4px}
.record-year-nav a:nth-child(2){text-align:center}.record-year-nav a:last-child{text-align:right}
.champion-records.section{padding-block:clamp(3rem,6vw,5rem);background:var(--off-white)}
.record-toolbar{display:flex;align-items:end;justify-content:space-between;margin-bottom:1rem;gap:2rem}
.record-toolbar h2{margin:0}
.champion-sport-grid{display:grid;grid-template-columns:repeat(3,1fr);align-items:start;gap:1rem}
.champion-sport-card[hidden]{display:none}
.champion-sport-card{overflow:hidden;border:1px solid var(--border);border-top:5px solid var(--gold);border-radius:var(--radius);background:var(--white);box-shadow:0 5px 18px rgba(5,29,52,.08)}
.champion-sport-card h3{margin:0;padding:1rem 1.15rem;color:var(--gold);background:var(--navy);font-size:1.15rem}
.champion-sport-card dl{margin:0}
.champion-sport-card dl div{padding:.8rem 1.15rem;border-top:1px solid var(--border)}
.champion-sport-card dt{color:var(--maroon);font:800 .72rem "Montserrat",Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase}
.champion-sport-card dd{margin:.2rem 0 0;color:var(--text);font-weight:700;line-height:1.35}
@media(max-width:960px){.champion-sport-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.record-toolbar{align-items:flex-start;flex-direction:column}.champion-sport-grid{grid-template-columns:1fr}.record-year-nav .container{grid-template-columns:1fr 1fr}.record-year-nav a:nth-child(2){display:none}}

/* Meetings and minutes */
.meetings-hero{background:linear-gradient(115deg,var(--navy-dark),var(--maroon) 74%,var(--maroon-dark))}
.meeting-center{background:var(--off-white)}.meeting-toolbar{display:flex;align-items:end;justify-content:space-between;margin-bottom:1rem;gap:1.25rem}.meeting-toolbar label{display:grid;width:min(100%,430px);gap:.4rem;color:var(--navy);font:800 .78rem "Montserrat",Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase}.meeting-toolbar label:last-child{width:min(100%,240px)}.meeting-toolbar input,.meeting-toolbar select{min-height:48px;padding:.7rem 1rem;border:1px solid var(--border);border-radius:7px;color:var(--text);background:var(--white);font:600 1rem "Source Sans 3",Arial,sans-serif}.meeting-legend{display:flex;flex-wrap:wrap;margin-bottom:1rem;gap:1.2rem;color:var(--muted);font-size:.9rem}.meeting-legend span:nth-child(1){color:var(--blue)}.meeting-legend span:nth-child(2){color:var(--gold-dark)}.meeting-legend span:nth-child(3){color:var(--maroon)}
.meeting-year-group[hidden],.meeting-card[hidden]{display:none!important}.meeting-year-group{margin-top:2.75rem}.meeting-year-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:1rem}.meeting-year-heading h2{margin:0}.meeting-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.meeting-card{display:grid;grid-template-columns:84px 1fr;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--white);box-shadow:0 5px 18px rgba(5,29,52,.06)}.meeting-date{display:flex;align-items:center;flex-direction:column;justify-content:center;padding:1rem .6rem;color:var(--white);background:var(--navy);text-align:center}.meeting-date span{color:var(--gold);font:800 .76rem "Montserrat",Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}.meeting-date strong{font-size:2rem;line-height:1.05}.meeting-date small{color:#d5e2eb;font-weight:700}.meeting-info{padding:1.15rem}.meeting-info h3{margin:.35rem 0}.meeting-info p{margin:0;color:var(--muted);line-height:1.4}.meeting-note{margin-top:.35rem!important;font-size:.9rem}.meeting-status{display:inline-flex;padding:.17rem .5rem;border-radius:999px;color:var(--white);background:var(--blue);font:800 .65rem "Montserrat",Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase}.meeting-status.pending{color:var(--navy-dark);background:#f5d781}.meeting-status.upcoming{background:var(--maroon)}.meeting-actions{display:flex;flex-wrap:wrap;margin-top:1rem;gap:.45rem}.meeting-actions a{padding:.45rem .68rem;border:1px solid var(--maroon);border-radius:5px;color:var(--maroon);font-size:.84rem;font-weight:800;text-decoration:none}.meeting-actions a:hover,.meeting-actions a:focus-visible{color:var(--white);background:var(--maroon)}.meeting-actions a.minutes{color:var(--white);background:var(--maroon)}.meeting-actions a.minutes:hover{background:var(--navy)}
.meeting-archive-band{padding-block:3.5rem;color:var(--white);background:linear-gradient(110deg,var(--maroon-dark),var(--maroon))}.meeting-archive-band .container{display:flex;align-items:center;justify-content:space-between;gap:3rem}.meeting-archive-band h2{margin-bottom:.5rem;color:var(--white)}.meeting-archive-band p:not(.eyebrow){max-width:760px;margin:0;color:#f1dfe5}
@media(max-width:900px){.meeting-grid{grid-template-columns:1fr}.meeting-archive-band .container{align-items:flex-start;flex-direction:column}}@media(max-width:680px){.meeting-toolbar{align-items:stretch;flex-direction:column}.meeting-toolbar label,.meeting-toolbar label:last-child{width:100%}.meeting-year-heading{align-items:flex-start;flex-direction:column;gap:.5rem}.meeting-card{grid-template-columns:70px 1fr}.meeting-archive-band .button{width:100%}}

/* Baseball live-resource template */
.baseball-hero{background:linear-gradient(115deg,var(--navy-dark),var(--maroon) 72%,var(--maroon-dark))}
.baseball-intro.section{padding-block:clamp(3rem,6vw,4.5rem)}
.baseball-intro .section-heading{align-self:center}
.live-resources{padding-block:clamp(3rem,6vw,5rem);background:var(--off-white)}
.live-resource-grid{display:grid;gap:1.5rem}
.live-resource-card{overflow:hidden;border:1px solid var(--border);border-top:5px solid var(--gold);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow)}
.live-resource-heading{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 1.35rem;gap:1.25rem}
.live-resource-heading h3{margin:.1rem 0 0;font-size:1.45rem}
.resource-kicker{color:var(--maroon);font:800 .72rem "Montserrat",Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.button.button-small{padding:.65rem 1rem;white-space:nowrap}
.google-embed{height:min(70vh,680px);min-height:500px;margin:0 clamp(.8rem,2vw,1.5rem) clamp(.8rem,2vw,1.5rem);overflow:hidden;border:1px solid var(--border);border-radius:8px;background:#e8edf1}
.google-embed iframe{display:block;width:100%;height:100%;border:0}
.rankings-card{width:min(100%,960px);margin-inline:auto}
.rankings-embed{height:min(58vh,560px);min-height:420px}
.baseball-documents{padding-block:clamp(3rem,6vw,4.5rem);color:var(--white);background:linear-gradient(110deg,var(--maroon-dark),var(--maroon))}
.baseball-document-row{display:flex;align-items:center;justify-content:space-between;gap:3rem}
.baseball-document-row h2{margin-bottom:.55rem;color:var(--white)}
.baseball-document-row p:not(.eyebrow){max-width:760px;margin:0;color:#f1dfe5}
.gold-button{flex:0 0 auto;color:var(--navy-dark);background:var(--gold)}
.gold-button:hover,.gold-button:focus-visible{background:var(--white)}
@media(max-width:760px){.live-resource-heading,.baseball-document-row{align-items:stretch;flex-direction:column}.live-resource-heading .button,.baseball-document-row .button{width:100%;text-align:center}.google-embed{height:560px;min-height:0}}

/* PIAA D5 identity */
.brand-row .brand-mark {
  display: block;
  width: clamp(245px, 29vw, 340px);
  height: 84px;
  flex: 0 0 auto;
  border: 0;
  border-radius: 0;
  background: url("assets/piaa-d5.svg") center / contain no-repeat;
  font-size: 0;
  box-shadow: none;
}

.brand-row .brand > span:not(.brand-mark) {
  display: none;
}

.footer-brand .brand-mark.small {
  display: block;
  width: 165px;
  height: 48px;
  flex: 0 0 auto;
  border: 0;
  border-radius: 0;
  background: url("assets/piaa-d5.svg") center / contain no-repeat;
  font-size: 0;
  box-shadow: none;
}

@media (max-width: 680px) {
  .brand-row {
    gap: 1rem;
  }

  .brand-row .brand-mark {
    width: clamp(190px, 58vw, 235px);
    height: 62px;
  }
}
