/* Home v15 — full-page polish: depth, glow, rhythm, readability */

body.p4p-home {
    --p4p-home-glass: linear-gradient(145deg, rgba(20, 14, 28, 0.94) 0%, rgba(8, 8, 14, 0.9) 100%);
    --p4p-home-edge: rgba(167, 139, 250, 0.22);
    --p4p-home-glow-peach: rgba(232, 168, 124, 0.14);
    --p4p-home-glow-violet: rgba(167, 139, 250, 0.12);
    --p4p-home-glow-mint: rgba(134, 239, 172, 0.1);
    background: radial-gradient(ellipse 120% 80% at 50% 0%, #1a1224 0%, #0c0a10 45%, #08080e 100%);
}

/* ── Canvas vignette + grain ── */
.p4p-home-canvas::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 2;
    background:
        radial-gradient(ellipse 85% 70% at 50% 50%, transparent 35%, rgba(0, 0, 0, 0.55) 100%),
        radial-gradient(circle at 50% 100%, rgba(134, 239, 172, 0.04) 0%, transparent 45%);
    mix-blend-mode: multiply;
}

.p4p-home-main::before {
    content: '';
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 6;
    opacity: 0.035;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ── Ambient lights per section ── */
.p4p-ambient-light {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    opacity: 0;
    transition: opacity 1.2s ease, transform 1.4s cubic-bezier(0.19, 1, 0.22, 1);
    will-change: opacity, transform;
}

.p4p-section.is-active .p4p-ambient-light {
    opacity: 1;
}

.p4p-ambient-light--genesis {
    background:
        radial-gradient(circle at 50% 38%, rgba(232, 168, 124, 0.2) 0%, transparent 58%),
        radial-gradient(circle at 20% 80%, rgba(167, 139, 250, 0.08) 0%, transparent 45%);
}

.p4p-ambient-light--capabilities {
    background:
        radial-gradient(circle at 50% 22%, rgba(168, 85, 247, 0.16) 0%, transparent 55%),
        radial-gradient(circle at 80% 70%, rgba(134, 239, 172, 0.07) 0%, transparent 40%);
}

.p4p-ambient-light--gateway {
    background:
        radial-gradient(circle at 35% 55%, rgba(6, 182, 212, 0.12) 0%, transparent 50%),
        radial-gradient(circle at 70% 45%, rgba(217, 70, 239, 0.14) 0%, transparent 52%);
}

.p4p-ambient-light--experience {
    background:
        radial-gradient(circle at 50% 40%, rgba(16, 185, 129, 0.14) 0%, transparent 55%),
        radial-gradient(circle at 15% 65%, rgba(232, 168, 124, 0.06) 0%, transparent 42%);
}

.p4p-ambient-light--careers {
    background:
        radial-gradient(circle at 50% 50%, rgba(232, 168, 124, 0.11) 0%, transparent 58%),
        radial-gradient(circle at 50% 50%, rgba(134, 239, 172, 0.08) 0%, transparent 45%);
}

.p4p-ambient-light--finale {
    background:
        radial-gradient(circle at 40% 35%, rgba(217, 70, 239, 0.14) 0%, transparent 55%),
        radial-gradient(circle at 65% 65%, rgba(232, 168, 124, 0.1) 0%, transparent 48%);
}

/* ── Global kickers & titles ── */
body.p4p-home .p4p-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.22rem 0.55rem;
    border-radius: 999px;
    border: 1px solid rgba(232, 168, 124, 0.25);
    background: rgba(232, 168, 124, 0.06);
    font-size: 0.58rem;
    letter-spacing: 0.14em;
    color: rgba(240, 196, 160, 0.95);
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.5);
}

body.p4p-home .p4p-kicker::before {
    content: '';
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #e8a87c;
    box-shadow: 0 0 8px rgba(232, 168, 124, 0.8);
    animation: p4p-kicker-pulse 2.4s ease-in-out infinite;
}

@keyframes p4p-kicker-pulse {
    0%, 100% { opacity: 0.6; transform: scale(0.9); }
    50% { opacity: 1; transform: scale(1.15); }
}

