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 ─── */
/* ─── RECHTSTEXT ─── */
.hero-legal{min-height:62vh;}
.legal{padding:100px 64px;background:var(--cream);position:relative;}
.legal-inner{max-width:780px;margin:0 auto;}
.legal-h2{font-family:var(--serif);font-size:clamp(1.35rem,2.2vw,1.7rem);font-weight:400;color:var(--ink);line-height:1.3;margin:52px 0 18px;padding-top:26px;border-top:1px solid rgba(196,114,74,.20);}
.legal-h2:first-child{margin-top:0;padding-top:0;border-top:none;}
.legal-p{font-size:1rem;line-height:1.85;color:var(--ink-50);margin-bottom:1.1em;}
.legal-list{list-style:none;padding:0;margin:0 0 1.4em;}
.legal-list li{position:relative;padding-left:22px;font-size:1rem;line-height:1.8;color:var(--ink-50);margin-bottom:8px;}
.legal-list li::before{content:'·';position:absolute;left:6px;top:0;color:var(--terra);font-weight:700;font-size:1.2rem;line-height:1.5;}
.legal-p a{color:var(--terra);text-decoration:underline;word-break:break-word;}
@media(max-width:768px){.legal{padding:70px 36px;}}
@media(max-width:600px){.legal{padding:56px 20px;}}
.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;}
}
/* Breadcrumb darf mobil umbrechen (Session 26) */
.breadcrumb{flex-wrap:wrap;row-gap:4px;}
/* Footer-Rechtslinks duerfen umbrechen (Session 26) */
.legal-label{font-size:.78rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--terra);margin:34px 0 8px;}
.legal-label:first-child{margin-top:0;}
.legal-strong{font-weight:700;color:var(--ink);}
/* Rechtsseiten mobil (Session 27): Tippziele 44px, lange Label umbrechen */
.legal-label{overflow-wrap:anywhere;}
@media(max-width:768px){.legal-p a{display:inline-block;padding:12px 0;margin:-12px 0;}.legal-label{letter-spacing:1.5px;}}
