﻿/* FIX 4: Hero completely visible */

/* FIX 1: All sections always visible */
.reveal, .reveal-stagger { opacity: 1 !important; transform: none !important; }
.reveal-stagger > * { opacity: 1 !important; transform: none !important; }

/* Smooth animations on all transitions */
* { transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

/* FIX 1: Smooth hover transitions */

/* Pulse gold animation for CTA buttons */
@keyframes pulse-gold {
  0%   { box-shadow: 0 0 0 0 rgba(200,149,42,0.5); }
  70%  { box-shadow: 0 0 0 14px rgba(200,149,42,0); }
  100% { box-shadow: 0 0 0 0 rgba(200,149,42,0); }
}

/* float-wa defined below */

/* Stagger card animations */
.cat-grid .cat-card:nth-child(1),
.test-grid .test-card:nth-child(1),
.how-grid .how-card:nth-child(1) { transition-delay: 0.1s; }
.cat-grid .cat-card:nth-child(2),
.test-grid .test-card:nth-child(2),
.how-grid .how-card:nth-child(2) { transition-delay: 0.2s; }
.cat-grid .cat-card:nth-child(3),
.test-grid .test-card:nth-child(3),
.how-grid .how-card:nth-child(3) { transition-delay: 0.3s; }
.cat-grid .cat-card:nth-child(4) { transition-delay: 0.4s; }
.cat-grid .cat-card:nth-child(5) { transition-delay: 0.5s; }
.cat-grid .cat-card:nth-child(6) { transition-delay: 0.6s; }

/* sectionIn defined below */

/* â”€â”€ Page Loader â”€â”€ */
#pageLoader{position:fixed;inset:0;background:#0D3D25;z-index:99999;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .6s ease, visibility .6s ease}
#pageLoader.hidden{opacity:0;visibility:hidden;pointer-events:none}
.loader-lotus{font-size:56px;animation:loaderPulse 1.2s ease-in-out infinite}
.loader-brand{font-family:'Cormorant Garamond',serif;color:#E5B842;font-size:22px;letter-spacing:6px;text-transform:uppercase;margin-top:16px;opacity:.85}
.loader-bar{width:160px;height:2px;background:rgba(255,255,255,.15);border-radius:2px;margin-top:20px;overflow:hidden}
.loader-bar-fill{height:100%;width:0%;background:#E5B842;border-radius:2px;animation:loaderFill 1.8s ease forwards}
@keyframes loaderPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
@keyframes loaderFill{0%{width:0%}100%{width:100%}}

/* â”€â”€ Scroll Progress Bar â”€â”€ */
#scrollProgress{position:fixed;top:0;left:0;height:3px;width:0%;background:linear-gradient(90deg,#1B5E3B,#C8952A);z-index:9999;transition:width .1s linear;border-radius:0 2px 2px 0}

/* â”€â”€ Custom Cursor â”€â”€ */
#cursorDot{pointer-events:none;position:fixed;width:6px;height:6px;background:#1B5E3B;border-radius:50%;z-index:99998;top:0;left:0;transform:translate(0,0);transition:background .2s ease;will-change:transform;}
#cursorRing{pointer-events:none;position:fixed;width:36px;height:36px;border:1.5px solid rgba(27,94,59,.5);border-radius:50%;z-index:99997;top:0;left:0;transform:translate(0,0);transition:width .25s ease,height .25s ease,border-color .3s ease,opacity .3s ease;will-change:transform;}
body:hover #cursorDot{opacity:1}

/* â”€â”€ will-change performance â”€â”€ */
/* will-change via JS mouseenter only */

/* â”€â”€ Fix subtlePulse (more visible) â”€â”€ */
@keyframes subtlePulse{
  0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(200,149,42,.55)}
  50%{opacity:.9;box-shadow:0 0 0 14px rgba(200,149,42,0)}
}

/* â”€â”€ Stagger entrance for cards â”€â”€ */
.conditions-grid .flip-card:nth-child(1){animation-delay:.1s}
.conditions-grid .flip-card:nth-child(2){animation-delay:.2s}
.conditions-grid .flip-card:nth-child(3){animation-delay:.3s}
.conditions-grid .flip-card:nth-child(4){animation-delay:.4s}
.conditions-grid .flip-card:nth-child(5){animation-delay:.5s}
.conditions-grid .flip-card:nth-child(6){animation-delay:.6s}

/* â”€â”€ Trust / Certification bar â”€â”€ */
.trust-bar{background:var(--cream);border-top:1px solid rgba(27,94,59,.1);border-bottom:1px solid rgba(27,94,59,.1);padding:20px 0}
.trust-bar-inner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:32px}
.trust-item{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:var(--text-muted);letter-spacing:.5px;text-transform:uppercase}
.trust-item span.ti-icon{font-size:22px}

/* â”€â”€ WhatsApp proactive chat â”€â”€ */

#waChat.show{display:block}
to{opacity:1;transform:translateY(0)}}






