/*
Theme Name: LSG Bocholt
Theme URI: https://www.lsg-bocholt.de
Author: Luftsportgruppe Bocholt e.V.
Description: Theme der Luftsportgruppe Bocholt e.V. Version 11 „Aufwind": Start-Video (quer am Rechner, hochkant am Handy), Scroll-Startseite mit Rundflug über echte Luftbilder des Flugplatzes Borken-Hoxfeld (EDLY), Windenstart zum Selberfahren, Flotte zum Durchschalten, Etappen der Ausbildung und Beitragsrechner. Alle Inhalte sind im Editor pflegbar, Schriften und Bilder liegen im Theme, es wird nichts von außen geladen.
Version: 11.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: lsg-bocholt
*/

/* ════════════════════════════════════════════════════════════
   1 · Schriften und Grundwerte
   Layout-Idee: Fotos bis an den Rand, darüber schmale, laute
   Versalien wie ein Kennzeichen am Rumpf; ein einziges Signal-
   orange, wie die Warnfarbe an Flächenenden und Windsack.
   ════════════════════════════════════════════════════════════ */
@font-face{font-family:'Kennung';src:url('fonts/kennung-bold.woff') format('woff');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Kennung';src:url('fonts/kennung-regular.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Lora';src:url('fonts/lora-regular.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Lora';src:url('fonts/lora-semibold.woff') format('woff');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Lora';src:url('fonts/lora-italic.woff') format('woff');font-weight:400;font-style:italic;font-display:swap}

:root{
  /* v11: Das Blau orientiert sich am Vereinslogo und ist deutlich heller
     als das bisherige Nachtblau. Umschalten: Customizer → Farbwelt (LSG). */
  --nacht:#2A3990;        /* Logoblau, dunkle Flächen */
  --nacht-rgb:42,57,144;
  --nacht-tief:#232F7C;   /* Fuß, tiefste Fläche */
  --tief-rgb:28,38,104;   /* Schleier über Fotos und Videos */
  --nacht-hell:#4A63C8;   /* Verlauf nach oben */
  --tinte:#1A2248;        /* Text */
  --grau:#566182;         /* Nebentext */
  --luft:#EEF2FB;         /* heller Himmel, Flächen */
  --luft-tief:#DCE5F6;
  --signal-blau:#FF8A5C;  /* Orange für kleine Schrift auf Blau */
  --weiss:#FFFFFF;        /* Gelcoat */
  --signal:#FF4F1F;       /* Leuchtorange */
  --signal-hell:#FF7347;
  --himmel:#2457C5;       /* Links, Fokus */
  --gras:#2E8B4E;         /* „es wird geflogen" */
  --linie:rgba(var(--nacht-rgb),.16);
  --linie-hell:rgba(255,255,255,.24);
  --f-anzeige:'Kennung','Arial Narrow','Roboto Condensed','Helvetica Neue',Arial,sans-serif;
  --f-text:'Lora',Georgia,'Times New Roman',serif;
  --rand:clamp(20px,5vw,72px);
  --breit:1320px;
  --abstand:clamp(72px,10vw,148px);
  --kopf-h:72px;
  --radius:6px;
  --weich:cubic-bezier(.22,.8,.2,1);
  --schatten:0 18px 44px -22px rgba(var(--tief-rgb),.45);
  color-scheme:light;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--kopf-h) + 12px)}
