/* Knut-Apotheke Karriere – Gestaltung der Karriereseite (v2).
   Farben ausschließlich die sieben Design-Sheet-Werte und Transparenzstufen davon:
   Nacht-Blau #153153, Himmel-Blau #75b5d7, Polar-Blau #d4e8ed, Warm-Rot #c00808, Schwarz #000000, Grau #c5c6c6, Weiß #ffffff.
   Keine Verläufe zwischen verschiedenen Farben (Transparenzverlauf derselben Farbe über Fotos ist zulässig).
   Variablen-Namen und Radien wie auf der Hauptseite (webseite\site\assets\css\site.css). Systemschrift, kein Dark Mode.
   Roter Button nie auf Nacht-Blau (Kontrast 2,05:1): dort weißer Button mit nacht-blauer Schrift.
   Markenfarben NICHT verändern. */

:root{
  --nachtblau:#153153;
  --himmelblau:#75b5d7;
  --polarblau:#d4e8ed;
  --warmrot:#c00808;
  --schwarz:#000000;
  --grau:#c5c6c6;
  --weiss:#ffffff;
  --shadow:0 16px 40px -12px rgba(21,49,83,0.22);
  --shadow-sm:0 8px 20px -8px rgba(21,49,83,0.18);
  --zeile:62ch;
  --radius-card:22px; --radius-lg:28px; --radius-pill:100px; --maxw:1160px;
  --font:-apple-system, "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --kopfhoehe:68px;
  color-scheme:light;
}

*{box-sizing:border-box;}
[hidden]{display:none !important;}
html{scroll-padding-top:calc(var(--kopfhoehe) + 16px);-webkit-text-size-adjust:100%;}
html.modal-offen,html.modal-offen body{overflow:hidden;}
body{margin:0;padding:0;overflow-x:hidden;font-family:var(--font);background:var(--weiss);color:var(--nachtblau);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{margin:0;font-weight:800;letter-spacing:-0.01em;color:var(--nachtblau);text-wrap:balance;overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto;}
p{margin:0;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;height:auto;display:block;}
picture{display:contents;}
figure,blockquote,dl,dd,ul,ol{margin:0;}
ul,ol{padding:0;list-style:none;}
button,input,select,textarea{font:inherit;color:inherit;}
:focus-visible{outline:3px solid var(--nachtblau);outline-offset:3px;}
.hero :focus-visible,.pagehero :focus-visible,.band :focus-visible,.cta-band :focus-visible,.initiativ :focus-visible,.siegel :focus-visible,footer.fuss :focus-visible{outline-color:var(--weiss);}
.visually-hidden{position:absolute !important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}
.wrap.schmal{max-width:860px;}
.sprite{position:absolute;}
.skip{position:absolute;left:-9999px;top:0;background:var(--nachtblau);color:var(--weiss);padding:10px 16px;z-index:400;border-radius:0 0 10px 0;}
.skip:focus{left:0;}
main:focus{outline:none;}

.ico{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.ico-kreis{display:inline-flex;align-items:center;justify-content:center;flex:none;width:52px;height:52px;border-radius:50%;background:var(--polarblau);color:var(--nachtblau);}
.ico-kreis .ico{width:26px;height:26px;}
.ico-kreis.gross{width:68px;height:68px;}
.ico-kreis.gross .ico{width:34px;height:34px;}
.bg-polar .ico-kreis,.band .ico-kreis{background:var(--weiss);}

.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--nachtblau);}
.eyebrow::before{content:"";width:16px;height:2px;background:var(--warmrot);border-radius:2px;flex:none;}
.hero .eyebrow,.pagehero .eyebrow,.band .eyebrow,.cta-band .eyebrow,.siegel .eyebrow{color:var(--polarblau);}
.pagehero .eyebrow a:hover{color:var(--weiss);text-decoration:underline;}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 28px;border-radius:var(--radius-pill);font-weight:700;font-size:15px;letter-spacing:0.01em;line-height:1.3;cursor:pointer;border:1.5px solid transparent;text-align:center;transition:transform .25s ease, box-shadow .25s ease, background-color .2s ease, border-color .2s ease, color .2s ease;}
.btn .ico{width:18px;height:18px;}
.btn-primary{color:var(--weiss);background:var(--warmrot);box-shadow:var(--shadow-sm);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow);}
.btn-weiss{color:var(--nachtblau);background:var(--weiss);box-shadow:var(--shadow-sm);}
.btn-weiss:hover{transform:translateY(-2px);background:var(--polarblau);}
.btn-ghost{color:var(--weiss);border-color:rgba(255,255,255,0.6);background:transparent;}
.btn-ghost:hover{background:rgba(255,255,255,0.14);border-color:var(--weiss);}
.btn-outline-navy{color:var(--nachtblau);border-color:var(--grau);background:var(--weiss);}
.btn-outline-navy:hover{border-color:var(--nachtblau);}
.btn-gross{padding:16px 34px;font-size:16px;}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.6;cursor:progress;transform:none;}
.linkknopf{background:none;border:0;padding:0;cursor:pointer;font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;color:inherit;}
.linkknopf:hover{color:var(--warmrot);}

/* ---------- Kopf ---------- */
header.kopf{position:sticky;top:0;z-index:50;background:rgba(255,255,255,0.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--grau);}
.navrow{display:flex;align-items:center;gap:24px;padding:14px 32px;max-width:var(--maxw);margin:0 auto;min-height:var(--kopfhoehe);}
.brand{display:flex;align-items:center;gap:14px;flex:none;}
.brand img{height:45px;width:auto;display:block;}
.brand-karriere{font-weight:800;font-size:15px;letter-spacing:0.12em;text-transform:uppercase;padding-left:14px;border-left:2px solid var(--warmrot);line-height:1.1;}
nav.links{display:flex;align-items:center;gap:26px;margin-left:auto;}
nav.links a{font-size:14.5px;font-weight:600;padding:6px 0;}
nav.links a:hover{color:var(--warmrot);}
.nav-cta{flex:none;padding:11px 24px;}
.menue{display:none;position:relative;margin-left:auto;}
.menue summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:14.5px;border:1.5px solid var(--grau);border-radius:var(--radius-pill);padding:9px 18px;background:var(--weiss);}
.menue summary::-webkit-details-marker{display:none;}
.menue summary::before{content:"";width:16px;height:2px;background:currentColor;box-shadow:0 -5px 0 currentColor,0 5px 0 currentColor;}
.menue[open] summary{border-color:var(--nachtblau);}
.menue ul{position:absolute;right:0;top:calc(100% + 10px);min-width:260px;margin:0;padding:10px;background:var(--weiss);border:1px solid var(--grau);border-radius:18px;box-shadow:var(--shadow);}
.menue li a{display:block;padding:12px 14px;border-radius:12px;font-weight:600;}
.menue li a:hover{background:var(--polarblau);color:var(--warmrot);}
.menue .menue-cta{padding:8px 4px 4px;}
.menue .menue-cta .btn{display:flex;color:var(--weiss);}
.menue .menue-cta .btn:hover{background:var(--warmrot);color:var(--weiss);}
@media (max-width:1040px){
  nav.links{display:none;}
  .nav-cta{display:none;}
  .menue{display:block;}
}

