/* ===================================
   RISING STAR DIGITAL — PREMIUM ANIMATIONS
   =================================== */

/* ===== FADE IN UP ===== */
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(40px); }
    to   { opacity: 1; transform: translateY(0); }
}

@keyframes fadeInDown {
    from { opacity: 0; transform: translateY(-40px); }
    to   { opacity: 1; transform: translateY(0); }
}

@keyframes fadeInLeft {
    from { opacity: 0; transform: translateX(-40px); }
    to   { opacity: 1; transform: translateX(0); }
}

@keyframes fadeInRight {
    from { opacity: 0; transform: translateX(40px); }
    to   { opacity: 1; transform: translateX(0); }
}

@keyframes scaleIn {
    from { opacity: 0; transform: scale(0.85); }
    to   { opacity: 1; transform: scale(1); }
}

@keyframes slideInBlur {
    from { opacity: 0; transform: translateY(30px); filter: blur(8px); }
    to   { opacity: 1; transform: translateY(0); filter: blur(0); }
}

/* ===== HERO SLIDER TEXT ANIMATIONS ===== */
.heroSwiper .overlay .hero-company-name {
    animation: fadeInDown 0.6s cubic-bezier(0.2,0.9,0.4,1.1) both;
}
.heroSwiper .overlay h1 {
    animation: slideInBlur 0.8s cubic-bezier(0.2,0.9,0.4,1.1) 0.15s both;
}
.heroSwiper .overlay .tech-tag {
    animation: fadeInUp 0.7s cubic-bezier(0.2,0.9,0.4,1.1) 0.3s both;
}
.heroSwiper .overlay p {
    animation: fadeInUp 0.7s cubic-bezier(0.2,0.9,0.4,1.1) 0.45s both;
}
.heroSwiper .overlay .btn {
    animation: scaleIn 0.6s cubic-bezier(0.2,0.9,0.4,1.1) 0.6s both;
}

/* ===== NAVBAR ANIMATION ===== */
.navbar {
    animation: fadeInDown 0.5s ease both;
}

/* ===== SECTION HEADERS ===== */
.section-header {
    animation: fadeInUp 0.7s ease both;
}

/* ===== SERVICE CARDS — STAGGER ===== */
.svc-card:nth-child(1) { animation: fadeInUp 0.6s ease 0.1s both; }
.svc-card:nth-child(2) { animation: fadeInUp 0.6s ease 0.2s both; }
.svc-card:nth-child(3) { animation: fadeInUp 0.6s ease 0.3s both; }
.svc-card:nth-child(4) { animation: fadeInUp 0.6s ease 0.4s both; }
.svc-card:nth-child(5) { animation: fadeInUp 0.6s ease 0.5s both; }
.svc-card:nth-child(6) { animation: fadeInUp 0.6s ease 0.6s both; }
.svc-card:nth-child(7) { animation: fadeInUp 0.6s ease 0.7s both; }
.svc-card:nth-child(8) { animation: fadeInUp 0.6s ease 0.8s both; }

/* ===== HOVER — CARDS LIFT ===== */
.svc-card,
.playbook-card,
.wrs-offer-card,
.wrs-how-card,
.wrs-service-item,
.feature-card,
.mv-card,
.team-card,
.testi-card,
.pricing-card,
.blog-card,
.process-step,
.b2b-blog-card,
.b2c-blog-card {
    transition: transform 0.35s cubic-bezier(0.4,0,0.2,1),
                box-shadow 0.35s cubic-bezier(0.4,0,0.2,1),
                border-color 0.35s ease !important;
}

.svc-card:hover,
.playbook-card:hover,
.wrs-offer-card:hover,
.wrs-how-card:hover,
.feature-card:hover,
.mv-card:hover,
.testi-card:hover,
.pricing-card:hover,
.blog-card:hover,
.process-step:hover {
    transform: translateY(-10px) !important;
}

