/* ============================================================
           WSK AWARD LAYER · "Preis-Anatomie" · page-scoped, mono
           Cornerstone Webseite-Kosten (Design-Parity-Welle W1)
           ============================================================ */
        :root { --wsk-ink: #0a0a0c; }

        /* ---------- Preis-Hero (dark stage) ---------- */
        .wsk-hero {
            position: relative;
            background: var(--wsk-ink);
            border-bottom: none;
            padding: clamp(116px, 13vw, 168px) 0 clamp(48px, 6.5vw, 80px);
            overflow: clip;
            isolation: isolate;
        }
        .wsk-hero::after {
            content: "";
            position: absolute;
            top: -30%;
            left: 50%;
            transform: translateX(-50%);
            width: 60vmax;
            height: 60vmax;
            border-radius: 50%;
            background: radial-gradient(circle, rgba(255,255,255,.07), transparent 60%);
            filter: blur(50px);
            pointer-events: none;
            z-index: 0;
        }
        .wsk-wm {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            font-size: clamp(9rem, 24vw, 21rem);
            font-weight: 900;
            line-height: 1;
            letter-spacing: -.02em;
            text-transform: uppercase;
            color: transparent;
            -webkit-text-stroke: 1.5px rgba(255,255,255,.06);
            pointer-events: none;
            user-select: none;
            z-index: 0;
            white-space: nowrap;
        }
        .wsk-hero .container { position: relative; z-index: 1; }
        .wsk-hero .breadcrumb { color: rgba(255,255,255,.45); }
        .wsk-hero .breadcrumb a { color: rgba(255,255,255,.7); }
        .wsk-hero .breadcrumb a:hover { color: #fff; }
        .wsk-hero .pillar-hero-eyebrow {
            background: rgba(255,255,255,.06);
            border: 1px solid rgba(255,255,255,.18);
            color: rgba(255,255,255,.8);
        }
        .wsk-hero h1 {
            color: #fff;
            font-size: clamp(2rem, 4.8vw, 3.7rem);
            line-height: 1.06;
            letter-spacing: -.035em;
            font-weight: 900;
            text-wrap: balance;
        }
        .wsk-hero h1 .wsk-x { color: transparent; -webkit-text-stroke: 2px rgba(255,255,255,.85); }
        .wsk-hero .pillar-hero-sub { color: rgba(255,255,255,.7); }
        .wsk-hero .pillar-hero-checklist li { color: rgba(255,255,255,.75); }
        .wsk-hero .pillar-hero-checklist li::before { color: rgba(255,255,255,.85); }
        .wsk-hero .pillar-hero-cta { transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .3s ease; will-change: transform; }
        .wsk-ctawrap { position: relative; display: inline-flex; isolation: isolate; }
        .wsk-ctawrap::before {
            content: "";
            position: absolute;
            inset: -7px;
            border-radius: 16px;
            background: conic-gradient(from 180deg, transparent 0 40%, rgba(255,255,255,.75) 50%, transparent 60% 100%);
            filter: blur(10px);
            opacity: .7;
            z-index: -1;
            pointer-events: none;
        }
        @media (prefers-reduced-motion: no-preference) {
            .wsk-ctawrap::before { animation: wskBeam 5.5s linear infinite; }
            @keyframes wskBeam { to { transform: rotate(1turn); } }
            /* H1 = LCP-Kandidat: transform-only, nie opacity:0 (REV-229-Lehre) */
            .wsk-hero h1 { animation: wskSlide .8s cubic-bezier(.22,1,.36,1) backwards .05s; }
            @keyframes wskSlide { from { transform: translateY(16px); } }
            .wsk-hero .breadcrumb, .wsk-hero .pillar-hero-eyebrow,
            .wsk-hero .pillar-hero-sub, .wsk-hero .pillar-hero-checklist, .wsk-hero .wsk-ctawrap {
                animation: wskUp .8s cubic-bezier(.22,1,.36,1) backwards;
            }
            .wsk-hero .pillar-hero-sub { animation-delay: .14s; }
            .wsk-hero .pillar-hero-checklist { animation-delay: .2s; }
            .wsk-hero .wsk-ctawrap { animation-delay: .26s; }
            .wsk-hero .pillar-hero-aside { animation: wskIn 1s cubic-bezier(.22,1,.36,1) .2s backwards; }
            @keyframes wskUp { from { opacity: 0; transform: translateY(18px); } }
            @keyframes wskIn { from { opacity: 0; transform: translateY(24px) scale(.98); } }
        }

        /* Preisskala (hero aside) */
        .wsk-hero .pillar-hero-stat-stack {
            background: transparent;
            padding: 0;
            border: none;
            box-shadow: none;
            display: grid;
            gap: 10px;
        }
        .wsk-hero .pillar-hero-stat-card {
            position: relative;
            padding: 18px 20px;
            background: rgba(255,255,255,.04);
            border: 1px dashed rgba(255,255,255,.25);
            border-radius: var(--radius-lg);
            transition: transform .35s cubic-bezier(.22,1,.36,1), border-color .3s ease;
            will-change: transform;
        }
        .wsk-hero .pillar-hero-stat-card:nth-child(1) {
            border: 1px solid rgba(255,255,255,.5);
            background: rgba(255,255,255,.07);
            box-shadow: 0 18px 50px -22px rgba(0,0,0,.8);
        }
        .wsk-hero .pillar-hero-stat-card::after {
            position: absolute;
            top: 12px;
            right: 14px;
            font-size: .58rem;
            font-weight: 800;
            letter-spacing: .16em;
            text-transform: uppercase;
            color: rgba(255,255,255,.4);
        }
        .wsk-hero .pillar-hero-stat-card:nth-child(1)::after { content: "Einmalig"; color: #fff; }
        .wsk-hero .pillar-hero-stat-card:nth-child(2)::after { content: "K\00fcndbar"; }
        .wsk-hero .pillar-hero-stat-card:nth-child(3)::after { content: "Tempo"; }
        .wsk-hero .stat-num { color: #fff; }
        .wsk-hero .stat-label { color: rgba(255,255,255,.6); }

        /* ---------- Preis-Ticker ---------- */
        .wsk-ticker {
            overflow: clip;
            background: var(--white);
            border-block: 1px solid rgba(17,17,17,.08);
            padding: 11px 0;
            user-select: none;
        }
        .wsk-ticker-track { display: flex; width: max-content; }
        .wsk-ticker span {
            white-space: nowrap;
            font-size: clamp(.82rem, 1.4vw, 1rem);
            font-weight: 800;
            letter-spacing: .14em;
            text-transform: uppercase;
            color: rgba(17,17,17,.3);
            padding-right: 14px;
        }
        .wsk-ticker span i {
            font-style: normal;
            color: rgba(17,17,17,.5);
            padding: 0 10px;
        }
        @media (prefers-reduced-motion: no-preference) {
            .wsk-ticker-track { animation: wskTick 38s linear infinite; }
            @keyframes wskTick { to { transform: translateX(-50%); } }
        }

        /* ---------- Akt-Nummern ---------- */
        main { counter-reset: wskact; }
        .pillar-section:not(.pillar-section--final-cta):has(h2[id]) .pillar-section-header { counter-increment: wskact; position: relative; }
        .pillar-section:not(.pillar-section--final-cta):has(h2[id]) .pillar-section-header::before {
            content: counter(wskact, decimal-leading-zero);
            position: absolute;
            top: -52px;
            left: 50%;
            transform: translateX(-50%);
            font-size: clamp(4rem, 9vw, 6.5rem);
            font-weight: 900;
            line-height: 1;
            color: transparent;
            -webkit-text-stroke: 1px rgba(17,17,17,.14);
            pointer-events: none;
            user-select: none;
            z-index: 0;
            font-variant-numeric: tabular-nums;
        }
        .pillar-section-header > * { position: relative; z-index: 1; }
        .pillar-section { overflow: clip; position: relative; padding-top: clamp(44px, 5.5vw, 78px); padding-bottom: clamp(44px, 5.5vw, 78px); }
        .pillar-section-header { margin-bottom: clamp(24px, 3.5vw, 40px); }

        /* ---------- Tabelle: Sieger-Zeile ---------- */
        .cost-table tr.highlight-row td {
            background: var(--wsk-ink);
            color: #fff;
            font-weight: 800;
        }
        .cost-table tbody tr:not(.highlight-row):hover td { background: rgba(17,17,17,.03); }

        /* ---------- Showpiece: Preis-Spektrum ---------- */
        .wsk-spec {
            max-width: 940px;
            margin: clamp(28px, 4vw, 44px) auto 0;
            border: 1px solid rgba(17,17,17,.12);
            border-radius: var(--radius-lg);
            background: var(--white);
            padding: clamp(22px, 3vw, 32px) clamp(20px, 3vw, 34px) clamp(18px, 2.5vw, 26px);
            box-shadow: 0 28px 66px -46px rgba(10,10,12,.5);
        }
        .wsk-spec-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 18px; margin-bottom: 20px; }
        .wsk-spec-head strong { font-size: 1.05rem; font-weight: 800; letter-spacing: -.015em; color: var(--dark); }
        .wsk-spec-head span { font-size: .74rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--text-lighter); }
        .wsk-spec-row { display: grid; grid-template-columns: minmax(112px, 168px) 1fr auto; gap: 8px 16px; align-items: center; padding: 10px 0; border-bottom: 1px solid rgba(17,17,17,.06); }
        .wsk-spec-row:last-of-type { border-bottom: none; }
        .wsk-spec-lbl { font-size: .86rem; font-weight: 700; color: var(--text); line-height: 1.3; }
        .wsk-spec-row.is-gw .wsk-spec-lbl { color: var(--dark); font-weight: 800; }
        .wsk-spec-track { position: relative; height: 14px; border-radius: 999px; background: rgba(17,17,17,.05); overflow: hidden; }
        .wsk-spec-bar {
            position: absolute;
            top: 0;
            bottom: 0;
            border-radius: 999px;
            background: rgba(17,17,17,.28);
            transform-origin: left center;
        }
        .wsk-spec-bar.is-tick { background: rgba(17,17,17,.45); }
        .wsk-spec-row.is-gw .wsk-spec-bar { background: var(--wsk-ink); }
        .wsk-spec-val { font-size: .82rem; font-weight: 700; color: var(--text-light); white-space: nowrap; font-variant-numeric: tabular-nums; }
        .wsk-spec-row.is-gw .wsk-spec-val { color: var(--dark); font-weight: 800; }
        .wsk-spec-note { margin: 14px 0 0; font-size: .8rem; color: var(--text-light); line-height: 1.6; }
        @media (prefers-reduced-motion: no-preference) {
            .wsk-spec.is-armed .wsk-spec-bar { animation: wskGrow 1.1s cubic-bezier(.22,1,.36,1) backwards; }
            .wsk-spec.is-armed .wsk-spec-row:nth-of-type(3) .wsk-spec-bar { animation-delay: .12s; }
            .wsk-spec.is-armed .wsk-spec-row:nth-of-type(4) .wsk-spec-bar { animation-delay: .24s; }
            .wsk-spec.is-armed .wsk-spec-row:nth-of-type(5) .wsk-spec-bar { animation-delay: .38s; }
            @keyframes wskGrow { from { transform: scaleX(0); } }
        }
        @media (max-width: 640px) {
            .wsk-spec-row { grid-template-columns: 1fr auto; }
            .wsk-spec-track { grid-column: 1 / -1; order: 3; }
        }

        /* ---------- Nacht-Akt: Warum so guenstig ---------- */
        .pillar-section.wsk-night {
            background: var(--wsk-ink) !important;
            position: relative;
            overflow: clip;
        }
        .wsk-night::after {
            content: "Effizienz";
            position: absolute;
            right: -16px;
            bottom: -28px;
            font-size: clamp(5rem, 14vw, 11rem);
            font-weight: 900;
            line-height: 1;
            text-transform: uppercase;
            letter-spacing: .01em;
            color: transparent;
            -webkit-text-stroke: 1px rgba(255,255,255,.07);
            pointer-events: none;
            user-select: none;
        }
        .pillar-section.wsk-night .container { position: relative; z-index: 1; }
        .pillar-section.wsk-night .pillar-section-header::before { -webkit-text-stroke-color: rgba(255,255,255,.12) !important; }
        .pillar-section.wsk-night .pillar-section-eyebrow { color: rgba(255,255,255,.55); }
        .pillar-section.wsk-night h2 { color: #fff; }
        .pillar-section.wsk-night .pillar-section-sub { color: rgba(255,255,255,.6); }
        .pillar-section.wsk-night .pillar-section-body p { color: rgba(255,255,255,.72); }
        .pillar-section.wsk-night .pillar-section-body p strong { color: #fff; }
        .pillar-section.wsk-night .visual-break {
            background: rgba(255,255,255,.04);
            border: 1px solid rgba(255,255,255,.14);
            border-radius: var(--radius-lg);
        }
        .pillar-section.wsk-night .visual-break h3 { color: #fff; }
        .pillar-section.wsk-night .visual-break p { color: rgba(255,255,255,.65); }

        /* ---------- Kostenfallen: strukturierte Lese-Sektion ---------- */
        .pillar-section.wsk-fallen .pillar-section-body { counter-reset: wskfalle; }
        .pillar-section.wsk-fallen .pillar-section-body h3 {
            display: flex;
            align-items: center;
            gap: 12px;
            font-size: .82rem;
            font-weight: 800;
            letter-spacing: .15em;
            text-transform: uppercase;
            color: var(--dark);
            margin-top: clamp(30px, 4vw, 44px);
            counter-increment: wskfalle;
        }
        .pillar-section.wsk-fallen .pillar-section-body h3::before {
            content: counter(wskfalle, decimal-leading-zero);
            font-size: .72rem;
            font-weight: 800;
            color: var(--text-lighter);
            border: 1.5px solid rgba(17,17,17,.25);
            border-radius: 999px;
            padding: 4px 9px;
            line-height: 1;
            font-variant-numeric: tabular-nums;
        }
        .pillar-section.wsk-fallen .pillar-section-body h3::after {
            content: "";
            flex: 1;
            height: 1px;
            background: rgba(17,17,17,.1);
        }
        /* Inklusiv-Liste als Check-Chips; (0,4,2) schlaegt style.css ul:not():not()>li (0,3,2) */
        .pillar-section.wsk-fallen .pillar-section-body ul.wsk-inc {
            list-style: none;
            padding: 0;
            margin: 18px 0;
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 8px;
        }
        @media (max-width: 760px) { .pillar-section.wsk-fallen .pillar-section-body ul.wsk-inc { grid-template-columns: 1fr; } }
        .pillar-section.wsk-fallen .pillar-section-body ul.wsk-inc > li {
            position: relative;
            color: var(--text);
            padding: 13px 16px 13px 44px;
            border: 1px solid rgba(17,17,17,.12);
            border-radius: 14px;
            background: var(--white);
            line-height: 1.6;
            margin: 0;
            transition: border-color .3s ease, transform .35s cubic-bezier(.22,1,.36,1);
        }
        .pillar-section.wsk-fallen .pillar-section-body ul.wsk-inc > li:hover { border-color: rgba(17,17,17,.3); transform: translateY(-2px); }
        .pillar-section.wsk-fallen .pillar-section-body ul.wsk-inc > li strong { color: var(--dark); }
        .pillar-section.wsk-fallen .pillar-section-body ul.wsk-inc > li::before {
            content: "\2713";
            position: absolute;
            left: 14px;
            top: 13px;
            width: 20px;
            height: 20px;
            border-radius: 50%;
            background: var(--wsk-ink);
            color: #fff;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: .72rem;
            font-weight: 800;
        }

        /* ---------- Karten-Politur ---------- */
        .package-card { transition: transform .35s cubic-bezier(.22,1,.36,1), border-color .3s ease, box-shadow .35s ease; }
        .package-card:hover { transform: translateY(-5px); border-color: rgba(17,17,17,.3); box-shadow: 0 24px 54px -34px rgba(10,10,12,.45); }
        .highlight-box {
            border: 1px solid rgba(17,17,17,.12);
            border-left: 4px solid var(--dark);
            border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
        }
        .pillar-section-cta .btn-primary { transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .3s ease; will-change: transform; }

        /* ---------- Final: dunkler Schluss-Akt ---------- */
        .pillar-section--final-cta { background: var(--wsk-ink) !important; position: relative; overflow: clip; padding: clamp(64px,9vw,112px) 0 !important; }
        .pillar-section--final-cta::before {
            content: "149 \20AC";
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%,-50%);
            font-size: clamp(8rem, 24vw, 19rem);
            font-weight: 900;
            line-height: 1;
            color: transparent;
            -webkit-text-stroke: 1px rgba(255,255,255,.05);
            pointer-events: none;
            user-select: none;
            z-index: 0;
            white-space: nowrap;
        }
        .pillar-section--final-cta .container { position: relative; z-index: 1; }
        .pillar-section--final-cta .cta-box h2 { color: #fff !important; }
        .pillar-section--final-cta .cta-box > p { color: rgba(255,255,255,.7) !important; }
        .pillar-section--final-cta .cta-box .btn-primary { background: #fff !important; color: var(--wsk-ink) !important; transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .3s ease; will-change: transform; }
        .pillar-section--final-cta .cta-box .btn-primary:hover { box-shadow: 0 16px 40px -16px rgba(255,255,255,.4); }

        /* ---------- Reveals ---------- */
        @supports (animation-timeline: view()) {
            @media (prefers-reduced-motion: no-preference) {
                .icon-grid-item, .highlight-box, .package-card, .wsk-spec,
                .pillar-section.wsk-fallen .pillar-section-body ul.wsk-inc > li {
                    animation: wskRise .9s cubic-bezier(.22,1,.36,1) both;
                    animation-timeline: view();
                    animation-range: entry 0% entry 38%;
                }
                @keyframes wskRise { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
            }
        }

        @media (max-width: 720px) {
            .wsk-wm { font-size: clamp(5.5rem, 26vw, 8rem); }
            .pillar-section:not(.pillar-section--final-cta):has(h2[id]) .pillar-section-header::before { font-size: clamp(3.2rem, 16vw, 4.5rem); top: -32px; }
        }
