
@view-transition { navigation: auto; }

*,
*::before,
*::after { box-sizing: border-box; }
html { background: var(--color-ground-alt); }
body {
  margin: 0;
  background: var(--color-ground-alt);
  color: var(--color-ink);
  font: var(--weight-regular) var(--text-body-sm) / var(--leading-body) var(--font-body);
}
@media (min-width: 900px) { body { font-size: var(--text-body-lg); } }
img { display: block; max-width: 100%; height: auto; }

.container {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-pad);   
}

.skip-link {
  position: absolute;
  top: 0;
  left: 0;
  
  z-index: 102;
  display: inline-flex;
  align-items: center;
  min-height: var(--size-tap);
  padding: var(--space-3) var(--space-5);
  background: var(--color-ink);
  color: var(--color-ground);
  font: var(--weight-regular) var(--text-body-lg) / var(--leading-body) var(--font-display);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
  text-decoration: none;
  border-radius: var(--radius-button);
  transform: translateY(-100%);
}
.skip-link:focus { transform: none; }

body.admin-bar .skip-link { top: var(--offset-admin-bar-sm); }
@media (min-width: 900px) { body.admin-bar .skip-link { top: var(--offset-admin-bar-lg); } }

.site-header {
  position: sticky;
  top: 0;
  z-index: 101;
  
  isolation: isolate;
  background: var(--color-ground);
  color: var(--color-ink);
  box-shadow: var(--shadow-raised);
  
  container-type: inline-size;
  
  padding-block: var(--header-room) 0;
}

html {
  
  --header-mark-sm: min(var(--size-brandmark-header-sm), (100vw - var(--container-pad) - var(--size-tap) - var(--space-4)) / var(--brandmark-ratio));
  --header-room: max(0px, var(--header-mark-sm) * (var(--brandmark-rain-share) + var(--brandmark-rain-above)) - var(--size-header-sm));
}
@media (min-width: 900px) { html { --header-room: 0px; } }

@media (min-width: 600px) { body.admin-bar .site-header { top: var(--offset-admin-bar-sm); } }
@media (min-width: 900px) { body.admin-bar .site-header { top: var(--offset-admin-bar-lg); } }

html { scroll-padding-top: calc(var(--size-header-sm) + var(--header-room) + var(--space-4)); }
@media (min-width: 900px) { html { scroll-padding-top: calc(var(--size-header-lg) + var(--space-4)); } }

.site-header,
.site-header * { scroll-margin-top: calc(-1 * (var(--size-header-sm) + var(--header-room) + var(--space-4))); }
@media (min-width: 900px) {
  .site-header,
  .site-header * { scroll-margin-top: calc(-1 * (var(--size-header-lg) + var(--space-4))); }
}

html:has(.site-header.is-searching) { scroll-padding-top: 0; }
.site-header .header-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4);
  min-height: var(--size-header-sm);
  
  position: relative;
}

.header-marks,
.header-panel { display: contents; }

.header-actions {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin-inline-start: auto;
}

.site-header .wordmark {
  display: flex;
  align-items: flex-end;
  flex: 1 1 0;
  min-width: 0;
  height: var(--size-header-sm);
  max-width: calc(var(--size-brandmark-header-sm) * var(--brandmark-ratio));
  margin-inline-start: calc(-1 * var(--container-pad));
  border-radius: var(--radius);
}

.site-header .wordmark img { width: auto; height: auto; max-width: 100%; max-height: var(--size-brandmark-header-sm); transform: translateY(var(--brandmark-rain-below)); }

@media (width < 900px) {
  .site-header .wordmark { position: relative; z-index: 103; }
}

.site-header .wordmark-text {
  color: var(--color-ink);
  font: var(--weight-regular) var(--text-subheading) / var(--leading-snug) var(--font-display);
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
}

.site-header .wordmark[aria-current] { text-decoration: none; }
@media (min-width: 900px) {
  
  .site-header .header-bar {
    display: grid;
    grid-template-columns: 1fr auto auto;
    column-gap: var(--space-6);
    align-items: center;
    min-height: var(--size-header-lg);
  }
  .site-header .header-marks {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    grid-column: 1;
    grid-row: 1;
    
    min-width: 0;
  }
  .site-header .wordmark {
    height: var(--size-header-lg);
    max-width: calc(var(--size-brandmark-header) * var(--brandmark-ratio));
    margin-inline-start: calc(-1 * max(var(--container-pad), (100cqw - var(--container-max)) / 2 + var(--container-pad)));
  }
  
  .site-header .header-actions {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    
    margin-inline-start: 0;
    grid-column: 3;
    grid-row: 1;
  }
  
  .site-header .wordmark img { max-height: var(--size-brandmark-header); }
  
  .js .site-header.is-searching .wordmark {
    opacity: 0;
    visibility: hidden;
  }
  @media (prefers-reduced-motion: no-preference) {
    .js .site-header .wordmark { transition: opacity var(--motion-hover) var(--ease-settle); }
  }
}
@media (min-width: 1200px) { 
  
  .site-header .header-bar { column-gap: var(--space-8); }
  
  .site-header .wordmark { margin-inline-start: calc(-1 * (max(var(--container-pad), (100cqw - var(--container-max)) / 2 + var(--container-pad)) + var(--space-3))); }
  
}

.site-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.site-nav .nav-link {
  display: flex;
  align-items: center;
  min-height: var(--size-tap);
  min-width: var(--size-tap);
  padding-block: var(--space-2);
  padding-inline: var(--space-3);
  color: var(--color-ink);
  text-decoration: none;
  font: var(--weight-regular) var(--text-body-lg) / var(--leading-body) var(--font-display);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
  border-radius: var(--radius);
}

.site-nav .nav-link[aria-current] > span {
  text-decoration: underline;
  text-decoration-thickness: calc(var(--border) * 2);
  text-underline-offset: var(--space-1);
}

.site-nav .nav-link > span {
  position: relative;
  display: inline-block;
}
.site-nav .nav-link > span::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(var(--space-1) * -1);
  height: calc(var(--border) * 2);
  background: currentColor;
  transform: scaleX(0);
}

@media (prefers-reduced-motion: no-preference) {
  .site-nav .nav-link > span::after { transition: transform var(--motion-hover) var(--ease-settle); }
  .site-header .site-nav .nav-link::before { transition: opacity var(--motion-hover) var(--ease-settle); }
}
@media (hover: hover) {
.site-header .site-nav .nav-link:not([aria-current]):hover > span::after,
.site-header .site-nav .nav-link:not([aria-current]):focus-visible > span::after,
.site-header .site-nav .nav-link:not([aria-current]):active > span::after { transform: scaleX(1); }
}

.js .site-header .header-panel {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  position: fixed;
  
  inset: calc(var(--header-room) + var(--size-header-sm)) 0 0;
  z-index: 102;
  visibility: hidden;
  transform: translateX(100%);
  overflow-y: auto;
  
  padding: var(--space-4) var(--container-pad);
  background: var(--color-ink);
  color: var(--color-ground);
}
@media (min-width: 600px) { 
  
  .js body.admin-bar .site-header .header-panel { top: calc(var(--offset-admin-bar-sm) + var(--header-room) + var(--size-header-sm)); }
}
.js .site-header .header-panel.is-open {
  visibility: visible;
  transform: translateX(0);
}

.js .site-header.is-searching .header-panel {
  display: contents;
  visibility: visible;
}
.js .site-header.is-searching .header-panel .site-nav,
.js .site-header.is-searching .header-panel .panel-foot { display: none; }

@media (prefers-reduced-motion: no-preference) {
  .js .site-header .header-panel {
    transition: transform var(--motion-wipe) var(--ease-settle), visibility 0s linear var(--motion-wipe);
  }
  .js .site-header .header-panel.is-open,
  .js .site-header.is-searching .header-panel {
    transition-delay: 0s, 0s;
  }
}

@media not all and (min-width: 900px) {
  .site-header .search-toggle { display: none; }
}

body.has-panel { overflow: hidden; }

body.has-search { overflow: hidden; }

.panel-foot { display: none; }

.js .site-header .header-panel .site-nav { flex: 1 1 auto; }
.js .site-header .header-panel .site-nav .nav-link {
  color: var(--color-ground);
  
  font-size: var(--text-body-lg);
  padding-inline: 0;
  padding-block: var(--space-3);
}
.js .site-header .header-panel .site-nav li + li { border-top: var(--border) solid var(--color-line-on-ink); }

.js .site-header .header-panel .panel-foot {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding-block: var(--space-5);   
  border-top: var(--border) solid var(--color-line-on-ink);
}

.js .site-header .header-panel .panel-foot .brandmark { height: var(--size-brandmark); width: auto; align-self: flex-start; }
.panel-social {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  list-style: none;
  margin: 0;
  padding: 0;
}

.panel-social a,
.panel-social span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: var(--size-tap);
  min-width: var(--size-tap);
  color: var(--color-ground);
  border-radius: var(--radius);
  transition: color var(--motion-hover) var(--ease-settle);
}
@media (hover: hover) {
.panel-social a:hover,
.panel-social a:active { color: var(--color-muted-on-ink); }
}

.panel-social svg {
  width: var(--space-3);
  height: var(--space-3);
}
.panel-legal {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-1) var(--space-4);
  margin: 0;
  font-size: var(--text-small);
  line-height: var(--leading-body);
  color: var(--color-muted-on-ink);
}

.no-js .site-header .site-nav {
  flex: 1 1 100%;
}
.no-js .site-header .site-nav li + li { border-top: var(--border) solid var(--color-support); }
.no-js .site-header .menu-button,
.no-js .site-header .search-toggle { display: none; }

.menu-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  min-height: var(--size-tap);
  min-width: var(--size-tap);
  padding: 0;
  border: 0;
  cursor: pointer;
  background: none;
  color: var(--color-ink);
  transition: color var(--motion-hover) var(--ease-settle);
}
.menu-button svg {
  width: var(--space-5);
  height: var(--space-5);
  fill: none;
  stroke: currentColor;
  stroke-width: calc(var(--border) * 2);
  stroke-linecap: round;
}
@media (hover: hover) {
.menu-button:hover,
.menu-button:active { color: var(--color-ink-deep); }
}

@media not all and (min-width: 900px) {
  .menu-button { color: var(--color-ink-deep); }
  @media (hover: hover) {
  .menu-button:hover,
  .menu-button:active { color: var(--color-ink); }
  }
}

.menu-button .menu-button-label-open { display: none; }
.menu-button[aria-expanded="true"] .menu-button-label-closed { display: none; }
.menu-button[aria-expanded="true"] .menu-button-label-open { display: inline; }

@media (prefers-reduced-motion: no-preference) {
  .icon-line {
    transform-origin: 12px 12px;
    transition: transform var(--motion-menu-icon) var(--ease-settle), opacity var(--motion-menu-icon) var(--ease-settle);
  }
}

.menu-button[aria-expanded="true"] .icon-line-top { transform: rotate(45deg) translateY(6px); }
.menu-button[aria-expanded="true"] .icon-line-bottom { transform: rotate(-45deg) translateY(-6px); }
.menu-button[aria-expanded="true"] .icon-line-mid { opacity: 0; }

@media (min-width: 900px) {
  .js .site-header .header-panel,
  .no-js .site-header .header-panel {
    display: contents;
    
    visibility: visible;
  }
  .js .site-header .header-panel .panel-foot { display: none; }
  .site-header .site-nav,
  .no-js .site-header .site-nav,
  .js .site-header .header-panel .site-nav,
  
  .js .site-header.is-searching .header-panel .site-nav {
    display: block;
    position: static;
    flex: none;
    background: none;
    border-bottom: 0;
    grid-column: 2;
    grid-row: 1;
  }
  .site-header .site-nav ul,
  .no-js .site-header .site-nav ul {
    display: flex;
    
    gap: var(--space-4);
    max-width: none;
    padding-inline: 0;
  }
  .site-header .site-nav li + li,
  .no-js .site-header .site-nav li + li,
  
  .js .site-header .header-panel .site-nav li + li { border-top: 0; }
  .site-header .site-nav .nav-link,
  .js .site-header .header-panel .site-nav .nav-link {
    display: inline-flex;
    padding-block: 0;
    padding-inline: var(--space-3);
    color: var(--color-ink);
    font-size: var(--text-body-lg);
  }
  
  .site-header .site-nav .nav-link,
  .js .site-header .header-panel .site-nav .nav-link {
    position: relative;
    isolation: isolate;
  }
  .site-header .site-nav .nav-link::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: var(--color-lime);
    transform: skewX(var(--skew-button));
    opacity: 0;
  }
  @media (hover: hover) {
  .site-header .site-nav .nav-link:not([aria-current]):hover::before,
  .site-header .site-nav .nav-link:not([aria-current]):focus-visible::before,
  .site-header .site-nav .nav-link:not([aria-current]):active::before { opacity: 1; }
  .site-header .site-nav .nav-link:not([aria-current]):focus-visible::before,
  .site-header .site-nav .nav-link:not([aria-current]):active::before { background: var(--color-green); }
  }
  .site-header .site-nav .nav-link[aria-current]::before {
    opacity: 1;
    background: var(--color-green);
  }
  .site-header .site-nav .nav-link[aria-current] > span { text-decoration: none; }
  @media (hover: hover) {
  .site-header .site-nav .nav-link:not([aria-current]):hover > span::after,
  .site-header .site-nav .nav-link:not([aria-current]):focus-visible > span::after,
  .site-header .site-nav .nav-link:not([aria-current]):active > span::after { transform: scaleX(0); }
  }
  .menu-button,
  .no-js .site-header .menu-button { display: none; }
}
@media (min-width: 1200px) { 
  .site-header .site-nav ul,
  .no-js .site-header .site-nav ul { gap: var(--space-5); }
}

