/* website.css — Theme der öffentlichen Website (neu.freya-bewegen.de).
 *
 * ALLES hier ist unter `.theme-website` gescoped. Studio/LMS und die Website
 * teilen sich dieselbe Editor-Shell (`landing/page.html`); keine Regel aus
 * dieser Datei darf eine Studio-Seite treffen. Deshalb auch der eigene
 * Token-Präfix `--web-*`: keine Kollision mit `--color-*`/`--space-*` aus
 * style.css, und der Wechsel `theme=studio|website` bleibt eine reine
 * Klassen-Frage am <body>.
 *
 * Werte-Quelle: Baukasten-Entwürfe „Freya-Bewegen Website Redesign"
 * (offizielle Brand-Palette Petrol/Flieder, identisch zu app/core/branding.py).
 *
 * Aufbau: 1) Tokens  2) Grundlagen  3) Typo  4) Layout  5) Buttons
 *         6) Navigation  7) Footer  8) Editor-Neutralisierer
 */

/* ─────────────────────────────────────────────────────── 1) Tokens */
.theme-website {
    /* Palette */
    --web-petrol:        #276378;
    --web-petrol-dark:   #1B4552;
    --web-violet:        #4F2678;
    --web-lilac:         #E1CBF7;
    --web-brown:         #6B3F1E;
    --web-cream:         #FFFAF5;
    --web-beige:         #F0EDE8;
    --web-white:         #ffffff;

    /* Rollen — Flächen */
    --web-bg:            var(--web-cream);
    --web-bg-alt:        var(--web-beige);
    --web-bg-dark:       var(--web-petrol-dark);
    --web-surface:       var(--web-white);
    --web-surface-soft:  var(--web-lilac);

    /* Rollen — Text. Die Alpha-Stufen sind die Konvention der Entwürfe:
       .8 = Fließtext, .65 = Nebentext, .55 = Fußnoten/Meta. */
    --web-text:          var(--web-petrol-dark);
    --web-text-muted:    rgba(27, 69, 82, .8);
    --web-text-soft:     rgba(27, 69, 82, .65);
    --web-text-faint:    rgba(27, 69, 82, .55);
    --web-on-dark:       rgba(255, 250, 245, .75);
    --web-on-dark-soft:  rgba(255, 250, 245, .7);
    --web-on-dark-full:  #FFFAF5;

    /* Rollen — Akzent & Links */
    --web-accent:        var(--web-violet);
    --web-link:          var(--web-petrol);
    --web-link-hover:    var(--web-violet);

    /* Linien — hell auf Creme, Flieder-transparent auf Petrol */
    --web-border-soft:   rgba(39, 99, 120, .12);
    --web-border:        rgba(39, 99, 120, .14);
    --web-border-strong: rgba(39, 99, 120, .16);
    --web-border-dark:   rgba(225, 203, 247, .18);

    /* Schrift */
    --web-font-heading:  'Playfair Display', Georgia, serif;
    --web-font-body:     'Open Sans', system-ui, -apple-system, sans-serif;

    /* Typo-Skala — clamp() von 375px bis 1180px (die Entwürfe sind auf
       1180px gezeichnet, darüber wächst nichts mehr). */
    --web-fs-h1:      clamp(2rem,     1.42rem + 2.48vw, 3.25rem);   /* 32 → 52 */
    --web-fs-h2:      clamp(1.5rem,   1.33rem + 0.75vw, 1.875rem);  /* 24 → 30 */
    --web-fs-h3:      clamp(1.125rem, 1.09rem + 0.16vw, 1.25rem);   /* 18 → 20 */
    --web-fs-lead:    clamp(1rem,     0.97rem + 0.12vw, 1.0625rem); /* 16 → 17 */
    --web-fs-body:    1rem;
    --web-fs-small:   0.875rem;
    --web-fs-micro:   0.8125rem;
    --web-fs-eyebrow: 0.78rem;

    /* Block-Headlines: die Entwürfe setzen Sektions-Titel größer als die
       Standard-h2 (34-38px) und die c-Variante nochmal darüber (40-44px). */
    --web-fs-title-lg: clamp(1.625rem, 1.29rem + 1.44vw, 2.35rem);  /* 26 → 37.6 */
    --web-fs-title-xl: clamp(1.875rem, 1.46rem + 1.79vw, 2.775rem); /* 30 → 44.4 */
    --web-fs-dream:    clamp(1.3rem,   1.13rem + 0.75vw, 1.6875rem);/* 21 → 27 */

    /* Sperrung: Eyebrows und Buttons tragen die 4px-Spur der Entwürfe. */
    --web-tracking-eyebrow: 4px;
    --web-tracking-wide:    2px;

    /* Maße */
    --web-wrap:      1180px;
    --web-wrap-text: 720px;
    --web-gutter:    clamp(20px, 4vw, 40px);
    --web-section-y: clamp(48px, 7vw, 72px);
    --web-radius:    10px;
    --web-radius-sm: 4px;
    --web-radius-pill: 999px;
}

/* ────────────────────────────────────────────────── 2) Grundlagen */
body.theme-website {
    background: var(--web-bg);
    color: var(--web-text);
    font-family: var(--web-font-body);
    font-size: var(--web-fs-body);
    line-height: 1.65;
}

.theme-website a {
    color: var(--web-link);
}

.theme-website a:hover {
    color: var(--web-link-hover);
}

.theme-website img {
    max-width: 100%;
}

/* ───────────────────────────────────────────────────────── 3) Typo */
.theme-website h1,
.theme-website h2,
.theme-website h3 {
    font-family: var(--web-font-heading);
    font-weight: 600;
    color: var(--web-text);
    line-height: 1.12;
    letter-spacing: -0.5px;
}

.theme-website h1 { font-size: var(--web-fs-h1); }
.theme-website h2 { font-size: var(--web-fs-h2); }
.theme-website h3 { font-size: var(--web-fs-h3); letter-spacing: 0; line-height: 1.3; }

/* Farbige Kursiv-Klausel — das wiederkehrende Stilmittel der Entwürfe:
   der zweite Halbsatz einer Headline steht kursiv in Petrol bzw. Flieder. */
.theme-website h1 em,
.theme-website h2 em {
    font-style: italic;
    color: var(--web-petrol);
}

.theme-website p {
    color: var(--web-text-muted);
    font-size: var(--web-fs-lead);
}

/* Eyebrow — die gesperrte Kleinschrift über jeder Sektions-Headline. */
.theme-website .web-eyebrow {
    margin: 0 0 18px;
    font-size: var(--web-fs-eyebrow);
    font-weight: 800;
    letter-spacing: var(--web-tracking-eyebrow);
    text-transform: uppercase;
    color: var(--web-accent);
}

/* ─────────────────────────────────────────────────────── 4) Layout */
.theme-website .web-wrap {
    max-width: var(--web-wrap);
    margin: 0 auto;
    padding: 0 var(--web-gutter);
}

.theme-website .web-section {
    padding: var(--web-section-y) 0;
}

/* ────────────────────────────────────────────────────── 5) Buttons */
.theme-website .web-btn {
    display: inline-block;
    padding: 15px 30px;
    border: 1.5px solid transparent;
    border-radius: var(--web-radius-sm);
    font-family: var(--web-font-body);
    font-size: var(--web-fs-small);
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}

.theme-website .web-btn--primary {
    background: var(--web-petrol);
    color: var(--web-on-dark-full);
}

.theme-website .web-btn--primary:hover {
    background: var(--web-violet);
    color: var(--web-on-dark-full);
}

.theme-website .web-btn--ghost {
    background: transparent;
    border-color: var(--web-petrol);
    color: var(--web-petrol);
}

.theme-website .web-btn--ghost:hover {
    background: var(--web-petrol);
    color: var(--web-on-dark-full);
}

.theme-website .web-btn--accent {
    background: var(--web-lilac);
    color: var(--web-violet);
    border-radius: var(--web-radius-pill);
}

.theme-website .web-btn--accent:hover {
    background: var(--web-on-dark-full);
    color: var(--web-violet);
}

/* Block-CTA-Default (Variante a, Entwurf: Petrol auf Creme). Die Varianten-
   Overrides (--b/--c) stehen später in der Datei und gewinnen. */
.theme-website .web-btn--block {
    background: var(--web-petrol);
    color: var(--web-on-dark-full);
}

.theme-website .web-btn--block:hover {
    background: var(--web-violet);
    color: var(--web-on-dark-full);
}

/* ─────────────────────────────────────────────────── 6) Navigation */
.theme-website .web-nav {
    position: sticky;
    top: 0;
    z-index: 100;
    background: var(--web-bg);
    border-bottom: 1px solid var(--web-border-strong);
}

.theme-website .web-nav__inner {
    max-width: var(--web-wrap);
    margin: 0 auto;
    padding: 0 var(--web-gutter);
    min-height: 68px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.theme-website .web-nav__wordmark {
    font-family: var(--web-font-heading);
    font-size: 1.3125rem;
    color: var(--web-petrol);
    text-decoration: none;
    white-space: nowrap;
}

.theme-website .web-nav__wordmark:hover {
    color: var(--web-violet);
}

.theme-website .web-nav__menu {
    display: flex;
    align-items: center;
    gap: 30px;
    font-size: 0.84375rem;
    font-weight: 600;
}

.theme-website .web-nav__link {
    color: var(--web-petrol);
    text-decoration: none;
}

.theme-website .web-nav__link:hover,
.theme-website .web-nav__link.is-active {
    color: var(--web-violet);
}

/* Burger — nur mobil sichtbar (siehe Breakpoint unten). */
.theme-website .web-nav__burger {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 44px;
    height: 44px;
    padding: 0 10px;
    background: none;
    border: 0;
    cursor: pointer;
}

.theme-website .web-nav__burger-bar {
    display: block;
    height: 2px;
    background: var(--web-petrol);
    border-radius: 2px;
}

@media (max-width: 860px) {
    .theme-website .web-nav__burger {
        display: flex;
    }

    .theme-website .web-nav__inner {
        position: relative;
        min-height: 60px;
    }

    /* Klapp-Panel unter der Leiste. `hidden`-Attribut wäre hier falsch:
       das Menü ist auf Desktop immer offen, nur mobil geschlossen. */
    .theme-website .web-nav__menu {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 8px var(--web-gutter) 16px;
        background: var(--web-bg);
        border-bottom: 1px solid var(--web-border-strong);
        font-size: 1rem;
    }

    .theme-website .web-nav__menu.is-open {
        display: flex;
    }

    .theme-website .web-nav__link {
        padding: 12px 0;
        border-bottom: 1px solid var(--web-border-soft);
    }

    .theme-website .web-nav__link:last-child {
        border-bottom: 0;
    }
}

/* ─────────────────────────────────────────────────────── 7) Footer */
.theme-website .web-footer {
    background: var(--web-bg-dark);
    color: var(--web-on-dark);
    padding: 44px 0;
    font-size: var(--web-fs-micro);
}

.theme-website .web-footer__inner {
    max-width: var(--web-wrap);
    margin: 0 auto;
    padding: 0 var(--web-gutter);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}

.theme-website .web-footer__wordmark {
    font-family: var(--web-font-heading);
    font-size: 1.1875rem;
    color: var(--web-on-dark-full);
    text-decoration: none;
}

.theme-website .web-footer__links {
    display: flex;
    gap: 26px;
    flex-wrap: wrap;
}

.theme-website .web-footer a {
    color: var(--web-on-dark);
    text-decoration: none;
}

.theme-website .web-footer a:hover {
    color: var(--web-on-dark-full);
    text-decoration: underline;
}

@media (max-width: 560px) {
    .theme-website .web-footer__inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 18px;
    }

    .theme-website .web-footer__links {
        flex-direction: column;
        gap: 10px;
    }
}

