/* =====================================================================
   CREATOR-KOMPASS BRANCHEN-KIT – main.css
   Gemeinsames Designsystem für alle Demo-Websites + drei Stile
   ---------------------------------------------------------------------
   Aufbau:
   1. Schriften (lokal, keine Google-Server)
   2. Stil-Tokens  A = Technische Klarheit (Standard)
                   B = Werkstatt-Editorial
                   C = Nordlicht-Kontrast
   3. Basis & Typografie
   4. Rahmen: Demo-Band, Header, Navigation, Footer, Mobile-Leiste
   5. Komponenten (Buttons, Hero, Leistungen, Schritte, FAQ, …)
   6. Anfrage-Assistent
   7. Stil-spezifische Layouts (B, C)
   Alle Farben/Schriften kommen aus Variablen – ein neuer Kunde braucht
   nur einen weiteren [data-stil]-Block.
   ===================================================================== */

/* ---------- 1. Schriften ---------- */

/* ---------- 2. Stil-Tokens ---------- */
:root, [data-stil="a"]{
  --bg:#F2F1EC; --bg-alt:#E7E6DF; --surface:#FAFAF7;
  --ink:#0F1D24; --ink-soft:#3B4650; --muted:#4A5560;
  --line:#D0D1C9; --line-strong:#0F1D24;
  --brand:#134B4F; --brand-hover:#0C3437; --on-brand:#F5F6F2;
  --accent:#B4622D; --accent-text:#8B4719; --accent-2:#134B4F;
  --urgent:#B23A24; --error:#A3271A; --ok:#1E6B47;
  --inverse-bg:#134B4F; --inverse-ink:#FFFFFF; --inverse-soft:#D3E0DD; --inverse-line:#4F7F80;
  --dark-bg:#0F1D24; --dark-ink:#E4E9E8; --dark-soft:#B7C0C3;
  --field-bg:#FFFFFF; --field-border:#8C939A; --focus:#134B4F;
  --font-display:"Archivo",system-ui,sans-serif;
  --font-body:"Archivo",system-ui,sans-serif;
  --font-label:"JetBrains Mono",ui-monospace,monospace;
  --display-weight:700; --display-tracking:-0.035em; --display-leading:1.02;
  --h-weight:700; --h-tracking:-0.025em;
  --label-size:12.5px; --label-weight:500; --label-tracking:.08em; --label-case:uppercase;
  --radius:0px; --radius-btn:0px; --radius-media:0px;
  --em-style:normal; --em-color:var(--brand);
}
[data-stil="b"]{
  --bg:#F3EEE4; --bg-alt:#E9E1D2; --surface:#FBF8F2;
  --ink:#1D2B2D; --ink-soft:#434F4D; --muted:#5A615C;
  --line:#D8CEBC; --line-strong:#1D2B2D;
  --brand:#1F4A4D; --brand-hover:#163638; --on-brand:#F7F2E8;
  --accent:#9A5A30; --accent-text:#7A4524; --accent-2:#1F4A4D;
  --urgent:#A53A26; --error:#9E2C1A; --ok:#2B6544;
  --inverse-bg:#1D2B2D; --inverse-ink:#F7F2E8; --inverse-soft:#CDD3CF; --inverse-line:#55615F;
  --dark-bg:#1D2B2D; --dark-ink:#EDE6D8; --dark-soft:#C2C9C5;
  --field-bg:#FFFDF8; --field-border:#8F887B; --focus:#1F4A4D;
  --font-display:"Fraunces",Georgia,"Times New Roman",serif;
  --font-body:"Work Sans",system-ui,sans-serif;
  --font-label:"Work Sans",system-ui,sans-serif;
  --display-weight:500; --display-tracking:-0.02em; --display-leading:1.02;
  --h-weight:500; --h-tracking:-0.015em;
  --label-size:12.5px; --label-weight:600; --label-tracking:.14em; --label-case:uppercase;
  --radius:2px; --radius-btn:2px; --radius-media:2px;
  --em-style:italic; --em-color:var(--accent-text);
}
[data-stil="c"]{
  --bg:#0E161B; --bg-alt:#131E24; --surface:#18242B;
  --ink:#EEF1EF; --ink-soft:#C3CCCA; --muted:#A3AFB1;
  --line:#26343C; --line-strong:#4A5B63;
  --brand:#F0A43A; --brand-hover:#FFB95A; --on-brand:#1A1206;
  --accent:#F0A43A; --accent-text:#F0A43A; --accent-2:#8FC3C8;
  --urgent:#C2412A; --error:#FF9C85; --ok:#7FD1A3;
  --inverse-bg:#E8ECEA; --inverse-ink:#0E161B; --inverse-soft:#33424A; --inverse-line:#AEB9BA;
  --dark-bg:#090F13; --dark-ink:#E4E9E8; --dark-soft:#A3AFB1;
  --field-bg:#111C22; --field-border:#5E6F77; --focus:#8FC3C8;
  --font-display:"Familjen Grotesk",system-ui,sans-serif;
  --font-body:"Public Sans",system-ui,sans-serif;
  --font-label:"Public Sans",system-ui,sans-serif;
  --display-weight:700; --display-tracking:-0.045em; --display-leading:.94;
  --h-weight:700; --h-tracking:-0.03em;
  --label-size:12.5px; --label-weight:600; --label-tracking:.08em; --label-case:uppercase;
  --radius:4px; --radius-btn:4px; --radius-media:4px;
  --em-style:normal; --em-color:var(--accent);
  color-scheme:dark;
}

/* ---------- 3. Basis ---------- */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-padding-top:96px}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block;height:auto}
a{color:var(--brand)}
:where([data-stil="c"]) a{color:var(--accent-2)}
a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--h-weight);letter-spacing:var(--h-tracking);line-height:1.08;margin:0;color:inherit}
p{margin:0}
ul,ol{margin:0;padding:0}
em{font-style:var(--em-style);color:var(--em-color)}
.wrap{width:100%;max-width:1280px;margin:0 auto;padding:0 clamp(16px,4vw,32px)}
.narrow{max-width:760px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:12px;top:-60px;z-index:2000;background:var(--ink);color:var(--bg);padding:10px 16px;font-weight:600;text-decoration:none}
.skip-link:focus{top:12px;color:var(--bg)}