/* ---------- Brotkrumen ---------- */
.breadcrumb{padding:18px 0 14px;font-size:13px;}
.breadcrumb ol{display:flex;flex-wrap:wrap;gap:4px 8px;}
.breadcrumb li{display:flex;gap:8px;align-items:center;}
.breadcrumb li+li::before{content:"›";}
.breadcrumb a{font-weight:600;}
.breadcrumb a:hover{color:var(--warmrot);}

/* ---------- Hero Startseite ---------- */
.hero{position:relative;display:flex;align-items:center;min-height:clamp(540px,80vh,740px);background:var(--nachtblau);color:var(--weiss);overflow:hidden;}
.hero-bild{position:absolute;inset:0;}
.hero-bild img{width:100%;height:100%;object-fit:cover;object-position:62% 40%;}
.hero-bild::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(21,49,83,0.94) 0%,rgba(21,49,83,0.82) 38%,rgba(21,49,83,0.35) 72%,rgba(21,49,83,0.18) 100%);}
.hero-inhalt{position:relative;z-index:1;width:100%;padding-top:72px;padding-bottom:72px;}
.hero-inhalt>*{max-width:640px;}
.hero h1{color:var(--weiss);font-size:clamp(40px,6vw,72px);line-height:1.04;margin:18px 0 0;}
.hero h1 em{font-style:normal;box-shadow:inset 0 -0.14em 0 var(--himmelblau);}
.hero-lead{margin-top:22px;font-size:clamp(16.5px,1.6vw,19px);line-height:1.62;color:var(--polarblau);max-width:56ch;}
.hero-aktionen{display:flex;flex-wrap:wrap;gap:14px 16px;align-items:center;margin-top:32px;max-width:none;}
.hero-zaehler{display:inline-flex;align-items:center;gap:14px;padding:10px 22px 10px 16px;border:1px solid rgba(255,255,255,0.4);background:rgba(255,255,255,0.1);border-radius:var(--radius-pill);color:var(--weiss);font-weight:700;line-height:1.25;transition:background-color .2s ease;}
a.hero-zaehler:hover{background:rgba(255,255,255,0.2);}
.hero-zaehler .zahl{font-size:42px;font-weight:800;line-height:1;color:var(--himmelblau);font-variant-numeric:tabular-nums;}
.hero-zaehler small{font-size:12.5px;font-weight:600;color:var(--polarblau);}
@media (max-width:760px){
  .hero{display:block;min-height:0;}
  .hero-bild{position:relative;inset:auto;}
  .hero-bild img{aspect-ratio:16/10;object-position:50% 40%;}
  .hero-bild::after{display:none;}
  .hero-inhalt{padding-top:34px;padding-bottom:44px;}
  .hero h1{font-size:clamp(38px,11vw,50px);}
}

/* ---------- Siegel- und Kennzahlenleiste (Nacht-Blau; Himmel-Blau trägt Zahlen und Symbole) ---------- */
.siegel{background:var(--nachtblau);color:var(--polarblau);border-top:1px solid rgba(255,255,255,0.16);}
.siegel-liste{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));}
.siegel-liste li{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;padding:26px 12px;text-align:center;border-left:1px solid rgba(255,255,255,0.16);}
.siegel-liste li:first-child{border-left:0;}
.siegel-liste li:has(.siegel-a){padding:0;}
.siegel-liste .siegel-a{display:flex;flex-direction:column;align-items:center;gap:3px;width:100%;height:100%;padding:26px 12px;transition:background-color .2s ease;}
.siegel-liste .siegel-a:hover{background:rgba(255,255,255,0.08);}
.siegel-liste .ico{width:28px;height:28px;margin-bottom:6px;color:var(--himmelblau);}
.siegel-liste strong{font-size:19px;line-height:1.2;font-weight:800;color:var(--himmelblau);}
.siegel-liste span{font-size:13px;line-height:1.35;color:var(--polarblau);}
.siegel-liste .siegel-link{margin-top:4px;}
.siegel-liste .siegel-breit{grid-column:1/-1;border-left:0;border-top:1px solid rgba(255,255,255,0.16);}
.siegel-liste .siegel-breit strong{font-size:17px;line-height:1.4;max-width:40em;text-wrap:balance;}
@media (min-width:901px){.siegel-liste:has(.siegel-breit){grid-template-columns:repeat(4,1fr);}}
@media (max-width:900px){
  .siegel-liste{grid-template-columns:repeat(2,1fr);}
  .siegel-liste li{border-left:0;border-top:1px solid rgba(255,255,255,0.16);padding:18px 8px;}
  .siegel-liste li:nth-child(-n+2){border-top:0;}
  .siegel-liste li:nth-child(even){border-left:1px solid rgba(255,255,255,0.16);}
  .siegel-liste li:last-child:nth-child(odd){grid-column:1/-1;border-left:0;}
  .siegel-liste li:has(.siegel-a){padding:0;}
  .siegel-liste .siegel-a{padding:18px 8px;}
  .siegel-liste .siegel-breit{border-left:0;}
  .siegel-liste .siegel-breit strong{font-size:15px;}
}

/* ---------- Abschnitte ---------- */
.blk{padding:84px 0;}
.bg-polar{background:var(--polarblau);}
.band{background:var(--nachtblau);color:var(--polarblau);}
.band h2,.band h3{color:var(--weiss);}
.sektionskopf{margin-bottom:40px;max-width:720px;}
.sektionskopf.zentriert{margin-left:auto;margin-right:auto;text-align:center;}
.sektionskopf h2,.text h2{font-size:clamp(28px,3.6vw,42px);line-height:1.12;margin-top:12px;}
.sektionslead{margin-top:14px;font-size:17px;line-height:1.65;}
.zweispaltig{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;}
.zweispaltig>*{min-width:0;}
.zweispaltig .text>p{margin-top:18px;font-size:17px;line-height:1.7;max-width:var(--zeile);}
.zweispaltig .text>p.eyebrow{margin-top:0;}
.band .text>p{color:var(--polarblau);}
.band .band-aktion{margin-top:28px;}
.schlagworte{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px;}
.schlagworte li{padding:9px 18px;border:1.5px solid var(--nachtblau);border-radius:var(--radius-pill);font-weight:700;font-size:14.5px;}
.bildkarte{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--grau);}
.bildkarte img{width:100%;aspect-ratio:4/3;object-fit:cover;}
@media (max-width:900px){
  .blk{padding:56px 0;}
  .zweispaltig{grid-template-columns:1fr;gap:32px;}
  .sektionskopf{margin-bottom:28px;}
}

