/* ==========================================================================
   brandnext Polish 2026-11 (Freigabe Jelena, 09.11.2026)
   Greift nur, wenn <html> die Klasse pol-on hat (Vorschau: ?polish=1).
   Inhalte bleiben unverändert, nur Form und System.
   ========================================================================== */

/* ---------- Grundregeln ---------- */
html.pol-on{--pol-r-btn:6px;--pol-r-card:10px;--pol-line:#E4E6E2}

/* Buttons: eine Form für alle, eckig 6 px */
html.pol-on .c-btn,
html.pol-on button.c-btn,
html.pol-on .c-filter__btn,
html.pol-on [class*="__chip"],
html.pol-on [class*="--pill"]{border-radius:var(--pol-r-btn)}

/* Keine Versalien, nirgends */
html.pol-on body *:not(svg):not(svg *){text-transform:none!important}
html.pol-on .pol-was-caps{letter-spacing:normal!important}
html.pol-on .c-footer__title{font-size:14px;font-weight:500;color:rgba(255,255,255,.92)}

/* Schriftskala: H2 einheitlich */
html.pol-on .c-section-head__title,
html.pol-on .c-rich-text__headline,
html.pol-on .c-related__headline,
html.pol-on .c-cta-band__headline{font-size:clamp(32px,3.2vw,44px);font-weight:300;line-height:1.1;letter-spacing:-.02em}

/* Abstände: drei Stufen, Sektionen 120 / 72 mobil */
html.pol-on .l-section{padding-top:clamp(72px,8.3vw,120px);padding-bottom:clamp(72px,8.3vw,120px)}
html.pol-on .c-section-head{margin-bottom:48px}
html.pol-on .c-rich-text__headline{margin-bottom:28px}

/* ---------- Cards (Element 10) ---------- */
html.pol-on .c-cards--boxed .c-card{border-radius:var(--pol-r-card);border-color:var(--pol-line)}
html.pol-on .c-cards--boxed .c-card__body{padding:32px;display:grid;gap:12px;align-content:start}
html.pol-on .c-cards--boxed .c-card__tag{letter-spacing:0;font-size:14px;margin:0}
html.pol-on .c-cards--boxed .c-card__title{margin:0}
html.pol-on .c-cards--boxed .c-card__text p{margin:0 0 10px}
html.pol-on .c-cards--boxed .c-card__text p:last-child{margin:0}
html.pol-on .c-cards--boxed .c-card__text strong{font-weight:500;color:var(--c-ink,#0B140C)}

/* Feature-Liste: bleibt wie heute (Linien, zweispaltig, ohne Icons), entspricht Element 4 */

/* ---------- Weiterlesen-Leiste (Element 22) ---------- */
html.pol-on .c-related__headline{margin-bottom:28px}
html.pol-on .c-related__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0;border-top:1px solid var(--c-ink,#0B140C);list-style:none;margin:0;padding:0}
html.pol-on .c-related__item{border:0;margin:0}
html.pol-on .c-related__item + .c-related__item{border-left:1px solid var(--pol-line)}
html.pol-on .c-related__link{display:grid!important;grid-template-columns:1fr!important;grid-template-areas:none!important;gap:8px;align-content:start;padding:24px 24px 8px;height:100%;text-decoration:none;border:0}
html.pol-on .c-related__link > *{grid-column:1!important;grid-row:auto!important}
html.pol-on .c-related__item:first-child .c-related__link{padding-left:0}
html.pol-on .c-related__title{font-size:18px;font-weight:500}
html.pol-on .c-related__text{font-size:15px;line-height:1.55}
html.pol-on .c-related__arrow{width:18px;height:18px;margin-top:4px;color:var(--c-forest,#3F6B42);transition:transform .2s}
html.pol-on .c-related__link:hover .c-related__title{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
html.pol-on .c-related__link:hover .c-related__arrow{transform:translateX(4px)}
@media (max-width:767px){
  html.pol-on .c-related__list{grid-template-columns:1fr}
  html.pol-on .c-related__item + .c-related__item{border-left:0;border-top:1px solid var(--pol-line)}
  html.pol-on .c-related__link{padding:20px 0}
}

/* ---------- Abschluss mit Person (Element 15) ---------- */
html.pol-on .c-cta-band.pol-ctap{background:transparent;padding:0 0 clamp(72px,8.3vw,120px)}
html.pol-on .c-cta-band.pol-ctap .c-cta-band__inner{box-sizing:border-box;max-width:1280px;width:calc(100% - 2*clamp(16px,4vw,80px));margin-inline:auto;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"face head btn" "face text btn";gap:6px 32px;align-items:center;text-align:left;background:#0B140C;color:#fff;border-radius:var(--pol-r-card);padding:36px clamp(24px,4vw,48px)}
html.pol-on .c-cta-band.pol-ctap .pol-face{grid-area:face;width:96px;height:96px;border-radius:50%;overflow:hidden;margin:0}
html.pol-on .c-cta-band.pol-ctap .pol-face img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;display:block}
html.pol-on .c-cta-band.pol-ctap .c-cta-band__headline{grid-area:head;margin:0;font-size:clamp(24px,2.2vw,30px);align-self:end}
html.pol-on .c-cta-band.pol-ctap .c-cta-band__text{grid-area:text;margin:0;max-width:60ch;color:rgba(255,255,255,.75);align-self:start}
html.pol-on .c-cta-band.pol-ctap .c-actions{grid-area:btn;margin:0;justify-content:flex-end}
@media (max-width:860px){
  html.pol-on .c-cta-band.pol-ctap .c-cta-band__inner{grid-template-columns:1fr;grid-template-areas:"face" "head" "text" "btn";gap:14px}
  html.pol-on .c-cta-band.pol-ctap .pol-face{width:72px;height:72px}
  html.pol-on .c-cta-band.pol-ctap .c-actions{justify-content:flex-start;margin-top:8px}
}

/* ---------- Einspaltiger Text linksbündig (Element 3) ---------- */
html.pol-on .c-rich-text .l-container--narrow{max-width:1344px;margin-inline:auto}
html.pol-on .c-rich-text .c-rich-text__headline{max-width:760px;margin-left:0;text-align:left}
html.pol-on .c-rich-text .c-prose{max-width:none;margin:0;text-align:left}
html.pol-on .c-rich-text .c-prose > *:not([data-bn-rechner]):not(script):not(style){max-width:760px}
/* Formulare und Rechner bleiben mittig wie bisher */
html.pol-on .c-rich-text [data-bn-rechner]{max-width:760px;margin-left:auto;margin-right:auto}

/* ---------- Farbregel (Freigabe 09.11.2026) ----------
   Standard "Ruhig": Abschnitte wechseln Weiß und Hellgrau, Cards ohne Bild in Salbei.
   Optional "Warm" je Seite (nur wenn das Hero-Bild warm ist): Hellgrau wird zu Beige.
   Höchstens drei Flächenfarben pro Seite. Kein Dunkelgrün als Fläche. */
html.pol-on{--pol-bg-alt:#F3F4F2;--pol-card:#DCE8DC;--pol-warm:#F1ECDF}
html.pol-on main > section.pol-alt{background:var(--pol-bg-alt)}
html.pol-on.pol-warm main > section.pol-alt{background:var(--pol-warm)}
html.pol-on .c-cards--boxed .c-card:not(.c-card--media){background:var(--pol-card);border-color:transparent}
html.pol-on main > section.pol-alt .c-features__item{border-color:rgba(11,20,12,.12)}
html.pol-on .c-cards--boxed .c-card__tag{background:none!important;padding:0!important}

/* ---------- Dunkelmodus (Freigabe 09.11.2026) ----------
   Abschnitte wechseln Schwarz und Graphit. Salbei-Flächen (pol-accent) setzt bn-polish.js:
   der Abschnitt mit Cards ohne Bild und der Text direkt vor der Fall-Liste. */
html.pol-on[data-theme="dark"]{--pol-bg-alt:#1F2120;--pol-line:rgba(255,255,255,.14)}
/* Salbei-Flächen mit dunkler Schrift */
html.pol-on[data-theme="dark"] body main > section.pol-accent{background:#DCE8DC!important;color:#1C231D}
html.pol-on[data-theme="dark"] body main > section.pol-accent :is(h2,h3,.c-section-head__title,.c-rich-text__headline){color:#0B140C!important}
html.pol-on[data-theme="dark"] body main > section.pol-accent :is(.c-section-head__intro,.c-prose,.c-prose p,.c-prose li){color:#2E352F!important}
html.pol-on[data-theme="dark"] body main > section.pol-accent .c-prose a{color:#2C4D2F!important}
/* Cards auf Salbei: dunkel mit heller Schrift (hell und dunkel immer als Paar) */
html.pol-on[data-theme="dark"] body main .c-cards--boxed .c-card:not(.c-card--media){background:#0B140C!important;border-color:transparent}
html.pol-on[data-theme="dark"] body main .c-cards--boxed .c-card:not(.c-card--media) :is(.c-card__title,.c-card__title a,.c-card__text strong){color:#fff!important}
html.pol-on[data-theme="dark"] body main .c-cards--boxed .c-card:not(.c-card--media) .c-card__text{color:rgba(255,255,255,.78)!important}
html.pol-on[data-theme="dark"] body main .c-cards--boxed .c-card:not(.c-card--media) .c-card__tag{color:#E3B85C!important}
@media (prefers-color-scheme:dark){
html.pol-on:not([data-theme="light"]){--pol-bg-alt:#1F2120;--pol-line:rgba(255,255,255,.14)}
/* Salbei-Flächen mit dunkler Schrift */
html.pol-on:not([data-theme="light"]) body main > section.pol-accent{background:#DCE8DC!important;color:#1C231D}
html.pol-on:not([data-theme="light"]) body main > section.pol-accent :is(h2,h3,.c-section-head__title,.c-rich-text__headline){color:#0B140C!important}
html.pol-on:not([data-theme="light"]) body main > section.pol-accent :is(.c-section-head__intro,.c-prose,.c-prose p,.c-prose li){color:#2E352F!important}
html.pol-on:not([data-theme="light"]) body main > section.pol-accent .c-prose a{color:#2C4D2F!important}
/* Cards auf Salbei: dunkel mit heller Schrift (hell und dunkel immer als Paar) */
html.pol-on:not([data-theme="light"]) body main .c-cards--boxed .c-card:not(.c-card--media){background:#0B140C!important;border-color:transparent}
html.pol-on:not([data-theme="light"]) body main .c-cards--boxed .c-card:not(.c-card--media) :is(.c-card__title,.c-card__title a,.c-card__text strong){color:#fff!important}
html.pol-on:not([data-theme="light"]) body main .c-cards--boxed .c-card:not(.c-card--media) .c-card__text{color:rgba(255,255,255,.78)!important}
html.pol-on:not([data-theme="light"]) body main .c-cards--boxed .c-card:not(.c-card--media) .c-card__tag{color:#E3B85C!important}
}

/* ---------- Abschluss mit Person: Akzent (Freigabe 09.11.2026) ----------
   Standard sattes Grün, hell und dunkel gleich. Auf "warmen" Seiten (pol-warm) Beige. */
html.pol-on:not(.x) body .c-cta-band.pol-ctap .c-cta-band__inner{background:#2C4D2F;border:0}
html.pol-on:not(.x) body .c-cta-band.pol-ctap .c-cta-band__headline{color:#fff!important}
html.pol-on:not(.x) body .c-cta-band.pol-ctap .c-cta-band__text{color:rgba(255,255,255,.8)!important}
html.pol-on:not(.x) body .c-cta-band.pol-ctap .c-btn{background:#fff!important;color:#0B140C!important;border-color:#fff!important}
html.pol-on.pol-warm:not(.x) body .c-cta-band.pol-ctap .c-cta-band__inner{background:#F1ECDF}
html.pol-on.pol-warm:not(.x) body .c-cta-band.pol-ctap .c-cta-band__headline{color:#0B140C!important}
html.pol-on.pol-warm:not(.x) body .c-cta-band.pol-ctap .c-cta-band__text{color:#3A423B!important}
html.pol-on.pol-warm:not(.x) body .c-cta-band.pol-ctap .c-btn{background:#0B140C!important;color:#fff!important;border-color:#0B140C!important}

/* Rubrikzeile in Salbei-Cards: dunkelgrün statt Gold, doppelte Zeilen ausgeblendet */
html.pol-on .c-card__tag.pol-hide{display:none!important}
html.pol-on .c-cards--boxed .c-card:not(.c-card--media) .c-card__tag{color:#2C4D2F}

/* Max. 3 Flächenfarben: auf Beige-Abschnitten aus dem CMS bleiben Cards weiß */
html.pol-on .c-cards.l-ground--sand .c-card:not(.c-card--media){background:#fff;border-color:var(--pol-line)}

/* ---------- Startseite und alle Seiten: Beige aus dem CMS wird durch den Weiß/Hellgrau-Wechsel ersetzt ---------- */
html.pol-on main > section.pol-unsand{background:transparent!important}
html.pol-on main > section.pol-unsand.pol-alt{background:var(--pol-bg-alt)!important}
html.pol-on main > section.c-cta-band--note:not(.pol-alt){background:transparent!important}
html.pol-on .pol-hide{display:none!important}

/* Laubert-Teaser: mehr Luft nach unten */
html.pol-on .lb-intro{padding-bottom:clamp(56px,7vw,104px)!important}

/* Ablauf (c-steps): Fortschrittsleiste statt Nummern (Element 13) */
html.pol-on .c-steps__list{counter-reset:none;list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0}
html.pol-on .c-steps__item{border-top:3px solid #E6E8E3;padding:20px 24px 0 0;margin:0;cursor:pointer;transition:border-color .3s}
html.pol-on .c-steps__item.pol-done{border-top-color:var(--c-forest,#3F6B42)}
html.pol-on .c-steps__item::before,html.pol-on .c-steps__item::after{display:none!important}
html.pol-on .c-steps__title{margin:0 0 8px}
@media (max-width:767px){html.pol-on .c-steps__list{grid-template-columns:1fr 1fr;row-gap:28px}}

/* ---------- Header: Bild vollflächig, 15 % abgedunkelt, helle Schrift (nicht auf /thema/ und /magazin/) ---------- */
html.pol-on .pol-herofull{position:relative;overflow:hidden;min-height:clamp(440px,46vw,620px);display:flex;align-items:flex-end;padding:0!important;border-bottom:0;background:#0B140C}
html.pol-on .pol-herofull > .l-container{position:static;width:100%;padding-top:clamp(88px,9vw,128px);padding-bottom:clamp(48px,6vw,88px)}
html.pol-on .pol-herofull .c-page-hero__inner{display:block}
html.pol-on .pol-herofull .c-page-hero__content,html.pol-on .pol-herofull .c-breadcrumb{position:relative;z-index:2;max-width:760px}
html.pol-on .pol-herofull .c-page-hero__figure{position:absolute;inset:0;margin:0;z-index:0;max-width:none;width:100%;height:100%}
html.pol-on .pol-herofull .c-page-hero__figure img{width:100%;height:100%;object-fit:cover;border-radius:0;aspect-ratio:auto}
html.pol-on .pol-herofull::after{display:none!important}
html.pol-on .pol-herofull .c-page-hero__figure::after{content:"";position:absolute;inset:0;background:var(--pol-hero-shade,linear-gradient(90deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,.35) 45%,rgba(0,0,0,.15) 75%));pointer-events:none}
html.pol-on .pol-herofull :is(h1,.c-page-hero__headline,.c-breadcrumb,.c-breadcrumb *){color:#fff!important}
html.pol-on .pol-herofull .c-page-hero__text,html.pol-on .pol-herofull .c-page-hero__text *{color:rgba(255,255,255,.92)!important}
html.pol-on .pol-herofull .c-btn--primary{background:#fff!important;color:#0B140C!important;border-color:#fff!important}
html.pol-on .pol-herofull .c-page-hero__figure > :not(img){display:none}
html.pol-on .pol-herofull .c-page-hero__inner{transform:none!important}

/* ---------- Striche vor Rubrikzeilen raus ---------- */
html.pol-on .c-eyebrow::before,html.pol-on .c-eyebrow::after,html.pol-on .c-card__tag::before{content:none!important;display:none!important}
html.pol-on .c-eyebrow,html.pol-on .c-card__tag{padding-left:0!important;gap:0!important}

/* ---------- Logo: nur einmal einzeichnen, kein Dauer-Auseinanderdriften, kein grüner Schimmer ---------- */
@media (prefers-reduced-motion: no-preference){
  html.pol-on .c-logo__a{animation:bn-draw 1.2s cubic-bezier(.65,0,.25,1) .1s forwards!important}
  html.pol-on .c-logo__b{animation:bn-draw 1.2s cubic-bezier(.65,0,.25,1) .3s forwards!important}
  html.pol-on .c-logo__a2,html.pol-on .c-logo__b2{animation:none!important}
  html.pol-on .c-header__logo:hover .c-logo__a,html.pol-on .c-header__logo:hover .c-logo__a2,
  html.pol-on .c-header__logo:hover .c-logo__b,html.pol-on .c-header__logo:hover .c-logo__b2{animation:none!important;stroke-dashoffset:0}
}
html.pol-on .c-logo__glint,html.pol-on .c-logo__sweep{display:none!important}
@media (max-width:767px){html.pol-on .pol-herofull .c-page-hero__figure::after{background:var(--pol-hero-shade-m,linear-gradient(to top,rgba(0,0,0,.65) 0%,rgba(0,0,0,.4) 55%,rgba(0,0,0,.15) 100%))}}

/* Dunkelmodus: Index-Karten (Sechs Leistungen, Branchen) auf Salbei mit dunkler Schrift und dunklen Linien */
html.pol-on[data-theme="dark"] body main > section.pol-accent :is(.c-card--index .c-card__text,.c-card--index .c-card__text *,.c-section-head__intro){color:#2E352F!important}
html.pol-on[data-theme="dark"] body main > section.pol-accent :is(.c-card--index .c-card__title,.c-card--index .c-card__link){color:#0B140C!important}
html.pol-on[data-theme="dark"] body main > section.pol-accent .c-card--index:hover :is(.c-card__title,.c-card__link),html.pol-on[data-theme="dark"] body main > section.pol-accent .c-card--index .c-card__link:focus-visible{color:#2C4D2F!important;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
html.pol-on[data-theme="dark"] body main > section.pol-accent .c-card__go{color:#2C4D2F!important}
html.pol-on[data-theme="dark"] body main > section.pol-accent :is(.c-cards__grid,.c-card--index,.c-card--index + .c-card--index){border-color:rgba(11,20,12,.22)!important}
html.pol-on[data-theme="dark"] body main > section.pol-accent .c-eyebrow{color:#2C4D2F!important}
@media (prefers-color-scheme:dark){
html.pol-on:not([data-theme="light"]) body main > section.pol-accent :is(.c-card--index .c-card__text,.c-card--index .c-card__text *,.c-section-head__intro){color:#2E352F!important}
html.pol-on:not([data-theme="light"]) body main > section.pol-accent :is(.c-card--index .c-card__title,.c-card--index .c-card__link){color:#0B140C!important}
html.pol-on:not([data-theme="light"]) body main > section.pol-accent .c-card--index:hover :is(.c-card__title,.c-card__link),html.pol-on:not([data-theme="light"]) body main > section.pol-accent .c-card--index .c-card__link:focus-visible{color:#2C4D2F!important;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
html.pol-on:not([data-theme="light"]) body main > section.pol-accent .c-card__go{color:#2C4D2F!important}
html.pol-on:not([data-theme="light"]) body main > section.pol-accent :is(.c-cards__grid,.c-card--index,.c-card--index + .c-card--index){border-color:rgba(11,20,12,.22)!important}
html.pol-on:not([data-theme="light"]) body main > section.pol-accent .c-eyebrow{color:#2C4D2F!important}
}

/* Die Reise: Titelbild mit Play-Button */
html.pol-on .bn-still a{position:relative}
html.pol-on .pol-play{position:absolute;left:50%;top:50%;width:88px;height:88px;margin:-44px 0 0 -44px;border-radius:50%;background:rgba(255,255,255,.92);color:#0B140C;display:grid;place-items:center;box-shadow:0 8px 32px rgba(0,0,0,.18);transition:transform .25s ease,background .25s ease}
html.pol-on .pol-play svg{margin-left:4px}
html.pol-on .bn-still a:hover .pol-play,html.pol-on .bn-still a:focus-visible .pol-play{transform:scale(1.08);background:#fff}
html.pol-on .bn-still a:focus-visible{outline:3px solid #3F6B42;outline-offset:4px}
@media (max-width:600px){html.pol-on .pol-play{width:64px;height:64px;margin:-32px 0 0 -32px}}

/* Rubrikzeile im Bild-Header hell */
html.pol-on .pol-herofull .c-eyebrow{color:rgba(255,255,255,.85)!important}
