/* =========================================================
   Stephany Kahl — Seminare
   Farbschema übernommen von stephanykahlcoaching.de
   ========================================================= */

:root{
  --forest:#425646;
  --forest-deep:#354538;
  --forest-dark:#2b382e;
  --sage:#98B58F;
  --sage-soft:#c4d5be;
  --cream:#F0EED1;
  --sand:#F0ECE8;
  --gold:#E7D04D;
  --gold-deep:#d4bb33;      /* nur Flächen, Linien, Rahmen */
  --gold-text:#8a7a22;      /* große Schrift auf hellem Grund (>= 3:1) */
  --gold-ink:#6f611a;       /* kleine Schrift und Links (>= 4.5:1) */
  --sage-text:#64775e;      /* Beschriftungen auf Weiß (>= 4.5:1) */
  --coral:#F09170;
  --ink:#2F2B29;
  --ink-soft:#5b554f;

  --font:'Roboto',-apple-system,system-ui,'Segoe UI',sans-serif;
  --serif:'Cormorant Garamond',Georgia,serif;

  --nav-h:84px;
  --wrap:1240px;
  --pad:clamp(20px,5vw,48px);

  /* Alle vertikalen Maße folgen Breite UND Höhe des Viewports,
     damit jede Section auf flachen Fenstern kompakt bleibt. */
  --sec-pad:clamp(42px,min(7.2vw,8.9vh),104px);
  --sec-gap:clamp(24px,min(4.2vw,5.2vh),58px);
  --box-pad:clamp(18px,min(2.6vw,3.1vh),32px);
  --stack:clamp(12px,min(1.9vw,2.4vh),24px);
  --media-max:min(44svh,420px);
  --r-lg:28px;
  --r-md:18px;
  --r-sm:12px;

  --shadow-sm:0 4px 18px rgba(47,43,41,.07);
  --shadow-md:0 18px 50px -20px rgba(47,43,41,.28);
  --shadow-lg:0 40px 90px -40px rgba(47,43,41,.45);

  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
}
*,*::before,*::after{box-sizing:border-box}
html{
  scroll-behavior:smooth;
  scroll-padding-top:110px;
  -webkit-text-size-adjust:100%;
  /* verhindert waagerechtes Scrollen durch Reveal-/Parallax-Verschiebungen */
  overflow-x:clip;
}
body{
  margin:0;
  font-family:var(--font);
  font-size:clamp(16px,1.02vw,17.5px);
  line-height:1.75;
  color:var(--ink);
  background:var(--cream);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;height:auto}
a{color:inherit}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3{
  font-weight:700;
  letter-spacing:-.02em;
  line-height:1.12;
  margin:0 0 .5em;
  color:var(--forest);
}
h1{font-size:clamp(2.5rem,6.2vw,4.6rem)}
h2{font-size:clamp(1.8rem,min(3.9vw,5.4vh),3.4rem)}
h3{font-size:clamp(1.08rem,min(1.65vw,2.3vh),1.45rem);line-height:1.3}
h1 em,h2 em,h3 em{
  font-family:var(--serif);
  font-style:italic;
  font-weight:400;
  letter-spacing:0;
  color:var(--gold-text);
}
p{margin:0 0 1.15em}
/* Fließtext in Karten und Listen etwas kompakter als der Grundtext,
   damit die Sections auf eine Bildschirmhöhe passen */
