/* =============================================================
   VMS Pro — Premium Public Website Stylesheet v3.0
   ============================================================= */

/* ── CSS Variables ─────────────────────────────────────────── */
:root {
  --primary:        #2563EB;
  --primary-dark:   #1d4ed8;
  --primary-light:  #eff6ff;
  --primary-glow:   rgba(37,99,235,0.18);
  --accent:         #6366f1;
  --accent-2:       #0ea5e9;
  --success:        #10b981;
  --dark:           #0a0f1e;
  --dark-2:         #0f172a;
  --surface:        #ffffff;
  --surface-2:      #f8faff;
  --border:         #e2e8f0;
  --text:           #1e293b;
  --text-muted:     #64748b;
  --text-light:     #94a3b8;
  --shadow-sm:      0 1px 3px rgba(0,0,0,0.08);
  --shadow-md:      0 4px 16px rgba(37,99,235,0.10);
  --shadow-lg:      0 20px 60px rgba(37,99,235,0.15);
  --shadow-xl:      0 40px 100px rgba(37,99,235,0.18);
  --radius-sm:      8px;
  --radius-md:      14px;
  --radius-lg:      20px;
  --radius-xl:      28px;
  --tr:             all 0.28s cubic-bezier(0.4,0,0.2,1);
}

/* ── Base ───────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Plus Jakarta Sans', 'DM Sans', 'Inter', sans-serif;
  color: var(--text);
  background: var(--surface);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
h1,h2,h3,h4,h5,h6 {
  font-family: 'Plus Jakarta Sans', 'Inter', sans-serif;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.02em;
}

/* ── Scroll Reveal ───────────────────────────────────────────── */
[data-aos] { opacity: 0; transform: translateY(28px); transition: opacity .65s ease, transform .65s ease; }
[data-aos].aos-animate { opacity: 1; transform: none; }
[data-aos="fade-left"] { transform: translateX(28px); }
[data-aos="fade-left"].aos-animate { transform: none; }
[data-aos="fade-right"] { transform: translateX(-28px); }
[data-aos="fade-right"].aos-animate { transform: none; }
[data-aos="zoom-in"] { transform: scale(0.92); }
[data-aos="zoom-in"].aos-animate { transform: none; }