.eyebrow{display:block;font-family:var(--font-label);font-size:var(--label-size);font-weight:var(--label-weight);letter-spacing:var(--label-tracking);text-transform:var(--label-case);color:var(--brand)}
[data-stil="b"] .eyebrow{color:var(--accent-text)}
[data-stil="c"] .eyebrow{color:var(--accent-2)}
.display{font-size:clamp(40px,6.2vw,84px);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);line-height:var(--display-leading)}
.h2{font-size:clamp(30px,3.8vw,52px)}
.h3{font-size:clamp(22px,2.2vw,28px)}
.lead{font-size:clamp(17px,1.5vw,20px);line-height:1.55;color:var(--ink-soft);max-width:600px}
.muted{color:var(--muted)}
.placeholder{color:var(--muted);border-bottom:1px dashed currentColor;font-style:italic}
.section{padding:clamp(64px,9vw,112px) 0}
.section--alt{background:var(--bg-alt)}
.section--inverse{background:var(--inverse-bg);color:var(--inverse-ink)}
.section--inverse .eyebrow{color:var(--inverse-soft)}
.section--inverse .lead{color:var(--inverse-soft)}
.section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px 48px;margin-bottom:clamp(32px,5vw,56px)}
.section-head > div{max-width:720px}
.section-head .h2{margin-top:14px}
.section-head .lead{max-width:440px}
.stack > * + *{margin-top:18px}
.prose p + p{margin-top:16px}
.prose{color:var(--ink-soft)}

/* ---------- 4. Rahmen ---------- */
.demo-band{background:var(--dark-bg);color:var(--dark-soft);font-family:var(--font-label);font-size:12.5px;letter-spacing:.02em}
[data-stil="c"] .demo-band{background:#E8ECEA;color:#26343C}
.demo-band .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 20px;padding-top:8px;padding-bottom:8px}
.demo-band strong{color:var(--dark-ink);font-weight:500}
[data-stil="c"] .demo-band strong{color:#0E161B;font-weight:700}
.stil-switch{display:flex;align-items:center;gap:6px}
.stil-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:30px;padding:2px 10px;border:1px solid currentColor;color:inherit;text-decoration:none;font-weight:600;border-radius:var(--radius-btn)}
.stil-switch a[aria-current="true"]{background:var(--dark-ink);color:var(--dark-bg);border-color:var(--dark-ink)}
[data-stil="c"] .stil-switch a[aria-current="true"]{background:#0E161B;color:#fff;border-color:#0E161B}
.stil-switch a:hover{color:inherit;text-decoration:underline}
.stil-name{opacity:.9}

.site-header{position:sticky;top:0;z-index:100;background:var(--bg);border-bottom:1px solid var(--line)}
.header-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px}
.logo{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;flex-shrink:0}
.logo:hover{color:var(--ink)}
.logo__mark{width:36px;height:36px;background:var(--brand);display:grid;place-items:center;border-radius:var(--radius)}
.logo__mark svg{width:18px;height:18px;stroke:var(--on-brand)}
.logo__word{font-family:var(--font-display);font-weight:var(--h-weight);font-size:21px;letter-spacing:-0.02em}
.logo__tag{font-family:var(--font-label);font-size:11.5px;font-weight:600;letter-spacing:.06em;border:1px solid var(--line-strong);padding:1px 6px;border-radius:var(--radius)}
[data-stil="b"] .logo__mark{display:none}
[data-stil="b"] .logo__word{font-size:26px}
[data-stil="b"] .logo__tag{border:none;font-family:var(--font-display);font-style:italic;font-size:20px;letter-spacing:0;color:var(--accent-text);padding:0;text-transform:none}
[data-stil="c"] .logo__mark{display:none}
[data-stil="c"] .logo__word{text-transform:uppercase;font-size:22px}
[data-stil="c"] .logo__tag{border:none;color:var(--accent-2);font-family:var(--font-display);font-size:22px;padding:0;letter-spacing:-0.02em}
[data-stil="c"] .logo__tag::before{content:"/";margin-right:1px}

.main-nav ul{list-style:none;display:flex;gap:4px 26px}
.main-nav a{color:var(--ink);text-decoration:none;font-size:15.5px;font-weight:500;padding:8px 0;display:inline-block;border-bottom:2px solid transparent}
.main-nav a:hover{border-bottom-color:var(--accent)}
.main-nav a[aria-current="page"]{border-bottom-color:var(--brand)}
[data-stil="c"] .main-nav a{color:var(--ink-soft)}
[data-stil="c"] .main-nav a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--accent)}
.header-actions{display:flex;align-items:center;gap:10px}
.nav-toggle{display:none;align-items:center;gap:8px;min-height:44px;padding:0 14px;background:none;border:1px solid var(--line-strong);color:var(--ink);font:inherit;font-size:15px;font-weight:600;cursor:pointer;border-radius:var(--radius-btn)}
.nav-toggle__icon{width:18px;height:12px;position:relative;display:inline-block}
.nav-toggle__icon::before,.nav-toggle__icon::after{content:"";position:absolute;left:0;right:0;height:2px;background:currentColor;transition:transform .2s}
.nav-toggle__icon::before{top:1px}.nav-toggle__icon::after{bottom:1px}
.nav-toggle[aria-expanded="true"] .nav-toggle__icon::before{transform:translateY(4px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .nav-toggle__icon::after{transform:translateY(-5px) rotate(-45deg)}

@media (max-width:1023px){
  .js .nav-toggle{display:inline-flex}
  .header-row{flex-wrap:wrap}
  .header-actions .btn{display:none}
  .js .main-nav{display:none;width:100%;order:3;padding:8px 0 20px}
  .js .site-header.is-open .main-nav{display:block}
  .main-nav ul{flex-direction:column;gap:0}
  .js .main-nav a{display:block;font-size:19px;padding:14px 0;border-bottom:1px solid var(--line)}
  .main-nav{width:100%;order:3}
  .no-js-hide{display:none}
}
@media (min-width:1024px){ .main-nav{margin-left:auto} }

.site-footer{background:var(--dark-bg);color:var(--dark-soft);padding:64px 0 0;font-size:15px}
[data-stil="c"] .site-footer{border-top:1px solid var(--line)}
.site-footer a{color:var(--dark-ink);text-decoration:none}
.site-footer a:hover{text-decoration:underline;color:var(--dark-ink)}
.footer-grid{display:grid;gap:36px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding-bottom:48px}
.footer-grid h2{font-family:var(--font-label);font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--dark-soft);margin-bottom:14px}
.footer-grid ul{list-style:none;display:grid;gap:8px}
.footer-brand .logo__word{color:var(--dark-ink)}
.footer-brand p{margin-top:12px;max-width:300px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.14);padding:20px 0 28px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;font-size:14px}
.footer-bottom nav{display:flex;gap:20px}

.mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:90;display:flex;gap:10px;padding:10px clamp(16px,4vw,32px) calc(10px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line)}
.mobile-bar .btn{flex:1;min-height:48px;padding:10px 12px;font-size:15px}
body:has(.mobile-bar) .site-footer{padding-bottom:76px}
@media (min-width:1024px){ .mobile-bar{display:none} body:has(.mobile-bar) .site-footer{padding-bottom:0} }

/* ---------- 5. Komponenten ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 24px;font-family:var(--font-body);font-size:16px;font-weight:600;line-height:1.2;text-decoration:none;border:1.5px solid transparent;border-radius:var(--radius-btn);cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.btn--sm{min-height:44px;padding:10px 18px;font-size:15px}
.btn--primary{background:var(--brand);color:var(--on-brand)}
.btn--primary:hover{background:var(--brand-hover);color:var(--on-brand)}
.btn--secondary{background:transparent;color:var(--ink);border-color:var(--line-strong)}
[data-stil="c"] .btn--secondary{border-color:var(--ink-soft)}
.btn--secondary:hover{background:var(--ink);color:var(--bg)}
.btn--urgent{background:var(--urgent);color:#fff}
[data-stil="c"] .btn--urgent{color:#fff;border-color:rgba(255,255,255,.55)}
.btn--urgent:hover{filter:brightness(.92);color:#fff}
[data-stil="c"] .btn--urgent:hover{color:#fff}
.btn--light{background:var(--inverse-ink);color:var(--inverse-bg)}
.btn--light:hover{background:var(--bg);color:var(--ink)}
.btn-row{display:flex;flex-wrap:wrap;gap:12px}
.arrow{transition:transform .2s}
a:hover .arrow,button:hover .arrow{transform:translateX(3px)}

/* Hero (Startseite) */
.hero{padding:clamp(40px,6vw,80px) 0 clamp(48px,6vw,88px)}
.hero__grid{display:grid;gap:clamp(32px,5vw,64px);grid-template-columns:1fr}
@media (min-width:900px){ .hero__grid{grid-template-columns:1.1fr .9fr;align-items:stretch} }
.hero__text{display:flex;flex-direction:column;justify-content:center}
.hero__title{margin-top:18px}
.hero__lead{margin-top:22px}
.hero__actions{margin-top:32px}
.hero__urgent{margin-top:26px;font-size:15.5px;color:var(--ink-soft);padding-left:20px;position:relative}
.hero__urgent::before{content:"";position:absolute;left:0;top:.5em;width:9px;height:9px;background:var(--urgent);border-radius:var(--radius)}
.hero__urgent a{font-weight:600}
.hero__media{position:relative;min-height:340px;background:var(--bg-alt);border-radius:var(--radius-media);overflow:hidden}
.hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero__card{position:absolute;left:0;bottom:0;width:min(330px,88%);background:var(--bg);padding:20px 22px;border-top:3px solid var(--accent)}
.hero__card ol{list-style:none;margin-top:10px;display:grid;gap:6px;font-size:15.5px}
.hero__card li{display:flex;gap:12px}
.hero__card li span{font-family:var(--font-label);color:var(--muted)}
@media (max-width:599px){ .hero__card{display:none} }

/* Kennzahlen-/Fakten-Leiste (ohne erfundene Zahlen) */
.facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.facts dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:0}
.facts dl > div{padding:22px 24px 22px 0}
.facts dt{font-family:var(--font-label);font-size:12px;font-weight:var(--label-weight);letter-spacing:var(--label-tracking);text-transform:uppercase;color:var(--muted)}
.facts dd{margin:6px 0 0;font-weight:500;font-size:16.5px}

/* Leistungen – Standard (A): nummerierte Zeilen */
.services{list-style:none;border-bottom:1px solid var(--line-strong)}
.service a{display:grid;grid-template-columns:48px 1fr;gap:8px 24px;padding:26px 0;border-top:1px solid var(--line-strong);color:var(--ink);text-decoration:none;align-items:baseline}
.service__nr{font-family:var(--font-label);font-size:14px;color:var(--muted);grid-row:span 3}
.service__title{font-family:var(--font-display);font-weight:600;font-size:clamp(24px,2.5vw,34px);letter-spacing:-0.02em;line-height:1.1}
.service__text{color:var(--ink-soft);font-size:16px;max-width:560px}
.service__more{font-weight:600;font-size:15px;color:var(--brand)}
.service a:hover .service__title{color:var(--brand)}
@media (min-width:900px){
  .service a{grid-template-columns:64px minmax(0,1fr) minmax(0,1.3fr) auto;gap:32px}
  .service__nr{grid-row:auto}
}

/* Anfrage-Einstieg (Startseite) */
.entry{display:grid;gap:40px;grid-template-columns:1fr}
@media (min-width:900px){ .entry{grid-template-columns:.9fr 1.3fr;gap:64px} }
.entry__note{margin-top:24px;display:inline-block;font-family:var(--font-label);font-size:12.5px;border:1px solid var(--inverse-line);padding:8px 12px;color:var(--inverse-soft);border-radius:var(--radius)}
.choices{list-style:none;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.choice{display:flex;flex-direction:column;gap:8px;height:100%;min-height:150px;padding:22px;border:1px solid var(--inverse-line);color:var(--inverse-ink);text-decoration:none;border-radius:var(--radius)}
.choice:hover{background:var(--inverse-ink);color:var(--inverse-bg);border-color:var(--inverse-ink)}
.choice__nr{font-family:var(--font-label);font-size:12.5px;opacity:.85}
.choice__title{font-family:var(--font-display);font-size:23px;font-weight:var(--h-weight);letter-spacing:-0.01em}
.choice__text{font-size:15px;opacity:.9}
.choice .arrow{margin-top:auto;font-weight:600}

/* Ablauf-Schritte */
.steps{list-style:none;display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));counter-reset:step}
.steps li{border-top:2px solid var(--line-strong);padding-top:18px}
.steps__nr{font-family:var(--font-label);font-size:13px;color:var(--muted);display:block}
.steps h3{font-size:21px;margin-top:10px}
.steps p{margin-top:8px;color:var(--ink-soft);font-size:15.5px}