/* ---------- Inhaber und Auszeichnungen ---------- */
.inhaber{display:grid;grid-template-columns:minmax(0,420px) 1fr;gap:56px;align-items:center;}
.inhaber-foto{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--grau);background:var(--weiss);}
.inhaber-foto img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 25%;}
.inhaber-text h2{font-size:clamp(30px,3.8vw,44px);margin-top:12px;}
.inhaber-rolle{margin-top:6px;font-weight:700;font-size:17px;}
.inhaber-tagline{margin-top:4px;font-size:15px;}
.zitat{margin:28px 0;padding:6px 0 6px 26px;border-left:4px solid var(--warmrot);}
.zitat p{font-size:clamp(18px,2vw,22px);line-height:1.55;font-weight:600;}
.zitat p::before{content:"„";}
.zitat p::after{content:"“";}
.zitat footer{margin-top:12px;font-size:14px;font-weight:700;}
.zitat footer::before{content:"— ";}
.auszeichnungen{margin-top:64px;}
.auszeichnungen h3{font-size:20px;margin-bottom:20px;}
.auszeichnungen ul{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;}
.award{display:flex;flex-direction:column;gap:10px;height:100%;padding:12px;background:var(--weiss);border:1px solid var(--grau);border-radius:16px;font-size:13px;font-weight:700;line-height:1.35;text-align:center;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;}
.award:hover{transform:translateY(-3px);border-color:var(--nachtblau);box-shadow:var(--shadow-sm);}
.award img{width:100%;aspect-ratio:849/1200;object-fit:cover;border-radius:8px;border:1px solid var(--grau);}
@media (max-width:900px){
  .inhaber{grid-template-columns:1fr;gap:28px;}
  .inhaber-foto{max-width:420px;}
  .auszeichnungen ul{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:560px){
  .auszeichnungen ul{grid-template-columns:repeat(2,1fr);}
}

/* ---------- Bereichskacheln ---------- */
.bereiche{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.bereich{position:relative;display:flex;flex-direction:column;gap:12px;height:100%;padding:30px 28px 26px;background:var(--weiss);border:1px solid var(--grau);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;}
.bereich:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--nachtblau);}
.bereich.mit-foto{padding-top:0;overflow:hidden;}
.bereich-foto{display:block;margin:0 -28px 6px;aspect-ratio:16/10;overflow:hidden;background:var(--polarblau);}
.bereich-foto img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.bereich.mit-foto:hover .bereich-foto img{transform:scale(1.04);}
.bereich.mit-foto .ico-kreis{margin-top:-4px;}
.bereich h3{font-size:20px;line-height:1.25;margin-top:6px;}
.bereich p{font-size:15px;line-height:1.62;}
.bereich-fuss{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px;}
.bereich-zahl{display:inline-block;padding:6px 14px;border-radius:var(--radius-pill);background:var(--polarblau);font-size:13.5px;font-weight:700;}
.bereich-zahl.leer{background:var(--weiss);border:1px solid var(--grau);font-weight:600;}
.bereich .pfeil{color:var(--warmrot);display:inline-flex;transition:transform .2s ease;}
.bereich:hover .pfeil{transform:translateX(4px);}
@media (max-width:980px){.bereiche{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.bereiche{grid-template-columns:1fr;}}

/* ---------- Video ---------- */
.video-rahmen{position:relative;border-radius:var(--radius-lg);overflow:hidden;background:var(--schwarz);box-shadow:0 16px 40px -12px rgba(0,0,0,0.45);border:1px solid rgba(255,255,255,0.14);}
.video-rahmen video{width:100%;aspect-ratio:16/9;display:block;object-fit:cover;background:var(--schwarz);}
.video-play{display:none;position:absolute;inset:0;margin:auto;width:84px;height:84px;border-radius:50%;border:0;background:var(--weiss);color:var(--nachtblau);align-items:center;justify-content:center;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,0.35);transition:transform .2s ease;}
.video-play .ico{width:34px;height:34px;margin-left:4px;}
.video-play:hover{transform:scale(1.06);}
.js .video-play{display:flex;}
.video-hoch{max-width:360px;margin-inline:auto;width:100%;}
.video-hoch .video-rahmen video{aspect-ratio:9/16;}
.reel-abschnitt .zweispaltig{grid-template-columns:1.2fr .8fr;}
@media (max-width:860px){.reel-abschnitt .zweispaltig{grid-template-columns:1fr;}.video-hoch{max-width:300px;}}
@media (prefers-reduced-motion:reduce){.bereich-foto img{transition:none;}.bereich.mit-foto:hover .bereich-foto img{transform:none;}}
.js .video.laeuft .video-play{display:none;}
.js .video:not(.laeuft) .video-rahmen::after{content:"";position:absolute;inset:0;background:rgba(21,49,83,0.32);pointer-events:none;}

/* ---------- Benefits ---------- */
.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.benefit{display:flex;flex-direction:column;gap:12px;padding:28px;background:var(--polarblau);border:1px solid var(--grau);border-left:3px solid var(--himmelblau);border-radius:var(--radius-card);}
.benefit h3{font-size:18px;line-height:1.3;}
.benefit p{font-size:15px;line-height:1.62;}
.benefit .ico-kreis{background:var(--weiss);}
.benefits-kompakt{grid-template-columns:repeat(2,1fr);gap:16px;}
.benefit.klein{flex-direction:row;align-items:flex-start;gap:16px;padding:22px 24px;}
.benefit.klein .ico-kreis{width:44px;height:44px;}
.benefit.klein .ico-kreis .ico{width:22px;height:22px;}
.benefit.klein h3{font-size:16.5px;margin-bottom:6px;}
.benefit.klein p{font-size:14.5px;}
@media (max-width:980px){.benefits{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.benefits,.benefits-kompakt{grid-template-columns:1fr;}}

/* ---------- Stimmen ---------- */
.stimmen{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.stimmen:has(li:nth-child(2):last-child){grid-template-columns:repeat(2,1fr);}
.stimmen:has(li:only-child){grid-template-columns:minmax(0,640px);}
.stimme{display:flex;flex-direction:column;height:100%;gap:22px;padding:30px 28px;background:var(--weiss);border:1px solid var(--grau);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);}
.stimme blockquote{flex:1;}
.stimme blockquote p{font-size:15.5px;line-height:1.7;}
.stimme blockquote p::before{content:"„";font-weight:800;}
.stimme blockquote p::after{content:"“";font-weight:800;}
.stimme figcaption{display:flex;align-items:center;gap:14px;}
.stimme figcaption>span{display:flex;flex-direction:column;font-size:14px;line-height:1.35;}
.stimme figcaption strong{font-size:16px;}
.avatar{width:64px;height:64px;flex:none;border-radius:50%;object-fit:cover;object-position:50% 14%;border:2px solid var(--polarblau);background:var(--polarblau);}
@media (max-width:980px){.stimmen,.stimmen:has(li:nth-child(2):last-child){grid-template-columns:1fr;}}

/* ---------- Ablauf (Nacht-Blau) ---------- */
.prozess{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;position:relative;counter-reset:schritt;}
.schritt{position:relative;display:flex;flex-direction:column;gap:10px;padding:26px 22px 28px;background:var(--polarblau);border:1px solid var(--grau);border-radius:var(--radius-card);}
.nummer{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--warmrot);color:var(--weiss);font-weight:800;font-size:18px;margin-bottom:6px;}
.schritt h3{font-size:18px;line-height:1.3;}
.schritt p{font-size:15px;line-height:1.62;}
.band .schritt{background:rgba(255,255,255,0.07);border-color:rgba(255,255,255,0.22);}
.band .schritt p{color:var(--polarblau);}
.band .nummer{background:var(--himmelblau);color:var(--nachtblau);}
.prozess-hinweis{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:32px;font-size:17px;font-weight:700;text-align:center;}
.prozess-hinweis .ico{color:var(--himmelblau);flex:none;}
.prozess-kompakt{grid-template-columns:repeat(3,1fr);margin:24px 0 36px;text-align:left;}
@media (max-width:1180px){.prozess{grid-template-columns:repeat(3,1fr);}}
@media (max-width:980px){.prozess-kompakt{grid-template-columns:1fr;}}
@media (max-width:760px){.prozess{grid-template-columns:repeat(2,1fr);}}
@media (max-width:520px){.prozess{grid-template-columns:1fr;}}