body{margin:0;background:var(--weiss);color:var(--tinte);font:400 1.0625rem/1.62 var(--f-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
img,video,svg{max-width:100%}
img,video{height:auto}
a{color:var(--himmel);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
button{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--himmel);outline-offset:3px;border-radius:2px}
.sek--dunkel :focus-visible,.sek--abend :focus-visible,.start :focus-visible,.pf :focus-visible,.fuss :focus-visible,.kopf-nav :focus-visible{outline-color:#fff}
::selection{background:var(--signal);color:var(--nacht)}

h1,h2,h3,h4{margin:0;font-family:var(--f-anzeige);font-weight:700;text-transform:uppercase;line-height:.96;letter-spacing:.005em;text-wrap:balance}
h1 em,h2 em,h3 em{font-family:var(--f-text);font-style:italic;font-weight:400;text-transform:none;letter-spacing:-.01em;color:var(--signal)}
p{margin:0 0 1.1em}
p:last-child{margin-bottom:0}
strong,b{font-weight:600}
hr{border:0;border-top:1px solid var(--linie);margin:2.4em 0}

.skip-link{position:absolute;left:12px;top:-80px;z-index:200;background:var(--signal);color:var(--nacht);padding:12px 18px;font:700 .95rem var(--f-anzeige);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius)}
.skip-link:focus{top:12px}
.rand{width:min(100% - 2 * var(--rand),var(--breit));margin-inline:auto}

/* Kleine Beschriftung im Stil eines Typenschilds */
.kicker,.marke,.pf-kicker,.weg-marke,.stufen-marke,.fuss-spalte h2,.anflug-daten dt,.flotte2-werte dt,.pf-hud dt,.spec-label,.band-zeit,.pbild-zeit,.news-card-date,.section-label,.uebergang-zeit{
  font:700 .8rem/1.2 var(--f-anzeige);letter-spacing:.14em;text-transform:uppercase}

/* ════════════════════════════════════════════════════════════
   2 · Knöpfe und Textlinks
   ════════════════════════════════════════════════════════════ */
.knopf{display:inline-flex;align-items:center;justify-content:center;gap:.7em;min-height:54px;padding:0 26px;border:2px solid transparent;border-radius:var(--radius);
  font:700 .98rem/1 var(--f-anzeige);letter-spacing:.09em;text-transform:uppercase;text-decoration:none;cursor:pointer;
  transition:transform .25s var(--weich),background-color .25s,color .25s,border-color .25s,box-shadow .25s}
.knopf::after{content:"";width:.5em;height:.5em;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);transition:transform .25s var(--weich);flex:none}
.knopf:hover{transform:translateY(-2px)}
.knopf:hover::after{transform:translateX(4px) rotate(45deg)}
.knopf:active{transform:translateY(0)}
.knopf--signal,.knopf--voll{background:var(--signal);color:var(--nacht);box-shadow:0 10px 26px -14px rgba(255,79,31,.9)}
.knopf--signal:hover,.knopf--voll:hover{background:var(--signal-hell)}
.knopf--glas{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.75)}
.knopf--glas:hover{background:#fff;color:var(--nacht);border-color:#fff}
.knopf--linie{color:var(--nacht);border-color:var(--nacht)}
.knopf--linie:hover{background:var(--nacht);color:#fff}
.knopf--hell{background:#fff;color:var(--nacht)}
.knopf--hell:hover{background:var(--luft)}
.knopf--nacht{background:var(--nacht);color:#fff}
.knopf--nacht:hover{background:var(--nacht-tief)}
.sek--dunkel .knopf--linie,.sek--abend .knopf--linie,.sek--dunkel .knopf--nacht,.sek--abend .knopf--nacht{background:transparent;color:#fff;border-color:rgba(255,255,255,.75)}
.sek--dunkel .knopf--linie:hover,.sek--abend .knopf--linie:hover,.sek--dunkel .knopf--nacht:hover,.sek--abend .knopf--nacht:hover{background:#fff;color:var(--nacht)}
.textlink,.karte-link,.weg-knopf{display:inline-flex;align-items:center;gap:.6em;font:700 .9rem/1.2 var(--f-anzeige);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:inherit}
.textlink{color:var(--himmel);padding:6px 0;border-bottom:2px solid currentColor}
.textlink::after,.karte-link::after,.weg-knopf::after{content:"";width:.5em;height:.5em;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);transition:transform .25s var(--weich)}
a:hover > .karte-link::after,a:hover .weg-knopf::after,.textlink:hover::after{transform:translateX(5px) rotate(45deg)}
.sek--dunkel .textlink,.sek--abend .textlink{color:#fff}

/* ════════════════════════════════════════════════════════════
   3 · Kopf mit Navigation
   ════════════════════════════════════════════════════════════ */
.ankuendigung{position:relative;z-index:90;background:var(--signal);color:var(--nacht);text-align:center;padding:9px var(--rand);font:700 .9rem/1.3 var(--f-anzeige);letter-spacing:.08em;text-transform:uppercase}
.kopf-waechter{position:absolute;top:0;left:0;width:1px;height:110px;pointer-events:none}
.kopf{position:fixed;inset:0 0 auto 0;z-index:80;height:var(--kopf-h);display:flex;align-items:center;justify-content:space-between;gap:20px;padding-inline:var(--rand);color:#fff;
  transition:background-color .3s,color .3s,box-shadow .3s,transform .4s var(--weich)}
.hat-ankuendigung .kopf{position:sticky;margin-bottom:calc(var(--kopf-h) * -1)}
.kopf::before{content:"";position:absolute;inset:0 0 -34px 0;background:linear-gradient(180deg,rgba(var(--tief-rgb),.62),rgba(var(--tief-rgb),0));pointer-events:none;transition:opacity .3s;z-index:-1}
.kopf--fest{background:rgba(255,255,255,.97);color:var(--nacht);box-shadow:0 1px 0 var(--linie),0 14px 30px -26px rgba(var(--tief-rgb),.6)}
.kopf--fest::before{opacity:0}
.kopf-marke{display:inline-flex;align-items:center;gap:12px;color:inherit;text-decoration:none;font:700 1.25rem/1 var(--f-anzeige);letter-spacing:.07em;text-transform:uppercase;flex:none}
.kopf-marke img{height:40px;width:auto;display:block}
.kopf-nav{display:flex;align-items:center;gap:clamp(14px,2vw,30px)}
.kopf-liste{display:flex;align-items:center;gap:clamp(12px,1.9vw,30px);list-style:none;margin:0;padding:0}
.kopf-liste > li{position:relative}
.kopf-liste a{display:block;padding:10px 2px;color:inherit;text-decoration:none;font:700 .95rem/1 var(--f-anzeige);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.kopf-liste > li > a{background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat;transition:background-size .3s var(--weich)}
.kopf-liste > li > a:hover,.kopf-liste > .current-menu-item > a,.kopf-liste > .current-menu-ancestor > a{background-size:100% 2px}
.kopf-liste .sub-menu{list-style:none;margin:0;padding:10px;position:absolute;top:100%;left:-18px;min-width:230px;background:#fff;color:var(--nacht);border-radius:var(--radius);box-shadow:var(--schatten);
  opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .2s,transform .25s var(--weich),visibility .2s}
.kopf-liste li:hover > .sub-menu,.kopf-liste li:focus-within > .sub-menu{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.kopf-liste .sub-menu a{padding:10px 12px;border-radius:4px;font-size:.9rem}
.kopf-liste .sub-menu a:hover{background:var(--luft)}
/* v11: „visibility:inherit" statt „visible". Vorher blieben die Unterpunkte
   eines unsichtbaren Menüs anklickbar und haben Klicks auf Videos und
   Knöpfe darunter abgefangen (man landete z. B. beim Vereinsheim). */
.kopf-liste .sub-menu .sub-menu{position:static;opacity:1;visibility:inherit;pointer-events:inherit;transform:none;box-shadow:none;padding:0 0 6px 14px;min-width:0}
.kopf-liste .sub-menu .sub-menu a{font-weight:400;padding:7px 12px;letter-spacing:.06em}
.kopf-cta{min-height:44px;padding:0 18px;font-size:.9rem}
.kopf-menue{display:none;align-items:center;gap:12px;background:none;border:0;padding:10px 0;cursor:pointer;font:700 .95rem/1 var(--f-anzeige);letter-spacing:.12em;text-transform:uppercase}
.kopf-menue-strich{position:relative;width:26px;height:2px;background:currentColor;transition:background-color .2s}
.kopf-menue-strich::before,.kopf-menue-strich::after{content:"";position:absolute;left:0;width:26px;height:2px;background:currentColor;transition:transform .3s var(--weich)}
.kopf-menue-strich::before{top:-7px}
.kopf-menue-strich::after{top:7px}

@media (max-width:1040px){
  .kopf-menue{display:inline-flex;position:relative;z-index:2}
  .kopf-marke{position:relative;z-index:2}
  .kopf-nav{position:fixed;inset:0;z-index:1;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:26px;padding:calc(var(--kopf-h) + 18px) var(--rand) 40px;background:var(--nacht);color:#fff;overflow-y:auto;
    opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-12px);transition:opacity .25s,transform .35s var(--weich),visibility .25s}
  .menue-offen .kopf-nav{opacity:1;visibility:visible;pointer-events:auto;transform:none}
  .menue-offen .kopf{color:#fff;background:transparent;box-shadow:none}
  .menue-offen .kopf::before{opacity:0}
  .menue-offen .kopf-menue-strich{background:transparent}
  .menue-offen .kopf-menue-strich::before{transform:translateY(7px) rotate(45deg)}
  .menue-offen .kopf-menue-strich::after{transform:translateY(-7px) rotate(-45deg)}
  .kopf-liste{flex-direction:column;align-items:stretch;gap:0}
  .kopf-liste > li{border-bottom:1px solid var(--linie-hell)}
  .kopf-liste > li > a{font-size:clamp(1.7rem,7vw,2.4rem);padding:16px 0;letter-spacing:.03em;background:none;white-space:normal}
  .kopf-liste .sub-menu{position:static;opacity:1;visibility:inherit;pointer-events:inherit;transform:none;background:none;color:inherit;box-shadow:none;padding:0 0 14px;min-width:0;display:flex;flex-wrap:wrap;gap:4px 18px}
  .kopf-liste .sub-menu a{padding:7px 0;font-size:.95rem;font-weight:400;opacity:.86}
  .kopf-liste .sub-menu a:hover{background:none;opacity:1}
  .kopf-liste .sub-menu .sub-menu{display:none}
  .kopf-cta{align-self:flex-start;min-height:54px;padding:0 26px;font-size:.98rem}
}

/* ════════════════════════════════════════════════════════════
   4 · Start-Bild
   ════════════════════════════════════════════════════════════ */
.start{position:relative;min-height:100vh;min-height:100svh;display:grid;grid-template-rows:1fr auto;color:#fff;background:var(--nacht);overflow:hidden;isolation:isolate}
.start-bild{position:absolute;inset:0;z-index:-1;animation:startAuf 2.4s var(--weich) both}
.start-bild picture,.start-bild img{display:block;width:100%;height:100%}
.start-bild img{object-fit:cover;object-position:50% 46%}
.start-bild::after{content:"";position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(var(--tief-rgb),.34) 0%,rgba(var(--tief-rgb),0) 26%,rgba(var(--tief-rgb),.16) 52%,rgba(var(--tief-rgb),.86) 100%),
  linear-gradient(90deg,rgba(var(--tief-rgb),.5) 0%,rgba(var(--tief-rgb),0) 62%)}
@keyframes startAuf{from{transform:scale(1.09);opacity:.4}to{transform:none;opacity:1}}
.start-inhalt{align-self:end;padding-top:calc(var(--kopf-h) + 6vh);padding-bottom:clamp(26px,5vh,56px)}
.start-status{display:inline-flex;align-items:center;gap:10px;margin:0 0 clamp(14px,2.4vh,26px);font:700 .86rem/1.2 var(--f-anzeige);letter-spacing:.14em;text-transform:uppercase}
.status-punkt{position:relative;flex:none;width:10px;height:10px;border-radius:50%;background:#9FB4CC}
[data-zustand="an"] .status-punkt{background:#4ADE80}
[data-zustand="an"] .status-punkt::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid #4ADE80;animation:puls 1.9s ease-out infinite}
[data-zustand="bald"] .status-punkt{background:var(--signal)}
@keyframes puls{from{transform:scale(.5);opacity:.9}to{transform:scale(1.5);opacity:0}}
.start-titel{font-size:clamp(3rem,7.6vw,7.8rem);line-height:.9;letter-spacing:-.005em;max-width:11.5em;margin-bottom:clamp(16px,2.6vh,28px);text-shadow:0 2px 30px rgba(var(--tief-rgb),.35)}
.start-titel em{font-size:.9em;color:var(--signal);text-shadow:none;padding-right:.06em}
.start-titel .wort{display:inline-block;overflow:hidden;vertical-align:bottom;padding:.08em .04em .2em 0;margin-bottom:-.2em;margin-right:-.04em}
.start-titel .wort > span{display:inline-block;transform:translateY(112%);animation:wortHoch 1s var(--weich) forwards;animation-delay:var(--wd,0s)}
@keyframes wortHoch{to{transform:none}}
.start-text{max-width:44ch;font-size:clamp(1.05rem,1.45vw,1.3rem);line-height:1.5;margin-bottom:clamp(20px,3vh,32px)}
.start-knoepfe{display:flex;flex-wrap:wrap;gap:12px 14px}
.js .start-status,.js .start-text,.js .start-knoepfe,.js .start-fakten{animation:sanftAuf .9s var(--weich) both}
.js .start-status{animation-delay:.1s}
.js .start-text{animation-delay:.75s}
.js .start-knoepfe{animation-delay:.9s}
.js .start-fakten{animation-delay:1.1s}
@keyframes sanftAuf{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.start-fakten{border-top:1px solid var(--linie-hell)}
.fakten{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr)}
.fakten li{padding:clamp(14px,2.2vh,24px) 18px clamp(16px,2.6vh,28px) 0;display:flex;flex-direction:column;gap:4px}
.fakten li + li{padding-left:clamp(14px,2vw,28px);border-left:1px solid var(--linie-hell)}
.fakten strong{font:700 clamp(1.7rem,3.2vw,3rem)/1 var(--f-anzeige);text-transform:uppercase;letter-spacing:.01em}
.fakten span{font-size:.95rem;line-height:1.35;opacity:.86}
@media (max-width:760px){
  .fakten{grid-template-columns:1fr 1fr}
  .fakten li:nth-child(odd){padding-left:0;border-left:0}
  .fakten li:nth-child(n+3){border-top:1px solid var(--linie-hell)}
  .start-bild img{object-position:50% 50%}
  .start-knoepfe .knopf{flex:1 1 100%}
}
/* ════════════════════════════════════════════════════════════
   5 · Abschnitte der Scroll-Seite
   ════════════════════════════════════════════════════════════ */
.sek{position:relative;padding-block:var(--abstand);background:var(--weiss);color:var(--tinte)}
.sek--mist{background:var(--luft)}
.sek--himmel{background:linear-gradient(180deg,#CBE1F4,var(--luft))}
.sek--dunkel{background:var(--nacht);color:#fff}
.sek--abend{background:linear-gradient(168deg,var(--nacht) 0%,#4B3A8E 52%,#B8502E 118%);color:#fff}
.sek--randlos{padding-block:0}
.sek > * + *{margin-top:clamp(28px,4vw,56px)}
.sek--zentriert .sek-text{text-align:center}
.sek--zentriert .sek-text > *{margin-inline:auto}
.sek-text > * + *{margin-top:clamp(18px,2.2vw,30px)}
.sek-text > h2{font-size:clamp(2.7rem,7.2vw,6.2rem);line-height:.9;max-width:16ch;padding-top:26px;position:relative}
.sek-text > h2::before{content:"";position:absolute;top:0;left:0;width:64px;height:5px;background:var(--signal);transform-origin:left;transition:transform .9s var(--weich) .15s}
.js .sek-text > h2.zeig:not(.da)::before{transform:scaleX(0)}
.sek--zentriert .sek-text > h2::before{left:50%;margin-left:-32px}
.sek-text > h2 + p{font-size:clamp(1.1rem,1.5vw,1.32rem);line-height:1.5;color:var(--grau);max-width:52ch}
.sek--dunkel .sek-text > h2 + p,.sek--abend .sek-text > h2 + p{color:rgba(255,255,255,.82)}
.sek-text > p,.sek-text > ul,.sek-text > ol{max-width:64ch}
.sek-text > h3{font-size:clamp(1.5rem,2.6vw,2.2rem)}
.sek--dunkel a:not(.knopf):not(.textlink),.sek--abend a:not(.knopf):not(.textlink){color:#fff}

/* Erscheinen beim Scrollen: nur mit JavaScript, nur Deckkraft und Verschiebung */
.js .zeig{opacity:0;transform:translateY(30px);transition:opacity .7s var(--weich),transform .95s var(--weich);transition-delay:var(--d,0s)}
.js .zeig.da{opacity:1;transform:none}

/* Seitenleiste mit den Abschnitten (nur Startseite, nur große Bildschirme) */
.schiene{position:fixed;right:14px;top:50%;z-index:40;transform:translateY(-50%);display:flex;flex-direction:column;gap:2px;transition:opacity .3s,visibility .3s}
.schiene--weg{opacity:0;visibility:hidden}
.schiene a{position:relative;display:flex;align-items:center;justify-content:flex-end;height:24px;text-decoration:none}
.schiene a::after{content:"";width:9px;height:9px;margin:0 8px;border-radius:50%;background:#fff;box-shadow:0 0 0 1.5px var(--nacht);transition:transform .25s var(--weich),background-color .25s}
.schiene span{padding:5px 10px;border-radius:4px;background:var(--nacht);color:#fff;font:700 .72rem/1 var(--f-anzeige);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;opacity:0;transform:translateX(8px);transition:opacity .2s,transform .25s var(--weich);pointer-events:none}
.schiene a:hover span,.schiene a:focus-visible span{opacity:1;transform:none}
.schiene a.aktiv::after{background:var(--signal);transform:scale(1.5)}
@media (max-width:1180px){.schiene{display:none}}

/* ════════════════════════════════════════════════════════════
   6 · Platz-Rundflug (WebGL, js/platzflug.js)
   ════════════════════════════════════════════════════════════ */
.pf{position:relative;background:var(--nacht);color:#fff}
.js .pf{height:calc(var(--pf-n,6) * 100vh + 100vh)}
.pf-buehne{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:#CCDCE8;display:none}
.js .pf-buehne{display:block}
.js .pf-ruhig{display:none}
.pf.pf--statisch{height:auto}
.pf--statisch .pf-buehne{display:none}
.pf--statisch .pf-ruhig{display:block}
.pf-canvas{display:block;width:100%;height:100%}
.pf-verlauf{position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(90deg,rgba(var(--tief-rgb),.66) 0%,rgba(var(--tief-rgb),.26) 30%,rgba(var(--tief-rgb),0) 54%),
  linear-gradient(0deg,rgba(var(--tief-rgb),.5) 0%,rgba(var(--tief-rgb),0) 26%),
  linear-gradient(180deg,rgba(var(--tief-rgb),.4) 0%,rgba(var(--tief-rgb),0) 16%)}
.pf-marken{position:absolute;inset:0;pointer-events:none}
.pf-marke{position:absolute;left:0;top:0;margin:-46px 0 0 -9px;padding:6px 10px 5px;border-radius:3px;background:rgba(var(--tief-rgb),.86);color:#fff;font:700 .76rem/1 var(--f-anzeige);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;opacity:0;transition:opacity .35s;will-change:transform}
.pf-marke::after{content:"";position:absolute;left:8px;top:100%;width:2px;height:22px;background:linear-gradient(#fff,rgba(255,255,255,0))}
.pf-marke::before{content:"";position:absolute;left:5px;top:calc(100% + 19px);width:8px;height:8px;border-radius:50%;background:var(--signal);box-shadow:0 0 0 2px #fff}
.pf-marke.an{opacity:1}
.pf-karten{position:absolute;left:var(--rand);bottom:clamp(54px,11vh,120px);width:min(470px,calc(100% - 2 * var(--rand) - 54px));display:grid;grid-template-rows:auto auto}
.pf-kicker{margin:0 0 16px;display:flex;align-items:center;gap:12px}
.pf-kicker::before{content:"";width:40px;height:4px;background:var(--signal)}
.pf-karte{grid-area:2/1;align-self:end;opacity:0;transform:translateY(26px);transition:opacity .45s,transform .7s var(--weich);pointer-events:none}
.pf-karte.an{opacity:1;transform:none;pointer-events:auto}
.pf-nr{margin:0 0 8px;font:700 1rem/1 var(--f-anzeige);letter-spacing:.12em;color:var(--signal)}
.pf-nr span{color:rgba(255,255,255,.7)}
.pf-titel{font-size:clamp(2.3rem,5.6vw,4.6rem);line-height:.9;margin-bottom:14px;text-shadow:0 2px 24px rgba(var(--tief-rgb),.5)}
.pf-text{margin:0;font-size:clamp(1rem,1.25vw,1.14rem);line-height:1.5;text-shadow:0 1px 14px rgba(var(--tief-rgb),.7)}
.pf-punkte{position:absolute;right:calc(var(--rand) - 12px);top:50%;transform:translateY(-50%);list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.pf-punkt{width:30px;height:30px;display:grid;place-items:center;background:none;border:0;padding:0;cursor:pointer}
.pf-punkt span{width:9px;height:9px;border-radius:50%;border:2px solid #fff;transition:transform .25s var(--weich),background-color .25s,border-color .25s}
.pf-punkt:hover span{background:#fff}
.pf-punkt.an span{background:var(--signal);border-color:var(--signal);transform:scale(1.55)}
.pf-hud{position:absolute;right:var(--rand);bottom:clamp(34px,7vh,76px);display:flex;align-items:center;gap:18px;padding:14px 20px 14px 14px;border:1px solid rgba(255,255,255,.22);border-radius:10px;background:rgba(var(--tief-rgb),.8);opacity:0;transform:translateY(12px);transition:opacity .4s,transform .5s var(--weich)}
.pf-hud.an{opacity:1;transform:none}
.pf-vario{position:relative;flex:none;width:66px;height:66px;border-radius:50%;border:2px solid rgba(255,255,255,.85);background:
  radial-gradient(circle,rgba(var(--tief-rgb),1) 0 56%,transparent 57%),
  repeating-conic-gradient(from -1deg,rgba(255,255,255,.75) 0 2deg,transparent 2deg 30deg)}
.pf-vario::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:#fff}
.pf-nadel{position:absolute;left:50%;top:50%;width:26px;height:2px;margin:-1px 0 0 -26px;background:var(--signal);transform-origin:100% 50%;border-radius:2px}
.pf-hud dl{display:flex;gap:20px;margin:0}
.pf-hud dt{font-size:.66rem;opacity:.72;margin-bottom:5px}
.pf-hud dd{margin:0;font:700 1.5rem/1 var(--f-anzeige);font-variant-numeric:tabular-nums;white-space:nowrap}
.pf-lade{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;padding:12px 18px;border-radius:var(--radius);background:rgba(var(--tief-rgb),.8);font:700 .82rem/1 var(--f-anzeige);letter-spacing:.14em;text-transform:uppercase;opacity:0;transition:opacity .3s;pointer-events:none}
.pf-lade.an{opacity:1}
.pf-weiter{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);margin:0;display:flex;flex-direction:column;align-items:center;gap:8px;font:700 .74rem/1 var(--f-anzeige);letter-spacing:.16em;text-transform:uppercase;transition:opacity .4s}
.pf-weiter::after{content:"";width:10px;height:10px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg);animation:wippen 1.6s var(--weich) infinite}
@keyframes wippen{0%,100%{transform:translateY(-3px) rotate(45deg)}50%{transform:translateY(4px) rotate(45deg)}}
.pf--los .pf-weiter{opacity:0}
.pf-quelle{position:absolute;left:var(--rand);bottom:12px;margin:0;font-size:.68rem;line-height:1.2;opacity:.72}
.pf-balken{position:absolute;left:0;bottom:0;width:100%;height:4px;background:var(--signal);transform:scaleX(0);transform-origin:left}
.pf-ruhig{padding:var(--abstand) 0}
.pf-ruhig-bild{margin:0 auto;width:min(100% - 2 * var(--rand),var(--breit))}
.pf-ruhig-bild img{display:block;width:100%;border-radius:var(--radius)}
.pf-ruhig-bild figcaption{margin-top:8px;font-size:.78rem;opacity:.7}
.pf-ruhig-liste{width:min(100% - 2 * var(--rand),var(--breit));margin:34px auto 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px 34px;counter-reset:ort}
.pf-ruhig-liste li{counter-increment:ort;padding-top:14px;border-top:1px solid var(--linie-hell);font-size:.98rem}
.pf-ruhig-liste strong{display:block;margin-bottom:6px;font:700 1.3rem/1 var(--f-anzeige);text-transform:uppercase}
@media (max-width:760px){
  .pf-verlauf{background:linear-gradient(0deg,rgba(var(--tief-rgb),.86) 0%,rgba(var(--tief-rgb),.5) 34%,rgba(var(--tief-rgb),0) 62%),linear-gradient(180deg,rgba(var(--tief-rgb),.5) 0%,rgba(var(--tief-rgb),0) 18%)}
  .pf-karten{bottom:58px;width:calc(100% - 2 * var(--rand) - 30px)}
  .pf-punkte{right:2px}
  .pf-hud{top:calc(var(--kopf-h) + 8px);bottom:auto;right:var(--rand);padding:9px 12px;gap:12px}
  .pf-vario{display:none}
  .pf-hud dl{gap:14px}
  .pf-hud dd{font-size:1.1rem}
  .pf-weiter{display:none}
  .pf-quelle{font-size:.6rem;right:var(--rand)}
}

/* ════════════════════════════════════════════════════════════
   7 · Bausteine der Startseite
   ════════════════════════════════════════════════════════════ */

/* Drei Wege: Hochformat-Karten, das Foto bleibt Hochformat */
.wege{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.6vw,22px)}
.weg{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;border-radius:var(--radius);background:var(--nacht);color:#fff;text-decoration:none;isolation:isolate;transition:transform .5s var(--weich),box-shadow .5s}
.weg-bild{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.3s var(--weich)}
.weg::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(var(--tief-rgb),.05) 30%,rgba(var(--tief-rgb),.9) 100%)}
.weg-inhalt{position:absolute;inset:auto 0 0 0;padding:clamp(18px,2.2vw,30px);display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.weg-marke{margin:0;padding:6px 10px 5px;border-radius:3px;background:var(--signal);color:var(--nacht);font-size:.74rem}
.weg-titel{font-size:clamp(1.5rem,2.1vw,2.15rem);line-height:.96;max-width:100%;overflow-wrap:anywhere;hyphens:auto}
.weg-text{margin:0;font-size:.98rem;line-height:1.45;max-width:34ch}
.weg-knopf{margin-top:4px;padding-bottom:5px;border-bottom:2px solid var(--signal)}
.weg:hover{transform:translateY(-6px);box-shadow:var(--schatten)}
.weg:hover .weg-bild{transform:scale(1.07)}
@media (max-width:860px){
  .wege{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;width:100%;padding-inline:var(--rand);scroll-padding-inline:var(--rand);scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .wege::-webkit-scrollbar{display:none}
  .weg{flex:0 0 min(82vw,380px);scroll-snap-align:start}
  .weg:hover{transform:none}
}

/* Flotte zum Durchschalten */
.flotte2{display:grid;gap:clamp(18px,3vw,44px)}
.flotte2-liste{display:none}
.flotte2-feld{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(18px,3vw,44px);align-items:end;padding-bottom:28px;margin-bottom:28px;border-bottom:1px solid var(--linie)}
.flotte2-bild{position:relative;margin:0;aspect-ratio:3/2;overflow:hidden;border-radius:var(--radius);background:var(--luft-tief)}
.flotte2-bild img{display:block;width:100%;height:100%;object-fit:cover}
.flotte2-ohne{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:10px;color:var(--grau);background:linear-gradient(180deg,#CBE1F4,var(--luft))}
.flotte2-ohne span{font:700 .78rem/1 var(--f-anzeige);letter-spacing:.14em;text-transform:uppercase}
.flotte2-kenn{position:absolute;left:14px;bottom:14px;padding:7px 11px 6px;border-radius:3px;background:#fff;color:var(--nacht);font:700 1rem/1 var(--f-anzeige);letter-spacing:.1em}
.flotte2-titel{font-size:clamp(2.2rem,4.6vw,4rem);line-height:.9;margin-bottom:14px}
.flotte2-text{margin:0 0 22px;max-width:38ch}
.flotte2-werte{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;margin:0 0 24px}
.flotte2-werte dt{color:var(--grau);font-size:.7rem;margin-bottom:5px}
.flotte2-werte dd{margin:0;font:700 1.45rem/1.05 var(--f-anzeige);text-transform:uppercase}
.flotte2-spann{grid-column:1/-1}
.flotte2-mass{display:block;height:8px;margin-top:10px;background:var(--linie);border-radius:4px;overflow:hidden}
.flotte2-mass i{display:block;height:100%;background:var(--signal);border-radius:4px;transform-origin:left}
.flotte2--an{grid-template-columns:minmax(210px,300px) minmax(0,1fr);align-items:start}
.flotte2--an .flotte2-liste{display:flex;flex-direction:column;border-top:1px solid var(--linie)}
.flotte2--an .flotte2-feld{border:0;padding:0;margin:0}
.flotte2--an .flotte2-feld:not(.aktiv){display:none}
.flotte2--an .flotte2-feld.aktiv .flotte2-bild{animation:feldBild .7s var(--weich) both}
.flotte2--an .flotte2-feld.aktiv .flotte2-daten{animation:sanftAuf .6s var(--weich) .08s both}
.flotte2--an .flotte2-feld.aktiv .flotte2-mass i{animation:massAuf .9s var(--weich) .2s both}
@keyframes feldBild{from{opacity:0;clip-path:inset(0 0 0 100%)}to{opacity:1;clip-path:inset(0)}}
@keyframes massAuf{from{transform:scaleX(0)}to{transform:none}}
.flotte2-tab{position:relative;display:flex;align-items:baseline;justify-content:space-between;gap:12px;width:100%;padding:15px 14px 14px 18px;background:none;border:0;border-bottom:1px solid var(--linie);text-align:left;cursor:pointer;transition:background-color .2s,color .2s,padding-left .3s var(--weich)}
.flotte2-tab::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--signal);transform:scaleY(0);transition:transform .3s var(--weich)}
.flotte2-name{font:700 1.3rem/1 var(--f-anzeige);letter-spacing:.03em;text-transform:uppercase}
.flotte2-rolle{font-size:.82rem;color:var(--grau);white-space:nowrap}
.flotte2-tab:hover{background:var(--weiss)}
.flotte2-tab[aria-selected="true"]{background:var(--nacht);color:#fff;padding-left:26px}
.flotte2-tab[aria-selected="true"]::before{transform:none}
.flotte2-tab[aria-selected="true"] .flotte2-rolle{color:rgba(255,255,255,.75)}
@media (max-width:900px){
  .flotte2--an{grid-template-columns:minmax(0,1fr)}
  .flotte2--an .flotte2-liste{flex-direction:row;overflow-x:auto;gap:8px;border:0;margin-inline:calc(var(--rand) * -1);padding:2px var(--rand);scrollbar-width:none}
  .flotte2--an .flotte2-liste::-webkit-scrollbar{display:none}
  .flotte2-tab{flex:none;width:auto;padding:12px 16px;border:1px solid var(--linie);border-radius:var(--radius);background:var(--weiss)}
  .flotte2-tab[aria-selected="true"]{padding-left:16px}
  .flotte2-tab::before,.flotte2-rolle{display:none}
  .flotte2-feld{grid-template-columns:minmax(0,1fr);align-items:start}
}

/* Film: Hochformat bleibt Hochformat, Querformat bleibt Querformat */
.film{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.62fr);gap:clamp(16px,3vw,48px);align-items:end}
.film-stueck{margin:0}
.film-quer{order:1}
.film-hoch{order:2}
.film-rahmen{position:relative;overflow:hidden;border-radius:var(--radius);background:#000}
.film-rahmen video{display:block;width:100%;height:100%;object-fit:cover}
.film figcaption{margin-top:12px;font-size:.92rem;color:rgba(255,255,255,.76)}
.sek--hell .film figcaption,.sek--mist .film figcaption{color:var(--grau)}
.film-knopf{position:absolute;left:14px;bottom:14px;display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px 0 13px;border:0;border-radius:22px;background:rgba(var(--tief-rgb),.78);color:#fff;font:700 .78rem/1 var(--f-anzeige);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background-color .2s}
.film-knopf:hover{background:var(--signal);color:var(--nacht)}
.film-zeichen{width:12px;height:14px;background:currentColor;clip-path:polygon(0 0,100% 50%,0 100%)}
.film-knopf[aria-pressed="true"] .film-zeichen{clip-path:polygon(0 0,36% 0,36% 100%,0 100%,0 0,64% 0,100% 0,100% 100%,64% 100%,64% 0)}
@media (max-width:760px){
  .film{grid-template-columns:minmax(0,1fr)}
  .film-hoch{order:1;max-width:340px}
  .film-quer{order:2}
}

/* Etappen der Ausbildung auf steigender Linie */
.stufen{--h:clamp(150px,19vw,230px);margin-top:clamp(34px,5vw,60px)}
.stufen-leiste{display:none}
.stufen-feld{padding:22px 0;border-top:1px solid var(--linie)}
.stufen-marke{margin:0 0 10px;color:var(--signal)}
.stufen-titel{font-size:clamp(1.9rem,3.6vw,3rem);margin-bottom:12px}
.stufen-text{max-width:56ch}
.stufen--an .stufen-leiste{position:relative;display:grid;grid-template-columns:repeat(var(--n),1fr);align-items:end;height:var(--h);margin:46px 0 54px}
.stufen-linie{position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(to bottom right,transparent calc(50% - 1.5px),var(--linie) calc(50% - 1.5px),var(--linie) calc(50% + 1.5px),transparent calc(50% + 1.5px))}
.stufen-linie i{position:absolute;inset:0;background:linear-gradient(to bottom right,transparent calc(50% - 2px),var(--signal) calc(50% - 2px),var(--signal) calc(50% + 2px),transparent calc(50% + 2px));clip-path:inset(0 calc(100% - var(--p,10%)) 0 0);transition:clip-path .8s var(--weich)}
.stufen-tab{position:relative;z-index:1;justify-self:center;display:flex;flex-direction:column;align-items:center;gap:9px;background:none;border:0;padding:0;cursor:pointer;margin-bottom:calc((var(--i) + .5) / var(--n) * var(--h) - 23px)}
.stufen-name{position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:10px;white-space:nowrap;font:700 clamp(.7rem,1.3vw,1rem)/1 var(--f-anzeige);letter-spacing:.1em;text-transform:uppercase;color:var(--grau);transition:color .2s}
.stufen-nr{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--weiss);border:2px solid var(--nacht);font:700 1.15rem/1 var(--f-anzeige);transition:transform .3s var(--weich),background-color .3s,border-color .3s,color .3s}
.stufen-tab:hover .stufen-nr{transform:scale(1.1)}
.stufen-tab[aria-selected="true"] .stufen-nr{background:var(--signal);border-color:var(--signal);color:var(--nacht);transform:scale(1.22)}
.stufen-tab[aria-selected="true"] .stufen-name{color:var(--tinte)}
.stufen--an .stufen-felder{margin-top:0;padding:clamp(22px,3vw,38px);border-radius:var(--radius);background:var(--luft);min-height:11.5em}
.sek--mist .stufen--an .stufen-felder{background:var(--weiss)}
.stufen--an .stufen-feld{border:0;padding:0}
.stufen--an .stufen-feld:not(.aktiv){display:none}
.stufen--an .stufen-feld.aktiv{animation:sanftAuf .5s var(--weich) both}
@media (max-width:560px){.stufen-nr{width:38px;height:38px;font-size:1rem}.stufen-tab{margin-bottom:calc((var(--i) + .5) / var(--n) * var(--h) - 19px)}}

/* Beitragsrechner */
.beitrag{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(20px,4vw,64px);align-items:center;margin-top:clamp(30px,4vw,52px)}
.beitrag-wahl{border:0;margin:0;padding:0;min-width:0;display:grid;gap:10px}
.beitrag-wahl legend{padding:0;margin-bottom:14px;font:700 .8rem/1.2 var(--f-anzeige);letter-spacing:.14em;text-transform:uppercase;color:var(--grau)}
.beitrag-opt{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border:2px solid var(--linie);border-radius:var(--radius);background:var(--weiss);cursor:pointer;transition:border-color .2s,background-color .2s,color .2s,transform .25s var(--weich)}
.beitrag-opt input{position:absolute;opacity:0;width:1px;height:1px}
.beitrag-opt:hover{border-color:var(--nacht);transform:translateX(4px)}
.beitrag-name{font:700 1.15rem/1.1 var(--f-anzeige);letter-spacing:.04em;text-transform:uppercase}
.beitrag-klein{font:700 1.15rem/1 var(--f-anzeige);font-variant-numeric:tabular-nums;white-space:nowrap}
.beitrag-opt.gewaehlt,.beitrag-opt:has(input:checked){background:var(--nacht);border-color:var(--nacht);color:#fff}
.beitrag-opt:has(input:focus-visible){outline:3px solid var(--himmel);outline-offset:3px}
.beitrag-ergebnis{padding-left:clamp(0px,3vw,48px);border-left:1px solid var(--linie)}
.beitrag-preis{margin:0 0 10px;display:flex;align-items:baseline;flex-wrap:wrap;gap:.14em .3em;font-family:var(--f-anzeige);font-weight:700;text-transform:uppercase}
.beitrag-preis output{font-size:clamp(6rem,17vw,13rem);line-height:.8;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--nacht)}
.beitrag-preis span{font-size:clamp(1.2rem,2.2vw,1.9rem);color:var(--signal);letter-spacing:.04em}
.beitrag-tag{font-size:clamp(1.05rem,1.5vw,1.25rem);max-width:34ch}
.beitrag-text{color:var(--grau);font-size:.98rem}
@media (max-width:760px){.beitrag{grid-template-columns:minmax(0,1fr)}.beitrag-ergebnis{padding:24px 0 0;border-left:0;border-top:1px solid var(--linie)}}

/* Kontakt und Anflug */
.anflug{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(22px,4vw,60px);align-items:center}
.anflug-bild{margin:0}
.anflug-bild img{display:block;width:100%;border-radius:var(--radius)}
.anflug-bild figcaption{margin-top:8px;font-size:.74rem;opacity:.66}
.anflug-daten{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,3vw,38px) clamp(18px,3vw,36px);margin:0}
.anflug-daten dt{color:var(--signal);margin-bottom:10px}
.anflug-daten dd{margin:0;line-height:1.55}
.anflug-daten .textlink{margin-top:8px;font-size:.82rem}
.anflug-status{display:inline-flex;align-items:center;gap:9px;margin-top:10px;font:700 .78rem/1.25 var(--f-anzeige);letter-spacing:.1em;text-transform:uppercase}
@media (max-width:860px){.anflug{grid-template-columns:minmax(0,1fr)}}
@media (max-width:480px){.anflug-daten{grid-template-columns:minmax(0,1fr)}}

/* ════════════════════════════════════════════════════════════
   8 · Fotos: Band, Galerie, Großansicht
   Kein Foto wird gestreckt: Bänder zeigen einen Ausschnitt,
   die Galerie jedes Foto im eigenen Seitenverhältnis.
   ════════════════════════════════════════════════════════════ */
.band,.pbild{position:relative;overflow:hidden;background:var(--nacht);color:#fff;isolation:isolate}
.band{height:clamp(300px,58vw,82vh)}
.pbild{height:var(--pbild-h,75svh);min-height:300px}
.band-medien,.pbild-medien{position:absolute;inset:-9% 0;z-index:-2}
.band-medien img,.pbild-medien img,.pbild-medien video{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 58%}
.band::after,.pbild::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(var(--tief-rgb),0) 55%,rgba(var(--tief-rgb),.78) 100%)}
.band-zeile{position:absolute;left:var(--rand);right:var(--rand);bottom:clamp(20px,4vw,48px);display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.pbild-zeile{position:absolute;inset:auto 0 clamp(20px,4vw,48px) 0}
.band-zeit,.pbild-zeit{display:inline-block;padding:6px 10px 5px;border-radius:3px;background:var(--signal);color:var(--nacht);font-size:.74rem}
.band-text,.pbild-text{font:700 clamp(1.5rem,3.4vw,3rem)/.98 var(--f-anzeige);text-transform:uppercase;max-width:22ch;margin:8px 0 0}
.band--leer,.pbild--leer{background:linear-gradient(180deg,#7FB1E0,#CBE1F4)}
.band-himmel{position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.9)}
.band-himmel .wolke{display:none}
.pbild-tipp{position:absolute;left:var(--rand);top:20px;right:var(--rand);margin:0}
.wolkenschatten{display:none}
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){
    .band-medien,.pbild-medien,.seitenkopf-medien{animation:bildFahrt linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
    @keyframes bildFahrt{from{transform:translateY(-7%)}to{transform:translateY(7%)}}
  }
}

.galerie{columns:var(--gal-sp,3);column-gap:clamp(8px,1.2vw,16px);margin-top:clamp(28px,4vw,48px);max-width:none}
.galerie-bild{position:relative;margin:0 0 clamp(8px,1.2vw,16px);break-inside:avoid;overflow:hidden;border-radius:var(--radius);background:var(--luft-tief)}
.galerie-knopf{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}
.galerie-knopf img{display:block;width:100%;height:auto;transition:transform 1s var(--weich)}
.galerie-bild:hover img{transform:scale(1.05)}
.galerie-bild figcaption{position:absolute;inset:auto 0 0 0;padding:34px 14px 12px;background:linear-gradient(180deg,rgba(var(--tief-rgb),0),rgba(var(--tief-rgb),.82));color:#fff;font:700 .8rem/1.2 var(--f-anzeige);letter-spacing:.1em;text-transform:uppercase;pointer-events:none;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .4s var(--weich)}
.galerie-bild:hover figcaption,.galerie-bild:focus-within figcaption{opacity:1;transform:none}
.galerie-bild--leer{aspect-ratio:4/3;display:grid;place-items:center;color:var(--grau)}
@media (hover:none){.galerie-bild figcaption{opacity:1;transform:none}}
@media (max-width:700px){.galerie{columns:2}}

.gross{position:fixed;inset:0;z-index:300;display:grid;grid-template-rows:1fr auto;justify-items:center;align-items:center;padding:clamp(14px,3vw,40px);background:rgba(12,16,44,.95);color:#fff;opacity:0;transition:opacity .25s}
.gross.offen{opacity:1}
.gross img{max-width:100%;max-height:100%;min-height:0;width:auto;height:auto;object-fit:contain;border-radius:4px;grid-row:1}
.gross-zeile{grid-row:2;display:flex;align-items:center;gap:18px;padding-top:14px;font:700 .82rem/1.2 var(--f-anzeige);letter-spacing:.12em;text-transform:uppercase}
.gross-zaehler{opacity:.66}
.gross button{position:absolute;display:grid;place-items:center;width:52px;height:52px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;cursor:pointer;transition:background-color .2s}
.gross button:hover{background:var(--signal);color:var(--nacht)}
.gross-zu{top:16px;right:16px;font-size:1.6rem;line-height:1}
.gross-vor,.gross-weiter{top:50%;margin-top:-26px}
.gross-vor{left:14px}
.gross-weiter{right:14px}
.gross-vor::before,.gross-weiter::before{content:"";width:12px;height:12px;border-top:2px solid currentColor;border-right:2px solid currentColor}
.gross-vor::before{transform:translateX(3px) rotate(-135deg)}
.gross-weiter::before{transform:translateX(-3px) rotate(45deg)}

/* ════════════════════════════════════════════════════════════
   9 · Weitere Bausteine (auch auf den Unterseiten)
   ════════════════════════════════════════════════════════════ */
.laufband{overflow:hidden;background:var(--signal);color:var(--nacht);padding:15px 0}
.laufband-spur{display:flex;align-items:center;gap:26px;width:max-content;animation:lauf 46s linear infinite}
.laufband:hover .laufband-spur{animation-play-state:paused}
.laufband-wort{font:700 1.15rem/1 var(--f-anzeige);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.laufband-trenner{display:inline-flex;opacity:.7}
@keyframes lauf{to{transform:translateX(-50%)}}

.zahlen{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0;border-top:1px solid var(--linie);max-width:none}
.zahl{padding:26px 22px 26px 0}
.zahl + .zahl{padding-left:22px;border-left:1px solid var(--linie)}
.zahl-wert{font:700 clamp(2.8rem,6vw,5rem)/.9 var(--f-anzeige);text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--nacht)}
.sek--dunkel .zahl-wert,.sek--abend .zahl-wert{color:#fff}
.zahl-prefix,.zahl-suffix{font-size:.5em;color:var(--signal)}
.zahl-text{margin-top:10px;font-size:.98rem;color:var(--grau)}
.sek--dunkel .zahl-text,.sek--abend .zahl-text{color:rgba(255,255,255,.78)}

.karten,.flotte{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(14px,2vw,24px);max-width:none}
.karte,.flugzeug-karte,.news-card > a{position:relative;display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius);background:var(--weiss);color:var(--tinte);border:1px solid var(--linie);text-decoration:none;transition:transform .45s var(--weich),box-shadow .45s,border-color .3s}
a.karte:hover,a.flugzeug-karte:hover,.news-card > a:hover{transform:translateY(-6px);box-shadow:var(--schatten);border-color:transparent}
.karte{padding:26px 24px 24px;gap:12px}
.karte-bild{margin:-26px -24px 8px;aspect-ratio:3/2;overflow:hidden;background:var(--luft-tief)}
.karte-bild img,.flugzeug-bild img,.news-card-img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--weich)}
a.karte:hover .karte-bild img,a.flugzeug-karte:hover .flugzeug-bild img,.news-card > a:hover img{transform:scale(1.06)}
.karte-symbol{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--luft);color:var(--signal);font-size:1.5rem}
.karte-titel,.flugzeug-name,.schritt-titel,.news-card h3{font-size:clamp(1.45rem,2.2vw,1.9rem);line-height:.98}
.karte-text,.flugzeug-text{margin:0;font-size:.98rem;color:var(--grau)}
.karte-link{margin-top:auto;padding-top:8px;color:var(--himmel)}
.flugzeug-bild{position:relative;aspect-ratio:3/2;overflow:hidden;background:linear-gradient(180deg,#CBE1F4,var(--luft));display:grid;place-items:center;color:var(--grau)}
.flugzeug-rolle{position:absolute;left:12px;top:12px;padding:6px 10px 5px;border-radius:3px;background:var(--signal);color:var(--nacht);font:700 .72rem/1 var(--f-anzeige);letter-spacing:.12em;text-transform:uppercase}
.flugzeug-rumpf{display:flex;flex-direction:column;gap:12px;padding:20px 22px 22px;flex:1}
.flugzeug-specs{display:flex;flex-wrap:wrap;gap:6px}
.flugzeug-specs span{padding:5px 9px 4px;border-radius:3px;background:var(--luft);font:700 .76rem/1 var(--f-anzeige);letter-spacing:.1em;text-transform:uppercase}
.hangar-hinweis,.hangar-leiste{display:none}
.flotte--hangar{display:flex;overflow-x:auto;gap:16px;padding:4px var(--rand) 14px;scroll-snap-type:x proximity}
.flotte--hangar > *{flex:0 0 min(80vw,340px);scroll-snap-align:start}

.specs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--linie);border:1px solid var(--linie);border-radius:var(--radius);overflow:hidden;max-width:none}
.spec{padding:18px 18px 16px;background:var(--weiss)}
.spec-label{color:var(--grau);font-size:.7rem;margin-bottom:8px}
.spec-wert{font:700 1.5rem/1.05 var(--f-anzeige);text-transform:uppercase}

.schritte{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:clamp(18px,2.6vw,34px);counter-reset:schritt;max-width:none}
.schritt{position:relative;padding-top:20px;border-top:3px solid var(--nacht)}
.schritt-nr{font:700 clamp(2.6rem,5vw,4rem)/.9 var(--f-anzeige);color:var(--signal);margin-bottom:12px}
.schritt-titel{margin-bottom:8px}
.schritt-text{font-size:.98rem;color:var(--grau)}
.sek--dunkel .schritt,.sek--abend .schritt{border-color:#fff}
.sek--dunkel .schritt-text,.sek--abend .schritt-text{color:rgba(255,255,255,.8)}

.stimmen{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(16px,2.4vw,30px);max-width:none}
.stimme{position:relative;margin:0;padding:clamp(24px,3vw,40px);padding-top:78px;border-radius:var(--radius);background:var(--weiss);display:flex;flex-direction:column;gap:20px}
.sek--hell .stimme{background:var(--luft)}
.stimme-zeichen{position:absolute;left:clamp(22px,3vw,38px);top:24px;font-size:0;line-height:0;color:var(--signal)}
.stimme-zeichen::before{content:"\201D";display:block;height:.42em;overflow:hidden;font:700 5.4rem/1 var(--f-anzeige)}
.stimme blockquote{margin:0;font-size:clamp(1.15rem,1.7vw,1.45rem);line-height:1.42;font-style:italic}
.stimme figcaption{margin-top:auto;font:700 .82rem/1.3 var(--f-anzeige);letter-spacing:.12em;text-transform:uppercase}
.stimme-rolle{font-weight:400;color:var(--grau)}

.fragen{border-top:2px solid var(--nacht);max-width:900px}
.frage{border-bottom:1px solid var(--linie)}
.frage summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 2px;cursor:pointer;list-style:none}
.frage summary::-webkit-details-marker{display:none}
.frage-titel{font:700 clamp(1.2rem,2.1vw,1.7rem)/1.05 var(--f-anzeige);letter-spacing:.02em;text-transform:uppercase;transition:color .2s}
.frage summary:hover .frage-titel{color:var(--himmel)}
.frage-symbol{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:2px solid var(--nacht);transition:transform .35s var(--weich),background-color .25s,color .25s,border-color .25s}
.frage[open] .frage-symbol{transform:rotate(45deg);background:var(--signal);border-color:var(--signal);color:var(--nacht)}
.frage-antwort{overflow:hidden;transition:height .4s var(--weich)}
.frage-inhalt{padding:0 60px 24px 2px;max-width:66ch;color:var(--grau)}
.sek--dunkel .fragen,.sek--dunkel .frage-symbol{border-color:#fff}
.sek--dunkel .frage{border-color:var(--linie-hell)}
.sek--dunkel .frage-inhalt{color:rgba(255,255,255,.8)}

/* Videos von YouTube (erst nach Klick) und eigene Dateien */
.video-buehne{display:grid;justify-items:center;gap:18px;width:min(100% - 2 * var(--rand),var(--breit));margin-inline:auto}
.kino{width:100%}
.reel{width:min(100%,360px)}
.nur-reel{display:none}
@media (max-width:760px){.nur-kino{display:none}.nur-reel{display:block}}
.video-fassade{position:relative;overflow:hidden;border-radius:var(--radius);background:var(--nacht-tief);aspect-ratio:16/9}
.video-fassade--reel,.reel .video-fassade{aspect-ratio:9/16}
.video-fassade iframe,.video-fassade video{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}
.fassade-kern{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;border:0;background:linear-gradient(160deg,var(--nacht) 0%,var(--nacht-hell) 100%);color:#fff;cursor:pointer;text-align:center}
.fassade-himmel{display:none}
.fassade-play{display:grid;place-items:center;width:78px;height:78px;border-radius:50%;background:var(--signal);color:var(--nacht);transition:transform .3s var(--weich)}
.fassade-kern:hover .fassade-play{transform:scale(1.1)}
.fassade-titel{font:700 clamp(1.3rem,2.6vw,2rem)/1 var(--f-anzeige);text-transform:uppercase}
.fassade-hinweis{max-width:34ch;font-size:.82rem;line-height:1.4;opacity:.74}
.entry-content > .video-fassade{max-width:860px}
.insta-bereich{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.insta-rahmen{width:min(100%,540px)}
.insta-rahmen--leer{aspect-ratio:1;border:2px dashed var(--linie);border-radius:var(--radius);display:grid;place-items:center;color:var(--grau)}
.insta-fassade{width:100%;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;border:0;border-radius:var(--radius);background:linear-gradient(160deg,var(--nacht),var(--nacht-hell));color:#fff;cursor:pointer;text-align:center}
.insta-zeichen{font-size:2.4rem;line-height:1;color:var(--signal)}
.insta-profil-knopf{display:inline-flex;align-items:center;gap:.6em;min-height:54px;padding:0 24px;border:2px solid var(--nacht);border-radius:var(--radius);color:var(--nacht);font:700 .98rem/1 var(--f-anzeige);letter-spacing:.09em;text-transform:uppercase;text-decoration:none;transition:background-color .25s,color .25s,transform .25s var(--weich)}
.insta-profil-knopf:hover{background:var(--nacht);color:#fff;transform:translateY(-2px)}
.instagalerie-kopf{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.instagalerie-titel{font-size:clamp(1.5rem,2.6vw,2.2rem)}
.instagalerie-raster{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.instabild{position:relative;display:block;aspect-ratio:1;overflow:hidden;border-radius:var(--radius);background:var(--luft-tief);color:#fff}
.instabild img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--weich)}
.instabild:hover img{transform:scale(1.06)}
.instabild-symbol{position:absolute;right:10px;top:10px}
.instabild-leer{position:absolute;inset:0;display:grid;place-items:center;color:var(--grau)}

.platzhalter{display:grid;place-items:center;border:2px dashed var(--linie);border-radius:var(--radius);background:var(--luft);color:var(--grau);aspect-ratio:4/3;max-width:860px}
.platzhalter--169{aspect-ratio:16/9}
.platzhalter--916{aspect-ratio:9/16;max-width:360px}
.platzhalter-kern{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px;text-align:center}
.platzhalter-text{font:700 .8rem/1.3 var(--f-anzeige);letter-spacing:.12em;text-transform:uppercase}
.redaktions-tipp,.pbild-tipp{padding:12px 16px;border-left:4px solid var(--signal);background:#FFF3EE;color:var(--tinte);font:400 .9rem/1.45 Arial,sans-serif;border-radius:0 4px 4px 0}

.uebergang{position:relative;padding:var(--abstand) var(--rand);text-align:center;overflow:hidden}
.uebergang-buehne{display:none}
.uebergang-zeit{margin:0 0 20px;color:var(--signal)}
.uebergang-zeilen p{margin:0;font:700 clamp(2.4rem,7vw,6rem)/.92 var(--f-anzeige);text-transform:uppercase}
.uebergang-zeilen em{font-family:var(--f-text);font-style:italic;font-weight:400;text-transform:none;color:var(--signal)}
.uebergang-text{max-width:52ch;margin:26px auto 0;font-size:1.15rem;color:var(--grau)}

/* ════════════════════════════════════════════════════════════
   10 · Unterseiten, Beiträge, Fließtext
   ════════════════════════════════════════════════════════════ */
.seitenkopf{position:relative;overflow:hidden;isolation:isolate;background:var(--nacht);color:#fff;padding:calc(var(--kopf-h) + clamp(48px,9vw,120px)) 0 clamp(40px,6vw,84px)}
.seitenkopf::before{content:"";position:absolute;inset:auto -10% -62% 30%;height:120%;z-index:-1;background:radial-gradient(closest-side,rgba(255,79,31,.32),rgba(255,79,31,0));pointer-events:none}
.seitenkopf-medien{position:absolute;inset:-8% 0;z-index:-2}
.seitenkopf-medien img{display:block;width:100%;height:100%;object-fit:cover}
.seitenkopf--medien::before{inset:0;height:auto;background:linear-gradient(180deg,rgba(var(--tief-rgb),.5),rgba(var(--tief-rgb),.82))}
.seitenkopf .kicker{margin:0 0 16px;color:var(--signal)}
.seitenkopf h1{font-size:clamp(3rem,9vw,8rem);line-height:.88;max-width:14ch}
.seitenkopf .untertitel{margin:22px 0 0;max-width:52ch;font-size:clamp(1.08rem,1.5vw,1.3rem);color:rgba(255,255,255,.84)}

.entry-content{overflow-wrap:break-word}
.entry-content > h2:not(:first-child){margin-top:clamp(44px,6vw,80px)}
.entry-content h3{font-size:clamp(1.5rem,2.6vw,2.1rem);margin-top:1.6em}
.entry-content h4{font-size:1.2rem;letter-spacing:.06em;margin-top:1.5em}
.entry-content ul,.entry-content ol{padding-left:1.25em}
.entry-content li{margin-bottom:.45em}
.entry-content li::marker{color:var(--signal);font-weight:600}
.entry-content img{border-radius:var(--radius)}
.entry-content figure{margin:0}
.entry-content figcaption{margin-top:8px;font-size:.84rem;color:var(--grau)}
.entry-content blockquote{margin:0;padding-left:22px;border-left:4px solid var(--signal);font-style:italic;font-size:1.15rem}
.entry-content table{width:100%;border-collapse:collapse;font-size:.98rem}
.entry-content th,.entry-content td{padding:12px 14px;border-bottom:1px solid var(--linie);text-align:left;vertical-align:top}
.entry-content th{font:700 .8rem/1.2 var(--f-anzeige);letter-spacing:.12em;text-transform:uppercase;border-bottom:2px solid var(--nacht)}
.wp-block-table{overflow-x:auto}
.alignwide,.alignfull{max-width:none}
.wp-block-image img{display:block}
.wp-block-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;max-width:none;padding:0;list-style:none}
.wp-block-gallery .wp-block-image{margin:0;aspect-ratio:1;overflow:hidden;border-radius:var(--radius)}
.wp-block-gallery .wp-block-image img,.wp-block-gallery .wp-block-image a{display:block;width:100%;height:100%;object-fit:cover}
.wp-block-gallery figcaption{display:none}
.wp-block-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(18px,3vw,40px);max-width:none}
.wp-block-media-text{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,3vw,44px);align-items:center;max-width:none}
.wp-block-media-text__media img{display:block;width:100%}
@media (max-width:700px){.wp-block-media-text{grid-template-columns:1fr}}
.wp-block-button__link{display:inline-flex;align-items:center;min-height:54px;padding:0 26px;border-radius:var(--radius);background:var(--signal);color:var(--nacht);font:700 .98rem/1 var(--f-anzeige);letter-spacing:.09em;text-transform:uppercase;text-decoration:none}
.section-label{color:var(--signal);margin-bottom:10px}
.section-sub{font-size:1.2rem;color:var(--grau)}
.lsg-feature-list{list-style:none;padding:0;display:grid;gap:10px}
.lsg-feature-list li{position:relative;padding-left:30px;margin:0}
.lsg-feature-list li::before{content:"";position:absolute;left:2px;top:.5em;width:14px;height:8px;border-left:3px solid var(--signal);border-bottom:3px solid var(--signal);transform:rotate(-45deg)}
.lsg-note{padding:20px 22px;border-left:5px solid var(--signal);background:var(--luft);border-radius:0 var(--radius) var(--radius) 0}
.knopfreihe{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.beitrag-zurueck{margin-top:48px}

.news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:clamp(16px,2.4vw,28px)}
.news-card-img{aspect-ratio:3/2;overflow:hidden;background:linear-gradient(180deg,#CBE1F4,var(--luft));display:grid;place-items:center;color:var(--grau)}
.news-card-body{display:flex;flex-direction:column;gap:10px;padding:20px 22px 24px}
.news-card-date{margin:0;color:var(--signal)}
.news-card-body p:last-child{font-size:.96rem;color:var(--grau)}
.pagination,.navigation.pagination{margin-top:48px}
.pagination .nav-links{display:flex;flex-wrap:wrap;gap:8px}
.page-numbers{display:grid;place-items:center;min-width:46px;height:46px;padding:0 14px;border:2px solid var(--nacht);border-radius:var(--radius);color:var(--nacht);font:700 .9rem/1 var(--f-anzeige);letter-spacing:.08em;text-decoration:none}
.page-numbers.current,.page-numbers:hover{background:var(--nacht);color:#fff}
.seite-404{min-height:86vh;display:grid;align-items:center;padding-top:calc(var(--kopf-h) + 60px);background:var(--nacht);color:#fff}
.seite-404 h1{font-size:clamp(3rem,10vw,9rem);line-height:.88}
.seite-404 .kicker{color:var(--signal);margin:0 0 14px}
.seite-404 .untertitel{max-width:48ch;margin-top:20px;font-size:1.2rem;color:rgba(255,255,255,.84)}

/* ════════════════════════════════════════════════════════════
   11 · Mitmach-Banner, Fuß, Schnupper-Leiste
   ════════════════════════════════════════════════════════════ */
.cta-banner{position:relative;overflow:hidden;padding:clamp(56px,8vw,110px) var(--rand);background:var(--signal);color:var(--nacht);text-align:center}
.cta-banner h3{font-size:clamp(2.4rem,6.4vw,5.4rem);line-height:.9;margin-bottom:16px}
.cta-banner p{max-width:50ch;margin:0 auto 26px;font-size:1.15rem}
.cta-banner .knopf{background:var(--nacht);color:#fff;box-shadow:none}
.cta-banner .knopf:hover{background:var(--nacht-tief)}
.cta-banner .cta-trust{margin:20px auto 0;font:700 .8rem/1.3 var(--f-anzeige);letter-spacing:.12em;text-transform:uppercase}
.fuss{background:var(--nacht-tief);color:rgba(255,255,255,.82);padding-top:clamp(56px,7vw,96px);font-size:.98rem}
.fuss a{color:inherit;text-decoration:none}
.fuss a:hover{color:#fff;text-decoration:underline}
.fuss-innen{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:clamp(26px,4vw,60px)}
.fuss-name{margin:0 0 14px;color:#fff;font:700 clamp(1.5rem,2.6vw,2.2rem)/.96 var(--f-anzeige);text-transform:uppercase}
.fuss-zeiten{margin-top:18px;padding-top:16px;border-top:1px solid var(--linie-hell);font-size:.92rem}
.fuss-spalte h2{color:var(--signal);margin-bottom:16px}
.fuss-spalte ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.fuss-unten{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;margin-top:clamp(40px,5vw,70px);padding-block:22px;border-top:1px solid var(--linie-hell);font-size:.86rem}
.fuss-unten span:last-child{display:flex;gap:22px}
@media (max-width:900px){.fuss-innen{grid-template-columns:1fr 1fr}.fuss-marke{grid-column:1/-1}}
@media (max-width:480px){.fuss-innen{grid-template-columns:1fr}}
.sticky-mobile-cta{position:fixed;inset:auto 0 0 0;z-index:70;padding:10px var(--rand) calc(10px + env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.97);border-top:1px solid var(--linie);transform:translateY(110%);transition:transform .4s var(--weich)}
.sticky-mobile-cta .knopf{width:100%;min-height:50px}
.sticky-mobile-cta.sichtbar{transform:none}
@media (min-width:761px){.sticky-mobile-cta{display:none}}
@media (max-width:760px){.fuss-unten{padding-bottom:90px}}

/* ════════════════════════════════════════════════════════════
   12 · Bewegung reduzieren, Druck
   ════════════════════════════════════════════════════════════ */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
  .js .zeig{opacity:1;transform:none}
  .start-titel .wort > span{transform:none}
  .laufband-spur{animation:none}
}
@media print{
  .kopf,.sticky-mobile-cta,.schiene,.pf-buehne,.cta-banner,.film-knopf{display:none !important}
  .pf-ruhig{display:block !important}
  .js .zeig{opacity:1;transform:none}
  .start{min-height:0;color:#000;background:none}
  .sek,.fuss{padding-block:24px;background:none !important;color:#000 !important}
}

/* ════════════════════════════════════════════════════════════
   13 · Ergänzungen: Wort-Animation, Segler auf der Etappen-Linie
   ════════════════════════════════════════════════════════════ */
html.menue-offen{overflow:hidden}
.sek-text > h2 .wort{display:inline-block;overflow:hidden;vertical-align:bottom;padding:.07em .04em .17em 0;margin-bottom:-.17em;margin-right:-.04em}
.sek-text > h2 .wort > span{display:inline-block}
.js .sek-text > h2.h2-worte{opacity:1;transform:none}
.js .sek-text > h2.h2-worte .wort > span{transform:translateY(112%);transition:transform .95s var(--weich);transition-delay:calc(var(--wi,0) * 60ms)}
.js .sek-text > h2.h2-worte.da .wort > span{transform:none}
.stufen-flieger{position:absolute;z-index:2;left:var(--p,10%);bottom:var(--p,10%);color:var(--nacht);pointer-events:none;
  transform:translate(-50%,50%) rotate(calc(var(--w,14deg) * -1)) translateY(-52px);
  transition:left .9s var(--weich),bottom .9s var(--weich)}
.stufen-flieger svg{display:block}
.entry-content > * + *{margin-top:clamp(18px,2.2vw,30px)}
.entry-content > h2{font-size:clamp(2.2rem,5vw,4rem);line-height:.92}
.entry-content > p,.entry-content > ul,.entry-content > ol,.entry-content > blockquote{max-width:68ch}
.sek-text > h2{font-size:clamp(2.7rem,7.2vw,6.2rem)}
.seite-404 > .rand{padding-block:60px}
@media (prefers-reduced-motion:reduce){.js .sek-text > h2.h2-worte .wort > span{transform:none}}
.reel--auch-desktop{display:block}
@media (max-width:760px){
  .start-knoepfe .knopf,.sticky-mobile-cta .knopf{font-size:.86rem;letter-spacing:.06em;padding:0 16px}
  .laufband{padding:12px 0}
  .laufband-wort{font-size:1rem}
}

/* ════════════════════════════════════════════════════════════
   14 · v11 „Aufwind": Start-Video, Scroll-Text, Winde, Feinschliff
   ════════════════════════════════════════════════════════════ */
:root{--bogen:clamp(18px,3.2vw,44px)}

/* Orange in kleiner Schrift auf Blau: etwas heller, damit es lesbar bleibt */
.seitenkopf .kicker,.pf-nr,.anflug-daten dt,.fuss-spalte h2,.seite-404 .kicker,.winde-kicker{color:var(--signal-blau)}
.sek--hell .winde-kicker,.sek--mist .winde-kicker{color:var(--signal)}

/* Lesefortschritt: schmale Linie am oberen Rand */
.fortschritt{position:fixed;inset:0 0 auto 0;z-index:95;height:3px;background:var(--signal);transform:scaleX(var(--seite,0));transform-origin:left;pointer-events:none}

/* ── Start: bleibt stehen, der Rest der Seite schiebt sich darüber ── */
.js .start{position:sticky;top:var(--start-oben,0px);z-index:0}
.js .start.start--weg{visibility:hidden}
#flugtag{position:relative;z-index:1}
.cta-banner,.fuss{position:relative;z-index:1}
.js #flugtag > :first-child{clip-path:inset(0 round var(--bogen) var(--bogen) 0 0)}
.start-bild picture,.start-bild > img,.start-video{transform:scale(calc(1 + var(--sp,0) * .16));transform-origin:50% 62%}
.start-video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.3s var(--weich)}
.start--laeuft .start-video{opacity:1}
.start--video .start-bild::after{background:
  linear-gradient(180deg,rgba(var(--tief-rgb),.4) 0%,rgba(var(--tief-rgb),0) 22%,rgba(var(--tief-rgb),.1) 48%,rgba(var(--tief-rgb),.82) 100%),
  linear-gradient(90deg,rgba(var(--tief-rgb),.44) 0%,rgba(var(--tief-rgb),0) 62%)}
.start::after{content:"";position:absolute;inset:0;background:var(--nacht-tief);opacity:calc(var(--sp,0) * .7);pointer-events:none}
.js .start-inhalt{transform:translate3d(0,calc(var(--sp,0) * -16vh),0);opacity:calc(1 - var(--sp,0) * 1.5)}
.js .start-fakten .fakten{opacity:calc(1 - var(--sp,0) * 2.4)}
.start-pause{position:absolute;right:var(--rand);top:calc(var(--kopf-h) + 14px);z-index:2;display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px 0 14px;border:1px solid rgba(255,255,255,.5);border-radius:22px;background:rgba(var(--tief-rgb),.5);color:#fff;font:700 .74rem/1 var(--f-anzeige);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background-color .2s,border-color .2s,opacity .3s}
.start-pause:hover{background:#fff;border-color:#fff;color:var(--nacht)}
.start-pause[hidden]{display:none}
.start-pause-zeichen{width:11px;height:13px;background:currentColor;clip-path:polygon(0 0,36% 0,36% 100%,0 100%,0 0,64% 0,100% 0,100% 100%,64% 100%,64% 0)}
.start-pause[data-steht] .start-pause-zeichen{clip-path:polygon(0 0,100% 50%,0 100%)}
.start-scroll{position:absolute;right:calc(var(--rand) + 4px);top:56%;z-index:2;margin:0;display:flex;flex-direction:column;align-items:center;gap:12px;font:700 .72rem/1 var(--f-anzeige);letter-spacing:.2em;text-transform:uppercase;transition:opacity .4s}
.start-scroll span{writing-mode:vertical-rl}
.start-scroll::after{content:"";width:2px;height:64px;background:linear-gradient(#fff 50%,rgba(255,255,255,.25) 50%) 0 0/100% 200%;animation:scrollStrich 2s var(--weich) infinite}
@keyframes scrollStrich{from{background-position:0 100%}to{background-position:0 -100%}}
.start--los .start-scroll,.start--los .start-pause{opacity:0;pointer-events:none}
@media (max-width:760px){
  .start-scroll{display:none}
  .start-pause{top:calc(var(--kopf-h) + 6px);padding:0 12px}
  .start-pause-wort{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
}

/* ── Scroll-Text: Wörter leuchten nacheinander auf ── */
.manifest{position:relative;background:var(--weiss);color:var(--tinte)}
.manifest-innen{display:grid;gap:clamp(18px,3.4vh,40px);align-content:center;padding-block:clamp(72px,14vh,170px)}
.manifest-kicker{margin:0;display:flex;align-items:center;gap:12px;color:var(--signal)}
.manifest-kicker::before{content:"";width:40px;height:4px;background:var(--signal)}
.manifest-text{margin:0;max-width:21em;font:700 clamp(1.75rem,4.5vw,4.4rem)/1.05 var(--f-anzeige);letter-spacing:.005em;text-transform:uppercase}
.manifest-text em{font-family:var(--f-text);font-style:italic;font-weight:400;text-transform:none;letter-spacing:-.015em;color:var(--signal)}
.manifest-weiter{position:relative;height:44px;margin:0;border-bottom:2px solid var(--linie);color:var(--nacht)}
.manifest-weiter::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:100%;background:var(--signal);transform:scaleX(var(--mp,1));transform-origin:left}
.manifest-weiter svg{position:absolute;bottom:0;left:calc(var(--mp,1) * (100% - 40px));display:block}
.js .manifest--fest{height:210vh;height:calc(100svh + 110vh)}
.js .manifest--fest .manifest-innen{position:sticky;top:0;height:100vh;height:100svh;padding-block:calc(var(--kopf-h) + 10px) 26px}
.js .manifest--an .mw{opacity:.13;transition:opacity .3s linear}
.js .manifest--an .mw.an{opacity:1}

/* ── Du fährst die Winde ── */
.winde{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.72fr);gap:clamp(24px,5vw,84px);align-items:center}
.winde--quer{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.winde-pult{display:grid;gap:clamp(14px,2.2vh,24px);align-content:center;min-width:0}
.winde-kicker{margin:0}
.winde-titel{font-size:clamp(2rem,4.3vw,3.7rem);line-height:.94}
.winde-text{margin:0;max-width:46ch;opacity:.86}
.winde-werte{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px clamp(20px,3.4vw,52px);margin:8px 0 0}
.winde-wert dt{margin-bottom:7px;font:700 .7rem/1.2 var(--f-anzeige);letter-spacing:.14em;text-transform:uppercase;opacity:.72}
.winde-wert dd{margin:0;font:700 clamp(1.5rem,2.5vw,2.3rem)/1 var(--f-anzeige);font-variant-numeric:tabular-nums;text-transform:uppercase;white-space:nowrap}
.winde-wert--hoehe dd{font-size:clamp(3.6rem,7.4vw,6.6rem);line-height:.8}
.winde-wert small{font-size:.4em;letter-spacing:.04em;color:var(--signal-blau)}
.sek--hell .winde-wert small,.sek--mist .winde-wert small{color:var(--signal)}
.winde-wert .winde-phase{font-size:clamp(1.15rem,1.9vw,1.6rem);min-width:7.2em}
.winde-balken{height:6px;border-radius:3px;overflow:hidden;background:rgba(255,255,255,.22)}
.sek--hell .winde-balken,.sek--mist .winde-balken{background:var(--linie)}
.winde-balken i{display:block;height:100%;background:var(--signal);transform:scaleX(var(--wp,0));transform-origin:left}
.winde-bedienung{display:flex;align-items:center;gap:clamp(18px,2.6vw,32px);margin-top:10px}
.winde-knopf{position:relative;flex:none;display:grid;place-items:center;width:clamp(108px,11.5vw,138px);aspect-ratio:1;border:0;border-radius:50%;background:var(--signal);color:var(--nacht);font:700 1.02rem/1 var(--f-anzeige);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;
  touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;transition:transform .22s var(--weich),background-color .2s}
.winde-knopf::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--signal);animation:puls 2.2s ease-out infinite;pointer-events:none}
.winde--zieht .winde-knopf{transform:scale(.92);background:#fff}
.winde--zieht .winde-knopf::before,.winde--fertig .winde-knopf::before{animation:none;opacity:0}
.winde-ring{position:absolute;inset:-10px;max-width:none;width:calc(100% + 20px);height:calc(100% + 20px);transform:rotate(-90deg);color:#fff;pointer-events:none}
.sek--hell .winde-ring,.sek--mist .winde-ring{color:var(--nacht)}
.winde-ring circle{fill:none;stroke:currentColor;stroke-width:4;opacity:.22}
.winde-ring .winde-ring-lauf{opacity:1;stroke-linecap:round;stroke-dasharray:339.3;stroke-dashoffset:calc(339.3px * (1 - var(--wp,0)))}
.winde-neben{min-width:0}
.winde-status{margin:0;max-width:36ch;min-height:2.9em;font-size:1rem;line-height:1.45}
.winde-links{margin:10px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.winde-auto{background:none;border:0;border-bottom:2px solid currentColor;padding:6px 0;color:inherit;cursor:pointer}
.winde-auto::after{display:none}
.winde-ziel[hidden]{display:none}
.winde-buehne{margin:0;justify-self:center;width:100%;max-width:calc(80vh * 9 / 16)}
.winde--quer .winde-buehne{max-width:none}
.winde-rahmen{position:relative;overflow:hidden;border-radius:calc(var(--radius) * 2.6);background:#000;box-shadow:0 34px 70px -34px rgba(0,0,0,.65)}
.winde-rahmen video{display:block;width:100%;height:100%;object-fit:cover}
.winde-marke{position:absolute;left:14px;top:14px;padding:7px 11px 6px;border-radius:3px;background:var(--signal);color:var(--nacht);font:700 .76rem/1 var(--f-anzeige);letter-spacing:.12em;text-transform:uppercase}
.winde-buehne figcaption{margin-top:12px;font-size:.9rem;opacity:.74}
@media (max-width:860px){
  .winde,.winde--quer{grid-template-columns:minmax(0,1fr);gap:16px}
  .winde-pult{display:contents}
  .winde-kicker{order:1}.winde-titel{order:2}.winde-text{order:3}
  .winde-buehne{order:4;max-width:calc(50vh * 9 / 16);max-width:calc(50svh * 9 / 16)}
  .winde--quer .winde-buehne{max-width:none}
  .winde-buehne figcaption{display:none}
  .winde-balken{order:5}.winde-werte{order:6;margin:0}.winde-bedienung{order:7;margin-top:0}
  .winde-wert--hoehe dd{font-size:3.2rem}
  .winde-knopf{width:104px}
}

/* ── Galerien: Vorschaubild ist ein Link (geht auch ohne JavaScript) ── */
a.galerie-knopf{color:inherit;text-decoration:none}
.galerie--wp{margin-top:clamp(18px,3vw,36px)}
.elementor-image-gallery .galerie{width:100%}

/* ── Bilder schieben sich von unten ins Bild ── */
.js .zeig.zeig--wisch{opacity:1;transform:none;clip-path:inset(100% 0 0 0 round var(--radius));transition:clip-path 1.15s var(--weich);transition-delay:var(--d,0s)}
.js .zeig.zeig--wisch.da{clip-path:inset(0 0 0 0 round var(--radius))}

/* ── Drei Wege: Karten rücken beim Scrollen gestaffelt nach ── */
@media (min-width:861px){.js .wege .weg{translate:0 calc(var(--wv,0) * var(--i,0) * 54px)}}

@media (prefers-reduced-motion:reduce){
  .js .start{position:relative;top:auto}
  .start-bild picture,.start-bild > img,.start-video{transform:none}
  .js .start-inhalt{transform:none;opacity:1}
  .js .start-fakten .fakten{opacity:1}
  .start::after{display:none}
  .js #flugtag > :first-child{clip-path:none}
  .js .zeig.zeig--wisch{clip-path:none}
  .js .wege .weg{translate:none}
  .start-scroll,.fortschritt{display:none}
}
@media print{.fortschritt,.start-pause,.start-scroll,.start-video,.winde-bedienung{display:none !important}.js .start{position:relative}}
#inhalt{position:relative}
.start-waechter{position:absolute;left:0;top:0;width:1px;height:100vh;pointer-events:none;visibility:hidden}
.knopf--signal,.knopf--voll{transition:transform .25s var(--weich),translate .35s var(--weich),background-color .25s,color .25s,border-color .25s,box-shadow .25s}
.gross--allein .gross-vor,.gross--allein .gross-weiter,.gross--allein .gross-zaehler{display:none}
@media (max-width:760px){
  .start--video .start-bild::after{background:linear-gradient(180deg,rgba(var(--tief-rgb),.44) 0%,rgba(var(--tief-rgb),.08) 20%,rgba(var(--tief-rgb),.5) 46%,rgba(var(--tief-rgb),.88) 100%)}
}
@media (max-width:860px){
  .winde-werte{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:end;gap:10px 18px}
  .winde-wert .winde-phase{min-width:0;white-space:normal}
}
.galerie .galerie-bild{margin:0 0 clamp(8px,1.2vw,16px)}