.split-sec__text p,
.sec-head__lead{line-height:1.62}
.wrap{
  width:100%;
  max-width:var(--wrap);
  margin-inline:auto;
  padding-inline:var(--pad);
}
.skip-link{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--forest);color:#fff;padding:12px 20px;border-radius:0 0 10px 0;
}
.skip-link:focus{left:0}
:focus-visible{outline:3px solid var(--gold-deep);outline-offset:3px;border-radius:6px}
/* ============ Scroll progress ============ */
.scroll-progress{
  position:fixed;top:0;left:0;right:0;height:3px;z-index:120;
  background:transparent;pointer-events:none;
}
.scroll-progress span{
  display:block;height:100%;width:0%;
  background:linear-gradient(90deg,var(--gold),var(--sage));
  transition:width .1s linear;
}
/* ============ Buttons ============ */
.btn{
  --btn-bg:var(--gold);
  --btn-fg:var(--forest);
  position:relative;
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  padding:14px 28px;
  border-radius:999px;
  background:var(--btn-bg);
  color:var(--btn-fg);
  font-weight:600;
  font-size:.95rem;
  letter-spacing:.01em;
  text-decoration:none;
  white-space:nowrap;
  overflow:hidden;
  isolation:isolate;
  transition:transform .45s var(--ease-out),box-shadow .45s var(--ease-out),background .35s ease,color .35s ease;
}
.btn::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.55) 50%,transparent 80%);
  transform:translateX(-130%);
  transition:transform .8s var(--ease-out);
}
.btn:hover{transform:translateY(-3px);box-shadow:0 14px 28px -12px rgba(47,43,41,.5)}
.btn:hover::after{transform:translateX(130%)}
.btn:active{transform:translateY(-1px)}
.btn--lg{padding:17px 36px;font-size:1rem}
.btn--gold{--btn-bg:var(--gold);--btn-fg:var(--forest)}
.btn--dark{--btn-bg:var(--forest);--btn-fg:#fff}
.btn--ghost{
  --btn-bg:transparent;--btn-fg:var(--forest);
  box-shadow:inset 0 0 0 1.5px rgba(66,86,70,.35);
}
.btn--ghost:hover{--btn-bg:var(--forest);--btn-fg:#fff}
.btn--outline-light{
  --btn-bg:transparent;--btn-fg:#fff;
  box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.45);
}
.btn--outline-light:hover{--btn-bg:#fff;--btn-fg:var(--forest)}
.link-arrow{
  display:inline-flex;align-items:center;gap:.5em;
  font-weight:600;text-decoration:none;color:var(--forest);
  border-bottom:1.5px solid rgba(66,86,70,.28);
  padding-bottom:3px;
  transition:gap .35s var(--ease-out),border-color .3s ease,color .3s ease;
}
.link-arrow span{transition:transform .35s var(--ease-out)}
.link-arrow:hover{gap:.9em;border-color:var(--gold-deep);color:var(--gold-ink)}
/* ============ Nav ============ */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:110;
  background:rgba(66,86,70,.98);
  transition:background .4s ease,box-shadow .4s ease,padding .4s ease;
}
.nav--scrolled{
  background:rgba(53,69,56,.92);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 10px 34px -20px rgba(0,0,0,.7);
}
.nav__inner{
  max-width:var(--wrap);margin-inline:auto;
  padding:18px var(--pad);
  display:flex;align-items:center;gap:24px;
  transition:padding .4s ease;
}
.nav--scrolled .nav__inner{padding-block:11px}
.nav__logo img{
  height:46px;width:auto;
  transition:height .4s ease,transform .4s var(--ease-out);
}
.nav--scrolled .nav__logo img{height:36px}
.nav__logo:hover img{transform:scale(1.04)}
.nav__links{
  margin-left:auto;
  display:flex;align-items:center;gap:clamp(14px,1.6vw,28px);
}
.nav__links a{
  position:relative;
  color:rgba(255,255,255,.9);
  text-decoration:none;
  font-size:.92rem;font-weight:500;
  padding:4px 0;
  transition:color .3s ease;
}
.nav__links a::after{
  content:"";position:absolute;left:0;bottom:-2px;
  height:2px;width:100%;background:var(--gold);
  transform:scaleX(0);transform-origin:right;
  transition:transform .4s var(--ease-out);
}
.nav__links a:hover{color:#fff}
.nav__links a:hover::after{transform:scaleX(1);transform-origin:left}
.nav__links a.is-active{color:var(--gold)}
.nav__links a.is-active::after{transform:scaleX(1)}
.nav__cta{padding:11px 22px;font-size:.9rem}
.nav__cta-mobile{display:none}
.nav__burger{
  display:none;
  width:44px;height:44px;
  background:none;border:0;cursor:pointer;
  padding:10px;
}
.nav__burger span{
  display:block;height:2px;width:100%;background:#fff;border-radius:2px;
  transition:transform .4s var(--ease-out),opacity .25s ease;
}
.nav__burger span+span{margin-top:6px}
.nav__burger.is-open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.nav__burger.is-open span:nth-child(2){opacity:0}
.nav__burger.is-open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
/* ============ Hero ============ */
.hero{
  position:relative;
  display:flex;
  align-items:center;
  /* etwas unter 100svh, damit der Leitgedanke darunter bereits anteasert */
  min-height:calc(100svh - clamp(0px,11vh,150px));
  padding:calc(var(--nav-h) + clamp(16px,4.5vh,58px)) 0 clamp(32px,5vh,72px);
  background:var(--cream);
  overflow:hidden;
}
.hero__blob{
  position:absolute;border-radius:50%;filter:blur(90px);opacity:.5;
  pointer-events:none;
  animation:blob 18s ease-in-out infinite alternate;
}
.hero__blob--1{
  width:min(48vw,560px);aspect-ratio:1;
  background:var(--sage);top:-14%;right:-8%;
}
.hero__blob--2{
  width:min(38vw,420px);aspect-ratio:1;
  background:var(--gold);bottom:-18%;left:-10%;opacity:.32;
  animation-delay:-7s;
}
@keyframes blob{
  0%{transform:translate3d(0,0,0) scale(1)}
  100%{transform:translate3d(-30px,40px,0) scale(1.14)}
}
.hero__grid{
  position:relative;z-index:2;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:clamp(36px,5vw,72px);
  align-items:center;
}
/* Hero-Typografie folgt Breite UND Höhe,damit alles ins Bild passt */
.hero__title{
  font-size:clamp(2.3rem,min(5.6vw,7.6vh),4.6rem);
  margin-bottom:clamp(10px,2.2vh,22px);
}
.hero__lead{
  font-size:clamp(.96rem,min(1.2vw,2.1vh),1.2rem);
  line-height:1.62;
  color:var(--ink-soft);
  max-width:46ch;
  margin-bottom:clamp(16px,3vh,28px);
}
.hero .eyebrow{margin-bottom:clamp(10px,2vh,18px)}
.eyebrow{
  display:inline-flex;align-items:center;gap:.6em;
  font-size:.78rem;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--forest);
  margin:0 0 1.1em;
}
.eyebrow::before{
  content:"";width:34px;height:2px;background:var(--gold);border-radius:2px;
}
.eyebrow--light{color:var(--sage-soft)}
.checks{
  margin:0 0 clamp(20px,3.4vh,34px);
  display:grid;gap:clamp(8px,1.5vh,14px);
}
.checks li{
  display:flex;align-items:center;gap:14px;
  font-weight:600;color:var(--forest);
  font-size:clamp(.92rem,min(1.05vw,1.9vh),1.02rem);
}
.check{
  position:relative;flex:none;
  width:26px;height:26px;border-radius:50%;
  background:var(--sage);
}
.check::after{
  content:"";position:absolute;left:9px;top:5px;
  width:6px;height:12px;
  border:solid #fff;border-width:0 2.5px 2.5px 0;
  transform:rotate(45deg);
}
.checks li:hover .check{animation:pop .5s var(--ease-out)}
@keyframes pop{50%{transform:scale(1.25)}}
.hero__actions{display:flex;flex-wrap:wrap;gap:14px}
.hero__media{position:relative}
.hero__frame{
  position:relative;
  border-radius:var(--r-lg);
  overflow:hidden;
  box-shadow:var(--shadow-lg);
  will-change:transform;
}
.hero__frame::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(200deg,transparent 55%,rgba(66,86,70,.22));
}
.hero__frame img{
  width:100%;
  aspect-ratio:1/1;
  max-height:min(62svh,560px);
  object-fit:cover;object-position:center 22%;
}
.float-card{
  position:absolute;z-index:3;
  background:#fff;
  border-radius:var(--r-md);
  padding:16px 20px;
  box-shadow:var(--shadow-md);
  display:flex;align-items:center;gap:12px;
  font-size:.82rem;line-height:1.45;color:var(--ink-soft);
  max-width:230px;
  will-change:transform;
  animation:floaty 6s ease-in-out infinite alternate;
}
.float-card strong{
  font-size:1.75rem;font-weight:900;color:var(--forest);letter-spacing:-.03em;
}
.float-card--a{left:-6%;bottom:12%}
.float-card--b{right:-4%;top:8%;animation-delay:-3s}
.float-card__dot{
  flex:none;width:10px;height:10px;border-radius:50%;background:var(--coral);
  box-shadow:0 0 0 5px rgba(240,145,112,.25);
  animation:pulse 2.4s ease-in-out infinite;
}
@keyframes pulse{50%{box-shadow:0 0 0 11px rgba(240,145,112,0)}}
@keyframes floaty{to{transform:translateY(-12px)}}
@keyframes cue{
  0%{opacity:0;transform:translateY(0)}
  30%{opacity:1}
  100%{opacity:0;transform:translateY(16px)}
}
/* Flache Viewports: Hero weiter verdichten */
@media (min-width:901px) and (max-height:820px){
  .hero__actions{gap:10px}
  .hero .btn--lg{padding:13px 26px;font-size:.92rem}
  .hero__frame{border-radius:var(--r-md)}
  .float-card{padding:12px 16px;font-size:.76rem;max-width:200px}
  .float-card strong{font-size:1.4rem}
  .scroll-cue{display:none}
}
@media (min-width:901px) and (max-height:660px){.hero{min-height:0;padding-bottom:clamp(32px,5vh,60px)}
.hero .checks li{font-size:.88rem}
.check{width:22px;height:22px}
.check::after{left:7.5px;top:4px;height:10px}}
/* ============ Sections ============ */
.section{padding:var(--sec-pad) 0;position:relative}
.section--sand{background:var(--sand)}
.section--forest{background:var(--forest);color:rgba(255,255,255,.86)}
.section--forest h2,.section--forest h3{color:#fff}
.section--forest h2 em{color:var(--gold)}
/* Überschrift darf die volle Breite nutzen (spart Zeilen),der Fließtext bleibt auf angenehmer Lesebreite. */
.sec-head{max-width:1020px;margin-bottom:var(--sec-gap)}
.sec-head h2{max-width:none}
.sec-head__lead{
  max-width:68ch;
  font-size:clamp(.95rem,min(1.15vw,1.9vh),1.14rem);
  color:var(--ink-soft);
  margin:0;
}
.sec-head--light .sec-head__lead{color:rgba(255,255,255,.75)}
/* ============ Split sections ============ */
/* Zweispaltig mit Zusatzblock unter den Bildern: die Textspalte spannt beide
   Zeilen,dadurch gleichen sich die Spaltenhöhen aus und die Section bleibt
   auf einer Bildschirmhöhe. */
.split-sec__grid{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  grid-template-rows:auto 1fr;
  grid-template-areas:
    "media text"
    "aside text";
  column-gap:clamp(40px,6vw,88px);
  row-gap:clamp(18px,3vh,34px);
  align-items:start;
}
.split-sec__media{grid-area:media}
.split-sec__text{grid-area:text}
.split-sec__aside{grid-area:aside}
.split-sec__aside p{
  color:var(--ink-soft);
  font-size:clamp(.92rem,min(1.05vw,1.75vh),1.02rem);
  line-height:1.62;
}
.split-sec__aside .btn{margin-top:4px}
.split-sec__text p{
  color:var(--ink-soft);
  font-size:clamp(.92rem,min(1.05vw,1.75vh),1.02rem);
}
.split-sec__text .btn{margin-top:12px}
.split-sec__media{position:relative;padding-bottom:60px}
.frame{
  border-radius:var(--r-lg);overflow:hidden;
  box-shadow:var(--shadow-md);
  will-change:transform;
}
.frame img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-out)}
.frame:hover img{transform:scale(1.05)}
.frame--tall img{aspect-ratio:4/5;max-height:var(--media-max)}
/* auf breiten Schirmen nebeneinander – spart eine Bildschirmhöhe */
@media (min-width:1100px){
  .pillars{grid-template-columns:1fr 1fr;align-items:start}
}
.quote{
  margin:0 0 var(--stack);
  padding:clamp(16px,2.4vh,24px) clamp(20px,2.4vw,28px);
  background:var(--forest);color:rgba(255,255,255,.9);
  border-radius:var(--r-md);
  font-family:var(--serif);
  font-size:clamp(1rem,min(1.45vw,2.2vh),1.35rem);
  font-style:italic;line-height:1.5;
  position:relative;overflow:hidden;
}