/* ---------- Einarbeitung: die ersten 90 Tage ---------- */
.einarbeitung{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.einarbeitung li{display:flex;flex-direction:column;gap:10px;padding:28px 28px 30px;background:var(--weiss);border:1px solid var(--grau);border-top:4px solid var(--himmelblau);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);}
.einarbeitung .zeit{align-self:flex-start;padding:5px 14px;border-radius:var(--radius-pill);background:var(--nachtblau);color:var(--weiss);font-size:13px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;}
.einarbeitung h3{font-size:20px;}
.einarbeitung p{font-size:15.5px;line-height:1.68;}
@media (max-width:900px){.einarbeitung{grid-template-columns:1fr;}}

/* ---------- Zitat je Bereich ---------- */
.bereichszitat{display:flex;gap:24px;align-items:center;margin-top:44px;padding:28px 32px;background:var(--polarblau);border:1px solid var(--grau);border-left:4px solid var(--warmrot);border-radius:var(--radius-card);}
.bereichszitat blockquote p{font-size:clamp(17px,2vw,20px);line-height:1.6;font-weight:600;}
.bereichszitat blockquote p::before{content:"„";}
.bereichszitat blockquote p::after{content:"“";}
.bereichszitat figcaption{margin-top:10px;font-size:14px;}
.avatar.gross{width:88px;height:88px;}
@media (max-width:560px){.bereichszitat{flex-direction:column;align-items:flex-start;padding:22px 20px;gap:16px;}}

/* ---------- Vertraulichkeit ---------- */
.vertraulich{display:flex;gap:28px;align-items:flex-start;padding:36px 40px;background:var(--polarblau);border:1px solid var(--grau);border-left:4px solid var(--warmrot);border-radius:var(--radius-card);}
.bg-polar .vertraulich{background:var(--weiss);}
.vertraulich .ico-kreis{background:var(--weiss);}
.vertraulich h2{font-size:clamp(22px,2.6vw,30px);line-height:1.2;}
.vertraulich>div>p{margin-top:12px;font-size:16.5px;line-height:1.7;max-width:var(--zeile);}
.haken-liste{display:flex;flex-direction:column;gap:10px;margin-top:18px;}
.haken-liste li{position:relative;padding-left:32px;line-height:1.6;}
.haken-liste li::before{content:"✓";position:absolute;left:0;top:2px;width:21px;height:21px;border-radius:50%;background:rgba(21,49,83,0.12);color:var(--nachtblau);font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;}
@media (max-width:640px){.vertraulich{flex-direction:column;gap:18px;padding:26px 22px;}}

/* ---------- FAQ ---------- */
.faq-wrap{max-width:860px;}
.faq{display:flex;flex-direction:column;gap:12px;}
.faq details{background:var(--weiss);border:1px solid var(--grau);border-radius:16px;}
.faq summary{list-style:none;cursor:pointer;padding:18px 62px 18px 22px;position:relative;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;background:var(--polarblau);color:var(--nachtblau);font-weight:800;font-size:19px;display:flex;align-items:center;justify-content:center;}
.faq details[open] summary::after{content:"–";}
.faq details[open]{border-color:var(--nachtblau);}
.faq summary h3{display:inline;font-size:16.5px;line-height:1.4;}
.faq summary:focus-visible{outline-offset:-4px;border-radius:16px;}
.faq .antwort{padding:0 22px 22px;}
.faq .antwort p{font-size:15.5px;line-height:1.7;margin-bottom:10px;max-width:var(--zeile);}
.faq .antwort p:last-child{margin-bottom:0;}
.faq .antwort ul{display:flex;flex-direction:column;gap:8px;margin:0 0 12px 0;max-width:var(--zeile);}
.faq .antwort li{position:relative;padding-left:22px;font-size:15.5px;line-height:1.65;}
.faq .antwort li::before{content:"";position:absolute;left:4px;top:11px;width:6px;height:6px;border-radius:50%;background:var(--warmrot);}

/* ---------- Abschluss-Band ---------- */
.cta-band{background:var(--nachtblau);border-radius:var(--radius-lg);padding:64px 40px;text-align:center;color:var(--weiss);box-shadow:var(--shadow);}
.cta-band .eyebrow{justify-content:center;}
.cta-band h2{color:var(--weiss);font-size:clamp(28px,3.6vw,40px);max-width:760px;margin:14px auto 0;}
.cta-band p{color:var(--polarblau);margin:14px auto 0;font-size:17px;max-width:620px;}
.cta-band .aktionen{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:30px;}
.cta-band .adresse{margin-top:28px;font-size:13px;}
@media (max-width:640px){.cta-band{padding:44px 22px;}}

/* ---------- Seitenköpfe (Unterseiten) ---------- */
.pagehero{background:var(--nachtblau);color:var(--weiss);padding:52px 0 56px;}
.pagehero.kompakt{padding:44px 0 48px;}
.pagehero h1{color:var(--weiss);font-size:clamp(30px,4.4vw,50px);line-height:1.1;margin-top:14px;max-width:820px;}
.pagehero .lead{margin-top:16px;font-size:17.5px;line-height:1.65;color:var(--polarblau);max-width:64ch;}
.breadcrumb+.pagehero{margin-top:0;}
.stelle-hero{padding-bottom:96px;}
.stelle-hero-raster{display:grid;grid-template-columns:1.15fr 0.85fr;gap:48px;align-items:center;}
.stelle-hero-raster>*{min-width:0;}
.stelle-hero h1 .suffix{font-weight:700;font-size:0.6em;color:var(--polarblau);white-space:nowrap;}
.stelle-hero .einstieg{display:inline-block;margin-top:16px;padding:6px 14px;border-radius:var(--radius-pill);background:rgba(255,255,255,0.14);font-weight:700;font-size:13.5px;}
.stelle-hero .hero-aktionen{margin-top:28px;}
.stelle-hero-foto{border-radius:var(--radius-lg);overflow:hidden;border:1px solid rgba(255,255,255,0.18);box-shadow:0 16px 40px -12px rgba(0,0,0,0.45);}
.stelle-hero-foto img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:60% 40%;}
@media (max-width:980px){.stelle-hero-raster{grid-template-columns:1fr;gap:32px;}.stelle-hero{padding-bottom:84px;}}

