/* ════════════════════════════════════════════════════════
   LYXAA · GLASS v3 — Blue-dominant Apple theme
   ════════════════════════════════════════════════════════ */

:root {
  --glass-blur:     32px;
  --glass-sat:      200%;
  --glass-bg:       rgba(255,255,255,0.60);
  --glass-border:   rgba(255,255,255,0.72);
  --glass-shadow:   0 2px 8px rgba(0,0,0,.03), 0 16px 48px rgba(0,80,200,.08), inset 0 1.5px 0 rgba(255,255,255,0.95);
  --blue-glow:      rgba(0,113,227,0.55);
  --cyan-glow:      rgba(48,182,255,0.45);
}

/* ── Apple-grade font smoothing everywhere ── */
*, *::before, *::after {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* ── Body — cool blue-white base ── */
body {
  background: #f0f4f9 !important;
}

/* ── Section backgrounds — blue-tinted meshes ── */
#hero         { background: #fbfbfd !important; }
#manifesto    { background: #ffffff !important; }
#prevention   { background: linear-gradient(160deg,#f0f6ff 0%,#eaf3fb 100%); }
#approach     { background: linear-gradient(160deg,#f7faff 0%,#eff5fc 100%); }
#gains        { background: linear-gradient(160deg,#eaf3fb 0%,#f0f6ff 100%) !important; }
#numbers      { background: linear-gradient(160deg,#f0f6ff 0%,#e8f0fd 100%); }
#services     { background: linear-gradient(160deg,#eef5ff 0%,#e8f2fd 100%) !important; }
#reviews      { background: linear-gradient(160deg,#f0f6ff 0%,#eaf3fb 100%); }
#team         { background: #f4f8ff; }
#faq          { background: linear-gradient(160deg,#eef5ff 0%,#f0f6ff 100%) !important; }
#conditions   { background: #f0f6ff; }
#showcase     { background: linear-gradient(160deg,#e8f2fd 0%,#eef5ff 100%) !important; }

/* ══════════════════════════════════════════
   ANIMATED GLOW BORDERS — blue/cyan conic
   ══════════════════════════════════════════ */
@property --ga {
  syntax: '<angle>';
  initial-value: 0deg;
  inherits: false;
}
@keyframes ga-spin { to { --ga: 360deg; } }

/* Shared glow-border mixin via ::before */
.asvc-card:not(.asvc-hero),
.card:not(.dark),
.rv-card,
.num-s,
.lmx-delta {
  position: relative;
  isolation: isolate;
}
.asvc-card:not(.asvc-hero)::before,
.card:not(.dark)::before,
.rv-card::before,
.num-s::before,
.lmx-delta::before {
  content: '';
  position: absolute;
  inset: -1.5px;
  border-radius: inherit;
  padding: 1.5px;
  background: conic-gradient(
    from var(--ga),
    transparent     0%,
    rgba(0,113,227,.5)  12%,
    rgba(48,182,255,.4) 25%,
    transparent     38%
  );
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 0;
  animation: ga-spin 5.5s linear infinite;
  transition: opacity .5s ease;
  pointer-events: none;
  z-index: -1;
}
/* reveal on scroll-in */
.asvc-card.rv.on:not(.asvc-hero)::before,
.card.rv.on:not(.dark)::before,
.rv-card.rv.on::before,
.num-s.rv.on::before {
  opacity: 0.55;
}
/* full glow on hover */
.asvc-card:not(.asvc-hero):hover::before,
.card:not(.dark):hover::before,
.rv-card:hover::before,
.num-s:hover::before {
  opacity: 1;
}

/* ── Glass surface for all light cards ── */
.asvc-card:not(.asvc-hero):not(.asvc-tech),
.card:not(.dark),
.rv-card,
.num-s,
.lmx-delta {
  background: var(--glass-bg) !important;
  backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat)) !important;
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat)) !important;
  border: 1px solid var(--glass-border) !important;
  box-shadow: var(--glass-shadow) !important;
  transition: transform .5s cubic-bezier(.16,1,.3,1),
              box-shadow .5s ease,
              border-color .4s ease !important;
}

/* hover lift */
.asvc-card:not(.asvc-hero):not(.asvc-tech):hover,
.card:not(.dark):hover,
.rv-card:hover,
.num-s:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.04),
              0 24px 60px rgba(0,80,200,.10),
              inset 0 1px 0 rgba(255,255,255,.95) !important;
  border-color: rgba(0,113,227,.22) !important;
}

/* ── Hero bento card — clean frosted white ── */
.asvc-hero {
  background: #fff !important;
  border: 1px solid rgba(0,0,0,.08) !important;
  box-shadow: 0 2px 16px rgba(0,0,0,.06) !important;
  isolation: isolate;
}
.asvc-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(0,113,227,.03) 0%, transparent 55%);
  pointer-events: none;
  z-index: 0;
  border-radius: inherit;
}
.asvc-hero.rv.on { animation: none; }
.asvc-hero:hover {
  box-shadow: 0 8px 32px rgba(0,0,0,.09), 0 0 0 1px rgba(0,113,227,.1) !important;
  border-color: rgba(0,113,227,.14) !important;
}