.site-header .site-nav .nav-item.has-submenu { position: relative; }
.js .site-header .site-nav .nav-submenu { display: none; }
.js .site-header .site-nav .nav-item.is-open .nav-submenu { display: block; }
.no-js .site-header .site-nav .nav-toggle { display: none; }
.no-js .site-header .site-nav .nav-submenu {
  position: static;
  display: block;
}

.site-header .site-nav .nav-toggle {
  gap: var(--space-1);
  background: none;
  border: 0;
  cursor: pointer;
}
.site-header .site-nav .nav-toggle svg {
  width: var(--icon-md);
  height: var(--icon-md);
  flex: none;
}
@media (prefers-reduced-motion: no-preference) {
  .site-header .site-nav .nav-toggle svg { transition: transform var(--motion-hover) var(--ease-settle); }
}
.site-header .site-nav .nav-item.is-open .nav-toggle svg { transform: rotate(180deg); }

.js .site-header .header-panel .nav-submenu .nav-link { padding-inline-start: var(--space-4); }

@media (min-width: 900px) {
  .site-header .site-nav .nav-submenu,
  .js .site-header .header-panel .site-nav .nav-submenu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: var(--measure-rail);
    padding: var(--space-2);
    background: var(--color-ink);
    border-radius: var(--radius);
  }
  
  .site-header .site-nav .nav-submenu .nav-link,
  .js .site-header .header-panel .site-nav .nav-submenu .nav-link {
    color: var(--color-ground);
    white-space: nowrap;
    padding-inline: var(--space-4);
  }
}

.site-footer {
  background: var(--color-ink);
  color: var(--color-ground);
}
.site-footer > .container {
  
  padding-block: var(--space-7);
}
.footer-partners {
  display: flex;
  align-items: center;
  gap: var(--space-5);
  padding: var(--space-5) 0;
  
  min-width: 0;
}

.site-footer .brandmark {
  height: var(--size-brandmark-band);
  width: auto;
  max-width: 100%;
  object-fit: contain;
  object-position: left center;
}

@media not all and (min-width: 600px) {
  .site-footer .brandmark { height: var(--size-brandmark); }
}
.footer-heading {
  margin: 0 0 var(--space-3);
  color: var(--color-ground);
  font: var(--weight-regular) var(--text-subheading) / var(--leading-snug) var(--font-display);
  text-transform: uppercase;
}

@media not all and (min-width: 600px) {
  .footer-heading { font-size: var(--text-label); }
}
.footer-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.footer-nav li + li { margin-top: var(--space-2); }
.footer-nav .nav-link {
  display: inline-flex;
  align-items: center;
  min-height: var(--size-tap);
  min-width: var(--size-tap);
  color: var(--color-ground);
  text-decoration: none;
  border-radius: var(--radius);
  transition: color var(--motion-hover) var(--ease-settle);
}
@media (hover: hover) {
.footer-nav .nav-link:hover,
.footer-nav .nav-link:active { color: var(--color-muted-on-ink); }
}

.footer-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  min-height: var(--size-tap);
  cursor: pointer;
  list-style: none;
}
.footer-summary::-webkit-details-marker { display: none; }
.footer-summary .footer-heading { margin: 0; }
.footer-summary .icon { flex: none; }

@media (prefers-reduced-motion: no-preference) {
  .footer-summary .icon { transition: transform var(--motion-hover) var(--ease-settle); }
  .footer-col[open] .footer-summary .icon { transform: rotate(180deg); }
}

@media (width < 900px) {
  .footer-nav li + li { margin-top: 0; }
  .footer-heading { margin-bottom: 0; }
  .footer-social .footer-heading {
    display: flex;
    align-items: center;
    min-height: var(--size-tap);
  }
}

@media (width < 900px) {
  .footer-col[open] {
    position: relative;
    z-index: 1;
  }
}
@media (width < 900px) and (prefers-reduced-motion: no-preference) {
  .footer-col::details-content {
    display: grid;
    grid-template-rows: 0fr;
    transition:
      grid-template-rows var(--motion-hover) var(--ease-settle),
      content-visibility var(--motion-hover) allow-discrete;
  }
  .footer-col[open]::details-content { grid-template-rows: 1fr; }
  .footer-nav {
    min-height: 0;
    overflow: hidden;
    padding: var(--space-1);
    margin: calc(var(--space-1) * -1);
    transition: opacity var(--motion-hover) var(--ease-settle);
  }
  .footer-col:not([open]) .footer-nav { opacity: 0; }
  @starting-style {
    .footer-col[open] .footer-nav { opacity: 0; }
  }
}

.footer-base { border-top: var(--border) solid var(--color-line-on-ink); }
.footer-base > .container { padding-block: var(--space-5); }

.footer-legal {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  text-align: center;
  gap: var(--space-2) var(--space-5);
  margin: 0;
  font-size: var(--text-small);
  line-height: var(--leading-body);
  color: var(--color-muted-on-ink);
}
@media (min-width: 900px) {
  .site-footer > .container {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: var(--space-6);
    align-items: start;
    
    justify-items: center;
  }
  .footer-partners { padding-block: 0; }
  
  html.js .footer-summary {
    pointer-events: none;
    cursor: default;
  }
  html.js .footer-summary .icon { display: none; }
}

.page-title {
  margin: 0 0 var(--space-5);
  font: var(--weight-regular) var(--text-display-2) / var(--leading-tight) var(--font-display);
  text-transform: uppercase;
}
.page-prose,
.page-content { max-width: var(--measure-prose); }
.page-content > * { margin-block: 0 var(--space-4); }
.page-content a,
.post-list a {
  color: var(--color-ink);
  text-decoration: underline;
  text-decoration-thickness: var(--border);
  text-underline-offset: var(--space-1);
  transition: color var(--motion-hover) var(--ease-settle);
}
@media (hover: hover) {
.page-content a:hover,
.post-list a:hover { color: var(--color-ink-deep); }
}
.post-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.post-list li + li { margin-top: var(--space-3); }

.not-found { max-width: var(--measure-prose); }
.not-found-links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  list-style: none;
  margin: var(--space-5) 0 0;
  padding: 0;
}

.button-primary,
.button-secondary {
  --button-bar-room: calc(var(--space-1) + var(--space-2));
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  min-height: var(--size-tap);
  padding: var(--space-3) calc(var(--space-5) + var(--button-bar-room)) var(--space-3) var(--space-5);
  border: 0;
  border-radius: var(--radius-button);
  background: transparent;
  font: var(--weight-regular) var(--text-body-lg) / var(--leading-body) var(--font-display);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
  text-decoration: none;
  cursor: pointer;
}
.button-primary::before,
.button-secondary::before,
.button-primary::after,
.button-secondary::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  background: var(--button-fill);
  transform: skewX(var(--skew-button));
}
.button-primary::before,
.button-secondary::before {
  left: 0;
  right: var(--button-bar-room);
  z-index: -1;
}
.button-primary::after,
.button-secondary::after {
  right: 0;
  width: var(--space-1);
}
@media (hover: hover) {
.button-primary:hover::after,
.button-primary:focus-visible::after,
.button-primary:active::after,
.button-secondary:hover::after,
.button-secondary:focus-visible::after,
.button-secondary:active::after { transform: skewX(var(--skew-button)) translateX(calc((var(--space-1) + var(--space-2)) * -1)); }
}
@media (prefers-reduced-motion: no-preference) {
  .button-primary::before,
  .button-secondary::before { transition: background-color var(--motion-hover) var(--ease-settle); }
  .button-primary::after,
  .button-secondary::after { transition: transform var(--motion-hover) var(--ease-settle), background-color var(--motion-hover) var(--ease-settle); }
}
.button-primary,
.button-secondary { --button-fill: var(--color-lime); color: var(--color-ink); }
@media (hover: hover) {
.button-primary:hover,
.button-primary:focus-visible,
.button-primary:active,
.button-secondary:hover,
.button-secondary:focus-visible,
.button-secondary:active { --button-fill: var(--color-green); }
}

@media (prefers-reduced-motion: reduce) {
  .site-nav .nav-link,
  .menu-button,
  .footer-nav .nav-link,
  .page-content a,
  .post-list a,
  .squad h3 a,
  .wordmark { transition: none; }
}

.visually-hidden {
  position: absolute;
  width: var(--border);
  height: var(--border);
  margin: calc(-1 * var(--border));
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.section-band { padding-top: var(--space-7); padding-bottom: var(--space-7); }
.section-band:has( + .section-band ) { padding-bottom: var(--space-6); }
.section-band + .section-band { padding-top: var(--space-6); }

@media (width < 600px) { 
  .section-band:last-child { padding-bottom: var(--space-5); }
}

.band-ink { background: var(--color-ink); color: var(--color-ground); }

.section-label + .section-heading,
.section-heading + .section-label { margin-top: var(--space-3); }
.section-heading + .section-intro { margin-top: var(--space-4); }
.section-head { margin-bottom: var(--space-5); }
@media (min-width: 900px) { .section-head { margin-bottom: var(--space-6); } } 
.section-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-3) var(--space-5);
}
.section-heading {
  margin: 0;
  font: var(--weight-regular) var(--text-heading) / var(--leading-tight) var(--font-display);
  text-transform: uppercase;
}

.section-band > .container > .section-head:first-child > .section-heading:first-child,
.section-band > .container > .section-heading:first-child { margin-block-start: calc(-1 * var(--trim-heading)); }
.section-label {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  color: var(--color-ink);
  font: var(--weight-medium) var(--text-label) / var(--leading-body) var(--font-body);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
}
.section-label::before {
  content: "";
  width: var(--size-rule);
  border-top: calc(var(--border) * 2) solid currentColor;
}

.band-ink .section-label,
.section-label-on-scrim { color: var(--color-cyan); }
.section-label-on-scrim {
  padding: var(--space-2) var(--space-3);
  background: var(--gradient-scrim-soft);
  border-radius: var(--radius);
}

