/**
 * Header + hero CTA gradients (loaded after style.min.css — do not rely on style.css alone)
 */
@keyframes cta-transform-drift {
    0%,
    100% {
        transform: translate3d(-8%, -6%, 0) scale(1.08);
    }
    50% {
        transform: translate3d(8%, 6%, 0) scale(1.08);
    }
}

@keyframes cta-shimmer {
    0% {
        transform: translateX(-140%) skewX(-12deg);
    }
    100% {
        transform: translateX(220%) skewX(-12deg);
    }
}

.menu_main .btn-nav-nda,
.menu_main .btn-nav-idea,
.menu_main .btn-nav-talk {
    position: relative;
    overflow: hidden;
    color: #fff !important;
    font-weight: 600;
    border: 1px solid rgba(255, 255, 255, 0.28);
    background: transparent !important;
    box-shadow: 0 4px 18px rgba(15, 23, 42, 0.35);
    transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.35s ease, border-color 0.25s ease,
        filter 0.3s ease;
}

.menu_main .btn-nav-nda::before,
.menu_main .btn-nav-idea::before,
.menu_main .btn-nav-talk::before {
    content: "";
    position: absolute;
    inset: -18%;
    z-index: -2;
    border-radius: inherit;
    background-size: 220% 220%;
    will-change: transform;
    animation: cta-transform-drift 7s ease-in-out infinite;
}

.menu_main .btn-nav-nda::after,
.menu_main .btn-nav-idea::after,
.menu_main .btn-nav-talk::after {
    content: "";
    position: absolute;
    top: -50%;
    left: 0;
    width: 45%;
    height: 200%;
    z-index: -1;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.24),
        transparent
    );
    pointer-events: none;
    border-radius: inherit;
    animation: cta-shimmer 3.8s ease-in-out infinite;
}

.menu_main .btn-nav-nda::before {
    background-image: linear-gradient(125deg, #0f1f4d 0%, #2d3d8a 38%, #4f6fd4 72%, #2a3f8c 100%);
}

.menu_main .btn-nav-idea::before {
    background-image: linear-gradient(125deg, #1e40af 0%, #3b82f6 35%, #7c3aed 70%, #2563eb 100%);
}

.menu_main .btn-nav-talk::before {
    background-image: linear-gradient(125deg, #075985 0%, #0ea5e9 40%, #38bdf8 78%, #0369a1 100%);
}

.menu_main .btn-nav-nda::after {
    animation-delay: 0s;
}
.menu_main .btn-nav-idea::after {
    animation-delay: 1.1s;
}
.menu_main .btn-nav-talk::after {
    animation-delay: 2.2s;
}

.menu_main .btn-nav-nda:hover,
.menu_main .btn-nav-idea:hover,
.menu_main .btn-nav-talk:hover {
    color: #fff !important;
    background: transparent !important;
    border-color: rgba(255, 255, 255, 0.5);
    transform: translateY(-3px) scale(1.03);
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.45);
    filter: brightness(1.08);
}

.menu_main .btn-nav-nda:hover::before,
.menu_main .btn-nav-idea:hover::before,
.menu_main .btn-nav-talk:hover::before {
    animation-play-state: paused;
}

.menu_main .btn-nav-nda:hover::after,
.menu_main .btn-nav-idea:hover::after,
.menu_main .btn-nav-talk:hover::after {
    animation-play-state: paused;
}

.menu_main .btn-nav-nda:focus-visible,
.menu_main .btn-nav-idea:focus-visible,
.menu_main .btn-nav-talk:focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.9);
    outline-offset: 3px;
}

.header_area .banner_text .btn-hero-cta {
    position: relative;
    overflow: hidden;
    color: #fff !important;
    font-weight: 700;
    letter-spacing: 0.02em;
    padding: 14px 34px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    background: transparent !important;
    box-shadow: 0 6px 28px rgba(76, 29, 149, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.15);
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.35s ease, filter 0.3s ease;
}

.header_area .banner_text .btn-hero-cta::before {
    content: "";
    position: absolute;
    inset: -18%;
    z-index: -2;
    border-radius: inherit;
    background-image: linear-gradient(
        130deg,
        #312e81 0%,
        #4c1d95 22%,
        #2d3d8a 48%,
        #c026d3 78%,
        #2563eb 100%
    );
    background-size: 240% 240%;
    will-change: transform;
    animation: cta-transform-drift 8s ease-in-out infinite;
}

.header_area .banner_text .btn-hero-cta::after {
    content: "";
    position: absolute;
    top: -40%;
    left: 0;
    width: 40%;
    height: 180%;
    z-index: -1;
    background: linear-gradient(
        95deg,
        transparent,
        rgba(255, 255, 255, 0.38),
        transparent
    );
    pointer-events: none;
    border-radius: inherit;
    animation: cta-shimmer 4.2s ease-in-out infinite;
    animation-delay: 0.6s;
}

.header_area .banner_text .btn-hero-cta:hover {
    color: #fff !important;
    background: transparent !important;
    border-color: rgba(255, 255, 255, 0.55);
    transform: translateY(-4px) scale(1.045);
    box-shadow: 0 16px 40px rgba(192, 38, 211, 0.35), 0 12px 36px rgba(45, 61, 138, 0.4);
    filter: brightness(1.1) saturate(1.05);
}