/* ── Utility ─────────────────────────────────────────────────── */
.text-gradient {
  background: linear-gradient(135deg, var(--primary), var(--accent));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.bg-primary-soft { background: var(--primary-light) !important; }
.x-small { font-size: .72rem; }

/* ── Navbar ──────────────────────────────────────────────────── */
.pub-nav {
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border-bottom: 1px solid rgba(226,232,240,.6);
  padding: .65rem 0;
  transition: var(--tr);
}
.pub-nav.scrolled { box-shadow: 0 4px 20px rgba(0,0,0,.08); }
.pub-nav .navbar-brand {
  font-size: 1.25rem; font-weight: 800; color: var(--dark) !important;
  letter-spacing: -.03em; display: flex; align-items: center;
}
.pub-nav .nav-link {
  font-size: .875rem; font-weight: 500; color: var(--text-muted) !important;
  border-radius: var(--radius-sm);
  padding: .42rem .85rem !important;
  transition: var(--tr);
}
.pub-nav .nav-link:hover, .pub-nav .nav-link.active {
  color: var(--primary) !important; background: var(--primary-light);
}

/* ── Buttons ─────────────────────────────────────────────────── */
.btn { font-weight: 600; letter-spacing: -.01em; border-radius: var(--radius-sm); transition: var(--tr); }
.btn-primary { background: var(--primary); border-color: var(--primary); box-shadow: 0 2px 8px var(--primary-glow); }
.btn-primary:hover { background: var(--primary-dark); border-color: var(--primary-dark); box-shadow: 0 6px 20px var(--primary-glow); transform: translateY(-1px); }
.btn-outline-primary { color: var(--primary); border-color: var(--primary); }
.btn-outline-primary:hover { background: var(--primary); border-color: var(--primary); box-shadow: 0 4px 12px var(--primary-glow); transform: translateY(-1px); }
.btn-lg { padding: .8rem 2rem; font-size: 1rem; border-radius: var(--radius-md); }

/* ── Hero ────────────────────────────────────────────────────── */
.hero-section {
  position: relative;
  padding: 7rem 0 5rem;
  overflow: hidden;
  background: radial-gradient(ellipse 100% 80% at 60% -20%, rgba(37,99,235,.07) 0%, transparent 60%),
              radial-gradient(ellipse 60% 60% at 0% 100%, rgba(99,102,241,.05) 0%, transparent 60%), #fff;
}
.hero-section::before {
  content: '';
  position: absolute; top: -300px; right: -300px;
  width: 800px; height: 800px;
  background: radial-gradient(circle, rgba(37,99,235,.06) 0%, transparent 65%);
  border-radius: 50%; pointer-events: none;
}
.hero-badge {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 16px;
  background: linear-gradient(135deg,#eff6ff,#e0e7ff);
  border: 1px solid rgba(37,99,235,.18); border-radius: 100px;
  font-size: .82rem; font-weight: 700; color: var(--primary);
  margin-bottom: 1.5rem;
  animation: badge-pulse 3s infinite;
}
@keyframes badge-pulse {
  0%,100% { box-shadow: 0 0 0 0 var(--primary-glow); }
  50%      { box-shadow: 0 0 0 6px transparent; }
}
.hero-title {
  font-size: clamp(2.4rem,5vw,3.8rem);
  font-weight: 800; letter-spacing: -.04em; line-height: 1.1; margin-bottom: 1.5rem;
}
.hero-subtitle {
  font-size: 1.05rem; color: var(--text-muted); line-height: 1.7;
  margin-bottom: 2.2rem; max-width: 480px;
}
.hero-trust { display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; margin-top: 1rem; }
.hero-trust-item { display: flex; align-items: center; gap: 6px; font-size: .82rem; color: var(--text-muted); font-weight: 500; }

/* ── Hero Mockup ─────────────────────────────────────────────── */
.hero-mockup-inner {
  background: linear-gradient(145deg,#fff 0%,#f8faff 100%);
  border: 1.5px solid var(--border); border-radius: var(--radius-xl);
  padding: 1.5rem; box-shadow: var(--shadow-xl);
  animation: float 6s ease-in-out infinite;
}
@keyframes float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }
.mockup-bar { display: flex; gap: 6px; margin-bottom: 1.25rem; }
.mockup-dot { width: 10px; height: 10px; border-radius: 50%; }
.mockup-dot:nth-child(1) { background: #ff5f57; }
.mockup-dot:nth-child(2) { background: #febc2e; }
.mockup-dot:nth-child(3) { background: #28c840; }
.stat-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-bottom: 1.25rem; }
.stat-tile {
  background: var(--surface-2); border: 1px solid var(--border);
  border-radius: var(--radius-md); padding: 14px 12px; text-align: center; transition: var(--tr);
}
.stat-tile:hover { transform: translateY(-2px); box-shadow: var(--shadow-sm); }
.stat-tile .val { font-size: 1.9rem; font-weight: 800; letter-spacing: -.04em; line-height: 1; margin-bottom: 4px; }
.stat-tile .lbl { font-size: .7rem; color: var(--text-muted); font-weight: 500; }
.activity-item {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 12px; background: var(--surface-2);
  border-radius: var(--radius-sm); margin-bottom: 8px; font-size: .82rem;
}
.activity-item:last-child { margin-bottom: 0; }
.activity-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.activity-name { font-weight: 600; flex: 1; }
.activity-time { color: var(--text-light); font-size: .72rem; }
.activity-status { padding: 2px 8px; border-radius: 100px; font-size: .68rem; font-weight: 600; }

/* ── Logo Strip ──────────────────────────────────────────────── */
.logo-strip { padding: 2rem 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); background: var(--surface-2); overflow: hidden; }
.logo-track { display: flex; gap: 3.5rem; animation: scroll-logos 32s linear infinite; width: max-content; }
.logo-track:hover { animation-play-state: paused; }
@keyframes scroll-logos { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.logo-item { font-size: .95rem; font-weight: 800; color: #c4d0e4; letter-spacing: .05em; text-transform: uppercase; white-space: nowrap; user-select: none; }

/* ── Section Labels ──────────────────────────────────────────── */
.section-label {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 5px 14px; background: var(--primary-light);
  border-radius: 100px; font-size: .78rem; font-weight: 700; color: var(--primary);
  text-transform: uppercase; letter-spacing: .06em; margin-bottom: 1rem;
}
.section-title { font-size: clamp(1.8rem,3vw,2.6rem); font-weight: 800; letter-spacing: -.03em; margin-bottom: 1rem; }
.section-sub { font-size: 1rem; color: var(--text-muted); max-width: 560px; margin: 0 auto; line-height: 1.7; }

/* ── Feature Cards ───────────────────────────────────────────── */
.feature-card {
  position: relative; background: var(--surface); border: 1.5px solid var(--border);
  border-radius: var(--radius-lg); padding: 2rem; height: 100%; transition: var(--tr); overflow: hidden;
}
.feature-card::before {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(135deg,var(--primary-light),transparent 60%);
  opacity: 0; transition: var(--tr); border-radius: inherit;
}
.feature-card:hover { border-color: rgba(37,99,235,.35); box-shadow: var(--shadow-lg); transform: translateY(-6px); }
.feature-card:hover::before { opacity: 1; }
.feature-icon-wrap {
  width: 52px; height: 52px; border-radius: var(--radius-md);
  display: flex; align-items: center; justify-content: center; margin-bottom: 1.25rem; position: relative; z-index: 1;
}
.fi-blue  { background: linear-gradient(135deg,#eff6ff,#dbeafe); }
.fi-green { background: linear-gradient(135deg,#f0fdf4,#dcfce7); }
.fi-red   { background: linear-gradient(135deg,#fef2f2,#fee2e2); }
.fi-amber { background: linear-gradient(135deg,#fffbeb,#fef3c7); }
.fi-cyan  { background: linear-gradient(135deg,#ecfeff,#cffafe); }
.fi-violet{ background: linear-gradient(135deg,#f5f3ff,#ede9fe); }
.feature-title { font-size: 1rem; font-weight: 700; margin-bottom: .5rem; position: relative; z-index: 1; }
.feature-desc  { font-size: .875rem; color: var(--text-muted); line-height: 1.6; position: relative; z-index: 1; }

/* ── Stats ───────────────────────────────────────────────────── */
.stats-section {
  position: relative; padding: 5rem 0;
  background: linear-gradient(135deg,var(--dark-2),#1e3a8a 60%,var(--dark)); overflow: hidden;
}
.stats-section::before {
  content: ''; position: absolute; top: -50%; left: -20%;
  width: 600px; height: 600px;
  background: radial-gradient(circle,rgba(99,102,241,.15) 0%,transparent 70%); border-radius: 50%;
}
.stat-card { position: relative; z-index: 1; text-align: center; padding: 2rem 1rem; }
.stat-number { font-size: 3.5rem; font-weight: 800; letter-spacing: -.04em; color: #fff; line-height: 1; margin-bottom: .5rem; }
.stat-number span { color: var(--accent-2); }
.stat-label { font-size: .875rem; color: rgba(255,255,255,.6); font-weight: 500; }

/* ── How It Works ────────────────────────────────────────────── */
.how-section { padding: 5rem 0; background: var(--surface-2); }
.step-card {
  display: flex; gap: 1.5rem; align-items: flex-start;
  padding: 2rem; background: var(--surface); border-radius: var(--radius-lg);
  border: 1.5px solid var(--border); transition: var(--tr);
}
.step-card:hover { border-color: rgba(37,99,235,.3); box-shadow: var(--shadow-md); transform: translateX(6px); }
.step-num {
  width: 50px; height: 50px; border-radius: var(--radius-md);
  background: linear-gradient(135deg,var(--primary),var(--accent));
  color: #fff; font-weight: 800; font-size: 1.1rem;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
  box-shadow: 0 4px 12px var(--primary-glow);
}

/* ── Testimonials ────────────────────────────────────────────── */
.testimonials-section { padding: 5rem 0; }
.testimonial-card {
  background: var(--surface); border: 1.5px solid var(--border);
  border-radius: var(--radius-lg); padding: 2rem; height: 100%; transition: var(--tr); position: relative;
}
.testimonial-card::before {
  content: '\201C'; font-size: 6rem; line-height: 1; color: var(--primary-light);
  font-family: Georgia, serif; position: absolute; top: .5rem; left: 1.5rem; pointer-events: none;
}
.testimonial-card:hover { border-color: rgba(37,99,235,.3); box-shadow: var(--shadow-md); transform: translateY(-4px); }
.testimonial-text { font-size: .95rem; color: var(--text-muted); line-height: 1.7; margin-bottom: 1.5rem; position: relative; z-index: 1; }
.t-author { display: flex; align-items: center; gap: 12px; }
.avatar-circle {
  width: 44px; height: 44px; border-radius: 50%;
  background: linear-gradient(135deg,var(--primary),var(--accent));
  color: #fff; font-weight: 700; font-size: 1rem;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.author-name { font-weight: 700; font-size: .9rem; }
.author-role { font-size: .75rem; color: var(--text-light); }
.star-row { color: #f59e0b; font-size: .85rem; margin-bottom: 1rem; }

/* ── Pricing ─────────────────────────────────────────────────── */
.pricing-section { padding: 5rem 0; }
.billing-toggle-wrap {
  display: flex; align-items: center; justify-content: center; gap: 1rem; margin-bottom: 3rem;
}
.billing-label { font-weight: 600; font-size: .9rem; color: var(--text-muted); transition: var(--tr); }
.billing-label.active { color: var(--text); }
.billing-save {
  font-size: .7rem; font-weight: 700;
  background: linear-gradient(135deg,#10b981,#059669);
  color: #fff; padding: 2px 8px; border-radius: 100px; margin-left: 4px;
}
.form-switch .form-check-input { width: 48px; height: 26px; cursor: pointer; }

.plan-card {
  position: relative; background: var(--surface);
  border: 2px solid var(--border); border-radius: var(--radius-xl);
  padding: 2.5rem; height: 100%; transition: var(--tr);
}
.plan-card:hover { box-shadow: var(--shadow-lg); transform: translateY(-8px); }
.plan-card.popular {
  border-color: var(--primary);
  box-shadow: 0 0 0 4px rgba(37,99,235,.08), var(--shadow-lg);
  background: linear-gradient(180deg,#f8faff 0%,#fff 40%);
}
.plan-card.popular:hover { transform: translateY(-12px); }
.popular-badge {
  position: absolute; top: -14px; left: 50%; transform: translateX(-50%);
  background: linear-gradient(135deg,var(--primary),var(--accent));
  color: #fff; font-size: .75rem; font-weight: 700;
  padding: 4px 18px; border-radius: 100px; white-space: nowrap;
  box-shadow: 0 4px 12px var(--primary-glow); letter-spacing: .02em;
}
.plan-name { font-size: 1.1rem; font-weight: 800; margin-bottom: 4px; }
.plan-tagline { font-size: .8rem; color: var(--text-light); margin-bottom: 1.5rem; }
.plan-price {
  font-size: 2.8rem; font-weight: 800; letter-spacing: -.05em;
  color: var(--text); line-height: 1; transition: var(--tr);
}
.plan-currency { font-size: 1.4rem; vertical-align: super; font-weight: 700; margin-right: 2px; }
.plan-period { font-size: .82rem; color: var(--text-muted); font-weight: 500; margin-top: 4px; }
.plan-divider { height: 1px; background: var(--border); margin: 1.5rem 0; }
.plan-features { list-style: none; margin: 0; padding: 0; }
.plan-features li {
  display: flex; align-items: center; gap: 10px;
  padding: 7px 0; font-size: .875rem; color: var(--text-muted);
  border-bottom: 1px solid #f8faff;
}
.plan-features li:last-child { border-bottom: none; }
.chk-icon {
  width: 18px; height: 18px; border-radius: 50%;
  background: linear-gradient(135deg,#10b981,#059669);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.chk-icon i { font-size: .6rem; color: #fff; }

/* ── CTA ─────────────────────────────────────────────────────── */
.cta-section {
  position: relative; padding: 5rem 0;
  background: linear-gradient(135deg,var(--dark-2) 0%,#1e3a8a 50%,#312e81 100%); overflow: hidden;
}
.cta-section::before {
  content: ''; position: absolute; top: -100px; right: -100px;
  width: 500px; height: 500px;
  background: radial-gradient(circle,rgba(99,102,241,.2) 0%,transparent 70%); border-radius: 50%;
}
.cta-section * { position: relative; z-index: 1; }

/* ── About ───────────────────────────────────────────────────── */
.page-hero {
  padding: 5rem 0 4rem;
  background: radial-gradient(ellipse 80% 60% at 50% -20%,rgba(37,99,235,.07) 0%,transparent 60%),#fff;
  border-bottom: 1px solid var(--border);
}
.value-card {
  background: var(--surface); border: 1.5px solid var(--border);
  border-radius: var(--radius-lg); padding: 1.75rem; text-align: center;
  height: 100%; transition: var(--tr);
}
.value-card:hover { border-color: rgba(37,99,235,.3); box-shadow: var(--shadow-md); transform: translateY(-4px); }
.value-card .icon-wrap {
  width: 60px; height: 60px; border-radius: var(--radius-md);
  background: var(--primary-light); display: flex; align-items: center; justify-content: center;
  margin: 0 auto 1rem; font-size: 1.5rem;
}
.team-card {
  background: var(--surface); border: 1.5px solid var(--border);
  border-radius: var(--radius-xl); padding: 2.5rem 2rem; text-align: center; transition: var(--tr);
}
.team-card:hover { border-color: rgba(37,99,235,.3); box-shadow: var(--shadow-md); transform: translateY(-4px); }
.team-avatar {
  width: 80px; height: 80px; border-radius: 50%;
  background: linear-gradient(135deg,var(--primary),var(--accent));
  color: #fff; font-size: 2rem; font-weight: 800;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 1rem; box-shadow: 0 8px 24px var(--primary-glow);
}

/* ── Contact ─────────────────────────────────────────────────── */
.contact-card {
  background: var(--surface); border: 1.5px solid var(--border);
  border-radius: var(--radius-xl); padding: 2.5rem; box-shadow: var(--shadow-md);
}
.contact-info-item {
  display: flex; align-items: center; gap: 16px;
  padding: 1.1rem 1.25rem; background: var(--surface-2);
  border: 1px solid var(--border); border-radius: var(--radius-md);
  margin-bottom: 1rem; transition: var(--tr);
}
.contact-info-item:hover { border-color: rgba(37,99,235,.3); background: var(--primary-light); }
.cii-icon {
  width: 44px; height: 44px; border-radius: var(--radius-sm);
  display: flex; align-items: center; justify-content: center; font-size: 1.2rem; flex-shrink: 0;
}

/* ── Forms ───────────────────────────────────────────────────── */
.form-control, .form-select {
  border-color: var(--border); border-radius: var(--radius-sm);
  padding: .65rem 1rem; font-size: .9rem; transition: var(--tr);
}
.form-control:focus, .form-select:focus {
  border-color: var(--primary); box-shadow: 0 0 0 3px rgba(37,99,235,.1);
}
.form-label { font-weight: 600; font-size: .875rem; margin-bottom: 6px; }

/* ── Enterprise CTA ──────────────────────────────────────────── */
.enterprise-cta {
  background: linear-gradient(135deg,var(--dark-2),#1e3a8a);
  border-radius: var(--radius-xl); padding: 3rem 2rem;
  text-align: center; position: relative; overflow: hidden;
}
.enterprise-cta::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse 80% 80% at 50% 50%,rgba(99,102,241,.2) 0%,transparent 70%);
}
.enterprise-cta * { position: relative; z-index: 1; }

/* ── Accordion / FAQ ─────────────────────────────────────────── */
.accordion-item { border: 1.5px solid var(--border) !important; border-radius: var(--radius-md) !important; overflow: hidden; margin-bottom: .75rem; }
.accordion-button { font-weight: 600; font-size: .9rem; background: var(--surface-2); color: var(--text); border-radius: 0 !important; }
.accordion-button:not(.collapsed) { background: var(--primary-light); color: var(--primary); box-shadow: none; }
.accordion-button:focus { box-shadow: none; }
.accordion-body { font-size: .875rem; color: var(--text-muted); line-height: 1.7; }

/* ── Footer ──────────────────────────────────────────────────── */
.pub-footer { background: var(--dark); }
.footer-brand { font-size: 1.25rem; font-weight: 800; color: #fff; display: flex; align-items: center; gap: 8px; margin-bottom: 1rem; letter-spacing: -.03em; }
.footer-desc { font-size: .875rem; color: rgba(255,255,255,.45); line-height: 1.7; }
.footer-heading { font-size: .78rem; font-weight: 700; color: rgba(255,255,255,.5); text-transform: uppercase; letter-spacing: .08em; margin-bottom: 1rem; }
.footer-link { display: block; font-size: .875rem; color: rgba(255,255,255,.5); text-decoration: none; padding: 3px 0; transition: var(--tr); }
.footer-link:hover { color: #fff; padding-left: 4px; }
.footer-divider { border-color: rgba(255,255,255,.1); margin: 2rem 0 1.5rem; }
.footer-bottom { font-size: .8rem; color: rgba(255,255,255,.35); text-align: center; }
.footer-bottom a { color: rgba(255,255,255,.5); text-decoration: none; }

/* ── Payment Modal ───────────────────────────────────────────── */
.payment-modal .modal-content { border: none; border-radius: var(--radius-xl); overflow: hidden; }
.payment-modal .modal-header { background: linear-gradient(135deg,var(--primary),var(--accent)); color: #fff; border: none; padding: 1.5rem 2rem; }
.payment-modal .modal-body { padding: 2rem; }
.payment-modal .btn-close { filter: invert(1); }
.payment-plan-summary { background: var(--surface-2); border: 1.5px solid var(--border); border-radius: var(--radius-md); padding: 1.25rem; margin-bottom: 1.5rem; }
.payment-amount { font-size: 2.5rem; font-weight: 800; letter-spacing: -.04em; color: var(--primary); }

/* ── Success ─────────────────────────────────────────────────── */
.success-wrap { min-height: 70vh; display: flex; align-items: center; justify-content: center; }
.success-card { background: #fff; border: 2px solid var(--border); border-radius: var(--radius-xl); padding: 3rem 2.5rem; text-align: center; max-width: 480px; box-shadow: var(--shadow-lg); }
.success-icon {
  width: 80px; height: 80px; border-radius: 50%;
  background: linear-gradient(135deg,#10b981,#059669); color: #fff; font-size: 2.2rem;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 1.5rem; box-shadow: 0 8px 24px rgba(16,185,129,.3);
  animation: pop-in .5s cubic-bezier(.34,1.56,.64,1);
}
@keyframes pop-in { from { transform: scale(0); opacity: 0; } to { transform: scale(1); opacity: 1; } }

/* ── Live dot ────────────────────────────────────────────────── */
.live-dot {
  width: 8px; height: 8px; border-radius: 50%; background: #10b981;
  display: inline-block; margin-right: 6px;
  box-shadow: 0 0 0 2px rgba(16,185,129,.3);
  animation: live-pulse 2s ease-in-out infinite;
}
@keyframes live-pulse {
  0%,100% { box-shadow: 0 0 0 2px rgba(16,185,129,.3); }
  50%      { box-shadow: 0 0 0 6px rgba(16,185,129,0); }
}

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width: 991px) { .hero-section { padding: 4rem 0 3rem; } .hero-title { font-size: 2.2rem; } }
@media (max-width: 767px)  { .hero-title { font-size: 1.9rem; } .section-title { font-size: 1.6rem; } .stat-number { font-size: 2.5rem; } .plan-card { padding: 2rem 1.5rem; } }