/* ==========================================================================
   SattvaRig LEGACY INTERACTIVE LAYER: the 3D body scanner, the 8-zone
   assessment quiz, the patient video reels and the ice bath player, ported
   INTACT from the live sattvarig.com custom code (extracted 2026-07-23).

   RULE #1: never reinvent this. The markup, the class names and scanner.js
   are the working originals. This file carries (a) the original design
   tokens, SCOPED to .sr-legacy so they cannot leak into the new ui.css
   design system, and (b) the original rules for these sections, verbatim.

   Every ported section gets class="sr-legacy" on its outermost element.
   ========================================================================== */

.sr-legacy{
  --transparent:transparent;
  --accent:#16a34a;
  --accent-dark:#15803d;
  --accent-light:#4ade80;
  --accent-lighter:#bbf7d0;
  --accent-bg:rgba(22,163,74,0.07);
  --accent-bg-2:rgba(22,163,74,0.12);
  --accent-border:rgba(22,163,74,0.15);
  --accent-border-h:rgba(22,163,74,0.30);
  --accent-glow:rgba(74,222,128,0.25);
  --bg:#f4f8f2;
  --bg-2:#eaf2e6;
  --bg-card:#ffffff;
  --text:#0c1a0e;
  --text-2:#263d2a;
  --text-3:#3f6145;
  --text-4:#4e7757;
  --border:rgba(17,26,19,0.06);
  --border-2:rgba(17,26,19,0.10);
  --sh-sm:0 2px 10px rgba(0,0,0,0.05);
  --sh-md:0 8px 30px rgba(0,0,0,0.07);
  --sh-lg:0 20px 50px rgba(0,0,0,0.10);
  --r:14px;
  --r-lg:22px;
  --r-xl:28px;
  --r-full:999px;
  --ease:cubic-bezier(0.34,1.56,0.64,1);
  --ease-out:cubic-bezier(0.16,1,0.3,1);
  --ease-smooth:cubic-bezier(0.4,0,0.2,1);
  --font:"Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,sans-serif;
  --font-body:"Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,sans-serif;
  --font-mono:'JetBrains Mono',monospace;
  --font-hand:'Caveat',cursive;
}
/* dark theme remap: same components, recovery-night surfaces */
html:not([data-theme="light"]) .sr-legacy{
  --accent:#4ade80;
  --accent-dark:#86efac;
  --accent-light:#4ade80;
  --accent-lighter:#166534;
  --accent-bg:rgba(74,222,128,0.09);
  --accent-bg-2:rgba(74,222,128,0.15);
  --accent-border:rgba(74,222,128,0.22);
  --accent-border-h:rgba(74,222,128,0.4);
  --accent-glow:rgba(74,222,128,0.3);
  --bg:#08130C;
  --bg-2:#0C1A11;
  --bg-card:#0C1911;
  --text:#E7F5EA;
  --text-2:#C3DCC9;
  --text-3:#A3C0AB;
  --text-4:#8AA892;
  --border:rgba(134,239,172,0.1);
  --border-2:rgba(134,239,172,0.18);
  --sh-sm:0 2px 10px rgba(0,0,0,0.35);
  --sh-md:0 8px 30px rgba(0,0,0,0.45);
  --sh-lg:0 20px 50px rgba(0,0,0,0.55);
}

/* the generic wrappers these sections were built inside (old site shell) */
.sr-legacy .inner{max-width:1120px;margin:0 auto;padding:0 28px}
/* 20px matches .wrap in ui.css so the ported legacy sections line up with the
   new ones as you scroll a phone (DP, 2026-07-25). Change both or neither. */
@media (max-width:720px){.sr-legacy .inner{padding:0 20px}}

/* ------ original rules, verbatim from the live site ------ */

.nav-cta:focus-visible,.hero-btn:focus-visible,.ice-cta-btn:focus-visible,.ax-btn:focus-visible,.ax-book:focus-visible{border-radius:var(--r-full)}

section,.marquee-wrap,footer,.assess-overlay{position:relative;z-index:2;width:100%}

.hero-title .green{background:linear-gradient(135deg,var(--accent),var(--accent-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

.section-tag{display:inline-flex;font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--accent);background:var(--accent-bg);border:1px solid var(--accent-border);padding:5px 14px;border-radius:var(--r-full);letter-spacing:0.5px;margin-bottom:14px}

.section-title{font-family:var(--font);font-size:clamp(34px,4.5vw,48px);font-weight:900;letter-spacing:-2px;line-height:1;margin-bottom:10px}

.section-sub{font-size:18px;color:var(--text-3);max-width:480px;line-height:1.7}


/* ===== INSTAGRAM SOCIAL PROOF ===== */
.ig-proof{padding:80px 0 64px;background:transparent;overflow:hidden}

.ig-proof-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:32px;gap:16px;flex-wrap:wrap}

.ig-proof-left{max-width:560px}

.ig-proof-follow{display:inline-flex;align-items:center;gap:10px;padding:12px 24px;border-radius:var(--r-full);background:linear-gradient(135deg,#833AB4,#FD1D1D,#F77737);color:#fff;font-family:var(--font);font-size:15px;font-weight:700;transition:all 0.3s var(--ease);box-shadow:0 4px 20px rgba(131,58,180,0.25);white-space:nowrap}

.ig-proof-follow:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(131,58,180,0.35)}

.ig-proof-follow svg{width:18px;height:18px;fill:#fff;flex-shrink:0}


/* Reel Carousel, edge-to-edge with inner padding */
.ig-carousel-wrap{position:relative;overflow:visible}

.ig-carousel{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:20px 0 20px}

.ig-carousel::-webkit-scrollbar{display:none}


/* Spacer elements at start/end to prevent empty edges */
.ig-carousel-spacer{flex:0 0 4px;pointer-events:none}


.ig-reel{flex:0 0 280px;scroll-snap-align:start;border-radius:var(--r-xl);overflow:hidden;position:relative;aspect-ratio:9/16;background:#0c1a0e;cursor:pointer;transition:all 0.4s var(--ease);box-shadow:var(--sh-md)}

.ig-reel:hover{transform:translateY(-6px) scale(1.02);box-shadow:var(--sh-lg)}


/* Native video fills the card */
.ig-reel video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}


/* Gradient overlay on video */
.ig-reel::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,0.75) 0%,rgba(0,0,0,0.0) 30%,rgba(0,0,0,0.0) 65%,rgba(0,0,0,0.35) 100%);z-index:1;pointer-events:none}


