/* ============================================================
           OPL AWARD LAYER · "Eine Seite" · page-scoped, mono
           Cornerstone Onepager-erstellen-lassen (Design-Parity W1)
           ============================================================ */
        :root { --opl-ink: #0a0a0c; }

        /* ---------- Onepager-Hero (dark stage) ---------- */
        .opl-hero {
            position: relative;
            background: var(--opl-ink);
            border-bottom: none;
            padding: clamp(116px, 13vw, 168px) 0 clamp(48px, 6.5vw, 80px);
            overflow: clip;
            isolation: isolate;
        }
        .opl-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;
        }
        .opl-wm {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            font-size: clamp(8rem, 22vw, 19rem);
            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;
        }
        .opl-hero .container { position: relative; z-index: 1; }
        .opl-hero .breadcrumb { color: rgba(255,255,255,.45); }
        .opl-hero .breadcrumb a { color: rgba(255,255,255,.7); }
        .opl-hero .breadcrumb a:hover { color: #fff; }
        .opl-hero .pillar-hero-eyebrow {
            background: rgba(255,255,255,.06);
            border: 1px solid rgba(255,255,255,.18);
            color: rgba(255,255,255,.8);
        }
        .opl-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;
        }
        .opl-hero h1 .opl-x { color: transparent; -webkit-text-stroke: 2px rgba(255,255,255,.85); }
        .opl-hero .pillar-hero-sub { color: rgba(255,255,255,.7); }
        .opl-hero .pillar-hero-checklist li { color: rgba(255,255,255,.75); }
        .opl-hero .pillar-hero-checklist li::before { color: rgba(255,255,255,.85); }
        .opl-hero .pillar-hero-cta { transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .3s ease; will-change: transform; }
        .opl-ctawrap { position: relative; display: inline-flex; isolation: isolate; }
        .opl-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) {
            .opl-ctawrap::before { animation: oplBeam 5.5s linear infinite; }
            @keyframes oplBeam { to { transform: rotate(1turn); } }
            /* H1 = LCP-Kandidat: transform-only, nie opacity:0 (REV-229-Lehre) */
            .opl-hero h1 { animation: oplSlide .8s cubic-bezier(.22,1,.36,1) backwards .05s; }
            @keyframes oplSlide { from { transform: translateY(16px); } }
            .opl-hero .breadcrumb, .opl-hero .pillar-hero-eyebrow,
            .opl-hero .pillar-hero-sub, .opl-hero .pillar-hero-checklist, .opl-hero .opl-ctawrap {
                animation: oplUp .8s cubic-bezier(.22,1,.36,1) backwards;
            }
            .opl-hero .pillar-hero-sub { animation-delay: .14s; }
            .opl-hero .pillar-hero-checklist { animation-delay: .2s; }
            .opl-hero .opl-ctawrap { animation-delay: .26s; }
            .opl-hero .pillar-hero-aside { animation: oplIn 1s cubic-bezier(.22,1,.36,1) .2s backwards; }
            @keyframes oplUp { from { opacity: 0; transform: translateY(18px); } }
            @keyframes oplIn { from { opacity: 0; transform: translateY(24px) scale(.98); } }
        }

        /* Preisskala (hero aside) */
        .opl-hero .pillar-hero-stat-stack {
            background: transparent;
            padding: 0;
            border: none;
            box-shadow: none;
            display: grid;
            gap: 10px;
        }
        .opl-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;
        }
        .opl-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);
        }
        .opl-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);
        }
        .opl-hero .pillar-hero-stat-card:nth-child(1)::after { content: "Einmalig"; color: #fff; }
        .opl-hero .pillar-hero-stat-card:nth-child(2)::after { content: "Tempo"; }
        .opl-hero .pillar-hero-stat-card:nth-child(3)::after { content: "K\00fcndbar"; }
        .opl-hero .stat-num { color: #fff; }
        .opl-hero .stat-label { color: rgba(255,255,255,.6); }

        /* ---------- Onepager-Ticker ---------- */
        .opl-ticker {
            overflow: clip;
            background: var(--white);
            border-block: 1px solid rgba(17,17,17,.08);
            padding: 11px 0;
            user-select: none;
        }
        .opl-ticker-track { display: flex; width: max-content; }
        .opl-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;
        }
        .opl-ticker span i {
            font-style: normal;
            color: rgba(17,17,17,.5);
            padding: 0 10px;
        }
        @media (prefers-reduced-motion: no-preference) {
            .opl-ticker-track { animation: oplTick 38s linear infinite; }
            @keyframes oplTick { to { transform: translateX(-50%); } }
        }

        /* ---------- Akt-Nummern ---------- */
        main { counter-reset: oplact; }
        .pillar-section:not(.pillar-section--final-cta):has(h2[id]) .pillar-section-header { counter-increment: oplact; position: relative; }
        .pillar-section:not(.pillar-section--final-cta):has(h2[id]) .pillar-section-header::before {
            content: counter(oplact, 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); }

        /* ---------- Tabellen: Sieger-Zeile + Onepager-Spalte ---------- */
        .cost-table tr.highlight-row td {
            background: var(--opl-ink);
            color: #fff;
            font-weight: 800;
        }
        .cost-table tbody tr:not(.highlight-row):hover td { background: rgba(17,17,17,.03); }
        .pillar-section:has(#onepager-vs-mehrseitige-website) .cost-table th:nth-child(2),
        .pillar-section:has(#onepager-vs-mehrseitige-website) .cost-table td:nth-child(2) {
            background: var(--opl-ink);
            color: #fff;
        }
        .pillar-section:has(#onepager-vs-mehrseitige-website) .cost-table td:nth-child(2) { border-bottom-color: rgba(255,255,255,.12); }

        /* ---------- Nacht-Akt: Onepager-Anatomie ---------- */
        .pillar-section.opl-night {
            background: var(--opl-ink) !important;
            position: relative;
            overflow: clip;
        }
        .opl-night::after {
            content: "Struktur";
            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.opl-night .container { position: relative; z-index: 1; }
        .pillar-section.opl-night .pillar-section-header::before { -webkit-text-stroke-color: rgba(255,255,255,.12) !important; }
        .pillar-section.opl-night .pillar-section-eyebrow { color: rgba(255,255,255,.55); }
        .pillar-section.opl-night h2 { color: #fff; }
        .pillar-section.opl-night .pillar-section-sub { color: rgba(255,255,255,.6); }
        .pillar-section.opl-night .pillar-section-body p { color: rgba(255,255,255,.72); }
        .pillar-section.opl-night .pillar-section-body p strong { color: #fff; }
        .pillar-section.opl-night .icon-grid-item {
            background: rgba(255,255,255,.04);
            border: 1px solid rgba(255,255,255,.12);
            border-radius: var(--radius-lg);
            transition: border-color .3s ease, background .3s ease;
        }
        .pillar-section.opl-night .icon-grid-item:hover { border-color: rgba(255,255,255,.3); background: rgba(255,255,255,.07); }
        .pillar-section.opl-night .icon-grid-item h4 { color: #fff; }
        .pillar-section.opl-night .icon-grid-item p { color: rgba(255,255,255,.65); }
        .pillar-section.opl-night .icon-grid-item .icon-wrap { background: rgba(255,255,255,.12); }
        /* Checkliste als Chips; (0,4,2) schlaegt globale .checklist-Regeln */
        .pillar-section.opl-night .container ul.checklist {
            list-style: none;
            padding: 0;
            margin: 32px 0 0;
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 8px;
            max-width: 1100px;
            margin-left: auto;
            margin-right: auto;
        }
        @media (max-width: 760px) { .pillar-section.opl-night .container ul.checklist { grid-template-columns: 1fr; } }
        .pillar-section.opl-night .container ul.checklist > li {
            position: relative;
            color: rgba(255,255,255,.75);
            padding: 13px 16px 13px 44px;
            border: 1px solid rgba(255,255,255,.12);
            border-radius: 14px;
            background: rgba(255,255,255,.04);
            line-height: 1.6;
            margin: 0;
            transition: border-color .3s ease, background .3s ease;
        }
        .pillar-section.opl-night .container ul.checklist > li:hover { border-color: rgba(255,255,255,.3); background: rgba(255,255,255,.07); }
        .pillar-section.opl-night .container ul.checklist > li strong { color: #fff; }
        .pillar-section.opl-night .container ul.checklist > li::before {
            content: "\2713";
            position: absolute;
            left: 14px;
            top: 13px;
            width: 20px;
            height: 20px;
            border-radius: 50%;
            background: #fff;
            color: var(--opl-ink);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: .72rem;
            font-weight: 800;
        }
        .pillar-section.opl-night .highlight-box {
            background: rgba(255,255,255,.04);
            border: 1px solid rgba(255,255,255,.14);
            border-left: 4px solid #fff;
            border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
        }
        .pillar-section.opl-night .highlight-box p { color: rgba(255,255,255,.72); }
        .pillar-section.opl-night .highlight-box p strong { color: #fff; }

        /* ---------- 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); }
        .pillar-section:not(.opl-night) .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(--opl-ink) !important; position: relative; overflow: clip; padding: clamp(64px,9vw,112px) 0 !important; }
        .pillar-section--final-cta::before {
            content: "Onepager";
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%,-50%);
            font-size: clamp(6rem, 18vw, 15rem);
            font-weight: 900;
            line-height: 1;
            text-transform: uppercase;
            letter-spacing: -.02em;
            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(--opl-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); }
        /* Einziger Schluss-CTA: Zweitaktion + Vertrauenszeile aus der frueheren footer-cta. */
        .pillar-section--final-cta .cta-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
        .pillar-section--final-cta .cta-ghost { display: inline-flex; align-items: center; gap: 8px; padding: 16px 32px; border-radius: 999px; font-weight: 600; text-decoration: none; background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.28); transition: background .3s ease, border-color .3s ease; }
        .pillar-section--final-cta .cta-ghost:hover { background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.55); color: #fff; }
        .pillar-section--final-cta .footer-cta-trust { margin-top: 30px; }

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

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