/* ═══════════════════════════════════════════════════════════
   Jazmine Sports & Thai Massage — Design System
   Ocean Teal · Gold · Deep Navy — Maximum Luxury
   ═══════════════════════════════════════════════════════════ */

/* ── TOKENS ── */
:root {
  --navy:          #020D14;
  --royal:         #041820;
  --royal-mid:     #062A35;
  --royal-light:   #083848;

  --teal:          #009B8A;
  --teal-lt:       #00C4B0;
  --cyan:          #00B8D4;
  --cyan-lt:       #40D4F0;
  --teal-glow:     rgba(0,196,176,0.35);
  --teal-soft:     rgba(0,196,176,0.10);
  --teal-border:   rgba(0,196,176,0.28);

  --gold:          #C9A84C;
  --gold-lt:       #E8C97A;
  --gold-pale:     #FDF5E0;
  --gold-glow:     rgba(201,168,76,0.32);
  --gold-soft:     rgba(201,168,76,0.10);
  --gold-border:   rgba(201,168,76,0.28);

  --pink:          #FF6B9D;
  --pink-lt:       #FF9EC0;
  --green:         #4CAF8A;
  --green-lt:      #6DCFAA;

  --td:            #E8F6F8;
  --md:            #7AB8C0;
  --dd:            #2A5060;

  --tl:            #041820;
  --ml:            #2A7A88;
  --dl:            #6AB0BC;

  --cream:         #F0FAF9;
  --cream-mid:     #DAEEF0;

  --lined:         rgba(0,196,176,0.16);
  --lined-s:       rgba(0,196,176,0.32);
  --linel:         rgba(0,184,212,0.18);
  --linel-s:       rgba(0,184,212,0.32);

  --shadow:        0 24px 64px rgba(0,0,0,0.70);
  --shadow-teal:   0 16px 48px rgba(0,196,176,0.26);
  --shadow-gold:   0 16px 48px rgba(201,168,76,0.22);
  --shadow-light:  0 8px 32px rgba(0,184,212,0.14);

  --radius:        18px;
  --content:       1200px;

  --ffh:  'Quicksand', system-ui, sans-serif;
  --ffs:  'Cormorant Garamond', Georgia, serif;
  --ffb:  'Inter', system-ui, sans-serif;
}

/* ── RESET ── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0 }
html { scroll-behavior:smooth; overflow-x:hidden }
body {
  background:var(--navy);
  color:var(--td);
  font-family:var(--ffb);
  font-weight:400;
  line-height:1.7;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img { display:block; max-width:100% }
a  { color:inherit; text-decoration:none }
button { border:0; background:none; font:inherit; cursor:pointer; color:inherit }
ul { list-style:none }
::selection { background:var(--teal); color:var(--navy) }

/* ── KEYFRAMES ── */
@keyframes tealFlow    { 0%{background-position:0% center} 100%{background-position:200% center} }
@keyframes kenBurns    { from{transform:scale(1)} to{transform:scale(1.08)} }
@keyframes aurora      { 0%,100%{opacity:.55;transform:scale(1) translate(0,0)} 50%{opacity:.9;transform:scale(1.06) translate(1.5%,-1.5%)} }
@keyframes floatOrb    { 0%,100%{transform:translateY(0) scale(1)} 50%{transform:translateY(-22px) scale(1.05)} }
@keyframes floatOrbAlt { 0%,100%{transform:translateY(0) scale(1)} 50%{transform:translateY(16px) scale(.97)} }
@keyframes stripScroll { from{transform:translateX(0)} to{transform:translateX(-50%)} }
@keyframes glowPulse   { 0%,100%{box-shadow:0 0 18px var(--teal-glow),0 0 40px rgba(0,196,176,0.12)} 50%{box-shadow:0 0 40px var(--teal-glow),0 0 80px rgba(0,196,176,0.22)} }
@keyframes shimmer     { 0%{background-position:-200% center} 100%{background-position:200% center} }
@keyframes shimmerText { 0%{background-position:0% center} 100%{background-position:300% center} }
@keyframes separatorPulse { 0%,100%{opacity:.35} 50%{opacity:1} }
@keyframes cardGlow    { 0%,100%{box-shadow:0 0 0 1px var(--teal-border)} 50%{box-shadow:0 0 28px var(--teal-glow),0 0 1px var(--teal-border)} }
@keyframes particleFloat { 0%,100%{transform:translateY(0) translateX(0) scale(1);opacity:.55} 33%{transform:translateY(-30px) translateX(12px) scale(1.1);opacity:.8} 66%{transform:translateY(18px) translateX(-8px) scale(.9);opacity:.4} }

/* ── LAYOUT ── */
.shell { width:min(var(--content),calc(100% - 3rem)); margin:0 auto; position:relative; z-index:1 }
section { padding:6rem 0; position:relative }

/* ── REVEAL ANIMATIONS ── */
[data-reveal]   { opacity:0; transform:translateY(28px); transition:opacity .75s ease,transform .75s ease }
[data-reveal].vis { opacity:1; transform:none }
[data-reveal-l] { opacity:0; transform:translateX(-32px); transition:opacity .78s ease,transform .78s ease }
[data-reveal-l].vis { opacity:1; transform:none }
[data-reveal-r] { opacity:0; transform:translateX(32px); transition:opacity .78s ease,transform .78s ease }
[data-reveal-r].vis { opacity:1; transform:none }

/* ── GRADIENT TEXT ── */
.text-teal {
  background:linear-gradient(135deg,var(--teal) 0%,var(--teal-lt) 35%,var(--cyan-lt) 55%,var(--teal-lt) 80%,var(--teal) 100%);
  background-size:300% auto;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  animation:shimmerText 6s ease infinite;
}
.text-gold {
  background:linear-gradient(135deg,var(--gold) 0%,var(--gold-lt) 50%,var(--gold) 100%);
  background-size:200% auto;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  animation:tealFlow 5s ease infinite;
}

/* ── SECTION DECORATORS ── */
.ornament {
  display:flex; align-items:center; gap:14px; margin-bottom:12px;
}
.ornament::before,.ornament::after {
  content:''; flex:1; height:1px;
  background:linear-gradient(90deg,transparent,var(--teal-border),transparent);
  animation:separatorPulse 3s ease-in-out infinite;
}
.ornament-text {
  font-family:var(--ffh); font-weight:700; text-transform:uppercase;
  letter-spacing:.22em; font-size:.72rem; white-space:nowrap; color:var(--teal-lt);
}
.ornament.light .ornament-text { color:var(--teal) }
.ornament.light::before,.ornament.light::after {
  background:linear-gradient(90deg,transparent,var(--linel-s),transparent);
}

.kicker {
  display:block; font-family:var(--ffh); font-size:.76rem; font-weight:700;
  letter-spacing:.28em; text-transform:uppercase; color:var(--teal-lt); margin-bottom:10px;
}
.kicker.dark-sec { color:var(--teal) }