/* Hero text — dark on white */
.asvc-hero h3 { color: #1d1d1f !important; font-size: clamp(17px,1.7vw,22px) !important; font-weight: 700 !important; letter-spacing: -.03em !important; line-height: 1.15 !important; }
.asvc-hero p { color: #6e6e73 !important; font-size: 13px !important; }
.asvc-hero .asvc-link { color: #0071e3 !important; }
.asvc-hero .bm-big-n { color: #1d1d1f !important; }
.asvc-hero .bm-num-label strong { color: #1d1d1f !important; }
.asvc-hero .bm-num-label span { color: #6e6e73 !important; }
.asvc-hero .bm-ci span { color: #1d1d1f !important; }
.asvc-hero .bm-ci b { color: #86868b !important; }
.asvc-hero .bm-cta { color: #0071e3 !important; }
.asvc-tag-green {
  color: #1d1d1f !important;
  background: rgba(0,0,0,.05) !important;
  border-color: rgba(0,0,0,.09) !important;
}
.asvc-tag-blue {
  color: #0055b3 !important;
  background: rgba(0,113,227,.07) !important;
  border-color: rgba(0,113,227,.14) !important;
}

/* Glowing chart lines inside hero */
.asvc-line-1 { stroke: #5bbbff !important; filter: drop-shadow(0 0 5px rgba(0,150,255,.8)); }
.asvc-line-2 { stroke: #a78bfa !important; filter: drop-shadow(0 0 5px rgba(140,100,255,.7)); }
.asvc-hero circle:nth-child(4) { fill: #5bbbff !important; }
.asvc-hero circle:nth-child(5) { fill: #a78bfa !important; }

/* Metric chips */
.asvc-metric {
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
}
.asvc-md { color: #5bbbff !important; }

/* ── Section headings — Apple SF Pro feel ── */
.svc2-h2, .sec-h2, .lmx2-h2, .kx-h2, .gx-h2 {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", sans-serif !important;
  letter-spacing: -.05em !important;
  font-weight: 700 !important;
}
.svc2-head {
  text-align: center !important;
  max-width: 640px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.svc2-h2 { color: #1d1d1f !important; }
.svc2-lead { color: #6e6e73 !important; font-size: clamp(15px,1.3vw,18px) !important; }
.svc2-head .sec-eyebrow {
  color: #0071e3 !important;
  border-color: rgba(0,113,227,.18) !important;
}
.lmx-eb-dot { background: #0071e3 !important; }

/* ── AI Chat card — blue tint ── */
.asvc-ai {
  background: rgba(235,245,255,.78) !important;
  border-color: rgba(0,113,227,.14) !important;
}
.asvc-msg-out .asvc-msg-b { background: #0071e3 !important; }

/* ── Bottom row cards ── */
.asvc-meta, .asvc-mental, .asvc-gut {
  background: rgba(255,255,255,.70) !important;
  border: 1px solid rgba(255,255,255,.68) !important;
}
.asvc-darc { stroke: #0071e3 !important; }
.asvc-donut-lbl b { color: #0071e3 !important; }
.asvc-ring.r1 { background: rgba(0,113,227,.07) !important; }
.asvc-ring.r2 { background: rgba(0,113,227,.14) !important; }
.asvc-ring.r3 { background: rgba(0,113,227,.24) !important; }
.asvc-ring.r4 { background: #0071e3 !important; }

/* ── Testimonials ── */
.rv-card { background: rgba(255,255,255,.78) !important; }

/* ── Stats ── */
.num-s { border-radius: 22px !important; }

/* ── Method delta cards ── */
.lmx-delta { border-radius: 18px !important; }

/* ── Conditions ── */
.ct-row {
  background: rgba(255,255,255,.72) !important;
  backdrop-filter: blur(14px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(160%) !important;
  border: 1px solid rgba(255,255,255,.60) !important;
  box-shadow: 0 4px 18px rgba(0,40,120,.04) !important;
}
.ct-row.is-on {
  background: rgba(0,113,227,.06) !important;
  border-color: rgba(0,113,227,.2) !important;
}

/* ── Phone float cards ── */
.tsx-float {
  background: rgba(255,255,255,.88) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  border: 1px solid rgba(255,255,255,.74) !important;
  box-shadow: 0 18px 48px rgba(0,40,120,.12) !important;
}
.tp-m {
  background: rgba(255,255,255,.82) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border: 1px solid rgba(255,255,255,.68) !important;
}

/* ── Old bento vb cards ── */
.vb-int, .vb-step, .vb-stat, .vb-pills {
  background: rgba(255,255,255,.70) !important;
  backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat)) !important;
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat)) !important;
  border: 1px solid rgba(255,255,255,.65) !important;
}

/* ── Glowcard ── */
.glowcard-in {
  background: rgba(255,255,255,.74) !important;
  backdrop-filter: blur(var(--glass-blur)) !important;
  -webkit-backdrop-filter: blur(var(--glass-blur)) !important;
}

/* ── FAQ ── */
.faq { border-color: rgba(0,40,120,.06) !important; }

/* ── Team ── */
.tm-photo-wrap { box-shadow: 0 8px 28px rgba(0,40,120,.07) !important; }
.tm:hover .tm-photo-wrap { box-shadow: 0 20px 52px rgba(0,40,120,.14) !important; }

/* ── Dark cards — no blur ── */
.card.dark, .num-hero, .cta-card, .lmx-plan {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* ── Progress beam ── */
#px-progress {
  background: linear-gradient(90deg,#0055b3,#0071e3 55%,#5bbbff) !important;
  box-shadow: 0 0 12px rgba(0,113,227,.55) !important;
}

/* ── Selection color ── */
::selection { background: rgba(0,113,227,.18); }

/* ── Typography polish: tighten all display headings ── */
h1,h2,h3,h4 {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", sans-serif !important;
  font-feature-settings: "kern" 1, "liga" 1, "rlig" 1;
}
p, li, span, a, button {
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", sans-serif !important;
}

/* ── Scrollbar — thin apple style ── */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(0,0,0,.18); border-radius: 9px; }
::-webkit-scrollbar-thumb:hover { background: rgba(0,0,0,.28); }

/* ── Responsive ── */
@media (max-width:768px) {
  :root { --glass-blur: 14px; }
}
