/* =========================================================
   RASA INVESTMENT POLISH V3
   Interactive layer only — no structural Blade changes.
   ========================================================= */

.rasa-investment-body.ri-polish-v3 {
    --ri-v3-ease: cubic-bezier(.16,.82,.22,1);
    --ri-v3-teal: 11, 167, 165;
    --ri-v3-cyan: 22, 199, 199;
    --ri-v3-deep: 7, 59, 76;
}

/* ---------------------------------------------------------
   Interactive cards
   --------------------------------------------------------- */

.rasa-investment-body.ri-polish-v3 .ri-v3-card {
    --ri-v3-rx: 0deg;
    --ri-v3-ry: 0deg;
    --ri-v3-mx: 50%;
    --ri-v3-my: 50%;
    --ri-v3-lift: 0px;

    position: relative;
    isolation: isolate;
    transform-style: preserve-3d;
    backface-visibility: hidden;
    will-change: transform;

    transition:
        transform .32s var(--ri-v3-ease),
        box-shadow .32s ease,
        border-color .32s ease,
        filter .32s ease;
}

/* Mouse-following spotlight */
.rasa-investment-body.ri-polish-v3 .ri-v3-card::after {
    content: "";
    position: absolute;
    inset: -1px;
    z-index: 0;
    border-radius: inherit;
    pointer-events: none;
    opacity: 0;
    background:
        radial-gradient(
            220px circle at var(--ri-v3-mx) var(--ri-v3-my),
            rgba(var(--ri-v3-cyan), .17),
            rgba(var(--ri-v3-cyan), .055) 38%,
            transparent 70%
        );
    transition: opacity .28s ease;
}

/* Keep actual card content above decorative spotlight */
.rasa-investment-body.ri-polish-v3 .ri-v3-card > * {
    position: relative;
    z-index: 1;
}

/* Soft moving edge */
.rasa-investment-body.ri-polish-v3 .ri-v3-card .ri-v3-edge {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    border-radius: inherit;
    pointer-events: none;
}

.rasa-investment-body.ri-polish-v3 .ri-v3-card .ri-v3-edge::before {
    content: "";
    position: absolute;
    width: 42%;
    height: 180%;
    top: -40%;
    right: -55%;
    opacity: 0;
    transform: rotate(20deg);
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.08),
            rgba(255,255,255,.34),
            rgba(255,255,255,.06),
            transparent
        );
    transition:
        right .75s var(--ri-v3-ease),
        opacity .3s ease;
}

/* ---------------------------------------------------------
   Desktop pointer reactions
   --------------------------------------------------------- */

@media (hover: hover) and (pointer: fine) {
    .rasa-investment-body.ri-polish-v3 .ri-v3-card:hover {
        transform:
            perspective(980px)
            rotateX(var(--ri-v3-rx))
            rotateY(var(--ri-v3-ry))
            translateY(-8px)
            scale(1.014);

        border-color: rgba(var(--ri-v3-cyan), .42) !important;

        box-shadow:
            0 28px 62px rgba(var(--ri-v3-deep), .14),
            0 8px 20px rgba(var(--ri-v3-cyan), .055),
            inset 0 0 0 1px rgba(var(--ri-v3-cyan), .055);

        filter: saturate(1.035);
    }

    .rasa-investment-body.ri-polish-v3 .ri-v3-card:hover::after {
        opacity: 1;
    }

    .rasa-investment-body.ri-polish-v3 .ri-v3-card:hover .ri-v3-edge::before {
        right: 115%;
        opacity: .78;
    }

    /* Give common icons/visual circles a small reaction */
    .rasa-investment-body.ri-polish-v3 .ri-v3-card
    :is(
        .ri-icon,
        .ri-category-icon,
        .ri-process-icon,
        .icon,
        [class*="icon"]
    ) {
        transition:
            transform .3s var(--ri-v3-ease),
            filter .3s ease;
        transform-origin: center;
    }

    .rasa-investment-body.ri-polish-v3 .ri-v3-card:hover
    :is(
        .ri-icon,
        .ri-category-icon,
        .ri-process-icon,
        .icon,
        [class*="icon"]
    ) {
        transform:
            translateY(-3px)
            scale(1.075)
            rotate(-2deg);
        filter:
            drop-shadow(
                0 7px 10px
                rgba(var(--ri-v3-cyan), .16)
            );
    }

    /* Text gets a tiny depth response, without shifting layout */
    .rasa-investment-body.ri-polish-v3 .ri-v3-card
    :is(h2,h3,h4,strong) {
        transition:
            color .25s ease,
            transform .25s var(--ri-v3-ease);
    }

    .rasa-investment-body.ri-polish-v3 .ri-v3-card:hover
    :is(h2,h3,h4,strong) {
        transform: translateZ(8px);
    }
}

/* ---------------------------------------------------------
   Magnetic CTA / buttons
   --------------------------------------------------------- */

