/* ============================================================
   FV Rot-Weiß Erpel 1919 e.V. — Mannschaften
   Nutzt die Tokens und Bausteine der Startseite (.wrap, .sektion,
   .eyebrow, .h-sektion, .lead, .btn, .karte, .zahlen) und ergänzt
   nur, was die Mannschaftsseiten zusätzlich brauchen.
   ============================================================ */

/* ------------------------------------------------------------
   Einzelansicht: Theme-Abstände über dem Hero neutralisieren
   ------------------------------------------------------------ */
body.fvem-mannschaft .fvem-single{margin-top:0; padding-top:0}

/* ============================================================
   Kopfbereich
   ============================================================ */
.fve .team-hero{position:relative; background:var(--fve-tinte); color:#fff; overflow:hidden}
.fve .team-hero img.bg{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:.42; filter:grayscale(.35) contrast(1.05);
}
.fve .team-hero::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(23,22,26,.55) 0%, rgba(23,22,26,.25) 45%, rgba(23,22,26,.92) 100%);
}
.fve .team-hero .hero-inhalt{position:relative; z-index:2; padding-top:clamp(70px,11vw,130px); padding-bottom:clamp(40px,6vw,70px)}
.fve .team-hero .jahr{
  font-family:var(--fve-display); font-weight:800; font-size:clamp(70px,15vw,190px); line-height:.8;
  color:transparent; -webkit-text-stroke:2px rgba(255,255,255,.28); margin:0 0 -.18em;
  letter-spacing:.02em;
}
.fve .team-hero h1{
  font-family:var(--fve-display); font-weight:800; text-transform:uppercase;
  font-size:clamp(46px,10vw,124px); line-height:.86; margin:0; letter-spacing:-.01em;
}
.fve .team-hero h1 em{font-style:normal; color:var(--fve-rot); text-shadow:0 0 30px rgba(214,0,28,.35)}
.fve .team-hero .claim{
  font-family:var(--fve-mono); font-size:13px; letter-spacing:.24em; text-transform:uppercase;
  margin:22px 0 0; color:#fff;
}
.fve .team-hero .satz{max-width:52ch; margin:16px 0 30px; color:#D9D6D1}
.fve .team-hero .aktionen{display:flex; flex-wrap:wrap; gap:14px}
.fve .team-hero .jsg{
  display:inline-block; margin:26px 0 0; padding:6px 14px;
  font-family:var(--fve-mono); font-size:11.5px; letter-spacing:.12em; text-transform:uppercase;
  background:rgba(255,255,255,.14); color:#fff;
}

/* ============================================================
   Faktenblock
   ============================================================ */
.fve .fakten{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:0; border-top:2px solid var(--fve-tinte)}
.fve .fakt{padding:20px 22px 22px 0; border-right:1px solid var(--fve-linie)}
.fve .fakt:last-child{border-right:0}
.fve .fakt dt{font-family:var(--fve-mono); font-size:10.5px; letter-spacing:.13em; text-transform:uppercase; color:var(--fve-tinte-70); margin:0 0 6px}
.fve .fakt dd{margin:0; font-size:16px; line-height:1.5}
.fve .fakt dd a{color:var(--fve-rot-tief)}

/* ============================================================
   Listen
   ============================================================ */
.fve .liste{margin:0; padding:0; list-style:none; display:grid; gap:10px; max-width:60ch}
.fve .liste li{position:relative; padding-left:26px; font-size:17px}
.fve .liste li::before{
  content:""; position:absolute; left:0; top:.62em;
  width:9px; height:9px; background:var(--fve-rot);
}
.fve .liste--zeiten li{font-family:var(--fve-mono); font-size:15px; letter-spacing:.02em}
.fve .liste--haken li::before{
  content:"✓"; top:0; width:auto; height:auto; background:none;
  color:var(--fve-rot); font-weight:700;
}

/* Schwerpunkte als Kachelreihe */
.fve .schwerpunkte{display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:1px; background:var(--fve-linie); border:1px solid var(--fve-linie); margin:26px 0 0; padding:0; list-style:none}
.fve .schwerpunkte li{background:var(--fve-weiss); padding:22px 24px; font-family:var(--fve-display); font-weight:700; font-size:24px; text-transform:uppercase; line-height:1.05}
.fve .sektion--dunkel .schwerpunkte{background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.14)}
.fve .sektion--dunkel .schwerpunkte li{background:var(--fve-tinte)}