/* ──────────────────────────────────────── 8) Editor-Neutralisierer
   `landing/page.html` bringt eine eigene <style>-Insel für Studio-Seiten mit
   (zentrierte 1080px-Spalte + Abstände zwischen den Blöcken). Website-Blöcke
   laufen randlos über die volle Breite und bringen ihre Innenmaße selbst mit
   — die Regeln hier gewinnen über die Insel, weil `.theme-website X` höher
   spezifisch ist als `X` (Quell-Reihenfolge spielt keine Rolle). */
.theme-website .lp-page-main {
    max-width: none;
    margin: 0;
    padding: 0;
}

.theme-website .lp-page-main > * {
    margin-bottom: 0;
}

.theme-website .lp-draft-banner {
    max-width: var(--web-wrap);
    margin-left: auto;
    margin-right: auto;
}

/* Die Editor-Werkzeuge (Palette-Trigger, Einfügepunkte) sollen auch auf der
   randlosen Website nicht am Bildschirmrand kleben. */
.theme-website .lp-add,
.theme-website .lp-insert {
    max-width: var(--web-wrap);
    margin-left: auto;
    margin-right: auto;
}

/* ─────────────────────────────────────────── 9) Baukasten-Blöcke (Welle 1a)
   Konvention: .web-<name> ist der Block, .web-<name>--a|b|c die Stilrichtung
   (a = Hell & Ruhig, b = Petrol Kontrast, c = Bewegung & Größe). Jeder Block
   bringt seine Innenmaße selbst mit (randlose Seite). Responsive-Kit:
   Grids kollabieren bei 900px, Kleinkram bei 560px; Typo skaliert über die
   clamp()-Tokens — die Entwürfe sind Desktop-only (1180px) gezeichnet. */

/* ── Gemeinsames ── */
.theme-website .web-block {
    padding: var(--web-section-y) 0;
}

.theme-website .web-cta-row {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.theme-website .web-cta-note {
    font-size: var(--web-fs-micro);
    color: var(--web-text-soft);
}

/* Klick-Fläche für noch nicht gesetzte Bilder (nur Admins sehen sie). */
.theme-website .web-img-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 240px;
    background: rgba(225, 203, 247, .3);
    border: 2px dashed rgba(79, 38, 120, .35);
    border-radius: var(--web-radius);
    color: var(--web-accent);
    font-size: var(--web-fs-small);
    font-weight: 600;
    cursor: pointer;
    text-align: center;
    padding: 12px;
}

/* ── web_hero ── */
.theme-website .web-hero {
    padding: 0;
}

.theme-website .web-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: clamp(28px, 4.5vw, 56px);
    align-items: center;
    padding: clamp(40px, 6vw, 64px) 0;
}

.theme-website .web-hero__title {
    margin: 0 0 20px;
}

.theme-website .web-hero__text {
    margin: 0 0 28px;
    max-width: 470px;
}

.theme-website .web-hero__media {
    position: relative;
}

.theme-website .web-hero__media-back {
    display: none;
}

.theme-website .web-hero--a .web-hero__media-back {
    display: block;
    position: absolute;
    inset: 22px -22px -22px 22px;
    background: var(--web-lilac);
    border-radius: 12px;
}

.theme-website .web-hero__img {
    position: relative;
    display: block;
    width: 100%;
    height: clamp(260px, 32vw, 380px);
    object-fit: cover;
    border-radius: 12px;
}

/* Doppelte Klasse: gewinnt gegen die späteren Varianten-Grids (--b/--c). */
.theme-website .web-hero.web-hero--noimg .web-hero__grid {
    grid-template-columns: minmax(0, 1fr);
}

.theme-website .web-hero--noimg .web-hero__text {
    max-width: var(--web-wrap-text);
}

/* Hero b — Petrol mit violettem Glow. */
.theme-website .web-hero--b {
    background: var(--web-bg-dark);
    position: relative;
    overflow: hidden;
}

.theme-website .web-hero--b::before {
    content: '';
    position: absolute;
    right: -8%;
    top: -20%;
    width: 560px;
    aspect-ratio: 1;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(79, 38, 120, .55), rgba(79, 38, 120, 0) 70%);
}

.theme-website .web-hero--b .web-hero__grid {
    position: relative;
}

.theme-website .web-hero--b .web-hero__title {
    color: var(--web-on-dark-full);
}

.theme-website .web-hero--b .web-hero__title em {
    color: var(--web-lilac);
}

.theme-website .web-hero--b .web-eyebrow {
    color: var(--web-lilac);
}

.theme-website .web-hero--b .web-hero__text {
    color: rgba(255, 250, 245, .85);
}

.theme-website .web-hero--b .web-cta-note {
    color: var(--web-on-dark-soft);
}

.theme-website .web-hero--b .web-btn--block {
    background: var(--web-lilac);
    color: var(--web-violet);
}

.theme-website .web-hero--b .web-hero__img {
    border-radius: 14px;
    height: clamp(280px, 34vw, 400px);
}

/* Hero c — Flieder-Panel links, Foto volle Höhe rechts, randlos. */
.theme-website .web-hero--c .web-wrap {
    max-width: none;
    padding: 0;
}

.theme-website .web-hero--c .web-hero__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0;
    padding: 0;
    align-items: stretch;
}

.theme-website .web-hero--c .web-hero__copy {
    background: var(--web-lilac);
    padding: clamp(36px, 5vw, 56px) clamp(24px, 4vw, 48px);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.theme-website .web-hero--c .web-hero__title em {
    color: var(--web-violet);
}

.theme-website .web-hero--c .web-btn--block {
    background: var(--web-violet);
    color: var(--web-on-dark-full);
    border-radius: var(--web-radius-pill);
}

.theme-website .web-hero--c .web-hero__img {
    border-radius: 0;
    height: 100%;
    min-height: clamp(320px, 40vw, 480px);
}

/* ── web_dream ── */
.theme-website .web-dream--a .web-dream__inner {
    text-align: center;
}

.theme-website .web-dream__text {
    margin: 0 auto;
    font-family: var(--web-font-heading);
    font-style: italic;
    font-size: var(--web-fs-dream);
    line-height: 1.5;
    max-width: 780px;
    color: var(--web-text);
}

.theme-website .web-dream--b {
    background: var(--web-bg-dark);
}

.theme-website .web-dream--b .web-dream__inner {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: clamp(20px, 3vw, 36px);
    align-items: center;
}

.theme-website .web-dream--b .web-dream__quote {
    font-family: var(--web-font-heading);
    font-size: clamp(64px, 9vw, 110px);
    line-height: .6;
    color: var(--web-violet);
}

.theme-website .web-dream--b .web-dream__text {
    margin: 0;
    max-width: none;
    font-style: normal;
    line-height: 1.4;
    font-size: clamp(1.35rem, 1.15rem + 0.9vw, 1.875rem);
    color: var(--web-on-dark-full);
}

.theme-website .web-dream--b .web-dream__text em {
    color: var(--web-lilac);
}

.theme-website .web-dream--c {
    background: var(--web-lilac);
}

.theme-website .web-dream--c .web-dream__text {
    margin: 0;
    max-width: 900px;
    font-style: normal;
    font-weight: 600;
    font-size: var(--web-fs-title-xl);
    line-height: 1.15;
    letter-spacing: -0.5px;
}

.theme-website .web-dream--c .web-dream__text em {
    color: var(--web-violet);
}

/* ── web_trust ── */
.theme-website .web-trust {
    padding: 0;
}

.theme-website .web-trust__row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid rgba(39, 99, 120, .15);
    border-bottom: 1px solid rgba(39, 99, 120, .15);
}

.theme-website .web-trust__cell {
    padding: 22px 24px;
    text-align: center;
    border-right: 1px solid var(--web-border-soft);
}

.theme-website .web-trust__cell:last-child {
    border-right: 0;
}

.theme-website .web-trust__value {
    margin: 0;
    font-family: var(--web-font-heading);
    font-size: 1.375rem;
    color: var(--web-petrol);
}

.theme-website .web-trust__label {
    margin: 2px 0 0;
    font-size: 0.72rem;
    letter-spacing: 1.5px;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--web-text-faint);
}

.theme-website .web-trust--b {
    background: var(--web-bg-dark);
}

.theme-website .web-trust--b .web-trust__row {
    border: 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px clamp(24px, 4vw, 54px);
    padding: 24px 0;
}

.theme-website .web-trust--b .web-trust__cell {
    border: 0;
    padding: 0;
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.theme-website .web-trust--b .web-trust__value {
    font-family: var(--web-font-body);
    font-size: var(--web-fs-small);
    font-weight: 700;
    color: var(--web-lilac);
}

.theme-website .web-trust--b .web-trust__label {
    margin: 0;
    text-transform: none;
    letter-spacing: 0;
    font-weight: 400;
    font-size: 0.8125rem;
    color: var(--web-on-dark-full);
}

.theme-website .web-trust--c .web-wrap {
    max-width: none;
    padding: 0;
}

.theme-website .web-trust--c .web-trust__row {
    border: 0;
    background: var(--web-violet);
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px clamp(20px, 3vw, 56px);
    padding: 15px var(--web-gutter);
    overflow: hidden;
}

.theme-website .web-trust--c .web-trust__cell {
    border: 0;
    padding: 0;
    display: flex;
    align-items: baseline;
    gap: 10px;
    white-space: nowrap;
}

.theme-website .web-trust--c .web-trust__value,
.theme-website .web-trust--c .web-trust__label {
    margin: 0;
    font-family: var(--web-font-body);
    font-size: 0.84375rem;
    font-weight: 800;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--web-lilac);
}

