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

  .platzhalter{display:inline-block;background:var(--orange);color:#fff;font-size:11px;letter-spacing:0.04em;text-transform:uppercase;padding:4px 10px;margin-bottom:16px;}

  /* GRUSS: großes quadratisches Bild + Farbblock, wie die anderen Seiten */
  .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;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;}}

  .neuester{padding:120px 0 100px;}
  .neuester h2{font-weight:300;font-size:40px;line-height:1.2;margin:18px 0 40px;max-width:24ch;}
  .neuester .datum{font-size:14px;color:#666;}
  .neuester .body p{font-weight:300;font-size:20px;line-height:1.75;max-width:62ch;}
  .neuester .body p + p{margin-top:32px;}

  .aeltere{padding:0 0 120px;}
  .aeltere .notizen-titel{font-weight:400;font-size:15px;letter-spacing:1px;text-transform:uppercase;color:#888;margin-bottom:56px;}

  .bruecke{padding:0 0 100px;text-align:center;}
  .bruecke p{font-weight:300;font-size:22px;line-height:1.7;max-width:640px;margin:0 auto;}
  .bruecke a{color:inherit;text-decoration:underline;text-underline-offset:4px;}
  .aeltere-liste{list-style:none;max-width:66ch;}
  .aeltere-liste li{border-top:1px solid var(--schwarz);padding:32px 0;}
  .aeltere-liste li:first-child{border-top:none;padding-top:0;}
  
  .aeltere-liste .titel{font-size:24px;font-weight:400;text-decoration:none;display:block;margin-bottom:8px;}
  .aeltere-liste .erste-zeilen{font-weight:300;font-size:16px;color:#555;max-width:56ch;}
  .aeltere-liste .datum{font-size:13px;color:#888;margin-top:8px;display:block;}

  .stimmen{padding:150px 0;}
  .stimme{margin:80px auto 0;max-width:52ch;text-align:center;}
  .stimme:first-of-type{margin-top:0;}
  .stimme p{font-family:'Poppins',Helvetica,Arial,sans-serif;font-weight:300;font-size:26px;line-height:1.5;}
  .stimme .name{font-family:'Poppins',Helvetica,Arial,sans-serif;font-weight:400;font-size:15px;margin-top:20px;}

  /* FRAG MICH: dunkler Block, große Typo, minimal, wie qfq */
  .fragmich{padding:180px 0;text-align:center;}
  .fragmich h2{font-weight:300;font-size:64px;line-height:1.1;color:var(--schwarz);}
  .fragmich p{font-weight:300;font-size:20px;line-height:1.6;max-width:44ch;margin:32px auto 0;color:#555;}
  .btn{display:inline-block;background:var(--schwarz);color:var(--weiss);padding:16px 36px;font-size:15px;text-decoration:none;}
  .fragmich .btn{margin-top:48px;}

  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;}
    .fragmich h2{font-size:40px;}
  }


  /* STARTSEITE · Feinschliff 10.08.2026
     Linksbündige Textblöcke + Georgia-Zitate + dezente Scroll-Reveals */
  .hero-v2{
    /* Verhindert den schmalen Salbei-Blitzer oberhalb/entlang der Bildhälfte. */
    margin-top:-1px;
    overflow:hidden;
    background:linear-gradient(90deg,var(--weiss) 0 50%,var(--salbei) 50% 100%);
  }
  .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{
    text-align:left !important;
  }

  /* Zentrierte Position bleibt erhalten – nur der Satz innerhalb des Blocks wird linksbündig. */
  .quote-feature.breit{max-width:none;margin:0;}
  @media(max-width:820px){.quote-feature.breit{font-size:28px !important;}}
  .quote-feature{
    max-width:26ch;
    margin:0 auto;
    text-align:left;
    font-family:'Newsreader',Georgia,'Times New Roman',serif !important;
    font-style:normal;
    font-weight:400 !important;
  }

  .intro-copy{
    width:min(100%,22ch);
    text-align:left;
  }
  .intro-copy .btn{
    margin-left:0;
  }

  /* Stimmen: Quote Georgia Italic, Name bewusst wieder Poppins Regular. */
  .stimme{
    text-align:left;
  }
  .stimme p:not(.name):not(.stimme-name){
    font-family:'Newsreader',Georgia,'Times New Roman',serif;
    font-style:normal;
    font-weight:400;
  }
  .stimme .name{
    font-family:'Poppins',Helvetica,Arial,sans-serif;
    font-style:normal;
    font-weight:400;
  }
  .inline-quote{
    font-family:'Newsreader',Georgia,'Times New Roman',serif;
    font-style:normal;
    font-weight:400;
  }

  /* Frag.-Block bleibt als Block mittig positioniert, der Satz selbst ist linksbündig. */
  .fragmich{
    text-align:left;
  }
  .fragmich-inner{
    width:min(100%,44ch);
    margin:0 auto;
    text-align:left;
  }
  .fragmich-inner p{
    margin:32px 0 0;
  }

  /* HERO: Bild öffnet sich ruhig, Hi. kommt zeitversetzt dazu. */
  .js .hero-v2 .bild{
    clip-path:inset(0 100% 0 0);
  }
  .js .hero-v2 .bild img{
    transform:scale(1.045);
  }
  .js .hero-v2 .txt h1{
    opacity:0;
    transform:translate3d(0,24px,0);
  }
  .js .hero-v2.is-visible .bild{
    animation:hero-image-reveal 1150ms cubic-bezier(.22,.75,.18,1) 80ms both;
  }
  .js .hero-v2.is-visible .bild img{
    animation:hero-image-settle 1500ms cubic-bezier(.22,.75,.18,1) 80ms both;
  }
  .js .hero-v2.is-visible .txt h1{
    animation:hero-hi-in 780ms cubic-bezier(.22,.75,.18,1) 500ms both;
  }
  @keyframes hero-image-reveal{
    from{clip-path:inset(0 100% 0 0);}
    to{clip-path:inset(0 0 0 0);}
  }
  @keyframes hero-image-settle{
    from{transform:scale(1.045);}
    to{transform:scale(1.012);}
  }
  @keyframes hero-hi-in{
    from{opacity:0;transform:translate3d(0,24px,0);}
    to{opacity:1;transform:translate3d(0,0,0);}
  }

  /* Scroll-Reveals: erst aktiv, wenn das jeweilige Element in den Viewport kommt. */
  .js .scroll-reveal{
    opacity:0;
    transform:translate3d(0,26px,0);
    transition:
      opacity 820ms cubic-bezier(.22,.75,.18,1),
      transform 820ms cubic-bezier(.22,.75,.18,1);
    transition-delay:var(--reveal-delay,0ms);
    will-change:opacity,transform;
  }
  .js .scroll-reveal.reveal-side{
    transform:translate3d(34px,0,0);
  }
  .js .scroll-reveal.reveal-image{
    opacity:1;
    transform:none;
    clip-path:inset(0 0 0 100%);
    transition:clip-path 1050ms cubic-bezier(.22,.75,.18,1);
    will-change:clip-path;
  }
  .js .scroll-reveal.is-visible{
    opacity:1;
    transform:translate3d(0,0,0);
    clip-path:inset(0 0 0 0);
  }

  @media(max-width:820px){
    .quote-feature{
      max-width:30ch;
      font-size:31px !important;
    }
    .intro-copy{
      width:min(100%,28ch);
    }
    .fragmich-inner{
      width:min(100%,34ch);
    }
    .js .scroll-reveal.reveal-side{
      transform:translate3d(0,22px,0);
    }
  }

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



  /* STARTSEITE · Transition-Pass 2
     Hero-Gegenbewegung, scrollbasierter Typewriter und breiterer Intro-Block */

  /* Hero: beide Hälften kommen gegeneinander in den Raum. Die Salbeifläche ist
     ein eigenständiges Paneel, damit sie auch mobil garantiert 100 % Breite hat. */
  .hero-v2{
    background:var(--weiss) !important;
    margin-top:-1px;
    overflow:hidden;
  }
  .hero-v2 .txt{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    background:transparent !important;
  }
  .hero-v2 .txt::before{
    content:'';
    position:absolute;
    z-index:-1;
    inset:-1px;
    background:var(--salbei);
    transform:translate3d(0,0,0);
    will-change:transform;
  }
  .js .hero-v2 .txt::before{
    transform:translate3d(101%,0,0);
  }
  .js .hero-v2.is-visible .txt::before{
    animation:hero-panel-in 1120ms cubic-bezier(.22,.78,.18,1) 120ms both;
  }
  @keyframes hero-panel-in{
    from{transform:translate3d(101%,0,0);}
    to{transform:translate3d(0,0,0);}
  }

  /* Das Hi. wartet bewusst, bis die Farbfläche komplett steht. Anschließend
     kommt es wie aus einer typografischen Maske – leicht unscharf und mit
     gespannter Laufweite, die sich beim Einrasten beruhigt. */
  .hero-hi-mask{
    display:block;
    overflow:hidden;
    padding:.08em .08em .14em 0;
  }
  .hero-hi-inner{
    display:block;
    transform-origin:left bottom;
  }
  .js .hero-v2 .txt h1{
    opacity:1 !important;
    transform:none !important;
  }
  .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:hero-hi-signature 880ms cubic-bezier(.16,.82,.22,1) 1320ms both;
  }
  @keyframes hero-hi-signature{
    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;
    }
  }

  /* Quote direkt nach dem Hero: echter, aber ruhiger Typewriter. Die Wörter
     bleiben zusammen, die Buchstaben erscheinen nacheinander. */
  .typewriter-quote .type-word{
    display:inline-block;
    white-space:nowrap;
  }
  .js .typewriter-quote .type-char{
    display:inline-block;
    opacity:0;
    transform:translate3d(0,.16em,0);
    transition:
      opacity 100ms linear,
      transform 190ms cubic-bezier(.22,.75,.18,1);
    transition-delay:calc(var(--char-index) * 18ms);
    will-change:opacity,transform;
  }
  .js .typewriter-quote.is-visible .type-char{
    opacity:1;
    transform:translate3d(0,0,0);
  }

  /* Folgende Bild/Text-Sektion: mehr Raum für den Text und ein robustes,
     dezentes Bild-Reveal, das nicht per Clip-Path verschwinden kann. */
  .intro-block{
    grid-template-columns:44% 56%;
  }
  .intro-block .txt{
    padding:7%;
  }
  .intro-block .intro-copy{
    width:min(100%,46ch) !important;
    max-width:46ch;
  }
  .intro-block .bild,
  .intro-block .bild img{
    visibility:visible !important;
  }
  .js .intro-block .bild.scroll-reveal.reveal-image{
    clip-path:none !important;
    opacity:0;
    transform:translate3d(-34px,0,0) scale(1.018);
    transition:
      opacity 850ms cubic-bezier(.22,.75,.18,1),
      transform 1100ms cubic-bezier(.22,.75,.18,1);
    will-change:opacity,transform;
  }
  .js .intro-block .bild.scroll-reveal.reveal-image.is-visible{
    opacity:1;
    transform:translate3d(0,0,0) scale(1);
  }

  @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:flex-start !important;
      align-items:center;
      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(62px,21vw,96px) !important;
      text-align:left;
    }
    .intro-block{
      grid-template-columns:1fr !important;
    }
    .intro-block .txt{
      padding:12% 8%;
    }
    .intro-block .intro-copy{
      width:100% !important;
      max-width:none;
    }
    .intro-block .intro-copy p{
      font-size:clamp(22px,6.1vw,28px) !important;
    }
    .js .intro-block .bild.scroll-reveal.reveal-image{
      transform:translate3d(-18px,0,0) scale(1.01);
    }
  }

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


  /* STARTSEITE · Feinschliff 3
     Mobile Hero-Zentrierung + Intro-Sektion exakt auf Bildhöhe */

  /* Desktop: Die rechte Textfläche bekommt keine eigene quadratische Höhe mehr.
     Damit bestimmt das quadratische Bild links die Höhe der gesamten Grid-Zeile. */
  .intro-block{
    align-items:stretch;
  }
  .intro-block .txt{
    aspect-ratio:auto !important;
    min-height:0;
  }

  /* Mobile: Hi. sauber mittig in der vollflächigen Salbeifläche. */
  @media(max-width:820px){
    .hero-v2 .txt{
      justify-content:center !important;
      align-items:center !important;
    }
    .hero-v2 .txt h1{
      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;
    }
  }


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

  .quote-section .quote-feature{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;}
  .intro-copy p{font-size:30px !important;line-height:1.5 !important;}
  .intro-copy{width:min(100%,24ch);}
  @media(max-width:820px){.intro-copy p{font-size:22px !important;}}
  @media(max-width:820px){.quote-section .quote-feature br{display:none;}}

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