.versprechen{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:22px;font-size:14px;font-weight:700;}
.versprechen li{display:inline-flex;align-items:center;gap:8px;}
.versprechen .ico{width:18px;height:18px;color:var(--warmrot);}
.versprechen-hell{color:var(--polarblau);}
.versprechen-hell .ico{color:var(--himmelblau);}
.versprechen-klein{margin:0 0 18px;font-size:13.5px;gap:4px 18px;}

/* ---------- Eckdaten der Stelle ---------- */
.fakten-wrap{margin-top:-56px;position:relative;z-index:2;}
.fakten{display:grid;grid-template-columns:repeat(5,1fr);background:var(--weiss);border:1px solid var(--grau);border-radius:var(--radius-card);box-shadow:var(--shadow);}
.fakten>div{padding:22px 22px;border-left:1px solid var(--grau);min-width:0;}
.fakten>div:first-child{border-left:0;}
.fakten dt{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:8px;}
.fakten dt .ico{width:18px;height:18px;color:var(--warmrot);}
.fakten dd{font-weight:700;line-height:1.4;overflow-wrap:anywhere;}
.fakten dd small{display:block;margin-top:4px;font-weight:500;font-size:13px;line-height:1.4;}
.fakten dd a:hover{color:var(--warmrot);text-decoration:underline;}
@media (max-width:1100px){
  .fakten{grid-template-columns:repeat(3,1fr);}
  .fakten>div:nth-child(4){border-left:0;}
  .fakten>div:nth-child(n+4){border-top:1px solid var(--grau);}
}
@media (max-width:640px){
  .fakten{grid-template-columns:1fr 1fr;}
  .fakten>div,.fakten>div:nth-child(4){border-left:1px solid var(--grau);border-top:1px solid var(--grau);padding:16px 16px;}
  .fakten>div:nth-child(odd){border-left:0;}
  .fakten>div:nth-child(-n+2){border-top:0;}
  .fakten>div:last-child{grid-column:1/-1;border-left:0;}
  .fakten>div.fakt-verguetung{grid-column:1/-1;border-left:0;}
}

/* ---------- Stelleninhalt ---------- */
.prose{overflow-wrap:break-word;}
.prose p{font-size:17px;line-height:1.75;margin-top:18px;max-width:var(--zeile);}
.prose h2{font-size:clamp(26px,3.2vw,36px);line-height:1.15;margin-top:12px;}
.prose.schmal,.wrap.schmal.prose{max-width:860px;}
.doppel{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;}
.karte{background:var(--weiss);border:1px solid var(--grau);border-radius:var(--radius-card);padding:34px 34px 38px;box-shadow:var(--shadow-sm);}
.karte h2{font-size:clamp(24px,2.6vw,30px);margin-top:10px;}
.karte>.haken-liste{margin-top:22px;}
.karte>p{margin-top:12px;line-height:1.7;}
.passt-nicht{margin-top:28px;padding:22px 24px;background:var(--polarblau);border-left:4px solid var(--warmrot);border-radius:0 16px 16px 0;}
.passt-nicht p+p{margin-top:8px;font-size:15px;line-height:1.65;}
.passt-nicht .btn{margin-top:16px;}
@media (max-width:900px){.doppel{grid-template-columns:1fr;}.karte{padding:26px 22px 28px;}}
.extras{margin-bottom:28px;padding:26px 30px;background:var(--polarblau);border:1px solid var(--grau);border-left:4px solid var(--warmrot);border-radius:var(--radius-card);}
.extras h3{font-size:19px;}
.extras .haken-liste li::before{background:var(--weiss);}

.ansprech{display:grid;grid-template-columns:auto 1fr;gap:8px 28px;align-items:center;max-width:860px;margin:0 auto;padding:26px 32px;background:var(--weiss);border:1px solid var(--grau);border-left:4px solid var(--warmrot);border-radius:20px;}
.ansprech-foto{width:104px;height:104px;border-radius:50%;object-fit:cover;object-position:50% 18%;border:3px solid var(--polarblau);}
.ansprech-name{margin-top:8px;font-size:18px;line-height:1.4;}
.ansprech-satz{margin-top:8px;font-size:16px;line-height:1.55;}
.ansprech-kontakt{display:flex;flex-wrap:wrap;gap:6px 24px;margin-top:14px;font-weight:600;}
.ansprech-kontakt a{display:inline-flex;align-items:center;gap:8px;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;overflow-wrap:anywhere;}
.ansprech-kontakt a:hover{color:var(--warmrot);}
.ansprech-kontakt .ico{width:18px;height:18px;}
.bewerbung-seitlich .ansprech{margin:0 0 20px;grid-template-columns:1fr;text-align:left;}
@media (max-width:560px){.ansprech{grid-template-columns:72px 1fr;padding:20px;gap:6px 16px;align-items:start;}.ansprech-foto{width:72px;height:72px;}}

/* ---------- Stellenübersicht ---------- */
.filter{display:flex;flex-direction:column;gap:12px;margin:-24px -32px 36px;padding:16px 32px;background:rgba(255,255,255,0.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--grau);}
.filter-gruppe{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.filter-label{flex:none;width:96px;font-size:12px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;}
.chips{display:flex;flex-wrap:wrap;gap:8px;}
.chip{padding:9px 16px;border:1.5px solid var(--grau);border-radius:var(--radius-pill);background:var(--weiss);font-size:14.5px;font-weight:600;cursor:pointer;line-height:1.3;transition:border-color .2s ease,background-color .2s ease,color .2s ease;}
.chip:hover{border-color:var(--nachtblau);}
.chip[aria-pressed="true"]{background:var(--nachtblau);border-color:var(--nachtblau);color:var(--weiss);}
.filter-status{font-size:13.5px;font-weight:600;}
@media (max-width:760px){
  .filter{margin:-16px -16px 28px;padding:12px 16px;gap:10px;}
  .filter-label{width:100%;}
  .filter-gruppe{gap:6px;}
  .chips{flex-wrap:nowrap;overflow-x:auto;margin:0 -16px;padding:2px 16px 6px;scrollbar-width:none;width:calc(100% + 32px);}
  .chips::-webkit-scrollbar{display:none;}
  .chip{flex:none;}
}
.gruppe{margin-bottom:56px;scroll-margin-top:calc(var(--kopfhoehe) + 8px);}
.gruppe-kopf{display:flex;align-items:center;gap:14px;margin-bottom:22px;}
.gruppe-kopf h2{flex:1;min-width:0;}
.gruppe-kopf h2{font-size:clamp(22px,2.6vw,28px);}
.gruppe-zahl{margin-left:auto;white-space:nowrap;flex:none;padding:6px 14px;border-radius:var(--radius-pill);background:var(--polarblau);font-size:13.5px;font-weight:700;}
.stellenliste{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.stelle[hidden]{display:none !important;}
.stelle-karte{position:relative;display:flex;flex-direction:column;gap:12px;height:100%;padding:28px 64px 26px 28px;background:var(--weiss);border:1px solid var(--grau);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;}
.stelle-karte:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--nachtblau);}
.stelle-karte h3{font-size:20px;line-height:1.25;}
.stelle-karte h3 a::after{content:"";position:absolute;inset:0;border-radius:inherit;}
.stelle-karte:has(h3 a:focus-visible){outline:3px solid var(--nachtblau);outline-offset:3px;}
.stelle-karte h3 a:focus-visible{outline:none;}
.stelle-hinweis{display:inline-block;align-self:flex-start;padding:4px 12px;border-radius:var(--radius-pill);background:var(--polarblau);font-size:12.5px;font-weight:700;}
.stelle-meta{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px;font-weight:600;}
.stelle-meta span{display:inline-flex;align-items:center;gap:6px;}
.stelle-meta .ico{width:16px;height:16px;color:var(--warmrot);}
.stelle-kurz{font-size:15px;line-height:1.62;}
.stelle-pfeil{position:absolute;right:24px;bottom:24px;color:var(--warmrot);display:inline-flex;transition:transform .2s ease;}
.stelle-karte:hover .stelle-pfeil{transform:translateX(4px);}
@media (max-width:760px){.stellenliste{grid-template-columns:1fr;}.stelle-karte{padding:22px 56px 22px 20px;}}
.keine-treffer{padding:36px;text-align:center;background:var(--polarblau);border-radius:var(--radius-card);}
.keine-treffer p{margin-bottom:16px;font-weight:600;}
.keine-treffer.sichtbar{margin-bottom:24px;}
.initiativ{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:24px;padding:36px 40px;background:var(--nachtblau);color:var(--polarblau);border-radius:var(--radius-lg);box-shadow:var(--shadow);}
.initiativ h2{color:var(--weiss);font-size:clamp(22px,2.6vw,28px);}
.initiativ p{margin-top:8px;max-width:58ch;}
.initiativ .btn{flex:none;}
@media (max-width:760px){.initiativ{flex-direction:column;align-items:flex-start;padding:28px 22px;}}