.center-cta{text-align:center;margin:var(--sec-gap) 0 0}
/* ============ Galerie ============ */
.gallery{padding:calc(var(--sec-pad) * .8) 0;background:var(--cream);overflow:hidden}
/* Großes Motiv oben, darunter zwei Hochformate */
.gfeature{
  margin:0 0 clamp(14px,2vw,26px);
  overflow:hidden;
  border-radius:var(--r-lg);
  box-shadow:var(--shadow-sm);
}
.gfeature img{
  width:100%;
  aspect-ratio:3/2;
  max-height:min(48svh,460px);
  object-fit:cover;
  object-position:center 42%;
  will-change:transform;
  transition:transform 1.1s var(--ease-out);
}
.gfeature:hover img{transform:scale(1.03)}
.gfeature figcaption{
  padding:clamp(12px,1.8vh,18px) clamp(14px,1.8vw,22px);
  background:#fff;
  font-size:clamp(.84rem,min(.98vw,1.6vh),.93rem);
  color:var(--ink-soft);
  line-height:1.5;
}
.gallery__row{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(16px,2vw,26px);
}
.gitem{
  margin:0;overflow:hidden;border-radius:var(--r-md);
  box-shadow:var(--shadow-sm);
}
.gitem img{
  width:100%;height:100%;object-fit:cover;aspect-ratio:4/5;
  max-height:min(46svh,440px);
  transition:transform 1.1s var(--ease-out),filter .6s ease;
}
.gitem:hover img{transform:scale(1.08)}
.membership{
  margin-top:var(--sec-gap);
  display:flex;align-items:flex-start;
  gap:clamp(28px,5vw,72px);flex-wrap:wrap;
  justify-content:center;text-align:center;
}
/* Ein Eintrag je Mitgliedschaft: Logo über der Beschriftung */
.membership__item{
  display:grid;gap:14px;justify-items:center;
  /* feste Bildzeile: die Logos duerfen unterschiedlich hoch sein,
     die Beschriftungen stehen trotzdem auf einer Linie */
  grid-template-rows:88px auto;align-items:center;
  max-width:280px;
}
.membership img{
  height:60px;width:auto;opacity:.85;
  mix-blend-mode:multiply;
  transition:opacity .4s ease,transform .5s var(--ease-out);
}
.membership a:hover img{opacity:1;transform:scale(1.05)}
.membership p{margin:0;font-size:.9rem;color:var(--ink-soft);line-height:1.5}
/* ============ Footer ============ */
.footer{
  background:var(--forest-dark);color:rgba(255,255,255,.7);
  padding:calc(var(--sec-pad) * .7) 0 26px;
}
.footer__grid{
  display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;
  gap:clamp(28px,3vw,48px);
}
.footer__brand img{height:42px;width:auto;margin-bottom:18px}
.footer__brand p{font-size:.9rem;max-width:34ch;margin:0}
.footer__col h3{
  font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold);margin-bottom:16px;
}
.footer__col a{
  display:block;text-decoration:none;font-size:.92rem;
  padding:5px 0;color:rgba(255,255,255,.72);
  transition:color .3s ease,transform .35s var(--ease-out);
}
.footer__col a:hover{color:var(--gold);transform:translateX(4px)}
.footer__social{display:flex;gap:16px;margin-top:12px}
.footer__social a{padding:0}
.footer__bottom{
  margin-top:clamp(26px,3.6vh,52px);padding-top:22px;
  border-top:1px solid rgba(255,255,255,.12);
  display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
  font-size:.85rem;
}
.footer__bottom p{margin:0}
/* =========================================================
   Scroll-Animationen
   ========================================================= */
.reveal{
  opacity:0;
  transform:translate3d(0,38px,0);
  transition:opacity .9s var(--ease-out),transform .9s var(--ease-out);
  transition-delay:calc(var(--d,0) * 90ms);
}
.reveal--right{transform:translate3d(46px,0,0)}
.reveal.is-in{opacity:1;transform:none}
.split .word{
  display:inline-block;
  opacity:0;
  transform:translate3d(0,.7em,0) rotate(2deg);
  transition:opacity .8s var(--ease-out),transform .8s var(--ease-out);
  transition-delay:calc(var(--i,0) * 55ms);
}
.split .word em{display:inline-block}
.split.is-in .word{opacity:1;transform:none}
/* =========================================================
   Responsive
   ========================================================= */
@media (max-width:1080px){
  .nav__links a:not(.btn){font-size:.86rem}
  .stats__grid{grid-template-columns:repeat(2,1fr);row-gap:34px}
  .benefits{grid-template-columns:repeat(2,1fr)}
  .timeline{grid-template-columns:repeat(2,1fr);row-gap:44px}
  .timeline__line{display:none}
  .tstep__dot{position:static;display:block;margin-bottom:14px}
  .timeline{padding-top:0}
}
@media (max-width:900px){html{scroll-padding-top:88px}
/* gestapeltes Layout: seitliches Einfliegen würde die Seite verbreitern */
  .reveal--right{transform:translate3d(0,38px,0)}
.nav__cta{display:none}
.nav__cta-mobile{display:inline-flex;margin-top:10px}
.nav__burger{display:block;margin-left:auto}
.nav__links{
    position:fixed;inset:64px 0 auto;
    flex-direction:column;align-items:flex-start;
    gap:0;
    background:var(--forest-deep);
    padding:16px var(--pad) 30px;
    margin:0;
    box-shadow:0 24px 40px -24px rgba(0,0,0,.7);
    clip-path:inset(0 0 100% 0);
    transition:clip-path .55s var(--ease-out);
  }
.nav__links.is-open{clip-path:inset(0 0 0 0)}
.nav__links a:not(.btn){
    width:100%;padding:13px 0;
    border-bottom:1px solid rgba(255,255,255,.1);
    font-size:1rem;
  }
.nav__links a::after{display:none}
.hero{padding-top:120px}
.hero__grid{grid-template-columns:1fr;gap:44px}
.hero__lead{max-width:none}
.hero__media{order:-1;max-width:520px;margin-inline:auto;width:100%}
.float-card--a{left:-2%}
.float-card--b{right:-2%}
.split-sec__grid{
    grid-template-columns:1fr;
    grid-template-rows:auto;
    grid-template-areas:"media" "text" "aside";
    gap:34px;
  }
.split-sec__media{padding-bottom:44px}
.gallery__row{grid-template-columns:1fr}
.footer__grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){:root{--r-lg:20px;--r-md:14px}
.split-sec__media{padding-bottom:0}
.gallery__row{grid-template-columns:1fr}
.footer__grid{grid-template-columns:1fr}
.float-card{padding:12px 14px;font-size:.74rem;max-width:180px}
.float-card strong{font-size:1.4rem}
.hero__actions .btn{width:100%}
.membership{flex-direction:column;gap:12px}}
/* =========================================================
   Reduced motion
   ========================================================= */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
  }
  .reveal,.split .word{opacity:1!important;transform:none!important}
  .marquee__track{animation:none}

}
/* =========================================================
   Mehrseitige Struktur – neue Komponenten
   ========================================================= */