.section-title {
  font-family:var(--ffs); font-weight:600;
  font-size:clamp(2rem,4.5vw,3.4rem); line-height:1.1; letter-spacing:.01em;
  margin-bottom:1rem;
}
.section-title.on-dark { color:#fff }
.section-title.on-light {
  background:linear-gradient(135deg,var(--tl) 0%,var(--ml) 100%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.section-copy { font-size:1rem; line-height:1.9; max-width:600px }
.section-copy.on-dark { color:var(--md) }
.section-copy.on-light { color:var(--ml) }

/* ── SEPARATOR SHIMMER ── */
.sep-shimmer {
  height:2px; margin:0;
  background:linear-gradient(90deg,transparent,var(--teal-lt),var(--gold-lt),var(--teal-lt),transparent);
  background-size:300% 100%;
  animation:shimmer 4s ease infinite;
}

/* ── WAVE DIVIDERS ── */
.wave-dtl,.wave-ltd { line-height:0; position:relative; z-index:2 }
.wave-dtl { background:var(--navy) }
.wave-ltd { background:var(--cream) }
.wave-dtl svg,.wave-ltd svg { width:100%; display:block }

/* ── BUTTONS ── */
.btn-teal {
  display:inline-flex; align-items:center; gap:8px; padding:13px 30px;
  background:linear-gradient(135deg,var(--teal),var(--teal-lt),var(--cyan));
  background-size:200% auto;
  color:var(--navy); font-family:var(--ffh); font-size:.74rem; font-weight:700;
  letter-spacing:.18em; text-transform:uppercase; border:none; cursor:pointer;
  border-radius:var(--radius); box-shadow:0 8px 24px var(--teal-glow);
  transition:transform .2s,box-shadow .2s,background-position .4s;
}
.btn-teal:hover { transform:translateY(-3px); background-position:right center; box-shadow:0 16px 48px var(--teal-glow) }

.btn-gold {
  display:inline-flex; align-items:center; gap:8px; padding:13px 30px;
  background:linear-gradient(135deg,var(--gold),var(--gold-lt),var(--gold));
  background-size:200% auto;
  color:var(--navy); font-family:var(--ffh); font-size:.74rem; font-weight:700;
  letter-spacing:.18em; text-transform:uppercase; border:none; cursor:pointer;
  border-radius:var(--radius); box-shadow:0 8px 24px var(--gold-glow);
  transition:transform .2s,box-shadow .2s,background-position .4s;
}
.btn-gold:hover { transform:translateY(-3px); background-position:right center; box-shadow:0 16px 48px var(--gold-glow) }

.btn-teal-outline {
  display:inline-flex; align-items:center; gap:8px; padding:12px 28px;
  background:transparent; color:var(--teal-lt);
  font-family:var(--ffh); font-size:.74rem; font-weight:700;
  letter-spacing:.18em; text-transform:uppercase;
  border:2px solid var(--teal-border); cursor:pointer; border-radius:var(--radius);
  transition:background .2s,color .2s,border-color .2s,box-shadow .2s;
}
.btn-teal-outline:hover { background:var(--teal-soft); border-color:var(--teal-lt); box-shadow:0 8px 28px var(--teal-glow); color:var(--teal-lt) }

.btn-gold-outline {
  display:inline-flex; align-items:center; gap:8px; padding:12px 28px;
  background:transparent; color:var(--gold-lt);
  font-family:var(--ffh); font-size:.74rem; font-weight:700;
  letter-spacing:.18em; text-transform:uppercase;
  border:2px solid var(--gold-border); cursor:pointer; border-radius:var(--radius);
  transition:background .2s,color .2s,border-color .2s,box-shadow .2s;
}
.btn-gold-outline:hover { background:var(--gold-soft); border-color:var(--gold-lt); box-shadow:0 8px 28px var(--gold-glow); color:var(--gold-lt) }

.btn-navy {
  display:inline-flex; align-items:center; gap:8px; padding:12px 28px;
  background:var(--navy); color:var(--teal-lt);
  font-family:var(--ffh); font-size:.74rem; font-weight:700;
  letter-spacing:.18em; text-transform:uppercase;
  border:2px solid var(--teal-border); cursor:pointer; border-radius:var(--radius);
  transition:background .2s,box-shadow .2s;
}
.btn-navy:hover { background:var(--royal); box-shadow:0 8px 28px var(--teal-glow) }

.btn-wa {
  display:inline-flex; align-items:center; gap:10px; padding:14px 32px;
  background:linear-gradient(135deg,#128C7E,#25D366,#128C7E);
  background-size:200% auto;
  color:#fff; font-family:var(--ffh); font-size:.78rem; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; border:none; cursor:pointer;
  border-radius:var(--radius); box-shadow:0 8px 24px rgba(37,211,102,0.3);
  transition:transform .2s,background-position .4s,box-shadow .2s;
}
.btn-wa:hover { transform:translateY(-3px); background-position:right center; box-shadow:0 14px 40px rgba(37,211,102,0.4) }

/* ── NAV ── */
#nav {
  position:fixed; top:0; left:0; right:0; z-index:1000; height:72px;
  background:rgba(2,13,20,.95); backdrop-filter:blur(20px);
  border-bottom:1px solid var(--lined);
  display:flex; align-items:center;
  transition:box-shadow .3s,border-color .3s;
}
#nav.scrolled { box-shadow:0 4px 32px rgba(0,0,0,.8),0 0 0 1px var(--teal-border); border-color:var(--teal-border) }

.nav-in {
  display:flex; align-items:center; justify-content:space-between;
  width:min(var(--content),calc(100% - 3rem)); margin:0 auto;
}

.nav-logo { display:flex; align-items:center; gap:12px; text-decoration:none }
.nav-logo-img {
  width:38px; height:38px; object-fit:contain; border-radius:50%;
  filter:drop-shadow(0 0 10px rgba(0,196,176,0.5));
}
.nav-wordmark { line-height:1.1 }
.nav-brand {
  font-family:var(--ffs); font-style:italic; font-weight:600; font-size:1.18rem;
  letter-spacing:.02em;
  background:linear-gradient(135deg,var(--teal) 0%,var(--teal-lt) 40%,var(--cyan-lt) 60%,var(--teal-lt) 80%,var(--teal) 100%);
  background-size:300% auto;
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  animation:shimmerText 7s ease infinite;
  display:block;
}
.nav-tagline {
  font-family:var(--ffh); font-size:.52rem; font-weight:600;
  letter-spacing:.22em; text-transform:uppercase;
  color:var(--md); display:block;
}

.nav-links { display:flex; align-items:center; gap:20px }
.nav-links a {
  font-family:var(--ffh); font-size:.68rem; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase;
  color:rgba(232,246,248,.45); transition:color .2s;
}
.nav-links a:hover { color:var(--teal-lt) }

.nav-book {
  padding:9px 22px;
  background:linear-gradient(135deg,var(--teal),var(--teal-lt));
  color:var(--navy); font-family:var(--ffh); font-size:.7rem; font-weight:700;
  letter-spacing:.16em; text-transform:uppercase; border:none; border-radius:var(--radius);
  box-shadow:0 4px 18px var(--teal-glow); transition:transform .2s,box-shadow .2s; cursor:pointer;
}
.nav-book:hover { transform:translateY(-2px); box-shadow:0 10px 32px var(--teal-glow) }

.nav-burger { display:none; flex-direction:column; gap:5px; padding:6px; cursor:pointer }
.nav-burger span { width:22px; height:2px; background:var(--teal-lt); transition:all .25s; border-radius:2px }
@media(max-width:900px) { .nav-links{display:none} .nav-burger{display:flex} }

/* ── MOBILE MENU ── */
#mobileMenu {
  position:fixed; top:72px; left:0; right:0; z-index:999;
  background:rgba(2,13,20,.99); backdrop-filter:blur(20px);
  border-bottom:1px solid var(--teal-border);
  padding:24px; transform:translateY(-110%); transition:transform .3s ease;
  display:flex; flex-direction:column; gap:14px;
}
#mobileMenu.open { transform:none }
#mobileMenu a {
  font-family:var(--ffh); font-size:.9rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  color:rgba(232,246,248,.65); padding:10px 0; border-bottom:1px solid var(--lined);
}
#mobileMenu a:hover { color:var(--teal-lt) }
#mobileMenu .mob-book { margin-top:8px; width:100%; justify-content:center }

/* ── FLOATING ORBS ── */
.orb { position:absolute; border-radius:50%; pointer-events:none; filter:blur(44px) }
.orb-teal { background:radial-gradient(circle,rgba(0,196,176,.28),transparent 70%); width:340px; height:340px; animation:floatOrb 9s ease-in-out infinite }
.orb-gold { background:radial-gradient(circle,rgba(201,168,76,.22),transparent 70%); width:280px; height:280px; animation:floatOrb 11s ease-in-out infinite; animation-delay:-4s }
.orb-cyan { background:radial-gradient(circle,rgba(0,184,212,.18),transparent 70%); width:240px; height:240px; animation:floatOrbAlt 8s ease-in-out infinite; animation-delay:-2s }
.orb-pink { background:radial-gradient(circle,rgba(255,107,157,.14),transparent 70%); width:200px; height:200px; animation:floatOrbAlt 13s ease-in-out infinite; animation-delay:-6s }

/* ── HERO SECTION ── */
#hero {
  position:relative; min-height:100vh; display:flex; align-items:center;
  overflow:hidden; padding-top:72px;
}
.hero-bg { position:absolute; inset:0; z-index:0 }
.hero-bg img { width:100%; height:100%; object-fit:cover; filter:brightness(.38) saturate(.85); animation:kenBurns 24s ease-in-out infinite alternate }
.hero-overlay {
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(160deg,rgba(2,13,20,.98) 0%,rgba(2,13,20,.55) 50%,rgba(2,13,20,.92) 100%);
}
.hero-aurora {
  position:absolute; inset:0; z-index:2; pointer-events:none;
  background:
    radial-gradient(ellipse 70% 60% at 25% 40%,rgba(0,196,176,0.12) 0%,transparent 65%),
    radial-gradient(ellipse 50% 45% at 75% 65%,rgba(201,168,76,0.09) 0%,transparent 60%),
    radial-gradient(ellipse 35% 30% at 10% 80%,rgba(0,184,212,0.07) 0%,transparent 55%),
    radial-gradient(ellipse 40% 35% at 90% 20%,rgba(0,196,176,0.08) 0%,transparent 50%);
  animation:aurora 10s ease-in-out infinite;
}
.hero-overlay::before {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,transparent,rgba(0,196,176,.5),rgba(201,168,76,.35),transparent);
  animation:shimmer 4s ease infinite;
  background-size:300% 100%;
}