body.p4p-home .p4p-section-title {
    text-shadow: 0 4px 32px rgba(0, 0, 0, 0.65), 0 0 40px rgba(167, 139, 250, 0.08);
}

.p4p-carousel-card .p4p-service-card__title {
    color: #fff;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.6);
}

/* ── Timeline chrome ── */
.p4p-tl-minimal {
    filter: drop-shadow(0 8px 24px rgba(0, 0, 0, 0.45));
}

.p4p-tl-minimal__orbit {
    animation: p4p-tl-orbit-spin 24s linear infinite;
    opacity: 0.35;
}

@keyframes p4p-tl-orbit-spin {
    to { transform: rotate(360deg); }
}

.p4p-tl-minimal__node.is-active {
    box-shadow: 0 0 16px rgba(232, 168, 124, 0.55), 0 0 32px rgba(134, 239, 172, 0.2);
}

.p4p-tl-minimal__fill {
    box-shadow: 0 0 12px rgba(232, 168, 124, 0.45);
}

.p4p-next-indicator {
    border-radius: 999px;
    padding: 0.35rem 0.85rem 0.5rem;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(8, 8, 14, 0.72);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    transition: border-color 0.3s, background 0.3s, transform 0.3s;
}

.p4p-next-indicator:hover {
    border-color: rgba(232, 168, 124, 0.35);
    background: rgba(232, 168, 124, 0.08);
    transform: translateX(-50%) translateY(-2px);
}

.p4p-next-indicator__arrow {
    animation: p4p-next-bounce 2s ease-in-out infinite;
}

@keyframes p4p-next-bounce {
    0%, 100% { transform: translateY(0); opacity: 0.7; }
    50% { transform: translateY(4px); opacity: 1; }
}

/* ── SEC 1 Genesis ── */
.p4p-hero-v4__shell--tilt {
    perspective: 1400px;
}

.p4p-hero-v4__glass {
    position: relative;
    border-radius: 20px !important;
    border: 1px solid rgba(167, 139, 250, 0.28) !important;
    background: var(--p4p-home-glass) !important;
    box-shadow:
        0 28px 64px rgba(0, 0, 0, 0.52),
        0 0 48px var(--p4p-home-glow-peach),
        inset 0 1px 0 rgba(255, 255, 255, 0.07) !important;
    transform-style: preserve-3d;
    transition: transform 0.45s cubic-bezier(0.19, 1, 0.22, 1), box-shadow 0.45s;
}

.p4p-hero-v4__glass::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background: linear-gradient(125deg, transparent 42%, rgba(255, 255, 255, 0.04) 50%, transparent 58%);
    animation: p4p-hero-shine 7s ease-in-out infinite;
}

@keyframes p4p-hero-shine {
    0%, 100% { opacity: 0.35; transform: translateX(-6%); }
    50% { opacity: 0.85; transform: translateX(6%); }
}

.p4p-hero-v4__shell--tilt:hover .p4p-hero-v4__glass {
    box-shadow:
        0 36px 72px rgba(0, 0, 0, 0.58),
        0 0 56px var(--p4p-home-glow-violet),
        inset 0 1px 0 rgba(255, 255, 255, 0.09);
}

.p4p-hero-v4__title .p4p-glitch-text {
    background: linear-gradient(135deg, #fff 0%, #f0c4a0 45%, #c4b5fd 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0 4px 24px rgba(0, 0, 0, 0.65));
}

.p4p-hero-v4__lead {
    -webkit-line-clamp: unset !important;
    display: block !important;
    overflow: visible !important;
    color: #dce4ef !important;
    max-width: 36em;
    margin-left: auto;
    margin-right: auto;
}

.p4p-hero-v4__badge {
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}

.p4p-hero-v4__stats {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.45rem;
    margin-top: 0.75rem;
}

.p4p-hero-v4__stat {
    padding: 0.5rem 0.65rem;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(0, 0, 0, 0.28);
    transition: border-color 0.3s, transform 0.3s, box-shadow 0.3s;
}

.p4p-hero-v4__stat:hover {
    border-color: rgba(232, 168, 124, 0.35);
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.35), 0 0 20px var(--p4p-home-glow-peach);
}

