﻿/* Wspólny landing Pro — psychologow, sport i kolejne podstrony SEO */
        .vap-sub-main--pro {
            --vap-hero-glow-blue: radial-gradient(ellipse 88% 55% at 42% 18%, rgba(102, 126, 234, 0.11) 0%, transparent 70%);
            --vap-hero-glow-blue-span: radial-gradient(ellipse 96% 52% at 58% 18%, rgba(102, 126, 234, 0.07) 0%, rgba(102, 126, 234, 0.02) 50%, transparent 80%);
            /* wąska plama — od kolumny tekstu, nie na cały ekran (było 85vw + ujemny left) */
            --vap-hero-glow-left: max(24px, calc(50vw - 50% + 20px));
            --vap-hero-glow-width: min(660px, 72vw);
            --vap-hero-glow-edge-fade: 90px;
            --vap-hero-glow-edge-fade-left: 105px;
            --vap-hero-glow-edge-mask-x: linear-gradient(to right, transparent 0, #000 var(--vap-hero-glow-edge-fade-left), #000 calc(100% - var(--vap-hero-glow-edge-fade)), transparent 100%);
            --vap-hero-glow-edge-mask-y: linear-gradient(to bottom, #000 0, #000 calc(100% - var(--vap-hero-glow-edge-fade)), transparent 100%);
            --vap-hero-glow-vignette: radial-gradient(ellipse 130% 90% at 50% -8%, transparent 42%, rgba(0, 0, 0, 0.28) 100%);
            --vap-hero-glow-top: -12%;
            --vap-hero-glow-height: 68%;
            --vap-psy-jelly-shift-in: 85px;
            --vap-psy-jelly-scale: 0.8;
            --vap-jelly-color: rgba(118, 140, 245, 0.22);
            --vap-jelly-halo: radial-gradient(ellipse 120% 90% at 50% 30%, rgba(102, 126, 234, 0.11) 0%, rgba(102, 126, 234, 0.04) 52%, transparent 72%);
            --vap-hero-title-size: clamp(1.85rem, 4vw, 2.65rem);
            --ease: cubic-bezier(0.25, 0.1, 0.25, 1);
            max-width: min(980px, 100%);
            position: relative;
            padding-top: 0;
        }
        .vap-sub-main--pro .vap-psy-ambient {
            width: 100vw;
            max-width: 100vw;
            margin-left: calc(50% - 50vw);
            margin-right: calc(50% - 50vw);
        }
        .vap-sub-main--pro .vap-sub-article {
            position: relative;
            z-index: 1;
            max-width: var(--max);
            margin: 0;
        }

        /* —— Hero — pełna szerokość ekranu, poświata jak strona główna —— */
        .vap-psy-hero {
            position: relative;
            z-index: 1;
            width: 100vw;
            max-width: 100vw;
            margin-left: calc(50% - 50vw);
            margin-right: calc(50% - 50vw);
            padding: 48px max(20px, calc(50vw - 50% + 20px)) 28px;
            margin-bottom: 0;
            box-sizing: border-box;
            isolation: isolate;
            overflow-x: clip;
            overflow-y: visible;
        }
        .vap-psy-hero:not(.vap-psy-hero--plain)::before,
        .vap-psy-hero:not(.vap-psy-hero--plain)::after {
            -webkit-mask-image: var(--vap-hero-glow-edge-mask-x), linear-gradient(to bottom, #000 0, #000 100%);
            mask-image: var(--vap-hero-glow-edge-mask-x), linear-gradient(to bottom, #000 0, #000 100%);
        }
        .vap-psy-hero:not(.vap-psy-hero--plain)::after {
            display: none;
        }
        .vap-psy-hero::before,
        .vap-psy-hero::after {
            -webkit-mask-image: var(--vap-hero-glow-edge-mask-x), var(--vap-hero-glow-edge-mask-y);
            mask-image: var(--vap-hero-glow-edge-mask-x), var(--vap-hero-glow-edge-mask-y);
            -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
            -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
            -webkit-mask-composite: source-in;
            mask-composite: intersect;
            pointer-events: none;
            z-index: 0;
        }
        .vap-psy-hero::before {
            content: '';
            position: absolute;
            top: var(--vap-hero-glow-top);
            left: var(--vap-hero-glow-left);
            width: var(--vap-hero-glow-width);
            height: var(--vap-hero-glow-height);
            background: var(--vap-hero-glow-blue), var(--vap-hero-glow-blue-span);
        }
        .vap-psy-hero::after {
            content: '';
            position: absolute;
            top: 0;
            bottom: 0;
            left: var(--vap-hero-glow-left);
            width: var(--vap-hero-glow-width);
            background: var(--vap-hero-glow-vignette);
        }
        .vap-psy-hero > * { position: relative; z-index: 2; }
        /* Hero — jak strona główna: wrap 1120/92vw, przesuwa się w X przy resize */
        .vap-psy-hero:not(.vap-psy-hero--plain):has(.vap-psy-hero-copy--shift-left) {
            padding: 32px max(20px, calc(50vw - 50% + 20px)) 28px 0;
        }
        .vap-psy-hero-copy--shift-left {
            margin-left: calc(max(20px, calc((100vw - min(1120px, 92vw)) / 2)) + var(--vap-pro-hero-inset, 13px));
            max-width: min(var(--max, 720px), 100%);
            min-width: 0;
        }
        .vap-psy-hero-copy--shift-left h1,
        .vap-psy-hero-copy--shift-left .vap-sub-lead {
            animation: none !important;
            opacity: 1 !important;
            transform: none !important;
            filter: none !important;
        }
        .vap-psy-hero h1 {
            display: block;
            font-size: var(--vap-hero-title-size);
            font-weight: 700;
            line-height: 1.22;
            color: #d4d4dc;
            -webkit-text-fill-color: #d4d4dc;
            max-width: min(var(--max, 720px), 100%);
            min-width: 0;
            padding: 0;
            border: none;
            overflow-wrap: break-word;
            word-wrap: break-word;
        }
        .vap-psy-hero h1:hover { border: none; }
        .vap-psy-hero-title-part { display: inline; }
        .vap-psy-hero-title-base {
            color: #d4d4dc;
            -webkit-text-fill-color: #d4d4dc;
        }
        .vap-psy-hero-title-tag {
            color: var(--accent-light, rgb(118, 140, 245));
            -webkit-text-fill-color: var(--accent-light, rgb(118, 140, 245));
        }
        .vap-psy-hero .vap-sub-lead {
            display: block;
            font-size: 1.12rem;
            line-height: 1.65;
            color: var(--text-soft);
            font-family: var(--font-hero-lead, 'IBM Plex Sans', 'Inter', 'Source Sans 3', system-ui, sans-serif);
            max-width: min(var(--max, 720px), 100%);
            min-width: 0;
            margin: 14px 0 0;
            overflow-wrap: break-word;
            word-wrap: break-word;
        }
        .vap-psy-hero .vap-sub-lead strong {
            color: var(--text);
            font-weight: 600;
        }
        .vap-psy-hero .vap-sub-lead .vap-brand-base,
        .vap-psy-hero .vap-sub-lead .vap-brand-pro,
        .vap-sub-article .vap-brand-base,
        .vap-sub-article .vap-brand-pro {
            display: inline-block;
            font-weight: 700;
            font-family: var(--font-section-title, 'Montserrat', 'Inter', 'IBM Plex Sans', system-ui, sans-serif);
            letter-spacing: 0.01em;
        }
        .vap-psy-hero .vap-sub-lead .vap-brand-base,
        .vap-sub-article .vap-brand-base {
            color: #d4d4dc;
            -webkit-text-fill-color: #d4d4dc;
        }
        .vap-psy-hero .vap-sub-lead .vap-brand-pro,
        .vap-sub-article .vap-brand-pro {
            margin-left: 0.12em;
            background: linear-gradient(120deg, #a8b8ff 0%, #667eea 55%, #8b9cff 100%);
            -webkit-background-clip: text;
            background-clip: text;
            color: transparent;
            -webkit-text-fill-color: transparent;
        }
        /* Plain hero — typografia jak Pro, bez 100vw / poświaty / paska */
        .vap-psy-hero.vap-psy-hero--plain {
            --vap-hero-title-size: clamp(1.85rem, 4vw, 2.65rem);
            --ease: cubic-bezier(0.25, 0.1, 0.25, 1);
            width: 100% !important;
            max-width: 100% !important;
            margin-left: 0 !important;
            margin-right: 0 !important;
            margin-bottom: 0;
            padding: 32px 0 0 !important;
            overflow: visible;
            isolation: auto;
        }
        .vap-psy-hero.vap-psy-hero--plain::before,
        .vap-psy-hero.vap-psy-hero--plain::after {
            display: none !important;
            content: none !important;
            animation: none !important;
        }
        .vap-psy-hero.vap-psy-hero--plain .vap-sub-lead {
            font-family: var(--font-hero-lead);
            color: var(--text-soft);
        }
        .vap-psy-hero.vap-psy-hero--plain .vap-sub-lead strong {
            color: var(--text);
            -webkit-text-fill-color: var(--text);
            font-weight: 600;
        }
        .vap-sub-main:has(.vap-psy-hero--plain) {
            padding-top: 0;
        }
        @keyframes vap-psy-hero-glow-in {
            from { opacity: 0; }
            to { opacity: 1; }
        }
        @keyframes vap-psy-title-rise {
            from { opacity: 0; transform: translateY(14px); filter: blur(2px); }
            to { opacity: 1; transform: translateY(0); filter: blur(0); }
        }
        @media (prefers-reduced-motion: no-preference) {
            .vap-psy-hero:not(.vap-psy-hero--plain)::before,
            .vap-psy-hero:not(.vap-psy-hero--plain)::after {
                opacity: 0;
                animation: vap-psy-hero-glow-in 1s var(--ease) 0.18s forwards;
            }
            .vap-psy-hero-bubbles {
                opacity: 0;
                animation: vap-psy-hero-glow-in 1.1s ease 0.4s forwards;
            }
            .vap-psy-hero h1 {
                animation: vap-psy-title-rise 0.72s var(--ease) 0.22s both;
            }
            .vap-psy-hero .vap-sub-lead {
                animation: vap-psy-title-rise 0.72s var(--ease) 0.36s both;
            }
        }

        /* —— Bąbelki hero (unoszące się) —— */
        .vap-psy-hero-bubbles {
            position: absolute;
            inset: 0;
            z-index: 1;
            overflow: hidden;
            pointer-events: none;
        }
        .vap-psy-hero-bubbles .vap-psy-rise-bubble {
            position: absolute;
            top: 100%;
            opacity: 0;
            border-radius: 50%;
            background: radial-gradient(circle at 34% 28%, rgba(235, 242, 255, 0.65) 0%, rgba(168, 188, 255, 0.32) 42%, rgba(102, 126, 234, 0.14) 78%);
            border: 1px solid rgba(190, 208, 255, 0.4);
            box-shadow: 0 0 8px rgba(118, 140, 245, 0.22);
        }
        .vap-psy-rise-bubble-1 { left: 4%; width: 14px; height: 14px; animation: vap-psy-rise 34s linear infinite; }
        .vap-psy-rise-bubble-2 { left: 7%; width: 10px; height: 10px; animation: vap-psy-rise-sm 42s linear infinite 8s; }
        .vap-psy-rise-bubble-3 { right: 4%; left: auto; width: 16px; height: 16px; animation: vap-psy-rise 38s linear infinite 4s; }
        .vap-psy-rise-bubble-4 { right: 7%; left: auto; width: 12px; height: 12px; animation: vap-psy-rise-sm 40s linear infinite 14s; }
        .vap-psy-rise-bubble-5 { left: 2.5%; width: 9px; height: 9px; animation: vap-psy-rise-sm 46s linear infinite 20s; }
        .vap-psy-rise-bubble-6 { right: 2.5%; left: auto; width: 11px; height: 11px; animation: vap-psy-rise-sm 44s linear infinite 11s; }
        @keyframes vap-psy-rise {
            0% { opacity: 0; transform: translate3d(0, 6px, 0) scale(0.9); }
            12% { opacity: 0.42; transform: translate3d(0, calc(-5vh - 6px), 0) scale(0.94); }
            55% { opacity: 0.32; }
            100% { opacity: 0; transform: translate3d(4px, calc(-92vh), 0) scale(0.98); }
        }
        @keyframes vap-psy-rise-sm {
            0% { opacity: 0; transform: translate3d(0, 4px, 0) scale(0.88); }
            14% { opacity: 0.22; transform: translate3d(0, calc(-4vh - 4px), 0) scale(0.9); }
            55% { opacity: 0.16; }
            100% { opacity: 0; transform: translate3d(2px, calc(-88vh), 0) scale(0.94); }
        }

        /* —— Treść — delikatna linia + bąbelki sekcji —— */
        /* Szeroki ekran — sekcje w prawo (wszystkie podstrony Pro) */
        @media (min-width: 901px) {
            .vap-sub-main--pro:has(.vap-psy-hero-copy--shift-left) .vap-sub-article {
                margin-left: 48px;
            }
        }
        .vap-psy-body {
            position: relative;
            padding-top: 20px;
            margin-top: 4px;
            border-top: 1px solid rgba(102, 126, 234, 0.14);
        }
        .vap-psy-body > * { position: relative; z-index: 1; }
        /* scroll reveal — jak kroki instalacji na stronie głównej */
        .vap-psy-body.reveal {
            opacity: 0;
            transform: translateY(16px);
            transition: opacity 0.62s ease, transform 0.62s ease;
        }
        .vap-psy-body.reveal.visible {
            opacity: 1;
            transform: translateY(0);
        }
        .vap-psy-section {
            margin: 0;
            opacity: 0;
            transform: translateY(12px);
            transition: opacity 0.55s ease, transform 0.55s ease;
        }
        .vap-psy-body.reveal.visible .vap-psy-section {
            opacity: 1;
            transform: translateY(0);
        }
        .vap-psy-body.reveal.visible .vap-psy-section:nth-child(1) { transition-delay: 0.06s; }
        .vap-psy-body.reveal.visible .vap-psy-section:nth-child(2) { transition-delay: 0.14s; }
        .vap-psy-body.reveal.visible .vap-psy-section:nth-child(3) { transition-delay: 0.22s; }
        .vap-psy-body.reveal.visible .vap-psy-section:nth-child(4) { transition-delay: 0.30s; }
        .vap-psy-body.reveal.visible .vap-psy-section:nth-child(5) { transition-delay: 0.38s; }
        .vap-psy-body.reveal.visible .vap-psy-section:nth-child(6) { transition-delay: 0.46s; }

        /* Nagłówki sekcji — bańka po lewej (większa niż na głównej) + linia pod nazwą jak wcześniej */
        .vap-sub-main--pro .vap-psy-section h2 {
            position: relative;
            display: inline-block;
            max-width: 100%;
            margin-left: var(--vap-pro-section-inset, 23px);
            padding: 0 6px 8px;
            border-bottom: 1.84px solid rgba(102, 126, 234, 0.55);
            transition: border-bottom-color 0.28s var(--ease);
            overflow-wrap: break-word;
            word-wrap: break-word;
        }
        .vap-sub-main--pro .vap-psy-section p,
        .vap-sub-main--pro .vap-psy-section ul,
        .vap-sub-main--pro .vap-psy-section li {
            overflow-wrap: break-word;
            word-wrap: break-word;
        }
        /* Treść sekcji — rozmiary jak strona główna (.section-head p 1.05rem + skala 700/500) */
        .vap-sub-main--pro {
            --vap-pro-body-size: 1.05rem;
            --vap-pro-h2-size: calc(var(--vap-nav-ui-size, 0.85rem) + 0.18rem);
            --vap-pro-foot-size: 0.82rem;
            --vap-pro-hero-inset: 13px;
            --vap-pro-section-inset: 23px;
        }
        .vap-sub-main--pro .vap-psy-section h2 {
            font-family: var(--font-section-title, 'Montserrat', 'Inter', 'IBM Plex Sans', system-ui, sans-serif);
            font-size: var(--vap-pro-h2-size);
            font-weight: 600;
            color: #c4c6d4;
            -webkit-text-fill-color: #c4c6d4;
            letter-spacing: 0.02em;
        }
        .vap-sub-main--pro .vap-psy-section p,
        .vap-sub-main--pro .vap-psy-section ul,
        .vap-sub-main--pro .vap-psy-section li {
            font-family: var(--font-hero-lead, 'IBM Plex Sans', 'Inter', 'Source Sans 3', system-ui, sans-serif);
            font-size: var(--vap-pro-body-size);
            font-weight: 400;
            line-height: 1.65;
            color: var(--text-soft, #a1a1a1);
        }
        .vap-sub-main--pro .vap-psy-section li {
            margin-bottom: 8px;
        }
        .vap-sub-main--pro .vap-psy-foot p {
            font-size: var(--vap-pro-foot-size);
        }
        @media (max-width: 1000px) {
            .vap-sub-main--pro {
                --vap-pro-body-size: calc(1.05rem * 0.96);
                --vap-pro-h2-size: calc((var(--vap-nav-ui-size, 0.85rem) + 0.18rem) * 0.96);
            }
        }
        @media (max-width: 700px) {
            .vap-sub-main--pro {
                --vap-pro-body-size: calc(1.05rem * 0.92);
                --vap-pro-h2-size: calc((var(--vap-nav-ui-size, 0.85rem) + 0.18rem) * 0.92);
                --vap-pro-foot-size: calc(0.82rem * 0.92);
            }
        }
        @media (max-width: 600px) {
            .vap-sub-main--pro {
                --vap-pro-body-size: clamp(0.88rem, calc(1.05rem * 0.9), 1.02rem);
                --vap-pro-h2-size: clamp(0.92rem, calc((var(--vap-nav-ui-size, 0.85rem) + 0.18rem) * 0.94), 1.06rem);
            }
        }
        @media (max-width: 500px) {
            .vap-sub-main--pro {
                --vap-pro-body-size: calc(1.05rem * 0.85);
                --vap-pro-h2-size: calc((var(--vap-nav-ui-size, 0.85rem) + 0.18rem) * 0.85);
                --vap-pro-foot-size: calc(0.82rem * 0.85);
            }
        }
        .vap-sub-main--pro .vap-psy-section h2:hover {
            border-bottom-color: rgba(140, 158, 255, 0.95);
        }
        .vap-sub-main--pro .vap-psy-section h2::before {
            content: '';
            position: absolute;
            left: -24px;
            top: calc(0.42em - 5px);
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background: radial-gradient(circle at 34% 28%, rgba(235, 242, 255, 0.55) 0%, rgba(168, 188, 255, 0.28) 55%, rgba(102, 126, 234, 0.1) 100%);
            border: 1.5px solid rgba(190, 208, 255, 0.38);
            box-shadow: 0 0 8px rgba(118, 140, 245, 0.22);
            opacity: 0;
            transform: scale(0.86);
            pointer-events: none;
            transition: transform 0.28s var(--ease);
        }
        /* Hover: jaśniejsze podkreślenie (jak na głównej) + lekkie przesunięcie bańki */
        .vap-sub-main--pro .vap-psy-section h2:hover::before {
            transform: translateY(-2px) scale(1);
        }
        @keyframes vap-psy-section-title-bubble-in {
            from { opacity: 0; transform: scale(0.86); }
            to { opacity: 0.42; transform: scale(1); }
        }
        /* Bańki — naprzemienny blask 1→2→3→4→5→6 (jak numerki instalacji) */
        @keyframes vap-psy-section-title-bubble-glow-1 {
            0%, 1%, 7%, 8%, 100% {
                opacity: 0.42;
                box-shadow: 0 0 8px rgba(118, 140, 245, 0.22);
                border-color: rgba(190, 208, 255, 0.38);
            }
            3%, 5% {
                opacity: 0.62;
                box-shadow: 0 0 16px rgba(102, 126, 234, 0.5), 0 0 6px rgba(168, 192, 255, 0.34);
                border-color: rgba(210, 224, 255, 0.74);
            }
        }
        @keyframes vap-psy-section-title-bubble-glow-2 {
            0%, 8%, 9%, 15%, 16%, 100% {
                opacity: 0.42;
                box-shadow: 0 0 8px rgba(118, 140, 245, 0.22);
                border-color: rgba(190, 208, 255, 0.38);
            }
            11%, 13% {
                opacity: 0.62;
                box-shadow: 0 0 16px rgba(102, 126, 234, 0.5), 0 0 6px rgba(168, 192, 255, 0.34);
                border-color: rgba(210, 224, 255, 0.74);
            }
        }
        @keyframes vap-psy-section-title-bubble-glow-3 {
            0%, 16%, 17%, 23%, 24%, 100% {
                opacity: 0.42;
                box-shadow: 0 0 8px rgba(118, 140, 245, 0.22);
                border-color: rgba(190, 208, 255, 0.38);
            }
            19%, 21% {
                opacity: 0.62;
                box-shadow: 0 0 16px rgba(102, 126, 234, 0.5), 0 0 6px rgba(168, 192, 255, 0.34);
                border-color: rgba(210, 224, 255, 0.74);
            }
        }
        @keyframes vap-psy-section-title-bubble-glow-4 {
            0%, 24%, 25%, 31%, 32%, 100% {
                opacity: 0.42;
                box-shadow: 0 0 8px rgba(118, 140, 245, 0.22);
                border-color: rgba(190, 208, 255, 0.38);
            }
            27%, 29% {
                opacity: 0.62;
                box-shadow: 0 0 16px rgba(102, 126, 234, 0.5), 0 0 6px rgba(168, 192, 255, 0.34);
                border-color: rgba(210, 224, 255, 0.74);
            }
        }
        @keyframes vap-psy-section-title-bubble-glow-5 {
            0%, 32%, 33%, 39%, 40%, 100% {
                opacity: 0.42;
                box-shadow: 0 0 8px rgba(118, 140, 245, 0.22);
                border-color: rgba(190, 208, 255, 0.38);
            }
            35%, 37% {
                opacity: 0.62;
                box-shadow: 0 0 16px rgba(102, 126, 234, 0.5), 0 0 6px rgba(168, 192, 255, 0.34);
                border-color: rgba(210, 224, 255, 0.74);
            }
        }
        @keyframes vap-psy-section-title-bubble-glow-6 {
            0%, 40%, 41%, 47%, 48%, 100% {
                opacity: 0.42;
                box-shadow: 0 0 8px rgba(118, 140, 245, 0.22);
                border-color: rgba(190, 208, 255, 0.38);
            }
            43%, 45% {
                opacity: 0.62;
                box-shadow: 0 0 16px rgba(102, 126, 234, 0.5), 0 0 6px rgba(168, 192, 255, 0.34);
                border-color: rgba(210, 224, 255, 0.74);
            }
        }
        @media (prefers-reduced-motion: no-preference) {
            .vap-psy-body.reveal.visible .vap-psy-section:nth-child(1) h2::before {
                animation: vap-psy-section-title-bubble-in 0.52s ease 0.12s forwards, vap-psy-section-title-bubble-glow-1 5s linear 1.35s infinite;
            }
            .vap-psy-body.reveal.visible .vap-psy-section:nth-child(2) h2::before {
                animation: vap-psy-section-title-bubble-in 0.52s ease 0.22s forwards, vap-psy-section-title-bubble-glow-2 5s linear 1.35s infinite;
            }
            .vap-psy-body.reveal.visible .vap-psy-section:nth-child(3) h2::before {
                animation: vap-psy-section-title-bubble-in 0.52s ease 0.32s forwards, vap-psy-section-title-bubble-glow-3 5s linear 1.35s infinite;
            }
            .vap-psy-body.reveal.visible .vap-psy-section:nth-child(4) h2::before {
                animation: vap-psy-section-title-bubble-in 0.52s ease 0.42s forwards, vap-psy-section-title-bubble-glow-4 5s linear 1.35s infinite;
            }
            .vap-psy-body.reveal.visible .vap-psy-section:nth-child(5) h2::before {
                animation: vap-psy-section-title-bubble-in 0.52s ease 0.52s forwards, vap-psy-section-title-bubble-glow-5 5s linear 1.35s infinite;
            }
            .vap-psy-body.reveal.visible .vap-psy-section:nth-child(6) h2::before {
                animation: vap-psy-section-title-bubble-in 0.52s ease 0.62s forwards, vap-psy-section-title-bubble-glow-6 5s linear 1.35s infinite;
            }
        }
        /* Wąski ekran — ten sam odstęp od lewej co .wrap na stronie głównej (92vw) */
        @media (max-width: 800px) {
            .vap-sub-main.vap-sub-main--pro {
                --vap-wrap-gutter: max(20px, calc((100vw - min(1120px, 92vw)) / 2));
                padding-left: var(--vap-wrap-gutter);
                padding-right: var(--vap-wrap-gutter);
            }
            .vap-psy-hero:not(.vap-psy-hero--plain):has(.vap-psy-hero-copy--shift-left) {
                padding: 32px var(--vap-wrap-gutter) 28px;
            }
            .vap-psy-hero-copy--shift-left {
                margin-left: var(--vap-pro-hero-inset, 13px);
                max-width: 100%;
            }
            .vap-sub-main--pro:has(.vap-psy-hero-copy--shift-left) .vap-sub-article {
                margin-left: 0;
            }
        }
        .vap-psy-section .vap-psy-accent {
            color: inherit;
            -webkit-text-fill-color: inherit;
            font-weight: inherit;
            animation: none !important;
        }
        .vap-psy-foot {
            position: relative;
            z-index: 1;
            margin-top: 36px;
            padding-top: 18px;
            border-top: 1px solid rgba(102, 126, 234, 0.14);
        }
        .vap-sub-main--pro .vap-psy-foot {
            padding-bottom: 68px;
        }
        .vap-psy-foot p {
            margin: 0 0 8px;
            font-size: 0.82rem;
            line-height: 1.55;
            color: var(--text-muted);
            font-family: var(--font-body);
            font-weight: 400;
        }
        .vap-psy-foot p:last-child { margin-bottom: 0; }
        .vap-inline-page-link {
            display: inline;
            margin: 0;
            padding: 0;
            font: inherit;
            font-weight: inherit;
            color: inherit;
            -webkit-text-fill-color: inherit;
            background: none;
            border: none;
            cursor: pointer;
            text-decoration: none;
        }
        .vap-psy-foot a,
        .vap-psy-foot .vap-sub-foot-link {
            color: rgb(140, 158, 220);
            text-decoration: none;
            font-weight: 500;
        }
        .vap-psy-foot a:hover,
        .vap-psy-foot .vap-sub-foot-link:hover,
        .vap-psy-foot .vap-sub-foot-link:focus-visible {
            text-decoration: underline;
            outline: none;
        }
        .vap-psy-foot .vap-sub-foot-link {
            -webkit-text-fill-color: rgb(140, 158, 220);
        }

        /* —— Ambient całej strony — meduzy + bąbelki w rogach —— */
        .vap-psy-ambient {
            position: absolute;
            inset: 0;
            overflow: hidden;
            pointer-events: none;
            z-index: 0;
        }
        .vap-psy-ambient .vap-psy-corner-bubble {
            position: absolute;
            border-radius: 50%;
            background: radial-gradient(circle at 34% 28%, rgba(235, 242, 255, 0.45) 0%, rgba(168, 188, 255, 0.2) 42%, rgba(102, 126, 234, 0.08) 78%);
            border: 1px solid rgba(190, 208, 255, 0.28);
            box-shadow: 0 0 6px rgba(118, 140, 245, 0.14);
        }
        /* bliżej — większe, trochę wyraźniejsze */
        .vap-psy-corner-bubble-4 { right: 0.5%; top: 55%; width: 12px; height: 12px; opacity: 0.3; }
        /* dalej — mniejsze, cichsze, prawie bez ruchu */
        .vap-psy-corner-bubble-2 { right: 1%; top: 14%; width: 9px; height: 9px; opacity: 0.18; }
        .vap-psy-corner-bubble-3 { left: 0.5%; top: 42%; width: 8px; height: 8px; opacity: 0.14; }
        .vap-psy-corner-bubble-5 { left: 2%; bottom: 18%; width: 7px; height: 7px; opacity: 0.15; }
        .vap-psy-corner-bubble-6 { right: 2%; bottom: 10%; width: 10px; height: 10px; opacity: 0.2; }

        /* —— Meduzy w rogach —— */
        .vap-psy-jelly-slot {
            position: absolute;
            z-index: 1;
            opacity: 0;
            pointer-events: none;
        }
        .vap-psy-jelly-slot-2 {
            right: calc(clamp(20px, 1.2vw + 20px, 36px) + var(--vap-psy-jelly-shift-in));
            top: 48px;
            width: clamp(calc(21px * var(--vap-psy-jelly-scale)), calc(2.2vw * var(--vap-psy-jelly-scale)), calc(31px * var(--vap-psy-jelly-scale)));
        }
        .vap-psy-jelly-slot-4 {
            right: calc(clamp(0px, 1vw, 12px) + var(--vap-psy-jelly-shift-in));
            top: 55%;
            width: clamp(calc(21px * var(--vap-psy-jelly-scale)), calc(2.2vw * var(--vap-psy-jelly-scale)), calc(31px * var(--vap-psy-jelly-scale)));
        }
        @media (min-width: 821px) {
            .vap-psy-jelly-slot-2,
            .vap-psy-jelly-slot-4 {
                width: clamp(calc(21px * 1.13 * var(--vap-psy-jelly-scale)), calc(2.2vw * 1.13 * var(--vap-psy-jelly-scale)), calc(31px * 1.13 * var(--vap-psy-jelly-scale)));
            }
        }
        .vap-psy-jelly {
            position: relative;
            width: 100%;
            margin: 0;
            color: var(--vap-jelly-color);
            filter: blur(0.3px);
            opacity: 0.85;
        }
        .vap-psy-jelly::after {
            content: '';
            position: absolute;
            left: 50%;
            top: 18%;
            width: 240%;
            height: 220%;
            transform: translate(-50%, -28%);
            background: var(--vap-jelly-halo);
            border-radius: 31px;
            pointer-events: none;
            z-index: 0;
        }
        .vap-psy-jelly svg {
            position: relative;
            z-index: 2;
            display: block;
            width: 100%;
            height: auto;
            transform-origin: 50% 20%;
        }
        .vap-psy-jelly svg ellipse { fill: currentColor; fill-opacity: 0.36; }
        .vap-psy-jelly svg path { stroke-opacity: 0.68; stroke-width: 1.5; }
        @keyframes vap-psy-jelly-enter-right {
            0% { opacity: 0; transform: translate3d(42px, 0, 0) scale(0.9); filter: blur(5px); }
            100% { opacity: 1; transform: translate3d(0, 0, 0) scale(1); filter: blur(0); }
        }
        @keyframes vap-psy-jelly-enter-right-top {
            0% { opacity: 0; transform: translate3d(42px, 70px, 0) scale(0.9); filter: blur(5px); }
            100% { opacity: 1; transform: translate3d(0, 70px, 0) scale(1); filter: blur(0); }
        }
        /* Naprzemienny blask — jak na stronie głównej (po kolei) */
        @keyframes vap-psy-jelly-glow-body-right {
            0%, 54% { color: var(--vap-jelly-color); opacity: 0.85; filter: blur(0.3px); }
            10%, 44% {
                color: rgba(168, 192, 255, 0.62);
                opacity: 1;
                filter: blur(0.15px) drop-shadow(0 0 18px rgba(102, 126, 234, 0.42));
            }
            54%, 100% { color: var(--vap-jelly-color); opacity: 0.85; filter: blur(0.3px); }
        }
        @keyframes vap-psy-jelly-glow-body-left {
            0%, 46% { color: var(--vap-jelly-color); opacity: 0.85; filter: blur(0.3px); }
            56%, 90% {
                color: rgba(168, 192, 255, 0.62);
                opacity: 1;
                filter: blur(0.15px) drop-shadow(0 0 18px rgba(102, 126, 234, 0.42));
            }
            100% { color: var(--vap-jelly-color); opacity: 0.85; filter: blur(0.3px); }
        }
        @keyframes vap-psy-jelly-glow-halo-right {
            0%, 54% { opacity: 1; background: var(--vap-jelly-halo); }
            10%, 44% {
                opacity: 1;
                background: radial-gradient(ellipse 120% 90% at 50% 30%, rgba(102, 126, 234, 0.18) 0%, rgba(118, 140, 245, 0.08) 52%, transparent 72%);
            }
            54%, 100% { opacity: 1; background: var(--vap-jelly-halo); }
        }
        @keyframes vap-psy-jelly-glow-halo-left {
            0%, 46% { opacity: 1; background: var(--vap-jelly-halo); }
            56%, 90% {
                opacity: 1;
                background: radial-gradient(ellipse 120% 90% at 50% 30%, rgba(102, 126, 234, 0.18) 0%, rgba(118, 140, 245, 0.08) 52%, transparent 72%);
            }
            100% { opacity: 1; background: var(--vap-jelly-halo); }
        }
        @keyframes vap-psy-jelly-glow-scale-right {
            0%, 54% { transform: scale(1); }
            10%, 44% { transform: scale(1.1); }
            54%, 100% { transform: scale(1); }
        }
        @keyframes vap-psy-jelly-glow-scale-left {
            0%, 46% { transform: scale(1); }
            56%, 90% { transform: scale(1.1); }
            100% { transform: scale(1); }
        }
        @keyframes vap-psy-jelly-glow-fill-right {
            0%, 54% { fill-opacity: 0.36; }
            10%, 44% { fill-opacity: 0.92; }
            54%, 100% { fill-opacity: 0.36; }
        }
        @keyframes vap-psy-jelly-glow-fill-left {
            0%, 46% { fill-opacity: 0.36; }
            56%, 90% { fill-opacity: 0.92; }
            100% { fill-opacity: 0.36; }
        }
        @keyframes vap-psy-jelly-glow-stroke-right {
            0%, 54% { stroke-width: 1.5; stroke-opacity: 0.68; }
            10%, 44% { stroke-width: 2; stroke-opacity: 1; }
            54%, 100% { stroke-width: 1.5; stroke-opacity: 0.68; }
        }
        @keyframes vap-psy-jelly-glow-stroke-left {
            0%, 46% { stroke-width: 1.5; stroke-opacity: 0.68; }
            56%, 90% { stroke-width: 2.1; stroke-opacity: 1; }
            100% { stroke-width: 1.5; stroke-opacity: 0.68; }
        }
        @keyframes vap-psy-jelly-drift {
            0%, 100% { transform: translate3d(0, 0, 0) rotate(-2.5deg); }
            33% { transform: translate3d(10px, -14px, 0) rotate(2deg); }
            66% { transform: translate3d(-8px, -22px, 0) rotate(3deg); }
        }
        @keyframes vap-psy-jelly-drift-alt {
            0%, 100% { transform: translate3d(0, 0, 0) rotate(2.5deg); }
            33% { transform: translate3d(-9px, -15px, 0) rotate(-1.5deg); }
            66% { transform: translate3d(7px, -20px, 0) rotate(-3deg); }
        }
        @keyframes vap-psy-corner-float {
            0%, 100% { transform: translate3d(0, 0, 0); }
            50% { transform: translate3d(2px, -5px, 0); }
        }
        @keyframes vap-psy-corner-float-alt {
            0%, 100% { transform: translate3d(0, 0, 0); }
            50% { transform: translate3d(-2px, -4px, 0); }
        }
        /* tło strony — wolniejsze, słabsze bąbelki */
        .vap-sub-page-ambient .vap-sub-bubble {
            opacity: 0.28;
            border-width: 1px;
        }
        @keyframes vap-psy-bg-rise {
            0% { transform: translateY(0); opacity: 0; }
            8% { opacity: 0.28; }
            94% { opacity: 0.12; }
            100% { transform: translateY(-95vh); opacity: 0; }
        }
        .vap-sub-page-ambient .vap-sub-bubble-1 { animation: vap-psy-bg-rise 48s linear infinite; }
        .vap-sub-page-ambient .vap-sub-bubble-2 { animation: vap-psy-bg-rise 56s linear infinite 18s; }
        .vap-sub-page-ambient .vap-sub-bubble-3 { animation: vap-psy-bg-rise 52s linear infinite 10s; }
        @media (prefers-reduced-motion: no-preference) {
            .vap-psy-corner-bubble-4 { animation: vap-psy-corner-float-alt 42s ease-in-out infinite 3s; }
            /* małe — statyczne, bez „biegania” */
            .vap-psy-jelly-slot-2 { animation: vap-psy-jelly-enter-right-top 1.05s var(--ease) 0.36s forwards; }
            .vap-psy-jelly-slot-4 { animation: vap-psy-jelly-enter-right 1.05s var(--ease) 0.56s forwards; }
            .vap-psy-jelly-slot-2 .vap-psy-jelly {
                animation:
                    vap-psy-jelly-drift-alt 16s ease-in-out 1.61s infinite,
                    vap-psy-jelly-glow-body-right 14s ease-in-out 1.61s infinite;
            }
            .vap-psy-jelly-slot-4 .vap-psy-jelly {
                animation:
                    vap-psy-jelly-drift 14s ease-in-out 1.41s infinite,
                    vap-psy-jelly-glow-body-left 14s ease-in-out 1.41s infinite;
            }
            .vap-psy-jelly-slot-2 .vap-psy-jelly::after {
                animation: vap-psy-jelly-glow-halo-right 14s ease-in-out 1.61s infinite;
            }
            .vap-psy-jelly-slot-4 .vap-psy-jelly::after {
                animation: vap-psy-jelly-glow-halo-left 14s ease-in-out 1.41s infinite;
            }
            .vap-psy-jelly-slot-2 .vap-psy-jelly svg {
                animation: vap-psy-jelly-glow-scale-right 14s ease-in-out 1.61s infinite;
            }
            .vap-psy-jelly-slot-4 .vap-psy-jelly svg {
                animation: vap-psy-jelly-glow-scale-left 14s ease-in-out 1.41s infinite;
            }
            .vap-psy-jelly-slot-2 .vap-psy-jelly svg ellipse {
                animation: vap-psy-jelly-glow-fill-right 14s ease-in-out 1.61s infinite;
            }
            .vap-psy-jelly-slot-4 .vap-psy-jelly svg ellipse {
                animation: vap-psy-jelly-glow-fill-left 14s ease-in-out 1.41s infinite;
            }
            .vap-psy-jelly-slot-2 .vap-psy-jelly svg path {
                animation: vap-psy-jelly-glow-stroke-right 14s ease-in-out 1.61s infinite;
            }
            .vap-psy-jelly-slot-4 .vap-psy-jelly svg path {
                animation: vap-psy-jelly-glow-stroke-left 14s ease-in-out 1.41s infinite;
            }
        }
        @media (max-width: 900px) {
            /* Górna meduza — przy wąskim oknie 72px wyżej (translateY 70 → -2px) */
            .vap-psy-jelly-slot-2 {
                transform: translate3d(0, -2px, 0) scale(1) !important;
            }
        }
        @media (max-width: 820px) {
            .vap-sub-main--pro { max-width: var(--max); }
            .vap-psy-corner-bubble-3, .vap-psy-corner-bubble-5 { display: none; }
            .vap-psy-jelly-slot-2 { width: clamp(calc(18px * var(--vap-psy-jelly-scale)), calc(5.6vw * var(--vap-psy-jelly-scale)), calc(25px * var(--vap-psy-jelly-scale))); right: calc(20px + var(--vap-psy-jelly-shift-in)); }
            .vap-psy-jelly-slot-4 { width: clamp(calc(18px * var(--vap-psy-jelly-scale)), calc(5.6vw * var(--vap-psy-jelly-scale)), calc(25px * var(--vap-psy-jelly-scale))); right: var(--vap-psy-jelly-shift-in); }
        }
        @media (max-width: 800px) {
            .vap-psy-jelly-slot-2,
            .vap-psy-jelly-slot-4 {
                width: clamp(calc(18px * 0.96 * var(--vap-psy-jelly-scale)), calc(5.6vw * 0.96 * var(--vap-psy-jelly-scale)), calc(25px * 0.96 * var(--vap-psy-jelly-scale)));
            }
        }
        @media (max-width: 640px) {
            .vap-psy-rise-bubble-2, .vap-psy-rise-bubble-5, .vap-psy-rise-bubble-6 { display: none; }
            .vap-psy-corner-bubble-3, .vap-psy-corner-bubble-5 { display: none; }
        }
        /* Hero podstron — font-size jak strona główna (tytuł + lead) */
        @media (max-width: 700px) {
            .vap-sub-main--pro,
            .vap-psy-hero.vap-psy-hero--plain {
                --vap-hero-title-size: clamp(
                    calc(1.85rem * 0.92),
                    calc(4vw * 0.92),
                    calc(2.65rem * 0.92)
                );
            }
            .vap-psy-hero .vap-sub-lead {
                font-size: calc(1.12rem * 0.92);
            }
        }
        @media (max-width: 500px) {
            .vap-sub-main--pro,
            .vap-psy-hero.vap-psy-hero--plain {
                --vap-hero-title-size: clamp(
                    calc(1.85rem * 0.85),
                    calc(4vw * 0.85),
                    calc(2.65rem * 0.85)
                );
            }
            .vap-psy-hero .vap-sub-lead {
                font-size: calc(1.12rem * 0.85);
            }
        }
        @media (prefers-reduced-motion: reduce) {
            .vap-psy-hero::before,
            .vap-psy-hero::after,
            .vap-psy-hero-bubbles { opacity: 1 !important; animation: none !important; }
            .vap-psy-hero-bubbles,
            .vap-psy-ambient .vap-psy-corner-bubble { display: none; }
            .vap-psy-jelly-slot { opacity: 0.35; animation: none !important; }
            .vap-psy-jelly-slot .vap-psy-jelly,
            .vap-psy-jelly-slot .vap-psy-jelly::after,
            .vap-psy-jelly-slot .vap-psy-jelly svg,
            .vap-psy-jelly-slot .vap-psy-jelly svg ellipse,
            .vap-psy-jelly-slot .vap-psy-jelly svg path { animation: none !important; }
            .vap-psy-hero h1,
            .vap-psy-hero .vap-sub-lead,
            .vap-psy-hero .eyebrow-chip,
            .vap-psy-hero .eyebrow-sep,
            .vap-psy-body.reveal,
            .vap-psy-section { opacity: 1; transform: none; transition: none; }
            .vap-sub-main--pro .vap-psy-section h2::before {
                opacity: 0.42;
                transform: none;
                animation: none !important;
            }
            .vap-psy-accent,
            .vap-psy-accent strong {
                color: #a1a1a1;
                -webkit-text-fill-color: #a1a1a1;
                animation: none !important;
            }
        }

        /* Lecące bańki wyłączone — zostają tylko statyczne przy nagłówkach sekcji (h2::before) */
        .vap-sub-page-ambient,
        .vap-sub-main--pro .vap-psy-ambient,
        .vap-sub-main--pro .vap-psy-hero-bubbles {
            display: none !important;
        }