/* Hero particles */
.hero-particles { position:absolute; inset:0; z-index:2; pointer-events:none; overflow:hidden }
.hero-particles span {
  position:absolute; border-radius:50%; background:var(--teal-lt); opacity:0;
}
.hero-particles span:nth-child(1)  { width:3px;height:3px;top:18%;left:12%;animation:particleFloat 7s 0s ease-in-out infinite }
.hero-particles span:nth-child(2)  { width:2px;height:2px;top:32%;left:28%;animation:particleFloat 9s 1.5s ease-in-out infinite;background:var(--gold-lt) }
.hero-particles span:nth-child(3)  { width:4px;height:4px;top:55%;left:8%;animation:particleFloat 8s 3s ease-in-out infinite }
.hero-particles span:nth-child(4)  { width:2px;height:2px;top:72%;left:20%;animation:particleFloat 11s 0.8s ease-in-out infinite;background:var(--cyan-lt) }
.hero-particles span:nth-child(5)  { width:3px;height:3px;top:15%;left:72%;animation:particleFloat 10s 2s ease-in-out infinite;background:var(--gold-lt) }
.hero-particles span:nth-child(6)  { width:2px;height:2px;top:40%;left:85%;animation:particleFloat 7s 4s ease-in-out infinite }
.hero-particles span:nth-child(7)  { width:4px;height:4px;top:68%;left:65%;animation:particleFloat 9s 1s ease-in-out infinite;background:var(--gold-lt) }
.hero-particles span:nth-child(8)  { width:2px;height:2px;top:85%;left:45%;animation:particleFloat 8s 2.5s ease-in-out infinite }
.hero-particles span:nth-child(9)  { width:3px;height:3px;top:25%;left:50%;animation:particleFloat 12s 0.5s ease-in-out infinite;background:var(--cyan-lt) }
.hero-particles span:nth-child(10) { width:2px;height:2px;top:60%;left:92%;animation:particleFloat 6s 3.5s ease-in-out infinite;background:var(--gold-lt) }

.hero-inner {
  position:relative; z-index:5;
  width:min(var(--content),calc(100% - 3rem)); margin:0 auto;
  padding:5rem 0 4rem;
  display:grid; grid-template-columns:1fr 420px; gap:5rem; align-items:center;
}
@media(max-width:1024px){ .hero-inner{grid-template-columns:1fr;gap:3rem;text-align:center} }

.hero-left {}
.hero-eyebrow {
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--ffh); font-size:.62rem; font-weight:700;
  letter-spacing:.3em; text-transform:uppercase; color:var(--gold-lt); margin-bottom:1.4rem;
}
.hero-eyebrow::before,.hero-eyebrow::after { content:''; width:28px; height:1px; background:currentColor; opacity:.5 }

.hero-title {
  font-family:var(--ffs); font-weight:600;
  font-size:clamp(3rem,7vw,6rem); line-height:.95; letter-spacing:-.01em;
  color:#fff; margin-bottom:1rem;
}
.hero-title .shimmer-line {
  background:linear-gradient(90deg,var(--teal-lt),var(--cyan-lt),var(--gold-lt),var(--teal-lt));
  background-size:300% auto;
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  animation:shimmerText 4.5s ease infinite;
  display:block;
}
.hero-title .sub-line { color:rgba(232,246,248,.88); display:block; font-size:.82em }
.hero-sub { font-size:1.05rem; color:rgba(232,246,248,.62); line-height:1.9; max-width:500px; margin:0 0 2rem }
@media(max-width:1024px){ .hero-sub{margin:0 auto 2rem} }
.hero-actions { display:flex; flex-wrap:wrap; gap:.85rem }
@media(max-width:1024px){ .hero-actions{justify-content:center} }

.hero-stats {
  display:flex; gap:0; flex-wrap:nowrap; margin-top:2.5rem;
  border:1px solid var(--teal-border); border-radius:var(--radius);
  overflow:hidden; background:rgba(0,196,176,.04); backdrop-filter:blur(12px);
}
@media(max-width:1024px){ .hero-stats{display:inline-flex} }
.hero-stat {
  padding:.85rem 1.6rem; text-align:center; border-right:1px solid var(--teal-border); flex:1; min-width:100px;
}
.hero-stat:last-child { border-right:0 }
.hero-stat-num { font-family:var(--ffs); font-size:1.5rem; font-weight:600; color:var(--teal-lt); line-height:1; display:block }
.hero-stat-lbl { font-family:var(--ffh); font-size:.58rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:rgba(232,246,248,.4); margin-top:.25rem; display:block }

