/* generiert von _engine/design.mjs aus config.design */
@font-face{font-family:'Archivo';src:url(/assets/fonts/archivo.woff2) format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{--font-body:'Archivo',system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-heading:'Archivo',system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;--fw-h:800;--fw-h3:700;--ls-h:-0.012em;--lh-h:1;--fs-h1:clamp(2.5rem,7vw,5rem);--fs-h2:clamp(1.7rem,3.4vw,2.6rem);--fs-hero:clamp(2.9rem,7.6vw,5.6rem);--r-xs:4px;--r-sm:6px;--r:8px;--r-lg:13px;--r-btn:6px;--r-chip:8px;--sec-gap:56px;--card-pad:20px;--card-gap:14px;--band-pad:44px;--wrap:1160px;--bg:#eef2f3;--surface:#ffffff;--ink:#0d2230;--muted:#4a5961;--line:#c3ced4;--dark:#0a2b3f;--accent:#ffd21a;--warm:#e6eaea;--orn-url:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%22%3E%3Crect%20x%3D%225%22%20y%3D%225%22%20width%3D%2254%22%20height%3D%2254%22%20rx%3D%226%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%223%22%2F%3E%3C%2Fsvg%3E");--orn-size:64px;--orn-op:0.075}
/* Design-Ebene der Verzeichnis-Engine (CONFIG-SCHEMA Abschnitt 5).
   Wird nur geladen, wenn config.design gesetzt ist. Der Build stellt Variablen und @font-face voran (siehe design.mjs).
   Varianten hängen als data-Attribute am <body>; fehlt ein Attribut, gilt der Standard aus style.css.
   Reihenfolge: style.css → design.css → <Ordner>/assets/theme.css. */

/* ---------- Grundlagen: Schrift, Fläche, Radius, Dichte ---------- */
body{font-family:var(--font-body);background:var(--bg);color:var(--ink);--surf-bg:var(--surface);--surf-border:1px solid var(--line);--surf-shadow:var(--shadow-sm);--surf-hover-border:color-mix(in srgb,var(--brand) 30%,var(--bg));--surf-hover-shadow:var(--shadow);--surf-edge:0 0 0 0 transparent}
h1,h2,h3,.brand,.stat strong,.factbar strong,.fact-card strong,.keyfacts dd,.card-title,.svc-tagline,.cost-total strong{font-family:var(--font-heading)}
h1,h2{font-weight:var(--fw-h);letter-spacing:var(--ls-h);line-height:var(--lh-h);hyphens:auto;overflow-wrap:break-word}
h3,.h3{font-weight:var(--fw-h3);hyphens:auto;overflow-wrap:break-word}
h1{font-size:var(--fs-h1)}
h2{font-size:var(--fs-h2)}
.hero h1{font-size:var(--fs-hero)}
.wrap{max-width:var(--wrap)}
.eyebrow{font-family:var(--font-body)}
body[data-type="editorial"] .eyebrow,body[data-type="dramatic"] .eyebrow{font-family:var(--font-mono);letter-spacing:.1em;font-size:.74rem}
.site-header{background:color-mix(in srgb,var(--bg) 94%,transparent)}
.site-footer{background:var(--warm)}
.btn-outline,.mobile-nav nav,.mobile-nav summary{background:var(--surface)}
.btn,.btn-lg{border-radius:var(--r-btn)}
.main-nav a,.mobile-nav nav a,.mobile-nav summary,.brand-mark{border-radius:var(--r-sm)}
.chip,.mini-chips li,.svc-list li>a,.svc-list li>span,.badge,.badge-pillar,.topic{border-radius:var(--r-chip)}
.topic{border-radius:var(--r-sm)}
.search,.hero-media,.city-media,.guide-media,.dark-hero-media{border-radius:var(--r)}
.search select,.search input,.contact-form input:not([type=checkbox]),.contact-form textarea,.avatar,.fact,.faq details,.note,.svc-link,.page-num,.crosssell-svcs a,.plain-links a,.official-list li,.problem-list li,.check-list li,.steps li,.steps li>span,.fact-card,.keyfacts>div,.factbar>div,.b2b-band,.b2b-band-icon,.claim-link,.placeholder{border-radius:var(--r-sm)}
.hero,.dark-hero,.cta-band{border-radius:var(--r-lg)}
.card,.tile,.city-tile,.panel,.stat,.trust-grid li,.deliver,.crosssell,.b2b,.contact-box,.svc-card,.contact-form{border-radius:var(--r)}
.avatar-lg{border-radius:var(--r)}

/* Flächen folgen --surf-* (Kartenstil) */
.card,.tile,.city-tile,.stat,.panel,.contact-box,.trust-grid li,.deliver,.svc-card,.contact-form{background:var(--surf-bg);border:var(--surf-border);box-shadow:var(--surf-shadow),var(--surf-edge)}
.chip,.search,.faq details,.svc-link,.crosssell-svcs a,.plain-links a,.official-list li,.page-num{background:var(--surface)}
.card:hover,.tile-link:hover,.city-tile:hover,.svc-card:hover{border-color:var(--surf-hover-border);box-shadow:var(--surf-hover-shadow),var(--surf-edge)}
.panel-tint{background:var(--tint);border-color:transparent;box-shadow:none}
/* aktiver Filter: .chip (Kartenfläche) darf .chip-active nicht überschreiben, auch nicht beim Hover */
.chip.chip-active,.chip.chip-active:hover{background:var(--brand);border-color:var(--brand);color:#fff}
.chip.chip-active b{color:#fff;opacity:.85}

/* Dichte */
.section{margin:var(--sec-gap) 0}
.band{padding:var(--band-pad) 0}
.cards{gap:var(--card-gap)}
.card{padding:var(--card-pad)}
@media (max-width:640px){.card{padding:min(var(--card-pad),14px)}.section{margin:calc(var(--sec-gap) * .78) 0}}

/* ---------- Kartenstile ---------- */
body[data-cards="flat-border"]{--surf-border:1.5px solid color-mix(in srgb,var(--ink) 24%,var(--bg));--surf-shadow:0 0 0 0 transparent;--surf-hover-shadow:0 0 0 0 transparent;--surf-hover-border:var(--brand)}
body[data-cards="elevated"]{--surf-border:1px solid transparent;--surf-shadow:0 1px 2px rgba(16,24,40,.05),0 10px 26px -12px rgba(16,24,40,.2);--surf-hover-border:transparent;--surf-hover-shadow:0 2px 4px rgba(16,24,40,.06),0 22px 44px -18px rgba(16,24,40,.34)}
body[data-cards="tinted-edge"]{--surf-bg:color-mix(in srgb,var(--tint) 50%,var(--surface));--surf-border:1px solid color-mix(in srgb,var(--brand) 14%,var(--bg));--surf-shadow:0 0 0 0 transparent;--surf-hover-shadow:0 0 0 0 transparent;--surf-hover-border:color-mix(in srgb,var(--brand) 40%,var(--bg));--surf-edge:inset 5px 0 0 var(--brand)}
body[data-cards="tinted-edge"] .card,body[data-cards="tinted-edge"] .tile,body[data-cards="tinted-edge"] .city-tile,body[data-cards="tinted-edge"] .deliver,body[data-cards="tinted-edge"] .svc-card{border-radius:0 var(--r) var(--r) 0}
body[data-cards="tinted-edge"] .avatar{background:var(--surface);color:var(--brand);box-shadow:inset 0 0 0 1.5px var(--brand)}
/* editorial-list: keine Kästen, Haarlinien, Überschriften groß */
body[data-cards="editorial-list"]{--surf-bg:transparent;--surf-border:0 solid transparent;--surf-shadow:0 0 0 0 transparent;--surf-hover-shadow:0 0 0 0 transparent;--surf-hover-border:transparent}
body[data-cards="editorial-list"] .card,body[data-cards="editorial-list"] .tile,body[data-cards="editorial-list"] .city-tile,body[data-cards="editorial-list"] .stat,body[data-cards="editorial-list"] .trust-grid li,body[data-cards="editorial-list"] .deliver,body[data-cards="editorial-list"] .svc-card{border-radius:0;border-top:2px solid var(--ink);padding-inline:0}
body[data-cards="editorial-list"] .svc-card{overflow:visible}
body[data-cards="editorial-list"] .cards{border-top:0;gap:0}
body[data-cards="editorial-list"] .card{border-top:0;border-bottom:1px solid var(--line);padding:22px 0}
body[data-cards="editorial-list"] .card:first-child{border-top:2px solid var(--ink)}
body[data-cards="editorial-list"] .card:hover{background:color-mix(in srgb,var(--tint) 45%,transparent)}
body[data-cards="editorial-list"] .avatar{display:none}
body[data-cards="editorial-list"] .card-body{display:flex;flex-direction:column}
body[data-cards="editorial-list"] .card-meta{order:-1;margin:0 0 4px;font-size:.74rem;font-weight:650;text-transform:uppercase;letter-spacing:.09em;color:var(--brand)}
body[data-cards="editorial-list"] .card-title{margin:0 0 6px;font-size:clamp(1.2rem,2.2vw,1.55rem)}
body[data-cards="editorial-list"] .mini-chips li{background:none;border:1px solid var(--line);border-radius:var(--r-chip)}
body[data-cards="editorial-list"] .tile,body[data-cards="editorial-list"] .city-tile{padding-top:18px}

/* ---------- Listenstile (Anbieter) ---------- */
.cards-head{display:none}
body[data-list="rows"] .cards{gap:0;border-top:1px solid var(--line)}
body[data-list="rows"] .card{align-items:center;gap:16px;padding:12px 8px;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;background:transparent}
body[data-list="rows"] .card:hover{background:color-mix(in srgb,var(--tint) 65%,transparent);box-shadow:none}
body[data-list="rows"] .avatar{width:44px;height:44px;border-radius:var(--r-sm);font-size:.92rem}
body[data-list="rows"] .card-body{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;column-gap:24px;align-items:center}
body[data-list="rows"] .card-title{grid-column:1;grid-row:1;margin:0;font-size:1.05rem}
body[data-list="rows"] .card-meta{grid-column:1;grid-row:2;margin:0;font-size:.86rem}
body[data-list="rows"] .card-meta+.card-line{grid-column:2;grid-row:1 / span 2;margin:0}
body[data-list="rows"] .card-line+.card-line,body[data-list="rows"] .mini-chips{display:none}
body[data-list="rows"] .card-actions{grid-column:3;grid-row:1 / span 2;margin:0;flex-wrap:nowrap}
body[data-list="rows"] .card-actions .btn[target]{display:none}
body[data-list="table"] .cards{gap:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--surface)}
body[data-list="table"] .cards-head,body[data-list="table"] .card{display:grid;grid-template-columns:40px minmax(0,1.5fr) minmax(0,1fr) minmax(0,1.3fr) auto;gap:0 18px;align-items:center;padding:10px 18px}
body[data-list="table"] .cards-head{background:var(--tint);font-size:.74rem;font-weight:650;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding-block:12px}
body[data-list="table"] .card{border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none;background:transparent}
body[data-list="table"] .card:nth-of-type(even){background:color-mix(in srgb,var(--tint) 35%,transparent)}
body[data-list="table"] .card:hover{background:color-mix(in srgb,var(--tint) 75%,transparent);box-shadow:none}
body[data-list="table"] .card-body{display:contents}
body[data-list="table"] .avatar{width:36px;height:36px;border-radius:var(--r-sm);font-size:.8rem}
body[data-list="table"] .card-title{margin:0;font-size:1rem}
body[data-list="table"] .card-meta{margin:0;font-size:.88rem}
body[data-list="table"] .card-meta+.card-line{margin:0}
body[data-list="table"] .card-line+.card-line,body[data-list="table"] .mini-chips{display:none}
body[data-list="table"] .card-actions{margin:0;flex-wrap:nowrap}
body[data-list="table"] .card-actions .btn[target]{display:none}
@media (max-width:900px){
  body[data-list="rows"] .card-body{grid-template-columns:minmax(0,1fr)}
  body[data-list="rows"] .card-title,body[data-list="rows"] .card-meta,body[data-list="rows"] .card-meta+.card-line,body[data-list="rows"] .card-actions{grid-column:1;grid-row:auto}
  body[data-list="rows"] .card{align-items:flex-start;flex-direction:row}
  body[data-list="rows"] .card-actions{margin-top:8px;flex-wrap:wrap}
  body[data-list="table"] .cards-head{display:none}
  body[data-list="table"] .card{grid-template-columns:40px minmax(0,1fr);align-items:start;gap:2px 14px}
  body[data-list="table"] .avatar{grid-row:1 / span 4}
  body[data-list="table"] .card-title,body[data-list="table"] .card-meta,body[data-list="table"] .card-meta+.card-line,body[data-list="table"] .card-actions{grid-column:2}
  body[data-list="table"] .card-actions{margin-top:8px;flex-wrap:wrap}
}

/* ---------- Header ---------- */
body[data-header="solid"] .site-header{background:var(--brand);border-bottom:0;color:#fff}
body[data-header="solid"] .brand,body[data-header="solid"] .main-nav a,body[data-header="solid"] .mobile-nav summary{color:#fff}
body[data-header="solid"] .brand-mark{background:#fff;color:var(--brand)}
body[data-header="solid"] .main-nav a:hover{background:rgba(255,255,255,.14)}
body[data-header="solid"] .main-nav .nav-quiet{color:color-mix(in srgb,#fff 86%,var(--brand))}
body[data-header="solid"] .main-nav .nav-cta{background:#fff;color:var(--brand);border-color:#fff}
body[data-header="solid"] .main-nav .nav-cta:hover{background:var(--tint)}
body[data-header="solid"] .mobile-nav summary{background:transparent;border-color:rgba(255,255,255,.5)}
body[data-header="solid"] .mobile-nav nav a{color:var(--ink)}
body[data-header="solid"] .site-header :focus-visible{outline-color:#fff}
body[data-header="underline"] .site-header{background:var(--bg);border-bottom:3px solid var(--brand);backdrop-filter:none}
body[data-header="underline"] .main-nav a{border-radius:0;box-shadow:inset 0 -3px 0 transparent;min-height:64px}
body[data-header="underline"] .main-nav a:hover{background:none;box-shadow:inset 0 -3px 0 var(--signal)}
body[data-header="underline"] .main-nav .nav-cta{min-height:44px;box-shadow:none;border:1.5px solid var(--brand);border-radius:var(--r-btn)}
body[data-header="underline"] .main-nav .nav-cta:hover{background:var(--brand);color:#fff;box-shadow:none}
body[data-header="underline"] .brand-mark{border-radius:var(--r-xs)}
@media (min-width:901px){
  body[data-header="centered"] .site-header{position:static;background:var(--bg);backdrop-filter:none}
  body[data-header="centered"] .header-inner{flex-direction:column;gap:0;padding-top:14px}
  body[data-header="centered"] .brand{font-size:1.5rem;justify-content:center}
  body[data-header="centered"] .main-nav{margin:0;justify-content:center;width:100%;border-top:1px solid var(--line);margin-top:8px;padding:2px 0}
  body[data-header="centered"] .main-nav .nav-cta{margin-left:16px}
  body[data-header="centered"] .profile-aside,body[data-header="centered"] .toc{top:20px}
}

/* ---------- Footer ---------- */
.footer-mark{display:none}
body[data-footer^="dark"] .site-footer{background:var(--dark);color:#d6dce3;border:0;margin:72px 12px 12px;border-radius:var(--r-lg);overflow:hidden}
body[data-footer^="dark"] .footer-grid a:not(.brand),body[data-footer^="dark"] .footer-note,body[data-footer^="dark"] .footer-note a,body[data-footer^="dark"] .footer-stand,body[data-footer^="dark"] .site-footer .muted{color:#d6dce3}
body[data-footer^="dark"] .site-footer .brand,body[data-footer^="dark"] .footer-grid strong{color:#fff}
body[data-footer^="dark"] .site-footer .brand-mark{background:#fff;color:var(--dark)}
body[data-footer^="dark"] .footer-grid a:not(.brand):hover{color:#fff}
body[data-footer^="dark"] .site-footer :focus-visible{outline-color:#fff}
body[data-footer="dark-wordmark"] .footer-mark{display:block;font-family:var(--font-heading);font-weight:var(--fw-h);font-size:clamp(3.2rem,13vw,10rem);letter-spacing:-.045em;line-height:.8;color:rgba(255,255,255,.07);white-space:nowrap;overflow:hidden;user-select:none;margin-top:28px;margin-bottom:-.06em}
@media (max-width:640px){body[data-footer^="dark"] .site-footer{margin:56px 8px 8px}}

/* ---------- Hero (Startseite) und Seitenköpfe ---------- */
.hero-orn{display:none}
.hero-chip{display:none;margin:0}
body[data-chip] .hero-chip{display:flex;position:absolute;left:14px;bottom:14px;z-index:2;align-items:baseline;gap:.7em;padding:.45em .85em;background:var(--surface);color:var(--ink);border-radius:var(--r-sm);font-size:.82rem;box-shadow:var(--shadow-sm)}
.hero-chip b{font-weight:650}
.hero-chip span{font-family:var(--font-mono);color:var(--muted);font-size:.92em}
.hero-media{position:relative}

/* split-image: kein Kasten, Bild mit versetztem Farbblock */
body[data-hero="split-image"] .hero{position:relative;isolation:isolate;background:none;border-radius:0;padding:clamp(8px,2vw,24px) 0}
body[data-hero="split-image"] .hero-has-img{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,5vw,64px)}
body[data-hero="split-image"] .hero-media{aspect-ratio:5/4.3;border-radius:var(--r-lg);box-shadow:16px 16px 0 var(--tint),var(--shadow)}
body[data-hero="split-image"] .hero .eyebrow{display:inline-flex;padding:4px 12px;border-radius:var(--r-chip);background:var(--tint)}
body[data-hero="split-image"] .hero .lead{color:var(--muted);opacity:1}
body[data-hero="split-image"] .hero-copy{position:relative;z-index:1}

/* arch-image: Bild im Bogen auf Farbfläche */
body[data-hero="arch-image"] .hero{position:relative;isolation:isolate;overflow:hidden;background:var(--tint)}
body[data-hero="arch-image"] .hero-has-img{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
body[data-hero="arch-image"] .hero-media{aspect-ratio:4/5;width:min(100%,400px);justify-self:center;border-radius:999px 999px var(--r-lg) var(--r-lg);box-shadow:0 0 0 10px color-mix(in srgb,var(--surface) 65%,transparent),var(--shadow)}
body[data-hero="arch-image"] .hero-copy{position:relative;z-index:1}
body[data-hero="arch-image"] .hero .lead{opacity:1;color:var(--ink)}
body[data-hero="arch-image"] .hero .eyebrow::before{content:"";display:inline-block;width:28px;height:3px;border-radius:2px;background:var(--signal);margin-right:10px;vertical-align:middle}

/* full-bleed-overlay: Bild über die ganze Breite, Text in Weiß auf Verlauf */
body[data-hero="full-bleed-overlay"]{overflow-x:clip}
body[data-hero="full-bleed-overlay"] .hero{position:relative;isolation:isolate;display:flex;align-items:center;width:100vw;margin:0 0 8px calc(50% - 50vw);min-height:clamp(520px,70vh,700px);padding:clamp(40px,7vw,88px) max(20px,calc((100vw - var(--wrap)) / 2 + 20px));border-radius:0;color:#fff;overflow:hidden;background:linear-gradient(135deg,var(--dark),color-mix(in srgb,var(--brand) 78%,#000))}
body[data-hero="full-bleed-overlay"] .hero-copy{position:relative;z-index:2;max-width:820px}
body[data-hero="full-bleed-overlay"] .hero-media{position:absolute;inset:0;z-index:0;aspect-ratio:auto;border-radius:0;box-shadow:none}
body[data-hero="full-bleed-overlay"] .hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,color-mix(in srgb,var(--dark) 94%,transparent) 0%,color-mix(in srgb,var(--dark) 82%,transparent) 48%,color-mix(in srgb,var(--dark) 28%,transparent) 100%)}
body[data-hero="full-bleed-overlay"][data-chip] .hero-chip{left:auto;bottom:auto;right:max(20px,calc((100vw - var(--wrap)) / 2 + 20px));top:24px}
body[data-hero="full-bleed-overlay"] .hero h1,body[data-hero="full-bleed-overlay"] .hero .lead,body[data-hero="full-bleed-overlay"] .hero .eyebrow,body[data-hero="full-bleed-overlay"] .hero-facts,body[data-hero="full-bleed-overlay"] .hero-facts a{color:#fff;opacity:1}
body[data-hero="full-bleed-overlay"] .hero .search{box-shadow:0 18px 50px -12px rgba(0,0,0,.5)}
body[data-hero="full-bleed-overlay"] .hero-facts :focus-visible{outline-color:#fff}
@media (max-width:900px){
  body[data-hero="full-bleed-overlay"] .hero{min-height:0;align-items:flex-end}
  body[data-hero="full-bleed-overlay"] .hero-media::after{background:color-mix(in srgb,var(--dark) 86%,transparent)}
  body[data-hero="full-bleed-overlay"][data-chip] .hero-chip{display:none}
}

/* editorial-typo: Riesenzeile, Lead rechts, Suchleiste als Balken, Panorama darunter */
body[data-hero="editorial-typo"] .hero{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);grid-template-areas:"eyebrow eyebrow" "title lead" "search search" "facts facts" "media media";gap:0 clamp(24px,5vw,72px);align-items:end;background:none;border-radius:0;border-top:2px solid var(--ink);margin-top:8px;padding:clamp(18px,3vw,32px) 0 0}
body[data-hero="editorial-typo"] .hero-copy{display:contents}
body[data-hero="editorial-typo"] .hero .eyebrow{grid-area:eyebrow}
body[data-hero="editorial-typo"] .hero h1{grid-area:title;max-width:none;margin:.1em 0 .3em;line-height:.98;letter-spacing:-.04em}
body[data-hero="editorial-typo"] .hero .lead{grid-area:lead;margin:0 0 .7em;opacity:1;color:var(--muted)}
body[data-hero="editorial-typo"] .hero .search{grid-area:search;max-width:none;margin:18px 0 12px;border-radius:var(--r);border:1px solid var(--ink);box-shadow:none}
body[data-hero="editorial-typo"] .hero-facts{grid-area:facts}
body[data-hero="editorial-typo"] .hero-media{grid-area:media;aspect-ratio:21/8;margin-top:22px;border-radius:var(--r-lg);box-shadow:none}
@media (max-width:900px){
  body[data-hero="editorial-typo"] .hero,body[data-hero="editorial-typo"] .hero-has-img{grid-template-columns:minmax(0,1fr);grid-template-areas:"eyebrow" "title" "lead" "search" "facts" "media"}
  body[data-hero="editorial-typo"] .hero-media{aspect-ratio:16/9}
}

/* search-card-pattern: mittig, Muster-Fläche, große Suchkarte */
body[data-hero="search-card-pattern"] .hero{position:relative;isolation:isolate;display:block;text-align:center;background:var(--tint);padding:clamp(40px,7vw,80px) clamp(16px,4vw,48px) clamp(36px,5vw,56px)}
body[data-hero="search-card-pattern"] .hero h1,body[data-hero="search-card-pattern"] .hero .lead{margin-inline:auto}
body[data-hero="search-card-pattern"] .hero h1{max-width:20ch}
body[data-hero="search-card-pattern"] .hero .lead{opacity:1;color:var(--ink)}
body[data-hero="search-card-pattern"] .hero-copy{position:relative;z-index:1}
body[data-hero="search-card-pattern"] .hero .search{margin:28px auto 0;max-width:980px;padding:14px;text-align:left;border-radius:var(--r);box-shadow:var(--shadow),0 28px 60px -24px rgba(16,24,40,.35)}
body[data-hero="search-card-pattern"] .hero-facts{justify-content:center}

/* Seitenköpfe (Stadt, Liste, Ratgeber) passend zur Hero-Variante */
.page-head{position:relative;isolation:isolate}
body[data-hero="editorial-typo"] .page-head{border-top:2px solid var(--ink);padding-top:20px;margin-top:6px}
body[data-hero="editorial-typo"] .page-head h1{font-size:clamp(2.2rem,5vw,3.8rem);letter-spacing:-.04em;line-height:1}
body[data-hero="split-image"] .page-head h1::after,body[data-hero="arch-image"] .page-head h1::after{content:"";display:block;width:56px;height:4px;border-radius:2px;background:var(--signal);margin-top:14px}
body[data-hero="search-card-pattern"] .page-head{background:var(--tint);border-radius:var(--r-lg);padding:clamp(20px,4vw,40px);margin-top:12px;overflow:hidden}
body[data-hero="full-bleed-overlay"] .city-head.has-img{display:flex;align-items:flex-end;position:relative;min-height:clamp(260px,32vw,380px);padding:clamp(22px,4vw,44px);border-radius:var(--r-lg);overflow:hidden;color:#fff;background:var(--dark);margin-top:12px}
body[data-hero="full-bleed-overlay"] .city-head.has-img .city-media{position:absolute;inset:0;z-index:-2;aspect-ratio:auto;border-radius:0;box-shadow:none;order:0}
body[data-hero="full-bleed-overlay"] .city-head.has-img::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,color-mix(in srgb,var(--dark) 45%,transparent),color-mix(in srgb,var(--dark) 92%,transparent))}
body[data-hero="full-bleed-overlay"] .city-head.has-img h1,body[data-hero="full-bleed-overlay"] .city-head.has-img .lead,body[data-hero="full-bleed-overlay"] .city-head.has-img .muted{color:#fff}
body[data-hero="full-bleed-overlay"] .city-head.has-img .city-head-copy{max-width:900px}
body[data-hero="full-bleed-overlay"] .city-head.has-img h1{font-size:clamp(2rem,4.6vw,3.6rem)}

/* ---------- Sektions-Rhythmus ---------- */
body[data-rhythm="alternating"] main>.section{margin:0;padding:var(--band-pad) 0}
body[data-rhythm="alternating"] main>.section:nth-child(even of .section){background:var(--tint);box-shadow:0 0 0 100vmax var(--tint);clip-path:inset(0 -100vmax);--surf-bg:var(--surface)}
body[data-rhythm="alternating"] main>.section:nth-child(even of .section) :is(.steps li,.check-list li,.keyfacts>div,.factbar>div,.fact){background:var(--surface)}
body[data-rhythm="ruled"] main>.section{margin:0;padding:var(--sec-gap) 0;border-top:1px solid color-mix(in srgb,var(--ink) 35%,var(--bg))}
body[data-rhythm="ruled"] main>.section.band{border-top:0}
body[data-rhythm="panels"]{background:color-mix(in srgb,var(--tint) 70%,var(--bg))}
body[data-rhythm="panels"] main>.section{margin:20px 0;padding:clamp(20px,4vw,40px);background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);--surf-bg:color-mix(in srgb,var(--tint) 55%,var(--surface))}
body[data-rhythm="panels"] main>.section.band{clip-path:none;box-shadow:var(--shadow-sm);background:var(--surface)}
body[data-rhythm="panels"]:not([data-header]) .site-header{background:color-mix(in srgb,var(--tint) 70%,var(--bg))}
@media (max-width:640px){body[data-rhythm="panels"] main>.section{border-radius:var(--r);margin:14px -8px;padding:18px}}

/* ---------- Abschnitts-Überschriften ---------- */
body[data-headings="rule"] main>.section h2:first-child,body[data-headings="rule"] .section-head{padding-bottom:10px;border-bottom:2px solid var(--ink)}
body[data-headings="rule"] .section-head h2{margin-bottom:0}
body[data-headings="numbered"] main{counter-reset:sec}
body[data-headings="numbered"] main>.section>h2:first-child::before,body[data-headings="numbered"] main>.section>.section-head h2::before,body[data-headings="numbered"] main>.section>.section-head>div>h2::before{counter-increment:sec;content:"0" counter(sec);display:block;font-family:var(--font-mono);font-size:.78rem;font-weight:500;letter-spacing:.08em;color:var(--muted);margin-bottom:.45em}
body[data-headings="marker"] main>.section>h2:first-child::before,body[data-headings="marker"] main>.section>.section-head h2::before,body[data-headings="marker"] main>.section>.section-head>div>h2::before{content:"";display:inline-block;width:.5em;height:.5em;background:var(--signal);margin-right:.5em;vertical-align:.08em;border-radius:var(--r-xs)}

/* ---------- Icon-Stile ---------- */
body[data-icons="thin"] svg{stroke-width:1.3}
body[data-icons="bold"] svg{stroke-width:2.4}
body[data-icons="square"] svg{stroke-linecap:square;stroke-linejoin:miter}
body[data-icons="duotone"] :is(.i-pin,.i-store,.i-monitor,.i-calendar,.i-heart,.i-shield,.i-data,.i-info,.i-clock,.i-globe,.i-mail,.i-tag,.i-megaphone,.i-users,.i-flag,.i-map):not(.brand-mark *){fill:color-mix(in srgb,var(--brand) 16%,transparent)}
body[data-icons="badge"] :is(.fact,.trust-grid li,.deliver,.check-list li,.problem-list li,.crosssell-svcs a,.plain-links a,.svc-link,.b2b-band)>svg,body[data-icons="badge"] :is(.crosssell-svcs a,.plain-links a,.svc-link)>svg{box-sizing:content-box;padding:8px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--brand) 12%,var(--surface));color:var(--brand)}
body[data-icons="badge"] .problem-list svg{background:color-mix(in srgb,var(--signal) 12%,var(--surface));color:var(--signal)}
body[data-icons="badge"] .check-list svg{margin-top:0}

/* ---------- Ornament (Maske aus config.design.ornament, Farbe aus dem Branchen-Thema) ---------- */
body[data-orn] .hero-orn,body[data-orn] .page-head::before,body[data-orn] .cta-band::before,body[data-orn] .dark-hero::before,body[data-orn] .site-footer::before{
  content:"";position:absolute;pointer-events:none;z-index:0;display:block;background:var(--brand);opacity:var(--orn-op);
  -webkit-mask-image:var(--orn-url),linear-gradient(var(--orn-dir,to left),#000 0%,transparent 78%);mask-image:var(--orn-url),linear-gradient(var(--orn-dir,to left),#000 0%,transparent 78%);
  -webkit-mask-size:var(--orn-size),100% 100%;mask-size:var(--orn-size),100% 100%;-webkit-mask-repeat:repeat,no-repeat;mask-repeat:repeat,no-repeat;
  -webkit-mask-composite:source-in;mask-composite:intersect}
body[data-orn]:not([data-orn-in~="hero"]) .hero-orn,body[data-orn]:not([data-orn-in~="head"]) .page-head::before,body[data-orn]:not([data-orn-in~="band"]) .cta-band::before,body[data-orn]:not([data-orn-in~="band"]) .dark-hero::before,body[data-orn]:not([data-orn-in~="footer"]) .site-footer::before{display:none}
body[data-orn] .hero-orn{inset:0;border-radius:inherit;z-index:-1}
body[data-orn][data-hero="split-image"] .hero-orn{inset:-10px -3vw -10px 38%;border-radius:var(--r-lg)}
body[data-orn][data-hero="search-card-pattern"] .hero-orn{--orn-dir:to bottom;opacity:calc(var(--orn-op) * 1.3);-webkit-mask-image:var(--orn-url);mask-image:var(--orn-url);-webkit-mask-size:var(--orn-size);mask-size:var(--orn-size);-webkit-mask-repeat:repeat;mask-repeat:repeat}
body[data-orn][data-hero="editorial-typo"] .hero-orn{inset:0 0 auto auto;width:44%;height:60%}
body[data-orn][data-hero="full-bleed-overlay"] .hero-orn{background:#fff;opacity:calc(var(--orn-op) * .6);z-index:1}
body[data-orn] .page-head::before{inset:0 0 auto auto;width:min(46%,440px);height:100%;z-index:-1}
body[data-orn][data-hero="search-card-pattern"] .page-head::before{width:100%;--orn-dir:to bottom}
body[data-orn] .cta-band,body[data-orn] .dark-hero{position:relative;overflow:hidden;isolation:isolate}
body[data-orn] .cta-band::before,body[data-orn] .dark-hero::before{inset:0;background:#fff;opacity:calc(var(--orn-op) * .55);z-index:-1}
body[data-orn] .site-footer{position:relative;isolation:isolate;overflow:hidden}
body[data-orn] .site-footer::before{inset:0;z-index:-1;--orn-dir:to bottom;opacity:calc(var(--orn-op) * .5)}
body[data-orn][data-footer^="dark"] .site-footer::before{background:#fff;opacity:calc(var(--orn-op) * .4)}
@media (max-width:640px){body[data-orn] .page-head::before{width:70%}}

/* ---------- Bewegung ---------- */
.text-link svg,.city-tile svg{transition:translate .2s}
.text-link:hover svg,.city-tile:hover svg{translate:3px 0}
body[data-motion="none"] *,body[data-motion="none"] *::before,body[data-motion="none"] *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
@keyframes d-rise{from{opacity:0;transform:translateY(.5em)}to{opacity:1;transform:none}}
@keyframes d-reveal{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:no-preference){
  body[data-motion="lively"] :is(.card,.tile-link,.city-tile,.svc-card,.stat,.svc-link){transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s,border-color .2s,background .2s}
  body[data-motion="lively"] :is(.card,.tile-link,.city-tile,.svc-card,.svc-link):hover{transform:translateY(-3px)}
  body[data-motion="lively"] .btn:active{transform:scale(.97)}
  body[data-motion="lively"] .hero :is(.eyebrow,h1,.lead,.search,.hero-facts){animation:d-rise .8s cubic-bezier(.2,.7,.2,1) both}
  body[data-motion="lively"] .hero h1{animation-delay:.08s}
  body[data-motion="lively"] .hero .lead{animation-delay:.2s}
  body[data-motion="lively"] .hero .search{animation-delay:.32s}
  body[data-motion="lively"] .hero-facts{animation-delay:.44s}
  @supports (animation-timeline:view()){
    body[data-motion="lively"] main>.section :is(.tile,.city-tile,.stat,.svc-card,.deliver,.trust-grid li,.fact-card){animation:d-reveal linear both;animation-timeline:view();animation-range:entry 0% entry 40%}
  }
}
@media (max-width:900px){
  body[data-hero="split-image"] .hero-media{box-shadow:10px 10px 0 var(--tint),var(--shadow);margin-right:10px}
  body[data-hero="arch-image"] .hero-has-img{grid-template-columns:1fr}
}
@media (max-width:640px){
  body[data-hero="search-card-pattern"] .hero .search{padding:10px}
}

/* ---------- heroShape: Hero-Bild in beliebiger Form (SVG-Maske aus config.design.heroShape) ---------- */
body[data-shape] .hero-media{aspect-ratio:var(--shape-ar);width:min(100%,440px);justify-self:center;border-radius:0;background:none;overflow:visible;box-shadow:none;filter:drop-shadow(0 16px 22px rgba(0,0,0,.16))}
body[data-shape] .hero-media img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;-webkit-mask:var(--shape-url) center/100% 100% no-repeat;mask:var(--shape-url) center/100% 100% no-repeat}
body[data-shape] .hero-media::before,body[data-shape] .hero-media::after{display:none}
body[data-shape] .hero-chip{z-index:2}
@media (max-width:900px){body[data-shape] .hero-media{width:min(78%,340px)}}