.wc-btn:hover{background:#1da852}

/* â”€â”€ Comparison table â”€â”€ */
.compare-section{background:var(--cream);padding:100px 0}
.compare-table{width:100%;border-collapse:collapse;margin-top:48px;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-2)}
.compare-table th{padding:18px 20px;font-size:14px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}
.compare-table th:first-child{background:transparent;text-align:left;color:var(--text-muted);width:36%}
.compare-table th.col-us{background:var(--green-primary);color:#fff}
.compare-table th.col-physio{background:var(--surface);color:var(--text-muted)}
.compare-table th.col-gym{background:var(--surface);color:var(--text-muted)}
.compare-table td{padding:14px 20px;font-size:14px;border-bottom:1px solid rgba(0,0,0,.06)}
.compare-table tr:last-child td{border-bottom:none}
.compare-table td:first-child{font-weight:500;color:var(--text-body);background:var(--white)}
.compare-table td.col-us{background:rgba(27,94,59,.05);text-align:center;font-size:18px;font-weight:700;color:var(--green-primary)}
.compare-table td.col-physio,.compare-table td.col-gym{text-align:center;font-size:18px;background:var(--white);color:var(--text-light)}

.card-reveal{opacity:0;transform:translateY(30px);transition:opacity .55s ease,transform .55s ease}.card-reveal.visible{opacity:1;transform:translateY(0)}
.ti-star{color:#C8952A;font-size:14px;margin-right:2px}.trust-bar{background:#fff;border-top:1px solid rgba(27,94,59,.10);border-bottom:1px solid rgba(27,94,59,.10);padding:0;overflow:hidden;height:46px;display:flex;align-items:center}
.trust-ticker-wrap{overflow:hidden;width:100%;height:46px;display:flex;align-items:center}
.trust-ticker{display:flex;align-items:center;gap:0;white-space:nowrap;animation:tickerScroll 32s linear infinite;width:max-content}
.trust-ticker:hover{animation-play-state:paused}
.tc{display:inline-flex;align-items:center;gap:7px;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:600;color:#3D3D3D;letter-spacing:.6px;text-transform:uppercase;padding:0 24px;white-space:nowrap}
.tc-dot{color:#C8952A;font-size:13px;font-style:normal;line-height:1}
.tc-sep{color:#C8952A;font-size:10px;opacity:.5;padding:0 4px;flex-shrink:0}
.trust-bar-track{display:none}
@keyframes tickerScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ═══ PREMIUM CURSOR SYSTEM ═══ */
*, *::before, *::after { cursor: none !important; }
#cursorDot {
  pointer-events: none; position: fixed; z-index: 999999;
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--cursor-color, #1B5E3B);
  top: 0; left: 0;
  transition: background 0.3s ease;
  will-change: transform;
}
#cursorRing {
  pointer-events: none; position: fixed; z-index: 999998;
  width: var(--ring-size, 36px); height: var(--ring-size, 36px);
  border-radius: 50%;
  border: 1.5px solid var(--ring-color, rgba(27,94,59,0.45));
  top: 0; left: 0;
  transition: width 0.25s cubic-bezier(.34,1.56,.64,1),
              height 0.25s cubic-bezier(.34,1.56,.64,1),
              border-color 0.3s ease,
              opacity 0.3s ease;
  will-change: transform;
}
#cursorLabel {
  pointer-events: none; position: fixed; z-index: 999997;
  font-family: 'DM Sans', sans-serif; font-size: 10px; font-weight: 700;
  letter-spacing: 1.5px; text-transform: uppercase;
  color: #fff; background: var(--cursor-color, #1B5E3B);
  padding: 4px 9px; border-radius: 20px;
  transform: translate(-50%, 22px);
  opacity: 0; transition: opacity 0.2s ease;
  white-space: nowrap;
}
body.cursor-label-show #cursorLabel { opacity: 1; }
body.cursor-clicked #cursorDot { --cursor-scale: 0.5; }
body.cursor-clicked #cursorRing { opacity: 0.4; }
/* ── Sparkle Canvas ── */
#sparkleCanvas { position:fixed; inset:0; width:100vw; height:100vh; pointer-events:none; z-index:999996; }

/* ═══ WhatsApp Proactive Chat Widget ═══ */
#waPromo {
  position: fixed;
  bottom: 88px;
  right: 24px;
  z-index: 8998;
  width: 288px;
  background: #ffffff;
  border-radius: 18px 18px 4px 18px;
  box-shadow: 0 12px 48px rgba(0,0,0,.18), 0 2px 8px rgba(0,0,0,.08);
  padding: 20px;
  display: none;
  animation: waChatIn .4s cubic-bezier(.34,1.56,.64,1);
}
#waPromo.show { display: block; }
@keyframes waChatIn {
  from { opacity:0; transform: translateY(16px) scale(.95); }
  to   { opacity:1; transform: translateY(0)    scale(1);   }
}
.wap-close {
  position: absolute; top: 10px; right: 14px;
  background: none; border: none; cursor: pointer;
  font-size: 18px; color: #9B9B9B; line-height: 1; padding: 0;
  transition: color .2s;
}
.wap-close:hover { color: #1A1A1A; }
.wap-top {
  display: flex; align-items: center; gap: 12px; margin-bottom: 12px;
}
.wap-avatar {
  width: 42px; height: 42px; border-radius: 50%;
  background: linear-gradient(135deg, #1B5E3B, #2E7D52);
  display: flex; align-items: center; justify-content: center;
  font-family: 'DM Sans', sans-serif; font-size: 13px;
  font-weight: 700; color: #fff; flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(27,94,59,.3);
}
.wap-name {
  font-family: 'DM Sans', sans-serif; font-size: 14px;
  font-weight: 700; color: #1A1A1A; line-height: 1.2;
}
.wap-status {
  font-family: 'DM Sans', sans-serif; font-size: 12px;
  color: #25D366; font-weight: 500; margin-top: 2px;
}
.wap-msg {
  background: #f0faf5;
  border-radius: 4px 14px 14px 14px;
  padding: 11px 14px;
  font-family: 'DM Sans', sans-serif; font-size: 13px;
  color: #3D3D3D; line-height: 1.55;
  margin-bottom: 14px;
  border-left: 3px solid #1B5E3B;
}
.wap-cta {
  display: block; text-align: center;
  background: #25D366; color: #fff !important;
  font-family: 'DM Sans', sans-serif; font-size: 13px;
  font-weight: 700; padding: 12px 16px;
  border-radius: 10px; text-decoration: none;
  transition: background .2s, transform .15s;
  letter-spacing: .3px;
}
.wap-cta:hover { background: #1da852; transform: scale(1.02); }

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   WORLD-CLASS SCROLL ANIMATION SYSTEM
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* â”€â”€ Base hidden state for all animated elements â”€â”€ */
.anim-hidden { opacity: 0; }

/* â”€â”€ Word split reveal (headings) â”€â”€ */
.word-wrap { overflow: hidden; display: inline-block; vertical-align: bottom; }
.word-inner {
  display: inline-block;
  transform: translateY(110%);
  opacity: 0;
  transition: transform 0.75s cubic-bezier(.16,1,.3,1), opacity 0.5s ease;
}
.word-inner.revealed { transform: translateY(0); opacity: 1; }

/* â”€â”€ Slide from left â”€â”€ */
.slide-left {
  opacity: 0; transform: translateX(-55px);
  transition: opacity 0.7s ease, transform 0.7s cubic-bezier(.16,1,.3,1);
}
.slide-left.revealed { opacity: 1; transform: translateX(0); }

/* â”€â”€ Slide from right â”€â”€ */
.slide-right {
  opacity: 0; transform: translateX(55px);
  transition: opacity 0.7s ease, transform 0.7s cubic-bezier(.16,1,.3,1);
}
.slide-right.revealed { opacity: 1; transform: translateX(0); }

/* â”€â”€ Slide from bottom â”€â”€ */
.slide-up {
  opacity: 0; transform: translateY(48px);
  transition: opacity 0.65s ease, transform 0.65s cubic-bezier(.16,1,.3,1);
}
.slide-up.revealed { opacity: 1; transform: translateY(0); }

/* â”€â”€ Scale pop â”€â”€ */
.scale-in {
  opacity: 0; transform: scale(0.82);
  transition: opacity 0.6s ease, transform 0.6s cubic-bezier(.34,1.56,.64,1);
}
.scale-in.revealed { opacity: 1; transform: scale(1); }

/* â”€â”€ Bounce in (cards) â”€â”€ */
.bounce-in {
  opacity: 0; transform: translateY(44px) scale(0.95);
  transition: opacity 0.6s ease, transform 0.65s cubic-bezier(.34,1.56,.64,1);
}
.bounce-in.revealed { opacity: 1; transform: translateY(0) scale(1); }

/* â”€â”€ Clip reveal (images leftâ†’right) â”€â”€ */
.clip-reveal {
  clip-path: inset(0 100% 0 0);
  transition: clip-path 0.9s cubic-bezier(.77,0,.18,1);
}
.clip-reveal.revealed { clip-path: inset(0 0% 0 0); }

/* â”€â”€ Fade in â”€â”€ */
.fade-in {
  opacity: 0;
  transition: opacity 0.8s ease;
}
.fade-in.revealed { opacity: 1; }

/* â”€â”€ Counter number glow on reveal â”€â”€ */
.stat-number.glow {
  animation: numGlow 0.6s ease forwards;
}
@keyframes numGlow {
  0%,100% { filter: drop-shadow(0 0 4px rgba(229,184,66,0.2)); }
  50%      { filter: drop-shadow(0 0 14px rgba(229,184,66,0.8)); }
}
  50%  { text-shadow: 0 0 24px rgba(229,184,66,.8); }
  100% { text-shadow: 0 0 8px rgba(229,184,66,.3); }
}

/* â”€â”€ Timeline line draw â”€â”€ */
.tl-line-draw {
  transform-origin: top;
  transform: scaleY(0);
  transition: transform 1.2s cubic-bezier(.16,1,.3,1);
}
.tl-line-draw.revealed { transform: scaleY(1); }

/* â”€â”€ Eyebrow label pop â”€â”€ */
.eyebrow-anim {
  opacity: 0; transform: translateY(10px) scale(0.9);
  transition: opacity 0.5s ease, transform 0.5s cubic-bezier(.34,1.56,.64,1);
}
.eyebrow-anim.revealed { opacity: 1; transform: translateY(0) scale(1); }

/* â”€â”€ Magnetic button â”€â”€ */
.btn-magnetic { transition: transform 0.25s cubic-bezier(.34,1.56,.64,1); }

/* â”€â”€ Pain section: wrong vs right column contrast â”€â”€ */
.pain-wrong  { transition: opacity .6s ease, transform .6s cubic-bezier(.16,1,.3,1); opacity:0; transform: translateX(-40px) rotate(-1deg); }
.pain-right  { transition: opacity .6s ease 0.15s, transform .6s cubic-bezier(.16,1,.3,1) .15s; opacity:0; transform: translateX(40px) rotate(1deg); }
.pain-wrong.revealed, .pain-right.revealed { opacity:1; transform: translateX(0) rotate(0deg); }

/* â”€â”€ Stagger delays â”€â”€ */
.stagger-1 { transition-delay: 0.05s !important; }
.stagger-2 { transition-delay: 0.12s !important; }
.stagger-3 { transition-delay: 0.19s !important; }
.stagger-4 { transition-delay: 0.26s !important; }
.stagger-5 { transition-delay: 0.33s !important; }
.stagger-6 { transition-delay: 0.40s !important; }

/* â”€â”€ Floating orb in stats â”€â”€ */
@keyframes orbFloat { 0%,100%{transform:translateY(0) scale(1)} 50%{transform:translateY(-12px) scale(1.03)} }
.stat-orb { animation: orbFloat 4s ease-in-out infinite; }

/* â”€â”€ Section divider line animate â”€â”€ */
.divider-line {
  width: 0; height: 2px; background: linear-gradient(90deg,#1B5E3B,#C8952A);
  transition: width 0.9s cubic-bezier(.16,1,.3,1);
  display: block; margin: 12px auto 0;
}
.divider-line.revealed { width: 60px; }


/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   SCROLL ANIMATION SYSTEM v2
   (Uses exact class names from HTML)
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* Word split reveal */
.word-wrap { overflow:hidden; display:inline-block; vertical-align:bottom; line-height:1.15; }
.word-inner { display:inline-block; transform:translateY(108%); opacity:0; transition:transform .8s cubic-bezier(.16,1,.3,1), opacity .5s ease; }
.word-inner.vis { transform:translateY(0); opacity:1; }

/* Universal slide-up */
.au-up { opacity:0; transform:translateY(40px); transition:opacity .65s ease, transform .65s cubic-bezier(.16,1,.3,1); }
.au-up.vis { opacity:1; transform:translateY(0); }

/* Slide from left */
.au-left { opacity:0; transform:translateX(-50px); transition:opacity .65s ease, transform .65s cubic-bezier(.16,1,.3,1); }
.au-left.vis { opacity:1; transform:translateX(0); }

/* Slide from right */
.au-right { opacity:0; transform:translateX(50px); transition:opacity .65s ease, transform .65s cubic-bezier(.16,1,.3,1); }
.au-right.vis { opacity:1; transform:translateX(0); }

/* Bounce pop */
.au-pop { opacity:0; transform:scale(.88) translateY(28px); transition:opacity .6s ease, transform .65s cubic-bezier(.34,1.56,.64,1); }
.au-pop.vis { opacity:1; transform:scale(1) translateY(0); }

/* Clip-path image reveal */
.au-clip { clip-path:inset(0 100% 0 0); transition:clip-path .95s cubic-bezier(.77,0,.18,1); }
.au-clip.vis { clip-path:inset(0 0% 0 0); }

/* Fade in */
.au-fade { opacity:0; transition:opacity .8s ease; }
.au-fade.vis { opacity:1; }

/* Stagger delays */
.d1{transition-delay:.06s!important} .d2{transition-delay:.12s!important}
.d3{transition-delay:.18s!important} .d4{transition-delay:.24s!important}
.d5{transition-delay:.30s!important} .d6{transition-delay:.36s!important}
.d7{transition-delay:.42s!important} .d8{transition-delay:.48s!important}

/* Divider line draw */
.sec-line { display:block; width:0; height:2px; background:linear-gradient(90deg,#1B5E3B,#C8952A); margin:10px auto 0; border-radius:2px; transition:width .9s cubic-bezier(.16,1,.3,1) .2s; }
.sec-line.vis { width:56px; }

/* Stat number glow */
@keyframes numPop { 0%{transform:scale(1)} 40%{transform:scale(1.08)} 100%{transform:scale(1)} }
.stat-num-glow { animation:numPop .5s cubic-bezier(.34,1.56,.64,1); }

/* How step icon bounce */
@keyframes iconBounce { 0%{transform:scale(0) rotate(-15deg)} 60%{transform:scale(1.15) rotate(5deg)} 100%{transform:scale(1) rotate(0deg)} }
.icon-bounce { animation:iconBounce .6s cubic-bezier(.34,1.56,.64,1) forwards; }

/* Magnetic button */
.btn-mag { transition:transform .22s cubic-bezier(.34,1.56,.64,1)!important; }

/* Counter glow */
@keyframes goldGlow {
  0%   { filter: drop-shadow(0 0 0px rgba(229,184,66,0)); }
  50%  { filter: drop-shadow(0 0 18px rgba(229,184,66,0.9)); }
  100% { filter: drop-shadow(0 0 6px rgba(229,184,66,0.3)); }
} 50%{text-shadow:0 0 28px rgba(229,184,66,.9)} 100%{text-shadow:0 0 10px rgba(229,184,66,.3)} }
.count-glow { animation:goldGlow .7s ease forwards; }


/* ═══ RIGHT PROGRESS SIDEBAR ═══ */
#pageSidebar {
  position: fixed;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 8000;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 14px 8px;
  background: rgba(255,255,255,0.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-radius: 30px;
  box-shadow: 0 4px 24px rgba(0,0,0,.12);
  border: 1px solid rgba(27,94,59,.1);
  transition: opacity .3s ease;
}
#pageSidebar:hover { opacity: 1 !important; }
.sb-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: rgba(27,94,59,.2);
  cursor: pointer;
  position: relative;
  transition: background .3s ease, transform .3s cubic-bezier(.34,1.56,.64,1), width .3s ease, height .3s ease, border-radius .3s ease;
  flex-shrink: 0;
}
.sb-dot:hover, .sb-dot.active {
  background: #1B5E3B;
  transform: scale(1.3);
}
.sb-dot.active {
  background: #C8952A;
  width: 10px; height: 10px;
}
.sb-dot::after {
  content: attr(data-label);
  position: absolute;
  right: calc(100% + 12px);
  top: 50%; transform: translateY(-50%);
  background: #1B5E3B;
  color: #fff;
  font-family: 'DM Sans', sans-serif;
  font-size: 11px; font-weight: 600;
  letter-spacing: .5px;
  padding: 4px 10px; border-radius: 20px;
  white-space: nowrap;
  opacity: 0; pointer-events: none;
  transition: opacity .2s ease, transform .2s ease;
  transform: translateY(-50%) translateX(6px);
}
.sb-dot:hover::after {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}
.sb-line {
  width: 1px; height: 16px;
  background: rgba(27,94,59,.15);
  flex-shrink: 0;
}


/* ═══ TARGETED PREMIUM ANIMATIONS ═══ */

/* Stats — number odometer shimmer */
@keyframes odometer {
  0%   { transform: translateY(0);    opacity: 1; }
  30%  { transform: translateY(-8px); opacity: 0.6; }
  60%  { transform: translateY(4px);  opacity: 0.9; }
  100% { transform: translateY(0);    opacity: 1; }
}
@keyframes statCardIn {
  0%   { opacity:0; transform: translateY(50px) scale(0.9); }
  60%  { transform: translateY(-6px) scale(1.02); }
  100% { opacity:1; transform: translateY(0) scale(1); }
}
@keyframes numShimmer {
  0%   { background-position: -200% center; }
  100% { background-position: 200% center; }
}
.stat-num-shimmer {
  background: linear-gradient(90deg, #E5B842 0%, #fff 40%, #E5B842 60%, #C8952A 100%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: numShimmer 1.2s ease forwards;
}
.stat.anim-in { animation: statCardIn .7s cubic-bezier(.34,1.56,.64,1) both; }

/* Conditions cards — 3D tilt hover */
.flip-card-wrapper { perspective: 1200px; }
.cond-card-3d {
  transition: transform .35s cubic-bezier(.34,1.56,.64,1), box-shadow .35s ease;
  transform-style: preserve-3d;
  will-change: transform;
}
.cond-card-3d:hover {
  box-shadow: 0 24px 60px rgba(27,94,59,.22), 0 8px 20px rgba(0,0,0,.1);
}

/* Testimonial cards — reveal + hover lift */
@keyframes testSlideUp {
  from { opacity:0; transform: translateY(44px); }
  to   { opacity:1; transform: translateY(0); }
}
.test-card {
  transition: transform .3s ease, box-shadow .3s ease;
}
.test-card:hover {
  transform: translateY(-8px) scale(1.01) !important;
  box-shadow: 0 20px 50px rgba(27,94,59,.18) !important;
}
.test-card.anim-in { animation: testSlideUp .65s cubic-bezier(.16,1,.3,1) both; }

/* Blog cards — 3D perspective hover */
.blog-card {
  transition: transform .35s cubic-bezier(.34,1.56,.64,1), box-shadow .35s ease !important;
  transform-style: preserve-3d;
  will-change: transform;
}
.blog-card:hover {
  box-shadow: 0 20px 55px rgba(0,0,0,.14) !important;
}
@keyframes blogCardIn {
  0%   { opacity:0; transform: translateY(40px) rotateX(8deg); }
  100% { opacity:1; transform: translateY(0) rotateX(0deg); }
}
.blog-card.anim-in { animation: blogCardIn .6s cubic-bezier(.16,1,.3,1) both; }

/* Consult image — floating animation */
@keyframes consultFloat {
  0%,100% { transform: translateY(0)    rotate(0deg)   scale(1); }
  25%      { transform: translateY(-10px) rotate(.6deg) scale(1.01); }
  75%      { transform: translateY(6px)  rotate(-.4deg) scale(.99); }
}
.consult-img-float, .consult-image, .consult-img, .consult-photo, .consult-visual img {
  animation: consultFloat 6s ease-in-out infinite;
  will-change: transform;
}

/* Blog card category badge pulse */
@keyframes badgePulse {
  0%,100% { transform: scale(1); }
  50%      { transform: scale(1.06); }
}
.blog-cat { animation: badgePulse 2.5s ease-in-out infinite; }

/* Conditions section — stagger entrance */
@keyframes condCardIn {
  0%   { opacity:0; transform: translateY(36px) scale(.94); }
  60%  { transform: translateY(-4px) scale(1.02); }
  100% { opacity:1; transform: translateY(0) scale(1); }
}
.cond-card-anim { animation: condCardIn .65s cubic-bezier(.34,1.56,.64,1) both; }

/* Stat highlight line under number */
.stat::after {
  content: '';
  display: block;
  width: 0; height: 2px;
  background: linear-gradient(90deg, #E5B842, transparent);
  margin: 6px auto 0;
  border-radius: 2px;
  transition: width .8s cubic-bezier(.16,1,.3,1);
}
.stat.anim-in::after { width: 60px; }


/* ═══ CONDITIONS SECTION — force hidden + animated entrance ═══ */
.flip-card {
  opacity: 0 !important;
  transform: translateY(44px) scale(0.92) !important;
  transition: opacity .65s ease, transform .65s cubic-bezier(.34,1.56,.64,1),
              box-shadow .3s ease !important;
}
.flip-card.card-vis {
  opacity: 1 !important;
  transform: translateY(0) scale(1) !important;
}
.flip-card.card-vis:hover {
  transform: perspective(900px) rotateX(var(--ry,0deg)) rotateY(var(--rx,0deg)) scale(1.03) !important;
  box-shadow: 0 20px 50px rgba(27,94,59,.22) !important;
}

/* ─ 3D Floating orb in conditions header ─ */
.cond-orb-wrap {
  display:flex; justify-content:center; margin-bottom:32px;
}
.cond-orb {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 78% 22%, rgba(255,255,255,.98) 0 5px, transparent 6px),
    conic-gradient(from 0deg, #1B5E3B, #2E7D52, #C8952A, #E5B842, #1B5E3B);
  animation: orbSpin 2.6s linear infinite, orbPulse 3s ease-in-out infinite;
  position: relative;
  box-shadow: 0 0 40px rgba(27,94,59,.3);
  transform-origin: center;
  will-change: transform;
  overflow: visible;
}
.cond-orb::after {
  content: '';
  position: absolute;
  inset: 10px;
  border-radius: 50%;
  background: #F5F5F0;
  box-shadow: inset 0 0 0 1px rgba(27,94,59,.08);
}
.cond-orb-icon {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cond-orb-icon svg {
  display: block;
}
@keyframes orbSpin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
@keyframes orbPulse { 0%,100%{box-shadow:0 0 20px rgba(27,94,59,.3)} 50%{box-shadow:0 0 50px rgba(27,94,59,.6)} }

.conditions {
  position: relative;
  overflow: hidden;
}
.conditions::before {
  content:'';
  position:absolute; inset:0;
  background: radial-gradient(ellipse at 20% 50%, rgba(27,94,59,.06) 0%, transparent 60%),
              radial-gradient(ellipse at 80% 50%, rgba(200,149,42,.05) 0%, transparent 60%);
  animation: condBgPulse 8s ease-in-out infinite;
  pointer-events:none; z-index:0;
}
@keyframes condBgPulse {
  0%,100% { opacity:.6; transform:scale(1); }
  50%      { opacity:1;  transform:scale(1.05); }
}
.conditions .container { position:relative; z-index:1; }


/* ═══ BLOG SECTION ANIMATION FIX ═══ */

/* Blog section animated background */
.blog { position:relative; overflow:hidden; }
.blog::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background: radial-gradient(ellipse at 80% 20%, rgba(200,149,42,.04) 0%, transparent 55%),
              radial-gradient(ellipse at 20% 80%, rgba(27,94,59,.04) 0%, transparent 55%);
  animation: blogBgDrift 10s ease-in-out infinite alternate;
  z-index:0;
}
/* blogBgDrift removed — layout repaint */
  to   { transform: scale(1.06) translateX(10px); }
}
.blog .container { position:relative; z-index:1; }

/* Blog cards — start hidden */
.blog-card {
  opacity: 0 !important;
  transform: translateY(48px) scale(0.93) !important;
  transition: opacity .6s ease, transform .65s cubic-bezier(.34,1.56,.64,1),
              box-shadow .3s ease !important;
  will-change: opacity, transform;
}
.blog-card.blog-vis {
  opacity: 1 !important;
  transform: translateY(0) scale(1) !important;
}

/* Blog card image area subtle scale on hover */
.blog-card .blog-thumb, .blog-card .blog-img-wrap {
  overflow: hidden;
}
.blog-card:hover .blog-thumb img,
.blog-card:hover .blog-img img {
  transform: scale(1.04);
  transition: transform .6s ease;
}

/* Blog category badge */
.blog-cat {
  display:inline-block;
  transition: transform .2s cubic-bezier(.34,1.56,.64,1), box-shadow .2s ease;
}
.blog-card:hover .blog-cat {
  transform: scale(1.08);
  box-shadow: 0 4px 12px rgba(27,94,59,.2);
}

/* ── Cursor fix for 3D tilt sections ── */
/* Ensure cursor ring uses GPU-composited transform only */
#cursorDot, #cursorRing {
  will-change: transform !important;
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
}



/* ═══════════════════════════════════════
   OM WATERMARK — Sacred background symbol
═══════════════════════════════════════ */
.hero-om-watermark {
  position: absolute;
  right: 5%;
  top: 50%;
  transform: translateY(-50%);
  font-size: clamp(240px, 26vw, 400px);
  color: rgba(200,149,42,0.055);
  font-family: serif;
  line-height: 1;
  pointer-events: none;
  z-index: 0;
  user-select: none;
  will-change: opacity, transform;
  animation: omBreath 9s ease-in-out infinite;
}
@keyframes omBreath {
  0%, 100% { opacity: 1;    transform: translateY(-50%) scale(1); }
  50%       { opacity: 0.6; transform: translateY(-50%) scale(1.04); }
  50%       { transform: translate(-50%,-50%) scale(1.05); opacity: 0.65;}
}
@media (max-width: 768px) {
  .hero-om-watermark { font-size: 160px; right: -5%; opacity: 0.6; }
  .cert-strip-divider { display: none; }
}
@media (max-width: 480px) {
  .hero-cert-strip { gap: 14px; padding: 14px 16px; }
  .cert-item-text strong { font-size: 14px; }
  .cert-item-text span { font-size: 12px; }
  50%      { transform: translate(-50%,-50%) scale(1.05) rotate(2.5deg); opacity: 0.7; }
  to   { opacity: 1; transform: translateY(0); }
  50%      { box-shadow: 0 0 0 7px rgba(200,149,42,0); }
}
@keyframes urgencyDot {
  0%,100% { opacity: 1; transform: scale(1); }
  50%      { opacity: 0.4; transform: scale(0.7); }
}

@media (max-width: 768px) {
  .hero-mini-stats { margin: 16px 0 18px; }
  to   { transform: translate(-50%,-50%) rotate(360deg); }
  50%      { opacity: 1;    transform: translate(-50%,-50%) scale(1.08); }
  }

  /* Slide up + fade in */
  @keyframes iyengarSlideIn {
    0%   { opacity: 0; transform: translateY(18px) scale(0.96); text-shadow: 0 0 60px rgba(229,184,66,1); }
    60%  { opacity: 0.85; transform: translateY(-3px) scale(1.01); }
    100% { opacity: 1;  transform: translateY(0)   scale(1);    text-shadow: 0 0 24px rgba(229,184,66,0.55), 0 2px 8px rgba(0,0,0,0.4); }
  }

  /* Continuous ambient glow pulse — opacity only = GPU compositor, zero repaint */
  @keyframes iyengarPulse {
    0%, 100% { opacity: 1; }
    50%       { opacity: 0.78; }
  }

  /* ════════════════════════════════════════════
     PORTRAIT — Strong 3D Tilt Facing Left + Float
  ════════════════════════════════════════════ */

  /* ══ ZERO-LAG PURE CSS HOVER — all cards, GPU compositor thread only ══ */

  /* Blog cards */
  .blog-card {
    will-change: transform;
    transform: translateZ(0);
    backface-visibility: hidden;
    transition: transform 0.32s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                box-shadow 0.32s ease !important;
  }
  .blog-card:hover {
    transform: translateY(-10px) scale(1.02) !important;
    box-shadow: 0 24px 56px rgba(0,0,0,0.14) !important;
  }

  /* Conditions flip cards */
  .flip-card {
    will-change: transform;
    transform: translateZ(0);
    backface-visibility: hidden;
    transition: transform 0.32s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                box-shadow 0.32s ease !important;
  }
  .flip-card:hover {
    transform: translateY(-8px) scale(1.03) !important;
    box-shadow: 0 20px 48px rgba(27,94,59,0.22) !important;
  }

  /* How / therapy cards */
  .how-card {
    will-change: transform;
    transform: translateZ(0);
    backface-visibility: hidden;
    transition: transform 0.32s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                box-shadow 0.32s ease !important;
  }
  .how-card:hover {
    transform: translateY(-8px) scale(1.02) !important;
    box-shadow: 0 18px 44px rgba(0,0,0,0.12) !important;
  }

  /* Testimonial cards */
  .test-card {
    will-change: transform;
    transform: translateZ(0);
    backface-visibility: hidden;
    transition: transform 0.32s cubic-bezier(0.25, 0.46, 0.45, 0.94),
                box-shadow 0.32s ease !important;
  }
  .test-card:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 20px 50px rgba(0,0,0,0.13) !important;
  }

  /* Give parent a 3D perspective stage */
  .hero-frame-outer {
    perspective: 900px !important;
    perspective-origin: 60% 50% !important;
  }

  /* Portrait container: ONLY translateY floats — GPU compositor only, zero repaint */
  .hero-frame-inner {
    transform-style: preserve-3d !important;
    animation: portraitFloat 5s ease-in-out 0.8s infinite !important;
    border: 3px solid var(--gold) !important;
    box-shadow: -16px 20px 48px rgba(0,0,0,0.52) !important;
  }

  /* Separate float: translateY only = 100% GPU, never causes cursor lag */
  @keyframes portraitFloat {
    0%,100% { transform: translateY(0px); }
    50%      { transform: translateY(-10px); }
    50%       { opacity: 1; }
  }

  /* ── Responsive ── */
  @media (max-width: 1024px) {
    .hero-iyengar-quote { font-size: clamp(16px, 2vw, 20px); }
    /* portrait3DFloat removed */
  }

  @media (max-width: 768px) {
    .hero-iyengar-quote { font-size: 16px; letter-spacing: 0.5px; }
  }


/* ── P4-2: Enhanced flip card back ── */
.flip-back-poses { display:flex; flex-wrap:wrap; gap:5px; margin:8px 0 10px; }
.flip-pose-tag {
  font-size:10px; font-weight:600; letter-spacing:.4px;
  background:rgba(201,168,76,.15); color:var(--gold,#c9a84c);
  border:1px solid rgba(201,168,76,.3); border-radius:3px;
  padding:3px 7px; white-space:nowrap;
}
.flip-back-meta { margin:6px 0 12px; display:flex; flex-direction:column; gap:5px; }
.flip-meta-row { display:flex; align-items:flex-start; gap:7px; font-size:11px; line-height:1.4; color:rgba(255,255,255,.88); }
.flip-meta-icon { font-size:12px; flex-shrink:0; margin-top:1px; }
.flip-back-title { font-size:15px; font-weight:700; color:#fff; margin-bottom:4px; }

/* ── P4-4: Pre-booking FAQ ── */
.prebooking-faq {
  background: linear-gradient(135deg, #f8fdf9 0%, #eef7f2 100%);
  border-top: 3px solid var(--green-primary, #1B5E3B);
  padding: 36px 0 32px;
}
.prebooking-faq-label {
  text-align: center; font-size: 11px; font-weight: 700;
  letter-spacing: 2px; text-transform: uppercase;
  color: var(--green-primary, #1B5E3B); margin-bottom: 22px;
}
.pbfaq-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 18px;
}
.pbfaq-item {
  background: #fff; border-radius: 10px;
  border-left: 4px solid var(--gold, #c9a84c);
  padding: 18px 20px;
  box-shadow: 0 2px 12px rgba(27,94,59,.07);
}
.pbfaq-q {
  font-weight: 700; font-size: 14px;
  color: var(--green-dark, #0D3D25); margin-bottom: 8px;
}
.pbfaq-a {
  font-size: 13px; line-height: 1.65;
  color: var(--text-secondary, #4a5568);
}

/* ── P4-5: Case Studies ── */
.case-studies { padding: 80px 0; background: #f8fdf9; }
.cs-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(300px,1fr)); gap:24px; }
.cs-card {
  background:#fff; border-radius:14px;
  border: 1px solid rgba(27,94,59,.12);
  box-shadow: 0 4px 24px rgba(27,94,59,.08);
  overflow:hidden;
}
.cs-header {
  display:flex; justify-content:space-between; align-items:center;
  padding:14px 20px; background:var(--green-primary,#1B5E3B);
}
.cs-badge {
  font-size:11px; font-weight:700; letter-spacing:.8px;
  text-transform:uppercase; color:rgba(255,255,255,.8);
}
.cs-outcome-badge {
  font-size:11px; font-weight:700; padding:4px 10px;
  border-radius:4px; background:rgba(201,168,76,.2); color:#c9a84c;
  white-space:nowrap;
}
.cs-body { padding:20px; display:flex; flex-direction:column; gap:12px; }
.cs-row { display:flex; flex-direction:column; gap:3px; }
.cs-label {
  font-size:10px; font-weight:700; letter-spacing:.8px;
  text-transform:uppercase; color:var(--green-mid,#2E7D52);
}
.cs-val { font-size:13px; line-height:1.6; color:#2d3748; }
.cs-result .cs-val { color:var(--green-dark,#0D3D25); }
.cs-disclaimer {
  text-align:center; margin-top:28px;
  font-size:11px; color:#888; font-style:italic;
}
@media(max-width:768px){ .cs-grid{ grid-template-columns:1fr; } }