.scrim-line {
  display: inline-block;
  padding: var(--space-2) var(--space-3);
  background: var(--gradient-scrim-soft);
  color: var(--color-ground);
  border-radius: var(--radius);
  font: var(--weight-regular) var(--text-body-sm) / var(--leading-body) var(--font-body);
}
.card-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--container-pad);
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (min-width: 900px) { 
  .card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.icon {
  width: var(--icon-sm);
  height: var(--icon-sm);
  flex: none;
}

.icon-dot {
  width: var(--space-1);
  height: var(--space-1);
  vertical-align: middle;
}

.button-text {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  min-height: var(--size-tap);
  min-width: var(--size-tap);
  color: var(--color-ink);
  font: var(--weight-regular) var(--text-body-lg) / var(--leading-body) var(--font-display);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
  text-decoration: none;
  border-radius: var(--radius-button);
  transition: color var(--motion-hover) var(--ease-settle);
}
@media (hover: hover) {
.button-text:hover,
.button-text:active { color: var(--color-ink-deep); }
}
.band-ink .button-text { color: var(--color-ground); }
@media (hover: hover) {
.band-ink .button-text:hover,
.band-ink .button-text:active { color: var(--color-muted-on-ink); }
}

.crest-chip {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: var(--crest-md);
  height: var(--crest-md);
  padding: var(--space-1);
  background: var(--color-ground);
  color: var(--color-ink);
  border: var(--border) solid var(--color-line);
  border-radius: var(--radius-sm);
}
.crest-chip-lg {
  width: var(--crest-lg);
  height: var(--crest-lg);
}
.crest-chip img,
.crest-chip .crest-placeholder {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.crest-chip img,
.crest-chip .crest-placeholder,
.page-loader-ball,
.icon { scale: var(--overshoot-round); }

.duel {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  
  min-width: 0;
  padding-block: var(--space-6) max(var(--space-6), calc(100% * sin(var(--ribbon-angle))));
  overflow: visible;
}

.duel-side {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  width: max-content;
  max-width: 100%;
  min-width: 0;
  padding: var(--space-2) var(--space-4);
  background: var(--color-lime);
  color: var(--color-ink);
  transform-origin: right center;
  transform: rotate(calc(-1 * var(--ribbon-angle)));
  transition: background-color var(--motion-hover) var(--ease-settle);
}
.duel-away {
  align-self: flex-end;
  flex-direction: row-reverse;
  text-align: right;
  margin-top: calc(-1 * var(--space-2));
  background: var(--color-green);
  transform-origin: left center;
  transform: rotate(var(--ribbon-angle));
}

.duel-compact .duel-side { min-width: calc(50% + var(--space-4)); }

.duel-side .crest-chip { transform: rotate(var(--ribbon-angle)); }
.duel-away .crest-chip { transform: rotate(calc(-1 * var(--ribbon-angle))); }

.duel-side.has-ribbon-art {
  display: block;
  min-width: 0;
  padding: 0;
  background: none;
  transform: none;
}
.duel-side.has-ribbon-art .ribbon-art {
  display: block;
  width: 100%;
  height: auto;
}

.duel-home.has-ribbon-art { width: 74.18%; }
.duel-away.has-ribbon-art {
  width: 73.45%;
  margin-top: -9.61%;
}

.duel:has(> .has-ribbon-art) { padding-block: var(--space-3); }

.fixture-lockup {
  display: block;
  width: 100%;
  height: auto;
}
.fixture-lockup-names {
  font: var(--weight-medium) var(--text-label) / var(--leading-body) var(--font-body);
}

.duel-name {
  font: var(--weight-regular) var(--text-subheading) / var(--leading-snug) var(--font-display);
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

.duel-versus {
  position: absolute;
  width: var(--border);
  height: var(--border);
  margin: calc(-1 * var(--border));
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.duel-versus .brandmark { display: none; }

.duel-full {
  position: relative;
  display: grid;
  
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  align-items: center;
  row-gap: var(--space-6);
  
  column-gap: var(--space-5);
  width: 100%;
  max-width: 100%;
  
  color: var(--color-ground);
  padding-inline: var(--space-4);
  
  padding-block: max(var(--space-7), calc(50% * sin(var(--ribbon-angle))));
}

.duel-full:has(.has-ribbon-art) { padding-block: var(--space-7); }

.duel-cell {
  position: relative;
  
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: var(--space-4);
  width: 100%;
  min-width: 0;
}

.duel-full .duel-side {
  align-self: auto;
  flex-direction: row;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin-top: 0;
  text-align: center;
}

.duel-full .duel-side:not(.has-ribbon-art) {
  margin-bottom: calc(100% * sin(var(--ribbon-angle)));
}

.duel-full .duel-versus {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: var(--space-4);
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  overflow: visible;
  clip-path: none;
  border: 0;
  transform: none;
}

.duel-kicker {
  display: block;
  padding: var(--space-1) var(--space-4);
  background: var(--color-lime);
  color: var(--color-ink);
  font: var(--weight-medium) var(--text-label) / var(--leading-snug) var(--font-display);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
  white-space: nowrap;
}

.duel-watermark {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 0;
  color: var(--color-ink-deep);
  font: var(--weight-regular) var(--size-brandmark-band) / var(--leading-tight) var(--font-display);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
  white-space: nowrap;
  user-select: none;
  transform: translate(-50%, -50%);
}

.duel-full .brandmark.is-stand-in { background: var(--color-ink); }

@media not all and (min-width: 600px) {
  
  .duel-full,
  .duel-watermark {
    --size-brandmark-band: var(--size-brandmark-band-sm);
  }
  
  .duel-full .duel-name {
    font-size: var(--text-body-lg);
    line-height: var(--leading-snug);
  }
}

@media (min-width: 600px) {
  .duel-full { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .duel-cell-home { grid-area: 1 / 1 / 2 / 2; }
  .duel-cell-away { grid-area: 1 / 2 / 2 / 3; }
  .duel-full .duel-versus { grid-area: 2 / 1 / 3 / 3; }
}

@media (min-width: 900px) {
  .duel-cell-home,
  .duel-cell-away,
  .duel-full .duel-versus {
    grid-area: auto;
  }
  .duel-full {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr) minmax(0, 1fr);
    
    padding-block: max(var(--space-8), calc(50% * sin(var(--ribbon-angle))));
  }
  .duel-full .duel-name {
    font-size: var(--text-heading);
    line-height: var(--leading-tight);
  }
}

.match-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  height: 100%;
  padding: var(--space-3);
  background: var(--color-ground);
  color: var(--color-ink);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-raised);
  text-decoration: none;
  transition: color var(--motion-hover) var(--ease-settle);
}
.match-card-kicker {
  font: var(--weight-medium) var(--text-label) / var(--leading-body) var(--font-body);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
}
.match-card-meta {
  color: var(--color-support);
  font: var(--weight-regular) var(--text-body-sm) / var(--leading-body) var(--font-body);
}

.match-card-meta {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
}

@media (hover: hover) {
.match-card:hover,
.match-card:active {
  background: var(--color-ink);
  color: var(--color-ground);
  transition: none;
}
.match-card:hover .match-card-meta,
.match-card:active .match-card-meta { color: var(--color-ground); }
}

@media (hover: hover) {
.match-card:hover .match-card-tz,
.match-card:active .match-card-tz { color: var(--color-ground); }
.match-card:hover .card-details,
.match-card:active .card-details { border-block-start-color: var(--color-line-on-ink); }
.match-card:hover .duel-home,
.match-card:active .duel-home { background: var(--color-lime-deep); }
}

.news-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--color-ground);
  color: var(--color-ink);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-raised);
  text-decoration: none;
}

.news-card-media {
  display: block;
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-card);
}
.news-card-media img {
  display: block;
  width: 100%;
  aspect-ratio: var(--ratio-card);
  object-fit: cover;
}

.news-card-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--color-ink);
  opacity: 0;
  pointer-events: none;
}
.news-card-body {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding: var(--space-3);
}
.news-card-kicker {
  font: var(--weight-medium) var(--text-label) / var(--leading-body) var(--font-body);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
}
.card-title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  margin: 0;
  font: var(--weight-regular) var(--text-subheading) / var(--leading-snug) var(--font-display);
  text-transform: uppercase;
  transition: color var(--motion-hover) var(--ease-settle);
}
.card-meta {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  color: var(--color-support);
  font: var(--weight-regular) var(--text-body-sm) / var(--leading-body) var(--font-body);
}

@media (hover: hover) {
.news-card:hover,
.news-card:active {
  background: var(--color-ink);
  color: var(--color-ground);
  transition: none;
}
.news-card:hover .card-title,
.news-card:active .card-title { color: var(--color-ground); transition: none; }
.news-card:hover .card-meta,
.news-card:active .card-meta { color: var(--color-ground); }
}

@media (hover: hover) {
.news-card:hover .news-card-kicker,
.news-card:active .news-card-kicker { color: var(--color-cyan); }
.news-card:hover .card-standfirst,
.news-card:active .card-standfirst { color: var(--color-ground); }
}

@media (prefers-reduced-motion: no-preference) {
  .news-card { transition: transform var(--motion-pop-card) var(--ease-pop); }
  .news-card-media img { transition: transform var(--motion-pop-card) var(--ease-pop); }
  .news-card-media::after { transition: opacity var(--motion-hover) var(--ease-settle); }
  
  @media (hover: hover) {
  .news-card:hover,
  .news-card:active {
    transition: transform var(--motion-pop-card) var(--ease-pop);
    transform: translateY(calc(-1 * var(--lift-card)));
  }
  .news-card:hover .news-card-media img,
  .news-card:active .news-card-media img { transform: scale(var(--pop-card)); }
  }
}

@media (hover: hover) {
.news-card:hover .news-card-media::after,
.news-card:active .news-card-media::after { opacity: var(--overlay-hover); }
}

.news-card { --lift-card: 0px; }
.news-card-ink { --pop-card: 1; }

.news-card-ink { background: var(--color-ink); color: var(--color-ground); }
.news-card-ink .news-card-kicker { color: var(--color-cyan); }
.news-card-ink .card-meta { color: var(--color-ground); }
@media (hover: hover) {
.news-card-ink:hover .card-title,
.news-card-ink:active .card-title { color: var(--color-ground); }
.news-card-ink:hover .news-card-kicker,
.news-card-ink:active .news-card-kicker { color: var(--color-ground); }
}

@media (prefers-reduced-motion: reduce) {
  .button-text,
  .duel-side,
  .match-card,
  .card-title,
  .news-card { transition: none; animation: none; }
}

.fixtures-tabs {
  display: flex;
  gap: var(--space-5);
  border-block-end: var(--border) solid var(--color-line);
}

.page-prose + #fixtures-view { margin-block-start: var(--space-6); }
.fixtures-tab {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  min-height: var(--size-tap);
  padding-block-end: var(--space-2);
  margin-block-end: calc(var(--border) * -1);
  color: var(--color-support);
  font: var(--weight-regular) var(--text-body-lg) / var(--leading-body) var(--font-display);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
  text-decoration: none;
  border-block-end: calc(var(--border) * 2) solid transparent;
  transition: color var(--motion-hover) var(--ease-settle);
}
@media (hover: hover) {
.fixtures-tab:hover,
.fixtures-tab:active { color: var(--color-ink-deep); }
}
.fixtures-tab.is-current {
  color: var(--color-ink);
  border-block-end-color: var(--color-ink);
}

.fixtures-filter {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: var(--space-3);
  margin-block-start: var(--space-5);
}
.fixtures-filter-field {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  margin: 0;
}
.fixtures-filter label {
  color: var(--color-support);
  font: var(--weight-medium) var(--text-label) / var(--leading-body) var(--font-body);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
}
.fixtures-filter select {
  min-height: var(--size-tap);
  padding: var(--space-2) var(--space-3);
  background: var(--color-ground);
  color: var(--color-ink);
  font: var(--weight-regular) var(--text-body-lg) / var(--leading-body) var(--font-body);
  border: var(--border) solid var(--color-line);
  border-radius: var(--radius);
}

