/* Jede* kann sich wehren: Farben, Basis und Komponenten */
:root{
  --ink:#0B2E35;--muted:#3D5F65;--soft:#F0F6F7;--line:#E3EFF0;--edge:#A9CDD2;
  --accent:#D81B6A;--accent-text:#C2185B;--accent-dark:#B0124D;--blush:#FFE1EC;
  --font-body:'Barlow',system-ui,sans-serif;
  --font-display:'Barlow Condensed','Arial Narrow',sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;overflow-x:clip;background:#fff;color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.55;overflow-wrap:break-word}
main{flex:1 0 auto;overflow-x:clip}
h1,h2,h3,p,ul{margin:0}
h1{font-family:var(--font-display);font-weight:800;font-size:clamp(44px,6vw,72px);line-height:1;text-transform:uppercase;overflow-wrap:break-word}
img{max-width:100%;height:auto}
a{color:var(--ink)}
a:hover{color:var(--accent-text)}
:focus-visible{outline:3px solid var(--accent-text);outline-offset:2px}
.h1-hero{font-size:clamp(48px,7vw,92px);line-height:.95}
.h1-lg{font-size:clamp(44px,6vw,80px);line-height:.98}
.h1-legal{font-size:clamp(44px,6vw,64px)}
.wrap{max-width:1200px;margin-inline:auto;padding-inline:24px;width:100%}
.wrap-narrow{max-width:860px}
.skip{position:absolute;left:-999px;top:8px;z-index:10;padding:12px 18px;background:var(--ink);color:#fff}
.skip:focus{left:8px;color:#fff}

.site-head{border-bottom:1px solid var(--line)}
.head-in{padding-block:14px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.brand{display:flex;align-items:center;gap:10px;min-height:44px;color:var(--ink);font-family:var(--font-display);font-weight:800;font-size:22px;line-height:.92;letter-spacing:.02em;text-transform:uppercase;text-decoration:none}
.nav ul,.subnav ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:4px}
.nav-link{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:999px;font-family:var(--font-display);font-weight:600;font-size:18px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none}
.nav-link.is-active,.nav-link.is-active:hover{background:var(--accent);color:#fff}
.nav-toggle{display:none;align-items:center;gap:10px;min-height:44px;padding:0 16px;border:2px solid var(--ink);border-radius:999px;background:transparent;color:var(--ink);font-family:var(--font-display);font-weight:600;font-size:18px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.nav-toggle-bars,.nav-toggle-bars::before,.nav-toggle-bars::after{display:block;width:18px;height:2px;background:currentColor}
.nav-toggle-bars{position:relative}
.nav-toggle-bars::before,.nav-toggle-bars::after{content:"";position:absolute;left:0}
.nav-toggle-bars::before{top:-6px}
.nav-toggle-bars::after{top:6px}
.subnav{background:var(--soft);border-top:1px solid var(--line)}
.subnav-in{padding-block:6px}
.subnav-link{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-bottom:3px solid transparent;color:var(--muted);font-weight:600;font-size:16px;text-decoration:none}
.subnav-link.is-active{border-bottom-color:var(--accent-text);color:var(--ink)}
@media (max-width:1023px){
  html.js .nav-toggle{display:inline-flex}
  html.js .nav:not(.is-open){display:none}
  .nav{width:100%}
  .nav ul{flex-direction:column}
  .nav-link{display:flex}
}

.btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;border-radius:999px;font-family:var(--font-display);font-weight:800;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;line-height:1.1}
.btn-lg{min-height:52px;padding:8px 28px;font-size:20px}
.btn-md{min-height:48px;padding:8px 24px;font-size:18px}
.btn-sm{min-height:44px;padding:6px 20px;font-size:18px}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent-dark);color:#fff}
.btn-light{background:#fff;color:var(--ink)}
.btn-light:hover{background:var(--blush);color:var(--ink)}
.btn-outline{border:2px solid var(--ink);color:var(--ink)}
.btn-outline:hover{background:var(--ink);color:#fff}
.btn-outline-accent{border:2px solid var(--accent-text);color:var(--accent-text)}
.btn-outline-accent:hover{background:var(--accent-text);color:#fff}

.eyebrow{font-family:var(--font-display);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.eyebrow-lg{font-size:18px}
.eyebrow-tight{letter-spacing:.12em}
.eyebrow-plain{color:inherit}
.label{margin-bottom:6px;font-family:var(--font-display);font-weight:800;font-size:22px;text-transform:uppercase}
.label-mb4{margin-bottom:4px}
.fig{display:block;width:100%;object-fit:cover;border-radius:20px}
.fig-45{aspect-ratio:4/5}
.fig-43{aspect-ratio:4/3}
.fig-portrait{object-position:42% top}
.portrait{position:relative;width:min(56%,322px);margin:46px auto 0}
.blob{position:absolute;border-radius:50%}
.blob-pink{width:420px;height:420px;background:var(--blush);right:-80px;top:-60px}
.blob-blue{width:200px;height:200px;background:var(--line);left:-70px;bottom:-40px}
.badge{position:absolute;bottom:32px;padding:12px 18px;border-radius:999px;background:var(--accent);color:#fff;font-family:var(--font-display);font-weight:800;font-size:18px;letter-spacing:.06em;line-height:1.2;text-transform:uppercase}
.badge-left{left:-12px}
.badge-right{right:-12px}
.pill{padding:8px 14px;border-radius:999px;border:1px solid var(--edge);font-weight:600}
.pill-accent{border:0;background:var(--accent);color:#fff}
.pills{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center}
@media (max-width:979px){.pills{grid-template-columns:repeat(2,1fr)}}
@media (max-width:679px){.pills{grid-template-columns:1fr}}
.star{flex:none;width:14px;height:14px;background:url(/assets/img/logo.svg) center/contain no-repeat}
.legal-q{margin:10px 0 2px;font-weight:600;color:var(--ink)}
.legal-h{margin:0 0 4px;font-family:var(--font-display);font-weight:800;font-size:24px;text-transform:uppercase;color:var(--ink)}
.foot-h{margin:0 0 4px;font-family:var(--font-display);font-weight:800;font-size:20px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.foot-contact,.foot-link{display:inline-flex;align-items:center;min-height:44px;color:var(--muted);overflow-wrap:anywhere}
.foot-link{padding:0 10px}
@media (max-width:767px){
  .badge-left{left:8px}
  .badge-right{right:8px}
  .portrait{width:min(78%,322px);margin-top:0}
  .blob-pink{width:300px;height:300px;right:-40px}
  .blob-blue{left:-40px}
}
@media (max-width:374px){
  h1,.h1-hero,.h1-lg,.h1-legal{font-size:38px}
  .legal-h{font-size:20px}
}
/* Lange Einzelwoerter in Hauptueberschriften: Schrift folgt der Spaltenbreite, damit das Wort auf eine Zeile passt */
.fit-box{container-type:inline-size}
.h1-lg.h1-fit-mitarbeiterinnen{font-size:min(clamp(44px,6vw,80px),calc(100cqi / 7.7))}
.h1-legal.h1-fit-datenschutz{font-size:min(clamp(44px,6vw,64px),calc(100cqi / 9.6))}
h1.h1-fit-entschlossenheit{font-size:min(clamp(44px,6vw,72px),calc(100cqi / 7.4))}

/* Abstaende und Typografie der Seiten */
.ai-baseline{align-items:baseline}
.ai-center{align-items:center}
.ai-start{align-items:start}
.bb{border-bottom:1px solid var(--line)}
.bg-accent{background:var(--accent)}
.bg-soft{background:var(--soft)}
.bg-white{background:#fff}
.bt{border-top:1px solid var(--line)}
.bt-accent{border-top:4px solid var(--accent)}
.c-accent{color:var(--accent-text)}
.c-ink{color:var(--ink)}
.c-muted{color:var(--muted)}
.c-white{color:#fff}
.col{flex-direction:column}
.dashed{border:2px dashed var(--edge)}
.display{font-family:var(--font-display)}
.edge{border:1px solid var(--edge)}
.flex{display:flex}
.fs-15{font-size:15px}
.fs-19{font-size:19px}
.fs-20{font-size:20px}
.fs-24{font-size:24px}
.fs-26{font-size:26px}
.fs-30{font-size:30px}
.fs-32{font-size:32px}
.fs-34{font-size:34px}
.fs-36{font-size:36px}
.fs-40{font-size:40px}
.fs-44{font-size:44px}
.fs-48{font-size:48px}
.fw-600{font-weight:600}
.fw-800{font-weight:800}
.fwrap{flex-wrap:wrap}
.gap-10{gap:10px}
.gap-12{gap:12px}
.gap-14{gap:14px}
.gap-16{gap:16px}
.gap-18{gap:18px}
.gap-20{gap:20px}
.gap-24{gap:24px}
.gap-28{gap:28px}
.gap-32{gap:32px}
.gap-4{gap:4px}
.gap-40{gap:40px}
.gap-48{gap:48px}
.gap-6{gap:6px}
.gap-8{gap:8px}
.grid{display:grid}
.jc-between{justify-content:space-between}
.justify-start{justify-self:start}
.lh-1{line-height:1}
.lh-105{line-height:1.05}
.lh-11{line-height:1.1}
.min-200{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr))}
.min-220{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}
.min-240{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}
.min-250{grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr))}
.min-260{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}
.min-280{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr))}
.min-320{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr))}
.min-340{grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr))}
.minh-48{min-height:48px}
.minh-96{min-height:96px}
.mt-10{margin-top:10px}
.mt-4{margin-top:4px}
.mt-6{margin-top:6px}
.mw-520{max-width:520px}
.mw-640{max-width:640px}
.mw-720{max-width:720px}
.mw-760{max-width:760px}
.mw-820{max-width:820px}
.mw-860{max-width:860px}
.nolist{list-style:none}
.p-0{padding:0}
.p-0-14{padding:0 14px}
.p-12-16{padding:12px 16px}
.p-24{padding:24px}
.p-28{padding:28px}
.p-32{padding:32px}
.pb-56{padding-bottom:56px}
.pl-20{padding-left:20px}
.pt-16{padding-top:16px}
.pt-32{padding-top:32px}
.py-20{padding-top:20px;padding-bottom:20px}
.py-24-56{padding-top:24px;padding-bottom:56px}
.py-32{padding-top:32px;padding-bottom:32px}
.py-40{padding-top:40px;padding-bottom:40px}
.py-40-8{padding-top:40px;padding-bottom:8px}
.py-56{padding-top:56px;padding-bottom:56px}
.py-56-48{padding-top:56px;padding-bottom:48px}
.py-56-72{padding-top:56px;padding-bottom:72px}
.py-64-48{padding-top:64px;padding-bottom:48px}
.py-72{padding-top:72px;padding-bottom:72px}
.r-18{border-radius:18px}
.r-20{border-radius:20px}
.r-999{border-radius:999px}
.relative{position:relative}
.self-start{align-self:flex-start}
.nowrap{white-space:nowrap}
.mt-auto{margin-top:auto}
.up{text-transform:uppercase}
@media (max-width:767px){.fs-40{font-size:34px}.fs-48{font-size:40px}.fs-44{font-size:38px}}
