nav a.aktiv{text-decoration:underline;text-underline-offset:4px;}
  header{padding:32px 0;}
  .kopfzeile{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;width:100%;padding:0 40px;box-sizing:border-box;}

  .gruss-block{display:grid;grid-template-columns:1fr 1fr;}
  .gruss-block .bild{aspect-ratio:1/1;overflow:hidden;}
  .gruss-block .bild img{width:100%;height:100%;object-fit:cover;display:block;}
  .gruss-block .txt{display:flex;align-items:center;justify-content:center;text-align:center;padding:10%;}
  .gruss-block h1{font-weight:300;font-size:56px;line-height:1.15;}
  @media(max-width:820px){.gruss-block{grid-template-columns:1fr;}.gruss-block h1{font-size:36px;}}

  .intro{padding:140px 0 100px;}
  .intro p{font-weight:300;font-size:26px;line-height:1.5;max-width:780px;margin:0 0 40px;}
  .intro p:last-child{margin-bottom:0;}


  .formular{padding:20px 0 160px;}
  .formular .wrap{max-width:1100px;}
  .formular .feld{margin-bottom:52px;}
  .formular label{display:block;font-weight:500;font-size:16px;margin-bottom:8px;}
  .formular .hinweis{font-weight:300;font-size:14px;color:#555;margin-bottom:14px;}
  .formular input,.formular textarea{width:100%;background:var(--weiss);border:1px solid var(--schwarz);padding:14px 16px;font-family:inherit;font-size:16px;color:var(--schwarz);box-sizing:border-box;}
  .formular textarea{min-height:90px;resize:vertical;}
  .formular .zwei{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
  .formular .privat{font-weight:300;font-size:13px;color:#555;margin-top:8px;}
  .formular label.checkbox{display:flex;align-items:center;gap:8px;font-weight:300;font-size:14px;margin-top:14px;}
  .formular label.checkbox input{width:auto;}
  .formular .nl-hinweis{font-weight:300;font-size:13px;color:#555;max-width:520px;margin:0 0 16px;}
  .formular button{display:inline-block;background:var(--schwarz);color:var(--weiss);border:none;padding:18px 48px;font-family:inherit;font-size:15px;letter-spacing:1px;cursor:pointer;margin-top:8px;}
  @media(max-width:600px){
    .formular .feld{margin-bottom:40px;}
    .formular .zwei{grid-template-columns:1fr;gap:0;}
  }

  footer{background:var(--schwarz);color:var(--weiss);padding:52px 0 44px 0;}
  footer .wrap{max-width:1640px;}
  footer a{color:var(--weiss);text-decoration:none;font-size:13px;display:block;margin-bottom:6px;}
  footer .caption{color:var(--weiss);margin-bottom:12px;display:block;font-size:11px;}
  .fgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;}
  .nl input{width:100%;background:var(--weiss);border:none;padding:10px 12px;font-family:inherit;font-size:13px;margin-bottom:8px;color:var(--schwarz);}
  .nl button{background:var(--weiss);color:var(--schwarz);border:none;padding:10px 20px;font-family:inherit;font-size:13px;cursor:pointer;}
  .nl p{font-size:11px;line-height:1.5;margin-top:12px;}
  .nl .nl-form{margin:0;}
  .nl .nl-danke{font-size:11px;line-height:1.5;margin-top:10px;}
  .nl .nl-danke[hidden]{display:none;}
  .nl p a{display:inline;font-size:inherit;margin:0;text-decoration:underline;text-underline-offset:2px;}
  .fclaim{font-weight:300;font-size:16px;line-height:1.4;}

  @media(max-width:820px){
    .fgrid{grid-template-columns:1fr;}
  }

  /* FRAG. · Konsistenz-Pass
     Hero und Bewegungslogik wie auf Startseite / eins:eins / Notizen. */

  .hero-v2{
    margin-top:-1px;
    overflow:hidden;
    background:var(--weiss) !important;
  }
  .hero-v2 .bild{
    position:relative;
    overflow:hidden;
    background:var(--weiss);
    line-height:0;
  }
  .hero-v2 .bild img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transform-origin:center center;
    backface-visibility:hidden;
  }
  .hero-v2 .txt{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    background:transparent !important;
    text-align:left;
  }
  .hero-v2 .txt::before{
    content:'';
    position:absolute;
    z-index:-1;
    inset:-1px;
    background:var(--salbei);
    transform:translate3d(0,0,0);
    will-change:transform;
  }
  .hero-v2 .txt h1{
    font-size:56px;
    line-height:1.08;
    font-weight:300;
  }

  .js .hero-v2 .bild{
    clip-path:inset(0 100% 0 0);
  }
  .js .hero-v2 .bild img{
    transform:scale(1.045);
  }
  .js .hero-v2 .txt::before{
    transform:translate3d(101%,0,0);
  }

  .js .hero-v2.is-visible .bild{
    animation:frag-hero-image-reveal 1150ms cubic-bezier(.22,.75,.18,1) 80ms both;
  }
  .js .hero-v2.is-visible .bild img{
    animation:frag-hero-image-settle 1500ms cubic-bezier(.22,.75,.18,1) 80ms both;
  }
  .js .hero-v2.is-visible .txt::before{
    animation:frag-hero-panel-in 1120ms cubic-bezier(.22,.78,.18,1) 120ms both;
  }

  @keyframes frag-hero-image-reveal{
    from{clip-path:inset(0 100% 0 0);}
    to{clip-path:inset(0 0 0 0);}
  }
  @keyframes frag-hero-image-settle{
    from{transform:scale(1.045);}
    to{transform:scale(1.012);}
  }
  @keyframes frag-hero-panel-in{
    from{transform:translate3d(101%,0,0);}
    to{transform:translate3d(0,0,0);}
  }

  .hero-hi-mask{
    display:block;
    overflow:hidden;
    padding:.08em .08em .14em 0;
  }
  .hero-hi-inner{
    display:block;
    transform-origin:left bottom;
  }
  .js .hero-v2 .hero-hi-inner{
    opacity:0;
    transform:translate3d(0,105%,0) rotate(1.4deg) scale(.96);
    filter:blur(7px);
    letter-spacing:.09em;
  }
  .js .hero-v2.is-visible .hero-hi-inner{
    animation:frag-hero-title-in 880ms cubic-bezier(.16,.82,.22,1) 1320ms both;
  }
  @keyframes frag-hero-title-in{
    0%{
      opacity:0;
      transform:translate3d(0,105%,0) rotate(1.4deg) scale(.96);
      filter:blur(7px);
      letter-spacing:.09em;
    }
    62%{
      opacity:1;
      transform:translate3d(0,-3%,0) rotate(-.2deg) scale(1.01);
      filter:blur(0);
      letter-spacing:.015em;
    }
    100%{
      opacity:1;
      transform:translate3d(0,0,0) rotate(0) scale(1);
      filter:blur(0);
      letter-spacing:0;
    }
  }

  /* Dezente Scroll-Reveals für Intro, Formular und Footer.
     Erst aktiv, wenn das jeweilige Element in den Viewport kommt. */
  .js .scroll-reveal{
    opacity:0;
    transform:translate3d(0,24px,0);
    transition:
      opacity 780ms cubic-bezier(.22,.75,.18,1),
      transform 780ms cubic-bezier(.22,.75,.18,1);
    transition-delay:var(--reveal-delay,0ms);
    will-change:opacity,transform;
  }
  .js .scroll-reveal.is-visible{
    opacity:1;
    transform:translate3d(0,0,0);
  }

  @media(max-width:820px){
    .hero-v2{
      display:grid;
      grid-template-columns:1fr !important;
      background:var(--weiss) !important;
    }
    .hero-v2 .bild{
      width:100%;
      aspect-ratio:1/1;
    }
    .hero-v2 .txt{
      width:100%;
      min-height:clamp(230px,66vw,330px);
      padding:8%;
      justify-content:center !important;
      align-items:center !important;
      background:transparent !important;
    }
    .hero-v2 .txt::before{
      inset:-2px;
      width:calc(100% + 4px);
      height:calc(100% + 4px);
    }
    .hero-v2 .txt h1{
      width:100%;
      font-size:clamp(44px,12vw,64px) !important;
      text-align:center !important;
    }
    .hero-v2 .hero-hi-mask,
    .hero-v2 .hero-hi-inner{
      width:100%;
      text-align:center;
    }
    .hero-v2 .hero-hi-inner{
      transform-origin:center bottom;
    }

    /* Kleine Konsistenzkorrektur:
       der große Intro-Abstand fällt mobil etwas kompakter aus. */
    .intro{
      padding:96px 0 72px;
    }
    .formular{
      padding-top:12px;
    }
  }

  @media(prefers-reduced-motion:reduce){
    .js .hero-v2 .bild,
    .js .hero-v2 .bild img,
    .js .hero-v2 .txt::before,
    .js .hero-v2 .hero-hi-inner,
    .js .scroll-reveal{
      animation:none !important;
      transition:none !important;
      opacity:1 !important;
      transform:none !important;
      filter:none !important;
      clip-path:none !important;
    }
  }


  /* HEADER · Sticky + mobiles Burgermenü
     Desktop bleibt optisch unverändert. Keine Linie, kein Schatten. */
  header{
    position:sticky;
    top:0;
    z-index:1000;
    background:var(--weiss);
    border:0 !important;
    box-shadow:none !important;
  }

  .menu-toggle{
    display:none;
    appearance:none;
    -webkit-appearance:none;
    width:44px;
    height:44px;
    padding:10px;
    margin:0;
    border:0;
    background:transparent;
    color:var(--schwarz);
    cursor:pointer;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:6px;
  }
  .menu-toggle span{
    display:block;
    width:24px;
    height:1.5px;
    background:currentColor;
    transform-origin:center;
    transition:
      transform 280ms cubic-bezier(.22,.75,.18,1),
      opacity 180ms ease;
  }

  @media(max-width:820px){
    header{
      padding:22px 0;
    }
    .kopfzeile{
      flex-wrap:nowrap;
      gap:16px;
      padding:0 24px;
    }

    .menu-toggle{
      display:flex;
      margin-left:auto;
      flex:0 0 auto;
    }

    header nav{
      position:absolute;
      top:100%;
      left:0;
      right:0;
      display:flex;
      flex-direction:column;
      align-items:flex-start;
      gap:0;
      padding:18px 24px 30px;
      background:var(--weiss);
      border:0 !important;
      box-shadow:none !important;
      opacity:0;
      visibility:hidden;
      pointer-events:none;
      transform:translate3d(0,-10px,0);
      transition:
        opacity 220ms ease,
        transform 320ms cubic-bezier(.22,.75,.18,1),
        visibility 0s linear 320ms;
    }
    header nav a{
      display:inline-block;
      margin-left:0 !important;
      padding:9px 0;
      font-size:24px;
      line-height:1.35;
    }

    header.menu-open nav{
      opacity:1;
      visibility:visible;
      pointer-events:auto;
      transform:translate3d(0,0,0);
      transition:
        opacity 220ms ease,
        transform 320ms cubic-bezier(.22,.75,.18,1),
        visibility 0s;
    }

    header.menu-open .menu-toggle span:first-child{
      transform:translateY(3.75px) rotate(45deg);
    }
    header.menu-open .menu-toggle span:last-child{
      transform:translateY(-3.75px) rotate(-45deg);
    }
  }

  @media(prefers-reduced-motion:reduce){
    .menu-toggle span,
    header nav{
      transition:none !important;
    }
  }



  /* Seiten-CSS */
  h2{font-weight:300 !important;}
  .fall-kopf{padding:140px 0 0;}
  .fall-kopf .kicker{display:block;font-weight:400;font-size:13px;letter-spacing:1px;text-transform:uppercase;color:#888;margin-bottom:24px;}
  .fall-kopf h1{font-weight:300;font-size:60px;line-height:1.1;max-width:18ch;}

  .ergebnis{padding:100px 0;margin-top:90px;}
  .ergebnis h2{font-weight:300;font-size:32px;margin:0 0 34px;}
  .ergebnis p{font-weight:300;font-size:19px;line-height:1.8;max-width:64ch;margin:0;}

  .fall-text{padding:100px 0 0;}
  .fall-text h2{font-weight:300;font-size:32px;margin:0 0 34px;}
  .fall-text p{font-weight:300;font-size:19px;line-height:1.8;max-width:64ch;margin:0 0 28px;}
  .fall-zitat{padding:80px 0 0;}
  .fall-zitat p{font-weight:300;font-size:26px;line-height:1.5;max-width:44ch;border-left:2px solid var(--schwarz);padding-left:26px;}
  .fall-zitat .name{border:none;padding-left:28px;font-weight:400;font-size:16px;margin-top:16px;}
  .fall-zurueck{padding:110px 0 150px;}
  .fall-zurueck a{font-size:16px;}
  @media(max-width:900px){.fall-kopf h1{font-size:36px;}.ergebnis .zwei{grid-template-columns:1fr;row-gap:20px;}}


  .arbeitsprobe-liste li{font-family:'Poppins',Helvetica,Arial,sans-serif;font-style:normal;}
  .fall-zitat p{font-family:'Newsreader',Georgia,'Times New Roman',serif;font-style:normal;}
  .fall-zitat .name{font-family:'Poppins',Helvetica,Arial,sans-serif;font-style:normal;}

  .fall-zitat p{font-family:'Newsreader',Georgia,'Times New Roman',serif;font-style:normal;font-weight:400;font-size:clamp(24px,2.9vw,42px);line-height:1.4;text-align:center;max-width:none;margin-left:auto;margin-right:auto;}

  /* H1-Stufen: Salbeifeld 96, Textfluss 56 */
  h1{font-size:56px !important;line-height:1.15;font-weight:300 !important;}
  @media(max-width:820px){h1{font-size:36px !important;}}
  .gruss-block h1, .k-hero h1{font-size:96px !important;line-height:1.05;font-weight:300 !important;}
  @media(max-width:820px){.gruss-block h1, .k-hero h1{font-size:48px !important;}}

  /* TEXTSTUFEN · Fließtext 18 · Vorspann 22 · Caption 13 */
  p, li{font-size:18px !important;line-height:1.65 !important;}
  .fuer-wen-kurz, .k-hero-text, .frage, .wirkung p, .drei-muster,
  .intro p, .auftakt, .intro-copy p, .einleitung, .t-vorspann{font-size:22px !important;line-height:1.6 !important;}
  .caption, .kicker, .frage-titel, .privat, .hinweis, .nl-hinweis, .cal-hinweis,
  .datum, .herkunft, .notizen-titel, .fclaim, .stimme .name, .fall-zitat .name,
  .jahre, .stimme-name, footer p, footer li, .methodengruppe li span, .video-bu,
  .buchen .caption, .btn-zeile .caption{font-size:13px !important;line-height:1.5 !important;}
  .quote-feature, .fall-zitat p, .wirkung-zitat p, .leitsatz p,
  .grosszitat .quote-feature, .quote-section .quote-feature{font-size:clamp(24px,2.9vw,42px) !important;line-height:1.4 !important;}
  .stimme p:not(.name):not(.stimme-name){font-size:26px !important;line-height:1.45 !important;}
  .preis{font-size:26px !important;}
  .methodengruppe .name{font-size:24px !important;}

  /* Zitatschrift Newsreader Light */
  .quote-feature, .fall-zitat p, .wirkung-zitat p, .leitsatz p,
  .grosszitat .quote-feature, .quote-section .quote-feature,
  .stimme p:not(.name):not(.stimme-name), .inline-quote{font-weight:300 !important;}

  /* Große Zitate: Newsreader ExtraLight. Stimmen und kleine Zitate bleiben Light. */
  .quote-feature, .fall-zitat p, .wirkung-zitat p, .leitsatz p,
  .grosszitat .quote-feature, .quote-section .quote-feature{font-weight:300 !important;}
  .fall-zitat .name{font-family:'Poppins',Helvetica,Arial,sans-serif !important;font-weight:300 !important;}

/* Buchstaben-Erscheinen der Hero-Wörter */
.hero-hi-inner .bst-wort{display:inline-block;white-space:nowrap;}
.hero-hi-inner .bst{display:inline-block;opacity:0;transform:translateY(0.18em);animation:bst-ein .5s ease forwards;}
@keyframes bst-ein{to{opacity:1;transform:translateY(0);}}
@media (prefers-reduced-motion: reduce){.hero-hi-inner .bst{animation:none;opacity:1;transform:none;}}
