/**
 * INVESTOSURE — GEN-Z VIBE CSS
 * Scroll-triggered animations · Flying health elements · Neon accents · Glassmorphism 2.0
 * Inspired by reactbits.dev/pro — built for UI competition showcase
 */

/* ============================================================
   HEALTH-THEMED FLYING PARTICLES (Background layer)
   ============================================================ */
.health-particle-layer {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
  isolation: isolate;
}

.hp {
  position: absolute;
  font-size: 1.35rem;
  opacity: 0;
  animation: hpFly linear infinite;
  will-change: transform, opacity;
  filter: drop-shadow(0 0 6px rgba(65, 84, 241, 0.25));
  user-select: none;
  pointer-events: none;
}

@keyframes hpFly {
  0%   { transform: translateY(108vh) rotate(0deg) scale(0.65); opacity: 0; }
  12%  { opacity: 0.32; }
  88%  { opacity: 0.28; }
  100% { transform: translateY(-15vh) rotate(360deg) scale(0.95); opacity: 0; }
}

/* Ensure all headings, text, cards, containers, and interactive elements render strictly ABOVE flying particles */
section,
main,
header,
footer,
.container,
.container-fluid,
.hero-home,
.background-body,
.search-container,
.counts,
.advisory-section,
.plans-section,
.tax-section,
.whole-part,
.testimonials,
.count-box,
.advisory-card,
.plan-card,
.card-invest,
.card-invest-tax,
.testimonial-item,
.first-div,
.service-box,
.box,
.post-box,
.badge,
.btn,
h1, h2, h3, h4, h5, h6,
p,
span:not(.hp),
a,
button,
input,
textarea,
label {
  position: relative;
  z-index: 1;
}

/* ============================================================
   SCROLL REVEAL — section entrance animations
   ============================================================ */
.gz-reveal {
  opacity: 0;
  transform: translateY(48px);
  transition: opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.75s cubic-bezier(0.16, 1, 0.3, 1);
}
.gz-reveal.gz-visible {
  opacity: 1;
  transform: translateY(0);
}

.gz-reveal-left {
  opacity: 0;
  transform: translateX(-60px);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.gz-reveal-left.gz-visible {
  opacity: 1;
  transform: translateX(0);
}

.gz-reveal-right {
  opacity: 0;
  transform: translateX(60px);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.gz-reveal-right.gz-visible {
  opacity: 1;
  transform: translateX(0);
}

.gz-reveal-scale {
  opacity: 0;
  transform: scale(0.85);
  transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}
.gz-reveal-scale.gz-visible {
  opacity: 1;
  transform: scale(1);
}

/* Stagger delays */
.gz-d1 { transition-delay: 0.08s; }
.gz-d2 { transition-delay: 0.18s; }
.gz-d3 { transition-delay: 0.28s; }
.gz-d4 { transition-delay: 0.38s; }
.gz-d5 { transition-delay: 0.48s; }
.gz-d6 { transition-delay: 0.58s; }

/* ============================================================
   NEON GRADIENT SECTION DIVIDERS
   ============================================================ */
.gz-divider {
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(65, 84, 241, 0.3) 20%,
    rgba(33, 166, 222, 0.6) 50%,
    rgba(65, 84, 241, 0.3) 80%,
    transparent 100%);
  margin: 0;
  border: none;
}

/* ============================================================
   COUNTS SECTION — GLASSMORPHISM UPGRADE
   ============================================================ */
.counts {
  background: linear-gradient(135deg, #0a0e2e 0%, #0d1a4a 50%, #091535 100%) !important;
  position: relative;
  overflow: hidden;
  padding: 80px 0 !important;
}

.counts::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(ellipse 60% 40% at 20% 30%, rgba(65, 84, 241, 0.18) 0%, transparent 60%),
    radial-gradient(ellipse 50% 35% at 80% 70%, rgba(33, 166, 222, 0.14) 0%, transparent 60%);
  pointer-events: none;
}

.counts .counts-header .counts-tagline {
  color: rgba(99, 179, 237, 0.9) !important;
  background: rgba(65, 84, 241, 0.15) !important;
  border: 1px solid rgba(65, 84, 241, 0.3) !important;
}

.counts .counts-title {
  color: #f8fafc !important;
}

.counts .counts-subtitle {
  color: rgba(203, 213, 225, 0.8) !important;
}

.count-box {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  backdrop-filter: blur(20px) !important;
  border-radius: 20px !important;
  padding: 32px 28px !important;
  position: relative;
  overflow: hidden;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.3s ease,
              box-shadow 0.4s ease !important;
}

.count-box::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.25), transparent);
}

.count-box:hover {
  transform: translateY(-6px) !important;
  border-color: rgba(65, 84, 241, 0.5) !important;
  box-shadow: 0 20px 40px rgba(0,0,0,0.35), 0 0 30px rgba(65, 84, 241, 0.15) !important;
}

