/* VfK 07 Schifferstadt · Designprobe «Der Kampfabend» · Herzhaus Studios 2026 */
@font-face{font-family:'Archivo';src:url(/assets/fonts/archivo-latin-standard-normal.woff2) format('woff2');font-weight:100 900;font-stretch:62% 125%;font-display:swap}
@font-face{font-family:'Archivo';src:url(/assets/fonts/archivo-latin-standard-italic.woff2) format('woff2');font-weight:100 900;font-stretch:62% 125%;font-style:italic;font-display:swap}
@font-face{font-family:'Segment';src:url(/assets/fonts/DSEG7Classic-Bold.woff2) format('woff2');font-weight:700;font-display:swap}
:root{--nacht:#0a0e18;--nacht2:#121a2b;--nacht3:#1b2438;--blau:#1e4f9f;--blau2:#2c68cf;--rot:#e2203c;--rot2:#b8132b;--gelb:#f4c21b;--kreide:#f4f1ea;--kreide2:#e7e2d6;--tinte:#10141f;--grau:#5d6577;--hell:#c9d0dd;--led-r:#ff3b4e;--led-b:#4d8dff;--led-g:#ffb321;--kopf:68px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:90px}
body{margin:0;font-family:'Archivo',system-ui,sans-serif;font-stretch:100%;font-size:18px;line-height:1.55;color:var(--tinte);background:var(--kreide);overflow-x:hidden}
button,input,select,textarea,optgroup{font-family:inherit}
img{max-width:100%;height:auto;display:block}
figure{margin:0}
a{color:var(--blau)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--gelb);outline-offset:3px}
.wrap{width:min(1240px,100% - 40px);margin-inline:auto}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;z-index:99;background:var(--gelb);color:var(--tinte);padding:10px 16px;font-weight:700}
.skip:focus{left:8px}
h1,h2,h3,.gross{font-stretch:62%;font-weight:850;text-transform:uppercase;line-height:.9;letter-spacing:.005em;margin:0 0 .35em}
h1{font-size:clamp(54px,13vw,148px)}
h2{font-size:clamp(40px,8.4vw,92px)}
h3{font-size:clamp(26px,4.6vw,38px);line-height:.95}
p{margin:0 0 1em}
.lead{font-size:clamp(19px,2.3vw,23px);line-height:1.5;max-width:40em}
.marke{display:inline-flex;align-items:center;gap:10px;font-stretch:75%;font-weight:750;text-transform:uppercase;letter-spacing:.12em;font-size:14px;margin-bottom:16px}
.marke::before{content:'';width:22px;height:22px;background:linear-gradient(135deg,var(--rot) 50%,var(--blau) 50%);flex:none}
.dunkel{background:var(--nacht);color:#eef1f7}
.dunkel a{color:#fff}
.ab{padding:clamp(64px,10vw,130px) 0}

/* LED */
.led{font-family:'Segment',monospace;font-weight:700;font-style:normal;letter-spacing:.04em;position:relative;display:inline-block;line-height:1;white-space:nowrap}
.led::before{content:attr(data-geist);position:absolute;inset:0;opacity:.09;color:inherit;text-shadow:none}
.led.r{color:var(--led-r);text-shadow:0 0 14px rgba(255,59,78,.55)}
.led.b{color:var(--led-b);text-shadow:0 0 14px rgba(77,141,255,.55)}
.led.g{color:var(--led-g);text-shadow:0 0 14px rgba(255,179,33,.5)}
.led.w{color:#f3f6ff;text-shadow:0 0 12px rgba(255,255,255,.35)}

/* Knopf: Mattenecke */
.knopf{position:relative;display:inline-flex;align-items:center;gap:12px;min-height:54px;padding:12px 26px 12px 34px;background:var(--rot);color:#fff!important;text-decoration:none;font-stretch:70%;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:19px;border:0;cursor:pointer;transition:background .25s}
.knopf::before{content:'';position:absolute;left:0;top:0;width:20px;height:20px;background:var(--blau);clip-path:polygon(0 0,100% 0,0 100%);transition:width .3s,height .3s}
.knopf:hover::before{width:30px;height:30px}
.knopf:hover{background:var(--rot2)}
.knopf.blau{background:var(--blau)}.knopf.blau::before{background:var(--rot)}.knopf.blau:hover{background:#163d7d}
.knopf.leer{background:transparent;color:inherit!important;box-shadow:inset 0 0 0 2px currentColor}
.knopf.leer::before{background:var(--rot)}
.dunkel .knopf.leer{color:#fff!important}
.knoepfe{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.weiter{display:inline-flex;align-items:center;gap:10px;font-stretch:75%;font-weight:800;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;color:inherit;border-bottom:3px solid var(--rot);padding:8px 0 4px;min-height:44px}
.weiter::after{content:'';width:12px;height:12px;background:var(--blau);clip-path:polygon(0 0,100% 0,0 100%)}

/* Kopf */
.kopf{position:fixed;inset:0 0 auto;z-index:50;height:var(--kopf);background:rgba(10,14,24,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
.kopf .wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}
.logo{display:flex;align-items:center;color:#fff;min-height:44px}
.logo svg{height:40px;width:auto}
.nav{display:none}
.nav a{color:#dfe5f0;text-decoration:none;font-stretch:72%;font-weight:700;text-transform:uppercase;letter-spacing:.07em;font-size:15.5px;padding:10px 0;position:relative}
.nav a:hover,.nav a[aria-current]{color:#fff}
.nav a[aria-current]::after{content:'';position:absolute;left:0;right:0;bottom:2px;height:3px;background:linear-gradient(90deg,var(--rot) 50%,var(--blau) 50%)}
.kopf .knopf{display:none;min-height:44px;font-size:16px;padding:8px 18px 8px 28px}
.menu-k{display:flex;align-items:center;gap:10px;background:none;border:0;color:#fff;cursor:pointer;min-height:48px;padding:0 4px;font-stretch:72%;font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:16px}
.menu-k i{display:grid;grid-template-columns:1fr 1fr;width:26px;height:26px;gap:3px;transition:transform .5s cubic-bezier(.6,.1,.2,1.3)}
.menu-k i b{display:block}
.menu-k i b:nth-child(1){background:var(--rot);clip-path:polygon(0 0,100% 0,0 100%)}
.menu-k i b:nth-child(2){border:2px solid #fff}
.menu-k i b:nth-child(3){border:2px solid #fff}
.menu-k i b:nth-child(4){background:var(--blau);clip-path:polygon(100% 0,100% 100%,0 100%)}
.menu-k[aria-expanded=true] i{transform:rotate(90deg)}
@media (min-width:1180px){.nav{display:flex;gap:26px}.menu-k{display:none}.kopf .knopf{display:inline-flex}.logo svg{height:44px}}

/* Menü: Wertungstafel */
.menu{position:fixed;inset:var(--kopf) 0 0;z-index:49;background:var(--nacht);color:#fff;overflow:auto;transform:translateY(-102%);transition:transform .55s cubic-bezier(.7,0,.2,1);visibility:hidden}
.menu.auf{transform:none;visibility:visible}
.menu-tafel{display:grid;grid-template-columns:1fr 1fr;font-stretch:72%;font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:14px}
.menu-tafel span{padding:12px 20px}
.menu-tafel span:first-child{background:var(--rot)}.menu-tafel span:last-child{background:var(--blau);text-align:right}
.menu ol{list-style:none;margin:0;padding:10px 20px 20px}
.menu li{border-bottom:1px solid rgba(255,255,255,.09);opacity:0;transform:translateX(-18px);transition:opacity .4s,transform .45s}
.menu.auf li{opacity:1;transform:none}
.menu li a{display:flex;align-items:center;gap:18px;color:#fff;text-decoration:none;padding:11px 0;min-height:52px}
.menu li .led{font-size:19px;width:2.2em}
.menu li b{font-stretch:62%;font-weight:850;font-size:30px;text-transform:uppercase;letter-spacing:.01em;line-height:1}
.menu li a[aria-current] b{color:var(--led-r)}
.menu-fuss{padding:14px 20px 120px;color:var(--hell);font-size:16px}
.menu-fuss .naechst{display:block;background:var(--nacht2);padding:14px 16px;border-left:4px solid var(--rot);margin-bottom:12px;color:#fff;text-decoration:none}
.menu-fuss .naechst small{display:block;font-stretch:75%;text-transform:uppercase;letter-spacing:.12em;color:var(--hell);font-size:13px}

/* Held */
.held{position:relative;min-height:min(100svh,980px);display:flex;align-items:flex-end;background:var(--nacht);color:#fff;overflow:hidden;padding-top:var(--kopf)}
.held picture,.held .held-bild{position:absolute;inset:0}
.held img{width:100%;height:100%;object-fit:cover;object-position:62% 50%;filter:brightness(1.3) contrast(1.05)}
.held::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,24,.35) 0%,rgba(10,14,24,0) 30%,rgba(10,14,24,.55) 62%,rgba(10,14,24,.96) 100%)}
.held-inhalt{position:relative;z-index:2;width:100%;padding:0 0 34px}
.held h1{font-size:clamp(48px,13.6vw,176px);margin-bottom:.12em;text-shadow:0 4px 40px rgba(0,0,0,.45)}
.held h1 .r{color:var(--rot)}
.held .lead{color:#e6eaf3;max-width:30em}
.held-zeile{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin-bottom:18px}
.held-zeile .led{font-size:22px}
.held-zeile em{font-style:normal;font-stretch:72%;font-weight:750;text-transform:uppercase;letter-spacing:.14em;font-size:14px;color:var(--hell)}
@media (max-width:899px){.held{display:block;min-height:0;padding-top:var(--kopf)}.held picture{position:relative;display:block;height:min(66svh,560px)}.held img{object-position:50% 40%}.held::after{bottom:auto;height:calc(var(--kopf) + min(66svh,560px));background:linear-gradient(180deg,rgba(10,14,24,.25) 0%,rgba(10,14,24,0) 25%,rgba(10,14,24,0) 60%,rgba(10,14,24,1) 100%)}.held-inhalt{margin-top:-120px}}
@media (min-width:900px){.held{min-height:min(100vh,940px)}.held picture{left:34%}.held img{object-position:40% 50%}
.held::after{background:linear-gradient(90deg,#0a0e18 34%,rgba(10,14,24,.75) 40%,rgba(10,14,24,0) 56%),linear-gradient(180deg,rgba(10,14,24,0) 70%,rgba(10,14,24,.7) 100%)}
.held-inhalt{padding-bottom:70px;position:static}.held-gitter{display:block}.held-gitter>div:first-child{position:relative;z-index:2}.held img{filter:brightness(1.3) contrast(1.05)}.held-gitter>div:first-child{max-width:720px}
.held h1{font-size:clamp(80px,7.6vw,128px)}.held .lead{max-width:24em;font-size:20px}
.held-gitter>div:last-child{position:absolute;left:max(20px,calc((100vw - 1240px)/2));top:calc(var(--kopf) + 40px);width:400px;z-index:3}}
@media (min-width:900px) and (max-height:820px){.held-gitter>div:last-child{display:none}}

/* Anzeigetafel (Countdown, Kampf) */
.tafel{background:#05070c;border:10px solid #1a2130;box-shadow:inset 0 0 0 1px #000,0 30px 60px rgba(0,0,0,.45);color:#fff;position:relative}
.tafel::before,.tafel::after{content:'';position:absolute;top:-6px;width:8px;height:8px;border-radius:50%;background:#2b3446}
.tafel::before{left:-6px}.tafel::after{right:-6px}
.tafel-kopf{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;font-stretch:70%;font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:13px}
.tafel-kopf span{padding:8px 12px}
.tafel-kopf .h{background:var(--rot)}.tafel-kopf .g{background:var(--blau);text-align:right}
.tafel-kopf .m{background:#111827;color:var(--hell);text-align:center}
.tafel-mitte{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:16px 14px 18px}
.tafel-mitte .team{font-stretch:62%;font-weight:850;text-transform:uppercase;font-size:clamp(20px,3.2vw,28px);line-height:.95}
.tafel-mitte .team:last-child{text-align:right}
.tafel-mitte .led{font-size:clamp(28px,6vw,44px)}
.tafel-uhr{border-top:1px solid #1d2535;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.tafel-uhr small{font-stretch:75%;text-transform:uppercase;letter-spacing:.1em;color:var(--hell);font-size:13px}
.tafel-uhr .led{font-size:22px}
.held .tafel{margin-top:26px}
@media (min-width:900px){.held .tafel{margin-top:0}}

/* Grosse Wertungstafel Saison */
.saison{background:var(--nacht);color:#fff;position:relative;overflow:hidden}
.saison-tafel{display:grid;grid-template-columns:1fr;gap:0;border:12px solid #1a2130;background:#05070c}
.s-feld{padding:22px 22px 26px;border-bottom:1px solid #1b2232;display:flex;flex-direction:column;gap:10px}
.s-feld small{font-stretch:72%;font-weight:750;text-transform:uppercase;letter-spacing:.13em;font-size:14px;color:var(--hell)}
.s-feld .led{font-size:clamp(54px,13vw,104px)}
.s-feld.rotgrund{background:linear-gradient(180deg,rgba(226,32,60,.16),transparent)}
.s-feld.blaugrund{background:linear-gradient(180deg,rgba(30,79,159,.22),transparent)}
.s-fuss{grid-column:1/-1;padding:14px 22px;font-size:15px;color:var(--hell);display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}
@media (min-width:900px){.saison-tafel{grid-template-columns:1fr 1.2fr 1fr}.s-feld{border-bottom:0;border-right:1px solid #1b2232}.s-feld:nth-child(3){border-right:0}.s-feld.mitte{align-items:center;text-align:center}}

/* Abschnitt Weg (Geschichte kurz) */
.weg{display:grid;gap:30px}
.weg-jahr{display:grid;grid-template-columns:1fr;gap:10px 20px;align-items:baseline;padding:20px 0;border-top:3px solid var(--tinte)}
.weg-jahr b{font-stretch:62%;font-weight:900;font-size:clamp(64px,12vw,120px);line-height:.8;letter-spacing:-.01em}
.weg-jahr:nth-child(1) b{color:var(--grau);text-decoration:line-through;text-decoration-color:var(--rot);text-decoration-thickness:6px}
.weg-jahr:nth-child(2) b{color:var(--blau)}
.weg-jahr:nth-child(3) b{color:var(--rot)}
.weg-jahr p{margin:0;font-size:19px;max-width:28em}
@media (min-width:900px){.weg{grid-template-columns:repeat(3,1fr);gap:28px}.weg-jahr{grid-template-columns:1fr}}

/* Bildstreifen gross */
.bildband{position:relative;background:var(--nacht)}
.bildband img{width:100%;height:clamp(320px,62vw,720px);object-fit:cover}
.bildband figcaption{position:absolute;left:20px;bottom:16px;right:20px;color:#fff;font-stretch:75%;text-transform:uppercase;letter-spacing:.1em;font-size:14px;text-shadow:0 1px 8px #000}

/* Zwei Spalten */
.zwei{display:grid;gap:36px;align-items:center}
@media (min-width:900px){.zwei{grid-template-columns:1fr 1fr;gap:64px}.zwei.links-schmal{grid-template-columns:.9fr 1.1fr}}
.foto-rahmen{position:relative}
.foto-rahmen img{width:100%;object-fit:cover}
.foto-rahmen::before{content:'';position:absolute;left:-10px;top:-10px;width:70px;height:70px;background:var(--rot);clip-path:polygon(0 0,100% 0,0 100%);z-index:1}
.foto-rahmen::after{content:'';position:absolute;right:-10px;bottom:-10px;width:70px;height:70px;background:var(--blau);clip-path:polygon(100% 0,100% 100%,0 100%);z-index:1}
.foto-rahmen figcaption{font-size:14px;color:var(--grau);margin-top:10px}

/* Podest */
.podest{display:grid;grid-template-columns:1fr 1.1fr 1fr;align-items:end;gap:6px;max-width:560px;margin:10px 0 0}
.podest div{background:var(--blau);color:#fff;text-align:center;padding:14px 6px 12px;position:relative}
.podest div b{display:block;font-stretch:62%;font-weight:900;font-size:clamp(48px,9vw,72px);line-height:.9}
.podest div small{font-stretch:75%;font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:13px}
.podest .p1{background:var(--rot);height:210px}.podest .p2{height:160px}.podest .p3{height:126px;background:#33405a}
.podest div::after{content:attr(data-p);position:absolute;bottom:8px;left:0;right:0;font-stretch:62%;font-weight:900;font-size:44px;opacity:.22}
.podest-zeile{font-size:15px;color:var(--grau);margin-top:12px}
.dunkel .podest-zeile{color:var(--hell)}

/* Waage (Kader) */
.waage{position:relative;margin-top:30px}
.klasse{display:grid;grid-template-columns:76px 1fr;gap:14px;padding:18px 0;border-top:1px solid #d7d1c3;position:relative}
.klasse-kg{position:sticky;top:84px;align-self:start}
.klasse-kg b{display:block;font-stretch:62%;font-weight:900;font-size:46px;line-height:.85}
.klasse-kg small{font-stretch:75%;font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:13px;color:var(--grau)}
.klasse::before{content:'';position:absolute;left:0;top:-1px;width:76px;height:4px;background:var(--tinte)}
.ringer-reihe{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media (min-width:700px){.ringer-reihe{grid-template-columns:repeat(3,1fr)}.klasse{grid-template-columns:120px 1fr}.klasse::before{width:120px}.klasse-kg b{font-size:64px}}
@media (min-width:1100px){.ringer-reihe{grid-template-columns:repeat(4,1fr)}}
.ringer{background:#fff;position:relative;display:flex;flex-direction:column}
.ringer img{aspect-ratio:7/9;object-fit:cover;width:100%;background:var(--kreide2)}
.ringer .ohne{aspect-ratio:7/9;background:var(--nacht2);display:grid;place-items:center}
.ringer .ohne img{width:46%;aspect-ratio:auto;background:none;opacity:.35}
.ringer div{padding:10px 12px 12px}
.ringer b{display:block;font-stretch:68%;font-weight:850;text-transform:uppercase;font-size:20px;line-height:1}
.ringer small{display:flex;align-items:center;gap:7px;font-size:14px;color:var(--grau);margin-top:6px;line-height:1.2}
.ringer small::before{content:'';width:10px;height:10px;flex:none;background:var(--blau)}
.ringer.gr small::before{background:var(--rot)}
.ringer.beide small::before{background:linear-gradient(135deg,var(--blau) 50%,var(--rot) 50%)}
.ringer .kg{position:absolute;top:8px;left:8px;background:#05070c;padding:4px 7px 5px}
.ringer .kg .led{font-size:13px}
.legende{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:15px;margin-top:10px}
.legende span{display:flex;align-items:center;gap:8px}.legende span::before{content:'';width:12px;height:12px;background:var(--blau)}.legende span.gr::before{background:var(--rot)}

/* Portraitstreifen Start */
.streifen{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:20px;padding:4px 20px 18px;margin:0 -20px;scrollbar-width:thin}
.streifen a{flex:0 0 46%;scroll-snap-align:start;text-decoration:none;color:inherit;max-width:230px}
.streifen img{aspect-ratio:7/9;object-fit:cover;width:100%}
.streifen b{display:block;font-stretch:68%;font-weight:850;text-transform:uppercase;font-size:19px;margin-top:8px;line-height:1}
.streifen small{font-size:14px;color:var(--grau)}
@media (min-width:900px){.streifen a{flex-basis:19%}}

/* Kampfplan Zeilen */
.kampftag{display:grid;grid-template-columns:1fr;background:#05070c;border:6px solid #1a2130;margin-bottom:12px;color:#fff}
.kt-datum{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;background:#0f1522;font-stretch:75%;text-transform:uppercase;letter-spacing:.1em;font-size:14px;color:var(--hell)}
.kt-datum .led{font-size:16px}
.kt-paar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch}
.kt-paar .h,.kt-paar .g{padding:12px 12px;font-stretch:66%;font-weight:800;text-transform:uppercase;font-size:clamp(17px,2.6vw,24px);line-height:1;display:flex;align-items:center}
.kt-paar .h{background:linear-gradient(90deg,rgba(226,32,60,.85),rgba(226,32,60,.35))}
.kt-paar .g{background:linear-gradient(270deg,rgba(30,79,159,.95),rgba(30,79,159,.4));justify-content:flex-end;text-align:right}
.kt-paar .wir{color:#fff;text-shadow:0 0 1px #fff}
.kt-paar .sie{color:rgba(255,255,255,.82);font-weight:650}
.kt-erg{padding:10px 8px;display:flex;align-items:center;justify-content:center;min-width:96px}
.kt-erg .led{font-size:clamp(22px,4vw,30px)}
.kt-ort{padding:8px 12px 10px;font-size:15px;color:var(--hell);border-top:1px solid #182030}
.kt-ort b{color:#fff;font-weight:650}
.kampftag.offen{border-color:#3a2a10}
.kampftag.offen .kt-datum{background:#1c1408;color:#ffd277}
.runde{font-stretch:70%;font-weight:800;text-transform:uppercase;letter-spacing:.16em;font-size:15px;margin:34px 0 12px;display:flex;align-items:center;gap:12px}
.runde::after{content:'';flex:1;height:2px;background:currentColor;opacity:.25}

/* Tabelle als Hallentafel */
.tabelle{width:100%;border-collapse:collapse;background:#05070c;color:#fff;border:8px solid #1a2130;font-size:16px}
.tabelle th{font-stretch:72%;font-weight:750;text-transform:uppercase;letter-spacing:.1em;font-size:13px;color:var(--hell);text-align:left;padding:10px 8px;border-bottom:1px solid #1d2535}
.tabelle td{padding:12px 8px;border-bottom:1px solid #141b29}
.tabelle td.z{font-family:'Segment';font-size:15px;color:var(--led-g);white-space:nowrap}
.tabelle tr.wir td{background:rgba(226,32,60,.18)}
.tabelle tr.wir td:nth-child(2){font-weight:800}
.tabelle .pl{font-family:'Segment';color:#fff;width:2.4em}
.tab-rahmen{overflow-x:auto}

/* Hallenschild (Ausweichorte) */
.schilder{display:grid;gap:14px}
@media (min-width:800px){.schilder{grid-template-columns:repeat(3,1fr)}}
.schild{background:#fff;border:3px solid var(--tinte);padding:18px 18px 16px;position:relative}
.schild::before{content:'';position:absolute;right:-3px;top:-3px;width:34px;height:34px;background:var(--blau);clip-path:polygon(0 0,100% 0,100% 100%)}
.schild small{font-stretch:75%;font-weight:750;text-transform:uppercase;letter-spacing:.12em;font-size:13px;color:var(--rot)}
.schild b{display:block;font-stretch:66%;font-weight:850;font-size:26px;text-transform:uppercase;line-height:1;margin:6px 0 8px}
.schild p{margin:0;font-size:16px}

/* Hallenwoche (Training) */
.woche{display:grid;gap:10px;margin-top:20px}
.tag{display:grid;grid-template-columns:62px 1fr;gap:12px;align-items:stretch}
.tag>b{font-stretch:62%;font-weight:900;font-size:28px;text-transform:uppercase;line-height:1;padding-top:4px}
.achse{position:relative;background:repeating-linear-gradient(90deg,#ddd6c6 0 1px,transparent 1px calc(100%/5));min-height:46px;display:flex;flex-direction:column;gap:4px;padding:4px 0}
.balken{position:relative;margin-left:var(--a);width:var(--l);min-height:38px;padding:6px 10px;color:#fff;font-size:14px;line-height:1.15;display:flex;flex-direction:column;justify-content:center}
.balken.k{background:var(--rot)}.balken.c{background:var(--blau)}.balken.b{background:#e9862b;color:#1a1206}
.balken b{font-stretch:72%;font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:14px}
.zeitleiste{display:grid;grid-template-columns:62px 1fr;gap:12px;font-family:'Segment';font-size:13px;color:var(--grau)}
.zeitleiste div{position:relative;height:20px}.zeitleiste div span{position:absolute;top:0;left:var(--x);transform:translateX(-50%)}.zeitleiste div span:first-child{transform:none}.zeitleiste div span:last-child{transform:translateX(-100%)}
@media (min-width:800px){.tag{grid-template-columns:120px 1fr}.zeitleiste{grid-template-columns:120px 1fr}.tag>b{font-size:36px}.balken{font-size:15px}}

/* Ligaleiter */
.leiter-rahmen{background:var(--nacht);color:#fff;padding:20px 12px 14px;border:10px solid #1a2130;overflow-x:auto}
.leiter{min-width:680px;width:100%;height:auto;display:block}
.leiter .gitter line{stroke:#1f2839;stroke-width:1}
.leiter .liga{fill:#9aa5ba;font:700 14px 'Archivo';font-stretch:72%;text-transform:uppercase;letter-spacing:.08em}
.leiter .jahr{fill:#9aa5ba;font:700 14px 'Segment'}
.leiter .linie{fill:none;stroke:var(--led-r);stroke-width:5;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(255,59,78,.6));stroke-dasharray:var(--len);stroke-dashoffset:var(--len);transition:stroke-dashoffset 3.2s cubic-bezier(.4,0,.2,1)}
.leiter.da .linie{stroke-dashoffset:0}
.leiter .punkt{fill:#05070c;stroke:var(--led-r);stroke-width:3}
.leiter .meister{fill:var(--led-g)}
.leiter .aus{stroke:#fff;stroke-width:4}
.leiter .notiz{fill:#fff;font:800 14px 'Archivo';font-stretch:68%;text-transform:uppercase;letter-spacing:.05em}
.kapitel{display:grid;gap:0;margin-top:40px}
.kap{display:grid;grid-template-columns:minmax(86px,auto) 1fr;gap:18px;padding:26px 0;border-top:2px solid var(--tinte)}
.kap b{font-stretch:62%;font-weight:900;font-size:44px;line-height:.85}
.kap:nth-child(odd) b{color:var(--rot)}.kap:nth-child(even) b{color:var(--blau)}
.kap h3{margin-bottom:.3em}
.kap p{margin:0;max-width:40em}
@media (min-width:900px){.kap{grid-template-columns:180px 1fr}.kap b{font-size:76px}}
.zitat{font-stretch:66%;font-weight:850;text-transform:uppercase;font-size:clamp(34px,6vw,64px);line-height:.95;max-width:16em}
.zitat span{color:var(--rot)}

/* Mattenrand (Vorstand) */
.rand{display:grid;gap:0}
.rand div{display:grid;grid-template-columns:1fr;padding:16px 0;border-top:1px solid #d7d1c3}
.rand small{font-stretch:75%;font-weight:750;text-transform:uppercase;letter-spacing:.12em;font-size:13px;color:var(--rot)}
.rand b{font-stretch:66%;font-weight:850;font-size:30px;text-transform:uppercase;line-height:1}
@media (min-width:800px){.rand{grid-template-columns:repeat(3,1fr);column-gap:30px}}
.beirat{columns:2;column-gap:24px;margin:10px 0 0;padding:0;list-style:none;font-size:17px}
.beirat li{padding:6px 0;border-bottom:1px solid #d7d1c3;break-inside:avoid}
@media (min-width:800px){.beirat{columns:4}}

/* Berichte als Protokollzettel */
.berichte{display:grid;gap:16px}
@media (min-width:800px){.berichte{grid-template-columns:repeat(2,1fr)}}
.zettel{background:#fff;border-top:6px solid var(--tinte);padding:18px 18px 16px;display:flex;flex-direction:column;gap:8px;position:relative}
.zettel.sieg{border-top-color:var(--rot)}
.zettel time{font-family:'Segment';font-size:13px;color:var(--grau)}
.zettel h3{font-size:clamp(24px,3.4vw,30px);margin:0}
.zettel p{margin:0;font-size:17px}
.zettel .erg{display:inline-flex;align-items:center;gap:10px;background:#05070c;padding:7px 10px;align-self:flex-start}
.zettel .erg .led{font-size:22px}
.zettel .erg small{color:var(--hell);font-stretch:72%;text-transform:uppercase;letter-spacing:.1em;font-size:13px}
.zettel a.quelle{margin-top:auto;font-size:15px;align-self:flex-start;min-height:44px;display:inline-flex;align-items:center;gap:8px;color:var(--tinte);text-decoration:none;font-stretch:75%;font-weight:750;text-transform:uppercase;letter-spacing:.06em;border-bottom:3px solid var(--rot)}
.zettel a.quelle::after{content:'';width:10px;height:10px;background:var(--blau);clip-path:polygon(0 0,100% 0,0 100%)}
.zettel img{width:100%;aspect-ratio:16/9;object-fit:cover;margin:-18px -18px 6px;width:calc(100% + 36px);max-width:none}

/* Partner: Hallenbande */
.bande{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border:4px solid var(--tinte);background:var(--tinte);gap:4px}
@media (min-width:800px){.bande{grid-template-columns:repeat(4,1fr)}}
.bande a{background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:18px 14px 12px;text-decoration:none;color:var(--tinte);min-height:150px;position:relative}
.bande a::before{content:'';position:absolute;left:0;top:0;width:14px;height:14px;background:var(--rot);clip-path:polygon(0 0,100% 0,0 100%)}
.bande a:nth-child(even)::before{background:var(--blau)}
.bande img{max-height:72px;width:auto;max-width:88%;object-fit:contain}
.bande span{font-size:13.5px;text-align:center;color:var(--grau);line-height:1.2}
.bande-mini{display:flex;gap:4px;overflow:hidden;border-block:4px solid var(--tinte);background:var(--tinte)}
.bande-mini a{flex:0 0 auto;background:#fff;height:86px;padding:12px 22px;display:flex;align-items:center}
.bande-mini img{max-height:56px;width:auto}
.bande-lauf{display:flex;gap:4px;animation:bande 46s linear infinite}
@keyframes bande{to{transform:translateX(-50%)}}
.bande-mini:hover .bande-lauf{animation-play-state:paused}
html.ruhig .bande-lauf{animation:none}
@media (prefers-reduced-motion:reduce){.bande-lauf{animation:none}}

/* Formular */
.formular{display:grid;gap:14px;max-width:640px}
.formular label{display:grid;gap:6px;font-stretch:75%;font-weight:750;text-transform:uppercase;letter-spacing:.08em;font-size:14px}
.formular input,.formular textarea,.formular select{font-size:18px;padding:14px;border:2px solid var(--tinte);background:#fff;color:var(--tinte);border-radius:0;font-stretch:100%;text-transform:none;letter-spacing:0;font-weight:400;width:100%}
.formular textarea{min-height:150px}
.themen{display:flex;flex-wrap:wrap;gap:8px;border:0;padding:0;margin:0}
.themen legend{font-stretch:75%;font-weight:750;text-transform:uppercase;letter-spacing:.08em;font-size:14px;margin-bottom:8px}
.themen label{display:inline-flex;align-items:center;gap:0;cursor:pointer;font-size:16px;letter-spacing:.04em}
.themen input{position:absolute;opacity:0;width:1px;height:1px}
.themen span{display:inline-flex;align-items:center;min-height:46px;padding:8px 16px;border:2px solid var(--tinte);background:#fff}
.themen input:checked+span{background:var(--blau);color:#fff;border-color:var(--blau)}
.themen input:focus-visible+span{outline:3px solid var(--gelb);outline-offset:2px}
.hinweis{font-size:15px;color:var(--grau)}

/* Seitenkopf Unterseiten: jede Seite eigene Variante */
.sk{position:relative;padding:calc(var(--kopf) + 54px) 0 46px;background:var(--nacht);color:#fff;overflow:hidden}
.sk h1{font-size:clamp(58px,14vw,150px)}
.sk .lead{color:#dfe5f0}
.sk-bild{position:absolute;inset:0;opacity:.42}
.sk-bild img{width:100%;height:100%;object-fit:cover}
.sk::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,24,.2),rgba(10,14,24,.92));pointer-events:none}
.sk .wrap{position:relative;z-index:2}
.sk.hell{background:var(--kreide);color:var(--tinte)}.sk.hell::after{display:none}.sk.hell .lead{color:var(--tinte)}
.sk.rot{background:var(--rot)}.sk.rot::after{background:linear-gradient(180deg,transparent,rgba(120,8,22,.5))}
.sk.blau{background:var(--blau)}.sk.blau::after{background:linear-gradient(180deg,transparent,rgba(8,26,60,.55))}
.sk-split{display:grid;gap:26px;align-items:end}
@media (min-width:900px){.sk-split{grid-template-columns:1.2fr .8fr}}
.sk .led-zeile{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.sk .led-zeile .led{font-size:16px}

/* Kontakt-Band */
.ruf{background:var(--rot);color:#fff;position:relative;overflow:hidden}
.ruf::before{content:'';position:absolute;right:0;top:0;width:min(46vw,520px);height:100%;background:var(--blau);clip-path:polygon(28% 0,100% 0,100% 100%,0 100%)}
.ruf .wrap{position:relative}
.ruf h2{max-width:11em}
.ruf .knopf{background:#fff;color:var(--tinte)!important}.ruf .knopf::before{background:var(--blau)}
.ruf .knopf.leer{background:transparent;color:#fff!important}

/* Fuss */
.fuss{background:#070a12;color:#c8cfdc;padding:60px 0 40px;font-size:16px}
.fuss a{color:#fff;text-decoration:none}
.fuss a:hover{text-decoration:underline}
.fuss-gitter{display:grid;gap:30px}
@media (min-width:900px){.fuss-gitter{grid-template-columns:1.3fr 1fr 1fr}}
.fuss .logo svg{height:52px}
.fuss h3{font-size:22px;color:#fff;margin-bottom:12px}
.fuss ul{list-style:none;margin:0;padding:0;columns:2;column-gap:20px}
.fuss li a{display:inline-flex;min-height:40px;align-items:center}
.fuss-sozial{display:flex;gap:10px;margin-top:16px}
.fuss-sozial a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:2px solid #2a3245;font-stretch:72%;font-weight:750;text-transform:uppercase;letter-spacing:.08em;font-size:14px}
.fuss-unten{margin-top:30px;padding-top:18px;border-top:1px solid #1b2232;display:flex;flex-wrap:wrap;gap:6px 20px;font-size:15px}
.fuss-unten a{min-height:40px;display:inline-flex;align-items:center}

/* Herzhaus */
.hh-karte{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;margin-top:36px;padding:18px 20px;background:#0b0b0c;color:#e9e4d6!important;text-decoration:none;font-size:15.5px;line-height:1.4}
.hh-karte:hover{color:#fff!important}
.digital-marke{display:inline-flex;align-items:flex-end;gap:6px}.digital-marke img:first-child{height:34px;width:auto}.digital-marke img:last-child{height:36px;width:auto;margin-bottom:-2px}
.hh-band{background:#060607;color:#e9e4d6;display:flex;justify-content:center;padding:26px 16px 14px}
.hh-band a{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 14px;text-decoration:none;color:inherit;min-height:44px}
.hh-satz{font-weight:700;font-size:15px;letter-spacing:.02em}
.hh-marke{display:inline-flex;align-items:flex-end;gap:5px}
.hh-wort{height:30px;width:auto}.hh-figur{height:30px;width:auto;margin-bottom:-3px}
@media (min-width:900px){.hh-figur{height:27px}}
.hh-figur{transform-origin:50% 100%;animation:hh-wipp 4.2s ease-in-out infinite}
@keyframes hh-wipp{0%,100%{transform:rotate(0)}50%{transform:rotate(-4deg)}}
html.ruhig .hh-figur{animation:none}
@media (prefers-reduced-motion:reduce){.hh-figur{animation:none}}

/* Leiste unten (Handy) */
.leiste{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:1fr 1fr;padding-bottom:env(safe-area-inset-bottom);background:#05070c}
.leiste a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:58px;color:#fff;text-decoration:none;font-stretch:70%;font-weight:800;text-transform:uppercase;letter-spacing:.07em;font-size:17px;position:relative}
.leiste a:first-child{background:var(--rot)}.leiste a:last-child{background:var(--blau)}
.leiste a::before{content:'';position:absolute;top:0;width:12px;height:12px}
.leiste a:first-child::before{left:0;background:var(--blau);clip-path:polygon(0 0,100% 0,0 100%)}
.leiste a:last-child::before{right:0;background:var(--rot);clip-path:polygon(0 0,100% 0,100% 100%)}
@media (min-width:1180px){.leiste{display:none}}
@media (max-width:1179px){.hh-band{padding-bottom:calc(14px + 58px + env(safe-area-inset-bottom))}}

/* Recht */
.blatt{max-width:820px}
.blatt h1{font-size:clamp(50px,11vw,110px)}
.blatt h2{font-size:clamp(26px,4vw,34px);margin-top:1.5em}
.blatt p,.blatt li{font-size:17px}
.liste{padding-left:20px}
.schalter{display:grid;gap:10px;margin:20px 0 10px}
.schalt{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;text-align:left;background:#fff;border:2px solid var(--tinte);padding:14px 16px;cursor:pointer;color:var(--tinte);min-height:64px}
.schalt b{display:block;font-stretch:70%;font-weight:850;text-transform:uppercase;font-size:21px}
.schalt small{font-size:15px;color:var(--grau)}
.sch-tafel{flex:none;display:grid;grid-template-columns:1fr 1fr;width:92px;height:40px;background:#05070c;padding:4px;gap:4px}
.sch-tafel i{display:grid;place-items:center;font-style:normal;font-stretch:70%;font-weight:800;font-size:13px;color:#57607a;letter-spacing:.06em}
.schalt[aria-pressed=false] .sch-tafel i:first-child{background:var(--blau);color:#fff}
.schalt[aria-pressed=true] .sch-tafel i:last-child{background:var(--rot);color:#fff}
html.kontrast body{background:#fff}
html.kontrast .ringer small,html.kontrast .hinweis,html.kontrast .foto-rahmen figcaption{color:#000}
html.gross{font-size:120%}html.gross body{font-size:21.5px}
html.ruhig *{transition:none!important;animation:none!important}
html.ruhig .leiter .linie{stroke-dashoffset:0}

/* Einblenden */
.ein{opacity:0;transform:translateY(22px);transition:opacity .8s,transform .8s cubic-bezier(.2,.7,.2,1)}
.ein.da{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.ein{opacity:1;transform:none}.leiter .linie{stroke-dashoffset:0}}

/* Lichtbox */
.lichtbox{position:fixed;inset:0;z-index:80;background:rgba(5,7,12,.96);display:none;align-items:center;justify-content:center;padding:60px 14px}
.lichtbox.auf{display:flex}
.lichtbox img{max-height:84vh;width:auto}
.lichtbox button{position:absolute;top:12px;right:12px;min-width:56px;min-height:56px;background:var(--rot);color:#fff;border:0;font-stretch:70%;font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:15px;cursor:pointer}
a.licht{display:block;cursor:zoom-in}

/* 404 */
.fehl{min-height:80svh;display:flex;align-items:center}
.fehl .led{font-size:clamp(70px,20vw,180px)}
@media print{.kopf,.leiste,.hh-band,.menu{display:none}}

.cd-gruppe{display:flex;gap:14px;align-items:flex-end}
.cd-gruppe span{display:flex;flex-direction:column;align-items:center;gap:4px}
.cd-gruppe .led{font-size:26px}
.cd-gruppe small{font-size:13px!important;letter-spacing:.14em}
.dunkel .streifen small{color:var(--hell)}
@media (max-width:599px){.tabelle .weg{display:none}.tabelle{font-size:15px}.tabelle td,.tabelle th{padding:11px 6px}}
.kt-paar .h,.kt-paar .g{overflow-wrap:anywhere;hyphens:manual}

/* Durchgang 2 */
.waage-anzeige{position:fixed;z-index:30;left:12px;bottom:calc(70px + env(safe-area-inset-bottom));display:flex;align-items:baseline;gap:8px;background:#05070c;border:5px solid #1a2130;padding:8px 12px;color:var(--hell);opacity:0;transform:translateY(16px);transition:opacity .4s,transform .4s;pointer-events:none}
.waage-anzeige.an{opacity:1;transform:none}
.waage-anzeige small{font-stretch:72%;font-weight:750;text-transform:uppercase;letter-spacing:.14em;font-size:13px}
.waage-anzeige .led{font-size:24px}
@media (min-width:1180px){.waage-anzeige{left:auto;right:28px;bottom:28px}.waage-anzeige .led{font-size:40px}}
.leiter-hoch{display:none;min-width:0;max-width:420px;margin:0 auto}
.leiter-legende{font-size:13.5px;color:var(--hell);margin:10px 4px 0}
@media (max-width:699px){.leiter-breit{display:none}.leiter-hoch{display:block}.leiter-rahmen{overflow:visible;padding:16px 6px 12px}}
.leiter-hoch .liga{font-size:14px}.leiter-hoch .jahr{font-size:13px}
.banden{display:flex;flex-wrap:wrap;gap:22px 14px;align-items:flex-end;padding:30px 0 0;border-bottom:10px solid #c8c0ae;position:relative}
.banden::before{content:'';position:absolute;left:0;right:0;top:12px;height:3px;background:#8d8577;opacity:.5}
.plane{position:relative;flex:1 1 calc(var(--q) * 70px);max-width:calc(var(--q) * 120px + 40px);min-width:140px;height:110px;background:#fff;display:flex;align-items:center;justify-content:center;padding:16px 22px;box-shadow:0 2px 0 #d6cfc0,0 10px 18px -12px rgba(0,0,0,.35);transform-origin:50% 0;transition:transform .5s cubic-bezier(.3,1.6,.5,1)}
.plane:hover{transform:rotate(-1.2deg)}
.plane img{max-height:74px;width:auto;max-width:100%;object-fit:contain}
.oese{position:absolute;top:6px;width:9px;height:9px;border-radius:50%;background:#e5e1d7;box-shadow:inset 0 0 0 2px #9a9385}
.oese:first-child{left:7px}.oese:nth-child(2){right:7px}
.plane::after{content:'';position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--rot)}
.plane:nth-child(even)::after{background:var(--blau)}
.legende span.bam::before{background:#e9862b}
@media (max-width:420px){.zeitleiste div span:nth-child(even){display:none}.kap b{font-size:36px}}
.kap h3,.zettel h3{hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
.tabelle td:nth-child(2){overflow-wrap:anywhere}