/* Hero booking card */
.hero-card {
  background:linear-gradient(160deg,rgba(6,42,53,.9),rgba(2,13,20,.95));
  border:1px solid var(--teal-border);
  border-radius:24px; padding:2rem;
  backdrop-filter:blur(24px);
  animation:cardGlow 3s ease-in-out infinite;
  position:relative; overflow:hidden;
}
.hero-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--teal),var(--teal-lt),var(--gold-lt),var(--teal-lt),var(--teal));
  background-size:300% 100%;
  animation:shimmer 3s ease infinite;
}
.hero-card-eyebrow {
  font-family:var(--ffh); font-size:.62rem; font-weight:700; letter-spacing:.28em;
  text-transform:uppercase; color:var(--teal-lt); margin-bottom:1rem; display:flex; align-items:center; gap:8px;
}
.hero-card-eyebrow::before { content:'✦'; font-size:.7em; color:var(--gold-lt) }
.hero-card-title {
  font-family:var(--ffs); font-size:1.6rem; font-weight:600; color:#fff;
  margin-bottom:.3rem; line-height:1.2;
}
.hero-card-sub { font-size:.82rem; color:var(--md); margin-bottom:1.4rem; line-height:1.6 }
.hero-card-divider { height:1px; background:var(--lined); margin:1.2rem 0 }
.hero-quick-services { display:flex; flex-direction:column; gap:.6rem; margin-bottom:1.4rem }
.hero-qs-row {
  display:flex; align-items:center; justify-content:space-between;
  padding:.55rem .85rem;
  background:rgba(0,196,176,.06); border:1px solid var(--lined);
  border-radius:10px; cursor:pointer;
  transition:background .2s,border-color .2s,box-shadow .2s;
}
.hero-qs-row:hover { background:rgba(0,196,176,.12); border-color:var(--teal-border); box-shadow:0 4px 16px rgba(0,196,176,.15) }
.hero-qs-name { font-family:var(--ffh); font-size:.72rem; font-weight:600; color:var(--td); letter-spacing:.04em }
.hero-qs-price { font-family:var(--ffs); font-size:.95rem; font-weight:600; color:var(--teal-lt) }
.hero-card-cta { width:100%; justify-content:center; font-size:.76rem; padding:14px }

.hero-card-phones { margin-top:1rem; display:flex; flex-direction:column; gap:.45rem }
.hero-phone-link {
  display:flex; align-items:center; gap:8px;
  font-family:var(--ffh); font-size:.7rem; font-weight:600; color:var(--md);
  padding:.4rem .6rem; border-radius:8px; transition:color .2s,background .2s;
}
.hero-phone-link:hover { color:var(--teal-lt); background:rgba(0,196,176,.08) }
.hero-phone-icon { font-size:.85rem }

/* ── SCROLLING STRIP ── */
.strip-scroll { overflow:hidden; border-top:1px solid var(--lined); border-bottom:1px solid var(--lined); background:rgba(0,196,176,.03); padding:0 }
.strip-track { display:flex; width:max-content; animation:stripScroll 36s linear infinite }
.strip-item { display:flex; align-items:center; gap:.85rem; padding:14px 36px; border-right:1px solid var(--lined); white-space:nowrap }
.strip-dot { font-size:.75rem }
.strip-t { color:var(--teal-lt) }
.strip-g { color:var(--gold-lt) }
.strip-c { color:var(--cyan-lt) }
.strip-p { color:var(--pink-lt) }
.strip-gn { color:var(--green-lt) }
.strip-text { font-family:var(--ffs); font-style:italic; font-size:1rem; color:var(--td); letter-spacing:.02em }

/* ── SECTION: LIGHT ── */
.sec-light {
  background:var(--cream);
  position:relative; z-index:1;
}
.sec-light-warm {
  background:var(--cream-mid);
  position:relative; z-index:1;
}
.sec-light::before,
.sec-light-warm::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 55% 40% at 100% 0%,  rgba(0,196,176,0.14) 0%,transparent 60%),
    radial-gradient(ellipse 40% 35% at 0%  100%, rgba(0,196,176,0.10) 0%,transparent 55%),
    radial-gradient(ellipse 50% 45% at 15% 20%,  rgba(0,184,212,0.10) 0%,transparent 65%),
    radial-gradient(ellipse 45% 40% at 88% 80%,  rgba(201,168,76,0.08) 0%,transparent 62%);
}
.lotus-watermark {
  position:absolute; opacity:.04; pointer-events:none; user-select:none;
  font-size:220px; line-height:1; color:var(--teal); font-family:serif;
}
.lotus-watermark.tl { top:-40px; left:-30px }
.lotus-watermark.br { bottom:-40px; right:-30px; transform:rotate(180deg) }

/* ── SECTION: DARK ── */
.sec-dark { background:var(--navy); position:relative; z-index:1 }
.sec-dark::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 50% 40% at 15% 20%,rgba(0,196,176,0.06) 0%,transparent 60%),
    radial-gradient(ellipse 45% 35% at 85% 80%,rgba(201,168,76,0.05) 0%,transparent 55%),
    radial-gradient(ellipse 35% 30% at 50% 50%,rgba(0,184,212,0.04) 0%,transparent 50%);
}
.sec-royal { background:var(--royal); position:relative; z-index:1 }
.sec-royal::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse 55% 45% at 50% 0%,rgba(0,196,176,0.07) 0%,transparent 60%);
}

/* ── SERVICES GRID ── */
.svc-head { text-align:center; margin-bottom:3rem }
.svc-head .section-copy { max-width:560px; margin:.8rem auto 0 }

.svc-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.1rem;
}
@media(max-width:900px){ .svc-grid{grid-template-columns:repeat(2,1fr)} }
@media(max-width:520px){ .svc-grid{grid-template-columns:1fr} }

.svc-card {
  background:#1e6858;
  border:1px solid rgba(0,196,176,.18);
  border-left:4px solid;
  border-radius:var(--radius); padding:1.8rem 1.6rem 1.6rem;
  cursor:pointer; position:relative; overflow:hidden;
  backdrop-filter:blur(12px);
  transition:transform .22s,box-shadow .22s,border-color .22s;
}
.svc-card::after {
  content:''; position:absolute; inset:0; border-radius:inherit;
  opacity:0; transition:opacity .3s; pointer-events:none;
}
.svc-card:hover { transform:translateY(-6px) }
.svc-card:hover::after { opacity:1 }