/* ── web_cta_button ── */
.theme-website .web-cta-button__inner {
    text-align: center;
    max-width: 640px;
    margin: 0 auto;
}

.theme-website .web-cta-note + .web-cta-note,
.theme-website .web-cta-button__inner .web-cta-note {
    display: block;
    margin: 12px 0 0;
}

.theme-website .web-cta-button--b {
    background: var(--web-bg-dark);
}

.theme-website .web-cta-button--b .web-btn--block {
    background: var(--web-lilac);
    color: var(--web-violet);
}

.theme-website .web-cta-button--b .web-cta-note {
    color: var(--web-on-dark-soft);
}

.theme-website .web-cta-button--c .web-btn--block {
    background: var(--web-violet);
    color: var(--web-on-dark-full);
    border-radius: var(--web-radius-pill);
    padding: 16px 36px;
}

/* ── web_cta_sektion ── */
.theme-website .web-cta-sektion {
    padding: 0;
}

.theme-website .web-cta-sektion__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    gap: clamp(28px, 4.5vw, 56px);
    align-items: center;
    padding: clamp(40px, 5.5vw, 60px) 0;
}

.theme-website .web-cta-sektion__title {
    margin: 0 0 22px;
    font-size: var(--web-fs-title-lg);
    line-height: 1.15;
}

.theme-website .web-cta-sektion__img {
    display: block;
    width: 100%;
    height: clamp(220px, 26vw, 280px);
    object-fit: cover;
    border-radius: 12px;
}

/* Doppelte Klasse: gewinnt gegen die späteren Varianten-Grids (--b/--c). */
.theme-website .web-cta-sektion.web-cta-sektion--noimg .web-cta-sektion__grid {
    grid-template-columns: minmax(0, 1fr);
}

.theme-website .web-cta-sektion--b {
    background: var(--web-violet);
}

.theme-website .web-cta-sektion--b .web-cta-sektion__grid {
    grid-template-columns: minmax(0, 1fr);
    text-align: center;
}

.theme-website .web-cta-sektion--b .web-cta-sektion__media {
    display: none;
}

.theme-website .web-cta-sektion--b .web-cta-sektion__title {
    margin-left: auto;
    margin-right: auto;
    max-width: 760px;
    color: var(--web-on-dark-full);
}

.theme-website .web-cta-sektion--b .web-cta-sektion__title em {
    color: var(--web-lilac);
}

.theme-website .web-cta-sektion--b .web-cta-row {
    justify-content: center;
    flex-direction: column;
    gap: 14px;
}

.theme-website .web-cta-sektion--b .web-btn--block {
    background: var(--web-lilac);
    color: var(--web-violet);
}

.theme-website .web-cta-sektion--b .web-cta-note {
    color: var(--web-on-dark-soft);
}

.theme-website .web-cta-sektion--c .web-wrap {
    max-width: none;
    padding: 0;
}

.theme-website .web-cta-sektion--c .web-cta-sektion__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0;
    padding: 0;
    align-items: stretch;
}

.theme-website .web-cta-sektion--c .web-cta-sektion__media {
    order: -1;
}

.theme-website .web-cta-sektion--c .web-cta-sektion__img {
    height: 100%;
    min-height: clamp(260px, 30vw, 340px);
    border-radius: 0;
}

.theme-website .web-cta-sektion--c .web-cta-sektion__copy {
    background: var(--web-lilac);
    padding: clamp(32px, 4.5vw, 48px);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.theme-website .web-cta-sektion--c .web-cta-sektion__title em {
    color: var(--web-violet);
}

.theme-website .web-cta-sektion--c .web-btn--block {
    background: var(--web-violet);
    color: var(--web-on-dark-full);
    border-radius: var(--web-radius-pill);
}

/* ── web_stack ── */
.theme-website .web-stack__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: clamp(28px, 4.5vw, 56px);
    align-items: start;
}

.theme-website .web-stack__title {
    margin: 0 0 18px;
    font-size: var(--web-fs-title-lg);
}

.theme-website .web-stack__text {
    margin: 0;
    font-size: var(--web-fs-small);
    color: rgba(27, 69, 82, .75);
}

.theme-website .web-stack__list {
    background: var(--web-surface);
    border: 1px solid var(--web-border-strong);
    border-radius: var(--web-radius);
    overflow: hidden;
}

.theme-website .web-stack__row {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 16px 24px;
    border-bottom: 1px solid var(--web-border-soft);
    font-size: var(--web-fs-small);
}

.theme-website .web-stack__row-label {
    font-weight: 600;
}

.theme-website .web-stack__row-desc {
    color: var(--web-text-soft);
    margin-left: 6px;
}

.theme-website .web-stack__row-value {
    color: var(--web-petrol);
    white-space: nowrap;
}

.theme-website .web-stack__total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    padding: 18px 24px;
    background: var(--web-petrol);
    color: var(--web-on-dark-full);
    font-size: 0.90625rem;
}

.theme-website .web-stack__total-label {
    font-weight: 800;
}

.theme-website .web-stack__total-old {
    color: rgba(255, 250, 245, .6);
    margin-right: 10px;
}

.theme-website .web-stack__btn {
    display: none;
}

.theme-website .web-stack--b {
    background: var(--web-bg-dark);
}

.theme-website .web-stack--b .web-stack__grid {
    grid-template-columns: minmax(0, 1fr);
}

.theme-website .web-stack--b .web-eyebrow {
    color: var(--web-lilac);
}

.theme-website .web-stack--b .web-stack__title {
    color: var(--web-on-dark-full);
}

.theme-website .web-stack--b .web-stack__title em {
    color: var(--web-lilac);
}

.theme-website .web-stack--b .web-stack__text {
    color: rgba(255, 250, 245, .75);
}

.theme-website .web-stack--b .web-stack__list {
    background: transparent;
    border-color: rgba(225, 203, 247, .25);
    border-radius: 8px;
}

.theme-website .web-stack--b .web-stack__row {
    border-bottom-color: rgba(225, 203, 247, .2);
    color: var(--web-on-dark-full);
}

.theme-website .web-stack--b .web-stack__row-desc {
    color: var(--web-on-dark-soft);
}

.theme-website .web-stack--b .web-stack__row-value {
    color: var(--web-lilac);
}

.theme-website .web-stack--b .web-stack__total {
    background: var(--web-lilac);
    color: var(--web-violet);
}

.theme-website .web-stack--b .web-stack__total-old {
    color: rgba(79, 38, 120, .55);
}

.theme-website .web-stack--c .web-stack__grid {
    grid-template-columns: minmax(0, 1fr);
}

.theme-website .web-stack--c .web-stack__title {
    font-size: var(--web-fs-title-xl);
}

.theme-website .web-stack--c .web-stack__list {
    background: transparent;
    border: 0;
    border-radius: 0;
    overflow: visible;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.theme-website .web-stack--c .web-stack__row {
    display: block;
    background: var(--web-lilac);
    border: 0;
    border-radius: 12px;
    padding: 24px 26px;
}

.theme-website .web-stack--c .web-stack__row-label {
    display: block;
    font-weight: 800;
    font-size: 0.90625rem;
    margin: 0 0 6px;
}

.theme-website .web-stack--c .web-stack__row-desc {
    margin-left: 0;
    font-size: 0.84375rem;
    line-height: 1.6;
    color: rgba(27, 69, 82, .75);
}

.theme-website .web-stack--c .web-stack__row-value {
    color: var(--web-violet);
    margin-left: 6px;
    font-size: 0.84375rem;
}

.theme-website .web-stack--c .web-stack__total {
    grid-column: 1 / -1;
    background: var(--web-violet);
    border-radius: var(--web-radius-pill);
    padding: 18px 34px;
}

.theme-website .web-stack--c .web-stack__total-label,
.theme-website .web-stack--c .web-stack__total-price {
    font-family: var(--web-font-heading);
    font-size: clamp(1.1rem, 1rem + 0.6vw, 1.375rem);
    font-weight: 400;
}

.theme-website .web-stack--c .web-stack__btn {
    display: inline-block;
    background: var(--web-lilac);
    color: var(--web-violet);
    border-radius: var(--web-radius-pill);
    white-space: nowrap;
}

/* ── web_autoritaet ── */
.theme-website .web-autoritaet__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: clamp(28px, 4.5vw, 56px);
    align-items: center;
}

/* Doppelte Klasse: gewinnt gegen die späteren Varianten-Grids (--b/--c). */
.theme-website .web-autoritaet.web-autoritaet--noimg .web-autoritaet__grid {
    grid-template-columns: minmax(0, 1fr);
}

.theme-website .web-autoritaet.web-autoritaet--noimg .web-autoritaet__copy {
    max-width: var(--web-wrap-text);
}

.theme-website .web-autoritaet__img {
    display: block;
    width: 100%;
    height: clamp(280px, 32vw, 380px);
    object-fit: cover;
    border-radius: 12px;
}

.theme-website .web-autoritaet__title {
    margin: 0 0 18px;
    font-size: clamp(1.375rem, 1.2rem + 0.75vw, 1.875rem);
    line-height: 1.25;
}

.theme-website .web-autoritaet__text {
    margin: 0;
    font-size: var(--web-fs-small);
    line-height: 1.7;
}

.theme-website .web-autoritaet__badges {
    display: none;
}

.theme-website .web-autoritaet--b {
    background: var(--web-bg-dark);
}

.theme-website .web-autoritaet--b .web-autoritaet__grid {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
}

.theme-website .web-autoritaet--b .web-autoritaet__media {
    order: 2;
}

.theme-website .web-autoritaet--b .web-eyebrow {
    color: var(--web-lilac);
}

.theme-website .web-autoritaet--b .web-autoritaet__title {
    color: var(--web-on-dark-full);
    font-style: italic;
}

.theme-website .web-autoritaet--b .web-autoritaet__title em {
    color: var(--web-lilac);
}

