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;}
/* ─── KONTAKTINFO (3 Karten Adresse/Telefon/E-Mail) ─── */
.kontaktinfo{padding:100px 64px;background:var(--cream-deep);position:relative;overflow:hidden;}
.kontaktinfo-sonne{position:absolute;top:50%;left:-150px;transform:translateY(-50%);width:620px;height:auto;opacity:.05;pointer-events:none;}
.kontaktinfo-inner{max-width:1120px;margin:0 auto;position:relative;z-index:2;}
.kontaktinfo-header{margin-bottom:50px;max-width:780px;}
.kontakt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;}
.kontakt-card{padding:36px 30px;background:var(--white);border-radius:var(--radius-lg);border-top:2px solid transparent;display:flex;flex-direction:column;transition:transform .35s cubic-bezier(.23,1,.32,1),box-shadow .35s,border-color .35s;}
.kontakt-card:hover{transform:translateY(-4px);box-shadow:0 6px 20px rgba(0,0,0,.09);border-top-color:var(--terra);}
.kontakt-eyebrow{font-size:.78rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--terra);margin-bottom:10px;}
.kontakt-h3{font-family:var(--serif);font-size:1.4rem;font-weight:400;color:var(--ink);line-height:1.3;margin-bottom:18px;}
.kontakt-text{font-size:.9375rem;line-height:1.75;color:var(--ink-50);margin-bottom:18px;}
.kontakt-link{color:var(--ink);font-weight:600;text-decoration:none;border-bottom:1px solid rgba(196,114,74,.3);transition:color .2s,border-color .2s;}
.kontakt-link:hover{color:var(--terra);border-color:var(--terra);}
.kontakt-meta{font-size:.8rem;letter-spacing:1px;text-transform:uppercase;color:var(--ink-30);font-weight:600;}
.kontakt-hinweis{font-size:.875rem;line-height:1.7;color:var(--ink-50);margin-top:auto;padding-top:14px;border-top:1px solid rgba(196,114,74,.18);font-style:italic;}
/* ─── FORM-SECTION ─── */
.form-section{padding:110px 64px;background:var(--white);position:relative;overflow:hidden;}
.form-sonne{position:absolute;top:50%;left:-200px;transform:translateY(-50%);width:620px;height:auto;opacity:.05;pointer-events:none;}
.form-inner{max-width:780px;margin:0 auto;position:relative;z-index:2;}
.form-header{margin-bottom:50px;}
.form-intro{font-size:1.0625rem;line-height:1.85;color:var(--ink-50);margin-top:18px;}
.contact-form{display:flex;flex-direction:column;gap:22px;}
.form-row{display:flex;flex-direction:column;gap:8px;}
.form-row-split{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.form-row-split > div{display:flex;flex-direction:column;gap:8px;}
.form-label{font-size:.82rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink);}
.form-required{color:var(--terra);font-weight:700;}
.form-optional{color:var(--ink-30);font-weight:500;text-transform:none;letter-spacing:.5px;font-size:.8rem;}
.form-input{padding:14px 16px;background:var(--cream);border:1px solid rgba(196,114,74,.2);border-radius:var(--radius-sm);font-family:var(--sans);font-size:1rem;line-height:1.5;color:var(--ink);transition:border-color .25s,background .25s;}
.form-input:focus{outline:none;border-color:var(--terra);background:var(--white);box-shadow:0 0 0 3px rgba(196,114,74,.1);}
.form-input::placeholder{color:var(--ink-30);}
.form-textarea{resize:vertical;min-height:120px;font-family:var(--sans);}
select.form-input{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 14 8' fill='none'><path d='M1 1.5L7 6.5L13 1.5' stroke='%235C4A3A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 16px center;padding-right:42px;cursor:pointer;}
.form-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:14px;flex-wrap:wrap;}
.form-hinweis{font-size:.82rem;line-height:1.7;color:var(--ink-30);flex:1;min-width:240px;margin:0;}
.form-hinweis a{color:var(--terra);text-decoration:underline;}
.btn-form-submit{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;border:none;border-radius:var(--radius-sm);cursor:pointer;font-family:var(--sans);transition:background .25s,transform .25s,box-shadow .25s;}
.btn-form-submit:hover{background:#a08048;transform:translateY(-2px);box-shadow:0 6px 20px rgba(184,151,92,.3);}
/* ─── ANFAHRT / MAPS-PLATZHALTER ─── */
.anfahrt{padding:100px 64px;background:var(--cream-deep);position:relative;overflow:hidden;}
.anfahrt-sonne{position:absolute;top:50%;right:-200px;transform:translateY(-50%);width:620px;height:auto;opacity:.05;pointer-events:none;}
.anfahrt-inner{max-width:1120px;margin:0 auto;position:relative;z-index:2;}
.anfahrt-header{margin-bottom:40px;max-width:680px;}
.maps-embed{border-radius:var(--radius-lg);overflow:hidden;background:var(--white);box-shadow:0 4px 20px rgba(0,0,0,.05);}
.maps-embed iframe{display:block;width:100%;height:420px;border:0;}
.maps-meta{padding:22px 26px 6px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;}
.maps-adresse{font-family:var(--serif);font-size:1.05rem;color:var(--ink);font-style:italic;margin:0;}
.maps-link{font-size:.78rem;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:var(--terra);text-decoration:none;transition:gap .25s,color .25s;display:inline-flex;align-items:center;gap:6px;}
.maps-link:hover{color:var(--ink);gap:10px;}
.maps-hinweis{font-size:.78rem;letter-spacing:.3px;color:var(--ink-30);padding:8px 26px 22px;margin:0;}
/* ─── 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;}
  .kontaktinfo,.form-section,.anfahrt,.cta-section{padding:80px 36px;}
  .form-row-split{grid-template-columns:1fr;gap:22px;}
}
@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;}
  .kontaktinfo,.form-section,.anfahrt,.cta-section{padding:60px 20px;}
  .kontakt-grid{grid-template-columns:1fr;}
  .maps-embed iframe{height:300px;}
  .maps-meta{padding:18px 18px 4px;}
  .maps-hinweis{padding:6px 18px 18px;}
  .form-footer{flex-direction:column;align-items:stretch;}
  .btn-form-submit{width:100%;justify-content:center;}
}
@media(max-width:768px){
  .kontakt-link,.maps-link{display:inline-flex;align-items:center;min-height:44px;}
}
/* ─── 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;}}
/* ─── TEAMBILD (Session 26) ─── */
.team-bild{margin:56px 0 0;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 18px 44px rgba(44,26,14,.10);}
.team-bild img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:center 35%;}
.team-bild figcaption{background:var(--white);padding:22px 30px;font-family:var(--serif);font-style:italic;font-size:1.05rem;line-height:1.65;color:var(--ink-50);text-align:center;}
.team-label{display:block;font-family:var(--sans);font-style:normal;font-size:.78rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--terra);margin-bottom:6px;}
@media(max-width:600px){.team-bild figcaption{padding:18px 20px;font-size:.98rem;}}
@media(max-width:768px){.team-bild{margin-top:36px;}.team-bild img{aspect-ratio:4/3;object-position:35% center;}}
/* Tippziel 44px mobil (Session 26) */
@media(max-width:768px){.contact-form a[href="svasthya-datenschutz.html"]{display:inline-block;padding:12px 0;margin:-12px 0;}}
/* Breadcrumb darf mobil umbrechen (Session 26) */
.breadcrumb{flex-wrap:wrap;row-gap:4px;}
/* Footer-Rechtslinks duerfen umbrechen (Session 26) */
/* Session 28: Statusmeldung des Formulars (neu, nicht in v13) */
.form-notice{margin:0 0 24px;padding:16px 20px;border-radius:var(--radius);font-size:1rem;line-height:1.6;color:var(--ink);}
.form-notice-ok{background:var(--cream);border-left:3px solid var(--gold);}
.form-notice-fehler{background:var(--cream);border-left:3px solid var(--terra);}
/* Session 28: Karte erst nach Klick laden (Platzhalterbild, kein Cookie/Storage) */
.maps-frame{position:relative;height:420px;background:var(--cream-deep);}
.maps-frame>img{display:block;width:100%;height:100%;object-fit:cover;}
.maps-consent{position:absolute;left:26px;top:50%;transform:translateY(-50%);max-width:330px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:22px 24px;background:rgba(255,255,255,.94);border-radius:var(--radius);box-shadow:0 8px 28px rgba(44,26,14,.14);}
.maps-load{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 26px;border:0;border-radius:var(--radius-sm);background:var(--gold);color:var(--white);font-family:var(--sans);font-size:.8rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:background .25s,transform .25s;}
.maps-load:hover{background:var(--terra);transform:translateY(-1px);}
.maps-load:focus-visible,.maps-open:focus-visible{outline:2px solid var(--terra);outline-offset:3px;}
.maps-consent-hinweis{font-size:.82rem;line-height:1.55;color:var(--ink-50);margin:0;}
.maps-open{display:inline-flex;align-items:center;min-height:44px;font-size:.78rem;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:var(--terra);text-decoration:none;}
.maps-open:hover{color:var(--ink);}
.maps-attrib{position:absolute;right:0;bottom:0;padding:3px 8px;background:rgba(255,255,255,.8);font-size:.72rem;line-height:1.4;color:var(--ink-50);border-top-left-radius:var(--radius-sm);}
.maps-frame.is-loaded{background:none;}
.maps-meta{padding-bottom:22px;}
@media(max-width:768px){
  .maps-frame{height:300px;}
  .maps-consent{left:10px;right:10px;top:auto;bottom:10px;transform:none;max-width:none;gap:6px;padding:10px 12px;}
  .maps-consent-hinweis{font-size:.75rem;line-height:1.45;}
  /* mobil: „Größere Karte auf OpenStreetMap →“ direkt unter der Karte übernimmt den Link, damit der Marker sichtbar bleibt */
  .maps-open{display:none;}
  .maps-attrib{bottom:auto;top:0;border-radius:0 0 0 var(--radius-sm);}
  .maps-meta{padding-bottom:18px;}
}
/* Session 28: Einwilligungs-Checkbox (Pflicht) über „Anfrage senden“ */
.form-consent{flex:1 1 100%;display:flex;align-items:flex-start;gap:14px;min-height:44px;cursor:pointer;font-size:.82rem;line-height:1.7;color:var(--ink-50);}
.form-consent input{flex:0 0 auto;width:22px;height:22px;margin:2px 0 0;accent-color:var(--terra);cursor:pointer;}
.form-consent input:focus-visible{outline:2px solid var(--terra);outline-offset:3px;}
.form-consent a{color:var(--terra);text-decoration:underline;}
@media(max-width:768px){.form-consent{gap:12px;}.form-consent a{display:inline-block;padding:11px 0;margin:-11px 0;}}
/* Session 28: Newsletter-Block unter dem Formular (nur aktiv mit Mailchimp-Zugang) */
.newsletter-box{margin-top:64px;padding:38px 40px;background:var(--cream);border-radius:var(--radius-lg);border-left:3px solid var(--terra);scroll-margin-top:110px;}
.newsletter-box .s-eye{margin-bottom:12px;}
.nl-h3{font-family:var(--serif);font-size:1.5rem;font-weight:400;color:var(--ink);line-height:1.3;margin:0 0 12px;}
.nl-h3 em{font-style:italic;color:var(--terra);}
.nl-intro{font-size:.95rem;line-height:1.75;color:var(--ink-50);margin:0 0 20px;}
.nl-intro a{color:var(--terra);text-decoration:underline;}
.newsletter-box .nl-notice-ok{background:var(--white);border-left:3px solid var(--gold);color:var(--ink);}
.newsletter-box .nl-notice-fehler{background:var(--white);border-left:3px solid var(--terra);color:var(--ink);}
@media(max-width:768px){.newsletter-box{margin-top:48px;padding:26px 20px;scroll-margin-top:86px;}.nl-intro a{display:inline-block;padding:11px 0;margin:-11px 0;}}
