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
   ═══════════════════════════════════════════════════════════════════ */
/* WICHTIG: auf #hdr scopen — sonst greifen die Regeln auch auf andere <nav>. */
/* TOP-LEVEL-ITEMS — Underline-Indicator + Text-Shadow als Lesbarkeits-Fallback */
/* ═══════════════════════════ END HEADER ═══════════════════════════ */
/* ─── HERO ─── */
.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-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-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;}
.elements-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;position:sticky;top:96px;align-self:start;}
.element-card{background:var(--white);padding:24px;border:1px solid rgba(196,114,74,.15);border-radius:var(--radius);transition:transform .3s,box-shadow .3s;}
.element-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.06);}
.element-n{font-family:var(--serif);font-size:1.4rem;font-weight:400;font-style:italic;color:var(--terra);line-height:1;margin-bottom:8px;}
.element-l{font-size:.875rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--ink-30);}
.element-desc{font-size:.875rem;color:var(--ink-50);margin-top:6px;line-height:1.6;}
/* ─── ABLAUF (3 Phasen, vertikale Timeline) ─── */
.ablauf{padding:90px 64px;background:var(--white);position:relative;overflow:hidden;}
.ablauf-inner{max-width:900px;margin:0 auto;position:relative;z-index:2;}
.ablauf-header{margin-bottom:50px;max-width:680px;}
.ablauf-intro{font-size:1.0625rem;line-height:1.85;color:var(--ink-50);margin-top:18px;}
.ablauf-grid{display:grid;grid-template-columns:1fr 2fr;gap:48px;align-items:start;}
.ablauf-bild{position:sticky;top:96px;}
.ablauf-bild img{width:100%;height:auto;display:block;border-radius:var(--radius);}
.timeline{position:relative;padding-left:42px;}
.timeline::before{content:"";position:absolute;left:13px;top:8px;bottom:8px;width:2px;background:linear-gradient(to bottom,rgba(196,114,74,.4),rgba(196,114,74,.12));border-radius:1px;}
.timeline-step{position:relative;padding-bottom:32px;}
.timeline-step:last-child{padding-bottom:0;}
.timeline-step::before{content:"";position:absolute;left:-36px;top:6px;width:14px;height:14px;background:var(--white);border:2px solid var(--terra);border-radius:50%;}
.timeline-time{font-size:.78rem;font-weight:700;letter-spacing:2.2px;text-transform:uppercase;color:var(--terra);margin-bottom:6px;}
.timeline-title{font-family:var(--serif);font-size:1.25rem;font-weight:400;color:var(--ink);line-height:1.35;margin-bottom:8px;}
.timeline-title em{font-style:italic;color:var(--terra);}
.timeline-desc{font-size:.95rem;line-height:1.75;color:var(--ink-50);}
/* ─── KURS-SECTION (Kurs-Bogen + 3 Termin-Platzhalter + Praktisches) ─── */
.kurs{padding:110px 64px;background:var(--cream-deep);position:relative;overflow:hidden;}
.kurs-sonne{position:absolute;top:50%;right:-200px;transform:translateY(-50%);width:620px;height:auto;opacity:.05;pointer-events:none;}
.kurs-inner{max-width:1120px;margin:0 auto;position:relative;z-index:2;}
.kurs-header{margin-bottom:42px;max-width:780px;}
.kurs-intro{font-size:1.0625rem;line-height:1.85;color:var(--ink-50);margin-top:18px;}
/* Termin-Card als Platzhalter — Pattern aus Körperarbeit (gestrichelter Rahmen, Gradient-BG) */
/* Praktisches: zweispaltige Liste auf Desktop */
.praktisches{background:var(--white);border-radius:var(--radius-lg);padding:42px 44px;border-left:3px solid var(--terra);}
.praktisches-h3{font-family:var(--serif);font-size:1.4rem;font-style:italic;color:var(--ink);margin-bottom:24px;}
.praktisches-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 48px;}
.prak-row{display:flex;flex-direction:column;gap:4px;}
.prak-label{font-size:.78rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--terra);}
.prak-value{font-size:1rem;line-height:1.6;color:var(--ink);}
.prak-value .prak-note{display:block;font-size:.82rem;color:var(--ink-30);margin-top:2px;font-style:italic;}
/* ─── RETREAT-SECTION ─── */
.retreat{padding:100px 64px;background:var(--cream-deep);position:relative;overflow:hidden;}
.retreat-inner{max-width:780px;margin:0 auto;position:relative;z-index:2;}
.retreat-card{background:var(--white);border-radius:var(--radius-lg);padding:50px 44px;border-left:3px solid var(--terra);display:flex;flex-direction:column;gap:18px;}
.retreat-eyebrow{font-size:.78rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--terra);}
.retreat-h2{font-family:var(--serif);font-size:clamp(1.6rem,2.4vw,2.1rem);font-weight:400;color:var(--ink);line-height:1.3;margin:0;}
.retreat-h2 em{font-style:italic;color:var(--terra);}
.retreat-p{font-size:1.0625rem;line-height:1.85;color:var(--ink-50);margin:0;}
.retreat-poetic{font-family:var(--serif);font-style:italic;font-size:1.05rem;line-height:1.7;color:var(--ink);padding:14px 0 14px 22px;border-left:2px solid rgba(196,114,74,.4);margin:6px 0;}
.retreat-details{padding-top:18px;border-top:1px solid rgba(196,114,74,.2);margin-top:6px;}
.retreat-details>summary{cursor:pointer;list-style:none;font-size:.8rem;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:var(--terra);padding:4px 0;}
.retreat-details>summary::-webkit-details-marker{display:none;}
.retreat-details>summary::after{content:' +';font-weight:700;}
.retreat-details[open]>summary::after{content:' –';}
.retreat-details-group{margin-top:22px;}
.retreat-details-group h4{font-size:.72rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--ink-30);margin-bottom:10px;}
.retreat-list{list-style:none;padding:0;margin:0;}
.retreat-list li{position:relative;padding-left:18px;font-size:.9375rem;line-height:1.7;color:var(--ink-50);margin-bottom:8px;}
.retreat-list li::before{content:'·';position:absolute;left:4px;top:0;color:var(--terra);font-weight:700;font-size:1.1rem;line-height:1.55;}
.retreat-inklusive{font-size:.85rem;line-height:1.7;color:var(--ink-50);margin:0;}
.retreat-meta{display:grid;grid-template-columns:repeat(4,auto);gap:18px 28px;font-size:.85rem;color:var(--ink-50);padding-top:18px;border-top:1px solid rgba(196,114,74,.2);margin-top:6px;}
.retreat-meta-item{display:flex;flex-direction:column;gap:3px;}
.retreat-meta-label{font-size:.72rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--ink-30);}
.retreat-meta-value{color:var(--ink);}
.retreat-link{display:inline-flex;align-items:center;gap:8px;margin-top:6px;font-size:.85rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--terra);text-decoration:none;transition:gap .25s,color .25s;align-self:flex-start;}
.retreat-link:hover{gap:14px;color:var(--ink);}
/* ─── CTA ─── */
/* ─── 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;}}
.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,.ablauf,.kurs,.retreat,.cta-section{padding:80px 36px;}
  .lead-inner{grid-template-columns:1fr;gap:50px;}
  .ablauf-grid{grid-template-columns:1fr;gap:32px;}
  .ablauf-bild{position:static;max-width:420px;}
  .elements-grid{position:static;}
    .praktisches{padding:36px 32px;}
  .retreat-card{padding:40px 32px;}
  .retreat-meta{grid-template-columns:1fr 1fr;}
}
@media(max-width:768px){
  .hero{padding:120px 20px 70px;min-height:72vh;}
  .hero-h1 em{font-size:.6em;margin-top:10px;}
  .lead,.ablauf,.kurs,.retreat,.cta-section{padding:60px 20px;}
  .timeline{padding-left:32px;}
  .timeline-step::before{left:-30px;}
  .praktisches-grid{grid-template-columns:1fr;gap:22px;}
  .retreat-meta{grid-template-columns:1fr;gap:14px;}
}
@media(max-width:768px){
  .retreat-link{min-height:44px;align-items:center;}
  .retreat-details>summary{padding:12px 0;}
}
.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) */
/* ─── PRIVATSTUNDEN (Session 27) ─── */
.privat{padding:110px 64px;background:var(--white);position:relative;overflow:hidden;}
.privat-inner{max-width:1120px;margin:0 auto;position:relative;z-index:2;}
.privat-header{margin-bottom:42px;max-width:780px;}
.privat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.privat-card{background:var(--cream-deep);border-radius:var(--radius-lg);padding:36px 32px;border-top:2px solid transparent;transition:transform .35s cubic-bezier(.23,1,.32,1),box-shadow .35s,border-color .35s;}
.privat-card:hover{transform:translateY(-4px);box-shadow:0 6px 20px rgba(0,0,0,.09);border-top-color:var(--terra);}
.privat-personen{font-family:var(--serif);font-size:1.35rem;color:var(--ink);margin-bottom:18px;}
.privat-zeile{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;border-top:1px solid rgba(196,114,74,.18);font-size:1rem;color:var(--ink-50);}
.privat-preis{font-family:var(--serif);font-style:italic;font-size:1.35rem;color:var(--terra);white-space:nowrap;}
.privat-cta-wrap{margin-top:34px;}
.privat-cta{display:inline-flex;align-items:center;min-height:44px;font-size:.85rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--terra);text-decoration:none;}
.privat-cta:hover{color:var(--ink);}
@media (prefers-reduced-motion:reduce){.privat-card{transition:none;}}
@media(max-width:900px){.privat-grid{grid-template-columns:minmax(0,1fr);max-width:480px;}}
@media(max-width:768px){.privat{padding:80px 36px;}}
@media(max-width:600px){.privat{padding:60px 20px;}.privat-card{padding:28px 24px;}}
/* Session 28: Timeline mobil — Kreise mittig auf der Linie (Linie bei 13–15 px, Kreis 14 px breit) */
@media(max-width:768px){.timeline-step::before{left:-25px;}}