.theme-website .web-autoritaet--b .web-autoritaet__text {
    color: rgba(255, 250, 245, .85);
    margin-bottom: 22px;
}

.theme-website .web-autoritaet--b .web-autoritaet__badges {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.theme-website .web-autoritaet--b .web-autoritaet__badge {
    border: 1px solid rgba(225, 203, 247, .4);
    border-radius: var(--web-radius-pill);
    padding: 8px 18px;
    font-size: 0.78rem;
    color: var(--web-lilac);
}

.theme-website .web-autoritaet--c {
    padding: 0;
}

.theme-website .web-autoritaet--c .web-wrap {
    max-width: none;
    padding: 0;
}

.theme-website .web-autoritaet--c .web-autoritaet__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0;
    align-items: stretch;
}

.theme-website .web-autoritaet--c .web-autoritaet__media {
    order: 2;
}

.theme-website .web-autoritaet--c .web-autoritaet__img {
    height: 100%;
    min-height: clamp(300px, 37vw, 440px);
    border-radius: 0;
}

.theme-website .web-autoritaet--c .web-autoritaet__copy {
    background: var(--web-lilac);
    padding: clamp(36px, 5vw, 56px) clamp(24px, 4vw, 48px);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.theme-website .web-autoritaet--c .web-autoritaet__title {
    font-size: var(--web-fs-title-lg);
    font-style: normal;
}

.theme-website .web-autoritaet--c .web-autoritaet__title em {
    color: var(--web-violet);
}

/* ── web_testimonials ── */
.theme-website .web-testimonials__title {
    margin: 0 0 34px;
    font-size: var(--web-fs-title-lg);
}

.theme-website .web-testimonials__list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.theme-website .web-testimonials__card {
    margin: 0;
    background: var(--web-surface);
    border: 1px solid var(--web-border);
    border-radius: var(--web-radius);
    padding: 26px;
}

.theme-website .web-testimonials__kicker {
    margin: 0 0 10px;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--web-text-faint);
}

.theme-website .web-testimonials__quote {
    margin: 0 0 16px;
    font-size: var(--web-fs-small);
    line-height: 1.65;
    font-style: italic;
    color: var(--web-text);
}

.theme-website .web-testimonials__name {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 0.8125rem;
    font-weight: 700;
}

.theme-website .web-testimonials__avatar {
    flex: none;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--web-lilac);
    color: var(--web-violet);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--web-font-heading);
    font-size: 1.125rem;
}

.theme-website .web-testimonials--b {
    background: var(--web-bg-dark);
}

.theme-website .web-testimonials--b .web-eyebrow {
    color: var(--web-lilac);
}

.theme-website .web-testimonials--b .web-testimonials__title {
    color: var(--web-on-dark-full);
}

.theme-website .web-testimonials--b .web-testimonials__title em {
    color: var(--web-lilac);
}

.theme-website .web-testimonials--b .web-testimonials__card {
    background: rgba(225, 203, 247, .08);
    border-color: rgba(225, 203, 247, .25);
    padding: 30px;
}

.theme-website .web-testimonials--b .web-testimonials__kicker {
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--web-lilac);
}

.theme-website .web-testimonials--b .web-testimonials__quote {
    font-family: var(--web-font-heading);
    font-size: 1.125rem;
    line-height: 1.5;
    color: var(--web-on-dark-full);
}

.theme-website .web-testimonials--b .web-testimonials__name {
    color: var(--web-on-dark-full);
}

.theme-website .web-testimonials--b .web-testimonials__avatar {
    background: rgba(225, 203, 247, .2);
    color: var(--web-lilac);
}

.theme-website .web-testimonials--c .web-testimonials__list {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
}

.theme-website .web-testimonials--c .web-testimonials__card {
    border: 0;
    background: transparent;
    padding: clamp(8px, 2vw, 16px) 0;
    border-top: 1px solid var(--web-border-soft);
}

.theme-website .web-testimonials--c .web-testimonials__kicker {
    font-weight: 800;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--web-violet);
}

.theme-website .web-testimonials--c .web-testimonials__quote {
    font-family: var(--web-font-heading);
    font-size: clamp(1.25rem, 1.05rem + 0.9vw, 2rem);
    line-height: 1.35;
    max-width: 900px;
}

/* ── web_optin ── */
.theme-website .web-optin__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
    max-width: 640px;
    margin: 0 auto;
    text-align: center;
}

.theme-website .web-optin__title {
    margin: 0 0 8px;
    font-size: clamp(1.375rem, 1.2rem + 0.75vw, 1.75rem);
}

.theme-website .web-optin__text {
    margin: 0;
    font-size: 0.84375rem;
    color: var(--web-text-soft);
}

.theme-website .web-optin__form {
    display: flex;
    gap: 10px;
}

.theme-website .web-optin__input {
    flex: 1;
    min-width: 0;
    border: 1px solid rgba(39, 99, 120, .3);
    border-radius: var(--web-radius-sm);
    padding: 14px 18px;
    font-size: var(--web-fs-small);
    font-family: var(--web-font-body);
    background: var(--web-surface);
    color: var(--web-text);
}

.theme-website .web-optin__btn {
    background: var(--web-petrol);
    color: var(--web-on-dark-full);
    border: 0;
}

.theme-website .web-optin__msg {
    margin: 14px 0 0;
    font-size: var(--web-fs-small);
    font-weight: 600;
    color: var(--web-petrol);
}

.theme-website .web-optin__msg.is-error {
    color: #b91c1c;
}

.theme-website .web-optin__privacy {
    margin: 12px 0 0;
    font-size: 0.72rem;
    color: var(--web-text-faint);
}

.theme-website .web-optin__privacy-link {
    color: inherit;
    text-decoration: underline;
}

.theme-website .web-optin--b {
    background: var(--web-bg-dark);
}

.theme-website .web-optin--b .web-optin__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(28px, 4.5vw, 56px);
    max-width: var(--web-wrap);
    align-items: center;
    text-align: left;
}

.theme-website .web-optin--b .web-optin__title {
    color: var(--web-on-dark-full);
}

.theme-website .web-optin--b .web-optin__title em {
    color: var(--web-lilac);
}

.theme-website .web-optin--b .web-optin__text {
    color: var(--web-on-dark);
}

.theme-website .web-optin--b .web-optin__input {
    border-color: rgba(225, 203, 247, .4);
    background: rgba(255, 250, 245, .06);
    color: var(--web-on-dark-full);
}

.theme-website .web-optin--b .web-optin__input::placeholder {
    color: rgba(255, 250, 245, .55);
}

.theme-website .web-optin--b .web-optin__btn {
    background: var(--web-lilac);
    color: var(--web-violet);
}

.theme-website .web-optin--b .web-optin__msg {
    color: var(--web-lilac);
}

.theme-website .web-optin--b .web-optin__privacy {
    color: rgba(255, 250, 245, .55);
}

.theme-website .web-optin--c {
    background: var(--web-lilac);
}

.theme-website .web-optin--c .web-optin__title {
    font-size: var(--web-fs-title-xl);
    margin-bottom: 16px;
}

.theme-website .web-optin--c .web-optin__title em {
    color: var(--web-violet);
}

.theme-website .web-optin--c .web-optin__text {
    color: rgba(27, 69, 82, .7);
}

.theme-website .web-optin--c .web-optin__input {
    border: 0;
    border-radius: var(--web-radius-pill);
    padding: 15px 24px;
    background: var(--web-cream);
}

.theme-website .web-optin--c .web-optin__btn {
    background: var(--web-violet);
    color: var(--web-on-dark-full);
    border-radius: var(--web-radius-pill);
}

.theme-website .web-optin--c .web-optin__msg {
    color: var(--web-violet);
}

.theme-website .web-optin--c .web-optin__privacy {
    color: rgba(27, 69, 82, .55);
}

/* Admin-Hinweis, wenn das Feature-Flag „leads" aus ist. */
.theme-website .web-optin-off .web-wrap {
    border: 1px dashed #c39641;
    border-radius: 12px;
    padding: 1.25rem;
    background: rgba(195, 150, 65, .06);
    max-width: 720px;
}

.theme-website .web-optin-off__title {
    margin: 0;
    font-weight: 600;
}

.theme-website .web-optin-off__hint {
    margin: .35rem 0 0;
    color: var(--web-text-soft);
    font-size: .9rem;
}

/* ── web_faq ── */
.theme-website .web-faq__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    gap: clamp(28px, 4.5vw, 56px);
    align-items: start;
}

.theme-website .web-faq__title {
    margin: 0;
    font-size: var(--web-fs-title-lg);
    line-height: 1.15;
}

.theme-website .web-faq__list {
    display: grid;
    gap: 12px;
}

.theme-website .web-faq__item {
    background: var(--web-surface);
    border: 1px solid var(--web-border);
    border-radius: 8px;
    padding: 18px 22px;
}

.theme-website .web-faq__q {
    margin: 0;
    font-size: 0.90625rem;
    font-weight: 700;
    cursor: pointer;
    list-style: none;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    color: var(--web-text);
}

.theme-website .web-faq__q::-webkit-details-marker {
    display: none;
}

.theme-website .web-faq__q::after {
    content: '+';
    color: var(--web-accent);
    font-weight: 800;
    flex: none;
}

.theme-website .web-faq__item[open] > .web-faq__q::after,
.theme-website .web-faq__item--open .web-faq__q::after {
    content: '−';
}

.theme-website .web-faq__item--open .web-faq__q {
    cursor: text;
}

.theme-website .web-faq__a {
    margin: 12px 0 0;
    font-size: var(--web-fs-small);
    line-height: 1.7;
    color: rgba(27, 69, 82, .75);
}

.theme-website .web-faq__a p {
    margin: 0 0 .6em;
    font-size: inherit;
    color: inherit;
}

.theme-website .web-faq__a p:last-child {
    margin-bottom: 0;
}

.theme-website .web-faq--b {
    background: var(--web-bg-dark);
}

.theme-website .web-faq--b .web-eyebrow {
    color: var(--web-lilac);
}

.theme-website .web-faq--b .web-faq__grid {
    grid-template-columns: minmax(0, 1fr);
}

.theme-website .web-faq--b .web-faq__title {
    margin-bottom: 18px;
    color: var(--web-on-dark-full);
}

.theme-website .web-faq--b .web-faq__title em {
    color: var(--web-lilac);
}

.theme-website .web-faq--b .web-faq__list {
    gap: 0;
}