/* Mute/Unmute button */
.ig-reel-mute{position:absolute;top:14px;right:14px;z-index:4;width:32px;height:32px;border-radius:50%;background:rgba(0,0,0,0.45);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.3s var(--ease);opacity:0.7}

.ig-reel:hover .ig-reel-mute{opacity:1}

.ig-reel-mute svg{width:16px;height:16px;fill:#fff}

.ig-reel-mute:hover{background:rgba(0,0,0,0.65);transform:scale(1.1)}


/* Top bar, IG style */
.ig-reel-top{position:absolute;top:0;left:0;right:52px;z-index:3;padding:14px 16px;display:flex;align-items:center;gap:10px}

.ig-reel-avatar{width:32px;height:32px;border-radius:50%;border:2px solid var(--accent);background:var(--accent);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:#fff;flex-shrink:0;font-family:var(--font)}

.ig-reel-handle{font-family:var(--font);font-size:13px;font-weight:700;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,0.5)}

.ig-reel-time{font-family:var(--font-mono);font-size:10px;color:rgba(255,255,255,0.6);margin-left:auto}


/* Bottom info */
.ig-reel-bottom{position:absolute;bottom:0;left:0;right:0;z-index:3;padding:20px 16px}

.ig-reel-condition{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:10px;font-weight:600;color:var(--accent-light);background:rgba(22,163,74,0.2);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(74,222,128,0.25);padding:3px 10px;border-radius:var(--r-full);letter-spacing:0.5px;margin-bottom:8px;text-transform:uppercase}

.ig-reel-quote{font-family:var(--font);font-size:15px;font-weight:600;color:#fff;line-height:1.4;text-shadow:0 1px 8px rgba(0,0,0,0.6);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

.ig-reel-name{font-family:var(--font);font-size:13px;font-weight:700;color:rgba(255,255,255,0.7);margin-top:6px;text-shadow:0 1px 4px rgba(0,0,0,0.5)}

.ig-reel-name span{color:var(--accent-light)}


/* Scroll arrows */
.ig-carousel-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:var(--bg-card);border:1px solid var(--border-2);box-shadow:var(--sh-md);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:5;transition:all 0.3s var(--ease);font-size:18px;color:var(--text-3)}

.ig-carousel-nav:hover{transform:translateY(-50%) scale(1.1);box-shadow:var(--sh-lg);color:var(--accent);border-color:var(--accent-border)}

.ig-nav-left{left:-6px}

.ig-nav-right{right:-6px}


/* Edge fades removed, active card needs full visibility */

/* End CTA card */
.ig-end-card{flex:0 0 280px;scroll-snap-align:center;border-radius:var(--r-xl);aspect-ratio:9/16;background:linear-gradient(135deg,#833AB4,#FD1D1D,#F77737);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px;cursor:pointer;transition:all 0.45s var(--ease-out);box-shadow:var(--sh-md);position:relative;overflow:hidden;transform:scale(0.9);opacity:0.55}

.ig-end-card.active{transform:scale(1);opacity:1;box-shadow:var(--sh-lg)}

.ig-end-card:hover{box-shadow:var(--sh-lg)}

.ig-end-card::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}

.ig-end-ico{font-size:48px;margin-bottom:16px;filter:drop-shadow(0 4px 12px rgba(0,0,0,0.2))}

.ig-end-title{font-family:var(--font);font-size:24px;font-weight:900;color:#fff;letter-spacing:-0.5px;line-height:1.1;margin-bottom:8px}

.ig-end-sub{font-size:14px;color:rgba(255,255,255,0.8);line-height:1.5;margin-bottom:20px}

.ig-end-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:#fff;color:#0c1a0e;border-radius:var(--r-full);font-family:var(--font);font-size:14px;font-weight:700;transition:all 0.3s var(--ease)}

.ig-end-card:hover .ig-end-btn{transform:scale(1.05);box-shadow:0 4px 20px rgba(0,0,0,0.2)}


/* Counter badge */
.ig-proof-count{display:flex;align-items:center;gap:16px;margin-top:16px}

.ig-count-item{display:flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:12px;color:var(--text-4);letter-spacing:0.3px}

.ig-count-num{font-family:var(--font);font-size:20px;font-weight:900;color:var(--accent);letter-spacing:-0.5px}


/* Video loading spinner */
.ig-reel-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;width:36px;height:36px;border:3px solid rgba(255,255,255,0.15);border-top-color:var(--accent-light);border-radius:50%;animation:reelSpin 0.8s linear infinite}

.ig-reel.loaded .ig-reel-loader{display:none}


/* Skip controls, back 5s / forward 5s */
.ig-reel-skip{position:absolute;top:50%;left:50%;z-index:4;display:flex;align-items:center;justify-content:center;gap:16px;transform:translate(-50%,-50%);pointer-events:none;opacity:0;transition:opacity 0.4s var(--ease)}

.ig-reel:hover .ig-reel-skip{opacity:1}

.ig-skip-btn{width:40px;height:40px;border-radius:50%;background:rgba(0,0,0,0.4);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1.5px solid rgba(255,255,255,0.15);display:flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:all;transition:all 0.2s var(--ease);position:relative}

.ig-skip-btn:hover{background:rgba(0,0,0,0.6);border-color:rgba(255,255,255,0.3);transform:scale(1.12)}

.ig-skip-btn:active{transform:scale(0.92)}

.ig-skip-btn svg{width:18px;height:18px;fill:#fff}

.ig-skip-label{position:absolute;bottom:-18px;left:50%;transform:translateX(-50%);font-family:var(--font-mono);font-size:9px;color:rgba(255,255,255,0.6);white-space:nowrap;letter-spacing:0.3px}


/* Play/pause sits between skip buttons */
.ig-reel-play{position:static;z-index:4;width:48px;height:48px;border-radius:50%;background:rgba(0,0,0,0.35);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,0.25);display:flex;align-items:center;justify-content:center;opacity:1;transition:all 0.3s var(--ease);pointer-events:all;cursor:pointer;flex-shrink:0;transform:none}

.ig-reel:hover .ig-reel-play{opacity:1}

.ig-reel.paused .ig-reel-skip{opacity:1}

.ig-reel-play:hover{background:rgba(0,0,0,0.55);border-color:rgba(255,255,255,0.4);transform:scale(1.08)}

.ig-reel-play:active{transform:scale(0.92)}

.ig-reel-play svg{width:20px;height:20px;fill:#fff;margin-left:1px}


/* Auto-hide ALL controls when playing (except time pill) */
.ig-reel.controls-hidden .ig-reel-skip{opacity:0 !important;pointer-events:none !important}

/* The play/pause button used to stay pinned on top of the video forever. It now
   fades with the rest of the controls and comes back on tap. */
.ig-reel.controls-hidden .ig-reel-play{opacity:0 !important;pointer-events:none !important}

.ig-reel .ig-reel-play{transition:opacity 0.4s var(--ease),background 0.3s var(--ease),transform 0.3s var(--ease)}

.ig-reel.controls-hidden .ig-reel-mute{opacity:0 !important;pointer-events:none !important}

.ig-reel.controls-hidden .ig-reel-top{opacity:0 !important}

.ig-reel.controls-hidden .ig-reel-bottom{opacity:0 !important}

.ig-reel.controls-hidden::after{opacity:0.15 !important}

.ig-reel .ig-reel-top,.ig-reel .ig-reel-bottom,.ig-reel .ig-reel-mute,.ig-reel .ig-reel-skip,.ig-reel::after{transition:opacity 0.4s var(--ease)}

/* Desktop hover brings controls back. Gated to real pointers: on a phone iOS keeps
   :hover stuck after a tap, which pinned every control on screen permanently. */
@media(hover:hover){
  .ig-reel.controls-hidden:hover .ig-reel-skip{opacity:1 !important;pointer-events:auto !important}

  .ig-reel.controls-hidden:hover .ig-reel-play{opacity:1 !important;pointer-events:auto !important}

  .ig-reel.controls-hidden:hover .ig-reel-mute{opacity:1 !important;pointer-events:auto !important}

  .ig-reel.controls-hidden:hover .ig-reel-top{opacity:1 !important}

  .ig-reel.controls-hidden:hover .ig-reel-bottom{opacity:1 !important}

  .ig-reel.controls-hidden:hover::after{opacity:1 !important}
}

/* Paused ALWAYS shows controls */
.ig-reel.paused .ig-reel-skip{opacity:1 !important;pointer-events:auto !important}

.ig-reel.paused .ig-reel-mute{opacity:1 !important;pointer-events:auto !important}

.ig-reel.paused .ig-reel-top{opacity:1 !important}

.ig-reel.paused .ig-reel-bottom{opacity:1 !important}

.ig-reel.paused::after{opacity:1 !important}


/* Active reel highlight, dim others when one is unmuted */
.ig-reel.dimmed{opacity:0.4;filter:brightness(0.6);transform:scale(0.97);transition:all 0.4s var(--ease-smooth)}

.ig-reel.dimmed:hover{opacity:0.7;filter:brightness(0.8);transform:translateY(-4px) scale(0.99)}

.ig-reel.active-audio{opacity:1;filter:brightness(1);transform:translateY(-6px) scale(1.02);box-shadow:0 12px 40px rgba(22,163,74,0.2),var(--sh-lg);border:2px solid var(--accent)}


/* Time pill, ALWAYS visible when video is playing, hidden when paused */
.ig-reel-time-pill{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);z-index:6;font-family:var(--font-mono);font-size:11px;color:#fff;background:rgba(0,0,0,0.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);padding:3px 10px;border-radius:var(--r-full);letter-spacing:0.3px;pointer-events:none;opacity:0;transition:opacity 0.25s}

.ig-reel:not(.paused) .ig-reel-time-pill{opacity:0.8}

.ig-reel.paused .ig-reel-time-pill{opacity:0}


@media(max-width:900px){
  .ig-proof-header{flex-direction:column;align-items:flex-start}

  .ig-reel{flex:0 0 260px}

  .ig-end-card{flex:0 0 260px}

  .ig-carousel-nav{display:none}
}

@media(max-width:600px){
  .ig-reel{flex:0 0 240px}

  .ig-end-card{flex:0 0 240px}

  .ig-proof{padding:60px 0 48px}
}


/* ===== ICE BATH RECOVERY ZONE ===== */
.icebath{padding:80px 0;background:linear-gradient(180deg,#0a1a12 0%,#0d2418 50%,#0a1a12 100%);position:relative;overflow:hidden}

.icebath::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%2316a34a' fill-opacity='0.03'%3E%3Cpath d='M20 0L0 20h8l12-12 12 12h8z'/%3E%3C/g%3E%3C/svg%3E");pointer-events:none}

.icebath .inner{position:relative;z-index:2}

.icebath .section-tag{background:rgba(22,163,74,0.15);border-color:rgba(74,222,128,0.25);color:var(--accent-light)}

.icebath .section-title{color:#fff}

.icebath .section-sub{color:rgba(255,255,255,0.6)}


/* Bento grid layout, 2 columns */
.ice-bento{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:32px}

.ice-cell{border-radius:var(--r-xl);overflow:hidden;position:relative;cursor:default;transition:all 0.4s var(--ease);min-height:360px}

.ice-cell:hover{transform:translateY(-4px);box-shadow:0 16px 48px rgba(0,0,0,0.3)}

.ice-cell img,.ice-cell video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

.ice-cell::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,0.6) 0%,rgba(0,0,0,0) 40%);z-index:1;pointer-events:none}

.ice-cell video{z-index:0}


/* Cell overlay content, minimal, bottom-anchored */
.ice-cell-content{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:16px}

.ice-cell-tag{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:9px;font-weight:600;color:var(--accent-light);background:rgba(22,163,74,0.25);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(74,222,128,0.2);padding:2px 8px;border-radius:var(--r-full);letter-spacing:0.5px;text-transform:uppercase;margin-bottom:6px}

.ice-cell-title{font-family:var(--font);font-size:16px;font-weight:800;color:#fff;letter-spacing:-0.3px;line-height:1.15;text-shadow:0 2px 8px rgba(0,0,0,0.5)}

.ice-cell-desc{font-size:12px;color:rgba(255,255,255,0.6);line-height:1.4;margin-top:3px}


/* Video play indicator */
.ice-cell-play{position:absolute;top:16px;right:16px;z-index:3;width:32px;height:32px;border-radius:50%;background:rgba(0,0,0,0.4);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1.5px solid rgba(255,255,255,0.2);display:flex;align-items:center;justify-content:center}

.ice-cell-play svg{width:14px;height:14px;fill:#fff;margin-left:1px}


/* Stats strip */
.ice-stats{display:flex;gap:32px;margin-top:24px}

.ice-stat{text-align:center}

.ice-stat-val{font-family:var(--font);font-size:28px;font-weight:900;color:var(--accent-light);letter-spacing:-1px}

.ice-stat-lbl{font-family:var(--font-mono);font-size:11px;color:rgba(255,255,255,0.4);letter-spacing:0.5px;text-transform:uppercase;margin-top:2px}


/* CTA bar */
.ice-cta-bar{display:flex;align-items:center;gap:16px;margin-top:28px;flex-wrap:wrap}

.ice-cta-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;background:var(--accent);color:#fff;border-radius:var(--r-full);font-family:var(--font);font-size:17px;font-weight:700;transition:all 0.3s var(--ease);box-shadow:0 4px 24px rgba(22,163,74,0.3);position:relative;overflow:hidden}

.ice-cta-btn:hover{background:var(--accent-dark);transform:translateY(-2px);box-shadow:0 8px 32px rgba(22,163,74,0.4)}

.ice-cta-btn::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.12),transparent);animation:shimmer 3s ease-in-out infinite}

.ice-cta-sub{font-family:var(--font-mono);font-size:12px;color:rgba(255,255,255,0.4);letter-spacing:0.3px}


/* Floating frost particles */
.ice-frost{position:absolute;width:4px;height:4px;background:rgba(74,222,128,0.3);border-radius:50%;pointer-events:none;animation:frostFloat 8s linear infinite}


@media(max-width:900px){
  .ice-bento{gap:8px}

  .ice-cell{min-height:280px}

  .ice-stats{gap:20px;flex-wrap:wrap;justify-content:center}

  .ice-cta-bar{justify-content:center}
}

@media(max-width:600px){
  .ice-bento{grid-template-columns:1fr;gap:10px}

  .ice-cell{min-height:auto}

  .ice-cell:first-child{aspect-ratio:9/16}

  .ice-cell:last-child{aspect-ratio:16/10}

  .icebath{padding:60px 0}

  .ice-stat-val{font-size:24px}
}

.hand-float{font-family:var(--font-hand);font-size:22px;color:var(--accent-dark);opacity:0;transform:translateY(10px) rotate(-3deg);animation:handFloat 0.8s 1.5s var(--ease-out) forwards}


/* ===== ANATOMY SCANNER SECTION ===== */
.anatomy-section{padding:80px 0;background:transparent}

.anatomy-layout{display:grid;grid-template-columns:1fr 280px 1fr;gap:32px;align-items:center;margin-top:32px}

.anatomy-left,.anatomy-right{display:flex;flex-direction:column;gap:12px}

.anatomy-stat-card{padding:14px 16px;background:var(--bg-card);border:1px solid var(--border-2);border-radius:var(--r-lg);box-shadow:var(--sh-sm);transition:all 0.3s var(--ease);cursor:default}

.anatomy-stat-card:hover{transform:translateY(-2px);box-shadow:var(--sh-md)}

.anatomy-stat-card.highlight{border-color:var(--accent-border-h);background:linear-gradient(135deg,rgba(22,163,74,0.03),rgba(74,222,128,0.05))}

.anatomy-stat-top{display:flex;align-items:center;gap:8px;margin-bottom:4px}

.anatomy-stat-ico{font-size:18px}

.anatomy-stat-label{font-family:var(--font);font-size:14px;font-weight:700;color:var(--text)}

.anatomy-stat-val{font-family:var(--font-mono);font-size:12px;color:var(--accent);font-weight:600}

.anatomy-stat-desc{font-size:13px;color:var(--text-3);line-height:1.4}


/* Center anatomy figure */
.anatomy-center{display:flex;flex-direction:column;align-items:center}

.anatomy-figure{position:relative;width:240px;height:520px;margin:0 auto}

.anatomy-svg{width:100%;height:100%}

.anatomy-hint{display:flex;align-items:center;gap:6px;margin-top:16px;font-family:var(--font-mono);font-size:12px;color:var(--text-4)}

.anatomy-hint-dot{width:8px;height:8px;background:var(--accent-light);border-radius:50%;animation:breathe 2s ease-in-out infinite}


/* Hotspots (2D fallback) */
.hotspot{position:absolute;width:40px;height:40px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.4s var(--ease);z-index:5;background:transparent;border:none;padding:0;font:inherit}

.hotspot:hover,.hotspot:focus-visible{transform:scale(1.3);z-index:10}

.hotspot:hover .hs-label,.hotspot:focus-visible .hs-label{opacity:1;transform:translateX(0) translateY(-50%);pointer-events:all}

.hs-ring{width:16px;height:16px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(22,163,74,0.15),0 0 12px var(--accent-glow);animation:hsPulse 2.5s ease-in-out infinite;transition:all 0.3s var(--ease);display:block}

.hotspot:hover .hs-ring,.hotspot:focus-visible .hs-ring{background:var(--accent-light);transform:scale(1.2);box-shadow:0 0 0 6px rgba(22,163,74,0.2),0 0 24px var(--accent-glow)}

.hs-label{position:absolute;left:calc(100% + 8px);top:50%;transform:translateX(-6px) translateY(-50%);background:var(--bg-card);border:1px solid var(--accent-border-h);border-radius:var(--r);padding:4px 12px;font-family:var(--font);font-size:13px;font-weight:700;color:var(--accent);white-space:nowrap;opacity:0;transition:all 0.3s var(--ease);pointer-events:none;box-shadow:var(--sh-sm)}

.hs-head{top:4%;left:50%;margin-left:-20px}

.hs-neck{top:12%;left:50%;margin-left:-20px}

.hs-shoulder{top:17%;left:30%;margin-left:-20px}

.hs-spine{top:30%;left:50%;margin-left:-20px}

.hs-elbow{top:34%;left:72%;margin-left:-20px}

.hs-hip{top:42%;left:50%;margin-left:-20px}

.hs-knee{top:64%;left:40%;margin-left:-20px}

.hs-ankle{top:86%;left:56%;margin-left:-20px}


/* ===== 3D ROTATING BODY SCANNER ===== */
.anatomy-svg-wrap{position:absolute;inset:0;transition:opacity 0.6s var(--ease-out)}

.anatomy-figure.mode-3d .anatomy-svg-wrap{opacity:0;pointer-events:none;visibility:hidden}

.anatomy-3d-wrap{position:absolute;inset:0 -64px;opacity:0;transition:opacity 0.9s var(--ease-out);pointer-events:none}

.anatomy-3d-wrap.on{opacity:1;pointer-events:all}

.anatomy-3d-wrap model-viewer{width:100%;height:100%;background:transparent;--poster-color:transparent;--progress-bar-color:transparent;--progress-mask:transparent;--min-hotspot-opacity:0.22;outline:none;cursor:grab}

.anatomy-3d-wrap model-viewer:active{cursor:grabbing}

/* Soft grounding glow under the 3D model */
.anatomy-3d-wrap::after{content:'';position:absolute;left:50%;bottom:2%;width:150px;height:22px;transform:translateX(-50%);background:radial-gradient(ellipse,rgba(22,163,74,0.18),transparent 70%);border-radius:50%;pointer-events:none}

/* Touch-only oval telling people this figure is the drag-to-rotate zone.
   Purely a visual cue, it never blocks a tap or a scroll. */
@media(hover:none){
  .anatomy-figure.mode-3d::before{content:'';position:absolute;left:50%;top:50%;width:104%;height:94%;transform:translate(-50%,-50%);border:1.5px dashed rgba(22,163,74,0.28);border-radius:50%;pointer-events:none;z-index:1;animation:srRotateRing 4s ease-in-out infinite}
}

@keyframes srRotateRing{0%,100%{opacity:0.45}50%{opacity:0.9}}

/* 3D hotspot buttons, camera-facing, pulsing brand green */
.mv-hotspot{width:18px;height:18px;border:2.5px solid #fff;padding:0;background:var(--accent);border-radius:50%;cursor:pointer;box-shadow:0 0 0 4px rgba(22,163,74,0.18),0 0 16px var(--accent-glow),0 2px 6px rgba(0,0,0,0.18);animation:hsPulse 2.5s ease-in-out infinite;position:relative;transition:transform 0.3s var(--ease),background 0.3s;display:block}

.mv-hotspot:hover,.mv-hotspot:focus-visible{transform:scale(1.35);background:var(--accent-light);z-index:10}

.mv-label{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%) translateY(4px);background:var(--bg-card);border:1px solid var(--accent-border-h);border-radius:var(--r);padding:4px 12px;font-family:var(--font);font-size:13px;font-weight:700;color:var(--accent);white-space:nowrap;opacity:0;transition:all 0.3s var(--ease);pointer-events:none;box-shadow:var(--sh-sm);z-index:11}

.mv-hotspot:hover .mv-label,.mv-hotspot:focus-visible .mv-label{opacity:1;transform:translateX(-50%) translateY(0)}

/* 3D loading shimmer while GLB streams in */
.anatomy-3d-loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:10px;font-family:var(--font-mono);font-size:11px;color:var(--text-4);letter-spacing:0.5px;pointer-events:none;opacity:0;transition:opacity 0.4s}

.anatomy-3d-loading.show{opacity:1}

.anatomy-3d-spinner{width:32px;height:32px;border:3px solid var(--accent-bg-2);border-top-color:var(--accent);border-radius:50%;animation:reelSpin 0.8s linear infinite}

.anatomy-figure.mode-3d .anatomy-3d-loading{display:none}


/* ===== ASSESSMENT OVERLAY ===== */
.assess-overlay{position:fixed;inset:0;z-index:2000;display:flex;align-items:flex-end;justify-content:center;pointer-events:none;opacity:0;transition:opacity 0.3s var(--ease-smooth)}

.assess-overlay.open{pointer-events:all;opacity:1}

.assess-backdrop{position:absolute;inset:0;background:rgba(17,26,19,0.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;transition:opacity 0.4s}

.assess-overlay.open .assess-backdrop{opacity:1}

/* dvh keeps the sheet inside the REAL visible area on iOS, where vh ignores the
   address bar and bottom toolbar and chopped the sheet. vh stays as the fallback. */
.assess-panel{position:relative;z-index:1;width:100%;max-width:520px;max-height:92vh;max-height:92dvh;background:var(--bg-card);border-radius:var(--r-xl) var(--r-xl) 0 0;box-shadow:0 -10px 60px rgba(0,0,0,0.12);transform:translateY(100%);transition:transform 0.45s var(--ease-out);display:flex;flex-direction:column;overflow:hidden}

.assess-overlay.open .assess-panel{transform:translateY(0)}

.assess-top{display:flex;align-items:center;justify-content:space-between;padding:12px 20px 8px;flex-shrink:0;border-bottom:1px solid var(--border)}

.assess-handle{width:36px;height:4px;border-radius:2px;background:var(--border-2);margin:0 auto;position:absolute;top:8px;left:50%;transform:translateX(-50%)}

.assess-top-title{font-family:var(--font);font-size:15px;font-weight:700;color:var(--text-3)}

.assess-close{width:32px;height:32px;border-radius:50%;border:1px solid var(--border-2);background:var(--bg);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.3s var(--ease);color:var(--text-3);flex-shrink:0}

.assess-close:hover{background:rgba(239,68,68,0.06);border-color:rgba(239,68,68,0.2);color:#ef4444}

.assess-progress{height:3px;background:var(--accent-bg);flex-shrink:0}

.assess-prog-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--accent),var(--accent-light));transition:width 0.6s var(--ease-out)}

