/* ══════ Interactive Enhancements ══════ */

/* Smooth scroll reveal */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:.1s}
.reveal-delay-2{transition-delay:.2s}
.reveal-delay-3{transition-delay:.3s}
.reveal-delay-4{transition-delay:.4s}

/* Hero floating particles */
.hero-particle{position:absolute;border-radius:50%;pointer-events:none;background:var(--primary-subtle);animation:float linear infinite;z-index:0}
@keyframes float{0%{transform:translateY(0) rotate(0deg);opacity:0}10%{opacity:.4}90%{opacity:.2}100%{transform:translateY(-200px) rotate(180deg);opacity:0}}

/* Pulsing badge */
.hero-badge{animation:pulse-badge 2s ease-in-out infinite}
@keyframes pulse-badge{0%,100%{box-shadow:0 0 0 0 rgba(30,64,175,.15)}50%{box-shadow:0 0 0 8px rgba(30,64,175,0)}}

/* Hero title gradient animation */
.hero-title{background:linear-gradient(135deg,#0F172A 0%,#1E40AF 50%,#0F172A 100%);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradient-shift 4s ease infinite}
@keyframes gradient-shift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

/* Metric counter animation */
.metric-value{animation:countIn 1s ease forwards;opacity:0}
@keyframes countIn{from{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}

/* Service tab slide-in */
.services-layout{animation:slideIn .5s ease}
@keyframes slideIn{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}

/* Card hover premium */
.card{transition:all .4s cubic-bezier(.4,0,.2,1)}
.card:hover{transform:translateY(-6px);box-shadow:0 20px 60px rgba(0,0,0,.12)}
.card:active{transform:translateY(-2px)}

/* Feature icon glow */
.feat-icon{transition:all .4s ease}
.feat-card:hover .feat-icon{transform:scale(1.15) rotate(-5deg);box-shadow:0 0 30px rgba(30,64,175,.2)}

/* Workflow step hover */
.wf-step{transition:all .3s ease}
.wf-step:hover .wf-num{transform:scale(1.2)}
.wf-step:hover .wf-icon{transform:scale(1.15);color:var(--primary-light)}

/* Sector card interactive */
.sec-card{transition:all .3s ease;cursor:default}
.sec-card:hover .sec-icon{transform:scale(1.1) rotate(5deg)}

/* Button press effect */
.btn:active:not(:disabled){transform:scale(.95)}

/* Navbar scroll effect */
.navbar.scrolled{background:rgba(255,255,255,.98);box-shadow:0 1px 20px rgba(0,0,0,.06)}

/* Smooth section separator */
.section{position:relative}
.section::after{content:'';position:absolute;bottom:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent);opacity:.5}
.section:last-of-type::after{display:none}

/* Contact form floating */
.contact-form{transition:all .3s ease}
.contact-form:focus-within{box-shadow:0 8px 40px rgba(30,64,175,.1);border-color:rgba(30,64,175,.2)}

/* Footer link animation */
.fc a{position:relative;width:fit-content}
.fc a::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:1.5px;background:var(--primary);transition:width .3s ease}
.fc a:hover::after{width:100%}

/* Scroll to top button */
.scroll-top{position:fixed;bottom:90px;left:24px;width:40px;height:40px;border-radius:50%;background:#FFFFFF;border:1px solid var(--border);box-shadow:0 4px 16px rgba(0,0,0,.1);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:9998;opacity:0;transform:translateY(10px);transition:all .3s ease;color:var(--text-secondary)}
.scroll-top.show{opacity:1;transform:translateY(0)}
.scroll-top:hover{background:var(--primary);color:#FFFFFF;border-color:var(--primary);transform:translateY(-3px)}

/* Service detail smooth transition */
.service-detail{transition:all .3s ease;min-height:280px}
.service-detail:hover{box-shadow:0 8px 40px rgba(0,0,0,.08)}

/* Pulsing dot on bot avatar */
.bp-msg-bot .bp-msg-avatar{animation:botPulse 3s ease-in-out infinite}
@keyframes botPulse{0%,100%{box-shadow:0 0 0 0 rgba(30,64,175,.15)}50%{box-shadow:0 0 0 6px rgba(30,64,175,0)}}

/* Typing indicator */
.typing-indicator{display:flex;gap:4px;padding:8px 4px;align-items:center}
.typing-dot{width:6px;height:6px;border-radius:50%;background:var(--text-tertiary);animation:typingBounce 1.4s ease-in-out infinite}
.typing-dot:nth-child(2){animation-delay:.2s}
.typing-dot:nth-child(3){animation-delay:.4s}
@keyframes typingBounce{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-8px)}}

/* Responsive adjustments for animations */
@media(prefers-reduced-motion:reduce){.reveal,.card,.feat-icon,.wf-step,.sec-icon,.hero-title,.hero-badge{animation:none!important;transition:none!important;opacity:1!important;transform:none!important}}
