/*
 * SPDX-FileCopyrightText: 2026 SV Haslach i.K. 1911 e.V.
 * SPDX-License-Identifier: LicenseRef-SVH-Proprietary
Theme Name: SV Haslach App Theme
Theme URI: https://svhaslach.de
Author: SV Haslach i.K. 1911 e.V.
Description: WordPress-Theme für die neue SVH-Webseite mit App-API, News, Terminen, Abteilungen, Sponsoren, Ballspenden und SVH MAG.
Version: 2.3.0
Requires at least: 6.4
Requires PHP: 8.3
License: Proprietary
Text Domain: svh
*/

:root {
  --svh-black: #050505;
  --svh-ink: #151515;
  --svh-muted: #707070;
  --svh-soft: #f4f4f5;
  --svh-glass: rgba(255,255,255,.76);
  --svh-border: rgba(255,255,255,.82);
  --svh-silver: #dfe1e5;
  --svh-red: #e51c23;
  --svh-radius-xl: 34px;
  --svh-radius-lg: 24px;
  --svh-shadow: 0 22px 60px rgba(0,0,0,.12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--svh-ink);
  background: linear-gradient(180deg, #fafafa 0%, #e3e5e8 100%);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
}

a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }

.svh-page {
  width: min(1180px, calc(100% - 28px));
  margin: 0 auto;
}

.svh-header {
  position: sticky;
  top: 0;
  z-index: 50;
  backdrop-filter: blur(22px);
  background: rgba(246,246,247,.76);
  border-bottom: 1px solid rgba(0,0,0,.07);
}

.svh-header__inner {
  display: flex;
  align-items: center;
  gap: 22px;
  min-height: 86px;
}

.svh-brand {
  display: flex;
  align-items: center;
  gap: 14px;
  font-weight: 800;
}

.svh-brand__copy {
  display: grid;
  line-height: 1.08;
  min-width: 0;
}

.svh-brand__title {
  align-items: baseline;
  display: flex;
  gap: .38em;
  white-space: nowrap;
}

.svh-brand__year {
  color: var(--svh-muted);
  font-size: .68em;
  font-weight: 650;
  letter-spacing: .01em;
}

.svh-brand img {
  width: 58px;
  height: 58px;
  object-fit: contain;
}

.svh-brand small {
  display: block;
  color: var(--svh-muted);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .01em;
  margin-top: 4px;
}

.svh-nav {
  display: flex;
  align-items: center;
  margin-left: auto;
}

.svh-nav__list {
  align-items: center;
  display: flex;
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.svh-nav li { list-style: none; margin: 0; padding: 0; }

.svh-nav a {
  border-radius: 999px;
  color: #222;
  font-size: 15px;
  font-weight: 700;
  padding: 10px 14px;
}

.svh-nav a:hover,
.svh-nav .current-menu-item > a {
  background: var(--svh-black);
  color: #fff;
}

.svh-menu-toggle { display: none; }

.svh-hero {
  margin-top: 28px;
  min-height: 510px;
  overflow: hidden;
  position: relative;
  color: #fff;
  border-radius: var(--svh-radius-xl);
  box-shadow: var(--svh-shadow);
  background: #0b0b0d;
  overscroll-behavior-x: contain;
  touch-action: pan-y pinch-zoom;
  -webkit-user-select: none;
  user-select: none;
}

.svh-hero__media {
  position: absolute;
  inset: 0;
  opacity: .56;
  z-index: 0;
}

.svh-hero__media img {
  inset: 0;
  opacity: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(.18) contrast(1.08);
  transform: scale(1.035);
  transition: opacity 1.15s ease, transform 7s ease;
  -webkit-user-drag: none;
}

.svh-hero__media img.is-active {
  opacity: 1;
  transform: scale(1.085);
}

.svh-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 82% 44%, rgba(255,255,255,.16), transparent 30%),
    linear-gradient(90deg, rgba(0,0,0,.95), rgba(0,0,0,.64) 50%, rgba(0,0,0,.25));
  z-index: 1;
}

.svh-hero__content {
  position: relative;
  z-index: 2;
  width: min(650px, 100%);
  padding: clamp(34px, 7vw, 82px);
}

.svh-hero__dots {
  align-items: center;
  bottom: 24px;
  display: flex;
  gap: 8px;
  position: absolute;
  right: 28px;
  z-index: 3;
}

.svh-hero__dot {
  background: rgba(255,255,255,.38);
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  height: 8px;
  padding: 0;
  transition: background .25s ease, width .25s ease;
  width: 8px;
}

