/* ============================================================
   STRATUS PARTNERS — PREMIUM ANIMATIONS
   Additive CSS layered on top of style.css & pages.css.
   Adds scroll-aware header, reveal system, counter animation
   support, footer modernization, and micro-interactions.
   ============================================================ */

/* ── Scroll-Aware Header ── */
header{background:rgba(255,255,255,0) !important;border-bottom-color:transparent !important;transition:background .4s,border-color .4s,box-shadow .4s;}
header.scrolled{background:rgba(255,255,255,.97) !important;border-bottom-color:var(--border) !important;box-shadow:0 1px 20px rgba(0,0,0,.04);}

/* ── Nav Link Underline Animation ── */
header nav a{position:relative;}
header nav a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--purple);transition:width .3s ease;}
header nav a:hover::after,header nav a.active::after{width:100%;}

/* ── CTA Button Glow ── */
.hcta:hover{box-shadow:0 4px 20px rgba(107,33,168,.35);transform:translateY(-1px);}

/* ── Mobile Nav Smooth Animation ── */
.mobile-nav{display:flex !important;max-height:0;overflow:hidden;transition:max-height .4s ease,padding .3s ease;padding:0 28px !important;}
.mobile-nav.open{max-height:500px;padding:20px 28px 28px !important;}

/* ── Reveal System ── */
.reveal{opacity:0;transform:translateY(32px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);}
.reveal.visible{opacity:1;transform:translateY(0) !important;}
.reveal-left{opacity:0;transform:translateX(-40px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);}
.reveal-left.visible{opacity:1;transform:translateX(0);}
.reveal-right{opacity:0;transform:translateX(40px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);}
.reveal-right.visible{opacity:1;transform:translateX(0);}
.reveal-scale{opacity:0;transform:scale(.92);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);}
.reveal-scale.visible{opacity:1;transform:scale(1);}

/* ── Stagger Children ── */
.stagger > *:nth-child(1){transition-delay:.05s;}
.stagger > *:nth-child(2){transition-delay:.12s;}
.stagger > *:nth-child(3){transition-delay:.19s;}
.stagger > *:nth-child(4){transition-delay:.26s;}
.stagger > *:nth-child(5){transition-delay:.33s;}
.stagger > *:nth-child(6){transition-delay:.40s;}

/* ── Section Dividers ── */
.section-divider{height:1px;background:linear-gradient(90deg,transparent,var(--purple-muted),var(--border),var(--purple-muted),transparent);border:none;}

/* ── Footer Modernization ── */
footer{padding:96px 0 40px !important;position:relative !important;}
footer::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--purple-mid),transparent);}
.footer-grid{gap:56px !important;margin-bottom:64px !important;}
.footer-col a{transition:color .2s,padding-left .2s !important;}
.footer-col a:hover{padding-left:4px;}
.back-to-top{display:block;text-align:center;font-size:12px;color:rgba(255,255,255,.2);text-decoration:none;padding:20px 0;transition:color .2s;}
.back-to-top:hover{color:rgba(167,139,250,.6);}
.footer-bottom{padding-top:36px !important;}

/* ── Hero Enhancements (homepage) ── */
@keyframes drift{0%{background-position:0 0}100%{background-position:28px 28px}}
.hero-dots{animation:drift 12s linear infinite;}
.hero-content > *:nth-child(1){animation:fadeUp .7s .1s ease both;}
.hero-content > *:nth-child(2){animation:fadeUp .7s .25s ease both;}
.hero-content > *:nth-child(3){animation:fadeUp .7s .4s ease both;}

/* ── CTA Phase Floating Animation ── */
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.cta-phase:nth-child(1){animation:float 4s ease-in-out infinite;}
.cta-phase:nth-child(2){animation:float 4s ease-in-out infinite .5s;}
.cta-phase:nth-child(3){animation:float 4s ease-in-out infinite 1s;}
.cta-phase:nth-child(4){animation:float 4s ease-in-out infinite 1.5s;}

/* ── Card Hover Enhancement ── */
.core-card:hover{box-shadow:0 20px 60px rgba(107,33,168,.12),0 0 0 1px rgba(107,33,168,.08);}
.feat-cs-card:hover{box-shadow:0 14px 44px rgba(107,33,168,.1);transform:translateY(-4px);}

/* ── Purple background bleed fix (homepage CTA) ── */
/* pages.css defines .cta-split with background:var(--navy), padding:96px 0
   and a ::before radial-gradient — those styles are for SUB-PAGE CTAs only.
   On the homepage, .cta-split is inside .cta-banner and should have NO
   background or padding of its own (the children .cta-left/.cta-right
   provide their own backgrounds). Override here: */
.cta-banner .cta-split{background:none !important;padding:0 !important;overflow:hidden;}
.cta-banner .cta-split::before{display:none !important;}
.cta-right{overflow:hidden;}