/* ---------- Hero-Ergänzung ---------- */
.hero__sub{
  font-family:var(--serif);
  font-style:italic;
  font-size:clamp(1.15rem,min(1.9vw,2.9vh),1.75rem);
  line-height:1.3;
  color:var(--forest);
  margin:0 0 clamp(12px,2.2vh,20px);
  max-width:34ch;
}
/* ---------- Leitgedanke ---------- */
.leitgedanke{
  background:var(--forest);
  padding:clamp(30px,4.5vh,56px) 0;
}
/* ---------- Seitenkopf (Unterseiten) ---------- */
.phead{
  position:relative;
  padding:calc(var(--nav-h) + clamp(28px,6vh,72px)) 0 clamp(24px,4vh,56px);
  background:var(--cream);
  overflow:hidden;
}
.phead__blob{
  position:absolute;top:-30%;right:-10%;
  width:min(46vw,540px);aspect-ratio:1;border-radius:50%;
  background:var(--sage);filter:blur(90px);opacity:.42;
  pointer-events:none;
  animation:blob 20s ease-in-out infinite alternate;
}
.phead__grid{position:relative;z-index:1}
.phead__grid--split{
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(32px,5vw,72px);align-items:center;
}
.phead h1{
  font-size:clamp(2rem,min(4.6vw,6.2vh),3.7rem);
  margin-bottom:clamp(10px,1.8vh,18px);
}
.phead__sub{
  font-family:var(--serif);font-style:italic;
  font-size:clamp(1.08rem,min(1.7vw,2.6vh),1.5rem);
  color:var(--gold-text);
  margin:0 0 clamp(12px,2vh,20px);
}
.phead__lead{
  font-size:clamp(.98rem,min(1.2vw,1.95vh),1.16rem);
  line-height:1.62;
  color:var(--ink-soft);
  max-width:60ch;margin:0;
}
.phead__media .frame img{
  aspect-ratio:4/3;max-height:var(--media-max);
  /* Bei Hochformaten fällt die Hälfte der Höhe weg. Mittig geschnitten
     rutscht der Kopf aus dem Bild – der Ausschnitt sitzt deshalb oben. */
  object-position:center 20%;
}
.phead--seminar{padding-top:clamp(20px,4vh,44px)}
/* ---------- Brotkrumen ---------- */
.breadcrumb{
  background:var(--cream);
  padding-top:calc(var(--nav-h) + 14px);
  font-size:.84rem;color:var(--ink-soft);
}
.breadcrumb .wrap{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.breadcrumb a{text-decoration:none;border-bottom:1px solid rgba(66,86,70,.28)}
.breadcrumb a:hover{color:var(--gold-ink);border-color:var(--gold-deep)}
.breadcrumb span[aria-hidden]{opacity:.45}
/* ---------- Zweispaltiger Textblock ---------- */
.split-lite{
  display:grid;grid-template-columns:.8fr 1.2fr;
  gap:clamp(28px,5vw,72px);align-items:start;
}
.split-lite__text p{
  color:var(--ink-soft);line-height:1.62;
  font-size:clamp(.94rem,min(1.08vw,1.8vh),1.04rem);
}
.split-lite__text p strong{color:var(--forest)}
/* ---------- Fakten ---------- */
.facts{
  display:grid;grid-template-columns:1.35fr .65fr;
  gap:clamp(32px,5vw,64px);align-items:start;
}
.facts__text p{
  color:var(--ink-soft);line-height:1.62;
  font-size:clamp(.94rem,min(1.08vw,1.8vh),1.04rem);
}
.facts .checks{margin-top:var(--stack)}
.factcard{
  background:var(--forest);color:#fff;
  border-radius:var(--r-lg);
  padding:var(--box-pad);
  box-shadow:var(--shadow-md);
}
.factcard__num{
  display:block;
  font-size:clamp(2.8rem,min(5vw,7vh),4.2rem);
  font-weight:900;letter-spacing:-.04em;line-height:1;
  color:var(--gold);
}
.factcard__label{
  margin:.5em 0 .8em;font-weight:700;
  font-size:clamp(.95rem,min(1.1vw,1.8vh),1.05rem);
}
.factcard__note{
  margin:0;font-size:.88rem;line-height:1.55;
  color:rgba(255,255,255,.74);
}
.source{
  margin:var(--stack) 0 0;
  font-size:.8rem;line-height:1.5;color:rgba(91,85,79,.8);
}
/* ---------- Tags ---------- */
.tags{display:flex;flex-wrap:wrap;gap:clamp(8px,1.1vw,14px)}
.tag{
  display:inline-block;
  padding:10px 18px;border-radius:999px;
  font-size:clamp(.84rem,min(.98vw,1.6vh),.94rem);
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.2);
  color:rgba(255,255,255,.9);
  transition:background .35s ease,border-color .35s ease,transform .45s var(--ease-out);
}
.tag:hover{background:rgba(231,208,77,.2);border-color:var(--gold);transform:translateY(-3px)}
.tags--dark .tag{
  background:rgba(152,181,143,.16);
  border-color:rgba(66,86,70,.18);
  color:var(--forest);font-weight:500;
}
.tags--dark .tag:hover{background:var(--gold);border-color:var(--gold-deep)}
/* ---------- Referenz (ein Auftraggeber, dafür mit Bild und Kontext) ---------- */
.reference{display:grid;gap:clamp(22px,3vw,44px);align-items:center}
.reference--split{grid-template-columns:.9fr 1.1fr}
.reference__media{overflow:hidden;border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}
.reference__media img{
  width:100%;aspect-ratio:4/3;
  max-height:min(38svh,340px);
  object-fit:cover;object-position:center 42%;
  transition:transform 1.1s var(--ease-out);
}
.reference:hover .reference__media img{transform:scale(1.04)}
.reference__text{
  margin:0;
  border-left:3px solid var(--gold);
  padding-left:clamp(18px,2.4vw,32px);
}
.reference__text .eyebrow{margin-bottom:clamp(10px,1.6vh,16px)}
.reference__text blockquote{
  margin:0 0 clamp(16px,2.4vh,24px);
  font-family:var(--serif);font-style:italic;
  font-size:clamp(1rem,min(1.34vw,2.1vh),1.3rem);
  line-height:1.5;color:var(--forest);
}
.reference__text figcaption{
  display:flex;align-items:center;
  gap:clamp(12px,1.6vw,20px);
}
.reference__text figcaption > div{display:grid;gap:4px}
.reference__text figcaption strong{
  font-size:.84rem;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--forest);
}
.reference__text figcaption span{font-size:.88rem;color:var(--ink-soft)}
/* Logo des Auftraggebers, links neben Sternen und Name */
.reference__logo{
  flex:none;width:clamp(46px,4.4vw,60px);height:auto;
}
/* Sternbewertung */
.stars{display:inline-flex;gap:3px;line-height:1}
.stars svg{width:15px;height:15px;fill:var(--gold-text)}