/* ===== BUTTON HOVER ANIMATIONS ===== */
.btn,
.btn-primary,
.hero-btn-primary,
.cta-audit-btn,
.heroSwiper .btn,
.ps-cta-btn,
.wrs-offer-card .btn {
    position: relative;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease !important;
}

.btn::after,
.btn-primary::after,
.hero-btn-primary::after,
.heroSwiper .btn::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    background: rgba(255,255,255,0.15);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: width 0.5s ease, height 0.5s ease, opacity 0.5s ease;
    opacity: 0;
}

.btn:active::after,
.btn-primary:active::after,
.hero-btn-primary:active::after {
    width: 300px;
    height: 300px;
    opacity: 0;
}

/* ===== LOGO MARQUEE PAUSE ON HOVER ===== */
.clients-marquee {
    animation: marqueeScroll 25s linear infinite;
    transition: animation-play-state 0.3s;
}
.clients-marquee:hover {
    animation-play-state: paused;
}

/* ===== CLIENT LOGO BOX HOVER ===== */
.client-logo-box {
    transition: transform 0.3s cubic-bezier(0.4,0,0.2,1),
                box-shadow 0.3s ease !important;
}
.client-logo-box:hover {
    transform: translateY(-6px) scale(1.06) !important;
    box-shadow: 0 12px 30px rgba(30,58,138,0.18) !important;
}

/* ===== SOCIAL LINKS BOUNCE ===== */
.social-links a {
    transition: transform 0.25s cubic-bezier(0.4,0,0.2,1),
                background 0.25s ease !important;
}
.social-links a:hover {
    transform: translateY(-5px) scale(1.12) !important;
}

/* ===== FOOTER LINKS HOVER ===== */
.footer-col ul li a {
    transition: color 0.2s ease, padding-left 0.2s ease !important;
}
.footer-col ul li a:hover {
    padding-left: 8px !important;
}

/* ===== NAV LINK HOVER ===== */
.nav-link {
    transition: color 0.2s ease !important;
}

/* ===== DROPDOWN MENU ANIMATION ===== */
.navbar .dropdown-menu {
    transition: opacity 0.25s ease, transform 0.25s cubic-bezier(0.4,0,0.2,1) !important;
}

/* ===== HERO STATS COUNTER GLOW ===== */
@keyframes statGlow {
    0%,100% { filter: brightness(1); }
    50%      { filter: brightness(1.25); }
}
.testi-stat-number {
    animation: statGlow 3s ease-in-out infinite;
}

/* ===== AUDIT SEAL FLOAT ===== */
@keyframes sealFloat {
    0%,100% { transform: translateY(0) rotate(0deg); }
    50%      { transform: translateY(-14px) rotate(2deg); }
}
.audit-seal-ring {
    animation: sealFloat 4s ease-in-out infinite !important;
}

/* ===== FLOATING BADGES ===== */
@keyframes floatBadge {
    0%,100% { transform: translateY(0); }
    50%      { transform: translateY(-8px); }
}
.audit-seal-badge,
.about-float-card,
.ps-float-badge,
.visual-float-card {
    animation: floatBadge 4s ease-in-out infinite;
}
.audit-seal-badge:nth-child(2) { animation-delay: 1s; }
.audit-seal-badge:nth-child(3) { animation-delay: 0.5s; }

/* ===== SCROLL INDICATOR ===== */
@keyframes scrollBounce {
    0%,100% { transform: translateY(0); opacity: 1; }
    50%      { transform: translateY(8px); opacity: 0.5; }
}
.cohs-dot, .chs-dot, .ths-dot, .ths2-dot, .phs-dot, .shs-dot, .svcs-dot {
    animation: scrollBounce 1.5s ease-in-out infinite !important;
}

/* ===== OFFICE CARD TILT (About Page) ===== */
.office-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

/* ===== TEAM CARD IMAGE ZOOM ===== */
.team-card-img {
    transition: transform 0.5s cubic-bezier(0.4,0,0.2,1) !important;
    overflow: hidden;
}
.team-card:hover .team-card-img {
    transform: scale(1.05) !important;
}

