    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --blue:       #2E508A;
      --blue-dark:  #22406E;
      --blue-mid:   #26497F;
      --blue-deep:  #0D1F40;
      --blue-light: #EEF3FA;
      --blue-subtle:#D8E6F5;
      --text:       #1a2640;
      --muted:      #4E6079;
      --white:      #ffffff;
      --border:     #C8D8EE;
      --gold:       #9a5200;
      --erfolg:     #1E7A4A;
      --fokus:      0 0 0 3px rgba(46,80,138,.45);
      --fokus-hell: 0 0 0 3px rgba(255,255,255,.6);
      --radius:     10px;
      --shadow:     0 4px 24px rgba(28,48,96,.10);
      --shadow-lg:  0 12px 48px rgba(28,48,96,.18);
    }

    html { scroll-behavior: smooth; }

    /* Tastaturfokus – Web-Spezifikation, Kapitel 4 */
    a:focus-visible, button:focus-visible, input:focus-visible,
    textarea:focus-visible, select:focus-visible, [tabindex]:focus-visible {
      outline: none;
      box-shadow: var(--fokus);
      border-radius: 6px;
    }
    .hero a:focus-visible, .hero button:focus-visible,
    .elearning a:focus-visible, .elearning button:focus-visible,
    footer a:focus-visible {
      box-shadow: var(--fokus-hell);
    }

    body {
      font-family: Calibri, Carlito, 'Segoe UI', Arial, sans-serif;
      color: var(--text);
      background: var(--white);
      line-height: 1.6;
      -webkit-font-smoothing: antialiased;
    }

    /* ── UTILITY ─────────────────────────────── */
    .container { max-width: 1140px; margin: 0 auto; padding: 0 24px; }

    .badge {
      display: inline-flex; align-items: center; gap: 6px;
      background: var(--blue-light); color: var(--blue);
      font-size: .84rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
      padding: 5px 14px; border-radius: 100px;
      border: 1px solid var(--blue-subtle);
    }
    .section-title {
      font-size: clamp(1.8rem, 4vw, 2.8rem);
      font-weight: 700; line-height: 1.15; letter-spacing: -.01em;
    }
    .section-sub {
      margin-top: 12px; font-size: 1.15rem; color: var(--muted);
      max-width: 640px; margin-inline: auto; text-align: center;
    }

    .btn {
      display: inline-flex; align-items: center; gap: 8px;
      padding: 13px 28px; border-radius: var(--radius);
      font-size: 1rem; font-weight: 700; font-family: inherit;
      text-decoration: none; border: none; cursor: pointer;
      transition: all .2s ease;
    }
    .btn-primary { background: var(--blue); color: var(--white); }
    .btn-primary:hover { background: var(--blue-mid); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(46,80,138,.4); }
    .btn-white { background: var(--white); color: var(--blue); }
    .btn-white:hover { background: var(--blue-light); transform: translateY(-2px); }
    .btn-outline-white { background: transparent; color: var(--white); border: 2px solid rgba(255,255,255,.5); }
    .btn-outline-white:hover { background: rgba(255,255,255,.12); transform: translateY(-2px); }
    .btn-outline-blue { background: transparent; color: var(--blue); border: 2px solid var(--blue-subtle); }
    .btn-outline-blue:hover { background: var(--blue-light); transform: translateY(-2px); }

    /* ── SVG ICONS ───────────────────────────── */
    .icon { display: block; }
    .icon-blue { color: var(--blue); }
    .icon-white { color: rgba(255,255,255,.85); }


    /* ── DECORATIVE DOTS ─────────────────────── */
    .dots-bg {
      position: relative;
    }
    .dots-bg::before {
      content: '';
      position: absolute; inset: 0;
      background-image: radial-gradient(circle, rgba(76,111,170,.08) 1px, transparent 1px);
      background-size: 28px 28px;
      pointer-events: none;
    }

    /* ── RESPONSIVE ──────────────────────────── */
    @media (max-width: 900px) {
      .hero-grid { grid-template-columns: 1fr; }
      .countdown-card { max-width: 460px; }
      .stats-inner { grid-template-columns: repeat(2,1fr); }
      .stat-item { border-right: none; border-bottom: 1px solid rgba(255,255,255,.15); padding: 14px; }
      .stat-item:last-child { grid-column: 1 / -1; border-bottom: none; }
      .journey-grid { grid-template-columns: 1fr; max-width: 440px; margin-inline: auto; }
      .problem-grid { grid-template-columns: 1fr; }
      .solution-box { position: static; }
      .services-grid { grid-template-columns: 1fr; max-width: 460px; margin-inline: auto; }
      .guarantee-inner { grid-template-columns: 1fr; padding: 32px 24px; }
      .elearning-inner { grid-template-columns: 1fr; gap: 36px; }
      .testsims-top { grid-template-columns: 1fr; }
      .testsims-vorort { grid-template-columns: 1fr 1fr; }
      .process-steps { grid-template-columns: 1fr 1fr; gap: 24px; }
      .process-steps::before, .process-steps::after { display: none; }
      .testimonials-grid { grid-template-columns: 1fr; max-width: 500px; margin-inline: auto; }
      .packages-grid { grid-template-columns: 1fr; max-width: 400px; margin-inline: auto; }
    }
    @media (max-width: 560px) {
      .stats-inner { grid-template-columns: 1fr 1fr; }
      .testsims-vorort { grid-template-columns: 1fr; }
      .process-photo-wrap { height: 200px; }
    }
