


  :root {
    --nm-blue:     #002060;
    --nm-red:      #960000;
    
    --nm-magenta:  #FF40FF;
    --nm-mint:     #34D399;
    --header-bg:   #D6E0EF;
    --body-bg:     #EEF4FC;
    --card-bg:     #E0E9F6;
    --card-hover:  #D3DEEC;
    --card-border: rgba(0,32,96,0.12);
  
  --btn-hell:    #9FBAE3;
  }

  * { box-sizing: border-box; }

  html { scroll-behavior: smooth; }

  body {
    margin: 0;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
    background: var(--body-bg);
    color: var(--nm-blue);
    min-height: 100vh;
    -webkit-font-smoothing: antialiased;
  }

  
  header {
    background: var(--header-bg);
    
    height: calc(130px + env(safe-area-inset-top, 0px));
    padding-top: env(safe-area-inset-top, 0px);
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 0 40px;
    border-bottom: 4px solid var(--card-border);
    
    position: sticky; top: 0; z-index: 70;
  }
  
.brand { display: flex; align-items: flex-end; gap: 18px; flex: 1; min-width: 0; text-decoration: none; }

.brand-text { padding-bottom: 0; position: relative; top: 5px; }
  .brand img { height: 62px; width: auto; display: block; }
  .brand-text { font-size: 15px; line-height: 1.35; color: rgba(0,32,96,0.72); max-width: 300px; }

  .head-nav-alt-unbenutzt a {
    font-size: 14.5px; font-weight: 500; color: var(--nm-blue);
    text-decoration: none; white-space: nowrap;
    border-bottom: 2px solid transparent; padding-bottom: 2px;
    transition: color .15s, border-color .15s;
  }
  .head-nav-alt-unbenutzt a:hover { color: var(--nm-red); }

  .btn {
    background: var(--nm-blue); color: #fff; border: none; border-radius: 50px;
    padding: 12px 24px; font-size: 14px; font-weight: 600;
    font-family: inherit; cursor: pointer; text-decoration: none;
    display: inline-flex; align-items: center; gap: 8px; white-space: nowrap;
    box-shadow: 0 4px 12px rgba(0,32,96,0.18);
    transition: background .15s, transform .15s;
  }
  .btn:hover { background: var(--nm-red); transform: translateY(-1px); }
  .btn svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

  .btn-quiet {
    background: transparent; color: var(--nm-blue);
    border: 1.5px solid rgba(0,32,96,0.28); box-shadow: none;
  }
  .btn-quiet:hover { background: var(--nm-blue); color: #fff; border-color: var(--nm-blue); }

  .btn-kurz { display: none; }
  .brand img { max-width: 100%; }

  
  .skip {
    position: absolute; left: 12px; top: -60px; z-index: 100;
    background: var(--nm-blue); color: #fff; text-decoration: none;
    padding: 12px 20px; border-radius: 0 0 10px 10px; font-size: 14px; font-weight: 600;
    transition: top .15s;
  }
  .skip:focus { top: 0; }

  
  a:focus-visible, button:focus-visible {
    outline: 3px solid var(--nm-red); outline-offset: 3px; border-radius: 4px;
  }

  
  .hero {
    max-width: 1600px;
    margin: 0 auto;
    padding: 72px 40px 8px;
  }
  .hero-inner { max-width: 900px; }
  .hero h1 {
    font-size: 46px; font-weight: 600; line-height: 1.14;
    letter-spacing: -0.8px; margin: 0 0 20px;
  }
  .hero h1 .accent { color: var(--nm-red); }
  .nb { white-space: nowrap; }
  .hero .lead {
    font-size: 18px; line-height: 1.6; color: rgba(0,32,96,0.75);
    margin: 0 0 16px; max-width: 780px;
  }
  .hero .lead-2 {
    font-size: 16px; line-height: 1.6; color: rgba(0,32,96,0.72);
    margin: 0 0 32px; max-width: 780px;
  }
  .hero-actions { display: flex; gap: 14px; flex-wrap: wrap; }
  .hero-fuer {
    font-size: 13.5px; font-weight: 600; letter-spacing: 0.2px; color: var(--nm-red);
    margin: 0 0 14px;
  }

  
  .proof-wrap { max-width: 1600px; margin: 48px auto 0; padding: 0 40px; }
  .proof {
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: 18px;
    padding: 28px 32px;
    display: flex; flex-direction: column; gap: 22px;
  }
  .proof-zahlen {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;
  }
  @media (max-width: 899px) { .proof-zahlen { grid-template-columns: repeat(2, 1fr); } }
  .proof-zahl { display: flex; flex-direction: column; gap: 3px; }
  .proof-zahl .z { font-size: 26px; font-weight: 600; letter-spacing: -0.5px; line-height: 1.1; }
  .proof-zahl .w { font-size: 13px; line-height: 1.4; color: rgba(0,32,96,0.75); }
  .proof-namen { border-top: 1px solid var(--card-border); padding-top: 20px; }
  .proof-label {
    font-size: 12.5px; font-weight: 700; letter-spacing: 0.2px; color: rgba(0,32,96,0.72); margin: 0 0 8px;
  }
  .proof-liste { font-size: 14px; line-height: 1.75; color: rgba(0,32,96,0.82); margin: 0; }

  
  
  .section { max-width: 1600px; margin: 0 auto; padding: 56px 40px 76px; }
  
  .section-head { margin-bottom: 28px; max-width: none; }
  .section-head > p { max-width: 820px; }
  .section-eyebrow {
    font-size: 12.5px; font-weight: 700; letter-spacing: 0.2px; color: rgba(0,32,96,0.5); margin: 0 0 10px;
  }
  .section-head h2 {
    font-size: 32px; font-weight: 600; letter-spacing: -0.5px;
    margin: 0 0 12px; line-height: 1.2;
  }
  .section-head p { font-size: 16px; line-height: 1.6; color: rgba(0,32,96,0.72); margin: 0; }

  .grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
  .grid-2 { grid-template-columns: repeat(2, 1fr); }
  @media (max-width: 1279px) { .grid { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 899px)  { .grid, .grid-2 { grid-template-columns: 1fr; } }

  
  .tile {
    background-color: var(--card-bg);
    border: 1px solid var(--card-border);
    border-radius: 18px;
    padding: 28px 28px 24px;
    display: flex; flex-direction: column; gap: 14px;
    position: relative; overflow: hidden;
    min-height: 280px;
    transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
  }
  .tile:hover { background-color: var(--card-hover); transform: translateY(-4px); box-shadow: 0 14px 32px rgba(0,32,96,0.15); }
  .tile > * { position: relative; z-index: 1; }

  
  .tile-watermark {
    position: absolute; right: -28px; top: 50%; transform: translateY(-50%);
    width: 190px; height: 190px; z-index: 0; pointer-events: none;
    color: rgba(0,32,96,0.09);
  }
  .tile-watermark svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.1; stroke-linecap: round; stroke-linejoin: round; }

  .tile-head { display: flex; align-items: center; gap: 10px; min-height: 26px; flex-wrap: wrap; }
  .tile-status {
    font-size: 10.5px; font-weight: 700; padding: 4px 10px; border-radius: 50px;
    letter-spacing: 0.1px;
  }
  .tile-status.ok   { background: rgba(45,180,99,0.18);  color: #14512d; }
  .tile-status.soon { background: rgba(0,32,96,0.10);    color: rgba(0,32,96,0.78); }
  .tile-status.date { background: rgba(150,0,0,0.10);    color: var(--nm-red); }
  .tile-status.info { background: rgba(0,32,96,0.12);    color: var(--nm-blue); }

  .tile-title { font-size: 21px; font-weight: 600; margin: 0; line-height: 1.25; }
  .tile-desc  { font-size: 14px; line-height: 1.55; color: rgba(0,32,96,0.78); margin: 0; flex: 1; max-width: 80%; }
  .tile-meta  { font-size: 12.5px; color: rgba(0,32,96,0.72); font-weight: 500; margin: 0; }

  .tile-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 7px; max-width: 82%; }
  .tile-list li { font-size: 13.5px; line-height: 1.45; color: rgba(0,32,96,0.75); padding-left: 18px; position: relative; }
  .tile-list li::before {
    content: ''; position: absolute; left: 0; top: 7px;
    width: 7px; height: 7px; border-radius: 50%; background: rgba(0,32,96,0.35);
  }

  .tile-cta {
    background: var(--nm-blue); color: #fff; border: none; border-radius: 50px;
    padding: 10px 22px; font-size: 13.5px; font-weight: 600;
    font-family: inherit; cursor: pointer; text-decoration: none;
    display: inline-flex; align-items: center; gap: 7px; align-self: flex-start;
    box-shadow: 0 4px 12px rgba(0,32,96,0.18);
    margin-top: 4px; transition: background .15s;
  }
  .tile-cta:hover { background: var(--nm-red); }
  .tile-cta.soon {
    background: transparent; color: rgba(0,32,96,0.75);
    border: 1.5px solid rgba(0,32,96,0.32); box-shadow: none; cursor: default;
  }
  .tile-cta.soon:hover { background: transparent; }
  .tile-cta svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

  
  .tile.upcoming { background-color: var(--body-bg); }
  .tile.upcoming:hover { background-color: var(--card-bg); }
  .tile.upcoming .tile-title { color: rgba(0,32,96,0.82); }
  .tile.upcoming .tile-desc, .tile.upcoming .tile-list li { color: rgba(0,32,96,0.75); }

  
  .phase-num {
    width: 44px; height: 44px; border-radius: 50%;
    background: var(--nm-blue); color: #fff;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 18px; font-weight: 600; flex: 0 0 auto;
  }

  
  .banner {
    max-width: 1600px; margin: 56px auto 0;
    padding: 30px 40px;
    background: linear-gradient(90deg, var(--header-bg) 0%, var(--card-bg) 100%);
    border: 1px solid var(--card-border); border-radius: 18px;
    display: flex; align-items: center; gap: 26px; flex-wrap: wrap;
  }
  .banner-wrap { padding: 0 40px; }
  .banner-weit { margin: 0; padding: 34px 40px; position: relative; overflow: hidden; }
  .banner-weit > * { position: relative; z-index: 1; }
  .banner-watermark {
    position: absolute; right: -30px; top: 50%; transform: translateY(-50%);
    width: 420px; height: 210px; z-index: 0; pointer-events: none;
    color: rgba(0,32,96,0.08);
  }
  .banner-watermark svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 0.9; stroke-linecap: round; stroke-linejoin: round; }
  @media (max-width: 1100px) { .banner-watermark { display: none; } }
  .banner-weit .section-eyebrow { margin-bottom: 8px; }
  .banner-weit h2 { font-size: 30px; font-weight: 600; letter-spacing: -0.5px; margin: 0 0 14px; line-height: 1.2; }
  .banner-weit .banner-text p { max-width: 900px; }
  .banner-weit .banner-text p + p { margin-top: 12px; }
  .banner-text { flex: 1; min-width: 300px; }
  .banner-text h3 { font-size: 24px; font-weight: 600; margin: 0 0 8px; letter-spacing: -0.3px; }
  .banner-text p { font-size: 15px; line-height: 1.6; color: rgba(0,32,96,0.72); margin: 0; }
  .banner-actions { display: flex; gap: 12px; flex-wrap: wrap; }

  
  footer {
    margin-top: 72px;
    background: var(--header-bg);
    border-top: 3px solid var(--card-border);
    padding: 40px 40px 32px;
  }
  .footer-inner {
    max-width: 1600px; margin: 0 auto;
    display: flex; justify-content: space-between; gap: 32px; flex-wrap: wrap;
    font-size: 13px; color: rgba(0,32,96,0.7); line-height: 1.7;
  }
  .footer-inner strong { display: block; font-size: 14px; color: var(--nm-blue); margin-bottom: 6px; font-weight: 600; }
  .footer-links { display: flex; gap: 20px; flex-wrap: wrap; align-items: flex-start; }
  .footer-links a { color: rgba(0,32,96,0.75); text-decoration: none; }
  .footer-links a:hover { color: var(--nm-red); }

  
  .modal {
    display: none; position: fixed; inset: 0; z-index: 200;
    background: rgba(0,0,0,0.4);
    align-items: center; justify-content: center; padding: 20px;
  }
  .modal.open { display: flex; }
  .modal-card {
    background: var(--card-bg); border-radius: 18px;
    width: min(1150px, 96vw); height: min(90vh, 1500px);
    padding: 18px 18px 14px; position: relative;
    display: flex; flex-direction: column; gap: 10px;
    box-shadow: 0 20px 60px rgba(0,32,96,0.28);
  }
  .modal-card h2 { margin: 0; font-size: 17px; font-weight: 600; padding-right: 50px; letter-spacing: -0.2px; }
  .modal-close {
    position: absolute; top: 12px; right: 12px;
    width: 34px; height: 34px; border-radius: 50%;
    border: none; background: rgba(0,32,96,0.1); color: var(--nm-blue);
    cursor: pointer; display: flex; align-items: center; justify-content: center;
    transition: background .15s, color .15s;
  }
  .modal-close:hover { background: rgba(150,0,0,0.15); color: var(--nm-red); }
  .modal-close svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2.5; stroke-linecap: round; }
  .modal-frame { flex: 1; min-height: 0; border-radius: 10px; overflow: hidden; background: var(--body-bg); }
  .modal-frame iframe { width: 100%; height: 100%; border: 0; }

  
  .modal-card.modal-schmal { width: min(560px, 94vw); height: auto; max-height: 90vh; padding: 26px 28px 24px; }
  .modal-card.modal-schmal h2 { font-size: 21px; line-height: 1.3; }
  .modal-inhalt { display: flex; flex-direction: column; gap: 18px; min-height: 0; }
  .kennen-zeile { font-size: 15px; line-height: 1.6; color: rgba(0,32,96,0.82); margin: 0; }
  .kennen-wege { display: flex; gap: 12px; flex-wrap: wrap; }
  .kennen-wege .btn { font-size: 14px; }
  .kennen-fuss { font-size: 13px; line-height: 1.55; color: rgba(0,32,96,0.7); margin: 0; }

  
  
  @media (max-width: 767px) {
    header { height: calc(92px + env(safe-area-inset-top, 0px)); padding: env(safe-area-inset-top, 0px) 20px 0; gap: 12px; }
    .brand img { height: 38px; }
    .btn-head { padding: 10px 16px; font-size: 13px; gap: 6px; }
    .hero { padding: 44px 20px 8px; }
    .hero h1 { font-size: 32px; letter-spacing: -0.5px; }
    .hero .lead { font-size: 16.5px; }
    .section { padding: 44px 20px 56px; }
    .section-head h2 { font-size: 26px; }
    .banner-wrap { padding: 0 20px; }
    .banner { padding: 26px 24px; }
    .tile { padding: 24px 22px 22px; min-height: 0; }
    .tile-desc, .tile-list { max-width: 100%; }
    .tile-watermark { width: 140px; right: -34px; }
    footer { padding: 32px 20px 28px; }
  }

  @media (max-width: 430px) {
    .btn-lang { display: none; }
    .btn-kurz { display: inline; }
    .brand img { height: 34px; }
  }




a.tile-link { text-decoration: none; color: inherit; cursor: pointer; }
a.tile-link .tile-cta { pointer-events: none; }
a.tile-link:hover .tile-cta { background: var(--nm-red); }
a.tile-link.upcoming:hover .tile-cta { background: var(--nm-blue); }


.footer-nav a.aktiv { color: var(--nm-red); font-weight: 600; }


.footer-nav { display: flex; flex-direction: column; gap: 6px; }
.footer-nav a { color: rgba(0,32,96,0.75); text-decoration: none; font-size: 13px; }
.footer-nav a:hover { color: var(--nm-red); }


.seiten-kopf { max-width: 1600px; margin: 0 auto; padding: 64px 40px 0; }

.seiten-kopf:has(+ .section.dunkel) { padding-bottom: 54px; }


.seiten-kopf .innen {
  
  max-width: none;
  display: grid; grid-template-columns: 1.12fr 1fr;
  column-gap: 48px; align-items: start;
}
.seiten-kopf .innen > h1,
.seiten-kopf .innen > .zurueck { grid-column: 1 / -1; }


.seiten-kopf .innen > h1 { max-width: none; }
.seiten-kopf .lead-2 {
  border-left: 3px solid rgba(0,32,96,0.18);
  padding-left: 22px;
}
@media (max-width: 900px) {
  .seiten-kopf .innen { grid-template-columns: 1fr; row-gap: 4px; max-width: 860px; }
  .seiten-kopf .lead-2 { border-left: 0; padding-left: 0; }
}
.seiten-kopf h1 { font-size: 40px; font-weight: 600; line-height: 1.15; letter-spacing: -0.7px; margin: 0 0 18px; }
.seiten-kopf h1 .accent { color: var(--nm-red); }

.seiten-kopf .lead,
.seiten-kopf .lead-2 { font-size: 17px; line-height: 1.62; margin: 0; }
.seiten-kopf .lead { color: rgba(0,32,96,0.8); }
.seiten-kopf .lead-2 { color: rgba(0,32,96,0.7); }
.seiten-kopf .zurueck,
.leistung-kopf .zurueck {
  display: inline-flex; align-items: center; gap: 7px;
  font-size: 13.5px; font-weight: 500; color: rgba(0,32,96,0.72);
  text-decoration: none; margin-bottom: 18px;
}
.seiten-kopf .zurueck:hover,
.leistung-kopf .zurueck:hover { color: var(--nm-red); }
.seiten-kopf .zurueck svg,
.leistung-kopf .zurueck svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }


.schritte { display: flex; flex-direction: column; gap: 0; max-width: 900px; margin: 0; padding: 0; list-style: none; counter-reset: schritt; }
.schritte li {
  position: relative; padding: 0 0 30px 62px; counter-increment: schritt;
}
.schritte li::before {
  content: counter(schritt);
  position: absolute; left: 0; top: 0;
  width: 40px; height: 40px; border-radius: 50%;
  background: var(--nm-blue); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 17px; font-weight: 600;
}
.schritte li::after {
  content: ''; position: absolute; left: 19.5px; top: 44px; bottom: 4px;
  width: 2px; background: rgba(0,32,96,0.16);
}
.schritte li:last-child { padding-bottom: 0; }
.schritte li:last-child::after { display: none; }
.schritte h3 { font-size: 18px; font-weight: 600; margin: 8px 0 6px; line-height: 1.3; }
.schritte p { font-size: 15px; line-height: 1.6; color: rgba(0,32,96,0.78); margin: 0; }



.haken { list-style: none; margin: 20px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px 28px; max-width: 900px; }
.haken:first-child { margin-top: 0; }
@media (max-width: 767px) { .haken { grid-template-columns: 1fr; } }
.haken li { position: relative; padding-left: 30px; font-size: 15px; line-height: 1.55; color: rgba(0,32,96,0.82); }
.haken li::before {
  content: ''; position: absolute; left: 0; top: 3px; width: 18px; height: 18px;
  border-radius: 50%; background: rgba(0,32,96,0.10);
}
.haken li::after {
  content: ''; position: absolute; left: 5px; top: 8px;
  width: 8px; height: 4px; border-left: 2px solid var(--nm-blue); border-bottom: 2px solid var(--nm-blue);
  transform: rotate(-45deg);
}

@media (max-width: 767px) {
  .seiten-kopf { padding: 40px 20px 0; }
  .seiten-kopf:has(+ .section.dunkel) { padding-bottom: 34px; }
  .seiten-kopf:has(+ .section.dunkel) { padding-bottom: 32px; }
  .seiten-kopf h1 { font-size: 29px; }
  .schritte li { padding-left: 52px; }
  .schritte li::before { width: 34px; height: 34px; font-size: 15px; }
  .schritte li::after { left: 16.5px; top: 38px; }
}




.bild { margin: 0; border-radius: 18px; overflow: hidden; background: var(--card-bg); width: 100%; }
.bild img { width: 100%; height: 100%; object-fit: cover; display: block; }

.bild-leer {
  display: flex; align-items: center; justify-content: center;
  background:
    repeating-linear-gradient(135deg, rgba(0,32,96,0.035) 0 14px, rgba(0,32,96,0.07) 14px 28px);
  border: 2px dashed rgba(0,32,96,0.22);
  padding: 24px; text-align: center;
}
.bild-leer-text {
  font-size: 14px; line-height: 1.5; font-weight: 500; color: rgba(0,32,96,0.68);   
  max-width: 320px; display: flex; flex-direction: column; gap: 8px;
}
.bild-leer-text em {
  font-style: normal; font-size: 12px; font-family: ui-monospace, Menlo, monospace;
  color: rgba(0,32,96,0.72); word-break: break-all;   
}
.dunkel .bild-leer {
  background: repeating-linear-gradient(135deg, rgba(255,255,255,0.05) 0 14px, rgba(255,255,255,0.09) 14px 28px);
  border-color: rgba(255,255,255,0.28);
}
.dunkel .bild-leer-text { color: rgba(255,255,255,0.78); }
.dunkel .bild-leer-text em { color: rgba(255,255,255,0.66); }