@media not all and (min-width: 600px) {
  .fixtures-filter {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: end;
    gap: var(--space-2);
  }
  .fixtures-filter .fixtures-filter-field,
  .fixtures-filter .select-field {
    min-width: 0;
  }
  .fixtures-filter .button-primary { justify-content: center; }
  .fixtures-filter:not(:has(#fixtures-edition)) .button-primary { grid-column: 1 / -1; }
}
@media not all and (min-width: 900px) {
  .fixtures-filter label { line-height: var(--leading-tight); }
  .fixtures-filter .select-toggle {
    gap: var(--space-2);
    padding: var(--space-2) var(--space-3);
    font: var(--weight-regular) var(--text-body-lg) / var(--leading-tight) var(--font-display);
  }
  .fixtures-filter .select-chevron {
    width: var(--icon-sm);
    height: var(--icon-sm);
  }
  .fixtures-filter .button-primary { padding: var(--space-2) calc(var(--space-4) + var(--button-bar-room)) var(--space-2) var(--space-4); }
}

@media (min-width: 600px) { 
  .fixtures-filter .button-primary,
  .news-filter .button-secondary { margin-inline-start: var(--space-3); }
}

.fixtures {
  margin-block-start: var(--space-6);
}

.fixture-group + .fixture-group {
  margin-block-start: var(--space-9);
}
.fixture-group-date {
  margin: 0 0 var(--space-5);
  color: var(--color-ink);
  font: var(--weight-regular) var(--text-heading) / var(--leading-tight) var(--font-display);
  text-transform: uppercase;
}
.fixtures-list {
  display: grid;
  gap: var(--space-6);
  list-style: none;
  margin: 0;
  padding: 0;
}

.fixtures-list > li {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.fixtures-list > li > .match-card { width: 100%; }

.match-card.is-fixture {
  gap: var(--space-4);
  padding-block: var(--space-5);
}

.match-card.is-fixture .duel {
  display: contents;
  color: inherit;
}
.match-card.is-fixture .duel-versus { display: none; }
.match-card.is-fixture .duel-side {
  width: auto;
  max-width: none;
  min-width: 0;
  margin: 0;
  padding: 0;
  align-self: auto;
  flex-direction: row;
  text-align: left;
  background: none;
  color: inherit;
  transform: none;
}
.match-card.is-fixture .duel-side .crest-chip { transform: none; }
.match-card.is-fixture .duel-name { font-size: var(--text-subheading); }

.match-card.is-fixture .duel .crest-chip { border: 0; }

.match-card.is-fixture .match-card-meta {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: var(--space-1);
  color: var(--color-support);
}
.match-card.is-fixture .match-card-time {
  color: var(--color-ink);
  font-weight: var(--weight-medium);
  
  font-variant-numeric: tabular-nums;
}

.match-card-tz {
  color: var(--color-support);
  font-size: var(--text-body-sm);
  font-weight: var(--weight-regular);
}

@media (hover: hover) {
.match-card.is-fixture:hover .match-card-meta,
.match-card.is-fixture:active .match-card-meta,
.match-card.is-fixture:hover .match-card-time,
.match-card.is-fixture:active .match-card-time,
.match-card.is-fixture:hover .match-card-tz,
.match-card.is-fixture:active .match-card-tz { color: var(--color-ground); }
.match-card.is-fixture:hover .match-card-time ~ .match-card-venue,
.match-card.is-fixture:active .match-card-time ~ .match-card-venue { border-inline-start-color: var(--color-line-on-ink); }
}

.match-card.is-dark {
  background: var(--color-ink);
  color: var(--color-ground);
}
.match-card.is-dark .card-details { border-block-start-color: var(--color-line-on-ink); }
.match-card.is-fixture.is-dark .match-card-meta,
.match-card.is-fixture.is-dark .match-card-time,
.match-card.is-fixture.is-dark .match-card-tz { color: var(--color-ground); }
.match-card.is-fixture.is-dark .match-card-time ~ .match-card-venue { border-inline-start-color: var(--color-line-on-ink); }

@media (min-width: 600px) {
  .match-card.is-fixture {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: auto auto;
    align-items: center;
    column-gap: var(--space-4);
    row-gap: var(--space-2);
    height: auto;
  }
  
  .match-card.is-fixture .duel-home {
    grid-area: 1 / 1 / 3 / 2;
    justify-self: start;
  }
  .match-card.is-fixture .duel-away {
    grid-area: 1 / 3 / 3 / 4;
    justify-self: end;
    flex-direction: row-reverse;
    text-align: right;
  }
  
  .match-card.is-fixture .match-card-meta {
    grid-area: 1 / 2 / 2 / 3;
    justify-self: start;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: baseline;
    text-align: start;
    gap: var(--space-3);
  }
  
  .match-card.is-fixture .match-card-time ~ .match-card-venue {
    padding-inline-start: var(--space-3);
    border-inline-start: var(--border) solid var(--color-line);
  }
  .match-card.is-fixture .card-details {
    grid-area: 2 / 2 / 3 / 3;
    justify-self: start;
  }
}

.card-details {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  width: 100%;
  min-height: var(--size-tap);
  padding-block-start: var(--space-3);
  color: inherit;
  font: var(--weight-regular) var(--text-body-lg) / var(--leading-body) var(--font-display);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
  border-block-start: var(--border) solid var(--color-line);
}
@media (min-width: 600px) {
  .card-details {
    justify-content: flex-start;
    width: auto;
    min-height: 0;
    padding-block-start: 0;
    border-block-start: 0;
  }
}

.fixture-chip {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: stretch;
  align-self: flex-end;
  margin-inline-end: var(--space-4);
  margin-block-end: calc(var(--space-2) * -1);
  background: var(--color-success);
  color: var(--color-ground);
  border-radius: var(--radius);
}

.fixture-chip:has(.fixture-chip-state.is-countdown) { background: var(--color-ink); }
.fixture-chip-number {
  padding: var(--space-1) var(--space-3);
  font: var(--weight-regular) var(--text-label) / var(--leading-body) var(--font-display);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
}

.fixture-chip-state {
  padding: var(--space-1) var(--space-3);
  font: var(--weight-regular) var(--text-body-sm) / var(--leading-body) var(--font-body);
  border-inline-start: var(--border) solid var(--color-ground);
}

.fixture-chip-figure { font-weight: var(--weight-medium); }

.fixture-chip-state.is-countdown {
  color: var(--color-green);
  font-family: var(--font-display);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
  font-variant-numeric: tabular-nums;
}
.fixture-chip-state.is-countdown .fixture-chip-figure { color: var(--color-lime); }

.fixtures-empty {
  max-width: var(--measure-prose);
  margin-block-start: var(--space-6);
  color: var(--color-support);
  font: var(--weight-regular) var(--text-body-lg) / var(--leading-body) var(--font-body);
}
.fixtures-empty a {
  color: var(--color-ink);
  text-decoration-thickness: var(--border);
}
@media (hover: hover) {
.fixtures-empty a:hover,
.fixtures-empty a:active { color: var(--color-ink-deep); }
}

.fixtures.is-corners .fixtures-list { gap: var(--space-9); }

.fixtures.is-corners { --corner-overhang: var(--space-5); }

.fixtures.is-corners .fixture-group-date {
  margin-block-end: calc(var(--space-5) + var(--corner-overhang));
}

@media (min-width: 900px) { 
  .fixtures.is-corners .fixture-group-date {
    margin-block-end: calc(var(--space-4) + var(--corner-overhang));
  }
}

.fixtures.is-corners .fixtures-list > li { min-width: 0; }

.fixtures.is-corners .match-card.reveal.is-hidden {
  opacity: 1;
  transform: none;
}
.fixtures.is-corners .match-card.is-fixture {
  
  --corner-bleed: var(--space-2);
  
  --corner-pad: var(--space-2);
  
  --lift-card: 0px;
  
  --corner-height: var(--size-corner);
  display: flex;
  flex-direction: column;
  align-items: center;
  
  gap: var(--space-3);
  height: auto;
  padding-block: var(--space-3);
}

@media (hover: hover) {
.fixtures.is-corners .match-card.is-fixture:hover,
.fixtures.is-corners .match-card.is-fixture:active {
  background: var(--color-strip);
  color: var(--color-ground);
}
.fixtures.is-corners .match-card.is-fixture:hover .match-card-meta,
.fixtures.is-corners .match-card.is-fixture:active .match-card-meta,
.fixtures.is-corners .match-card.is-fixture:hover .match-card-time,
.fixtures.is-corners .match-card.is-fixture:active .match-card-time,
.fixtures.is-corners .match-card.is-fixture:hover .match-card-tz,
.fixtures.is-corners .match-card.is-fixture:active .match-card-tz { color: var(--color-ground); }
.fixtures.is-corners .match-card.is-fixture:hover .match-card-time ~ .match-card-venue,
.fixtures.is-corners .match-card.is-fixture:active .match-card-time ~ .match-card-venue { border-inline-start-color: var(--color-line-on-ink); }
.fixtures.is-corners .match-card.is-fixture:hover .card-details,
.fixtures.is-corners .match-card.is-fixture:active .card-details { border-block-start-color: var(--color-line-on-ink); }
}
@media (min-width: 600px) {
  .fixtures.is-corners .match-card.is-fixture {
    --corner-bleed: var(--space-4);
    --corner-pad: var(--space-5);
  }
}
@media (min-width: 900px) {
  .fixtures.is-corners .match-card.is-fixture { --corner-bleed: var(--space-5); }
}

.fixtures.is-corners .fixture-corners {
  display: flex;
  align-self: stretch;
  align-items: flex-start;
  justify-content: space-between;
  margin-inline: calc(-1 * (var(--space-3) + var(--corner-bleed)));
  margin-block-start: calc(-1 * (var(--space-3) + var(--corner-overhang)));
}

.fixtures.is-corners .fixture-corners .duel-side {
  flex: 0 0 40%;
  width: auto;
  max-width: none;
  min-width: 0;
  justify-content: center;
  margin: 0;
  padding: var(--space-2) var(--corner-pad);
  background: var(--color-lime);
  color: var(--color-ink);
  filter: drop-shadow(var(--shadow-mark));
  
  block-size: var(--corner-height);
}

.fixtures.is-corners .fixture-corners .duel-home {
  transform-origin: left bottom;
}
.fixtures.is-corners .fixture-corners .duel-away {
  align-self: flex-start;
  flex-direction: row;
  text-align: left;
  background: var(--color-green);
  transform-origin: right bottom;
  
  margin-inline-start: auto;
}
@media (min-width: 600px) {
  .fixtures.is-corners .fixture-corners .duel-side { flex-basis: 30%; }
}

.fixtures.is-corners .fixture-corners .duel-side.has-ribbon-art {
  padding: 0;
  background: none;
  block-size: auto;
  
  filter: none;
}
.fixtures.is-corners .fixture-corners .duel-side.has-ribbon-art .ribbon-art {
  display: block;
  width: 100%;
  height: auto;
  
  max-height: var(--space-9);
  object-fit: contain;
}
.fixtures.is-corners .fixture-corners .duel-home.has-ribbon-art .ribbon-art { object-position: left center; }
.fixtures.is-corners .fixture-corners .duel-away.has-ribbon-art .ribbon-art { object-position: right center; }

.fixtures.is-corners .fixture-corners .duel-home.has-ribbon-art .ribbon-art {
  rotate: calc(-1 * var(--art-lean, 0deg));
  transform-origin: left center;
}
.fixtures.is-corners .fixture-corners .duel-away.has-ribbon-art .ribbon-art {
  rotate: calc(-1 * var(--art-lean, 0deg));
  transform-origin: right center;
}

.section-band:has(.fixtures.is-corners) {
  overflow-x: clip;
  overflow-y: visible;
}

.fixtures.is-corners .fixture-corners .duel-name {
  overflow-wrap: normal;
  white-space: nowrap;
  
  font-size: var(--text-body-sm);
}
@media (min-width: 900px) {
  .fixtures.is-corners .fixture-corners .duel-name { font-size: var(--text-subheading); }
}

.fixtures.is-corners .match-card.is-fixture .match-card-meta,
.fixtures.is-corners .match-card.is-fixture .card-details {
  align-self: stretch;
  width: 100%;
  justify-content: center;
  text-align: center;
}

.fixtures.is-corners .fixture-chip {
  align-self: center;
  margin-inline-end: 0;
  margin-block: calc(var(--space-2) * -1) 0;
}

@media (prefers-reduced-motion: no-preference) {
  .fixtures.is-corners .fixture-corners .duel-side {
    transition: translate var(--motion-reveal-fade) var(--ease-settle), rotate var(--motion-reveal-fade) var(--ease-settle);
  }
  @media (hover: hover) {
  .fixtures.is-corners .match-card.is-fixture:not(.is-unflown):hover .duel-home,
  .fixtures.is-corners .match-card.is-fixture:not(.is-unflown):focus-visible .duel-home {
    translate: calc(-1 * var(--space-1)) calc(-1 * var(--space-1));
    rotate: calc(-1 * var(--ribbon-angle) / 2);
  }
  .fixtures.is-corners .match-card.is-fixture:not(.is-unflown):hover .duel-away,
  .fixtures.is-corners .match-card.is-fixture:not(.is-unflown):focus-visible .duel-away {
    translate: var(--space-1) calc(-1 * var(--space-1));
    rotate: calc(var(--ribbon-angle) / 2);
  }
  }
  
  @media (hover: hover) {
  .fixtures.is-corners .match-card.is-fixture:not(.is-unflown):hover .duel-side.has-ribbon-art,
  .fixtures.is-corners .match-card.is-fixture:not(.is-unflown):focus-visible .duel-side.has-ribbon-art {
    rotate: none;
  }
  }
  
  @media (hover: hover) {
  .fixtures.is-corners .match-card.is-fixture:not(.is-unflown):hover .duel-side.has-ribbon-art .ribbon-art,
  .fixtures.is-corners .match-card.is-fixture:not(.is-unflown):focus-visible .duel-side.has-ribbon-art .ribbon-art {
    rotate: none;
  }
  }
  @media (hover: none) {
  .fixtures.is-corners .match-card.is-fixture:not(.is-unflown):active .duel-side.has-ribbon-art .ribbon-art {
    rotate: none;
  }
  }
  .fixtures.is-corners .fixture-corners .duel-side.has-ribbon-art .ribbon-art {
    transition: rotate var(--motion-reveal-fade) var(--ease-settle);
  }
}

@media (prefers-reduced-motion: no-preference) {
  @keyframes derby-corner-fly {
    from { translate: var(--fly-x) var(--fly-y); }
    to { translate: none; }
  }
  .fixtures.is-corners .fixture-corners.is-flying .duel-side {
    animation: derby-corner-fly var(--motion-reveal-rise) var(--ease-pop) both;
  }
  .fixtures.is-corners .fixture-corners.is-flying .duel-home {
    --fly-x: -120%;
    --fly-y: -120%;
  }
  .fixtures.is-corners .fixture-corners.is-flying .duel-away {
    --fly-x: 120%;
    --fly-y: -120%;
  }
  
  @media (min-width: 900px) {
    .fixtures.is-corners .fixture-corners.is-flying .duel-home {
      --fly-x: -60%;
      --fly-y: -60%;
    }
    .fixtures.is-corners .fixture-corners.is-flying .duel-away {
      --fly-x: 60%;
      --fly-y: -60%;
    }
  }
}

.section-band.page-head { padding-top: var(--space-5); padding-bottom: var(--space-5); }
@media (min-width: 600px) { .section-band.page-head { padding-top: var(--space-6); padding-bottom: var(--space-6); } } 
@media (min-width: 900px) { .section-band.page-head { padding-top: var(--space-7); padding-bottom: var(--space-7); } } 

.page-head + .section-band { padding-top: 0; }
.page-head-panel {
  display: inline-flex;
  flex-direction: column;
  gap: var(--space-2);
}
.page-head-panel .page-title { margin: 0; }

.page-head-panel > .page-title:first-child { margin-block-start: calc(-1 * var(--trim-heading)); }

.page-head-kicker {
  margin: 0;
  color: var(--color-ink);
  font: var(--weight-medium) var(--text-label) / var(--leading-body) var(--font-body);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
}

.page-head-standfirst {
  max-width: var(--measure-prose);
  margin: 0;
  color: var(--color-ink);
  font: var(--weight-regular) var(--text-intro) / var(--leading-body) var(--font-body);
}
.page-head-meta {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  margin: 0;
  color: var(--color-support);
  font: var(--weight-regular) var(--text-body-sm) / var(--leading-body) var(--font-body);
}

.partner-block { text-align: center; }

.partner-block-link {
  display: grid;
  gap: var(--space-6);   
  min-height: var(--size-tap);
  color: var(--color-ink);
  text-decoration: none;
  transition: color var(--motion-hover) var(--ease-settle);
}

.partner-block-text {
  display: grid;
  align-content: start;
  gap: var(--space-5);
  max-width: var(--measure-prose);
  margin-inline: auto;
}

.partner-block-kicker {
  color: var(--color-ink);
  font: var(--weight-medium) var(--text-label) / var(--leading-body) var(--font-body);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
}
.partner-block-name {
  margin: 0;
  color: var(--color-ink);
  font: var(--weight-regular) var(--text-subheading) / var(--leading-snug) var(--font-display);
  text-transform: uppercase;
}

.partner-block-name-mark {
  display: inline-flex;
  justify-self: center;
}
.partner-block-name-mark img {
  height: var(--size-partner-mark-page);
  width: auto;
  max-width: 100%;
  object-fit: contain;
}
.partner-block-description {
  margin: 0;
  color: var(--color-ink);
  font: var(--weight-regular) var(--text-body-lg) / var(--leading-body) var(--font-body);
}

.partner-block-text .card-details {
  justify-content: center;
  padding-block-start: 0;
  border-block-start: 0;
}
@media (hover: hover) {
a.partner-block-link:hover,
a.partner-block-link:active { color: var(--color-ink-deep); }
}

.partner-block-frame {
  display: flex;
  align-items: center;
  justify-content: center;
}

.partner-tile-link .partner-block-frame {
  padding: var(--space-4);
  background: var(--color-ground);
  border: var(--border) solid var(--color-line);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-raised);
}
.partner-block-frame img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.partner-tile-link .partner-block-frame img { aspect-ratio: var(--ratio-tile); }
.partner-block-mark {
  font: var(--weight-regular) var(--text-subheading) / var(--leading-snug) var(--font-display);
  text-align: center;
  text-transform: uppercase;
}

.partner-tier-heading {
  margin-block: var(--space-5) var(--space-4);
  color: var(--color-ink);
  font: var(--weight-regular) var(--text-subheading) / var(--leading-snug) var(--font-display);
  text-transform: uppercase;
}

.partner-tiles + .partner-tier-heading {
  margin-block-start: var(--space-7);
}
.partner-tiles {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-4);
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (min-width: 900px) {
  .partner-tiles {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.partner-tile-link {
  display: block;
  min-height: var(--size-tap);
}

.partners-empty {
  max-width: var(--measure-prose);
  color: var(--color-support);
  font: var(--weight-regular) var(--text-body-lg) / var(--leading-body) var(--font-body);
}

@media (prefers-reduced-motion: reduce) {
  .partner-block-link { transition: none; }
}

.to-top {
  position: fixed;
  right: var(--space-4);
  bottom: var(--space-4);
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--size-to-top);
  height: var(--size-to-top);
  border-radius: var(--radius-button);
  background: var(--color-green);
  color: var(--color-ink);
  box-shadow: var(--shadow-floating);
  opacity: 0;
  visibility: hidden;
}
.to-top svg {
  width: var(--space-5);
  height: var(--space-5);
  fill: none;
  stroke: currentColor;
  stroke-width: calc(var(--border) * 2);
  stroke-linecap: round;
  stroke-linejoin: round;
}
.to-top.is-shown,
.no-js .to-top { opacity: 1; visibility: visible; }
@media (min-width: 900px) {
  .to-top { right: var(--space-5); bottom: var(--space-5); }
}
@media (prefers-reduced-motion: no-preference) {
  .to-top { transition: opacity var(--motion-hover) var(--ease-settle), visibility var(--motion-hover) var(--ease-settle); }
}

@media (prefers-reduced-motion: no-preference) {
  
  .match-card { transition: color var(--motion-hover) var(--ease-settle), transform var(--motion-pop-card) var(--ease-pop); }
  .gallery-tile,
  .video-facade,
  .gallery-tile img,
  .video-poster-image { transition: transform var(--motion-pop-card) var(--ease-pop); }

  @media (hover: hover) {
  .gallery-tile:hover img,
  .gallery-tile:active img,
  .video-facade:hover .video-poster-image,
  .video-facade:active .video-poster-image { transform: scale(var(--pop-card)); }
  }

  @media (hover: hover) {
  .gallery-tile:hover,
  .gallery-tile:active,
  .video-facade:hover,
  .video-facade:active {
    position: relative;
    z-index: 1;
    transform: translateY(calc(-1 * var(--lift-card)));
  }
  }

  @media (hover: hover) {
  .match-card:hover,
  .match-card:active,
  .news-card-ink:hover,
  .news-card-ink:active {
    position: relative;
    z-index: 1;
    transition: transform var(--motion-pop-card) var(--ease-pop);
    transform: translateY(calc(-1 * var(--lift-card))) scale(var(--pop-card));
  }
  }

  @media (hover: hover) {
  .fixtures-list > li > .match-card:hover,
  .fixtures-list > li > .match-card:active,
  .card-grid > li > .match-card:hover,
  .card-grid > li > .match-card:active,
  .card-grid > li > .news-card-ink:hover,
  .card-grid > li > .news-card-ink:active { transform: translateY(calc(-1 * var(--lift-card))); }
  }

  @media (min-width: 600px) {
    @media (hover: hover) {
    .card-grid > li > .match-card:hover,
    .card-grid > li > .match-card:active,
    .card-grid > li > .news-card-ink:hover,
    .card-grid > li > .news-card-ink:active { transform: translateY(calc(-1 * var(--lift-card))) scale(var(--pop-card)); }
    }
  }
}

@media (prefers-reduced-motion: no-preference) {
  .button-text .icon,
  .card-details .icon { transition: transform var(--motion-hover) var(--ease-settle); }
  @media (hover: hover) {
  .button-text:hover .icon,
  .button-text:active .icon,
  .button-text:focus-visible .icon,
  .match-card:hover .card-details .icon,
  .match-card:active .card-details .icon,
  .partner-block-link:hover .card-details .icon,
  .partner-block-link:active .card-details .icon { transform: translateX(var(--slide-arrow)); }
  }
}

@media (prefers-reduced-motion: no-preference) {
  @keyframes derby-drift {
    from { transform: scale(1); }
    to { transform: scale(var(--drift-scale)); }
  }
  .hero-photo {
    animation: derby-drift var(--motion-drift) var(--ease-drift) infinite alternate;
    transform-origin: var(--drift-origin);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .reveal.is-hidden {
    opacity: 0;
    transform: translateY(var(--reveal-rise)) rotate(calc(var(--reveal-flip, 1) * var(--reveal-tilt))) scale(var(--reveal-scale));
    transition: none;
  }
  .reveal.is-shown {
    transition: opacity var(--motion-reveal-fade) var(--ease-settle), transform var(--motion-reveal-rise) var(--ease-rise);
    transition-delay: calc(var(--reveal-index, 0) * var(--motion-stagger));
  }
}
@media print {
  .reveal,
  .reveal.is-hidden {
    opacity: 1 !important;
    transform: none !important;
  }
}

@media (prefers-reduced-motion: no-preference) and (width < 900px) {
  .reveal.is-hidden {
    opacity: 1;
    transform: none;
  }
  .reveal.is-hidden:is(.page-title, .fixture-group-date) {
    opacity: 0;
    transform: translateY(var(--reveal-rise));
  }
  .reveal.is-hidden .section-heading {
    opacity: 0;
    transform: translateY(var(--reveal-rise));
  }
  .reveal.is-shown .section-heading {
    transition: opacity var(--motion-reveal-fade) var(--ease-settle), transform var(--motion-reveal-rise) var(--ease-rise);
  }
}

@media (prefers-reduced-motion: no-preference) and (min-width: 900px) {
  .home-gallery .wp-block-image,
  .gallery-band .wp-block-image { --reveal-tilt: 0deg; }
  .home-gallery .reveal.is-hidden .gallery-tile,
  .gallery-band .reveal.is-hidden .gallery-tile {
    transform: rotate(calc(-1 * var(--reveal-flip, 1) * var(--ribbon-angle)));
    transition: none;
  }
  .home-gallery .reveal.is-shown .gallery-tile,
  .gallery-band .reveal.is-shown .gallery-tile {
    z-index: 1;
    transition: transform var(--motion-reveal-rise) var(--ease-rise);
    transition-delay: calc(var(--reveal-index, 0) * var(--motion-stagger));
  }
}

@media (prefers-reduced-motion: no-preference) and (min-width: 900px) {
  
  .home-gallery .wp-block-gallery > .wp-block-image:is(:nth-child(6n+4), :nth-child(6n+5), :nth-child(6n+6)) { --reveal-flip: -1; }
  
  .gallery-band .wp-block-gallery > .wp-block-image:is(:nth-child(6n+4), :nth-child(6n+5), :nth-child(6n+6)) { --reveal-flip: -1; }
  
  .search .card-grid > li:is(:nth-child(6n+4), :nth-child(6n+5), :nth-child(6n+6)) { --reveal-flip: -1; }
  
  .fixtures-list > li:nth-child(even) { --reveal-flip: -1; }
  
  @media (width < 1200px) {
    .news-grid > li:is(:nth-child(6n+4), :nth-child(6n+5), :nth-child(6n+6)) { --reveal-flip: -1; }
  }
  @media (min-width: 1200px) {
    .news-grid > li:is(:nth-child(8n+5), :nth-child(8n+6), :nth-child(8n+7), :nth-child(8n+8)) { --reveal-flip: -1; }
  }
}

.home-gallery,
.gallery-band {
  overflow-x: clip;
  overflow-y: visible;
}

.section-band.reveal {
  --reveal-tilt: 0deg;
  --reveal-scale: 1;
}

.asset-placeholder {
  display: grid;
  align-content: center;
  gap: var(--space-1);
  margin: 0;
  padding: var(--space-4);
  background: var(--color-ground);
  border: var(--border) dashed var(--color-line);
  border-radius: var(--radius);
  color: var(--color-support);
  font: var(--weight-regular) var(--text-small) / var(--leading-body) var(--font-body);
}
.asset-placeholder p {
  margin: 0;
}
.asset-placeholder-label {
  color: var(--color-ink);
  font: var(--weight-medium) var(--text-body-sm) / var(--leading-snug) var(--font-body);
}
.asset-placeholder-brief {
  padding-top: var(--space-1);
  border-top: var(--border) solid var(--color-line);
}

.partner-block > .asset-placeholder {
  margin-top: var(--space-3);
  aspect-ratio: var(--ratio-banner);
}
.partner-tile > .asset-placeholder {
  margin-top: var(--space-3);
  aspect-ratio: var(--ratio-tile);
}

.news-filter {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: var(--space-3);
  margin-block-end: var(--space-5);
}

.news-filter-field {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  margin: 0;
}
.news-filter-label {
  color: var(--color-support);
  font: var(--weight-medium) var(--text-label) / var(--leading-body) var(--font-body);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
}
.news-filter-select {
  min-height: var(--size-tap);
  padding: var(--space-2) var(--space-3);
  border: var(--border) solid var(--color-line);
  border-radius: var(--radius);
  background: var(--color-ground);
  color: var(--color-ink);
  font: var(--weight-regular) var(--text-body-sm) / var(--leading-body) var(--font-body);
}
.news-empty {
  color: var(--color-support);
  font: var(--weight-regular) var(--text-body-lg) / var(--leading-body) var(--font-body);
}

.news-lead {
  display: grid;
  gap: var(--space-3);
  margin-block-end: var(--space-6);
}

.news-rail {
  display: grid;
  gap: var(--space-3);
  margin: 0;
  padding: 0;
  list-style: none;
}

.news-grid { margin-block-end: var(--space-6); }
.news-page .news-grid { gap: var(--space-3); }
@media (min-width: 1200px) {
  .news-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.news-load-more {
  display: flex;
  justify-content: center;
  margin-block-end: var(--space-2);
}
#news-load-more[aria-disabled="true"] { opacity: var(--opacity-disabled); pointer-events: none; }

#news-load-more[hidden] { display: none; }
.news-load-more-retry {
  display: block;
  margin-block-start: var(--space-2);
  text-align: center;
  color: var(--color-support);
  font: var(--weight-regular) var(--text-body-sm) / var(--leading-body) var(--font-body);
}

.news-card-featured .news-card-body { padding: var(--space-5); gap: var(--space-3); }
.news-card-featured .card-title {
  -webkit-line-clamp: none;
  font-size: var(--text-heading);
}
.card-standfirst {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  color: var(--color-support);
  font: var(--weight-regular) var(--text-body-lg) / var(--leading-body) var(--font-body);
}
.news-card-ink .card-standfirst { color: var(--color-ground); }

.news-page .container.section-band { display: flex; flex-direction: column; }
.news-results { display: contents; }
.news-tag-active { order: 1; }
.news-lead,
.news-empty { order: 2; }
.news-filter { order: 3; }
.news-grid { order: 4; }
.news-load-more { order: 5; }

.news-lead .news-rail .news-rail-item { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }

@media (min-width: 900px) {

  .news-lead {
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    align-items: stretch;
  }
  .news-lead .news-rail { grid-auto-rows: minmax(0, 1fr); }
  
  .news-lead .news-rail > li { display: grid; }
  .news-lead .news-rail .news-rail-item {
    height: 100%;
    align-items: center;
    
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  }
  
  .news-card-featured .news-card-media { flex: 1; min-height: 0; }
  .news-card-featured .news-card-media img { height: 100%; aspect-ratio: auto; }
  
  .news-lead .news-rail .news-rail-media { align-self: stretch; }
  .news-lead .news-rail .news-rail-image { height: auto; aspect-ratio: var(--ratio-card); }
}

.article-media { margin: 0; }
.article-media img {
  width: 100%;
  aspect-ratio: var(--ratio-hero-lg);
  object-fit: cover;
}
.article-video {
  position: relative;
  aspect-ratio: 16 / 9;
  background: var(--color-ink);
}
.article-video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.article-body { max-width: var(--measure-prose); }

.article-layout {
  display: grid;
  gap: var(--space-7);
  align-items: start;
}
@media (min-width: 900px) { 
  .article-layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, var(--measure-rail));
    gap: var(--space-8);
  }
  .article-rail {
    position: sticky;
    
    top: calc(var(--size-header-lg) + var(--space-5));
  }
}

.rail-heading {
  margin: 0 0 var(--space-4);
  font: var(--weight-regular) var(--text-heading) / var(--leading-tight) var(--font-display);
}
.article-share { margin-block-end: var(--space-7); }
.share-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin: 0;
  padding: 0;
  list-style: none;
}

.share-control {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--size-tap);
  height: var(--size-tap);
  padding: 0;
  border: var(--border) solid var(--color-line);
  border-radius: var(--radius-button);
  background: var(--color-ground);
  color: var(--color-ink);
  font: var(--weight-medium) var(--text-body-sm) / var(--leading-body) var(--font-body);
  cursor: pointer;
}
@media (hover: hover) {
.share-control:hover,
.share-control:active {
  border-color: var(--color-ink);
  background: var(--color-ink);
  color: var(--color-ground);
}
}
.share-control .icon {
  width: var(--icon-md);
  height: var(--icon-md);
}

.share-control-copy.is-copied {
  border-color: var(--color-success);
  background: var(--color-success);
  color: var(--color-ground);
}

.no-js .share-control-copy { display: none; }
.share-status {
  margin: var(--space-2) 0 0;
  min-height: var(--text-body-sm);
  color: var(--color-support);
  font-size: var(--text-body-sm);
  line-height: var(--leading-body);
}

.news-rail-list {
  display: grid;
  gap: var(--space-4);
  margin: 0;
  padding: 0;
  list-style: none;
}
.news-rail-item {
  display: grid;
  grid-template-columns: var(--space-9) minmax(0, 1fr);
  gap: var(--space-4);
  align-items: start;
  color: inherit;
  text-decoration: none;
}

@media (hover: hover) {
.news-rail-item:hover .news-rail-title,
.news-rail-item:active .news-rail-title { color: var(--color-ink-deep); }
}

.news-rail-item:not(:has(.news-rail-media)) { grid-template-columns: minmax(0, 1fr); }

.news-rail-media {
  display: block;
  overflow: hidden;
  border-radius: var(--radius-card);
}
.news-rail-image {
  width: 100%;
  aspect-ratio: var(--ratio-card);
  object-fit: cover;
}
.news-rail-body {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}
.news-rail-kicker {
  color: var(--color-support);
  font: var(--weight-medium) var(--text-small) / var(--leading-body) var(--font-body);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
}
.news-rail-title {
  font: var(--weight-regular) var(--text-body-lg) / var(--leading-snug) var(--font-display);
  text-transform: uppercase;
  transition: color var(--motion-hover) var(--ease-settle);
}

.article-tags {
  margin-block-start: var(--space-7);
  padding-block-start: var(--space-5);
  border-top: var(--border) solid var(--color-line);
}
.article-tags-heading {
  margin: 0 0 var(--space-3);
  color: var(--color-support);
  font: var(--weight-medium) var(--text-label) / var(--leading-body) var(--font-body);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
}
.tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin: 0;
  padding: 0;
  list-style: none;
}
.tag-pill {
  display: inline-flex;
  align-items: center;
  min-height: var(--size-tap);
  padding-inline: var(--space-4);
  border: var(--border) solid var(--color-line);
  border-radius: var(--radius-pill);
  color: var(--color-ink);
  font: var(--weight-medium) var(--text-body-sm) / var(--leading-body) var(--font-body);
  text-decoration: none;
  transition: background-color var(--motion-hover) var(--ease-settle), border-color var(--motion-hover) var(--ease-settle), color var(--motion-hover) var(--ease-settle);
}
@media (hover: hover) {
.tag-pill:hover,
.tag-pill:active {
  border-color: var(--color-ink);
  background: var(--color-ink);
  color: var(--color-ground);
}
}

