body{font-family:var(--sans);font-size:17px;line-height:1.85;color:var(--ink-50);background:var(--white);overflow-x:hidden;}
/* ═══════════════════════════════════════════════════════════════════
   HEADER + SUBMENU + BURGER — Block-Source-of-Truth
   Bei Änderung: identisch in alle Pages syncen (str_replace).
   Header-Mode hardcoded: hdr-mode-hybrid (Container-Glassmorph als
   Lesbarkeits-Schutz auf transparenten Heros + Glassmorph-Submenus).
   ═══════════════════════════════════════════════════════════════════ */
/* NAV-CONTAINER — Basis (gemeinsam, ohne Container-Pille) */
/* WICHTIG: auf #hdr scopen — sonst greifen die Regeln auch auf andere <nav>
   (z. B. die Sticky-Sub-Nav auf Über mich). */
/* VARIANTE HYBRID: Container-Glassmorph (Desktop-only — Mobile-Override greift sonst nicht sauber) */
/* TOP-LEVEL-ITEMS — Underline-Indicator + Text-Shadow als Lesbarkeits-Fallback */
/* Underline-Indicator via Pseudo-Element (für Hover + Active) */
/* Auf transparent (default-state über Hero-Bild) — Text-Shadow als Sicherheitsnetz */
/* Auf solid (Scroll-Down) — text-shadow weg, gold-Pattern */
/* Has-Sub-Container */
/* Über mich: Top-Level ist klickbarer Link (eigene Page existiert) */
/* Active-Parent: wenn User auf einer Sub-Page ist, wird Parent-Top-Level auch markiert */
/* SUBMENU-DROPDOWN — Basis */
/* Hover-Bridge: unsichtbares Pseudo-Element überbrückt margin-top */
/* VARIANTE HYBRID: Glassmorph-Submenus (passt zur Container-Pille) */
/* Placeholder-Sub-Item (Page existiert noch nicht — visuell reduziert, kein Hover, nicht klickbar) */
/* CTA-Button — vollständige Styles (sonst erbt er nichts vom alten nav a-Selektor) */
/* BURGER (Mobile only — auf Desktop hidden). Glassmorph bleibt in beiden Varianten gleich. */
/* ═══════════════════════════ END HEADER ═══════════════════════════ */
/* ─── HERO (fullscreen dark) ─── */
.hero{min-height:88vh;position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:180px 64px 90px;overflow:hidden;}
.hero-bg{position:absolute;inset:0;background:var(--mahagoni);}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 25%;}
.hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,rgba(77,50,32,.60) 0%,rgba(77,50,32,.22) 25%,transparent 45%),linear-gradient(to top,rgba(77,50,32,.88) 0%,rgba(77,50,32,.60) 35%,rgba(77,50,32,.25) 65%,transparent 85%);}
.hero-sonne{position:absolute;width:560px;height:auto;bottom:-80px;right:-60px;opacity:.06;pointer-events:none;z-index:1;}
.hero-content{position:relative;z-index:2;max-width:820px;}
.breadcrumb{display:flex;align-items:center;gap:10px;font-size:.78rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:30px;}
.breadcrumb a{color:rgba(255,255,255,.6);text-decoration:none;transition:color .2s;}
.breadcrumb a:hover{color:rgba(255,255,255,.9);}
.breadcrumb-current{color:rgba(255,255,255,.9);}
.breadcrumb-sep{color:rgba(255,255,255,.35);}
.hero-sub{font-size:1.1rem;color:rgba(255,255,255,.92);line-height:1.8;max-width:560px;margin-bottom:40px;text-shadow:0 1px 8px rgba(0,0,0,.2);}
.hero-ctas{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.btn-hero-primary{display:inline-flex;align-items:center;gap:10px;padding:15px 34px;background:var(--gold);color:var(--white);font-size:.8rem;font-weight:600;letter-spacing:1.8px;text-transform:uppercase;text-decoration:none;border-radius:var(--radius-sm);transition:background .25s,transform .25s,box-shadow .25s;}
.btn-hero-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(184,151,92,.3);}
/* ─── SHARED ─── */
.s-eye-line{width:36px;height:2px;background:var(--terra);border-radius:1px;}
.s-eye-text{font-size:.875rem;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--terra);}
.s-h2{font-family:var(--serif);font-size:clamp(2rem,3vw,2.7rem);font-weight:400;color:var(--ink);line-height:1.25;margin-bottom:0;}
.s-h2 em{font-style:italic;color:var(--terra);}
.body-text{font-size:1.0625rem;line-height:1.85;color:var(--ink-50);margin-bottom:1.2em;}
/* ─── LEAD ─── */
.lead{padding:110px 64px;background:var(--cream-deep);position:relative;overflow:hidden;}
.lead-sonne{position:absolute;top:50%;left:-150px;transform:translateY(-50%);width:620px;height:auto;opacity:.05;pointer-events:none;}
.lead-inner{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start;position:relative;z-index:2;}
.lead-h2{font-family:var(--serif);font-size:clamp(1.8rem,2.8vw,2.5rem);font-weight:400;color:var(--ink);line-height:1.3;margin-bottom:26px;}
.lead-h2 em{font-style:italic;color:var(--terra);}
.lead-p{font-size:1.0625rem;line-height:1.85;color:var(--ink-50);margin-bottom:1.2em;}
.lead-blockquote{border-left:3px solid var(--terra);padding:14px 0 14px 26px;margin-top:24px;border-radius:0 var(--radius-sm) var(--radius-sm) 0;}
.lead-blockquote p{font-family:var(--serif);font-style:italic;font-size:1.0625rem;color:var(--ink);line-height:1.7;}
.lead-blockquote p+p{margin-top:12px;}
.lead-blockquote .lead-cite{font-family:var(--sans);font-style:normal;font-size:.875rem;letter-spacing:.5px;color:var(--ink-30);margin-top:14px;}
.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;position:sticky;top:96px;align-self:start;}
.stat-card{background:var(--white);padding:26px;border:1px solid rgba(196,114,74,.15);border-radius:var(--radius);transition:transform .3s,box-shadow .3s;}
.stat-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.06);}
.stat-n{font-family:var(--serif);font-size:2.4rem;font-weight:400;color:var(--terra);line-height:1;margin-bottom:7px;}
.stat-card.is-word .stat-n{font-size:1.6rem;font-style:italic;}
.stat-l{font-size:.875rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--ink-30);}
.stat-desc{font-size:.875rem;color:var(--ink-50);margin-top:6px;line-height:1.6;}
/* ─── ELEMENTE (was einfließt) ─── */
.elemente{padding:110px 64px;background:var(--white);position:relative;overflow:hidden;}
.elemente-inner{max-width:1120px;margin:0 auto;position:relative;z-index:2;}
.elemente-header{margin-bottom:50px;max-width:780px;}
.elemente-intro{font-size:1.0625rem;line-height:1.85;color:var(--ink-50);margin-top:18px;}
.basis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
@media(max-width:1000px){.basis-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.basis-grid{grid-template-columns:1fr;}}
.basis-card{padding:32px 28px;background:var(--cream-deep);border-radius:var(--radius-lg);position:relative;overflow:hidden;border-top:2px solid transparent;transition:transform .35s cubic-bezier(.23,1,.32,1),box-shadow .35s,border-color .35s;}
.basis-card:hover{transform:translateY(-4px);box-shadow:0 6px 20px rgba(0,0,0,.09);border-top-color:var(--terra);}
.basis-name{font-family:var(--serif);font-size:1.2rem;font-weight:400;color:var(--ink);margin-bottom:10px;line-height:1.3;}
.basis-desc{font-size:.9375rem;line-height:1.75;color:var(--ink-50);}
/* ─── ABLAUF (3 Phasen) ─── */
.ablauf{padding:110px 64px;background:var(--cream-deep);position:relative;overflow:hidden;}
.ablauf-inner{max-width:1120px;margin:0 auto;position:relative;z-index:2;}
.ablauf-header{margin-bottom:60px;max-width:680px;}
.phase-grid{display:grid;grid-template-columns:1fr 36px 1fr 36px 1fr;gap:0;align-items:stretch;}
.phase-card{background:var(--white);border-radius:var(--radius-lg);padding:36px 30px;box-shadow:0 2px 10px rgba(0,0,0,.04);display:flex;flex-direction:column;}
.phase-eyebrow{font-size:.875rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--terra);margin-bottom:14px;}
.phase-title{font-family:var(--serif);font-size:1.3rem;font-weight:400;color:var(--ink);line-height:1.3;margin-bottom:14px;}
.phase-desc{font-size:.9375rem;line-height:1.75;color:var(--ink-50);}
.phase-arrow{display:flex;align-items:center;justify-content:center;color:var(--terra);}
.phase-arrow svg{width:28px;height:28px;}
/* ─── ANWENDUNGSBEREICHE ─── */
.anwendung{padding:110px 64px;background:var(--white);position:relative;overflow:hidden;}
.anwendung-inner{max-width:1120px;margin:0 auto;position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;}
.anwendung-list{list-style:none;padding:0;margin:0;}
.anwendung-list li{position:relative;padding:18px 0 18px 32px;font-size:1.0625rem;line-height:1.6;color:var(--ink);border-bottom:1px solid rgba(196,114,74,.15);}
.anwendung-list li:last-child{border-bottom:none;}
.anwendung-list li::before{content:'•';position:absolute;left:0;top:14px;color:var(--terra);font-weight:700;font-size:1.4rem;line-height:1;}
.anwendung-close{font-family:var(--serif);font-style:italic;font-size:1.0625rem;line-height:1.75;color:var(--ink);margin-top:36px;padding:18px 0 18px 24px;border-left:3px solid var(--terra);}
.anwendung-bild{margin-top:36px;max-width:380px;}
.anwendung-bild img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;border-radius:var(--radius);}
/* ─── PROGRAMM-CARDS ─── */
.programm{padding:110px 64px;background:var(--cream-deep);position:relative;overflow:hidden;}
.programm-inner{max-width:1120px;margin:0 auto;position:relative;z-index:2;}
.programm-header{margin-bottom:50px;max-width:780px;}
.programm-intro{font-size:1.0625rem;line-height:1.85;color:var(--ink-50);margin-top:18px;}
.programme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.programm-card{background:var(--white);border-radius:var(--radius-lg);padding:38px 32px;display:flex;flex-direction:column;border-top:2px solid transparent;transition:transform .35s cubic-bezier(.23,1,.32,1),box-shadow .35s,border-color .35s;}
.programm-card:hover{transform:translateY(-4px);box-shadow:0 6px 20px rgba(0,0,0,.09);border-top-color:var(--terra);}
.programm-name{font-family:var(--serif);font-size:1.5rem;font-weight:400;color:var(--ink);margin-bottom:6px;}
.programm-name em{font-style:italic;color:var(--terra);}
.programm-tagline{font-size:.85rem;font-style:italic;color:var(--ink-30);margin-bottom:22px;}
.programm-desc{font-size:.9375rem;line-height:1.75;color:var(--ink-50);margin-bottom:22px;}
.programm-preis{font-family:var(--serif);font-size:1.6rem;font-weight:400;color:var(--terra);font-style:italic;margin-top:auto;padding-top:6px;}
/* ─── CTA ─── */
.cta-section{padding:100px 64px;background:var(--mahagoni);text-align:center;position:relative;overflow:hidden;}
.cta-sonne{position:absolute;top:50%;right:-200px;transform:translateY(-50%);width:720px;height:auto;opacity:.06;pointer-events:none;}
.cta-inner{position:relative;z-index:2;max-width:680px;margin:0 auto;}
.cta-eye{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:14px;}
.cta-eye-line{width:36px;height:1px;background:rgba(255,255,255,.2);}
.cta-eye-text{font-size:.875rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--gold-light);}
.cta-h2{font-family:var(--serif);font-size:clamp(2rem,3.5vw,2.8rem);font-weight:400;color:var(--white);line-height:1.25;margin-bottom:18px;}
.cta-h2 em{font-style:italic;color:var(--gold-light);}
.cta-p{font-size:1.0625rem;line-height:1.85;color:rgba(255,255,255,.55);margin-bottom:40px;}
.btn-cta-solid{display:inline-flex;align-items:center;gap:10px;padding:16px 38px;background:var(--gold);color:var(--white);font-size:.8rem;font-weight:600;letter-spacing:1.8px;text-transform:uppercase;text-decoration:none;border-radius:var(--radius-sm);transition:background .25s,transform .25s,box-shadow .25s;}
.btn-cta-solid:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(184,151,92,.25);}
.btn-cta-ghost{display:inline-flex;align-items:center;gap:10px;padding:15px 32px;border:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.7);font-size:.8rem;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;text-decoration:none;border-radius:var(--radius-sm);transition:all .3s;margin-left:14px;}
.btn-cta-ghost:hover{background:rgba(255,255,255,.08);color:var(--white);}
/* ─── FOOTER ─── */
@media(max-width:1100px){
  .hero{padding:150px 36px 80px;}
  .lead,.elemente,.ablauf,.anwendung,.programm,.cta-section{padding:80px 36px;}
  .lead-inner,.anwendung-inner{grid-template-columns:1fr;gap:50px;}
  .stats-grid{position:static;grid-template-columns:repeat(4,minmax(0,1fr));}
  .phase-grid{grid-template-columns:1fr;gap:24px;}
  .phase-arrow{transform:rotate(90deg);padding:8px 0;}
  .programme-grid{grid-template-columns:1fr;}
}
@media(max-width:768px){
/* HEADER MOBILE — Burger + Vollbild-Overlay */
  /* Nav als Vollbild-Overlay (rechts → links sliding) */
  /* Top-Level groß, dunkel auf Cream */
  /* Submenu als Akkordeon — Transform IMMER none (Desktop-Hover-Override greift sonst beim Touch) */
  /* Hover auf Touch darf Akkordeon NICHT öffnen (sonst springt's wieder rein) */
  /* Mobile: Placeholder bleibt reduziert */
  /* CTA Vollbreite unten */
  .hero{padding:120px 20px 70px;min-height:72vh;}
  .hero-h1 em{font-size:.6em;margin-top:10px;}
  .lead,.elemente,.ablauf,.anwendung,.programm,.cta-section{padding:60px 20px;}
}
@media(max-width:768px){
  /* Vier Kennzahl-Karten passen auf dem Handy nicht nebeneinander —
     ohne minmax(0,…) sprengt ihr Mindestinhalt die Spalte und der Lead-Text wird beschnitten. */
  .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
/* ─── FAQ ─── */
.faq{padding:110px 64px;background:var(--white);position:relative;overflow:hidden;}
.faq-inner{max-width:820px;margin:0 auto;position:relative;z-index:2;}
.faq-header{text-align:center;margin-bottom:46px;}
.faq-header .s-eye{justify-content:center;margin-bottom:18px;}
.faq-list{display:flex;flex-direction:column;gap:14px;}
.faq-item{
  background:var(--cream);
  border:1px solid rgba(196,114,74,.22);
  border-radius:var(--radius);
  transition:border-color .3s ease,box-shadow .35s ease,transform .35s cubic-bezier(.23,1,.32,1);
}
.faq-item:hover{border-color:rgba(196,114,74,.45);box-shadow:0 6px 18px rgba(44,26,14,.07);transform:translateY(-1px);}
.faq-item[open]{border-color:var(--terra);box-shadow:0 10px 28px rgba(44,26,14,.09);}
.faq-item summary{
  cursor:pointer;list-style:none;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:21px 26px;
  font-family:var(--sans);font-size:1rem;font-weight:600;line-height:1.5;
  color:var(--ink);transition:color .25s ease;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item:hover summary,.faq-item[open] summary{color:var(--terra);}
.faq-item summary:focus-visible{outline:2px solid var(--terra);outline-offset:3px;border-radius:var(--radius);}
.faq-icon{position:relative;flex:0 0 auto;width:26px;height:26px;border-radius:50%;transition:background .3s ease;}
.faq-item:hover .faq-icon{background:rgba(196,114,74,.12);}
.faq-icon::before,.faq-icon::after{
  content:'';position:absolute;top:50%;left:50%;
  width:13px;height:1.5px;border-radius:1px;background:var(--terra);
  transform:translate(-50%,-50%);
  transition:transform .4s cubic-bezier(.65,0,.35,1);
}
.faq-icon::after{transform:translate(-50%,-50%) rotate(90deg);}
.faq-item[open] .faq-icon::after{transform:translate(-50%,-50%) rotate(0deg);}
.faq-answer{padding:0 26px 24px;font-size:1rem;line-height:1.8;color:var(--ink-50);}
@keyframes faqAuf{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:none;}}
.faq-item[open] .faq-answer{animation:faqAuf .38s cubic-bezier(.23,1,.32,1);}
@media (prefers-reduced-motion:reduce){
  .faq-item,.faq-icon::before,.faq-icon::after{transition:none;}
  .faq-item[open] .faq-answer{animation:none;}
}
@media(max-width:768px){.faq{padding:80px 36px;}.faq-item summary{padding:19px 22px;font-size:.9375rem;gap:16px;}.faq-answer{padding:0 22px 22px;}}
@media(max-width:600px){.faq{padding:60px 20px;}}
.faq-answer p{margin:0;}
.faq-answer p+p{margin-top:.8em;}
.faq-answer a{color:var(--terra);text-decoration:underline;text-underline-offset:3px;}
@media(max-width:768px){.faq-answer a{display:inline-block;padding:11px 0;margin:-11px 0;}}
/* Mobil-Ueberlauf Lead (Session 26): Rasterspalten duerfen schmaler als ihr Mindestinhalt werden */
.lead-inner>*,.stats-grid>*,.elements-grid>*{min-width:0;}
.stat-n,.stat-l,.stat-desc,.element-n,.element-l,.element-desc{overflow-wrap:break-word;hyphens:auto;}
/* Breadcrumb darf mobil umbrechen (Session 26) */
.breadcrumb{flex-wrap:wrap;row-gap:4px;}
/* Kennzahl-Karten auf kleinen Handys einspaltig (Session 26) */
@media(max-width:480px){.stats-grid,.elements-grid{grid-template-columns:minmax(0,1fr);}}
/* Footer-Rechtslinks duerfen umbrechen (Session 26) */
/* Hero LIS09370 mobil: ruhige, unscharfe Wandfläche hinter dem Text (Session 27) */
@media(max-width:768px){.hero-bg img{object-position:5% center;}}
/* Session 28: Hero mobil — Menschen im Bild (Lukas), vorher 5 % (Session 27, leere Wand); heller Ausschnitt → Text-Hintergrund gleichmäßig abdunkeln */
@media(max-width:768px){.hero-bg img{object-position:82% center;}}
