:root{
  --paper:#F6FAFA;
  --ink:#22434A;
  --ink-soft:#4A6870;
  --brand:#609196;         /* Markenfarbe: Flächen, Linien, Akzente */
  --brand-deep:#4A7378;    /* Dunklere Variante: Buttons & Text (Kontrast) */
  --sage:#E8F0F1;
  --gold:#F8D048;          /* Sparsam: Highlight, Sterne, Fokus */
  --white:#FFFFFF;
  --line:#DDE6E7;
  --font-display:'Source Serif 4',Georgia,'Times New Roman',serif;
  --font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --p-anncathrin:url("/bilder/poster-anncathrin.webp");   /* TODO: besseres Standbild einsetzen */
  --p-maren:url("/bilder/poster-maren.webp");             /* TODO: Standbild ersetzen */
  --p-konzept:url("/bilder/poster-konzept.webp");
  --p-kathrin:url("/bilder/poster-kathrin.webp");
  --radius:14px;
  --max:1160px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);
  background:var(--paper);
  color:var(--ink);
  line-height:1.68;
  font-size:16.5px;
  letter-spacing:-.003em;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:var(--font-display);font-weight:500;line-height:1.18;letter-spacing:-0.015em}
h1{font-size:clamp(2.4rem,5.2vw,3.95rem);font-weight:400}
h2{font-size:clamp(1.75rem,3.4vw,2.55rem)}
h3{font-size:1.18rem;font-weight:600;letter-spacing:-.005em}
p{color:var(--ink-soft)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.eyebrow{
  font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--brand-deep);margin-bottom:14px;display:flex;align-items:center;gap:10px
}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--brand);display:inline-block}
section{padding:104px 0}
@media(max-width:720px){section{padding:66px 0}}