.theme-website .web-faq--b .web-faq__item {
    background: transparent;
    border: 0;
    border-top: 1px solid rgba(225, 203, 247, .25);
    border-radius: 0;
    padding: 20px 4px;
}

.theme-website .web-faq--b .web-faq__item:last-child {
    border-bottom: 1px solid rgba(225, 203, 247, .25);
}

.theme-website .web-faq--b .web-faq__q {
    font-size: 0.9375rem;
    color: var(--web-on-dark-full);
}

.theme-website .web-faq--b .web-faq__q::after {
    color: var(--web-lilac);
}

.theme-website .web-faq--b .web-faq__a {
    color: rgba(255, 250, 245, .8);
    max-width: 820px;
}

.theme-website .web-faq--c .web-faq__grid {
    grid-template-columns: minmax(0, 1fr);
}

.theme-website .web-faq--c .web-faq__title {
    margin-bottom: 24px;
    font-size: var(--web-fs-title-xl);
}

.theme-website .web-faq--c .web-faq__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    align-items: start;
}

.theme-website .web-faq--c .web-faq__item {
    background: var(--web-lilac);
    border: 0;
    border-radius: 14px;
    padding: 20px 26px;
}

.theme-website .web-faq--c .web-faq__q {
    font-weight: 800;
}

.theme-website .web-faq--c .web-faq__q::after {
    color: var(--web-violet);
}

.theme-website .web-faq--c .web-faq__a {
    color: var(--web-text);
}

/* ═══════════════════════════════════ 9b) Baukasten-Blöcke (Welle 1b, Phase 3)
   Salespage-Blöcke: problem, mechanismus, timeline, vorher, tiers, anker,
   garantie, verknappung. Gleiche Konventionen wie 9a — Zustands-Klassen
   schlagen Varianten-Klassen per Doppel-Klasse, jede mehrspaltige
   Varianten-Grid-Regel steht explizit in der 900px-Kollaps-Liste. */

/* ── web_problem ── */
.theme-website .web-problem__grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: clamp(28px, 4.5vw, 56px);
    align-items: start;
}

.theme-website .web-problem__title {
    margin: 0;
    font-size: var(--web-fs-title-lg);
}

.theme-website .web-problem__list {
    display: grid;
    gap: 12px;
}

.theme-website .web-problem__card {
    background: var(--web-surface);
    border: 1px solid var(--web-border);
    border-radius: 8px;
    padding: 16px 20px;
}

.theme-website .web-problem__num {
    display: none;
    margin: 0 0 8px;
    font-family: var(--web-font-heading);
    font-size: 2rem;
    line-height: 1;
    color: var(--web-violet);
}

.theme-website .web-problem__kicker {
    display: none;
    margin: 0 0 10px;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: var(--web-tracking-wide);
    text-transform: uppercase;
    color: var(--web-lilac);
}

.theme-website .web-problem__text {
    margin: 0;
    font-size: var(--web-fs-small);
    line-height: 1.6;
}

.theme-website .web-problem__outro {
    margin: 18px 0 0;
    font-size: var(--web-fs-micro);
    color: var(--web-text-soft);
}

.theme-website .web-problem--b {
    background: var(--web-bg-dark);
}

.theme-website .web-problem--b .web-problem__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
}

.theme-website .web-problem--b .web-eyebrow {
    color: var(--web-lilac);
}

.theme-website .web-problem--b .web-problem__title {
    margin: 0 0 32px;
    max-width: 720px;
    color: var(--web-on-dark-full);
}

.theme-website .web-problem--b .web-problem__title em {
    color: var(--web-lilac);
}

.theme-website .web-problem--b .web-problem__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.theme-website .web-problem--b .web-problem__card {
    background: transparent;
    border-color: rgba(225, 203, 247, .25);
    padding: 24px;
}

.theme-website .web-problem--b .web-problem__kicker {
    display: block;
}

.theme-website .web-problem--b .web-problem__text {
    color: var(--web-on-dark);
    line-height: 1.65;
}

.theme-website .web-problem--b .web-problem__outro {
    margin-top: 24px;
    color: var(--web-on-dark-soft);
}

.theme-website .web-problem--c .web-eyebrow {
    display: none;
}

.theme-website .web-problem--c .web-problem__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
}

.theme-website .web-problem--c .web-problem__title {
    margin: 0 0 36px;
    max-width: 860px;
    font-size: var(--web-fs-title-xl);
}

.theme-website .web-problem--c .web-problem__title em {
    color: var(--web-violet);
}

.theme-website .web-problem--c .web-problem__list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.theme-website .web-problem--c .web-problem__card {
    background: var(--web-lilac);
    border: 0;
    border-radius: 12px;
    padding: 26px;
}

.theme-website .web-problem--c .web-problem__num {
    display: block;
}

.theme-website .web-problem--c .web-problem__outro {
    display: none;
}

/* ── web_mechanismus ── */
.theme-website .web-mechanismus__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
}

.theme-website .web-mechanismus__title {
    margin: 0 0 34px;
    max-width: 700px;
    font-size: var(--web-fs-title-lg);
}

.theme-website .web-mechanismus__list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.theme-website .web-mechanismus__step {
    background: var(--web-surface);
    border: 1px solid var(--web-border);
    border-radius: 8px;
    padding: 24px;
}

.theme-website .web-mechanismus__num {
    display: none;
    margin: 0;
    font-family: var(--web-font-heading);
    font-size: 1.625rem;
    line-height: 1.3;
    color: var(--web-lilac);
}

.theme-website .web-mechanismus__kicker {
    margin: 0 0 8px;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: var(--web-tracking-wide);
    text-transform: uppercase;
    color: var(--web-violet);
}

.theme-website .web-mechanismus__step-title {
    margin: 0 0 8px;
    font-family: var(--web-font-heading);
    font-size: 1.1875rem;
    color: var(--web-petrol);
}

.theme-website .web-mechanismus__text {
    margin: 0;
    font-size: var(--web-fs-micro);
    line-height: 1.6;
    color: rgba(27, 69, 82, .75);
}

.theme-website .web-mechanismus--b {
    background: var(--web-bg-dark);
}

.theme-website .web-mechanismus--b .web-mechanismus__grid {
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    gap: clamp(28px, 4.5vw, 56px);
    align-items: start;
}

.theme-website .web-mechanismus--b .web-eyebrow {
    color: var(--web-lilac);
}

.theme-website .web-mechanismus--b .web-mechanismus__title {
    margin: 0;
    color: var(--web-on-dark-full);
}

.theme-website .web-mechanismus--b .web-mechanismus__title em {
    color: var(--web-lilac);
}

.theme-website .web-mechanismus--b .web-mechanismus__list {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
}

.theme-website .web-mechanismus--b .web-mechanismus__step {
    display: grid;
    grid-template-columns: 60px minmax(0, 1fr);
    gap: 20px;
    background: transparent;
    border: 0;
    border-top: 1px solid rgba(225, 203, 247, .2);
    border-radius: 0;
    padding: 18px 0;
}

.theme-website .web-mechanismus--b .web-mechanismus__step:last-child {
    border-bottom: 1px solid rgba(225, 203, 247, .2);
}

.theme-website .web-mechanismus--b .web-mechanismus__num {
    display: block;
}

.theme-website .web-mechanismus--b .web-mechanismus__kicker {
    display: none;
}

.theme-website .web-mechanismus--b .web-mechanismus__step-title {
    margin: 0 0 2px;
    font-family: var(--web-font-body);
    font-size: var(--web-fs-small);
    font-weight: 800;
    color: var(--web-on-dark-full);
}

.theme-website .web-mechanismus--b .web-mechanismus__text {
    color: rgba(255, 250, 245, .85);
    font-size: var(--web-fs-small);
}

.theme-website .web-mechanismus--c .web-eyebrow {
    display: none;
}

.theme-website .web-mechanismus--c .web-mechanismus__title {
    margin: 0 0 40px;
    font-size: var(--web-fs-title-xl);
}

.theme-website .web-mechanismus--c .web-mechanismus__title em {
    color: var(--web-violet);
}

.theme-website .web-mechanismus--c .web-mechanismus__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.theme-website .web-mechanismus--c .web-mechanismus__step {
    background: var(--web-lilac);
    border: 0;
    border-radius: 12px;
    padding: 28px;
}

.theme-website .web-mechanismus--c .web-mechanismus__num {
    display: block;
    margin: 0 0 8px;
    font-size: 1.875rem;
    color: var(--web-violet);
}

.theme-website .web-mechanismus--c .web-mechanismus__kicker {
    display: none;
}

.theme-website .web-mechanismus--c .web-mechanismus__step-title {
    font-family: var(--web-font-body);
    font-size: var(--web-fs-small);
    font-weight: 800;
    color: var(--web-text);
    margin: 0 0 4px;
}

.theme-website .web-mechanismus--c .web-mechanismus__text {
    font-size: var(--web-fs-small);
    color: var(--web-text);
}

.theme-website .web-mechanismus--c .web-mechanismus__step:last-child {
    background: var(--web-violet);
}

.theme-website .web-mechanismus--c .web-mechanismus__step:last-child .web-mechanismus__num {
    color: var(--web-lilac);
}

.theme-website .web-mechanismus--c .web-mechanismus__step:last-child .web-mechanismus__step-title,
.theme-website .web-mechanismus--c .web-mechanismus__step:last-child .web-mechanismus__text {
    color: var(--web-on-dark-full);
}

/* ── web_timeline ── */
.theme-website .web-timeline__title {
    margin: 0 0 34px;
    font-size: var(--web-fs-title-lg);
}

.theme-website .web-timeline__list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.theme-website .web-timeline__step {
    background: var(--web-surface);
    border: 1px solid var(--web-border);
    border-radius: 8px;
    padding: 26px 24px;
}

.theme-website .web-timeline__kicker {
    margin: 0 0 8px;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: var(--web-tracking-wide);
    text-transform: uppercase;
    color: var(--web-violet);
}

.theme-website .web-timeline__step-title {
    margin: 0 0 8px;
    font-family: var(--web-font-heading);
    font-size: 1.25rem;
    color: var(--web-petrol);
}

.theme-website .web-timeline__text {
    margin: 0;
    font-size: var(--web-fs-micro);
    line-height: 1.6;
    color: rgba(27, 69, 82, .75);
}

.theme-website .web-timeline--b {
    background: var(--web-bg-dark);
}