/* ---------- Teilnehmerstimmen (Karte je Rückmeldung) ---------- */
.voices{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(18px,2.4vw,30px);
}
.voice{
  margin:0;
  background:#fff;border-radius:var(--r-lg);
  padding:var(--box-pad);box-shadow:var(--shadow-sm);
  border-top:3px solid var(--gold);
  transition:transform .55s var(--ease-out),box-shadow .55s var(--ease-out);
}
.voice:hover{transform:translateY(-7px);box-shadow:var(--shadow-md)}
.voice__seminar{
  font-size:.72rem;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;line-height:1.5;
  color:var(--sage-text);
  margin:0 0 .9em;
}
.voice__text{
  margin:0;
  font-family:var(--serif);font-style:italic;
  font-size:clamp(.98rem,min(1.24vw,1.9vh),1.2rem);
  line-height:1.5;color:var(--forest);
}

/* ---------- Zwei Karten nebeneinander ---------- */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,2.6vw,34px)}
.duo__card{
  background:#fff;border-radius:var(--r-lg);
  padding:var(--box-pad);
  box-shadow:var(--shadow-sm);
  display:flex;flex-direction:column;
  transition:transform .55s var(--ease-out),box-shadow .55s var(--ease-out);
}
.duo__card:hover{transform:translateY(-8px);box-shadow:var(--shadow-md)}
.duo__card h2{font-size:clamp(1.2rem,min(1.9vw,2.7vh),1.6rem)}
.duo__card p{
  color:var(--ink-soft);flex:1;line-height:1.62;
  font-size:clamp(.9rem,min(1.02vw,1.7vh),1rem);
}
.duo__card .btn{align-self:flex-start}
.duo--lists{align-items:start}
.listcard{
  background:#fff;border-radius:var(--r-lg);
  padding:var(--box-pad);box-shadow:var(--shadow-sm);
}
.listcard h2{font-size:clamp(1.15rem,min(1.8vw,2.6vh),1.5rem)}
.listcard__second{margin-top:1.2em}
.listcard p{
  color:var(--ink-soft);line-height:1.62;margin-bottom:0;
  font-size:clamp(.9rem,min(1.02vw,1.7vh),1rem);
}
.listcard--sage{background:rgba(152,181,143,.18);box-shadow:none}
/* ---------- Listen ---------- */
.ticklist{display:grid;gap:clamp(8px,1.4vh,13px)}
.ticklist li{
  position:relative;padding-left:30px;
  color:var(--ink-soft);line-height:1.55;
  font-size:clamp(.88rem,min(1vw,1.68vh),.98rem);
}
.ticklist li::before{
  content:"";position:absolute;left:0;top:.42em;
  width:15px;height:8px;
  border:solid var(--sage);border-width:0 0 2.5px 2.5px;
  transform:rotate(-45deg);
}
.numlist{counter-reset:n;display:grid;gap:clamp(8px,1.4vh,13px)}
.numlist li{
  counter-increment:n;
  position:relative;padding-left:38px;
  color:var(--ink-soft);line-height:1.55;
  font-size:clamp(.88rem,min(1vw,1.68vh),.98rem);
}
.numlist li::before{
  content:counter(n,decimal-leading-zero);
  position:absolute;left:0;top:0;
  font-family:var(--serif);font-style:italic;
  font-size:1.15em;font-weight:500;color:var(--gold-ink);
}
.pilllist{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:var(--stack)}
.pilllist li{
  padding:9px 16px;border-radius:999px;
  background:#fff;border:1px solid rgba(66,86,70,.14);
  font-size:clamp(.84rem,min(.98vw,1.6vh),.93rem);
  color:var(--forest);
}
.note{
  margin:0;padding:16px 20px;
  border-radius:var(--r-sm);
  background:rgba(231,208,77,.2);
  font-size:.88rem;line-height:1.55;color:var(--ink-soft);
}
.note strong{color:var(--forest)}
/* ---------- Formate-Block ---------- */
.formats{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(28px,4.5vw,64px);align-items:start}
.formats p{color:var(--ink-soft);line-height:1.62}
/* ---------- Seminarkarten ---------- */
.scards{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(14px,1.5vw,22px)}
.scard{
  display:flex;flex-direction:column;
  background:#fff;border-radius:var(--r-lg);overflow:hidden;
  box-shadow:var(--shadow-sm);text-decoration:none;
  transition:transform .55s var(--ease-out),box-shadow .55s var(--ease-out);
}
.scard:hover{transform:translateY(-9px);box-shadow:var(--shadow-md)}
.scard__media{overflow:hidden;aspect-ratio:16/10;max-height:min(20svh,190px)}
.scard__media img{
  width:100%;height:100%;object-fit:cover;object-position:center 28%;
  transition:transform 1.1s var(--ease-out);
}
.scard:hover .scard__media img{transform:scale(1.07)}
.scard__body{padding:var(--box-pad);display:flex;flex-direction:column;flex:1}
.scard__body h2{font-size:clamp(1.05rem,min(1.5vw,2.2vh),1.3rem);margin-bottom:.3em}
.scard__sub{
  font-family:var(--serif);font-style:italic;
  color:var(--gold-ink);font-size:1.02rem;margin-bottom:.8em;
}
.scard__text{
  color:var(--ink-soft);flex:1;line-height:1.6;
  font-size:clamp(.86rem,min(.98vw,1.62vh),.94rem);
}
.scard .link-arrow{border:0;padding:0;font-size:.86rem;color:var(--gold-ink)}
@media (min-width:1101px){
  /* Fünf Karten pro Reihe: schmalere Spalte, daher kompaktere Innenmaße */
  .scard__media{max-height:min(16svh,152px)}
  .scard__body{padding:clamp(14px,1.25vw,20px)}
  .scard__body h2{font-size:clamp(.95rem,1.06vw,1.1rem);line-height:1.3}
  .scard__sub{font-size:.92rem;line-height:1.38;margin-bottom:.7em}
  .scard__text{font-size:clamp(.79rem,.83vw,.86rem);line-height:1.55}
  .scard .link-arrow{font-size:.8rem}
}
/* ---------- Seminar-Detail ---------- */
.seminar{display:grid;grid-template-columns:1.35fr .65fr;gap:clamp(32px,5vw,70px);align-items:start}
.sblock{margin-bottom:clamp(24px,4vh,44px)}
.sblock:last-child{margin-bottom:0}
.sblock h2{font-size:clamp(1.25rem,min(2vw,2.9vh),1.7rem);margin-bottom:.6em}
.sblock p{
  color:var(--ink-soft);line-height:1.65;margin:0;
  font-size:clamp(.94rem,min(1.08vw,1.8vh),1.04rem);
}
.seminar__side{display:grid;gap:clamp(14px,2vh,22px);position:sticky;top:calc(var(--nav-h) + 20px)}
.sidecard{
  background:#fff;border-radius:var(--r-md);
  padding:var(--box-pad);box-shadow:var(--shadow-sm);
}
.sidecard h2{
  font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--sage-text);margin-bottom:1em;
}
.sidecard ul{display:grid;gap:9px}
.sidecard li{
  position:relative;padding-left:18px;
  font-size:.88rem;line-height:1.5;color:var(--ink-soft);
}
.sidecard li::before{
  content:"";position:absolute;left:0;top:.6em;
  width:7px;height:7px;border-radius:50%;background:var(--sage);
}
.sidecard p{font-size:.9rem;line-height:1.6;color:var(--ink-soft)}
.sidecard--gold{background:var(--gold)}
.sidecard--gold h2{color:rgba(66,86,70,.72)}
.sidecard--gold p{color:rgba(47,43,41,.86)}
/* ---------- Blätterung ---------- */
.pager{
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2vw,24px);
  padding-bottom:var(--sec-pad);
}
.pager a{
  display:block;padding:var(--box-pad);
  border-radius:var(--r-md);background:var(--sand);
  text-decoration:none;
  transition:background .4s ease,transform .5s var(--ease-out);
}
.pager a:hover{background:var(--cream);transform:translateY(-4px)}
.pager span{
  display:block;font-size:.74rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--sage-text);margin-bottom:6px;
}
.pager strong{color:var(--forest);font-size:clamp(.95rem,1.15vw,1.08rem)}
.pager__next{text-align:right;grid-column:2}
/* ---------- CTA-Band ---------- */
.ctaband{background:var(--forest);padding:var(--sec-pad) 0;position:relative;overflow:hidden}
.ctaband::before{
  content:"";position:absolute;width:55vw;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(152,181,143,.32),transparent 65%);
  top:-40%;right:-12%;pointer-events:none;
}
.ctaband__inner{
  position:relative;z-index:1;
  display:grid;grid-template-columns:1.3fr .7fr;
  gap:clamp(24px,4vw,56px);align-items:center;
}
.ctaband h2{color:#fff;margin-bottom:.4em}
.ctaband h2 em{color:var(--gold)}
.ctaband p{
  color:rgba(255,255,255,.78);margin:0;max-width:52ch;line-height:1.62;
  font-size:clamp(.94rem,min(1.1vw,1.8vh),1.06rem);
}
.ctaband__actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}
/* ---------- Statement ---------- */
.statement{background:var(--sand);padding:var(--sec-pad) 0}
.statement h2{
  max-width:24ch;
  font-size:clamp(1.6rem,min(3.4vw,4.8vh),2.9rem);
  margin:0;
}
/* ---------- Prozess-Schritte ---------- */
.psteps{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(16px,2.2vw,28px)}
.pstep{
  background:#fff;border-radius:var(--r-md);
  padding:var(--box-pad);box-shadow:var(--shadow-sm);
  transition:transform .55s var(--ease-out),box-shadow .55s var(--ease-out);
}
.pstep:hover{transform:translateY(-7px);box-shadow:var(--shadow-md)}
.pstep__num{
  display:block;font-family:var(--serif);font-style:italic;
  font-size:clamp(1.8rem,min(2.6vw,3.6vh),2.4rem);
  line-height:1;color:var(--gold-text);margin-bottom:.35em;
}
.pstep h3{font-size:clamp(.98rem,min(1.15vw,1.8vh),1.08rem);margin-bottom:.45em}
.pstep p{
  margin:0;color:var(--ink-soft);line-height:1.55;
  font-size:clamp(.82rem,min(.95vw,1.55vh),.9rem);
}
/* ---------- Organisatorisches ---------- */
.orgtable{margin:0;display:grid;gap:0}
.orgtable__row{
  display:grid;grid-template-columns:.32fr 1fr;
  gap:clamp(14px,2.5vw,36px);
  padding:clamp(13px,2vh,20px) 0;
  border-top:1px solid rgba(66,86,70,.14);
}
.orgtable__row:last-child{border-bottom:1px solid rgba(66,86,70,.14)}
.orgtable dt{font-weight:700;color:var(--forest)}
.orgtable dd{
  margin:0;color:var(--ink-soft);
  font-size:clamp(.9rem,min(1.02vw,1.7vh),1rem);
}
/* ---------- Wunschformat ---------- */
.wish{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4.5vw,64px);align-items:center}
.wish__text p{color:var(--ink-soft);line-height:1.62}
.wish__list{display:grid;gap:10px}
.wish__list li{
  padding:clamp(13px,2vh,18px) clamp(16px,2vw,22px);
  border-radius:var(--r-sm);
  background:rgba(152,181,143,.16);
  border-left:3px solid var(--sage);
  color:var(--forest);font-weight:500;
  font-size:clamp(.88rem,min(1vw,1.68vh),.98rem);
  transition:background .4s ease,border-color .4s ease,transform .5s var(--ease-out);
}
.wish__list li:hover{background:rgba(152,181,143,.28);border-color:var(--gold);transform:translateX(6px)}
/* ---------- Impulse ---------- */
.notice{
  background:var(--sand);border-radius:var(--r-lg);
  padding:var(--box-pad);margin-bottom:var(--sec-gap);
  border-left:4px solid var(--gold);
}
.notice h2{font-size:clamp(1.15rem,min(1.8vw,2.6vh),1.5rem)}
.notice p{color:var(--ink-soft);line-height:1.62;max-width:62ch}
.icards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,30px)}
.icard{
  background:#fff;border-radius:var(--r-md);
  padding:var(--box-pad);box-shadow:var(--shadow-sm);
  display:flex;flex-direction:column;
  transition:transform .55s var(--ease-out),box-shadow .55s var(--ease-out);
}
.icard:hover{transform:translateY(-7px);box-shadow:var(--shadow-md)}
.icard__kat{
  font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--sage-text);font-weight:700;margin-bottom:.9em;
}
.icard h2{font-size:clamp(1rem,min(1.3vw,2vh),1.2rem);margin-bottom:.5em}
.icard p{color:var(--ink-soft);line-height:1.6;flex:1;font-size:.9rem}
.icard__status{
  align-self:flex-start;
  padding:5px 12px;border-radius:999px;
  background:rgba(231,208,77,.28);
  font-size:.74rem;font-weight:700;color:var(--forest);
}
/* ---------- Kontaktformular ---------- */
.contactgrid{display:grid;grid-template-columns:1.4fr .6fr;gap:clamp(28px,4vw,56px);align-items:start}
.anfrage{
  background:#fff;border-radius:var(--r-lg);
  padding:var(--box-pad);box-shadow:var(--shadow-sm);
}
.anfrage h2{font-size:clamp(1.2rem,min(1.9vw,2.7vh),1.6rem);margin-bottom:1em}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(14px,1.8vw,22px)}
.field{margin:0 0 clamp(12px,1.9vh,18px)}
.field label{
  display:block;margin-bottom:6px;
  font-size:.86rem;font-weight:600;color:var(--forest);
}
.field label .opt{font-weight:400;color:var(--ink-soft)}
.field input,.field select,.field textarea{
  width:100%;
  padding:12px 14px;
  border:1.5px solid rgba(66,86,70,.22);
  border-radius:var(--r-sm);
  background:var(--sand);
  font-family:inherit;font-size:.95rem;color:var(--ink);
  transition:border-color .3s ease,background .3s ease;
}
.field textarea{resize:vertical;min-height:88px}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--sage);background:#fff;
}
.field input:user-invalid,.field textarea:user-invalid{border-color:var(--coral)}
.field--check{display:flex;gap:12px;align-items:flex-start;margin-top:clamp(6px,1vh,12px)}
.field--check input{width:20px;height:20px;flex:none;margin-top:2px;accent-color:var(--forest)}
.field--check label{font-weight:400;font-size:.85rem;line-height:1.55;color:var(--ink-soft)}
.field--check a{color:var(--gold-ink)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.anfrage .btn{margin-top:clamp(8px,1.4vh,16px)}
.formnote{margin:12px 0 0;font-size:.82rem;color:var(--ink-soft)}
#formStatus:empty{display:none}
#formStatus{
  padding:12px 16px;border-radius:var(--r-sm);
  background:rgba(152,181,143,.2);color:var(--forest);font-weight:500;
}
#formStatus.is-error{background:rgba(240,145,112,.22)}
.contactside{display:grid;gap:clamp(14px,2vh,22px)}
.contactside__name{font-weight:700;color:var(--forest)}
.contactside__name span{font-weight:400;font-size:.88rem;color:var(--ink-soft)}
.contactside .link-arrow{font-size:.95rem}
/* ---------- Footer-Ergänzungen ---------- */
.footer__col h2{
  font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold);margin-bottom:16px;
}
.footer__claim{
  font-family:var(--serif);font-style:italic;
  font-size:1.3rem;color:var(--gold);margin-bottom:.3em;
}
.footer__member{font-size:.84rem;opacity:.75;margin-top:1em}
.footer__legal{display:flex;gap:20px}
.footer__legal a{text-decoration:none;transition:color .3s ease}
.footer__legal a:hover{color:var(--gold)}
/* =========================================================
   Responsive – neue Komponenten
   ========================================================= */
