
@font-face{font-family:"Cambay";src:url("/commons/fonts/cambay-700.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"DM Sans";src:url("/commons/fonts/dm-sans-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"DM Sans";src:url("/commons/fonts/dm-sans-500.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"DM Sans";src:url("/commons/fonts/dm-sans-700.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"DM Sans";src:url("/commons/fonts/dm-sans-800.woff2") format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"DM Sans";src:url("/commons/fonts/dm-sans-900.woff2") format("woff2");font-weight:900;font-display:swap}

:root{
  --buehne:#16181d;
  --nacht:#242933;
  --stahl:#536f97;
  --stahl-text:#44597c;
  --eis:#cfdae6;
  --eis2:#e9eef5;
  --wolke:#f5f7fa;
  --linie:#ccd4db;
  --amber:#d99a2b;
  --ink:#242933;
  --ink-dim:#4a5361;
  --ink-faint:#5d6774;
  --hell:#f2f5f9;
  --hell-dim:#cfdae6;
  --display:"DM Sans",system-ui,sans-serif;
  --marke:"Cambay","DM Sans",sans-serif;
  --text:"DM Sans",system-ui,sans-serif;
  --maxw:1200px;
}

*{margin:0;padding:0;box-sizing:border-box;border-radius:0}
dialog{margin:auto}
body{font-family:var(--text);color:var(--ink);background:#fff;
  font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--stahl);outline-offset:2px}

.skip{position:absolute;left:-999px;top:0;background:var(--nacht);color:var(--hell);
  padding:.6rem 1rem;z-index:200}
.skip:focus{left:.5rem;top:.5rem}

.d-hero{font-family:var(--display);font-weight:900;letter-spacing:-.04em;
  line-height:.98;font-size:clamp(2.9rem,7.6vw,6.9rem)}
.d-sektion{font-family:var(--display);font-weight:900;letter-spacing:-.035em;
  line-height:1.0;font-size:clamp(2.1rem,4.6vw,4rem)}
.d-panel{font-family:var(--display);font-weight:800;letter-spacing:-.03em;
  line-height:1.04;font-size:clamp(1.9rem,3.5vw,3.1rem)}
.d-zahl{font-family:var(--display);font-weight:900;letter-spacing:-.04em;
  line-height:.95;font-size:clamp(4rem,11vw,10rem);font-variant-numeric:tabular-nums}

.kw{color:var(--eis)}
.kw-hell{text-decoration:underline;text-decoration-color:var(--stahl);
  text-decoration-thickness:.065em;text-underline-offset:.05em;text-decoration-skip-ink:none}

.kicker{font-size:.8rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.18em;color:var(--stahl-text)}
.kicker--dunkel{color:var(--hell-dim)}
.fussnote{font-size:.82rem;color:var(--ink-faint);line-height:1.5}
.fussnote--dunkel{color:#aab8c6}

.marke{font-family:var(--marke);font-weight:700;font-size:1.25rem;letter-spacing:-.01em}
.marke span{color:var(--stahl)}
.marke--dunkel span{color:var(--eis)}

.kopf{display:flex;align-items:center;gap:.7rem;padding:1rem 1.5rem;
  max-width:none}
.kopf img{width:40px;height:auto}
.kopf .knav{margin-left:auto;display:flex;align-items:center;gap:1.4rem;font-size:.95rem}
.kopf .knav a{text-decoration:none;font-weight:500}
.kopf .knav a:hover{text-decoration:underline}
.kopf-tel{font-weight:700;text-decoration:none!important;
  font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:.45rem}
.kopf-tel small{font-weight:500}
@media (max-width:760px){.kopf .knav{display:none}}

.ruf-btn{display:inline-flex;align-items:center;gap:.7rem;background:var(--nacht);
  color:var(--hell);text-decoration:none;font-weight:700;font-size:1.25rem;
  padding:1rem 1.6rem;font-variant-numeric:tabular-nums}
.ruf-btn:hover{background:var(--buehne)}
.ruf-btn small{font-weight:500;font-size:.8rem;color:var(--hell-dim)}
.ruf-btn--hell{background:var(--eis);color:var(--nacht)}
.ruf-btn--hell:hover{background:#fff;color:var(--nacht)}
.ruf-btn--hell small{color:var(--stahl-text)}
.cta{font-weight:700;color:var(--stahl-text);text-decoration:none}
.tel-ic{width:1.05em;height:1.05em;vertical-align:-.15em;flex:0 0 auto}

.rufleiste{display:none}
@media (max-width:760px){
  .rufleiste{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:90;
    background:var(--nacht);color:var(--hell);align-items:center;justify-content:center;
    gap:.6rem;min-height:58px;padding:.6rem 1rem;text-decoration:none;
    font-weight:700;font-size:1.15rem;font-variant-numeric:tabular-nums}
  .rufleiste small{font-weight:500;font-size:.78rem;color:var(--hell-dim)}
  body{padding-bottom:64px}
}

.lasche{display:none}
@media (min-width:1101px){
  .lasche{display:flex;position:fixed;right:0;top:50%;transform:translateY(-50%);
    z-index:85;background:var(--stahl);color:#fff;text-decoration:none;
    writing-mode:vertical-rl;padding:1.1rem .65rem;font-weight:700;font-size:.85rem;
    letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:.5rem}
  .lasche:hover{background:var(--nacht)}
}

.stempel{display:inline-block;border:3px solid currentColor;padding:.15em .55em;
  font-family:var(--display);font-weight:800;letter-spacing:-.01em;
  transform:rotate(-4deg)}

.sektion{padding:clamp(3.5rem,9vh,6.5rem) 1.5rem}
.sektion--kompakt{padding:3rem 1.5rem}
.inner{max-width:var(--maxw);margin:0 auto}
.beweis{font-size:.92rem;color:var(--ink-dim);font-variant-numeric:tabular-nums}
.beweis b{color:var(--ink);font-weight:700}
.beweis--dunkel{color:var(--hell-dim)}
.beweis--dunkel b{color:#fff}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}
html:not(.js) .nur-js{display:none!important}