.assess-body{flex:1;overflow-y:auto;padding:24px 20px 32px;-webkit-overflow-scrolling:touch}

@media(min-width:601px){
  .assess-overlay{align-items:center}

  .assess-panel{max-height:88vh;max-height:88dvh;border-radius:var(--r-xl);transform:translateY(30px) scale(0.96);opacity:0;transition:transform 0.4s var(--ease-out),opacity 0.3s}

  .assess-overlay.open .assess-panel{transform:translateY(0) scale(1);opacity:1}

  .assess-handle{display:none}
}

.ax-header{text-align:center;margin-bottom:24px}

.ax-zone-ico{font-size:40px;margin-bottom:8px;display:block}

.ax-zone-name{font-family:var(--font);font-size:24px;font-weight:800;letter-spacing:-0.5px}

.ax-step-label{font-family:var(--font-mono);font-size:12px;color:var(--text-4);letter-spacing:1px;text-transform:uppercase;margin-top:4px}

.ax-anatomy-tag{font-family:var(--font-mono);font-size:12px;color:var(--accent);background:var(--accent-bg);padding:3px 10px;border-radius:var(--r-full);border:1px solid var(--accent-border);display:inline-block;margin-bottom:12px}

.ax-q{font-family:var(--font);font-size:20px;font-weight:800;letter-spacing:-0.3px;margin-bottom:4px}