/* ===== LOVED PIC HOVER ===== */
.loved-pic-item img {
    transition: transform 0.4s cubic-bezier(0.4,0,0.2,1),
                box-shadow 0.4s ease !important;
}
.loved-pic-item img:hover {
    transform: scale(1.08) translateY(-4px) !important;
    box-shadow: 0 20px 40px rgba(30,58,138,0.25) !important;
}

/* ===== VR CARD HOVER ===== */
.vr-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease !important;
}
.vr-card:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 24px 50px rgba(0,0,0,0.35) !important;
}

/* ===== CIRCLE STEP CARDS ===== */
.circle-step-card {
    transition: transform 0.35s cubic-bezier(0.2,0.9,0.4,1.1),
                box-shadow 0.35s ease,
                border-color 0.35s ease !important;
}
.circle-step-card:hover {
    transform: translateY(-10px) scale(1.03) !important;
}

/* ===== TIMELINE TRUST PILLS HOVER ===== */
.timeline-trust-pill {
    transition: transform 0.25s ease, background 0.25s ease !important;
}
.timeline-trust-pill:hover {
    transform: translateY(-3px) !important;
    background: rgba(59,130,246,0.2) !important;
}

/* ===== NEWSLETTER CONTENT HOVER ===== */
.newsletter-content {
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
.newsletter-content:hover {
    transform: translateY(-4px) !important;
}

/* ===== FORM INPUT FOCUS ANIMATION ===== */
.form-group input,
.form-group select,
.form-group textarea {
    transition: border-color 0.25s ease, box-shadow 0.25s ease, background 0.25s ease !important;
}

/* ===== HAMBURGER ANIMATION ===== */
.hamburger span {
    transition: transform 0.3s cubic-bezier(0.4,0,0.2,1),
                opacity 0.3s ease !important;
}

/* ===== PAGE LOAD ANIMATION ===== */
@keyframes pageLoad {
    from { opacity: 0; }
    to   { opacity: 1; }
}
body {
    animation: pageLoad 0.4s ease both;
}

/* ===== REDUCE MOTION ===== */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
    }
}

/* ===================================
   HERO SLIDE RIGHT — PREMIUM CARDS
   =================================== */
.hero-slide-right {
    position: absolute;
    top: 50%;
    right: 5%;
    transform: translateY(-50%);
    width: min(420px, 38%);
    z-index: 22;
    animation: hsFloat 6s ease-in-out infinite;
}
@keyframes hsFloat {
    0%,100% { transform: translateY(-50%) translateX(0); }
    50%      { transform: translateY(-52%) translateX(-6px); }
}

.hs-card {
    background: rgba(15,30,55,0.88);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border: 1px solid rgba(59,130,246,0.25);
    border-radius: 24px;
    padding: 1.8rem;
    box-shadow: 0 30px 60px rgba(0,0,0,0.5), 0 0 0 1px rgba(255,255,255,0.04);
    color: #fff;
    animation: hsEntrance 0.7s cubic-bezier(0.34,1.56,0.64,1) forwards,
               borderGlowHS 4s ease-in-out infinite;
}
@keyframes hsEntrance {
    from { opacity:0; transform: scale(0.8) translateX(50px); }
    to   { opacity:1; transform: scale(1) translateX(0); }
}
@keyframes borderGlowHS {
    0%,100% { box-shadow: 0 30px 60px rgba(0,0,0,0.5), 0 0 0 1px rgba(59,130,246,0.2); }
    50%      { box-shadow: 0 30px 60px rgba(0,0,0,0.5), 0 0 30px 4px rgba(59,130,246,0.25); }
}

/* Top bar like office card */
.hs-top-bar {
    background: rgba(30,58,138,0.4);
    margin: -1.8rem -1.8rem 1.2rem -1.8rem;
    padding: 0.6rem 1.2rem;
    border-radius: 24px 24px 0 0;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}
