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;}
  .t-titel{font-weight:300;font-size:76px;line-height:1.05;}
  .t-vorspann{font-weight:300;font-size:24px;line-height:1.6;max-width:52ch;}
  .t-kapitel{font-weight:300;font-size:34px;line-height:1.25;margin-bottom:30px;max-width:24ch;}
  .t-text{font-weight:300;font-size:19px;line-height:1.75;max-width:64ch;margin:0 0 26px;}
  .t-text:last-child{margin-bottom:0;}
  .t-gross{font-weight:300;font-size:30px;line-height:1.45;max-width:30ch;}
  .t-akzent{font-weight:400;font-size:20px;line-height:1.5;margin-top:26px;}

  /* --- Abstaende: ein Wert fuer alle Abschnitte --- */
  .abschnitt{padding:180px 0;}
  .leitsatz{padding:260px 0 150px;}
  .einleitung .t-text{max-width:none;}
  .leitsatz p{font-family:'Newsreader',Georgia,'Times New Roman',serif;font-style:normal;font-weight:400;font-size:clamp(18px,2.05vw,31px);line-height:1.45;max-width:none;text-align:center;}
  @media(max-width:820px){.leitsatz{padding:130px 0 110px;}.leitsatz p{font-size:26px;}.leitsatz br{display:none;}}
  .abschnitt.eng{padding:70px 0;}
  .kopf{padding:150px 0 40px;}
  .kopf .kicker{display:block;font-weight:400;font-size:13px;letter-spacing:1px;text-transform:uppercase;color:#888;margin-bottom:26px;}
  .kopf .t-vorspann{margin-top:40px;}

  /* --- Die drei Felder: gleiche Bauform, immer Salbei --- */
  .feld{padding:110px 0;}
  .feld .zwei{display:grid;grid-template-columns:1fr 1.6fr;column-gap:110px;align-items:start;}
  .feld .name{font-weight:400;font-size:34px;line-height:1.2;}
  .feld .nr{display:block;font-weight:300;font-size:13px;letter-spacing:1px;color:#3f4438;margin-bottom:14px;}

  a.inline{color:var(--schwarz);}
  .k-hero{padding:120px 0 0;}
  .k-hero .kicker{display:block;font-weight:400;font-size:13px;letter-spacing:1px;text-transform:uppercase;color:#888;margin-bottom:22px;}
  .k-hero h1{font-weight:300;font-size:64px;line-height:1.1;margin-bottom:36px;}
  .k-hero p{font-weight:300;font-size:24px;line-height:1.55;max-width:44ch;}

  .k-hero{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    padding:0;
    background:var(--weiss);
  }
  .k-hero .k-hero-panel{
    position:absolute;
    z-index:-1;
    inset:0;
    background:var(--salbei);
    transform:translate3d(0,0,0);
    will-change:transform;
  }
  .k-hero .wrap{
    min-height:520px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    padding-top:88px;
    padding-bottom:92px;
  }
  .k-hero .kicker{
    display:block;
    font-weight:500;
    font-size:13px;
    line-height:1.5;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#4e5149;
    margin-bottom:28px;
  }
  .k-hero h1{
    max-width:13ch;
    font-size:clamp(54px,5.2vw,82px);
    line-height:1.04;
    letter-spacing:-.025em;
    margin:0 0 42px;
  }
  .k-hero .k-hero-text{
    max-width:47ch;
    margin:0;
    font-weight:300;
    font-size:22px;
    line-height:1.65;
  }

  .foto-band{
    display:block;
    width:100%;
    margin:0;
    overflow:hidden;
  }
  .foto-band img{
    display:block;
    width:100%;
    height:auto;
  }
  .foto-band{margin:110px 0;}
  .hintergrund{padding:180px 0 260px;}
  .hintergrund .t-kapitel{margin-bottom:30px;}
  .cot-spalten{column-count:2;column-gap:80px;}
  .mehrdazu{margin-top:56px;font-weight:300;font-size:19px;}
  .cot-spalten .t-text{max-width:none;}
  .cot-spalten .t-text:last-child{margin-bottom:0;}
  @media(max-width:900px){.cot-spalten{column-count:1;column-gap:0;}}
  .hintergrund > .wrap > .t-text{max-width:none;}
  .methodenraster{display:grid;grid-template-columns:1fr 1fr;column-gap:80px;align-items:stretch;}
  .rechte-spalte{display:flex;flex-direction:column;}
  .methodenraster .rechte-spalte .werdegang{margin-top:auto;margin-bottom:71px;}
  .methodengruppe{margin-top:72px;}
  @media(max-width:900px){.methodenraster{grid-template-columns:1fr;column-gap:0;}}
  .methodengruppe .name{font-weight:400;font-size:24px;line-height:1.3;margin-bottom:30px;}
  .methodengruppe .herkunft{display:block;font-weight:300;font-size:13px;letter-spacing:1px;text-transform:uppercase;color:#888;margin-bottom:14px;}
  .methodengruppe ul{list-style:none;margin:0;}
  .methodengruppe li{font-weight:300;font-size:19px;line-height:1.75;margin-bottom:26px;}
  .methodengruppe li:last-child{margin-bottom:0;}
  .methodengruppe li span{display:block;font-size:13px;letter-spacing:0.04em;line-height:1.5;color:#4d5246;margin-top:4px;}
  .hintergrund .werdegang{margin-top:56px;font-weight:300;font-size:19px;}
  @media(max-width:900px){.methodengruppe .name{font-size:22px;}}
  .btn-zeile{padding:0 0 150px;}
  .btn-zeile .btn{display:inline-block;background:var(--schwarz);color:var(--weiss);text-decoration:none;padding:18px 44px;font-size:15px;letter-spacing:1px;}
  .btn-zeile .caption{margin-top:16px;color:#555;}
  @media(max-width:900px){
    .feld .zwei{grid-template-columns:1fr;row-gap:24px;}
    .t-titel{font-size:34px;}
    .t-gross{font-size:24px;}
  }


  .leitsatz 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;}
  .leitsatz p{font-size:clamp(20px,2.5vw,36px) !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;}
.krisen-satz{margin-top:36px;font-weight:300;font-size:16px !important;line-height:1.6 !important;max-width:48ch;color:#3d4237;}

/* 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;}}