.ax-desc{font-size:14px;color:var(--text-3);line-height:1.6;margin-bottom:20px}

.ax-opts{display:flex;flex-direction:column;gap:8px}

.ax-opt{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--r);border:1.5px solid var(--border-2);background:var(--bg);cursor:pointer;transition:all 0.3s var(--ease);text-align:left;width:100%;font:inherit;color:inherit}

.ax-opt:hover{border-color:var(--accent-border-h);background:var(--accent-bg);transform:translateX(3px)}

.ax-opt.sel{border-color:var(--accent);background:var(--accent-bg-2);box-shadow:0 0 0 3px rgba(22,163,74,0.08)}

.ax-opt-ico{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;background:var(--bg-card);border:1px solid var(--border-2);flex-shrink:0}

.ax-opt-label{font-family:var(--font);font-size:14px;font-weight:700;color:var(--text)}

.ax-opt-hint{font-size:12px;color:var(--text-3)}

.ax-range{width:100%;margin:16px 0}

.ax-range-val{text-align:center;margin-bottom:8px}

.ax-range-num{font-family:var(--font);font-size:44px;font-weight:900;line-height:1}

.ax-range-desc{font-size:13px;color:var(--text-3)}

.ax-range input[type=range]{-webkit-appearance:none;width:100%;height:6px;border-radius:3px;outline:none;background:linear-gradient(90deg,var(--accent-lighter),#f59e0b,#ef4444);cursor:pointer}

.ax-range input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid var(--accent);box-shadow:var(--sh-sm);cursor:pointer}

.ax-btns{display:flex;gap:8px;margin-top:24px}

.ax-btn{flex:1;padding:12px 16px;border-radius:var(--r-full);font-family:var(--font);font-size:14px;font-weight:700;border:none;cursor:pointer;transition:all 0.3s var(--ease)}

.ax-btn-next{background:var(--accent);color:#fff;box-shadow:0 2px 12px var(--accent-glow)}

.ax-btn-next:hover{background:var(--accent-dark);transform:translateY(-1px)}

.ax-btn-next:disabled{opacity:0.3;cursor:not-allowed;transform:none}

.ax-btn-back{background:var(--bg);color:var(--text-3);border:1px solid var(--border-2)}

.ax-result-score{display:flex;flex-direction:column;align-items:center;margin-bottom:20px}

.ax-ring-wrap{width:100px;height:100px;position:relative;margin-bottom:8px}

.ax-ring-wrap svg{width:100%;height:100%;transform:rotate(-90deg)}

.ax-ring-bg{fill:none;stroke:var(--accent-bg);stroke-width:7}

.ax-ring-fill{fill:none;stroke-width:7;stroke-linecap:round;transition:stroke-dashoffset 1.2s var(--ease-out)}

.ax-ring-val{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}

.ax-ring-num{font-family:var(--font);font-size:28px;font-weight:900}

.ax-ring-label{font-family:var(--font-mono);font-size:10px;color:var(--text-4);letter-spacing:0.5px;text-transform:uppercase}

.ax-finding{display:flex;gap:8px;padding:8px 0;border-bottom:1px solid var(--border)}

.ax-finding:last-child{border:none}

.ax-finding-ico{width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}

.ax-finding-ico.red{background:rgba(239,68,68,0.08);border:1px solid rgba(239,68,68,0.12)}

.ax-finding-ico.org{background:rgba(245,158,11,0.08);border:1px solid rgba(245,158,11,0.12)}

.ax-finding-ico.grn{background:var(--accent-bg);border:1px solid var(--accent-border)}

.ax-finding-title{font-family:var(--font);font-size:13px;font-weight:700}

.ax-finding-desc{font-size:12px;color:var(--text-3);line-height:1.4}

.ax-skills{display:flex;flex-wrap:wrap;gap:4px;margin:10px 0}

.ax-skill{font-family:var(--font);font-size:12px;font-weight:600;padding:3px 10px;border-radius:var(--r-full);background:var(--accent-bg);border:1px solid var(--accent-border);color:var(--accent)}

.ax-book{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 20px;background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff;border:none;border-radius:var(--r-full);cursor:pointer;font-family:var(--font);font-size:16px;font-weight:800;transition:all 0.4s var(--ease);margin-top:16px;box-shadow:0 4px 20px var(--accent-glow);position:relative;overflow:hidden}

.ax-book:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(22,163,74,0.3)}

.ax-book::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.15),transparent);animation:shimmer 3s ease-in-out infinite}

