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;}
.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 SECTION ─── */
.lead{padding:100px 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-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;}
/* ─── ANWENDUNGEN ─── */
.anwendungen{padding:110px 64px;background:var(--cream-deep);position:relative;overflow:hidden;}
.anwendungen-sonne{position:absolute;top:50%;right:-200px;transform:translateY(-50%);width:620px;height:auto;opacity:.04;pointer-events:none;}
.anwendungen-inner{max-width:1120px;margin:0 auto;position:relative;z-index:2;}
.anw-header{margin-bottom:50px;max-width:900px;}
.anw-intro{font-size:1.0625rem;line-height:1.85;color:var(--ink-50);margin-top:18px;}
.br-desktop{display:inline;}
.basis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-bottom:60px;}
.basis-card{padding:32px 28px;background:var(--white);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 (2 Phasen) ─── */
.ablauf{padding:110px 64px;background:var(--white);position:relative;overflow:hidden;}
.ablauf-sonne{position:absolute;top:50%;left:-200px;transform:translateY(-50%);width:620px;height:auto;opacity:.05;pointer-events:none;}
.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 60px 1fr;gap:0;align-items:stretch;}
.phase-card{background:var(--cream-deep);border-radius:var(--radius-lg);padding:42px 36px;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.5rem;font-weight:400;color:var(--ink);line-height:1.3;margin-bottom:18px;}
.phase-desc{font-size:.9375rem;line-height:1.75;color:var(--ink-50);margin-bottom:22px;}
.phase-list{list-style:none;padding:0;margin:0;}
.phase-list li{position:relative;padding-left:26px;font-size:.9375rem;line-height:1.75;color:var(--ink-50);margin-bottom:8px;}
.phase-list li::before{content:'✓';position:absolute;left:0;top:0;color:var(--gold);font-weight:700;font-size:.95rem;line-height:1.85;}
.phase-arrow{display:flex;align-items:center;justify-content:center;color:var(--gold);}
.phase-arrow svg{width:32px;height:32px;}
/* ─── KURPROGRAMME ─── */
.kurprogramme{padding:110px 64px;background:var(--cream-deep);position:relative;overflow:hidden;}
.kurprogramme-inner{max-width:1120px;margin:0 auto;position:relative;z-index:2;}
.kp-header{margin-bottom:50px;max-width:780px;}
.kp-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;margin-bottom:36px;}
.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;}
.programme-cta-wrap{text-align:center;margin-bottom:0;}
.btn-programme-cta{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:transform .25s,box-shadow .25s;}
.btn-programme-cta:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(184,151,92,.3);}
/* ===== BEGIN: ATMOSPHAERE_BLOCK (Site-Pattern v1) =====
   Atmosphäre-Slot: 60/40 Bild + Text, asymmetrisch.
   Default: Bild links, Text rechts. Modifier .is-reverse: Bild rechts, Text links.
   Atmosphäre-Full: full-bleed Bild als Sektions-Brücke. */
.atmosphaere{padding:90px 64px;background:var(--white);position:relative;overflow:hidden;}
.atmosphaere-inner{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr;gap:72px;align-items:center;}
.atmosphaere.is-reverse .atmosphaere-inner{grid-template-columns:1fr 1.4fr;}
.atmosphaere-bild-wrap{position:relative;}
.atmosphaere.is-reverse .atmosphaere-bild-wrap{order:2;}
.atmosphaere-bild{display:block;width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:var(--radius-lg);box-shadow:0 14px 40px rgba(0,0,0,.10);}
.atmosphaere-text .s-eye{margin-bottom:18px;}
.atmosphaere-h2{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,3vw,2.7rem);line-height:1.25;color:var(--ink);margin:0 0 22px;}
.atmosphaere-h2 em{font-style:italic;color:var(--terra);}
.atmosphaere-p{font-size:1.0625rem;line-height:1.85;color:var(--ink-50);margin:0;}
.atmosphaere-full{position:relative;overflow:hidden;}
.atmosphaere-full-img{display:block;width:100%;height:clamp(420px,52vw,600px);object-fit:cover;}
@media(max-width:768px){
  .atmosphaere{padding:60px 22px;}
  .atmosphaere-inner,
  .atmosphaere.is-reverse .atmosphaere-inner{grid-template-columns:1fr;gap:36px;}
  .atmosphaere.is-reverse .atmosphaere-bild-wrap{order:0;}
  .atmosphaere-bild{aspect-ratio:4/3;}
  .atmosphaere-h2{font-size:1.7rem;}
  .atmosphaere-full-img{height:clamp(220px,55vw,320px);}
}
/* ===== END: ATMOSPHAERE_BLOCK ===== */
/* ─── 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,.anwendungen,.ablauf,.kurprogramme,.cta-section{padding:80px 36px;}
  .lead-inner{grid-template-columns:1fr;gap:50px;}
  .stats-grid{position:static;}
  .br-desktop{display:none;}
  .phase-grid{grid-template-columns:1fr;gap:24px;}
  .phase-arrow{transform:rotate(90deg);padding:8px 0;}
  .programme-grid{grid-template-columns:1fr;gap:18px;}
}
@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,.anwendungen,.ablauf,.kurprogramme,.cta-section{padding:60px 20px;}
  .basis-grid{grid-template-columns:1fr;}
  .phase-card{padding:32px 26px;}
}
/* ─── 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) */
/* Session 28: lange Behandlungsnamen mobil trennen */
@media(max-width:480px){.basis-name{hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word;}}