.rasa-investment-body.ri-polish-v3 .ri-v3-magnetic {
    --ri-v3-btn-x: 0px;
    --ri-v3-btn-y: 0px;

    transform:
        translate(
            var(--ri-v3-btn-x),
            var(--ri-v3-btn-y)
        );

    transition:
        transform .22s var(--ri-v3-ease),
        box-shadow .25s ease,
        filter .25s ease;

    will-change: transform;
}

@media (hover: hover) and (pointer: fine) {
    .rasa-investment-body.ri-polish-v3 .ri-v3-magnetic:hover {
        box-shadow:
            0 15px 32px
            rgba(var(--ri-v3-deep), .14);
        filter: brightness(1.035);
    }
}

/* ---------------------------------------------------------
   Click ripple
   --------------------------------------------------------- */

.rasa-investment-body.ri-polish-v3 .ri-v3-ripple-host {
    position: relative;
    overflow: hidden;
}

.rasa-investment-body.ri-polish-v3 .ri-v3-ripple {
    position: absolute;
    z-index: 50;
    width: 16px;
    height: 16px;
    border-radius: 999px;
    pointer-events: none;
    background:
        rgba(var(--ri-v3-cyan), .20);
    border:
        1px solid
        rgba(var(--ri-v3-cyan), .24);
    transform:
        translate(-50%, -50%)
        scale(.2);
    animation:
        riV3Ripple .62s ease-out forwards;
}

/* ---------------------------------------------------------
   Hero parallax layer
   --------------------------------------------------------- */

.rasa-investment-body.ri-polish-v3 .ri-hero-panel {
    --ri-v3-hero-x: 0px;
    --ri-v3-hero-y: 0px;
}

.rasa-investment-body.ri-polish-v3 .ri-hero-panel
:is(
    .ri-orbit.one,
    .ri-floating-card.top
) {
    transform:
        translate(
            var(--ri-v3-hero-x),
            var(--ri-v3-hero-y)
        );
}

.rasa-investment-body.ri-polish-v3 .ri-hero-panel
:is(
    .ri-orbit.two,
    .ri-floating-card.bottom
) {
    transform:
        translate(
            calc(var(--ri-v3-hero-x) * -.72),
            calc(var(--ri-v3-hero-y) * -.72)
        );
}

/* Do not interfere with form fields */
.rasa-investment-body.ri-polish-v3
:is(input, textarea, select, option) {
    transform: none !important;
}

/* ---------------------------------------------------------
   Slight animated glow for important action shells
   --------------------------------------------------------- */

.rasa-investment-body.ri-polish-v3
:is(
    .ri-account-overview,
    .ri-final-box
).ri-v3-card.is-visible {
    animation:
        riV3AmbientGlow 5.8s ease-in-out infinite;
}

/* ---------------------------------------------------------
   Keyframes
   --------------------------------------------------------- */

@keyframes riV3Ripple {
    0% {
        opacity: .9;
        transform:
            translate(-50%, -50%)
            scale(.2);
    }
    100% {
        opacity: 0;
        transform:
            translate(-50%, -50%)
            scale(9);
    }
}

@keyframes riV3AmbientGlow {
    0%,
    100% {
        box-shadow:
            0 15px 38px
            rgba(var(--ri-v3-deep), .07);
    }
    50% {
        box-shadow:
            0 22px 52px
            rgba(var(--ri-v3-deep), .105),
            0 0 0 1px
            rgba(var(--ri-v3-cyan), .07) inset;
    }
}

/* ---------------------------------------------------------
   Mobile / coarse pointer
   --------------------------------------------------------- */

@media (max-width: 900px), (hover: none), (pointer: coarse) {
    .rasa-investment-body.ri-polish-v3 .ri-v3-card {
        will-change: auto;
        transform: none !important;
    }

    .rasa-investment-body.ri-polish-v3 .ri-v3-card::after,
    .rasa-investment-body.ri-polish-v3 .ri-v3-edge {
        display: none !important;
    }

    .rasa-investment-body.ri-polish-v3 .ri-v3-magnetic {
        transform: none !important;
    }

    .rasa-investment-body.ri-polish-v3 .ri-hero-panel {
        --ri-v3-hero-x: 0px !important;
        --ri-v3-hero-y: 0px !important;
    }

    /* Touch gets a small press response instead */
    .rasa-investment-body.ri-polish-v3
    :is(
        .ri-category-card,
        .ri-process-card,
        .ri-btn,
        a[class*="ri-btn"],
        button[class*="ri-btn"]
    ):active {
        transform: scale(.985) !important;
        transition-duration: .08s !important;
    }
}

/* ---------------------------------------------------------
   Accessibility
   --------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
    .rasa-investment-body.ri-polish-v3 .ri-v3-card,
    .rasa-investment-body.ri-polish-v3 .ri-v3-magnetic,
    .rasa-investment-body.ri-polish-v3 .ri-hero-panel * {
        animation: none !important;
        transition: none !important;
        transform: none !important;
    }

    .rasa-investment-body.ri-polish-v3
    :is(
        .ri-v3-ripple,
        .ri-v3-edge
    ) {
        display: none !important;
    }
}