@media (max-width:1100px){
  .topics--links{grid-template-columns:repeat(2,1fr)}
  .scards{grid-template-columns:repeat(2,1fr)}
  .icards{grid-template-columns:repeat(2,1fr)}
  .psteps{grid-template-columns:repeat(3,1fr)}
  .facts{grid-template-columns:1fr;gap:28px}
  .seminar{grid-template-columns:1fr;gap:36px}
  .seminar__side{position:static;grid-template-columns:1fr 1fr;display:grid}
}
@media (max-width:900px){.phead__grid--split{grid-template-columns:1fr;gap:32px}
.phead__media{order:-1;max-width:520px}
.split-lite,.formats,.wish,.contactgrid{grid-template-columns:1fr;gap:26px}
.duo,.duo--lists,.voices{grid-template-columns:1fr}
.ctaband__inner{grid-template-columns:1fr;gap:24px}
.ctaband__actions{justify-content:flex-start}
.psteps{grid-template-columns:repeat(2,1fr)}
.pager{grid-template-columns:1fr}
.pager__next{grid-column:1;text-align:left}
.seminar__side{grid-template-columns:1fr}
.breadcrumb{padding-top:calc(var(--nav-h) + 4px)}}
@media (max-width:560px){.scards,.icards,.psteps{grid-template-columns:1fr}
.field-row{grid-template-columns:1fr}
.orgtable__row{grid-template-columns:1fr;gap:4px}
.hero__sub{max-width:none}
.ctaband__actions .btn,.duo__card .btn{width:100%}}
/* =========================================================
   Themenindex – Seminarschwerpunkte auf der Startseite
   ========================================================= */