/* Beispielprojekte */
.examples{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.example{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.example__img{aspect-ratio:3/2;background:var(--bg-alt);overflow:hidden}
.example__img img{width:100%;height:100%;object-fit:cover}
.example__body{padding:22px 22px 26px}
.badge{display:inline-block;font-family:var(--font-label);font-size:11.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:4px 9px;border:1px solid var(--line-strong);color:var(--ink);border-radius:var(--radius)}
.badge--demo{border-style:dashed}
.example h3{font-size:22px;margin-top:14px}
.example dl{margin:14px 0 0;display:grid;gap:10px;font-size:15px}
.example dt{font-weight:600;color:var(--ink)}
.example dd{margin:2px 0 0;color:var(--ink-soft)}

/* Kundenstimmen-Platzhalter */
.voice{border:1px dashed var(--line-strong);border-radius:var(--radius);padding:clamp(24px,4vw,40px);display:grid;gap:18px;background:var(--surface)}
.voice blockquote{margin:0;font-family:var(--font-display);font-size:clamp(22px,2.4vw,30px);line-height:1.3;letter-spacing:-0.01em}
.voice figcaption{color:var(--muted);font-size:15px}

/* Split (Bild + Text) */
.split{display:grid;gap:clamp(32px,5vw,64px);grid-template-columns:1fr;align-items:center}
@media (min-width:900px){ .split{grid-template-columns:1fr 1fr} .split--reverse .split__media{order:2} }
.split__media{aspect-ratio:4/3;background:var(--bg-alt);border-radius:var(--radius-media);overflow:hidden}
.split__media img{width:100%;height:100%;object-fit:cover}

/* Listen */
.checklist{list-style:none;display:grid;gap:12px}
.checklist li{position:relative;padding-left:30px}
.checklist li::before{content:"";position:absolute;left:2px;top:.55em;width:14px;height:7px;border-left:2px solid var(--brand);border-bottom:2px solid var(--brand);transform:rotate(-45deg)}
[data-stil="c"] .checklist li::before{border-color:var(--accent-2)}
.numbered{list-style:none;counter-reset:n;display:grid;gap:16px}
.numbered li{counter-increment:n;display:grid;grid-template-columns:40px 1fr;gap:12px}
.numbered li::before{content:counter(n,decimal-leading-zero);font-family:var(--font-label);color:var(--muted);font-size:14px;padding-top:3px}

/* Karten-Raster (Unterseiten) */
.cards{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.card{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--brand);padding:24px;border-radius:var(--radius)}
.card h3{font-size:21px}
.card p{margin-top:10px;color:var(--ink-soft);font-size:15.5px}
.card .checklist{margin-top:14px;font-size:15.5px}
.card--accent{border-top-color:var(--accent)}

/* Kriterien-Raster (z. B. Eignungs- oder Selbst-Check) */
.criteria{display:grid;gap:0;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));border-top:1px solid var(--line-strong)}
.criterion{padding:24px 24px 26px 0;border-bottom:1px solid var(--line)}
.criterion h3{font-size:20px}
.criterion p{margin-top:8px;color:var(--ink-soft);font-size:15.5px}
.criterion .verdict{display:block;margin-top:12px;font-family:var(--font-label);font-size:14px;color:var(--brand)}
[data-stil="c"] .criterion .verdict{color:var(--accent-2)}

/* Vergleichstabelle */
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius)}
table{border-collapse:collapse;width:100%;min-width:640px;font-size:15.5px;background:var(--surface)}
th,td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}
thead th{font-family:var(--font-label);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}
tbody th{font-weight:600}
tbody tr:last-child th,tbody tr:last-child td{border-bottom:none}

/* Hinweis-Boxen */
.callout{border:1px solid var(--line-strong);border-left:6px solid var(--brand);padding:22px 24px;background:var(--surface);border-radius:var(--radius)}
.callout--urgent{border-left-color:var(--urgent)}
.callout h2,.callout h3{font-size:22px}
.callout p{margin-top:8px;color:var(--ink-soft)}
.callout .btn-row{margin-top:18px}
.big-number{font-family:var(--font-display);font-size:clamp(28px,3.2vw,40px);font-weight:var(--h-weight);letter-spacing:-0.02em;margin-top:6px;display:block}

/* FAQ (native details – funktioniert ohne JS) */
.faq{border-bottom:1px solid var(--line)}
.faq details{border-top:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:20px 0;font-weight:600;font-size:17.5px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--font-label);font-size:22px;line-height:1;color:var(--brand);flex-shrink:0}
[data-stil="c"] .faq summary::after{color:var(--accent)}
.faq details[open] summary::after{content:"–"}
.faq details > div{padding:0 0 22px;color:var(--ink-soft);max-width:680px}

/* Unterseiten-Kopf */
.page-head{padding:clamp(40px,6vw,72px) 0 clamp(40px,5vw,64px);border-bottom:1px solid var(--line)}
.crumbs{font-size:14px;color:var(--muted);margin-bottom:22px}
.crumbs a{color:var(--muted)}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.crumbs li + li::before{content:"/";margin-right:6px}
.page-head__grid{display:grid;gap:32px;grid-template-columns:1fr}
@media (min-width:900px){ .page-head__grid{grid-template-columns:1.2fr .8fr;align-items:end} }
.page-head .display{font-size:clamp(38px,5vw,68px);margin-top:16px}
.page-head .lead{margin-top:20px}
.page-head__media{aspect-ratio:4/3;background:var(--bg-alt);border-radius:var(--radius-media);overflow:hidden}
.page-head__media img{width:100%;height:100%;object-fit:cover}
.jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.jump a{font-size:14.5px;font-weight:600;text-decoration:none;border:1px solid var(--line-strong);padding:8px 14px;color:var(--ink);border-radius:var(--radius-btn)}
.jump a:hover{background:var(--ink);color:var(--bg)}