.header_area .banner_text .btn-hero-cta:hover::before,
.header_area .banner_text .btn-hero-cta:hover::after {
    animation-play-state: paused;
}

.header_area .banner_text .btn-hero-cta:focus-visible {
    outline: 2px solid #f0abfc;
    outline-offset: 4px;
}

/* —— Rest of index.php: case studies, hero strip, contact form —— same drift + shimmer —— */
.case_studies_all .case_body a.btn-style,
.hero_text a.btn-style,
.contact_area .btn_area button.btn-style {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    display: inline-block;
    color: #fff !important;
    font-weight: 700;
    border: 1px solid rgba(45, 61, 138, 0.12);
    background: transparent !important;
    box-shadow: 0 4px 18px rgba(37, 99, 235, 0.22);
    text-decoration: none;
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.3s ease, filter 0.25s ease,
        border-color 0.2s ease;
}

.case_studies_all .case_body a.btn-style {
    margin-top: 18px;
    padding: 12px 20px;
    border-radius: 12px;
}

.hero_text a.btn-style {
    margin-top: 8px;
    padding: 12px 28px;
    border-radius: 999px;
    border-color: rgba(255, 255, 255, 0.28);
    box-shadow: 0 6px 24px rgba(15, 23, 42, 0.35);
}

.contact_area .btn_area button.btn-style {
    padding: 12px 32px;
    border-radius: 999px;
    cursor: pointer;
    font: inherit;
    font-size: 16px;
    font-weight: 600;
    border: 1px solid rgba(45, 61, 138, 0.12);
}

.case_studies_all .case_body a.btn-style::before,
.hero_text a.btn-style::before,
.contact_area .btn_area button.btn-style::before {
    content: "";
    position: absolute;
    inset: -18%;
    z-index: -2;
    border-radius: inherit;
    background-size: 220% 220%;
    will-change: transform;
    animation: cta-transform-drift 7.5s ease-in-out infinite;
}

.case_studies_all .case_body a.btn-style::before {
    background-image: linear-gradient(125deg, #1e40af 0%, #3b82f6 35%, #7c3aed 70%, #2563eb 100%);
}

.hero_text a.btn-style::before {
    background-image: linear-gradient(130deg, #312e81 0%, #4c1d95 28%, #2d3d8a 52%, #c026d3 82%, #2563eb 100%);
    background-size: 240% 240%;
    animation: cta-transform-drift 8s ease-in-out infinite;
}

.contact_area .btn_area button.btn-style::before {
    background-image: linear-gradient(125deg, #1e40af 0%, #3b82f6 40%, #6366f1 75%, #2563eb 100%);
}

.case_studies_all .case_body a.btn-style::after,
.hero_text a.btn-style::after,
.contact_area .btn_area button.btn-style::after {
    content: "";
    position: absolute;
    top: -50%;
    left: 0;
    width: 45%;
    height: 200%;
    z-index: -1;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.24),
        transparent
    );
    pointer-events: none;
    border-radius: inherit;
    animation: cta-shimmer 3.8s ease-in-out infinite;
}

.case_studies_all .case_body a.btn-style:hover,
.hero_text a.btn-style:hover,
.contact_area .btn_area button.btn-style:hover {
    color: #fff !important;
    background: transparent !important;
    transform: translateY(-3px) scale(1.03);
    box-shadow: 0 12px 32px rgba(37, 99, 235, 0.35);
    filter: brightness(1.06);
    border-color: rgba(45, 61, 138, 0.28);
}

.case_studies_all .case_body a.btn-style:hover::before,
.hero_text a.btn-style:hover::before,
.contact_area .btn_area button.btn-style:hover::before,
.case_studies_all .case_body a.btn-style:hover::after,
.hero_text a.btn-style:hover::after,
.contact_area .btn_area button.btn-style:hover::after {
    animation-play-state: paused;
}

@media (prefers-reduced-motion: reduce) {
    .menu_main .btn-nav-nda::before,
    .menu_main .btn-nav-idea::before,
    .menu_main .btn-nav-talk::before,
    .header_area .banner_text .btn-hero-cta::before {
        animation: none;
    }

    .menu_main .btn-nav-nda::after,
    .menu_main .btn-nav-idea::after,
    .menu_main .btn-nav-talk::after,
    .header_area .banner_text .btn-hero-cta::after {
        animation: none;
    }

    .menu_main .btn-nav-nda:hover,
    .menu_main .btn-nav-idea:hover,
    .menu_main .btn-nav-talk:hover,
    .header_area .banner_text .btn-hero-cta:hover {
        transform: none;
    }

    .case_studies_all .case_body a.btn-style::before,
    .hero_text a.btn-style::before,
    .contact_area .btn_area button.btn-style::before {
        animation: none;
    }

    .case_studies_all .case_body a.btn-style::after,
    .hero_text a.btn-style::after,
    .contact_area .btn_area button.btn-style::after {
        animation: none;
    }

    .case_studies_all .case_body a.btn-style:hover,
    .hero_text a.btn-style:hover,
    .contact_area .btn_area button.btn-style:hover {
        transform: none;
    }

    #exampleModal .cform .btn::before,
    #exampleModal .cform .btn::after {
        animation: none;
    }

    #exampleModal .cform .btn:hover {
        transform: none;
    }
}