.ax-book-sub{text-align:center;font-family:var(--font-mono);font-size:11px;color:var(--text-4);margin-top:8px;letter-spacing:0.5px}


/* ===== QUICK TIPS, FULLSCREEN GAMIFIED OVERLAY ===== */
.ax-tips-trigger{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 20px;background:linear-gradient(135deg,rgba(22,163,74,0.06),rgba(74,222,128,0.10));border:1.5px solid var(--accent-border-h);border-radius:var(--r-full);cursor:pointer;font-family:var(--font);font-size:15px;font-weight:700;color:var(--accent);transition:all 0.4s var(--ease);margin-top:16px;position:relative;overflow:hidden}

.ax-tips-trigger:hover{background:linear-gradient(135deg,rgba(22,163,74,0.10),rgba(74,222,128,0.16));transform:translateY(-2px);box-shadow:0 6px 24px rgba(22,163,74,0.12)}

.ax-tips-trigger::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(22,163,74,0.08),transparent);animation:shimmer 3s ease-in-out infinite}

.ax-tips-bulb{font-size:20px;animation:bulbPulse 2s ease-in-out infinite}

.ax-tips-badge{font-family:var(--font-mono);font-size:10px;background:var(--accent);color:#fff;padding:2px 8px;border-radius:var(--r-full);letter-spacing:0.5px;font-weight:700}

.ax-tips-divider{display:flex;align-items:center;gap:10px;margin:18px 0 4px;color:var(--text-4);font-family:var(--font-mono);font-size:10px;letter-spacing:1px;text-transform:uppercase}

.ax-tips-divider::before,.ax-tips-divider::after{content:'';flex:1;height:1px;background:var(--border-2)}

.tips-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity 0.4s,visibility 0.4s}