.theme-website .web-timeline--b .web-eyebrow {
    color: var(--web-lilac);
}

.theme-website .web-timeline--b .web-timeline__title {
    margin: 0 0 24px;
    color: var(--web-on-dark-full);
}

.theme-website .web-timeline--b .web-timeline__title em {
    color: var(--web-lilac);
}

.theme-website .web-timeline--b .web-timeline__list {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
}

.theme-website .web-timeline--b .web-timeline__step {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 4px 24px;
    background: transparent;
    border: 0;
    border-top: 1px solid rgba(225, 203, 247, .2);
    border-radius: 0;
    padding: 20px 0;
}

.theme-website .web-timeline--b .web-timeline__step:last-child {
    border-bottom: 1px solid rgba(225, 203, 247, .2);
}

.theme-website .web-timeline--b .web-timeline__kicker {
    grid-row: 1 / span 2;
    margin: 0;
    font-family: var(--web-font-heading);
    font-size: 1.375rem;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
    color: var(--web-lilac);
}

.theme-website .web-timeline--b .web-timeline__step-title {
    margin: 0;
    font-family: var(--web-font-body);
    font-size: var(--web-fs-small);
    font-weight: 800;
    color: var(--web-on-dark-full);
}

.theme-website .web-timeline--b .web-timeline__text {
    color: rgba(255, 250, 245, .85);
    font-size: var(--web-fs-small);
    line-height: 1.65;
}

.theme-website .web-timeline--c {
    background: var(--web-petrol);
}

.theme-website .web-timeline--c .web-eyebrow {
    display: none;
}

.theme-website .web-timeline--c .web-timeline__title {
    margin: 0 auto 40px;
    font-size: var(--web-fs-title-xl);
    text-align: center;
    color: var(--web-on-dark-full);
}

.theme-website .web-timeline--c .web-timeline__title em {
    color: var(--web-lilac);
}

.theme-website .web-timeline--c .web-timeline__step {
    background: rgba(255, 250, 245, .08);
    border: 1px solid rgba(225, 203, 247, .25);
    border-radius: 12px;
    padding: 26px;
}

.theme-website .web-timeline--c .web-timeline__kicker {
    color: var(--web-lilac);
    letter-spacing: 1px;
}

.theme-website .web-timeline--c .web-timeline__step-title {
    font-size: 1.75rem;
    color: var(--web-lilac);
}

.theme-website .web-timeline--c .web-timeline__text {
    color: rgba(255, 250, 245, .85);
    font-size: var(--web-fs-small);
    line-height: 1.65;
}

.theme-website .web-timeline--c .web-timeline__step:last-child {
    background: var(--web-lilac);
    border-color: transparent;
}

.theme-website .web-timeline--c .web-timeline__step:last-child .web-timeline__kicker {
    color: var(--web-violet);
}

.theme-website .web-timeline--c .web-timeline__step:last-child .web-timeline__step-title {
    color: var(--web-violet);
}

.theme-website .web-timeline--c .web-timeline__step:last-child .web-timeline__text {
    color: var(--web-text);
}

/* ── web_vorher ── */
.theme-website .web-vorher__title {
    margin: 0 0 30px;
    font-size: var(--web-fs-title-lg);
}

.theme-website .web-vorher__cols {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 22px;
    margin: 0 0 12px;
}

.theme-website .web-vorher__col-label {
    margin: 0;
    font-size: 0.71875rem;
    font-weight: 800;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--web-text-faint);
}

.theme-website .web-vorher__col-label--nachher {
    color: var(--web-violet);
}

.theme-website .web-vorher__list {
    display: grid;
    gap: 12px;
}

.theme-website .web-vorher__pair {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 22px;
}

.theme-website .web-vorher__cell {
    margin: 0;
    padding: 16px 20px;
    border-radius: var(--web-radius);
    font-size: var(--web-fs-small);
    line-height: 1.6;
}

.theme-website .web-vorher__cell--vorher {
    background: var(--web-surface);
    border: 1px solid var(--web-border);
}

.theme-website .web-vorher__cell--nachher {
    background: var(--web-petrol);
    color: var(--web-on-dark-full);
}

.theme-website .web-vorher__mark {
    font-weight: 800;
    margin-right: 4px;
}

.theme-website .web-vorher__cell--nachher .web-vorher__mark {
    color: var(--web-lilac);
}

.theme-website .web-vorher__panels {
    display: none;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    border-radius: 12px;
    overflow: hidden;
}

.theme-website .web-vorher__panel {
    padding: clamp(32px, 4.5vw, 52px) clamp(24px, 4vw, 44px);
}

.theme-website .web-vorher__panel--vorher {
    background: var(--web-bg);
}

.theme-website .web-vorher__panel--nachher {
    background: var(--web-violet);
    color: var(--web-on-dark-full);
}

.theme-website .web-vorher__panel-label {
    margin: 0 0 18px;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: rgba(27, 69, 82, .45);
}

.theme-website .web-vorher__panel--nachher .web-vorher__panel-label {
    color: var(--web-lilac);
}

.theme-website .web-vorher__statement {
    margin: 0 0 20px;
    font-family: var(--web-font-heading);
    font-size: clamp(1.375rem, 1.2rem + 0.76vw, 1.875rem);
    line-height: 1.25;
    color: rgba(27, 69, 82, .6);
}

.theme-website .web-vorher__panel--nachher .web-vorher__statement {
    color: var(--web-on-dark-full);
}

.theme-website .web-vorher__panel--nachher .web-vorher__statement em {
    color: var(--web-lilac);
    font-style: italic;
}

.theme-website .web-vorher__img {
    display: block;
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 12px;
}

.theme-website .web-vorher--b {
    background: var(--web-bg-dark);
}

.theme-website .web-vorher--b .web-eyebrow {
    color: var(--web-lilac);
}

.theme-website .web-vorher--b .web-vorher__title {
    color: var(--web-on-dark-full);
}

.theme-website .web-vorher--b .web-vorher__cols {
    display: none;
}

.theme-website .web-vorher--b .web-vorher__list {
    gap: 0;
    border: 1px solid rgba(225, 203, 247, .25);
    border-radius: 8px;
    overflow: hidden;
}

.theme-website .web-vorher--b .web-vorher__pair {
    gap: 0;
    border-bottom: 1px solid rgba(225, 203, 247, .2);
}

.theme-website .web-vorher--b .web-vorher__pair:last-child {
    border-bottom: 0;
}

.theme-website .web-vorher--b .web-vorher__cell {
    border-radius: 0;
    padding: 18px 24px;
}

.theme-website .web-vorher--b .web-vorher__cell--vorher {
    background: transparent;
    border: 0;
    border-right: 1px solid rgba(225, 203, 247, .2);
    color: rgba(255, 250, 245, .65);
}

.theme-website .web-vorher--b .web-vorher__cell--nachher {
    background: rgba(225, 203, 247, .08);
    color: var(--web-on-dark-full);
}

.theme-website .web-vorher--b .web-vorher__mark {
    color: rgba(255, 250, 245, .45);
}

.theme-website .web-vorher--b .web-vorher__cell--nachher .web-vorher__mark {
    color: var(--web-lilac);
}

.theme-website .web-vorher--c .web-vorher__cols,
.theme-website .web-vorher--c .web-vorher__list {
    display: none;
}

.theme-website .web-vorher--c .web-vorher__panels {
    display: grid;
}

/* ── web_tiers ── */
.theme-website .web-tiers__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
    align-items: stretch;
}

.theme-website .web-tiers__card {
    display: flex;
    flex-direction: column;
    gap: 12px;
    background: var(--web-surface);
    border: 1px solid var(--web-border-strong);
    border-radius: var(--web-radius);
    padding: 28px;
}

.theme-website .web-tiers__kicker {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: var(--web-text-faint);
}

.theme-website .web-tiers__card--year .web-tiers__kicker {
    color: var(--web-brown);
}

.theme-website .web-tiers__price {
    margin: 0;
    font-family: var(--web-font-heading);
    font-size: clamp(2rem, 1.77rem + 1vw, 2.5rem);
    line-height: 1.1;
    color: var(--web-petrol);
}

.theme-website .web-tiers__suffix {
    font-family: var(--web-font-body);
    font-size: var(--web-fs-micro);
    color: var(--web-text-faint);
}

.theme-website .web-tiers__text {
    margin: 0;
    flex: 1;
    font-size: var(--web-fs-micro);
    line-height: 1.65;
    color: rgba(27, 69, 82, .75);
}

.theme-website .web-tiers__cta {
    display: grid;
    gap: 8px;
}

.theme-website .web-tiers__btn {
    display: block;
    width: 100%;
    padding: 13px 20px;
    border: 2px solid transparent;
    border-radius: var(--web-radius-sm);
    font-family: var(--web-font-body);
    font-size: var(--web-fs-small);
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}

.theme-website .web-tiers__btn--ghost {
    background: transparent;
    border-color: var(--web-petrol);
    color: var(--web-petrol);
}

.theme-website .web-tiers__btn--ghost:hover {
    background: var(--web-petrol);
    color: var(--web-on-dark-full);
}

.theme-website .web-tiers__btn--solid {
    background: var(--web-lilac);
    color: var(--web-violet);
}

.theme-website .web-tiers__btn--solid:hover {
    background: var(--web-on-dark-full);
    color: var(--web-violet);
}

.theme-website .web-tiers__soon {
    margin: 0;
    font-size: var(--web-fs-micro);
    color: var(--web-text-soft);
}

.theme-website .web-tiers__card--month {
    background: var(--web-petrol);
    border-color: transparent;
    box-shadow: 0 10px 30px rgba(39, 99, 120, .25);
    color: var(--web-on-dark-full);
}

.theme-website .web-tiers__card--month .web-tiers__kicker {
    color: var(--web-lilac);
}

.theme-website .web-tiers__card--month .web-tiers__price {
    color: var(--web-on-dark-full);
}

.theme-website .web-tiers__card--month .web-tiers__suffix {
    color: rgba(255, 250, 245, .65);
}

.theme-website .web-tiers__card--month .web-tiers__text {
    color: rgba(255, 250, 245, .85);
}

.theme-website .web-tiers__card--month .web-tiers__soon {
    color: rgba(255, 250, 245, .75);
}

.theme-website .web-tiers--b {
    background: var(--web-bg-dark);
}

.theme-website .web-tiers--b .web-tiers__card {
    background: transparent;
    border: 1px solid rgba(225, 203, 247, .35);
    border-radius: 6px;
}