/* Each card: vivid bloom → rich mid-tone (no dark/black) */
.svc-card.c-teal  {
  border-left-color:var(--teal-lt);
  background:radial-gradient(ellipse 85% 65% at 15% 15%, rgba(0,230,206,1) 0%, #1e6858 70%);
}
.svc-card.c-gold  {
  border-left-color:var(--gold-lt);
  background:radial-gradient(ellipse 85% 65% at 85% 15%, rgba(240,200,80,1) 0%, #5a4012 70%);
}
.svc-card.c-cyan  {
  border-left-color:var(--cyan);
  background:radial-gradient(ellipse 85% 65% at 15% 85%, rgba(0,210,240,1) 0%, #0e4060 70%);
}
.svc-card.c-pink  {
  border-left-color:var(--pink);
  background:radial-gradient(ellipse 85% 65% at 85% 85%, rgba(255,130,175,1) 0%, #5e1842 70%);
}
.svc-card.c-indigo {
  border-left-color:#A78BFA;
  background:radial-gradient(ellipse 85% 65% at 50% 10%, rgba(170,120,255,1) 0%, #342062 70%);
}
.svc-card.c-green  {
  border-left-color:var(--green-lt);
  background:radial-gradient(ellipse 85% 65% at 15% 50%, rgba(80,220,155,1) 0%, #145532 70%);
}

/* Hover: brighten the bloom */
.svc-card.c-teal::after   { background:radial-gradient(ellipse 70% 55% at 15% 15%, rgba(100,255,230,.30) 0%, transparent 60%) }
.svc-card.c-gold::after   { background:radial-gradient(ellipse 70% 55% at 85% 15%, rgba(255,220,100,.30) 0%, transparent 60%) }
.svc-card.c-cyan::after   { background:radial-gradient(ellipse 70% 55% at 15% 85%, rgba(80,230,255,.30) 0%, transparent 60%) }
.svc-card.c-pink::after   { background:radial-gradient(ellipse 70% 55% at 85% 85%, rgba(255,160,195,.28) 0%, transparent 60%) }
.svc-card.c-indigo::after { background:radial-gradient(ellipse 70% 55% at 50% 10%, rgba(190,155,255,.28) 0%, transparent 60%) }
.svc-card.c-green::after  { background:radial-gradient(ellipse 70% 55% at 15% 50%, rgba(110,235,170,.28) 0%, transparent 60%) }

.svc-card.c-teal:hover   { box-shadow:0 16px 44px rgba(0,196,176,.22);   border-color:rgba(0,196,176,.5) }
.svc-card.c-gold:hover   { box-shadow:0 16px 44px rgba(201,168,76,.22);  border-color:rgba(201,168,76,.5) }
.svc-card.c-cyan:hover   { box-shadow:0 16px 44px rgba(0,184,212,.22);   border-color:rgba(0,184,212,.5) }
.svc-card.c-pink:hover   { box-shadow:0 16px 44px rgba(255,107,157,.20); border-color:rgba(255,107,157,.5) }
.svc-card.c-indigo:hover { box-shadow:0 16px 44px rgba(139,92,246,.20);  border-color:rgba(139,92,246,.5) }
.svc-card.c-green:hover  { box-shadow:0 16px 44px rgba(76,175,138,.20);  border-color:rgba(76,175,138,.5) }

.svc-icon {
  width:52px; height:52px; border-radius:14px;
  display:flex; align-items:center; justify-content:center; margin:0 0 1rem;
}
.svc-icon .material-symbols-rounded { font-size:28px; font-variation-settings:'FILL' 1,'wght' 400,'GRAD' 0,'opsz' 28 }
.c-teal   .svc-icon { background:rgba(0,196,176,.18);   color:var(--teal-lt) }
.c-gold   .svc-icon { background:rgba(201,168,76,.18);  color:var(--gold-lt) }
.c-cyan   .svc-icon { background:rgba(0,184,212,.18);   color:var(--cyan) }
.c-pink   .svc-icon { background:rgba(255,107,157,.18); color:var(--pink) }
.c-indigo .svc-icon { background:rgba(139,92,246,.18);  color:#C4B5FD }
.c-green  .svc-icon { background:rgba(76,175,138,.18);  color:var(--green-lt) }

.svc-name { font-family:var(--ffs); font-size:1.25rem; font-weight:600; color:var(--td); line-height:1.3; margin-bottom:.5rem }
.svc-durations { font-family:var(--ffh); font-size:.76rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:rgba(232,246,248,.55); margin-bottom:.4rem }
.svc-price { font-family:var(--ffs); font-size:1.15rem; font-weight:600 }
.c-teal   .svc-price { color:var(--teal-lt) }
.c-gold   .svc-price { color:var(--gold-lt) }
.c-cyan   .svc-price { color:var(--cyan) }
.c-pink   .svc-price { color:var(--pink) }
.c-indigo .svc-price { color:#C4B5FD }
.c-green  .svc-price { color:var(--green-lt) }
.svc-book { font-family:var(--ffh); font-size:.76rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; margin-top:.7rem; opacity:0; transition:opacity .2s }
.svc-card:hover .svc-book { opacity:1 }
.c-teal   .svc-book { color:var(--teal-lt) }
.c-gold   .svc-book { color:var(--gold-lt) }
.c-cyan   .svc-book { color:var(--cyan) }
.c-pink   .svc-book { color:var(--pink) }
.c-indigo .svc-book { color:#C4B5FD }
.c-green  .svc-book { color:var(--green-lt) }

.svc-more { text-align:center; margin-top:2.5rem }

/* ── TEAM GRID ── */
.team-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.2rem;
}
@media(max-width:1100px){ .team-grid{grid-template-columns:repeat(3,1fr)} }
@media(max-width:700px){ .team-grid{grid-template-columns:repeat(2,1fr)} }
@media(max-width:400px){ .team-grid{grid-template-columns:1fr} }

.team-card {
  background:linear-gradient(160deg,rgba(6,42,53,.7),rgba(2,13,20,.9));
  border:1px solid var(--lined);
  border-radius:var(--radius); padding:1.8rem 1.4rem 1.5rem;
  text-align:center; cursor:pointer;
  transition:transform .25s,border-color .25s,box-shadow .25s;
  position:relative; overflow:hidden;
}
.team-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px; border-radius:var(--radius) var(--radius) 0 0;
  opacity:0; transition:opacity .25s;
}
.team-card:hover { transform:translateY(-6px) }

/* Staff color hover states */
.team-card[data-color="#FF6B9D"]:hover { border-color:rgba(255,107,157,.45); box-shadow:0 16px 48px rgba(255,107,157,.20) }
.team-card[data-color="#FF6B9D"]::before { background:linear-gradient(90deg,transparent,#FF6B9D,transparent) }
.team-card[data-color="#00D4BC"]:hover { border-color:rgba(0,212,188,.45); box-shadow:0 16px 48px rgba(0,212,188,.20) }
.team-card[data-color="#00D4BC"]::before { background:linear-gradient(90deg,transparent,#00D4BC,transparent) }
.team-card[data-color="#C9A84C"]:hover { border-color:rgba(201,168,76,.45); box-shadow:0 16px 48px rgba(201,168,76,.20) }
.team-card[data-color="#C9A84C"]::before { background:linear-gradient(90deg,transparent,#C9A84C,transparent) }
.team-card[data-color="#4CAF8A"]:hover { border-color:rgba(76,175,138,.45); box-shadow:0 16px 48px rgba(76,175,138,.20) }
.team-card[data-color="#4CAF8A"]::before { background:linear-gradient(90deg,transparent,#4CAF8A,transparent) }
.team-card[data-color="#A0C4FF"]:hover { border-color:rgba(160,196,255,.45); box-shadow:0 16px 48px rgba(160,196,255,.20) }
.team-card[data-color="#A0C4FF"]::before { background:linear-gradient(90deg,transparent,#A0C4FF,transparent) }
.team-card[data-color="#C084FC"]:hover { border-color:rgba(192,132,252,.45); box-shadow:0 16px 48px rgba(192,132,252,.20) }
.team-card[data-color="#C084FC"]::before { background:linear-gradient(90deg,transparent,#C084FC,transparent) }
.team-card[data-color="#FF8C42"]:hover { border-color:rgba(255,140,66,.45); box-shadow:0 16px 48px rgba(255,140,66,.20) }
.team-card[data-color="#FF8C42"]::before { background:linear-gradient(90deg,transparent,#FF8C42,transparent) }
.team-card:hover::before { opacity:1 }

.team-avatar-wrap { position:relative; width:72px; height:72px; margin:0 auto 1rem }
.team-avatar {
  width:72px; height:72px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--ffs); font-size:1.6rem; font-weight:700; color:#fff;
  border:2px solid transparent; transition:box-shadow .25s, border-color .25s;
}
.team-avatar-img {
  object-fit:cover; object-position:top center;
  filter:brightness(.92) saturate(1.1);
}
.team-card:hover .team-avatar { border-color:currentColor; box-shadow:0 0 24px currentColor }
.team-card:hover .team-avatar-img { filter:brightness(1) saturate(1.2) }
.team-avail {
  position:absolute; bottom:-4px; right:-4px;
  background:var(--navy); border:2px solid var(--navy);
  border-radius:20px; padding:2px 7px;
  font-family:var(--ffh); font-size:.5rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  white-space:nowrap;
}
.team-name { font-family:var(--ffs); font-size:1.15rem; font-weight:600; color:#fff; margin-bottom:.3rem }
.team-role { font-family:var(--ffh); font-size:.68rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--md); margin-bottom:.8rem; line-height:1.4 }
.team-days { font-size:.72rem; color:rgba(232,246,248,.4); margin-bottom:1rem; font-family:var(--ffh) }
.team-book {
  font-family:var(--ffh); font-size:.62rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  padding:8px 16px; border-radius:10px; border:1px solid var(--lined);
  background:rgba(0,196,176,.06); color:var(--teal-lt);
  transition:background .2s,border-color .2s,box-shadow .2s;
  width:100%;
}
.team-book:hover { background:rgba(0,196,176,.15); border-color:var(--teal-border); box-shadow:0 4px 16px var(--teal-glow) }

/* ── PRICING GRID ── */
.pricing-head { text-align:center; margin-bottom:3rem }
.pricing-list { display:flex; flex-direction:column; gap:0 }

.price-group { margin-bottom:2rem }
.price-group-title {
  font-family:var(--ffh); font-size:.65rem; font-weight:700; letter-spacing:.24em; text-transform:uppercase;
  color:var(--teal-lt); padding:.5rem 0; margin-bottom:.5rem;
  border-bottom:1px solid var(--lined);
  display:flex; align-items:center; gap:10px;
}
.price-group-title::before { content:''; width:20px; height:2px; background:var(--teal-lt); border-radius:2px }

.price-row {
  display:flex; align-items:center; justify-content:space-between;
  padding:1rem 1.2rem; margin-bottom:.5rem;
  background:linear-gradient(135deg,rgba(6,42,53,.5),rgba(2,13,20,.6));
  border:1px solid var(--lined); border-radius:12px;
  border-left:4px solid;
  transition:background .2s,border-color .2s,transform .2s,box-shadow .2s;
  cursor:default;
}
.price-row:hover { transform:translateX(4px); background:linear-gradient(135deg,rgba(6,42,53,.8),rgba(2,13,20,.85)); box-shadow:4px 0 24px var(--teal-glow) }
.price-row.gold-bar { border-left-color:var(--gold-lt) }
.price-row.gold-bar:hover { box-shadow:4px 0 24px var(--gold-glow); border-color:var(--gold-border) }
.price-row.teal-bar { border-left-color:var(--teal-lt) }
.price-row.teal-bar:hover { box-shadow:4px 0 24px var(--teal-glow); border-color:var(--teal-border) }

.price-svc-wrap { display:flex; flex-direction:column; gap:2px }
.price-svc-name { font-family:var(--ffs); font-size:.98rem; font-weight:600; color:var(--td) }
.price-svc-dur { font-family:var(--ffh); font-size:.62rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--dd) }
.price-amounts { display:flex; gap:1.2rem; align-items:center; flex-wrap:wrap; justify-content:flex-end }
.price-chip {
  display:flex; flex-direction:column; align-items:center; gap:1px;
  padding:.3rem .7rem; border-radius:8px; background:rgba(0,196,176,.06); border:1px solid var(--lined);
  min-width:60px;
}
.price-chip.gold { background:rgba(201,168,76,.07); border-color:rgba(201,168,76,.18) }
.price-chip-dur { font-family:var(--ffh); font-size:.5rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--dd) }
.price-chip-amt { font-family:var(--ffs); font-size:1rem; font-weight:600; color:var(--teal-lt) }
.price-chip.gold .price-chip-amt { color:var(--gold-lt) }

/* ── ABOUT ── */
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center }
@media(max-width:860px){ .about-grid{grid-template-columns:1fr;gap:2.5rem} }

.about-img-wrap {
  position:relative; border-radius:24px; overflow:hidden;
  box-shadow:var(--shadow-teal);
}
.about-img-wrap img { width:100%; aspect-ratio:4/5; object-fit:cover; display:block; transition:transform .6s ease }
.about-img-wrap:hover img { transform:scale(1.04) }
.about-img-badge {
  position:absolute; bottom:1.5rem; left:1.5rem;
  background:rgba(2,13,20,.88); backdrop-filter:blur(12px);
  border:1px solid var(--teal-border); border-radius:14px;
  padding:.85rem 1.2rem; display:flex; gap:1.5rem;
}
.aib-stat { text-align:center }
.aib-num { font-family:var(--ffs); font-size:1.4rem; font-weight:700; color:var(--teal-lt); display:block; line-height:1 }
.aib-lbl { font-family:var(--ffh); font-size:.52rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--md); margin-top:.2rem; display:block }

.about-feats { display:grid; grid-template-columns:1fr 1fr; gap:.85rem; margin:1.5rem 0 }
.about-feat {
  padding:1rem 1.1rem; background:rgba(255,255,255,.75);
  border:1px solid var(--linel); border-radius:12px;
  border-top:3px solid; transition:box-shadow .2s,transform .2s;
}
.about-feat:hover { transform:translateY(-3px); box-shadow:var(--shadow-light) }
.about-feat:nth-child(1) { border-top-color:var(--teal-lt) }
.about-feat:nth-child(2) { border-top-color:var(--gold) }
.about-feat:nth-child(3) { border-top-color:var(--cyan) }
.about-feat:nth-child(4) { border-top-color:var(--green) }
.about-feat-icon { font-size:1.4rem; margin-bottom:.4rem }
.about-feat:nth-child(1) .about-feat-icon { color:var(--teal) }
.about-feat:nth-child(2) .about-feat-icon { color:var(--gold) }
.about-feat:nth-child(3) .about-feat-icon { color:var(--ml) }
.about-feat:nth-child(4) .about-feat-icon { color:var(--green) }
.about-feat h4 { font-family:var(--ffs); font-size:.98rem; font-weight:600; color:var(--tl); margin-bottom:.25rem }
.about-feat p { font-size:.8rem; color:var(--ml); line-height:1.65 }
.about-quote {
  font-family:var(--ffs); font-style:italic; font-size:1.15rem; color:var(--tl);
  line-height:1.65; padding:1.2rem 1.5rem;
  border-left:3px solid var(--teal); border-radius:0 8px 8px 0;
  background:rgba(0,196,176,.06); margin:1.5rem 0;
}

/* ── PACKAGES ── */
.pkg-grid {
  display:grid; grid-template-columns:repeat(2,1fr); gap:1.4rem;
}
@media(max-width:700px){ .pkg-grid{grid-template-columns:1fr} }

.pkg-card {
  background:linear-gradient(160deg,rgba(6,42,53,.65),rgba(2,13,20,.88));
  border:1px solid var(--teal-border); border-radius:var(--radius);
  padding:2.2rem 1.8rem; position:relative; overflow:hidden;
  transition:transform .25s,box-shadow .25s,border-color .25s;
}
.pkg-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px; border-radius:var(--radius) var(--radius) 0 0;
  background:linear-gradient(90deg,var(--teal),var(--teal-lt),var(--gold-lt),var(--teal-lt),var(--teal));
  background-size:300% 100%;
  animation:shimmer 4s ease infinite;
}
.pkg-card:hover { transform:translateY(-6px); box-shadow:var(--shadow),0 0 48px var(--teal-glow); border-color:var(--teal-lt) }
.pkg-card.pkg-special { border-color:var(--gold-border) }
.pkg-card.pkg-special::before { background:linear-gradient(90deg,var(--gold),var(--gold-lt),var(--teal-lt),var(--gold-lt),var(--gold)); background-size:300% 100%; animation:shimmer 3.5s ease infinite }
.pkg-card.pkg-special:hover { box-shadow:var(--shadow),0 0 48px var(--gold-glow); border-color:var(--gold-lt) }

.pkg-badge {
  display:inline-flex; align-items:center; gap:6px; padding:.35rem 1rem;
  border-radius:20px; margin-bottom:1.2rem;
  font-family:var(--ffh); font-size:.65rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase;
  background:var(--teal-soft); color:var(--teal-lt); border:1px solid var(--teal-border);
}
.pkg-special .pkg-badge { background:var(--gold-soft); color:var(--gold-lt); border-color:var(--gold-border) }

.pkg-sessions { font-family:var(--ffs); font-size:2.8rem; font-weight:700; color:#fff; line-height:1; margin-bottom:.15rem }
.pkg-dur { font-family:var(--ffh); font-size:.68rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--md); margin-bottom:1rem }
.pkg-price { font-family:var(--ffs); font-size:2.2rem; font-weight:700; color:var(--teal-lt); margin-bottom:.3rem }
.pkg-special .pkg-price { color:var(--gold-lt) }
.pkg-saving {
  display:inline-flex; align-items:center; gap:5px;
  font-family:var(--ffh); font-size:.68rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--green-lt); margin-bottom:1.2rem;
}
.pkg-saving::before { content:'✓'; font-size:.75em }
.pkg-divider { height:1px; background:var(--lined); margin:1.2rem 0 }
.pkg-desc { font-size:.85rem; color:var(--md); line-height:1.65; margin-bottom:1.4rem }
.pkg-cta { width:100%; justify-content:center }

/* ── FIND US ── */
.find-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:4rem; align-items:start }
@media(max-width:860px){ .find-grid{grid-template-columns:1fr} }

.find-info-row { margin-bottom:1.4rem }
.find-label {
  font-family:var(--ffh); font-size:.68rem; font-weight:700; letter-spacing:.2em;
  text-transform:uppercase; color:var(--teal); margin-bottom:.4rem;
  display:flex; align-items:center; gap:6px;
}
.find-val { font-size:.95rem; color:#1a3a40; line-height:1.7 }
.find-val a { color:var(--teal); transition:color .2s }
.find-val a:hover { color:var(--gold) }

.hours-table { width:100%; border-collapse:collapse; margin-top:.6rem }
.hours-table tr { border-bottom:1px solid rgba(0,155,138,0.18) }
.hours-table td { padding:8px 0; font-size:.9rem; color:#2a5060 }
.hours-table td:first-child { color:#1a3a40; font-family:var(--ffh); font-weight:600; font-size:.8rem; letter-spacing:.05em }
.hours-table td:last-child { text-align:right; color:var(--teal); font-weight:600 }
.hours-table tr.today { background:rgba(0,155,138,0.08); border-radius:6px }
.hours-table tr.today td { color:#041820 }
.hours-table tr.today td:first-child { color:var(--teal) }
.hours-table tr.today td:last-child { color:var(--teal) }

.map-wrap {
  border-radius:24px; overflow:hidden;
  border:1px solid var(--teal-border);
  box-shadow:0 0 48px rgba(0,196,176,.1);
  background:var(--royal-mid);
  min-height:380px; display:flex; align-items:center; justify-content:center;
}
.map-placeholder {
  width:100%; height:380px;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:1rem; color:var(--md); text-align:center;
}
.map-placeholder svg { opacity:.4 }
#map { height:380px; width:100% }
.leaflet-container { background:var(--royal) !important }
.leaflet-popup-content-wrapper { background:var(--navy) !important; color:var(--td) !important; border-radius:16px !important; border:1px solid var(--teal-border) !important; box-shadow:var(--shadow) !important }
.leaflet-popup-tip { background:var(--navy) !important }
.leaflet-control-zoom a { background:var(--royal) !important; color:var(--teal-lt) !important; border-color:var(--teal-border) !important }
.leaflet-popup-content { margin:14px 16px !important }
.mmpop h3 { font-family:var(--ffs); font-size:1.1rem; color:var(--teal-lt); margin-bottom:4px }
.mmpop p { font-size:.8rem; color:var(--md); line-height:1.55; margin-bottom:6px }

.contact-actions { display:flex; gap:.85rem; flex-wrap:wrap; margin-top:1.6rem }

/* ── FOOTER ── */
#footer { padding:52px 0 28px; background:var(--royal); border-top:1px solid var(--lined) }
.foot-in { display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:3rem }
@media(max-width:720px){ .foot-in{grid-template-columns:1fr} }

.foot-logo-wrap { display:flex; align-items:center; gap:10px; margin-bottom:12px }
.foot-logo-img { width:32px; height:32px; object-fit:contain; border-radius:50%; filter:drop-shadow(0 0 8px rgba(0,196,176,0.45)) }
.foot-name-brand {
  font-family:var(--ffs); font-style:italic; font-weight:600; font-size:1.05rem;
  background:linear-gradient(135deg,var(--teal),var(--teal-lt),var(--gold-lt));
  background-size:200% auto;
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  animation:tealFlow 7s ease infinite;
}
.foot-desc { font-size:.8rem; color:rgba(232,246,248,.32); line-height:1.75; max-width:270px; margin-bottom:1rem }
.foot-socs { display:flex; gap:8px }
.fsoc {
  width:34px; height:34px; border:1px solid var(--lined);
  display:flex; align-items:center; justify-content:center;
  color:var(--dd); transition:all .2s; border-radius:9px;
}
.fsoc:hover { border-color:var(--teal-border); color:var(--teal-lt); box-shadow:0 0 12px var(--teal-glow) }

.foot-h { font-family:var(--ffh); font-size:.57rem; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:var(--teal-lt); margin-bottom:1rem }
.foot-links { display:flex; flex-direction:column; gap:.6rem }
.foot-links a { font-size:.82rem; color:rgba(232,246,248,.32); transition:color .2s }
.foot-links a:hover { color:var(--teal-lt) }
.foot-bar {
  margin-top:3rem; padding-top:1.4rem; border-top:1px solid var(--lined);
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:.5rem;
}
.foot-copy { font-size:.72rem; color:var(--dd) }

/* ── UTILITY ── */
.text-center { text-align:center }
.mt-1 { margin-top:1rem }
.mt-2 { margin-top:2rem }
.mt-3 { margin-top:3rem }
.flex-center { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:.85rem }

/* ════════════════ TEAM — centred flex (handles 9 cards) + initial avatars ════════════════ */
.team-grid { display:flex; flex-wrap:wrap; justify-content:center; gap:1.2rem; }
.team-grid > .team-card { flex:1 1 240px; max-width:264px; }
@media(max-width:700px){ .team-grid > .team-card{ flex-basis:44%; max-width:none } }
@media(max-width:400px){ .team-grid > .team-card{ flex-basis:100% } }

/* letter-avatar fallback for therapists without a photo (matches .team-avatar sizing) */
.team-avatar-initial { text-transform:uppercase; letter-spacing:.02em; }

/* two new therapist colours (Coco / Pam) */
.team-card[data-color="#EF4444"]:hover { border-color:rgba(239,68,68,.45); box-shadow:0 16px 48px rgba(239,68,68,.20) }
.team-card[data-color="#EF4444"]::before { background:linear-gradient(90deg,transparent,#EF4444,transparent) }
.team-card[data-color="#84CC16"]:hover { border-color:rgba(132,204,22,.45); box-shadow:0 16px 48px rgba(132,204,22,.20) }
.team-card[data-color="#84CC16"]::before { background:linear-gradient(90deg,transparent,#84CC16,transparent) }

/* ════════════════ ABOUT — /place collage with warm filter ════════════════ */
.about-collage {
  position:relative; border-radius:24px; overflow:hidden;
  box-shadow:var(--shadow-teal); aspect-ratio:4/5;
  display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr; gap:5px;
}
.about-collage img {
  width:100%; height:100%; object-fit:cover; display:block;
  filter:saturate(1.08) brightness(.95);
  transition:transform .6s ease;
}
.about-collage:hover img { transform:scale(1.05); }
/* warm wash sitting on top of the whole collage */
.about-collage-warm {
  position:absolute; inset:0; pointer-events:none; z-index:2;
  background:
    linear-gradient(145deg, rgba(255,178,94,.36) 0%, rgba(255,138,66,.22) 48%, rgba(198,108,58,.34) 100%);
  mix-blend-mode:overlay;
}
.about-collage-warm::after {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse 90% 80% at 50% 45%, transparent 55%, rgba(120,50,20,.22) 100%);
}
.about-collage .about-img-badge { z-index:3; }

/* ════════════════ MOTTO / PHILOSOPHY BAND (below hero) ════════════════ */
.motto-band {
  background:var(--royal); position:relative; z-index:1; overflow:hidden;
  border-top:1px solid var(--lined); border-bottom:1px solid var(--lined);
  padding:3.4rem 0;
}
.motto-band::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse 55% 65% at 100% 50%, rgba(0,196,176,.07) 0%, transparent 60%);
}
.motto-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:2.6rem; align-items:center; }
@media(max-width:860px){ .motto-grid{ grid-template-columns:1fr; gap:1.9rem } }

.motto-photo {
  position:relative; border-radius:20px; overflow:hidden;
  box-shadow:var(--shadow-teal); aspect-ratio:16/10;
}
.motto-photo img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease; }
.motto-photo:hover img { transform:scale(1.05); }
/* slight teal overlay requested for the storefront shot */
.motto-photo-wash {
  position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(150deg, rgba(0,155,138,.40) 0%, rgba(0,196,176,.20) 45%, rgba(4,24,32,.34) 100%);
  mix-blend-mode:multiply;
}
.motto-photo-tag {
  position:absolute; bottom:.85rem; left:.85rem;
  display:inline-flex; align-items:center; gap:.35rem;
  background:rgba(2,13,20,.82); backdrop-filter:blur(8px);
  border:1px solid var(--teal-border); color:var(--teal-lt);
  font-family:var(--ffh); font-size:.6rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  padding:.4rem .7rem; border-radius:10px;
}
.motto-photo-tag .material-symbols-rounded { font-size:.95rem; }

.motto-content .kicker { margin-bottom:.4rem; }
.motto-title { font-size:clamp(1.75rem,3.2vw,2.55rem); text-align:left; margin-bottom:1.5rem; }
.motto-pillars { display:grid; grid-template-columns:1fr 1fr; gap:1.15rem 1.4rem; margin-bottom:1.7rem; }
@media(max-width:520px){ .motto-pillars{ grid-template-columns:1fr } }
.motto-pillar { display:flex; gap:.8rem; align-items:flex-start; }
.motto-pillar > .material-symbols-rounded {
  flex:none; font-size:1.5rem; color:var(--teal-lt);
  background:var(--teal-soft); border:1px solid var(--teal-border); border-radius:12px;
  width:44px; height:44px; display:flex; align-items:center; justify-content:center;
}
.motto-pillar h4 { font-family:var(--ffs); font-size:1.08rem; font-weight:600; color:#fff; margin-bottom:.15rem; line-height:1.2; }
.motto-pillar p { font-size:.82rem; color:var(--md); line-height:1.55; }
.motto-explore { display:inline-flex; align-items:center; gap:.5rem; }

/* ════════════════ STUDIO TOUR PAGE (studio/index.html) ════════════════ */
.studio-hero { padding:9rem 0 3.5rem; text-align:center; }
.studio-hero-actions { display:flex; gap:.85rem; justify-content:center; flex-wrap:wrap; margin-top:1.8rem; }

.studio-tour { padding-top:1rem; }
.studio-row { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center; margin-bottom:5rem; }
.studio-row:nth-child(even) .studio-row-img { order:2; }
.studio-row-img {
  position:relative; border-radius:22px; overflow:hidden;
  box-shadow:var(--shadow-teal); aspect-ratio:3/2; background:var(--royal);
}
.studio-row-img.tall { aspect-ratio:4/5; }
.studio-row-img img { width:100%; height:100%; object-fit:cover; transition:transform .7s ease; }
.studio-row-img:hover img { transform:scale(1.05); }
.studio-row-num {
  position:absolute; top:.5rem; left:1rem; pointer-events:none;
  font-family:var(--ffs); font-weight:700; font-size:3rem; line-height:1; color:#fff;
  opacity:.92; text-shadow:0 3px 24px rgba(0,0,0,.7);
}
.studio-row-text .kicker { margin-bottom:.35rem; }
.studio-row-title { font-size:clamp(1.7rem,3vw,2.4rem); text-align:left; margin-bottom:.9rem; }
.studio-row-copy { font-size:.98rem; line-height:1.85; color:var(--md); margin-bottom:1.2rem; }
.studio-row-tags { display:flex; flex-wrap:wrap; gap:.6rem; }
.studio-row-tags > span {   /* direct child only — must NOT restyle the nested icon span */
  display:inline-flex; align-items:center; gap:.4rem;
  font-family:var(--ffh); font-size:.72rem; font-weight:600; letter-spacing:.03em;
  color:var(--td); background:var(--teal-soft); border:1px solid var(--teal-border);
  padding:.45rem .8rem; border-radius:20px;
}
.studio-row-tags .material-symbols-rounded {
  font-size:1.05rem; color:var(--teal-lt);
  letter-spacing:normal;   /* ligatures break with any letter-spacing */
}
@media(max-width:820px){
  .studio-row { grid-template-columns:1fr; gap:1.5rem; margin-bottom:3.2rem; }
  .studio-row:nth-child(even) .studio-row-img { order:0; }
  .studio-row-img, .studio-row-img.tall { aspect-ratio:3/2; }
}

.studio-cta { padding:5rem 0; }
.studio-cta-card {
  max-width:760px; margin:0 auto; text-align:center;
  background:linear-gradient(160deg,rgba(6,42,53,.72),rgba(2,13,20,.88));
  border:1px solid var(--teal-border); border-radius:28px;
  padding:3rem 2rem; box-shadow:var(--shadow-teal);
}
.studio-cta-card .ornament { margin-bottom:1rem; }
.studio-cta-actions { display:flex; gap:.85rem; justify-content:center; flex-wrap:wrap; margin-top:1.6rem; }
.studio-back {
  display:inline-block; margin-top:1.4rem;
  font-family:var(--ffh); font-size:.78rem; font-weight:600; letter-spacing:.06em; color:var(--md);
  transition:color .2s;
}
.studio-back:hover { color:var(--teal-lt); }

/* ── RESPONSIVE TWEAKS ── */
@media(max-width:640px) {
  section { padding:4rem 0 }
  .hero-stats { overflow-x:auto }
  .hero-stat { min-width:90px; padding:.7rem 1rem }
  .pkg-grid { grid-template-columns:1fr }
  .about-feats { grid-template-columns:1fr }
  .pricing-list { gap:0 }
  .motto-band { padding:2.8rem 0 }
  .studio-hero { padding:7rem 0 2.5rem }
}