/* ---------- Mobiler Bewerben-Balken ---------- */
.bewerben-balken{display:none;transition:transform .25s ease;}
.bewerben-balken.versteckt{transform:translateY(120%);visibility:hidden;transition:transform .25s ease,visibility 0s .25s;}
@media (max-width:760px){
  .bewerben-balken{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--weiss);border-top:1px solid var(--grau);box-shadow:0 -8px 24px -12px rgba(21,49,83,0.28);}
  .bewerben-balken p{display:flex;flex-direction:column;min-width:0;line-height:1.3;}
  .bewerben-balken strong{font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .bewerben-balken span{font-size:12.5px;}
  .bewerben-balken .btn{flex:none;padding:12px 20px;}
  .seite-stelle{padding-bottom:calc(72px + env(safe-area-inset-bottom));}
}

/* ---------- Formular ---------- */
.formular{display:flex;flex-direction:column;gap:20px;}   /* Abstand 20px: .formular-status:empty gleicht ihn mit margin-top:-20px aus */
.feld-zeile{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.feld{display:flex;flex-direction:column;gap:6px;min-width:0;}
.feld label,.feld .label{font-weight:700;font-size:14.5px;}
.pflicht{color:var(--warmrot);text-decoration:none;font-weight:800;}
.optional{font-weight:500;font-size:13px;}
.feld input[type="text"],.feld input[type="email"],.feld input[type="tel"],.feld select,.feld textarea{width:100%;padding:13px 15px;font-size:16px;line-height:1.4;background:var(--weiss);border:1.5px solid rgba(21,49,83,0.6);border-radius:12px;transition:border-color .2s ease,box-shadow .2s ease;appearance:none;-webkit-appearance:none;}
.feld select{background-image:linear-gradient(45deg,transparent 50%,var(--nachtblau) 50%),linear-gradient(135deg,var(--nachtblau) 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 14px) 55%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:40px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;}
.feld textarea{resize:vertical;min-height:110px;}
.feld input:hover,.feld select:hover,.feld textarea:hover{border-color:var(--nachtblau);}
.feld input:focus,.feld select:focus,.feld textarea:focus{outline:none;border-color:var(--nachtblau);box-shadow:0 0 0 3px rgba(21,49,83,0.22);}
.feld.hat-fehler input,.feld.hat-fehler select,.feld.hat-fehler textarea,.feld.hat-fehler .upload-flaeche{border-color:var(--warmrot);}
.feld ::placeholder{color:rgba(21,49,83,0.72);opacity:1;}
.feld-fehler-block{font-weight:700;color:var(--warmrot);}
.feld-hilfe{font-size:13px;line-height:1.45;}
.feld-fehler{display:flex;gap:6px;align-items:flex-start;font-size:13.5px;font-weight:700;color:var(--warmrot);line-height:1.4;}
.feld-fehler::before{content:"!";flex:none;width:18px;height:18px;margin-top:1px;border-radius:50%;background:var(--warmrot);color:var(--weiss);font-size:12px;display:inline-flex;align-items:center;justify-content:center;}
.feld-klein{padding-left:34px;}
.feld-optional .check{font-size:14px;}
.formular-pflichthinweis{font-size:13.5px;margin-bottom:14px;}
.upload{position:relative;}
.upload-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;}
.upload-flaeche{display:flex;flex-direction:column;align-items:center;gap:4px;padding:22px 18px;text-align:center;border:2px dashed rgba(21,49,83,0.6);border-radius:14px;background:var(--weiss);cursor:pointer;font-weight:400;transition:border-color .2s ease,background-color .2s ease;}
.upload-flaeche .ico{width:28px;height:28px;color:var(--warmrot);margin-bottom:4px;}
.upload-text{font-size:15px;}
.upload-hinweis{font-size:13px;}
.upload-flaeche:hover,.upload.ziehen .upload-flaeche{border-color:var(--nachtblau);background:var(--polarblau);}
.upload-input:focus-visible+.upload-flaeche{outline:3px solid var(--nachtblau);outline-offset:3px;}
.upload-datei{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1.5px solid var(--nachtblau);border-radius:14px;background:var(--polarblau);}
.upload-datei .ico{width:22px;height:22px;color:var(--nachtblau);}
.upload-name{flex:1;min-width:0;font-weight:700;font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.upload-groesse{font-size:13px;flex:none;}
.upload-entfernen{flex:none;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:0;border-radius:50%;background:var(--weiss);cursor:pointer;color:var(--nachtblau);}
.upload-entfernen:hover{background:var(--nachtblau);color:var(--weiss);}
.upload-entfernen .ico{width:18px;height:18px;}
.feld-check .check{display:flex;gap:12px;align-items:flex-start;font-weight:400;font-size:14.5px;line-height:1.55;cursor:pointer;}
.feld-check input[type="checkbox"]{flex:none;width:22px;height:22px;margin:1px 0 0;accent-color:var(--nachtblau);cursor:pointer;}
.feld-check a{font-weight:700;text-decoration:underline;text-underline-offset:3px;}
.feld-check a:hover{color:var(--warmrot);}
.hp{position:absolute !important;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;}
/* Hinweis, falls karriere.js nicht lädt: Ein kleines Skript am Seitenende setzt nach 5 Sekunden html.js-fehler, wenn karriere.js bis dahin
   nicht html.js-geladen gesetzt hat. Ohne JavaScript zeigt <noscript> den Hinweis. */
.js-hinweis{display:none;}
html.js-fehler:not(.js-geladen) .js-hinweis{display:block;}
[data-sendet] .modal-x{opacity:.45;cursor:not-allowed;}
.formular-status{font-size:14.5px;font-weight:600;line-height:1.5;}
/* Live-Region bleibt immer im Layout (Screenreader kündigen Inhalte nur an, wenn die Region schon vorhanden ist); leer nimmt sie keinen Platz ein. */
.formular-status:empty{height:0;margin:-20px 0 0;padding:0;border:0;overflow:hidden;}
.formular-status.fehler{padding:14px 16px;border:1.5px solid var(--warmrot);border-radius:12px;color:var(--warmrot);background:var(--weiss);}
.formular-status.fehler a{text-decoration:underline;}
.fortschritt{height:8px;border-radius:var(--radius-pill);background:var(--polarblau);overflow:hidden;}
.fortschritt-balken{height:100%;width:0;background:var(--nachtblau);border-radius:var(--radius-pill);transition:width .2s linear;}
.formular-aktion{display:flex;flex-direction:column;gap:14px;}
.formular-aktion .btn{align-self:flex-start;}
.formular-hinweis{font-size:13px;line-height:1.55;}
.formular-hinweis a{text-decoration:underline;text-underline-offset:3px;font-weight:600;}
@media (max-width:560px){.feld-zeile{grid-template-columns:1fr;gap:20px;}.formular-aktion .btn{align-self:stretch;}}
.bewerbung-raster{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px;align-items:start;}
.formular-karte{padding:38px;background:var(--weiss);border:1px solid var(--grau);border-radius:var(--radius-lg);box-shadow:var(--shadow);}
.bewerbung-seitlich{display:flex;flex-direction:column;position:sticky;top:calc(var(--kopfhoehe) + 20px);}
.bewerbung-seitlich .karte{padding:26px 26px 28px;border-left:4px solid var(--warmrot);background:var(--polarblau);box-shadow:none;}
.bewerbung-seitlich .karte h2{font-size:20px;margin:0;}
@media (max-width:980px){.bewerbung-raster{grid-template-columns:1fr;gap:28px;}.bewerbung-seitlich{position:static;}}
@media (max-width:560px){.formular-karte{padding:22px 18px;border-radius:22px;}}
.fehler-box{display:none;margin-bottom:22px;padding:16px 18px;border:1.5px solid var(--warmrot);border-radius:14px;line-height:1.55;}
.fehler-box:target,.fehler-box.zeigen{display:block;}
.fehler-box strong{display:block;color:var(--warmrot);margin-bottom:4px;}
.fehler-box a{text-decoration:underline;font-weight:700;}

/* ---------- Dialoge (Bewerbung, Cookies, Großansicht) ---------- */
.modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:16px;}
.modal-hintergrund{position:absolute;inset:0;background:rgba(21,49,83,0.74);}
.modal-box{position:relative;display:flex;flex-direction:column;width:100%;max-width:680px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);background:var(--weiss);border-radius:var(--radius-lg);box-shadow:0 30px 80px -20px rgba(0,0,0,0.55);overflow:hidden;}
.modal-schmal{max-width:560px;}
.modal-kopf{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:26px 30px 18px;border-bottom:1px solid var(--grau);}
.modal-kopf h2{font-size:clamp(20px,2.6vw,26px);line-height:1.2;margin-top:6px;}
.modal-x{flex:none;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1.5px solid var(--grau);border-radius:50%;background:var(--weiss);cursor:pointer;color:var(--nachtblau);}
.modal-x:hover{border-color:var(--nachtblau);}
.modal-inhalt{padding:22px 30px 30px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;}
.modal-inhalt>p{margin-bottom:16px;line-height:1.65;}
.modal-fuss{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;padding:16px 30px 22px;border-top:1px solid var(--grau);}
.modal-fuss .btn{padding:12px 20px;}
@media (max-width:640px){
  .modal{padding:0;align-items:flex-end;}
  .modal-box{max-width:none;max-height:100vh;max-height:100dvh;height:100%;border-radius:0;}
  .modal-schmal{height:auto;max-height:92dvh;border-radius:22px 22px 0 0;}
  .modal-kopf{padding:18px 18px 14px;}
  .modal-inhalt{padding:18px 18px calc(26px + env(safe-area-inset-bottom));}
  .modal-fuss{padding:14px 18px calc(16px + env(safe-area-inset-bottom));}
  .modal-fuss .btn{flex:1 1 100%;}
}
.modal-bild .modal-hintergrund{background:rgba(21,49,83,0.88);}
.lightbox-box{position:relative;max-width:min(560px,100%);max-height:100%;display:flex;flex-direction:column;align-items:center;}
.lightbox-box figure{display:flex;flex-direction:column;align-items:center;gap:12px;max-height:calc(100dvh - 32px);}
.lightbox-box img{max-height:calc(100dvh - 120px);width:auto;max-width:100%;border-radius:12px;background:var(--weiss);}
.lightbox-box figcaption{color:var(--weiss);font-weight:700;text-align:center;}
.lightbox-box .modal-x{position:absolute;top:8px;right:8px;z-index:2;background:var(--weiss);border-color:var(--weiss);}
.zeigt-erfolg>*:not(.erfolg){display:none !important;}
.erfolg{display:flex;flex-direction:column;align-items:center;gap:14px;padding:12px 0 6px;text-align:center;}
.erfolg:focus{outline:none;}
.erfolg h3{font-size:24px;}
.erfolg p{max-width:46ch;line-height:1.65;}
.erfolg-ref{padding:10px 18px;background:var(--polarblau);border-radius:var(--radius-pill);font-size:15px;}
.erfolg-aktionen{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:8px;}
.erfolg-icon{background:var(--polarblau);}