.topicindex{
  border-top:1px solid rgba(66,86,70,.16);
}
.topicrow{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,1.35fr) auto;
  align-items:center;
  gap:clamp(14px,3vw,44px);
  padding:clamp(16px,2.5vh,26px) clamp(10px,1.6vw,22px);
  border-bottom:1px solid rgba(66,86,70,.16);
  text-decoration:none;
  isolation:isolate;
  transition:background .4s var(--ease-out);
}
.topicrow::before{
  content:"";
  position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(231,208,77,.22),rgba(231,208,77,0) 70%);
  opacity:0;
  transition:opacity .45s var(--ease-out);
}
.topicrow:hover::before,
.topicrow:focus-visible::before{opacity:1}

.topicrow__title{
  font-weight:700;
  margin:0;
  font-size:clamp(1.02rem,min(1.55vw,2.2vh),1.32rem);
  color:var(--forest);
  transition:transform .45s var(--ease-out),color .35s ease;
}
.topicrow__text{
  margin:0;
  color:var(--ink-soft);
  line-height:1.55;
  font-size:clamp(.86rem,min(1vw,1.62vh),.96rem);
}
.topicrow__go{
  flex:none;
  display:grid;place-items:center;
  width:clamp(38px,4.4vh,46px);height:clamp(38px,4.4vh,46px);
  border-radius:50%;
  border:1.5px solid rgba(66,86,70,.24);
  color:var(--forest);
  transition:background .4s var(--ease-out),border-color .4s ease,
             color .35s ease,transform .5s var(--ease-out);
}
.topicrow__go svg{width:19px;height:19px;display:block}
.topicrow:hover .topicrow__title,
.topicrow:focus-visible .topicrow__title{
  font-weight:700;transform:translateX(6px);color:var(--gold-ink)}
.topicrow:hover .topicrow__go,
.topicrow:focus-visible .topicrow__go{
  background:var(--gold);border-color:var(--gold-deep);
  color:var(--forest);transform:translateX(4px);
}

@media (max-width:900px){
  .topicrow{
    grid-template-columns:1fr auto;
    gap:6px clamp(14px,3vw,24px);
    align-items:start;
    padding-block:clamp(15px,2.4vh,22px);
  }
  .topicrow__title{
  font-weight:700;grid-column:1}
  .topicrow__text{grid-column:1}
  .topicrow__go{grid-column:2;grid-row:1 / span 2;align-self:center}
}

@media (prefers-reduced-motion:reduce){
  .topicrow:hover .topicrow__title{
  font-weight:700;transform:none}
  .topicrow:hover .topicrow__go{transform:none}
}

/* =========================================================
   Mehr Struktur für Textstrecken
   ========================================================= */

/* Kleines Rautenornament als wiederkehrender Marker */
.ornament{
  display:block;
  font-size:.72rem;
  line-height:1;
  color:var(--gold-ink);
  margin-bottom:clamp(10px,1.6vh,16px);
}

/* Textspalte in split-lite bekommt eine Tafel statt frei zu stehen */
.split-lite__text{
  position:relative;
  background:#fff;
  border-radius:var(--r-lg);
  border-left:4px solid var(--gold);
  padding:clamp(20px,min(3vw,3.6vh),38px);
  box-shadow:var(--shadow-sm);
}
.section--sand .split-lite__text{background:#fff}
.split-lite__text > p:last-child{margin-bottom:0}
/* erster Absatz als Einstieg hervorgehoben */
.split-lite__text > p:first-of-type{
  font-size:clamp(1rem,min(1.2vw,1.95vh),1.14rem);
  color:var(--forest);
  line-height:1.55;
}
.split-lite__text .quote{margin-top:var(--stack)}
.split-lite__text .source{margin-bottom:0}

/* Zweispaltiger Fließtext auf dunklem Grund */
.twocol{
  columns:2;
  column-gap:clamp(28px,4vw,64px);
  column-rule:1px solid rgba(255,255,255,.16);
}
.twocol p{
  break-inside:avoid;
  color:rgba(255,255,255,.78);
  line-height:1.62;
  font-size:clamp(.94rem,min(1.1vw,1.8vh),1.06rem);
}
.twocol p:last-child{margin-bottom:0}

/* Statement gerahmt statt freistehend */
.statement{position:relative;overflow:hidden}
.statement::before{
  content:"";position:absolute;
  width:46vw;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(152,181,143,.34),transparent 66%);
  top:-45%;left:-8%;pointer-events:none;
}
.statement__box{
  position:relative;
  max-width:min(780px,100%);
  padding:clamp(26px,min(3.6vw,4.4vh),48px);
  border:1px solid rgba(66,86,70,.2);
  border-radius:var(--r-lg);
  background:rgba(255,255,255,.5);
  backdrop-filter:blur(2px);
}
.statement__box::after{
  content:"";position:absolute;
  left:clamp(24px,3.4vw,44px);bottom:0;
  width:56px;height:3px;border-radius:2px;
  background:var(--gold);
  transform:translateY(50%);
}
.statement h2{
  max-width:none;
  font-size:clamp(1.45rem,min(3vw,4.2vh),2.5rem);
  margin:0;
}