/* CTA-Band */
.cta-band{background:var(--dark-bg);color:var(--dark-ink);padding:clamp(56px,8vw,96px) 0}
.cta-band .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:28px}
.cta-band .h2{max-width:720px}
.cta-band p{color:var(--dark-soft);margin-top:14px;max-width:560px}
.cta-band .btn--primary{background:var(--accent);color:#1A1206}
[data-stil="a"] .cta-band .btn--primary,:root:not([data-stil]) .cta-band .btn--primary{background:#F2F1EC;color:#0F1D24}
[data-stil="b"] .cta-band .btn--primary{background:#F7F2E8;color:#1D2B2D}
.cta-band .btn--primary:hover{filter:brightness(.95)}
.cta-band .btn--secondary{color:var(--dark-ink);border-color:var(--dark-soft)}
.cta-band .btn--secondary:hover{background:var(--dark-ink);color:var(--dark-bg)}

/* Demo-Erklärung (für Betriebsinhaber) */
.demo-info{border:1px dashed var(--line-strong);border-radius:var(--radius);padding:clamp(24px,4vw,40px);display:grid;gap:24px;grid-template-columns:1fr}
@media (min-width:900px){ .demo-info{grid-template-columns:.8fr 1.2fr} }
.demo-info ul{list-style:none;display:grid;gap:14px}
.demo-info li strong{display:block}
.demo-info li span{color:var(--ink-soft);font-size:15.5px}

/* Team-Platzhalter */
.team{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.team__photo{aspect-ratio:1;max-width:200px;background:var(--bg-alt);border:1px dashed var(--line-strong);display:grid;place-items:center;text-align:center;padding:16px;color:var(--muted);font-family:var(--font-label);font-size:13px;border-radius:var(--radius-media)}
.team h3{font-size:20px;margin-top:14px}
.team p{color:var(--ink-soft);font-size:15px;margin-top:4px}

/* ---------- 6. Anfrage-Assistent ---------- */
.wizard{display:grid;gap:clamp(28px,4vw,56px);grid-template-columns:1fr;align-items:start}
@media (min-width:1000px){ .wizard{grid-template-columns:minmax(0,1fr) 300px} }
.wizard__panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(20px,4vw,40px)}
.progress{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:28px}
.progress li{font-size:13px;color:var(--muted)}
.progress li::before{content:"";display:block;height:4px;background:var(--line);margin-bottom:8px;border-radius:var(--radius)}
.progress li[data-state="done"]::before,.progress li[data-state="current"]::before{background:var(--brand)}
[data-stil="c"] .progress li[data-state="done"]::before,[data-stil="c"] .progress li[data-state="current"]::before{background:var(--accent)}
.progress li[data-state="current"]{color:var(--ink);font-weight:600}
@media (max-width:599px){ .progress li span{display:none} .progress li[data-state="current"] span{display:inline} .progress{grid-template-columns:repeat(5,1fr)} .progress li[data-state="current"]{grid-column:span 1;white-space:nowrap} }
.step-title{font-size:clamp(26px,3vw,36px)}
.step-intro{margin-top:10px;color:var(--ink-soft)}
.fieldset{border:none;margin:28px 0 0;padding:0;min-width:0}
.fieldset legend{font-weight:600;font-size:17px;padding:0;margin-bottom:12px}
.fieldset legend .opt,.field label .opt{font-weight:400;color:var(--muted);font-size:15px}
.hint{display:block;font-size:14.5px;color:var(--muted);margin-top:-6px;margin-bottom:12px}
.options{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.options--compact{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.option{position:relative}
.option input{position:absolute;opacity:0;width:1px;height:1px}
.option label{display:flex;flex-direction:column;gap:4px;min-height:56px;justify-content:center;padding:14px 16px 14px 48px;border:1.5px solid var(--field-border);background:var(--field-bg);border-radius:var(--radius);cursor:pointer;position:relative;font-weight:500}
.option label small{font-weight:400;color:var(--muted);font-size:14.5px}
.option label::before{content:"";position:absolute;left:16px;top:50%;width:20px;height:20px;margin-top:-10px;border:2px solid var(--field-border);background:var(--field-bg);border-radius:50%}
.option input[type="checkbox"] + label::before{border-radius:var(--radius)}
.option input:checked + label{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}
[data-stil="c"] .option input:checked + label{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.option input:checked + label::before{border-color:var(--brand);background:var(--brand);box-shadow:inset 0 0 0 4px var(--field-bg)}
[data-stil="c"] .option input:checked + label::before{border-color:var(--accent);background:var(--accent)}
.option input[type="checkbox"]:checked + label::before{box-shadow:inset 0 0 0 3px var(--field-bg)}
.option input:focus-visible + label{outline:3px solid var(--focus);outline-offset:2px}
.option--big label{min-height:96px;padding-top:18px;padding-bottom:18px}
.option--big label strong{font-family:var(--font-display);font-size:21px;font-weight:var(--h-weight)}
.field{margin-top:22px;display:grid;gap:6px}
.field label{font-weight:600}
.field input,.field select,.field textarea{width:100%;min-height:50px;padding:12px 14px;font:inherit;font-size:16px;color:var(--ink);background:var(--field-bg);border:1.5px solid var(--field-border);border-radius:var(--radius)}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid var(--focus);outline-offset:1px;border-color:var(--focus)}
.field-row{display:grid;gap:0 16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
[aria-invalid="true"]{border-color:var(--error)!important}
.fieldset[aria-invalid="true"] .option label{border-color:var(--error)}
.error-msg{color:var(--error);font-size:15px;font-weight:500;display:flex;gap:8px;align-items:flex-start}
.error-msg::before{content:"!";flex:0 0 18px;height:18px;border-radius:50%;background:var(--error);color:var(--bg);font-size:12px;font-weight:700;display:grid;place-items:center;margin-top:2px}
.fieldset .error-msg{margin-top:10px}
.error-summary{border:2px solid var(--error);padding:16px 18px;margin-bottom:24px;border-radius:var(--radius)}
.error-summary h3{font-size:18px;color:var(--error);font-family:var(--font-body);letter-spacing:0}
.error-summary ul{margin-top:8px;padding-left:20px}
.error-summary a{color:var(--error)}
.wizard__nav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:36px;padding-top:24px;border-top:1px solid var(--line)}
.wizard__nav .btn--secondary[hidden]{display:none}
.inline-alert{margin-top:16px;padding:14px 16px;border-left:4px solid var(--urgent);background:var(--bg-alt);font-size:15.5px;border-radius:var(--radius)}
.summary{margin:24px 0 0}
.summary section{border-top:1px solid var(--line);padding:18px 0}
.summary__head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.summary h3{font-size:19px}
.summary__edit{background:none;border:none;padding:8px 0;font:inherit;font-size:15px;font-weight:600;color:var(--brand);text-decoration:underline;cursor:pointer;min-height:44px}
[data-stil="c"] .summary__edit{color:var(--accent-2)}
.summary dl{margin:10px 0 0;display:grid;grid-template-columns:minmax(120px,200px) 1fr;gap:6px 16px;font-size:15.5px}
.summary dt{color:var(--muted)}
.summary dd{margin:0;overflow-wrap:anywhere}
.wizard__aside{display:grid;gap:16px}
.aside-box{border:1px solid var(--line);padding:20px;border-radius:var(--radius);font-size:15.5px;background:var(--surface)}
.aside-box h2{font-size:18px;font-family:var(--font-body);letter-spacing:0;font-weight:600}
.aside-box p{margin-top:8px;color:var(--ink-soft)}
.aside-box--demo{border-style:dashed;border-color:var(--line-strong)}
.done{text-align:left}
.done__icon{width:56px;height:56px;border-radius:50%;background:var(--ok);display:grid;place-items:center;margin-bottom:20px}
.done__icon svg{width:28px;height:28px;stroke:#fff}
[data-stil="c"] .done__icon svg{stroke:#0E161B}

/* ---------- 7. Stil-spezifische Layouts ---------- */

/* === B: Werkstatt-Editorial === */
[data-stil="b"] .site-header{background:var(--bg)}
[data-stil="b"] .hero{padding:0 0 clamp(48px,6vw,88px)}
[data-stil="b"] .hero .wrap{max-width:1400px;padding:0 clamp(0px,2vw,24px)}
[data-stil="b"] .hero__grid{grid-template-columns:1fr;position:relative;min-height:min(78vh,720px)}
[data-stil="b"] .hero__media{position:absolute;inset:0;min-height:0}
[data-stil="b"] .hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(24,30,31,.45) 0%,rgba(24,30,31,.72) 38%,rgba(24,30,31,.92) 100%)}
[data-stil="b"] .hero__card{display:none}
[data-stil="b"] .hero__text{position:relative;z-index:1;justify-content:flex-end;padding:clamp(28px,5vw,64px);color:#F7F2E8;min-height:min(78vh,720px)}
[data-stil="b"] .hero .eyebrow{color:#EBCFB2}
[data-stil="b"] .hero__title{max-width:900px}
[data-stil="b"] .hero__title em{color:#EDBE95}
[data-stil="b"] .hero__lead{color:#E3E6E1}
[data-stil="b"] .hero__urgent{color:#E3E6E1}
[data-stil="b"] .hero__urgent a{color:#fff}
[data-stil="b"] .hero .btn--primary{background:#F7F2E8;color:#1D2B2D}
[data-stil="b"] .hero .btn--primary:hover{background:#fff}
[data-stil="b"] .hero .btn--secondary{color:#F7F2E8;border-color:rgba(247,242,232,.7)}
[data-stil="b"] .hero .btn--secondary:hover{background:#F7F2E8;color:#1D2B2D}
[data-stil="b"] .facts{border:none}
[data-stil="b"] .facts dt{font-family:var(--font-body)}
[data-stil="b"] .facts dd{font-family:var(--font-display);font-size:19px}
[data-stil="b"] .services{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));border-bottom:none;border-top:1px solid var(--line-strong)}
[data-stil="b"] .service a{display:flex;flex-direction:column;gap:12px;border-top:none;border-bottom:1px solid var(--line);padding:28px 28px 32px 0;height:100%}
[data-stil="b"] .service__nr{font-family:var(--font-display);font-style:italic;font-weight:600;font-size:56px;line-height:1;color:var(--accent)}
[data-stil="b"] .service__title{font-weight:500;font-size:28px}
[data-stil="b"] .service__more{color:var(--accent-text);margin-top:auto;text-decoration:underline;text-underline-offset:4px}
[data-stil="b"] .section--inverse{background:var(--bg-alt);color:var(--ink)}
[data-stil="b"] .section--inverse .eyebrow{color:var(--accent-text)}
[data-stil="b"] .section--inverse .lead{color:var(--ink-soft)}
[data-stil="b"] .entry__note{border-color:var(--line-strong);color:var(--ink-soft);border-style:dashed}
[data-stil="b"] .choices{grid-template-columns:1fr;gap:0;border-top:1px solid var(--line-strong)}
[data-stil="b"] .choice{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:6px 16px;min-height:0;padding:22px 0;border:none;border-bottom:1px solid #C9BEAA;color:var(--ink);border-radius:0}
[data-stil="b"] .choice:hover{background:none;color:var(--accent-text)}
[data-stil="b"] .choice__nr{display:none}
[data-stil="b"] .choice__title{font-size:clamp(22px,2.4vw,28px);font-weight:500;flex:1 1 260px}
[data-stil="b"] .choice__text{flex:1 1 100%;order:3;color:var(--ink-soft);opacity:1}
[data-stil="b"] .choice .arrow{margin:0;order:2;color:var(--accent-text)}
[data-stil="b"] .steps li{border-top:1px solid var(--line-strong)}
[data-stil="b"] .steps__nr{font-family:var(--font-display);font-style:italic;font-weight:600;font-size:34px;color:var(--accent)}
[data-stil="b"] .card{border-top:1px solid var(--line);}
[data-stil="b"] .card h3{font-size:24px}
[data-stil="b"] .badge{font-family:var(--font-body)}
[data-stil="b"] .callout{border-left-width:1px;border-top:4px solid var(--brand)}
[data-stil="b"] .callout--urgent{border-top-color:var(--urgent)}
[data-stil="b"] .page-head .display em{font-weight:600}
[data-stil="b"] .eyebrow{font-size:12px}

/* === C: Nordlicht-Kontrast === */
[data-stil="c"] .site-header{background:rgba(14,22,27,.96)}
[data-stil="c"] .header-actions .btn--primary{background:transparent;color:var(--accent);border-color:var(--accent)}
[data-stil="c"] .header-actions .btn--primary:hover{background:var(--accent);color:#1A1206}
[data-stil="c"] .hero__grid{grid-template-columns:1fr}
[data-stil="c"] .hero__text{display:grid;gap:0 48px;grid-template-columns:1fr}
@media (min-width:900px){
  [data-stil="c"] .hero__text{grid-template-columns:1.5fr 1fr;grid-template-areas:"eyebrow eyebrow" "title lead" "title actions" "title urgent";align-items:end}
  [data-stil="c"] .hero .eyebrow{grid-area:eyebrow}
  [data-stil="c"] .hero__title{grid-area:title}
  [data-stil="c"] .hero__lead{grid-area:lead}
  [data-stil="c"] .hero__actions{grid-area:actions}
  [data-stil="c"] .hero__urgent{grid-area:urgent}
}
[data-stil="c"] .hero__title{font-size:clamp(52px,8.6vw,136px)}
[data-stil="c"] .hero__title em:first-of-type{color:var(--accent)}
[data-stil="c"] .hero__title em + em{color:var(--accent-2)}
[data-stil="c"] .hero__media{min-height:0;aspect-ratio:21/9}
@media (max-width:899px){ [data-stil="c"] .hero__media{aspect-ratio:4/3} }
[data-stil="c"] .hero__card{display:none}
[data-stil="c"] .facts{border-color:var(--line)}
[data-stil="c"] .facts dt{color:var(--accent-2)}
[data-stil="c"] .services{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;border:none}
[data-stil="c"] .service a{display:flex;flex-direction:column;gap:12px;height:100%;background:var(--surface);border-top:4px solid var(--accent);padding:28px;border-radius:0 0 var(--radius) var(--radius)}
[data-stil="c"] .service[data-group="wasser"] a{border-top-color:var(--accent-2)}
[data-stil="c"] .service__nr{color:var(--accent);font-family:var(--font-label);font-weight:600}
[data-stil="c"] .service[data-group="wasser"] .service__nr{color:var(--accent-2)}
[data-stil="c"] .service__title{font-weight:700;letter-spacing:-0.03em}
[data-stil="c"] .service__more{color:var(--ink);margin-top:auto}
[data-stil="c"] .service a:hover .service__title{color:var(--accent)}
[data-stil="c"] .choice{border-color:var(--inverse-line);background:#fff}
[data-stil="c"] .choice:hover{background:var(--inverse-ink);color:var(--inverse-bg)}
[data-stil="c"] .entry__note{border-color:#7C898C;color:#33424A}
[data-stil="c"] .example{background:var(--surface)}
[data-stil="c"] .card{border-top-color:var(--accent)}
[data-stil="c"] .card--accent{border-top-color:var(--accent-2)}
[data-stil="c"] .callout{border-left-color:var(--accent-2)}
[data-stil="c"] .callout--urgent{border-left-color:var(--urgent)}
[data-stil="c"] .cta-band{background:var(--accent);color:#1A1206}
[data-stil="c"] .cta-band p{color:#3A2A10}
[data-stil="c"] .cta-band .btn--primary{background:#0E161B;color:#fff}
[data-stil="c"] .cta-band .btn--secondary{color:#1A1206;border-color:#1A1206}
[data-stil="c"] .cta-band .btn--secondary:hover{background:#1A1206;color:var(--accent)}
[data-stil="c"] .placeholder{background:var(--surface)}
[data-stil="c"] .page-head .display em{color:var(--accent)}

/* Druck */
@media print{ .demo-band,.site-header,.mobile-bar,.cta-band{display:none} body{padding:0} }

html:not(.js) .js-only{display:none}
@media (max-width:599px){ .summary dl{grid-template-columns:1fr;gap:2px} .summary dd{margin-bottom:10px;font-weight:500} }

.split > *, .hero__grid > *, .page-head__grid > *, .entry > *, .wizard > *{min-width:0}
h1,h2,h3{overflow-wrap:break-word}
.error-summary h2{font-size:18px;color:var(--error);font-family:var(--font-body);letter-spacing:0}

/* ---------- Nachbesserungen nach Designkritik ---------- */
/* 1 Sichtbarer Fokus auf dunklen/farbigen Flächen */
.section--inverse,.cta-band,.site-footer,.demo-band,[data-stil="b"] .hero__text{--focus:#F0C38E}
[data-stil="b"] .section--inverse{--focus:var(--brand)}
[data-stil="c"] .section--inverse,[data-stil="c"] .demo-band,[data-stil="c"] .cta-band{--focus:#0E161B}
/* 4 Formularzeilen */
.field-row{align-items:start}
.field{align-content:start}
.options--compact{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.option,.option label{height:100%}
.option label::before{top:18px;margin-top:0}
.option--big label::before{top:24px}
@media (min-width:600px){ #fs-anliegen .options{grid-template-columns:repeat(2,1fr)} }
.form-note{margin-top:28px;padding:14px 16px;border:1px dashed var(--line-strong);font-size:15px;color:var(--ink-soft);border-radius:var(--radius)}
/* 10 Tabelle mobil gestapelt */
@media (max-width:599px){
  .table-wrap{border:none;overflow:visible}
  table{min-width:0;background:none}
  thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  tbody tr{display:block;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;padding:6px 0}
  tbody th,tbody td{display:block;border:none;padding:8px 16px}
  tbody th{font-size:17px;padding-top:12px}
  tbody td::before{content:attr(data-label);display:block;font-family:var(--font-label);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}
}
/* 11 Notdienst mobil zuerst */
@media (max-width:767px){ .card--urgent{order:-1} }
.card--urgent{border-top-color:var(--urgent)!important}
.phone-ph{display:inline-flex;align-items:center;gap:12px}
.phone-ph svg{width:28px;height:28px;stroke:currentColor;flex-shrink:0}
/* 7 Stil-eigene Module unterhalb des Heros */
@media (min-width:900px){
  [data-stil="b"] .examples{grid-template-columns:1.5fr 1fr;gap:28px 40px}
  [data-stil="b"] .example:first-child{grid-row:span 2}
  [data-stil="b"] .example:first-child .example__img{aspect-ratio:4/5}
  [data-stil="b"] .example:not(:first-child){display:grid;grid-template-columns:200px 1fr;gap:20px;align-items:start}
  [data-stil="b"] .example:not(:first-child) .example__img{aspect-ratio:1}
  [data-stil="c"] .examples{grid-template-columns:1fr;gap:16px}
  [data-stil="c"] .example{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
  [data-stil="c"] .example__img{aspect-ratio:auto;min-height:260px}
  [data-stil="c"] .example__body{padding:32px 36px}
  [data-stil="c"] .example dl{grid-template-columns:1fr 1fr;gap:20px}
}
[data-stil="b"] .example{background:none;border:none;border-radius:0}
[data-stil="b"] .example__body{padding:18px 0 0}
[data-stil="b"] .example h3{font-size:26px}
[data-stil="b"] .example:not(:first-child) .example__body{padding-top:0}
[data-stil="b"] .example:not(:first-child) h3{font-size:21px;margin-top:10px}
[data-stil="b"] .voice{border:none;border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);background:none;border-radius:0;text-align:center;justify-items:center}
[data-stil="b"] .voice blockquote{font-style:italic;max-width:820px}
[data-stil="c"] .steps{position:relative;gap:28px}
[data-stil="c"] .steps li{border-top:none;padding-top:34px;position:relative}
[data-stil="c"] .steps li::before{content:"";position:absolute;top:8px;left:0;width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px var(--bg)}
[data-stil="c"] .steps li::after{content:"";position:absolute;top:14px;left:20px;right:-28px;height:2px;background:var(--line-strong)}
[data-stil="c"] .steps li:last-child::after{display:none}
[data-stil="c"] .section--alt .steps li::before{box-shadow:0 0 0 5px var(--bg-alt)}
[data-stil="c"] .steps__nr{color:var(--accent);font-weight:600}
[data-stil="c"] .voice{border:none;border-left:4px solid var(--accent-2);border-radius:0;background:var(--surface)}
[data-stil="c"] .steps{overflow-x:clip}
@media (max-width:599px){ [data-stil="c"] .steps li::after{display:none} }

/* ---------- Kit-Nachbesserungen (Kritik Dachwerk) ---------- */
.header-phone{display:none;align-items:center;gap:8px;font-weight:600;font-size:15px;color:var(--ink);text-decoration:none;white-space:nowrap}
.header-phone svg{width:18px;height:18px;stroke:currentColor}
.header-phone:hover{color:var(--brand)}
[data-stil="c"] .header-phone:hover{color:var(--accent)}
@media (min-width:1180px){ .header-phone{display:inline-flex} }
@media (max-width:599px){
  .wizard__nav{flex-direction:column-reverse}
  .wizard__nav .btn{width:100%}
}
@media (min-width:900px){
  [data-stil="b"] .example:first-child .example__img{aspect-ratio:4/3}
  [data-stil="b"] .examples{align-content:start;align-items:start}
}
[data-stil="c"] .hero__title{font-size:clamp(48px,6.4vw,88px)}
/* Seitenkopf je Stil unterschiedlich */
[data-stil="b"] .page-head__grid{grid-template-columns:1fr}
[data-stil="b"] .page-head__media{order:2;aspect-ratio:21/8;margin:0 calc(-1 * clamp(16px,4vw,32px))}
@media (min-width:1300px){ [data-stil="b"] .page-head__media{margin:0} }
[data-stil="b"] .page-head .display{max-width:16ch}
[data-stil="c"] .page-head__grid{grid-template-columns:1fr}
[data-stil="c"] .page-head__media{display:none}
[data-stil="c"] .page-head .display{font-size:clamp(44px,6.6vw,96px);max-width:14ch}
[data-stil="c"] .page-head{border-bottom:4px solid var(--accent)}

/* ---------- Bewegung (nur mit JS + ohne "Bewegung reduzieren") ---------- */
@media (prefers-reduced-motion: no-preference){
  .motion .rv{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1) var(--rv-delay,0ms),transform .7s cubic-bezier(.2,.7,.2,1) var(--rv-delay,0ms)}
  .motion .rv.is-in{opacity:1;transform:none}
  /* Hero baut sich gestaffelt auf */
  .motion .hero__text > *{animation:rv-up .8s cubic-bezier(.2,.7,.2,1) both}
  .motion .hero__text > :nth-child(2){animation-delay:.08s}
  .motion .hero__text > :nth-child(3){animation-delay:.18s}
  .motion .hero__text > :nth-child(4){animation-delay:.28s}
  .motion .hero__text > :nth-child(5){animation-delay:.38s}
  .motion .hero__media img{animation:rv-zoom 1.6s cubic-bezier(.2,.7,.2,1) both}
  .motion .page-head .display,.motion .page-head .lead,.motion .page-head .eyebrow{animation:rv-up .8s cubic-bezier(.2,.7,.2,1) both}
  .motion .page-head .lead{animation-delay:.12s}
  .btn{transition:background-color .2s,color .2s,border-color .2s,transform .2s}
  .btn:hover{transform:translateY(-2px)}
  .service a .service__title,.choice{transition:color .25s,background-color .25s,transform .25s}
  .choice:hover{transform:translateY(-3px)}
}
@keyframes rv-up{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes rv-zoom{from{transform:scale(1.08)}to{transform:none}}

/* Animationen dürfen nie seitliches Scrollen erzeugen */
main{overflow-x:clip}