.count-box b {
  color: #f1f5f9 !important;
}
.count-box p {
  color: rgba(148, 163, 184, 0.9) !important;
}
.count-box .purecounter {
  color: #60a5fa !important;
  text-shadow: 0 0 20px rgba(96, 165, 250, 0.4) !important;
}
.count-box .count-plus {
  color: #60a5fa !important;
}
.count-box .count-icon-badge {
  background: rgba(65, 84, 241, 0.2) !important;
  border: 1px solid rgba(65, 84, 241, 0.35) !important;
  color: #93c5fd !important;
}

.count-globe {
  background: transparent !important;
}

/* ============================================================
   PLANS SECTION — NEON CARD UPGRADE
   ============================================================ */
.plans-section,
.background {
  background: linear-gradient(160deg, #f8faff 0%, #eef2ff 40%, #f0f9ff 100%) !important;
  position: relative;
  overflow: hidden;
}

.plans-section::before,
.background::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(ellipse 50% 30% at 15% 20%, rgba(65, 84, 241, 0.06) 0%, transparent 70%),
    radial-gradient(ellipse 40% 25% at 85% 80%, rgba(16, 185, 129, 0.05) 0%, transparent 70%);
  pointer-events: none;
}

.card-invest {
  background: rgba(255, 255, 255, 0.85) !important;
  border: 1.5px solid rgba(226, 232, 240, 0.8) !important;
  border-radius: 20px !important;
  padding: 28px 24px !important;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.3s ease,
              box-shadow 0.4s ease !important;
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(10px);
}

.card-invest::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(65, 84, 241, 0.04) 0%, transparent 60%);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

.card-invest:hover {
  transform: translateY(-8px) !important;
  border-color: rgba(65, 84, 241, 0.4) !important;
  box-shadow: 0 24px 48px rgba(65, 84, 241, 0.12), 0 2px 4px rgba(0,0,0,0.04) !important;
}

.card-invest:hover::after {
  opacity: 1;
}

