@font-face{font-family:"Lora";src:url(fonts/lora.woff) format("woff");font-weight:400 600;font-style:normal;font-display:swap}
@font-face{font-family:"Lora";src:url(fonts/lora-kursiv.woff) format("woff");font-weight:400 600;font-style:italic;font-display:swap}
:root{
  --navy:#0a2247;--navy-tief:#061835;--gold:#b47e14;--gold-text:#855b0a;--gold-hell:#dcb15a;
  --eis:#e5eaf2;--papier:#f8fafd;--linie:#cfd8e6;--text:#1d2d48;--leise:#4c5d78;
  --top:88px;--rand:clamp(22px,5vw,76px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--papier);color:var(--text);font:400 1.1875rem/1.72 "Lora",Georgia,"Times New Roman",serif}
img,svg{display:block}
h1,h2,h3{color:var(--navy);font-weight:500;line-height:1.16;margin:0;text-wrap:balance}
h1{font-size:clamp(2.7rem,5.1vw,4.7rem);letter-spacing:-.012em}
h2{font-size:clamp(2rem,3.3vw,2.95rem);letter-spacing:-.006em}
h3{font-size:1.45rem;line-height:1.28}
p{margin:0}p+p{margin-top:1em}
a{color:var(--gold-text);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{color:var(--navy)}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
ul,ol{margin:0;padding:0}
.lead{font-size:1.36rem;line-height:1.6;color:var(--text);max-width:34em}
.h2-text{margin-top:1rem;max-width:36em}
.leise{color:var(--leise);font-size:1.02rem}
.sprung{position:absolute;left:-999px;top:0;background:#fff;padding:10px 16px;z-index:50}
.sprung:focus{left:12px;top:12px}

/* Kopfzeile */
.top{position:sticky;top:0;z-index:30;height:var(--top);background:var(--papier);border-bottom:1px solid var(--eis)}
.top__in{max-width:1800px;height:100%;margin:auto;padding-inline:var(--rand);display:flex;align-items:center;justify-content:space-between;gap:24px}
.marke img{height:54px;width:auto}
.nav{display:flex;align-items:center;gap:clamp(16px,2.2vw,34px)}
.nav a{color:var(--navy);text-decoration:none;font-size:1.04rem;padding:6px 0;border-bottom:2px solid transparent;white-space:nowrap}
.nav a:hover{border-color:var(--gold-hell)}
.nav a[aria-current=page]{border-color:var(--gold)}
.nav a.nav__kontakt{background:var(--navy);color:#fff;padding:10px 22px;border:0}
.nav a.nav__kontakt:hover,.nav a.nav__kontakt[aria-current=page]{background:var(--gold-text);color:#fff}
.menue{display:none;background:none;border:1px solid var(--linie);color:var(--navy);font:inherit;font-size:1rem;padding:7px 15px;cursor:pointer}

/* Seite mit Aussichtsfenster */
.view{display:grid;grid-template-columns:minmax(0,1fr) min(42vw,700px);max-width:1800px;margin-inline:auto}
.view__text{padding:clamp(52px,8vw,120px) clamp(32px,6vw,104px) clamp(64px,8vw,120px) var(--rand);min-width:0}
.fenster{position:sticky;top:var(--top);align-self:start;height:calc(100vh - var(--top));overflow:hidden;background:var(--eis)}
.fenster img{position:absolute;top:0;right:0;height:145%;width:auto;max-width:none;min-width:100%;object-fit:cover;will-change:transform}
.fenster--links img{right:auto;left:0}
.fenster__welle{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:clamp(60px,9vh,104px);z-index:1}
.block{margin-top:clamp(64px,8vw,116px)}
.knoepfe{display:flex;flex-wrap:wrap;gap:14px;margin-top:2.1rem}
.knopf{display:inline-block;background:var(--navy);color:#fff;text-decoration:none;padding:15px 30px;font:inherit;font-size:1.08rem;line-height:1.3;border:1px solid var(--navy);cursor:pointer}
.knopf:hover{background:var(--gold-text);border-color:var(--gold-text);color:#fff}
.knopf--leer{background:transparent;color:var(--navy)}
.knopf--leer:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.bewilligt{margin-top:1.9rem;color:var(--leise);font-size:1.02rem;padding-left:16px;border-left:2px solid var(--gold)}

/* Zwei Türen */
.tueren{display:grid;grid-template-columns:1fr 1fr;margin-top:2rem}
.tuer{display:flex;flex-direction:column;padding:clamp(26px,3vw,42px);text-decoration:none;color:inherit}
.tuer h3{font-size:1.65rem;color:inherit}
.tuer p{margin:.9rem 0 1.5rem;font-size:1.06rem;line-height:1.62}
.tuer span{margin-top:auto;text-decoration:underline;text-underline-offset:.2em;text-decoration-color:var(--gold-hell);text-decoration-thickness:2px}
.tuer--navy{background:var(--navy);color:#fff}
.tuer--eis{background:var(--eis);color:var(--navy)}
.tuer--navy:hover{background:var(--navy-tief);color:#fff}
.tuer--eis:hover{background:#d9e0ec;color:var(--navy)}

/* Listen */
.werte{margin:1.8rem 0 0}
.werte div{display:grid;grid-template-columns:minmax(9rem,12rem) 1fr;gap:6px 26px;padding:1.3rem 0;border-top:1px solid var(--linie)}
.werte dt{color:var(--navy);font-size:1.3rem;font-weight:500;line-height:1.3}
.werte dd{margin:0}
.punkte{list-style:none;margin-top:1.4rem}
.punkte li{position:relative;padding:.45rem 0 .45rem 1.7rem}
.punkte li::before{content:"";position:absolute;left:0;top:1.12em;width:.95rem;height:2px;background:var(--gold)}
.schwerpunkte{list-style:none;margin-top:1.6rem}
.schwerpunkte li{padding:1.05rem 0;border-top:1px solid var(--linie)}
.schwerpunkte a{font-size:clamp(1.65rem,2.5vw,2.15rem);color:var(--navy);text-decoration:none;line-height:1.2}
.schwerpunkte a:hover{color:var(--gold-text)}
.schwerpunkte p{color:var(--leise);font-size:1.04rem;margin-top:.25rem}
.notiz{margin-top:clamp(64px,8vw,116px);background:var(--eis);padding:clamp(28px,4vw,54px)}
.notiz blockquote{margin:0;font-style:italic;font-size:clamp(1.42rem,2.1vw,1.8rem);line-height:1.46;color:var(--navy)}
.notiz p.wer{margin-top:1.2rem}
.kasten{margin-top:1.8rem;background:var(--navy);color:#fff;padding:clamp(26px,3.4vw,44px)}
.kasten h3{color:#fff}.kasten p{margin-top:.7rem}.kasten a{color:var(--gold-hell)}

/* Aufstieg */
.band{background:var(--navy);color:#e7edf6;position:relative}
.band h2{color:#fff}
.band__in{max-width:1800px;margin:auto;padding:clamp(40px,5vw,72px) var(--rand) clamp(64px,7vw,104px)}
.welle{width:100%;height:clamp(44px,6vw,92px);background:var(--papier)}
.welle--unten{transform:scaleY(-1);margin-top:-2px;position:relative}
.band,.fuss{position:relative;margin-top:-2px}
.voll-logo{width:min(440px,100%);height:auto;margin-top:2.6rem}
.aufstieg{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,2.6vw,40px);margin-top:clamp(36px,4vw,56px)}
.aufstieg li{border-top:2px solid var(--gold-hell);padding-top:1.1rem}
.aufstieg li:nth-child(1){margin-top:186px}.aufstieg li:nth-child(2){margin-top:124px}.aufstieg li:nth-child(3){margin-top:62px}
.aufstieg b{display:block;font-weight:400;font-size:2.5rem;line-height:1;color:var(--gold-hell)}
.aufstieg h3{color:#fff;margin-top:.8rem}
.aufstieg p{margin-top:.55rem;font-size:1.06rem;line-height:1.62}

/* Fragen */
.fragen{margin-top:1.6rem;border-bottom:1px solid var(--linie)}
.fragen details{border-top:1px solid var(--linie)}
.fragen summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:1.05rem 0;color:var(--navy);font-size:1.22rem;font-weight:500;line-height:1.35}
.fragen summary::-webkit-details-marker{display:none}
.fragen summary::after{content:"+";color:var(--gold-text);font-size:1.5rem;line-height:1;transition:transform .2s}
.fragen details[open] summary::after{transform:rotate(45deg)}
.fragen details p{padding:0 2.2rem 1.25rem 0}

/* Abschluss */
.abschluss{max-width:1800px;margin:auto;padding:clamp(60px,8vw,120px) var(--rand);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:40px clamp(40px,7vw,120px);align-items:end}
.abschluss p{margin-top:1rem;max-width:33em}
.direkt{list-style:none}
.direkt li{padding:.9rem 0;border-top:1px solid var(--linie)}
.direkt small{display:block;font-size:.98rem;color:var(--leise)}
.direkt a{font-size:clamp(1.3rem,2vw,1.7rem);color:var(--navy);text-decoration:none;overflow-wrap:anywhere}
.direkt a:hover{color:var(--gold-text)}

/* Formular */
.formular{margin-top:1.6rem}
.feld{margin-top:1.2rem}
.feld label,.feld legend{display:block;color:var(--navy);font-size:1.04rem;margin-bottom:.3rem;padding:0}
.feld input[type=text],.feld input[type=email],.feld input[type=tel],.feld textarea{width:100%;font:inherit;font-size:1.06rem;color:var(--text);background:#fff;border:1px solid #8c9ab0;padding:12px 14px;border-radius:0}
.feld textarea{min-height:170px;resize:vertical}
fieldset.feld{border:0;padding:0;margin-inline:0}
.wahl{display:flex;gap:10px;align-items:baseline;font-size:1.06rem;margin:.28rem 0}
.wahl input{accent-color:var(--navy);flex:none;transform:translateY(1px)}
.feld label.wahl{color:var(--text);display:flex;margin-bottom:.28rem}
.zwei{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.topf{position:absolute;left:-9999px}
.meldung{margin-top:1.3rem;padding:14px 18px;background:#fff;border-left:3px solid var(--gold);font-size:1.04rem}
.meldung[hidden]{display:none}

/* Rechtliches */
.recht{max-width:760px;margin:auto;padding:clamp(52px,7vw,100px) var(--rand) clamp(70px,8vw,120px)}
.recht h2{font-size:1.65rem;margin-top:2.5rem;margin-bottom:.6rem}
.recht ul{padding-left:1.2em}
.recht address{font-style:normal;margin-top:1.4rem}

/* Fuss */
.fuss{background:var(--navy);color:#dfe6f1;font-size:1.03rem}
.fuss__in{max-width:1800px;margin:auto;padding:clamp(34px,4vw,56px) var(--rand) 38px;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:34px clamp(30px,5vw,80px)}
.fuss img{height:60px;width:auto}
.fuss p{margin-top:1rem;max-width:30em}
.fuss a{color:#fff;text-decoration-color:var(--gold-hell)}
.fuss a:hover{color:var(--gold-hell)}
.fuss ul{list-style:none}.fuss li{padding:.14rem 0}
.fuss__recht{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.2);padding-top:18px;font-size:.96rem;display:flex;flex-wrap:wrap;gap:6px 26px;justify-content:space-between}

@media (max-width:1180px){
  .menue{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:var(--top);background:var(--papier);flex-direction:column;align-items:stretch;gap:0;padding:8px var(--rand) 24px;border-bottom:1px solid var(--linie)}
  .nav.offen{display:flex}
  .nav a{padding:13px 0;font-size:1.15rem;border-bottom:1px solid var(--eis)}
  .nav a[aria-current=page]{border-color:var(--eis);color:var(--gold-text)}
  .nav a.nav__kontakt{margin-top:14px;text-align:center;padding:14px}
}
@media (max-width:980px){
  :root{--top:74px}
  body{font-size:1.125rem}
  .marke img{height:44px}
  .view{grid-template-columns:minmax(0,1fr)}
  .fenster{order:-1;position:relative;top:0;height:min(68vw,460px)}
  .fenster img{top:auto;bottom:0;height:auto;width:100%;min-width:0;right:0;transform:none!important}
  .fenster--links img{left:0}
  .view__text{padding:44px var(--rand) 64px}
  .aufstieg{grid-template-columns:1fr 1fr}
  .aufstieg li:nth-child(n){margin-top:0}
  .abschluss{grid-template-columns:minmax(0,1fr)}
  .fuss__in{grid-template-columns:1fr 1fr}.fuss__marke{grid-column:1/-1}
}
@media (max-width:620px){
  .lead{font-size:1.24rem}
  .tueren,.zwei,.aufstieg{grid-template-columns:minmax(0,1fr)}
  .werte div{grid-template-columns:minmax(0,1fr)}
  .knopf{width:100%;text-align:center}
  .fuss__in{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* Ergänzungen: kostenlos, Video, Weg, Stellen */
.bewilligt strong{display:block;color:var(--navy);font-weight:500;font-size:1.14rem;margin-bottom:.2rem}
.film{display:block;width:100%;height:auto;background:var(--navy-tief)}
.film-block{margin-top:clamp(56px,6vw,88px);max-width:900px}
.film-block h3{color:#fff;font-size:1.65rem;margin-bottom:1rem}
.view__text .film{margin-top:1.4rem}
.weg{list-style:none;margin-top:1.6rem}
.weg li{display:grid;grid-template-columns:3.2rem minmax(0,1fr);padding:1.25rem 0;border-top:1px solid var(--linie)}
.weg b{font-weight:400;font-size:2rem;line-height:1.15;color:var(--gold-text)}
.weg p{margin-top:.35rem}
.quellen{font-size:1rem;color:var(--leise);margin-top:1.4rem}
.stelle{padding:1.6rem 0;border-top:1px solid var(--linie)}
.stelle h2{font-size:1.75rem}
.stelle__daten{color:var(--leise);margin-top:.35rem;font-size:1.05rem}
.stelle details{margin-top:.8rem}
.stelle summary{cursor:pointer;color:var(--gold-text);text-decoration:underline;text-underline-offset:.18em}
.stelle h3{margin-top:1.1rem;font-size:1.2rem}
.stelle__text{white-space:pre-line;margin-top:.25rem}
.stelle__wer{font-size:1rem;color:var(--leise);margin-top:1.1rem}
.stelle .knopf{margin-top:1.1rem}
.stelle-leer{margin-top:1.6rem;padding:1.4rem 0;border-top:1px solid var(--linie)}
.verw{max-width:820px;margin:auto;padding:clamp(40px,6vw,80px) var(--rand) 90px}
.verw h1{font-size:clamp(2.2rem,4vw,3.2rem)}
.verw h2{font-size:1.6rem;margin-top:2.6rem}
.verw select{width:100%;font:inherit;font-size:1.06rem;padding:12px 14px;background:#fff;border:1px solid #8c9ab0;border-radius:0;color:var(--text)}
.verw input[type=password]{width:100%;font:inherit;font-size:1.06rem;background:#fff;border:1px solid #8c9ab0;padding:12px 14px;border-radius:0}
.verw textarea{min-height:130px}
.verw__zeile{display:flex;flex-wrap:wrap;gap:10px 16px;justify-content:space-between;align-items:center;padding:1rem 0;border-top:1px solid var(--linie)}
.verw__zeile form{display:inline}
.verw__knoepfe{display:flex;gap:10px;align-items:center}
.verw__klein{background:none;border:0;padding:0;font:inherit;font-size:1rem;color:var(--gold-text);text-decoration:underline;cursor:pointer}
.verw__oben{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
@media (max-width:1240px){
  .menue{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:var(--top);background:var(--papier);flex-direction:column;align-items:stretch;gap:0;padding:8px var(--rand) 24px;border-bottom:1px solid var(--linie)}
  .nav.offen{display:flex}
  .nav a{padding:13px 0;font-size:1.15rem;border-bottom:1px solid var(--eis)}
  .nav a[aria-current=page]{border-color:var(--eis);color:var(--gold-text)}
  .nav a.nav__kontakt{margin-top:14px;text-align:center;padding:14px}
}
.verw__knoepfe a{font-size:1rem}
.knoepfe--drei{gap:12px}
.knoepfe--drei .knopf{padding:15px 23px;font-size:1.04rem}
@media (max-width:620px){.knoepfe--drei .knopf{padding:15px 20px}}

/* Themen */
.themen{max-width:1800px;margin:auto;padding:clamp(20px,3vw,40px) var(--rand) clamp(64px,8vw,110px)}
.themen__text{margin-top:.8rem;max-width:40em}
.themen__raster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,44px) clamp(18px,2.4vw,36px);margin-top:clamp(26px,3vw,40px)}
.thema{display:block;text-decoration:none;color:inherit}
.thema img{display:block;width:100%;height:auto;border-bottom:3px solid var(--gold)}
.thema h3{margin-top:.95rem;font-size:1.5rem}
.thema p{color:var(--leise);font-size:1.04rem;line-height:1.55;margin-top:.25rem}
.thema:hover h3{color:var(--gold-text);text-decoration:underline;text-underline-offset:.16em;text-decoration-thickness:1px}
.thema-bild{display:block;width:100%;height:auto;margin-top:2rem;border-bottom:3px solid var(--gold)}
.zurueck{font-size:1.02rem;margin-bottom:1.2rem}
.recht ul.punkte{padding-left:0}
.recht .notiz{margin-top:2.8rem}
.recht .notiz h2{margin-top:0}
.notiz .frei{margin-top:1rem;color:var(--navy);font-weight:500}
@media (max-width:980px){.themen__raster{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.themen__raster{grid-template-columns:minmax(0,1fr)}}