.news-tag-active {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
  margin: 0 0 var(--space-4);
}
.news-tag-active-label {
  color: var(--color-support);
  font: var(--weight-medium) var(--text-label) / var(--leading-body) var(--font-body);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
}
.news-tag-active-name {
  display: inline-flex;
  align-items: center;
  min-height: var(--size-rule);
  padding-inline: var(--space-3);
  border-radius: var(--radius-pill);
  background: var(--color-ink);
  color: var(--color-ground);
  font: var(--weight-medium) var(--text-body-sm) / var(--leading-body) var(--font-body);
}
.news-tag-clear {
  display: inline-flex;
  align-items: center;
  min-height: var(--size-tap);
  color: var(--color-ink);
  font-size: var(--text-body-sm);
  text-decoration: underline;
  text-decoration-thickness: var(--border);
  text-underline-offset: var(--space-1);
  
  border-radius: var(--radius);
}
@media (hover: hover) {
.news-tag-clear:hover,
.news-tag-clear:active { color: var(--color-ink-deep); }
}

@media (prefers-reduced-motion: no-preference) {
  .share-control { transition: background-color var(--motion-hover) var(--ease-settle), border-color var(--motion-hover) var(--ease-settle), color var(--motion-hover) var(--ease-settle); }
  .tag-pill { transition: background-color var(--motion-hover) var(--ease-settle), border-color var(--motion-hover) var(--ease-settle), color var(--motion-hover) var(--ease-settle); }
}
@media (prefers-reduced-motion: reduce) {
  .share-control,
  .tag-pill,
  .news-rail-title { transition: none; }
}