.p4p-hero-v4__stat strong {
    background: linear-gradient(135deg, #fff, #f0c4a0);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

body.p4p-home .p4p-btn-glow {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4), 0 0 20px rgba(232, 168, 124, 0.12);
    transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
}

body.p4p-home .p4p-btn-glow:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.48), 0 0 28px rgba(232, 168, 124, 0.22);
}

/* ── SEC 2 Capabilities ── */
.p4p-cap-band {
    position: relative;
    overflow: hidden;
}

.p4p-cap-band::before {
    content: '';
    position: absolute;
    inset: -40% -20%;
    pointer-events: none;
    background: linear-gradient(115deg, transparent 40%, rgba(167, 139, 250, 0.06) 50%, transparent 60%);
    animation: p4p-hero-shine 9s ease-in-out infinite;
}

.p4p-cap-band__title {
    background: linear-gradient(135deg, #fff 0%, #e2d4f8 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.p4p-section--capabilities .p4p-carousel-rotor {
    width: min(268px, 54vw) !important;
    height: min(340px, 34vh) !important;
}

.p4p-carousel-card {
    border-radius: 16px !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    background: linear-gradient(160deg, rgba(12, 14, 24, 0.96) 0%, rgba(6, 8, 14, 0.92) 100%) !important;
    box-shadow:
        0 20px 48px rgba(0, 0, 0, 0.55),
        inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
}

.p4p-carousel-card .p4p-service-card__glow {
    opacity: 0.85;
    filter: blur(12px);
}

.p4p-carousel-card .p4p-service-card__visual {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35), inset 0 0 20px rgba(255, 255, 255, 0.03);
}

.p4p-carousel-card.is-front {
    border-color: rgba(255, 255, 255, 0.14) !important;
    box-shadow:
        0 28px 56px rgba(0, 0, 0, 0.62),
        0 0 36px rgba(232, 168, 124, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
}

.p4p-carousel-card.is-front .p4p-service-card__title {
    color: #fff;
}

.p4p-carousel-card .p4p-service-card__quote {
    border-left: 2px solid var(--svc-color, #e8a87c);
    background: rgba(0, 0, 0, 0.22);
}

.p4p-cap-rail {
    box-shadow:
        0 12px 36px rgba(0, 0, 0, 0.42),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.p4p-cap-rail__fill {
    box-shadow: 0 0 16px rgba(167, 139, 250, 0.35);
}

/* ── SEC 3 Gateway ── */
.p4p-gateway-fuse {
    width: 100%;
}

.p4p-gateway-fuse__head {
    text-align: center;
}

.p4p-portals-3d--tilt {
    perspective: 1600px;
    transform-style: preserve-3d;
}

.p4p-portal-door {
    border-radius: 18px !important;
    overflow: hidden;
    transition: transform 0.5s cubic-bezier(0.19, 1, 0.22, 1), box-shadow 0.5s, border-color 0.4s !important;
}

.p4p-portal-door::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, transparent 35%, rgba(0, 0, 0, 0.2) 100%);
    z-index: 1;
}

.p4p-portal-door--dev {
    border-color: rgba(6, 182, 212, 0.2) !important;
    box-shadow: 0 24px 56px rgba(0, 0, 0, 0.55), 0 0 32px rgba(6, 182, 212, 0.08) !important;
}

.p4p-portal-door--client {
    border-color: rgba(217, 70, 239, 0.2) !important;
    box-shadow: 0 24px 56px rgba(0, 0, 0, 0.55), 0 0 32px rgba(217, 70, 239, 0.08) !important;
}

.p4p-portal-door__content {
    z-index: 2;
}

.p4p-portals-3d__divider {
    box-shadow: 0 0 24px rgba(232, 168, 124, 0.35);
}

/* ── SEC 4 Experience ── */
.p4p-studio-flow__step {
    transition: background 0.3s, border-color 0.3s, transform 0.3s, box-shadow 0.3s;
}

.p4p-studio-flow__step.is-active,
.p4p-studio-flow__step:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(134, 239, 172, 0.15);
}