.tips-overlay.show{opacity:1;visibility:visible}

.tips-backdrop{position:absolute;inset:0;background:rgba(12,26,14,0.55);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}

.tips-bubble{position:relative;z-index:2;width:92%;max-width:420px;background:var(--bg-card);border:1.5px solid var(--accent-border-h);border-radius:var(--r-xl);padding:0;box-shadow:0 30px 80px rgba(0,0,0,0.25),0 0 0 1px rgba(22,163,74,0.06);transform:scale(0.7) translateY(40px);transition:transform 0.5s var(--ease);overflow:hidden}

.tips-overlay.show .tips-bubble{transform:scale(1) translateY(0)}

.tips-bubble-header{background:linear-gradient(135deg,var(--accent),var(--accent-dark));padding:22px 24px 18px;text-align:center;position:relative;overflow:hidden}

.tips-bubble-header::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 8px,rgba(255,255,255,0.03) 8px,rgba(255,255,255,0.03) 16px)}

.tips-bubble-ico{font-size:36px;display:block;margin-bottom:6px;animation:tipBubblePop 0.6s var(--ease) 0.3s both}

.tips-bubble-title{font-family:var(--font);font-size:20px;font-weight:900;color:#fff;letter-spacing:-0.5px}

.tips-bubble-sub{font-family:var(--font-mono);font-size:10px;color:rgba(255,255,255,0.7);letter-spacing:1.5px;text-transform:uppercase;margin-top:2px}

.tips-bubble-body{padding:20px 22px 24px}

.tips-bubble-card{display:flex;gap:14px;padding:16px;background:var(--bg);border:1.5px solid var(--border-2);border-radius:var(--r);margin-bottom:10px;opacity:0;transform:translateY(16px) scale(0.95);transition:all 0.4s var(--ease-out)}

.tips-overlay.show .tips-bubble-card{opacity:1;transform:translateY(0) scale(1)}

.tips-overlay.show .tips-bubble-card:nth-child(1){transition-delay:0.2s}

.tips-overlay.show .tips-bubble-card:nth-child(2){transition-delay:0.35s}

.tips-overlay.show .tips-bubble-card:nth-child(3){transition-delay:0.5s}

.tips-bubble-num{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-light));display:flex;align-items:center;justify-content:center;font-family:var(--font);font-size:14px;font-weight:900;color:#fff;flex-shrink:0;box-shadow:0 3px 12px var(--accent-glow)}