.theme-website .web-tiers--b .web-tiers__kicker {
    color: rgba(255, 250, 245, .7);
}

.theme-website .web-tiers--b .web-tiers__price {
    color: var(--web-on-dark-full);
}

.theme-website .web-tiers--b .web-tiers__suffix {
    color: rgba(255, 250, 245, .6);
}

.theme-website .web-tiers--b .web-tiers__text {
    color: rgba(255, 250, 245, .85);
}

.theme-website .web-tiers--b .web-tiers__soon {
    color: rgba(255, 250, 245, .7);
}

.theme-website .web-tiers--b .web-tiers__btn--ghost {
    border-color: var(--web-lilac);
    color: var(--web-lilac);
}

.theme-website .web-tiers--b .web-tiers__btn--ghost:hover {
    background: var(--web-lilac);
    color: var(--web-violet);
}

.theme-website .web-tiers--b .web-tiers__card--month {
    background: var(--web-lilac);
    border-color: transparent;
    box-shadow: none;
    color: var(--web-text);
}

.theme-website .web-tiers--b .web-tiers__card--month .web-tiers__kicker,
.theme-website .web-tiers--b .web-tiers__card--month .web-tiers__price {
    color: var(--web-violet);
}

.theme-website .web-tiers--b .web-tiers__card--month .web-tiers__suffix {
    color: rgba(79, 38, 120, .6);
}

.theme-website .web-tiers--b .web-tiers__card--month .web-tiers__text {
    color: #4a4058;
}

.theme-website .web-tiers--b .web-tiers__card--month .web-tiers__soon {
    color: rgba(79, 38, 120, .75);
}

.theme-website .web-tiers--b .web-tiers__card--month .web-tiers__btn--solid {
    background: var(--web-violet);
    color: var(--web-on-dark-full);
}

.theme-website .web-tiers--b .web-tiers__card--month .web-tiers__btn--solid:hover {
    background: var(--web-petrol-dark);
}

.theme-website .web-tiers--c .web-tiers__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) minmax(0, 1fr);
    align-items: center;
}

.theme-website .web-tiers--c .web-tiers__card {
    border-radius: 18px;
}

.theme-website .web-tiers--c .web-tiers__btn {
    border-radius: var(--web-radius-pill);
}

.theme-website .web-tiers--c .web-tiers__btn--ghost {
    border-color: var(--web-violet);
    color: var(--web-violet);
}

.theme-website .web-tiers--c .web-tiers__btn--ghost:hover {
    background: var(--web-violet);
    color: var(--web-on-dark-full);
}

.theme-website .web-tiers--c .web-tiers__card--month {
    background: var(--web-violet);
    box-shadow: 0 14px 36px rgba(79, 38, 120, .3);
    padding: 34px 30px;
}

.theme-website .web-tiers--c .web-tiers__card--month .web-tiers__btn--solid {
    padding-top: 14px;
    padding-bottom: 14px;
}

/* ── web_anker ── */
.theme-website .web-anker__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
}

.theme-website .web-anker__title {
    margin: 0 0 34px;
    max-width: 700px;
    font-size: var(--web-fs-title-lg);
}

.theme-website .web-anker__text {
    display: none;
    margin: 0;
    font-size: var(--web-fs-lead);
    line-height: 1.7;
}

.theme-website .web-anker__list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    align-items: stretch;
}

.theme-website .web-anker__item {
    background: var(--web-surface);
    border: 1px solid var(--web-border);
    border-radius: 8px;
    padding: 26px 24px;
}

.theme-website .web-anker__value {
    margin: 0 0 4px;
    font-family: var(--web-font-heading);
    font-size: 1.875rem;
    color: var(--web-text-faint);
}

.theme-website .web-anker__kicker {
    margin: 0 0 8px;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: rgba(27, 69, 82, .5);
}

.theme-website .web-anker__item-text {
    margin: 0;
    font-size: var(--web-fs-micro);
    line-height: 1.6;
    color: rgba(27, 69, 82, .75);
}

.theme-website .web-anker__item:last-child {
    background: var(--web-petrol);
    border-color: transparent;
    box-shadow: 0 10px 26px rgba(39, 99, 120, .25);
}

.theme-website .web-anker__item:last-child .web-anker__value {
    color: var(--web-on-dark-full);
}

.theme-website .web-anker__item:last-child .web-anker__kicker {
    color: var(--web-lilac);
}

.theme-website .web-anker__item:last-child .web-anker__item-text {
    color: rgba(255, 250, 245, .85);
}

.theme-website .web-anker--b {
    background: var(--web-bg-dark);
}

.theme-website .web-anker--b .web-anker__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(28px, 4.5vw, 56px);
    align-items: center;
}

.theme-website .web-anker--b .web-eyebrow {
    color: var(--web-lilac);
}

.theme-website .web-anker--b .web-anker__title {
    margin: 0 0 16px;
    color: var(--web-on-dark-full);
}

.theme-website .web-anker--b .web-anker__title em {
    color: var(--web-lilac);
}

.theme-website .web-anker--b .web-anker__text {
    display: block;
    color: var(--web-on-dark);
    font-size: var(--web-fs-small);
}

.theme-website .web-anker--b .web-anker__list {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
}

.theme-website .web-anker--b .web-anker__item {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 16px;
    background: transparent;
    border: 1px solid rgba(225, 203, 247, .25);
    padding: 16px 22px;
}

.theme-website .web-anker--b .web-anker__value {
    margin: 0;
    order: 2;
    font-size: 1.25rem;
    color: rgba(255, 250, 245, .6);
    white-space: nowrap;
}

.theme-website .web-anker--b .web-anker__kicker {
    display: none;
}

.theme-website .web-anker--b .web-anker__item-text {
    order: 1;
    color: rgba(255, 250, 245, .75);
    font-size: var(--web-fs-small);
}

.theme-website .web-anker--b .web-anker__item:last-child {
    background: var(--web-lilac);
    box-shadow: none;
}

.theme-website .web-anker--b .web-anker__item:last-child .web-anker__value {
    color: var(--web-violet);
}

.theme-website .web-anker--b .web-anker__item:last-child .web-anker__item-text {
    color: var(--web-violet);
    font-weight: 800;
}

.theme-website .web-anker--c {
    text-align: center;
}

.theme-website .web-anker--c .web-eyebrow {
    display: none;
}

.theme-website .web-anker--c .web-anker__title {
    margin: 0 auto 10px;
    max-width: 820px;
    font-size: var(--web-fs-title-xl);
}

.theme-website .web-anker--c .web-anker__title em {
    color: var(--web-violet);
}

.theme-website .web-anker--c .web-anker__text {
    display: block;
    margin: 0 auto 36px;
    max-width: 560px;
    font-size: var(--web-fs-small);
    color: rgba(27, 69, 82, .75);
}

.theme-website .web-anker--c .web-anker__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
}

.theme-website .web-anker--c .web-anker__item {
    display: flex;
    align-items: baseline;
    gap: 8px;
    background: var(--web-lilac);
    border: 0;
    border-radius: var(--web-radius-pill);
    padding: 13px 26px;
}

.theme-website .web-anker--c .web-anker__value {
    margin: 0;
    order: 2;
    font-family: var(--web-font-body);
    font-size: var(--web-fs-micro);
    font-weight: 800;
    color: var(--web-text);
}

.theme-website .web-anker--c .web-anker__item-text {
    display: none;
}

.theme-website .web-anker--c .web-anker__item:last-child {
    background: var(--web-violet);
    box-shadow: none;
}

.theme-website .web-anker--c .web-anker__item:last-child .web-anker__value {
    color: var(--web-on-dark-full);
}

/* c-Pills brauchen den Kicker als Label: sichtbar, klein, nicht versal. */
.theme-website .web-anker--c .web-anker__kicker {
    display: block;
    order: 1;
    margin: 0;
    font-size: var(--web-fs-micro);
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
    color: var(--web-text);
}

.theme-website .web-anker--c .web-anker__item:last-child .web-anker__kicker {
    color: var(--web-on-dark-full);
    font-weight: 800;
}

/* ── web_garantie ── */
.theme-website .web-garantie__card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 32px;
    align-items: center;
    max-width: 860px;
    margin: 0 auto;
    background: var(--web-surface);
    border: 1px solid var(--web-border-strong);
    border-radius: 12px;
    padding: 36px 40px;
}

.theme-website .web-garantie__badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 110px;
    height: 110px;
    border: 3px solid var(--web-petrol);
    border-radius: 50%;
    color: var(--web-petrol);
}

.theme-website .web-garantie__badge-value {
    font-family: var(--web-font-heading);
    font-size: 2.125rem;
    line-height: 1;
}

.theme-website .web-garantie__badge-label {
    margin-top: 4px;
    font-size: 0.59375rem;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}

.theme-website .web-garantie .web-eyebrow {
    display: none;
}

.theme-website .web-garantie__title {
    margin: 0 0 10px;
    font-size: clamp(1.375rem, 1.26rem + 0.5vw, 1.625rem);
}

.theme-website .web-garantie__text {
    margin: 0;
    font-size: var(--web-fs-small);
    line-height: 1.7;
    color: rgba(27, 69, 82, .8);
}

.theme-website .web-garantie__action {
    display: none;
    text-align: center;
}

.theme-website .web-garantie__note {
    margin: 10px 0 0;
    font-size: var(--web-fs-micro);
    color: var(--web-text-soft);
}

.theme-website .web-garantie--b {
    background: var(--web-violet);
}

.theme-website .web-garantie--b .web-garantie__card {
    grid-template-columns: minmax(0, 1fr);
    max-width: 760px;
    background: transparent;
    border: 0;
    padding: 0;
    text-align: center;
}

.theme-website .web-garantie--b .web-garantie__badge {
    display: none;
}

.theme-website .web-garantie--b .web-eyebrow {
    display: block;
    color: var(--web-lilac);
}

.theme-website .web-garantie--b .web-garantie__title {
    margin: 0 auto 14px;
    font-size: var(--web-fs-title-lg);
    color: var(--web-on-dark-full);
}

.theme-website .web-garantie--b .web-garantie__title em {
    color: var(--web-lilac);
}

.theme-website .web-garantie--b .web-garantie__text {
    margin: 0 auto;
    max-width: 560px;
    color: rgba(255, 250, 245, .85);
}

.theme-website .web-garantie--c {
    background: var(--web-lilac);
}

