/* ============================================================
           STK AWARD LAYER (REV-219) · page-scoped Atelier-Dialekt
           Violett-Studio-Akzent + Marken-Glow pro Werkzeug (--tc)
           ============================================================ */
        :root { --stk-a: #7c3aed; --stk-glow: #a78bfa; --stk-ink: #0a0a0c; }

        /* ---------- Atelier-Hero (dark) ---------- */
        .stk-hero {
            position: relative;
            background: var(--stk-ink);
            border-bottom: none;
            padding: clamp(120px, 14vw, 176px) 0 clamp(48px, 7vw, 80px);
            overflow: clip;
            isolation: isolate;
        }
        .stk-hero::after {
            content: "";
            position: absolute;
            top: -30%;
            right: -12%;
            width: 50vmax;
            height: 50vmax;
            border-radius: 50%;
            background: radial-gradient(circle, color-mix(in srgb, var(--stk-a) 22%, transparent), transparent 64%);
            filter: blur(60px);
            pointer-events: none;
            z-index: 0;
        }
        .stk-wm {
            position: absolute;
            top: clamp(40px, 6vw, 72px);
            left: 50%;
            transform: translateX(-50%);
            font-size: clamp(6rem, 19vw, 16rem);
            font-weight: 900;
            line-height: 1;
            letter-spacing: .02em;
            text-transform: uppercase;
            white-space: nowrap;
            color: transparent;
            -webkit-text-stroke: 1px rgba(255,255,255,.07);
            pointer-events: none;
            user-select: none;
            z-index: 0;
        }
        .stk-hero .container { position: relative; z-index: 1; }
        .stk-hero .breadcrumb { color: rgba(255,255,255,.45); }
        .stk-hero .breadcrumb a { color: rgba(255,255,255,.7); }
        .stk-hero .breadcrumb a:hover { color: #fff; }
        .stk-hero .pillar-hero-eyebrow {
            background: rgba(255,255,255,.06);
            border: 1px solid rgba(255,255,255,.18);
            color: rgba(255,255,255,.8);
        }
        .stk-hero h1 {
            color: #fff;
            font-size: clamp(2.3rem, 5.6vw, 4.3rem);
            line-height: 1.04;
            letter-spacing: -.035em;
            font-weight: 900;
            max-width: 980px;
            text-wrap: balance;
        }
        .stk-hero h1 .stk-x { color: transparent; -webkit-text-stroke: 2px var(--stk-glow); white-space: nowrap; }
        .stk-hero .pillar-hero-sub { color: rgba(255,255,255,.68); }
        .stk-hero .pillar-hero-sub strong { color: #fff; }
        .stk-hero .btn-outline { border-color: rgba(255,255,255,.3); color: #fff; background: transparent; }
        .stk-hero .btn-outline:hover { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.5); color: #fff; }
        .stk-ctawrap { position: relative; display: inline-flex; isolation: isolate; }
        .stk-ctawrap::before {
            content: "";
            position: absolute;
            inset: -7px;
            border-radius: 16px;
            background: conic-gradient(from 180deg, transparent 0 40%, color-mix(in srgb, var(--stk-glow) 80%, transparent) 50%, transparent 60% 100%);
            filter: blur(10px);
            opacity: .85;
            z-index: -1;
            pointer-events: none;
        }
        .stk-strip {
            display: flex;
            flex-wrap: wrap;
            gap: 10px 28px;
            margin-top: clamp(28px, 4vw, 40px);
            font-size: .72rem;
            font-weight: 700;
            letter-spacing: .16em;
            text-transform: uppercase;
            color: rgba(255,255,255,.5);
        }
        .stk-strip span { display: inline-flex; align-items: center; gap: 8px; }
        .stk-strip span::before { content: ""; width: 4px; height: 4px; border-radius: 50%; background: var(--stk-glow); }
        @media (prefers-reduced-motion: no-preference) {
            .stk-ctawrap::before { animation: stkBeam 5.5s linear infinite; }
            @keyframes stkBeam { to { transform: rotate(1turn); } }
            .stk-hero .breadcrumb, .stk-hero .pillar-hero-eyebrow, .stk-hero h1,
            .stk-hero .pillar-hero-sub, .stk-hero .pillar-hero-actions, .stk-strip {
                animation: stkUp .8s cubic-bezier(.22,1,.36,1) backwards;
            }
            .stk-hero h1 { animation-delay: .07s; }
            .stk-hero .pillar-hero-sub { animation-delay: .14s; }
            .stk-hero .pillar-hero-actions { animation-delay: .21s; }
            .stk-strip { animation-delay: .28s; }
            @keyframes stkUp { from { opacity: 0; transform: translateY(18px); } }
        }

        /* ---------- Werkzeug-Ticker ---------- */
        .stk-ticker {
            overflow: clip;
            background: var(--stk-ink);
            border-top: 1px solid rgba(255,255,255,.08);
            padding: 13px 0;
            user-select: none;
        }
        .stk-ticker-track { display: flex; width: max-content; }
        .stk-ticker span {
            white-space: nowrap;
            font-size: clamp(.95rem, 1.9vw, 1.3rem);
            font-weight: 900;
            letter-spacing: .15em;
            text-transform: uppercase;
            color: #fff;
            padding-right: 13px;
        }
        .stk-ticker span i {
            font-style: normal;
            color: transparent;
            -webkit-text-stroke: 1px color-mix(in srgb, var(--stk-glow) 85%, transparent);
        }
        .stk-ticker span em { font-style: normal; color: var(--stk-glow); padding: 0 9px; }
        @media (prefers-reduced-motion: no-preference) {
            .stk-ticker-track { animation: stkTick 38s linear infinite; }
            @keyframes stkTick { to { transform: translateX(-50%); } }
        }

        /* ---------- Akt-Nummern auf Sektionen ---------- */
        main { counter-reset: stkact; }
        .pillar-section .pillar-section-header { position: relative; }
        .pillar-section:has(h2[id]) .pillar-section-header { counter-increment: stkact; }
        .pillar-section:has(h2[id]) .pillar-section-header::before {
            content: counter(stkact, decimal-leading-zero);
            position: absolute;
            top: -54px;
            left: 50%;
            transform: translateX(-50%);
            font-size: clamp(4rem, 9vw, 6.5rem);
            font-weight: 900;
            line-height: 1;
            color: transparent;
            -webkit-text-stroke: 1px color-mix(in srgb, var(--stk-a) 22%, transparent);
            pointer-events: none;
            user-select: none;
            z-index: 0;
            font-variant-numeric: tabular-nums;
        }
        .pillar-section-header > * { position: relative; z-index: 1; }
        .pillar-section-eyebrow { letter-spacing: .14em; }
        .pillar-section { overflow: clip; position: relative; }

        /* ---------- Werkzeug-Karten (Marken-Glow via --tc) ---------- */
        .tool-card {
            border-radius: var(--radius-lg);
            border-color: rgba(17,17,17,.1);
            transition: transform .35s cubic-bezier(.22,1,.36,1), border-color .3s ease, box-shadow .35s ease;
            will-change: transform;
        }
        .tool-card:hover {
            transform: translateY(-5px);
            border-color: color-mix(in srgb, var(--tc, var(--stk-a)) 50%, transparent);
            box-shadow: 0 24px 52px -28px color-mix(in srgb, var(--tc, var(--stk-a)) 55%, rgba(10,10,12,.4));
        }
        .tool-logo {
            width: 48px;
            height: 48px;
            border-radius: 12px;
            background: color-mix(in srgb, var(--tc, var(--stk-a)) 8%, var(--white));
            border: 1px solid color-mix(in srgb, var(--tc, var(--stk-a)) 24%, transparent);
            transition: transform .35s cubic-bezier(.22,1,.36,1);
        }
        .tool-card:hover .tool-logo { transform: scale(1.08) rotate(-3deg); }
        .tool-arrow { transition: transform .3s ease, color .3s ease; }
        .tool-card:hover .tool-arrow { transform: translate(3px, -3px); color: var(--tc, var(--stk-a)); }
        .tool-vendor { opacity: .55; }

        /* ---------- Eigene Skills = Terminal-Fenster ---------- */
        .skills-grid { counter-reset: stkskill; }
        .skill-card {
            position: relative;
            counter-increment: stkskill;
            background: var(--stk-ink);
            border: 1px solid rgba(255,255,255,.1);
            border-radius: var(--radius-lg);
            padding: 56px 26px 24px;
            overflow: clip;
            transition: transform .35s cubic-bezier(.22,1,.36,1), border-color .3s ease;
            will-change: transform;
        }
        .skill-card:hover { transform: translateY(-4px); border-color: color-mix(in srgb, var(--stk-glow) 45%, transparent); }
        .skill-card::before {
            content: "";
            position: absolute;
            top: 16px;
            left: 22px;
            width: 11px;
            height: 11px;
            border-radius: 50%;
            background: #ff5f57;
            box-shadow: 19px 0 0 #febc2e, 38px 0 0 #28c840;
        }
        .skill-card::after {
            content: "skill-0" counter(stkskill) ".md";
            position: absolute;
            top: 13px;
            right: 20px;
            font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
            font-size: .68rem;
            letter-spacing: .08em;
            color: rgba(255,255,255,.4);
        }
        .skill-card-eyebrow {
            display: inline-block;
            font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
            font-size: .7rem;
            letter-spacing: .12em;
            text-transform: uppercase;
            color: var(--stk-glow);
            margin-bottom: 10px;
        }
        .skill-card-eyebrow::before { content: "$ "; opacity: .6; }
        .skill-card h3 { color: #fff; }
        .skill-card p { color: rgba(255,255,255,.72); }

        /* ---------- Midpage-CTA als Nacht-Akt ---------- */
        .midpage-cta {
            position: relative;
            background: var(--stk-ink);
            border: 1px solid rgba(255,255,255,.1);
            border-radius: var(--radius-lg);
            overflow: clip;
        }
        .midpage-cta::before {
            content: "Stack";
            position: absolute;
            right: -8px;
            bottom: -26px;
            font-size: clamp(4rem, 10vw, 7.5rem);
            font-weight: 900;
            line-height: 1;
            text-transform: uppercase;
            letter-spacing: .02em;
            color: transparent;
            -webkit-text-stroke: 1px rgba(255,255,255,.08);
            pointer-events: none;
            user-select: none;
        }
        .midpage-cta::after {
            content: "";
            position: absolute;
            top: -55%;
            left: -10%;
            width: 50%;
            aspect-ratio: 1;
            border-radius: 50%;
            background: radial-gradient(circle, color-mix(in srgb, var(--stk-a) 22%, transparent), transparent 66%);
            pointer-events: none;
        }
        .midpage-cta > * { position: relative; z-index: 1; }
        .midpage-cta-eyebrow { color: var(--stk-glow); }
        .midpage-cta h3 { color: #fff; }
        .midpage-cta p { color: rgba(255,255,255,.68); }
        .midpage-cta .btn-primary { background: #fff; color: var(--stk-ink); border-color: #fff; }
        .midpage-cta .btn-primary:hover { background: var(--stk-glow); border-color: var(--stk-glow); color: var(--stk-ink); }
        .midpage-cta .btn-outline { border-color: rgba(255,255,255,.3); color: #fff; }
        .midpage-cta .btn-outline:hover { background: rgba(255,255,255,.08); color: #fff; border-color: rgba(255,255,255,.5); }

        /* ---------- Value-Karten ---------- */
        .value-grid { counter-reset: stkval; }
        .value-card {
            position: relative;
            counter-increment: stkval;
            border-radius: var(--radius-lg);
            transition: transform .35s cubic-bezier(.22,1,.36,1), border-color .3s ease, box-shadow .35s ease;
        }
        .value-card:hover {
            transform: translateY(-4px);
            border-color: color-mix(in srgb, var(--stk-a) 40%, transparent);
            box-shadow: 0 20px 44px -30px rgba(10,10,12,.4);
        }
        .value-card::after {
            content: counter(stkval, decimal-leading-zero);
            position: absolute;
            top: 18px;
            right: 20px;
            font-size: .72rem;
            font-weight: 800;
            letter-spacing: .14em;
            color: var(--stk-a);
            font-variant-numeric: tabular-nums;
        }
        .value-card-icon { color: var(--stk-a); }

        /* ---------- Prozess-Karte ---------- */
        .process-step {
            border-radius: var(--radius-lg);
            transition: transform .35s cubic-bezier(.22,1,.36,1), border-color .3s ease;
        }
        .process-step:hover { transform: translateY(-3px); border-color: color-mix(in srgb, var(--stk-a) 35%, transparent); }
        .process-step-tools li {
            border: 1px solid color-mix(in srgb, var(--stk-a) 28%, transparent);
            color: var(--stk-a);
            background: color-mix(in srgb, var(--stk-a) 6%, transparent);
            border-radius: 999px;
            font-weight: 700;
        }

        /* ---------- Reveals (doppelt geguarded) ---------- */
        @supports (animation-timeline: view()) {
            @media (prefers-reduced-motion: no-preference) {
                .tool-card, .skill-card, .value-card, .process-step, .midpage-cta {
                    animation: stkRise .9s cubic-bezier(.22,1,.36,1) both;
                    animation-timeline: view();
                    animation-range: entry 0% entry 36%;
                }
                @keyframes stkRise { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
            }
        }

        @media (max-width: 720px) {
            .stk-wm { font-size: clamp(4rem, 22vw, 6rem); top: 76px; }
            .pillar-section:has(h2[id]) .pillar-section-header::before { font-size: clamp(3.2rem, 16vw, 4.5rem); top: -34px; }
        }