.social-bar {
  display: none;
  
  position: sticky;
  top: 0;
  z-index: 100;
  isolation: isolate;
  min-height: var(--size-social-bar);
  background: var(--color-strip);
  color: var(--color-ink);
}
.social-bar > .container {
  display: flex;
  align-items: center;
}
.social-links {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}
.social-links-header {
  margin-inline-start: auto;
  
  gap: calc(2 * var(--space-3) + var(--space-4) - (var(--space-5) - var(--icon-sm)));
  
  margin-inline-end: calc((var(--size-tap) - var(--space-5)) / 2);
}
@media (min-width: 1200px) { 
  
  .social-links-header { gap: calc(2 * var(--space-3) + var(--space-5) - (var(--space-5) - var(--icon-sm))); }
}
.social-links-footer {
  flex-wrap: wrap;
  gap: var(--space-2);
  
  margin-inline-start: calc((var(--size-tap) - var(--icon-sm)) / -2);
}
.social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--size-tap);
  height: var(--size-tap);
  
  color: var(--color-muted-on-ink);
}
@media (hover: hover) {
.social-link:hover,
.social-link:focus-visible { color: var(--color-ground); }
}

.social-link .icon {
  width: var(--icon-sm);
  height: var(--icon-sm);
}

.social-links-header > li { display: flex; }
.social-links-header .social-link {
  width: var(--space-5);
  height: var(--space-5);
  color: var(--color-ground);
  
  --beat-turn: var(--tilt-mark);
}
.social-links-header > li:nth-child(even) .social-link { --beat-turn: calc(-1 * var(--tilt-mark)); }

@media (hover: hover) {
.social-links-header a.social-link:hover,
.social-links-header a.social-link:focus-visible { color: var(--color-ink); }
}

.footer-col.footer-social { display: none; }

html { --shell-pin: 0px; }
@media (min-width: 900px) {
  .social-bar { display: flex; }
  .footer-col.footer-social { display: none; }
  html:has(.social-bar) { --shell-pin: var(--size-social-bar); }
  .site-header { top: var(--shell-pin); }
  
  body.admin-bar .social-bar { top: var(--offset-admin-bar-lg); }
  body.admin-bar .site-header { top: calc(var(--offset-admin-bar-lg) + var(--shell-pin)); }
  html { scroll-padding-top: calc(var(--size-header-lg) + var(--shell-pin) + var(--space-4)); }
  .site-header,
  .site-header *,
  .social-bar,
  .social-bar * { scroll-margin-top: calc(-1 * (var(--size-header-lg) + var(--shell-pin) + var(--space-4))); }
  .article-rail { top: calc(var(--size-header-lg) + var(--shell-pin) + var(--space-5)); }
}

@media (prefers-reduced-motion: no-preference) {
  .social-link { transition: color var(--motion-hover) var(--ease-settle); }
  
  @keyframes derby-social-beat {
    50% { transform: scale(var(--pop-mark)) rotate(var(--beat-turn)); }
  }
  @media (hover: hover) {
  .social-links-header a.social-link:hover { animation: derby-social-beat var(--motion-hover) var(--ease-settle); }
  }
}