.p4p-studio-terminal {
    border-radius: 18px !important;
    border: 1px solid rgba(134, 239, 172, 0.22) !important;
    box-shadow:
        0 28px 64px rgba(0, 0, 0, 0.52),
        0 0 40px var(--p4p-home-glow-mint),
        inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
    transform-style: preserve-3d;
    transition: transform 0.45s cubic-bezier(0.19, 1, 0.22, 1);
}

.p4p-term-holo-core {
    text-shadow: 0 0 24px rgba(134, 239, 172, 0.45);
    animation: p4p-holo-pulse 3s ease-in-out infinite;
}

@keyframes p4p-holo-pulse {
    0%, 100% { filter: drop-shadow(0 0 8px rgba(134, 239, 172, 0.35)); }
    50% { filter: drop-shadow(0 0 20px rgba(134, 239, 172, 0.65)); }
}

.p4p-term-btn.is-active {
    box-shadow: inset 3px 0 0 #86efac, 0 0 16px rgba(134, 239, 172, 0.12);
}

/* ── SEC 5 Careers ── */
.p4p-section--careers .p4p-section__head {
    margin-bottom: 0.25rem;
}

.p4p-careers-globe .p4p-csgo-stage::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50%;
    pointer-events: none;
    background: radial-gradient(circle at 28% 22%, rgba(255, 255, 255, 0.12) 0%, transparent 28%);
    z-index: 1;
}

.p4p-careers-globe .p4p-csgo-node__content {
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
    transition: border-color 0.3s, box-shadow 0.3s, transform 0.3s;
}

.p4p-careers-globe .p4p-csgo-node.is-active .p4p-csgo-node__content {
    border-color: rgba(134, 239, 172, 0.55);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.5), 0 0 24px rgba(134, 239, 172, 0.2);
}

.p4p-csgo-side-preview__panel {
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.48), 0 0 32px var(--p4p-home-glow-violet) !important;
}

/* ── SEC 6 Finale ── */
.p4p-command-center {
    gap: clamp(1rem, 2.5vw, 1.75rem);
}

.p4p-command-center__hud {
    text-align: left;
}

.p4p-command-center__form {
    border-radius: 18px !important;
    border: 1px solid rgba(217, 70, 239, 0.25) !important;
    box-shadow:
        0 28px 64px rgba(0, 0, 0, 0.52),
        0 0 40px rgba(217, 70, 239, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
    transform-style: preserve-3d;
    transition: transform 0.45s cubic-bezier(0.19, 1, 0.22, 1);
}

.p4p-comm-link {
    transition: border-color 0.3s, background 0.3s, transform 0.3s;
}

.p4p-comm-link:hover {
    transform: translateX(4px);
    border-color: rgba(232, 168, 124, 0.35);
}

.p4p-contact-form input,
.p4p-contact-form textarea {
    transition: border-color 0.3s, box-shadow 0.3s, background 0.3s;
}

.p4p-contact-form input:focus,
.p4p-contact-form textarea:focus {
    border-color: rgba(167, 139, 250, 0.55) !important;
    box-shadow: 0 0 0 3px rgba(167, 139, 250, 0.12), 0 0 20px rgba(217, 70, 239, 0.15) !important;
    background: rgba(0, 0, 0, 0.45) !important;
}

.p4p-btn-transmit {
    transition: transform 0.3s, box-shadow 0.3s;
}

.p4p-btn-transmit:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(217, 70, 239, 0.35);
}

/* ── Active section micro-lift ── */
.p4p-section.is-active .p4p-section__shell {
    filter: drop-shadow(0 0 0 transparent);
}

@media (max-width: 768px) {
    .p4p-hero-v4__stats {
        grid-template-columns: 1fr;
    }

    .p4p-home-main::before {
        display: none;
    }

    .p4p-hero-v4__glass,
    .p4p-studio-terminal,
    .p4p-command-center__form {
        transform: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .p4p-tl-minimal__orbit,
    .p4p-hero-v4__glass::after,
    .p4p-cap-band::before,
    .p4p-term-holo-core,
    .p4p-next-indicator__arrow,
    body.p4p-home .p4p-kicker::before {
        animation: none !important;
    }
}