.tips-bubble-tip-title{font-family:var(--font);font-size:14px;font-weight:800;color:var(--text);letter-spacing:-0.3px;margin-bottom:2px}

.tips-bubble-tip-desc{font-size:12px;color:var(--text-3);line-height:1.55}

.tips-bubble-footer{padding:0 22px 20px;text-align:center}

.tips-bubble-disclaimer{font-family:var(--font-mono);font-size:9px;color:var(--text-4);letter-spacing:0.3px;margin-bottom:12px}

.tips-bubble-close{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;background:var(--bg);border:1.5px solid var(--border-2);border-radius:var(--r-full);font-family:var(--font);font-size:14px;font-weight:700;color:var(--text-3);cursor:pointer;transition:all 0.3s var(--ease)}

.tips-bubble-close:hover{border-color:var(--accent-border-h);color:var(--accent);transform:translateY(-1px)}

.tips-cta{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;background:var(--accent);color:#fff;border-radius:var(--r-full);font-family:var(--font);font-size:14px;font-weight:700;box-shadow:0 3px 16px var(--accent-glow);transition:all 0.3s var(--ease)}

.tips-cta:hover{background:var(--accent-dark);transform:translateY(-1px)}

.tips-sparkle{position:absolute;width:6px;height:6px;border-radius:50%;pointer-events:none}


/* Tips trigger states */
.ax-tips-trigger.unlocked{background:linear-gradient(135deg,rgba(22,163,74,0.04),rgba(22,163,74,0.06));border-color:var(--border-2);cursor:default;pointer-events:none;opacity:0.5}

.ax-tips-trigger.unlocked::after{display:none}

.ax-tips-trigger.unlocked .ax-tips-bulb{animation:none}

.ax-tips-download{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 20px;background:var(--bg-card);border:1.5px solid var(--accent-border-h);border-radius:var(--r-full);cursor:pointer;font-family:var(--font);font-size:14px;font-weight:700;color:var(--accent);transition:all 0.3s var(--ease);margin-top:8px}

.ax-tips-download:hover{background:var(--accent-bg);transform:translateY(-2px);box-shadow:0 4px 16px rgba(22,163,74,0.10)}


/* ===== RESPONSIVE ===== */
@media(max-width:900px){
  .nav-links{display:none}
  .nav-scanner-mobile{display:inline-flex}
  .nav-logo{flex:0 1 auto;min-width:0}
  .reviews-grid{grid-template-columns:1fr}
  .g-reviews-grid{grid-template-columns:1fr}
  .g-loc-card{grid-template-columns:1fr}
  .g-loc-map{min-height:180px}
  .services-grid{grid-template-columns:1fr}
  .svc-card.wide{grid-column:span 1}
  .process-steps{grid-template-columns:1fr}
  .visit-grid{grid-template-columns:1fr}
  .visit-left{position:static;text-align:center}
  .footer-grid{grid-template-columns:1fr 1fr}
  .hero-stats{gap:24px}
  .proof-bar{gap:24px;flex-wrap:wrap}
  .problem-grid{grid-template-columns:1fr}
  .book-layout{grid-template-columns:1fr}
  .book-left{position:static;text-align:center}
  .book-sub{margin:0 auto 24px}
  .book-trust-cards{max-width:400px;margin:0 auto 20px}
  .book-locs{justify-content:center}
  .cta-title{text-align:center !important}
  .anatomy-layout{grid-template-columns:1fr;gap:20px}
  .anatomy-left,.anatomy-right{flex-direction:row;flex-wrap:wrap;gap:8px;justify-content:center}
  .anatomy-stat-card{flex:1;min-width:150px}
  .anatomy-figure{width:200px;height:440px}
}

@keyframes shimmer{0%{left:-100%}100%{left:100%}}

@keyframes reelSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}

