@font-face{font-family:"Fira Sans";src:url(../fonts/FiraSans-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Fira Sans";src:url(../fonts/FiraSans-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Fira Sans";src:url(../fonts/FiraSans-ExtraBold.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}

/* Farben aus _design/farbkonzept.html. -text = Ton mit ausreichend Kontrast für Schrift. */
:root{
  --lime:#c9ce1e; --lime-text:#5f6310; --lime-hell:#f4f5d0;
  --blau:#5a89ad; --blau-text:#3f6d91; --blau-hell:#e3ebf2;
  --petrol:#1d8dae; --petrol-text:#15708c; --petrol-hell:#e0eef4;
  --wein:#681c41; --wein-text:#681c41; --wein-hell:#f2e6ec;
  --gelb:#e9eb86; --gelb-text:#7e003f; --gelb-hell:#f7f8d4;
  --band:#d7d7d9; --rule:#e4e4e3; --grund:#fff; --flaeche:#f6f6f4;
  --ink:#19171c; --muted:#47464a;
  --akzent:var(--petrol); --akzent-text:var(--petrol-text); --akzent-hell:var(--petrol-hell);
  /* Namen, die die Rechtstexte mitbringen */
  --paper:var(--flaeche); --accent:var(--petrol-text); --accent-tint:var(--petrol-hell);
  --ease:cubic-bezier(.16,1,.3,1);
  --r:12px;
}
.farbe-blau{--akzent:var(--blau);--akzent-text:var(--blau-text);--akzent-hell:var(--blau-hell)}
.farbe-lime{--akzent:var(--lime);--akzent-text:var(--lime-text);--akzent-hell:var(--lime-hell)}
.farbe-wein{--akzent:var(--wein);--akzent-text:var(--wein-text);--akzent-hell:var(--wein-hell)}
.farbe-petrol{--akzent:var(--petrol);--akzent-text:var(--petrol-text);--akzent-hell:var(--petrol-hell)}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:16px}
body{margin:0;background:var(--grund);color:var(--ink);
  font:400 clamp(1rem,.96rem + .2vw,1.125rem)/1.65 "Fira Sans",system-ui,sans-serif}
img{max-width:100%;height:auto}
a{color:var(--petrol-text);text-underline-offset:.16em;text-decoration-thickness:1px}
a:hover{color:#0e5268;text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--petrol);outline-offset:3px;border-radius:4px}
h1,h2,h3{line-height:1.15;letter-spacing:-.015em;margin:0}
h1{font-weight:800;font-size:clamp(2rem,1.5rem + 2.4vw,3.25rem)}
h2{font-weight:600;font-size:clamp(1.35rem,1.15rem + .9vw,1.8rem)}
h3{font-weight:600;font-size:1.15rem}
.sym{width:1.25em;height:1.25em;flex:none;vertical-align:-.22em}

.huelle{max-width:1200px;margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
.springlink{position:absolute;left:16px;top:-60px;background:var(--ink);color:#fff;padding:10px 14px;border-radius:8px;z-index:10}
.springlink:focus{top:12px}

/* ---------------------------------------------------------------- Kopf */
.kopf{background:#fff}
.kopf-innen{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:16px}
.marke img{display:block;width:clamp(180px,34vw,250px)}
.knopf-hilfe{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;
  background:var(--wein);color:#fff;font-weight:600;text-decoration:none;white-space:nowrap;
  transition:transform .25s var(--ease),background-color .2s}
.knopf-hilfe:hover{color:#fff;background:#4f1431;transform:translateY(-1px)}
.hauptnav{background:linear-gradient(var(--band),#eeeef0)}
.hauptnav-innen{display:flex;gap:4px 24px;overflow-x:auto;scrollbar-width:none}
.hauptnav-innen::-webkit-scrollbar{display:none}
.hauptnav a{position:relative;display:block;padding:12px 0 13px;color:var(--ink);font-weight:600;text-decoration:none;white-space:nowrap}
.hauptnav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;border-radius:4px 4px 0 0;
  background:var(--c);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.hauptnav a:hover::after,.hauptnav a[aria-current]::after{transform:scaleX(1)}
.nav-blau{--c:var(--blau)}.nav-lime{--c:var(--lime)}.nav-wein{--c:var(--wein)}.nav-petrol{--c:var(--petrol)}

/* ---------------------------------------------------------------- Knöpfe */
.knopf{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 22px;border-radius:999px;
  background:var(--petrol-text);color:#fff;font-weight:600;text-decoration:none;
  transition:transform .3s var(--ease),background-color .2s}
.knopf:hover{color:#fff;background:#0e5268;transform:translateY(-2px)}
.knopf .sym{transition:transform .3s var(--ease)}
.knopf:hover .sym{transform:translateX(4px)}
.knopf-hell{background:#fff;color:var(--wein)}
.knopf-hell:hover{background:var(--gelb);color:var(--wein)}

/* ---------------------------------------------------------------- Startseite */
.hero{padding-block:clamp(40px,7vw,96px) clamp(32px,5vw,64px);overflow:hidden}
.hero-raster{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,5vw,64px);align-items:center}
.augen{margin:0 0 16px;font-weight:600;color:var(--petrol-text);letter-spacing:.02em}
.hero h1{font-size:clamp(2.4rem,1.6rem + 4vw,4.6rem);line-height:1.02;letter-spacing:-.03em}
.hero h1 span{display:block;color:var(--muted);font-weight:600}
.hero .anriss{max-width:52ch;color:var(--muted);font-size:1.12em;margin:24px 0 32px}
.hero-marke img{display:block;width:100%;max-width:460px;margin-left:auto}
.hero-text,.hero-marke{animation:rein .9s var(--ease) both}
.hero-marke{animation-delay:.12s}
@keyframes rein{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.sektion{padding-block:clamp(32px,5vw,64px)}
.sektion-titel{margin-bottom:24px}

.felder{list-style:none;margin:0;padding:0;display:grid;gap:16px;grid-template-columns:repeat(12,minmax(0,1fr))}
.feld{grid-column:span 6;display:flex;flex-direction:column;border-radius:var(--r);overflow:hidden}
.feld:nth-child(1){grid-column:span 7}.feld:nth-child(2){grid-column:span 5}
.feld:nth-child(3){grid-column:span 5}.feld:nth-child(4){grid-column:span 7}
.feld-kopf{flex:1;display:grid;align-content:start;grid-template-columns:auto 1fr;gap:4px 14px;padding:24px;background:var(--akzent);color:#fff;
  text-decoration:none;transition:filter .2s}
.farbe-lime .feld-kopf,.farbe-lime .feld-kopf:hover{color:var(--ink)}
.feld-kopf:hover{color:#fff;filter:brightness(.93)}
.feld-kopf .sym{grid-row:span 2;width:40px;height:40px;padding:8px;border-radius:10px;background:rgba(255,255,255,.18)}
.farbe-blau .feld-kopf{background:var(--blau-text)}
.farbe-petrol .feld-kopf{background:var(--petrol-text)}
.feld-titel{font-size:1.4rem;font-weight:800;line-height:1.15}
.feld-text{font-size:.97rem;opacity:.95}
.feld-liste{background:var(--akzent-hell);list-style:none;margin:0;padding:12px 24px 20px;display:flex;flex-wrap:wrap;gap:8px}
.feld-liste a{display:inline-block;padding:6px 12px;border-radius:999px;background:#fff;color:var(--ink);
  font-size:.93rem;text-decoration:none;transition:transform .25s var(--ease)}
.feld-liste a:hover{transform:translateY(-2px);color:var(--ink)}

.liste-seiten{list-style:none;margin:0;padding:0;display:grid;gap:0;border-top:1px solid var(--rule)}
.liste-seiten li{border-bottom:1px solid var(--rule)}
.liste-seiten a{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;padding:18px 0 18px 20px;position:relative;
  color:var(--ink);text-decoration:none}
.liste-seiten a::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:4px;border-radius:4px;background:var(--akzent);
  transform:scaleY(.4);transition:transform .35s var(--ease)}
.liste-seiten a:hover::before{transform:scaleY(1)}
.ls-bereich{font-size:.85rem;font-weight:600;color:var(--akzent-text)}
.ls-titel{font-size:1.2rem;font-weight:600;line-height:1.3}
.ls-text{color:var(--muted);max-width:75ch}

.band-hilfe{background:var(--wein);color:#fff;padding-block:clamp(40px,6vw,72px)}
.band-hilfe-raster{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(24px,5vw,64px);align-items:center}
.band-hilfe p{max-width:48ch;margin:12px 0 24px;opacity:.95}
.band-hilfe-nummern{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.band-hilfe-nummern li{display:grid;gap:2px;padding:16px 20px;border-radius:var(--r);background:rgba(255,255,255,.1)}
.band-hilfe-nummern span{font-size:.92rem;opacity:.9}
.band-hilfe-nummern a{color:#fff;font-size:clamp(1.4rem,1.1rem + 1vw,1.9rem);font-weight:800;text-decoration:none;letter-spacing:.01em}
.band-hilfe-nummern a:hover{color:var(--gelb)}
.geschichte p{max-width:70ch;color:var(--muted)}

/* ---------------------------------------------------------------- Bereichsseite */
.bereich-kopf{background:var(--akzent-hell);border-bottom:6px solid var(--akzent);padding-block:24px clamp(32px,5vw,56px)}
.bereich-kopf h1{display:flex;align-items:center;gap:14px;margin-top:12px}
.bereich-kopf h1 .sym{width:.9em;height:.9em;color:var(--akzent-text)}
.bereich-kopf .anriss{max-width:60ch;margin:16px 0 0;color:var(--muted);font-size:1.12em}
.bald{margin-top:48px;padding:24px;border-radius:var(--r);background:var(--flaeche)}
.bald h2{font-size:1.15rem}
.bald ul{margin:12px 0 0;padding-left:20px;columns:2 260px;color:var(--muted)}

/* ---------------------------------------------------------------- Artikel */
.seite{padding-block:24px 64px}
.brot{margin:0 0 8px;font-size:.93rem;color:var(--muted)}
.brot a{color:var(--muted)}
.seite-raster{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(32px,5vw,72px);align-items:start;margin-top:8px}
.text{max-width:720px}
.text > h1{border-top:6px solid var(--akzent);padding-top:20px;margin-top:8px}
.meta{margin:12px 0 0;color:var(--muted);font-size:.93rem}
.text h2{margin:2em 0 .5em}
.text h3{margin:1.6em 0 .4em}
.text p,.text li{max-width:68ch}
.text ul,.text ol{padding-left:1.3em}
.text li{margin:.3em 0}

.kurz{margin:28px 0;padding:20px 24px;border-radius:var(--r);background:var(--akzent-hell)}
.kurz-titel{margin:0 0 6px;font-weight:800;color:var(--akzent-text)}
.farbe-lime .kurz-titel{color:var(--lime-text)}
.kurz ul{margin:0;padding-left:1.1em}

.schritte{list-style:none;counter-reset:s;padding:0!important;margin:20px 0}
.schritte > li{counter-increment:s;position:relative;padding:0 0 18px 52px;margin:0}
.schritte > li::before{content:counter(s);position:absolute;left:0;top:-2px;width:34px;height:34px;border-radius:10px;
  display:grid;place-items:center;background:var(--akzent);color:#fff;font-weight:800}
.farbe-lime .schritte > li::before{color:var(--ink)}
.farbe-blau .schritte > li::before{background:var(--blau-text)}
.farbe-petrol .schritte > li::before{background:var(--petrol-text)}
.schritte > li::after{content:"";position:absolute;left:16px;top:38px;bottom:4px;width:2px;background:var(--rule)}
.schritte > li:last-child::after{display:none}
.pfad{display:inline;padding:1px 6px;border-radius:6px;background:var(--flaeche);border:1px solid var(--rule);font-size:.94em;white-space:normal}

.kasten{margin:24px 0;padding:18px 22px;border-radius:var(--r)}
.kasten p:first-child{margin-top:0}.kasten p:last-child,.kasten ul:last-child{margin-bottom:0}
.kasten-titel{font-weight:800;margin:0 0 6px}
.kasten-tipp{background:var(--gelb-hell);border-left:6px solid var(--gelb)}
.kasten-tipp .kasten-titel{color:var(--gelb-text)}
.kasten-warnung{background:var(--wein-hell);border-left:6px solid var(--wein)}
.kasten-warnung .kasten-titel{color:var(--wein)}
.kasten-info{background:var(--petrol-hell);border-left:6px solid var(--petrol)}
.kasten-info .kasten-titel{color:var(--petrol-text)}

.tabelle{overflow-x:auto;margin:20px 0}
.tabelle table{border-collapse:collapse;width:100%;min-width:520px;font-size:.95em}
.tabelle th,.tabelle td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--rule)}
.tabelle th{background:var(--flaeche);font-weight:600}

.bild{margin:28px 0}
.bild img{display:block;border-radius:var(--r)}
.bild figcaption{margin-top:8px;font-size:.9rem;color:var(--muted)}
.bild figcaption span{white-space:nowrap}

.stand{display:flex;gap:10px;align-items:flex-start;margin:40px 0 0;padding:14px 18px;border-radius:var(--r);
  background:var(--gelb-hell);color:var(--ink);font-size:.93rem}
.stand .sym{color:var(--gelb-text);margin-top:2px}
.quellen-titel{font-size:1.15rem!important}
.quellen{font-size:.93rem;color:var(--muted)}

.rand{position:static;display:grid;gap:20px}
.rand-block{padding:20px;border-radius:var(--r);background:var(--flaeche)}
.rand-titel{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-weight:800;color:var(--akzent-text)}
.farbe-lime .rand-titel{color:var(--lime-text)}
.rand-liste{list-style:none;margin:0;padding:0}
.rand-liste a{display:block;padding:7px 0;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--rule)}
.rand-liste li:last-child a{border-bottom:0}
.rand-liste a:hover{color:var(--akzent-text)}
.rand-liste a[aria-current]{font-weight:600;color:var(--akzent-text)}

.hilfe-kurz{padding:20px;border-radius:var(--r);background:var(--wein);color:#fff;margin-top:32px}
.rand .hilfe-kurz{margin-top:0}
.hilfe-kurz-titel{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-weight:800}
.hilfe-kurz ul{list-style:none;margin:0;padding:0}
.hilfe-kurz li{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.2);font-size:.95rem;max-width:none}
.hilfe-kurz a{color:#fff;font-weight:600}
.hilfe-kurz a:hover{color:var(--gelb)}
.hilfe-kurz-mehr{display:inline-flex;align-items:center;gap:6px;margin-top:12px}

.liste-bereiche{list-style:none;padding:0!important;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.liste-bereiche a{display:flex;align-items:center;gap:10px;padding:14px 16px;border-radius:var(--r);background:var(--akzent-hell);color:var(--ink);font-weight:600;text-decoration:none}

.stellen{list-style:none;padding:0!important;display:grid;gap:14px;margin:20px 0}
.stelle{padding:18px 20px;border-radius:var(--r);background:var(--flaeche);border-left:6px solid var(--akzent);max-width:none!important}
.stelle h3{margin:0 0 4px}
.stelle p{margin:.3em 0}
.stelle .nummer{font-size:1.35rem;font-weight:800}
.stelle .nummer a{text-decoration:none}

.vertrag{margin:28px 0;padding:clamp(18px,3vw,32px);border:2px dashed var(--band);border-radius:var(--r)}
.vertrag h3{margin-top:1.2em}
.vertrag .zeile{position:relative;padding-left:30px;margin:.6em 0;line-height:2}
.vertrag .zeile::before{content:"";position:absolute;left:0;top:.45em;width:18px;height:18px;border:2px solid var(--muted);border-radius:4px}
.vertrag .luecke{display:inline-block;min-width:110px;border-bottom:1px solid var(--muted)}
.vertrag .unterschriften{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;margin-top:32px}
.vertrag .unterschriften span{display:block;border-top:1px solid var(--muted);padding-top:6px;font-size:.9rem;color:var(--muted)}

.recht{max-width:760px}
.recht h2{font-size:1.25rem}

/* ---------------------------------------------------------------- Fuß */
.fuss{margin-top:0;background:var(--flaeche);border-top:6px solid var(--band);padding-block:48px 32px;font-size:.95rem}
.fuss-raster{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:28px}
.fuss-titel{margin:0 0 8px;font-weight:800}
.fuss-titel a{color:var(--ink);text-decoration:none}
.fuss-blau .fuss-titel{border-bottom:3px solid var(--blau)}
.fuss-lime .fuss-titel{border-bottom:3px solid var(--lime)}
.fuss-wein .fuss-titel{border-bottom:3px solid var(--wein)}
.fuss-petrol .fuss-titel{border-bottom:3px solid var(--petrol)}
.fuss ul{list-style:none;margin:0;padding:0}
.fuss li{margin:6px 0}
.fuss li a{color:var(--muted);text-decoration:none}
.fuss li a:hover{color:var(--ink);text-decoration:underline}
.fuss-unten{display:flex;gap:16px;align-items:flex-start;margin-top:40px;padding-top:24px;border-top:1px solid var(--rule);color:var(--muted)}
.fuss-unten p{margin:0;max-width:80ch}

/* ---------------------------------------------------------------- schmal */
@media (max-width:900px){
  .seite-raster{grid-template-columns:minmax(0,1fr)}
  .rand{margin-top:16px}
}
@media (max-width:768px){
  .hero-raster,.band-hilfe-raster{grid-template-columns:minmax(0,1fr)}
  .hero-marke{order:-1}
  .hero-marke img{max-width:180px;margin-left:0}
  .felder{grid-template-columns:minmax(0,1fr)}
  .feld,.feld:nth-child(n){grid-column:auto}
  .knopf-hilfe{padding:0 12px;font-size:.95rem}
  .hauptnav-innen{flex-wrap:wrap;gap:0 18px;overflow:visible}
  .hauptnav a{padding:9px 0 10px}
}
@media (max-width:420px){
  .knopf-hilfe .sym{display:none}
}

@media print{
  .kopf,.fuss,.rand,.brot,.meta,.stand,.quellen,.quellen-titel,.hilfe-kurz,.kein-druck{display:none!important}
  body{font-size:11pt}
  .seite-raster{display:block}
  .vertrag{border:0;padding:0;margin:0}
  /* Auf der Vertragsseite nur die Vorlage drucken */
  .text:has(.vertrag) > :not(.vertrag){display:none!important}
  .seite:has(.vertrag){padding:0}
}