.card-invest h2 {
  background: linear-gradient(135deg, #012970 0%, #4154f1 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  transition: background 0.3s ease;
}

/* ============================================================
   TAX / CALCULATORS SECTION — DARK GRADIENT REWORK
   ============================================================ */
/* ============================================================
   TAX / CALCULATORS SECTION — DARK GRADIENT REWORK
   ============================================================ */
.background2 {
  background: linear-gradient(135deg, #0a0f29 0%, #13194a 50%, #0d1238 100%) !important;
  position: relative;
  overflow: visible !important;
  height: auto !important;
  min-height: auto !important;
  padding: 95px 0 105px !important;
  margin-bottom: 0 !important;
  display: block !important;
}

.background2::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(ellipse 60% 50% at 10% 50%, rgba(65, 84, 241, 0.18) 0%, transparent 70%),
    radial-gradient(ellipse 50% 40% at 90% 30%, rgba(16, 185, 129, 0.1) 0%, transparent 70%);
  pointer-events: none;
}

.main-head {
  color: #f8fafc !important;
  text-align: center !important;
  font-size: clamp(2rem, 3.8vw, 3rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  background: linear-gradient(135deg, #ffffff 0%, #93c5fd 60%, #60a5fa 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  margin: 0 auto 50px !important;
  position: relative !important;
  top: auto !important;
  left: auto !important;
  display: block !important;
  z-index: 1;
}

.card-sections-tax {
  position: relative;
  z-index: 1;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 20px !important;
  justify-content: center !important;
  margin-top: 0 !important;
}

.card-invest-tax {
  flex: 1 1 220px !important;
  max-width: 250px !important;
  min-height: 290px !important;
  height: auto !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 20px !important;
  padding: 28px 22px !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.3s ease,
              box-shadow 0.4s ease !important;
  position: relative;
  overflow: hidden;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

.card-invest-tax.tax1,
.card-invest-tax.tax2 {
  margin-top: 0 !important;
}

.card-invest-tax::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
}

.card-invest-tax:hover {
  transform: translateY(-8px) !important;
  border-color: rgba(96, 165, 250, 0.6) !important;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4), 0 0 30px rgba(65, 84, 241, 0.25) !important;
}

.icon-tax {
  width: 52px !important;
  height: 52px !important;
  border-radius: 14px !important;
  background: rgba(65, 84, 241, 0.25) !important;
  border: 1px solid rgba(147, 197, 253, 0.3) !important;
  padding: 11px !important;
  position: relative !important;
  top: auto !important;
  left: auto !important;
  margin-bottom: 20px !important;
  display: inline-block !important;
}

.head2-tax {
  color: #f1f5f9 !important;
  font-weight: 700 !important;
  font-size: 20px !important;
  line-height: 1.35 !important;
  margin-bottom: 12px !important;
  transition: color 0.25s ease;
}

.card-invest-tax:hover .head2-tax {
  color: #60a5fa !important;
}

.card-invest-tax p {
  color: rgba(203, 213, 225, 0.85) !important;
  font-size: 14.5px !important;
  line-height: 1.6 !important;
  margin-bottom: 0 !important;
}

.tax-heading {
  color: #f8fafc !important;
  position: relative;
  z-index: 1;
  margin: 0 !important;
  padding: 10px 0 !important;
}

.tax-heading h3,
.tax-heading > span {
  color: #f8fafc !important;
  font-size: clamp(1.8rem, 2.8vw, 2.5rem) !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.02em !important;
  display: block !important;
  margin-bottom: 16px !important;
}

.tax-heading p {
  color: rgba(203, 213, 225, 0.85) !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
  max-width: 440px !important;
  margin-bottom: 0 !important;
}

/* ============================================================
   EXPERT ADVISORY SECTION — GLASSMORPHISM
   ============================================================ */
.whole-part {
  background: linear-gradient(160deg, #f8faff 0%, #f0f4ff 100%) !important;
  position: relative;
  overflow: hidden;
}

.whole-part::before {
  content: '';
  position: absolute;
  width: 600px;
  height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(65, 84, 241, 0.08) 0%, transparent 70%);
  top: -200px;
  right: -100px;
  pointer-events: none;
}

.first-div h2 {
  background: linear-gradient(135deg, #012970 0%, #4154f1 80%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-size: clamp(1.8rem, 3vw, 2.5rem) !important;
  font-weight: 800 !important;
}

.first-div h3 {
  color: #334155 !important;
  font-size: clamp(1rem, 2vw, 1.2rem) !important;
  font-weight: 500 !important;
}

.contact-btn {
  background: linear-gradient(135deg, #4154f1 0%, #21a6de 100%) !important;
  color: white !important;
  border: none !important;
  padding: 14px 32px !important;
  border-radius: 50px !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-shadow: 0 8px 24px rgba(65, 84, 241, 0.35) !important;
}

.contact-btn:hover {
  transform: translateY(-3px) scale(1.03) !important;
  box-shadow: 0 16px 36px rgba(65, 84, 241, 0.45) !important;
}

/* ============================================================
   TESTIMONIALS — GLASSMORPHISM CARDS
   ============================================================ */
.testimonials {
  background: linear-gradient(135deg, #0a0e2e 0%, #0d1a4a 100%) !important;
  position: relative;
  overflow: hidden;
}

.testimonials::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(ellipse 60% 40% at 30% 40%, rgba(65, 84, 241, 0.12) 0%, transparent 70%),
    radial-gradient(ellipse 50% 35% at 70% 70%, rgba(16, 185, 129, 0.08) 0%, transparent 70%);
  pointer-events: none;
}

.Wall {
  color: #f8fafc !important;
  font-size: clamp(1.6rem, 3vw, 2.4rem) !important;
  font-weight: 800 !important;
}

.testimonial-item {
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 20px !important;
  padding: 36px !important;
  backdrop-filter: blur(20px) !important;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.3s ease !important;
  position: relative;
  overflow: hidden;
}

.testimonial-item::before {
  content: '"';
  position: absolute;
  top: -10px;
  left: 20px;
  font-size: 120px;
  color: rgba(65, 84, 241, 0.12);
  font-family: Georgia, serif;
  line-height: 1;
  pointer-events: none;
}

.testimonial-item:hover {
  transform: translateY(-6px) !important;
  border-color: rgba(65, 84, 241, 0.4) !important;
  box-shadow: 0 20px 40px rgba(0,0,0,0.4) !important;
}

.testimonial-item p {
  color: rgba(203, 213, 225, 0.9) !important;
  font-style: italic !important;
  line-height: 1.8 !important;
}

.testimonial-item h3 {
  color: #93c5fd !important;
  font-weight: 700 !important;
}

.testimonials .stars i {
  color: #fbbf24 !important;
}

/* ============================================================
   ADVISORY CARDS — NEON BORDER ON HOVER
   ============================================================ */
.advisory-card {
  position: relative;
  overflow: hidden;
}

.advisory-card::before {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(135deg, rgba(65, 84, 241, 0), rgba(65, 84, 241, 0));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  transition: background 0.4s ease;
  pointer-events: none;
}

.advisory-card:hover::before {
  background: linear-gradient(135deg, rgba(65, 84, 241, 0.6), rgba(33, 166, 222, 0.6));
}

/* ============================================================
   PILL BADGE PULSE — For section tags
   ============================================================ */
.plans-badge,
.advisory-badge,
.counts-tagline {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  animation: badgePulse 3s ease-in-out infinite;
}

@keyframes badgePulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(65, 84, 241, 0.2); }
  50% { box-shadow: 0 0 0 6px rgba(65, 84, 241, 0); }
}

/* ============================================================
   COUNTER NUMBER — GLOW EFFECT
   ============================================================ */
@keyframes counterGlow {
  0%, 100% { text-shadow: 0 0 10px rgba(96, 165, 250, 0.4); }
  50% { text-shadow: 0 0 30px rgba(96, 165, 250, 0.8), 0 0 60px rgba(96, 165, 250, 0.3); }
}

/* ============================================================
   HERO SECTION — FLOATING HEALTH ICON ORBS
   ============================================================ */
.hero-health-orb {
  position: absolute;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  z-index: 2;
  animation: orbFloat ease-in-out infinite;
}

@keyframes orbFloat {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  33% { transform: translateY(-18px) rotate(5deg); }
  66% { transform: translateY(-8px) rotate(-3deg); }
}

/* ============================================================
   GRADIENT TEXT HEADINGS — All section titles upgrade
   ============================================================ */
.advisory-title,
.plans-title,
.section-header h2 {
  background: linear-gradient(135deg, #012970 0%, #4154f1 60%, #0ea5e9 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ============================================================
   SCROLL MARQUEE — Trust bar / brand rail
   ============================================================ */
.gz-marquee-wrapper {
  overflow: hidden;
  width: 100%;
  background: rgba(65, 84, 241, 0.04);
  border-top: 1px solid rgba(65, 84, 241, 0.1);
  border-bottom: 1px solid rgba(65, 84, 241, 0.1);
  padding: 12px 0;
}

.gz-marquee-track {
  display: flex;
  width: max-content;
  animation: marqueeScroll 25s linear infinite;
  gap: 60px;
  align-items: center;
}

.gz-marquee-track:hover {
  animation-play-state: paused;
}

@keyframes marqueeScroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.gz-marquee-item {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  white-space: nowrap;
  color: #4154f1;
  font-weight: 600;
  font-size: 14px;
  opacity: 0.75;
  padding: 0 10px;
}

.gz-marquee-item i {
  font-size: 16px;
  opacity: 0.8;
}

.gz-marquee-dot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #4154f1;
  opacity: 0.3;
}

/* ============================================================
   NEWSLETTER SECTION UPGRADE
   ============================================================ */
.gz-newsletter-section {
  background: linear-gradient(135deg, #1e1b4b 0%, #0f172a 50%, #0c1445 100%);
  padding: 80px 40px;
  position: relative;
  overflow: hidden;
}

.gz-newsletter-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(ellipse 50% 60% at 50% 0%, rgba(65, 84, 241, 0.2) 0%, transparent 70%);
  pointer-events: none;
}

/* ============================================================
   FOOTER UPGRADE
   ============================================================ */
footer {
  background: linear-gradient(180deg, #0a0e2e 0%, #050816 100%) !important;
  border-top: 1px solid rgba(65, 84, 241, 0.2) !important;
  position: relative;
}

footer::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(65, 84, 241, 0.6), rgba(33, 166, 222, 0.6), transparent);
}

.footer {
  background: linear-gradient(180deg, #0a0e2e 0%, #050816 100%) !important;
}

.footer .footer-top {
  background: transparent !important;
}

.footer a,
.footer p,
.footer h4 {
  color: rgba(203, 213, 225, 0.85) !important;
}

.footer a:hover {
  color: #60a5fa !important;
}

.footer h4 {
  color: #f1f5f9 !important;
  font-weight: 700 !important;
}

/* ============================================================
   PLANS IMAGE — FLOATING GLOW
   ============================================================ */
.plans-image-wrapper img,
.plan-img {
  filter: drop-shadow(0 20px 60px rgba(65, 84, 241, 0.15));
  animation: planImgFloat 6s ease-in-out infinite;
}

@keyframes planImgFloat {
  0%, 100% { transform: translateY(0); filter: drop-shadow(0 20px 60px rgba(65, 84, 241, 0.15)); }
  50% { transform: translateY(-12px); filter: drop-shadow(0 32px 80px rgba(65, 84, 241, 0.25)); }
}

/* ============================================================
   ABOUT / ADVISORY IMG — PARALLAX SCALE
   ============================================================ */
.back-img {
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
  filter: drop-shadow(0 16px 40px rgba(65, 84, 241, 0.12));
}

.back-img:hover {
  transform: scale(1.04) translateY(-6px) !important;
}

/* ============================================================
   STATS / FEATURE STRIP — Animated underline heading
   ============================================================ */
.gz-underline-heading {
  position: relative;
  display: inline-block;
}
.gz-underline-heading::after {
  content: '';
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 0%;
  height: 3px;
  background: linear-gradient(90deg, #4154f1, #21a6de);
  border-radius: 2px;
  transition: width 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.3s;
}
.gz-underline-heading.gz-visible::after {
  width: 100%;
}

/* ============================================================
   RIPPLE CLICK EFFECT
   ============================================================ */
.gz-ripple-btn {
  position: relative;
  overflow: hidden;
}

.gz-ripple-btn .ripple-circle {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.35);
  transform: scale(0);
  animation: rippleAnim 0.6s linear;
  pointer-events: none;
}

@keyframes rippleAnim {
  to { transform: scale(4); opacity: 0; }
}

/* ============================================================
   LOADING BAR TOP — page transition feel
   ============================================================ */
#gz-page-loader {
  position: fixed;
  top: 0; left: 0;
  height: 3px;
  width: 100%;
  z-index: 99999;
  background: linear-gradient(90deg, #4154f1, #21a6de, #10b981);
  background-size: 200% 100%;
  animation: loaderShimmer 1.5s ease forwards;
  transform-origin: left;
}

@keyframes loaderShimmer {
  0% { transform: scaleX(0); opacity: 1; }
  70% { transform: scaleX(1); opacity: 1; }
  100% { transform: scaleX(1); opacity: 0; }
}

/* ============================================================
   MOBILE RESPONSIVE — Keep it tight
   ============================================================ */
@media (max-width: 768px) {
  .hp { font-size: 1.1rem; }
  .count-box { padding: 24px 20px !important; }
  .card-invest-tax { padding: 20px 18px !important; }
  .testimonial-item { padding: 28px 20px !important; }
  .testimonial-item::before { font-size: 80px; }
  .gz-newsletter-section { padding: 60px 20px; }
  .background2 { padding: 60px 20px !important; }
}

/* ============================================================
   KEYFRAME: SHIMMER TEXT
   ============================================================ */
@keyframes gzShimmer {
  0% { background-position: -200% center; }
  100% { background-position: 200% center; }
}

.gz-shimmer-text {
  background: linear-gradient(
    90deg,
    #012970 0%,
    #4154f1 30%,
    #21a6de 50%,
    #4154f1 70%,
    #012970 100%
  );
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: gzShimmer 4s linear infinite;
}

/* ============================================================
   GRID NOISE TEXTURE — subtle depth on light sections
   ============================================================ */
.gz-noise-overlay::after {
  content: '';
  position: absolute;
  inset: 0;
  opacity: 0.015;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
  pointer-events: none;
  z-index: 0;
}

/* ============================================================
   HEALTH-PLAN PAGE — Hero & Cards Upgrade
   ============================================================ */

/* .top hero section on health-plan.html */
.top {
  background: linear-gradient(135deg, #f0f4ff 0%, #e8f0fe 40%, #f0fafe 100%) !important;
  position: relative;
  overflow: hidden;
}

.top::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(ellipse 50% 60% at 10% 50%, rgba(65,84,241,0.08) 0%, transparent 70%),
    radial-gradient(ellipse 40% 50% at 90% 30%, rgba(16,185,129,0.06) 0%, transparent 70%);
  pointer-events: none;
}

.container-content {
  position: relative;
  z-index: 1;
}

.text h2 {
  background: linear-gradient(135deg, #012970 0%, #4154f1 70%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-size: clamp(1.6rem, 3vw, 2.4rem) !important;
  font-weight: 800 !important;
}

.text p {
  color: #334155 !important;
  font-size: 1.05rem !important;
}

/* Health plan info cards */
.card.card-2 {
  background: rgba(255,255,255,0.95) !important;
  border: 1.5px solid rgba(65,84,241,0.12) !important;
  border-radius: 20px !important;
  padding: 28px !important;
  transition: transform 0.4s cubic-bezier(0.16,1,0.3,1),
              border-color 0.3s ease,
              box-shadow 0.4s ease !important;
  position: relative;
  overflow: hidden;
}

.card.card-2::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg, #4154f1, #21a6de, #10b981);
  border-radius: 20px 20px 0 0;
}

.card.card-2:hover {
  transform: translateY(-8px) !important;
  border-color: rgba(65,84,241,0.3) !important;
  box-shadow: 0 20px 40px rgba(65,84,241,0.12) !important;
}

.head2 {
  background: linear-gradient(135deg, #012970 0%, #4154f1 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: 700 !important;
}

/* Health plan section - "Discover plans" */
.testimons {
  background: linear-gradient(160deg, #f8faff 0%, #eef2ff 100%) !important;
  position: relative;
  overflow: hidden;
}

.header2 h2 {
  background: linear-gradient(135deg, #012970 0%, #4154f1 60%, #0ea5e9 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-size: clamp(1.6rem, 3vw, 2.4rem) !important;
  font-weight: 800 !important;
}

.header2 h4 {
  color: #64748b !important;
}

.card-container {
  background: rgba(255,255,255,0.9) !important;
  border: 1.5px solid rgba(65,84,241,0.15) !important;
  border-radius: 20px !important;
  padding: 28px !important;
  transition: transform 0.4s cubic-bezier(0.16,1,0.3,1), box-shadow 0.4s ease !important;
}

.card-container:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 36px rgba(65,84,241,0.12) !important;
}

/* Section "advise" header */
.advise {
  background: linear-gradient(135deg, #012970 0%, #4154f1 70%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: 800 !important;
  font-size: clamp(1.6rem, 3vw, 2.2rem) !important;
}

/* ============================================================
   ABOUT PAGE — Section upgrades
   ============================================================ */
.about .content {
  position: relative;
  z-index: 1;
}

/* ============================================================
   SIP CALCULATOR — Floating result glow
   ============================================================ */
.sip-result-highlight,
.result-value,
.calc-result-box {
  animation: badgePulse 3s ease-in-out infinite;
}

/* ============================================================
   CONTACT PAGE — Form glassmorph upgrade
   ============================================================ */
.php-email-form input,
.php-email-form textarea,
.php-email-form select {
  border: 1.5px solid rgba(65,84,241,0.2) !important;
  border-radius: 12px !important;
  transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
  background: rgba(255,255,255,0.95) !important;
}

.php-email-form input:focus,
.php-email-form textarea:focus {
  border-color: rgba(65,84,241,0.5) !important;
  box-shadow: 0 0 0 4px rgba(65,84,241,0.1) !important;
  outline: none !important;
}

/* ============================================================
   RETIREMENT / ASSURED / RETURN PAGES — hero sections
   ============================================================ */
.page-header,
.hero-section,
section:first-of-type {
  position: relative;
}

/* ============================================================
   FAQ SECTION — accordion upgrade
   ============================================================ */
.accordion-button {
  font-weight: 600 !important;
  color: #012970 !important;
  border-radius: 12px !important;
}

.accordion-button:not(.collapsed) {
  background: linear-gradient(135deg, rgba(65,84,241,0.08) 0%, rgba(33,166,222,0.06) 100%) !important;
  color: #4154f1 !important;
  box-shadow: none !important;
}

.accordion-item {
  border: 1px solid rgba(65,84,241,0.12) !important;
  border-radius: 12px !important;
  margin-bottom: 8px !important;
  overflow: hidden;
  transition: box-shadow 0.3s ease !important;
}

.accordion-item:hover {
  box-shadow: 0 4px 16px rgba(65,84,241,0.08) !important;
}

/* ============================================================
   BLOG PAGE — card upgrade
   ============================================================ */
.blog-card,
.blog-item,
article.blog-entry {
  border-radius: 20px !important;
  overflow: hidden;
  transition: transform 0.4s cubic-bezier(0.16,1,0.3,1), box-shadow 0.4s ease !important;
}

.blog-card:hover,
.blog-item:hover,
article.blog-entry:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 20px 40px rgba(65,84,241,0.1) !important;
}

/* ============================================================
   BUTTON GLOBAL UPGRADE — brand gradient CTA
   ============================================================ */
.btn-primary,
button[type="submit"],
.get-started {
  background: linear-gradient(135deg, #4154f1 0%, #21a6de 100%) !important;
  border: none !important;
  border-radius: 50px !important;
  font-weight: 700 !important;
  transition: transform 0.3s cubic-bezier(0.16,1,0.3,1), box-shadow 0.3s ease !important;
  box-shadow: 0 6px 20px rgba(65,84,241,0.3) !important;
}

.btn-primary:hover,
button[type="submit"]:hover,
.get-started:hover {
  transform: translateY(-3px) scale(1.02) !important;
  box-shadow: 0 12px 30px rgba(65,84,241,0.4) !important;
}

/* ============================================================
   INTERNSHIP PAGE — Timeline cards
   ============================================================ */
.timeline-item,
.step-item,
.process-step {
  border-left: 3px solid rgba(65,84,241,0.3) !important;
  padding-left: 20px;
  position: relative;
}

/* ============================================================
   FLOATING METRIC CARDS — Entrance animation
   ============================================================ */
.floating-metric-card {
  animation-play-state: running;
}

.floating-metric-card.featured {
  animation: modernFloatGentle 6s ease-in-out infinite;
}

.floating-metric-card.reverse {
  animation: modernFloatReverse 7s ease-in-out infinite;
}

.floating-metric-card.drift {
  animation: modernFloatDrift 9s ease-in-out infinite;
}

/* Ensure hero orbs float above hero particles */
.hero-health-orb {
  z-index: 3 !important;
}

/* ============================================================
   SECTION BACKGROUND ALTERNATION
   ============================================================ */
section:nth-of-type(even):not(.testimonials):not(.counts):not(.background2) {
  background: rgba(248, 250, 255, 0.5);
}

/* ============================================================
   MOBILE NAVIGATION ELEVATION & CONTAINING-BLOCK FIX
   ============================================================ */

/* Disable backdrop-filter on header when mobile menu is active to avoid trapping position:fixed */
.header:has(.navbar-mobile),
.header.header-mobile-active,
body.mobile-nav-active .header {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.mobile-nav-active {
  overflow: hidden !important;
}

.mobile-nav-toggle {
  color: #012970 !important;
  font-size: 28px !important;
  cursor: pointer !important;
  line-height: 0 !important;
  transition: all 0.3s ease !important;
  z-index: 9999 !important;
}

.mobile-nav-toggle.bi-x {
  color: #ffffff !important;
}

.navbar-mobile {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  background: rgba(7, 19, 41, 0.85) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  z-index: 99999 !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
}

.navbar-mobile .mobile-nav-toggle {
  position: absolute !important;
  top: 18px !important;
  right: 18px !important;
  z-index: 100000 !important;
  width: 44px !important;
  height: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.16) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #ffffff !important;
  font-size: 26px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
}

.navbar-mobile .mobile-nav-toggle:hover {
  background: rgba(255, 255, 255, 0.28) !important;
  transform: scale(1.08) !important;
}

.navbar-mobile ul {
  display: block !important;
  position: absolute !important;
  top: 72px !important;
  left: 16px !important;
  right: 16px !important;
  bottom: 24px !important;
  max-width: 480px !important;
  margin: 0 auto !important;
  padding: 16px 10px !important;
  border-radius: 24px !important;
  background-color: #ffffff !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.3) !important;
  list-style: none !important;
  animation: mobileNavPop 0.3s cubic-bezier(0.16, 1, 0.3, 1) both !important;
}

@keyframes mobileNavPop {
  0%   { opacity: 0; transform: translateY(-16px) scale(0.97); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}

.navbar-mobile a,
.navbar-mobile a:focus {
  padding: 12px 18px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #012970 !important;
  border-radius: 12px !important;
  margin: 3px 4px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
}

.navbar-mobile a:hover,
.navbar-mobile .active,
.navbar-mobile li:hover > a {
  color: #4154f1 !important;
  background-color: rgba(65, 84, 241, 0.08) !important;
}

.navbar-mobile > ul > li > a.active::after,
.navbar-mobile a.active::after,
.navbar-mobile a::after {
  display: none !important;
  content: none !important;
}

.navbar-mobile .dropdown ul {
  position: static !important;
  display: none !important;
  margin: 4px 6px 8px 16px !important;
  padding: 6px 0 !important;
  z-index: 99 !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: #f8faff !important;
  border-left: 3px solid #4154f1 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

.navbar-mobile .dropdown ul li {
  min-width: auto !important;
}

.navbar-mobile .dropdown ul a {
  padding: 9px 14px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #334155 !important;
  border-radius: 8px !important;
  margin: 2px 4px !important;
}

.navbar-mobile .dropdown ul a:hover,
.navbar-mobile .dropdown ul a.active {
  color: #4154f1 !important;
  background-color: rgba(65, 84, 241, 0.12) !important;
}

.navbar-mobile .dropdown > a i {
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.navbar-mobile .dropdown > a.dropdown-active i,
.navbar-mobile .dropdown:has(ul.dropdown-active) > a i {
  transform: rotate(180deg) !important;
  color: #4154f1 !important;
}

.navbar-mobile .dropdown > .dropdown-active {
  display: block !important;
  animation: mobileDropdownSlide 0.25s ease forwards !important;
}

/* ============================================================
   ABOUT PAGE — HIGH CONTRAST TYPOGRAPHY ELEVATION
   ============================================================ */
.about-hero {
  background: linear-gradient(135deg, #071329 0%, #0d1e56 50%, #050d26 100%) !important;
}

.about-hero h1,
.about-hero-title,
.about-hero .shiny-text {
  font-family: var(--font-heading, 'Plus Jakarta Sans', sans-serif) !important;
  font-size: clamp(2.4rem, 4.5vw, 3.6rem) !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  letter-spacing: -0.025em !important;
  margin-bottom: 18px !important;
  line-height: 1.2 !important;
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.45) !important;
  background: none !important;
  -webkit-background-clip: unset !important;
  -webkit-text-fill-color: #ffffff !important;
  animation: none !important;
  display: block !important;
}

.about-hero p {
  font-size: 18px !important;
  color: #f1f5f9 !important;
  font-weight: 450 !important;
  max-width: 680px !important;
  margin: 0 auto !important;
  line-height: 1.8 !important;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.4) !important;
}

.about-hero .badge-tag {
  display: inline-flex !important;
  align-items: center !important;
  background: rgba(255, 255, 255, 0.12) !important;
  color: #93c5fd !important;
  border: 1px solid rgba(147, 197, 253, 0.35) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  padding: 8px 22px !important;
  border-radius: 50px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  margin-bottom: 22px !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15) !important;
}

.about-hero .breadcrumb-nav {
  margin-top: 25px !important;
  color: rgba(255, 255, 255, 0.75) !important;
  font-size: 14.5px !important;
}

.about-hero .breadcrumb-nav a {
  color: #cbd5e1 !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}

.about-hero .breadcrumb-nav a:hover {
  color: #60a5fa !important;
}

.about-hero .breadcrumb-nav span {
  color: #38bdf8 !important;
  font-weight: 700 !important;
}

/* Headings across all about page sections */
.about-section .section-title,
.timeline-section .section-title,
.about-commitment-section .section-title,
section:has(p[style*="justify"]) h2 {
  font-family: var(--font-heading, 'Plus Jakarta Sans', sans-serif) !important;
  font-size: clamp(1.9rem, 3.2vw, 2.5rem) !important;
  font-weight: 800 !important;
  color: #071329 !important;
  margin-bottom: 16px !important;
  line-height: 1.25 !important;
  letter-spacing: -0.025em !important;
  background: none !important;
  -webkit-background-clip: unset !important;
  -webkit-text-fill-color: #071329 !important;
  animation: none !important;
}

.about-section .section-subtitle,
.timeline-section .section-subtitle {
  font-size: 16.5px !important;
  color: #475569 !important;
  max-width: 640px !important;
  line-height: 1.7 !important;
  font-weight: 450 !important;
}

/* Paragraphs & Reading Text */
.story-content p,
.about-section p,
.timeline-item p,
.mvv-card p,
.why-card p,
section div:has(> p) p,
section p[style*="justify"] {
  color: #334155 !important;
  font-size: 15.5px !important;
  line-height: 1.85 !important;
  text-align: left !important;
  font-weight: 400 !important;
  font-family: var(--font-body, 'Plus Jakarta Sans', sans-serif) !important;
}

.story-content h3,
.mvv-card h3,
.timeline-item h4,
.why-card h4 {
  font-family: var(--font-heading, 'Plus Jakarta Sans', sans-serif) !important;
  color: #071329 !important;
  font-weight: 800 !important;
  letter-spacing: -0.015em !important;
}

.story-content .highlight-text {
  background: linear-gradient(135deg, rgba(65, 84, 241, 0.06), rgba(33, 166, 222, 0.06)) !important;
  border-left: 4px solid #3b82f6 !important;
  padding: 22px 26px !important;
  border-radius: 0 14px 14px 0 !important;
  font-size: 16.5px !important;
  font-weight: 600 !important;
  font-style: italic !important;
  color: #0f172a !important;
  line-height: 1.75 !important;
  margin: 24px 0 !important;
  box-shadow: 0 4px 16px rgba(1, 41, 112, 0.04) !important;
}

/* Stats Section Contrast */
.stats-section {
  background: linear-gradient(135deg, #071329 0%, #0d1e56 50%, #061138 100%) !important;
}

.stat-box .stat-number {
  font-family: var(--font-heading, 'Plus Jakarta Sans', sans-serif) !important;
  font-size: clamp(2.4rem, 4vw, 3.4rem) !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  line-height: 1 !important;
}

.stat-box .stat-number span {
  color: #38bdf8 !important;
}

.stat-box .stat-label {
  font-size: 15px !important;
  color: #e2e8f0 !important;
  margin-top: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.2px !important;
}

/* CTA Section Contrast */
.cta-section h2 {
  font-family: var(--font-heading, 'Plus Jakarta Sans', sans-serif) !important;
  font-size: clamp(2rem, 3.5vw, 2.7rem) !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  margin-bottom: 16px !important;
  letter-spacing: -0.02em !important;
}

.cta-section p {
  font-size: 17px !important;
  color: #f1f5f9 !important;
  max-width: 580px !important;
  margin: 0 auto 30px auto !important;
  line-height: 1.7 !important;
  font-weight: 450 !important;
}

/* ============================================================
   TAX-PLAN PAGE — PREVENT FAQ & PERSONAL-CONTENT OVERLAPPING
   ============================================================ */
.personal-content,
.personal-content1 {
  position: relative !important;
  top: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 85% !important;
  max-width: 980px !important;
  box-sizing: border-box !important;
}

.personal-content {
  margin-top: 36px !important;
  margin-bottom: 24px !important;
}

.personal-content1 {
  margin-top: 0 !important;
  margin-bottom: 50px !important;
}

.faq-section2 {
  clear: both !important;
  position: relative !important;
  margin-top: 60px !important;
  padding-top: 50px !important;
}

.faq-section2 .title-faq {
  margin-bottom: 35px !important;
}