.search-toggle {
  
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  min-height: var(--size-tap);
  min-width: var(--size-tap);
  padding: 0;
  border: 0;
  cursor: pointer;
  background: none;
  color: var(--color-ink);
  border-radius: var(--radius-button);
  transition: color var(--motion-hover) var(--ease-settle);
}
.search-toggle svg { width: var(--space-5); height: var(--space-5); }
@media (hover: hover) {
.search-toggle:hover,
.search-toggle:active { color: var(--color-ink-deep); }
}

.search-toggle .icon-close { display: none; }
.search-toggle[aria-expanded="true"] .icon-search { display: none; }
.search-toggle[aria-expanded="true"] .icon-close { display: block; }
.header-search {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  width: 100%;
  
  position: relative;
}
.header-search input[type="search"] {
  flex: 1 1 auto;
  min-width: 0;
  min-height: var(--size-tap);
  padding-inline: var(--space-3);
  
  padding-inline-end: var(--size-tap);
  border: var(--border) solid var(--color-ink);
  border-radius: var(--radius);
  background: var(--color-ground);
  color: var(--color-ink);
  font: var(--weight-regular) var(--text-body-lg) / var(--leading-body) var(--font-body);
}

.header-search input[type="search"]:focus {
  outline: none;
  box-shadow: none;
  border-color: var(--color-strip);
  
  border-width: var(--border-lg);
}

@media (forced-colors: active) {
  .header-search input[type="search"]:focus {
    outline: revert;
  }
}

@media (forced-colors: active) {
  .button-primary,
  .button-secondary {
    border: var(--border) solid;
  }
}

.header-search button[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  min-height: var(--size-tap);
  min-width: var(--size-tap);
  padding: 0;
  border: 0;
  cursor: pointer;
  background: none;
  color: var(--color-ink);
  border-radius: var(--radius-button);
  transition: color var(--motion-hover) var(--ease-settle);
}
.header-search button[type="submit"] svg { width: var(--space-5); height: var(--space-5); }
@media (hover: hover) {
.header-search button[type="submit"]:hover,
.header-search button[type="submit"]:active { color: var(--color-ink-deep); }
}

@media (min-width: 900px) {
  .js .site-header .header-search {
    position: fixed;
    inset: 0;
    z-index: 102;
    display: grid;
    grid-template-columns: min(100%, var(--size-search-open));
    justify-content: center;
    align-content: center;
    padding: var(--space-6) var(--container-pad);
    background: var(--gradient-scrim);
    opacity: 0;
    visibility: hidden;
  }
  .js .site-header.is-searching .header-search {
    opacity: 1;
    visibility: visible;
  }
  
  .js .site-header .header-search input[type="search"],
  .js .site-header .header-search button[type="submit"] {
    grid-column: 1;
    grid-row: 1;
  }
  
  .js .site-header .header-search :where(input[type="search"]) {
    padding: var(--space-4) 0;
    padding-inline-end: var(--space-7);
    border: 0;
    border-bottom: var(--border-lg) solid var(--color-line-on-ink);
    background: none;
    color: var(--color-ground);
    font-size: var(--text-display-2);
    line-height: var(--leading-tight);
  }
  
  .js .site-header .header-search input[type="search"]::-webkit-search-cancel-button { display: none; }
  .js .site-header .header-search button[type="submit"] {
    position: static;
    transform: none;
    justify-self: end;
    align-self: center;
    min-width: var(--size-search-submit);
    min-height: var(--size-search-submit);
    color: var(--color-ground);
  }
  .js .site-header .header-search button[type="submit"] svg {
    width: var(--icon-lg);
    height: var(--icon-lg);
  }
  
  @media (hover: hover) {
  .js .site-header .header-search button[type="submit"]:hover,
  .js .site-header .header-search button[type="submit"]:active { color: var(--color-cyan); }
  }
  .site-header.is-searching .site-nav {
    opacity: 0;
    visibility: hidden;
  }
  
  .js .site-header.is-searching .header-actions {
    position: relative;
    z-index: 103;
  }
  .js .site-header.is-searching .search-toggle { color: var(--color-ground); }
  @media (hover: hover) {
  .js .site-header.is-searching .search-toggle:hover,
  .js .site-header.is-searching .search-toggle:active { color: var(--color-cyan); }
  }
  
  .no-js .site-header .search-toggle { display: none; }
  .no-js .site-header .header-search {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: stretch;
    width: 100%;
    overflow: visible;
    visibility: visible;
    margin-bottom: var(--space-4);
  }
}

@media (prefers-reduced-motion: no-preference) and (min-width: 900px) {
  .js .site-header .header-search { transition: opacity var(--motion-hover) var(--ease-settle), visibility 0s linear var(--motion-hover); }
  .js .site-header.is-searching .header-search { transition-delay: 0s, 0s; }
  .site-header .site-nav { transition: opacity var(--motion-hover) var(--ease-settle); }
}

.school-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-4);
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (min-width: 600px) { .school-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 900px) { .school-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.school-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-3);
  height: 100%;
  padding: var(--space-5) var(--space-4);
  background: var(--color-ground);
  color: var(--color-ink);
  text-align: center;
  text-decoration: none;
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-raised);
  transition: color var(--motion-hover) var(--ease-settle);
}

@media (hover: hover) {
.school-tile:hover,
.school-tile:active {
  background: var(--color-ink);
  color: var(--color-ground);
  transition: none;
}
.school-tile:hover .crest-chip,
.school-tile:active .crest-chip { border-color: var(--color-line-on-ink); }
}

@media (prefers-reduced-motion: no-preference) {
  a.school-tile { transition: color var(--motion-hover) var(--ease-settle), transform var(--motion-pop-card) var(--ease-pop); }
  @media (hover: hover) {
  a.school-tile:hover,
  a.school-tile:active {
    position: relative;
    z-index: 1;
    transition: transform var(--motion-pop-card) var(--ease-pop);
    transform: translateY(calc(-1 * var(--lift-card)));
  }
  }
  @media (min-width: 900px) {
    @media (hover: hover) {
    a.school-tile:hover,
    a.school-tile:active { transform: translateY(calc(-1 * var(--lift-card))) scale(var(--pop-tile)); }
    }
  }
}
.school-tile-name {
  font: var(--weight-regular) var(--text-body-lg) / var(--leading-snug) var(--font-display);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
}
.schools-empty,
.school-matches-empty {
  margin: 0;
  max-width: var(--measure-prose);
}

.page-head-crest {
  align-self: start;
  margin-bottom: var(--space-4);
}
.school-facts {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-5) var(--space-7);
  margin: 0;
}
.school-facts dt {
  margin-bottom: var(--space-1);
  color: var(--color-support);
  font: var(--weight-regular) var(--text-body-sm) / var(--leading-body) var(--font-display);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
}
.school-facts dd { margin: 0; }

.search-pages {
  list-style: none;
  margin: 0;
  padding: 0;
}
.search-pages li + li { margin-top: var(--space-3); }
.search-pages a {
  display: inline-flex;
  align-items: center;
  min-height: var(--size-tap);
  color: var(--color-ink);
  text-decoration: underline;
  text-decoration-thickness: var(--border);
  text-underline-offset: var(--space-1);
  border-radius: var(--radius);
  transition: color var(--motion-hover) var(--ease-settle);
}
@media (hover: hover) {
.search-pages a:hover,
.search-pages a:active { color: var(--color-ink-deep); }
}
.search-empty .button-text { margin-right: var(--space-5); }

.select-field {
  position: relative;
  display: block;
  min-width: calc(var(--space-9) * 2);
}

.select-field .select-native {
  position: absolute;
  width: var(--border);
  height: var(--border);
  min-height: 0;
  margin: calc(-1 * var(--border));
  padding: 0;
  border: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.select-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  width: 100%;
  min-height: var(--size-tap);
  padding: var(--space-4);
  cursor: pointer;
  text-align: start;
  color: var(--color-ink);
  background: var(--color-ground);
  border: var(--border) solid var(--color-line);
  border-radius: var(--radius-button);
  font: var(--weight-regular) var(--text-subheading) / var(--leading-tight) var(--font-display);
  transition: border-color var(--motion-hover) var(--ease-settle);
}
@media (hover: hover) {
.select-toggle:hover,
.select-toggle[aria-expanded="true"] { border-color: var(--color-ink); }
}
.select-value {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.select-chevron {
  flex: none;
  width: var(--space-5);
  height: var(--space-5);
}

@media (prefers-reduced-motion: no-preference) {
  .select-chevron { transition: transform var(--motion-hover) var(--ease-settle); }
}

.select-toggle[aria-expanded="true"] .select-chevron { transform: scaleY(-1); }

.select-list {
  position: absolute;
  z-index: 3;
  inset-inline: 0;
  top: calc(100% + var(--space-2));
  max-height: calc(var(--space-9) * 3);
  overflow-y: auto;
  margin: 0;
  padding: var(--space-2);
  list-style: none;
  background: var(--color-ground);
  border: var(--border) solid var(--color-line);
  border-radius: var(--radius-button);
  box-shadow: var(--shadow-raised);
}
.select-option {
  padding: var(--space-4);
  cursor: pointer;
  color: var(--color-ink);
  border-radius: var(--radius-button);
  font: var(--weight-regular) var(--text-subheading) / var(--leading-tight) var(--font-display);
}

.select-option.is-active {
  background: var(--color-ink);
  color: var(--color-ground);
}

.select-option[aria-selected="true"] {
  box-shadow: inset var(--space-1) 0 0 0 var(--color-cyan);
}
@media (prefers-reduced-motion: reduce) {
  .select-toggle,
  .select-chevron { transition: none; }
}

.squad { min-width: 0; }
.squad h3 {
  margin: 0 0 var(--space-3);
  color: var(--color-ink);
  font: var(--weight-regular) var(--text-subheading) / var(--leading-snug) var(--font-display);
  text-transform: uppercase;
  overflow-wrap: anywhere;
}
.squad-list {
  list-style: none;
  margin: 0;
  padding: 0;
  color: var(--color-ink);
  font: var(--weight-regular) var(--text-body-lg) / var(--leading-body) var(--font-body);
}
.squad-list li {
  padding-block: var(--space-2);
  border-bottom: var(--border) solid var(--color-line);
  
  overflow-wrap: anywhere;
}
.squad-role {
  margin-left: var(--space-1);
  color: var(--color-support);
}

.section-band:has( + .partners ) { padding-bottom: 0; }
.section-band + .partners { padding-top: var(--space-6); }
@media (min-width: 900px) { .section-band + .partners { padding-top: var(--space-7); } } 

@media (prefers-reduced-motion: no-preference) {
  @keyframes derby-page-out {
    to { transform: translateY(calc(-1 * var(--reveal-rise) / 3)); opacity: 0; }
  }
  @keyframes derby-page-in {
    from { transform: translateY(calc(var(--reveal-rise) / 3)); opacity: 0; }
  }
  ::view-transition-old(root) { animation: derby-page-out var(--motion-page-transition) var(--ease-settle) both; }
  ::view-transition-new(root) { animation: derby-page-in var(--motion-page-transition) var(--ease-settle) both; }
}
@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root),
  ::view-transition-new(root) { animation: none; }
}

.site-header { view-transition-name: site-header; }

.social-bar { view-transition-name: social-bar; }
#wpadminbar { view-transition-name: wp-admin-bar; }

html { scrollbar-gutter: stable; }

.accordion {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  max-width: var(--measure-prose);
}
.accordion-item {
  position: relative;
  background: var(--color-ground);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-raised);
}

.accordion-item[open] {
  z-index: 3;
}

.accordion-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  min-height: var(--size-tap);
  padding: var(--space-3) var(--space-4);
  color: var(--color-ink);
  cursor: pointer;
  list-style: none;
}
.accordion-summary::-webkit-details-marker { display: none; }

.accordion-summary :is(h2, h3) {
  margin: 0;
  font: var(--weight-medium) var(--text-body-lg) / var(--leading-body) var(--font-body);
}
.accordion-summary svg {
  flex: none;
  width: var(--icon-md);
  height: var(--icon-md);
}

