/* ═══════════════════════════════════════════════════════════════
   Schädlingsbekämpfung Käfer - Freiburg
   Brand: Lime-Grün #41a636 (Logo) · Anthrazit (Arbeitskleidung) · clean white
   Engine: React + GSAP + Tailwind (CDN). Reveal via IntersectionObserver → .active
   ═══════════════════════════════════════════════════════════════ */

/* Lokale Fonts (selbst gehostet, DSGVO-konform, font-display:swap) */
@font-face{font-family:'Archivo';font-style:normal;font-weight:500 900;font-display:swap;src:url('fonts/archivo-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url('fonts/inter-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

:root {
  --accent: #F5B301;          /* Marken-Lime aus dem Logo */
  --accent-rgb: 245, 179, 1;
  --accent-deep: #F5B301;     /* Hover / Grün auf Hell */
  --accent-ink: #F5B301;      /* Grüner Text auf hellem Grund (AA) */
  --accent-text: #1C1604;     /* Text auf grünen Buttons (dunkel = hoher Kontrast) */
  --brand: #F5B301;
  --brand-text: #3D2C00;

  --ink: #14171C;             /* Headlines */
  --body: #525A64;            /* Fließtext */
  --muted: #8A929C;           /* Captions */
  --border: rgba(20, 23, 28, 0.09);

  --bg: #FFFFFF;
  --bg-alt: #FBF6E9;          /* warm-grün getöntes Off-White */
  --bg-card: #FFFFFF;

  --dark: #2A2E36;            /* hell-schwarz #2A2E36 - ein Schwarz ueberall */
  --dark-2: #2A2E36;
  --dark-card: rgba(255, 255, 255, 0.045);
  --dark-border: rgba(255, 255, 255, 0.10);

  --text: var(--ink);
}

/* ─── Base ─────────────────────────────────────────────── */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: var(--bg);
  color: var(--ink);
  overflow-x: hidden;
  max-width: 100%;
}
::selection { background: rgba(var(--accent-rgb), 0.28); color: var(--ink); }
img { transition: opacity .4s ease; }

.font-heading { font-family: 'Archivo', system-ui, sans-serif; }
.font-body { font-family: 'Inter', system-ui, sans-serif; }
.font-black { font-weight: 900; }   /* Archivo Black – Section-Headlines auf Hero-Maß */

/* Anchor offset for fixed navbar */
section[id] { scroll-margin-top: 96px; }

/* ─── Buttons ──────────────────────────────────────────── */
.btn-primary {
  background: var(--accent);
  color: var(--accent-text);
  font-weight: 700;
  transition: transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s ease, background .3s ease;
  box-shadow: 0 8px 24px -8px rgba(var(--accent-rgb), 0.55);
}
.btn-primary:hover {
  background: var(--accent-deep);
  transform: translateY(-2px);
  box-shadow: 0 16px 34px -10px rgba(var(--accent-rgb), 0.7);
}
.btn-dark {
  background: var(--dark);
  color: #fff;
  transition: transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s ease, background .3s ease;
}
.btn-dark:hover { background: #1f232a; transform: translateY(-2px); box-shadow: 0 14px 30px -12px rgba(0,0,0,.5); }

/* Hell-schwarz (#2A2E36) auf allen dunklen Sections - wie die Benefit-Karten.
   Tailwind hat die bg-ink Klassen mit festen RGB-Werten kompiliert, daher hier ueberschreiben. */
.bg-ink   { background-color: #2A2E36 !important; }
.bg-ink-2 { background-color: #2A2E36 !important; }
.btn-ghost {
  background: #fff; color: var(--ink); border: 1px solid var(--border);
  transition: all .3s ease;
}
.btn-ghost:hover { border-color: rgba(var(--accent-rgb), .6); background: var(--bg-alt); transform: translateY(-2px); }

/* WhatsApp tint */
.btn-wa { background: #25D366; color: #0a2e16; font-weight: 700; transition: all .3s ease; }
.btn-wa:hover { background: #1eb858; transform: translateY(-2px); box-shadow: 0 12px 26px -10px rgba(37,211,102,.6); }

/* ─── CTA pulse ────────────────────────────────────────── */
@keyframes pulse-cta {
  0%   { box-shadow: 0 8px 24px -8px rgba(var(--accent-rgb), .55), 0 0 0 0 rgba(var(--accent-rgb), .45); }
  70%  { box-shadow: 0 8px 24px -8px rgba(var(--accent-rgb), .55), 0 0 0 16px rgba(var(--accent-rgb), 0); }
  100% { box-shadow: 0 8px 24px -8px rgba(var(--accent-rgb), .55), 0 0 0 0 rgba(var(--accent-rgb), 0); }
}
.cta-pulse { animation: pulse-cta 3s infinite; }
.cta-pulse:hover { animation: none; }

/* ─── Ambient animations ───────────────────────────────── */
@keyframes float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.animate-float { animation: float 5s ease-in-out infinite; }
.animate-float-slow { animation: float 7s ease-in-out infinite; }
.animate-float-delay { animation: float 5s ease-in-out 1.2s infinite; }

@keyframes breathe { 0%,100% { transform: scale(1); } 50% { transform: scale(1.05); } }
.animate-breathe { animation: breathe 4.5s ease-in-out infinite; }

@keyframes dot-pulse-anim {
  0%   { transform: scale(.8); opacity: .5; }
  50%  { transform: scale(1.25); opacity: 1; }
  100% { transform: scale(.8); opacity: .5; }
}
.dot-pulse { animation: dot-pulse-anim 2s ease-in-out infinite; }

@keyframes spin-slow { to { transform: rotate(360deg); } }
.animate-spin-slow { animation: spin-slow 26s linear infinite; }

/* ─── Reveal system (IntersectionObserver adds .active) ── */
.reveal {
  opacity: 0;
  transform: translateY(42px) scale(.985);
  filter: blur(14px);
  transition: opacity .5s cubic-bezier(.16,1,.3,1), transform .55s cubic-bezier(.16,1,.3,1), filter .55s cubic-bezier(.16,1,.3,1);
  will-change: opacity, transform, filter;
}
.reveal.active { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
.reveal-left  { opacity: 0; transform: translateX(-48px); filter: blur(12px); transition: opacity .5s cubic-bezier(.16,1,.3,1), transform .58s cubic-bezier(.16,1,.3,1), filter .58s cubic-bezier(.16,1,.3,1); will-change: opacity, transform, filter; }
.reveal-right { opacity: 0; transform: translateX(48px);  filter: blur(12px); transition: opacity .5s cubic-bezier(.16,1,.3,1), transform .58s cubic-bezier(.16,1,.3,1), filter .58s cubic-bezier(.16,1,.3,1); will-change: opacity, transform, filter; }
.reveal-left.active, .reveal-right.active { opacity: 1; transform: translateX(0); filter: blur(0); }
.reveal-scale { opacity: 0; transform: scale(.92); filter: blur(18px); transition: opacity .55s cubic-bezier(.16,1,.3,1), transform .62s cubic-bezier(.16,1,.3,1), filter .62s cubic-bezier(.16,1,.3,1); will-change: opacity, transform, filter; }
.reveal-scale.active { opacity: 1; transform: scale(1); filter: blur(0); }
/* Wenn GSAP ScrollTrigger den Reveal steuert: CSS-Transition aus, GSAP tweent inline */
.gsap-on .reveal, .gsap-on .reveal-left, .gsap-on .reveal-right, .gsap-on .reveal-scale { transition: none !important; }

@media (prefers-reduced-motion: reduce) {
  .reveal, .reveal-left, .reveal-right, .reveal-scale { opacity: 1 !important; transform: none !important; filter: none !important; }
  .animate-float, .animate-float-slow, .animate-float-delay, .animate-breathe, .dot-pulse, .cta-pulse, .marquee-track { animation: none !important; }
  html { scroll-behavior: auto; }
}

/* ─── Cards ────────────────────────────────────────────── */
.card-lift { transition: transform .4s cubic-bezier(.16,1,.3,1), box-shadow .4s ease, border-color .4s ease; }
.card-lift:hover { transform: translateY(-6px); box-shadow: 0 26px 50px -24px rgba(20,23,28,.28); }

/* Werte-Karten: Premium-Effekte (Glow, Akzentlinie, Nummer-Watermark, Icon-Motion) */
.sw-value {
  position: relative; overflow: hidden;
  background: linear-gradient(165deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  border: 1px solid rgba(245,179,1,.20);
  box-shadow: 0 18px 50px -34px rgba(0,0,0,.7), 0 0 26px -14px rgba(245,179,1,.28);
  transition: transform .5s cubic-bezier(.16,1,.3,1), box-shadow .5s ease, border-color .5s ease;
}
.sw-value::before { content: ""; position: absolute; top: -40%; right: -30%; width: 240px; height: 240px; background: radial-gradient(circle, rgba(245,179,1,.16) 0%, transparent 70%); opacity: .45; transition: opacity .55s ease; pointer-events: none; }
.sw-value::after { content: ""; position: absolute; top: 0; left: 24px; right: 24px; height: 2px; background: linear-gradient(90deg, transparent, var(--accent), transparent); transform: scaleX(0); transform-origin: center; transition: transform .55s cubic-bezier(.16,1,.3,1); }
.sw-value:hover { transform: translateY(-8px); border-color: rgba(245,179,1,.40); box-shadow: 0 44px 84px -42px rgba(0,0,0,.95), 0 0 44px -12px rgba(245,179,1,.28); }
.sw-value:hover::before { opacity: 1; }
.sw-value:hover::after { transform: scaleX(1); }
.sw-value__ico { position: relative; z-index: 1; box-shadow: 0 12px 28px -8px rgba(245,179,1,.55); transition: transform .5s cubic-bezier(.16,1,.3,1); }
.sw-value:hover .sw-value__ico { transform: rotate(-6deg) scale(1.08); }
.sw-value__num { position: absolute; top: 14px; right: 22px; font-family: 'Archivo', system-ui, sans-serif; font-weight: 900; font-size: 4.5rem; line-height: 1; color: rgba(245,179,1,.08); pointer-events: none; z-index: 0; transition: color .55s ease; }
.sw-value:hover .sw-value__num { color: rgba(245,179,1,.18); }
.sw-value h3, .sw-value p { position: relative; z-index: 1; }

/* Pest service card (image background) */
.pest-card { transition: transform .4s cubic-bezier(.16,1,.3,1), box-shadow .4s ease; position: relative; overflow: hidden; }
.pest-bg { transition: transform .7s cubic-bezier(.16,1,.3,1); }
.pest-card:hover { transform: translateY(-6px); box-shadow: 0 26px 50px -26px rgba(20,23,28,.28); }
.pest-card:hover .pest-bg { transform: scale(1.07); }

/* Case study card (Problem → Lösung) - dauerhafter Glow (kein Hover nötig) */
.case-card {
  position: relative;
  border: 1px solid rgba(245,179,1,.28);
  box-shadow: 0 22px 48px -30px rgba(20,23,28,.28), 0 0 36px -14px rgba(245,179,1,.5);
  transition: transform .5s cubic-bezier(.16,1,.3,1), box-shadow .5s ease, border-color .5s ease;
}
/* amber Akzentlinie oben - immer sichtbar */
.case-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; z-index: 4; background: linear-gradient(90deg, var(--accent), #ffd451); }
.case-card:hover { transform: translateY(-6px); border-color: rgba(245,179,1,.5); box-shadow: 0 40px 70px -34px rgba(20,23,28,.4), 0 0 46px -12px rgba(245,179,1,.6); }

/* Bild-Bereich: Zoom + Gradient-Overlay */
.case-media { overflow: hidden; }
.case-media img { transition: transform .8s cubic-bezier(.16,1,.3,1); }
.case-card:hover .case-media img { transform: scale(1.08); }
.case-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(20,23,28,.34) 0%, transparent 42%); pointer-events: none; }
.case-card .case-media > span { transition: transform .45s cubic-bezier(.16,1,.3,1), box-shadow .45s ease; }
.case-card:hover .case-media > span { transform: translateY(-2px) scale(1.05); box-shadow: 0 10px 22px -8px rgba(245,179,1,.7); }

/* Leistungen - separierte Karten mit Nummern-Medaillon (schwarze Haupt-Section) */
.lz-rows { display: flex; flex-direction: column; gap: 2.75rem; margin-top: 3.5rem; }   /* Luft, damit das 01-Medaillon nicht in die Subheadline ragt (mb-20 am Header ist nicht kompiliert) */

.lz-card {
  position: relative;
  border-radius: 34px;
  padding: 1.5rem;
  background: linear-gradient(152deg, #1d222b 0%, #2A2E36 62%);
  border: 1px solid rgba(255,255,255,.07);
  box-shadow: 0 36px 80px -46px rgba(0,0,0,.95), inset 0 1px 0 rgba(255,255,255,.04);
  /* transform wird per GSAP-Scrub gesteuert (Fokus-Skalierung) -> hier nicht transitionen */
  transition: box-shadow .55s ease, border-color .55s ease, background .55s ease;
}
.lz-card:hover {
  border-color: rgba(245,179,1,.32);
  box-shadow: 0 52px 100px -48px rgba(0,0,0,1), 0 0 0 1px rgba(245,179,1,.18), inset 0 1px 0 rgba(255,255,255,.05);
}
/* Scroll-Highlight: die zentrierte (groesste) Karte leuchtet auf */
.lz-card.lz-active {
  border-color: rgba(245,179,1,.55);
  background: linear-gradient(152deg, #242b36 0%, #181c22 62%);
  box-shadow:
    0 60px 110px -46px rgba(0,0,0,1),
    0 0 0 1px rgba(245,179,1,.4),
    0 0 46px -6px rgba(245,179,1,.32),
    inset 0 1px 0 rgba(255,255,255,.06);
}
.lz-card.lz-active .lz-badge {
  box-shadow: 0 0 0 6px #2A2E36, 0 0 0 7px rgba(245,179,1,.45), 0 22px 40px -8px rgba(245,179,1,.7);
}

.lz-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 2.75rem; align-items: center; }
.lz-card--rev .lz-media { order: -1; }            /* abwechselnd: Bild links, Text rechts */

.lz-media {
  position: relative; overflow: hidden; border-radius: 24px; height: 360px;
  box-shadow: 0 30px 60px -28px rgba(0,0,0,.8);
  will-change: transform;
}
.lz-media img { width: 100%; height: 100%; object-fit: cover; display: block; will-change: transform; }

.lz-text { padding: 2.6rem 1.5rem .75rem; }   /* oben Luft, damit Text nicht ans Medaillon stößt */
.lz-tag {
  display: inline-block; font-family: 'Archivo', sans-serif; font-weight: 700;
  font-size: 11px; letter-spacing: .18em; text-transform: uppercase;
  color: var(--accent); margin-bottom: 1.1rem;
}
.lz-stat {
  display: inline-flex; align-items: baseline; gap: .5rem; margin-top: 1.6rem;
  padding: .5rem .95rem; border-radius: 9999px;
  background: rgba(245,179,1,.08); border: 1px solid rgba(245,179,1,.22);
}
.lz-stat__val { font-family: 'Archivo', sans-serif; font-weight: 900; font-size: 15px; color: #fff; }
.lz-stat__sub { font-size: 12px; color: rgba(255,255,255,.72); }

/* Rundes Nummern-Medaillon, ragt oben aus der Karte */
.lz-badge {
  position: absolute; top: -26px; left: 32px; z-index: 4;
  width: 74px; height: 74px; border-radius: 9999px;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  line-height: 1; color: #2A2E36;
  background: radial-gradient(circle at 32% 26%, #F5B301 0%, var(--accent) 68%);
  box-shadow: 0 0 0 6px #2A2E36, 0 0 0 7px rgba(245,179,1,.28), 0 18px 32px -10px rgba(245,179,1,.55);
}
/* Zickzack: ungerade Karten (02, 04, 06) -> Medaillon nach rechts, folgt dem Text */
.lz-card--rev .lz-badge { left: auto; right: 32px; }
.lz-badge__num { font-family: 'Archivo', sans-serif; font-weight: 900; font-size: 25px; letter-spacing: -.02em; }
.lz-badge__tot { font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 10px; opacity: .55; margin-top: 2px; }

@media (max-width: 1023px) {
  .lz-rows { gap: 2.25rem; }
  .lz-card { padding: 1.1rem 1.1rem 1.4rem; border-radius: 28px; }
  .lz-inner { grid-template-columns: 1fr; gap: 1.25rem; }
  .lz-media, .lz-card--rev .lz-media { order: -1; height: 230px; }   /* Mobile: Bild immer oben */
  .lz-text { padding: .25rem .6rem .4rem; }
  .lz-badge { top: -22px; left: 22px; width: 60px; height: 60px; }
  .lz-card--rev .lz-badge { left: auto; right: 22px; }
  .lz-badge__num { font-size: 21px; }
}
/* Problem → Lösung Timeline (durchgehender gelber Strich) */
.case-steps { position:relative; display:flex; flex-direction:column; gap:1rem; }
.case-step { position:relative; padding-left:1.4rem; }
/* Einheitliche Hoehen: PROBLEM + LOESUNG sitzen auf allen Karten auf gleicher Hoehe (ab sm, wo Karten nebeneinander stehen) */
@media (min-width: 640px) {
  .case-head    { min-height: 4rem; }    /* Ort + bis zu 2-zeiliger Titel */
  .case-problem { min-height: 5.6rem; }  /* bis zu 4 Zeilen Problemtext */
}
.case-step__dot { position:absolute; left:1px; top:3px; width:9px; height:9px; border-radius:9999px; z-index:1; box-shadow:0 0 0 3px #fff; }
.case-step:not(:last-child)::before { content:""; position:absolute; left:5px; top:14px; bottom:-1rem; width:2px; background:#16A34A; }
.case-card .case-step__body p { font-size: 14px; }

/* ─── Marquee (trust strip) ────────────────────────────── */
.marquee { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.marquee-track { display: inline-flex; white-space: nowrap; animation: marquee 32s linear infinite; }
.marquee:hover .marquee-track { animation-play-state: paused; }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ─── Form fields ──────────────────────────────────────── */
.field {
  width: 100%;
  background-color: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.12);
  color: #fff;
  border-radius: 14px;
  padding: 13px 15px;
  font-size: 15px;
  transition: border-color .25s ease, background-color .25s ease, box-shadow .25s ease;
}
.field::placeholder { color: rgba(255,255,255,.45); }
.field:hover { border-color: rgba(245,179,1,.40); }
.field:focus { outline: none; border-color: var(--accent); background-color: rgba(255,255,255,.10); box-shadow: 0 0 0 4px rgba(var(--accent-rgb), .16), 0 10px 26px -14px rgba(245,179,1,.55); }

/* Premium-Formular: Icon-Felder */
.sw-ff { position: relative; }
.sw-ff__ico { position: absolute; left: 15px; top: 23px; transform: translateY(-50%); color: var(--accent); opacity: .8; pointer-events: none; display: flex; transition: opacity .25s ease; }
.sw-ff:focus-within .sw-ff__ico { opacity: 1; }
.sw-ff .field { padding-left: 46px; }
.sw-ff--area .sw-ff__ico { top: 20px; transform: none; }

/* Anrede-Select: nativen Pfeil ersetzen durch amber Chevron */
select.field { -webkit-appearance: none; -moz-appearance: none; appearance: none; cursor: pointer; padding-right: 42px; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23F5B301' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>"); background-repeat: no-repeat; background-position: right 16px center; }
select.field option { background: #1B2029; color: #fff; }

/* Submit-Button: dezenter Shine beim Hover */
.sw-submit { position: relative; overflow: hidden; }
.sw-submit::before { content: ""; position: absolute; top: 0; left: -60%; width: 45%; height: 100%; background: linear-gradient(100deg, transparent, rgba(255,255,255,.45), transparent); transform: skewX(-18deg); transition: left .6s cubic-bezier(.16,1,.3,1); pointer-events: none; }
.sw-submit:hover::before { left: 130%; }
.field-light {
  width: 100%; background: #FBFAF6; border: 1.5px solid rgba(20,23,28,.10); color: var(--ink);
  border-radius: 13px; padding: 11px 14px; font-size: 14.5px;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.field-light::placeholder { color: var(--muted); }
.field-light:hover { border-color: rgba(245,179,1,.45); }
.field-light:focus { outline: none; border-color: var(--accent); background: #fff; box-shadow: 0 0 0 4px rgba(var(--accent-rgb), .18); }
.sw-fwrap { position: relative; }
.sw-fic { position: absolute; left: 15px; top: 50%; transform: translateY(-50%); color: #C49A2E; display: flex; pointer-events: none; transition: color .2s ease; }
.sw-fic-top { top: 15px; transform: none; }
.field-light.sw-field-ico { padding-left: 43px; }
.sw-fwrap:focus-within .sw-fic { color: var(--accent-deep); }

/* ─── Step form (lead generator) ─────────────────────── */
@keyframes stepIn {
  from { opacity: 0; transform: translateX(28px); }
  to   { opacity: 1; transform: translateX(0); }
}
.step-in { animation: stepIn .45s cubic-bezier(.16,1,.3,1); }
@keyframes popIn { 0% { opacity:0; transform: scale(.8); } 60% { transform: scale(1.08); } 100% { opacity:1; transform: scale(1); } }
.pop-in { animation: popIn .5s cubic-bezier(.34,1.56,.64,1); }

.choice-tile { background: #fff; transition: transform .25s cubic-bezier(.16,1,.3,1), box-shadow .25s ease, border-color .25s ease, background .25s ease; cursor: pointer; }
.choice-tile:hover { border-color: rgba(var(--accent-rgb), .55); transform: translateY(-3px); box-shadow: 0 14px 26px -16px rgba(20,23,28,.3); }
.choice-tile:active { transform: translateY(-1px) scale(.99); }
.choice-active { border-color: var(--accent) !important; background: rgba(var(--accent-rgb), .08) !important; box-shadow: 0 0 0 3px rgba(var(--accent-rgb), .2); }
.choice-tile img { transition: transform .3s cubic-bezier(.34,1.56,.64,1); }
.choice-tile:hover img { transform: scale(1.12) rotate(-5deg); }
@media (prefers-reduced-motion: reduce) { .step-in, .pop-in { animation: none !important; } }

/* ─── FAQ accordion ────────────────────────────────────── */
details > summary { list-style: none; cursor: pointer; }
details > summary::-webkit-details-marker { display: none; }

/* FAQ – nummerierte Reihen (Editorial-Stil, Marcel-Davia) */
.faq-list { position: relative; display: flex; flex-direction: column; border: none; border-radius: 0; background: none; padding: 0; }
.faq-list::before, .faq-list::after { content: none; }
.faq-item { border-top: 1px solid rgba(255,255,255,.10); }
.faq-item:first-child { border-top: none; }
.faq-head { display: flex; align-items: center; gap: .95rem; padding: 24px 4px; }
.faq-num { width: 30px; flex-shrink: 0; font-weight: 700; font-size: 13px; letter-spacing: .04em; color: rgba(255,255,255,.34); transition: color .3s ease; }
.faq-q { flex: 1; min-width: 0; font-weight: 800; font-size: 20px; line-height: 1.25; color: #fff; transition: color .3s ease; }
.faq-icon { flex-shrink: 0; display: flex; align-items: center; justify-content: center; color: var(--accent); transition: transform .35s cubic-bezier(.16,1,.3,1); }
.faq-item:hover .faq-q { color: var(--accent); }
.faq-item:hover .faq-num { color: rgba(245,179,1,.7); }
details[open] > summary .faq-icon { transform: rotate(45deg); }
details[open] > summary .faq-q, details[open] > summary .faq-num { color: var(--accent); }
.faq-body {
  margin: 0 4px 18px 44px;
  padding: 0;
  border: none;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: rgba(255,255,255,.7);
  line-height: 1.7;
  font-size: 15.5px;
  animation: faqOpen .45s cubic-bezier(.16,1,.3,1);
}
@keyframes faqOpen { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }
/* Sanftes Auf- und Zuklappen (moderne Browser) */
html { interpolate-size: allow-keywords; }
.faq-item::details-content { block-size: 0; overflow: clip; transition: block-size .42s cubic-bezier(.16,1,.3,1), content-visibility .42s allow-discrete; }
.faq-item[open]::details-content { block-size: auto; }

/* FAQ – Chip + CTA-Karte (linke Spalte) */
.faq-chip { display: inline-flex; align-items: center; gap: .5rem; padding: .42rem .9rem .42rem .72rem; border-radius: 999px; background: rgba(245,179,1,.12); border: 1px solid rgba(245,179,1,.35); color: #F5B301; font-family: 'Archivo', system-ui, sans-serif; font-weight: 800; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; }
.faq-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--accent); animation: sw-dot-pulse 1.8s ease-in-out infinite; }
.faq-cta { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-top: 2rem; max-width: 470px; padding: 26px 26px 26px 30px; border-radius: 22px; background: linear-gradient(155deg,#1B2029 0%,#15181D 60%,#101317 100%); border: 1px solid rgba(245,179,1,.2); box-shadow: 0 24px 50px -28px rgba(0,0,0,.7); transition: transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s ease, border-color .35s ease; }
.faq-cta:hover { transform: translateY(-3px); border-color: rgba(245,179,1,.45); box-shadow: 0 30px 60px -26px rgba(0,0,0,.8); }
.faq-cta-label { font-family: 'Archivo', system-ui, sans-serif; font-weight: 800; font-size: 11.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--accent); }
.faq-cta-title { font-weight: 800; font-size: 23px; color: #fff; line-height: 1.15; }
.faq-cta-sub { font-size: 14px; color: rgba(255,255,255,.55); }
.faq-cta-arrow { flex-shrink: 0; width: 60px; height: 60px; border-radius: 50%; background: var(--accent); color: #15181D; display: flex; align-items: center; justify-content: center; transition: transform .35s cubic-bezier(.16,1,.3,1); }
.faq-cta:hover .faq-cta-arrow { transform: rotate(-45deg); }
@media (prefers-reduced-motion: reduce) { .faq-dot, .faq-icon, .faq-cta-arrow { animation: none !important; transition: none !important; } }

/* Footer: Spalten-Ueberschriften auf eine Linie mit dem Brand-Text (Logo darueber) */
@media (min-width: 1024px) { .sw-fcol { margin-top: 4.75rem; } }

/* ─── Decorative backgrounds ───────────────────────────── */
.bg-glow-tl { position: relative; }
.bg-glow-tl::before {
  content: ''; position: absolute; top: -15%; left: -8%; width: 46%; height: 60%;
  background: radial-gradient(ellipse, rgba(var(--accent-rgb), .12) 0%, transparent 70%);
  pointer-events: none; z-index: 0;
}
.bg-glow-br { position: relative; }
.bg-glow-br::before {
  content: ''; position: absolute; bottom: -18%; right: -8%; width: 48%; height: 62%;
  background: radial-gradient(ellipse, rgba(var(--accent-rgb), .10) 0%, transparent 70%);
  pointer-events: none; z-index: 0;
}
.bg-dots { background-image: radial-gradient(rgba(20,23,28,.05) 1px, transparent 1px); background-size: 26px 26px; }
.bg-dots-light { background-image: radial-gradient(rgba(255,255,255,.06) 1px, transparent 1px); background-size: 26px 26px; }
.bg-grid-dark {
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 64px 64px;
}
.accent-line-top { position: relative; }
.accent-line-top::before {
  content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%);
  width: 96px; height: 4px; background: var(--accent); border-radius: 0 0 6px 6px;
}
.watermark { position: relative; overflow: hidden; }
.watermark::before {
  content: attr(data-watermark);
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) rotate(-8deg);
  font-family: 'Archivo', sans-serif; font-size: clamp(5rem, 14vw, 13rem); font-weight: 700;
  color: rgba(20,23,28,.028); white-space: nowrap; pointer-events: none; z-index: 0; line-height: 1;
}

/* gradient text + animated underline */
.text-gradient { background: linear-gradient(100deg, var(--accent-deep), var(--accent)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.nav-link { position: relative; }
.nav-link::after {
  content: ''; position: absolute; left: 0; bottom: -4px; height: 2px; width: 0; background: var(--accent);
  transition: width .3s cubic-bezier(.16,1,.3,1);
}
.nav-link:hover::after { width: 100%; }

/* highlight swoosh under hero word - bulletproof gradient (no z-index tricks) */
.swoosh {
  background-image: linear-gradient(180deg, transparent 60%, rgba(var(--accent-rgb), .85) 60%);
  padding: 0 .08em;
  border-radius: 3px;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

/* scroll progress bar */
#scroll-progress {
  position: fixed; top: 0; left: 0; height: 3px; width: 0%;
  background: linear-gradient(90deg, var(--accent-deep), var(--accent)); z-index: 60;
  transition: width .1s linear;
}

/* sticky mobile call bar */
.mobile-callbar { box-shadow: 0 -8px 30px -10px rgba(0,0,0,.25); }

/* ===================== SW Photovoltaik cinematic hero ===================== */
/* Atzor-style header: transparent → glass pill on scroll */
.sw-navwrap { position:fixed; top:0; left:0; right:0; z-index:50; padding:18px 12px 0; transition:padding .55s cubic-bezier(.16,1,.3,1); }
@media (min-width:768px){ .sw-navwrap { padding:18px 20px 0; } }
@media (max-width:640px){ .sw-navwrap { padding:14px 12px 0; } }
.sw-navwrap.scrolled { padding:10px 16px 0; }
@media (max-width:640px){ .sw-navwrap.scrolled { padding:12px 12px 0; } }
.sw-navpill2 { max-width:80rem; margin:0 auto; border-radius:26px 26px 0 0; background:transparent; backdrop-filter:none; -webkit-backdrop-filter:none; border:1px solid transparent; box-shadow:none; transition:all .55s cubic-bezier(.16,1,.3,1); }
.sw-navwrap.scrolled .sw-navpill2 { border-radius:100px; background:rgba(20,23,28,.55); backdrop-filter:blur(22px) saturate(1.4); -webkit-backdrop-filter:blur(22px) saturate(1.4); border:1px solid rgba(255,255,255,.1); box-shadow:0 8px 40px rgba(0,0,0,.22), 0 0 0 1px rgba(255,255,255,.04); }
@media (max-width:640px){ .sw-navwrap.scrolled .sw-navpill2 { border-radius:28px; } body.nav-solid .sw-navpill2 { border-radius:28px; } }
.sw-navinner { height:84px; padding:0 16px 0 20px; display:flex; align-items:center; justify-content:space-between; gap:1rem; transition:height .4s cubic-bezier(.16,1,.3,1); }
.sw-navwrap.scrolled .sw-navinner { height:64px; }
.sw-navlogo { height:72px; width:auto; transition:height .4s cubic-bezier(.16,1,.3,1); }
.sw-navwrap.scrolled .sw-navlogo { height:60px; }
/* nav-solid: Seiten mit hellem Hero brauchen die solide Nav-Pille (sonst weißer Text auf hell) */
body.nav-solid .sw-navwrap { padding:10px 16px 0; }
body.nav-solid .sw-navpill2 { border-radius:100px; background:rgba(20,23,28,.82); backdrop-filter:blur(22px) saturate(1.4); -webkit-backdrop-filter:blur(22px) saturate(1.4); border:1px solid rgba(255,255,255,.1); box-shadow:0 8px 40px rgba(0,0,0,.22); }
body.nav-solid .sw-navinner { height:64px; }
body.nav-solid .sw-navlogo { height:60px; }
.sw-navlinks { flex:1; justify-content:center; align-items:center; gap:2rem; }
.sw-navlink { position:relative; font-family:'Archivo',system-ui,sans-serif; font-weight:600; font-size:16px; color:rgba(255,255,255,.8); transition:color .25s; padding:4px 0; }
.sw-navlink::after { content:''; position:absolute; left:50%; bottom:-4px; width:0; height:2px; background:var(--accent); border-radius:2px; transition:all .3s ease; }
.sw-navlink:hover { color:#fff; }
.sw-navlink:hover::after { width:100%; left:0; }
.sw-navlink.active { color:#fff; padding:6px 16px; border-radius:999px; background:rgba(245,179,1,.18); border:1px solid rgba(245,179,1,.42); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); box-shadow:0 6px 20px -10px rgba(245,179,1,.55); }
.sw-navlink.active:hover { color:#fff; }
.sw-navlink.active::after { display:none; }
/* Leistungen-Dropdown (Desktop, Hover) */
.sw-navitem { position:relative; display:inline-flex; align-items:center; }
.sw-navlink--has { display:inline-flex; align-items:center; gap:4px; cursor:pointer; }
.sw-caret { transition:transform .25s ease; opacity:.65; }
.sw-navitem:hover .sw-caret { transform:rotate(180deg); }
.sw-dropdown { position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(12px) scale(.98); transform-origin:top center; width:330px; padding:9px; border-radius:20px; background:linear-gradient(180deg, rgba(30,34,43,.98) 0%, rgba(17,20,26,.98) 100%); backdrop-filter:blur(22px) saturate(1.4); -webkit-backdrop-filter:blur(22px) saturate(1.4); border:1px solid rgba(255,255,255,.1); box-shadow:0 34px 80px -26px rgba(0,0,0,.85), 0 0 0 1px rgba(245,179,1,.05), inset 0 1px 0 rgba(255,255,255,.07); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .25s ease .4s, transform .28s cubic-bezier(.16,1,.3,1) .4s, visibility 0s linear .65s; z-index:60; overflow:hidden; }
.sw-dropdown::before { content:''; position:absolute; top:-36px; left:-30px; right:-30px; height:40px; }
.sw-navitem { padding-bottom:22px; margin-bottom:-22px; }
.sw-navitem::after { content:''; position:absolute; left:-14px; right:-14px; top:100%; height:24px; pointer-events:none; }
.sw-navitem:hover::after, .sw-navitem:focus-within::after { pointer-events:auto; }
.sw-dropdown::after { content:''; position:absolute; top:-45%; left:-25%; width:260px; height:260px; background:radial-gradient(circle, rgba(245,179,1,.18) 0%, transparent 68%); pointer-events:none; }
.sw-navitem:hover .sw-dropdown, .sw-navitem:focus-within .sw-dropdown { opacity:1; visibility:visible; pointer-events:auto; transform:translateX(-50%) translateY(6px) scale(1); transition: opacity .22s ease, transform .26s cubic-bezier(.16,1,.3,1), visibility 0s linear 0s; }
.sw-dd-head { position:relative; z-index:1; font-family:'Archivo',system-ui,sans-serif; font-weight:800; font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:rgba(245,179,1,.9); padding:8px 12px 10px; }
.sw-dd-item { position:relative; z-index:1; display:flex; align-items:center; gap:.85rem; padding:.6rem .65rem; border-radius:14px; transition:background .18s ease; }
.sw-dd-item::after { display:none; }
.sw-dd-item:hover { background:rgba(245,179,1,.1); }
.sw-dd-ico { width:40px; height:40px; border-radius:12px; flex-shrink:0; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.06); color:#F5B301; border:1px solid rgba(255,255,255,.09); transition:transform .22s cubic-bezier(.16,1,.3,1), background .22s ease, color .22s ease, box-shadow .22s ease, border-color .22s ease; }
.sw-dd-item:hover .sw-dd-ico { background:linear-gradient(180deg,#FFDD66 0%,#F5B301 100%); color:#1A1402; border-color:transparent; box-shadow:0 10px 22px -7px rgba(245,179,1,.65); transform:translateY(-2px) rotate(-3deg); }
.sw-dd-tx { display:flex; flex-direction:column; min-width:0; flex:1; }
.sw-dd-tt { font-family:'Archivo',system-ui,sans-serif; font-weight:700; font-size:15px; color:#fff; line-height:1.2; transition:color .18s ease; }
.sw-dd-item:hover .sw-dd-tt { color:#F5B301; }
.sw-dd-sub { font-size:12px; color:rgba(255,255,255,.5); margin-top:2px; }
.sw-dd-arrow { color:#F5B301; opacity:0; transform:translateX(-7px); transition:opacity .2s ease, transform .2s cubic-bezier(.16,1,.3,1); flex-shrink:0; }
.sw-dd-item:hover .sw-dd-arrow { opacity:1; transform:translateX(0); }
.sw-dd-divider { position:relative; z-index:1; height:1px; margin:8px 12px; background:linear-gradient(90deg, transparent, rgba(255,255,255,.14), transparent); }
.sw-dd-all .sw-dd-tt { color:#F5B301; }
.sw-dd-all .sw-dd-ico { background:rgba(245,179,1,.14); color:#F5B301; border-color:rgba(245,179,1,.3); }
.sw-dd-all .sw-dd-arrow { opacity:1; transform:none; }
/* === Mobile Burger Button - Morph zu X === */
.sw-navburger { position:relative; width:44px; height:44px; display:flex; align-items:center; justify-content:center; border-radius:12px; color:#fff; transition:background .2s; z-index:201; }
.sw-navburger:hover { background:rgba(255,255,255,.12); }
.sw-navburger svg { display:none; }
.sw-navburger span { position:absolute; left:11px; display:block; width:22px; height:2px; background:currentColor; border-radius:2px; transition:transform .45s cubic-bezier(.16,1,.3,1), opacity .25s ease, background .35s ease, width .35s ease; }
.sw-navburger span:nth-child(1) { top:14px; }
.sw-navburger span:nth-child(2) { top:21px; width:16px; }
.sw-navburger span:nth-child(3) { top:28px; width:18px; }
.sw-navburger.is-open span:nth-child(1) { transform:translateY(7px) rotate(45deg); background:#F5B301; }
.sw-navburger.is-open span:nth-child(2) { opacity:0; transform:translateX(-8px); }
.sw-navburger.is-open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); background:#F5B301; width:22px; }
@media (min-width:1024px){ .sw-navburger { display:none; } }

/* === Full-Screen Mobile Menu - Editorial Premium === */
.sw-mobilemenu { position:fixed; inset:0; z-index:198; background:linear-gradient(180deg,#14171C 0%,#0E1014 100%); opacity:0; visibility:hidden; transition:opacity .45s cubic-bezier(.16,1,.3,1), visibility 0s linear .45s; display:flex; flex-direction:column; padding:5.5rem 1.5rem 1.8rem; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; max-width:none; margin:0; border-radius:0; max-height:none; border:0; }
.sw-mobilemenu::before { content:''; position:absolute; top:0; left:0; right:0; height:80%; background:radial-gradient(ellipse 70% 55% at center top, rgba(245,179,1,.26) 0%, rgba(245,179,1,.06) 38%, transparent 68%); pointer-events:none; z-index:0; }
.sw-mobilemenu::after { content:''; position:absolute; bottom:0; left:0; right:0; height:50%; background:radial-gradient(ellipse 60% 70% at right bottom, rgba(245,179,1,.12) 0%, transparent 60%); pointer-events:none; z-index:0; }
.sw-mobilemenu.open { opacity:1; visibility:visible; transition:opacity .45s cubic-bezier(.16,1,.3,1), visibility 0s linear 0s; }
.sw-mobilemenu > * { position:relative; z-index:1; }

.sw-mobile-eyebrow { font-family:'Archivo',sans-serif; font-weight:800; font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; color:#F5B301; margin-bottom:1.4rem; display:inline-flex; align-items:center; gap:.5rem; opacity:0; transform:translateY(12px); transition:opacity .5s ease .1s, transform .5s cubic-bezier(.16,1,.3,1) .1s; }
.sw-mobile-eyebrow::before { content:''; width:6px; height:6px; border-radius:50%; background:#F5B301; box-shadow:0 0 0 0 rgba(245,179,1,.5); animation:sw-pulse 2s ease-out infinite; }
@keyframes sw-pulse { 0%{box-shadow:0 0 0 0 rgba(245,179,1,.5);} 70%{box-shadow:0 0 0 8px rgba(245,179,1,0);} 100%{box-shadow:0 0 0 0 rgba(245,179,1,0);} }
.sw-mobilemenu.open .sw-mobile-eyebrow { opacity:1; transform:translateY(0); }

.sw-mobile-links { display:flex; flex-direction:column; margin-bottom:auto; }

/* Top-Level Row (Direkt-Link ODER Accordion) */
.sw-mobile-row { position:relative; border-bottom:1px solid rgba(255,255,255,.08); transform:translateY(18px); opacity:0; transition:transform .55s cubic-bezier(.16,1,.3,1), opacity .55s ease; }
.sw-mobilemenu.open .sw-mobile-row { transform:translateY(0); opacity:1; }
.sw-mobilemenu.open .sw-mobile-row:nth-child(1) { transition-delay:.14s; }
.sw-mobilemenu.open .sw-mobile-row:nth-child(2) { transition-delay:.20s; }
.sw-mobilemenu.open .sw-mobile-row:nth-child(3) { transition-delay:.26s; }
.sw-mobilemenu.open .sw-mobile-row:nth-child(4) { transition-delay:.32s; }
.sw-mobilemenu.open .sw-mobile-row:nth-child(5) { transition-delay:.38s; }
.sw-mobilemenu.open .sw-mobile-row:nth-child(6) { transition-delay:.44s; }
.sw-mobilemenu.open .sw-mobile-row:nth-child(7) { transition-delay:.50s; }

/* Direkt-Link (kein Sub) */
a.sw-mobilelink.sw-mobile-row { position:relative; display:flex; align-items:center; justify-content:space-between; font-family:'Archivo',sans-serif; font-weight:800; font-size:1.85rem; letter-spacing:-.02em; line-height:1; color:rgba(255,255,255,.94); padding:.95rem 0; border-bottom:1px solid rgba(255,255,255,.08); transition:transform .55s cubic-bezier(.16,1,.3,1), opacity .55s ease, color .25s ease; }
a.sw-mobilelink.sw-mobile-row::after { content:''; position:absolute; left:0; bottom:-1px; height:2px; width:0; background:linear-gradient(90deg,#FFDD66,#F5B301); transition:width .35s cubic-bezier(.16,1,.3,1); }
a.sw-mobilelink.sw-mobile-row:hover, a.sw-mobilelink.sw-mobile-row:focus { color:#F5B301; }
a.sw-mobilelink.sw-mobile-row:hover::after, a.sw-mobilelink.sw-mobile-row:focus::after { width:40%; }

/* Accordion (Item mit Sub-Items) */
.sw-mobile-acc { background:transparent; }
.sw-mobile-acc summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; padding:.95rem 0; font-family:'Archivo',sans-serif; font-weight:800; font-size:1.85rem; letter-spacing:-.02em; line-height:1; color:rgba(255,255,255,.94); transition:color .25s ease; }
.sw-mobile-acc summary::-webkit-details-marker { display:none; }
.sw-mobile-acc summary:hover { color:#F5B301; }
.sw-mobile-acc__lbl { display:inline-block; }
.sw-mobile-acc__ico { display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:50%; background:rgba(245,179,1,.1); border:1px solid rgba(245,179,1,.25); color:#F5B301; flex-shrink:0; transition:transform .4s cubic-bezier(.16,1,.3,1), background .25s ease, border-color .25s ease; }
.sw-mobile-acc[open] .sw-mobile-acc__ico { transform:rotate(180deg); background:linear-gradient(180deg,#FFDD66,#F5B301); border-color:transparent; color:#1A1402; box-shadow:0 8px 20px -8px rgba(245,179,1,.55); }
.sw-mobile-acc__body { overflow:hidden; padding:0 0 1rem 0; display:flex; flex-direction:column; gap:.1rem; animation:sw-acc-in .35s cubic-bezier(.16,1,.3,1); }
@keyframes sw-acc-in { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }

/* Sub-Items im Accordion */
.sw-mobilelink--sub { position:relative; display:block; font-family:'Inter',sans-serif; font-size:1.02rem; font-weight:500; color:rgba(255,255,255,.62); padding:.55rem 0 .55rem 1.4rem; letter-spacing:0; line-height:1.35; transition:color .25s ease, transform .25s ease; }
.sw-mobilelink--sub::before { content:''; position:absolute; left:0; top:50%; width:6px; height:6px; border-radius:50%; background:#F5B301; transform:translateY(-50%); opacity:.55; transition:opacity .25s ease, transform .25s ease; }
.sw-mobilelink--sub:hover { color:#fff; transform:translateX(3px); }
.sw-mobilelink--sub:hover::before { opacity:1; transform:translateY(-50%) scale(1.4); }

.sw-mobile-foot { margin-top:2.5rem; padding-top:1.5rem; border-top:1px solid rgba(255,255,255,.08); opacity:0; transform:translateY(14px); transition:opacity .55s ease .55s, transform .55s cubic-bezier(.16,1,.3,1) .55s; }
.sw-mobilemenu.open .sw-mobile-foot { opacity:1; transform:translateY(0); }
.sw-mobile-btns { display:flex; gap:.7rem; margin-bottom:1.3rem; }
.sw-mobile-btn { flex:1; display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:1rem 1rem; border-radius:999px; font-family:'Archivo',sans-serif; font-weight:800; font-size:.92rem; transition:transform .25s ease, box-shadow .25s ease; }
.sw-mobile-btn--primary { background:linear-gradient(180deg,#FFDD66,#F5B301); color:#1A1402; box-shadow:0 14px 32px -12px rgba(245,179,1,.5); }
.sw-mobile-btn--primary:hover { transform:translateY(-2px); }
.sw-mobile-btn--ghost { background:rgba(255,255,255,.06); color:#fff; border:1px solid rgba(255,255,255,.14); }
.sw-mobile-btn--ghost:hover { background:rgba(255,255,255,.1); border-color:rgba(245,179,1,.4); }
.sw-mobile-meta { display:flex; flex-direction:column; gap:.45rem; font-family:'Inter',sans-serif; font-size:12.5px; color:rgba(255,255,255,.55); line-height:1.4; }
.sw-mobile-meta__row { display:flex; align-items:center; gap:.55rem; }
.sw-mobile-meta__row svg { color:#F5B301; flex-shrink:0; }
.sw-nav-cta { align-items:center; gap:.6rem; background:#fff; color:var(--ink); border-radius:999px; padding:.5rem .5rem .5rem 1.4rem; font-family:'Archivo',system-ui,sans-serif; font-weight:700; font-size:16px; line-height:1; transition:transform .25s, box-shadow .25s; }
.sw-nav-cta:hover { transform:translateY(-1px); box-shadow:0 10px 26px -12px rgba(0,0,0,.5); }
.sw-nav-cta i { width:2.05rem; height:2.05rem; border-radius:999px; background:var(--accent); color:#fff; display:flex; align-items:center; justify-content:center; font-style:normal; }

.sw-hero { position:relative; background:#2A2E36; }
.sw-hero__card { position:relative; display:flex; flex-direction:column; overflow:hidden; background:#2A2E36; }
.sw-hero__img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.sw-hero__veil { position:absolute; inset:0; pointer-events:none; }
.sw-hero__veil--v { background:linear-gradient(180deg, rgba(15,18,22,.5) 0%, rgba(15,18,22,.1) 26%, rgba(15,18,22,.4) 64%, rgba(15,18,22,.95) 100%); }
.sw-hero__veil--h { background:linear-gradient(90deg, rgba(15,18,22,.78) 0%, rgba(15,18,22,.18) 46%, rgba(15,18,22,0) 100%); }
.sw-hero__inner { position:relative; z-index:2; flex:1; display:flex; flex-direction:column; justify-content:center; width:100%; max-width:80rem; margin:0 auto; padding:7rem 1.25rem 7rem; }
@media (min-width:768px){ .sw-hero__inner { padding:8rem 2rem 8rem; } }
.sw-hero__title { font-family:'Archivo',system-ui,sans-serif; font-weight:900; line-height:.84; letter-spacing:-.045em; color:#fff; font-size:clamp(2.8rem,11.5vw,9.3rem); text-shadow:0 2px 40px rgba(0,0,0,.35); margin-left:-.85rem; margin-top:3rem; }
.sw-hero__title .accent { color:#F5B301; }
.sw-hero__spacer { flex:0 0 auto; height:clamp(0.75rem,3vh,2rem); }
.sw-hero__bottom { display:grid; grid-template-columns:1fr; gap:2.25rem; align-items:center; }
@media (min-width:1024px){ .sw-hero__bottom { grid-template-columns:1fr auto; gap:3rem; } }
.sw-pill { display:inline-flex; align-items:center; gap:.6rem; padding:.5rem 1rem; border-radius:999px; background:rgba(255,255,255,.1); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.2); }
.sw-pill .t { color:#fff; font-family:'Archivo',system-ui,sans-serif; font-weight:700; font-size:11px; text-transform:uppercase; letter-spacing:.16em; }
.sw-pill .d { width:5px; height:5px; border-radius:999px; background:var(--accent); }
.sw-hero__sub { font-family:'Archivo',system-ui,sans-serif; font-weight:900; color:#fff; font-size:clamp(2.4rem,5.8vw,5rem); line-height:1.06; letter-spacing:-.03em; margin:1rem 0 1rem; text-shadow:0 2px 30px rgba(0,0,0,.35); }
.sw-cta-row { display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; }
.sw-cta { display:inline-flex; align-items:center; gap:.65rem; background:#fff; color:var(--ink); border-radius:999px; padding:.7rem .7rem .7rem 1.85rem; font-family:'Archivo',system-ui,sans-serif; font-weight:800; font-size:1.1rem; transition:transform .25s, box-shadow .25s; }
.sw-cta:hover { transform:translateY(-2px); box-shadow:0 16px 38px -14px rgba(0,0,0,.6); }
.sw-cta__ico { width:2.7rem; height:2.7rem; border-radius:999px; background:var(--accent); color:#fff; display:flex; align-items:center; justify-content:center; }
.sw-cta-ghost { display:inline-flex; align-items:center; gap:.6rem; padding:1.05rem 1.85rem; border-radius:999px; border:1px solid rgba(255,255,255,.4); color:#fff; font-family:'Archivo',system-ui,sans-serif; font-weight:700; font-size:1.1rem; line-height:1; transition:background .25s, border-color .25s, transform .25s; }
.sw-cta-ghost:hover { background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.6); transform:translateY(-2px); }
.sw-cards { display:flex; flex-wrap:wrap; gap:.7rem; align-items:stretch; }
@media (min-width:1024px){ .sw-cards { justify-content:flex-end; } }
.sw-card { background:rgba(22,26,31,.66); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,.13); border-radius:1.1rem; padding:1.05rem 1.2rem; display:flex; flex-direction:column; justify-content:center; min-width:9.2rem; }
.sw-card__b { font-family:'Archivo',system-ui,sans-serif; font-weight:900; color:#fff; font-size:1.9rem; line-height:1; }
.sw-card__s { color:rgba(255,255,255,.6); font-size:12px; font-weight:600; line-height:1.3; margin-top:.4rem; }
.sw-card--img { position:relative; padding:0; overflow:hidden; min-width:10rem; max-width:13rem; }
.sw-card--img img { width:100%; height:100%; object-fit:cover; min-height:8.5rem; }
.sw-neu { position:absolute; top:.55rem; left:.55rem; background:var(--accent); color:#fff; font-family:'Archivo',system-ui,sans-serif; font-weight:700; font-size:10px; text-transform:uppercase; letter-spacing:.08em; padding:.16rem .55rem; border-radius:999px; }
.sw-card__cap { position:absolute; inset-inline:0; bottom:0; padding:.7rem .8rem; background:linear-gradient(to top, rgba(0,0,0,.88), transparent); }
.sw-card__cap b { display:block; color:#fff; font-family:'Archivo',system-ui,sans-serif; font-weight:700; font-size:12.5px; line-height:1.15; }
.sw-card__cap span { display:block; color:rgba(255,255,255,.72); font-size:10.5px; margin-top:.15rem; }
@media (max-width:640px){
  .sw-hero__sub { font-size:1.9rem; }
  .sw-cards { width:100%; }
  .sw-founder { max-width:100%; }
}

/* ─── Inhaber-Karte im Hero (Glas) ─── */
.sw-hero__right { display:flex; flex-direction:column; gap:1rem; align-items:stretch; }
@media (min-width:1024px){ .sw-hero__right { align-items:flex-end; } }
.sw-founder {
  width:100%; max-width:27rem; border-radius:1.6rem; overflow:visible;
  background:rgba(22,26,31,.72); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.14); box-shadow:0 26px 60px -26px rgba(0,0,0,.65);
}
.sw-founder__top {
  position:relative; height:21.5rem; overflow:hidden; display:flex; align-items:flex-end; justify-content:center;
  border-radius:1.5rem 1.5rem 0 0;
  background:radial-gradient(120% 95% at 72% 0%, rgba(var(--accent-rgb),.30), transparent 58%), linear-gradient(180deg,#1c2128,#12151a);
  padding:0 .6rem 0;
}
.sw-founder__top img { max-height:100%; max-width:100%; width:auto; height:auto; object-fit:contain; object-position:center bottom; position:relative; z-index:2; filter:drop-shadow(0 16px 28px rgba(0,0,0,.55)); }
.sw-founder__body { padding:1.05rem 1.25rem 1.2rem; text-align:center; }
.sw-founder__name { font-family:'Archivo',system-ui,sans-serif; font-weight:800; color:#fff; font-size:1.18rem; line-height:1; letter-spacing:-.01em; }
.sw-founder__role { color:rgba(255,255,255,.55); font-size:12.5px; margin-top:.32rem; font-weight:600; }
.sw-founder__stats { display:flex; gap:1.4rem; margin-top:1rem; justify-content:center; }
.sw-founder__stat { text-align:center; }
.sw-founder__stat .n { font-family:'Archivo',system-ui,sans-serif; font-weight:800; color:var(--accent); font-size:1.05rem; line-height:1; }
.sw-founder__stat .l { color:rgba(255,255,255,.5); font-size:10px; text-transform:uppercase; letter-spacing:.05em; margin-top:.34rem; font-weight:600; }
.sw-founder__rev { display:flex; align-items:center; justify-content:center; gap:.55rem; margin-top:1rem; padding-top:.85rem; border-top:1px solid rgba(255,255,255,.1); }
.sw-founder__g { font-family:'Archivo',system-ui,sans-serif; font-weight:800; font-size:1rem; line-height:1; }
.sw-founder__score { color:#fff; font-family:'Archivo',system-ui,sans-serif; font-weight:800; font-size:.95rem; }
.sw-founder__based { color:rgba(255,255,255,.45); font-size:10.5px; }

/* Hero: linke + rechte Spalte vertikal zentriert, rechte Spalte = Karten-Breite */
@media (min-width:1024px){
  .sw-hero__bottom { align-items:center; }
  .sw-hero__right { max-width:27rem; margin-top:6rem; }
  .sw-hero__left { margin-top:0; align-self:center; }
}
.sw-hero__left { align-self:center; }
.sw-hero__left .sw-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:.7rem; width:100%; max-width:36rem; margin-top:1.75rem; }
.sw-hero__left .sw-card { min-width:0; padding:1rem 1rem; }
.sw-hero__left .sw-card__b { font-size:1.55rem; }
.sw-hero__left .sw-card__s { font-size:11px; margin-top:.35rem; }
.sw-hero__left .sw-card--img { min-width:0; max-width:none; height:6.25rem; }
.sw-hero__left .sw-card--img img { min-height:0; height:100%; }

/* Mobile: Inhaber-Karte naeher an die 4 cards + hero kuerzer (nach inhaberkarte schnell zur naechsten section) */
@media (max-width:640px){
  .sw-hero__inner { padding-bottom:2rem !important; }
  .sw-hero__bottom { gap:1.5rem; }
  .sw-hero__right { margin-top:4rem !important; }
  .sw-founder__top { height:19rem; position:relative; padding:0 .5rem 0; align-items:flex-end !important; }
  .sw-founder__top img { max-height:100% !important; max-width:100% !important; width:auto !important; height:auto !important; object-fit:contain !important; object-position:center bottom !important; position:relative !important; bottom:auto !important; left:auto !important; transform:none !important; }
  .sw-founder__body { padding:1.5rem 1.25rem 1.2rem; }
}


/* ===================== Segments (Privat / Gewerbe) - fresh ===================== */
.seg-section { padding-top:4.5rem; padding-bottom:4.5rem; background:#fff; }
@media (min-width:768px){ .seg-section { padding-top:6rem; padding-bottom:6rem; } }
.seg-head { text-align:center; max-width:42rem; margin:0 auto 2.75rem; }
.seg-eyebrow { display:block; color:var(--accent-deep); font-family:'Archivo',system-ui,sans-serif; font-weight:600; text-transform:uppercase; letter-spacing:.16em; font-size:12px; margin-bottom:.6rem; }
.seg-title { font-family:'Archivo',system-ui,sans-serif; font-weight:900; color:var(--ink); font-size:clamp(1.95rem,4.2vw,2.85rem); line-height:1.04; letter-spacing:-.035em; }
.seg-amp { color:var(--accent); font-weight:900; }
.seg-grid { display:grid; grid-template-columns:1fr; gap:1.5rem; }
@media (min-width:768px){ .seg-grid { grid-template-columns:1fr 1fr; gap:1.75rem; } }
.seg-card { position:relative; background:#fff; border:1px solid rgba(20,23,28,.08); border-radius:22px; overflow:hidden; display:flex; flex-direction:column; box-shadow:0 4px 20px -14px rgba(20,23,28,.3); transition:transform .45s cubic-bezier(.16,1,.3,1), box-shadow .45s ease, border-color .45s ease, opacity .45s ease, filter .45s ease; will-change:transform; }
.seg-card__media { position:relative; height:200px; overflow:hidden; }
.seg-card__img { width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .7s cubic-bezier(.16,1,.3,1); }
.seg-card__icon { position:absolute; left:1.5rem; top:1.5rem; width:2.9rem; height:2.9rem; border-radius:14px; background:var(--accent); color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:0 12px 26px -8px rgba(var(--accent-rgb),.6); transition:transform .45s cubic-bezier(.16,1,.3,1); z-index:2; }
.seg-card__body { padding:1.75rem; flex:1; display:flex; flex-direction:column; }
.seg-card__title { font-family:'Archivo',system-ui,sans-serif; font-weight:700; color:var(--ink); font-size:1.4rem; margin-bottom:.55rem; letter-spacing:-.01em; }
.seg-card__desc { color:var(--body); font-size:14.5px; line-height:1.6; margin-bottom:1.05rem; }
.seg-card__list { display:flex; flex-direction:column; gap:.6rem; margin-bottom:1.4rem; }
.seg-card__li { display:flex; align-items:flex-start; gap:.6rem; color:var(--ink); font-size:14.5px; font-weight:500; }
.seg-card__check { color:var(--accent-deep); margin-top:.08rem; flex-shrink:0; display:inline-flex; }
.seg-card__link { margin-top:auto; display:inline-flex; align-items:center; gap:.5rem; color:var(--accent-deep); font-family:'Archivo',system-ui,sans-serif; font-weight:700; font-size:14.5px; transition:gap .3s ease; }
.seg-card__link svg { transition:transform .3s ease; }
.seg-card:hover { transform:translateY(-10px) scale(1.015); box-shadow:0 32px 64px -28px rgba(20,23,28,.45); border-color:rgba(var(--accent-rgb),.55); }
.seg-card:hover .seg-card__img { transform:scale(1.07); }
.seg-card:hover .seg-card__icon { transform:translateY(-4px) scale(1.06); }
.seg-card:hover .seg-card__link { gap:.85rem; }
.seg-card:hover .seg-card__link svg { transform:translateX(3px); }
.seg-grid:hover .seg-card:not(:hover) { opacity:.55; transform:scale(.97); filter:saturate(.82); }
@media (max-width:767px){ .seg-grid:hover .seg-card:not(:hover) { opacity:1; transform:none; filter:none; } }

/* ===================== Spotlight-Hover (Focus & Dim) - reusable ===================== */
.spot-item { position:relative; }
.spot .spot-item { transition:transform .45s cubic-bezier(.16,1,.3,1), box-shadow .45s ease, opacity .45s ease, filter .45s ease !important; }
.spot-item img { transition:transform .7s cubic-bezier(.16,1,.3,1); }
.spot-item:hover { transform:translateY(-6px) scale(1.02); box-shadow:0 30px 60px -32px rgba(20,23,28,.4); z-index:3; }
.spot-item:hover img { transform:scale(1.04); }
.spot:hover .spot-item:not(:hover) { opacity:.78; transform:scale(.985); filter:saturate(.9) brightness(.97); }
@media (max-width:767px){ .spot:hover .spot-item:not(:hover) { opacity:1; transform:none; filter:none; } }

/* ===================== About-Textblock im Rahmen ===================== */
.sw-frame { border:1px solid rgba(20,23,28,.12); border-radius:26px; padding:2rem; background:#fff; box-shadow:0 24px 60px -38px rgba(20,23,28,.4); }
@media (min-width:768px){ .sw-frame { padding:2.75rem; } }

/* ===================== About: Bild + Rahmen gleiche Höhe ===================== */
.about-grid { align-items:start; }
@media (min-width:1024px){
  .about-grid { align-items:stretch; }
  .about-grid .reveal-left { height:100%; }
  .about-grid .about-media { height:100%; }
  .about-grid .about-media img { height:100% !important; }
}

/* ===================== About-Rahmen kompakter ===================== */
.sw-frame { padding:1.6rem 1.75rem; }
@media (min-width:768px){ .sw-frame { padding:1.9rem 2.1rem; } }
.sw-frame h2 { font-size:1.75rem !important; line-height:1.15 !important; margin-bottom:.75rem !important; }
.sw-frame .space-y-4 p { font-size:14px !important; line-height:1.55 !important; }
.sw-frame .mt-7 { margin-top:1.05rem !important; }
.sw-frame .grid.grid-cols-3 .text-2xl { font-size:1.55rem !important; }


/* === Kontakt linke Spalte === */
.sw-kontakt-chip { display:inline-flex; align-items:center; gap:.5rem; padding:.42rem .9rem .42rem .72rem; border-radius:999px; background:rgba(245,179,1,.13); border:1px solid rgba(245,179,1,.4); color:#8A5E00; font-family:'Archivo',system-ui,sans-serif; font-weight:800; font-size:11px; letter-spacing:.18em; text-transform:uppercase; }
.sw-cdot { width:7px; height:7px; border-radius:50%; background:var(--accent); animation:sw-dot-pulse 1.8s ease-in-out infinite; }
@keyframes sw-dot-pulse { 0%{ box-shadow:0 0 0 0 rgba(245,179,1,.55);} 70%{ box-shadow:0 0 0 8px rgba(245,179,1,0);} 100%{ box-shadow:0 0 0 0 rgba(245,179,1,0);} }

.sw-contact-wrap { display:flex; align-items:center; gap:1.5rem; }
.sw-contact-cards { display:flex; flex-direction:column; gap:.85rem; flex:1; min-width:0; }
.sw-contact-card { display:flex; align-items:center; gap:1rem; padding:.95rem 1.05rem; border-radius:16px; background:#fff; border:1px solid rgba(20,23,28,.08); box-shadow:0 12px 30px -24px rgba(20,23,28,.5); transition:transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s ease, border-color .35s ease; }
.sw-contact-card:hover { transform:translateY(-3px); border-color:rgba(245,179,1,.55); box-shadow:0 22px 42px -26px rgba(245,179,1,.55); }
.sw-contact-ico { width:46px; height:46px; border-radius:13px; background:linear-gradient(145deg,#FFD45A 0%,#F5B301 100%); color:#1C1604; display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 8px 16px -7px rgba(245,179,1,.75); }
.sw-contact-label { display:block; color:#8A929C; font-size:11px; text-transform:uppercase; letter-spacing:.08em; font-weight:600; margin-bottom:1px; }
.sw-contact-value { display:block; color:#14171C; font-family:'Archivo',system-ui,sans-serif; font-weight:800; font-size:16px; line-height:1.2; transition:color .25s; }
.sw-contact-card:hover .sw-contact-value { color:var(--accent-deep); }
.sw-contact-go { margin-left:auto; color:#C9CDD3; display:flex; align-items:center; transition:transform .35s cubic-bezier(.16,1,.3,1), color .35s ease; }
.sw-contact-card:hover .sw-contact-go { color:var(--accent); transform:translateX(4px); }

.sw-contact-arrow { display:none; flex-direction:column; align-items:center; gap:.4rem; flex-shrink:0; }
.sw-contact-arrow-label { font-family:'Archivo',system-ui,sans-serif; font-weight:800; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--accent-deep); }
.sw-contact-arrow-svg { animation:sw-arrow-nudge 1.3s ease-in-out infinite; filter:drop-shadow(0 4px 8px rgba(245,179,1,.45)); }
@keyframes sw-arrow-nudge { 0%,100%{ transform:translateX(0);} 50%{ transform:translateX(12px);} }
@media (min-width:1024px) { .sw-contact-arrow { display:flex; } }
@media (prefers-reduced-motion: reduce) { .sw-cdot, .sw-contact-arrow-svg { animation:none !important; } }


/* === Anfrage Foto-Kacheln === */
.sw-qtile { position:relative; min-height:112px; border-radius:17px; overflow:hidden; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; padding:11px 9px 13px; cursor:pointer; isolation:isolate; background-size:cover; background-position:center; box-shadow:0 12px 28px -18px rgba(20,16,2,.55); transition:transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s ease; }
.sw-qtile::before { content:""; position:absolute; inset:-10%; background-image:inherit; background-size:cover; background-position:center; filter:blur(1.1px) saturate(1.08); transform:scale(1.06); z-index:-2; }
.sw-qtile::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(20,16,2,0.02) 0%,rgba(20,16,2,0.22) 50%,rgba(20,16,2,0.72) 100%); z-index:-1; transition:background .3s ease; }
.sw-qtile-ic { color:#fff; margin-bottom:5px; display:flex; }
.sw-qtile-ic svg { width:22px; height:22px; filter:drop-shadow(0 2px 7px rgba(0,0,0,.55)); }
.sw-qtile-lb { color:#fff; font-family:'Archivo',system-ui,sans-serif; font-weight:700; font-size:13px; text-align:center; line-height:1.15; letter-spacing:-.01em; text-shadow:0 1px 10px rgba(0,0,0,.6); }
.sw-qtile:hover { transform:translateY(-5px); box-shadow:0 26px 46px -22px rgba(20,16,2,.7); }
.sw-qtile:hover::before { transform:scale(1.13); }
.sw-qtile-active { outline:3px solid var(--accent); outline-offset:-3px; }
.sw-qtile-active::after { background:linear-gradient(180deg,rgba(245,179,1,0.18) 0%,rgba(20,16,2,0.45) 50%,rgba(20,16,2,0.85) 100%); }
.sw-qtile-active .sw-qtile-ic { color:var(--accent); }

.sw-qtile-wide { border-radius:16px; border:1px dashed rgba(20,23,28,.22); background:#fff; padding:15px; text-align:center; font-family:'Archivo',system-ui,sans-serif; font-weight:600; font-size:14px; color:#525A64; cursor:pointer; transition:border-color .25s ease, color .25s ease, background .25s ease; }
.sw-qtile-wide:hover { border-color:var(--accent); color:var(--accent-deep); }
.sw-qtile-wide.sw-qtile-active { border-style:solid; border-color:var(--accent); color:var(--accent-deep); background:rgba(245,179,1,.08); outline:none; }
@media (prefers-reduced-motion: reduce){ .sw-qtile, .sw-qtile::before { transition:none !important; } }


/* === Anfrage Erfolg-Animation === */
.sw-success-badge { position:relative; width:96px; height:96px; margin:0 auto 22px; }
.sw-suc-ring { position:absolute; inset:0; border-radius:50%; background:radial-gradient(circle, rgba(245,179,1,.4), rgba(245,179,1,0) 70%); animation:sw-suc-ring 1.9s ease-out infinite; }
@keyframes sw-suc-ring { 0%{transform:scale(.55);opacity:.75} 70%{opacity:0} 100%{transform:scale(1.7);opacity:0} }
.sw-suc-disc { position:absolute; inset:14px; border-radius:50%; background:linear-gradient(145deg,#FFD45A,#F5B301); display:flex; align-items:center; justify-content:center; box-shadow:0 16px 32px -10px rgba(245,179,1,.75); animation:sw-suc-pop .6s cubic-bezier(.34,1.56,.64,1) both; }
@keyframes sw-suc-pop { 0%{transform:scale(0) rotate(-25deg)} 100%{transform:scale(1) rotate(0)} }
.sw-check-svg path { stroke-dasharray:30; stroke-dashoffset:30; animation:sw-check-draw .45s .35s ease forwards; }
@keyframes sw-check-draw { to{ stroke-dashoffset:0 } }
.sw-suc-rise { opacity:0; transform:translateY(14px); animation:sw-suc-rise .55s ease forwards; }
@keyframes sw-suc-rise { to{ opacity:1; transform:none } }
.sw-confetti { position:absolute; top:48px; left:50%; width:0; height:0; pointer-events:none; }
.sw-confetti i { position:absolute; width:9px; height:9px; border-radius:2px; opacity:0; animation:sw-conf 1.05s ease-out forwards; }
@keyframes sw-conf { 0%{opacity:1; transform:translate(0,0) rotate(0) scale(1)} 100%{opacity:0; transform:translate(var(--x),var(--y)) rotate(var(--r)) scale(.35)} }
@media (prefers-reduced-motion: reduce){ .sw-suc-ring,.sw-confetti i,.sw-check-svg path,.sw-suc-disc,.sw-suc-rise{ animation:none !important; opacity:1 !important; transform:none !important; stroke-dashoffset:0 !important } }


/* === Glas-Chip (helle Sections) === */
.sw-glass-chip { display:inline-flex; align-items:center; gap:.5rem; padding:.42rem .9rem .42rem .72rem; border-radius:999px; background:rgba(245,179,1,.10); border:1px solid rgba(245,179,1,.38); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); color:#8A5E00; font-family:'Archivo',system-ui,sans-serif; font-weight:800; font-size:11px; letter-spacing:.16em; text-transform:uppercase; box-shadow:0 6px 18px -10px rgba(245,179,1,.5); }


/* FAQ – normale Section, kein Sticky/100vh-Scroll mehr */
.faq-left { padding-left: 0; }


/* ─── Lead-Quiz „Antwort-Karussell" ─────────────────────── */
.lq-card { position:relative; max-width:none; margin:0; border-radius:0; overflow:hidden; border:0; border-bottom:0; background:#2A2E36; }
.lq-grid { display:grid; grid-template-columns:380px 1fr; min-height:0; }
@media (max-width:1023px){ .lq-grid { grid-template-columns:1fr; min-height:0; } }

.lq-rail { position:relative; overflow:hidden; background:#23272F; color:#fff; padding:2.4rem 2rem 2rem; display:flex; flex-direction:column; }
.lq-rail::before { content:""; position:absolute; top:-10%; left:-25%; width:80%; height:42%; pointer-events:none; background:radial-gradient(ellipse, rgba(245,179,1,0.22) 0%, transparent 70%); }
@media (max-width:1023px){ .lq-rail { display:none; } }
.lq-logo { font-family:'Archivo',sans-serif; font-weight:900; font-size:1.7rem; letter-spacing:-0.02em; margin-bottom:1.6rem; position:relative; z-index:1; }
.lq-steps { display:flex; flex-direction:column; position:relative; z-index:1; margin-bottom:1.4rem; }
.lq-step { display:flex; align-items:center; gap:1.05rem; padding:0.95rem 0; position:relative; font-family:'Archivo',sans-serif; font-weight:600; font-size:19px; color:rgba(255,255,255,0.5); transition:color .3s ease; }
.lq-step:not(:last-child)::after { content:""; position:absolute; left:19px; top:52px; bottom:-20px; width:2px; background:rgba(255,255,255,0.1); }
.lq-step.is-done:not(:last-child)::after { background:rgba(245,179,1,0.4); }
.lq-step.is-active { color:#fff; }
.lq-step.is-done { color:rgba(255,255,255,0.78); }
.lq-step__dot { width:40px; height:40px; border-radius:50%; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:16px; font-weight:700; border:1.5px solid rgba(255,255,255,0.2); color:rgba(255,255,255,0.5); background:#23272F; position:relative; z-index:1; transition:all .3s cubic-bezier(.16,1,.3,1); }
.lq-step.is-active .lq-step__dot { background:#F5B301; border-color:#F5B301; color:#1A1402; box-shadow:0 0 0 5px rgba(245,179,1,0.16); }
.lq-step.is-done .lq-step__dot { background:rgba(245,179,1,0.16); border-color:rgba(245,179,1,0.55); color:#F5B301; }
.lq-google { margin-top:auto; display:flex; align-items:center; gap:0.9rem; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.1); border-radius:16px; padding:1.05rem 1.2rem; position:relative; z-index:1; }
.lq-gicon { width:44px; height:44px; border-radius:11px; background:#fff; color:#4285F4; font-family:'Archivo',sans-serif; font-weight:900; font-size:24px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }

.lq-main { padding:2.4rem 1.6rem; display:flex; flex-direction:column; justify-content:center; }
@media (min-width:768px){ .lq-main { padding:3rem 3.4rem; } }
@media (min-width:1280px){ .lq-main { padding:3.4rem 4.5rem; } }
.lq-badge { align-self:flex-start; display:inline-block; background:rgba(245,179,1,0.16); color:#F5B301; font-family:'Archivo',sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:0.12em; font-size:11px; padding:0.45rem 0.85rem; border-radius:999px; margin-bottom:1rem; }
.lq-mobprog { display:none; }
@media (max-width:1023px){ .lq-mobprog { display:block; height:5px; border-radius:999px; background:rgba(255,255,255,0.14); overflow:hidden; margin:0 0 1.1rem; } .lq-mobprog > span { display:block; height:100%; background:#F5B301; transition:width .4s cubic-bezier(.16,1,.3,1); } }
.lq-q2 { font-size:clamp(1.9rem,3.6vw,3rem); line-height:1.02; letter-spacing:-0.025em; color:#ffffff; margin:0; }
.lq-sub { color:rgba(255,255,255,0.5); font-size:15px; margin:0.7rem 0 1.5rem; max-width:34rem; }

.lq-card2 { display:grid; grid-template-columns:230px 1fr; background:linear-gradient(180deg,#343A43 0%,#2C313A 100%); border:1px solid rgba(255,255,255,0.09); border-radius:24px; overflow:hidden; box-shadow:0 34px 76px -38px rgba(0,0,0,0.8), inset 0 1px 0 rgba(255,255,255,0.06); animation:lqUp .45s cubic-bezier(.16,1,.3,1) both; }
@media (max-width:680px){ .lq-card2 { grid-template-columns:1fr; } }
.lq-num { position:relative; overflow:hidden; padding:1.6rem; display:flex; flex-direction:column; justify-content:space-between; min-height:236px; background:linear-gradient(150deg,#FFD45A 0%,#F5B301 58%,#E3A200 100%); }
.lq-num::before { content:""; position:absolute; top:-28%; right:-22%; width:72%; height:68%; border-radius:50%; background:rgba(255,255,255,0.22); }
.lq-num__ico { width:54px; height:54px; border-radius:14px; background:rgba(26,20,2,0.14); color:#1A1402; display:flex; align-items:center; justify-content:center; position:relative; z-index:1; }
.lq-num__big { position:relative; z-index:1; line-height:0.85; }
.lq-num__n { display:block; font-family:'Archivo',sans-serif; font-weight:900; font-size:4.6rem; color:#1A1402; letter-spacing:-0.04em; }
.lq-num__of { font-family:'Archivo',sans-serif; font-weight:700; font-size:12px; color:rgba(26,20,2,0.55); text-transform:uppercase; letter-spacing:0.1em; }
.lq-ans { padding:1.8rem 1.9rem; animation:lqUp .35s cubic-bezier(.16,1,.3,1) both; }
.lq-ihr { display:block; font-family:'Archivo',sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:0.13em; font-size:11px; color:#F5B301; margin-bottom:0.4rem; }
.lq-ans__t { font-weight:800; font-size:clamp(1.5rem,2.4vw,2rem); color:#ffffff; letter-spacing:-0.02em; line-height:1.1; margin:0 0 0.6rem; }
.lq-ans__d { color:rgba(255,255,255,0.6); font-size:14.5px; line-height:1.6; margin:0 0 1.2rem; max-width:30rem; }
.lq-checks { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:0.55rem; }
.lq-checks li { display:flex; align-items:center; gap:0.6rem; font-family:'Archivo',sans-serif; font-weight:600; font-size:14px; color:rgba(255,255,255,0.9); }
.lq-chk { width:22px; height:22px; border-radius:50%; background:#F5B301; color:#1A1402; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }

.lq-card2--input { display:block; padding:2.2rem 2.2rem 2.4rem; }
.lq-inputwrap { max-width:30rem; }
.lq-plz { width:100%; font-family:'Archivo',sans-serif; font-weight:800; font-size:2.4rem; letter-spacing:0.25em; text-align:center; color:#ffffff; background:rgba(255,255,255,0.05); border:1.5px solid rgba(255,255,255,0.12); border-radius:16px; padding:0.9rem 1rem; }
.lq-plz:focus { outline:none; border-color:#F5B301; box-shadow:0 0 0 4px rgba(245,179,1,0.16); }
.lq-plz::placeholder { color:rgba(255,255,255,0.22); }
.lq-fields { display:flex; flex-direction:column; gap:0.7rem; }
.lq-fld { width:100%; font-size:15px; color:#ffffff; background:rgba(255,255,255,0.05); border:1.5px solid rgba(255,255,255,0.12); border-radius:13px; padding:0.85rem 1rem; }
.lq-fld:focus { outline:none; border-color:#F5B301; box-shadow:0 0 0 4px rgba(245,179,1,0.16); }
.lq-fld::placeholder { color:rgba(255,255,255,0.4); }
.lq-inputhint { color:rgba(255,255,255,0.5); font-size:13px; margin:0.9rem 0 0; }

.lq-optnav { display:grid; grid-template-columns:1fr 1fr; gap:0.8rem; margin-top:1rem; }
@media (max-width:560px){ .lq-optnav { grid-template-columns:1fr; } }
.lq-optbtn { display:flex; align-items:center; gap:0.6rem; background:rgba(255,255,255,0.045); border:1px solid rgba(255,255,255,0.1); border-radius:14px; padding:0.95rem 1.1rem; cursor:pointer; color:#fff; min-width:0; transition:border-color .25s ease, background .25s ease, transform .25s ease; }
.lq-optbtn:hover { border-color:rgba(245,179,1,0.6); background:rgba(255,255,255,0.08); transform:translateY(-1px); }
.lq-optbtn--r { justify-content:flex-end; text-align:right; }
.lq-optbtn__k { font-family:'Archivo',sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; font-size:10.5px; color:rgba(255,255,255,0.45); flex-shrink:0; }
.lq-optbtn__v { font-family:'Archivo',sans-serif; font-weight:700; font-size:14px; color:#fff; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

.lq-bottom { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1.7rem; flex-wrap:wrap; }
.lq-trust2 { display:flex; align-items:center; gap:0.5rem; color:rgba(255,255,255,0.62); font-size:13.5px; }
.lq-tchk { width:20px; height:20px; border-radius:50%; background:rgba(22,163,74,0.14); color:#16A34A; display:inline-flex; align-items:center; justify-content:center; }
.lq-back2 { background:none; border:0; cursor:pointer; color:rgba(255,255,255,0.55); font-family:'Archivo',sans-serif; font-weight:600; font-size:14px; padding:0.5rem; }
.lq-back2:hover { color:#fff; }
.lq-cta { display:inline-flex; align-items:center; gap:0.7rem; background:#F5B301; color:#1A1402; font-family:'Archivo',sans-serif; font-weight:800; font-size:15.5px; border:0; border-radius:999px; padding:0.7rem 0.7rem 0.7rem 1.5rem; cursor:pointer; box-shadow:0 16px 30px -12px rgba(245,179,1,0.75); transition:transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s ease, opacity .3s ease; }
.lq-cta:hover { transform:translateY(-2px); box-shadow:0 22px 40px -12px rgba(245,179,1,0.9); }
.lq-cta__a { width:36px; height:36px; border-radius:50%; background:#1A1402; color:#F5B301; display:inline-flex; align-items:center; justify-content:center; }
.lq-cta.is-off { opacity:0.4; pointer-events:none; box-shadow:none; }

.lq-main.lq-done { align-items:center; text-align:center; justify-content:center; }
.lq-donedisc { width:80px; height:80px; border-radius:50%; background:#F5B301; color:#1A1402; display:flex; align-items:center; justify-content:center; margin-bottom:1.4rem; box-shadow:0 18px 40px -14px rgba(245,179,1,0.7); }
.lq-summary { width:100%; max-width:30rem; display:flex; flex-direction:column; gap:0.5rem; }
.lq-srow { display:flex; justify-content:space-between; gap:1rem; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.08); border-radius:12px; padding:0.7rem 1rem; }
.lq-sk { font-family:'Archivo',sans-serif; font-weight:600; font-size:12.5px; color:rgba(255,255,255,0.45); text-transform:uppercase; letter-spacing:0.06em; }
.lq-sv { font-family:'Archivo',sans-serif; font-weight:700; font-size:14px; color:#fff; text-align:right; }

@keyframes lqUp { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion: reduce){ .lq-card2, .lq-ans, .lq-cta, .lq-optbtn { animation:none !important; transition:none !important; } .lq-cta:hover, .lq-optbtn:hover { transform:none; } }

/* === Hero Rework === */
.hero-kw { display: inline; color: #F5B301; background: none; border: none; box-shadow: none; padding: 0; }
@keyframes heroKwGlow {
  0%, 100% { box-shadow: 0 14px 40px -16px rgba(245,179,1,.45), inset 0 2px 0 rgba(255,255,255,.4); }
  50% { box-shadow: 0 22px 58px -12px rgba(245,179,1,.72), inset 0 2px 0 rgba(255,255,255,.5); }
}
.sw-hero__lead { font-family: 'Inter', system-ui, sans-serif; font-weight: 500; color: rgba(255,255,255,.85); font-size: clamp(1.05rem, 1.4vw, 1.22rem); line-height: 1.55; max-width: 36rem; margin: 0 0 1.8rem; text-shadow: 0 1px 14px rgba(0,0,0,.45); }
.hero-services { display: grid; grid-template-columns: repeat(2, 1fr); gap: .55rem; width: 100%; max-width: 32rem; margin-top: 1.4rem; }
@media (min-width: 560px) { .hero-services { grid-template-columns: repeat(4, 1fr); } }
.hero-srv { display: flex; flex-direction: column; align-items: flex-start; gap: .6rem; padding: .95rem 1rem 1rem; border-radius: 1rem; background: rgba(22,26,31,.55); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid rgba(255,255,255,.12); box-shadow: 0 18px 40px -28px rgba(0,0,0,.7); transition: transform .35s cubic-bezier(.16,1,.3,1), border-color .35s ease, box-shadow .35s ease, background .35s ease; }
.hero-srv:hover { transform: translateY(-5px); border-color: rgba(245,179,1,.5); background: rgba(28,33,40,.72); box-shadow: 0 26px 52px -24px rgba(245,179,1,.4); }
.hero-srv__ic { width: 42px; height: 42px; border-radius: 12px; display: flex; align-items: center; justify-content: center; color: #1A1402; background: linear-gradient(145deg,#FFD45A,#F5B301); box-shadow: 0 8px 18px -8px rgba(245,179,1,.6); transition: transform .35s cubic-bezier(.34,1.56,.64,1); }
.hero-srv__ic svg { width: 19px; height: 19px; }
.hero-srv:hover .hero-srv__ic { transform: rotate(-6deg) scale(1.06); }
.hero-srv__t { font-family: 'Archivo', system-ui, sans-serif; font-weight: 700; font-size: 14.5px; color: #fff; letter-spacing: -.01em; }
@media (prefers-reduced-motion: reduce) { .hero-kw, .hero-srv, .hero-srv__ic { animation: none !important; transition: none !important; } }


/* === Hero Buttons fresh === */
.sw-cta { position: relative; overflow: hidden; background: linear-gradient(180deg,#ffffff,#f1efe7); box-shadow: 0 12px 30px -14px rgba(0,0,0,.55); transition: transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s ease; }
.sw-cta::after { content: ""; position: absolute; top: 0; left: -130%; width: 55%; height: 100%; background: linear-gradient(100deg, transparent, rgba(255,255,255,.9), transparent); transform: skewX(-18deg); transition: left .6s cubic-bezier(.16,1,.3,1); pointer-events: none; }
.sw-cta:hover { transform: translateY(-3px) scale(1.01); box-shadow: 0 24px 50px -16px rgba(245,179,1,.55), 0 0 0 1px rgba(245,179,1,.3); }
.sw-cta:hover::after { left: 150%; }
.sw-cta__ico { transition: transform .4s cubic-bezier(.34,1.56,.64,1), box-shadow .3s ease; }
.sw-cta:hover .sw-cta__ico { transform: translateX(4px); box-shadow: 0 0 0 8px rgba(245,179,1,.12); }

.sw-cta-ghost { position: relative; overflow: hidden; z-index: 0; background: rgba(255,255,255,.06); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); transition: color .35s ease, border-color .35s ease, transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s ease; }
.sw-cta-ghost::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg,#FFD45A,#F5B301); transform: translateY(101%); transition: transform .42s cubic-bezier(.16,1,.3,1); }
.sw-cta-ghost:hover { color: #1A1402; border-color: transparent; transform: translateY(-3px); box-shadow: 0 20px 44px -16px rgba(245,179,1,.6); }
.sw-cta-ghost:hover::before { transform: translateY(0); }
.sw-cta-ghost svg { transition: transform .35s ease; }
.sw-cta-ghost:hover svg { animation: ctaRing .6s ease; }
@keyframes ctaRing { 0%,100% { transform: rotate(0); } 20% { transform: rotate(-14deg); } 40% { transform: rotate(11deg); } 60% { transform: rotate(-7deg); } 80% { transform: rotate(4deg); } }
@media (prefers-reduced-motion: reduce) { .sw-cta::after, .sw-cta-ghost::before, .sw-cta-ghost:hover svg, .sw-cta__ico, .sw-cta:hover .sw-cta__ico { transition: none !important; animation: none !important; } }


/* ─── Danke-Screen Animation + Anrede ───────────────────── */
.lq-done { position:relative; overflow:hidden; }
.lq-donedisc { position:relative; animation:lqPop .6s cubic-bezier(.34,1.56,.64,1) both; }
.lq-donedisc::before { content:""; position:absolute; inset:-9px; border-radius:50%; border:2px solid rgba(245,179,1,0.55); animation:lqRing 1s ease-out .15s both; }
.lq-donedisc::after { content:""; position:absolute; inset:-48px; border-radius:50%; z-index:-1; background:radial-gradient(circle, rgba(245,179,1,0.3), transparent 65%); animation:lqGlow 1.4s ease-out both; }
@keyframes lqPop { 0%{transform:scale(.3);opacity:0} 55%{transform:scale(1.12)} 100%{transform:scale(1);opacity:1} }
@keyframes lqRing { 0%{transform:scale(.65);opacity:.85} 100%{transform:scale(2);opacity:0} }
@keyframes lqGlow { 0%{transform:scale(.4);opacity:0} 45%{opacity:1} 100%{transform:scale(1.5);opacity:.55} }
.lq-d-h { animation:lqRise .6s cubic-bezier(.16,1,.3,1) .25s both; }
.lq-d-p { animation:lqRise .6s cubic-bezier(.16,1,.3,1) .4s both; }
.lq-done .lq-summary { animation:lqRise .6s cubic-bezier(.16,1,.3,1) .5s both; }
.lq-done .lq-srow { animation:lqRise .5s cubic-bezier(.16,1,.3,1) both; }
@keyframes lqRise { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:translateY(0)} }
.lq-confetti { position:absolute; inset:0; pointer-events:none; z-index:2; }
.lq-confetti span { position:absolute; top:-14px; border-radius:2px; opacity:0; animation:lqFall 2.8s cubic-bezier(.4,0,.7,1) forwards; }
@keyframes lqFall { 0%{opacity:0; transform:translateY(-14px) rotate(0)} 12%{opacity:1} 100%{opacity:0; transform:translateY(460px) rotate(560deg)} }
.lq-anrede { display:flex; gap:0.6rem; margin-bottom:0.8rem; }
.lq-anbtn { flex:1; padding:0.7rem 1rem; border-radius:12px; border:1.5px solid rgba(255,255,255,0.12); background:rgba(255,255,255,0.04); color:rgba(255,255,255,0.75); font-family:'Archivo',sans-serif; font-weight:700; font-size:14.5px; cursor:pointer; transition:all .25s cubic-bezier(.16,1,.3,1); }
.lq-anbtn:hover { border-color:rgba(245,179,1,0.5); }
.lq-anbtn.is-on { background:#F5B301; border-color:#F5B301; color:#1A1402; }
@media (prefers-reduced-motion: reduce){
  .lq-donedisc, .lq-donedisc::before, .lq-donedisc::after, .lq-d-h, .lq-d-p, .lq-done .lq-summary, .lq-done .lq-srow { animation:none !important; opacity:1 !important; transform:none !important; }
  .lq-confetti { display:none; }
}


/* ─── Ratgeber-Karten Effekte ───────────────────────────── */
#ratgeber::before { content:""; position:absolute; top:-8%; right:-4%; width:46%; height:62%; pointer-events:none; background:radial-gradient(ellipse, rgba(245,179,1,0.13) 0%, transparent 64%); z-index:0; }
#ratgeber > div { position:relative; z-index:1; }
.rg-card { display:flex; text-decoration:none; }
.rg-inner { flex:1; display:flex; flex-direction:column; background:#fff; border:1px solid rgba(20,23,28,0.06); border-radius:22px; overflow:hidden; box-shadow:0 18px 44px -30px rgba(20,23,28,0.35); transition:transform .4s cubic-bezier(.16,1,.3,1), box-shadow .4s ease, border-color .4s ease; }
.rg-card:hover .rg-inner { transform:translateY(-8px); border-color:rgba(245,179,1,0.55); box-shadow:0 34px 66px -28px rgba(20,23,28,0.42); }
.rg-imgwrap { position:relative; height:200px; overflow:hidden; flex-shrink:0; }
.rg-img { width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.16,1,.3,1); }
.rg-card:hover .rg-img { transform:scale(1.08); }
.rg-shade { position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg, rgba(20,23,28,0.16) 0%, transparent 32%, transparent 62%, rgba(20,23,28,0.42) 100%); }
.rg-cat { position:absolute; top:14px; left:14px; background:#F5B301; color:#1A1402; font-family:'Archivo',sans-serif; font-weight:800; text-transform:uppercase; letter-spacing:0.06em; font-size:10.5px; padding:0.38rem 0.75rem; border-radius:999px; box-shadow:0 8px 18px -8px rgba(245,179,1,0.8); }
.rg-go { position:absolute; top:12px; right:12px; width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,0.95); color:#14171C; display:flex; align-items:center; justify-content:center; opacity:0; transform:translateY(-8px) scale(0.7) rotate(-25deg); transition:all .45s cubic-bezier(.34,1.56,.64,1); box-shadow:0 10px 24px -8px rgba(0,0,0,0.45); }
.rg-card:hover .rg-go { opacity:1; transform:translateY(0) scale(1) rotate(0); background:#F5B301; }
.rg-body { padding:1.5rem 1.5rem 1.6rem; display:flex; flex-direction:column; flex:1; }
.rg-title { font-weight:800; font-size:1.18rem; color:#14171C; line-height:1.25; letter-spacing:-0.01em; transition:color .3s ease; margin:0; }
.rg-card:hover .rg-title { color:#C8910C; }
.rg-text { color:#525A64; font-size:14.5px; line-height:1.6; margin:0.5rem 0 0; flex:1; }
.rg-more { margin-top:1rem; color:#C8910C; display:inline-flex; align-items:center; gap:0.45rem; font-weight:700; font-size:14px; }
.rg-arr { display:inline-flex; transition:transform .3s cubic-bezier(.16,1,.3,1); }
.rg-card:hover .rg-arr { transform:translateX(6px); }
@media (prefers-reduced-motion: reduce){ .rg-inner, .rg-img, .rg-go, .rg-arr { transition:none !important; } .rg-card:hover .rg-inner, .rg-card:hover .rg-img, .rg-card:hover .rg-go, .rg-card:hover .rg-arr { transform:none !important; } .rg-go { opacity:1; } }


/* ─── Mobile-Hero-Optimierung ───────────────────────────── */
@media (max-width: 767px) {
  .sw-navlogo { height: 46px; }                                  /* Logo kleiner */
  .sw-navwrap { padding-top: 12px; }                             /* Logo etwas höher */
  .sw-hero__sub { font-size: 2.3rem; text-align: left; }         /* Headline größer, linksbündig */
  .sw-cta { font-size: 1rem; padding: .5rem .5rem .5rem 1.7rem; }      /* weißer Button etwas kleiner */
  .sw-cta__ico { width: 2.55rem; height: 2.55rem; }
  .sw-cta-ghost { font-size: .9rem; padding: .72rem 1.35rem; }         /* Anrufen kleiner als der weiße */
  .sw-hero__right { margin-top: 2.75rem; }                       /* Inhaber-Karte runter -> Kopf berührt die Widgets nicht */
}


/* === Anfrage-Rechner hell === */
.nq-section { background:#FBF6E9; padding:3.5rem 1.25rem 4rem; }
@media (min-width:768px){ .nq-section { padding:4.5rem 1.5rem 5rem; } }
.nq-wrap { max-width:680px; margin:0 auto; }
.nq-head { text-align:center; margin-bottom:1.5rem; }
.nq-eyebrow { display:inline-flex; align-items:center; gap:.5rem; font-family:'Archivo',sans-serif; font-weight:800; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--accent-deep); margin-bottom:.7rem; }
.nq-dot { width:7px; height:7px; border-radius:50%; background:var(--accent); }
.nq-title { font-weight:900; color:var(--ink); font-size:clamp(1.7rem,4vw,2.5rem); line-height:1.08; letter-spacing:-.02em; margin:0 0 .7rem; }
.nq-title span { color:var(--accent); }
.nq-lead { color:var(--body); font-size:1rem; line-height:1.55; max-width:26rem; margin:0 auto; }
.nq-card { background:#fff; border:1px solid rgba(20,23,28,.08); border-radius:24px; padding:1.6rem 1.5rem 1.5rem; box-shadow:0 30px 70px -40px rgba(20,23,28,.4); }
@media (min-width:768px){ .nq-card { padding:2rem 2rem 1.75rem; } }
.nq-prog { height:5px; border-radius:999px; background:#EFEAD9; overflow:hidden; margin-bottom:1.4rem; }
.nq-prog span { display:block; height:100%; border-radius:999px; background:linear-gradient(90deg,#FFD45A,#F5B301); transition:width .5s cubic-bezier(.16,1,.3,1); }
.nq-steplbl { font-family:'Archivo',sans-serif; font-weight:700; font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-bottom:.5rem; }
.nq-q { font-weight:900; color:var(--ink); font-size:clamp(1.4rem,3vw,1.85rem); line-height:1.15; letter-spacing:-.02em; margin:0 0 .4rem; }
.nq-q span { color:var(--accent); }
.nq-sub { color:var(--body); font-size:14px; line-height:1.5; margin:0 0 1.3rem; }
.nq-opts { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:.8rem; }
.nq-opt { display:flex; flex-direction:column; align-items:flex-start; gap:.55rem; text-align:left; padding:1.1rem 1.1rem 1.2rem; border-radius:16px; border:1.5px solid rgba(20,23,28,.1); background:#fff; cursor:pointer; transition:border-color .25s, box-shadow .25s, transform .25s, background .25s; }
.nq-opt:hover { border-color:rgba(245,179,1,.55); transform:translateY(-3px); box-shadow:0 16px 30px -20px rgba(20,23,28,.35); }
.nq-opt.is-on { border-color:var(--accent); background:rgba(245,179,1,.07); box-shadow:0 0 0 3px rgba(245,179,1,.18); }
.nq-opt__ic { width:46px; height:46px; border-radius:13px; display:flex; align-items:center; justify-content:center; color:var(--accent-deep); background:rgba(245,179,1,.13); transition:background .25s,color .25s; }
.nq-opt.is-on .nq-opt__ic { background:linear-gradient(145deg,#FFD45A,#F5B301); color:#1A1402; }
.nq-opt__t { font-weight:800; font-size:15.5px; color:var(--ink); line-height:1.2; }
.nq-opt__d { font-size:12.5px; color:var(--muted); line-height:1.3; }
.nq-input { width:100%; background:#FBFAF6; border:1.5px solid rgba(20,23,28,.1); border-radius:13px; padding:13px 15px; font-size:15px; color:var(--ink); transition:border-color .2s,box-shadow .2s,background .2s; }
.nq-input::placeholder { color:var(--muted); }
.nq-input:focus { outline:none; border-color:var(--accent); background:#fff; box-shadow:0 0 0 4px rgba(245,179,1,.18); }
.nq-input--c { text-align:center; letter-spacing:.3em; font-weight:700; font-size:18px; }
.nq-fields { display:flex; flex-direction:column; gap:.7rem; }
.nq-anrede { display:flex; gap:.6rem; }
.nq-anbtn { flex:1; padding:11px; border-radius:12px; border:1.5px solid rgba(20,23,28,.1); background:#fff; font-family:'Archivo',sans-serif; font-weight:700; font-size:14px; color:var(--body); cursor:pointer; transition:all .2s; }
.nq-anbtn.is-on { border-color:var(--accent); background:rgba(245,179,1,.1); color:var(--ink); }
.nq-nav { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1.5rem; }
.nq-back { display:inline-flex; align-items:center; gap:.4rem; background:none; border:0; color:var(--body); font-family:'Archivo',sans-serif; font-weight:700; font-size:14px; cursor:pointer; transition:color .2s; padding:.5rem .2rem; }
.nq-back:hover { color:var(--ink); }
.nq-next { display:inline-flex; align-items:center; gap:.5rem; background:linear-gradient(180deg,#FFD45A,#F5B301); color:#1A1402; border:0; border-radius:999px; padding:.8rem 1.6rem; font-family:'Archivo',sans-serif; font-weight:800; font-size:15px; cursor:pointer; box-shadow:0 12px 26px -12px rgba(245,179,1,.7); transition:transform .25s,box-shadow .25s,opacity .25s; }
.nq-next:hover { transform:translateY(-2px); box-shadow:0 18px 36px -12px rgba(245,179,1,.8); }
.nq-next.is-off { opacity:.45; pointer-events:none; box-shadow:none; filter:grayscale(.3); }
.nq-trust { display:flex; flex-wrap:wrap; justify-content:center; gap:.6rem 1.4rem; margin-top:1.6rem; }
.nq-trust__i { display:inline-flex; align-items:center; gap:.4rem; font-family:'Archivo',sans-serif; font-weight:600; font-size:13px; color:var(--body); }
.nq-trust__ic { color:var(--accent-deep); display:flex; }
.nq-done { text-align:center; padding:2.5rem 1.5rem; }
.nq-done__disc { width:72px; height:72px; margin:0 auto 1.2rem; border-radius:50%; background:linear-gradient(145deg,#FFD45A,#F5B301); color:#1A1402; display:flex; align-items:center; justify-content:center; box-shadow:0 16px 34px -12px rgba(245,179,1,.7); animation:popIn .5s cubic-bezier(.34,1.56,.64,1); }
.nq-done__h { font-weight:900; color:var(--ink); font-size:clamp(1.6rem,3.4vw,2.3rem); margin:0 0 .6rem; }
.nq-done__h span { color:var(--accent); }
.nq-done__p { color:var(--body); max-width:26rem; line-height:1.6; margin:0 auto; }
@media (prefers-reduced-motion: reduce){ .nq-opt, .nq-next, .nq-prog span { transition:none !important; } .nq-done__disc { animation:none !important; } }

/* ─── Ratgeber-Artikel ────────────────────────────────── */
.rg-hero { position:relative; overflow:hidden; display:flex; flex-direction:column; justify-content:center; min-height:clamp(420px, 56vh, 640px); padding:7rem 1.25rem 4rem; background:linear-gradient(180deg,#23272F 0%,#181B21 100%); color:#fff; }
@media (min-width:768px){ .rg-hero { padding:7.5rem 2rem 4.5rem; min-height:clamp(460px, 60vh, 700px); } }
.rg-hero__glow { position:absolute; top:-15%; left:-10%; width:520px; height:520px; background:radial-gradient(circle,rgba(245,179,1,0.14) 0%,transparent 65%); pointer-events:none; }
.rg-hero__wrap { max-width:52rem; margin:0 auto; position:relative; }
.rg-hero__eyebrow { display:inline-flex; align-items:center; gap:.55rem; font-family:'Archivo',sans-serif; font-weight:800; font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:#F5B301; margin-bottom:1rem; }
.rg-hero__eyebrow .dot { width:7px; height:7px; border-radius:50%; background:#F5B301; display:inline-block; }
.rg-hero__h1 { font-family:'Archivo',sans-serif; font-weight:900; font-size:clamp(2.1rem,4.4vw,3.5rem); line-height:1.06; letter-spacing:-.02em; margin:.6rem 0 1.1rem; }
.rg-hero__h1 .accent { color:#F5B301; }
.rg-hero__lead { color:rgba(255,255,255,.74); font-size:clamp(1.02rem,1.4vw,1.18rem); line-height:1.6; max-width:42rem; }
.rg-hero__meta { display:flex; flex-wrap:wrap; gap:1rem 1.6rem; margin-top:1.6rem; font-size:13.5px; color:rgba(255,255,255,.58); }
.rg-hero__meta span { display:inline-flex; align-items:center; gap:.4rem; }
.rg-hero__meta svg { color:#F5B301; }

.rg-body { background:#FFFFFF; padding:clamp(2.5rem,5vw,4.5rem) 1.25rem clamp(3rem,5vw,5rem); }
@media (min-width:768px){ .rg-body { padding-left:2rem; padding-right:2rem; } }
.rg-body__wrap { max-width:48rem; margin:0 auto; }
.rg-body__wrap h2 { font-family:'Archivo',sans-serif; font-weight:900; font-size:clamp(1.5rem,2.5vw,1.95rem); line-height:1.15; letter-spacing:-.015em; color:#14171C; margin:2.5rem 0 1rem; }
.rg-body__wrap h2:first-child { margin-top:0; }
.rg-body__wrap h3 { font-family:'Archivo',sans-serif; font-weight:800; font-size:1.18rem; color:#14171C; margin:1.8rem 0 .65rem; }
.rg-body__wrap p { font-family:'Inter',sans-serif; font-size:1.04rem; line-height:1.7; color:#3D444E; margin:0 0 1.1rem; }
.rg-body__wrap ul { margin:0 0 1.3rem; padding:0; list-style:none; }
.rg-body__wrap li { position:relative; padding-left:1.7rem; margin:0 0 .55rem; font-size:1.02rem; line-height:1.65; color:#3D444E; }
.rg-body__wrap li::before { content:''; position:absolute; left:0; top:.55rem; width:8px; height:8px; border-radius:50%; background:#F5B301; }
.rg-body__wrap strong { color:#14171C; font-weight:700; }
.rg-pull { background:linear-gradient(140deg,#FFE7AA 0%,#FFD45A 100%); border-radius:18px; padding:1.4rem 1.6rem; margin:2rem 0; font-family:'Archivo',sans-serif; font-weight:700; font-size:1.05rem; line-height:1.45; color:#1A1402; border:1px solid rgba(26,20,2,.18); }
.rg-cta { display:flex; flex-direction:column; gap:1rem; align-items:flex-start; margin:2.5rem 0 0; padding:1.5rem 1.6rem; border-radius:20px; background:#15181D; color:#fff; }
@media (min-width:640px){ .rg-cta { flex-direction:row; align-items:center; justify-content:space-between; } }
.rg-cta__t { font-family:'Archivo',sans-serif; font-weight:900; font-size:1.15rem; }
.rg-cta__btn { display:inline-flex; align-items:center; gap:.55rem; padding:.7rem 1.3rem; border-radius:999px; background:linear-gradient(180deg,#FFDD66,#F5B301); color:#1A1402; font-family:'Archivo',sans-serif; font-weight:800; font-size:.95rem; transition:transform .25s ease; flex-shrink:0; }
.rg-cta__btn:hover { transform:translateY(-2px); }

/* ─── Ratgeber-Artikel: Breadcrumb, FAQ, Related, Back ── */
.rg-crumbs { font-family:'Archivo',sans-serif; font-weight:600; font-size:13px; color:rgba(255,255,255,.5); display:flex; gap:.5rem; align-items:center; margin-bottom:1.2rem; }
.rg-crumbs a { color:rgba(255,255,255,.5); transition:color .2s ease; }
.rg-crumbs a:hover { color:#F5B301; }
.rg-crumbs svg { opacity:.4; }

.rg-faq { margin-top:3rem; padding-top:2.5rem; border-top:1px solid rgba(20,23,28,.1); }
.rg-faq__h2 { font-family:'Archivo',sans-serif; font-weight:900; font-size:clamp(1.5rem,2.5vw,1.95rem); line-height:1.15; color:#14171C; margin-bottom:1.2rem; letter-spacing:-.015em; }
.rg-faq__item { border-top:1px solid rgba(20,23,28,.08); }
.rg-faq__item:first-of-type { border-top:none; }
.rg-faq__item[open] { padding-bottom:.25rem; }
.rg-faq__sum { display:flex; align-items:center; gap:1rem; padding:1.05rem 0; cursor:pointer; list-style:none; }
.rg-faq__sum::-webkit-details-marker { display:none; }
.rg-faq__q { flex:1; font-family:'Archivo',sans-serif; font-weight:800; font-size:1rem; line-height:1.3; color:#14171C; transition:color .25s ease; }
.rg-faq__ic { flex-shrink:0; color:#F5B301; transition:transform .35s cubic-bezier(.16,1,.3,1); }
.rg-faq__item[open] .rg-faq__ic { transform:rotate(45deg); }
.rg-faq__item:hover .rg-faq__q { color:#8A5E00; }
.rg-faq__a { padding:0 0 1.25rem; font-family:'Inter',sans-serif; font-size:14.5px; line-height:1.65; color:#3D444E; }

.rg-related { background:#FBF6E9; padding:clamp(2.75rem,5.5vw,4.5rem) 1.25rem; }
@media (min-width:768px){ .rg-related { padding-left:2rem; padding-right:2rem; } }
.rg-related__wrap { max-width:80rem; margin:0 auto; }
.rg-related__head { display:flex; align-items:baseline; gap:.85rem; margin-bottom:1.75rem; padding-bottom:1.05rem; border-bottom:2px solid rgba(20,23,28,.12); }
.rg-related__h { font-family:'Archivo',sans-serif; font-weight:900; font-size:clamp(1.4rem,2.2vw,1.8rem); color:#14171C; letter-spacing:-.015em; }
.rg-related__count { font-family:'Archivo',sans-serif; font-weight:600; font-size:13.5px; color:rgba(20,23,28,.55); }
.rg-related__grid { display:grid; grid-template-columns:1fr; gap:1.25rem; max-width:34rem; margin:0 auto; }
@media (min-width:768px){ .rg-related__grid { grid-template-columns:repeat(2,1fr); max-width:none; } }
@media (min-width:1024px){ .rg-related__grid { grid-template-columns:repeat(3,1fr); } }
.rg-rel { display:block; background:#fff; border:1px solid rgba(20,23,28,.08); border-radius:18px; overflow:hidden; box-shadow:0 18px 40px -28px rgba(20,23,28,.3); transition:transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s ease, border-color .35s ease; }
.rg-rel:hover { transform:translateY(-4px); border-color:rgba(245,179,1,.4); box-shadow:0 30px 60px -28px rgba(20,23,28,.4); }
.rg-rel__imgwrap { position:relative; aspect-ratio:16/9; overflow:hidden; }
.rg-rel__img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .5s cubic-bezier(.16,1,.3,1); }
.rg-rel:hover .rg-rel__img { transform:scale(1.05); }
.rg-rel__cat { position:absolute; top:.7rem; left:.7rem; padding:.28rem .6rem; border-radius:999px; background:rgba(255,255,255,.94); backdrop-filter:blur(8px); font-family:'Archivo',sans-serif; font-weight:800; font-size:9.5px; letter-spacing:.14em; text-transform:uppercase; color:#8A5E00; }
.rg-rel__body { padding:1rem 1.15rem 1.1rem; }
.rg-rel__t { font-family:'Archivo',sans-serif; font-weight:900; font-size:1rem; line-height:1.25; color:#14171C; margin-bottom:.4rem; letter-spacing:-.01em; }
.rg-rel__s { font-family:'Inter',sans-serif; font-size:13px; line-height:1.5; color:#525A64; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

.rg-back { display:inline-flex; align-items:center; gap:.5rem; margin-top:1.8rem; font-family:'Archivo',sans-serif; font-weight:700; font-size:14px; color:#8A5E00; transition:color .2s ease; }
.rg-back:hover { color:#F5B301; }
.rg-back svg { transition:transform .25s ease; }
.rg-back:hover svg { transform:translateX(-3px); }

/* ─── Page-Transitions (JS-getrieben in partials.js, browserunabhaengig) ── */
@keyframes sw-page-in { from { opacity:0; } to { opacity:1; } }
body { animation: sw-page-in .38s cubic-bezier(.16,1,.3,1) both; }
html.page-leaving body { opacity:0; transition: opacity .22s ease; animation: none; }
@media (prefers-reduced-motion: reduce) {
  body { animation: none; }
  html.page-leaving body { transition: none; opacity:1; }
}

/* ─── MOBILE PERFORMANCE OVERRIDES ───
   backdrop-filter ist GPU-killer auf mobile (besonders bei sticky/scroll).
   Wir ersetzen es durch deckendere hintergruende → kein visueller verlust,
   massive performance-gewinne. plus reveal-animations entschaerfen (kein blur). */
@media (max-width:640px){
  /* Backdrop-blur komplett aus */
  .sw-navwrap.scrolled .sw-navpill2 { backdrop-filter:none !important; -webkit-backdrop-filter:none !important; background:rgba(20,23,28,.92) !important; }
  body.nav-solid .sw-navpill2 { backdrop-filter:none !important; -webkit-backdrop-filter:none !important; background:rgba(20,23,28,.94) !important; }
  .sw-dropdown { backdrop-filter:none !important; -webkit-backdrop-filter:none !important; background:#181B21 !important; }
  .sw-navlink.active { backdrop-filter:none !important; -webkit-backdrop-filter:none !important; }
  .sw-pill { backdrop-filter:none !important; -webkit-backdrop-filter:none !important; background:rgba(255,255,255,.18) !important; }
  .sw-card { backdrop-filter:none !important; -webkit-backdrop-filter:none !important; background:rgba(22,26,31,.92) !important; }
  .sw-founder { backdrop-filter:none !important; -webkit-backdrop-filter:none !important; background:rgba(22,26,31,.96) !important; }
  .sw-glass-chip { backdrop-filter:none !important; -webkit-backdrop-filter:none !important; }
  .hero-srv { backdrop-filter:none !important; -webkit-backdrop-filter:none !important; background:rgba(22,26,31,.88) !important; }
  .sw-mobilemenu { backdrop-filter:none !important; -webkit-backdrop-filter:none !important; }

  /* Reveal-animations ohne blur (blur in transitions ist sehr teuer auf mobile) */
  .reveal { filter:none !important; transition:opacity .4s ease, transform .4s cubic-bezier(.16,1,.3,1) !important; }
  .reveal-left, .reveal-right { filter:none !important; transition:opacity .4s ease, transform .4s cubic-bezier(.16,1,.3,1) !important; }
  .reveal-scale { filter:none !important; transition:opacity .4s ease, transform .4s cubic-bezier(.16,1,.3,1) !important; }

  /* Will-change reset auf scroll-statische elemente (befreit gpu-layers) */
  .sw-card, .sw-founder, .hero-srv { will-change:auto !important; }
}

/* ── Ratgeber-Article 2-Spalten-Layout (linke Sticky-Sidebar) ── */
.rg-2col { background:#fff; padding:0 1.25rem 4rem; }
@media (min-width:768px){ .rg-2col { padding:0 2rem 5.5rem; } }
.rg-2col__wrap { max-width:80rem; margin:0 auto; display:grid; grid-template-columns:1fr; gap:2.5rem; align-items:start; justify-items:center; padding-top:2.5rem; }
.rg-2col__wrap > * { width:100%; max-width:42rem; }
@media (min-width:1024px){ .rg-2col__wrap { grid-template-columns:280px 1fr; gap:3rem; padding-top:3rem; justify-items:stretch; } .rg-2col__wrap > * { max-width:none; } }
.rg-side-stack { display:flex; flex-direction:column; gap:1.25rem; }
@media (min-width:1024px){ .rg-side-stack { position:sticky; top:7rem; } }
.rg-toc { background:#fff; border:1px solid rgba(20,23,28,.08); border-radius:18px; padding:1.1rem 1rem 1.15rem; }
.rg-toc__h { font-family:'Archivo',sans-serif; font-weight:800; font-size:10.5px; letter-spacing:.2em; text-transform:uppercase; color:rgba(20,23,28,.45); padding:0 .35rem .85rem; border-bottom:1px solid rgba(20,23,28,.07); margin:0 0 .5rem; }
.rg-toc__link { display:block; padding:.55rem .8rem; border-radius:10px; font-family:'Archivo',sans-serif; font-weight:600; font-size:13.5px; line-height:1.35; color:rgba(20,23,28,.7); transition:background .15s ease, color .15s ease; }
.rg-toc__link:hover { background:rgba(245,179,1,.1); color:#8A5E00; }
.rg-toc__link.is-on { background:linear-gradient(180deg,#FFDD66,#F5B301); color:#1A1402; }
.rg-side-cta { position:relative; overflow:hidden; padding:1.4rem 1.3rem 1.5rem; border-radius:18px; background:linear-gradient(150deg,#22262F 0%,#181B21 70%); color:#fff; border:1px solid rgba(245,179,1,.22); box-shadow:0 24px 50px -30px rgba(0,0,0,.55); }
.rg-side-cta::after { content:''; position:absolute; top:-50%; right:-30%; width:220px; height:220px; background:radial-gradient(circle,rgba(245,179,1,.22) 0%,transparent 70%); pointer-events:none; }
.rg-side-cta__lbl { font-family:'Archivo',sans-serif; font-weight:800; font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; color:#F5B301; margin-bottom:.55rem; position:relative; }
.rg-side-cta__t { font-family:'Archivo',sans-serif; font-weight:900; font-size:1.15rem; line-height:1.2; margin-bottom:.45rem; position:relative; }
.rg-side-cta__s { font-family:'Inter',sans-serif; font-size:13px; line-height:1.5; color:rgba(255,255,255,.65); margin-bottom:1rem; position:relative; }
.rg-side-cta__btn { display:inline-flex; align-items:center; gap:.45rem; padding:.65rem 1.15rem; border-radius:999px; background:linear-gradient(180deg,#FFDD66,#F5B301); color:#1A1402; font-family:'Archivo',sans-serif; font-weight:800; font-size:13.5px; transition:transform .25s ease; position:relative; }
.rg-side-cta__btn:hover { transform:translateY(-2px); }
.rg-author { background:#fff; border:1px solid rgba(20,23,28,.08); border-radius:18px; padding:1.25rem 1.25rem 1.35rem; display:flex; flex-direction:column; gap:.85rem; }
.rg-author__top { display:flex; align-items:center; gap:.85rem; }
.rg-author__img { width:48px; height:48px; border-radius:50%; object-fit:cover; flex-shrink:0; background:#FBF6E9; }
.rg-author__name { font-family:'Archivo',sans-serif; font-weight:800; font-size:15px; color:#14171C; line-height:1.2; }
.rg-author__role { font-family:'Inter',sans-serif; font-size:12px; color:rgba(20,23,28,.55); margin-top:2px; }
.rg-author__quote { font-family:'Inter',sans-serif; font-size:13.5px; line-height:1.55; color:#3D444E; font-style:italic; border-left:2px solid #F5B301; padding-left:.85rem; }
.rg-art-col { min-width:0; }
.rg-art-col h2 { font-family:'Archivo',sans-serif; font-weight:900; font-size:clamp(1.5rem,2.5vw,1.95rem); line-height:1.15; letter-spacing:-.015em; color:#14171C; margin:2.5rem 0 1rem; scroll-margin-top:7rem; }
.rg-art-col h2:first-child { margin-top:0; }
.rg-art-col p { font-family:'Inter',sans-serif; font-size:1.04rem; line-height:1.7; color:#3D444E; margin:0 0 1.1rem; }
.rg-art-col ul { margin:0 0 1.3rem; padding:0; list-style:none; }
.rg-art-col li { position:relative; padding-left:1.7rem; margin:0 0 .55rem; font-size:1.02rem; line-height:1.65; color:#3D444E; }
.rg-art-col li::before { content:''; position:absolute; left:0; top:.55rem; width:8px; height:8px; border-radius:50%; background:#F5B301; }
.rg-art-col strong { color:#14171C; font-weight:700; }

/* === Fullscreen CTA (Ratgeber-Artikel, vor Formular) === */
.rh-fullcta { position:relative; background:#14171C; color:#fff; padding:4.5rem 1.1rem 5rem; overflow:hidden; border-top:1px solid rgba(255,255,255,.06); }
@media (min-width:480px){ .rh-fullcta { padding:5.5rem 1.5rem 6rem; } }
@media (min-width:768px){ .rh-fullcta { padding:7.5rem 2rem 8rem; } }
.rh-fullcta__glow1 { position:absolute; top:-180px; left:-160px; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle, rgba(245,179,1,.18) 0%, rgba(245,179,1,0) 65%); pointer-events:none; }
.rh-fullcta__glow2 { position:absolute; bottom:-220px; right:-180px; width:620px; height:620px; border-radius:50%; background:radial-gradient(circle, rgba(245,179,1,.13) 0%, rgba(245,179,1,0) 65%); pointer-events:none; }
.rh-fullcta__wrap { position:relative; z-index:1; max-width:54rem; margin:0 auto; text-align:center; }
.rh-fullcta__eyebrow { display:inline-flex; align-items:center; gap:.55rem; padding:.45rem 1rem; border-radius:999px; background:rgba(245,179,1,.12); border:1px solid rgba(245,179,1,.28); color:#FFDD66; font-family:'Inter',sans-serif; font-size:13px; font-weight:600; letter-spacing:.02em; margin-bottom:1.5rem; }
.rh-fullcta__eyebrow .dot { width:7px; height:7px; border-radius:50%; background:#F5B301; box-shadow:0 0 0 0 rgba(245,179,1,.65); animation:rhPulse 1.8s ease-out infinite; }
@keyframes rhPulse { 0%{box-shadow:0 0 0 0 rgba(245,179,1,.6);} 70%{box-shadow:0 0 0 10px rgba(245,179,1,0);} 100%{box-shadow:0 0 0 0 rgba(245,179,1,0);} }
.rh-fullcta__h { font-family:'Archivo',sans-serif; font-weight:900; font-size:clamp(2rem,4.2vw,3.4rem); line-height:1.06; letter-spacing:-.025em; margin:0 0 1.1rem; color:#fff; }
.rh-fullcta__h .accent { background:linear-gradient(180deg,#FFDD66 0%,#F5B301 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; }
.rh-fullcta__s { font-family:'Inter',sans-serif; font-size:clamp(1rem,1.3vw,1.15rem); line-height:1.6; color:rgba(255,255,255,.72); max-width:38rem; margin:0 auto 2.2rem; }
.rh-fullcta__btns { display:flex; flex-wrap:wrap; gap:.75rem; justify-content:center; align-items:center; }
.rh-fullcta__primary { display:inline-flex; align-items:center; gap:.65rem; background:linear-gradient(180deg,#FFDD66 0%,#F5B301 100%); color:#1A1402; border-radius:999px; padding:1.05rem 1.75rem; font-family:'Archivo',sans-serif; font-weight:800; font-size:1.05rem; box-shadow:0 14px 36px -14px rgba(245,179,1,.6); transition:transform .25s ease, box-shadow .25s ease; }
.rh-fullcta__primary:hover { transform:translateY(-2px); box-shadow:0 20px 44px -14px rgba(245,179,1,.75); }
.rh-fullcta__primary svg { transition:transform .25s ease; }
.rh-fullcta__primary:hover svg { transform:translateX(3px); }
.rh-fullcta__ghost { display:inline-flex; align-items:center; gap:.55rem; padding:1.02rem 1.55rem; border-radius:999px; border:1px solid rgba(255,255,255,.25); color:#fff; font-family:'Archivo',sans-serif; font-weight:700; font-size:1.02rem; transition:background .25s ease, border-color .25s ease, transform .25s ease; }
.rh-fullcta__ghost:hover { background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.5); transform:translateY(-2px); }

/* === Standortseiten-Sections (st-faq + st-finalcta, global) === */
.st-faq { position:relative; overflow:hidden; padding:4rem 1.25rem; background:#14171C; color:#fff; }
@media (min-width:768px){ .st-faq { padding:5.5rem 2rem; } }
.st-faq__glow { position:absolute; top:-180px; right:-180px; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle, rgba(245,179,1,.13) 0%, rgba(245,179,1,0) 65%); pointer-events:none; }
.st-faq__wrap { position:relative; z-index:1; max-width:72rem; margin:0 auto; display:grid; grid-template-columns:1fr; gap:2.2rem; align-items:start; }
@media (min-width:900px){ .st-faq__wrap { grid-template-columns:.85fr 1.15fr; gap:3.2rem; } }
.st-faq__eyebrow { font-family:'Archivo',sans-serif; font-weight:800; font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:#FFDD66; margin-bottom:.85rem; }
.st-faq__h2 { font-family:'Archivo',sans-serif; font-weight:900; font-size:clamp(1.7rem,3vw,2.4rem); line-height:1.15; letter-spacing:-.02em; color:#fff; margin:0 0 1rem; }
.st-faq__lead { font-family:'Inter',sans-serif; font-size:.98rem; line-height:1.6; color:rgba(255,255,255,.65); margin:0 0 1.6rem; max-width:24rem; }
.st-faq__phone { display:inline-flex; align-items:center; gap:.55rem; padding:.95rem 1.6rem; border-radius:999px; background:linear-gradient(180deg,#FFDD66,#F5B301); color:#1A1402; font-family:'Archivo',sans-serif; font-weight:800; font-size:.95rem; box-shadow:0 14px 34px -14px rgba(245,179,1,.55); transition:transform .25s ease, box-shadow .25s ease; }
.st-faq__phone:hover { transform:translateY(-2px); box-shadow:0 20px 42px -14px rgba(245,179,1,.7); }
.st-faq__phone svg { color:#1A1402; }
.st-faq__list { display:grid; gap:.85rem; }
.st-faq__item { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:14px; transition:border-color .25s ease, background .25s ease; }
.st-faq__item[open] { border-color:rgba(245,179,1,.4); background:rgba(255,255,255,.06); }
.st-faq__item summary { list-style:none; cursor:pointer; padding:1.05rem 1.25rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.st-faq__item summary::-webkit-details-marker { display:none; }
.st-faq__q { font-family:'Archivo',sans-serif; font-weight:800; font-size:.97rem; line-height:1.35; color:#fff; }
.st-faq__ic { width:28px; height:28px; flex-shrink:0; border-radius:50%; display:flex; align-items:center; justify-content:center; background:rgba(245,179,1,.15); color:#FFDD66; transition:transform .25s ease, background .25s ease; }
.st-faq__item[open] .st-faq__ic { transform:rotate(45deg); background:linear-gradient(180deg,#FFDD66,#F5B301); color:#1A1402; }
.st-faq__a { padding:0 1.25rem 1.15rem; font-family:'Inter',sans-serif; font-size:14px; line-height:1.65; color:rgba(255,255,255,.7); }

.st-finalcta { position:relative; overflow:hidden; padding:5.5rem 1.25rem; background:#14171C; color:#fff; text-align:center; }
@media (min-width:768px){ .st-finalcta { padding:7rem 2rem; } }
.st-finalcta__glow { position:absolute; top:-200px; left:50%; transform:translateX(-50%); width:780px; height:520px; border-radius:50%; background:radial-gradient(ellipse, rgba(245,179,1,.18) 0%, rgba(245,179,1,0) 60%); pointer-events:none; }
.st-finalcta__wrap { position:relative; z-index:2; max-width:46rem; margin:0 auto; }
.st-finalcta__h2 { font-family:'Archivo',sans-serif; font-weight:900; font-size:clamp(1.8rem,3.4vw,2.6rem); line-height:1.1; letter-spacing:-.02em; margin:0 0 .9rem; color:#fff; }
.st-finalcta__h2 .accent { background:linear-gradient(180deg,#FFDD66 0%,#F5B301 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent; }
.st-finalcta__sub { font-family:'Inter',sans-serif; font-size:1.05rem; line-height:1.65; color:rgba(255,255,255,.75); margin:0 0 2rem; }
.st-finalcta__btns { display:flex; flex-wrap:wrap; gap:.7rem; justify-content:center; }
.st-finalcta__primary { display:inline-flex; align-items:center; gap:.55rem; padding:1.1rem 1.85rem; border-radius:999px; background:linear-gradient(180deg,#FFDD66,#F5B301); color:#1A1402; font-family:'Archivo',sans-serif; font-weight:800; font-size:1.06rem; box-shadow:0 14px 36px -14px rgba(245,179,1,.6); transition:transform .25s ease, box-shadow .25s ease; }
.st-finalcta__primary:hover { transform:translateY(-2px); box-shadow:0 20px 44px -14px rgba(245,179,1,.75); }
.st-finalcta__ghost { display:inline-flex; align-items:center; gap:.5rem; padding:1.05rem 1.6rem; border-radius:999px; border:1px solid rgba(255,255,255,.25); color:#fff; font-family:'Archivo',sans-serif; font-weight:700; font-size:1.02rem; transition:background .25s ease, border-color .25s ease, transform .25s ease; }
.st-finalcta__ghost:hover { background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.5); transform:translateY(-2px); }