.knoten-start{padding:200px 0;}
.knoten-start h2{font-weight:300;font-size:56px;}
.knoten-start .kicker{display:block;font-weight:400;font-size:13px;letter-spacing:1px;text-transform:uppercase;color:#888;margin-bottom:12px;}
.knoten-claim{font-size:22px !important;font-weight:300;margin-top:14px;}
.situationen{display:grid;grid-template-columns:repeat(4,1fr);column-gap:64px;margin:56px 0 120px;}
.situation{display:grid;grid-template-rows:subgrid;grid-row:span 3;align-content:start;}
@media(max-width:1000px){.situationen{grid-template-columns:1fr 1fr;row-gap:64px;}}
@media(max-width:600px){.situationen{grid-template-columns:1fr;}}
.situation .s-titel{font-size:13px !important;letter-spacing:1px;text-transform:uppercase;color:#666;margin-bottom:16px;}
.situation .s-text{font-size:18px !important;line-height:1.65 !important;font-weight:300;margin-bottom:22px;}
.situation .s-oton{font-size:22px !important;line-height:1.5 !important;font-weight:400;}
.knoten-mehr{font-size:18px !important;font-weight:300;margin-bottom:28px;max-width:62ch;}
  .umbau-marke{font-weight:500;}
.knoten-start .btn{display:inline-block;background:#000;color:#fff;padding:16px 24px;font-size:13px;text-decoration:none;margin-top:44px;}

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