@media (prefers-reduced-motion: no-preference) {
  .accordion-summary svg { transition: transform var(--motion-hover) var(--ease-settle); }
  .accordion-item[open] .accordion-summary svg { transform: rotate(180deg); }
  .accordion-body {
    transition:
      opacity var(--motion-hover) var(--ease-settle),
      transform var(--motion-hover) var(--ease-settle);
  }
  .accordion-item:not([open]) .accordion-body {
    opacity: 0;
    transform: translateY(calc(var(--space-2) * -1));
  }
  .accordion-item::details-content {
    transition: content-visibility var(--motion-hover) allow-discrete;
  }
  @starting-style {
    .accordion-item[open] .accordion-body {
      opacity: 0;
      transform: translateY(calc(var(--space-2) * -1));
    }
  }
}

.accordion-body {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--color-ground);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-raised);
  padding: 0 var(--space-4) var(--space-4);
  color: var(--color-ink);
  font: var(--weight-regular) var(--text-body-lg) / var(--leading-body) var(--font-body);
}
.accordion-body > * { margin-block: 0 var(--space-3); }
.accordion-body > :last-child { margin-bottom: 0; }
.accordion-body a {
  color: var(--color-ink);
  text-decoration: underline;
  text-decoration-thickness: var(--border);
  text-underline-offset: var(--space-1);
  transition: color var(--motion-hover) var(--ease-settle);
}
@media (hover: hover) {
.accordion-body a:hover,
.accordion-body a:active { color: var(--color-ink-deep); }
}
.accordion-body ul,
.accordion-body ol { padding-left: var(--space-5); }
.accordion-body li + li { margin-top: var(--space-2); }
@media (prefers-reduced-motion: reduce) {
  .accordion-body a { transition: none; }
}

@media (min-width: 900px) { 
  .accordion-summary { padding: var(--space-5); }
  .accordion-summary :is(h2, h3) { font-size: var(--text-intro); }
  .accordion-body { padding: 0 var(--space-5) var(--space-5); }
}

@media (width < 600px) {
  .accordion-item[open] {
    z-index: auto;
  }
  .accordion-body {
    position: static;
    background: none;
    box-shadow: none;
    border-radius: 0;
  }
}

.faq-intro,
.contact-intro { margin-bottom: var(--space-5); }

.contact-routes {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  max-width: var(--measure-prose);
}
.contact-route {
  padding: var(--space-4);
  background: var(--color-ground);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-raised);
}
.contact-route h2 {
  margin: 0 0 var(--space-2);
  color: var(--color-ink);
  font: var(--weight-regular) var(--text-subheading) / var(--leading-snug) var(--font-display);
  text-transform: uppercase;
}
.contact-route-guide {
  margin: 0;
  color: var(--color-support);
  font: var(--weight-regular) var(--text-body-lg) / var(--leading-body) var(--font-body);
}
.contact-route-value {
  margin: var(--space-3) 0 0;
  color: var(--color-ink);
  font: var(--weight-regular) var(--text-body-lg) / var(--leading-body) var(--font-body);
}
.contact-route-value + .contact-route-value { margin-top: var(--space-2); }
.contact-route-value a {
  color: var(--color-ink);
  text-decoration: underline;
  text-decoration-thickness: var(--border);
  text-underline-offset: var(--space-1);
  transition: color var(--motion-hover) var(--ease-settle);
}
@media (hover: hover) {
.contact-route-value a:hover,
.contact-route-value a:active { color: var(--color-ink-deep); }
}
@media (prefers-reduced-motion: reduce) {
  .contact-route-value a { transition: none; }
}

.faq-empty,
.contact-empty {
  max-width: var(--measure-prose);
  margin: 0;
  color: var(--color-support);
  font: var(--weight-regular) var(--text-body-lg) / var(--leading-body) var(--font-body);
}

.faq-column .faq-intro,
.faq-column .accordion,
.faq-column .faq-empty { margin-inline: auto; }

.school-partners .section-heading { margin-bottom: var(--space-6); }   

.school-partners .crest-chip { border: 0; }

@media (hover: hover) {
span.school-tile:hover,
span.school-tile:active {
  background: var(--color-ground);
  color: var(--color-ink);
}
span.school-tile:hover .crest-chip,
span.school-tile:active .crest-chip { border-color: var(--color-line); }
}

@media (prefers-reduced-motion: reduce) {
  .school-tile { transition: none; }
}

.school-marquee-row {
  position: relative;
  overflow: clip;
  padding-block: var(--space-5);
}
.school-marquee-inner {
  display: flex;
  width: max-content;
}

.school-marquee-track {
  display: flex;
  flex: none;
  list-style: none;
  margin: 0;
  padding: 0;
}

.school-marquee-track > li {
  display: flex;
  flex: none;
  width: var(--size-school-tile);
  padding-inline: var(--space-5);
}

.school-marquee-track > li + li,
.school-marquee-copy > li:first-child { border-inline-start: var(--border) solid var(--color-line); }

.school-marquee .school-tile {
  width: 100%;
  padding-inline: 0;
  background: none;
  box-shadow: none;
}

@media (hover: hover) {
.school-marquee .school-tile:hover,
.school-marquee .school-tile:active {
  background: none;
  color: var(--color-ink);
}
}

.school-marquee .crest-chip { background: none; }

@media (prefers-reduced-motion: no-preference) {
  @keyframes derby-school-marquee {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
  }
  .school-marquee-inner { animation: derby-school-marquee var(--motion-marquee-schools) linear infinite; }
  
  .school-marquee-row-back .school-marquee-inner { animation-direction: reverse; }
  
  @media (hover: hover) {
  .school-marquee:hover .school-marquee-inner,
  .school-marquee:focus-within .school-marquee-inner { animation-play-state: paused; }
  }
  .school-marquee-row:focus-within { overflow: auto hidden; }
}

@media (prefers-reduced-motion: reduce) {
  .school-marquee-row { overflow: auto hidden; }
  .school-marquee-copy { display: none; }
}

.gallery-tile {
  display: block;
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  color: inherit;
  cursor: pointer;
  
  overflow: hidden;
}

.gallery-overlay[hidden] { display: none; }
.gallery-overlay {
  position: fixed;
  inset: 0;
  z-index: 103;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--container-pad);
  background: var(--gradient-scrim);
}

.gallery-overlay .gallery-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-end;
  flex: 0 0 auto;
  min-height: var(--size-tap);
  min-width: var(--size-tap);
  padding: 0;
  border: 0;
  cursor: pointer;
  background: none;
  color: var(--color-ground);
  border-radius: var(--radius-button);
}
.gallery-overlay .gallery-close svg { width: var(--space-5); height: var(--space-5); }
@media (hover: hover) {
.gallery-overlay .gallery-close:hover { color: var(--color-muted-on-ink); }
}

.gallery-overlay .gallery-frame {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-4);
}
.gallery-overlay .gallery-full {
  min-height: 0;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}

.gallery-overlay .gallery-caption {
  flex: 0 0 auto;
  margin: 0;
  max-width: var(--measure-prose);
  text-align: center;
  color: var(--color-ground);
  font: var(--weight-regular) var(--text-body-sm) / var(--leading-body) var(--font-body);
}
@media (min-width: 900px) { .gallery-overlay .gallery-caption { font-size: var(--text-body-lg); } }
.gallery-overlay .gallery-caption[hidden] { display: none; }

body.has-overlay { overflow: hidden; }

@media (prefers-reduced-motion: no-preference) {
  .gallery-overlay { animation: gallery-fade var(--motion-hover) var(--ease-settle); }
  @keyframes gallery-fade {
    from { opacity: 0; }
    to { opacity: 1; }
  }
}

.match-countdown[data-clock] {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: center;
  column-gap: var(--space-2);
  row-gap: var(--space-1);
  font-variant-numeric: tabular-nums;
}
.match-countdown[data-clock] > * { white-space: nowrap; }
.match-countdown[data-clock] .countdown-digit {
  display: inline-block;
  width: var(--size-figure-digit);
  font-style: normal;
  text-align: center;
}

.partner-strip {
  background: var(--color-ink);
  color: var(--color-ground);
  border-bottom: var(--border) solid var(--color-line-on-ink);
}
.partner-strip > .container {
  display: grid;
  justify-items: center;
  gap: var(--space-5);
  padding-block: var(--space-7) var(--space-6);
}

.partner-strip-link {
  display: grid;
  justify-items: center;
  justify-self: stretch;
  gap: var(--space-2);
  color: var(--color-ground);
  text-align: center;
  text-decoration: none;
  transition: color var(--motion-hover) var(--ease-settle);
}

.partner-strip-kicker {
  font: var(--weight-medium) var(--text-label) / var(--leading-body) var(--font-body);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
  color: var(--color-muted-on-ink);
}
.partner-strip-link img {
  height: var(--size-partner-mark);
  width: auto;
  max-width: 100%;
  object-fit: contain;
}

.partner-strip-name {
  display: flex;
  align-items: center;
  min-height: var(--size-partner-mark);
  font: var(--weight-regular) var(--text-subheading) / var(--leading-snug) var(--font-display);
  text-transform: uppercase;
}
@media (hover: hover) {
a.partner-strip-link:hover,
a.partner-strip-link:active { color: var(--color-muted-on-ink); }
}

@media (prefers-reduced-motion: reduce) {
  .partner-strip-link { transition: none; }
}

@media (prefers-reduced-motion: no-preference) {
  .partner-strip-link img,
  .partner-strip-name { transition: transform var(--motion-pop-card) var(--ease-pop); }
  @media (hover: hover) {
  a.partner-strip-link:hover img,
  a.partner-strip-link:active img,
  a.partner-strip-link:hover .partner-strip-name,
  a.partner-strip-link:active .partner-strip-name { transform: translateY(calc(-1 * var(--lift-card))); }
  }
}

.page-loader {
  --loader-head: 0px;
  --loader-foot: 0px;
  position: fixed;
  inset-inline: 0;
  top: var(--loader-head);
  bottom: var(--loader-foot);
  display: grid;
  place-items: center;
  background: var(--color-ground);
  z-index: 99;
  opacity: 0;
  visibility: hidden;
}
@media (prefers-reduced-motion: no-preference) {
  
  .page-loader {
    transition: opacity var(--motion-loader-fade) var(--ease-settle), visibility var(--motion-loader-fade) var(--ease-settle);
  }
  
  .page-loader.is-shown {
    opacity: 1;
    visibility: visible;
  }
}

.page-loader-ball {
  width: var(--size-loader-ball);
  height: var(--size-loader-ball);
}

.consent-bar {
  position: fixed;
  inset-inline: 0;
  bottom: 0;
  z-index: 10;
  isolation: isolate;
  display: block;
  color: var(--color-ink);
}
.consent-bar[hidden] { display: none; }
.no-js .consent-bar,
.no-js .consent-settings { display: none; }
.consent-bar::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--color-ground);
  box-shadow: var(--shadow-raised);
  transform: scaleY(-1);
}

.consent-inner {
  display: grid;
  gap: var(--space-3) var(--space-5);
  align-items: center;
  padding-block: var(--space-3);
}

.consent-text {
  display: grid;
  justify-items: start;
  gap: var(--space-1);
}

.consent-lead {
  margin: 0;
  font: var(--weight-regular) var(--text-body-lg) / var(--leading-body) var(--font-display);
  text-transform: uppercase;
  letter-spacing: var(--tracking-label);
  color: var(--color-ink);
}
.consent-body {
  margin: 0;
  font-size: var(--text-body-sm);
  line-height: var(--leading-body);
  color: var(--color-support);
}
.consent-policy {
  font-size: var(--text-body-sm);
  line-height: var(--leading-body);
  color: var(--color-ink);
}
@media (hover: hover) {
.consent-policy:hover { color: var(--color-ink-deep); }
}

.consent-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-2);
}
.consent-actions .button-primary { justify-content: center; }
@media (min-width: 600px) {
  .consent-inner { grid-template-columns: 1fr auto; }
}

body.has-consent-bar { padding-bottom: var(--consent-bar-height, 0px); }
body.has-consent-bar .to-top { bottom: calc(var(--space-4) + var(--consent-bar-height, 0px)); }
@media (min-width: 900px) {
  body.has-consent-bar .to-top { bottom: calc(var(--space-5) + var(--consent-bar-height, 0px)); }
}

.consent-settings {
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  color: inherit;
  text-decoration: underline;
  cursor: pointer;
}
@media (hover: hover) {
.consent-settings:hover { color: var(--color-ground); }
}

@media (forced-colors: active) {
  .consent-bar { border-top: var(--border) solid; }
}

@media print {
  .consent-bar,
  .consent-settings { display: none; }
}

body {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}
body > main { flex: 1 0 auto; }