.svh-hero__dot.is-active { background: #fff; width: 30px; }

.svh-kicker {
  color: rgba(255,255,255,.68);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.svh-hero h1 {
  font-size: clamp(44px, 7vw, 78px);
  line-height: .97;
  letter-spacing: -.055em;
  margin: 18px 0 20px;
}

.svh-lead {
  color: rgba(255,255,255,.82);
  font-size: clamp(18px, 2vw, 24px);
  max-width: 580px;
}

.svh-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 34px;
}

.svh-button {
  align-items: center;
  background: #fff;
  border-radius: 18px;
  color: #000;
  display: inline-flex;
  font-weight: 850;
  gap: 8px;
  min-height: 52px;
  padding: 0 20px;
}

.svh-button--dark {
  background: #000;
  color: #fff;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.18);
}

.svh-section {
  margin: clamp(34px, 6vw, 74px) 0;
}

.svh-section__head {
  align-items: end;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  margin-bottom: 20px;
}

.svh-section h2 {
  font-size: clamp(28px, 4vw, 48px);
  letter-spacing: -.04em;
  line-height: 1.02;
  margin: 0;
}

.svh-section__link {
  color: var(--svh-muted);
  font-weight: 800;
}

.svh-eyebrow {
  color: var(--svh-muted);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .18em;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.svh-grid {
  display: grid;
  gap: 18px;
}

.svh-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.svh-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.svh-card {
  background: var(--svh-glass);
  border: 1px solid var(--svh-border);
  border-radius: var(--svh-radius-lg);
  box-shadow: 0 14px 44px rgba(0,0,0,.08);
  overflow: hidden;
}

.svh-card__body { padding: 20px; }
.svh-card__media {
  aspect-ratio: 16 / 10;
  background: #111;
  overflow: hidden;
}
.svh-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.svh-referee-grid {
  align-items: stretch;
}

.svh-team-card--portrait .svh-card__media {
  aspect-ratio: 4 / 3;
  background: #17181b;
  isolation: isolate;
  position: relative;
}

.svh-team-card__backdrop {
  inset: -24px;
  overflow: hidden;
  position: absolute;
  z-index: -1;
}

.svh-team-card__backdrop::after {
  background: linear-gradient(180deg, rgba(5,5,6,.08), rgba(5,5,6,.28));
  content: "";
  inset: 0;
  position: absolute;
}

.svh-team-card__backdrop img {
  filter: blur(22px) saturate(.72);
  height: 100%;
  object-fit: cover;
  opacity: .74;
  transform: scale(1.12);
  width: 100%;
}

.svh-team-card--portrait .svh-card__media > img {
  height: 100%;
  object-fit: contain;
  object-position: center;
  position: relative;
  width: 100%;
  z-index: 1;
}

.svh-team-card--portrait {
  display: flex;
  flex-direction: column;
}

.svh-team-card--portrait .svh-card__body {
  flex: 1;
}
.svh-card__logo {
  align-items: center;
  background: linear-gradient(135deg, #fff, #dfe1e5);
  display: flex;
  justify-content: center;
}
.svh-card__logo img {
  width: 42%;
  height: 42%;
  object-fit: contain;
}

.svh-news-card { transition: box-shadow .22s ease, transform .22s ease; }
.svh-news-card:hover { box-shadow: 0 22px 58px rgba(0,0,0,.14); transform: translateY(-4px); }
.svh-news-card .svh-card__media img { transition: transform .5s ease; }
.svh-news-card:hover .svh-card__media img { transform: scale(1.035); }
.svh-news-card__meta { align-items: center; display: flex; gap: 10px; justify-content: space-between; }
.svh-news-card__meta time { font-size: 12px; font-weight: 750; white-space: nowrap; }
.svh-news-card .svh-pill { margin-bottom: 8px; }
.svh-news-card h3 { font-size: clamp(21px, 2.4vw, 28px); margin-top: 5px; }
.svh-news-card .svh-card__body > p { margin-bottom: 2px; }
.svh-news-grid > .svh-news-card:first-child { grid-column: span 2; }
.svh-news-grid > .svh-news-card:first-child .svh-card__media { aspect-ratio: 2 / 1; }
.svh-news-grid > .svh-news-card:first-child h3 { font-size: clamp(28px, 4vw, 42px); }

.svh-news-single { padding-top: 36px; }
.svh-news-cover { border-radius: 34px; color: #fff; min-height: clamp(500px, 68vw, 720px); overflow: hidden; position: relative; }
.svh-news-cover > img { height: 100%; inset: 0; object-fit: cover; position: absolute; width: 100%; }
.svh-news-cover--logo > img { background: linear-gradient(145deg, #191919, #050505); object-fit: contain; padding: 10%; }
.svh-news-cover__shade { background: linear-gradient(180deg, rgba(0,0,0,.04) 25%, rgba(0,0,0,.86) 100%); inset: 0; position: absolute; }
.svh-news-cover__content { bottom: 0; left: 0; max-width: 980px; padding: clamp(28px, 6vw, 72px); position: absolute; right: 0; }
.svh-news-cover__content .svh-pill { background: rgba(255,255,255,.9); color: #050505; }
.svh-news-cover h1 { font-size: clamp(40px, 7vw, 78px); letter-spacing: -.055em; line-height: .98; margin: 8px 0 18px; text-wrap: balance; }
.svh-news-meta { backdrop-filter: blur(26px) saturate(150%); -webkit-backdrop-filter: blur(26px) saturate(150%); background: linear-gradient(145deg, rgba(255,255,255,.82), rgba(239,241,245,.58)); border: 1px solid rgba(255,255,255,.92); border-radius: 24px; box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 18px 48px rgba(24,29,38,.12); display: grid; gap: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 16px clamp(12px, 4vw, 48px) 0; overflow: hidden; position: relative; z-index: 2; }
.svh-news-meta__item { margin: 0; min-width: 0; padding: 17px clamp(16px, 2.8vw, 30px); }
.svh-news-meta__item + .svh-news-meta__item { border-left: 1px solid rgba(20,24,32,.09); }
.svh-news-meta dt { color: var(--svh-muted); font-size: 10px; font-weight: 900; letter-spacing: .13em; margin: 0 0 3px; text-transform: uppercase; }
.svh-news-meta dd { font-size: 14px; font-weight: 800; line-height: 1.35; margin: 0; overflow-wrap: anywhere; }
.svh-news-layout { align-items: start; display: grid; gap: 24px; grid-template-columns: minmax(0, 1.8fr) minmax(250px, .7fr); margin-top: 24px; }
.svh-news-prose { background: rgba(255,255,255,.82); border: 1px solid #fff; border-radius: 28px; font-size: 18px; padding: clamp(26px, 5vw, 58px); }
.svh-news-prose > :first-child { margin-top: 0; }
.svh-news-prose > :last-child { margin-bottom: 0; }
.svh-news-prose h2 { font-size: clamp(28px, 4vw, 44px); margin: 1.4em 0 .45em; }
.svh-news-prose h3 { font-size: clamp(23px, 3vw, 32px); }
.svh-news-prose img { border-radius: 20px; }
.svh-news-share { background: #050505; border-radius: 26px; color: #fff; padding: 26px; position: sticky; top: 108px; }
.svh-news-share > strong { font-size: 22px; }
.svh-news-share p { color: rgba(255,255,255,.66); }
.svh-news-share .svh-button { background: #fff; color: #050505; cursor: pointer; margin: 8px 0 20px; width: 100%; }
.svh-news-share > a { border-bottom: 1px solid rgba(255,255,255,.38); font-weight: 750; }

.svh-news-latest { padding-top: 8px; }
.svh-news-count { align-items: center; background: rgba(255,255,255,.66); border: 1px solid rgba(255,255,255,.9); border-radius: 999px; box-shadow: inset 0 1px 0 rgba(255,255,255,.92), 0 8px 24px rgba(20,24,32,.08); color: var(--svh-muted); display: inline-flex; flex: 0 0 auto; font-size: 12px; font-weight: 850; min-height: 36px; padding: 8px 13px; }
.svh-news-archive { border-top: 1px solid rgba(20,24,32,.11); margin-top: clamp(48px, 8vw, 96px); padding-top: clamp(38px, 6vw, 68px); scroll-margin-top: 110px; }
.svh-news-archive__head { align-items: end; display: flex; gap: 24px; justify-content: space-between; margin-bottom: 22px; }
.svh-news-archive__head h2 { font-size: clamp(36px, 6vw, 62px); letter-spacing: -.045em; line-height: 1; margin: 5px 0 9px; }
.svh-news-archive__head p { color: var(--svh-muted); margin: 0; }
.svh-news-archive-filter { align-items: end; backdrop-filter: blur(26px) saturate(145%); -webkit-backdrop-filter: blur(26px) saturate(145%); background: linear-gradient(145deg, rgba(255,255,255,.82), rgba(239,241,245,.58)); border: 1px solid rgba(255,255,255,.92); border-radius: 28px; box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 18px 48px rgba(24,29,38,.11); display: grid; gap: 16px; grid-template-columns: minmax(180px, .7fr) minmax(220px, 1fr) auto; margin-bottom: 28px; padding: clamp(18px, 3vw, 28px); }
.svh-news-archive-filter__field { display: grid; gap: 7px; }
.svh-news-archive-filter__field > span { color: var(--svh-muted); font-size: 10px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.svh-news-archive-filter select { appearance: none; background: rgba(255,255,255,.78) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center / 16px; border: 1px solid rgba(20,24,32,.1); border-radius: 16px; color: var(--svh-ink); font: inherit; font-size: 14px; font-weight: 750; min-height: 48px; padding: 0 44px 0 15px; width: 100%; }
.svh-news-archive-filter select:focus-visible { outline: 3px solid rgba(0,0,0,.22); outline-offset: 2px; }
.svh-news-archive-filter__actions { align-items: center; display: flex; gap: 14px; min-height: 48px; }
.svh-news-archive-filter__actions .svh-button { border: 0; cursor: pointer; font: inherit; min-height: 48px; white-space: nowrap; }
.svh-news-archive-filter__actions > a { border-bottom: 1px solid rgba(20,24,32,.28); font-size: 12px; font-weight: 800; white-space: nowrap; }
.svh-news-grid--archive > .svh-news-card:first-child { grid-column: auto; }
.svh-news-grid--archive > .svh-news-card:first-child .svh-card__media { aspect-ratio: 16 / 10; }
.svh-news-grid--archive > .svh-news-card:first-child h3 { font-size: clamp(21px, 2.4vw, 28px); }
.svh-news-grid--archive > .svh-empty { grid-column: 1 / -1; }
.svh-news-pagination { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: 34px; }
.svh-news-pagination .page-numbers { align-items: center; display: inline-flex; justify-content: center; min-height: 42px; }

.svh-card h3 {
  font-size: 22px;
  letter-spacing: -.025em;
  line-height: 1.12;
  margin: 0 0 8px;
}

.svh-card p,
.svh-card time {
  color: var(--svh-muted);
  font-size: 15px;
}

.svh-mag-page { padding-bottom: 54px; padding-top: 36px; }
.svh-mag-card .svh-card__media { aspect-ratio: 3 / 4; background: linear-gradient(145deg, #eceef2, #fff); padding: 10px; }
.svh-mag-card .svh-card__media img { object-fit: contain; }
.svh-mag-card .svh-card__body { display: flex; flex-direction: column; min-height: 166px; }
.svh-mag-card__meta { align-items: center; display: flex; gap: 12px; justify-content: space-between; margin-bottom: 12px; }
.svh-mag-card__meta time { font-size: 12px; font-weight: 750; white-space: nowrap; }
.svh-mag-card h3 { margin-bottom: 18px; }
.svh-mag-card__action { align-self: flex-start; background: #050505; border-radius: 999px; color: #fff; font-size: 12px; font-weight: 850; margin-top: auto; padding: 8px 12px; }
.svh-mag-card.is-missing .svh-mag-card__action { background: rgba(0,0,0,.07); color: var(--svh-muted); }
.svh-mag-current .svh-mag-card { box-shadow: inset 0 1px 0 #fff, 0 24px 64px rgba(20,25,34,.15); }
.svh-mag-archive { border-top: 1px solid rgba(0,0,0,.09); padding-top: clamp(34px, 6vw, 70px); }
.svh-mag-archive .svh-mag-card .svh-card__body { min-height: 150px; }
.svh-mag-archive .svh-mag-card h3 { font-size: 19px; }
.svh-mag-archive__count { color: var(--svh-muted); font-size: 13px; font-weight: 800; }


.svh-pill {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: rgba(0,0,0,.06);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  margin-bottom: 12px;
  padding: 7px 10px;
  text-transform: uppercase;
}

.svh-live {
  background: #fff;
  border: 1px solid rgba(255,255,255,.9);
  border-radius: 30px;
  box-shadow: var(--svh-shadow);
  padding: clamp(20px, 4vw, 34px);
}

.svh-live__label {
  align-items: center;
  color: var(--svh-muted);
  display: flex;
  font-size: 13px;
  font-weight: 900;
  gap: 9px;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.svh-live__label::before {
  background: var(--svh-red);
  border-radius: 50%;
  content: "";
  height: 9px;
  width: 9px;
}

.svh-results {
  overflow: hidden;
}

.svh-results__head {
  align-items: flex-start;
  display: flex;
  gap: 24px;
  justify-content: space-between;
}

.svh-results__head h2 {
  margin: 8px 0 6px;
}

.svh-results__head p {
  color: var(--svh-muted);
  margin: 0;
}

.svh-results__source {
  background: #0b0b0c;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  color: #fff;
  flex: 0 0 auto;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .1em;
  padding: 9px 12px;
}

.svh-results__widget {
  background: rgba(255,255,255,.62);
  border: 1px solid rgba(255,255,255,.9);
  border-radius: 24px;
  box-shadow: inset 0 1px 0 #fff, 0 14px 34px rgba(18,22,30,.09);
  margin-top: 24px;
  min-height: 150px;
  overflow: hidden;
  padding: clamp(10px, 2vw, 18px);
}

.svh-results__widget iframe {
  border: 0;
  display: block;
  max-width: 100%;
  width: 100%;
}

.svh-external-consent {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 190px;
  padding: clamp(18px, 4vw, 38px);
}

.svh-external-consent strong { font-size: clamp(20px, 3vw, 28px); }
.svh-external-consent p { color: var(--svh-muted); margin: 8px 0 20px; max-width: 720px; }
.svh-external-consent .svh-button { border: 0; cursor: pointer; }
[hidden] { display: none !important; }

.svh-results__loading {
  align-items: center;
  color: var(--svh-muted);
  display: flex;
  font-weight: 750;
  gap: 10px;
  justify-content: center;
  min-height: 118px;
  margin: 0;
}

.svh-results__loading::before {
  animation: svh-results-pulse 1.2s ease-in-out infinite alternate;
  background: #111;
  border-radius: 50%;
  content: "";
  height: 9px;
  width: 9px;
}

.svh-results__actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 18px;
}

@keyframes svh-results-pulse {
  from { opacity: .25; transform: scale(.8); }
  to { opacity: 1; transform: scale(1); }
}

.svh-department {
  --svh-department-accent: #6f737b;
  min-height: 300px;
  overflow: hidden;
  padding: 0;
  position: relative;
}

.svh-department > a {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.svh-department__visual {
  background:
    radial-gradient(circle at 78% 24%, color-mix(in srgb, var(--svh-department-accent) 32%, transparent), transparent 38%),
    linear-gradient(145deg, color-mix(in srgb, var(--svh-department-accent) 18%, #f6f7fa), rgba(255,255,255,.58));
  border-bottom: 1px solid rgba(255,255,255,.82);
  height: 122px;
  overflow: hidden;
  position: relative;
}

.svh-department__visual::before,
.svh-department__visual::after {
  border: 1px solid color-mix(in srgb, var(--svh-department-accent) 28%, transparent);
  border-radius: 50%;
  content: "";
  height: 150px;
  position: absolute;
  right: -55px;
  top: -72px;
  width: 150px;
}

.svh-department__visual::after { height: 102px; right: -17px; top: 28px; width: 102px; }

.svh-department__symbol {
  align-items: center;
  backdrop-filter: blur(14px);
  background: rgba(255,255,255,.62);
  border: 1px solid rgba(255,255,255,.9);
  border-radius: 20px;
  box-shadow: 0 14px 34px color-mix(in srgb, var(--svh-department-accent) 19%, transparent);
  color: var(--svh-department-accent);
  display: flex;
  height: 64px;
  justify-content: center;
  left: 20px;
  position: absolute;
  top: 20px;
  width: 64px;
  z-index: 2;
}

.svh-department__symbol svg { fill: none; height: 32px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.75; width: 32px; }
.svh-department__mark { bottom: -10px; color: color-mix(in srgb, var(--svh-department-accent) 15%, transparent); font-size: 56px; font-weight: 950; letter-spacing: -.06em; position: absolute; right: 13px; }

.svh-department__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 22px;
  position: relative;
}

.svh-department__body .svh-pill {
  align-self: flex-start;
  background: color-mix(in srgb, var(--svh-department-accent) 11%, white);
  color: color-mix(in srgb, var(--svh-department-accent) 78%, #111);
}

.svh-department__body h3 { font-size: 24px; margin: 14px 0 5px; }
.svh-department__body p { color: var(--svh-muted); font-size: 14px; margin: 0; padding-right: 30px; }
.svh-department__arrow { align-items: center; background: #111; border-radius: 50%; bottom: 18px; color: #fff; display: flex; height: 34px; justify-content: center; position: absolute; right: 18px; transition: transform .2s ease; width: 34px; }
.svh-department:hover .svh-department__arrow { transform: translateX(3px); }
.svh-department:hover .svh-department__symbol { transform: translateY(-2px); }
.svh-department__symbol { transition: transform .2s ease; }

@supports not (color: color-mix(in srgb, red, blue)) {
  .svh-department__visual { background: linear-gradient(145deg, #f3f4f7, #fff); }
  .svh-department__body .svh-pill { background: #f0f1f3; color: #222; }
}

.svh-event-card {
  align-items: stretch;
  display: grid;
  grid-template-columns: 96px 1fr;
  min-height: 180px;
}

.svh-event-card__date {
  align-items: center;
  background: #080808;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.svh-event-card__date strong { font-size: 38px; line-height: 1; }
.svh-event-card__date span { color: rgba(255,255,255,.62); font-size: 13px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }

.svh-sponsor-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.svh-sponsor {
  align-items: center;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(255,255,255,.92);
  border-radius: 22px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  justify-content: center;
  min-height: 170px;
  padding: 22px;
  text-align: center;
  transition: transform .2s ease, box-shadow .2s ease;
}

.svh-sponsor:hover { box-shadow: var(--svh-shadow); transform: translateY(-3px); }
.svh-sponsor img { height: 82px; max-width: 180px; object-fit: contain; }
.svh-sponsor span { font-size: 14px; font-weight: 850; }

.svh-promo-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.svh-promo {
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(255,255,255,.9);
  border-radius: 28px;
  display: flex;
  flex-direction: column;
  min-height: 380px;
  padding: 28px;
}

.svh-promo h2 { font-size: 36px; margin: 6px 0 10px; }
.svh-promo p { color: var(--svh-muted); }
.svh-promo .svh-button { align-self: flex-start; margin-top: auto; }
.svh-promo__icon { align-items: center; background: #000; border-radius: 20px; color: #fff; display: flex; font-size: 18px; font-weight: 950; height: 64px; justify-content: center; margin-bottom: 42px; width: 64px; }
.svh-promo--dark { background: #080808; color: #fff; }
.svh-promo--dark p, .svh-promo--dark .svh-eyebrow { color: rgba(255,255,255,.62); }
.svh-promo--dark .svh-promo__icon { background: #fff; color: #000; }
.svh-promo--instagram { background: linear-gradient(145deg, #feda75, #fa7e1e 30%, #d62976 58%, #962fbf 78%, #4f5bd5); color: #fff; }
.svh-promo--instagram p, .svh-promo--instagram .svh-eyebrow { color: rgba(255,255,255,.82); }

.svh-contact {
  align-items: center;
  background: #050505;
  border-radius: 30px;
  color: #fff;
  display: flex;
  justify-content: space-between;
  padding: clamp(28px, 5vw, 54px);
}

.svh-contact p { color: rgba(255,255,255,.68); }
.svh-empty { align-items: center; background: rgba(255,255,255,.7); border: 1px solid #fff; border-radius: 22px; display: flex; gap: 18px; min-height: 150px; padding: 24px; }
.svh-empty img { height: 64px; object-fit: contain; width: 64px; }
.svh-empty h3 { margin: 0 0 5px; }
.svh-empty p { color: var(--svh-muted); margin: 0; }

.svh-archive, .svh-content-page { padding-top: 48px; padding-bottom: 40px; }
.svh-filter { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; }
.svh-filter a { background: rgba(255,255,255,.7); border: 1px solid #fff; border-radius: 999px; font-size: 14px; font-weight: 800; padding: 9px 14px; }
.svh-filter a.is-active { background: #000; color: #fff; }
.svh-page-header { background: #090909; border-radius: 30px; color: #fff; margin-bottom: 28px; padding: clamp(30px, 6vw, 64px); }
.svh-page-header h1 { font-size: clamp(42px, 7vw, 76px); letter-spacing: -.05em; line-height: 1; margin: 6px 0 0; }
.svh-lead-dark { color: rgba(255,255,255,.7); max-width: 720px; }
.svh-content-image { border-radius: 28px; max-height: 600px; overflow: hidden; }
.svh-content-image img { height: 100%; object-fit: cover; width: 100%; }
.svh-feature-photo { background: #111; border: 0; border-radius: 28px; color: #fff; cursor: zoom-in; display: block; isolation: isolate; max-height: 680px; min-height: clamp(320px, 55vw, 680px); overflow: hidden; padding: 0; position: relative; width: 100%; }
.svh-feature-photo > img { height: clamp(320px, 55vw, 680px); max-height: 680px; object-fit: cover; position: relative; width: 100%; z-index: 1; }
.svh-feature-photo--contain > img { object-fit: contain; }
.svh-feature-photo__backdrop {
  inset: -26px;
  position: absolute;
  z-index: 0;
}
.svh-feature-photo__backdrop::after {
  background: linear-gradient(180deg, rgba(0,0,0,.1), rgba(0,0,0,.36));
  content: "";
  inset: 0;
  position: absolute;
}
.svh-feature-photo__backdrop img {
  filter: blur(24px) saturate(.72);
  height: 100%;
  object-fit: cover;
  opacity: .84;
  transform: scale(1.1);
  width: 100%;
}
.svh-feature-photo--referee-group {
  aspect-ratio: 16 / 7;
  border: 2px solid rgba(255,255,255,.9);
  box-shadow: 0 22px 50px rgba(0,0,0,.15);
  margin: -10px auto 0;
  max-height: none;
  min-height: 0;
  width: calc(100% - 44px);
}
.svh-feature-photo--referee-group > img { height: 100%; max-height: none; object-position: center; }
.svh-feature-photo > span:last-child { background: rgba(0,0,0,.72); border-radius: 999px; bottom: 18px; font-size: 13px; font-weight: 850; padding: 9px 14px; position: absolute; right: 18px; z-index: 2; }
.svh-department-layout { align-items: start; display: grid; gap: 20px; grid-template-columns: minmax(0, 2fr) minmax(260px, .8fr); }
.svh-department-layout--info-only { display: flex; justify-content: flex-end; }
.svh-department-layout--info-only .svh-info-card { max-width: 440px; width: 100%; }
.svh-info-card { background: #050505; border-radius: 28px; color: #fff; margin-top: 22px; padding: 28px; position: sticky; top: 106px; }
.svh-info-card h3 { margin: 24px 0 4px; }
.svh-info-card p { color: rgba(255,255,255,.7); }
.svh-lightbox { background: transparent; border: 0; height: 100vh; max-height: none; max-width: none; padding: 44px; width: 100vw; }
.svh-lightbox::backdrop { background: rgba(0,0,0,.9); backdrop-filter: blur(10px); }
.svh-lightbox img { height: 100%; margin: auto; object-fit: contain; width: 100%; }
.svh-lightbox button { background: #fff; border: 0; border-radius: 50%; cursor: pointer; font-size: 30px; height: 44px; line-height: 1; position: fixed; right: 22px; top: 22px; width: 44px; z-index: 2; }
.svh-prose { background: rgba(255,255,255,.8); border: 1px solid #fff; border-radius: 28px; font-size: 18px; margin-top: 22px; padding: clamp(24px, 5vw, 56px); }
.svh-prose > * { max-width: 820px; }
.svh-legal section { border-top: 1px solid rgba(0,0,0,.1); margin-top: 30px; padding-top: 20px; }
.svh-legal section:first-of-type { border-top: 0; margin-top: 18px; padding-top: 0; }
.svh-legal h2 { font-size: clamp(22px, 3vw, 30px); line-height: 1.15; margin-bottom: 8px; }
.svh-legal p { overflow-wrap: anywhere; }
.svh-legal a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.svh-legal__stand { color: var(--svh-muted); font-size: 14px; font-weight: 750; letter-spacing: .04em; }
.svh-legal-admin { background: #fff3cd; border: 1px solid #e5c96a; border-radius: 18px; color: #4c3d09; margin-bottom: 24px; max-width: 820px; padding: 16px 18px; }
.svh-facts { display: grid; gap: 12px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 24px 0 34px; max-width: none; }
.svh-facts div { background: #f0f0f1; border-radius: 18px; padding: 20px; }
.svh-facts strong { display: block; font-size: 23px; }
.svh-facts span { color: var(--svh-muted); font-size: 13px; }
.svh-link-grid { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 28px; max-width: none; }
.svh-link-grid a, .svh-link-grid article { background: #f0f0f1; border-radius: 18px; display: flex; flex-direction: column; min-height: 120px; padding: 20px; }
.svh-link-grid a:hover { background: #050505; color: #fff; }
.svh-link-grid span { color: var(--svh-muted); font-size: 14px; margin-top: 5px; }
.svh-contact-list { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: none; }
.svh-contact-list p { background: #f0f0f1; border-radius: 18px; margin: 0; padding: 20px; }
.svh-timeline { border-left: 2px solid #111; margin-left: 8px; padding-left: 24px; }
.svh-timeline p { display: grid; grid-template-columns: 110px 1fr; position: relative; }
.svh-timeline p::before { background: #111; border: 4px solid #fff; border-radius: 50%; content: ''; height: 14px; left: -32px; position: absolute; top: 7px; width: 14px; }
.svh-editor-info { background: #f1f2f4; border-left: 5px solid #050505; border-radius: 14px; padding: 20px 24px; }
.svh-editor-score { background: #050505; border-radius: 20px; color: #fff; padding: 26px; }
.svh-calendar {
  background: rgba(255,255,255,.76);
  border: 1px solid #fff;
  border-radius: 30px;
  box-shadow: var(--svh-shadow);
  overflow: hidden;
}
.svh-calendar__toolbar { align-items: center; display: flex; justify-content: space-between; padding: 20px 24px; }
.svh-calendar__toolbar h2 { font-size: clamp(25px, 4vw, 38px); letter-spacing: -.04em; margin: 0; text-align: center; }
.svh-calendar__nav { align-items: center; background: #050505; border-radius: 50%; color: #fff; display: flex; font-size: 24px; height: 48px; justify-content: center; width: 48px; }
.svh-calendar__grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.svh-calendar__weekdays { background: #050505; color: rgba(255,255,255,.72); font-size: 13px; font-weight: 900; letter-spacing: .1em; text-align: center; text-transform: uppercase; }
.svh-calendar__weekdays div { padding: 11px 4px; }
.svh-calendar__day { border-bottom: 1px solid rgba(0,0,0,.08); border-right: 1px solid rgba(0,0,0,.08); min-height: 142px; padding: 10px; }
.svh-calendar__day:nth-child(7n) { border-right: 0; }
.svh-calendar__day.is-empty { background: rgba(0,0,0,.025); }
.svh-calendar__day.is-today { background: rgba(229,28,35,.06); box-shadow: inset 0 0 0 2px var(--svh-red); }
.svh-calendar__number { align-items: center; display: flex; font-size: 14px; font-weight: 900; height: 28px; justify-content: center; margin-bottom: 5px; width: 28px; }
.svh-calendar__day.is-today .svh-calendar__number { background: var(--svh-red); border-radius: 50%; color: #fff; }
.svh-calendar__event { background: #050505; border-radius: 10px; color: #fff; display: block; margin-top: 6px; padding: 8px; transition: transform .18s ease; }
.svh-calendar__event:hover { transform: translateY(-2px); }
.svh-calendar__event time { color: rgba(255,255,255,.64); display: block; font-size: 11px; font-weight: 800; }
.svh-calendar__event strong { display: block; font-size: 12px; line-height: 1.25; margin-top: 2px; overflow-wrap: anywhere; }
.svh-event-card__note { border-top: 1px solid rgba(255,255,255,.14); color: rgba(255,255,255,.7) !important; font-size: 13px; margin-top: 12px; padding-top: 10px; }
.svh-event-detail { align-items: start; display: grid; gap: 22px; grid-template-columns: minmax(0, 1.7fr) minmax(270px, .8fr); }
.svh-event-detail__main { background: rgba(255,255,255,.78); border: 1px solid #fff; border-radius: 28px; padding: clamp(24px, 5vw, 48px); }
.svh-event-note strong { display: block; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; }
.svh-event-note p { font-size: clamp(18px, 2.5vw, 24px); margin: 10px 0 0; white-space: pre-line; }
.svh-event-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.svh-event-actions .svh-button { border: 0; cursor: pointer; }
.svh-button--light { background: #ececef; color: #111; }
.svh-calendar-back { border-bottom: 1px solid rgba(255,255,255,.45); display: inline-block; font-weight: 800; margin-top: 24px; }
.nav-links { display: flex; gap: 8px; justify-content: center; margin-top: 34px; }
.page-numbers { background: #fff; border-radius: 12px; padding: 9px 13px; }
.page-numbers.current { background: #000; color: #fff; }

.svh-footer {
  background: #050505;
  color: #fff;
  margin-top: 80px;
  padding: 46px 0;
}

.svh-footer__grid {
  display: grid;
  gap: 28px;
  grid-template-columns: 2fr 1fr 1fr;
}

.svh-footer a,
.svh-footer p {
  color: rgba(255,255,255,.72);
}

.svh-footer h2,
.svh-footer h3 { margin-top: 0; }
.svh-footer__links { display: grid; gap: 10px; list-style: none; margin: 0; padding: 0; }
.svh-footer__links li { list-style: none; margin: 0; padding: 0; }
.svh-footer__links a { display: inline-flex; font-weight: 700; }
.svh-footer__links a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.svh-footer__copyright { margin-top: 22px; }

@media (max-width: 860px) {
  .svh-header__inner { min-height: 74px; }
  .svh-menu-toggle { background: #000; border: 0; border-radius: 14px; display: grid; flex: 0 0 auto; gap: 4px; margin-left: auto; padding: 12px; position: relative; z-index: 62; }
  .svh-menu-toggle > span:not(.screen-reader-text) { background: #fff; border-radius: 2px; display: block; height: 2px; width: 22px; }
  .svh-nav { align-items: stretch; background: rgba(248,248,249,.98); border-bottom: 1px solid rgba(0,0,0,.08); box-shadow: 0 24px 50px rgba(18,22,30,.16); display: flex; left: 0; max-height: calc(100vh - 74px); max-height: calc(100dvh - 74px); overflow-y: auto; overscroll-behavior: contain; padding: 14px; position: absolute; right: 0; top: 74px; -webkit-overflow-scrolling: touch; z-index: 61; }
  .svh-nav__list { align-items: stretch; flex-direction: column; gap: 8px; width: 100%; }
  .svh-nav li, .svh-nav a { display: block; width: 100%; }
  .svh-nav a { border-radius: 18px; padding: 13px 16px; touch-action: manipulation; }
  .svh-grid--3,
  .svh-grid--4,
  .svh-footer__grid,
  .svh-promo-grid { grid-template-columns: 1fr; }
  .svh-sponsor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .svh-contact { align-items: flex-start; flex-direction: column; }
  .svh-department-layout { grid-template-columns: 1fr; }
  .svh-department-layout--info-only { display: block; }
  .svh-department-layout--info-only .svh-info-card { max-width: none; }
  .svh-event-detail { grid-template-columns: 1fr; }
  .svh-news-layout { grid-template-columns: 1fr; }
  .svh-news-share { position: static; }
  .svh-news-archive-filter { grid-template-columns: 1fr 1fr; }
  .svh-news-archive-filter__actions { grid-column: 1 / -1; }
  .svh-info-card { position: static; }
  .svh-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .svh-hero { min-height: 470px; }
}

@media (max-width: 520px) {
  .svh-page { width: min(100% - 20px, 1180px); }
  .svh-brand img { height: 48px; width: 48px; }
  .svh-brand { font-size: 15px; }
  .svh-brand small { font-size: 11px; margin-top: 3px; }
  .svh-brand__year { font-size: .64em; }
  .svh-hero { border-radius: 26px; min-height: 520px; }
  .svh-hero__content { padding: 30px 24px; }
  .svh-hero__dots { bottom: 18px; right: 22px; }
  .svh-sponsor-grid { grid-template-columns: 1fr 1fr; }
  .svh-sponsor { min-height: 140px; padding: 14px; }
  .svh-event-card { grid-template-columns: 78px 1fr; }
  .svh-link-grid, .svh-contact-list { grid-template-columns: 1fr; }
  .svh-lightbox { padding: 16px; }
  .svh-feature-photo--referee-group { aspect-ratio: 4 / 3; border-radius: 22px; width: calc(100% - 14px); }
  .svh-news-grid > .svh-news-card:first-child { grid-column: auto; }
  .svh-news-grid > .svh-news-card:first-child .svh-card__media { aspect-ratio: 16 / 10; }
  .svh-news-cover { border-radius: 26px; min-height: 520px; }
  .svh-news-cover h1 { font-size: clamp(36px, 12vw, 54px); }
  .svh-news-meta { grid-template-columns: 1fr; margin-inline: 4px; }
  .svh-news-meta__item { align-items: baseline; display: flex; gap: 12px; justify-content: space-between; padding: 13px 16px; }
  .svh-news-meta__item + .svh-news-meta__item { border-left: 0; border-top: 1px solid rgba(20,24,32,.09); }
  .svh-news-meta dt { margin: 0; }
  .svh-news-meta dd { text-align: right; }
  .svh-news-archive__head { align-items: flex-start; flex-direction: column; gap: 14px; }
  .svh-news-archive-filter { grid-template-columns: 1fr; }
  .svh-news-archive-filter__actions { align-items: stretch; flex-direction: column; grid-column: auto; }
  .svh-news-archive-filter__actions .svh-button { justify-content: center; width: 100%; }
  .svh-news-archive-filter__actions > a { align-self: center; margin-top: 3px; }
  .svh-calendar { margin-inline: -4px; overflow-x: auto; }
  .svh-calendar__toolbar { min-width: 650px; }
  .svh-calendar__grid { min-width: 650px; }
  .svh-calendar__day { min-height: 112px; padding: 7px; }
}

@media (prefers-reduced-motion: reduce) {
  .svh-hero__media img { transition: opacity .25s ease; transform: none; }
  .svh-hero__media img.is-active { transform: none; }
}

/* SVH glass design system: original club styling built from standard web effects. */
body {
  background:
    radial-gradient(circle at 9% 8%, rgba(255,255,255,.98), transparent 28%),
    radial-gradient(circle at 91% 22%, rgba(168,174,186,.42), transparent 31%),
    radial-gradient(circle at 48% 76%, rgba(255,255,255,.72), transparent 34%),
    linear-gradient(145deg, #eef0f4 0%, #cfd3da 46%, #f5f6f8 100%);
  background-attachment: fixed;
}

body::before {
  background:
    url("assets/images/sportplatz-outline.svg") center 58% / min(78vw, 1050px) auto no-repeat,
    linear-gradient(115deg, transparent 15%, rgba(255,255,255,.3) 34%, transparent 52%),
    radial-gradient(circle at 78% 76%, rgba(10,10,12,.08), transparent 24%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: fixed;
  z-index: -1;
}

@media (max-width: 700px) {
  body::before {
    background-position: center 48%, center, center;
    background-size: 145vw auto, auto, auto;
  }
}

.svh-header {
  background: linear-gradient(180deg, rgba(255,255,255,.82), rgba(241,243,247,.6));
  border-bottom: 1px solid rgba(255,255,255,.76);
  box-shadow: 0 12px 38px rgba(19,24,32,.08), inset 0 -1px 0 rgba(0,0,0,.04);
}

.svh-nav a,
.svh-filter a,
.page-numbers,
.svh-calendar__nav,
.svh-button,
.svh-hero__dot {
  backdrop-filter: blur(18px) saturate(155%);
  -webkit-backdrop-filter: blur(18px) saturate(155%);
}

.svh-nav a,
.svh-filter a,
.page-numbers {
  background: linear-gradient(145deg, rgba(255,255,255,.76), rgba(255,255,255,.42));
  border: 1px solid rgba(255,255,255,.9);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.82), 0 8px 24px rgba(20,24,32,.08);
}

.svh-nav a:hover,
.svh-nav .current-menu-item > a,
.svh-filter a.is-active,
.page-numbers.current {
  background: linear-gradient(145deg, rgba(18,18,20,.94), rgba(0,0,0,.78));
  border-color: rgba(255,255,255,.2);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 10px 28px rgba(0,0,0,.2);
  color: #fff;
}

.svh-card,
.svh-live,
.svh-calendar,
.svh-promo,
.svh-sponsor,
.svh-empty,
.svh-prose,
.svh-news-prose,
.svh-event-detail__main,
.svh-contact-list p,
.svh-link-grid a,
.svh-link-grid article,
.svh-facts div {
  backdrop-filter: blur(26px) saturate(145%);
  -webkit-backdrop-filter: blur(26px) saturate(145%);
  background: linear-gradient(145deg, rgba(255,255,255,.76), rgba(246,247,250,.46));
  border: 1px solid rgba(255,255,255,.86);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.9),
    inset 0 -1px 0 rgba(255,255,255,.28),
    0 20px 55px rgba(24,29,38,.12);
}

.svh-card,
.svh-live,
.svh-promo,
.svh-sponsor,
.svh-calendar,
.svh-news-prose,
.svh-event-detail__main {
  position: relative;
}

.svh-card::after,
.svh-live::after,
.svh-promo::after,
.svh-sponsor::after,
.svh-news-prose::after,
.svh-event-detail__main::after {
  background: linear-gradient(110deg, rgba(255,255,255,.32), transparent 38%);
  border-radius: inherit;
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.svh-card > *,
.svh-live > *,
.svh-promo > *,
.svh-sponsor > *,
.svh-news-prose > *,
.svh-event-detail__main > * { position: relative; z-index: 1; }

.svh-promo--dark {
  background: linear-gradient(145deg, rgba(32,33,37,.94), rgba(3,3,4,.88));
  border-color: rgba(255,255,255,.16);
  color: #fff;
}

.svh-promo--instagram {
  background: linear-gradient(145deg, rgba(254,218,117,.9), rgba(250,126,30,.88) 30%, rgba(214,41,118,.9) 58%, rgba(79,91,213,.9));
  border-color: rgba(255,255,255,.38);
  color: #fff;
}

.svh-page-header,
.svh-info-card,
.svh-news-share,
.svh-contact,
.svh-footer {
  backdrop-filter: blur(28px) saturate(135%);
  -webkit-backdrop-filter: blur(28px) saturate(135%);
  background:
    radial-gradient(circle at 82% 14%, rgba(255,255,255,.13), transparent 31%),
    linear-gradient(145deg, rgba(24,25,28,.94), rgba(3,3,4,.86));
  border: 1px solid rgba(255,255,255,.15);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 24px 64px rgba(0,0,0,.2);
}

.svh-button {
  background: linear-gradient(145deg, rgba(255,255,255,.94), rgba(225,228,234,.72));
  border: 1px solid rgba(255,255,255,.94);
  box-shadow: inset 0 1px 0 #fff, 0 10px 28px rgba(11,15,22,.14);
  transition: box-shadow .2s ease, transform .2s ease;
}

.svh-button:hover { box-shadow: inset 0 1px 0 #fff, 0 14px 34px rgba(11,15,22,.2); transform: translateY(-2px); }
.svh-button--dark,
.svh-live .svh-button--dark {
  background: linear-gradient(145deg, rgba(35,36,40,.94), rgba(0,0,0,.84));
  border-color: rgba(255,255,255,.2);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.24), 0 12px 32px rgba(0,0,0,.24);
  color: #fff;
}

.svh-pill {
  backdrop-filter: blur(12px) saturate(150%);
  -webkit-backdrop-filter: blur(12px) saturate(150%);
  background: rgba(255,255,255,.58);
  border: 1px solid rgba(255,255,255,.78);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}

.svh-hero {
  border: 1px solid rgba(255,255,255,.42);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.26), 0 30px 80px rgba(18,22,30,.24);
}

.svh-hero__content {
  text-shadow: 0 2px 24px rgba(0,0,0,.34);
}

.svh-hero__dot { border: 1px solid rgba(255,255,255,.5); box-shadow: 0 5px 16px rgba(0,0,0,.18); }
.svh-calendar__toolbar { background: linear-gradient(180deg, rgba(255,255,255,.52), rgba(255,255,255,.18)); }
.svh-calendar__day { background: rgba(255,255,255,.2); }
.svh-calendar__day.is-empty { background: rgba(125,130,141,.09); }
.svh-calendar__event { box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 7px 18px rgba(0,0,0,.14); }
.svh-lightbox::backdrop { backdrop-filter: blur(20px) saturate(120%); -webkit-backdrop-filter: blur(20px) saturate(120%); }

@media (max-width: 860px) {
  .svh-nav { backdrop-filter: blur(30px) saturate(145%); -webkit-backdrop-filter: blur(30px) saturate(145%); background: rgba(245,246,249,.94); }
  .svh-results__head { display: block; }
  .svh-results__source { display: inline-flex; margin-top: 16px; }
  .svh-results__actions .svh-button { justify-content: center; width: 100%; }
}

@media (prefers-contrast: more), (prefers-reduced-transparency: reduce) {
  .svh-header,
  .svh-card,
  .svh-live,
  .svh-calendar,
  .svh-promo,
  .svh-sponsor,
  .svh-empty,
  .svh-prose,
  .svh-news-prose,
  .svh-news-meta,
  .svh-event-detail__main { backdrop-filter: none; -webkit-backdrop-filter: none; background: #f7f7f8; }
  .svh-page-header,
  .svh-info-card,
  .svh-news-share,
  .svh-contact,
  .svh-footer { backdrop-filter: none; -webkit-backdrop-filter: none; background: #080808; }
}

/* Uniform sponsor presentation for logos of every source format. */
.svh-sponsor-grid {
  gap: clamp(16px, 2.2vw, 26px);
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.svh-section-copy {
  color: var(--svh-muted);
  line-height: 1.55;
  margin: 8px 0 0;
  max-width: 720px;
}

.svh-sponsor-support {
  align-items: center;
  backdrop-filter: blur(24px) saturate(145%);
  -webkit-backdrop-filter: blur(24px) saturate(145%);
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(255,255,255,.94);
  border-radius: 30px;
  box-shadow: var(--svh-shadow);
  display: grid;
  gap: 22px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  margin: 0 0 clamp(28px, 4vw, 48px);
  padding: clamp(22px, 3vw, 34px);
}

.svh-sponsor-support__icon {
  align-items: center;
  background: #080808;
  border-radius: 20px;
  color: #fff;
  display: flex;
  font-size: 26px;
  height: 68px;
  justify-content: center;
  width: 68px;
}

.svh-sponsor-support h2 { font-size: clamp(26px, 3vw, 38px); margin: 4px 0 8px; }
.svh-sponsor-support p { color: var(--svh-muted); line-height: 1.55; margin: 0; max-width: 780px; }
.svh-sponsor-support .svh-button { white-space: nowrap; }

.svh-sponsor {
  border-radius: 30px;
  min-height: 220px;
  padding: 28px;
}

.svh-sponsor__logo {
  align-items: center;
  display: flex;
  height: 150px;
  justify-content: center;
  transition: transform .25s ease;
  width: 100%;
}

.svh-sponsor__logo img,
.svh-sponsor img {
  display: block;
  height: 100%;
  max-height: 150px;
  max-width: 92%;
  object-fit: contain;
  object-position: center;
  width: 100%;
}

.svh-sponsor:hover .svh-sponsor__logo { transform: scale(1.04); }
.svh-sponsor__placeholder { color: #8a8d94; font-size: 12px; font-weight: 850; letter-spacing: .08em; line-height: 1.15; text-transform: uppercase; }

@media (max-width: 860px) {
  .svh-sponsor-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .svh-sponsor-support { align-items: start; grid-template-columns: auto 1fr; }
  .svh-sponsor-support .svh-button { grid-column: 1 / -1; justify-self: start; }
}

@media (max-width: 520px) {
  .svh-sponsor-support { grid-template-columns: 1fr; }
  .svh-sponsor-support__icon { height: 58px; width: 58px; }
  .svh-sponsor-support .svh-button { width: 100%; }
  .svh-sponsor { min-height: 170px; padding: 18px; }
  .svh-sponsor__logo { height: 120px; }
  .svh-sponsor__logo img, .svh-sponsor img { max-height: 120px; }
}

.svh-sponsor-carousel { overflow: hidden; }
.svh-sponsor-carousel__track {
  display: grid;
  gap: 18px;
  grid-auto-columns: calc((100% - 54px) / 4);
  grid-auto-flow: column;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  padding: 4px 2px 28px;
  scroll-behavior: smooth;
  scroll-snap-type: inline mandatory;
  scrollbar-width: none;
}
.svh-sponsor-carousel__track::-webkit-scrollbar { display: none; }
.svh-sponsor-carousel__track .svh-sponsor { scroll-snap-align: start; }
.svh-sponsor-carousel__controls { align-items: center; display: flex; gap: 12px; justify-content: center; }
.svh-sponsor-carousel__controls button {
  align-items: center;
  backdrop-filter: blur(18px) saturate(150%);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
  background: linear-gradient(145deg, rgba(255,255,255,.88), rgba(224,227,233,.66));
  border: 1px solid rgba(255,255,255,.95);
  border-radius: 50%;
  box-shadow: inset 0 1px 0 #fff, 0 9px 24px rgba(20,25,34,.13);
  cursor: pointer;
  display: flex;
  font-size: 20px;
  height: 46px;
  justify-content: center;
  transition: transform .2s ease;
  width: 46px;
}
.svh-sponsor-carousel__controls button:hover { transform: translateY(-2px); }
.svh-sponsor-carousel__controls span { color: var(--svh-muted); font-size: 13px; font-weight: 850; min-width: 48px; text-align: center; }
.svh-sponsor-carousel.has-no-overflow .svh-sponsor-carousel__controls { display: none; }

@media (max-width: 860px) {
  .svh-sponsor-carousel__track { grid-auto-columns: calc((100% - 18px) / 2); }
}

@media (max-width: 520px) {
  .svh-sponsor-carousel__track { grid-auto-columns: 100%; }
}

.svh-contact-page {
  align-items: start;
  display: grid;
  gap: 22px;
  grid-template-columns: minmax(250px, .72fr) minmax(0, 1.8fr);
}
.svh-contact-page .svh-info-card { margin-top: 0; }
.svh-contact-page .svh-info-card h2 { font-size: 28px; margin: 8px 0 18px; }
.svh-contact-form-card {
  backdrop-filter: blur(26px) saturate(145%);
  -webkit-backdrop-filter: blur(26px) saturate(145%);
  background: linear-gradient(145deg, rgba(255,255,255,.8), rgba(245,247,250,.54));
  border: 1px solid rgba(255,255,255,.9);
  border-radius: 30px;
  box-shadow: inset 0 1px 0 #fff, 0 22px 58px rgba(22,27,36,.13);
  padding: clamp(24px, 5vw, 48px);
}
.svh-contact-form-card > h2 { font-size: clamp(30px, 4vw, 46px); letter-spacing: -.04em; line-height: 1.04; margin: 6px 0 12px; }
.svh-contact-form-card > p { color: var(--svh-muted); margin-bottom: 28px; }
.svh-form-grid { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.svh-contact-form p { margin: 0 0 17px; }
.svh-contact-form label { display: block; font-size: 14px; font-weight: 800; margin-bottom: 7px; }
.svh-contact-form input:not([type="checkbox"]),
.svh-contact-form select,
.svh-contact-form textarea {
  appearance: none;
  -webkit-appearance: none;
  background: rgba(255,255,255,.7);
  border: 1px solid rgba(255,255,255,.94);
  border-radius: 15px;
  box-shadow: inset 0 1px 0 #fff, inset 0 0 0 1px rgba(32,37,45,.04);
  color: var(--svh-ink);
  font: inherit;
  font-size: 16px;
  min-height: 52px;
  outline: none;
  padding: 12px 14px;
  transition: border-color .2s ease, box-shadow .2s ease;
  width: 100%;
}
.svh-contact-form select {
  background-image: linear-gradient(45deg, transparent 50%, #333 50%), linear-gradient(135deg, #333 50%, transparent 50%);
  background-position: calc(100% - 19px) 22px, calc(100% - 13px) 22px;
  background-repeat: no-repeat;
  background-size: 6px 6px, 6px 6px;
  padding-right: 38px;
}
.svh-contact-form textarea { min-height: 160px; resize: vertical; }
.svh-contact-form input:focus,
.svh-contact-form select:focus,
.svh-contact-form textarea:focus { border-color: #151515; box-shadow: 0 0 0 3px rgba(5,5,5,.12), inset 0 1px 0 #fff; }
.svh-form-grid--last { align-items: center; }
.svh-form-privacy label { font-weight: 600; line-height: 1.35; }
.svh-form-privacy input { height: 20px; margin: 0 8px 0 0; vertical-align: -4px; width: 20px; }
.svh-form-privacy a { border-bottom: 1px solid currentColor; font-weight: 800; }
.svh-contact-form .svh-button { border: 0; cursor: pointer; margin-top: 6px; }
.svh-form-note { color: var(--svh-muted); font-size: 12px; margin-top: 15px !important; }
.svh-form-honeypot { height: 1px; left: -10000px; overflow: hidden; position: absolute; top: auto; width: 1px; }
.svh-form-message { border-radius: 16px; margin-bottom: 22px; padding: 15px 17px; }
.svh-form-message.is-success { background: #e4f5e8; border: 1px solid #a8d8b1; color: #174b23; }
.svh-form-message.is-error { background: #fde8e8; border: 1px solid #efb3b3; color: #7a1d1d; }

@media (max-width: 860px) {
  .svh-contact-page { grid-template-columns: 1fr; }
  .svh-contact-page .svh-info-card { position: static; }
}

@media (max-width: 520px) {
  .svh-form-grid { grid-template-columns: 1fr; }
  .svh-contact-form-card { border-radius: 25px; padding: 24px 18px; }
}

/* Club profile */
.svh-club-page { padding-bottom: 40px; padding-top: 42px; }
.svh-club-hero {
  background: radial-gradient(circle at 84% 42%, rgba(255,255,255,.11), transparent 28%), linear-gradient(135deg, #050505, #202125);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 36px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 28px 70px rgba(9,12,17,.2);
  color: #fff;
  min-height: 500px;
  overflow: hidden;
  position: relative;
}
.svh-club-hero::after { background: linear-gradient(115deg, rgba(255,255,255,.06), transparent 40%); content: ""; inset: 0; pointer-events: none; position: absolute; }
.svh-club-hero__crest { filter: grayscale(1); height: min(680px, 78vw); opacity: .13; position: absolute; right: -7%; top: 50%; transform: translateY(-50%); width: min(680px, 78vw); }
.svh-club-hero__content { max-width: 720px; padding: clamp(42px, 8vw, 96px); position: relative; z-index: 1; }
.svh-club-hero .svh-eyebrow { color: rgba(255,255,255,.55); }
.svh-club-hero h1 { font-size: clamp(60px, 10vw, 118px); letter-spacing: -.065em; line-height: .86; margin: 24px 0 30px; }
.svh-club-hero p { color: rgba(255,255,255,.72); font-size: clamp(19px, 2.5vw, 28px); line-height: 1.35; margin: 0; max-width: 680px; }
.svh-club-hero__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 36px; }
.svh-button--outline { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.28); color: #fff; }

.svh-club-jump { backdrop-filter: blur(28px) saturate(150%); -webkit-backdrop-filter: blur(28px) saturate(150%); background: rgba(255,255,255,.62); border: 1px solid rgba(255,255,255,.9); border-radius: 999px; box-shadow: inset 0 1px 0 #fff, 0 16px 42px rgba(24,29,38,.12); display: flex; gap: 7px; margin: -28px auto 28px; padding: 8px; position: relative; width: max-content; z-index: 2; }
.svh-club-jump a { border-radius: 999px; font-size: 14px; font-weight: 850; padding: 10px 16px; }
.svh-club-jump a:hover { background: #050505; color: #fff; }

.svh-club-facts { display: grid; gap: 14px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: clamp(54px, 8vw, 90px); }
.svh-club-facts article,
.svh-club-panel,
.svh-club-person,
.svh-club-facility,
.svh-club-documents article,
.svh-club-documents a {
  backdrop-filter: blur(26px) saturate(145%);
  -webkit-backdrop-filter: blur(26px) saturate(145%);
  background: linear-gradient(145deg, rgba(255,255,255,.78), rgba(242,244,248,.48));
  border: 1px solid rgba(255,255,255,.9);
  box-shadow: inset 0 1px 0 #fff, 0 18px 52px rgba(22,27,36,.11);
}
.svh-club-facts article { border-radius: 24px; min-height: 142px; padding: 26px; }
.svh-club-facts strong { display: block; font-size: clamp(24px, 3vw, 38px); letter-spacing: -.04em; line-height: 1; }
.svh-club-facts span { color: var(--svh-muted); display: block; font-size: 13px; font-weight: 750; margin-top: 10px; }

.svh-club-profile { align-items: stretch; display: grid; gap: 18px; grid-template-columns: minmax(0, 1.55fr) minmax(320px, .75fr); scroll-margin-top: 110px; }
.svh-club-panel { border-radius: 30px; padding: clamp(28px, 5vw, 52px); }
.svh-club-panel h2 { font-size: clamp(34px, 5vw, 58px); letter-spacing: -.05em; line-height: 1; margin: 8px 0 20px; }
.svh-club-panel--large > p { color: var(--svh-muted); font-size: 18px; max-width: 760px; }
.svh-club-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.svh-club-tags span { background: rgba(0,0,0,.06); border: 1px solid rgba(255,255,255,.8); border-radius: 999px; font-size: 13px; font-weight: 850; padding: 8px 12px; }
.svh-club-address { align-items: center; background: linear-gradient(145deg, rgba(25,26,29,.95), rgba(2,2,3,.91)); color: #fff; display: flex; flex-direction: column; justify-content: space-between; }
.svh-club-address img { filter: grayscale(1); height: 150px; object-fit: contain; width: 150px; }
.svh-club-address .svh-eyebrow, .svh-club-address p { color: rgba(255,255,255,.6); }
.svh-club-address h2 { font-size: 34px; margin-bottom: 12px; }
.svh-club-address a { border-bottom: 1px solid rgba(255,255,255,.45); font-weight: 800; }

.svh-club-section { margin-top: clamp(58px, 9vw, 104px); scroll-margin-top: 110px; }
.svh-club-board { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.svh-club-person { align-items: center; border-radius: 22px; display: grid; gap: 15px; grid-template-columns: 54px minmax(0, 1fr) 30px; min-height: 104px; padding: 18px; transition: box-shadow .2s ease, transform .2s ease; }
.svh-club-person:hover { box-shadow: inset 0 1px 0 #fff, 0 22px 56px rgba(14,18,25,.18); transform: translateY(-3px); }
.svh-club-person__initials { align-items: center; background: #050505; border-radius: 16px; color: #fff; display: flex; font-size: 15px; font-weight: 900; height: 54px; justify-content: center; width: 54px; }
.svh-club-person__text { min-width: 0; }
.svh-club-person__text small { color: var(--svh-muted); display: block; font-size: 11px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.svh-club-person__text strong { display: block; font-size: 19px; margin: 2px 0; }
.svh-club-person__text span { color: var(--svh-muted); display: block; font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.svh-club-person__arrow { align-items: center; background: rgba(0,0,0,.06); border-radius: 50%; display: flex; font-size: 15px; height: 30px; justify-content: center; width: 30px; }

.svh-club-facilities { display: grid; gap: 16px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.svh-club-facility { border-radius: 28px; min-height: 300px; overflow: hidden; padding: 28px; position: relative; }
.svh-club-facility > strong { display: block; font-size: clamp(28px, 3.5vw, 42px); letter-spacing: -.045em; line-height: 1; margin-top: 50px; max-width: 300px; }
.svh-club-facility p { color: var(--svh-muted); max-width: 300px; }
.svh-club-facility > span { bottom: -24px; color: rgba(0,0,0,.06); font-size: 150px; font-weight: 950; line-height: 1; position: absolute; right: 12px; }
.svh-club-facility--dark { background: linear-gradient(145deg, #25262a, #030304); color: #fff; }
.svh-club-facility--dark .svh-eyebrow, .svh-club-facility--dark p { color: rgba(255,255,255,.6); }
.svh-club-facility--dark > span { color: rgba(255,255,255,.07); }

.svh-club-history { background: linear-gradient(140deg, rgba(23,24,27,.96), rgba(2,2,3,.92)); border: 1px solid rgba(255,255,255,.16); border-radius: 34px; color: #fff; display: grid; gap: 50px; grid-template-columns: minmax(280px, .75fr) minmax(0, 1.35fr); margin-top: clamp(58px, 9vw, 104px); overflow: hidden; padding: clamp(32px, 6vw, 70px); scroll-margin-top: 110px; }
.svh-club-history .svh-eyebrow, .svh-club-history p { color: rgba(255,255,255,.58); }
.svh-club-history h2 { font-size: clamp(40px, 6vw, 68px); letter-spacing: -.055em; line-height: .98; margin: 10px 0 22px; }
.svh-club-milestones { display: grid; gap: 1px; }
.svh-club-milestones article { border-bottom: 1px solid rgba(255,255,255,.14); display: grid; gap: 16px; grid-template-columns: 105px 1fr; padding: 21px 0; }
.svh-club-milestones strong { font-size: 19px; }
.svh-club-milestones span { color: rgba(255,255,255,.7); }

.svh-club-membership { align-items: center; background: linear-gradient(135deg, #fff, #dfe2e8); border: 1px solid rgba(255,255,255,.94); border-radius: 34px; box-shadow: inset 0 1px 0 #fff, 0 24px 62px rgba(20,25,34,.13); display: flex; gap: 34px; justify-content: space-between; margin-top: clamp(58px, 9vw, 104px); padding: clamp(30px, 6vw, 66px); scroll-margin-top: 110px; }
.svh-club-membership h2 { font-size: clamp(40px, 6vw, 70px); letter-spacing: -.055em; line-height: .95; margin: 8px 0 18px; }
.svh-club-membership p { color: var(--svh-muted); font-size: 18px; max-width: 700px; }
.svh-club-membership__actions { display: flex; flex-direction: column; flex: 0 0 250px; gap: 10px; }
.svh-club-membership .svh-button { justify-content: center; }
.svh-club-membership .svh-button--outline { border-color: rgba(0,0,0,.18); color: #050505; }

.svh-club-documents { display: grid; gap: 14px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.svh-club-documents article, .svh-club-documents a { border-radius: 26px; display: grid; gap: 18px; grid-template-columns: 42px 1fr; min-height: 210px; padding: 28px; }
.svh-club-documents a { transition: box-shadow .2s ease, transform .2s ease; }
.svh-club-documents a:hover { box-shadow: inset 0 1px 0 #fff, 0 24px 60px rgba(14,18,25,.18); transform: translateY(-3px); }
.svh-club-documents article > span, .svh-club-documents a > span { align-items: center; background: #050505; border-radius: 13px; color: #fff; display: flex; font-size: 12px; font-weight: 900; height: 42px; justify-content: center; width: 42px; }
.svh-club-documents strong { display: block; font-size: 24px; }
.svh-club-documents p { color: var(--svh-muted); font-size: 14px; }
.svh-club-documents small { color: #888b92; display: block; font-size: 11px; margin-top: 22px; }
.svh-club-brand-head { align-items: end; display: flex; gap: 30px; justify-content: space-between; margin: 48px 0 22px; }
.svh-club-brand-head h3 { font-size: clamp(31px, 4vw, 48px); letter-spacing: -.045em; line-height: 1; margin: 8px 0 11px; }
.svh-club-brand-head p { color: var(--svh-muted); margin: 0; max-width: 650px; }
.svh-club-brand-head .svh-button { flex: 0 0 auto; }
.svh-club-brand-assets { display: grid; gap: 15px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.svh-club-brand-asset { background: linear-gradient(145deg, rgba(255,255,255,.86), rgba(238,240,244,.58)); border: 1px solid rgba(255,255,255,.94); border-radius: 26px; box-shadow: inset 0 1px 0 #fff, 0 18px 48px rgba(18,23,31,.1); color: #050505; display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr) 42px; overflow: hidden; padding: 14px; transition: box-shadow .24s ease, transform .24s ease; }
.svh-club-brand-asset:hover { box-shadow: inset 0 1px 0 #fff, 0 25px 58px rgba(18,23,31,.17); transform: translateY(-3px); }
.svh-club-brand-asset__preview { align-items: center; background: linear-gradient(145deg, #fff, #e8eaee); border: 1px solid rgba(0,0,0,.05); border-radius: 18px; display: flex; grid-column: 1 / -1; justify-content: center; min-height: 190px; padding: 24px; }
.svh-club-brand-asset__preview img { height: 150px; object-fit: contain; width: 100%; }
.svh-club-brand-asset__body { min-width: 0; padding: 2px 7px 8px; }
.svh-club-brand-asset__body small { color: var(--svh-muted); display: block; font-size: 11px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.svh-club-brand-asset__body strong { display: block; font-size: 21px; line-height: 1.05; margin: 7px 0; }
.svh-club-brand-asset__body > span { color: var(--svh-muted); font-size: 13px; }
.svh-club-brand-asset__download { align-items: center; align-self: end; background: #050505; border-radius: 14px; color: #fff; display: flex; font-size: 21px; height: 42px; justify-content: center; margin-bottom: 6px; width: 42px; }

@media (max-width: 860px) {
  .svh-club-profile, .svh-club-history { grid-template-columns: 1fr; }
  .svh-club-facilities, .svh-club-documents { grid-template-columns: 1fr; }
  .svh-club-brand-assets { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .svh-club-facility { min-height: 240px; }
  .svh-club-membership { align-items: stretch; flex-direction: column; }
  .svh-club-membership__actions { flex-basis: auto; }
}

@media (max-width: 620px) {
  .svh-club-page { padding-top: 20px; }
  .svh-club-hero { border-radius: 27px; min-height: 520px; }
  .svh-club-hero__crest { height: 390px; opacity: .1; right: -32%; top: 30%; width: 390px; }
  .svh-club-hero__content { padding: 44px 24px; }
  .svh-club-hero h1 { font-size: clamp(58px, 20vw, 82px); }
  .svh-club-hero__actions .svh-button { justify-content: center; width: 100%; }
  .svh-club-jump { justify-content: flex-start; margin-top: -24px; max-width: calc(100% - 20px); overflow-x: auto; width: auto; }
  .svh-club-jump a { white-space: nowrap; }
  .svh-club-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .svh-club-facts article { min-height: 120px; padding: 20px; }
  .svh-club-board { grid-template-columns: 1fr; }
  .svh-club-person { grid-template-columns: 48px minmax(0, 1fr) 28px; padding: 14px; }
  .svh-club-person__initials { border-radius: 14px; height: 48px; width: 48px; }
  .svh-club-person__text span { font-size: 11px; }
  .svh-club-history { border-radius: 27px; gap: 22px; padding: 30px 22px; }
  .svh-club-milestones article { grid-template-columns: 88px 1fr; }
  .svh-club-membership { border-radius: 27px; padding: 30px 22px; }
  .svh-club-documents article, .svh-club-documents a { min-height: auto; }
  .svh-club-brand-head { align-items: stretch; flex-direction: column; }
  .svh-club-brand-head .svh-button { justify-content: center; }
  .svh-club-brand-assets { grid-template-columns: 1fr; }
  .svh-club-brand-asset__preview { min-height: 165px; }
}

/* Club worlds */
.svh-club-worlds { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.svh-club-world { border: 1px solid rgba(255,255,255,.88); border-radius: 30px; box-shadow: inset 0 1px 0 rgba(255,255,255,.72), 0 20px 56px rgba(19,24,33,.13); color: #fff; min-height: 390px; overflow: hidden; position: relative; transition: box-shadow .25s ease, transform .25s ease; }
.svh-club-world:hover { box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 28px 68px rgba(12,16,23,.22); transform: translateY(-4px); }
.svh-club-world--image > img { height: 100%; inset: 0; object-fit: cover; position: absolute; transition: transform .6s ease; width: 100%; }
.svh-club-world--image:hover > img { transform: scale(1.035); }
.svh-club-world__shade { background: linear-gradient(180deg, rgba(0,0,0,.04) 18%, rgba(0,0,0,.88) 100%); inset: 0; position: absolute; }
.svh-club-world__body { bottom: 0; display: block; left: 0; padding: 30px; position: absolute; right: 0; z-index: 2; }
.svh-club-world__body small { color: rgba(255,255,255,.62); display: block; font-size: 11px; font-weight: 900; letter-spacing: .12em; margin-bottom: 7px; text-transform: uppercase; }
.svh-club-world__body strong { display: block; font-size: clamp(30px, 4vw, 50px); letter-spacing: -.05em; line-height: .95; }
.svh-club-world__body > span { color: rgba(255,255,255,.68); display: block; font-size: 14px; margin-top: 12px; max-width: 420px; }
.svh-club-world--song { background: radial-gradient(circle at 50% 20%, rgba(255,255,255,.16), transparent 28%), linear-gradient(145deg, #25262a, #030304); }
.svh-club-world__poster { background: transparent; border: 0; color: inherit; cursor: pointer; inset: 0; padding: 0; position: absolute; text-align: left; width: 100%; }
.svh-club-world__poster > img { filter: grayscale(1); height: 190px; left: 50%; opacity: .18; position: absolute; top: 42%; transform: translate(-50%, -50%); width: 190px; }
.svh-club-world__play { align-items: center; backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); background: rgba(255,255,255,.88); border-radius: 50%; color: #050505; display: flex; font-size: 22px; height: 72px; justify-content: center; left: 50%; padding-left: 4px; position: absolute; top: 37%; transform: translate(-50%, -50%); width: 72px; }
.svh-club-world__poster:focus-visible { box-shadow: inset 0 0 0 4px #fff; outline: 3px solid #050505; outline-offset: -7px; }
.svh-club-world__poster:hover .svh-club-world__play { transform: translate(-50%, -50%) scale(1.06); }
.svh-club-world__play { transition: transform .24s ease; }
.svh-youtube-player { background: #000; inset: 0; position: absolute; z-index: 5; }
.svh-youtube-player iframe { border: 0; height: 100%; inset: 0; position: absolute; width: 100%; }
.svh-club-world--song.is-playing { background: #000; }
.svh-club-world--mag { background: linear-gradient(135deg, #f6f7f9, #cdd1d8); color: #050505; }
.svh-club-world--mag .svh-club-world__body small, .svh-club-world--mag .svh-club-world__body > span { color: rgba(0,0,0,.55); }
.svh-club-world__issue { color: rgba(0,0,0,.07); font-size: clamp(110px, 18vw, 220px); font-weight: 950; letter-spacing: -.09em; line-height: .8; position: absolute; right: -8px; top: 34px; }

/* Chronik */
.svh-history-page, .svh-legends-page { padding-bottom: 50px; padding-top: 42px; }
.svh-history-hero { border-radius: 36px; color: #fff; min-height: 560px; overflow: hidden; position: relative; }
.svh-history-hero > img { filter: grayscale(1); height: 100%; inset: 0; object-fit: cover; position: absolute; width: 100%; }
.svh-history-hero > span { background: linear-gradient(90deg, rgba(0,0,0,.88), rgba(0,0,0,.18)), linear-gradient(180deg, transparent 40%, rgba(0,0,0,.58)); inset: 0; position: absolute; }
.svh-history-hero > div { bottom: 0; left: 0; max-width: 850px; padding: clamp(34px, 7vw, 80px); position: absolute; z-index: 1; }
.svh-history-hero .svh-eyebrow { color: rgba(255,255,255,.58); }
.svh-history-hero h1 { font-size: clamp(58px, 10vw, 108px); letter-spacing: -.065em; line-height: .88; margin: 15px 0 26px; }
.svh-history-hero p { color: rgba(255,255,255,.72); font-size: clamp(18px, 2.5vw, 27px); margin: 0; }
.svh-history-intro { align-items: start; display: grid; gap: 36px; grid-template-columns: 1fr 1fr; margin: clamp(50px, 8vw, 90px) auto; max-width: 1040px; }
.svh-history-intro h2 { font-size: clamp(36px, 5vw, 58px); letter-spacing: -.05em; line-height: .98; margin: 8px 0 0; }
.svh-history-intro > p { color: var(--svh-muted); font-size: 18px; margin: 24px 0 0; }
.svh-history-album { backdrop-filter: blur(28px) saturate(145%); -webkit-backdrop-filter: blur(28px) saturate(145%); background: linear-gradient(145deg, rgba(255,255,255,.84), rgba(237,240,245,.58)); border: 1px solid rgba(255,255,255,.92); border-radius: 34px; box-shadow: inset 0 1px 0 #fff, 0 24px 70px rgba(17,22,30,.14); margin: 0 0 clamp(50px, 8vw, 90px); overflow: hidden; padding: clamp(22px, 4vw, 44px); }
.svh-history-album__head { align-items: end; display: grid; gap: 30px; grid-template-columns: minmax(0, 1fr) minmax(280px, .75fr); margin-bottom: 28px; }
.svh-history-album__head h2 { font-size: clamp(38px, 6vw, 68px); letter-spacing: -.055em; line-height: .92; margin: 9px 0 0; }
.svh-history-album__head > p { color: var(--svh-muted); font-size: 17px; margin: 0; }
.svh-history-album__viewer { background: linear-gradient(145deg, #242529, #060607); border: 1px solid rgba(255,255,255,.2); border-radius: 26px; min-height: clamp(420px, 67vw, 900px); overflow: hidden; position: relative; }
.svh-history-album__consent { align-items: center; color: #fff; display: flex; flex-direction: column; gap: 22px; inset: 0; justify-content: center; padding: 34px; position: absolute; text-align: center; }
.svh-history-album__consent > img { filter: grayscale(1) invert(1); height: 116px; opacity: .72; object-fit: contain; width: 116px; }
.svh-history-album__consent strong { display: block; font-size: clamp(27px, 4vw, 45px); letter-spacing: -.04em; line-height: 1; }
.svh-history-album__consent p { color: rgba(255,255,255,.62); margin: 10px auto 0; max-width: 560px; }
.svh-history-album__consent .svh-button { background: #fff; color: #050505; }
.svh-history-album__frame { height: clamp(520px, 67vw, 900px); }
.svh-history-album__frame iframe { background: #fff; border: 0; display: block; height: 100%; width: 100%; }
.svh-history-album__footer { align-items: start; display: grid; gap: 28px; grid-template-columns: minmax(0, 1fr) auto; padding: 26px 8px 0; }
.svh-history-album__footer p { color: var(--svh-muted); margin: 0; max-width: 900px; }
.svh-history-album__footer a { color: #050505; font-weight: 850; white-space: nowrap; }
.svh-history-chapters { display: grid; gap: 16px; }
.svh-history-chapter { backdrop-filter: blur(26px) saturate(145%); -webkit-backdrop-filter: blur(26px) saturate(145%); background: linear-gradient(145deg, rgba(255,255,255,.78), rgba(242,244,248,.48)); border: 1px solid rgba(255,255,255,.9); border-radius: 28px; box-shadow: inset 0 1px 0 #fff, 0 18px 52px rgba(22,27,36,.1); display: grid; gap: 26px; grid-template-columns: 66px minmax(0, 1fr); min-height: 230px; overflow: hidden; padding: 34px; position: relative; }
.svh-history-chapter.has-image { grid-template-columns: minmax(250px, .85fr) 66px minmax(0, 1.15fr); padding: 0; }
.svh-history-chapter > img { height: 100%; min-height: 300px; object-fit: cover; width: 100%; }
.svh-history-chapter__number { align-items: center; background: #050505; border-radius: 18px; color: #fff; display: flex; font-size: 15px; font-weight: 900; height: 66px; justify-content: center; width: 66px; }
.svh-history-chapter.has-image .svh-history-chapter__number { margin-top: 34px; }
.svh-history-chapter__body { align-self: center; max-width: 680px; }
.svh-history-chapter.has-image .svh-history-chapter__body { padding: 34px 34px 34px 0; }
.svh-history-chapter__body small { color: var(--svh-muted); font-size: 12px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.svh-history-chapter__body h2 { font-size: clamp(28px, 4vw, 45px); letter-spacing: -.045em; line-height: 1; margin: 8px 0 14px; }
.svh-history-chapter__body p { color: var(--svh-muted); font-size: 16px; margin: 0; }
.svh-history-credit { align-items: center; background: linear-gradient(145deg, #25262a, #030304); border: 1px solid rgba(255,255,255,.18); border-radius: 32px; color: #fff; display: grid; gap: 28px; grid-template-columns: 110px minmax(0, 1fr) auto; margin-top: 70px; padding: clamp(28px, 5vw, 50px); }
.svh-history-credit img { filter: grayscale(1); height: 100px; object-fit: contain; width: 100px; }
.svh-history-credit .svh-eyebrow, .svh-history-credit p { color: rgba(255,255,255,.6); }
.svh-history-credit h2 { font-size: clamp(29px, 4vw, 45px); letter-spacing: -.04em; line-height: 1; margin: 7px 0 10px; }
.svh-history-credit p { margin: 0; max-width: 650px; }

/* Legenden */
.svh-legends-hero { background: radial-gradient(circle at 80% 30%, rgba(255,255,255,.11), transparent 28%), linear-gradient(145deg, #242529, #030304); border: 1px solid rgba(255,255,255,.17); border-radius: 36px; color: #fff; min-height: 470px; overflow: hidden; padding: clamp(40px, 8vw, 90px); position: relative; }
.svh-legends-hero > img { filter: grayscale(1); height: 520px; opacity: .1; position: absolute; right: -30px; top: 50%; transform: translateY(-50%); width: 520px; }
.svh-legends-hero > div { max-width: 790px; position: relative; z-index: 1; }
.svh-legends-hero .svh-eyebrow { color: rgba(255,255,255,.56); }
.svh-legends-hero h1 { font-size: clamp(58px, 10vw, 108px); letter-spacing: -.065em; line-height: .88; margin: 24px 0 30px; }
.svh-legends-hero p { color: rgba(255,255,255,.7); font-size: clamp(18px, 2.5vw, 26px); max-width: 720px; }
.svh-legends-grid { display: grid; gap: 22px; margin-top: 28px; }
.svh-legend-card { backdrop-filter: blur(26px) saturate(145%); -webkit-backdrop-filter: blur(26px) saturate(145%); background: linear-gradient(145deg, rgba(255,255,255,.8), rgba(242,244,248,.5)); border: 1px solid rgba(255,255,255,.92); border-radius: 30px; box-shadow: inset 0 1px 0 #fff, 0 20px 56px rgba(20,25,34,.12); display: grid; grid-template-columns: minmax(300px, .9fr) minmax(0, 1.25fr); overflow: hidden; }
.svh-legend-card:nth-child(even) { grid-template-columns: minmax(0, 1.25fr) minmax(300px, .9fr); }
.svh-legend-card:nth-child(even) .svh-legend-card__image { order: 2; }
.svh-legend-card__image { min-height: 440px; overflow: hidden; position: relative; }
.svh-legend-card__image img { filter: grayscale(.25); height: 100%; object-fit: cover; width: 100%; }
.svh-legend-card__image > span { align-items: center; backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); background: rgba(255,255,255,.75); border: 1px solid rgba(255,255,255,.9); border-radius: 16px; bottom: 20px; display: flex; font-size: 13px; font-weight: 900; height: 48px; justify-content: center; position: absolute; right: 20px; width: 48px; }
.svh-legend-card__body { align-self: center; padding: clamp(30px, 6vw, 70px); }
.svh-legend-card__body small { color: var(--svh-muted); font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.svh-legend-card__body h2 { font-size: clamp(38px, 6vw, 68px); letter-spacing: -.055em; line-height: .92; margin: 12px 0 16px; }
.svh-legend-card__body h3 { font-size: clamp(20px, 3vw, 29px); margin: 0 0 18px; }
.svh-legend-card__body p { color: var(--svh-muted); font-size: 17px; }
.svh-legends-quote { align-items: center; background: linear-gradient(145deg, #25262a, #030304); border-radius: 32px; color: #fff; display: grid; gap: 25px; grid-template-columns: 70px minmax(0, 1fr) auto; margin-top: 60px; padding: clamp(28px, 6vw, 60px); }
.svh-legends-quote > span { color: rgba(255,255,255,.18); font-family: Georgia, serif; font-size: 110px; line-height: .6; }
.svh-legends-quote p { font-size: clamp(20px, 3vw, 31px); font-weight: 750; line-height: 1.25; margin: 0; max-width: 760px; }
.svh-legends-quote a { border-bottom: 1px solid rgba(255,255,255,.4); font-weight: 850; white-space: nowrap; }

@media (max-width: 860px) {
  .svh-history-chapter.has-image { grid-template-columns: 1fr 60px minmax(0, 1fr); }
  .svh-history-chapter > img { grid-column: 1 / -1; max-height: 420px; min-height: 0; }
  .svh-history-chapter.has-image .svh-history-chapter__number { margin: 0 0 30px 30px; }
  .svh-history-chapter.has-image .svh-history-chapter__body { padding: 0 30px 30px 0; }
  .svh-history-credit { grid-template-columns: 90px 1fr; }
  .svh-history-credit .svh-button { grid-column: 1 / -1; justify-content: center; }
  .svh-legend-card, .svh-legend-card:nth-child(even) { grid-template-columns: 1fr; }
  .svh-legend-card:nth-child(even) .svh-legend-card__image { order: 0; }
  .svh-legend-card__image { min-height: 480px; }
  .svh-legends-quote { grid-template-columns: 60px 1fr; }
  .svh-legends-quote a { grid-column: 2; justify-self: start; }
}

@media (max-width: 620px) {
  .svh-club-worlds { grid-template-columns: 1fr; }
  .svh-club-world { border-radius: 25px; min-height: 360px; }
  .svh-club-world__body { padding: 24px; }
  .svh-history-page, .svh-legends-page { padding-top: 20px; }
  .svh-history-hero, .svh-legends-hero { border-radius: 27px; min-height: 520px; }
  .svh-history-hero > div, .svh-legends-hero { padding: 38px 24px; }
  .svh-history-intro { grid-template-columns: 1fr; }
  .svh-history-intro > p { margin-top: 0; }
  .svh-history-album { border-radius: 27px; padding: 14px; }
  .svh-history-album__head, .svh-history-album__footer { grid-template-columns: 1fr; }
  .svh-history-album__head { padding: 16px 10px 0; }
  .svh-history-album__viewer { border-radius: 20px; min-height: 540px; }
  .svh-history-album__frame { height: min(72vh, 720px); min-height: 540px; }
  .svh-history-album__consent { padding: 24px; }
  .svh-history-album__consent > img { height: 84px; width: 84px; }
  .svh-history-album__footer { padding: 22px 10px 12px; }
  .svh-history-album__footer a { white-space: normal; }
  .svh-history-chapter, .svh-history-chapter.has-image { gap: 16px; grid-template-columns: 52px minmax(0, 1fr); padding: 22px; }
  .svh-history-chapter > img { border-radius: 18px; grid-column: 1 / -1; margin: -6px -6px 6px; max-width: calc(100% + 12px); width: calc(100% + 12px); }
  .svh-history-chapter__number { border-radius: 14px; height: 52px; width: 52px; }
  .svh-history-chapter.has-image .svh-history-chapter__number { margin: 0; }
  .svh-history-chapter.has-image .svh-history-chapter__body { padding: 0; }
  .svh-history-credit { grid-template-columns: 1fr; text-align: left; }
  .svh-history-credit img { height: 76px; width: 76px; }
  .svh-legends-hero > img { height: 340px; right: -120px; top: 35%; width: 340px; }
  .svh-legend-card { border-radius: 25px; }
  .svh-legend-card__image { min-height: 360px; }
  .svh-legend-card__body { padding: 28px 22px; }
  .svh-legends-quote { grid-template-columns: 1fr; }
  .svh-legends-quote > span { height: 44px; }
  .svh-legends-quote a { grid-column: 1; }
}

/* Historic Contao archive */
.svh-club-archive-links {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.svh-club-archive-links > a {
  background:
    radial-gradient(circle at 88% 8%, rgba(255,255,255,.15), transparent 25%),
    linear-gradient(145deg, #27282c, #050505);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 30px;
  box-shadow: 0 22px 58px rgba(17,21,29,.16);
  color: #fff;
  min-height: 300px;
  overflow: hidden;
  padding: clamp(28px, 5vw, 48px);
  position: relative;
}

.svh-club-archive-links small,
.svh-club-archive-links strong,
.svh-club-archive-links span {
  display: block;
  max-width: 540px;
  position: relative;
  z-index: 1;
}

.svh-club-archive-links small {
  color: rgba(255,255,255,.5);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.svh-club-archive-links strong {
  font-size: clamp(32px, 4.2vw, 55px);
  letter-spacing: -.055em;
  line-height: .96;
  margin-top: 20px;
}

.svh-club-archive-links span {
  color: rgba(255,255,255,.66);
  margin-top: 18px;
}

.svh-club-archive-links b {
  align-items: center;
  background: #fff;
  border-radius: 50%;
  bottom: 26px;
  color: #050505;
  display: flex;
  font-size: 23px;
  height: 52px;
  justify-content: center;
  position: absolute;
  right: 26px;
  width: 52px;
}

.svh-heritage-page {
  padding-bottom: 60px;
  padding-top: 42px;
}

.svh-heritage-hero {
  background:
    radial-gradient(circle at 82% 30%, rgba(255,255,255,.12), transparent 27%),
    linear-gradient(145deg, #25262a, #030304);
  border: 1px solid rgba(255,255,255,.17);
  border-radius: 38px;
  color: #fff;
  min-height: 500px;
  overflow: hidden;
  position: relative;
}

.svh-heritage-hero > img {
  filter: grayscale(1);
  height: min(620px, 72vw);
  opacity: .1;
  position: absolute;
  right: -4%;
  top: 50%;
  transform: translateY(-50%);
  width: min(620px, 72vw);
}

.svh-heritage-hero__content {
  max-width: 960px;
  padding: clamp(42px, 8vw, 92px);
  position: relative;
  z-index: 1;
}

.svh-heritage-hero .svh-eyebrow {
  color: rgba(255,255,255,.5);
}

.svh-heritage-hero h1 {
  font-size: clamp(58px, 10vw, 112px);
  letter-spacing: -.07em;
  line-height: .88;
  margin: 24px 0 30px;
  max-width: 1000px;
  overflow-wrap: anywhere;
}

.svh-heritage-hero p {
  color: rgba(255,255,255,.68);
  font-size: clamp(18px, 2.4vw, 26px);
  margin: 0 0 34px;
  max-width: 720px;
}

.svh-heritage-hero .svh-button--outline {
  border-color: rgba(255,255,255,.34);
  color: #fff;
}

.svh-heritage-section {
  margin-top: clamp(48px, 8vw, 86px);
}

.svh-heritage-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.svh-heritage-card {
  background: linear-gradient(145deg, #292a2e, #080809);
  border: 1px solid rgba(255,255,255,.8);
  border-radius: 29px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 20px 52px rgba(18,22,30,.15);
  color: #fff;
  min-height: 390px;
  overflow: hidden;
  position: relative;
}

.svh-heritage-card__media {
  inset: 0;
  overflow: hidden;
  position: absolute;
  z-index: 0;
}

.svh-heritage-card__media img {
  height: 100%;
  inset: 0;
  position: absolute;
  width: 100%;
}

.svh-heritage-card__backdrop {
  filter: blur(22px) brightness(.66) saturate(.72);
  object-fit: cover;
  transform: scale(1.12);
}

.svh-heritage-card__foreground {
  object-fit: contain;
  padding: 14px;
  transition: transform .55s cubic-bezier(.22, 1, .36, 1);
}

.svh-heritage-card__crest {
  filter: grayscale(1);
  height: 210px;
  opacity: .16;
  position: absolute;
  right: -28px;
  top: 35px;
  width: 210px;
}

.svh-heritage-card__shade {
  background: linear-gradient(180deg, rgba(0,0,0,.02) 18%, rgba(0,0,0,.92) 92%);
  inset: 0;
  position: absolute;
}

.svh-heritage-card__body {
  bottom: 0;
  display: block;
  left: 0;
  padding: 28px;
  position: absolute;
  right: 0;
  z-index: 1;
}

.svh-heritage-card__body small,
.svh-heritage-card__body strong,
.svh-heritage-card__body > span {
  display: block;
  padding-right: 46px;
}

.svh-heritage-card__body small {
  color: rgba(255,255,255,.54);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.svh-heritage-card__body strong {
  font-size: clamp(28px, 3.2vw, 43px);
  letter-spacing: -.05em;
  line-height: .96;
  margin-top: 10px;
}

.svh-heritage-card__body > span {
  color: rgba(255,255,255,.66);
  font-size: 14px;
  margin-top: 14px;
}

.svh-heritage-card__body b {
  align-items: center;
  background: #fff;
  border-radius: 50%;
  bottom: 27px;
  color: #050505;
  display: flex;
  height: 42px;
  justify-content: center;
  position: absolute;
  right: 25px;
  width: 42px;
}

.svh-heritage-content {
  backdrop-filter: blur(28px) saturate(145%);
  -webkit-backdrop-filter: blur(28px) saturate(145%);
  background: linear-gradient(145deg, rgba(255,255,255,.83), rgba(241,243,247,.58));
  border: 1px solid rgba(255,255,255,.94);
  border-radius: 34px;
  box-shadow: inset 0 1px 0 #fff, 0 24px 64px rgba(20,25,34,.11);
  margin-top: 28px;
  padding: clamp(28px, 6vw, 74px);
}

.svh-heritage-content > .svh-eyebrow {
  margin-bottom: 22px;
}

.svh-archive-prose {
  margin: 0 auto;
  max-width: 1120px;
  min-width: 0;
  overflow-wrap: anywhere;
}

.svh-archive-prose > h2:first-child,
.svh-archive-prose > h3:first-child {
  margin-top: 0;
}

.svh-archive-prose h2 {
  font-size: clamp(34px, 5vw, 62px);
  letter-spacing: -.05em;
  line-height: .98;
}

.svh-archive-prose h3 {
  font-size: clamp(24px, 3vw, 36px);
  letter-spacing: -.035em;
}

.svh-archive-prose p,
.svh-archive-prose li {
  font-size: clamp(16px, 1.7vw, 19px);
}

.svh-archive-prose .svh-gallery,
.svh-archive-prose > .wp-block-group > .svh-gallery {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 28px 0;
}

.svh-archive-prose figure.wp-block-image {
  margin: 22px 0;
}

.svh-archive-prose .svh-gallery figure.wp-block-image {
  align-items: center;
  background: #eceef1;
  border-radius: 18px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0;
  overflow: hidden;
}

.svh-archive-prose figure.wp-block-image img {
  border-radius: 18px;
  display: block;
  height: auto;
  max-width: 100%;
  object-fit: contain;
  width: 100%;
}

.svh-archive-prose .svh-gallery figure.wp-block-image img {
  aspect-ratio: 4 / 3;
  background: linear-gradient(145deg, #f5f6f8, #dfe2e7);
  object-fit: contain;
}

.svh-archive-prose figcaption {
  color: var(--svh-muted);
  font-size: 13px;
  padding-top: 8px;
}

.svh-archive-prose table {
  border-collapse: collapse;
  display: block;
  max-width: 100%;
  overflow-x: auto;
  width: 100% !important;
}

.svh-archive-prose iframe,
.svh-archive-prose video {
  height: auto;
  max-width: 100%;
}

.svh-archive-prose pre {
  max-width: 100%;
  overflow-x: auto;
  white-space: pre-wrap;
}

.svh-archive-prose th,
.svh-archive-prose td {
  border: 1px solid rgba(0,0,0,.12) !important;
  min-width: 130px;
  padding: 12px !important;
}

@media (hover: hover) and (pointer: fine) {
  .svh-club-archive-links > a,
  .svh-heritage-card {
    transition: box-shadow .28s ease, transform .28s cubic-bezier(.22, 1, .36, 1);
  }

  .svh-club-archive-links > a:hover,
  .svh-heritage-card:hover {
    box-shadow: 0 28px 70px rgba(14,18,25,.23);
    transform: translateY(-4px);
  }

  .svh-heritage-card:hover .svh-heritage-card__foreground {
    transform: scale(1.025);
  }
}

@media (max-width: 940px) {
  .svh-heritage-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .svh-archive-prose .svh-gallery,
  .svh-archive-prose > .wp-block-group > .svh-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .svh-club-archive-links,
  .svh-heritage-grid {
    grid-template-columns: 1fr;
  }

  .svh-club-archive-links > a {
    min-height: 330px;
  }

  .svh-heritage-page {
    padding-top: 20px;
  }

  .svh-heritage-hero {
    border-radius: 27px;
    min-height: 500px;
  }

  .svh-heritage-hero__content {
    padding: 40px 24px;
  }

  .svh-heritage-hero h1 {
    font-size: clamp(48px, 15vw, 72px);
  }

  .svh-heritage-card {
    min-height: 360px;
  }

  .svh-heritage-content {
    border-radius: 26px;
    padding: 30px 20px;
  }

  .svh-archive-prose .svh-gallery,
  .svh-archive-prose > .wp-block-group > .svh-gallery {
    grid-template-columns: 1fr;
  }

}

/* Ball donations: current highlights on the home page and a seasonal archive. */
.svh-ball-home {
  background: linear-gradient(140deg, rgba(255,255,255,.76), rgba(236,238,242,.58));
  border: 1px solid rgba(255,255,255,.92);
  border-radius: var(--svh-radius-xl);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 18px 52px rgba(24,29,38,.09);
  padding: clamp(22px, 4vw, 42px);
}

.svh-ball-card {
  background: rgba(255,255,255,.76);
  border: 1px solid rgba(255,255,255,.94);
  border-radius: 28px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.95), 0 14px 38px rgba(24,29,38,.1);
  min-width: 0;
  overflow: hidden;
}

.svh-ball-card__media {
  aspect-ratio: 16 / 10;
  background: linear-gradient(145deg, #e4e6ea, #fff);
  overflow: hidden;
  position: relative;
}

.svh-ball-card__media > img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.svh-ball-card__media > img[src*="logo"] { object-fit: contain; padding: 36px; }

.svh-ball-card__symbol {
  align-items: center;
  backdrop-filter: blur(14px);
  background: rgba(8,8,9,.76);
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 999px;
  bottom: 14px;
  color: #fff;
  display: flex;
  font-size: 19px;
  height: 44px;
  justify-content: center;
  position: absolute;
  right: 14px;
  width: 44px;
}

.svh-ball-card__body { padding: 22px; }
.svh-ball-card h3 { font-size: clamp(23px, 2.4vw, 30px); line-height: 1.08; margin: 5px 0 10px; }
.svh-ball-card p { margin: 0; }
.svh-ball-card__match { font-weight: 750; }
.svh-ball-card time { color: var(--svh-muted); display: block; font-size: 14px; margin-top: 5px; }
.svh-ball-card__link { display: inline-flex; font-size: 14px; font-weight: 850; gap: 6px; margin-top: 15px; }
.svh-ball-card__link:hover { text-decoration: underline; text-underline-offset: 4px; }
.svh-ball-archive { padding-bottom: 50px; }
.svh-ball-season { margin-top: clamp(42px, 7vw, 76px); }
.svh-ball-season__count {
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(255,255,255,.88);
  border-radius: 999px;
  color: var(--svh-muted);
  font-size: 13px;
  font-weight: 850;
  padding: 9px 14px;
  white-space: nowrap;
}
.svh-ball-support .svh-sponsor-support__icon { font-size: 25px; }

@media (hover: hover) and (pointer: fine) {
  .svh-ball-card { transition: box-shadow .28s ease, transform .28s cubic-bezier(.22, 1, .36, 1); }
  .svh-ball-card:hover { box-shadow: inset 0 1px 0 rgba(255,255,255,.98), 0 24px 62px rgba(20,25,34,.16); transform: translateY(-4px); }
}

@media (max-width: 620px) {
  .svh-ball-home { border-radius: 26px; padding: 20px; }
  .svh-ball-card { border-radius: 24px; }
  .svh-ball-card__body { padding: 19px; }
  .svh-ball-season__count { display: none; }
}

/* Motion system: progressive, touch-safe and respectful of accessibility settings. */
.svh-motion-ready .svh-reveal {
  opacity: 0;
  transform: translate3d(0, 22px, 0) scale(.985);
  transition:
    opacity .56s cubic-bezier(.22, 1, .36, 1) var(--svh-reveal-delay, 0ms),
    transform .62s cubic-bezier(.22, 1, .36, 1) var(--svh-reveal-delay, 0ms);
}

.svh-motion-ready .svh-reveal.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

.svh-button,
.svh-menu-toggle,
.svh-sponsor-carousel__controls button,
[data-svh-share],
[data-lightbox-src] {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

.svh-button {
  isolation: isolate;
  overflow: hidden;
  position: relative;
}

.svh-button::after {
  background: linear-gradient(110deg, transparent 22%, rgba(255,255,255,.62) 46%, transparent 70%);
  content: "";
  inset: -45% -65%;
  pointer-events: none;
  position: absolute;
  transform: translateX(-62%) rotate(8deg);
  transition: transform .55s cubic-bezier(.22, 1, .36, 1);
  z-index: -1;
}

.svh-live.is-live .svh-live__label::before {
  animation: svh-live-pulse 1.35s ease-in-out infinite;
  box-shadow: 0 0 0 0 rgba(229,28,35,.45);
}

@keyframes svh-live-pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(229,28,35,.42); transform: scale(.9); }
  55% { box-shadow: 0 0 0 9px rgba(229,28,35,0); transform: scale(1.08); }
}

@media (hover: hover) and (pointer: fine) {
  .svh-button:hover::after { transform: translateX(62%) rotate(8deg); }
  .svh-card,
  .svh-department,
  .svh-promo,
  .svh-sponsor,
  .svh-club-world,
  .svh-history-chapter,
  .svh-legend-card {
    transition: box-shadow .28s ease, transform .28s cubic-bezier(.22, 1, .36, 1);
  }
  .svh-card:hover,
  .svh-department:hover,
  .svh-promo:hover,
  .svh-sponsor:hover,
  .svh-club-world:hover,
  .svh-history-chapter:hover,
  .svh-legend-card:hover {
    box-shadow: inset 0 1px 0 rgba(255,255,255,.92), 0 24px 62px rgba(20,25,34,.16);
    transform: translateY(-4px);
  }
}

@media (pointer: coarse) {
  .svh-button:active,
  .svh-menu-toggle:active,
  .svh-nav a:active,
  .svh-card:active,
  .svh-department:active,
  .svh-promo:active {
    transform: scale(.985);
  }
}

@media (max-width: 860px) {
  .svh-menu-toggle > span:not(.screen-reader-text) {
    transform-origin: center;
    transition: opacity .22s ease, transform .28s cubic-bezier(.22, 1, .36, 1);
  }

  .svh-menu-toggle[aria-expanded="true"] > span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .svh-menu-toggle[aria-expanded="true"] > span:nth-child(2) { opacity: 0; transform: scaleX(.3); }
  .svh-menu-toggle[aria-expanded="true"] > span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

  .svh-nav {
    display: flex;
    opacity: 0;
    pointer-events: none;
    transform: translate3d(0, -12px, 0) scale(.985);
    transform-origin: top center;
    transition:
      opacity .24s ease,
      transform .32s cubic-bezier(.22, 1, .36, 1),
      visibility 0s linear .32s;
    visibility: hidden;
  }

  .svh-nav.is-open {
    opacity: 1;
    pointer-events: auto;
    transform: translate3d(0, 0, 0) scale(1);
    transition-delay: 0s;
    visibility: visible;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }

  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    transition-delay: 0ms !important;
  }

  .svh-motion-ready .svh-reveal,
  .svh-motion-ready .svh-reveal.is-visible {
    opacity: 1;
    transform: none;
  }

  .svh-button::after { display: none; }
}