/* ---------- Cookie-Einwilligung ---------- */
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:150;max-width:1000px;margin:0 auto;background:var(--weiss);border:1px solid var(--grau);border-radius:var(--radius-card);box-shadow:0 20px 60px -16px rgba(21,49,83,0.5);}
.cookie-banner-innen{display:flex;gap:24px;align-items:center;justify-content:space-between;padding:22px 26px;}
.cookie-banner h2{font-size:17px;margin-bottom:6px;}
.cookie-banner-text p{font-size:14px;line-height:1.6;}
.cookie-banner-text a{text-decoration:underline;font-weight:600;text-underline-offset:3px;}
.cookie-banner-aktionen{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-end;flex:none;}
.cookie-banner-aktionen .btn{padding:11px 20px;font-size:14.5px;}
.cookie-option{margin:0 0 14px;padding:16px 18px;border:1px solid var(--grau);border-radius:14px;}
.cookie-option label{display:flex;gap:12px;align-items:center;font-weight:700;cursor:pointer;}
.cookie-option input{width:22px;height:22px;accent-color:var(--nachtblau);}
.cookie-option em{font-style:normal;font-weight:600;font-size:12px;padding:2px 10px;border-radius:var(--radius-pill);background:var(--polarblau);margin-left:6px;}
.cookie-option p{margin:8px 0 0 34px;font-size:14px;line-height:1.55;}
@media (max-width:760px){
  .cookie-banner{left:8px;right:8px;bottom:8px;}
  .cookie-banner-innen{flex-direction:column;align-items:stretch;gap:16px;padding:18px;}
  .cookie-banner-aktionen{justify-content:stretch;}
  .cookie-banner-aktionen .btn{flex:1 1 100%;}
  .seite-stelle .cookie-banner{bottom:calc(76px + env(safe-area-inset-bottom));}
}