.fve .motto{font-family:var(--fve-display); font-weight:700; font-size:clamp(24px,3vw,34px); text-transform:uppercase; line-height:1.05; margin:0 0 14px}
.fve .ziel{
  margin:30px 0 0; padding:22px 26px; max-width:65ch;
  border-left:4px solid var(--fve-rot); background:var(--fve-weiss);
  font-size:17px;
}
.fve .sektion--dunkel .ziel{background:rgba(255,255,255,.06)}
.fve .schluss{
  font-family:var(--fve-display); font-weight:800; text-transform:uppercase;
  font-size:clamp(30px,4.6vw,52px); line-height:.95; margin:44px 0 0; max-width:22ch;
}
.fve .prosa{max-width:62ch; font-size:17px; line-height:1.7}
.fve .prosa p{margin:0 0 1em}

/* ============================================================
   Trainingsorte
   ============================================================ */
.fve .orte{display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:26px}
.fve .ort{border:1px solid var(--fve-linie); background:var(--fve-weiss)}
.fve .ort-kopf{padding:22px 24px 18px}
.fve .ort .zeit{font-family:var(--fve-mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--fve-rot-tief); margin:0 0 6px}
.fve .ort .name{font-family:var(--fve-display); font-weight:700; font-size:26px; text-transform:uppercase; line-height:1.05; margin:0}
.fve .ort .karte-rahmen{border-top:1px solid var(--fve-linie); min-height:220px; display:grid; place-items:center; text-align:center; padding:24px; gap:10px; background:#FAF9F7}
.fve .ort .karte-rahmen.geladen{padding:0; min-height:0; background:none; display:block}
.fve .ort iframe{width:100%; min-height:240px; border:0; display:block}
.fve .ort .hinweis{font-family:var(--fve-mono); font-size:11px; letter-spacing:.06em; color:var(--fve-tinte-70); margin:0; max-width:32ch}
.fve .ort-fuss{display:flex; flex-wrap:wrap; gap:18px; padding:16px 24px 18px; border-top:1px solid var(--fve-linie)}
.fve .ort-fuss a{font-family:var(--fve-display); font-weight:700; font-size:17px; text-transform:uppercase; text-decoration:none; border-bottom:2px solid var(--fve-rot); padding-bottom:2px}
.fve .ort .attrib{font-family:var(--fve-mono); font-size:10px; letter-spacing:.06em; color:var(--fve-tinte-70); padding:0 24px 16px; margin:0}
.fve .ort .attrib a{text-decoration:underline}

/* ============================================================
   Trainerteam
   ============================================================ */
.fve .trainer{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1px; background:var(--fve-linie); border:1px solid var(--fve-linie)}
.fve .trainer-karte{background:var(--fve-weiss); display:flex; flex-direction:column}
.fve .sektion--dunkel .trainer{background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.14)}
.fve .sektion--dunkel .trainer-karte{background:var(--fve-tinte)}
.fve .trainer-bild{aspect-ratio:4/3; overflow:hidden; background:#DDD9D3}
.fve .trainer-bild img{width:100%; height:100%; object-fit:cover}
.fve .trainer-inhalt{padding:22px 24px 26px}
.fve .trainer-karte h3{font-family:var(--fve-display); font-weight:800; text-transform:uppercase; font-size:27px; line-height:1; margin:0 0 6px}
.fve .trainer-rolle{font-family:var(--fve-mono); font-size:10.5px; letter-spacing:.13em; text-transform:uppercase; color:var(--fve-rot-tief); margin:0 0 12px}
.fve .trainer-text{margin:0; font-size:15.5px; color:var(--fve-tinte-70); line-height:1.6}
.fve .sektion--dunkel .trainer-text{color:#A9A6A1}

/* ============================================================
   Mannschaftskacheln (Übersicht)
   ============================================================ */
.fve .teams{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.14)}
.fve .team{background:var(--fve-tinte); padding:30px 28px 34px; position:relative; display:flex; flex-direction:column}
.fve .team .nr{font-family:var(--fve-display); font-weight:800; font-size:15px; letter-spacing:.2em; color:var(--fve-rot); text-transform:uppercase}
.fve .team h3{font-family:var(--fve-display); font-weight:800; text-transform:uppercase; font-size:32px; line-height:1; margin:10px 0 14px}
.fve .team h3 a{text-decoration:none}
.fve .team dl{margin:0; font-size:15px}
.fve .team dt{font-family:var(--fve-mono); font-size:10.5px; letter-spacing:.13em; text-transform:uppercase; color:#8E8B86; margin-top:14px}
.fve .team dd{margin:2px 0 0}
.fve .team .mehr{display:inline-block; margin-top:auto; padding-top:20px; font-family:var(--fve-display); font-weight:700; font-size:18px; text-transform:uppercase; text-decoration:none}
.fve .team .mehr span{border-bottom:2px solid var(--fve-rot); padding-bottom:2px}
.fve .team-bild{margin:-30px -28px 20px; aspect-ratio:16/10; overflow:hidden; background:#26252A}
.fve .team-bild img{width:100%; height:100%; object-fit:cover; transition:transform .4s ease}
.fve .team:hover .team-bild img{transform:scale(1.04)}
.fve .gruppe + .gruppe{margin-top:60px}
.fve .gruppe h3.gruppe-titel{font-family:var(--fve-display); font-weight:800; text-transform:uppercase; font-size:30px; line-height:1; margin:0 0 20px}
.fve .gruppe h3.gruppe-titel::after{content:""; display:block; width:44px; height:3px; background:var(--fve-rot); margin-top:12px}

/* ============================================================
   Galerie
   ============================================================ */
.fve .galerie{display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:1px; background:var(--fve-linie); border:1px solid var(--fve-linie)}
.fve .galerie a, .fve .galerie span{display:block; aspect-ratio:4/3; overflow:hidden; background:#DDD9D3}
.fve .galerie img{width:100%; height:100%; object-fit:cover; transition:transform .4s ease}
.fve .galerie a:hover img{transform:scale(1.05)}

/* ============================================================
   fussball.de
   ============================================================ */
.fve .widget-rahmen{overflow-x:auto; -webkit-overflow-scrolling:touch; background:var(--fve-weiss); border:1px solid var(--fve-linie); padding:8px}
.fve .widget-rahmen table{width:100%}
.fve .quelle{font-family:var(--fve-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--fve-tinte-70); margin:14px 0 0}

/* ============================================================
   Kontaktformular
   ============================================================ */
.fve .formular{max-width:680px}
.fve .form-reihe{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:18px}
.fve .form-feld{margin:0 0 18px}
.fve .form-reihe .form-feld{margin:0}
.fve .form-reihe + .form-feld{margin-top:18px}
.fve .form-feld label, .fve .form-haken label{
  display:block; margin-bottom:7px;
  font-family:var(--fve-mono); font-size:11px; letter-spacing:.13em; text-transform:uppercase; color:var(--fve-tinte-70);
}
.fve .form-feld input, .fve .form-feld textarea{
  width:100%; padding:13px 15px; font-family:var(--fve-text); font-size:16px;
  border:1px solid var(--fve-linie); background:var(--fve-weiss); color:var(--fve-tinte);
  transition:border-color .15s ease;
}
.fve .form-feld textarea{resize:vertical; min-height:150px}
.fve .form-feld input:focus, .fve .form-feld textarea:focus{outline:none; border-color:var(--fve-rot)}
.fve .pflicht{color:var(--fve-rot)}
.fve .form-haken{display:flex; align-items:flex-start; gap:11px; margin:0 0 16px}
.fve .form-haken input{margin-top:3px; width:18px; height:18px; flex:0 0 auto; accent-color:var(--fve-rot)}
.fve .form-haken label{margin:0; font-family:var(--fve-text); font-size:15px; letter-spacing:0; text-transform:none; color:var(--fve-tinte-70); line-height:1.55}
.fve .form-haken label a{color:var(--fve-rot-tief)}
.fve .form-hinweis{font-family:var(--fve-mono); font-size:11px; letter-spacing:.06em; color:var(--fve-tinte-70); margin:0 0 18px}
.fve .form-hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
.fve .meldung{margin:0 0 24px; padding:16px 20px; border-left:4px solid; font-size:16px}
.fve .meldung--ok{border-left-color:var(--fve-rasen); background:rgba(14,107,60,.08)}
.fve .meldung--fehler{border-left-color:var(--fve-rot); background:rgba(214,0,28,.08)}

/* ============================================================
   Hinweise für Redakteure
   ============================================================ */
.fve .redaktion{
  margin:20px 0; padding:14px 18px; border-left:4px solid var(--fve-rot);
  background:rgba(214,0,28,.06); font-family:var(--fve-mono); font-size:13px;
}

/* ============================================================
   Schmale Ansicht
   ============================================================ */
@media (max-width:900px){
  .fve .teams{grid-template-columns:1fr}
  .fve .fakten{grid-template-columns:1fr}
  .fve .fakt{border-right:0; border-bottom:1px solid var(--fve-linie); padding-right:0}
  .fve .fakt:last-child{border-bottom:0}
}
@media (max-width:600px){
  .fve .team-hero .aktionen .btn{flex:1 1 100%; justify-content:center}
}
@media (prefers-reduced-motion: reduce){
  .fve *{transition:none !important}
}

/* ============================================================
   BEREICHSSEITE (Herren, Jugend, Alte Herren)
   Die Ebene über der Mannschaft. Gleiche Tokens wie die
   Startseite, eigene Bausteine mit dem Präfix .br-
   ============================================================ */

/* Theme-Abstände über dem Kopfbereich neutralisieren */
body.fvem-bereich-body .fvem-bereich-seite{margin-top:0; padding-top:0}
body.fvem-bereich-body .fvem-bereich-seite > .fve{margin-top:0}

/* ------------------------------------------------------------
   Kopfbereich
   ------------------------------------------------------------ */
.fve .br-hero{position:relative; background:var(--fve-tinte); color:#fff; overflow:hidden}
.fve .br-hero img.bg{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:.38; filter:grayscale(.4) contrast(1.08); z-index:0;
}
.fve .br-hero::after{
  content:""; position:absolute; inset:0; z-index:1;
  background:
    radial-gradient(120% 80% at 78% 0%, rgba(214,0,28,.30) 0%, rgba(214,0,28,0) 58%),
    linear-gradient(200deg, rgba(23,22,26,.42) 0%, rgba(23,22,26,.74) 52%, rgba(23,22,26,.97) 100%);
}

/* Roter Keil an der rechten Kante – Kapitänsbinde als Fläche gedacht */
.fve .br-hero__keil{
  position:absolute; top:0; right:0; z-index:1;
  width:46%; height:100%;
  background:linear-gradient(180deg, rgba(214,0,28,.55) 0%, rgba(122,5,18,.10) 100%);
  clip-path:polygon(42% 0, 100% 0, 100% 100%, 0 100%);
  pointer-events:none;
}

.fve .br-hero__inhalt{
  position:relative; z-index:2;
  padding-top:clamp(74px,12vw,150px); padding-bottom:clamp(44px,7vw,86px);
}
.fve .br-hero__kontur{
  font-family:var(--fve-display); font-weight:800;
  font-size:clamp(48px,11vw,150px); line-height:.8;
  color:transparent; -webkit-text-stroke:2px rgba(255,255,255,.26);
  letter-spacing:.02em; margin:0 0 -.16em; overflow-wrap:anywhere;
}
.fve .br-hero h1{
  font-family:var(--fve-display); font-weight:800; text-transform:uppercase;
  font-size:clamp(44px,9.5vw,118px); line-height:.86; margin:0; letter-spacing:-.012em;
}
.fve .br-hero h1 em{font-style:normal; color:var(--fve-rot); text-shadow:0 0 34px rgba(214,0,28,.4)}
.fve .br-hero .claim{
  font-family:var(--fve-mono); font-size:13px; letter-spacing:.26em;
  text-transform:uppercase; margin:24px 0 0; color:#fff;
}
.fve .br-hero .satz{max-width:54ch; margin:16px 0 32px; color:#D9D6D1; font-size:17.5px; line-height:1.65}
.fve .br-hero .aktionen{display:flex; flex-wrap:wrap; gap:14px}

/* ------------------------------------------------------------
   Sprungnavigation
   Klebt am oberen Rand. Hat das Theme eine feste Kopfzeile,
   lässt sich der Versatz setzen:  .fve .br-nav{--fvem-nav-top:64px}
   ------------------------------------------------------------ */
.fve .br-nav{
  position:sticky; top:var(--fvem-nav-top,0px); z-index:15;
  background:var(--fve-weiss); border-bottom:1px solid var(--fve-linie);
  box-shadow:0 10px 24px -26px rgba(0,0,0,.6);
}
.fve .br-nav ul{
  margin:0; padding:0; list-style:none;
  display:flex; gap:26px; overflow-x:auto; -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.fve .br-nav ul::-webkit-scrollbar{display:none}
.fve .br-nav li{flex:0 0 auto}
.fve .br-nav a{
  display:block; padding:15px 0 13px; text-decoration:none; white-space:nowrap;
  font-family:var(--fve-mono); font-size:11.5px; letter-spacing:.15em; text-transform:uppercase;
  color:var(--fve-tinte-70); border-bottom:2px solid transparent; transition:color .15s ease, border-color .15s ease;
}
.fve .br-nav a:hover{color:var(--fve-tinte)}
.fve .br-nav a.ist-aktiv{color:var(--fve-tinte); border-bottom-color:var(--fve-rot)}

/* ------------------------------------------------------------
   Zahlenband
   ------------------------------------------------------------ */
.fve .br-band{background:var(--fve-papier); padding-block:clamp(26px,4vw,46px)}
.fve .br-band .br-zahlen{margin-top:0}

/* ------------------------------------------------------------
   Kachelraster der Mannschaften
   ------------------------------------------------------------ */
.fve .br-raster{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(258px,1fr));
  gap:1px; background:var(--fve-linie); border:1px solid var(--fve-linie);
}
.fve .br-kachel{
  position:relative; overflow:hidden;
  background:var(--fve-weiss); color:inherit; text-decoration:none;
  display:flex; flex-direction:column;
  transition:background .2s ease;
}
.fve .br-kachel::before{
  content:""; position:absolute; left:0; right:0; bottom:0; height:3px; z-index:3;
  background:var(--fve-rot); transform:scaleX(0); transform-origin:left;
  transition:transform .32s ease;
}
.fve .br-kachel:hover::before{transform:scaleX(1)}
.fve .br-kachel__bild{position:relative; display:block; aspect-ratio:4/3; overflow:hidden; background:#26252A}
.fve .br-kachel__bild img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease}
.fve .br-kachel:hover .br-kachel__bild img{transform:scale(1.06)}
.fve .br-kachel__bild--leer{
  background:
    repeating-linear-gradient(115deg, rgba(255,255,255,.05) 0 14px, transparent 14px 28px),
    var(--fve-tinte);
}
.fve .br-kachel__nr{
  position:absolute; left:0; bottom:0; z-index:2;
  background:var(--fve-rot); color:#fff;
  font-family:var(--fve-display); font-weight:800; font-size:15px; letter-spacing:.18em;
  padding:7px 13px 5px;
}
.fve .br-kachel__inhalt{display:flex; flex-direction:column; flex:1; padding:20px 22px 24px}
.fve .br-kachel__chip{
  font-family:var(--fve-mono); font-size:10.5px; letter-spacing:.15em;
  text-transform:uppercase; color:var(--fve-rot-tief);
}
.fve .br-kachel h3{
  font-family:var(--fve-display); font-weight:800; text-transform:uppercase;
  font-size:27px; line-height:1; margin:9px 0 13px;
}
.fve .br-kachel__fakten{display:grid; gap:9px; font-size:14.5px; line-height:1.45; color:var(--fve-tinte-70)}
.fve .br-fakt{display:block}
.fve .br-fakt b{
  display:block; margin-bottom:2px;
  font-family:var(--fve-mono); font-weight:500; font-size:10px; letter-spacing:.13em;
  text-transform:uppercase; color:var(--fve-tinte-70); opacity:.8;
}
.fve .br-kachel__pfeil{
  margin-top:auto; padding-top:20px;
  font-family:var(--fve-display); font-weight:700; font-size:17px;
  text-transform:uppercase; letter-spacing:.02em;
}
.fve .br-kachel__pfeil::after{content:"→"; display:inline-block; margin-left:.42em; transition:transform .2s ease}
.fve .br-kachel:hover .br-kachel__pfeil::after{transform:translateX(5px)}

/* Erste Kachel prominenter – ruhiger Rhythmus statt Rasterbrei */
@media (min-width:1040px){
  .fve .br-raster{grid-template-columns:repeat(4,1fr)}
  .fve .br-kachel:first-child{grid-column:span 2}
  .fve .br-kachel:first-child .br-kachel__bild{aspect-ratio:16/9}
  .fve .br-kachel:first-child h3{font-size:36px}
  .fve .br-kachel:first-child .br-kachel__fakten{grid-template-columns:repeat(2,1fr)}
}

/* ------------------------------------------------------------
   Weitere Kacheln (Leitbild, Jugendleiter …)
   ------------------------------------------------------------ */
.fve .br-links{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:1px; background:var(--fve-linie); border:1px solid var(--fve-linie);
}
.fve .br-link{display:flex; align-items:stretch; background:var(--fve-weiss); color:inherit; text-decoration:none}
.fve .br-link__bild{flex:0 0 40%; overflow:hidden; background:#DDD9D3}
.fve .br-link__bild img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease}
.fve .br-link:hover .br-link__bild img{transform:scale(1.05)}
.fve .br-link__inhalt{display:flex; flex-direction:column; flex:1; padding:24px 26px 22px}
.fve .br-link h3{
  font-family:var(--fve-display); font-weight:800; text-transform:uppercase;
  font-size:26px; line-height:1.02; margin:0 0 10px;
}
.fve .br-link__text{font-size:15.5px; line-height:1.6; color:var(--fve-tinte-70)}
.fve .br-link__pfeil{
  display:inline-block; margin-top:auto; padding-top:18px;
  color:var(--fve-rot); font-size:23px; line-height:1; transition:transform .2s ease;
}
.fve .br-link:hover .br-link__pfeil{transform:translateX(7px)}

/* ------------------------------------------------------------
   Textblock
   ------------------------------------------------------------ */
.fve .br-prosa{max-width:64ch; font-size:17.5px; line-height:1.72}
.fve .br-prosa p{margin:0 0 1.1em}
.fve .br-prosa p:last-child{margin-bottom:0}
.fve .br-zitat{margin-top:30px}

/* ------------------------------------------------------------
   Aufruf am Seitenende
   ------------------------------------------------------------ */
.fve .br-cta{display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(30px,5vw,72px); align-items:start}
.fve .br-cta__text .aktionen{display:flex; flex-wrap:wrap; gap:14px; margin-top:28px}
.fve .br-schritte{
  margin:0; padding:0; list-style:none; counter-reset:fvem-schritt;
  border-top:1px solid rgba(255,255,255,.2);
}
.fve .br-schritte li{
  counter-increment:fvem-schritt;
  display:flex; gap:16px; align-items:baseline;
  padding:14px 0; border-bottom:1px solid rgba(255,255,255,.2);
  font-size:16.5px; line-height:1.5;
}
.fve .br-schritte li::before{
  content:counter(fvem-schritt,decimal-leading-zero);
  flex:0 0 auto;
  font-family:var(--fve-display); font-weight:800; font-size:18px;
  letter-spacing:.08em; color:var(--fve-rot);
}

/* Faktenblock des Kontakts hat keine Linie nach oben nötig */
.fve .br-fakten{border-top:2px solid var(--fve-tinte)}

/* ------------------------------------------------------------
   Schmale Ansicht
   ------------------------------------------------------------ */
@media (max-width:900px){
  .fve .br-hero__keil{display:none}
  .fve .br-cta{grid-template-columns:1fr; gap:34px}
  .fve .br-link{flex-direction:column}
  .fve .br-link__bild{flex:0 0 auto; aspect-ratio:16/9}
}
@media (max-width:600px){
  .fve .br-hero .aktionen .btn{flex:1 1 100%; justify-content:center}
  .fve .br-raster{grid-template-columns:1fr}
  .fve .br-nav{position:static}
}

/* Sprungziele nicht unter die klebende Navigation rutschen lassen */
.fve .br-sektion, .fve .br-band{scroll-margin-top:74px}