@keyframes frostFloat{0%{transform:translateY(0) scale(1);opacity:0.6}50%{opacity:0.2}100%{transform:translateY(-200px) scale(0);opacity:0}}

@keyframes breathe{0%,100%{opacity:0.4;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}

@keyframes handFloat{to{opacity:0.6;transform:translateY(0) rotate(-3deg)}}

@keyframes hsPulse{0%,100%{box-shadow:0 0 0 4px rgba(22,163,74,0.15),0 0 12px var(--accent-glow)}50%{box-shadow:0 0 0 8px rgba(22,163,74,0.08),0 0 20px var(--accent-glow)}}

@keyframes bulbPulse{0%,100%{transform:scale(1) rotate(0deg)}25%{transform:scale(1.15) rotate(-5deg)}75%{transform:scale(1.15) rotate(5deg)}}

@keyframes tipBubblePop{0%{transform:scale(0) rotate(-20deg);opacity:0}60%{transform:scale(1.3) rotate(5deg)}100%{transform:scale(1) rotate(0deg);opacity:1}}
/* ------ WhatsApp floating agent (ported verbatim) ------ */


/* WHATSAPP AI AGENT */
.wa-float{position:fixed;bottom:28px;left:28px;z-index:600;display:flex;align-items:center;gap:0;pointer-events:none}

.wa-float-btn{width:56px;height:56px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(37,211,102,0.35);transition:all .3s var(--ease);cursor:pointer;pointer-events:all;position:relative;border:none}

.wa-float-btn:hover{transform:scale(1.08);box-shadow:0 6px 28px rgba(37,211,102,0.5)}

.wa-float-btn svg{width:28px;height:28px;fill:#fff}

.wa-float-btn::after{content:'';position:absolute;inset:-4px;border-radius:50%;border:2px solid rgba(37,211,102,0.3);animation:waRing 2.5s ease-in-out infinite;pointer-events:none}

@keyframes waRing{0%,100%{transform:scale(1);opacity:0.5}50%{transform:scale(1.15);opacity:0}}

.wa-float-tooltip{background:var(--text);color:#fff;font-family:var(--font);font-size:13px;font-weight:600;padding:10px 16px;border-radius:12px;white-space:nowrap;box-shadow:0 4px 20px rgba(0,0,0,0.15);pointer-events:all;opacity:0;transform:translateX(-8px);transition:all .3s var(--ease-out);margin-left:12px;position:relative;cursor:pointer}

.wa-float-tooltip::before{content:'';position:absolute;left:-6px;top:50%;transform:translateY(-50%);border:6px solid transparent;border-right-color:var(--text)}

.wa-float:hover .wa-float-tooltip,.wa-float.show-tip .wa-float-tooltip{opacity:1;transform:translateX(0);pointer-events:all}

.wa-float-tooltip .wa-close-tip{display:inline-block;margin-left:8px;opacity:0.4;cursor:pointer;font-size:11px}

.wa-float-tooltip .wa-close-tip:hover{opacity:1}

.wa-float-notif{position:absolute;top:-2px;right:-2px;width:18px;height:18px;background:#ef4444;border-radius:50%;border:2.5px solid var(--bg);display:flex;align-items:center;justify-content:center;font-family:var(--font);font-size:9px;font-weight:800;color:#fff;animation:notifPop .4s var(--ease) both;animation-delay:2s}

@keyframes notifPop{from{transform:scale(0)}to{transform:scale(1)}}
/* generic gradient word inside legacy section titles */
.sr-legacy .green{background:linear-gradient(135deg,var(--accent),var(--accent-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