/* ---------- Nav ---------- */
nav{
  position:sticky;top:0;z-index:50;background:rgba(246,250,250,.93);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--line)
}
.nav-inner{max-width:var(--max);margin:0 auto;padding:11px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand-lockup{display:flex;flex-direction:column;align-items:center;gap:3px}
.brand-lockup img{height:30px;width:auto}
.brand-lockup .word{
  font-family:var(--font-body);font-weight:800;font-size:.78rem;
  letter-spacing:.02em;color:var(--brand);line-height:1
}
.nav-links{display:flex;gap:22px;font-size:.88rem;font-weight:500;white-space:nowrap}
.nav-links a{color:var(--ink-soft);transition:color .15s}
.nav-links a:hover{color:var(--brand-deep)}
@media(max-width:1180px){.nav-links{display:none}}
.nav-right{display:flex;align-items:center;gap:12px}
.burger{
  display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:10px;
  background:transparent;cursor:pointer;padding:11px 10px;flex-direction:column;justify-content:space-between
}
.burger span{display:block;height:2px;background:var(--ink);border-radius:2px;transition:transform .2s,opacity .2s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(9px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}
@media(max-width:1180px){.burger{display:flex}}
@media(max-width:520px){.nav-right .btn.small{display:none}}
.mobilmenu{display:none}
.mobilmenu.offen{
  border-top:1px solid var(--line);background:var(--paper);
  padding:14px 24px 22px;display:flex;flex-direction:column;gap:2px
}
@media(min-width:1181px){.mobilmenu,.mobilmenu.offen{display:none}}
.mobilmenu.offen a{padding:12px 2px;font-size:1rem;font-weight:500;color:var(--ink);border-bottom:1px solid var(--line)}
.mobilmenu.offen a:last-child{border:0;margin-top:14px;text-align:center;color:#fff}
@media(max-width:600px){.brand-lockup{flex-direction:row;gap:9px}.brand-lockup .word{font-size:1.05rem}}
/* ---------- Event-Banner (unter der Navigation) ---------- */
.event-banner{
  display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;
  background:var(--ink);color:#E6EFF0;text-decoration:none;
  padding:11px 20px;font-size:.92rem;font-weight:600;line-height:1.45;text-align:center;
  transition:background .15s
}
.event-banner:hover{background:#2C535B}
.event-banner strong{color:var(--gold);text-decoration:underline;text-underline-offset:2px}
.event-banner .eb-flame{font-size:1.05rem}
@media(max-width:600px){.event-banner{font-size:.8rem;padding:10px 14px;gap:6px}}

.btn{
  display:inline-block;background:var(--brand-deep);color:#fff;font-weight:600;font-size:.95rem;
  padding:13px 26px;border-radius:999px;transition:background .15s,transform .15s;
  box-shadow:0 4px 14px rgba(74,115,120,.28)
}
.btn:hover{background:#3D6166;transform:translateY(-1px)}
.btn.small{padding:10px 20px;font-size:.85rem}
.btn.ghost{background:transparent;color:var(--brand-deep);box-shadow:none;border:1.5px solid var(--brand)}
.btn.ghost:hover{background:var(--sage)}

/* ---------- Hero ---------- */
.hero{padding:74px 0 68px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
@media(max-width:860px){.hero-grid{grid-template-columns:1fr;gap:32px}.hero-visual{order:-1}}
/* Betonung im Hero – Variante per Klasse tauschbar: .mark oder .rule */
.hero h1 em{font-style:normal;white-space:nowrap;
  background-image:linear-gradient(var(--gold),var(--gold));
  background-repeat:no-repeat;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.hero h1 em.mark{                       /* Markierung */
  background-size:100% 44%;background-position:0 78%;
  padding:0 .1em;margin:0 -.05em;border-radius:2px}
.hero h1 em.rule{                       /* schlichte Linie */
  background-size:100% 3px;background-position:0 88%;padding-bottom:.06em}
/* Gelbe Markierung auch auf den Seitenkopf-Überschriften (sparsam, ein Wort) */
.seitenkopf h1 em.mark{
  font-style:normal;white-space:nowrap;
  background-image:linear-gradient(var(--gold),var(--gold));
  background-repeat:no-repeat;-webkit-box-decoration-break:clone;box-decoration-break:clone;
  background-size:100% 44%;background-position:0 78%;
  padding:0 .1em;margin:0 -.05em;border-radius:2px
}
.hero p.lede{font-size:1.12rem;margin:22px 0 30px;max-width:34em}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.hero-note{font-size:.82rem;color:var(--ink-soft);margin-top:14px}
.hero-visual{position:relative}
.hero-visual .photo{
  border-radius:var(--radius);aspect-ratio:4/4.6;background:var(--brand);object-fit:cover;width:100%;
  box-shadow:0 24px 60px rgba(34,67,74,.18)
}
.hero-card{
  position:absolute;right:-26px;bottom:30px;background:var(--white);border-radius:12px;
  padding:15px 19px;box-shadow:0 12px 34px rgba(34,67,74,.18);font-size:.85rem;max-width:245px;
  border-left:3px solid var(--brand)
}
.hero-card strong{display:block;font-size:.92rem;color:var(--ink)}
@media(max-width:860px){.hero-card{right:12px}}
.press{
  border-top:1px solid var(--line);margin-top:64px;padding-top:30px;
  display:flex;align-items:center;gap:16px 40px;flex-wrap:wrap
}
.press-lbl{
  font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);
  font-weight:700;flex:0 0 auto
}
.press img{height:32px;width:auto;opacity:.55;transition:opacity .2s}
.press img:hover{opacity:.8}
.press-wort{
  font-family:var(--font-display);font-size:1.25rem;color:var(--ink);opacity:.5;
  letter-spacing:-.01em
}
@media(max-width:720px){.press{gap:14px 26px;margin-top:48px;justify-content:center;text-align:center}.press img{height:26px}.press-wort{font-size:1.12rem}}

/* ---------- Passt wenn ---------- */
.fit{background:var(--sage)}
.fit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:44px}
@media(max-width:720px){.fit-grid{grid-template-columns:1fr}}
.fit-card{
  background:var(--white);border-radius:var(--radius);padding:28px;display:flex;gap:18px;
  border:1px solid rgba(96,145,150,.18)
}
.fit-icon{
  flex:0 0 46px;height:46px;border-radius:12px;background:var(--sage);color:var(--brand-deep);
  display:flex;align-items:center;justify-content:center
}
.fit-card p{font-weight:500;color:var(--ink);font-size:.98rem}

/* ---------- 7 Faktoren ---------- */
.factors{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:64px;align-items:start}
@media(max-width:900px){.factors{grid-template-columns:1fr;gap:36px}}
.factors-head{position:sticky;top:104px}
@media(max-width:900px){.factors-head{position:static}}
.factors-head p{margin-top:16px}
.factors-head .btn{margin-top:26px}
.factor-list{list-style:none;margin:0;padding:0}
.factor{
  display:grid;grid-template-columns:auto 1fr;gap:20px;
  padding:24px 0;border-top:1px solid var(--line)
}
.factor:first-child{border-top:0;padding-top:0}
.factor:last-child{padding-bottom:0}
.factor-num{
  width:36px;height:36px;border-radius:10px;background:var(--sage);color:var(--brand-deep);
  font-family:var(--font-display);font-size:1rem;font-weight:600;
  display:flex;align-items:center;justify-content:center;margin-top:2px
}
.factor h3{margin-bottom:6px}
.factor p{font-size:.95rem}
@media(max-width:520px){.factor{gap:14px}.factor-num{width:32px;height:32px;font-size:.9rem}}

/* ---------- Konzept-Video ---------- */
.konzept{background:var(--sage)}
.konzept-head{max-width:960px;margin:0 auto 40px;text-align:center}
.konzept-head .eyebrow{justify-content:center}
.konzept-head p{margin-top:14px}
.vframe--wide{max-width:880px;margin:0 auto;border-color:rgba(34,67,74,.14)}
.vframe--wide .vplay{left:50%;top:50%;width:74px;height:74px}
.vframe--wide .vplay svg{width:32px;height:32px}

/* ---------- Erfahrungen ---------- */
.cases{background:var(--ink);color:#E6EFF0}
.cases .eyebrow{color:var(--gold)}
.cases .eyebrow::before{background:var(--gold)}
.cases h2{color:#fff}
.cases-lede{color:#B9CCCF;max-width:42em;margin-top:14px}
.video-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:46px}
@media(max-width:820px){.video-grid{grid-template-columns:repeat(2,1fr);max-width:620px;margin-left:auto;margin-right:auto}}
/* Mobil: Testimonials als durchwischbares Karussell (Desktop bleibt Raster) */
.nur-mobil{display:none}
.reel-cap{display:none}
@media(max-width:640px){
  .cases .nur-mobil{display:block}
  /* kleiner Kasten unter dem Handy-Video: Vorname + kurzer Erfolg */
  .cases .reel-cap{display:block;margin-top:10px;background:#fff;border-radius:14px;padding:11px 14px;text-align:left}
  .cases .reel-cap strong{display:block;font-family:var(--font-body);font-size:.95rem;color:var(--ink);font-weight:700;letter-spacing:-.01em}
  .cases .reel-cap span{display:block;margin-top:2px;font-size:.83rem;color:var(--ink-soft);line-height:1.35}
  .cases .video-grid{display:flex;grid-template-columns:none;max-width:none;margin:40px 0 0;
    gap:12px;align-items:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;padding-bottom:14px;scrollbar-width:none}
  .cases .video-grid::-webkit-scrollbar{display:none}
  .cases .vcard{flex:0 0 76%;scroll-snap-align:start}
  /* Hochkant-Zuschnitt (9:16), Querformat-Video wird mittig gefüllt */
  .cases .vframe{aspect-ratio:9/16}
  .cases .vposter{background-position:center}
  /* Vorschau = natürliches Standbild aus dem Video (lokal gehostet), nur mobil */
  .cases .vcard:nth-child(1) .vposter{background-image:url(/bilder/erfahrung-frame-anncathrin.webp)!important}
  .cases .vcard:nth-child(2) .vposter{background-image:url(/bilder/erfahrung-frame-maren.webp)!important}
  .cases .vcard:nth-child(3) .vposter{background-image:url(/bilder/erfahrung-frame-kathrin.webp)!important}
  .cases .vframe iframe{inset:auto;left:50%;top:50%;width:auto;height:100%;
    aspect-ratio:16/9;min-width:100%;transform:translate(-50%,-50%)}
  /* Text/Zitat auf dem Handy ausblenden – nur das Video */
  .cases .vcard figcaption{display:none}
  .cases .cases-hint{display:block}
}
.cases-hint{display:none;margin-top:14px;text-align:center;color:#8FA9AD;font-size:.8rem;letter-spacing:.02em}
.vcard{margin:0}
.vframe{
  position:relative;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;
  background:#16323A;cursor:pointer;border:1px solid rgba(255,255,255,.12)
}
.vframe iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.reel-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#16323A;display:block}
.vframe.has-reel{cursor:pointer;aspect-ratio:9/16}
/* Play-Button mittig – zeigt, dass es ein Video ist */
.reel-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.92);
  box-shadow:0 4px 18px rgba(0,0,0,.28);
  display:flex;align-items:center;justify-content:center;z-index:2;pointer-events:none;
  opacity:1;transition:opacity .35s ease}
.reel-play svg{width:26px;height:26px;fill:var(--ink);margin-left:3px}
.vframe.reel-playing .reel-play{opacity:0}  /* Play-Button verschwindet, sobald das Video laeuft */
/* Ton-Symbol unten rechts (Lautsprecher, ohne Text) */
.reel-sound{position:absolute;right:10px;bottom:10px;width:34px;height:34px;border-radius:50%;
  background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:3;pointer-events:auto;cursor:pointer}
.reel-sound svg{width:19px;height:19px;fill:#fff}
.reel-sound .ic-on{display:none}
.vframe:not(.reel-muted) .reel-sound .ic-off{display:none}
.vframe:not(.reel-muted) .reel-sound .ic-on{display:block}
.vposter{
  position:absolute;inset:0;background-size:cover;background-position:center;
  transition:transform .5s ease
}
.vframe:hover .vposter{transform:scale(1.035)}
.vplay{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:54px;height:54px;border-radius:50%;border:0;cursor:pointer;
  background:rgba(255,255,255,.96);color:var(--brand-deep);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 26px rgba(0,0,0,.34);transition:transform .2s,background .2s
}
.vplay svg{width:24px;height:24px;fill:currentColor;margin-left:3px}
.vframe:hover .vplay{transform:translate(-50%,-50%) scale(1.08);background:#fff}
.vcard figcaption{margin-top:18px}
.vquote{font-family:var(--font-display);font-size:1.08rem;line-height:1.4;color:#fff;letter-spacing:-.01em}
/* einheitliche Zitat-Höhe, damit Name + Beschreibung in allen Karten auf gleicher Linie starten */
@media(min-width:641px){.cases .vquote{min-height:4.3em}}
.vmeta{display:flex;align-items:baseline;gap:9px;margin-top:10px}
.vmeta strong{font-size:.92rem;color:#fff;font-weight:600}
.vmeta span{font-size:.78rem;color:#8FAFB4}
.vmeta::before{content:"";width:18px;height:1px;background:var(--gold);display:block;align-self:center}
.vtext{font-size:.88rem;color:#B4C8CB;line-height:1.55;margin-top:8px}
.disclaimer{font-size:.76rem;color:#7E9CA1;margin-top:34px;text-align:center}
.cases .more{margin-top:20px;text-align:center}
.cases .more a{color:#fff;font-weight:600;border-bottom:1.5px solid var(--brand);padding-bottom:2px}
.cases .more a:hover{border-color:var(--gold)}

/* ---------- Ablauf ---------- */
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px}
@media(max-width:860px){.steps-grid{grid-template-columns:1fr}}
.step{background:var(--white);border-radius:var(--radius);padding:32px;
  border:1px solid rgba(96,145,150,.16);box-shadow:0 1px 2px rgba(34,67,74,.04)}
.step-num{
  font-family:var(--font-display);font-size:2.4rem;color:var(--brand);opacity:.45;
  font-weight:600;line-height:1;margin-bottom:14px
}
.step h3{margin-bottom:8px}
.step p{font-size:.94rem}
.advisors{
  margin-top:40px;display:flex;align-items:center;justify-content:center;gap:18px;
  flex-wrap:wrap;background:var(--white);border:1px solid rgba(96,145,150,.16);
  border-radius:var(--radius);padding:18px 26px;max-width:660px;margin-left:auto;margin-right:auto;
  box-shadow:0 1px 2px rgba(34,67,74,.04)
}
.av-row{display:flex;flex:0 0 auto}
.av-row img{
  width:52px;height:52px;border-radius:50%;object-fit:cover;object-position:center top;
  border:2.5px solid var(--white);background:var(--brand);margin-left:-14px;flex:0 0 auto;display:block
}
.av-row img:first-child{margin-left:0}
.advisors p{font-size:.9rem;line-height:1.5;flex:1;min-width:230px;text-align:left}
.advisors strong{color:var(--ink);font-weight:600}
@media(max-width:560px){.advisors{flex-direction:column;text-align:center}.advisors p{text-align:center}}
.steps-cta{margin-top:32px;text-align:center}
.steps-cta .hint{font-size:.82rem;color:var(--ink-soft);margin-top:12px}

/* ---------- Team ---------- */
.team{background:var(--sage)}
.team-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;margin-top:48px}
.team-grid .member{flex:0 1 calc(25% - 17px)}
@media(max-width:1000px){.team-grid .member{flex:0 1 calc(33.333% - 15px)}}
@media(max-width:720px){.team-grid .member{flex:0 1 calc(50% - 11px)}}
@media(max-width:430px){.team-grid .member{flex:0 1 100%}}
/* Mobil: Coaches als durchwischbares Karussell statt untereinander */
@media(max-width:640px){
  .team-grid{flex-wrap:nowrap;justify-content:flex-start;margin-top:34px;gap:14px;
    overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
    padding-bottom:12px;scrollbar-width:none}
  .team-grid::-webkit-scrollbar{display:none}
  .team-grid .member{flex:0 0 62%;scroll-snap-align:start}
}
.member{background:var(--white);border-radius:var(--radius);overflow:hidden;
  border:1px solid rgba(96,145,150,.16);box-shadow:0 1px 2px rgba(34,67,74,.04)}
.member img{aspect-ratio:4/5;object-fit:cover;object-position:top center;width:100%;background:var(--brand);display:block}
.member .info{padding:16px 18px}
.member .info strong{display:block;font-size:.97rem;line-height:1.3}
.member .info span{font-size:.81rem;color:var(--ink-soft);line-height:1.4;display:block;margin-top:2px}

/* ---------- Über ---------- */
.about-inner{max-width:720px;margin:0 auto;text-align:left}
.about-inner .eyebrow{justify-content:flex-start}
.about-grid{max-width:1000px;display:grid;grid-template-columns:.82fr 1.18fr;gap:48px;align-items:center}
@media(max-width:820px){.about-grid{grid-template-columns:1fr;gap:28px;max-width:520px}}
.about-photo{margin:0;border-radius:var(--radius);overflow:hidden;box-shadow:0 20px 50px rgba(34,67,74,.16)}
.about-photo img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:4/5}
.about blockquote{
  font-family:var(--font-display);font-size:1.32rem;line-height:1.5;color:var(--ink);
  border-left:3px solid var(--brand);padding-left:20px;margin:24px 0
}
.podcast{
  margin-top:30px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:20px 24px;display:flex;align-items:center;gap:18px;flex-wrap:wrap
}
.podcast .pc-icon{width:48px;height:48px;border-radius:12px;background:var(--brand);color:#fff;
  display:flex;align-items:center;justify-content:center;flex:0 0 48px}
.podcast strong{display:block;font-size:.95rem}
.podcast span{font-size:.82rem;color:var(--ink-soft)}
.about-stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:22px;
  margin-top:32px;padding-top:28px;border-top:1px solid var(--line)
}
.about-stats .stat-num{
  display:block;font-family:var(--font-display);font-weight:600;
  font-size:clamp(1.55rem,4.2vw,1.95rem);line-height:1.08;color:var(--ink)
}
.about-stats .stat-label{display:block;margin-top:6px;font-size:.84rem;color:var(--ink-soft);line-height:1.35}
@media(max-width:400px){.about-stats{grid-template-columns:1fr 1fr;gap:20px}}

/* ---------- CTA Band ---------- */
.cta-band{background:var(--brand-deep);color:#fff;text-align:center;padding:80px 0}
.cta-band h2{color:#fff;max-width:none;margin:0 auto 18px}
.cta-band p{color:#D6E6E7;max-width:46em;margin:0 auto 32px}
.cta-band p .br-desktop{display:inline}
@media(max-width:640px){.cta-band p .br-desktop{display:none}.cta-band h2{text-wrap:balance}}
.cta-band .btn{background:var(--gold);color:#3A5A5F;box-shadow:0 6px 20px rgba(0,0,0,.16)}
.cta-band .btn:hover{background:#F6C42A}

/* ---------- Footer ---------- */
body>footer{background:var(--ink);color:#A6BDC1;padding:64px 0 32px;font-size:.88rem}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;margin-bottom:48px}
.foot-logo{height:74px;width:auto;margin-bottom:16px;display:block}
.foot-tagline{color:#A6BDC1;font-size:.85rem;max-width:26em;margin:0;line-height:1.5}
@media(max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.foot-grid{grid-template-columns:1fr 1fr;gap:26px 22px}.foot-brand{grid-column:1/-1}.foot-logo{height:60px}}
body>footer h4{color:#fff;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px}
body>footer ul{list-style:none}
body>footer li{margin-bottom:8px}
body>footer a:hover{color:#fff}
.foot-hinweis{font-size:.8rem;color:#A6BDC1;margin:0 0 22px}
.foot-bottom{border-top:1px solid rgba(255,255,255,.13);padding-top:24px;display:flex;
  justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.8rem}

/* ---------- Reveal ---------- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}
.ic{width:100%;height:100%;display:block;color:currentColor}
.fit-icon .ic{width:24px;height:24px}
.pc-icon .ic{width:24px;height:24px}

/* ---------- Unterseiten ---------- */
.seitenkopf{padding:64px 0 0}
.seitenkopf .wrap{padding-bottom:40px;position:relative}
.seitenkopf .wrap::after{
  content:"";position:absolute;left:24px;right:24px;bottom:0;height:1px;background:var(--line)
}
.seitenkopf h1{font-size:clamp(2.6rem,5.6vw,4.2rem);margin-top:10px;letter-spacing:-.025em}
.seitenkopf .lede{font-size:1.14rem;margin-top:20px;max-width:34em;color:var(--ink-soft)}
.lede--klein{font-size:.92rem;margin-top:14px}

/* ---------- Events ---------- */
.events{padding-top:48px}
.event{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center;
  padding:56px 0;border-top:1px solid var(--line)}
.event:first-child{border-top:0;padding-top:8px}
@media(max-width:880px){.event{grid-template-columns:1fr;gap:28px;padding:44px 0}}
.event--gedreht .event-media{order:2}
@media(max-width:880px){.event--gedreht .event-media{order:0}}
.event-bild{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius);
  border:1px solid rgba(34,67,74,.12);box-shadow:0 12px 34px rgba(34,67,74,.10)}
.event-text h2{margin-bottom:18px}
.event-text p{margin-bottom:14px}
.event-text .btn{margin-top:12px}
.event-fakten{list-style:none;display:flex;flex-wrap:wrap;gap:10px 28px;margin-bottom:22px;
  padding-bottom:20px;border-bottom:1px solid var(--line)}
.event-fakten li{font-size:.94rem;color:var(--ink);font-weight:500}
.event-fakten span{display:block;font-size:.7rem;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--brand-deep);margin-bottom:3px}


/* ---------- Empfehlungen ---------- */
.produkte{padding:48px 0 96px}
.produkt-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
@media(max-width:820px){.produkt-grid{grid-template-columns:1fr}}
.produkt{
  background:var(--white);border:1px solid rgba(96,145,150,.16);border-radius:var(--radius);
  padding:32px 30px;box-shadow:0 1px 2px rgba(34,67,74,.04);display:flex;flex-direction:column
}
.marke{width:96px;border-radius:8px;margin-bottom:18px;display:block}
.marke--hell{border:1px solid var(--line)}
.produkt h2{font-size:1.4rem}
.produkt-sub{
  font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--brand-deep);margin:8px 0 18px
}
.produkt ul{list-style:none;margin:0 0 auto;padding-bottom:20px}
.produkt li{position:relative;padding-left:22px;margin-bottom:9px;font-size:.95rem;color:var(--ink-soft)}
.produkt li::before{
  content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:50%;
  background:var(--brand);opacity:.5
}
.rabatt{
  margin-top:auto;display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  border-top:1px solid var(--line);padding-top:18px
}
.rabatt span{font-size:.88rem;color:var(--ink);font-weight:500}
.rabatt code{
  font-family:var(--font-body);font-size:.88rem;font-weight:700;letter-spacing:.04em;
  background:var(--gold);color:#3A5A5F;padding:6px 12px;border-radius:6px
}
.produkt--buch{grid-column:1 / -1;flex-direction:row;gap:32px;align-items:flex-start}
.produkt--buch>div{flex:1}
.buchcover{width:190px;flex:0 0 190px;border-radius:8px;box-shadow:0 14px 34px rgba(34,67,74,.18)}
.produkt--buch .btn{margin-top:6px}
@media(max-width:820px){
  .produkt--buch{flex-direction:column;align-items:center;text-align:center}
  .produkt--buch ul{text-align:left;display:inline-block}
}
.produkt .btn.ghost{margin-top:16px;align-self:flex-start}
.werbehinweis{font-size:.78rem;color:var(--ink-soft);margin-top:34px;max-width:52em}






/* ---------- Presse ---------- */
/* ---------- Schwebender WhatsApp-Button ---------- */
.wa-float{
  position:fixed;right:22px;bottom:22px;z-index:70;
  display:inline-flex;align-items:center;gap:9px;
  background:#25D366;color:#fff;font-weight:600;font-size:.92rem;
  padding:12px 18px 12px 14px;border-radius:999px;text-decoration:none;
  box-shadow:0 10px 26px rgba(0,0,0,.24);transition:transform .15s,background .15s
}
.wa-float svg{width:26px;height:26px;fill:#fff;flex:0 0 auto}
.wa-float:hover{background:#1ebe57;transform:translateY(-2px)}
@media(max-width:600px){
  .wa-float{right:16px;bottom:16px;padding:14px;gap:0}
  .wa-float span{display:none}
}

/* ---------- Schwebendes Trustpilot-Badge ---------- */
.tp-float{
  position:fixed;left:20px;bottom:20px;z-index:70;
  display:flex;flex-direction:column;gap:4px;align-items:flex-start;
  background:#fff;border:1px solid var(--line);border-radius:12px;
  padding:10px 14px;box-shadow:0 10px 26px rgba(34,67,74,.16);
  text-decoration:none;color:var(--ink);line-height:1.2
}
.tp-float:hover{box-shadow:0 14px 32px rgba(34,67,74,.22);transform:translateY(-2px)}
.tp-float{transition:transform .15s,box-shadow .15s}
.tp-stars{position:relative;display:inline-block;font-size:1.02rem;letter-spacing:2px}
.tp-stars-bg{color:#dcdce6}
.tp-stars-fg{position:absolute;left:0;top:0;white-space:nowrap;overflow:hidden;width:var(--pct);color:#00B67A}
.tp-meta{font-size:.82rem;font-weight:700;color:var(--ink)}
.tp-brand{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;font-weight:600;color:var(--ink-soft)}
.tp-brand svg{width:13px;height:13px;fill:#00B67A}
@media(max-width:600px){
  .tp-float{position:static;left:auto;bottom:auto;z-index:auto;
    align-items:center;text-align:center;
    width:max-content;max-width:calc(100% - 32px);margin:4px auto 26px;
    padding:12px 18px;box-shadow:0 6px 18px rgba(0,0,0,.18)}
  .tp-stars{font-size:1rem}
}

/* ---------- Cookie-Banner ---------- */
.cc-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:200;
  background:#fff;border-top:1px solid var(--line);
  box-shadow:0 -8px 30px rgba(34,67,74,.14);padding:18px 0
}
.cc-banner[hidden]{display:none}
.cc-inner{
  max-width:var(--max);margin:0 auto;padding:0 24px;
  display:flex;align-items:center;gap:20px 32px;flex-wrap:wrap;justify-content:space-between
}
.cc-text{flex:1 1 440px;min-width:0}
.cc-text strong{display:block;color:var(--ink);font-size:1rem;margin-bottom:4px}
.cc-text p{color:var(--ink-soft);font-size:.86rem;line-height:1.55;margin:0}
.cc-text a{color:var(--brand-deep);text-decoration:underline}
.cc-btns{display:flex;gap:12px;flex:0 0 auto}
.cc-btns .btn{min-width:160px;justify-content:center}
.cc-no{background:var(--ink)}
.cc-no:hover{background:#17323a}
@media(max-width:600px){
  .cc-banner{padding:16px 0}
  .cc-btns{width:100%}
  .cc-btns .btn{flex:1 1 auto;justify-content:center}
}

/* ---------- Erfahrungen (Video-Grid, heller Grund) ---------- */
.erf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media(max-width:720px){.erf-grid{grid-template-columns:repeat(2,1fr);gap:18px}}
@media(max-width:460px){.erf-grid{grid-template-columns:1fr}}
.erf-grid .vframe{border:0;border-radius:16px;box-shadow:0 14px 34px -14px rgba(34,67,74,.30)}
.erf-grid .vcard figcaption{margin-top:16px}
.erf-grid .vquote{color:var(--ink);font-size:1rem;line-height:1.45}
.erf-grid .vmeta strong{color:var(--ink)}
.erf-grid .vmeta span{color:var(--ink-soft)}
.erf-grid .vmeta::before{background:var(--brand)}
.erf-grid .vtext{color:var(--ink-soft)}

/* ---------- Rechtsseiten (Impressum, Datenschutz) ---------- */
.legal{padding:8px 0 24px}
.legal .wrap{max-width:760px}
.legal-lead{font-size:1.05rem;color:var(--ink);line-height:1.7;margin-bottom:8px}
.legal h2{font-size:1.3rem;margin:34px 0 10px}
.legal h3{font-size:1.05rem;margin:22px 0 8px}
.legal p{margin-bottom:14px;line-height:1.7}
.legal a{color:var(--brand-deep);border-bottom:1.5px solid var(--brand)}
.legal a:hover{border-color:var(--gold)}
.legal ul{margin:0 0 14px 1.1em}
.legal li{margin-bottom:6px;line-height:1.6}

/* ---------- Blogartikel ---------- */
.artikel-zurueck{margin:0 0 14px}
.artikel-zurueck a{color:var(--ink-soft);font-size:.9rem;font-weight:600}
.artikel-zurueck a:hover{color:var(--brand-deep)}
.artikel .seitenkopf h1{max-width:20em}
.artikel-inhalt{max-width:760px;margin:0 auto;padding:8px 0 16px}
.artikel-inhalt h2{font-size:1.5rem;margin:40px 0 12px;line-height:1.3}
.artikel-inhalt h3{font-size:1.2rem;margin:30px 0 10px}
.artikel-inhalt h4{font-size:1.05rem;margin:24px 0 8px}
.artikel-inhalt h5{font-size:1rem;margin:18px 0 4px;color:var(--ink)}
.artikel-inhalt p{margin-bottom:16px;line-height:1.75;color:var(--ink-soft)}
.artikel-inhalt a{color:var(--brand-deep);border-bottom:1.5px solid var(--brand)}
.artikel-inhalt a:hover{border-color:var(--gold)}
.artikel-inhalt ul,.artikel-inhalt ol{margin:0 0 16px 1.2em}
.artikel-inhalt li{margin-bottom:6px;line-height:1.7;color:var(--ink-soft)}
.artikel-inhalt strong{color:var(--ink)}
.artikel-bild{margin:26px 0;border-radius:var(--radius);overflow:hidden}
.artikel-bild img{display:block;width:100%;height:auto}
.vframe--artikel{margin:26px 0}
.vposter--plain{position:absolute;inset:0;background:var(--brand)}

/* ---------- Blog ---------- */
.blog{padding-top:8px}
.blog-filter{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 40px}
.blog-filter button{
  font-family:var(--font-body);font-size:.86rem;font-weight:600;cursor:pointer;
  color:var(--ink-soft);background:var(--white);border:1px solid var(--line);
  border-radius:999px;padding:9px 18px;transition:background .15s,color .15s,border-color .15s
}
.blog-filter button:hover{color:var(--brand-deep);border-color:var(--brand)}
.blog-filter button.active{background:var(--brand-deep);color:#fff;border-color:var(--brand-deep)}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:720px){.blog-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:460px){.blog-grid{grid-template-columns:1fr}}
.blog-card{
  display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);
  border-radius:var(--radius);overflow:hidden;color:inherit;
  transition:transform .15s,box-shadow .15s,border-color .15s
}
.blog-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(34,67,74,.10);border-color:var(--brand)}
.blog-thumb{display:block;background:var(--sage)}
.blog-thumb img{display:block;width:100%;height:auto}
.blog-body{display:flex;flex-direction:column;flex:1;padding:18px 20px 20px}
.blog-cat{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-deep)}
.blog-card h3{margin:9px 0 8px;font-size:1.06rem;line-height:1.32}
.blog-card p{font-size:.88rem;line-height:1.5;margin-bottom:16px}
.blog-more{margin-top:auto;font-size:.86rem;font-weight:600;color:var(--brand-deep)}
.blog-card:hover .blog-more{color:var(--brand)}

.presse{padding:48px 0 0}
.auftritte{list-style:none;margin:0}
.auftritt{
  display:grid;grid-template-columns:220px 1fr;gap:36px;
  padding:30px 0;border-bottom:1px solid var(--line)
}
.auftritt:first-child{border-top:1px solid var(--line)}
@media(max-width:760px){.auftritt{grid-template-columns:1fr;gap:10px;padding:26px 0}}
.auftritt-quelle{
  font-size:.76rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  color:var(--brand-deep);padding-top:5px
}
.presse-logo{
  display:block;width:150px;height:150px;object-fit:cover;
  border-radius:12px;margin-top:16px;border:1px solid var(--line)
}
.auftritt-text h2{font-size:1.22rem;margin-bottom:6px}
.auftritt-meta{font-size:.84rem;color:var(--ink-soft);margin-bottom:10px}
.auftritt-text p{font-size:.95rem}
.auftritt-text a{
  display:inline-block;margin-top:12px;font-size:.9rem;font-weight:600;color:var(--brand-deep);
  border-bottom:1.5px solid var(--brand);padding-bottom:2px
}
.auftritt-text a:hover{border-color:var(--gold)}
.jobs-empty{margin-top:34px;max-width:560px}
.jobs-badge{
  display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:.92rem;color:var(--ink);
  background:var(--sage);border:1px solid var(--line);border-radius:999px;padding:8px 16px
}
.jobs-badge::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--brand);display:inline-block}
.jobs-empty p{margin:18px 0 22px;max-width:48ch}
.presse-kontakt{padding:72px 0 96px}
.pk-box{background:var(--sage);border-radius:18px;padding:44px 40px}
@media(max-width:720px){.pk-box{padding:32px 24px}}
.pk-box h2{font-size:1.6rem;margin-bottom:12px}
.pk-box p{max-width:44em;margin-bottom:26px}

/* ---------- Newsletter ---------- */
.nl-kopf-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:start}
.nl-kopf-grid>div{padding-top:22px}
.nl-foto{margin-top:64px}
@media(max-width:880px){.nl-kopf-grid{grid-template-columns:1fr;gap:28px}
  .nl-kopf-grid>div{padding-top:0}
  .nl-foto{margin-top:0}}
.nl-foto{width:100%;border-radius:var(--radius);box-shadow:0 20px 46px rgba(34,67,74,.16)}
.nl-kopf-visual{margin-top:40px}
.nl-kopf-visual .nl-mockup{margin-left:auto;margin-right:0}
.nl-kopf-cap{text-align:right;font-size:.85rem;color:var(--ink-soft);margin:12px 0 0 auto;max-width:420px}
@media(max-width:880px){.nl-kopf-visual{margin-top:0}.nl-kopf-visual .nl-mockup{margin:0 auto}.nl-kopf-cap{text-align:center;margin:12px auto 0}}
.nl-blick{background:var(--sage);padding:80px 0 88px}
.nl-blick-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
@media(max-width:880px){.nl-blick-grid{grid-template-columns:1fr;gap:32px}}
.nl-blick-text p{margin-top:16px}
.nl-mockup{
  background:var(--white);border-radius:14px;padding:10px;
  box-shadow:0 22px 50px rgba(34,67,74,.18);max-width:420px;
  margin-left:auto;max-height:520px;overflow:hidden;position:relative
}
.nl-mockup img{width:100%;display:block;border-radius:8px}
.nl-mockup::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:90px;
  background:linear-gradient(rgba(255,255,255,0),#fff)
}
@media(max-width:880px){.nl-mockup{margin:0 auto}}
.nl-haupt{padding:8px 0 72px}
.nl-box-inner{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
@media(max-width:820px){.nl-box-inner{grid-template-columns:1fr;gap:24px}}
.nl-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
@media(max-width:900px){.nl-grid{grid-template-columns:1fr;gap:36px}}
.nl-liste{list-style:none;margin:30px 0 0}
.nl-liste li{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.nl-liste li:last-child{border-bottom:0}
.nl-haken{
  flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:var(--sage);
  color:var(--brand-deep);display:flex;align-items:center;justify-content:center;margin-top:2px
}
.nl-haken .ic{width:19px;height:19px}
.nl-liste strong{display:block;color:var(--ink);font-size:.98rem;margin-bottom:3px}
.nl-liste div{font-size:.93rem;color:var(--ink-soft);line-height:1.55}
.nl-schluss{
  margin-top:26px;font-family:var(--font-display);font-size:1.1rem;line-height:1.45;
  color:var(--ink);border-left:3px solid var(--brand);padding-left:18px
}
.nl-box{
  background:var(--brand-deep);color:#fff;border-radius:18px;padding:40px 34px 34px;
  box-shadow:0 18px 44px rgba(34,67,74,.16)
}

@media(max-width:520px){.nl-box{padding:30px 22px 26px}}
.nl-box h2{color:#fff;font-size:1.5rem}
.nl-box p{color:#D6E6E7;margin:10px 0 4px;font-size:.95rem}

/* Eingebettetes ActiveCampaign-Formular an das Seitendesign anpassen */
.nl-formular ._form{background:#fff!important;border-radius:14px!important;padding:26px 26px 22px!important;box-shadow:none!important;max-width:none!important;font-family:var(--font-body)!important}
.nl-formular ._form-title{display:none!important}
.nl-formular ._form-label{font-family:var(--font-body)!important;color:var(--ink)!important;font-weight:600!important;font-size:.9rem!important;margin-bottom:6px!important}
.nl-formular .field-required{color:var(--brand-deep)!important}
.nl-formular ._form input[type=text],
.nl-formular ._form input[type=email],
.nl-formular ._form input:not([type=checkbox]):not([type=radio]):not([type=submit]){
  width:100%!important;box-sizing:border-box!important;height:auto!important;
  font-family:var(--font-body)!important;font-size:.98rem!important;color:var(--ink)!important;
  padding:12px 14px!important;border:1px solid var(--line)!important;border-radius:10px!important;
  background:#fff!important;box-shadow:none!important
}
.nl-formular ._form input::placeholder{color:var(--ink-soft)!important}
.nl-formular ._form input:focus{border-color:var(--brand)!important;outline:none!important}
.nl-box .nl-formular #_form_1_submit{
  background:var(--brand-deep)!important;color:#fff!important;border:0!important;
  border-radius:999px!important;padding:13px 30px!important;font-family:var(--font-body)!important;
  font-weight:600!important;font-size:.95rem!important;cursor:pointer;width:auto!important;
  letter-spacing:0!important;text-shadow:none!important;
  box-shadow:0 4px 14px rgba(74,115,120,.28)!important;transition:background .15s
}
.nl-box .nl-formular #_form_1_submit:hover{background:#3D6166!important}
.nl-formular ._form-branding,.nl-formular ._marketing-by{opacity:.4;font-size:.72rem!important}
.nl-form,.nl-danke{background:#fff;border-radius:14px;padding:26px 26px 24px}
.nl-feld{margin-bottom:14px}
.nl-feld label{display:block;font-size:.9rem;font-weight:600;color:var(--ink);margin-bottom:6px}
.nl-form input[type=text],.nl-form input[type=email]{
  width:100%;border:1.5px solid var(--line);border-radius:10px;padding:12px 14px;
  font-family:var(--font-body);font-size:.95rem;color:var(--ink);background:#fff}
.nl-form input::placeholder{color:var(--ink-soft)}
.nl-form input:focus{border-color:var(--brand);outline:none}
.nl-check{display:flex;gap:10px;align-items:flex-start;margin:4px 0 18px;font-size:.82rem;line-height:1.45;color:var(--ink-soft)}
.nl-check input{margin-top:2px;flex:0 0 auto;accent-color:var(--brand-deep);width:16px;height:16px}
.nl-check a{color:var(--brand-deep);text-decoration:underline}
.nl-submit{width:100%;justify-content:center}
.nl-danke strong{display:block;font-size:1.1rem;color:var(--ink);margin-bottom:6px}
.nl-danke p{color:var(--ink-soft);font-size:.9rem;margin:0}
.nl-sink{display:none}

/* ---------- FAQ ---------- */
.faq{padding:48px 0 96px}
.faq-block{padding:26px 0 0;scroll-margin-top:150px;margin-bottom:22px;border-top:1px solid var(--line)}
.faq-block:first-of-type{border-top:0;padding-top:0}
.faq-block:last-child{margin-bottom:0}
.faq-titel{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.faq-icon{
  width:46px;height:46px;flex:0 0 46px;border-radius:12px;background:var(--sage);
  color:var(--brand-deep);display:flex;align-items:center;justify-content:center
}
.faq-icon .ic{width:24px;height:24px}
.faq-block h2{font-size:1.6rem;margin-bottom:0;color:var(--brand-deep)}
.frage{
  background:var(--white);border:1px solid rgba(96,145,150,.16);border-radius:12px;
  margin-bottom:8px;overflow:hidden;transition:border-color .18s
}
.frage[open]{border-color:rgba(96,145,150,.4);box-shadow:0 6px 20px rgba(34,67,74,.06)}
.frage summary{
  cursor:pointer;list-style:none;padding:17px 56px 17px 24px;position:relative;
  font-weight:600;font-size:1.02rem;color:var(--ink);line-height:1.45
}
.frage summary::-webkit-details-marker{display:none}
.frage summary::after{
  content:"";position:absolute;right:24px;top:50%;width:11px;height:11px;
  border-right:2px solid var(--brand-deep);border-bottom:2px solid var(--brand-deep);
  transform:translateY(-70%) rotate(45deg);transition:transform .2s
}
.frage[open] summary::after{transform:translateY(-30%) rotate(225deg)}
.frage summary:hover{color:var(--brand-deep)}
.antwort{padding:0 24px 24px;max-width:60em}
.antwort p{margin-bottom:12px;font-size:.96rem}
.antwort p:last-child{margin-bottom:0}
.antwort a{color:var(--brand-deep);border-bottom:1px solid var(--brand);padding-bottom:1px}
.antwort a:hover{border-color:var(--gold)}
.antwort ul{list-style:none;margin:6px 0 12px}
.antwort li{position:relative;padding-left:20px;margin-bottom:7px;font-size:.95rem;
  color:var(--ink-soft);line-height:1.5}
.antwort li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;
  border-radius:50%;background:var(--brand);opacity:.5}
.antwort .zwei-spalten{columns:2;column-gap:34px}
@media(max-width:640px){.antwort .zwei-spalten{columns:1}}
.antwort .zwei-spalten li{break-inside:avoid}
.abschluss{
  background:var(--brand-deep);color:#fff;padding:72px 0;
}
.abschluss-grid{
  max-width:var(--max);margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);
  gap:52px;align-items:center
}
.abschluss-bild{
  position:relative;border-radius:var(--radius);overflow:hidden;
  aspect-ratio:4/5;box-shadow:0 18px 44px rgba(0,0,0,.22)
}
.abschluss-bild img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 26%}
.abschluss-text{max-width:600px}
@media(max-width:820px){
  .abschluss{padding:52px 0}
  .abschluss-grid{grid-template-columns:1fr;gap:30px;justify-items:center;text-align:center}
  .abschluss-bild{width:100%;max-width:280px;aspect-ratio:4/4}
  .abschluss h2,.abschluss p{margin-left:auto;margin-right:auto}
}
.abschluss h2{color:#fff;max-width:16em}
.abschluss p{color:#D6E6E7;max-width:34em;margin:16px 0 30px}
.abschluss .btn{background:var(--gold);color:#3A5A5F;box-shadow:0 6px 20px rgba(0,0,0,.16)}
.abschluss .btn:hover{background:#F6C42A}
.cta-alternativ{font-size:.9rem;margin-top:20px;color:#D6E6E7}
.cta-alternativ a{color:#fff;border-bottom:1px solid rgba(255,255,255,.5)}

/* ---------- Partnerleiste ---------- */
.partner-liste{display:flex;flex-direction:column;gap:12px;margin-top:24px}
.partner{
  display:flex;align-items:center;gap:20px;background:var(--white);
  border:1px solid rgba(96,145,150,.16);border-radius:12px;padding:16px 22px;
  box-shadow:0 1px 2px rgba(34,67,74,.04);transition:border-color .18s,transform .18s
}
.partner:hover{border-color:var(--brand);transform:translateY(-2px)}
.partner img{width:56px;height:56px;object-fit:contain;border-radius:8px;flex:0 0 56px;background:var(--white)}
.partner-text{flex:1;min-width:180px}
.partner-text strong{display:block;font-size:1.02rem;color:var(--ink)}
.partner-text span{font-size:.88rem;color:var(--ink-soft);line-height:1.45}
.partner .rabatt{margin:0;border:0;padding:0;flex:0 0 auto}
@media(max-width:680px){
  .partner{flex-wrap:wrap;gap:14px}
  .partner .rabatt{width:100%;border-top:1px solid var(--line);padding-top:14px}
}

/* ---------- Alle Produkte ---------- */
.alle{background:var(--sage);padding:88px 0 96px}
.alle .eyebrow{justify-content:center}
.alle-titel{text-align:center;margin-bottom:30px}
.sprungleiste{
  display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-bottom:64px;
  position:sticky;top:74px;z-index:20;background:rgba(232,240,241,.94);
  backdrop-filter:blur(6px);padding:14px 0;border-radius:12px
}
.sprungleiste a{
  font-size:.85rem;font-weight:500;padding:8px 16px;border-radius:999px;
  background:var(--white);border:1px solid rgba(96,145,150,.2);color:var(--ink-soft);
  transition:background .15s,color .15s,border-color .15s
}
.sprungleiste a:hover{background:var(--brand-deep);border-color:var(--brand-deep);color:#fff}
.alle-intro{text-align:center;max-width:42em;margin:0 auto 34px}
.faktor{padding:0;scroll-margin-top:150px;margin-bottom:56px}
.faktor:last-child{margin-bottom:0}
.faktor-kopf{display:flex;align-items:flex-start;gap:18px;margin-bottom:12px}
.faktor-nr{
  font-family:var(--font-display);font-size:1.05rem;font-weight:600;color:var(--brand-deep);
  background:var(--white);border:1px solid rgba(96,145,150,.3);border-radius:10px;
  padding:8px 12px;line-height:1;flex:0 0 auto
}
.faktor h2{font-size:1.75rem;margin-bottom:4px}
.faktor-claim{font-family:var(--font-display);font-size:1.08rem;color:var(--brand-deep);line-height:1.35}
.kat-intro{max-width:48em;margin-bottom:26px}
.pkarten{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:900px){.pkarten{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.pkarten{grid-template-columns:1fr}}
.pkarte{
  background:var(--white);border:1px solid rgba(96,145,150,.16);border-radius:12px;
  padding:22px 22px 20px;display:flex;flex-direction:column
}
.pkarte h3{font-size:1.05rem;margin-bottom:10px}
.pkarte ul{list-style:none;margin:0 0 auto}
.pkarte li{position:relative;padding-left:18px;margin-bottom:7px;font-size:.9rem;
  color:var(--ink-soft);line-height:1.5}
.pkarte li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;
  border-radius:50%;background:var(--brand);opacity:.5}
.pkarte .rabatt{margin-top:16px;padding-top:14px;gap:9px;border-top:1px solid var(--line)}
.pkarte-link{
  margin-top:12px;font-size:.86rem;font-weight:600;color:var(--brand-deep);
  border-bottom:1.5px solid var(--brand);padding-bottom:2px;align-self:flex-start
}
.pkarte-link:hover{border-color:var(--gold)}
.pkarte .rabatt span{font-size:.82rem}
.pkarte .rabatt code{font-size:.8rem;padding:5px 10px}

/* ---------- Impressionen ---------- */
.impressionen{background:var(--sage);padding:80px 0}
.impressionen .eyebrow{justify-content:center}
.impressionen h2{text-align:center;margin-bottom:38px}
.galerie{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.galerie figure{margin:0;border-radius:var(--radius);overflow:hidden;background:var(--brand)}
.galerie img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.galerie figure:hover img{transform:scale(1.03)}
.g-gross{grid-column:1 / -1;aspect-ratio:16/9}
.galerie figure:not(.g-gross){aspect-ratio:4/3}
@media(max-width:640px){.galerie{grid-template-columns:1fr}}

/* ---------- Stimmen ---------- */
.stimmen{padding:88px 0}
@media(max-width:720px){.stimmen{padding:60px 0}}
.stimmen .eyebrow{justify-content:center}
.stimmen h2{text-align:center;margin-bottom:42px}
.stimmen-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:880px){.stimmen-grid{grid-template-columns:1fr;max-width:620px;margin:0 auto}}
.stimme{
  margin:0;background:var(--white);border:1px solid rgba(96,145,150,.16);
  border-radius:var(--radius);padding:30px 28px;box-shadow:0 1px 2px rgba(34,67,74,.04);
  display:flex;flex-direction:column;justify-content:space-between
}
.stimme p{
  font-family:var(--font-display);font-size:1.05rem;line-height:1.5;color:var(--ink);
  position:relative;padding-top:26px
}
.stimme p::before{
  content:"„";position:absolute;top:-6px;left:-2px;font-family:var(--font-display);
  font-size:3.2rem;line-height:1;color:var(--brand);opacity:.35
}
.stimme footer{margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}
.stimme-sterne{color:var(--gold);letter-spacing:2px;font-size:.85rem;margin-bottom:8px}
.stimme footer strong{display:block;font-size:.94rem;color:var(--ink)}
.stimme footer span{font-size:.8rem;color:var(--ink-soft)}
.disclaimer-hell{font-size:.76rem;color:var(--ink-soft);text-align:center;margin-top:30px}

/* ---------- Speaker ---------- */
.speaker{background:var(--sage)}
.speaker-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:52px;align-items:center}
@media(max-width:880px){.speaker-grid{grid-template-columns:1fr;gap:32px}}
.speaker-foto{border-radius:var(--radius);box-shadow:0 20px 50px rgba(34,67,74,.16)}
.speaker-ctas{margin-top:26px}

/* Navigationsleiste in der Markenfarbe */
nav{background:var(--brand);border-bottom-color:rgba(255,255,255,.25)}
.brand-lockup img{filter:brightness(0) invert(1)}
.brand-lockup .word{color:#fff}
.nav-links a{color:#fff}
.nav-links a:hover{color:var(--gold)}
.nav-right .btn.small{background:var(--gold);color:#3A5A5F;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.nav-right .btn.small:hover{background:#F6C42A}
.burger{border-color:rgba(255,255,255,.4)}
.burger span{background:#fff}
.mobilmenu.offen{background:var(--brand);border-top-color:rgba(255,255,255,.25)}
.mobilmenu.offen a{color:#fff;border-bottom-color:rgba(255,255,255,.2)}
.mobilmenu.offen a:last-child{background:var(--gold);color:#3A5A5F}

:focus-visible{outline:2.5px solid var(--gold);outline-offset:3px;border-radius:4px}
