/* Transitions v4 — cinematic warp exit/enter */

.p4p-page-transition.is-active .p4p-page-transition__split {
    transition: transform 0.72s cubic-bezier(0.76, 0, 0.24, 1);
}

.p4p-page-transition.is-active .p4p-page-transition__split--left {
    transform: translateX(-102%) skewX(-8deg);
}

.p4p-page-transition.is-active .p4p-page-transition__split--right {
    transform: translateX(102%) skewX(8deg);
}

body.is-exiting .p4p-page-transition__content {
    animation: p4pTransWarpOut 0.68s cubic-bezier(0.76, 0, 0.24, 1) forwards;
}

body.is-entering .p4p-page-transition__content {
    animation: p4pTransWarpIn 0.82s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes p4pTransWarpOut {
    0% { transform: scale(1) rotate(0deg); opacity: 1; filter: blur(0); }
    100% { transform: scale(1.35) rotate(4deg); opacity: 0; filter: blur(8px); }
}

@keyframes p4pTransWarpIn {
    0% { transform: scale(0.88) rotate(-3deg); opacity: 0; filter: blur(10px); }
    100% { transform: scale(1) rotate(0deg); opacity: 1; filter: blur(0); }
}

body.is-exiting .p4p-services-main,
body.is-exiting .p4p-page--grid-full {
    transform: scale(0.96) translateY(24px);
    opacity: 0;
    filter: blur(6px);
    transition: transform 0.65s cubic-bezier(0.76, 0, 0.24, 1), opacity 0.55s ease, filter 0.55s ease;
}

body.is-entering .p4p-services-main,
body.is-entering .p4p-page--grid-full {
    animation: p4pPageRiseIn 0.85s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes p4pPageRiseIn {
    from { opacity: 0; transform: translateY(32px) scale(0.97); filter: blur(4px); }
    to { opacity: 1; transform: none; filter: none; }
}

.p4p-page-transition__wave span {
    animation-duration: 0.9s !important;
}

.p4p-page-transition__ring svg circle {
    animation-duration: 1.1s !important;
}

.p4p-page-transition__pct {
    font-size: clamp(2rem, 5vw, 3rem) !important;
    letter-spacing: -0.04em;
    text-shadow: 0 0 40px rgba(232, 168, 124, 0.45);
}

html.p4p-reduced-motion body.is-exiting .p4p-services-main,
html.p4p-reduced-motion body.is-entering .p4p-services-main {
    transform: none !important;
    filter: none !important;
    animation: none !important;
    transition: opacity 0.2s ease !important;
}