.buehne { position: relative; background: var(--nm-blue); overflow: hidden; }
.buehne-bild { position: absolute; inset: 0; z-index: 0; }
.buehne-bild .bild { height: 100%; border-radius: 0; background: transparent; }
.buehne-bild .bild img { filter: saturate(0.85); }
.buehne-bild::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(100deg, rgba(0,32,96,0.97) 0%, rgba(0,32,96,0.93) 46%, rgba(0,32,96,0.86) 74%, rgba(0,32,96,0.78) 100%);
}
.buehne-innen {
  position: relative; z-index: 1;
  max-width: 1600px; margin: 0 auto; padding: 96px 40px 88px;
}
.buehne-text { max-width: 720px; color: #fff; }
.buehne-fuer {
  font-size: 13.5px; font-weight: 600; letter-spacing: 0.2px;
  color: rgba(255,255,255,0.8); margin: 0 0 18px;
}
.buehne h1 {
  font-size: 52px; font-weight: 600; line-height: 1.1; letter-spacing: -1.3px;
  margin: 0 0 24px; color: #fff;
}
.buehne h1 .hell { color: #9FBAE3; }
.buehne .lead { font-size: 20px; line-height: 1.55; color: rgba(255,255,255,0.9); margin: 0 0 16px; max-width: 660px; }
.buehne .lead-2 { font-size: 17px; line-height: 1.6; color: rgba(255,255,255,0.75); margin: 0 0 34px; max-width: 660px; }
.buehne .btn { background: var(--btn-hell); color: var(--nm-blue); box-shadow: 0 8px 24px rgba(0,0,0,0.22); }
.buehne .btn:hover { background: var(--nm-red); color: #fff; }
.buehne .btn-quiet { background: transparent; color: #fff; border-color: rgba(255,255,255,0.55); box-shadow: none; }
.buehne .btn-quiet:hover { background: var(--btn-hell); color: var(--nm-blue); border-color: var(--btn-hell); }


.dunkel { background: var(--nm-blue); color: #fff; }
.dunkel .section-eyebrow { color: rgba(255,255,255,0.65); }
.dunkel .section-head h2 { color: #fff; }
.dunkel .section-head p,
.dunkel p { color: rgba(255,255,255,0.82); }
.dunkel h3 { color: #fff; }
.dunkel .btn { background: var(--btn-hell); color: var(--nm-blue); }
.dunkel .btn:hover { background: var(--nm-red); color: #fff; }
.dunkel .btn-quiet { background: transparent; color: #fff; border-color: rgba(255,255,255,0.5); }
.dunkel .btn-quiet:hover { background: var(--btn-hell); color: var(--nm-blue); }
.dunkel-innen { max-width: 1600px; margin: 0 auto; padding: 84px 40px; }


.aussage { max-width: 1600px; margin: 0 auto; padding: 96px 40px; }

.aussage > p {
  font-size: 38px; font-weight: 500; line-height: 1.28; letter-spacing: -0.8px;
  max-width: none; margin: 0; color: var(--nm-blue);
}
.aussage .quelle { font-size: 15px; font-weight: 500; color: rgba(0,32,96,0.65); margin-top: 22px; letter-spacing: 0; }
.dunkel .aussage > p { color: #fff; }
.dunkel .aussage .quelle { color: rgba(255,255,255,0.7); }


.reihe {
  max-width: 1600px; margin: 0 auto; padding: 72px 40px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 56px;
  align-items: start;   
}
.reihe.gedreht .reihe-bild { order: 2; }
.reihe-text h2 { font-size: 34px; font-weight: 600; letter-spacing: -0.6px; line-height: 1.18; margin: 0 0 16px; }
.reihe-text h3 { font-size: 26px; font-weight: 600; letter-spacing: -0.4px; line-height: 1.22; margin: 0 0 14px; }
.reihe-text p { font-size: 16.5px; line-height: 1.65; color: rgba(0,32,96,0.8); margin: 0 0 14px; }
.reihe-text p:last-of-type { margin-bottom: 0; }
.reihe-nummer {
  display: inline-flex; align-items: center; justify-content: center;
  width: 46px; height: 46px; border-radius: 50%;
  background: var(--nm-blue); color: #fff; font-size: 19px; font-weight: 600;
  margin-bottom: 18px;
}
.dunkel .reihe-nummer { background: var(--btn-hell); color: var(--nm-blue); }
@media (max-width: 899px) {
  .reihe { grid-template-columns: 1fr; gap: 28px; padding: 48px 20px; }
  .reihe.gedreht .reihe-bild { order: 0; }
}


.koepfe { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
@media (max-width: 1100px) { .koepfe { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px)  { .koepfe { grid-template-columns: 1fr; } }
.kopf .bild { margin-bottom: 14px; }
.kopf b { display: block; font-size: 16px; font-weight: 600; line-height: 1.3; margin-bottom: 4px; }
.kopf span { font-size: 13.5px; line-height: 1.5; color: rgba(255,255,255,0.72); }


.zahlen-band { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; }
@media (max-width: 899px) { .zahlen-band { grid-template-columns: repeat(2, 1fr); } }
.zahl b { display: block; font-size: 46px; font-weight: 600; letter-spacing: -1.4px; line-height: 1; margin-bottom: 8px; }
.zahl span { font-size: 14.5px; line-height: 1.45; color: rgba(255,255,255,0.75); }

@media (max-width: 767px) {
  .buehne-innen { padding: 72px 20px 64px; }
  .buehne h1 { font-size: 34px; letter-spacing: -0.8px; }
  .buehne .lead { font-size: 17px; }
  .dunkel-innen { padding: 56px 20px; }
  .aussage { padding: 56px 20px; }
  .aussage > p { font-size: 25px; letter-spacing: -0.4px; }
  .reihe-text h2 { font-size: 26px; }
  .zahl b { font-size: 36px; }
}



.reihe-text a:not(.btn):not(.tile-cta):not(.tool-kachel),
.aussage a:not(.btn):not(.tile-cta):not(.tool-kachel),
.tile-desc a:not(.btn):not(.tile-cta):not(.tool-kachel),
.kennen-zeile a:not(.btn):not(.tile-cta):not(.tool-kachel),
.banner-text a:not(.btn):not(.tile-cta):not(.tool-kachel) {
  color: var(--nm-blue); font-weight: 600; text-decoration: none;
  border-bottom: 2px solid rgba(0,32,96,0.28); padding-bottom: 1px;
  transition: color .15s, border-color .15s;
}
.reihe-text a:not(.btn):not(.tile-cta):not(.tool-kachel):hover,
.aussage a:not(.btn):not(.tile-cta):not(.tool-kachel):hover,
.tile-desc a:not(.btn):not(.tile-cta):not(.tool-kachel):hover,
.kennen-zeile a:not(.btn):not(.tile-cta):not(.tool-kachel):hover,
.banner-text a:not(.btn):not(.tile-cta):not(.tool-kachel):hover {
  color: var(--nm-red); border-bottom-color: var(--nm-red);
}
.dunkel .reihe-text a:not(.btn):not(.tile-cta):not(.tool-kachel),
.dunkel .aussage a:not(.btn):not(.tile-cta):not(.tool-kachel),
.dunkel p a:not(.btn):not(.tile-cta):not(.tool-kachel) {
  color: #fff; border-bottom-color: rgba(255,255,255,0.45);
}
.dunkel .reihe-text a:not(.btn):not(.tile-cta):not(.tool-kachel):hover,
.dunkel .aussage a:not(.btn):not(.tile-cta):not(.tool-kachel):hover,
.dunkel p a:not(.btn):not(.tile-cta):not(.tool-kachel):hover {
  color: #9FBAE3; border-bottom-color: #9FBAE3;
}

footer a, .head-nav a, .footer-nav a, .btn, .tile-cta, a.kopf { border-bottom: none; }


.dunkel .aussage a.btn,
.dunkel .reihe-text a.btn,
.dunkel p a.btn,
.dunkel a.btn { background: var(--btn-hell); color: var(--nm-blue); border-bottom: none; }
.dunkel .aussage a.btn:hover,
.dunkel .reihe-text a.btn:hover,
.dunkel p a.btn:hover,
.dunkel a.btn:hover { background: var(--nm-red); color: #fff; }

.dunkel .aussage a.btn-quiet,
.dunkel a.btn-quiet { background: transparent; color: #fff; border: 1.5px solid rgba(255,255,255,0.5); }
.dunkel .aussage a.btn-quiet:hover,
.dunkel a.btn-quiet:hover { background: var(--btn-hell); color: var(--nm-blue); border-color: var(--btn-hell); }

.buehne a.btn { background: var(--btn-hell); color: var(--nm-blue); border-bottom: none; }
.buehne a.btn:hover { background: var(--nm-red); color: #fff; }
.buehne a.btn-quiet { background: transparent; color: #fff; border: 1.5px solid rgba(255,255,255,0.55); }
.buehne a.btn-quiet:hover { background: var(--btn-hell); color: var(--nm-blue); border-color: var(--btn-hell); }



.js .auf {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .62s cubic-bezier(.22,.61,.36,1),
              transform .62s cubic-bezier(.22,.61,.36,1);
  will-change: opacity, transform;
}
.js .auf.da { opacity: 1; transform: none; }


.js .auf.v1 { transition-delay: .07s; }
.js .auf.v2 { transition-delay: .14s; }
.js .auf.v3 { transition-delay: .21s; }


.js .buehne .auf { transition-delay: .1s; }


.bild img { transition: transform .7s cubic-bezier(.22,.61,.36,1); }
a:hover > .bild img,
a:hover .bild img,
.reihe:hover .reihe-bild .bild img { transform: scale(1.035); }


header { transition: box-shadow .25s, background-color .25s; }
header.gescrollt { box-shadow: 0 6px 24px rgba(0,32,96,0.14); }


.zahl b { font-variant-numeric: tabular-nums; }


@media (prefers-reduced-motion: reduce) {
  .js .auf { opacity: 1 !important; transform: none !important; transition: none !important; }
  .bild img { transition: none !important; }
  a:hover > .bild img, a:hover .bild img, .reihe:hover .reihe-bild .bild img { transform: none !important; }
  header { transition: none !important; }
  html { scroll-behavior: auto !important; }
  * { animation-duration: .001ms !important; animation-iteration-count: 1 !important; }
}




.bild-video video { width: 100%; height: 100%; object-fit: cover; display: block; }
.bild-leer-video { position: relative; }
.bild-leer-video::after {
  content: ''; position: absolute; left: 50%; top: 50%;
  width: 62px; height: 62px; margin: -31px 0 0 -31px;
  border-radius: 50%; border: 2.5px solid rgba(0,32,96,0.3);
  background: rgba(0,32,96,0.06);
}
.bild-leer-video::before {
  content: ''; position: absolute; left: 50%; top: 50%; z-index: 1;
  margin: -11px 0 0 -6px;
  border-left: 18px solid rgba(0,32,96,0.42);
  border-top: 11px solid transparent; border-bottom: 11px solid transparent;
}
.dunkel .bild-leer-video::after { border-color: rgba(255,255,255,0.4); background: rgba(255,255,255,0.08); }
.dunkel .bild-leer-video::before { border-left-color: rgba(255,255,255,0.55); }
.buehne .bild-leer-video::after { border-color: rgba(255,255,255,0.4); background: rgba(255,255,255,0.08); }
.buehne .bild-leer-video::before { border-left-color: rgba(255,255,255,0.55); }


.leistung { border-top: 1px solid var(--card-border); }
.leistung:first-of-type { border-top: none; }
.leistung-innen {
  max-width: 1600px; margin: 0 auto; padding: 84px 40px;
  display: grid; grid-template-columns: 1fr 1.15fr; gap: 64px;
  align-items: start;   
}

.leistung.gedreht .leistung-bild,
.leistung-innen.gedreht .leistung-bild { order: 2; }

.leistung-innen.gedreht { grid-template-columns: 1.15fr 1fr; }

.leistung-nummer {
  font-size: 13.5px; font-weight: 700; letter-spacing: 0.3px;
  color: rgba(0,32,96,0.72); margin: 0 0 12px;
}
.leistung h2 {
  font-size: 36px; font-weight: 600; letter-spacing: -0.7px; line-height: 1.15;
  margin: 0 0 16px;
}
.leistung .kurz {
  font-size: 18px; line-height: 1.6; color: rgba(0,32,96,0.82); margin: 0 0 14px;
}
.leistung .dazu {
  font-size: 16px; line-height: 1.65; color: rgba(0,32,96,0.72); margin: 0 0 24px;
}

.leistung .punkte {
  list-style: none; margin: 0 0 28px; padding: 0;
  display: flex; flex-wrap: wrap; align-items: baseline;
  font-size: 15px; line-height: 1.7; color: rgba(0,32,96,0.78);
}

.leistung .punkte { gap: 7px 30px; }
.leistung .punkte li { white-space: nowrap; }


.leistung.dunkel { border-top: none; }
.leistung.dunkel .leistung-nummer { color: rgba(255,255,255,0.6); }
.leistung.dunkel h2,
.leistung-kopf.dunkel h1 { color: #fff; }

.leistung-kopf.dunkel .zurueck { color: rgba(255,255,255,0.78); }
.leistung-kopf.dunkel .zurueck:hover { color: #fff; }
.leistung.dunkel .kurz { color: rgba(255,255,255,0.9); }
.leistung.dunkel .dazu { color: rgba(255,255,255,0.78); }
.leistung.dunkel .punkte { color: rgba(255,255,255,0.86); }

@media (max-width: 1000px) {
  .leistung-innen { grid-template-columns: 1fr; gap: 30px; padding: 56px 20px; }
  
  .leistung-innen.gedreht { grid-template-columns: 1fr; }
  .leistung.gedreht .leistung-bild,
  .leistung-innen.gedreht .leistung-bild { order: 0; }
  .leistung h2 { font-size: 28px; }
  .leistung .kurz { font-size: 16.5px; }
}


.buehne h1 .zeile2 { display: block; color: #9FBAE3; }
.buehne-credo {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 14px; font-weight: 600; letter-spacing: 0.3px;
  color: #fff; background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.3);
  border-radius: 50px; padding: 9px 18px; margin: 0 0 26px;
}

.buehne-raster {
  display: grid; grid-template-columns: 1.05fr 0.95fr;
  gap: 56px;
  align-items: start;   
}
.buehne-video .bild { border-radius: 16px; box-shadow: 0 26px 64px rgba(0,0,0,0.4); }
@media (max-width: 1060px) {
  .buehne-raster { grid-template-columns: 1fr; gap: 34px; }
  .buehne-video { max-width: 100%; }
}


.bild { position: relative; }


.bild img.ki-kennung {
  position: absolute; bottom: 10px; right: 10px;
  width: 24px; height: 24px;
  min-width: 24px; max-width: 24px;
  object-fit: contain;
  opacity: 0.9;
  pointer-events: none;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.4));
  z-index: 5;
  border-radius: 5px;
}

.koepfe .bild img.ki-kennung {
  bottom: 5px; right: 5px;
  width: 13px; height: 13px; min-width: 13px; max-width: 13px;
  opacity: 0.88; filter: drop-shadow(0 1px 2px rgba(0,0,0,0.35));
}


.pln { display: flex; flex-direction: column; gap: 18px; margin: 0 0 26px; }
.pln-teil { position: relative; padding-left: 18px; }
.pln-teil::before {
  content: ''; position: absolute; left: 0; top: 4px; bottom: 4px;
  width: 3px; border-radius: 2px; background: var(--nm-blue);
}


.pln-teil:nth-child(2)::before { background: var(--nm-magenta); }
.pln-teil.gewinn::before { background: var(--nm-mint); }


.pln-marke {
  display: block; font-size: 12.5px; font-weight: 700; letter-spacing: 0.2px;
  color: var(--nm-blue); margin: 0 0 5px;
}
.pln-teil p { font-size: 16px; line-height: 1.62; color: rgba(0,32,96,0.82); margin: 0; }
.pln-teil.gewinn p { color: var(--nm-blue); font-weight: 500; }



.dunkel .pln-teil:first-child::before { background: #fff; }
.dunkel .pln-marke { color: #fff; }
.dunkel .pln-teil p { color: rgba(255,255,255,0.82); }
.dunkel .pln-teil.gewinn p { color: #fff; font-weight: 500; }

@media (max-width: 767px) {
  .pln { gap: 15px; }
  .pln-teil p { font-size: 15.5px; }
}






.js .leistung-bild.auf,
.js .reihe-bild.auf {
  opacity: 0;
  transform: translateX(-46px) scale(0.97);
  transition: opacity .8s cubic-bezier(.22,.61,.36,1),
              transform .8s cubic-bezier(.22,.61,.36,1);
}
.js .leistung-innen.gedreht .leistung-bild.auf,
.js .reihe.gedreht .reihe-bild.auf { transform: translateX(46px) scale(0.97); }
.js .leistung-bild.auf.da,
.js .reihe-bild.auf.da { opacity: 1; transform: none; }


.js .leistung-text.auf,
.js .reihe-text.auf {
  opacity: 0; transform: translateY(34px);
  transition: opacity .72s cubic-bezier(.22,.61,.36,1) .12s,
              transform .72s cubic-bezier(.22,.61,.36,1) .12s;
}
.js .leistung-text.auf.da,
.js .reihe-text.auf.da { opacity: 1; transform: none; }


.js .pln-teil {
  opacity: 0; transform: translateY(14px);
  transition: opacity .55s ease, transform .55s ease;
}
.js .leistung-text.da .pln-teil { opacity: 1; transform: none; }
.js .leistung-text.da .pln-teil:nth-child(1) { transition-delay: .30s; }
.js .leistung-text.da .pln-teil:nth-child(2) { transition-delay: .44s; }
.js .leistung-text.da .pln-teil:nth-child(3) { transition-delay: .58s; }


.js .leistung-text .punkte,
.js .leistung-text > .btn {
  opacity: 0; transform: translateY(12px);
  transition: opacity .5s ease .72s, transform .5s ease .72s;
}
.js .leistung-text.da .punkte,
.js .leistung-text.da > .btn { opacity: 1; transform: none; }


.js .leistung-bild .bild { will-change: transform; }


.js .zahl b { display: block; }
.js .zahl.da b { animation: zahlRein .6s cubic-bezier(.22,.61,.36,1) both; }
@keyframes zahlRein {
  from { opacity: 0; transform: translateY(16px) scale(0.94); }
  to   { opacity: 1; transform: none; }
}


.js .aussage > p.auf { transform: translateY(26px); }

@media (prefers-reduced-motion: reduce) {
  .js .leistung-bild.auf, .js .reihe-bild.auf,
  .js .leistung-text.auf, .js .reihe-text.auf,
  .js .pln-teil, .js .leistung-text .punkte, .js .leistung-text > .btn {
    opacity: 1 !important; transform: none !important; transition: none !important;
  }
  .js .zahl.da b { animation: none !important; }
  .js .leistung-bild .bild { transform: none !important; }
}


.buehne-fakten {
  display: grid; grid-template-columns: repeat(4, 1fr);
  margin-top: 58px; padding-top: 30px;
  border-top: 1px solid rgba(255,255,255,0.18);
}
.buehne-fakten .fakt { padding: 0 26px; border-left: 1px solid rgba(255,255,255,0.14); }
.buehne-fakten .fakt:first-child { padding-left: 0; border-left: none; }
.buehne-fakten .fakt b {
  display: block; font-size: 19px; font-weight: 600; letter-spacing: -0.3px;
  line-height: 1.25; color: #fff; margin-bottom: 7px;
}
.buehne-fakten .fakt span {
  font-size: 14.5px; line-height: 1.55; color: rgba(255,255,255,0.78);
  display: block;
}

.buehne-fakten.drei { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 899px) {
  .buehne-fakten.drei { grid-template-columns: 1fr; gap: 24px 0; }
  .buehne-fakten.drei .fakt { padding-left: 0; border-left: none; }
}
@media (max-width: 899px) {
  .buehne-fakten { grid-template-columns: repeat(2, 1fr); gap: 22px 0; margin-top: 40px; }
  .buehne-fakten .fakt { padding: 0 18px; }
  .buehne-fakten .fakt:nth-child(odd) { padding-left: 0; border-left: none; }
  .buehne-fakten .fakt b { font-size: 23px; }
}


.js .fakt b { display: block; }
.js .fakt.da b { animation: zahlRein .6s cubic-bezier(.22,.61,.36,1) both; }
@media (prefers-reduced-motion: reduce) { .js .fakt.da b { animation: none !important; } }


.bild-video { position: relative; }
.bild-video:hover::after {
  content: ''; position: absolute; left: 50%; top: 50%;
  width: 64px; height: 64px; margin: -32px 0 0 -32px;
  border-radius: 50%; background: rgba(0,32,96,0.72);
  box-shadow: 0 6px 20px rgba(0,0,0,0.3);
  pointer-events: none; z-index: 4;
  transition: opacity .3s;
}
.bild-video:hover::before {
  content: ''; position: absolute; left: 50%; top: 50%; z-index: 5;
  margin: -11px 0 0 -6px;
  border-left: 19px solid #fff;
  border-top: 11px solid transparent; border-bottom: 11px solid transparent;
  pointer-events: none;
}
.bild-video:hover::after { background: rgba(150,0,0,0.8); }

.bild-video.laeuft:hover::after,
.bild-video.laeuft:hover::before { content: none; }




.js .leistung-bild.auf,
.js .reihe-bild.auf {
  opacity: 0;
  transform: translateX(-72px) scale(0.94);
  transition: opacity .55s cubic-bezier(.22,.61,.36,1),
              transform .95s cubic-bezier(.16,.84,.34,1);
}

.js .leistung-bild.auf .bild,
.js .reihe-bild.auf .bild {
  clip-path: inset(0 0 100% 0);
  transition: clip-path .95s cubic-bezier(.16,.84,.34,1);
}
.js .leistung-bild.auf.da .bild,
.js .reihe-bild.auf.da .bild { clip-path: inset(0 0 0 0); }
.js .leistung-innen.gedreht .leistung-bild.auf,
.js .reihe.gedreht .reihe-bild.auf { transform: translateX(72px) scale(0.94); }
.js .leistung-bild.auf.da,
.js .reihe-bild.auf.da { opacity: 1; transform: none; }


.js .leistung-text.auf {
  opacity: 0; transform: translateY(46px);
  transition: opacity .7s cubic-bezier(.22,.61,.36,1) .1s,
              transform .8s cubic-bezier(.16,.84,.34,1) .1s;
}
.js .leistung-text.auf.da { opacity: 1; transform: none; }

.js .leistung-text .leistung-nummer,
.js .leistung-text h2,
.js .leistung-text .kurz {
  opacity: 0; transform: translateY(20px);
  transition: opacity .5s ease, transform .55s cubic-bezier(.16,.84,.34,1);
}
.js .leistung-text.da .leistung-nummer { opacity: 1; transform: none; transition-delay: .18s; }
.js .leistung-text.da h2 { opacity: 1; transform: none; transition-delay: .28s; }
.js .leistung-text.da .kurz          { opacity: 1; transform: none; transition-delay: .38s; }


.js .pln-teil { transform: translateY(22px); transition: opacity .5s ease, transform .55s cubic-bezier(.16,.84,.34,1); }
.js .leistung-text.da .pln-teil:nth-child(1) { transition-delay: .50s; }
.js .leistung-text.da .pln-teil:nth-child(2) { transition-delay: .64s; }
.js .leistung-text.da .pln-teil:nth-child(3) { transition-delay: .78s; }

.js .leistung-text .punkte,
.js .leistung-text > .btn {
  transition: opacity .5s ease .94s, transform .5s cubic-bezier(.16,.84,.34,1) .94s;
}


.js .pln-teil::before { transform: scaleY(0); transform-origin: top; transition: transform .55s cubic-bezier(.16,.84,.34,1); }
.js .leistung-text.da .pln-teil:nth-child(1)::before { transform: scaleY(1); transition-delay: .58s; }
.js .leistung-text.da .pln-teil:nth-child(2)::before { transform: scaleY(1); transition-delay: .72s; }
.js .leistung-text.da .pln-teil:nth-child(3)::before { transform: scaleY(1); transition-delay: .86s; }


.js .aussage > p.auf { transform: translateY(40px) scale(0.985); }
.js .aussage > p.auf.da { transform: none; }
.js .aussage > * { transition-duration: .85s; }


.leistung { position: relative; }
.js .leistung { border-top-color: transparent; }   
.js .leistung::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px;
  background: var(--card-border); transform: scaleX(0); transform-origin: left;
  transition: transform 1.1s cubic-bezier(.16,.84,.34,1);
}
.js .leistung:has(.leistung-text.da)::before { transform: scaleX(1); }
.leistung.dunkel::before, .leistung:first-of-type::before { display: none; }

@media (prefers-reduced-motion: reduce) {
  .js .leistung-bild.auf, .js .reihe-bild.auf,
  .js .leistung-text.auf, .js .leistung-text .leistung-nummer,
  .js .leistung-text h2, .js .leistung-kopf .leistung-text h1, .js .leistung-text .kurz,
  .js .pln-teil, .js .aussage > p.auf {
    opacity: 1 !important; transform: none !important;
    clip-path: none !important; transition: none !important;
  }
  .js .pln-teil::before, .js .leistung::before { transform: none !important; transition: none !important; }
}


.leistung-kopf { border-top: none; }

.leistung-kopf .kopf-zurueck { max-width: 1600px; margin: 0 auto; padding: 40px 40px 0; }
.leistung-kopf .zurueck { margin-bottom: 0; }
.leistung-kopf .leistung-innen { padding-top: 26px; }
@media (max-width: 900px) {
  .leistung-kopf .kopf-zurueck { padding: 26px 20px 0; }
  .leistung-kopf .leistung-innen { padding-top: 18px; }
}


.js .leistung-innen.gedreht .leistung-bild.auf.da,
.js .reihe.gedreht .reihe-bild.auf.da { transform: none; }


.buehne-bild .bild-leer-text { display: none; }
.buehne-bild .bild-leer { border-color: transparent; }




.umfang-band {
  max-width: 1600px; margin: 0 auto; padding: 0 40px;
  display: grid; grid-template-columns: repeat(7, 1fr); gap: 18px;
}
.umfang-band .fakt {
  text-align: center; padding: 22px 10px;
  border-radius: 14px; background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.16);
}
.umfang-band .fakt b {
  display: block; font-size: 40px; font-weight: 600; letter-spacing: -1px;
  color: #fff; line-height: 1.05; font-variant-numeric: tabular-nums;
}
.umfang-band .fakt span {
  display: block; margin-top: 7px; font-size: 13px; line-height: 1.4;
  color: rgba(255,255,255,0.8);
}

.umfang-band .fakt.schnitt b::before {
  content: "\00D8"; content: "\00D8" / "durchschnittlich";
  font-size: 0.45em; font-weight: 500; letter-spacing: 0;
  margin-right: 0.18em; vertical-align: 0.55em; opacity: 0.75;
}
.umfang-fuss {
  max-width: 1600px; margin: 26px auto 0; padding: 0 40px;
  font-size: 17px; color: rgba(255,255,255,0.82);
}
@media (max-width: 1200px) { .umfang-band { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 760px)  {
  .umfang-band { grid-template-columns: repeat(2, 1fr); gap: 12px; padding: 0 20px; }
  .umfang-band .fakt b { font-size: 32px; }
  .umfang-fuss { padding: 0 20px; font-size: 15.5px; }
}


.kar { max-width: 1600px; margin: 0 auto; padding: 0 40px; }

.kar-reiter {
  display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 22px;
}
.kar-tab {
  display: inline-flex; align-items: center; gap: 9px;
  padding: 11px 17px; border-radius: 999px; cursor: pointer;
  font: inherit; font-size: 14.5px; font-weight: 500;
  color: var(--nm-blue); background: var(--card-bg);
  border: 1px solid var(--card-border);
  transition: background .25s, color .25s, border-color .25s, transform .25s;
}
.kar-tab:hover { background: var(--card-hover); transform: translateY(-1px); }
.kar-tab .kar-nr {
  font-size: 11px; font-weight: 700; letter-spacing: 1px;
  color: rgba(0,32,96,0.72);   
  transition: color .25s;
}
.kar-tab.aktiv {
  background: var(--nm-blue); color: #fff; border-color: var(--nm-blue);
}
.kar-tab.aktiv .kar-nr { color: rgba(255,255,255,0.65); }
.kar-tab:focus-visible { outline: 2px solid var(--nm-blue); outline-offset: 3px; }

.kar-buehne {
  background: var(--card-bg); border: 1px solid var(--card-border);
  border-radius: 18px; padding: 26px;
}
.kar-blatt {
  display: grid; grid-template-columns: 1.08fr 1fr; gap: 34px; align-items: start;
}
.kar-medium .bild { border-radius: 12px; overflow: hidden; }
.kar-mass {
  font-size: 13.5px; font-weight: 700; letter-spacing: 0.2px;
  color: rgba(0,32,96,0.66); margin: 0 0 10px;
}
.kar-mass b {
  font-size: 30px; font-weight: 600; letter-spacing: -0.6px; color: var(--nm-red);
  margin-right: 7px; font-variant-numeric: tabular-nums;
  text-transform: none; vertical-align: -2px;
}
.kar-text h3 {
  font-size: 27px; font-weight: 600; letter-spacing: -0.5px; margin: 0 0 12px;
  color: var(--nm-blue);
}
.kar-text > p { font-size: 16.5px; line-height: 1.62; color: rgba(0,32,96,0.82); margin: 0 0 16px; }


.kar-fuss { display: flex; align-items: center; gap: 16px; margin-top: 18px; }
.kar-pfeil {
  width: 40px; height: 40px; border-radius: 50%; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--card-bg); border: 1px solid var(--card-border); color: var(--nm-blue);
  transition: background .25s, transform .25s;
}
.kar-pfeil:hover { background: var(--card-hover); transform: scale(1.06); }
.kar-pfeil:focus-visible { outline: 2px solid var(--nm-blue); outline-offset: 3px; }
.kar-pfeil svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.kar-punkte { display: flex; gap: 8px; }
.kar-punkt {
  width: 8px; height: 8px; border-radius: 50%; cursor: pointer; padding: 0;
  border: none; background: rgba(0,32,96,0.22);
  transition: background .25s, transform .25s;
}
.kar-punkt.aktiv { background: var(--nm-red); transform: scale(1.35); }

@media (max-width: 900px) {
  .kar { padding: 0 20px; }
  .kar-blatt { grid-template-columns: 1fr; gap: 22px; }
  .kar-buehne { padding: 18px; }
  .kar-text h3 { font-size: 23px; }
  .kar-tab { font-size: 13.5px; padding: 9px 13px; }
}



.hoerprobe {
  margin: 0; padding: 30px 32px; border-radius: 12px;
  background: linear-gradient(150deg, #002060 0%, #143a7d 55%, #1b4794 100%);
  border: 1px solid rgba(255,255,255,0.14);
  display: flex; flex-direction: column; gap: 20px; justify-content: center;
}

.hoerprobe audio { width: 100%; }
.hoerprobe .hp-leiste { display: none; }
.hoerprobe.js-hp audio { display: none; }
.hoerprobe.js-hp .hp-leiste { display: flex; }
.hoerprobe figcaption { font-size: 14px; color: rgba(255,255,255,0.78); }

.hp-leiste { align-items: center; gap: 20px; }

.hp-knopf {
  flex: 0 0 auto; width: 54px; height: 54px; border-radius: 50%; cursor: pointer;
  border: none; padding: 0; background: var(--nm-red); color: #fff;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 16px rgba(150,0,0,0.35);
  transition: transform .25s, background .25s;
}
.hp-knopf:hover { transform: scale(1.07); background: #b40000; }
.hp-knopf:focus-visible { outline: 3px solid #9FBAE3; outline-offset: 3px; }
.hp-knopf svg { width: 20px; height: 20px; fill: currentColor; }
.hp-knopf .hp-pause { display: none; }
.hoerprobe.laeuft .hp-knopf .hp-play  { display: none; }
.hoerprobe.laeuft .hp-knopf .hp-pause { display: block; }


.hp-welle {
  position: relative; flex: 1 1 auto; height: 46px; cursor: pointer;
  display: flex; align-items: center; gap: 2px; overflow: hidden;
}
.hp-welle i {
  flex: 1 1 auto; min-width: 2px; border-radius: 2px;
  background: rgba(255,255,255,0.26); transition: background .2s;
}

.hp-fortschritt {
  position: absolute; inset: 0 100% 0 0; pointer-events: none;
  background: linear-gradient(90deg, #9FBAE3, #cfe0f7);
  mix-blend-mode: overlay; transition: right .12s linear;
}
.hp-welle:hover i { background: rgba(255,255,255,0.36); }

.hp-zeit {
  flex: 0 0 auto; min-width: 46px; text-align: right;
  font-size: 14px; font-variant-numeric: tabular-nums; color: rgba(255,255,255,0.9);
}

@media (max-width: 620px) {
  .hoerprobe { padding: 22px 20px; }
  .hp-knopf { width: 46px; height: 46px; }
  .hp-welle { height: 38px; }

  
  
  
  .hoerprobe { max-width: 100%; min-width: 0; }
  .hp-leiste { gap: 12px; min-width: 0; }
  .hp-welle { gap: 1px; min-width: 0; }
  
  .hp-welle i:not(:nth-child(4n+1)) { display: none; }
  .hp-zeit { min-width: 38px; font-size: 13px; }
  .hoerprobe figcaption { font-size: 13px; }
}
.hoerprobe-leer {
  background: repeating-linear-gradient(135deg, rgba(0,32,96,0.035) 0 14px, rgba(0,32,96,0.07) 14px 28px);
  border: 2px dashed rgba(0,32,96,0.22);
  align-items: center; text-align: center; min-height: 190px;
}


.kat-raster {
  max-width: 1600px; margin: 0 auto; padding: 0 40px;
  display: flex; flex-wrap: wrap; gap: 10px;
}
.kat {
  padding: 11px 18px; border-radius: 999px; font-size: 15px; font-weight: 500;
  color: rgba(255,255,255,0.92); background: rgba(255,255,255,0.09);
  border: 1px solid rgba(255,255,255,0.2);
  transition: background .3s, transform .3s, border-color .3s;
}
.kat:hover { background: rgba(255,255,255,0.17); border-color: rgba(255,255,255,0.4); transform: translateY(-2px); }
@media (max-width: 760px) { .kat-raster { padding: 0 20px; } .kat { font-size: 14px; padding: 9px 14px; } }


.ablauf-raster {
  max-width: 1600px; margin: 0 auto; padding: 0 40px;
  display: grid; grid-template-columns: 1fr 1.05fr; gap: 56px; align-items: start;
}
@media (max-width: 900px) {
  .ablauf-raster { grid-template-columns: 1fr; gap: 30px; padding: 0 20px; }
}


.kar-reiter, .kar-fuss { display: none; }
.kar.js-kar .kar-reiter { display: flex; }
.kar.js-kar .kar-fuss   { display: flex; }
.kar-blatt + .kar-blatt { margin-top: 34px; padding-top: 34px; border-top: 1px solid var(--card-border); }
.kar.js-kar .kar-blatt       { display: none; }
.kar.js-kar .kar-blatt.aktiv { display: grid; margin-top: 0; padding-top: 0; border-top: none; }


@keyframes kar-auf {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: none; }
}
.kar.js-kar .kar-blatt.aktiv { animation: kar-auf .38s cubic-bezier(.22,.61,.36,1); }
.kar.js-kar .kar-blatt.aktiv .kar-medium { animation: kar-auf .5s cubic-bezier(.16,.84,.34,1) .06s backwards; }
.kar.js-kar .kar-blatt.aktiv .kar-text   { animation: kar-auf .5s cubic-bezier(.16,.84,.34,1) .12s backwards; }

@media (prefers-reduced-motion: reduce) {
  .kar.js-kar .kar-blatt.aktiv,
  .kar.js-kar .kar-blatt.aktiv .kar-medium,
  .kar.js-kar .kar-blatt.aktiv .kar-text { animation: none !important; }
  .kar-tab, .kar-pfeil, .kat { transition: none !important; }
}


.js .kat { opacity: 0; transform: translateY(10px) scale(0.86);
           transition: opacity .3s ease, transform .42s cubic-bezier(.34,1.56,.64,1); }
.js .kat-raster.da .kat { opacity: 1; transform: none; }
.js .kat-raster.da .kat:nth-child(1) { transition-delay: 0.06s; }
.js .kat-raster.da .kat:nth-child(2) { transition-delay: 0.17s; }
.js .kat-raster.da .kat:nth-child(3) { transition-delay: 0.28s; }
.js .kat-raster.da .kat:nth-child(4) { transition-delay: 0.39s; }
.js .kat-raster.da .kat:nth-child(5) { transition-delay: 0.50s; }
.js .kat-raster.da .kat:nth-child(6) { transition-delay: 0.61s; }
.js .kat-raster.da .kat:nth-child(7) { transition-delay: 0.72s; }
.js .kat-raster.da .kat:nth-child(8) { transition-delay: 0.83s; }
.js .kat-raster.da .kat:nth-child(9) { transition-delay: 0.94s; }
.js .kat-raster.da .kat:nth-child(10) { transition-delay: 1.05s; }
.js .kat-raster.da .kat:nth-child(11) { transition-delay: 1.16s; }
.js .kat-raster.da .kat:nth-child(12) { transition-delay: 1.27s; }
.js .kat-raster.da .kat:nth-child(13) { transition-delay: 1.38s; }
.js .kat-raster.da .kat:nth-child(14) { transition-delay: 1.49s; }
.js .kat-raster.da .kat:nth-child(15) { transition-delay: 1.60s; }
.js .kat-raster.da .kat:nth-child(16) { transition-delay: 1.71s; }
.js .kat-raster.da .kat:nth-child(17) { transition-delay: 1.82s; }
.js .kat-raster.da .kat:nth-child(18) { transition-delay: 1.93s; }
.js .kat-raster.da .kat:nth-child(19) { transition-delay: 2.04s; }
.js .kat-raster.da .kat:nth-child(20) { transition-delay: 2.15s; }
@media (prefers-reduced-motion: reduce) {
  .js .kat { opacity: 1 !important; transform: none !important; }
}


.umfang-fuss { margin-top: 30px; }

.kar-text .haken { grid-template-columns: 1fr; gap: 9px; }
.kar-text .haken li { font-size: 15.5px; }


.kar-medium .bild,
.kar-medium .hoerprobe {
  aspect-ratio: 16 / 9 !important;
  min-height: 0;
  height: auto;
}
.kar-medium .bild img:not(.ki-kennung),
.kar-medium .bild video { width: 100%; height: 100%; object-fit: cover; }

.kar-medium .hoerprobe { align-items: center; justify-content: center; padding: 30px; }

.kar-medium { min-width: 0; }
.hp-welle { min-width: 0; }

.kar-medium .hoerprobe .hp-leiste { align-self: stretch; }


.hoerprobe { position: relative; }
.hoerprobe img.ki-kennung {
  position: absolute; bottom: 10px; right: 10px;
  width: 24px; height: 24px; min-width: 24px; max-width: 24px;
  object-fit: contain; opacity: 0.9; pointer-events: none;
}


.section.dunkel {
  border-image: conic-gradient(var(--nm-blue) 0 0) fill 0 // 0 100vmax;
}
.kar-medium .hoerprobe audio { max-width: 420px; }


.kar-fuss {
  margin-top: 26px; padding-top: 22px;
  border-top: 1px solid var(--card-border);
  justify-content: center; gap: 22px;
}
.kar-pfeil {
  width: 48px; height: 48px;
  background: var(--nm-blue); border-color: var(--nm-blue); color: #fff;
  box-shadow: 0 2px 10px rgba(0,32,96,0.18);
}
.kar-pfeil:hover { background: #001845; border-color: #001845; transform: scale(1.08); }
.kar-pfeil svg { width: 21px; height: 21px; stroke-width: 2.4; }
.kar-punkte { gap: 11px; align-items: center; }
.kar-punkt { width: 11px; height: 11px; background: rgba(0,32,96,0.28); }
.kar-punkt:hover { background: rgba(0,32,96,0.5); }
.kar-punkt.aktiv { background: var(--nm-red); transform: scale(1.45); }

.kar-pfeil:focus-visible { outline: 3px solid var(--nm-red); outline-offset: 3px; }
.kar-punkt:focus-visible { outline: 2px solid var(--nm-blue); outline-offset: 3px; }

@media (max-width: 900px) {
  .kar-pfeil { width: 42px; height: 42px; }
}


.kat-raster {
  display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px;
}
.kat {
  display: flex; flex-direction: column; align-items: flex-start; justify-content: center;
  gap: 6px; min-height: 82px; padding: 16px 18px;
  border-radius: 12px; font-size: 15px; font-weight: 500; line-height: 1.3;
  color: rgba(255,255,255,0.94); background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.18);
  transition: background .3s, transform .3s, border-color .3s;
}
.kat i {
  font-style: normal; font-size: 11px; font-weight: 700; letter-spacing: 1.2px;
  color: rgba(255,255,255,0.55);
}
.kat:hover {
  background: rgba(255,255,255,0.16); border-color: rgba(255,255,255,0.4);
  transform: translateY(-3px);
}
@media (max-width: 1200px) { .kat-raster { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 900px)  { .kat-raster { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 620px)  {
  
  .kat-raster { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .kat { overflow-wrap: anywhere; hyphens: auto; }
  .kat { min-height: 72px; padding: 13px 14px; font-size: 14px; }
}


.kopf-titel {
  max-width: 1600px; margin: 0 auto; padding: 26px 40px 0;
}
.kopf-titel h1 {
  font-size: 46px !important; font-weight: 600; line-height: 1.12;
  letter-spacing: -1.2px; color: var(--nm-blue); margin: 6px 0 0;
}
.kopf-titel .hook {
  color: rgba(0,32,96,0.6); font-weight: 500;
}
.leistung-kopf.dunkel .kopf-titel h1 { color: #fff; }
.leistung-kopf.dunkel .kopf-titel .hook { color: rgba(255,255,255,0.66); }
.leistung-kopf .leistung-innen { padding-top: 30px; }

@media (max-width: 900px) {
  .kopf-titel { padding: 18px 20px 0; }
  .kopf-titel h1 { font-size: 30px !important; letter-spacing: -0.7px; }
}


.hook-punkte {
  list-style: none; margin: 24px 0 0; padding: 0;
  display: flex; flex-wrap: wrap; gap: 12px;
}
.hook-punkte li {
  padding: 12px 18px; border-radius: 11px;
  background: var(--card-bg); border: 1px solid var(--card-border);
  font-size: 14.5px; color: rgba(0,32,96,0.82);
  display: flex; align-items: baseline; gap: 8px;
}
.hook-punkte b {
  font-size: 22px; font-weight: 600; letter-spacing: -0.4px; color: var(--nm-red);
  font-variant-numeric: tabular-nums;
}
.leistung-kopf.dunkel .hook-punkte li {
  background: rgba(255,255,255,0.08); border-color: rgba(255,255,255,0.2);
  color: rgba(255,255,255,0.88);
}
.leistung-kopf.dunkel .hook-punkte b { color: #9FBAE3; }

@media (max-width: 900px) {
  .hook-punkte li { padding: 10px 14px; font-size: 13.5px; }
  .hook-punkte b { font-size: 19px; }
}


.mx-huelle { max-width: none; margin: 0; padding: 0; }
.mx-scroll { overflow-x: auto; padding-bottom: 6px; }


.mx-lang { display: inline; }
.mx-kurz { display: none; }
.mx {
  display: grid;
  grid-template-columns: minmax(170px, 1.15fr) repeat(6, minmax(112px, 1fr));
  gap: 7px; min-width: 900px;
}
.mx-ecke, .mx-kopf {
  font-size: 12.5px; font-weight: 700; letter-spacing: 0.2px;
  color: rgba(255,255,255,0.62); line-height: 1.35;
  padding: 0 4px 10px; display: flex; align-items: flex-end;
}
.mx-kopf { justify-content: center; text-align: center; }
.mx-thema {
  display: flex; align-items: center; padding: 0 14px 0 0;
  font-size: 15.5px; font-weight: 500; color: rgba(255,255,255,0.92);
}
.mx-zelle {
  height: 52px; border-radius: 9px;
  background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.14);
  display: flex; align-items: center; justify-content: center;
  transition: background .3s, border-color .3s, transform .3s;
}
.mx-zelle:hover { background: rgba(255,255,255,0.13); }

.mx-gewaehlt {
  background: #9FBAE3; border-color: #fff;
  box-shadow: 0 0 0 3px rgba(159,186,227,0.28);
}
.mx-gewaehlt span {
  font-size: 15px; font-weight: 700; color: #002060;
}


.mx-ernte { display: flex; flex-direction: column; align-items: stretch; margin-top: 8px; }
.mx-pfeil { align-self: center; }
.mx-pfeil { padding: 18px 0 14px; }
.mx-pfeil svg {
  width: 30px; height: 30px; fill: none; stroke: #9FBAE3;
  stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;
}

.mx-ergebnis {
  width: 100%; padding: 26px 28px; border-radius: 14px;
  background: rgba(159,186,227,0.16); border: 1px solid #9FBAE3;
}
.mx-ergebnis-kopf { margin: 0 0 16px; font-size: 14px; color: rgba(255,255,255,0.72); line-height: 1.5; }
.mx-ergebnis-kopf b { display: block; font-size: 23px; font-weight: 600; color: #fff; margin-top: 3px; }
.mx-liste {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(215px, 1fr)); gap: 13px;
}
.mx-liste li {
  display: flex; flex-direction: column; gap: 5px;
  padding: 16px 18px; border-radius: 11px;
  background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.2);
}
.mx-liste i {
  width: 26px; height: 26px; border-radius: 8px; margin-bottom: 3px;
  background: #9FBAE3; color: #002060;
  font-style: normal; font-size: 13.5px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}
.mx-liste b { font-size: 16px; font-weight: 600; color: #fff; line-height: 1.25; }
.mx-liste em { font-style: normal; font-size: 13px; color: #B6CAE8; }   
.mx-liste span { font-size: 14px; line-height: 1.5; color: rgba(255,255,255,0.78); }

.mx-fuss { margin: 18px 0 0; font-size: 13.5px; line-height: 1.55; color: rgba(255,255,255,0.7); }

@media (max-width: 760px) {
  .mx-huelle { padding: 0; }
  .mx-ergebnis { padding: 18px; }
  .mx-ergebnis-kopf b { font-size: 20px; }
}


.js .mx-gewaehlt {
  opacity: 0; transform: scale(0.55);
  transition: opacity .3s ease, transform .5s cubic-bezier(.34,1.56,.5,1);
}
.js .mx-liste li {
  opacity: 0; transform: scale(0.9) translateY(10px);
  transition: opacity .3s ease, transform .5s cubic-bezier(.34,1.56,.5,1);
}
.js .baukasten.da .mx-gewaehlt,
.js .baukasten.da .mx-liste li { opacity: 1; transform: none; }


.js .baukasten.da .mx-gewaehlt[data-nr="1"] { transition-delay: .30s; }
.js .baukasten.da .mx-liste li:nth-child(1)   { transition-delay: .52s; }
.js .baukasten.da .mx-gewaehlt[data-nr="2"] { transition-delay: .85s; }
.js .baukasten.da .mx-liste li:nth-child(2)   { transition-delay: 1.07s; }
.js .baukasten.da .mx-gewaehlt[data-nr="3"] { transition-delay: 1.40s; }
.js .baukasten.da .mx-liste li:nth-child(3)   { transition-delay: 1.62s; }
.js .baukasten.da .mx-gewaehlt[data-nr="4"] { transition-delay: 1.95s; }
.js .baukasten.da .mx-liste li:nth-child(4)   { transition-delay: 2.17s; }
.js .baukasten.da .mx-gewaehlt[data-nr="5"] { transition-delay: 2.50s; }
.js .baukasten.da .mx-liste li:nth-child(5)   { transition-delay: 2.72s; }


.js .mx-ergebnis { opacity: 0; transform: translateY(12px); transition: opacity .5s ease .15s, transform .5s cubic-bezier(.16,.84,.34,1) .15s; }
.js .baukasten.da .mx-ergebnis { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  .js .mx-gewaehlt, .js .mx-ergebnis, .js .mx-liste li {
    opacity: 1 !important; transform: none !important; transition: none !important;
  }
}


.baum { max-width: 1600px; margin: 0 auto; padding: 0 40px; }
.baum-marke {
  font-size: 13px; font-weight: 700; letter-spacing: 0.2px;
  color: rgba(0,32,96,0.66); margin: 0 0 12px;
}
.baum-kasten {
  border: 1px solid var(--card-border); border-radius: 16px;
  padding: 18px; background: var(--card-bg);
  display: flex; flex-direction: column; gap: 9px;
}


.bz {
  display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap;
  padding: 15px 20px; border-radius: 11px;
  background: rgba(255,255,255,0.5); border: 1px solid var(--card-border);
}
.bz-name { font-size: 17px; font-weight: 600; color: var(--nm-blue); }
.bz-was, .bz-ebenso { font-size: 14.5px; color: rgba(0,32,96,0.7); }
.bz-ebenso { font-style: italic; color: rgba(0,32,96,0.72); }   
.bz-ueberblick { background: rgba(255,255,255,0.5); }

.bz-offen { background: #C7D3E5; border-color: rgba(0,32,96,0.28); }


.baum-abschnitte {
  list-style: none; margin: 0 0 4px 34px; padding: 4px 0 4px 26px;
  display: flex; flex-direction: column;
  position: relative;
}

.baum-abschnitte::before {
  content: ''; position: absolute; left: 0; top: -6px; bottom: 22px;
  width: 2px; background: rgba(0,32,96,0.25);
}
.baum-abschnitte li {
  position: relative;
  display: grid; grid-template-columns: 30px 210px 1fr;
  gap: 14px; align-items: baseline;
  padding: 11px 16px; margin-bottom: 7px; border-radius: 9px;
  background: rgba(255,255,255,0.62); border: 1px solid var(--card-border);
}
.baum-abschnitte li:last-child { margin-bottom: 0; }

.baum-abschnitte li::before {
  content: ''; position: absolute; left: -26px; top: 50%;
  width: 26px; height: 2px; background: rgba(0,32,96,0.25);
}
.baum-abschnitte i {
  font-style: normal; width: 26px; height: 26px; border-radius: 7px;
  background: var(--nm-blue); color: #fff;
  font-size: 13px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  align-self: center;
}
.baum-abschnitte b { font-size: 16px; font-weight: 600; color: var(--nm-blue); }
.baum-abschnitte span { font-size: 14.5px; line-height: 1.55; color: rgba(0,32,96,0.75); }


@media (max-width: 820px) {
  .baum { padding: 0 20px; }
  .baum-kasten { padding: 12px; }
  .baum-abschnitte { margin-left: 16px; padding-left: 20px; }
  .baum-abschnitte li::before { left: -20px; width: 20px; }
  .baum-abschnitte li { grid-template-columns: 26px 1fr; gap: 9px; }
  .baum-abschnitte span { grid-column: 2; }
  .bz { padding: 12px 15px; }
}


.js .baum-abschnitte li {
  max-height: 0; opacity: 0; overflow: hidden;
  padding-top: 0; padding-bottom: 0; margin-bottom: 0; border-width: 0;
  transition: max-height .42s cubic-bezier(.22,.61,.36,1),
              padding .42s cubic-bezier(.22,.61,.36,1),
              margin .42s cubic-bezier(.22,.61,.36,1),
              border-width .2s ease,
              opacity .3s ease .08s;
}
.js .baum-abschnitte.da li {
  max-height: 90px; opacity: 1;
  padding-top: 11px; padding-bottom: 11px; margin-bottom: 7px; border-width: 1px;
}
.js .baum-abschnitte.da li:last-child { margin-bottom: 0; }
.js .baum-abschnitte.da li:nth-child(1) { transition-delay: .05s, .05s, .05s, .05s, .13s; }
.js .baum-abschnitte.da li:nth-child(2) { transition-delay: .19s, .19s, .19s, .19s, .27s; }
.js .baum-abschnitte.da li:nth-child(3) { transition-delay: .33s, .33s, .33s, .33s, .41s; }
.js .baum-abschnitte.da li:nth-child(4) { transition-delay: .47s, .47s, .47s, .47s, .55s; }
.js .baum-abschnitte.da li:nth-child(5) { transition-delay: .61s, .61s, .61s, .61s, .69s; }
.js .baum-abschnitte.da li:nth-child(6) { transition-delay: .75s, .75s, .75s, .75s, .83s; }
@media (prefers-reduced-motion: reduce) {
  .js .baum-abschnitte li {
    max-height: none !important; opacity: 1 !important; overflow: visible !important;
    padding: 11px 16px !important; margin-bottom: 7px !important;
    border-width: 1px !important; transition: none !important;
  }
}


.kopf-buehne {
  max-width: 1600px; margin: 0 auto; padding: 34px 40px 76px;   
  display: grid; grid-template-columns: 1.62fr 1fr; gap: 54px; align-items: start;
}

.kopf-video .bild {
  border-radius: 16px; overflow: hidden;
  box-shadow: 0 18px 50px rgba(0,32,96,0.18), 0 2px 8px rgba(0,32,96,0.08);
}

.kopf-video .bild img:not(.ki-kennung),
.kopf-video .bild video { width: 100%; height: 100%; object-fit: cover; }

.kopf-text .kurz { font-size: 18.5px; line-height: 1.6; margin: 0 0 30px; }


.nav-klapp a.hier,
.nav-spalten-lade a.hier { color: var(--nm-red); font-weight: 600; }
.nav-klapp a.hier { position: relative; }
.nav-klapp a.hier::before {
  content: ""; position: absolute; left: -13px; top: 3px; bottom: 3px;
  width: 3px; border-radius: 2px; background: var(--nm-red);
}
.nav-klapp a.hier em, .nav-spalten-lade a.hier em { color: rgba(150,0,0,0.72); }


.kopf-bausteine {
  margin: 0; padding: 0; list-style: none;
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px 26px;
}

.kopf-bausteine li {
  position: relative; padding-left: 17px;
  font-size: 15.5px; line-height: 1.45; color: rgba(0,32,96,0.84);
  font-weight: 600;
}
.kopf-bausteine li::before {
  content: ""; position: absolute; left: 0; top: 0.52em;
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--nm-red);
}

.kopf-bausteine.untereinander { grid-template-columns: 1fr; gap: 9px; }
.leistung-kopf.dunkel .kopf-bausteine li { color: rgba(255,255,255,0.88); }

.leistung-kopf.dunkel .kopf-bausteine li::before { background: var(--nm-red); }
@media (max-width: 560px) {
  .kopf-bausteine { grid-template-columns: 1fr; gap: 8px; }
}

.js .kopf-bausteine.auf:not(.da) li { opacity: 0; }
.js .kopf-bausteine.da li {
  animation: feld-auf .46s cubic-bezier(.34,.9,.4,1) both;
  animation-delay: calc(var(--i, 0) * 65ms);
}
@media (prefers-reduced-motion: reduce) {
  .kopf-bausteine li { animation: none !important; opacity: 1 !important; }
}


.kopf-zahlen { margin: 0 0 30px; padding: 0; display: flex; flex-direction: column; }
.kopf-zahlen > div {
  display: flex; align-items: baseline; gap: 18px;
  padding: 16px 0; border-top: 1px solid var(--card-border);
}
.kopf-zahlen > div:last-child { border-bottom: 1px solid var(--card-border); }
.kopf-zahlen dt {
  flex: 0 0 auto; min-width: 78px;
  font-size: 42px; font-weight: 600; letter-spacing: -1.4px; line-height: 1;
  color: var(--nm-red); font-variant-numeric: tabular-nums;
}
.kopf-zahlen dd {
  margin: 0; font-size: 15.5px; line-height: 1.5; color: rgba(0,32,96,0.8);
}
.leistung-kopf.dunkel .kopf-zahlen > div { border-color: rgba(255,255,255,0.2); }
.leistung-kopf.dunkel .kopf-zahlen dt { color: #9FBAE3; }
.leistung-kopf.dunkel .kopf-zahlen dd { color: rgba(255,255,255,0.86); }
.leistung-kopf.dunkel .kopf-text .kurz { color: rgba(255,255,255,0.9); }

@media (max-width: 1000px) {
  .kopf-buehne { grid-template-columns: 1fr; gap: 28px; padding: 22px 20px 56px; }
  .kopf-zahlen dt { font-size: 34px; min-width: 64px; }
}


.js .kopf-video { opacity: 0; transform: translateY(22px) scale(0.98); transition: opacity .7s ease .1s, transform .8s cubic-bezier(.16,.84,.34,1) .1s; }
.js .kopf-video.da { opacity: 1; transform: none; }
.js .kopf-text { opacity: 0; transform: translateY(22px); transition: opacity .7s ease .24s, transform .8s cubic-bezier(.16,.84,.34,1) .24s; }
.js .kopf-text.da { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .js .kopf-video, .js .kopf-text { opacity: 1 !important; transform: none !important; }
}


.section.umfang .section-head { max-width: none; }


.aufbau-zwei {
  display: grid; grid-template-columns: 1fr 2fr; gap: 48px; align-items: start;
}
.aufbau-zwei .baum { max-width: none; margin: 0; padding: 0; }
.aufbau-text p {
  font-size: 16.5px; line-height: 1.65; color: rgba(0,32,96,0.78); margin: 0;
}

.aufbau-text p + p { margin-top: 15px; }
@media (max-width: 1000px) {
  .aufbau-zwei { grid-template-columns: 1fr; gap: 26px; }
}



.bk-zwei > * { min-width: 0; }
.bk-zwei {
  display: grid; grid-template-columns: 2fr 1fr; gap: 44px; align-items: start;
}
.bk-text p { font-size: 16px; line-height: 1.65; color: rgba(255,255,255,0.84); margin: 0; }
.bk-text p + p { margin-top: 15px; }


.bk-zwei .mx {
  grid-template-columns: minmax(120px, 0.95fr) repeat(6, minmax(84px, 1fr));
  gap: 6px; min-width: 0;
}

.bk-zwei .mx-ecke, .bk-zwei .mx-kopf { font-size: 11px; letter-spacing: .1px; padding-bottom: 8px; }
.bk-zwei .mx-thema { font-size: 14px; padding-right: 10px; }
.bk-zwei .mx-zelle { height: 46px; }

@media (max-width: 1100px) {
  .bk-zwei { grid-template-columns: 1fr; gap: 26px; }
  .bk-zwei .mx { grid-template-columns: minmax(150px, 1fr) repeat(6, minmax(100px, 1fr)); min-width: 820px; }
}


@media (max-width: 900px) {
  .js .baum-abschnitte li {
    max-height: none; overflow: visible;
    padding: 11px 16px; margin-bottom: 7px; border-width: 1px;
    transform: translateY(8px);
    transition: opacity .4s ease, transform .45s cubic-bezier(.16,.84,.34,1);
  }
  .js .baum-abschnitte.da li { max-height: none; transform: none; }
  .js .baum-abschnitte.da li:nth-child(1) { transition-delay: .05s; }
  .js .baum-abschnitte.da li:nth-child(2) { transition-delay: .13s; }
  .js .baum-abschnitte.da li:nth-child(3) { transition-delay: .21s; }
  .js .baum-abschnitte.da li:nth-child(4) { transition-delay: .29s; }
  .js .baum-abschnitte.da li:nth-child(5) { transition-delay: .37s; }
  .js .baum-abschnitte.da li:nth-child(6) { transition-delay: .45s; }
}


.bild-video-lang video { object-fit: contain; background: #001233; }


.kar-medium .hoerprobe { padding: 36px 40px; gap: 26px; }
.kar-medium .hoerprobe .hp-welle { height: 104px; gap: 3px; }
.kar-medium .hoerprobe .hp-welle i { min-width: 3px; border-radius: 3px; }
.kar-medium .hoerprobe .hp-knopf { width: 64px; height: 64px; }
.kar-medium .hoerprobe .hp-knopf svg { width: 24px; height: 24px; }
.kar-medium .hoerprobe .hp-zeit { font-size: 15px; min-width: 52px; }
.kar-medium .hoerprobe figcaption { font-size: 14.5px; text-align: center; }
@media (max-width: 900px) {
  .kar-medium .hoerprobe { padding: 24px; gap: 18px; }
  .kar-medium .hoerprobe .hp-welle { height: 64px; }
  .kar-medium .hoerprobe .hp-knopf { width: 52px; height: 52px; }
}


.bild-video-voll video { object-fit: contain !important; background: #001233; }


.kar-medium.hp-zwei { aspect-ratio: 16 / 9; display: grid; grid-template-rows: 1fr 1fr; gap: 16px; }
.kar-medium.hp-zwei .hoerprobe {
  aspect-ratio: auto !important; height: 100%; min-height: 0; padding: 18px 26px; gap: 16px;
}
.kar-medium.hp-zwei .hp-welle { height: 56px; }
.kar-medium.hp-zwei .hp-knopf { width: 48px; height: 48px; }
.kar-medium.hp-zwei .hp-knopf svg { width: 19px; height: 19px; }
.kar-medium.hp-zwei figcaption { font-size: 13.5px; text-align: center; }
@media (max-width: 900px) {
  .kar-medium.hp-zwei { aspect-ratio: auto; }
  .kar-medium.hp-zwei .hoerprobe { height: auto; padding: 20px; }
}


.bild-lupe { position: relative; cursor: zoom-in; }
.bild-lupe::after {
  content: ''; position: absolute; left: 50%; top: 50%; z-index: 4;
  width: 62px; height: 62px; margin: -31px 0 0 -31px; border-radius: 50%;
  background: rgba(0,32,96,0.72) no-repeat center/26px 26px;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cline x1='15.5' y1='15.5' x2='21' y2='21'/%3E%3Cline x1='10.5' y1='7.6' x2='10.5' y2='13.4'/%3E%3Cline x1='7.6' y1='10.5' x2='13.4' y2='10.5'/%3E%3C/svg%3E");
  box-shadow: 0 6px 20px rgba(0,0,0,0.3);
  opacity: 0; transition: opacity .22s; pointer-events: none;
}
.bild-lupe:hover::after,
.bild-lupe:focus-visible::after { opacity: 1; }
.bild-lupe:focus-visible { outline: 3px solid var(--nm-red); outline-offset: 3px; }


.modal-lupe { background: rgba(0,16,48,0.82); }
.modal-card.modal-bild {
  width: auto; max-width: 96vw; height: auto; max-height: 92vh;
  padding: 16px 16px 14px;
}
.modal-card.modal-bild h2 {
  font-size: 14px; font-weight: 600; letter-spacing: 0.2px;
  color: rgba(0,32,96,0.72); padding-right: 46px;
}
.lupe-flaeche {
  min-height: 0; border-radius: 10px; overflow: hidden; background: var(--body-bg);
  display: flex; align-items: center; justify-content: center;
}

.lupe-flaeche img { display: block; width: auto; height: auto; max-width: 92vw; max-height: 80vh; }
@media (max-width: 620px) {
  .modal-card.modal-bild { padding: 12px 12px 10px; }
  .lupe-flaeche img { max-height: 70vh; }
}
@media (prefers-reduced-motion: reduce) {
  .bild-lupe::after { transition: none !important; }
}


.cta-paar {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px; max-width: 760px; align-items: stretch;
}

.cta-oder { display: none; }
.cta-leise .cta-oder {
  display: block; align-self: center; font-size: 14px; line-height: 1;
  color: rgba(0, 32, 96, 0.55); white-space: nowrap;
}
.dunkel .cta-leise .cta-oder { color: rgba(255, 255, 255, 0.6); }
.cta-paar .btn { width: 100%; justify-content: center; text-align: center; }

@media (max-width: 620px) { .cta-paar .btn { white-space: normal; min-width: 0; } }

@media (max-width: 860px) {
  .cta-paar { grid-template-columns: 1fr; max-width: 420px; }
}



.cta-karten {
  display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 30px; align-items: stretch;
}

.cta-karten .cta-oder {
  display: block; align-self: center; font-size: 14px; line-height: 1;
  color: rgba(0, 32, 96, 0.55); white-space: nowrap;
}
.dunkel .cta-karten .cta-oder { color: rgba(255, 255, 255, 0.6); }
.cta-karte { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.cta-bild {
  position: relative; margin: 0; border-radius: 14px; overflow: hidden;
  aspect-ratio: 16 / 9; background: var(--body-bg);
  box-shadow: 0 8px 26px rgba(0,32,96,0.14);
}
.cta-bild img:not(.ki-kennung) { width: 100%; height: 100%; object-fit: cover; display: block; }
.cta-bild .ki-kennung { position: absolute; right: 8px; bottom: 8px; width: 24px; height: 24px; opacity: 0.9; }
.cta-was {
  font-size: 15px; line-height: 1.58; color: rgba(0,32,96,0.78); margin: 0;
}
.cta-karte .btn { margin-top: auto; width: 100%; justify-content: center; text-align: center; }


.dunkel .cta-was, .leistung.dunkel .cta-was { color: rgba(255,255,255,0.82); }
.dunkel .cta-bild { box-shadow: 0 8px 26px rgba(0,0,0,0.3); }


@media (max-width: 860px) {
  .cta-karten { grid-template-columns: 1fr; max-width: 460px; gap: 30px; margin: 0 auto; }
  .cta-karten .cta-oder { justify-self: center; }
}


.section-head .section-eyebrow { font-size: 12.5px; }
.kar-text .kar-mass { font-size: 13.5px; }


.head-nav { display: flex; align-items: center; }
.nav-punkte { display: flex; align-items: center; gap: 3px; list-style: none; margin: 0; padding: 0; }
.nav-punkt {
  font: inherit; font-size: 15px; font-weight: 500; color: var(--nm-blue);
  background: transparent; border: 0; cursor: pointer;
  padding: 10px 15px; border-radius: 9px;
  display: inline-flex; align-items: center; gap: 7px;
  transition: background .15s, color .15s;
}
.nav-punkt:hover { background: rgba(0,32,96,0.07); }
.nav-punkt.aktiv { color: var(--nm-red); }
.nav-punkt[aria-expanded="true"] { background: #C7D3E5; }

.nav-punkt:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(0,32,96,0.32);
}
.nav-punkt[aria-expanded="true"]:focus-visible { box-shadow: none; }
.nav-punkt svg {
  width: 11px; height: 11px; fill: none; stroke: currentColor; stroke-width: 2.4;
  stroke-linecap: round; stroke-linejoin: round; transition: transform .2s;
}
.nav-punkt[aria-expanded="true"] svg { transform: rotate(180deg); }

.head-rechts { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }


.btn-login {
  background: transparent; color: var(--nm-blue);
  border: 1.5px solid rgba(0,32,96,0.3); box-shadow: none;
}
.btn-login:hover { background: var(--btn-hell); border-color: var(--btn-hell); color: var(--nm-blue); }

.nav-burger {
  display: none; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 10px;
  border: 1.5px solid rgba(0,32,96,0.28); background: transparent;
  cursor: pointer; color: var(--nm-blue); flex: 0 0 auto;
}
.nav-burger svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; }
.nav-burger:hover { background: rgba(0,32,96,0.07); }
.nav-burger:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(0,32,96,0.32); }


.nav-klapp {
  position: absolute; left: 0; right: 0; top: 100%; z-index: 60;
  background: var(--body-bg);
  border-top: 1px solid var(--card-border); border-bottom: 4px solid var(--card-border);
  box-shadow: 0 20px 44px rgba(0,32,96,0.17);
  padding: 30px 40px 28px;
}
.nav-klapp[hidden] { display: none; }

.nav-spalten { max-width: 1600px; margin: 0 auto; display: grid; gap: 30px; grid-template-columns: minmax(0, 512px); }
.nav-klapp-breit .nav-spalten { grid-template-columns: repeat(4, minmax(0, 1fr)); }   

.nav-klapp-breit .nav-spalten-sechs { max-width: none; grid-template-columns: repeat(6, minmax(0, 1fr)); }
@media (max-width: 1280px) { .nav-klapp-breit .nav-spalten-sechs { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.nav-gruppe h3 {
  font-size: 12.5px; font-weight: 700; letter-spacing: 0.2px; color: rgba(0,32,96,0.45);
  margin: 0 0 12px; padding-bottom: 9px; border-bottom: 1px solid var(--card-border);
}
.nav-gruppe ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }

.nav-gruppe a {
  display: flex; flex-direction: column; gap: 2px; text-decoration: none;
  color: var(--nm-blue); font-size: 15px; font-weight: 500;
  padding: 9px 11px; border-radius: 8px; transition: background .13s;
}
.nav-gruppe a:hover { background: var(--card-bg); }


.nav-gruppe.ohne-text a { white-space: nowrap; }
.nav-klapp:not(.nav-klapp-breit):has(.nav-gruppe.ohne-text) .nav-spalten { grid-template-columns: minmax(0, max-content); }
.nav-lade .nav-gruppe.ohne-text a { white-space: normal; }


.nav-klapp:not(.nav-klapp-breit) .nav-spalten { width: max-content; max-width: 100%; }
.nav-gruppe a:focus-visible { outline: none; box-shadow: inset 0 0 0 2px rgba(0,32,96,0.32); }
.nav-gruppe a em { font-style: normal; font-size: 13px; line-height: 1.45; color: rgba(0,32,96,0.6); font-weight: 400; }


.nav-lade {
  position: absolute; left: 0; right: 0; top: 100%; z-index: 60;
  
  background: var(--btn-hell); border-bottom: 4px solid var(--card-border);
  box-shadow: 0 20px 44px rgba(0,32,96,0.17);
  padding: 8px 20px 22px; max-height: calc(100vh - 92px - env(safe-area-inset-top, 0px)); overflow-y: auto;
}
.nav-lade[hidden] { display: none; }

@keyframes nav-lade-auf {
  from { opacity: 0; transform: translateY(-8px); clip-path: inset(0 0 100% 0); }
  to   { opacity: 1; transform: translateY(0);    clip-path: inset(0 0 0 0); }
}

@keyframes nav-lade-zu {
  from { opacity: 1; transform: translateY(0);    clip-path: inset(0 0 0 0); }
  to   { opacity: 0; transform: translateY(-8px); clip-path: inset(0 0 100% 0); }
}
.nav-lade:not([hidden]):not(.zu) { animation: nav-lade-auf .45s cubic-bezier(.22,.61,.36,1); }
.nav-lade.zu { animation: nav-lade-zu .38s cubic-bezier(.4,0,.7,.35); pointer-events: none; }
.nav-lade details { border-bottom: 1px solid var(--card-border); }
.nav-lade summary {
  list-style: none; cursor: pointer; padding: 15px 4px;
  font-weight: 600; font-size: 16px; color: var(--nm-blue);
  display: flex; align-items: center; justify-content: space-between;
}

.nav-lade details.aktiv > summary { color: var(--nm-red); }
.nav-lade-verweis.aktiv { color: var(--nm-red); }
.nav-lade summary::-webkit-details-marker { display: none; }
.nav-lade summary svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; transition: transform .2s; }
.nav-lade details[open] summary svg { transform: rotate(180deg); }
.nav-lade summary:focus-visible { outline: none; box-shadow: inset 0 0 0 2px rgba(0,32,96,0.32); }
.nav-spalten-lade { grid-template-columns: 1fr !important; gap: 14px; padding-bottom: 14px; }
.nav-lade-knopf { margin-top: 14px; width: 100%; justify-content: center; }


.footer-nav {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(168px, 1fr));
  grid-template-rows: auto auto;
  gap: 26px 30px; flex: 1 1 100%;
}

.fuss-gruppe { display: grid; grid-row: span 2; grid-template-rows: subgrid; }

.fuss-gruppe > summary { list-style: none; pointer-events: none; }
.fuss-gruppe > summary::-webkit-details-marker { display: none; }
.fuss-gruppe > summary svg { display: none; }

.fuss-gruppe h4 {
  font-size: 14px; font-weight: 700; letter-spacing: 0.2px;
  color: rgba(0,32,96,0.92); margin: 0 0 10px;
  line-height: 1.45; min-height: 2.9em;
}
.fuss-gruppe ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.fuss-gruppe a { color: rgba(0,32,96,0.78); text-decoration: none; font-size: 13.5px; }
.fuss-gruppe a:hover { color: var(--nm-red); }
.footer-unten {
  max-width: 1600px; margin: 26px auto 0; padding-top: 20px;
  border-top: 1px solid var(--card-border);
  display: flex; flex-direction: column; align-items: center; text-align: center; gap: 14px;
  font-size: 13px; color: rgba(0,32,96,0.7);
}
.footer-unten .footer-links { justify-content: center; }
.footer-copy { flex: 0 0 auto; }

@media (max-width: 1100px) {
  
  .nav-punkte { display: none; }
  .nav-burger { display: inline-flex; }
  .brand-text { display: none; }
  .nav-klapp { padding: 24px 20px 22px; }
  .nav-klapp-breit .nav-spalten { grid-template-columns: 1fr; gap: 22px; }
}
@media (max-width: 767px) {
  .btn-login .btn-lang { display: none; }
  .btn-login { padding: 10px 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .nav-punkt, .nav-punkt svg, .nav-gruppe a, .nav-lade summary svg { transition: none !important; }
  
  .nav-lade:not([hidden]), .nav-lade.zu { animation: none !important; }
}


.nav-schleier {
  position: fixed; inset: 0; z-index: 55;
  background: rgba(0,32,96,0.28);
  opacity: 0; pointer-events: none;
  transition: opacity .22s ease;
}
.nav-schleier.da { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  .nav-schleier { transition: none; }
}


.tile-mitbild { padding-top: 0; padding-left: 0; padding-right: 0; }
.tile-mitbild > *:not(.tile-bild) { padding-left: 28px; padding-right: 28px; }
.tile-bild { margin: 0 0 4px; }
.tile-bild .bild {
  border-radius: 0; overflow: hidden; position: relative;
  border-bottom: 1px solid var(--card-border);
}
.tile-bild .bild img:not(.ki-kennung) { width: 100%; height: 100%; object-fit: cover; display: block; }
.tile-bild .ki-kennung { position: absolute; right: 8px; bottom: 8px; width: 24px; height: 24px; opacity: 0.9; }
@media (max-width: 767px) {
  .tile-mitbild > *:not(.tile-bild) { padding-left: 22px; padding-right: 22px; }
}


.welt-paar { display: grid; }


.welt-paar > .tile-bild {
  grid-area: 1 / 1;
  opacity: 1; visibility: visible;
}
.js .welt-paar > .tile-bild.aus { opacity: 0; visibility: hidden; }


.lamellen {
  grid-area: 1 / 1; z-index: 2;
  align-self: start;
  display: grid; grid-auto-flow: column; grid-auto-columns: 1fr;
  perspective: 1400px;
  pointer-events: none;
  overflow: hidden;
}
.lamellen i {
  display: block; position: relative;
  transform-style: preserve-3d;
  transition: transform .62s cubic-bezier(.4,0,.2,1);
}
.lamellen.gedreht i { transform: rotateY(180deg); }
.lamellen i span {
  position: absolute; inset: 0;
  backface-visibility: hidden; -webkit-backface-visibility: hidden;
  background-repeat: no-repeat;
}
.lamellen i .rueck { transform: rotateY(180deg); }


.lamellen-kennung {
  position: absolute; right: 8px; bottom: 8px; z-index: 3;
  width: 24px; height: 24px; opacity: 0.9; pointer-events: none;
}


.lamellen i:nth-child(1)  { transition-delay: 0s; }
.lamellen i:nth-child(2)  { transition-delay: .055s; }
.lamellen i:nth-child(3)  { transition-delay: .11s; }
.lamellen i:nth-child(4)  { transition-delay: .165s; }
.lamellen i:nth-child(5)  { transition-delay: .22s; }
.lamellen i:nth-child(6)  { transition-delay: .275s; }
.lamellen i:nth-child(7)  { transition-delay: .33s; }
.lamellen i:nth-child(8)  { transition-delay: .385s; }
.lamellen i:nth-child(9)  { transition-delay: .44s; }
.lamellen i:nth-child(10) { transition-delay: .495s; }

@media (prefers-reduced-motion: reduce) {
  .lamellen { display: none !important; }
  .lamellen i { transition: none !important; }
}


.welt-paar.beide { display: block; }
.welt-paar.beide > .tile-bild { opacity: 1 !important; visibility: visible !important; }
.welt-paar.beide > .tile-bild + .tile-bild { margin-top: 14px; }

@media (prefers-reduced-motion: reduce) {
  .welt-paar > .tile-bild { transition: none; }
}



.doppel-text {
  
  max-width: none;
  display: grid; grid-template-columns: 1.12fr 1fr;
  column-gap: 48px; align-items: start;
}
.doppel-text .lead,
.doppel-text .lead-2 { font-size: 17px; line-height: 1.62; margin: 0; }
.doppel-text .lead { color: rgba(0,32,96,0.8); }
.doppel-text .lead-2 {
  color: rgba(0,32,96,0.7);
  border-left: 3px solid rgba(0,32,96,0.18);
  padding-left: 22px;
}

.dunkel .doppel-text .lead { color: rgba(255,255,255,0.88); }
.dunkel .doppel-text .lead-2 {
  color: rgba(255,255,255,0.78); border-left-color: rgba(255,255,255,0.28);
}

.unter-titel-zwei { margin-top: 14px; }
.unter-titel-zwei p {
  margin: 0; font-size: 17px; line-height: 1.62; color: rgba(0,32,96,0.78);
}
.dunkel .unter-titel-zwei p { color: rgba(255,255,255,0.82); }
@media (max-width: 900px) { .unter-titel-zwei p + p { margin-top: 12px; } }

@media (max-width: 900px) {
  .doppel-text { grid-template-columns: 1fr; row-gap: 14px; max-width: 860px; }
  .doppel-text .lead-2 { border-left: 0; padding-left: 0; }
}


.section-head.breit { max-width: none; }
.section-head.breit h2 { max-width: none; }

#ansatz .section-head.breit h2 { text-wrap: nowrap; }
@media (max-width: 1100px) {
  #ansatz .section-head.breit h2 { text-wrap: balance; }
}


.section-head .unter-titel {
  font-size: 17px; line-height: 1.6; color: rgba(0,32,96,0.7);
  margin: 10px 0 0; max-width: none;
}


.zusammenfluss { padding-top: 8px; }
.zf-buehne { position: relative; max-width: 1000px; margin: 0 auto; }

.zf-quellen {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 34px;
}
.zf-quelle { margin: 0; }
.zf-bild .bild { border-radius: 14px; overflow: hidden; position: relative;
                 box-shadow: 0 10px 30px rgba(0,32,96,0.16); }

.zf-bild .bild img:not(.ki-kennung) { width: 100%; height: 100%; object-fit: cover; display: block; }
.zf-bild .ki-kennung { position: absolute; right: 8px; bottom: 8px; width: 24px; height: 24px; opacity: .9; }
.zf-quelle figcaption { display: block; padding: 14px 4px 0; }
.zf-marke { display: block; font-size: 17px; font-weight: 600; color: var(--nm-blue); letter-spacing: -0.2px; }
.zf-was { display: block; font-size: 14.5px; line-height: 1.5; color: rgba(0,32,96,0.66); margin-top: 3px; }


.zf-fluss {
  position: absolute; inset: 0; width: 100%; height: 100%;
  pointer-events: none; z-index: 0; overflow: visible;
}

.zf-linie {
  fill: none; stroke-width: 6; stroke-linecap: round;
}
.zf-linie.zf-links  { stroke: url(#zfVerlaufLinks); }
.zf-linie.zf-rechts { stroke: url(#zfVerlaufRechts); }



.zf-schein {
  fill: none; stroke: rgba(255,255,255,0.16); stroke-width: 16; stroke-linecap: round;
  filter: blur(7px);
}


.zf-funke { fill: var(--nm-red); opacity: .9; filter: drop-shadow(0 0 6px rgba(150,0,0,.65)); }
.zf-funke-klein { fill: #EEF4FC; opacity: .8; filter: drop-shadow(0 0 6px rgba(255,255,255,.55)); }
.js .zf-linie, .js .zf-schein { stroke-dasharray: var(--laenge, 1200); stroke-dashoffset: var(--laenge, 1200); }
.js .zusammenfluss.da .zf-linie,
.js .zusammenfluss.da .zf-schein {
  animation: zf-zeichnen 1.4s cubic-bezier(.4,0,.3,1) .5s forwards;
}

.js .zf-funke { opacity: 0; }
.js .zusammenfluss.da .zf-funke { animation: zf-auf .6s ease 1.9s forwards; }
@keyframes zf-auf { to { opacity: .9; } }
@keyframes zf-zeichnen { to { stroke-dashoffset: 0; } }



.zf-ergebnis { margin: 104px 0 0; text-align: center; position: relative; z-index: 1; }
.zf-titel { font-size: 28px; font-weight: 600; letter-spacing: -0.5px; color: var(--nm-red); margin: 0 0 18px; }
.zf-bild-gross { width: calc((100% - 34px) / 2); margin: 0 auto; position: relative; }
.zf-bild-gross .bild { border-radius: 16px; box-shadow: 0 16px 44px rgba(0,32,96,0.2); }
.zf-text { font-size: 17px; line-height: 1.62; color: rgba(0,32,96,0.75); margin: 20px auto 0; max-width: 62ch; }




.zf-puls {
  position: absolute; left: 50%; top: var(--treff, 0px); width: 34px; height: 34px;
  margin: -17px 0 0 -17px; border-radius: 50%;
  background: radial-gradient(circle at 38% 34%, #d43a3a 0%, var(--nm-red) 58%, #6d0000 100%);
  box-shadow: 0 0 26px rgba(255,90,90,0.55), 0 4px 16px rgba(150,0,0,0.5);
  z-index: 3; animation: zf-pochen 2.4s ease-in-out infinite;
}

.zf-puls::before,
.zf-puls::after {
  content: ''; position: absolute; inset: 0; border-radius: 50%;
  border: 2.5px solid rgba(255,120,120,0.8);
  animation: zf-ring 2.4s cubic-bezier(.2,.6,.35,1) infinite;
}
.zf-puls::after { animation-delay: 1.2s; }
@keyframes zf-ring {
  0%   { transform: scale(1);   opacity: .95; }
  75%  { opacity: 0.1; }
  100% { transform: scale(3.6); opacity: 0; }
}
@keyframes zf-pochen {
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.28); }
}


.js .zusammenfluss .zf-quelle { opacity: 0; transition: opacity .7s ease, transform .7s cubic-bezier(.16,.84,.34,1); }
.js .zusammenfluss .zf-quelle[data-zf="1"] { transform: translateX(-40px); }
.js .zusammenfluss .zf-quelle[data-zf="2"] { transform: translateX(40px); }
.js .zusammenfluss.da .zf-quelle { opacity: 1; transform: none; }
.js .zusammenfluss.da .zf-quelle[data-zf="2"] { transition-delay: .15s; }

.js .zusammenfluss .zf-ergebnis {
  opacity: 0; transform: translateY(30px);
  transition: opacity .8s ease 1.6s, transform .8s cubic-bezier(.16,.84,.34,1) 1.6s;
}
.js .zusammenfluss.da .zf-ergebnis { opacity: 1; transform: none; }

@media (max-width: 860px) {
  .zf-buehne { max-width: 460px; }
  .zf-quellen { grid-template-columns: 1fr; gap: 24px; }
  .zf-bild-gross { width: 100%; }
  .zf-ergebnis { margin-top: 30px; }
  .zf-titel { font-size: 23px; }
  
  .zf-fluss { display: none; }

  
  
  .zf-puls {
    position: static; display: block; width: 34px; height: 34px;
    margin: 44px auto 62px;
  }
  .zf-puls::before, .zf-puls::after { border-color: rgba(255,120,120,0.75); }
}

@media (prefers-reduced-motion: reduce) {
  .js .zusammenfluss .zf-quelle,
  .js .zusammenfluss .zf-ergebnis { opacity: 1 !important; transform: none !important; transition: none !important; }
  .js .zusammenfluss.da .zf-linie,
  .js .zusammenfluss.da .zf-schein { animation: none !important; stroke-dashoffset: 0; }
  .js .zusammenfluss.da .zf-funke { animation: none !important; opacity: .9; }
  .zf-puls, .zf-puls::before, .zf-puls::after { animation: none !important; }
  .zf-puls::before, .zf-puls::after { opacity: 0; }
}



.section-head .unter-titel {
  font-size: 17px; line-height: 1.6; color: rgba(0,32,96,0.7);
  margin: 10px 0 0; max-width: none;
}


.zusammenfluss { padding-top: 8px; }


.cta-leise {
  border-top: 1px solid var(--card-border);
  padding-top: 28px; margin-top: 8px;
}

.cta-leise .cta-paar { max-width: none; gap: 16px;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }

.cta-leise .cta-paar .btn { padding: 12px 18px; font-size: 14px; }



.btn-sym {
  width: 28px; height: 28px; flex: 0 0 auto;
  background-color: currentColor;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-position: center;  mask-position: center;
  -webkit-mask-size: contain;     mask-size: contain;
}
.btn-sym-webinar { -webkit-mask-image: url(bilder/sym-webinar.png); mask-image: url(bilder/sym-webinar.png); }
.btn-sym-demo    { -webkit-mask-image: url(bilder/sym-demo.png);    mask-image: url(bilder/sym-demo.png); }
.cta-leise .btn-sym { width: 28px; height: 28px; }
.cta-leise .cta-paar .btn { gap: 10px; }

.dunkel .cta-leise { border-top-color: rgba(255,255,255,0.2); }

@media (max-width: 860px) {
  .cta-leise .cta-paar { grid-template-columns: 1fr; max-width: none; }
  
  .cta-leise .cta-oder { justify-self: center; }
}


.sprungleiste {
  position: sticky; top: calc(130px + env(safe-area-inset-top, 0px)); z-index: 40;
  background: var(--header-bg);
  border-bottom: 1px solid var(--card-border);
  padding: 0 40px;
}
.sprung-innen {
  max-width: 1600px; margin: 0 auto;
  display: flex; align-items: stretch; gap: 4px;
  overflow-x: auto; scrollbar-width: none;
}
.sprung-innen::-webkit-scrollbar { display: none; }
.sprungleiste a {
  display: inline-flex; align-items: center; white-space: nowrap;
  padding: 14px 14px 12px; text-decoration: none;
  font-size: 14.5px; font-weight: 500; color: rgba(0,32,96,0.72);
  border-bottom: 2px solid transparent;
  transition: color .13s, border-color .13s;
}
.sprungleiste a:hover { color: var(--nm-blue); }
.sprungleiste a.hier { color: var(--nm-red); border-bottom-color: var(--nm-red); }
.sprungleiste a:focus-visible { outline: 3px solid var(--nm-red); outline-offset: -3px; }


.section[id] { scroll-margin-top: 196px; }


a.nav-verweis { text-decoration: none; }
.nav-lade-verweis {
  display: block; padding: 15px 4px; font-weight: 600; font-size: 16px;
  color: var(--nm-blue); text-decoration: none;
  border-bottom: 1px solid var(--card-border);
}
.nav-lade-verweis:hover { color: var(--nm-red); }

@media (max-width: 767px) {
  .sprungleiste { top: calc(92px + env(safe-area-inset-top, 0px)); padding: 0 20px; }
  .sprungleiste a { font-size: 13.5px; padding: 12px 10px 10px; }
  .section[id] { scroll-margin-top: 150px; }
}
@media (prefers-reduced-motion: reduce) {
  .sprungleiste a { transition: none !important; }
}


.aussage.einzeilig > p { font-size: min(38px, calc(2.4vw - 2px)); }
@media (max-width: 767px) {
  .aussage.einzeilig > p { font-size: 25px; }
}


.tool-reihe {
  margin-top: 46px;
  display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 14px;
}
.tool-kachel {
  display: flex; flex-direction: column; align-items: center; gap: 22px;
  cursor: default;
  
  padding: 26px 12px 46px; text-decoration: none;
  background: var(--card-bg); border: 1px solid var(--card-border); border-radius: 14px;
  transition: background .14s, transform .14s, border-color .14s;
}


.tool-name {
  font-size: 16.5px; font-weight: 600; line-height: 1.3; text-align: center;
  color: var(--nm-blue); letter-spacing: -0.2px;
  
  display: flex; align-items: center; min-height: 2.6em;
}
.tool-sym {
  display: flex; align-items: center; justify-content: center;
  width: 104px; height: 104px; border-radius: 26px;
  background: var(--btn-hell); color: var(--nm-blue); flex: 0 0 auto;
}
.tool-sym svg { width: 58px; height: 58px; stroke-width: 1.6; }

@media (max-width: 1200px) {
  .tool-reihe { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .tool-reihe { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 30px; }
  .tool-kachel { padding: 20px 10px 32px; gap: 16px; }
  .tool-sym { width: 78px; height: 78px; border-radius: 20px; }
  .tool-sym svg { width: 44px; height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  .tool-kachel { transition: none !important; }
  .tool-kachel:hover { transform: none; }
}



.js .tool-reihe > .tool-kachel:nth-child(1) { --v: 0s; }
.js .tool-reihe > .tool-kachel:nth-child(2) { --v: .09s; }
.js .tool-reihe > .tool-kachel:nth-child(3) { --v: .18s; }
.js .tool-reihe > .tool-kachel:nth-child(4) { --v: .27s; }
.js .tool-reihe > .tool-kachel:nth-child(5) { --v: .36s; }
.js .tool-reihe > .tool-kachel:nth-child(6) { --v: .45s; }
.js .tool-reihe > .tool-kachel:nth-child(7) { --v: .54s; }
.js .tool-reihe > .tool-kachel:nth-child(8) { --v: .63s; }

.js .tool-kachel.auf {
  opacity: 0; transform: translateY(26px) scale(.96);
  transition: opacity .55s cubic-bezier(.22,.61,.36,1),
              transform .55s cubic-bezier(.22,.61,.36,1);
  transition-delay: var(--v, 0s);
}
.js .tool-kachel.auf.da { opacity: 1; transform: none; }


.js .tool-kachel.auf .tool-sym {
  opacity: 0; transform: scale(.55) rotate(-10deg);
  transition: opacity .5s ease, transform .62s cubic-bezier(.34,1.5,.64,1);
  transition-delay: calc(var(--v, 0s) + .14s);
}
.js .tool-kachel.auf.da .tool-sym { opacity: 1; transform: none; }


@media (prefers-reduced-motion: reduce) {
  .js .tool-kachel.auf,
  .js .tool-kachel.auf .tool-sym {
    opacity: 1 !important; transform: none !important; transition: none !important;
  }
}




.js .buehne-text > .auf.start:nth-child(1) { transition-delay: .10s; }
.js .buehne-text > .auf.start:nth-child(2) { transition-delay: .22s; }
.js .buehne-text > .auf.start:nth-child(3) { transition-delay: .34s; }
.js .buehne-text > .auf.start:nth-child(4) { transition-delay: .46s; }



.js .buehne-fakten .fakt.auf.start:nth-child(1) { transition-delay: .85s; }
.js .buehne-fakten .fakt.auf.start:nth-child(2) { transition-delay: .97s; }
.js .buehne-fakten .fakt.auf.start:nth-child(3) { transition-delay: 1.09s; }


.js .aussage > .auf.start { transition-delay: 1.45s; }
.js .tool-kachel.auf.start { transition-delay: calc(1.60s + var(--v, 0s)); }
.js .tool-kachel.auf.start .tool-sym { transition-delay: calc(1.74s + var(--v, 0s)); }

@media (prefers-reduced-motion: reduce) {
  .js .auf.start,
  .js .tool-kachel.auf.start .tool-sym { transition-delay: 0s !important; }
}


.aussage.einzeilig > p.aussage-unter,
.aussage > p.aussage-unter {
  font-size: 19px; font-weight: 400; line-height: 1.5; letter-spacing: 0;
  color: rgba(0,32,96,0.72); margin: 16px 0 0; max-width: none;
}

.aussage > p.aussage-unter .unter-sym {
  
  width: 70px; height: 70px; vertical-align: -25px; margin-left: 11px;
}


.aussage > p.aussage-unter.lang {
  max-width: none;
  columns: 2; column-gap: 20px;
}
@media (max-width: 760px) {
  .aussage > p.aussage-unter.lang { columns: 1; }
}



.vergleich {
  margin: 34px 0 0;
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px;
}

.vergleich-karte {
  border: 1px solid var(--card-border); border-radius: 16px; padding: 24px 26px;
  display: grid; grid-template-columns: auto minmax(0, 1fr);
  gap: 24px; align-items: center;
}
.vergleich-karte.mit { grid-template-columns: minmax(0, 1fr) auto; }





.vergleich-bild { display: block; object-fit: contain; }
.vergleich-karte.ohne .vergleich-bild { width: 312px; height: 557px; }
.vergleich-karte.mit  .vergleich-bild { width: 330px; height: 410px; }

.js .vergleich-bild.auf {
  opacity: 1; transform: scale(0.4);
  
  
  transition: transform 2.6s ease-in-out;
}
.js .vergleich-bild.auf.da { transform: none; }
@media (max-width: 1180px) {
  .vergleich-karte.ohne .vergleich-bild { width: 224px; height: 400px; }
  .vergleich-karte.mit  .vergleich-bild { width: 237px; height: 295px; }
}
@media (max-width: 1040px) {
  .vergleich-karte.ohne .vergleich-bild { width: 157px; height: 280px; }
  .vergleich-karte.mit  .vergleich-bild { width: 166px; height: 206px; }
}
@media (max-width: 860px) {
  .vergleich-bild { display: none; }
  .vergleich-karte, .vergleich-karte.mit { grid-template-columns: 1fr; }
}
.vergleich-karte h3 {
  font-size: 17px; font-weight: 600; margin: 0 0 14px; letter-spacing: -0.2px;
}
.vergleich-karte ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.vergleich-karte li {
  position: relative; padding-left: 17px; font-size: 15.5px; line-height: 1.45;
  font-weight: 600;
}
.vergleich-karte li::before {
  content: ""; position: absolute; left: 0; top: 0.52em;
  width: 7px; height: 7px; border-radius: 50%;
}

.vergleich-karte.ohne { background: rgba(0,32,96,0.04); text-align: right; }
.vergleich-karte.ohne li { padding-left: 0; padding-right: 17px; }
.vergleich-karte.ohne li::before { left: auto; right: 0; }
.vergleich-karte.ohne h3 { color: rgba(0,32,96,0.7); }

.vergleich-karte.ohne li { color: rgba(0,32,96,0.68); font-weight: 400; }
.vergleich-karte.ohne li::before { background: rgba(0,32,96,0.3); }
.vergleich-karte.mit { background: var(--card-bg); }
.vergleich-karte.mit h3 { color: var(--nm-blue); }
.vergleich-karte.mit li { color: var(--nm-blue); }
.vergleich-karte.mit li::before { background: var(--nm-red); }
.dunkel .vergleich-karte.ohne { background: rgba(255,255,255,0.06); }
.dunkel .vergleich-karte.ohne h3 { color: rgba(255,255,255,0.72); }
.dunkel .vergleich-karte.ohne li { color: rgba(255,255,255,0.66); }
.dunkel .vergleich-karte.ohne li::before { background: rgba(255,255,255,0.34); }
.dunkel .vergleich-karte.mit { background: rgba(255,255,255,0.10); }
.dunkel .vergleich-karte.mit h3,
.dunkel .vergleich-karte.mit li { color: rgba(255,255,255,0.92); }
@media (max-width: 760px) {
  .vergleich { grid-template-columns: 1fr; gap: 14px; }
}


.aussage > p.aussage-unter.lang .unter-sym {
  width: 30px; height: 30px; vertical-align: -9px; margin-left: 8px;
}
.dunkel .aussage > p.aussage-unter { color: rgba(255,255,255,0.78); }

@media (max-width: 767px) {
  .aussage.einzeilig > p.aussage-unter,
  .aussage > p.aussage-unter { font-size: 16.5px; margin-top: 12px; }
  .aussage > p.aussage-unter .unter-sym { width: 52px; height: 52px; vertical-align: -18px; margin-left: 8px; }
}







.kette {
  max-width: 1600px; margin: 0 auto; padding: 0 40px;
  list-style: none;
  
  display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr);
  gap: 26px; counter-reset: kette;
}
.kette > li { position: relative; padding-top: 62px; }


.kette > li::before {
  content: ''; position: absolute; left: 46px; right: -26px; top: 22px; height: 2px;
  background: rgba(0,32,96,0.22);
}
.dunkel .kette > li::before { background: rgba(255,255,255,0.22); }
.kette > li:last-child::before { display: none; }
.kette-nr {
  position: absolute; top: 0; left: 0;
  width: 46px; height: 46px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 19px; font-weight: 600; letter-spacing: -0.5px;
  background: var(--btn-hell); color: var(--nm-blue);
}
.kette h3 { font-size: 19px; font-weight: 600; margin: 0 0 9px; letter-spacing: -0.3px; }


.kette-mitte > li { text-align: center; }
.kette-mitte .kette-nr { left: 50%; margin-left: -23px; }
.kette-mitte > li::before { left: calc(50% + 30px); right: calc(4px - 50%); }

@media (max-width: 767px) {
  
  .kette-mitte > li { text-align: left; }
  .kette-mitte .kette-nr { left: 0; margin-left: 0; }
}
.kette p { font-size: 15px; line-height: 1.6; margin: 0; }
.dunkel .kette h3 { color: #fff; }
.dunkel .kette p { color: rgba(255,255,255,0.8); }


.js .kette > li.auf {
  opacity: 0; transform: translateX(-26px);
  transition: opacity .5s cubic-bezier(.22,.61,.36,1),
              transform .6s cubic-bezier(.22,.61,.36,1);
  transition-delay: calc(var(--k, 0) * .13s);
}
.js .kette > li.auf.da { opacity: 1; transform: none; }

.js .kette > li.auf::before { transform: scaleX(0); transform-origin: left center; }
.js .kette > li.auf.da::before {
  transform: scaleX(1);
  transition: transform .55s cubic-bezier(.22,.61,.36,1) calc(var(--k, 0) * .13s + .3s);
}


.ba-fragen { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ba-marke {
  font-size: 11.5px; font-weight: 700; letter-spacing: 0.6px; text-transform: none;
  color: rgba(0,32,96,0.5); margin: 0 0 10px;
}
.tile-synthese .ba-marke { color: var(--nm-red); }

.tile-synthese { border-color: rgba(150,0,0,0.28); }
.dunkel .ba-marke { color: rgba(255,255,255,0.6); }


.ba-gruppen { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ba-gruppen .tile-list { max-width: 100%; }
.ba-gruppen .tile-list li { font-size: 14.5px; line-height: 1.55; }
.ba-gruppen .tile-list b { font-weight: 600; }
.dunkel .ba-gruppen .tile-list li { color: rgba(255,255,255,0.8); }
.dunkel .ba-gruppen .tile-list li::before { background: rgba(255,255,255,0.45); }
.dunkel .ba-gruppen .tile-list b { color: #fff; }


.ba-beleg { max-width: 1600px; margin: 44px auto 0; padding: 0 40px; }

@media (max-width: 1100px) {
  .ba-fragen { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kette { grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 26px; }
  
  .kette > li:nth-child(2n)::before { display: none; }
}
@media (max-width: 767px) {
  .kette, .ba-beleg { padding: 0 20px; }
  .kette { grid-auto-flow: row; grid-template-columns: 1fr; gap: 26px; }
  .kette > li::before { display: none; }
  .kette > li { padding-top: 0; padding-left: 62px; }
  .ba-fragen, .ba-gruppen { grid-template-columns: 1fr; }
  .ba-beleg { margin-top: 30px; }
}
@media (prefers-reduced-motion: reduce) {
  .js .kette > li.auf, .js .kette > li.auf::before {
    opacity: 1 !important; transform: none !important; transition: none !important;
  }
}


.dunkel .tile {
  background: rgba(255,255,255,0.07);
  border-color: rgba(255,255,255,0.16);
}
.dunkel .tile:hover { background: rgba(255,255,255,0.11); }
.dunkel .tile-title { color: #fff; }
.dunkel .tile-desc { color: rgba(255,255,255,0.78); }
.dunkel .tile-list li { color: rgba(255,255,255,0.78); }
.dunkel .tile-list li::before { background: rgba(255,255,255,0.45); }


.ba-fragen .tile, .ba-gruppen .tile { min-height: 0; }


.ef-formate { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ef-schritte {
  list-style: none; counter-reset: efs; margin: 0 0 16px; padding: 0;
  display: flex; flex-direction: column; gap: 6px;
}
.ef-schritte li {
  counter-increment: efs; position: relative; padding-left: 30px;
  font-size: 14.5px; line-height: 1.5; color: rgba(255,255,255,0.8);
}
.ef-schritte li::before {
  content: counter(efs);
  position: absolute; left: 0; top: 1px;
  width: 21px; height: 21px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 11.5px; font-weight: 600;
  background: rgba(255,255,255,0.12); color: rgba(255,255,255,0.75);
}

.ef-schritte li.gleich { color: #fff; font-weight: 500; }
.ef-schritte li.gleich::before { background: var(--nm-magenta); color: #fff; }
.ef-legende {
  max-width: 1600px; margin: 26px auto 0; padding: 0 40px;
  font-size: 14px; color: rgba(255,255,255,0.7);
  display: flex; align-items: center; gap: 9px;
}
.ef-punkt {
  width: 14px; height: 14px; border-radius: 50%;
  background: var(--nm-magenta); flex: 0 0 auto;
}

.schritte-schmal { margin-top: 22px; }


.schritte-buchstaben li::before { content: counter(schritt, upper-alpha); }

.js .section-head.auf:not(.da) .schritte-buchstaben > li { opacity: 0; }
@keyframes schritt-auf {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: none; }
}
.js .section-head.da .schritte-buchstaben > li {
  animation: schritt-auf .46s cubic-bezier(.22,.61,.36,1) both;
}
.js .section-head.da .schritte-buchstaben > li:nth-child(1) { animation-delay: .10s; }
.js .section-head.da .schritte-buchstaben > li:nth-child(2) { animation-delay: .34s; }
.js .section-head.da .schritte-buchstaben > li:nth-child(3) { animation-delay: .58s; }


.grid.ohne-grenzen .tile, .grid.bezahl-wege .tile { min-height: 0; }

.grid.bezahl-wege { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }

.bezahl-kopf {
  margin: 18px 0 0; padding-top: 16px; border-top: 1px solid var(--card-border);
  font-size: 13.5px; font-weight: 600; letter-spacing: 0.2px; color: rgba(0,32,96,0.62);
}
.bezahl-liste { margin: 10px 0 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.bezahl-liste > div { display: grid; grid-template-columns: 116px minmax(0, 1fr); gap: 12px; }
.bezahl-liste dt { font-size: 14.5px; font-weight: 600; color: var(--nm-blue); }
.bezahl-liste dd { margin: 0; font-size: 14.5px; line-height: 1.45; color: rgba(0,32,96,0.76); }
.dunkel .bezahl-kopf { color: rgba(255,255,255,0.7); border-top-color: rgba(255,255,255,0.2); }
.dunkel .bezahl-liste dt { color: #fff; }
.dunkel .bezahl-liste dd { color: rgba(255,255,255,0.8); }
@media (max-width: 620px) { .bezahl-liste > div { grid-template-columns: 1fr; gap: 2px; } }
@media (max-width: 860px) { .grid.bezahl-wege { grid-template-columns: 1fr; } }



@keyframes feld-auf {
  0%   { opacity: 0; transform: scale(0.94); }
  55%  { opacity: 1; transform: scale(1.055); }
  100% { opacity: 1; transform: scale(1); }
}
.js .grid.felder-auf.auf:not(.da) > * { opacity: 0; }
.js .grid.felder-auf.da > * {
  animation: feld-auf .52s cubic-bezier(.34,.9,.4,1) both;
  animation-delay: calc(var(--i, 0) * 110ms);
}
@media (prefers-reduced-motion: reduce) {
  .schritte-buchstaben > li, .grid.felder-auf > * {
    animation: none !important; opacity: 1 !important;
  }
}

.fragetypen-block { max-width: 1600px; margin: 44px auto 0; padding: 0 40px; }
.fragetypen-kopf {
  margin: 0 0 16px; font-size: 14px; font-weight: 600; letter-spacing: 0.2px;
  color: rgba(0,32,96,0.62);
}
.fragetypen-raster {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px;
}
.fragetypen-raster article {
  background: var(--card-bg); border: 1px solid var(--card-border);
  border-radius: 14px; padding: 18px 20px;
}
.fragetypen-raster h3 {
  margin: 0 0 6px; font-size: 16.5px; font-weight: 600; color: var(--nm-blue);
}
.fragetypen-raster p {
  margin: 0; font-size: 15px; line-height: 1.5; color: rgba(0,32,96,0.78);
}
.dunkel .fragetypen-kopf { color: rgba(255,255,255,0.7); }
.dunkel .fragetypen-raster article {
  background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.16);
}
.dunkel .fragetypen-raster h3 { color: #fff; }
.dunkel .fragetypen-raster p { color: rgba(255,255,255,0.82); }
@media (max-width: 980px) { .fragetypen-raster { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px)  {
  .fragetypen-block { padding: 0 20px; }
  .fragetypen-raster { grid-template-columns: 1fr; }
}

@media (max-width: 1200px) {
  .ef-formate { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .ef-formate { grid-template-columns: 1fr; }
  .ef-legende { padding: 0 20px; }
}


.ts-module { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ts-module .tile { min-height: 0; }

.ts-module .tile-desc { max-width: none; }
.ts-formate { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.ts-formate li {
  display: flex; align-items: baseline; gap: 12px;
  padding: 11px 14px; border-radius: 10px;
  background: rgba(255,255,255,0.06);
}
.ts-formate b { font-size: 14.5px; font-weight: 600; color: #fff; flex: 0 0 108px; }
.ts-formate span { font-size: 13.5px; line-height: 1.45; color: rgba(255,255,255,0.72); }

.ts-formate.namen b { flex-basis: 240px; line-height: 1.35; }

.ts-formate.namen { display: grid; grid-auto-rows: minmax(64px, 1fr); }
.ts-formate.namen li { align-items: center; }

.ts-medien { margin: 22px 0 0; }
.ts-medien-titel { margin: 0 0 10px; font-size: 13px; font-weight: 600; letter-spacing: .3px; color: rgba(255,255,255,0.72); }
.ts-medien-reihe { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.ts-medien-reihe li {
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  padding: 14px 6px 12px; border-radius: 12px; text-align: center;
  background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.18);
}
.ts-medien-reihe svg { width: 26px; height: 26px; fill: none; stroke: #9FBAE3; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ts-medien-reihe span { font-size: 13.5px; font-weight: 600; color: #fff; line-height: 1.2; }
.section:not(.dunkel) .ts-medien-titel { color: rgba(0,32,96,0.72); }
.section:not(.dunkel) .ts-medien-reihe li { background: rgba(0,32,96,0.05); border-color: var(--card-border); }
.section:not(.dunkel) .ts-medien-reihe svg { stroke: var(--nm-blue); }
.section:not(.dunkel) .ts-medien-reihe span { color: var(--nm-blue); }
@media (max-width: 520px) {
  .ts-medien-reihe { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@supports (grid-template-rows: subgrid) {
  @media (min-width: 900px) {
    
    .ts-module { grid-template-rows: auto auto auto repeat(6, minmax(64px, 1fr)) auto; row-gap: 0; }
    
    .ts-module .tile { display: grid; grid-row: span 10; grid-template-rows: subgrid; row-gap: 10px; }
    .ts-module .ba-marke, .ts-module .tile-title { margin-bottom: 4px; }
    .ts-module .tile-desc { margin-bottom: 22px; }
    .ts-module .ts-formate.namen { grid-row: span 6; grid-template-rows: subgrid; row-gap: 10px; margin-top: 0; }
    .ts-module .ts-formate.namen li { min-height: 64px; }
  }
}


.ts-bsp-buehne {
  max-width: 1600px; margin: 0 auto; padding: 0 40px;
  display: grid; grid-template-columns: 1.2fr 1fr; gap: 44px; align-items: start;
}
.ts-bsp-video .bild, .ts-zeit-medien .bild { border-radius: 14px; overflow: hidden; }
.ts-bsp-marke { font-size: 13px; font-weight: 700; letter-spacing: 0.2px; color: #9FBAE3; margin: 0 0 14px; }
.ts-bsp-fragetext {
  font-size: 27px; line-height: 1.35; font-weight: 600; letter-spacing: -0.4px;
  color: #fff; margin: 0 0 18px;
}
.ts-bsp-frage > p:last-child { font-size: 16px; line-height: 1.6; color: rgba(255,255,255,0.82); margin: 0; }


.ts-zeit {
  max-width: 1600px; margin: 0 auto; padding: 0 40px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 44px; align-items: start;
}
.ts-zeitleiste { list-style: none; margin: 0; padding: 0; position: relative; display: flex; flex-direction: column; gap: 10px; }
.ts-zeitleiste::before {
  content: ''; position: absolute; left: 18px; top: 22px; bottom: 22px;
  width: 2px; background: rgba(255,255,255,0.22);
}
.ts-zeitleiste li {
  position: relative; display: grid; grid-template-columns: 38px 1fr auto;
  gap: 16px; align-items: center;
  padding: 12px 16px 12px 0;
}
.ts-zl-nr {
  position: relative; z-index: 1; width: 38px; height: 38px; border-radius: 50%;
  background: #9FBAE3; color: var(--nm-blue); font-size: 14px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}
.ts-zeitleiste b { display: block; font-size: 16px; font-weight: 600; color: #fff; }
.ts-zl-titel { display: block; margin-top: 3px; font-size: 14.5px; line-height: 1.5; color: rgba(255,255,255,0.78); }
.ts-zl-einheiten { display: flex; gap: 6px; }
.ts-zl-einheiten em { width: 10px; height: 10px; border-radius: 50%; background: rgba(255,255,255,0.55); }
.ts-zeit-medien { display: flex; flex-direction: column; gap: 18px; }


.ts-bz-zahl { margin-left: auto; font-size: 14.5px; color: rgba(0,32,96,0.7); white-space: nowrap; }
.ts-bz-zahl b { font-size: 17px; font-weight: 700; color: var(--nm-red); font-variant-numeric: tabular-nums; }
.ts-bz-summe {
  display: flex; align-items: baseline; gap: 14px; margin-top: 6px;
  padding: 16px 20px; border-radius: 11px; background: var(--nm-blue);
}
.ts-bz-summe b { font-size: 40px; font-weight: 600; letter-spacing: -1px; line-height: 1; color: #fff; }
.ts-bz-summe span { font-size: 16px; color: rgba(255,255,255,0.86); }

@media (max-width: 900px) {
  .ts-bsp-buehne, .ts-zeit { grid-template-columns: 1fr; gap: 24px; padding: 0 20px; }
  .ts-bsp-fragetext { font-size: 22px; }
  .ts-zeitleiste li { grid-template-columns: 38px 1fr; }
  .ts-zl-einheiten { grid-column: 2; }
  
  .ts-bsp-a .kar-reiter, .ts-bsp-b .kar-reiter { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 6px; scrollbar-width: thin; }
  .ts-bsp-a .kar-tab, .ts-bsp-b .kar-tab { flex: 0 0 auto; white-space: nowrap; }
}


.fw-leiste { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.fw-knopf {
  font: inherit; font-size: 13px; font-weight: 600; cursor: pointer;
  padding: 7px 13px; border-radius: 999px;
  color: var(--nm-blue); background: rgba(255,255,255,0.7); border: 1px solid var(--card-border);
  transition: background .2s, color .2s;
}
.fw-knopf:hover { background: var(--card-hover); }
.fw-knopf.aktiv { background: var(--nm-blue); color: #fff; border-color: var(--nm-blue); }
.fw-knopf:focus-visible { outline: 2px solid var(--nm-blue); outline-offset: 2px; }
.js-fw .fw-flaeche:not(.aktiv) { display: none; }
.fw-flaeche + .fw-flaeche { margin-top: 14px; }
.js-fw .fw-flaeche + .fw-flaeche { margin-top: 0; }
.fw-hinweis { margin: 8px 0 0; font-size: 13px; color: rgba(0,32,96,0.7); }

.kar-medium .fw-dok img:not(.ki-kennung) { object-position: top; }
.fw-dok { cursor: zoom-in; }

.js-folien .fw-folie:not(.aktiv) { display: none; }
.fw-folie + .fw-folie { margin-top: 10px; }
.js-folien .fw-folie + .fw-folie { margin-top: 0; }
.fw-folien-leiste { display: none; }
.js-folien .fw-folien-leiste { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 10px; }
.fw-blaettern {
  width: 34px; height: 34px; border-radius: 50%; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--nm-blue); border: none; color: #fff;
}
.fw-blaettern svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.fw-zaehler { font-size: 13.5px; font-weight: 600; color: var(--nm-blue); min-width: 56px; text-align: center; font-variant-numeric: tabular-nums; }


.dunkel .kar-tab.aktiv { background: #9FBAE3; color: var(--nm-blue); border-color: #9FBAE3; }
.dunkel .kar-tab.aktiv .kar-nr { color: rgba(0,32,96,0.72); }
.dunkel .kar-punkt { background: rgba(255,255,255,0.35); }

.dunkel .kar-pfeil { background: #9FBAE3; border-color: #9FBAE3; color: var(--nm-blue); }
.dunkel .kar-pfeil:hover { background: #fff; }
.dunkel .kar-punkt.aktiv { background: var(--nm-red); }
.dunkel .kar-buehne .kar-text h3 { color: var(--nm-blue); }
.dunkel .kar-buehne .kar-text > p { color: rgba(0,32,96,0.82); }
.dunkel .kar-buehne .kar-mass { color: rgba(0,32,96,0.66); }
.dunkel .kar-buehne .haken li { color: rgba(0,32,96,0.82); }
.dunkel .kar-buehne .fw-hinweis { color: rgba(0,32,96,0.7); }


.section:not(.dunkel) .ts-formate li { background: rgba(0,32,96,0.05); }
.section:not(.dunkel) .ts-formate b { color: var(--nm-blue); }
.section:not(.dunkel) .ts-formate span { color: rgba(0,32,96,0.72); }

@media (max-width: 900px) {
  .ts-module { grid-template-columns: 1fr; }
  .ts-formate b, .ts-formate.namen b { flex-basis: auto; }
  .ts-formate li { flex-direction: column; gap: 3px; }
  
  .ts-formate.namen li { align-items: flex-start; justify-content: center; }
}


.ef-bald { max-width: 1600px; margin: 54px auto 0; padding: 0 40px; }
.ef-bald-titel {
  font-size: 17px; font-weight: 600; margin: 0 0 20px; letter-spacing: -0.2px;
  padding-top: 26px; border-top: 1px solid rgba(255,255,255,0.16);
}
.dunkel .ef-bald-titel { color: rgba(255,255,255,0.9); }
.ef-bald .grid { padding: 0; max-width: none; }

.dunkel .tile.upcoming {
  background: transparent;
  border-style: dashed;
  border-color: rgba(255,255,255,0.28);
}
.dunkel .tile.upcoming:hover { background: rgba(255,255,255,0.05); }
.dunkel .tile.upcoming .tile-title { color: rgba(255,255,255,0.9); }
.dunkel .tile.upcoming .tile-desc { color: rgba(255,255,255,0.7); }
.marke-bald { color: var(--nm-mint) !important; }

@media (max-width: 767px) {
  .ef-bald { padding: 0 20px; margin-top: 36px; }
}


.lms-inhalte { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lms-inhalte .tile { min-height: 0; }


.lms-paar {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 48px; align-items: start; max-width: 1600px; margin: 0 auto; padding: 0 40px;
}

.lms-paar-links { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.lms-paar-links .lms-paar-text { grid-column: 2; grid-row: 1; }
.lms-paar-links .lms-paar-film { grid-column: 1; grid-row: 1; }
.lms-paar .section-head, .lms-paar .grid { padding: 0; margin-left: 0; margin-right: 0; max-width: none; }
.lms-paar-film { position: sticky; top: 150px; }
.lms-paar-film .bild { border-radius: 14px; overflow: hidden; }

.lms-paar .grid.lms-verwalten, .lms-paar .grid.ohne-grenzen { grid-template-columns: 1fr; gap: 16px; }

@media (max-width: 1000px) {
  .lms-paar { grid-template-columns: 1fr; gap: 26px; padding: 0 20px; }
  
  .lms-paar-links .lms-paar-film, .lms-paar-film { grid-column: 1; grid-row: 1; }
  .lms-paar-links .lms-paar-text, .lms-paar-text { grid-column: 1; grid-row: 2; }
  .lms-paar-film { position: static; }
}

.lms-verwalten { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lms-verwalten .tile { min-height: 0; }
.lms-verwalten .tile-list { max-width: 100%; }
.lms-verwalten .tile-list li { font-size: 14.5px; line-height: 1.5; }


.haken-breit {
  columns: 2; column-gap: 48px;
}
.haken-breit li { break-inside: avoid; }

@media (max-width: 1100px) {
  .lms-inhalte, .lms-verwalten { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .lms-inhalte, .lms-verwalten { grid-template-columns: 1fr; }
  .haken-breit { columns: 1; }
}


.reihe-bild .bild[style*="820/932"] { max-width: 430px; margin: 0 auto; }
.ts-suche { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ts-suche .tile { min-height: 0; }
.ts-suche .tile-list { max-width: 100%; margin-bottom: 14px; }
.ts-suche .tile-list li { font-size: 14.5px; }
.tile-cta-zeile { margin: 18px 0 0; }

@media (max-width: 900px) {
  .ts-suche { grid-template-columns: 1fr; }
}


.ev-malaga { margin-top: 8px; }


.vor-raster { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.vor-raster .tile { min-height: 0; }
.vor-zwei { max-width: 1600px; margin: 40px auto 0; padding: 0 40px; }


.preis-block {
  display: grid; grid-template-columns: auto 1fr; gap: 48px; align-items: center;
  margin: 8px 0 34px;
}
.preis-zahl dt {
  font-size: 68px; font-weight: 600; letter-spacing: -2px; line-height: 1;
  color: #fff; font-variant-numeric: tabular-nums;
}
.preis-zahl dd { margin: 8px 0 0; font-size: 16px; color: rgba(255,255,255,0.75); }

.preis-nur {
  
  font-size: 22px; font-weight: 500; letter-spacing: 0;
  color: rgba(255,255,255,0.8); margin-right: 12px;
}
.preis-text p { font-size: 16.5px; line-height: 1.62; margin: 0 0 12px; }
.preis-text p:last-child { margin-bottom: 0; }
.preis-haken { margin-top: 6px; }


.antrag-panel {
  max-width: 1100px; margin: 46px auto 0; padding: 34px 36px 32px;
  background: var(--card-bg); border: 1px solid var(--card-border); border-radius: 18px;
}
.antrag-hinweis {
  display: flex; align-items: flex-start; gap: 11px;
  margin: 0 0 28px; padding: 14px 16px; border-radius: 11px;
  background: rgba(0,32,96,0.05);
  font-size: 14.5px; line-height: 1.55; color: rgba(0,32,96,0.8);
}
.antrag-hinweis svg {
  width: 19px; height: 19px; flex: 0 0 auto; margin-top: 1px;
  fill: none; stroke: var(--nm-red); stroke-width: 2; stroke-linecap: round;
}
.antrag-form fieldset { border: 0; margin: 0 0 30px; padding: 0; }
.antrag-form fieldset:last-of-type { margin-bottom: 18px; }
.antrag-block {
  font-size: 17px; font-weight: 600; color: var(--nm-blue); padding: 0;
  margin-bottom: 4px; letter-spacing: -0.2px;
}
.antrag-erklaerung { font-size: 14px; color: rgba(0,32,96,0.65); margin: 0 0 16px; }

.antrag-raster {
  display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px 18px;
}
.feld { display: flex; flex-direction: column; gap: 6px; min-width: 0; grid-column: span 3; }
.feld-breit { grid-column: span 6; }   
.feld-lang  { grid-column: span 4; }   
.feld-drittel { grid-column: span 2; } 
.feld-kurz  { grid-column: span 2; }   
.feld-mini  { grid-column: span 1; }   
.feld > span { font-size: 13.5px; font-weight: 500; color: rgba(0,32,96,0.78); }
.feld i { font-style: normal; color: var(--nm-red); }
.feld input, .feld select {
  font: inherit; font-size: 15px; color: var(--nm-blue);
  padding: 10px 12px; border-radius: 9px;
  border: 1px solid rgba(0,32,96,0.18); background: var(--body-bg);
  min-width: 0; width: 100%;
}
.feld input:disabled, .feld select:disabled {
  background: rgba(0,32,96,0.035); color: rgba(0,32,96,0.45); cursor: not-allowed;
}
.antrag-haken { display: flex; flex-direction: column; gap: 11px; margin-top: 18px; }
.kasten { display: flex; align-items: flex-start; gap: 10px; font-size: 14.5px; line-height: 1.5; color: rgba(0,32,96,0.8); }
.kasten input { margin-top: 3px; flex: 0 0 auto; width: 17px; height: 17px; accent-color: var(--nm-blue); }
.kasten a { color: var(--nm-blue); }
.antrag-pflicht { font-size: 13.5px; color: rgba(0,32,96,0.6); margin: 0 0 22px; }
.antrag-pflicht i { font-style: normal; color: var(--nm-red); }

.antrag-zusage {
  font-size: 14.5px; line-height: 1.55; color: rgba(0,32,96,0.82);
  background: var(--card-bg); border: 1px solid var(--card-border);
  border-radius: 11px; padding: 13px 15px; margin: 0 0 20px;
}
.antrag-zusage b { font-weight: 600; }
.antrag-knopf { display: flex; justify-content: center; }
.antrag-kette { margin-bottom: 6px; }

@media (max-width: 1100px) {
  .vor-raster { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .vor-raster { grid-template-columns: 1fr; }
  .vor-zwei { padding: 0 20px; }
  .preis-block { grid-template-columns: 1fr; gap: 20px; }
  .preis-zahl dt { font-size: 52px; }
  .antrag-panel { padding: 24px 20px; margin-top: 32px; border-radius: 14px; }
  .antrag-raster { grid-template-columns: 1fr; }
  
  .feld, .feld-breit, .feld-lang, .feld-drittel, .feld-kurz, .feld-mini { grid-column: span 1; }
}



main { overflow-x: clip; }


@media (min-width: 901px) {
  .ts-bsp-a .kar-tab, .ts-bsp-b .kar-tab { padding: 9px 13px; gap: 7px; font-size: 14px; }
  .ts-bsp-a .kar-reiter, .ts-bsp-b .kar-reiter { gap: 6px; }
  
  .ts-bsp-a .kar-tab .kar-nr, .ts-bsp-b .kar-tab .kar-nr { display: none; }
}

.fw-dok-rahmen { position: relative; aspect-ratio: 16 / 9; border-radius: 12px; overflow: hidden; background: #D3DEEC; }
.fw-dokument {
  position: absolute; inset: 0; overflow-y: auto; overscroll-behavior: contain;
  display: flex; flex-direction: column; gap: 14px; padding: 14px;
}
.fw-dokument:focus-visible { outline: 2px solid var(--nm-blue); outline-offset: -2px; }
.fw-seite { margin: 0 auto; width: 100%; max-width: 560px; cursor: zoom-in; }
.fw-seite img { display: block; width: 100%; height: auto; border-radius: 3px; box-shadow: 0 4px 14px rgba(0,32,96,0.22); }
.fw-dok-rahmen img.ki-kennung {
  position: absolute; bottom: 10px; right: 22px;
  width: 24px; height: 24px; min-width: 24px; max-width: 24px; object-fit: contain; opacity: 0.9; pointer-events: none;
}





.pos-weg { background: var(--nm-blue); }
.pos-weg svg { display: block; width: 100%; height: 100%; }
.pos-weg text { font-family: inherit; text-anchor: middle; }
.pw-spalten text { font-size: 13px; font-weight: 700; letter-spacing: 1.2px; fill: rgba(255,255,255,0.55); }
.pw-t { font-size: 17px; font-weight: 600; fill: #fff; }
.pw-t-dunkel { fill: var(--nm-blue); }
.pw-t-klein { font-size: 15px; }

.pw-profil { fill: #9FBAE3; }
.pw-ring { fill: none; stroke: rgba(159,186,227,0.4); stroke-width: 1.5; }
.pw-analyse { fill: rgba(255,255,255,0.08); stroke: rgba(255,255,255,0.42); stroke-width: 1.5; }
.pw-synthese { fill: #9FBAE3; }

.pw-werkzeug { stroke: rgba(159,186,227,0.85); stroke-width: 1.5; }
.pw-t-unter { fill: rgba(255,255,255,0.8); font-weight: 500; }

.pos-weg.pw-schmal-nur { display: none; }
@media (max-width: 700px) {
  .pos-weg.pw-breit-nur { display: none; }
  .pos-weg.pw-schmal-nur { display: block; }
}
.kopf-buehne.kopf-voll { grid-template-columns: 1fr; }
.kopf-titel .kopf-unter { margin: 18px 0 0; max-width: 1080px; font-size: 19px; line-height: 1.6; color: rgba(0,32,96,0.8); }
@media (max-width: 900px) { .kopf-titel .kopf-unter { font-size: 17px; } }

.kopf-titel .kopf-unter-zwei { max-width: none; display: grid; grid-template-columns: 1fr 1fr; column-gap: 48px; }
.kopf-titel .kopf-unter-zwei p { margin: 0; }
@media (max-width: 900px) { .kopf-titel .kopf-unter-zwei { grid-template-columns: 1fr; row-gap: 14px; } }
.pw-linie {
  fill: none; stroke: rgba(159,186,227,0.5); stroke-width: 1.6;
  stroke-dasharray: 1; stroke-dashoffset: 0;
  transition: stroke-dashoffset .9s cubic-bezier(.4,0,.2,1) var(--d, 0s);
}
.pw-knoten {
  transform-box: fill-box; transform-origin: center;
  transition: opacity .5s ease var(--d, 0s), transform .6s cubic-bezier(.16,.84,.34,1) var(--d, 0s);
}

.js .auf:not(.da) .pw-linie { stroke-dashoffset: 1; }
.js .auf:not(.da) .pw-knoten { opacity: 0; transform: scale(0.8); }
@media (prefers-reduced-motion: reduce) {
  .pw-linie, .pw-knoten { transition: none !important; }
}


.pos-profil { display: grid; grid-template-columns: 1.15fr 1fr; gap: 44px; align-items: start; }
.pos-geschichte h3, .pos-szene h3 {
  font-size: 21px; font-weight: 600; letter-spacing: -0.3px; margin: 0 0 16px; color: var(--nm-blue);
}
.pos-geschichte blockquote {
  margin: 0 0 18px; padding: 2px 0 2px 22px; border-left: 3px solid rgba(150,0,0,0.45);
  font-size: 17.5px; line-height: 1.65; color: rgba(0,32,96,0.84);
}
.pos-steckbrief {
  background: var(--card-bg); border: 1px solid var(--card-border);
  border-radius: 18px; padding: 26px 28px;
}
.pos-steckbrief-kopf { font-size: 12.5px; font-weight: 700; letter-spacing: 0.2px; color: rgba(0,32,96,0.55); margin: 0 0 16px; }
.pos-steckbrief dl { margin: 0; display: grid; grid-template-columns: 118px minmax(0, 1fr); gap: 11px 18px; }
.pos-steckbrief dt { font-size: 13.5px; font-weight: 700; color: rgba(0,32,96,0.6); padding-top: 2px; }
.pos-steckbrief dd { margin: 0; font-size: 15.5px; line-height: 1.5; color: rgba(0,32,96,0.88); }
.pos-unterkopf { font-size: 21px; font-weight: 600; letter-spacing: -0.3px; margin: 52px 0 18px; color: var(--nm-blue); }
.pos-otoene {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px;
}
.pos-otoene li {
  background: var(--card-bg); border: 1px solid var(--card-border); border-radius: 14px;
  padding: 18px 20px; font-size: 16px; line-height: 1.55; color: var(--nm-blue);
}
.pos-notiz { margin: 18px 0 0; font-size: 15px; line-height: 1.6; color: rgba(0,32,96,0.66); max-width: 920px; }
.dunkel .pos-notiz { color: rgba(255,255,255,0.72); }


.pos-dok {
  position: relative; background: #EEF4FC; border-radius: 8px; padding: 30px 34px 26px;
  box-shadow: 0 10px 30px rgba(0,32,96,0.16), 0 1px 4px rgba(0,32,96,0.08);
}
.pos-dok .pos-dok-art { font-size: 12px; font-weight: 700; letter-spacing: 0.3px; color: var(--nm-red); margin: 0 0 8px; }
.pos-dok .pos-dok-titel {
  font-size: 20px; font-weight: 600; line-height: 1.3; letter-spacing: -0.3px; color: var(--nm-blue);
  margin: 0 0 18px; padding-bottom: 14px; border-bottom: 1px solid var(--card-border);
}
.pos-dok ol { margin: 0; padding: 0 0 0 26px; display: flex; flex-direction: column; gap: 7px; }
.pos-dok li { font-size: 15px; line-height: 1.4; color: rgba(0,32,96,0.84); padding-left: 4px; }
.pos-dok li::marker { color: rgba(0,32,96,0.45); font-weight: 600; }
.pos-dok li.pos-dok-grenze { list-style-type: '– '; color: var(--nm-red); }
.pos-dok .pos-dok-fuss {
  margin: 20px 0 0; padding-top: 12px; border-top: 1px solid var(--card-border);
  font-size: 13px; font-weight: 600; color: rgba(0,32,96,0.6);
}
.pos-dok img.ki-kennung {
  position: absolute; right: 18px; bottom: 16px;
  width: 24px; height: 24px; min-width: 24px; max-width: 24px; object-fit: contain; opacity: 0.9;
}
.kar-text > p.pos-auszug { border-left: 3px solid rgba(150,0,0,0.45); padding-left: 18px; color: rgba(0,32,96,0.88); }
.kar-text > p.pos-listenkopf { font-size: 14px; font-weight: 700; color: rgba(0,32,96,0.62); margin: 0 0 10px; }
.pos-grenze {
  margin-top: 20px; padding: 14px 18px; background: rgba(150,0,0,0.05);
  border-left: 3px solid var(--nm-red); border-radius: 0 12px 12px 0;
}
.pos-grenze .pos-grenze-kopf { font-size: 12.5px; font-weight: 700; color: var(--nm-red); margin: 0 0 6px; }
.pos-grenze p { margin: 0; font-size: 15px; line-height: 1.55; color: rgba(0,32,96,0.82); }
.pos-szenarien { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.pos-szenarien li {
  display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 12px;
  font-size: 15.5px; line-height: 1.5; color: rgba(0,32,96,0.84);
}
.pos-szenarien span {
  align-self: start; text-align: center; padding: 3px 10px; border-radius: 999px;
  font-size: 12.5px; font-weight: 700; color: var(--nm-blue); background: var(--btn-hell);
}


.pos-persona { display: grid; grid-template-columns: 1fr 1.15fr; gap: 44px; align-items: start; }
.pos-person {
  display: flex; align-items: center; gap: 16px;
  margin: 0 0 20px; padding-bottom: 18px; border-bottom: 1px solid var(--card-border);
}
.pos-initialen {
  flex: 0 0 auto; width: 60px; height: 60px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: var(--nm-blue); color: #fff; font-size: 20px; font-weight: 600; letter-spacing: 0.5px;
}
.pos-person-name { margin: 0; font-size: 20px; font-weight: 600; color: var(--nm-blue); }
.pos-person-rolle { margin: 2px 0 0; font-size: 14.5px; line-height: 1.45; color: rgba(0,32,96,0.7); }
.pos-szene > p { font-size: 17px; line-height: 1.7; color: rgba(0,32,96,0.84); margin: 0 0 22px; }


.grid.pos-kern { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pos-kern .tile { min-height: 0; }
.pos-ton {
  margin: 4px 0 0; padding-left: 18px; border-left: 3px solid rgba(0,32,96,0.25);
  font-size: 16px; line-height: 1.6; color: rgba(0,32,96,0.84);
}
.dunkel .pos-ton { border-left-color: rgba(159,186,227,0.6); color: rgba(255,255,255,0.9); }
.pos-usp-liste {
  list-style: none; margin: 26px 0 0; padding: 0;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 12px;
}
.pos-usp-liste li {
  display: flex; flex-direction: column; gap: 8px; padding: 16px 18px; border-radius: 14px;
  background: var(--card-bg); border: 1px solid var(--card-border);
  font-size: 15.5px; line-height: 1.45; color: var(--nm-blue);
}
.dunkel .pos-usp-liste li { background: rgba(255,255,255,0.07); border-color: rgba(255,255,255,0.16); color: rgba(255,255,255,0.9); }
.pos-usp-liste span { font-size: 12px; font-weight: 700; letter-spacing: 0.2px; color: var(--nm-red); }
.dunkel .pos-usp-liste span { color: #9FBAE3; }


.weg-link { font-weight: 500; }
.modal-weg { background: rgba(0,16,48,0.86); }
.modal-weg .modal-card { max-width: min(1180px, 94vw); }
.weg-flaeche { margin: 4px 0 0; }

.weg-flaeche.sofort .pw-linie,
.weg-flaeche.sofort .pw-knoten { transition: none !important; }
.weg-flaeche .pos-weg { border-radius: 14px; overflow: hidden; }
.weg-fuss {
  margin: 16px 0 0; font-size: 14.5px; line-height: 1.55;
  color: rgba(0,32,96,0.72); max-width: 760px;
}
@media (max-width: 700px) { .weg-fuss { font-size: 13.5px; } }


.bs-abschnitt { padding-top: 62px; padding-bottom: 62px; }

.bs-reihe {
  display: grid; grid-template-columns: 560px minmax(0, 1fr);
  gap: 52px; align-items: center; max-width: 1240px; margin: 0 auto;
}
.bs-reihe.gedreht { grid-template-columns: minmax(0, 1fr) 560px; }

.bs-reihe.gedreht .bs-film { grid-column: 2; grid-row: 1; }
.bs-reihe.gedreht .bs-text { grid-column: 1; grid-row: 1; }
.bs-film .bild { border-radius: 14px; overflow: hidden; }

.js .bs-text.auf:not(.da) { opacity: 0; }
.js .bs-text.da {
  animation: feld-auf .52s cubic-bezier(.34,.9,.4,1) both;
  animation-delay: .08s;
  transform-origin: left center;
}
.bs-text h2 { font-size: 31px; line-height: 1.2; margin: 6px 0 14px; }
.bs-text p { font-size: 17.5px; line-height: 1.62; color: rgba(0,32,96,0.82); margin: 0; }
.dunkel .bs-text p { color: rgba(255,255,255,0.8); }

@media (max-width: 860px) {
  
  .bs-reihe, .bs-reihe.gedreht { grid-template-columns: 1fr; gap: 22px; }
  .bs-film { max-width: 560px; }
  .bs-reihe.gedreht .bs-film { grid-column: 1; grid-row: 1; }
  .bs-reihe.gedreht .bs-text { grid-column: 1; grid-row: 2; }
  .bs-text h2 { font-size: 23px; }
}



@keyframes pos-zeile-ein {
  from { opacity: 0; transform: translateY(9px); }
  to   { opacity: 1; transform: none; }
}


.js .kar.auf:not(.da) .pos-dok ol > li { opacity: 0; }
.js .kar.da .pos-dok ol > li {
  animation: pos-zeile-ein .34s cubic-bezier(.22,.61,.36,1) both;
  animation-delay: calc(var(--i, 0) * 45ms);
}


.js .pos-otoene-kasten.auf:not(.da) li { opacity: 0; }
.js .pos-otoene-kasten.da li {
  animation: pos-zeile-ein .42s cubic-bezier(.22,.61,.36,1) both;
  animation-delay: calc(var(--i, 0) * 90ms);
}


.js .pos-wofuer .tile-list.auf:not(.da) li { opacity: 0; }
.js .pos-wofuer .tile-list.da li {
  animation: pos-zeile-ein .34s cubic-bezier(.22,.61,.36,1) both;
  animation-delay: calc(var(--i, 0) * 40ms);
}


@keyframes pos-stufe-ring {
  from { box-shadow: 0 0 0 0 rgba(0,32,96,0.38); }
  to   { box-shadow: 0 0 0 18px rgba(0,32,96,0); }
}
@keyframes pos-stufe-ring-hell {
  from { box-shadow: 0 0 0 0 rgba(159,186,227,0.5); }
  to   { box-shadow: 0 0 0 18px rgba(159,186,227,0); }
}
.js .pos-stufe-kopf.da .pos-stufe-nr {
  animation: pos-stufe-ring 1.15s .2s cubic-bezier(.2,.7,.3,1) both;
}
.js .dunkel .pos-stufe-kopf.da .pos-stufe-nr {
  animation-name: pos-stufe-ring-hell;
}



.pos-menge { display: inline-block; }
@keyframes pos-menge-ein {
  0%   { opacity: 0; transform: scale(1.5); }
  55%  { opacity: 1; transform: scale(1.12); }
  100% { opacity: 1; transform: scale(1); }
}
.js .pos-menge.auf { opacity: 1; transform: none; transition: none; }
.js .pos-menge.auf:not(.da) { opacity: 0; }
.js .pos-menge.da {
  animation: pos-menge-ein .5s cubic-bezier(.2,.8,.3,1) both;
  animation-delay: calc(var(--n, 0) * 160ms);
}

@media (prefers-reduced-motion: reduce) {
  .pos-menge, .pos-dok ol > li, .pos-otoene-kasten li,
  .pos-wofuer .tile-list li, .pos-stufe-nr { animation: none !important; opacity: 1 !important; }
}


.grid.pos-wofuer { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pos-wofuer .tile { min-height: 0; }

.pos-wofuer .tile-desc { flex: 0 0 auto; margin-bottom: 4px; }
.pos-wofuer .tile-list { flex: 1; }

.pos-wofuer .tile-list li { font-weight: 600; color: rgba(255,255,255,0.88); }
.pos-haken { margin-top: 26px; }
.pos-banner { margin-top: 56px; }

@media (max-width: 900px) {
  .pos-profil, .pos-persona { grid-template-columns: 1fr; gap: 28px; }
  .grid.pos-kern, .grid.pos-wofuer { grid-template-columns: 1fr; }
  .pos-otoene { grid-template-columns: 1fr; }
  .pos-dok { padding: 22px 20px 20px; }
  .pos-unterkopf { margin-top: 40px; }
}

.pos-einleitung .doppel-text + .doppel-text { margin-top: 22px; }
.pos-einleitung .doppel-text p { margin: 0; font-size: 17px; line-height: 1.68; color: rgba(255,255,255,0.88); }
.pos-einleitung .pos-unterkopf { margin-top: 60px; color: #fff; }
.pos-schluss { margin-top: 52px; }
.pos-schluss p { margin: 0; font-size: 17px; line-height: 1.68; color: rgba(0,32,96,0.84); }
.pos-fazit {
  margin: 36px 0 0; max-width: 1040px; padding-left: 24px; border-left: 4px solid var(--nm-red);
  font-size: 26px; line-height: 1.38; font-weight: 600; letter-spacing: -0.4px; color: var(--nm-blue);
}
@media (max-width: 900px) {
  .pos-einleitung .doppel-text + .doppel-text { margin-top: 14px; }
  .pos-fazit { font-size: 21px; padding-left: 18px; }
}


.pos-posts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin: 6px 0 36px; }
.pos-einleitung .pos-post {
  position: relative; background: var(--card-bg); border: 1px solid var(--card-border);
  border-radius: 18px; padding: 26px 28px 34px;
}
.pos-einleitung .pos-post-marke { font-size: 12.5px; font-weight: 700; letter-spacing: 0.2px; margin: 0 0 14px; color: rgba(0,32,96,0.6); }

.pos-einleitung .pos-post-marke.ohne { color: var(--nm-red); }
.pos-einleitung .pos-post-marke.mit { color: #047857; }

.pos-einleitung .doppel-text { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; }
.pos-einleitung .pos-post h3 { font-size: 21px; font-weight: 600; line-height: 1.3; letter-spacing: -0.3px; margin: 0 0 14px; color: var(--nm-blue); }
.pos-einleitung .pos-post p { font-size: 15.5px; line-height: 1.6; margin: 0 0 12px; color: rgba(0,32,96,0.86); }
.pos-einleitung .pos-post ul { list-style: none; margin: 0 0 14px; padding: 0; display: flex; flex-direction: column; gap: 8px; }

.pos-einleitung .pos-post li { position: relative; padding-left: 22px; font-size: 15.5px; line-height: 1.55; color: rgba(0,32,96,0.86); }
.pos-einleitung .pos-post li::before {
  content: ""; position: absolute; left: 6px; top: 0.62em;
  width: 6px; height: 6px; border-radius: 50%; background: rgba(0,32,96,0.55);
}
.pos-einleitung .pos-post .pos-post-tags { margin: 16px 0 0; font-size: 14.5px; color: #3f63a8; }
.pos-einleitung .pos-post img.ki-kennung {
  position: absolute; right: 18px; bottom: 16px;
  width: 24px; height: 24px; min-width: 24px; max-width: 24px; object-fit: contain; opacity: 0.9;
}
@media (max-width: 900px) {
  .pos-posts { grid-template-columns: 1fr; gap: 16px; }
  .pos-einleitung .doppel-text { grid-template-columns: 1fr; }
  .pos-einleitung .pos-post { padding: 22px 20px 34px; }
}


@media (max-width: 900px) {
  .pos-analysen .kar-reiter { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 6px; scrollbar-width: thin; }
  .pos-analysen .kar-tab { flex: 0 0 auto; white-space: nowrap; }
}
@media (max-width: 520px) {
  .pos-steckbrief { padding: 20px; }
  .pos-steckbrief dl { grid-template-columns: 1fr; gap: 2px; }
  .pos-steckbrief dd { margin-bottom: 10px; }
  .pos-szenarien li { grid-template-columns: 1fr; gap: 6px; }
  .pos-szenarien span { justify-self: start; }
}



.nach-oben {
  position: fixed; right: 24px; bottom: 24px; z-index: 50;
  width: 50px; height: 50px; padding: 0; border-radius: 50%; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  background: var(--btn-hell); color: var(--nm-blue);
  border: 2px solid rgba(255,255,255,0.85);
  box-shadow: 0 8px 24px rgba(0,32,96,0.28), 0 2px 6px rgba(0,32,96,0.18);
  opacity: 0; transform: translateY(12px) scale(0.9); pointer-events: none;
  transition: opacity .25s ease, transform .25s ease, background .2s ease;
}
.nach-oben.da { opacity: 1; transform: none; pointer-events: auto; }
.nach-oben:hover { background: #B6CBEA; }
.nach-oben:focus-visible { outline: 3px solid var(--nm-blue); outline-offset: 3px; }
.nach-oben svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 700px) { .nach-oben { right: 16px; bottom: 16px; width: 46px; height: 46px; } }
@media (prefers-reduced-motion: reduce) { .nach-oben { transition: none; } }



.pos-einleitung .pos-post { background: rgba(255,255,255,0.07); border-color: rgba(255,255,255,0.16); }
.pos-einleitung .pos-post-marke { color: rgba(255,255,255,0.6); }

.pos-einleitung .pos-post-marke.ohne { color: #FF7070; }
.pos-einleitung .pos-post-marke.mit { color: var(--nm-mint); }
.pos-einleitung .pos-post h3 { color: #fff; }
.pos-einleitung .pos-post p, .pos-einleitung .pos-post li { color: rgba(255,255,255,0.84); }
.pos-einleitung .pos-post li::before { background: rgba(255,255,255,0.55); }
.pos-einleitung .pos-post .pos-post-tags { color: #9FBAE3; }

.pos-dok { background: #D3DEEC; }



.dunkel .kar-buehne { background: rgba(255,255,255,0.07); border-color: rgba(255,255,255,0.16); }
.dunkel .kar-tab { background: rgba(255,255,255,0.08); color: #fff; border-color: rgba(255,255,255,0.22); }
.dunkel .kar-tab:hover { background: rgba(255,255,255,0.16); }
.dunkel .kar-tab .kar-nr { color: rgba(255,255,255,0.7); }
.dunkel .kar-tab.aktiv { background: #9FBAE3; color: var(--nm-blue); border-color: #9FBAE3; }
.dunkel .kar-tab.aktiv .kar-nr { color: rgba(0,32,96,0.72); }
.dunkel .kar-pfeil:hover { background: #C7D3E5; border-color: #C7D3E5; }
.dunkel .kar-buehne .kar-text h3 { color: #fff; }
.dunkel .kar-buehne .kar-text > p { color: rgba(255,255,255,0.84); }
.dunkel .kar-buehne .kar-mass { color: rgba(255,255,255,0.66); }
.dunkel .kar-buehne .haken li { color: rgba(255,255,255,0.84); }
.dunkel .kar-buehne .haken li::before { background: rgba(255,255,255,0.14); }
.dunkel .kar-buehne .haken li::after { border-color: #9FBAE3; }
.dunkel .kar-buehne .fw-hinweis { color: rgba(255,255,255,0.72); }
.dunkel .fw-knopf { background: rgba(255,255,255,0.1); color: #fff; border-color: rgba(255,255,255,0.22); }
.dunkel .fw-knopf:hover { background: rgba(255,255,255,0.18); }
.dunkel .fw-knopf.aktiv { background: #9FBAE3; color: var(--nm-blue); border-color: #9FBAE3; }
.dunkel .fw-dok-rahmen { background: rgba(255,255,255,0.08); }

.pos-analysen .kar-text > p.pos-auszug { color: rgba(255,255,255,0.9); border-left-color: rgba(252,165,165,0.7); }
.pos-analysen .kar-text > p.pos-listenkopf { color: rgba(255,255,255,0.66); }
.pos-analysen .pos-grenze { background: rgba(252,165,165,0.08); border-left-color: #FCA5A5; }
.pos-analysen .pos-grenze .pos-grenze-kopf { color: #FCA5A5; }
.pos-analysen .pos-grenze p { color: rgba(255,255,255,0.84); }
.pos-analysen .pos-szenarien li { color: rgba(255,255,255,0.84); }
.pos-analysen .pos-dok { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.14); box-shadow: none; }
.pos-analysen .pos-dok .pos-dok-art { color: #FCA5A5; }
.pos-analysen .pos-dok .pos-dok-titel { color: #fff; border-bottom-color: rgba(255,255,255,0.16); }
.pos-analysen .pos-dok li { color: rgba(255,255,255,0.84); }
.pos-analysen .pos-dok li::marker { color: rgba(255,255,255,0.5); }
.pos-analysen .pos-dok li.pos-dok-grenze { color: #FCA5A5; }
.pos-analysen .pos-dok .pos-dok-fuss { color: rgba(255,255,255,0.66); border-top-color: rgba(255,255,255,0.16); }

.fw-knopf { background: var(--card-hover); }
.fw-knopf:hover { background: #C7D3E5; }
.fw-knopf.aktiv { background: var(--nm-blue); color: #fff; border-color: var(--nm-blue); }

.bz, .bz-ueberblick { background: var(--card-hover); }
.bz.bz-offen { background: #C7D3E5; }
.baum-abschnitte li { background: var(--card-hover); }



.pw-spalten .pw-stufe circle { fill: #9FBAE3; }
.pw-spalten .pw-stufe-nr { fill: var(--nm-blue); font-weight: 700; letter-spacing: 0; text-anchor: middle; }
.pw-spalten .pw-stufe-name { fill: #fff; font-weight: 600; letter-spacing: 0; text-anchor: start; }
.pos-stufe-kopf { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 24px; align-items: start; }
.pos-stufe-nr {
  width: 64px; height: 64px; margin-top: 2px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 30px; font-weight: 700; line-height: 1;
  background: var(--nm-blue); color: #fff;
}
.dunkel .pos-stufe-nr { background: #9FBAE3; color: var(--nm-blue); }
.pos-stufe-kopf .pos-stufe-marke { font-size: 15.5px; font-weight: 700; letter-spacing: 0; color: var(--nm-blue); margin: 2px 0 6px; }
.dunkel .pos-stufe-kopf .pos-stufe-marke { color: #9FBAE3; }
@media (max-width: 700px) {
  .pos-stufe-kopf { column-gap: 14px; }
  .pos-stufe-nr { width: 48px; height: 48px; font-size: 23px; }
  .pos-stufe-kopf .pos-stufe-marke { font-size: 14px; }
}



.pos-profil-zwei { grid-template-columns: 1fr 1fr; gap: 40px; }
.pos-unterkopf-oben { margin: 0 0 14px; font-size: 19px; }
.pos-otoene-eins { grid-template-columns: 1fr; gap: 12px; }
@media (max-width: 900px) { .pos-profil-zwei { grid-template-columns: 1fr; gap: 28px; } }



.pos-otoene-kasten {
  background: var(--card-bg); border: 1px solid var(--card-border);
  border-radius: 18px; padding: 10px 26px;
}
.pos-otoene-kasten ul { list-style: none; margin: 0; padding: 0; }
.pos-otoene-kasten li {
  font-size: 16px; line-height: 1.55; color: var(--nm-blue);
  padding: 14px 0; border-top: 1px solid var(--card-border);
}
.pos-otoene-kasten li:first-child { border-top: none; }
@media (max-width: 520px) { .pos-otoene-kasten { padding: 8px 20px; } }



.pos-analysen .kar-blatt { grid-template-columns: 1fr; }
.pos-analysen .kar-medium { max-width: 860px; margin: 0 auto; }
.pos-analysen .pos-dok .pos-dok-methoden-kopf {
  margin: 20px 0 6px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,0.16);
  font-size: 12.5px; font-weight: 700; letter-spacing: 0.2px; color: #FCA5A5;
}
.pos-analysen .pos-dok .pos-dok-methoden { margin: 0; font-size: 15px; line-height: 1.55; color: rgba(255,255,255,0.84); }
.pos-analysen .pos-dok .pos-dok-fuss { border-top: none; padding-top: 16px; }



.pos-synthesen .kar-blatt { grid-template-columns: 1fr; }
.pos-synthesen .kar-medium { max-width: 860px; margin: 0 auto; }
.pos-synthesen .pos-dok .pos-dok-methoden-kopf {
  margin: 20px 0 6px; padding-top: 14px; border-top: 1px solid var(--card-border);
  font-size: 12.5px; font-weight: 700; letter-spacing: 0.2px; color: var(--nm-red);
}
.pos-synthesen .pos-dok .pos-dok-methoden { margin: 0; font-size: 15px; line-height: 1.55; color: rgba(0,32,96,0.84); }





.dunkel .haken li { color: rgba(255,255,255,0.84); }
.dunkel .haken li::before { background: rgba(255,255,255,0.14); }
.dunkel .haken li::after  { border-left-color: #9FBAE3; border-bottom-color: #9FBAE3; }
.dunkel .reihe-text p  { color: rgba(255,255,255,0.82); }
.dunkel .aufbau-text p { color: rgba(255,255,255,0.82); }
.dunkel .zf-marke { color: #fff; }
.dunkel .zf-was   { color: rgba(255,255,255,0.78); }
.dunkel .tile-status.ok   { background: rgba(45,180,99,0.28);  color: #BFF0D2; }
.dunkel .tile-status.soon { background: rgba(255,255,255,0.12); color: rgba(255,255,255,0.82); }
.dunkel .tile-status.date { background: rgba(255,255,255,0.12); color: #FCA5A5; }
.dunkel .tile-status.info { background: rgba(255,255,255,0.14); color: #fff; }





.merkmale {
  list-style: none; margin: 22px 0 20px; padding: 0;
  display: flex; flex-wrap: wrap; gap: 8px;
}
.merkmale li {
  font-size: 13.5px; font-weight: 600; line-height: 1.3;
  padding: 7px 14px; border-radius: 999px;
  color: var(--nm-blue);
  background: var(--card-bg);
  border: 1px solid var(--card-border);
}
.dunkel .merkmale li {
  color: rgba(255,255,255,0.92);
  background: rgba(255,255,255,0.10);
  border-color: rgba(255,255,255,0.22);
}
@media (max-width: 560px) {
  .merkmale li { font-size: 13px; padding: 6px 12px; }
}


.dunkel .banner .banner-text h3,
.dunkel .banner-weit h2,
.dunkel .banner .banner-text h2 { color: var(--nm-blue); }
.dunkel .banner .banner-text p { color: rgba(0,32,96,0.72); }
.dunkel .banner .section-eyebrow { color: rgba(0,32,96,0.65); }
.dunkel .banner .cta-leise .cta-oder { color: rgba(0,32,96,0.55); }


.ev-film { max-width: 1100px; margin: 34px auto 0; }
.ev-film + .grid { margin-top: 34px; }


.lms-paar .grid { grid-template-columns: 1fr; gap: 16px; }


.lms-paar .grid.ev-kacheln .tile { min-height: 0; }


#aufzeichnungen .lms-paar-links {
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
}
@media (max-width: 900px) {
  #aufzeichnungen .lms-paar-links { grid-template-columns: 1fr; }
}


.kette-programm > li { padding-top: 62px; }

.prg-zeit {
  display: inline; white-space: nowrap;
  font-size: 13.5px; font-weight: 600; letter-spacing: 0.2px;
  color: rgba(0,32,96,0.72);
}
.dunkel .prg-zeit { color: rgba(255,255,255,0.65); }
.prg-punkte { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }

.prg-punkte.weiter { margin-top: 14px; }

.prg-pause {
  display: flex; align-items: center; gap: 10px;
  font-size: 12.5px; font-weight: 600; letter-spacing: 0.3px;
  
  color: rgba(0,32,96,0.72); margin: 20px 0 0;
}
.prg-pause::after {
  content: ''; flex: 1; height: 1px; background: rgba(0,32,96,0.16);
}
.dunkel .prg-pause { color: rgba(255,255,255,0.6); }
.dunkel .prg-pause::after { background: rgba(255,255,255,0.2); }
.prg-punkte > li { display: block; }
.prg-punkte b {
  display: block; font-size: 15px; font-weight: 600; letter-spacing: -0.1px;
  color: var(--nm-blue); margin-bottom: 3px;
}
.prg-punkte span {
  display: block; font-size: 14px; line-height: 1.5; color: rgba(0,32,96,0.72);
}
.dunkel .prg-punkte b { color: #fff; }
.dunkel .prg-punkte span { color: rgba(255,255,255,0.78); }




.kette .prg-motto {
  margin: 4px 0 26px; font-size: 15px; font-weight: 600; line-height: 1.45;
  letter-spacing: -0.1px; color: var(--nm-blue);
}
.dunkel .kette .prg-motto { color: #fff; }

@media (max-width: 700px) {
  .prg-punkte span { font-size: 14.5px; }
}



.ev-film.ev-film-breit { max-width: 1600px; padding: 0 40px; margin-bottom: 40px; }
@media (max-width: 767px) {
  .ev-film.ev-film-breit { padding: 0 20px; }
}


.grid.grid-vier { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1279px) { .grid.grid-vier { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 899px)  { .grid.grid-vier { grid-template-columns: 1fr; } }


.preis-doppel { margin-top: 34px; }
.dunkel .preis-doppel p { color: rgba(255,255,255,0.82); }
.dunkel .preis-doppel b { color: #fff; }


.credits-block {
  margin-top: 40px; padding-top: 34px;
  border-top: 1px solid rgba(255,255,255,0.18);
}
.credits-block h3 { margin: 0 0 14px; font-size: 21px; letter-spacing: -0.3px; }
.credits-block p { max-width: 860px; font-size: 16.5px; line-height: 1.62; margin: 0; }
.dunkel .credits-block p { color: rgba(255,255,255,0.82); }

.credits-doppel p { max-width: none; }
.dunkel .credits-doppel p { color: rgba(255,255,255,0.82); }
.credits-vorsatz { margin-top: 26px !important; }
.dunkel .credits-vorsatz { color: rgba(255,255,255,0.7) !important; }
.credits-fakten { margin-top: 18px; padding-top: 0; border-top: 0; }


.preis-haken {
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(3, auto);
  grid-auto-flow: column;
  column-gap: 0;
  max-width: none;
  
  margin-top: 54px !important;
  padding-top: 34px;
  border-top: 1px solid rgba(255,255,255,0.18);
}
.preis-haken li { padding-left: 56px; }            
.preis-haken li::before { left: 26px; }
.preis-haken li::after { left: 31px; }

.preis-haken li:nth-child(-n+3) { padding-left: 30px; }
.preis-haken li:nth-child(-n+3)::before { left: 0; }
.preis-haken li:nth-child(-n+3)::after { left: 5px; }
@media (max-width: 1100px) {
  .preis-haken {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: none; grid-auto-flow: row; column-gap: 28px;
  }
  
  .preis-haken li, .preis-haken li:nth-child(-n+3) { padding-left: 30px; }
  .preis-haken li::before, .preis-haken li:nth-child(-n+3)::before { left: 0; }
  .preis-haken li::after, .preis-haken li:nth-child(-n+3)::after { left: 5px; }
}
@media (max-width: 767px) { .preis-haken { grid-template-columns: 1fr; } }
@media (max-width: 899px) {
  .credits-block { margin-top: 30px; padding-top: 26px; }
  .credits-fakten { margin-top: 20px; }
}


.antrag-vorschau {
  max-width: 1600px; margin: 40px auto 0; padding: 0 40px;
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.72fr);
  gap: 40px; align-items: center;
}
.antrag-mini {
  position: relative; height: 430px; overflow: hidden;
  border: 1px solid var(--card-border); border-radius: 18px;
  background: var(--card-bg); pointer-events: none;
}
.antrag-mini-inhalt {
  width: 1580px; transform: scale(0.4); transform-origin: top left;
  padding: 26px 30px;
}
.antrag-mini-schleier {
  position: absolute; left: 0; right: 0; bottom: 0; height: 150px;
  background: linear-gradient(to bottom, rgba(224,233,246,0), var(--card-bg));
}
.antrag-weg h3 { font-size: 22px; font-weight: 600; margin: 0 0 12px; letter-spacing: -0.3px; color: var(--nm-blue); }
.antrag-weg p { font-size: 15.5px; line-height: 1.6; color: rgba(0,32,96,0.75); margin: 0 0 22px; }
@media (max-width: 900px) {
  .antrag-vorschau { grid-template-columns: 1fr; gap: 24px; padding: 0 20px; }
  .antrag-mini { height: 300px; }
}




.kette .kette-knopf { margin: 14px 0 0; }
.kette-mitte .kette-knopf { display: flex; justify-content: center; }
.kette-mitte .kette-knopf-paar .cta-paar { justify-items: center; }


.kette-knopf-paar .cta-paar { grid-template-columns: 1fr; gap: 10px; max-width: none; }
.kette-knopf-paar .btn { font-size: 14px; padding: 11px 16px; }


.antrag-kette > li > p:not(.kette-knopf) { min-height: 7.8em; }
.antrag-kette .btn { width: 260px; justify-content: center; text-align: center; }
.antrag-kette .kette-knopf-paar .cta-paar { grid-template-columns: 260px; justify-content: center; }
@media (max-width: 1100px) {
  .antrag-kette > li > p:not(.kette-knopf) { min-height: 0; }
  .antrag-kette .btn { width: 100%; max-width: 320px; }
  .antrag-kette .kette-knopf-paar .cta-paar { grid-template-columns: 1fr; max-width: 320px; }
}



.modal-antrag-card {
  
  max-width: 900px; width: 100%; height: auto; max-height: 88vh; overflow: hidden;
  padding: 0; text-align: left; gap: 0;
}
.modal-antrag-kopf {
  background: var(--nm-blue); color: #fff;
  padding: 16px 30px; display: flex; align-items: center; gap: 14px;
  flex: 0 0 auto;
}
.modal-antrag-kopf h2 { color: #fff; flex: 1; padding-right: 0; margin: 0; }
.modal-antrag-card .modal-close {
  position: static; background: rgba(255,255,255,0.16); color: #fff;
  flex: 0 0 auto;
}
.modal-antrag-card .modal-close:hover { background: rgba(255,255,255,0.30); color: #fff; }
.modal-antrag-koerper {
  background: var(--body-bg); color: var(--nm-blue);
  padding: 26px 30px 30px; overflow-y: auto; flex: 1 1 auto; min-height: 0;
}
@media (max-width: 767px) {
  .modal-antrag-kopf { padding: 14px 18px; }
  .modal-antrag-koerper { padding: 20px 18px 24px; }
}

.modal-antrag-card h2 { margin-bottom: 0; font-size: 22px; letter-spacing: -0.4px; }
@media (max-width: 767px) { .modal-antrag-card h2 { font-size: 21px; } }
.honigtopf { display: none; }
.antrag-senden { margin-top: 22px; display: grid; gap: 12px; justify-items: start; }
.antrag-hinweis-klein { font-size: 13px; line-height: 1.5; color: rgba(0,32,96,0.65); margin: 0; max-width: 640px; }
.antrag-danke { padding: 10px 0 6px; }
.antrag-danke h3 { font-size: 22px; font-weight: 600; margin: 0 0 12px; color: var(--nm-blue); }
.antrag-danke p { font-size: 15.5px; line-height: 1.6; color: rgba(0,32,96,0.78); margin: 0 0 22px; max-width: 640px; }

.antrag-danke .antrag-anrede { margin: 0 0 14px; }
.antrag-danke .antrag-gruss { margin: 28px 0 20px; }
.antrag-danke .antrag-gruss span { color: var(--nm-blue); font-weight: 500; }




.seiten-kopf.rechts-kopf .innen { display: block; }
.seiten-kopf.rechts-kopf .seiten-unter { max-width: none; }
.rechtstext { max-width: 900px; margin: 0; }
.rechts-stand { font-size: 12.5px; color: rgba(0,32,96,0.6); margin: 0 0 20px; }
.rechts-blatt {
  background: var(--card-bg);
  border: 1px solid var(--card-border);
  border-radius: 18px;
  padding: 32px 36px;
}
.rechts-blatt h2 {
  font-size: 14px; font-weight: 500; color: var(--nm-blue);
  margin: 26px 0 8px; letter-spacing: 0;
}
.rechts-blatt h2:first-child { margin-top: 0; }
.rechts-blatt h3 { font-size: 13px; font-weight: 600; margin: 16px 0 6px; }
.rechts-blatt p {
  font-size: 12px; line-height: 1.7; margin: 0 0 12px;
  text-align: justify; hyphens: auto; -webkit-hyphens: auto;
  color: rgba(0,32,96,0.88);
}

.rechts-nr { font-weight: 600; color: var(--nm-blue); hyphens: none; }
.rechts-blatt ul {
  margin: 0 0 12px; padding-left: 20px;
  font-size: 12px; line-height: 1.7; color: rgba(0,32,96,0.88);
}
.rechts-blatt li { margin-bottom: 4px; }
.rechts-blatt b { font-weight: 600; color: var(--nm-blue); }

.rechts-blatt a { color: var(--nm-blue); text-decoration: underline; text-underline-offset: 2px; }
.rechts-tabelle-rahmen { overflow-x: auto; margin: 0 0 14px; }
.rechts-tabelle {
  border-collapse: collapse; width: 100%; font-size: 12px; min-width: 380px;
}
.rechts-tabelle th, .rechts-tabelle td {
  text-align: left; padding: 8px 12px;
  border-bottom: 1px solid var(--card-border);
}
.rechts-tabelle th { font-weight: 600; color: var(--nm-blue); }
.rechts-tabelle td { font-variant-numeric: tabular-nums; }
.rechts-tabelle tr:last-child td { border-bottom: none; }
.rechts-pdf { margin-top: 26px; }
.rechts-pdf svg {
  width: 17px; height: 17px; fill: none; stroke: currentColor;
  stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round;
}
@media (max-width: 620px) {
  .rechts-blatt { padding: 22px 18px; }
}



@media (max-width: 620px) {
  
  .cta-karte .btn { white-space: normal; min-width: 0; }

  
  .fw-leiste { gap: 8px; }
  .fw-knopf {
    font-size: 0; line-height: 0; padding: 0;
    width: 42px; height: 42px; border-radius: 13px;
    display: inline-flex; align-items: center; justify-content: center;
  }
  .fw-knopf::before {
    content: ''; width: 21px; height: 21px; background-color: currentColor;
    -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
    -webkit-mask-position: center; mask-position: center;
    -webkit-mask-size: 21px 21px; mask-size: 21px 21px;
  }
  .fw-knopf[data-fw="video"]::before {
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5'/%3E%3Crect x='2' y='6' width='14' height='12' rx='2'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5'/%3E%3Crect x='2' y='6' width='14' height='12' rx='2'/%3E%3C/svg%3E");
  }
  .fw-knopf[data-fw="podcast"]::before {
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3'/%3E%3C/svg%3E");
  }
  .fw-knopf[data-fw="folien"]::before {
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 3h20'/%3E%3Cpath d='M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3'/%3E%3Cpath d='m7 21 5-5 5 5'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 3h20'/%3E%3Cpath d='M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3'/%3E%3Cpath d='m7 21 5-5 5 5'/%3E%3C/svg%3E");
  }
  .fw-knopf[data-fw="dokument"]::before {
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4'/%3E%3Cpath d='M10 9H8'/%3E%3Cpath d='M16 13H8'/%3E%3Cpath d='M16 17H8'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z'/%3E%3Cpath d='M14 2v4a2 2 0 0 0 2 2h4'/%3E%3Cpath d='M10 9H8'/%3E%3Cpath d='M16 13H8'/%3E%3Cpath d='M16 17H8'/%3E%3C/svg%3E");
  }
}

@media (max-width: 767px) {
  
  .fuss-gruppe ul { gap: 0; }
  .fuss-gruppe a { display: inline-block; padding: 9px 0; }
  .footer-unten a { display: inline-block; padding: 8px 0; }
  .seiten-kopf .zurueck,
  .leistung-kopf .zurueck { padding: 8px 0; margin-bottom: 12px; }

  
  .kar-punkte { gap: 0; }
  .kar-punkt {
    width: 34px; height: 34px; background: transparent; border-radius: 50%;
    position: relative; transform: none;
  }
  .kar-punkt::after {
    content: ''; position: absolute; inset: 11.5px; border-radius: 50%;
    background: rgba(0,32,96,0.28); transition: background .25s, transform .25s;
  }
  .kar-punkt:hover { background: transparent; }
  .kar-punkt:hover::after { background: rgba(0,32,96,0.5); }
  .kar-punkt.aktiv { background: transparent; transform: none; }
  .kar-punkt.aktiv::after { background: var(--nm-red); transform: scale(1.4); }
  .dunkel .kar-punkt { background: transparent; }
  .dunkel .kar-punkt::after { background: rgba(255,255,255,0.35); }
  .dunkel .kar-punkt.aktiv::after { background: var(--nm-red); }

  
  
  
  .bk-zwei .mx {
    min-width: 0;
    grid-template-columns: minmax(58px, 0.85fr) repeat(6, minmax(0, 1fr));
    gap: 4px;
  }
  .bk-zwei .mx-ecke, .bk-zwei .mx-kopf { font-size: 10px; padding-bottom: 6px; line-height: 1.25; }
  
  .mx-lang { display: none; }
  .mx-kurz { display: inline; }
  .bk-zwei .mx-thema { font-size: 11px; padding-right: 5px; }
  .bk-zwei .mx-zelle { height: 34px; }
  .bk-zwei .mx-gewaehlt { font-size: 12px; }

  .cta-leise .cta-paar .btn { font-size: 12px; padding: 12px 10px; gap: 7px; }
  .cta-leise .cta-paar .btn .btn-sym { width: 20px; height: 20px; }

  .ba-marke { font-size: 12.5px; }
  .pos-dok .pos-dok-art { font-size: 12.5px; }

  
  .kette-programm > li { padding-top: 0; padding-left: 62px; }

  
  .vergleich-karte.ohne { text-align: left; }
  .vergleich-karte.ohne li { padding-left: 17px; padding-right: 0; }
  .vergleich-karte.ohne li::before { left: 0; right: auto; }

  
  .head-rechts { display: flex; align-items: center; }
  .nav-burger { order: 3; margin-left: 6px; }
  .btn-head   { order: 1; }
  .btn-login  { order: 2; }

  
  .section { padding: 32px 20px 40px; }
  .section-head { margin-bottom: 20px; }
  .grid { gap: 16px; }
  .tile { padding: 20px 18px 18px; }

  
  .fuss-gruppe { display: block; }
  .footer-nav { grid-template-columns: 1fr; grid-template-rows: none; gap: 0; }
  .fuss-gruppe { border-top: 1px solid var(--card-border); }
  .fuss-gruppe:first-child { border-top: none; }
  .fuss-gruppe > summary {
    pointer-events: auto; cursor: pointer;
    display: flex; align-items: center; justify-content: space-between;
    gap: 12px; padding: 13px 2px;
  }
  .fuss-gruppe > summary svg {
    display: block; flex: 0 0 auto; width: 14px; height: 14px;
    fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round;
    color: rgba(0,32,96,0.5); transition: transform .2s;
  }
  .fuss-gruppe[open] > summary svg { transform: rotate(180deg); }
  .fuss-gruppe h4 {
    min-height: 0; margin: 0; font-size: 14.5px; letter-spacing: 0;
    color: rgba(0,32,96,0.92); line-height: 1.3;
  }
  
  .fuss-gruppe ul { padding: 0 0 10px 2px; overflow: hidden; }
  .fuss-gruppe a { font-size: 14px; padding: 7px 0; color: rgba(0,32,96,0.72); }
  footer { padding: 26px 20px 22px; }
  .footer-unten { margin-top: 18px; padding-top: 14px; }
}


html.nur-antrag body { overflow: auto !important; background: var(--body-bg); }
html.nur-antrag body > .skip,
html.nur-antrag body > header,
html.nur-antrag body > .sprungleiste,
html.nur-antrag body > footer,
html.nur-antrag body > .nach-oben,
html.nur-antrag main > :not(#antragModal) { display: none !important; }
html.nur-antrag .modal-antrag {
  position: static; display: flex; background: var(--body-bg);
  min-height: 100vh; padding: 32px 16px; align-items: flex-start;
}
html.nur-antrag .modal-antrag-card { max-height: none; overflow: visible; margin: 0 auto; }
html.nur-antrag .modal-antrag-koerper { overflow: visible; }
html.nur-antrag #antragClose,
html.nur-antrag #antragFertig { display: none !important; }




.footer-copy { flex: 1 1 auto; min-width: 0; }


.platzhalter-text {
  display: block; margin: 10px 0 0; padding: 12px 16px; border-radius: 10px;
  border: 2px dashed rgba(0,32,96,0.22);
  background: repeating-linear-gradient(135deg, rgba(0,32,96,0.035) 0 14px, rgba(0,32,96,0.07) 14px 28px);
  font-size: 14px; line-height: 1.5; font-weight: 500; font-style: normal; color: rgba(0,32,96,0.7);
}
.dunkel .platzhalter-text {
  border-color: rgba(255,255,255,0.28); color: rgba(255,255,255,0.78);
  background: repeating-linear-gradient(135deg, rgba(255,255,255,0.05) 0 14px, rgba(255,255,255,0.09) 14px 28px);
}
.section-head > p.platzhalter-text { max-width: 820px; }


.im-werkzeug { margin: 10px 0 0; font-size: 15px; color: rgba(0,32,96,0.66); }
.dunkel .im-werkzeug { color: rgba(255,255,255,0.72); }


.stimmen-raster { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.stimme { margin: 0; display: flex; flex-direction: column; gap: 4px; }
.stimme .bild { max-width: 140px; border-radius: 50%; overflow: hidden; }
.stimme blockquote { margin: 12px 0 0; }
.experten-band {
  margin-top: 36px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,0.2);
  display: flex; flex-wrap: wrap; gap: 16px 28px; align-items: center; justify-content: space-between;
}
.experten-band p { margin: 0; max-width: 720px; font-size: 16px; line-height: 1.6; color: rgba(255,255,255,0.85); }
@media (max-width: 899px) { .stimmen-raster { grid-template-columns: 1fr; } }


.faq-liste { max-width: 980px; border-top: 1px solid var(--card-border); }
.faq-eintrag { border-bottom: 1px solid var(--card-border); }
.faq-eintrag > summary {
  list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between;
  gap: 16px; padding: 18px 4px; font-size: 17px; font-weight: 600; color: var(--nm-blue);
}
.faq-eintrag > summary::-webkit-details-marker { display: none; }
.faq-eintrag > summary svg {
  width: 20px; height: 20px; flex: 0 0 20px; fill: none; stroke: currentColor; stroke-width: 2;
  stroke-linecap: round; stroke-linejoin: round; transition: transform .2s ease;
}
.faq-eintrag[open] > summary svg { transform: rotate(180deg); }
.faq-eintrag > summary:hover { color: var(--nm-red); }
.faq-antwort { padding: 0 4px 20px; }
.faq-antwort p { margin: 0; max-width: 860px; font-size: 16px; line-height: 1.65; color: rgba(0,32,96,0.8); }


.hervor-reihe { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 8px; }
.hervor-kachel {
  display: flex; flex-direction: column; gap: 8px; padding: 22px 22px 18px; border-radius: 16px;
  background: var(--card-bg); border: 1px solid var(--card-border); color: var(--nm-blue);
  text-decoration: none; transition: background-color .18s ease, transform .18s ease;
}
.hervor-kachel:hover { background: var(--card-hover); transform: translateY(-3px); }
.hervor-name { font-size: 19px; font-weight: 600; }
.hervor-satz { font-size: 14.5px; line-height: 1.5; color: rgba(0,32,96,0.75); }
.hervor-pfeil svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.dunkel .hervor-kachel { background: rgba(255,255,255,0.08); border-color: rgba(255,255,255,0.2); color: #fff; }
.dunkel .hervor-kachel:hover { background: rgba(255,255,255,0.14); }
.dunkel .hervor-satz { color: rgba(255,255,255,0.78); }
@media (max-width: 899px) { .hervor-reihe { grid-template-columns: 1fr; } }


.beispiel-raster { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.beispiel { margin: 0; }
.beispiel figcaption { margin-top: 10px; display: flex; flex-direction: column; gap: 4px; font-size: 15px; color: var(--nm-blue); }
.beispiel figcaption b { font-weight: 600; }
@media (max-width: 899px) { .beispiel-raster { grid-template-columns: 1fr; } }


.uebergreifend { margin-top: 40px; }
.uebergreifend h3 { margin: 0 0 14px; font-size: 22px; font-weight: 600; color: #fff; }
.dunkel .uebergreifend .haken li { color: rgba(255,255,255,0.86); }
.ts-dazu { margin-top: 22px; max-width: 980px; }


.preis-ust { display: block; margin-top: 10px; font-size: 18px; font-weight: 500; letter-spacing: 0; color: rgba(255,255,255,0.8); }
.preis-fuss { margin: 26px 0 0; font-size: 14.5px; line-height: 1.6; color: rgba(255,255,255,0.78); max-width: 820px; }
.preis-fuss a { color: #fff; text-decoration: underline; }


.credit-rechner {
  margin-top: 34px; padding: 26px 26px 22px; border-radius: 16px;
  background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.22); max-width: 820px;
}
.credit-rechner h4 { margin: 0 0 16px; font-size: 19px; font-weight: 600; color: #fff; }
.cr-zeilen { display: flex; flex-direction: column; gap: 10px; }
.cr-zeile { display: flex; align-items: center; justify-content: space-between; gap: 16px; font-size: 15px; color: rgba(255,255,255,0.9); }
.cr-zeile em { display: block; font-style: normal; font-size: 13px; color: rgba(255,255,255,0.65); }
.cr-zeile input {
  width: 96px; flex: 0 0 96px; padding: 8px 10px; border-radius: 9px; font: inherit; font-size: 15px;
  border: 1px solid rgba(255,255,255,0.35); background: #EEF4FC; color: var(--nm-blue); text-align: right;
}
.cr-ergebnis { margin: 18px 0 0; font-size: 17px; color: #fff; }
.cr-ergebnis b { font-weight: 600; }
.credit-rechner.cr-drueber .cr-ergebnis span { color: #FCA5A5; }
.cr-fuss { margin: 10px 0 0; font-size: 13px; line-height: 1.55; color: rgba(255,255,255,0.65); }


.eckdaten { margin: 22px 0 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 24px; max-width: 980px; }
.eckdaten dt { font-size: 13px; font-weight: 600; letter-spacing: .4px; text-transform: uppercase; color: rgba(0,32,96,0.6); }
.eckdaten dd { margin: 4px 0 0; font-size: 15.5px; color: var(--nm-blue); }
.eckdaten dd.platzhalter-text { margin-top: 6px; }
@media (max-width: 760px) { .eckdaten { grid-template-columns: 1fr; } }


.kat-zusatz { margin: 22px auto 0; max-width: 980px; text-align: center; font-size: 16px; line-height: 1.6; color: rgba(255,255,255,0.82); padding: 0 20px; }


.cta-antrag { margin: 16px 0 0; font-size: 14.5px; text-align: center; color: inherit; opacity: .85; }
.cta-antrag a { color: inherit; text-decoration: underline; }
.gaeste { margin-top: 18px; }

.lr-text { margin: 16px 0 0; font-size: 16px; line-height: 1.65; color: rgba(0,32,96,0.8); }
.dunkel .lr-text { color: rgba(255,255,255,0.84); }
.punkte a { color: inherit; text-decoration: none; }
.punkte a:hover { text-decoration: underline; }


.start-kategorie { background: #D3E0F2; padding: 96px 0 80px; }
.start-kategorie-innen { max-width: 1600px; margin: 0 auto; padding: 0 40px; }
.start-kategorie h2 { margin: 0; font-size: clamp(30px, 3.6vw, 48px); line-height: 1.15; font-weight: 700; letter-spacing: -0.4px; color: #002060; }
.start-kategorie p { margin: 18px 0 0; font-size: 18px; line-height: 1.5; font-weight: 700; color: rgba(0,32,96,0.78); }


.videoplatzhalter { aspect-ratio: 16 / 10; width: 100%; background: #E0E9F6; border: 1px dashed rgba(0,32,96,0.3); border-radius: 12px; display: flex; align-items: center; justify-content: center; color: rgba(0,32,96,0.6); font-size: 15px; }


.firma-kopf { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.firma-logo { height: 56px; width: auto; display: block; }
.firma-kopf h2 { margin: 0; }


.webinar-form { max-width: 560px; margin: 32px auto 0; display: flex; flex-direction: column; gap: 18px; }
.webinar-form label { display: flex; flex-direction: column; gap: 6px; font-size: 15px; font-weight: 500; }
.webinar-form input { font: inherit; font-size: 16px; padding: 12px 14px; border-radius: 10px; border: 1px solid rgba(0,32,96,0.3); background: #D3E0F2; color: #002060; }
.webinar-hinweis { min-height: 1.4em; margin: 0; color: #960000; font-size: 15px; }


.modal-card.panel-kopf-dunkel { padding: 0 0 24px; overflow: hidden; }
.modal-card.panel-kopf-dunkel h2 { background: #002060; color: #FFFFFF; margin: 0; padding: 22px 56px 22px 28px; font-size: 21px; line-height: 1.3; }
.modal-card.panel-kopf-dunkel .modal-close { top: 14px; right: 14px; z-index: 2; background: rgba(255,255,255,0.16); color: #FFFFFF; }
.modal-card.panel-kopf-dunkel .modal-close:hover { background: rgba(255,255,255,0.3); color: #FFFFFF; }
.modal-card.panel-kopf-dunkel .modal-close svg { stroke: #FFFFFF; }
.modal-card.panel-kopf-dunkel .modal-inhalt { padding: 0 28px; }


.bild img.ki-kennung, .cta-bild .ki-kennung, .tile-bild .ki-kennung, .zf-bild .ki-kennung { width: 40px; height: auto; min-width: 0; max-width: 40px; border-radius: 0; }
.koepfe .bild img.ki-kennung { width: 20px; min-width: 0; max-width: 20px; height: auto; }


.antrag-knopf-wrap { text-align: center; margin-top: 48px; }
.antrag-knopf-wrap .btn { font-size: 18px; padding: 18px 44px; }


.antrag-zahlhinweis { margin: 28px 0 8px; padding: 22px 24px; border-radius: 14px; border: 2px solid #002060; background: #FFFFFF; color: #002060; }
.antrag-zahlhinweis h3 { margin: 0 0 12px; font-size: 19px; color: #002060; }
.antrag-zahlhinweis p { margin: 0 0 10px; font-size: 16px; line-height: 1.55; color: #002060; }
.antrag-zahlhinweis .antrag-nichts { font-size: 17px; font-weight: 700; }
.antrag-bestaetigung { display: flex; gap: 12px; align-items: flex-start; margin-top: 14px; font-size: 16px; line-height: 1.5; cursor: pointer; }
.antrag-bestaetigung input { margin-top: 5px; width: 20px; height: 20px; flex: 0 0 auto; }

.zahl-knoepfe { display: flex; gap: 12px; justify-content: flex-end; flex-wrap: wrap; margin-top: 8px; }


#zahlModal { z-index: 300; }



.uebergreifend .haken.haken-breit { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; max-width: none; }
.uebergreifend .haken.haken-breit li { break-inside: avoid; }
@media (max-width: 1279px) { .uebergreifend .haken.haken-breit { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 899px)  { .uebergreifend .haken.haken-breit { grid-template-columns: 1fr; } }


.preis-vergleich { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 40px; align-items: start; margin: 36px 0 44px; }
.preis-karte { background: #D3E0F2; color: #002060; border-radius: 18px; padding: 32px 30px; }
.preis-karte-kopf { margin: 0 0 10px; font-size: 16px; font-weight: 600; letter-spacing: .2px; }
.preis-karte-zahl { margin: 0; font-size: 72px; line-height: 1; font-weight: 700; letter-spacing: -1px; }
.preis-karte-zusatz { margin: 8px 0 22px; font-size: 16px; }
.preis-karte-liste { list-style: none; margin: 0; padding: 0; }
.preis-karte-liste li { padding: 10px 0 10px 28px; border-top: 1px solid rgba(0,32,96,0.18); position: relative; font-size: 15px; line-height: 1.5; }
.preis-karte-liste li::before { content: ""; position: absolute; left: 0; top: 16px; width: 12px; height: 7px; border-left: 2px solid #002060; border-bottom: 2px solid #002060; transform: rotate(-45deg); }
.preis-tabelle-wrap { color: #FFFFFF; }
.preis-tabelle-titel { margin: 0 0 12px; font-size: 16px; font-weight: 600; }
.preis-tabelle { width: 100%; border-collapse: collapse; font-size: 15px; }
.preis-tabelle td { padding: 9px 4px; border-bottom: 1px solid rgba(255,255,255,0.16); }
.preis-tabelle td:last-child { text-align: right; white-space: nowrap; }
.preis-tabelle .preis-summe td { font-weight: 700; border-top: 2px solid rgba(255,255,255,0.5); border-bottom: none; padding-top: 14px; }
.preis-tabelle .preis-gesamt td { font-weight: 700; border-bottom: none; }
.preis-tabelle-fuss { margin: 14px 0 0; font-size: 14px; line-height: 1.5; opacity: .85; }
.preis-warum { max-width: 900px; margin: 0 0 44px; }
.preis-warum h3 { margin: 0 0 12px; font-size: 22px; color: #FFFFFF; }
.preis-warum p { margin: 0; font-size: 17px; line-height: 1.6; color: rgba(255,255,255,0.9); }
@media (max-width: 899px) { .preis-vergleich { grid-template-columns: 1fr; gap: 28px; } .preis-karte-zahl { font-size: 56px; } }


.dunkel .preis-karte, .preis-karte { color: #002060; }
.dunkel .preis-karte p, .dunkel .preis-karte li, .preis-karte p, .preis-karte li { color: #002060; }
.preis-vergleich { align-items: stretch; }
.preis-karte { display: flex; flex-direction: column; }
.preis-karte-liste { flex: 1 1 auto; }

.preis-vergleich-hinweis { margin: 16px 0 0; font-size: 15px; line-height: 1.5; color: rgba(255,255,255,0.9); }
.preis-quellen { margin-top: 14px; font-size: 13px; color: rgba(255,255,255,0.8); }
.preis-quellen summary { cursor: pointer; font-size: 14px; color: #FFFFFF; }
.preis-quellen ul { list-style: none; margin: 10px 0 0; padding: 0; columns: 2; column-gap: 24px; }
.preis-quellen li { margin: 0 0 6px; break-inside: avoid; }
.preis-quellen a { color: rgba(255,255,255,0.9); text-decoration: underline; }
@media (max-width: 899px) { .preis-quellen ul { columns: 1; } }


.preis-tabelle-titel { font-size: 22px; font-weight: 600; margin: 0 0 16px; }
.preis-warum { max-width: calc((100% - 40px) / 2.25); }
@media (max-width: 899px) { .preis-warum { max-width: none; } }


.preis-unten { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 40px; align-items: start; margin: 0 0 44px; }
.preis-unten .preis-warum { max-width: none; margin: 0; }
.preis-unten .credits-block { margin: 0; }
@media (max-width: 899px) { .preis-unten { grid-template-columns: 1fr; gap: 28px; } }


.preis-vergleich { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: stretch; }
.preis-tabelle-wrap { border: 1px solid rgba(255,255,255,0.28); border-radius: 18px; padding: 30px 28px; box-sizing: border-box; }
.preis-unten { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
@media (max-width: 899px) { .preis-vergleich, .preis-unten { grid-template-columns: 1fr; } }


.preis-quellen { margin: 28px 0 0; }
.preis-quellen ul { columns: 3; column-gap: 32px; }
@media (max-width: 899px) { .preis-quellen ul { columns: 1; } }
@media (min-width: 900px) and (max-width: 1100px) { .preis-quellen ul { columns: 2; } }


.preis-quellen summary { display: inline-block; cursor: pointer; font-size: 17px; font-weight: 600; color: #FFFFFF; padding: 12px 22px; border: 2px solid #FFFFFF; border-radius: 999px; list-style: none; }
.preis-quellen summary::-webkit-details-marker { display: none; }
.preis-quellen[open] summary { background: #FFFFFF; color: #002060; }
.preis-quellen { font-size: 15px; }
.preis-quellen ul { columns: 5; column-gap: 28px; margin-top: 16px; }
.preis-quellen li { margin: 0 0 7px; }
@media (max-width: 1199px) { .preis-quellen ul { columns: 3; } }
@media (max-width: 899px) { .preis-quellen ul { columns: 2; } }
@media (max-width: 560px) { .preis-quellen ul { columns: 1; } }

.preis-unten .credits-block { border-top: none; padding-top: 0; margin-top: 0; }
.preis-unten .preis-warum h3, .preis-unten .credits-block h3 { margin: 0 0 14px; font-size: 24px; line-height: 1.25; color: #FFFFFF; }


.preis-quellen { margin: 44px 0 56px; }


#werkzeuge .tile .tile-watermark { color: rgba(0,32,96,0.24); }


.preis-quellen-anker { margin-top: 26px; }
.preis-quellen-knopf { font: inherit; font-size: 16px; font-weight: 600; color: #FFFFFF; background: transparent; border: 2px solid #FFFFFF; border-radius: 999px; padding: 12px 22px; cursor: pointer; }
.preis-quellen-knopf:hover { background: rgba(255,255,255,0.12); }
.preis-quellen-liste { margin: 48px 0 84px; }
.preis-quellen-liste[hidden] { display: none; }
.preis-quellen-titel { margin: 0 0 14px; font-size: 18px; font-weight: 600; color: #FFFFFF; }
.preis-quellen-liste ul { columns: 5; column-gap: 28px; list-style: none; margin: 0; padding: 0; font-size: 15px; }
.preis-quellen-liste li { margin: 0 0 7px; break-inside: avoid; }
.preis-quellen-liste a { color: rgba(255,255,255,0.9); text-decoration: underline; }
@media (max-width: 1199px) { .preis-quellen-liste ul { columns: 3; } }
@media (max-width: 899px) { .preis-quellen-liste ul { columns: 2; } }
@media (max-width: 560px) { .preis-quellen-liste ul { columns: 1; } }


#werkzeuge .tile .tile-watermark { color: #002060; opacity: 0.85; width: 56px; height: 56px; top: 22px; right: 22px; transform: none; }
#werkzeuge .tile .tile-watermark svg { stroke-width: 1.6; }


#werkzeuge .tile .tile-icon { width: 48px; height: 48px; border-radius: 12px; background: #D3E0F2; display: flex; align-items: center; justify-content: center; margin: 0 0 16px; }
#werkzeuge .tile .tile-icon svg { width: 26px; height: 26px; }


#werkzeuge .tile .tile-icon { width: 48px; height: 48px; border-radius: 10px; background: #9FBAE3; display: flex; align-items: center; justify-content: center; margin: 0 0 16px; }
#werkzeuge .tile .tile-icon svg { width: 28px; height: 28px; display: block; }


.modal .modal-card.modal-quellen { width: min(1180px, 94vw); max-width: 1180px; }
.modal-quellen .modal-inhalt { padding: 0 28px 28px; }
.modal-quellen .quellen-liste { columns: 4; column-gap: 36px; overflow-wrap: anywhere; list-style: none; margin: 0; padding: 0; font-size: 15px; color: #002060; }
.modal-quellen .quellen-liste li { margin: 0 0 7px; break-inside: avoid; }
.modal-quellen .quellen-liste a { color: #002060; text-decoration: underline; }
@media (max-width: 1199px) { .modal-quellen .quellen-liste { columns: 3; } }
@media (max-width: 899px) { .modal-quellen .quellen-liste { columns: 2; } }
@media (max-width: 560px) { .modal-quellen .quellen-liste { columns: 1; } }


.credits-doppel { grid-template-columns: 1fr; }



.modal-quellen .preis-vergleich-hinweis { color: #002060; margin: 0 0 22px; font-size: 16px; line-height: 1.6; }


@media (max-width: 899px) {
  
  .leistung-innen,
  .leistung-innen.gedreht { grid-template-columns: minmax(0, 1fr) !important; }
  .leistung-bild, .leistung-text { min-width: 0; max-width: 100%; }
  
  .leistung .punkte li { white-space: normal; }
  
  .reihe { grid-template-columns: minmax(0, 1fr); }
  .reihe-bild { min-width: 0; max-width: 100%; }
}

.leistung ol.punkte { display: block; list-style: decimal outside; padding-left: 1.4em; margin: 0; }
.leistung ol.punkte li { display: list-item; }
.leistung ol.punkte li::before { content: none; }