.theme-website .web-garantie--c .web-garantie__card {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 40px;
    max-width: none;
    background: transparent;
    border: 0;
    padding: 0;
}

.theme-website .web-garantie--c .web-garantie__badge {
    display: none;
}

.theme-website .web-garantie--c .web-garantie__title {
    margin: 0;
    font-size: var(--web-fs-title-xl);
    line-height: 1.1;
}

.theme-website .web-garantie--c .web-garantie__title em {
    color: var(--web-violet);
}

.theme-website .web-garantie--c .web-garantie__text {
    display: none;
}

.theme-website .web-garantie--c .web-garantie__action {
    display: block;
}

.theme-website .web-garantie--c .web-garantie__btn {
    background: var(--web-violet);
    color: var(--web-on-dark-full);
    border-radius: var(--web-radius-pill);
    padding: 16px 34px;
}

.theme-website .web-garantie--c .web-garantie__btn:hover {
    background: var(--web-petrol-dark);
    color: var(--web-on-dark-full);
}

.theme-website .web-garantie--c .web-garantie__note {
    color: rgba(27, 69, 82, .65);
}

/* ── web_verknappung ── */
.theme-website .web-verknappung__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 32px;
    align-items: center;
}

.theme-website .web-verknappung__title {
    margin: 0 0 8px;
    font-size: clamp(1.375rem, 1.26rem + 0.5vw, 1.625rem);
}

.theme-website .web-verknappung__text {
    margin: 0;
    font-size: var(--web-fs-small);
    line-height: 1.65;
    color: rgba(27, 69, 82, .75);
}

.theme-website .web-verknappung__counter {
    text-align: center;
}

.theme-website .web-verknappung__count {
    margin: 0;
    font-family: var(--web-font-heading);
    font-size: 2.75rem;
    line-height: 1;
    color: var(--web-petrol);
}

.theme-website .web-verknappung__count-total {
    font-size: 1.125rem;
    color: var(--web-text-faint);
}

.theme-website .web-verknappung__count-label {
    margin: 2px 0 0;
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: var(--web-tracking-wide);
    text-transform: uppercase;
    color: var(--web-text-faint);
}

.theme-website .web-verknappung__edit-hint {
    margin: 6px 0 0;
    font-size: var(--web-fs-micro);
    color: var(--web-text-soft);
}

.theme-website .web-verknappung__bar {
    display: none;
    grid-column: 1 / -1;
    height: 10px;
    background: rgba(225, 203, 247, .2);
    border-radius: var(--web-radius-pill);
    overflow: hidden;
}

.theme-website .web-verknappung__bar-fill {
    display: block;
    height: 100%;
    background: var(--web-lilac);
}

.theme-website .web-verknappung__note {
    display: none;
    grid-column: 1 / -1;
    margin: 0;
    font-size: var(--web-fs-micro);
    color: rgba(255, 250, 245, .65);
}

.theme-website .web-verknappung__hint {
    margin: 0 0 16px;
    padding: 12px 16px;
    border: 1px dashed var(--web-violet);
    border-radius: var(--web-radius);
    background: rgba(225, 203, 247, .25);
    font-size: var(--web-fs-micro);
    font-weight: 600;
    color: var(--web-text);
}

.theme-website .web-verknappung__band {
    display: none;
    background: var(--web-violet);
    color: var(--web-lilac);
    padding: 15px 0;
    overflow: hidden;
    white-space: nowrap;
    font-size: var(--web-fs-micro);
    font-weight: 800;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.theme-website .web-verknappung__band-item {
    padding: 0 28px;
}

.theme-website .web-verknappung--voll .web-verknappung__count {
    color: var(--web-brown);
}

.theme-website .web-verknappung--b {
    background: var(--web-bg-dark);
}

.theme-website .web-verknappung--b .web-verknappung__row {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px 24px;
}

.theme-website .web-verknappung--b .web-verknappung__title {
    margin: 0;
    font-size: 1.75rem;
    color: var(--web-on-dark-full);
}

.theme-website .web-verknappung--b .web-verknappung__title em {
    color: var(--web-lilac);
}

.theme-website .web-verknappung--b .web-verknappung__text {
    display: none;
}

.theme-website .web-verknappung--b .web-verknappung__counter {
    display: none;
}

/* Button neben den Titel (Entwurf) — Auto-Placement würde ihn unter die
   Note setzen. Kollaps-Liste setzt die Platzierung auf auto zurück. */
.theme-website .web-verknappung--b .web-verknappung__action {
    grid-row: 1;
    grid-column: 2;
}

.theme-website .web-verknappung--b .web-verknappung__bar {
    display: block;
}

.theme-website .web-verknappung--b .web-verknappung__note {
    display: block;
}

.theme-website .web-verknappung--b .web-verknappung__btn {
    background: var(--web-lilac);
    color: var(--web-violet);
}

.theme-website .web-verknappung--b .web-verknappung__btn:hover {
    background: var(--web-on-dark-full);
    color: var(--web-violet);
}

.theme-website .web-verknappung--b .web-verknappung__edit-hint {
    color: var(--web-on-dark-soft);
}

.theme-website .web-verknappung--c {
    padding: 0;
}

.theme-website .web-verknappung--c .web-verknappung__row {
    display: none;
}

.theme-website .web-verknappung--c .web-verknappung__band {
    display: block;
}

/* ── Responsive-Kit: 900px — Grids kollabieren ── */
@media (max-width: 900px) {
    .theme-website .web-hero__grid,
    .theme-website .web-hero--c .web-hero__grid,
    .theme-website .web-cta-sektion__grid,
    .theme-website .web-cta-sektion--c .web-cta-sektion__grid,
    .theme-website .web-stack__grid,
    .theme-website .web-autoritaet__grid,
    .theme-website .web-autoritaet--b .web-autoritaet__grid,
    .theme-website .web-autoritaet--c .web-autoritaet__grid,
    .theme-website .web-optin--b .web-optin__grid,
    .theme-website .web-faq__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    /* Bild folgt dem Text (auch wo Desktop per order tauscht). */
    .theme-website .web-cta-sektion--c .web-cta-sektion__media,
    .theme-website .web-autoritaet__media {
        order: 2;
    }

    .theme-website .web-hero--c .web-hero__img,
    .theme-website .web-cta-sektion--c .web-cta-sektion__img,
    .theme-website .web-autoritaet--c .web-autoritaet__img {
        min-height: 0;
        height: clamp(220px, 55vw, 320px);
    }

    .theme-website .web-testimonials__list {
        grid-template-columns: minmax(0, 1fr);
    }

    /* Petrol-Slider-Look (b): auf Schmal horizontal scrollen mit Snap. */
    .theme-website .web-testimonials--b .web-testimonials__list {
        grid-auto-flow: column;
        grid-auto-columns: min(82vw, 340px);
        grid-template-columns: none;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        padding-bottom: 8px;
    }

    .theme-website .web-testimonials--b .web-testimonials__card {
        scroll-snap-align: start;
    }

    .theme-website .web-trust__row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .theme-website .web-trust__cell:nth-child(2n) {
        border-right: 0;
    }

    .theme-website .web-trust__cell:nth-child(-n+2) {
        border-bottom: 1px solid var(--web-border-soft);
    }

    .theme-website .web-stack--c .web-stack__list {
        grid-template-columns: minmax(0, 1fr);
    }

    .theme-website .web-faq--c .web-faq__list {
        grid-template-columns: minmax(0, 1fr);
    }

    /* ── Welle 1b ── */
    .theme-website .web-problem__grid,
    .theme-website .web-problem--b .web-problem__list,
    .theme-website .web-problem--c .web-problem__list,
    .theme-website .web-mechanismus__list,
    .theme-website .web-mechanismus--b .web-mechanismus__grid,
    .theme-website .web-mechanismus--c .web-mechanismus__list,
    .theme-website .web-timeline__list,
    .theme-website .web-vorher__cols,
    .theme-website .web-vorher__pair,
    .theme-website .web-vorher__panels,
    .theme-website .web-tiers__grid,
    .theme-website .web-tiers--c .web-tiers__grid,
    .theme-website .web-anker__list,
    .theme-website .web-anker--b .web-anker__grid,
    .theme-website .web-garantie__card,
    .theme-website .web-garantie--c .web-garantie__card,
    .theme-website .web-verknappung__row,
    .theme-website .web-verknappung--b .web-verknappung__row {
        grid-template-columns: minmax(0, 1fr);
    }

    /* Spalten-Köpfe ergeben ohne Spalten kein Bild — die Paar-Zellen tragen
       ihre ✕/✓-Marken selbst. */
    .theme-website .web-vorher__cols {
        display: none;
    }

    /* b-Tabelle: gestapelte Zellen brauchen die Trennlinie unten statt rechts. */
    .theme-website .web-vorher--b .web-vorher__cell--vorher {
        border-right: 0;
        border-bottom: 1px solid rgba(225, 203, 247, .2);
    }

    .theme-website .web-garantie__badge {
        justify-self: center;
    }

    .theme-website .web-verknappung__counter {
        text-align: left;
    }

    .theme-website .web-verknappung--b .web-verknappung__action {
        grid-row: auto;
        grid-column: auto;
    }

    .theme-website .web-verknappung__btn {
        width: 100%;
    }
}

/* ── Responsive-Kit: 560px — Kleinkram ── */
@media (max-width: 560px) {
    .theme-website .web-cta-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .theme-website .web-btn--block {
        width: 100%;
    }

    .theme-website .web-optin__form {
        flex-direction: column;
    }

    .theme-website .web-optin__btn {
        width: 100%;
    }

    .theme-website .web-stack__row {
        flex-direction: column;
        gap: 4px;
    }

    .theme-website .web-stack--c .web-stack__total {
        border-radius: 22px;
    }

    .theme-website .web-dream--b .web-dream__inner {
        grid-template-columns: minmax(0, 1fr);
        gap: 8px;
    }

    .theme-website .web-trust--c .web-trust__cell {
        white-space: normal;
    }

    /* ── Welle 1b ── */
    .theme-website .web-timeline--b .web-timeline__step {
        grid-template-columns: minmax(0, 1fr);
        gap: 2px;
    }

    .theme-website .web-timeline--b .web-timeline__kicker {
        grid-row: auto;
        margin-bottom: 4px;
    }

    .theme-website .web-anker--b .web-anker__item {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }

    .theme-website .web-garantie--c .web-garantie__btn {
        width: 100%;
    }
}