/* ---------- Danke und Fehlerseite ---------- */
.danke{padding:72px 0 88px;text-align:center;}
.danke .wrap{display:flex;flex-direction:column;align-items:center;gap:6px;}
.danke h1{font-size:clamp(32px,5vw,52px);line-height:1.1;margin-top:10px;}
.danke .eyebrow{margin-top:14px;}
.danke .lead-text{font-size:18px;line-height:1.65;max-width:58ch;margin-top:14px;}
.danke h2{font-size:24px;margin-top:44px;}
.danke .erfolg-ref{margin-top:18px;}
.danke .ansprech{margin-top:48px;text-align:left;}
.danke .erfolg-aktionen{margin-bottom:8px;}

/* ---------- Datenschutz ---------- */
.inhaltsverzeichnis{margin-bottom:40px;padding:26px 30px;background:var(--polarblau);border:1px solid var(--grau);border-radius:var(--radius-card);}
.inhaltsverzeichnis h2{font-size:20px;margin-bottom:12px;}
.inhaltsverzeichnis ol{columns:2;column-gap:32px;font-size:14.5px;line-height:1.5;}
.inhaltsverzeichnis li{margin-bottom:6px;break-inside:avoid;}
.inhaltsverzeichnis a{font-weight:600;}
.inhaltsverzeichnis a:hover{color:var(--warmrot);text-decoration:underline;}
@media (max-width:640px){.inhaltsverzeichnis ol{columns:1;}}
.datenschutz h2{font-size:clamp(22px,2.6vw,28px);margin:48px 0 6px;scroll-margin-top:calc(var(--kopfhoehe) + 12px);}
.datenschutz h2:first-child{margin-top:0;}
.datenschutz h3{font-size:18px;margin:26px 0 6px;}
.datenschutz p,.datenschutz li,.datenschutz dd{font-size:16px;line-height:1.72;}
.datenschutz p{margin:12px 0 0;max-width:none;}
.datenschutz ul,.datenschutz ol{display:flex;flex-direction:column;gap:6px;margin:10px 0 0 0;padding-left:22px;list-style:disc;}
.datenschutz ol{list-style:decimal;}
.datenschutz a{font-weight:600;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere;}
.datenschutz a:hover{color:var(--warmrot);}
.datenschutz dl{margin-top:14px;}
.datenschutz dt{margin-top:14px;font-weight:800;}
.datenschutz dd{margin:2px 0 0;}
.datenschutz address{font-style:normal;margin:14px 0 0;padding:18px 22px;background:var(--polarblau);border-left:4px solid var(--warmrot);border-radius:0 14px 14px 0;line-height:1.7;}
.datenschutz code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.92em;background:var(--polarblau);padding:1px 6px;border-radius:6px;}
.tabelle-scroll{overflow-x:auto;margin-top:14px;}
.datenschutz table{width:100%;border-collapse:collapse;font-size:15px;min-width:520px;}
.datenschutz th,.datenschutz td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--grau);vertical-align:top;line-height:1.5;}
.datenschutz th{font-size:12.5px;text-transform:uppercase;letter-spacing:0.08em;}

/* ---------- Fuß (Nacht-Blau; kein Logo, das Logo steht nur auf dem weißen Kopf) ---------- */
footer.fuss{background:var(--nachtblau);color:var(--polarblau);padding:64px 0 28px;}
.fuss-raster{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:40px;}
.fuss-marke{font-size:22px;font-weight:800;color:var(--weiss);line-height:1.2;margin-bottom:16px;}
.fuss-marke span{display:block;font-size:12.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--himmelblau);margin-top:6px;}
.fuss-adresse{font-style:normal;font-size:14.5px;line-height:1.65;}
.fuss-adresse strong{color:var(--weiss);}
.fuss-link{margin-top:14px;font-size:14.5px;}
footer.fuss a,footer.fuss .linkknopf{color:var(--himmelblau);font-weight:600;}
footer.fuss a:hover,footer.fuss .linkknopf:hover{color:var(--weiss);text-decoration:underline;text-underline-offset:3px;}
footer.fuss h2{font-size:13px;text-transform:uppercase;letter-spacing:0.1em;margin-bottom:16px;color:var(--weiss);}
footer.fuss ul{display:flex;flex-direction:column;gap:10px;font-size:14.5px;}
.fuss-unten{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px 24px;margin-top:44px;padding-top:22px;border-top:1px solid rgba(255,255,255,0.16);font-size:13.5px;}
.fuss-recht{flex-direction:row !important;flex-wrap:wrap;gap:8px 22px !important;font-size:13.5px !important;}
@media (max-width:900px){.fuss-raster{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.fuss-raster{grid-template-columns:1fr;gap:28px;}.wrap{padding:0 16px;}}

/* ---------- Mobil ---------- */
@media (max-width:640px){
  .wrap{padding:0 16px;}
  .navrow{padding:12px 16px;gap:14px;}
  .brand img{height:40px;width:auto;}
  .brand-karriere{font-size:13px;padding-left:10px;}
  .blk{padding:48px 0;}
  .pagehero,.pagehero.kompakt{padding:32px 0 36px;}
  .stelle-hero{padding-bottom:80px;}
  .btn{white-space:normal;}
  .hero-aktionen .btn{flex:1 1 100%;}
  .danke{padding:44px 0 56px;}
}

/* 320 px (kleine Telefone): Kopf und lange Titel dürfen die Seite nicht verbreitern. */
.stellenliste>li{min-width:0;}
.bereiche>li{min-width:0;}
.bereich h3{overflow-wrap:anywhere;hyphens:auto;}
.stelle-karte h3{overflow-wrap:anywhere;hyphens:auto;}
@media (max-width:360px){
  .navrow{padding:10px 12px;gap:8px;}
  .brand{gap:8px;}
  .brand img{height:34px;}
  .brand-karriere{font-size:11.5px;letter-spacing:0.06em;padding-left:8px;}
  .menue summary{padding:8px 12px;gap:8px;font-size:14px;}
  .menue ul{min-width:min(260px,calc(100vw - 24px));}
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{transition:none !important;animation:none !important;scroll-behavior:auto !important;}
}
@media print{
  header.kopf,.bewerben-balken,.cookie-banner,.modal,footer.fuss .fuss-raster{display:none !important;}
  .hero{min-height:0;color:var(--schwarz);background:none;}
  .hero-bild{display:none;}
  .hero h1,.hero-lead{color:var(--schwarz);}
}