/* Seminar-Detail: Einstieg und Arbeitsweise als Tafeln */
.sblock--intro{
  background:var(--sand);
  border-radius:var(--r-lg);
  border-left:4px solid var(--gold);
  padding:clamp(20px,min(3vw,3.6vh),36px);
}
.sblock--intro h2{margin-bottom:.5em}
.sblock--intro p{
  font-size:clamp(1rem,min(1.16vw,1.9vh),1.1rem);
  color:var(--forest);
  line-height:1.6;
}
.sblock--method{
  background:rgba(152,181,143,.18);
  border-radius:var(--r-lg);
  padding:clamp(20px,min(3vw,3.6vh),36px);
}
.sblock--method h2{margin-bottom:.5em}

/* Abschnittsüberschriften bekommen eine feine Grundlinie */
.sec-head{position:relative}
.sec-head::after{
  content:"";
  display:block;
  width:64px;height:3px;border-radius:2px;
  background:linear-gradient(90deg,var(--gold),rgba(231,208,77,0));
  margin-top:clamp(14px,2.2vh,22px);
}
.sec-head--light::after{
  background:linear-gradient(90deg,var(--sage),rgba(152,181,143,0));
}

@media (max-width:900px){
  .twocol{columns:1;column-rule:none}
  .statement__box{max-width:none}
}

/* =========================================================
   Zitate – deutsche Anführungszeichen, hängend gesetzt
   ========================================================= */

/* Gemeinsame Grundlage: Anführungszeichen kommen aus dem CSS,
   der Text bleibt beim Kopieren sauber. Das öffnende Zeichen hängt
   in den Rand aus, damit die Textkante bündig bleibt. */
.reference__text blockquote,
.leitgedanke__figure blockquote,
.voice__text,
.quote{
  quotes:"\201E" "\201C" "\201A" "\2018";
  text-indent:-.46em;
  hanging-punctuation:first last;
}
.reference__text blockquote::before,
.leitgedanke__figure blockquote::before,
.voice__text::before,
.quote::before{content:open-quote}
.reference__text blockquote::after,
.leitgedanke__figure blockquote::after,
.voice__text::after,
.quote::after{content:close-quote}
.quote::before,.quote::after{color:var(--gold)}

.reference__text blockquote::before,
.reference__text blockquote::after{color:var(--gold-text)}
.voice__text::before,
.voice__text::after{color:var(--gold-text)}

/* Leitgedanke als Zitat auf dunklem Grund */
.leitgedanke__figure{
  margin:0;
  max-width:62ch;
  border-left:3px solid var(--gold);
  padding-left:clamp(18px,2.6vw,34px);
}
.leitgedanke__figure blockquote{
  margin:0 0 .7em;
  font-family:var(--serif);
  font-style:italic;
  font-size:clamp(1.15rem,min(2vw,3vh),1.8rem);
  line-height:1.45;
  color:rgba(255,255,255,.94);
}
.leitgedanke__figure blockquote::before,
.leitgedanke__figure blockquote::after{color:var(--gold)}
.leitgedanke__figure figcaption{
  font-size:.74rem;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;
  color:rgba(196,213,190,.9);
}

/* Hochformatiges Porträt im Seitenkopf (Pflege-Foto) */
.phead__media--portrait{max-width:min(420px,100%);margin-inline:auto}
.phead__media--portrait .frame img{
  aspect-ratio:3/4;
  /* Gesicht liegt im oberen Drittel – Ausschnitt entsprechend nach oben ziehen */
  object-position:center 10%;
  max-height:min(58svh,540px);
}

/* Hochformat im Über-Block der Startseite: eigene Maße, damit die
   Höhenbegrenzung das Porträt nicht zum Quadrat zusammenschiebt */
.split-sec__media--portrait{max-width:min(400px,100%)}
.split-sec__media--portrait .frame--tall img{
  aspect-ratio:3/4;
  max-height:min(62svh,560px);
  object-position:center 14%;
}

@media (max-width:900px){
  .reference--split{grid-template-columns:1fr}
}

/* =========================================================
   Rechtstexte
   ========================================================= */
.legal{max-width:76ch}
.legal h2{
  font-size:clamp(1.1rem,min(1.7vw,2.5vh),1.45rem);
  margin:clamp(26px,3.6vh,42px) 0 .5em;
}
.legal h2:first-child{margin-top:0}
.legal p{
  color:var(--ink-soft);
  line-height:1.7;
  font-size:clamp(.92rem,min(1.06vw,1.75vh),1.02rem);
}
.legal a{color:var(--gold-ink);text-decoration:underline;text-underline-offset:3px}
.legal .notice{margin-bottom:clamp(26px,3.6vh,42px)}
.legal .notice h2{margin-top:0}
.legal .notice .ticklist li{font-size:.95rem}
.platzhalter{
  padding:clamp(14px,2vh,20px) clamp(16px,2vw,24px);
  border-radius:var(--r-sm);
  background:rgba(240,145,112,.16);
  border-left:3px solid var(--coral);
}
.platzhalter strong{color:var(--ink)}

/* =========================================================
   Seitenkopf: engerer Anschluss und etwas mehr Leben
   ========================================================= */

/* Der erste Abschnitt schloss mit vollem Abstand an den ohnehin
   großzügigen Kopf an – zusammen ergab das ein totes Feld. */
.phead + .section,
.phead + .statement{padding-top:clamp(28px,4.4vh,64px)}

/* Zweiter, wärmerer Farbschleier – gleiche Sprache wie die Startseite,
   nur zurückhaltender. Liegt hinter dem Raster (.phead__grid, z-index 1). */
.phead::after{
  content:"";position:absolute;z-index:0;
  bottom:-24%;left:-8%;
  width:min(34vw,380px);aspect-ratio:1;border-radius:50%;
  background:var(--gold);filter:blur(90px);opacity:.24;
  pointer-events:none;
  animation:blob 22s ease-in-out infinite alternate;
  animation-delay:-6s;
}

/* Goldstrich schließt den Kopftext ab – derselbe Akzent wie unter
   den Abschnittsüberschriften, damit der Kopf nicht offen ausläuft. */
.phead__text::after{
  content:"";display:block;
  width:64px;height:3px;border-radius:2px;
  background:linear-gradient(90deg,var(--gold),rgba(231,208,77,0));
  margin-top:clamp(18px,2.6vh,28px);
}

/* Bilder im Seitenkopf bekommen ein helles Passepartout und mehr Tiefe.
   Der Schatten sitzt auf .frame selbst, wandert also mit dem Parallax mit. */
.phead__media .frame{
  box-shadow:0 0 0 8px rgba(255,255,255,.62),var(--shadow-lg);
}

/* =========================================================
   Beratungsabschnitt auf der Seminarübersicht
   ========================================================= */

/* Ohne den überlappenden Zusatzblock der Startseite braucht das Bild
   den Fußraum nicht, der dort Platz für die Float-Card schafft. */
.split-sec__media--plain{padding-bottom:0}
/* Bild an die Texthöhe binden – sonst bestimmt ein Hochformat die Sektionshöhe */
.split-sec__media--plain .frame img{
  aspect-ratio:4/5;
  max-height:min(52svh,470px);
  object-position:center 22%;
}

/* Zwischenüberschrift über einer Aufzählung */
.listlabel{
  margin:clamp(16px,2.4vh,24px) 0 .8em;
  font-weight:600;color:var(--forest);
  font-size:clamp(.92rem,min(1.05vw,1.75vh),1.02rem);
}
