/* =============================================================
   Pflegeeinrichtung In den Brunnenwiesen — custom.css (v2)
   Bootstrap 5.3 Overrides · Inter · WCAG AA
   ============================================================= */

:root{
  /* Dengg-Kliniken Markenfarben */
  --clr-orange:       #ff9900;
  --clr-orange-dark:  #cc7a00;   /* Hover / große Flächen */
  --clr-orange-text:  #B4553F;   /* Lachs/Terrakotta als Text auf Weiß — 4,9:1 ✓ (AA normal) */
  --clr-gold:         #ffbc00;
  --clr-gold-dark:    #cc9600;

  /* Neutrals — alle WCAG AA geprüft (auf Weiß) */
  --clr-ink:          #1c1c1a;   /* 18.1:1 ✓ */
  --clr-ink-soft:     #3d3d3a;   /* 10.2:1 ✓ */
  --clr-gray-text:    #5a5a56;   /* 7.1:1 ✓ */
  --clr-gray-light:   #f5f5f3;
  --clr-gray-border:  #e2e2de;
  --clr-warm-bg:      #fafaf8;
  --clr-white:        #ffffff;

  /* Typografie — Basis 18px = 1rem */
  font-size: 18px;

  --fs-xs:    0.778rem;   /* 14px */
  --fs-sm:    0.889rem;   /* 16px */
  --fs-base:  1rem;       /* 18px */
  --fs-lg:    1.111rem;   /* 20px */
  --fs-xl:    1.333rem;   /* 24px */
  --fs-2xl:   1.667rem;   /* 30px */
  --fs-3xl:   2.111rem;   /* 38px */
  --fs-4xl:   2.778rem;   /* 50px */
  --fs-hero:  3.889rem;   /* 70px */

  --section-y:   5rem;
  --radius:      12px;
  --radius-lg:   20px;
  --radius-pill: 999px;

  /* Bootstrap Overrides */
  --bs-primary:            #ff9900;
  --bs-primary-rgb:        255, 153, 0;
  --bs-font-sans-serif:    'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --bs-body-font-size:     1rem;
  --bs-body-color:         #3d3d3a;
  --bs-body-bg:            #fafaf8;
  --bs-border-radius-pill: 999px;
  --bs-link-color:         #B4553F;
  --bs-link-hover-color:   #cc7a00;
}

*{ font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif; }
html,body{ overflow-x:hidden; }
body{ background:var(--clr-warm-bg); color:var(--clr-ink-soft); font-size:var(--fs-base); line-height:1.65; -webkit-font-smoothing:antialiased; }

h1,h2,h3,h4,h5{ color:var(--clr-ink); font-weight:600; line-height:1.15; letter-spacing:-.01em; }
h2{ font-size:clamp(1.9rem, 3.4vw, var(--fs-3xl)); margin-bottom:.5em; }
h3{ font-size:var(--fs-xl); }
p{ margin-bottom:1rem; }

.eyebrow{ font-size:var(--fs-xs); font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--clr-orange-text); display:inline-flex; align-items:center; gap:.6em; margin-bottom:1rem; }
.eyebrow::before{ content:""; width:9px; height:9px; border-radius:50%; background:var(--clr-orange); box-shadow:0 0 0 3px rgba(255,153,0,.18); flex:none; margin-right:.15em; }
.eyebrow.eyebrow-center{ justify-content:center; }
.eyebrow.eyebrow-gold{ color:var(--clr-gold); }
.eyebrow.eyebrow-gold::before{ background:var(--clr-gold); }

.lead{ font-size:var(--fs-lg); color:var(--clr-ink-soft); font-weight:400; }
.measure{ max-width:44ch; }
.measure-wide{ max-width:60ch; }