.hs-dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.hs-dot.r { background: #ef4444; }
.hs-dot.y { background: #f59e0b; }
.hs-dot.g { background: #22c55e; }
.hs-top-title { font-size: 0.72rem; color: #64748b; margin-left: 0.5rem; font-weight: 600; }

/* Card Header */
.hs-card-header { display:flex; align-items:center; gap:0.8rem; margin-bottom:1.2rem; }
.hs-icon {
    width:44px; height:44px; border-radius:12px;
    background:linear-gradient(135deg,#1e3a8a,#3b82f6);
    display:flex; align-items:center; justify-content:center;
    font-size:1.1rem; color:#fff; flex-shrink:0;
}
.hs-title { font-size:1rem; font-weight:700; color:#fff; line-height:1.2; }
.hs-sub   { font-size:0.72rem; color:rgba(255,255,255,0.45); margin-top:2px; }
.hs-badge {
    margin-left:auto; padding:0.25rem 0.75rem; border-radius:50px;
    font-size:0.72rem; font-weight:700; white-space:nowrap;
    background:rgba(59,130,246,0.18); color:#60a5fa;
}
.hs-badge-green { background:rgba(16,185,129,0.18); color:#34d399; }
.hs-badge-gold  { background:rgba(245,158,11,0.18); color:#fbbf24; }

/* Live dot */
.hs-live-dot { margin-left:auto; display:flex; align-items:center; gap:5px; font-size:0.72rem; font-weight:700; color:#34d399; }
.hs-live-dot span { width:8px; height:8px; background:#10b981; border-radius:50%; animation:livePulse 1.5s ease-in-out infinite; }
@keyframes livePulse {
    0%,100% { box-shadow:0 0 0 0 rgba(16,185,129,0.7); }
    50%      { box-shadow:0 0 0 6px rgba(16,185,129,0); }
}

/* Bars — Slide 1 */
.hs-bars { display:flex; flex-direction:column; gap:0.65rem; margin-bottom:1.2rem; }
.hs-bar-wrap { display:flex; align-items:center; gap:0.5rem; }
.hs-bar-label { font-size:0.72rem; color:rgba(255,255,255,0.6); width:68px; flex-shrink:0; }
.hs-bar { flex:1; height:7px; background:rgba(255,255,255,0.08); border-radius:50px; overflow:hidden; }
.hs-bar-fill { height:100%; border-radius:50px; animation:barGrowHS 1.4s ease forwards; }
@keyframes barGrowHS { from { width:0 !important; } }
.hs-bar-val { font-size:0.72rem; color:rgba(255,255,255,0.7); width:30px; text-align:right; flex-shrink:0; }

/* Footer stats */
.hs-footer { display:flex; justify-content:space-between; padding-top:1rem; border-top:1px solid rgba(255,255,255,0.08); margin-top:1rem; }
.hs-stat { text-align:center; }
.hs-stat-num { display:block; font-size:1.1rem; font-weight:800; color:#fff; }
.hs-stat-lbl  { font-size:0.65rem; color:rgba(255,255,255,0.45); text-transform:uppercase; letter-spacing:0.04em; }

/* Metrics — Slide 2 */
.hs-metrics { display:flex; flex-direction:column; gap:0.6rem; }
.hs-metric { display:flex; align-items:center; gap:0.75rem; padding:0.55rem 0.75rem; background:rgba(255,255,255,0.05); border-radius:12px; }
.hs-metric-icon { width:36px; height:36px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:0.9rem; flex-shrink:0; }
.hs-metric-info { flex:1; }
.hs-metric-val { display:block; font-size:0.92rem; font-weight:700; color:#fff; }
.hs-metric-lbl { font-size:0.65rem; color:rgba(255,255,255,0.45); }
.hs-metric-change { font-size:0.72rem; font-weight:700; padding:0.2rem 0.5rem; border-radius:50px; }
.hs-metric-change.up { background:rgba(16,185,129,0.15); color:#34d399; }

/* Donut — Slide 3 */
.hs-donut-wrap { display:flex; align-items:center; gap:1.2rem; }
.hs-donut { width:120px; height:120px; flex-shrink:0; }
.hs-donut-circle { animation:donutHS 1.5s ease forwards; }
@keyframes donutHS { from { stroke-dashoffset:283; } }
.hs-donut-stats { flex:1; display:flex; flex-direction:column; gap:0.5rem; }
.hs-ds { font-size:0.75rem; color:rgba(255,255,255,0.8); display:flex; justify-content:space-between; }
.hs-ds strong { color:#fff; }

/* Countries — Slide 4 */
.hs-countries { display:flex; flex-direction:column; gap:0.55rem; margin-bottom:1rem; }
.hs-country { display:flex; align-items:center; gap:0.5rem; }
.hs-flag { font-size:1rem; flex-shrink:0; }
.hs-cname { font-size:0.72rem; color:rgba(255,255,255,0.7); width:95px; flex-shrink:0; }
.hs-cbar { flex:1; height:6px; background:rgba(255,255,255,0.08); border-radius:50px; overflow:hidden; }
.hs-cbar div { height:100%; border-radius:50px; animation:barGrowHS 1.4s ease forwards; }

/* Keywords — Slide 5 */
.hs-keywords { display:flex; flex-direction:column; gap:0.5rem; margin-bottom:0.8rem; }
.hs-kw { display:flex; align-items:center; gap:0.6rem; padding:0.45rem 0.65rem; background:rgba(255,255,255,0.05); border-radius:10px; }
.hs-kw-pos { width:24px; height:24px; border-radius:7px; display:flex; align-items:center; justify-content:center; font-size:0.72rem; font-weight:800; flex-shrink:0; }
.pos1 { background:linear-gradient(135deg,#f59e0b,#d97706); color:#fff; }
.pos2 { background:rgba(99,102,241,0.3); color:#818cf8; }
.pos3 { background:rgba(59,130,246,0.2); color:#60a5fa; }
.hs-kw-name { flex:1; font-size:0.72rem; color:rgba(255,255,255,0.8); }
.hs-kw-arrow.up { color:#34d399; font-size:0.68rem; }
.hs-seo-stats { display:flex; gap:1rem; padding-top:0.8rem; border-top:1px solid rgba(255,255,255,0.08); }
.hs-ss { font-size:0.72rem; color:rgba(255,255,255,0.65); display:flex; align-items:center; gap:0.4rem; }

/* Speed Rings — Slide 6 */
.hs-speed-rings { display:flex; justify-content:space-around; margin-bottom:0.8rem; }
.hs-ring-item { display:flex; flex-direction:column; align-items:center; gap:0.3rem; }
.hs-ring-svg { width:78px; height:78px; }
.hs-ring-anim { animation:donutHS 1.5s ease forwards; }
.hs-ring-item span { font-size:0.65rem; color:rgba(255,255,255,0.55); text-align:center; }
.hs-speed-info { display:flex; justify-content:center; gap:1.5rem; padding-top:0.8rem; border-top:1px solid rgba(255,255,255,0.08); }
.hs-si { font-size:0.72rem; color:rgba(255,255,255,0.65); display:flex; align-items:center; gap:0.4rem; }

/* Reviews — Slide 7 */
.hs-reviews { display:flex; flex-direction:column; gap:0.65rem; margin-bottom:1rem; }
.hs-review { display:flex; gap:0.65rem; align-items:flex-start; }
.hs-review-avatar { width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:0.9rem; font-weight:700; color:#fff; flex-shrink:0; }
.hs-review-body { flex:1; background:rgba(255,255,255,0.05); border-radius:12px; padding:0.55rem 0.7rem; }
.hs-review-stars { color:#fbbf24; font-size:0.68rem; margin-bottom:0.2rem; }
.hs-review-text  { font-size:0.72rem; color:rgba(255,255,255,0.82); line-height:1.4; margin-bottom:0.2rem; }
.hs-review-name  { font-size:0.65rem; color:rgba(255,255,255,0.4); }

/* Hide on mobile/tablet */
@media (max-width: 992px) {
    .hero-slide-right { display: none !important; }
}