section{ padding:calc(var(--section-y) + 1rem) 0; position:relative; }
.bg-white{ background:var(--clr-white); }
.bg-warm{ background:var(--clr-warm-bg); }
.bg-light{ background:var(--clr-gray-light); }
.bg-ink{ background:var(--clr-ink); }
.on-dark{ color:rgba(255,255,255,.86); }
.on-dark h1,.on-dark h2,.on-dark h3,.on-dark h4{ color:#fff; }
.on-dark .lead{ color:rgba(255,255,255,.82); }

/* ---------- Skip-Link ---------- */
.skip-link{ position:absolute; left:-999px; top:0; z-index:3000; background:var(--clr-ink); color:#fff; padding:12px 20px; border-radius:0 0 var(--radius) 0; font-weight:600; }
.skip-link:focus{ left:0; }

/* ---------- Fokus ---------- */
a:focus-visible,button:focus-visible,.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid var(--clr-orange-text); outline-offset:3px; border-radius:4px;
}
.on-dark a:focus-visible,.hero a:focus-visible,.btn-ghost-white:focus-visible{ outline-color:#fff; }

/* ---------- Buttons (Pill) ---------- */
.btn-primary-pill{
  background:var(--clr-gold); color:var(--clr-ink); border:none; border-radius:var(--radius-pill);
  padding:.833rem 2rem; min-height:52px; font-size:var(--fs-base); font-weight:700;
  display:inline-flex; align-items:center; justify-content:center; gap:.5em; text-decoration:none;
  box-shadow:0 4px 16px rgba(255,188,0,.34); transition:background .2s, transform .15s, box-shadow .2s;
}
.btn-primary-pill:hover,.btn-primary-pill:focus-visible{ background:var(--clr-gold-dark); color:var(--clr-ink); transform:translateY(-2px); box-shadow:0 8px 22px rgba(255,188,0,.44); }
.btn-gold-pill{
  background:var(--clr-gold); color:var(--clr-ink); border:none; border-radius:var(--radius-pill);
  padding:.833rem 2rem; min-height:52px; font-size:var(--fs-base); font-weight:700;
  display:inline-flex; align-items:center; justify-content:center; gap:.5em; text-decoration:none; transition:background .2s, transform .15s;
}
.btn-gold-pill:hover{ background:var(--clr-gold-dark); color:var(--clr-ink); transform:translateY(-2px); }
.btn-light-pill{
  background:#fff; color:var(--clr-ink); border:none; border-radius:var(--radius-pill);
  padding:.833rem 2rem; min-height:52px; font-size:var(--fs-base); font-weight:700;
  display:inline-flex; align-items:center; justify-content:center; gap:.5em; text-decoration:none;
  box-shadow:0 6px 18px rgba(0,0,0,.12); transition:background .2s, transform .15s;
}
.btn-light-pill:hover,.btn-light-pill:focus-visible{ background:var(--clr-warm-bg); color:var(--clr-ink); transform:translateY(-2px); }
.btn-gold-outline{
  background:transparent; color:var(--clr-ink); border:2px solid var(--clr-gold-dark); border-radius:var(--radius-pill);
  padding:.75rem 2rem; min-height:52px; font-size:var(--fs-base); font-weight:600;
  display:inline-flex; align-items:center; justify-content:center; gap:.5em; text-decoration:none; transition:background .2s, border-color .2s;
}
.btn-gold-outline:hover,.btn-gold-outline:focus-visible{ background:var(--clr-gold); border-color:var(--clr-gold); color:var(--clr-ink); }
.btn-ghost-white{
  background:transparent; color:#fff; border:2px solid rgba(255,255,255,.7); border-radius:var(--radius-pill);
  padding:.75rem 2rem; min-height:52px; font-size:var(--fs-base); font-weight:600;
  display:inline-flex; align-items:center; justify-content:center; gap:.5em; text-decoration:none; transition:background .2s, border-color .2s;
}
.btn-ghost-white:hover{ background:rgba(255,255,255,.14); border-color:#fff; color:#fff; }
.btn-outline-orange{
  background:transparent; color:var(--clr-orange-text); border:2px solid var(--clr-orange); border-radius:var(--radius-pill);
  padding:.75rem 2rem; min-height:52px; font-size:var(--fs-base); font-weight:600;
  display:inline-flex; align-items:center; justify-content:center; gap:.5em; text-decoration:none; transition:background .2s, color .2s;
}
.btn-outline-orange:hover{ background:var(--clr-orange); color:var(--clr-ink); }
.btn-ink-pill{
  background:var(--clr-ink); color:#fff; border:none; border-radius:var(--radius-pill);
  padding:.833rem 2rem; min-height:52px; font-size:var(--fs-base); font-weight:700;
  display:inline-flex; align-items:center; justify-content:center; gap:.5em; text-decoration:none;
  box-shadow:0 6px 18px rgba(0,0,0,.18); transition:background .2s, transform .15s;
}
.btn-ink-pill:hover,.btn-ink-pill:focus-visible{ background:#000; color:#fff; transform:translateY(-2px); }
.btn-ink-outline{
  background:transparent; color:var(--clr-ink); border:2px solid rgba(28,24,26,.55); border-radius:var(--radius-pill);
  padding:.75rem 2rem; min-height:52px; font-size:var(--fs-base); font-weight:600;
  display:inline-flex; align-items:center; justify-content:center; gap:.5em; text-decoration:none; transition:background .2s, border-color .2s;
}
.btn-ink-outline:hover{ background:rgba(0,0,0,.08); border-color:var(--clr-ink); color:var(--clr-ink); }
.btn-pill-sm{ padding:.55rem 1.35rem; min-height:44px; font-size:var(--fs-sm); }
.btn-arrow svg{ transition:transform .2s; }
.btn-arrow:hover svg{ transform:translateX(3px); }

/* ---------- Navigation (Sylvian: transparent → weiß) ---------- */
#mainNav{
  transition:background .35s ease, box-shadow .35s ease, padding .3s ease;
  padding-top:1.1rem; padding-bottom:1.1rem; background:transparent;
}
#mainNav .navbar-brand{ display:inline-flex; align-items:center; }
#mainNav .brand-logo{ height:46px; width:auto; display:block; }
#mainNav .nav-link{
  font-size:1.02rem; font-weight:600; color:var(--clr-ink-soft);
  padding:.5rem 1rem !important;
}
#mainNav .nav-link:not(.btn-primary-pill):hover,
#mainNav .nav-link:not(.btn-primary-pill):focus-visible{ color:var(--clr-orange-text); text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:2px; }
#mainNav .nav-link.btn-primary-pill,
#mainNav.scrolled .nav-link.btn-primary-pill{ color:var(--clr-ink); text-shadow:none; }
#mainNav .nav-link.btn-primary-pill:hover,
#mainNav .nav-link.btn-primary-pill:focus-visible{ color:var(--clr-ink); text-decoration:none; }

#mainNav.scrolled{ background:#fff; box-shadow:0 1px 0 var(--clr-gray-border), 0 6px 24px rgba(0,0,0,.06); padding-top:.7rem; padding-bottom:.7rem; }
#mainNav.scrolled .brand-logo{ filter:none; }
#mainNav.scrolled .nav-link{ color:var(--clr-ink-soft); text-shadow:none; }
#mainNav.scrolled .nav-link:hover{ color:var(--clr-ink); }
#mainNav.scrolled .nav-link[aria-current="page"]{ color:var(--clr-orange-text); }
#mainNav.scrolled .nav-link.btn-primary-pill{ color:var(--clr-ink); }

/* Burger */
.navbar-toggler{ border:none; padding:.4rem .5rem; }
.navbar-toggler:focus{ box-shadow:none; }
.navbar-toggler-icon{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 24 24' fill='none' stroke='%231c1c1a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cline x1='3' y1='12' x2='21' y2='12'/%3E%3Cline x1='3' y1='18' x2='21' y2='18'/%3E%3C/svg%3E"); }

@media(max-width:991px){
  #mainNav{ background:rgba(255,251,249,.92); backdrop-filter:blur(8px); box-shadow:0 1px 0 var(--clr-gray-border); }
  #mainNav.scrolled{ background:#fff; }
  #mainNav .navbar-collapse{ padding:.5rem 0 1rem; }
  #mainNav .nav-item{ padding:.15rem 0; }
  #mainNav .nav-link.btn-primary-pill{ display:inline-flex; margin-top:.4rem; }
}

/* ---------- Hero ---------- */
.hero{
  position:relative; min-height:100svh; display:flex; align-items:center; color:#fff; overflow:hidden;
  background-size:cover; background-position:30% top; background-repeat:no-repeat; background-attachment:fixed;
}
.hero-overlay{
  position:absolute; inset:0; pointer-events:none;
  background:
    /* oben leicht aufhellen — dunkle Navi bleibt lesbar */
    linear-gradient(to bottom, rgba(250,250,248,.7) 0%, rgba(250,250,248,0) 20%),
    /* unten sanft ins helle Seiten-Off-White auslaufen */
    linear-gradient(to bottom, rgba(250,250,248,0) 70%, rgba(250,250,248,.55) 89%, rgba(250,250,248,1) 100%),
    /* Textspalte links ins Helle auslaufen (für dunklen Text) */
    linear-gradient(100deg, rgba(252,251,249,.97) 0%, rgba(252,251,249,.9) 22%, rgba(252,251,249,.6) 40%, rgba(252,251,249,.16) 58%, rgba(252,251,249,0) 72%);
}
.hero-content{ position:relative; z-index:2; padding-top:6rem; padding-bottom:6rem; max-width:680px; }
/* Deko: orange Kreise (CD-Motiv) */
.hero-circle{ position:absolute; border-radius:50%; pointer-events:none; z-index:1; }
.hero-circle-1{ width:120px; height:120px; border:8px solid rgba(255,153,0,.5); top:16%; left:-46px; }
.hero-circle-2{ width:20px; height:20px; background:var(--clr-orange); top:13%; left:33%; box-shadow:0 4px 12px rgba(255,153,0,.4); }
.hero-circle-3{ width:250px; height:250px; background:radial-gradient(circle, rgba(255,153,0,.18) 0%, rgba(255,153,0,0) 70%); bottom:-60px; left:-40px; }
@media(max-width:767px){ .hero-circle-1{ width:84px; height:84px; } .hero-circle-2{ display:none; } }
.hero-badge{
  display:inline-flex; align-items:center; gap:.5em; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.4);
  color:#fff; font-size:var(--fs-sm); font-weight:600; border-radius:var(--radius-pill); padding:.4rem 1rem; margin-bottom:1.4rem; backdrop-filter:blur(4px);
}
.hero-badge::before{ content:""; width:8px; height:8px; border-radius:50%; background:var(--clr-gold); }
.hero-h1{ color:var(--clr-ink); font-weight:300; font-size:clamp(2.6rem, 6vw, var(--fs-hero)); line-height:1.05; margin-bottom:.5em; }
.hero-h1 strong{ font-weight:600; color:var(--clr-ink); }
.hero-sub{ font-size:var(--fs-lg); color:var(--clr-ink-soft); max-width:33em; margin-bottom:1.8rem; }
.hero-actions{ display:flex; flex-wrap:wrap; gap:1rem; }
.hero-quote{ max-width:34em; border-left:3px solid var(--clr-orange); padding-left:1.1rem; }
.hero-quote p{ font-style:italic; font-size:var(--fs-xl); line-height:1.4; color:var(--clr-ink); margin-bottom:.4rem; }
.hero-quote figcaption{ font-size:var(--fs-sm); font-weight:600; color:var(--clr-ink-soft); }

.hero-hours{
  display:inline-flex; flex-wrap:wrap; align-items:center; gap:.9rem 1.5rem; z-index:2;
  background:#fff; border:1px solid rgba(28,24,26,.05);
  border-radius:var(--radius-lg); padding:.75rem 1.35rem; color:var(--clr-ink);
  margin-bottom:1.9rem; box-shadow:0 12px 32px rgba(28,24,26,.12);
}
.hero-hours-item{ display:flex; align-items:center; gap:.7rem; }
.hero-hours-item + .hero-hours-item{ border-left:1px solid var(--clr-gray-border); padding-left:1.5rem; }
.hh-ico{ flex:none; width:40px; height:40px; border-radius:50%; background:rgba(255,153,0,.1); color:var(--clr-orange-text); display:inline-flex; align-items:center; justify-content:center; }
.hh-text{ display:flex; flex-direction:column; line-height:1.2; }
.hh-label{ font-size:var(--fs-xs); font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--clr-gray-text); }
.hh-value{ font-size:var(--fs-sm); font-weight:700; color:var(--clr-ink); text-decoration:none; }
a.hh-value:hover,a.hh-value:focus-visible{ color:var(--clr-orange-text); }
@media(max-width:479px){
  .hero-hours{ display:flex; flex-direction:column; align-items:flex-start; gap:.8rem; }
  .hero-hours-item + .hero-hours-item{ border-left:none; border-top:1px solid var(--clr-gray-border); padding-left:0; padding-top:.8rem; width:100%; }
}

/* ---------- Warteliste-Banner ---------- */
.waitlist-banner{ background:var(--clr-gold); padding:2.4rem 0; }
.waitlist-banner h2{ color:var(--clr-ink); font-size:var(--fs-lg); line-height:1.4; margin-bottom:.25rem; }
.waitlist-banner p{ color:var(--clr-ink); margin:0; font-weight:500; }
.quote-portrait{ width:62px; height:62px; border-radius:50%; background:#fff; border:1px solid var(--clr-gray-border); box-shadow:0 4px 14px rgba(28,24,26,.14); color:var(--clr-orange-text); display:inline-flex; align-items:center; justify-content:center; flex:none; }
.zimmer-feat{ text-align:center; }
.zimmer-ico{ width:66px; height:66px; border-radius:50%; background:#fff; color:var(--clr-orange-text); display:inline-flex; align-items:center; justify-content:center; margin-bottom:1.1rem; box-shadow:0 8px 20px rgba(28,24,26,.08); }
.zimmer-feat h3{ font-size:var(--fs-lg); margin-bottom:.35rem; }
.zimmer-feat p{ margin:0; color:var(--clr-ink-soft); font-size:var(--fs-sm); }

/* ---------- USP-Leiste ---------- */
.usp-item{ display:flex; gap:1rem; align-items:flex-start; }
.usp-ico{ flex:none; width:52px; height:52px; border-radius:50%; background:rgba(255,153,0,.12); color:var(--clr-orange-text); display:inline-flex; align-items:center; justify-content:center; }
.usp-item h3{ font-size:var(--fs-lg); margin-bottom:.15rem; color:var(--clr-ink); }
.usp-item p{ margin:0; font-size:var(--fs-sm); color:var(--clr-gray-text); }

/* ---------- Cards / Icons ---------- */
.icon-badge{ width:56px; height:56px; border-radius:14px; background:rgba(255,153,0,.12); color:var(--clr-orange-text); display:inline-flex; align-items:center; justify-content:center; margin-bottom:1.1rem; }

.feature-card{ background:#fff; border:1px solid var(--clr-gray-border); border-radius:var(--radius-lg); padding:2.2rem; height:100%; transition:transform .2s, box-shadow .2s, border-color .2s; }
.feature-card:hover{ transform:translateY(-5px); box-shadow:0 18px 40px rgba(0,0,0,.08); border-color:rgba(255,153,0,.5); }
.feature-card h3{ font-size:var(--fs-xl); margin-bottom:.4rem; }
.feature-card p{ margin:0; color:var(--clr-gray-text); font-size:var(--fs-sm); }
.feature-card--dark{ background:var(--clr-ink); border-color:var(--clr-ink); }
.feature-card--dark h3{ color:#fff; }
.feature-card--dark p{ color:rgba(255,255,255,.8); }
.feature-card--dark .icon-badge{ background:rgba(255,188,0,.18); color:var(--clr-gold); }

/* Rezensionen-Slider */
.review-slider{ max-width:760px; margin:0 auto; padding:0 48px; }
.review-slider .review-card{ background:var(--clr-gray-light); border:1px solid var(--clr-gray-border); border-radius:var(--radius-lg); padding:2.6rem 2.8rem; text-align:center; margin:0 auto; }
.review-stars{ color:var(--clr-gold); letter-spacing:3px; font-size:1.1rem; margin-bottom:1rem; }
.review-slider blockquote{ font-size:var(--fs-xl); line-height:1.4; font-style:italic; color:var(--clr-ink); margin:0 0 1rem; }
.review-slider figcaption{ color:var(--clr-gray-text); font-weight:600; font-size:var(--fs-sm); }
.review-slider .carousel-control-prev,.review-slider .carousel-control-next{ width:44px; height:44px; top:50%; transform:translateY(-50%); background:#fff; border:1px solid var(--clr-gray-border); border-radius:50%; opacity:1; box-shadow:0 6px 18px rgba(28,24,26,.12); }
.review-slider .carousel-control-prev{ left:0; } .review-slider .carousel-control-next{ right:0; }
.review-slider .carousel-control-prev-icon,.review-slider .carousel-control-next-icon{ width:18px; height:18px; filter:invert(11%) sepia(9%) saturate(600%) hue-rotate(340deg); }
.review-slider .carousel-indicators{ bottom:-3rem; margin:0; }
.review-slider .carousel-indicators [data-bs-target]{ width:10px; height:10px; border-radius:50%; background:var(--clr-gray-border); border:none; opacity:1; margin:0 5px; transition:background .2s; }
.review-slider .carousel-indicators .active{ background:var(--clr-orange); }
@media(max-width:575px){ .review-slider{ padding:0 8px; } .review-slider .review-card{ padding:2rem 1.4rem; } .review-slider .carousel-control-prev,.review-slider .carousel-control-next{ display:none; } }

.quote-card{ background:var(--clr-gray-light); border-left:4px solid var(--clr-orange); border-radius:var(--radius); padding:1.8rem 2rem; }
.quote-card p{ font-size:var(--fs-lg); color:var(--clr-ink); font-style:italic; margin-bottom:.6rem; }
.quote-card cite{ font-size:var(--fs-sm); color:var(--clr-gray-text); font-style:normal; font-weight:600; }
/* Zitat-Slider (Intro) */
.quote-slider{ position:relative; padding-bottom:2.6rem; }
.quote-slider .quote-card{ min-height:250px; }
.quote-slider .carousel-indicators{ bottom:0; margin:0; }
.quote-slider .carousel-indicators [data-bs-target]{ width:10px; height:10px; border-radius:50%; background:var(--clr-gray-border); border:none; opacity:1; margin:0 5px; transition:background .2s; }
.quote-slider .carousel-indicators .active{ background:var(--clr-orange); }

/* Arzt-Karten */
.arzt-card{ display:flex; gap:1.1rem; align-items:center; background:#fff; border:1px solid var(--clr-gray-border); border-radius:var(--radius-lg); padding:1.4rem 1.6rem; box-shadow:0 8px 24px rgba(0,0,0,.05); }
.arzt-avatar{ flex:none; width:66px; height:66px; border-radius:50%; background:var(--clr-gold); color:var(--clr-ink); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:var(--fs-lg); }
.arzt-card h3{ color:var(--clr-ink); font-size:var(--fs-lg); margin-bottom:.1rem; }
.arzt-card p{ margin:0; color:var(--clr-gray-text); font-size:var(--fs-sm); }

/* Übergang (orange-tinted) */
.uebergang{ background:linear-gradient(135deg, #fff6ec 0%, #ffefda 100%); }
.uebergang .icon-badge{ background:#fff; }

/* Kennzahlen */
.stat-num{ font-size:var(--fs-3xl); font-weight:700; color:var(--clr-orange-text); line-height:1; }
.stat-label{ font-size:var(--fs-sm); color:var(--clr-gray-text); }

/* Split-Bilder */
.split-img{ width:100%; height:100%; min-height:420px; object-fit:cover; border-radius:var(--radius-lg); box-shadow:0 20px 46px rgba(0,0,0,.12); display:block; }
.img-placeholder{ display:flex; align-items:center; justify-content:center; text-align:center; min-height:420px; border-radius:var(--radius-lg); color:rgba(255,255,255,.92); font-size:var(--fs-sm); font-weight:600; padding:1.5rem; box-shadow:0 20px 46px rgba(0,0,0,.12); }

/* ---------- Flying Actions ---------- */
.flying-actions{ position:fixed; right:1.1rem; top:50%; transform:translateY(-50%); z-index:1045; display:flex; flex-direction:column; gap:.7rem; }
.flying-btn{ width:52px; height:52px; border-radius:50%; background:#fff; color:var(--clr-orange-text); display:flex; align-items:center; justify-content:center; border:1px solid var(--clr-gray-border); box-shadow:0 8px 20px rgba(28,24,26,.14); transition:transform .15s, background .2s, color .2s; text-decoration:none; cursor:pointer; }
.flying-btn:hover,.flying-btn:focus-visible{ background:var(--clr-orange); color:var(--clr-ink); transform:scale(1.08); }
.fly-popover{ --bs-popover-border-color:var(--clr-gray-border); --bs-popover-max-width:280px; }
.fly-popover .popover-header{ font-weight:700; color:var(--clr-ink); background:var(--clr-gray-light); }
.fly-popover .popover-body{ color:var(--clr-ink-soft); font-weight:600; }
@media(max-width:575px){ .flying-actions{ right:.6rem; gap:.55rem; } .flying-btn{ width:46px; height:46px; } }
@media(prefers-reduced-motion:reduce){ .flying-btn:hover,.flying-btn:focus-visible{ transform:none; } }

/* ---------- Parallax-Unterbrecher ---------- */
.parallax-band{ position:relative; min-height:360px; background-size:cover; background-position:center; background-repeat:no-repeat; background-attachment:fixed; display:flex; align-items:center; overflow:hidden; }
.parallax-overlay{ position:absolute; inset:0; background:rgba(28,20,12,.40); pointer-events:none; }
.parallax-inner{ position:relative; z-index:1; text-align:center; }
.parallax-inner p{ margin:0; color:#fff; font-size:var(--fs-2xl); font-style:italic; line-height:1.4; text-shadow:0 2px 16px rgba(0,0,0,.45); }
.parallax-cite{ margin-top:.7rem; color:rgba(255,255,255,.88); font-size:var(--fs-sm); font-weight:600; text-shadow:0 1px 10px rgba(0,0,0,.45); }
@media(max-width:991px){ .parallax-band{ background-attachment:scroll; min-height:240px; } }
@media(prefers-reduced-motion:reduce){ .parallax-band{ background-attachment:scroll; } }

/* ---------- Footer ---------- */
.footer{ background:var(--clr-gray-light); color:var(--clr-gray-text); padding:4rem 0 1.6rem; font-size:var(--fs-sm); border-top:1px solid var(--clr-gray-border); }
.footer-logo{ height:36px; width:auto; opacity:1; }
.footer-desc{ color:var(--clr-gray-text); margin:1rem 0; max-width:34ch; }
.footer-contact p{ margin:.15rem 0; }
.footer a{ color:var(--clr-ink-soft); text-decoration:none; }
.footer a:hover{ color:var(--clr-orange-text); text-decoration:underline; }
.footer-col-title{ color:var(--clr-ink); font-size:var(--fs-sm); font-weight:700; letter-spacing:.03em; margin-bottom:.9rem; }
.footer-links li{ margin-bottom:.5rem; }
.footer-bottom{ border-color:var(--clr-gray-border) !important; color:var(--clr-gray-text); font-size:var(--fs-xs); margin-top:2.4rem; }
.footer-bottom a{ color:var(--clr-ink-soft); }

/* ---------- Reduced Motion ---------- */
@media(prefers-reduced-motion:reduce){
  *{ transition:none !important; scroll-behavior:auto !important; animation:none !important; }
  .hero{ background-attachment:scroll; }
  .feature-card:hover,.btn-primary-pill:hover,.btn-gold-pill:hover{ transform:none; }
}

/* ---------- Mobile: kein fixed-Parallax (iOS) ---------- */
@media(max-width:991px){
  .hero{ background-attachment:scroll; min-height:88svh; }
  .hero-content{ padding-top:7rem; }
  section{ padding:3.4rem 0; }
}
@media(max-width:575px){
  .hero-h1{ font-size:2.25rem; line-height:1.1; }
  .hero-sub{ font-size:1.06rem; }
  .hero-badge{ font-size:.83rem; }
  .hero-content{ padding-top:6rem; }
  h2{ font-size:1.7rem; }
  .btn-primary-pill,.btn-gold-pill,.btn-ghost-white,.btn-outline-orange,.btn-ink-pill,.btn-ink-outline,.btn-gold-outline,.btn-light-pill{ width:100%; }
}
