﻿/* ══════════════════════════════════════════════════════════
   JOE BOTOX — Luxury Med-Spa Website
   Zero images. Pure CSS art, SVG, and animation.
   ══════════════════════════════════════════════════════════ */

/* ─── CSS Custom Properties ─── */
:root {
  --black: #0a0a0a;
  --charcoal: #111111;
  --gold: #c8a96e;
  --gold-bright: #d4af37;
  --rose: #d4a5a5;
  --blush: #e8c4c4;
  --cream: #f5f0eb;
  --offwhite: #faf9f6;
  --sage: #8a9a8a;
  --glass: rgba(255, 255, 255, 0.03);
  --glass-border: rgba(200, 169, 110, 0.12);
  --ff-heading: 'Cormorant Garamond', Georgia, serif;
  --ff-body: 'Montserrat', 'Helvetica Neue', sans-serif;
  --ease: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
}

/* ─── Reset & Base ─── */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  font-size: 18px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  font-family: var(--ff-body);
  font-weight: 400;
  color: var(--cream);
  background: var(--black);
  line-height: 1.7;
  overflow-x: hidden;
}

a {
  color: inherit;
  text-decoration: none;
}

img,
svg {
  display: block;
}

/* ─── Utility ─── */
.section-label {
  font-family: var(--ff-body);
  font-weight: 400;
  font-size: 1.1rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 1rem;
}

.gold-line {
  width: 60px;
  height: 1px;
  background: var(--gold);
  margin: 1.5rem auto 0;
}

/* ─── Buttons ─── */
.btn {
  display: inline-block;
  font-family: var(--ff-body);
  font-weight: 400;
  font-size: 1rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 16px 40px;
  border: 1px solid var(--gold);
  color: var(--gold);
  background: transparent;
  cursor: pointer;
  transition: all 0.4s var(--ease);
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: var(--gold);
  transition: left 0.4s var(--ease);
  z-index: -1;
}

.btn:hover {
  color: var(--black);
}

.btn:hover::before {
  left: 0;
}

.btn--large {
  padding: 20px 50px;
  font-size: 1.05rem;
}

/* ══════════════════════════════════════════
   NAVIGATION
   ══════════════════════════════════════════ */
.nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px 48px;
  transition: all 0.4s var(--ease);
  background: transparent;
}

.nav--scrolled {
  background: rgba(10, 10, 10, 0.95);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  padding: 16px 48px;
  box-shadow: 0 1px 0 rgba(200, 169, 110, 0.08);
}

.nav__monogram {
  width: 55px;
  height: 38px;
}

.nav__links {
  display: flex;
  align-items: center;
  list-style: none;
  gap: 40px;
}

.nav__links a {
  font-family: var(--ff-body);
  font-weight: 400;
  font-size: 1.1rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--cream);
  transition: color 0.3s;
  position: relative;
}

.nav__links a::after {
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0;
  height: 1px;
  background: var(--gold);
  transition: width 0.3s var(--ease);
}

.nav__links a:hover {
  color: var(--gold);
}

.nav__links a:hover::after {
  width: 100%;
}

.nav__cta {
  border: 1px solid var(--gold) !important;
  padding: 10px 24px !important;
  transition: all 0.3s var(--ease) !important;
  white-space: nowrap;
}

.nav__cta:hover {
  background: var(--gold) !important;
  color: var(--black) !important;
}

.nav__cta::after {
  display: none !important;
}

.nav__hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 5px;
  z-index: 1001;
}

.nav__hamburger span {
  display: block;
  width: 24px;
  height: 1.5px;
  background: var(--cream);
  transition: all 0.3s var(--ease);
  transform-origin: center;
}

.nav__hamburger.active span:nth-child(1) {
  transform: rotate(45deg) translate(4px, 5px);
}

.nav__hamburger.active span:nth-child(2) {
  opacity: 0;
}

.nav__hamburger.active span:nth-child(3) {
  transform: rotate(-45deg) translate(4px, -5px);
}

/* ══════════════════════════════════════════
   HERO
   ══════════════════════════════════════════ */
.hero {
  position: relative;
  width: 100%;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

/* Aurora gradient background */
.hero__aurora {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 80% 60% at 20% 40%, rgba(200, 169, 110, 0.12) 0%, transparent 60%),
    radial-gradient(ellipse 60% 80% at 80% 60%, rgba(212, 165, 165, 0.08) 0%, transparent 60%),
    radial-gradient(ellipse 100% 100% at 50% 50%, rgba(17, 17, 17, 1) 0%, rgba(10, 10, 10, 1) 100%);
  animation: auroraShift 12s ease-in-out infinite alternate;
}

@keyframes auroraShift {
  0% {
    background:
      radial-gradient(ellipse 80% 60% at 20% 40%, rgba(200, 169, 110, 0.12) 0%, transparent 60%),
      radial-gradient(ellipse 60% 80% at 80% 60%, rgba(212, 165, 165, 0.08) 0%, transparent 60%),
      radial-gradient(ellipse 100% 100% at 50% 50%, rgba(17, 17, 17, 1) 0%, rgba(10, 10, 10, 1) 100%);
  }

  33% {
    background:
      radial-gradient(ellipse 70% 70% at 60% 30%, rgba(200, 169, 110, 0.15) 0%, transparent 60%),
      radial-gradient(ellipse 80% 60% at 30% 70%, rgba(212, 165, 165, 0.1) 0%, transparent 60%),
      radial-gradient(ellipse 100% 100% at 50% 50%, rgba(17, 17, 17, 1) 0%, rgba(10, 10, 10, 1) 100%);
  }

  66% {
    background:
      radial-gradient(ellipse 60% 80% at 80% 50%, rgba(212, 175, 55, 0.1) 0%, transparent 60%),
      radial-gradient(ellipse 70% 50% at 20% 60%, rgba(212, 165, 165, 0.12) 0%, transparent 60%),
      radial-gradient(ellipse 100% 100% at 50% 50%, rgba(17, 17, 17, 1) 0%, rgba(10, 10, 10, 1) 100%);
  }

  100% {
    background:
      radial-gradient(ellipse 90% 50% at 40% 60%, rgba(200, 169, 110, 0.1) 0%, transparent 60%),
      radial-gradient(ellipse 50% 90% at 70% 30%, rgba(212, 165, 165, 0.08) 0%, transparent 60%),
      radial-gradient(ellipse 100% 100% at 50% 50%, rgba(17, 17, 17, 1) 0%, rgba(10, 10, 10, 1) 100%);
  }
}

/* Floating orbs */
.hero__orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  opacity: 0.15;
  pointer-events: none;
}

.hero__orb--1 {
  width: 500px;
  height: 500px;
  background: var(--gold);
  top: -10%;
  left: -5%;
  animation: orbFloat1 20s ease-in-out infinite;
}

.hero__orb--2 {
  width: 400px;
  height: 400px;
  background: var(--rose);
  bottom: -10%;
  right: -5%;
  animation: orbFloat2 18s ease-in-out infinite;
}

.hero__orb--3 {
  width: 300px;
  height: 300px;
  background: var(--gold-bright);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  animation: orbFloat3 15s ease-in-out infinite;
  opacity: 0.08;
}

@keyframes orbFloat1 {

  0%,
  100% {
    transform: translate(0, 0);
  }

  25% {
    transform: translate(60px, 40px);
  }

  50% {
    transform: translate(30px, -30px);
  }

  75% {
    transform: translate(-40px, 20px);
  }
}

@keyframes orbFloat2 {

  0%,
  100% {
    transform: translate(0, 0);
  }

  25% {
    transform: translate(-50px, -30px);
  }

  50% {
    transform: translate(-20px, 40px);
  }

  75% {
    transform: translate(30px, -20px);
  }
}

@keyframes orbFloat3 {

  0%,
  100% {
    transform: translate(-50%, -50%) scale(1);
  }

  50% {
    transform: translate(-50%, -50%) scale(1.3);
  }
}

/* Noise texture */
.hero__noise {
  position: absolute;
  inset: 0;
  opacity: 0.03;
  background-image:
    radial-gradient(circle at 25% 25%, rgba(255, 255, 255, 0.1) 1px, transparent 1px),
    radial-gradient(circle at 75% 75%, rgba(255, 255, 255, 0.08) 1px, transparent 1px);
  background-size: 3px 3px, 5px 5px;
  pointer-events: none;
}

/* Floating particles */
.hero__particles {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.hero__particles::before,
.hero__particles::after {
  content: '';
  position: absolute;
  width: 2px;
  height: 2px;
  border-radius: 50%;
  animation: particleFloat 25s linear infinite;
}

.hero__particles::before {
  box-shadow:
    100px 100px 0 0 rgba(200, 169, 110, 0.4),
    300px 200px 0 0 rgba(200, 169, 110, 0.2),
    500px 150px 0 0 rgba(212, 165, 165, 0.3),
    700px 300px 0 0 rgba(200, 169, 110, 0.15),
    200px 400px 0 0 rgba(212, 165, 165, 0.25),
    900px 100px 0 0 rgba(200, 169, 110, 0.35),
    400px 500px 0 0 rgba(200, 169, 110, 0.2),
    600px 400px 0 0 rgba(212, 165, 165, 0.15),
    150px 600px 0 0 rgba(200, 169, 110, 0.3),
    800px 500px 0 0 rgba(212, 165, 165, 0.2),
    350px 300px 0 0 rgba(200, 169, 110, 0.25),
    1000px 250px 0 0 rgba(200, 169, 110, 0.15),
    50px 350px 0 0 rgba(212, 165, 165, 0.2),
    750px 450px 0 0 rgba(200, 169, 110, 0.3),
    1100px 400px 0 0 rgba(212, 165, 165, 0.15);
}

.hero__particles::after {
  box-shadow:
    200px 50px 0 0 rgba(212, 165, 165, 0.3),
    450px 250px 0 0 rgba(200, 169, 110, 0.25),
    650px 100px 0 0 rgba(200, 169, 110, 0.15),
    850px 350px 0 0 rgba(212, 165, 165, 0.2),
    100px 500px 0 0 rgba(200, 169, 110, 0.35),
    550px 600px 0 0 rgba(212, 165, 165, 0.2),
    950px 550px 0 0 rgba(200, 169, 110, 0.15),
    250px 150px 0 0 rgba(200, 169, 110, 0.3),
    1050px 150px 0 0 rgba(212, 165, 165, 0.25),
    350px 650px 0 0 rgba(200, 169, 110, 0.2);
  animation-delay: -12s;
  animation-direction: reverse;
}

@keyframes particleFloat {
  0% {
    transform: translate(0, 0);
  }

  25% {
    transform: translate(-30px, -50px);
  }

  50% {
    transform: translate(20px, -80px);
  }

  75% {
    transform: translate(-10px, -40px);
  }

  100% {
    transform: translate(0, 0);
  }
}

/* Hero content */
.hero__content {
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 0 24px;
}

.hero__location {
  font-family: var(--ff-body);
  font-weight: 400;
  font-size: 1.1rem;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: var(--sage);
  margin-bottom: 2rem;
}

.hero__title {
  font-family: var(--ff-heading);
  font-weight: 400;
  font-size: clamp(3.5rem, 10vw, 8rem);
  letter-spacing: 0.2em;
  color: var(--cream);
  line-height: 1;
  margin-bottom: 1.5rem;
  text-shadow: 0 0 80px rgba(200, 169, 110, 0.1);
}

.hero__subtitle {
  font-family: var(--ff-heading);
  font-weight: 400;
  font-style: italic;
  font-size: clamp(1rem, 2.5vw, 1.5rem);
  letter-spacing: 0.1em;
  color: var(--rose);
  margin-bottom: 3rem;
}

/* Typewriter */
.typewriter {
  display: inline-block;
  overflow: hidden;
  border-right: 1px solid var(--rose);
  white-space: nowrap;
  animation: typewriter 3s steps(28) 1s forwards, blinkCaret 0.6s step-end infinite;
  width: 0;
}

@keyframes typewriter {
  to {
    width: 100%;
  }
}

@keyframes blinkCaret {

  0%,
  100% {
    border-color: var(--rose);
  }

  50% {
    border-color: transparent;
  }
}

/* Scroll hint */
.hero__scroll-hint {
  position: absolute;
  bottom: 40px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  opacity: 0.5;
  animation: fadeInUp 1s 3s both;
}

.hero__scroll-dot {
  animation: scrollDot 2s ease-in-out infinite;
}

@keyframes scrollDot {
  0% {
    cy: 10;
    opacity: 1;
  }

  100% {
    cy: 28;
    opacity: 0;
  }
}

/* ══════════════════════════════════════════
   WAVE DIVIDERS
   ══════════════════════════════════════════ */
.wave-divider {
  margin-top: -1px;
  margin-bottom: -1px;
  line-height: 0;
}

.wave-divider svg {
  width: 100%;
  height: auto;
  display: block;
}

.wave-divider--flip {
  transform: scaleY(-1);
}

/* ══════════════════════════════════════════
   ABOUT
   ══════════════════════════════════════════ */
.about {
  background: var(--black);
  padding: 100px 48px;
}

.about__container {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}

.about__heading {
  font-family: var(--ff-heading);
  font-weight: 400;
  font-size: clamp(2rem, 4vw, 3.2rem);
  letter-spacing: 0.08em;
  color: var(--cream);
  line-height: 1.2;
  margin-bottom: 2rem;
}

.about__body {
  font-size: 1.1rem;
  color: var(--sage);
  line-height: 1.9;
  margin-bottom: 1.5rem;
}

.about__visual {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Joe's Photo Styles */
.about__photo-wrapper {
  position: relative;
  width: 320px;
  height: 380px;
  margin: 0 auto;
}

.about__photo-border {
  position: absolute;
  inset: -3px;
  border-radius: 20px;
  background: linear-gradient(135deg, #c8a96e, #d4a5a5, #c8a96e);
  opacity: 0.8;
}

.about__photo {
  position: relative;
  width: 320px;
  height: 380px;
  object-fit: cover;
  object-position: center top;
  border-radius: 18px;
  display: block;
  filter: brightness(1.05) contrast(1.05);
}

.about__photo-label {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(10, 10, 10, 0.85);
  backdrop-filter: blur(10px);
  padding: 10px 24px;
  border-radius: 30px;
  border: 1px solid rgba(200, 169, 110, 0.3);
  white-space: nowrap;
}

.about__photo-label span {
  font-family: 'Cormorant Garamond', serif;
  color: #c8a96e;
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 0.05em;
}

/* SVG Face line-draw animation */
.face-draw {
  stroke-dasharray: 600;
  stroke-dashoffset: 600;
  transition: stroke-dashoffset 2.5s var(--ease);
}

.face-draw--delayed {
  stroke-dasharray: 200;
  stroke-dashoffset: 200;
  transition-delay: 0.5s;
}

.face-draw--delayed2 {
  stroke-dasharray: 100;
  stroke-dashoffset: 100;
  transition-delay: 1s;
}

.about__visual.revealed .face-draw {
  stroke-dashoffset: 0;
}

/* Sparkle dots */
.sparkle-dot {
  animation: sparklePulse 3s ease-in-out infinite;
}

.sparkle-dot--2 {
  animation-delay: 1s;
}

.sparkle-dot--3 {
  animation-delay: 2s;
}

@keyframes sparklePulse {

  0%,
  100% {
    opacity: 0.2;
    r: 1.5;
  }

  50% {
    opacity: 0.7;
    r: 2.5;
  }
}

/* ══════════════════════════════════════════
   TREATMENTS
   ══════════════════════════════════════════ */
.treatments {
  background: var(--charcoal);
  padding: 100px 48px;
}

.treatments__header {
  text-align: center;
  margin-bottom: 60px;
}

.treatments__title {
  font-family: var(--ff-heading);
  font-weight: 400;
  font-size: clamp(2rem, 4vw, 3rem);
  letter-spacing: 0.25em;
  color: var(--cream);
}

.treatments__grid {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

/* Treatment Card — clickable */
.treatment-card {
  background: var(--glass);
  border: 1px solid transparent;
  padding: 40px 28px 36px;
  text-align: center;
  transition: all 0.4s var(--ease);
  position: relative;
  overflow: hidden;
  cursor: pointer;
}

.treatment-card::before {
  content: '';
  position: absolute;
  inset: 0;
  border: 1px solid var(--glass-border);
  opacity: 0;
  transition: opacity 0.4s;
}

.treatment-card:hover {
  transform: translateY(-4px);
  background: rgba(255, 255, 255, 0.04);
}

.treatment-card:hover::before {
  opacity: 1;
}

.treatment-card__icon {
  width: 60px;
  height: 60px;
  margin: 0 auto 24px;
}

.tx-icon {
  width: 100%;
  height: 100%;
}

.treatment-card__name {
  font-family: var(--ff-heading);
  font-weight: 400;
  font-size: 1.15rem;
  letter-spacing: 0.05em;
  color: var(--cream);
  margin-bottom: 12px;
}

.treatment-card__desc {
  font-size: 1rem;
  color: var(--sage);
  line-height: 1.7;
}

/* ─── SVG Icon Animations ─── */

/* Syringe drop */
.syringe-drop {
  animation: dropFall 2.5s ease-in-out infinite;
}

@keyframes dropFall {

  0%,
  70% {
    cy: 68;
    opacity: 0;
    r: 1;
  }

  75% {
    opacity: 0.8;
    r: 2.5;
  }

  100% {
    cy: 78;
    opacity: 0;
    r: 1.5;
  }
}

/* DNA Helix */
.helix-strand {
  stroke-dasharray: 200;
  animation: helixDraw 3s ease-in-out infinite alternate;
}

.helix-2 {
  animation-delay: 0.5s;
}

@keyframes helixDraw {
  0% {
    stroke-dashoffset: 0;
  }

  100% {
    stroke-dashoffset: 40;
  }
}

.helix-dot {
  animation: helixPulse 2s ease-in-out infinite;
}

.helix-dot--2 {
  animation-delay: 1s;
}

@keyframes helixPulse {

  0%,
  100% {
    r: 2;
    opacity: 0.6;
  }

  50% {
    r: 3;
    opacity: 1;
  }
}

/* Laser Facial */
.laser-pulse {
  animation: laserPulse 2s ease-in-out infinite;
}

@keyframes laserPulse {
  0% {
    r: 6;
    opacity: 0.5;
  }

  50% {
    r: 16;
    opacity: 0;
  }

  100% {
    r: 6;
    opacity: 0;
  }
}

.laser-ray {
  animation: rayPulse 2s ease-in-out infinite;
}

.ray-2 {
  animation-delay: 0.25s;
}

.ray-3 {
  animation-delay: 0.5s;
}

.ray-4 {
  animation-delay: 0.75s;
}

.ray-5 {
  animation-delay: 1s;
}

.ray-6 {
  animation-delay: 1.25s;
}

.ray-7 {
  animation-delay: 1.5s;
}

.ray-8 {
  animation-delay: 1.75s;
}

@keyframes rayPulse {

  0%,
  100% {
    opacity: 0.4;
  }

  50% {
    opacity: 1;
  }
}

/* Follicle laser flash */
.follicle-flash {
  animation: follicleFlash 2.5s ease-in-out infinite;
}

@keyframes follicleFlash {

  0%,
  80% {
    opacity: 0;
    r: 2;
  }

  85% {
    opacity: 0.6;
    r: 6;
  }

  100% {
    opacity: 0;
    r: 2;
  }
}

.follicle-hair {
  animation: hairFade 4s ease-in-out infinite;
}

@keyframes hairFade {

  0%,
  100% {
    opacity: 0.8;
  }

  50% {
    opacity: 0.2;
  }
}

/* Vein fade */
.vein-main {
  stroke-dasharray: 200;
  animation: veinPulse 3s ease-in-out infinite;
}

@keyframes veinPulse {

  0%,
  100% {
    stroke-dashoffset: 0;
    opacity: 0.8;
  }

  50% {
    stroke-dashoffset: 20;
    opacity: 0.3;
  }
}

.vein-fade {
  animation: veinFade 3s ease-in-out infinite;
}

@keyframes veinFade {

  0%,
  100% {
    opacity: 0;
    r: 15;
  }

  50% {
    opacity: 0.3;
    r: 20;
  }
}

/* Gem sparkles */
.gem-sparkle {
  animation: gemSparkle 2s ease-in-out infinite;
}

.sparkle-2 {
  animation-delay: 0.7s;
}

.sparkle-3 {
  animation-delay: 1.4s;
}

@keyframes gemSparkle {

  0%,
  100% {
    opacity: 0.2;
    transform: scale(0.8);
  }

  50% {
    opacity: 1;
    transform: scale(1.2);
  }
}

/* Tattoo fading ink */
.ink-dot {
  animation: inkFade 4s ease-in-out infinite;
}

.ink-2 {
  animation-delay: 0.5s;
}

.ink-3 {
  animation-delay: 1s;
}

.ink-4 {
  animation-delay: 1.5s;
}

.ink-5 {
  animation-delay: 2s;
}

.ink-6 {
  animation-delay: 2.5s;
}

@keyframes inkFade {

  0%,
  100% {
    opacity: 0.6;
  }

  50% {
    opacity: 0.1;
  }
}

.tattoo-flash {
  animation: tattooFlash 4s ease-in-out infinite;
}

@keyframes tattooFlash {

  0%,
  90% {
    opacity: 0;
  }

  95% {
    opacity: 0.4;
  }

  100% {
    opacity: 0;
  }
}

/* Lotus */
.lotus-petal {
  stroke-dasharray: 100;
  animation: lotusBloom 4s ease-in-out infinite alternate;
}

.lotus-p2 {
  animation-delay: 0.2s;
}

.lotus-p3 {
  animation-delay: 0.4s;
}

.lotus-p4 {
  animation-delay: 0.6s;
}

.lotus-p5 {
  animation-delay: 0.8s;
}

.lotus-p6 {
  animation-delay: 1s;
}

@keyframes lotusBloom {
  0% {
    stroke-dashoffset: 0;
  }

  100% {
    stroke-dashoffset: 15;
  }
}

.lotus-glow {
  animation: lotusGlow 3s ease-in-out infinite;
}

@keyframes lotusGlow {

  0%,
  100% {
    opacity: 0;
    r: 8;
  }

  50% {
    opacity: 0.08;
    r: 15;
  }
}

/* ─── Treatment Card Accordion ─── */
.treatment-card__learn {
  font-family: var(--ff-body);
  font-size: 0.85rem;
  color: #c8a96e;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-top: 12px;
  opacity: 0.7;
  transition: opacity 0.3s ease;
  display: block;
}

.treatment-card:hover .treatment-card__learn {
  opacity: 1;
}

.treatment-card__detail {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease, padding 0.3s ease;
  padding: 0 0;
  font-size: 1rem;
  line-height: 1.8;
  color: rgba(245, 240, 235, 0.75);
  border-top: 0px solid rgba(200, 169, 110, 0.15);
  text-align: left;
}

.treatment-card.expanded .treatment-card__detail {
  max-height: 1200px;
  padding: 16px 0 0;
  border-top-width: 1px;
  margin-top: 12px;
}

.treatment-card__learn::after {
  content: ' +';
}

.treatment-card.expanded .treatment-card__learn::after {
  content: ' −';
}

/* ─── Velasmooth Wave Animations ─── */
.vela-wave {
  animation: velaWave 3s ease-in-out infinite;
}

.vela-wave-2 {
  animation-delay: 0.3s;
}

.vela-wave-3 {
  animation-delay: 0.6s;
}

@keyframes velaWave {

  0%,
  100% {
    stroke-dashoffset: 0;
    opacity: 0.7;
  }

  50% {
    opacity: 1;
  }
}

.vela-glow {
  animation: velaGlow 3s ease-in-out infinite;
}

@keyframes velaGlow {

  0%,
  100% {
    opacity: 0;
    r: 10;
  }

  50% {
    opacity: 0.08;
    r: 16;
  }
}

/* ─── Brazilian Suction Lift Animations ─── */
.bsl-arrow {
  animation: bslLift 2.5s ease-in-out infinite;
}

.bsl-arrowhead {
  animation: bslLift 2.5s ease-in-out infinite;
}

@keyframes bslLift {

  0%,
  100% {
    transform: translateY(0);
    opacity: 0.7;
  }

  50% {
    transform: translateY(-4px);
    opacity: 1;
  }
}

.bsl-glow {
  animation: bslGlow 2.5s ease-in-out infinite;
}

@keyframes bslGlow {

  0%,
  100% {
    opacity: 0;
    r: 4;
  }

  50% {
    opacity: 0.15;
    r: 8;
  }
}

/* ─── Carbon Peel Animations ─── */
.carbon-particle {
  animation: carbonFloat 3s ease-in-out infinite;
}

.cp-2 {
  animation-delay: 0.4s;
}

.cp-3 {
  animation-delay: 0.8s;
}

.cp-4 {
  animation-delay: 1.2s;
}

.cp-5 {
  animation-delay: 1.6s;
}

.cp-6 {
  animation-delay: 2s;
}

@keyframes carbonFloat {

  0%,
  100% {
    opacity: 0.5;
  }

  50% {
    opacity: 0.1;
    transform: translateY(-3px);
  }
}

.carbon-flash {
  animation: carbonFlash 3s ease-in-out infinite;
}

@keyframes carbonFlash {

  0%,
  85% {
    opacity: 0;
    r: 6;
  }

  90% {
    opacity: 0.4;
    r: 12;
  }

  100% {
    opacity: 0;
    r: 6;
  }
}

.carbon-sparkle {
  animation: gemSparkle 2s ease-in-out infinite;
}

.cs-2 {
  animation-delay: 0.6s;
}

.cs-3 {
  animation-delay: 1.2s;
}

/* ─── Lipolysis Injection Animations ─── */
.lipo-cell {
  animation: lipoCellDissolve 4s ease-in-out infinite;
}

.lipo-cell-2 {
  animation-delay: 0.5s;
}

.lipo-cell-3 {
  animation-delay: 1s;
}

@keyframes lipoCellDissolve {

  0%,
  100% {
    opacity: 0.7;
    stroke-dashoffset: 0;
  }

  50% {
    opacity: 0.2;
    stroke-dashoffset: 10;
  }
}

.lipo-dissolve {
  animation: lipoDissolve 3s ease-in-out infinite;
}

.lipo-d2 {
  animation-delay: 0.5s;
}

.lipo-d3 {
  animation-delay: 1s;
}

.lipo-d4 {
  animation-delay: 1.5s;
}

@keyframes lipoDissolve {

  0%,
  60% {
    opacity: 0;
    transform: translateY(0);
  }

  70% {
    opacity: 0.6;
  }

  100% {
    opacity: 0;
    transform: translateY(-8px);
  }
}

.lipo-flash {
  animation: lipoFlash 4s ease-in-out infinite;
}

@keyframes lipoFlash {

  0%,
  85% {
    opacity: 0;
    r: 4;
  }

  90% {
    opacity: 0.3;
    r: 10;
  }

  100% {
    opacity: 0;
    r: 4;
  }
}

.lipo-needle {
  stroke-dasharray: 60;
  animation: lipoInject 3s ease-in-out infinite;
}

@keyframes lipoInject {

  0%,
  100% {
    stroke-dashoffset: 0;
    opacity: 0.7;
  }

  50% {
    stroke-dashoffset: 8;
    opacity: 1;
  }
}

/* ══════════════════════════════════════════
   STATS
   ══════════════════════════════════════════ */
.stats {
  background: #0d0d0d;
  padding: 80px 48px;
}

.stats__grid {
  max-width: 1000px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
  text-align: center;
}

.stat__number {
  font-family: var(--ff-heading);
  font-weight: 400;
  font-size: clamp(2.5rem, 5vw, 3.5rem);
  color: var(--gold);
  display: inline;
}

.stat__plus {
  font-family: var(--ff-heading);
  font-weight: 400;
  font-size: clamp(2rem, 4vw, 2.5rem);
  color: var(--gold);
}

.stat__label {
  display: block;
  font-family: var(--ff-body);
  font-weight: 400;
  font-size: 1rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--sage);
  margin-top: 8px;
}

.stat__icon {
  display: block;
  margin: 0 auto;
}

/* ══════════════════════════════════════════
   WHY CHOOSE US
   ══════════════════════════════════════════ */
.why {
  background: var(--black);
  padding: 100px 48px;
}

.why__header {
  text-align: center;
  margin-bottom: 60px;
}

.why__title {
  font-family: var(--ff-heading);
  font-weight: 400;
  font-size: clamp(2rem, 4vw, 3rem);
  letter-spacing: 0.25em;
  color: var(--cream);
}

.why__grid {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}

.why-card {
  text-align: center;
  padding: 40px 24px;
  background: var(--glass);
  border: 1px solid var(--glass-border);
  transition: all 0.4s var(--ease);
}

.why-card:hover {
  transform: translateY(-4px);
  border-color: rgba(200, 169, 110, 0.25);
}

.why-card__icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 24px;
}

.why-card__icon svg {
  width: 100%;
  height: 100%;
}

.why-card__name {
  font-family: var(--ff-heading);
  font-weight: 400;
  font-size: 1.1rem;
  letter-spacing: 0.05em;
  color: var(--cream);
  margin-bottom: 12px;
}

.why-card__desc {
  font-size: 1rem;
  color: var(--sage);
  line-height: 1.7;
}

/* Why-us icon animations */
.tech-ring--outer {
  animation: techSpin 12s linear infinite;
  transform-origin: center;
}

.tech-ring--inner {
  animation: techSpin 8s linear infinite reverse;
  transform-origin: center;
}

@keyframes techSpin {
  to {
    transform: rotate(360deg);
  }
}

.heart-draw {
  stroke-dasharray: 200;
  stroke-dashoffset: 200;
}

.why-card:hover .heart-draw {
  stroke-dashoffset: 0;
  transition: stroke-dashoffset 1.5s var(--ease);
}

.heart-pulse {
  stroke-dasharray: 120;
  animation: heartBeat 2s ease-in-out infinite;
}

@keyframes heartBeat {
  0% {
    stroke-dashoffset: 120;
  }

  50% {
    stroke-dashoffset: 0;
  }

  100% {
    stroke-dashoffset: -120;
  }
}

.pin-bounce {
  animation: pinBounce 2s ease-in-out infinite;
  transform-origin: center bottom;
}

@keyframes pinBounce {

  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-3px);
  }
}

/* ══════════════════════════════════════════
   TESTIMONIALS
   ══════════════════════════════════════════ */
.testimonials {
  background: #0e0b0b;
  padding: 100px 48px;
  overflow: hidden;
}

.testimonials__header {
  text-align: center;
  margin-bottom: 60px;
}

.testimonials__title {
  font-family: var(--ff-heading);
  font-weight: 400;
  font-size: clamp(2rem, 4vw, 3rem);
  letter-spacing: 0.25em;
  color: var(--cream);
}

.testimonials__carousel {
  max-width: 1200px;
  margin: 0 auto;
  overflow: hidden;
}

.testimonials__track {
  display: flex;
  gap: 40px;
  animation: testimonialSlide 24s linear infinite;
  width: max-content;
}

@keyframes testimonialSlide {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

.testimonial {
  flex: 0 0 380px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(212, 165, 165, 0.08);
  padding: 48px 36px;
  position: relative;
}

.testimonial__quote {
  width: 50px;
  height: auto;
  margin-bottom: 20px;
}

.testimonial__text {
  font-family: var(--ff-heading);
  font-weight: 400;
  font-style: italic;
  font-size: 1.05rem;
  line-height: 1.8;
  color: var(--cream);
  margin-bottom: 24px;
}

.testimonial__author {
  font-family: var(--ff-body);
  font-weight: 500;
  font-size: 1.05rem;
  letter-spacing: 0.1em;
  color: var(--rose);
}

.testimonial__location {
  font-size: 1.1rem;
  color: var(--sage);
  margin-top: 4px;
}

/* Pause on hover */
.testimonials__carousel:hover .testimonials__track {
  animation-play-state: paused;
}

/* ══════════════════════════════════════════
   INSTAGRAM
   ══════════════════════════════════════════ */
.instagram {
  background: var(--black);
  padding: 100px 48px;
  text-align: center;
}

.instagram__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  margin-bottom: 50px;
}

.instagram__title {
  font-family: var(--ff-heading);
  font-weight: 400;
  font-size: clamp(1.5rem, 3vw, 2.5rem);
  letter-spacing: 0.2em;
  color: var(--cream);
}

.instagram__grid {
  max-width: 900px;
  margin: 0 auto 50px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.insta-card {
  aspect-ratio: 1;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid var(--glass-border);
  overflow: hidden;
  position: relative;
  display: block;
  transition: transform 0.3s var(--ease), border-color 0.3s;
}

.insta-card:hover {
  transform: scale(1.02);
  border-color: rgba(200, 169, 110, 0.3);
}

.insta-shimmer {
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg,
      transparent 25%,
      rgba(200, 169, 110, 0.04) 37%,
      rgba(200, 169, 110, 0.08) 50%,
      rgba(200, 169, 110, 0.04) 63%,
      transparent 75%);
  background-size: 200% 100%;
  animation: shimmer 3s ease-in-out infinite;
}

@keyframes shimmer {
  0% {
    background-position: 200% 0;
  }

  100% {
    background-position: -200% 0;
  }
}

.instagram__btn {
  margin-top: 0;
}

/* ══════════════════════════════════════════
   CONTACT
   ══════════════════════════════════════════ */
.contact {
  background: var(--black);
  padding: 120px 48px;
  text-align: center;
}

.contact__container {
  max-width: 700px;
  margin: 0 auto;
}

.contact__title {
  font-family: var(--ff-heading);
  font-weight: 400;
  font-size: clamp(2.5rem, 6vw, 4.5rem);
  letter-spacing: 0.15em;
  color: var(--cream);
  line-height: 1.1;
  margin-bottom: 3rem;
}

.contact__phone {
  display: block;
  font-family: var(--ff-heading);
  font-weight: 400;
  font-size: clamp(1.5rem, 4vw, 2.5rem);
  letter-spacing: 0.1em;
  color: var(--gold);
  margin-bottom: 0.5rem;
  transition: opacity 0.3s;
}

.contact__phone:hover {
  opacity: 0.8;
}

.contact__sub {
  font-size: 1rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--sage);
  margin-bottom: 3rem;
}

.contact__details {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
  margin-bottom: 3rem;
}

.contact__detail {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 1.05rem;
  color: var(--cream);
}

.contact__pin {
  animation: pinBounce 2s ease-in-out infinite;
}

/* ══════════════════════════════════════════
   FOOTER
   ══════════════════════════════════════════ */
.footer {
  background: #050505;
  padding: 60px 48px;
  border-top: 1px solid rgba(200, 169, 110, 0.06);
}

.footer__container {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}

.footer__logo {
  width: 50px;
  height: 35px;
}

.footer__links {
  display: flex;
  gap: 32px;
  flex-wrap: wrap;
  justify-content: center;
}

.footer__links a {
  font-size: 1.1rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--sage);
  transition: color 0.3s;
}

.footer__links a:hover {
  color: var(--gold);
}

.footer__social {
  display: flex;
  gap: 20px;
}

.footer__social a {
  transition: opacity 0.3s;
}

.footer__social a:hover {
  opacity: 0.7;
}

.footer__copy {
  font-size: 0.9rem;
  letter-spacing: 0.1em;
  color: rgba(138, 154, 138, 0.5);
}

/* ══════════════════════════════════════════
   REVEAL ANIMATIONS
   ══════════════════════════════════════════ */
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s var(--ease-out), transform 0.8s var(--ease-out);
}

.reveal.revealed {
  opacity: 1;
  transform: translateY(0);
}

.reveal-card {
  opacity: 0;
  transform: translateY(40px) scale(0.97);
  transition: opacity 0.6s var(--ease-out), transform 0.6s var(--ease-out);
}

.reveal-card.revealed {
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* Stagger */
.reveal-card:nth-child(1) {
  transition-delay: 0s;
}

.reveal-card:nth-child(2) {
  transition-delay: 0.1s;
}

.reveal-card:nth-child(3) {
  transition-delay: 0.2s;
}

.reveal-card:nth-child(4) {
  transition-delay: 0.3s;
}

.reveal-card:nth-child(5) {
  transition-delay: 0.4s;
}

.reveal-card:nth-child(6) {
  transition-delay: 0.5s;
}

.reveal-card:nth-child(7) {
  transition-delay: 0.6s;
}

.reveal-card:nth-child(8) {
  transition-delay: 0.7s;
}

.reveal-card:nth-child(9) {
  transition-delay: 0.8s;
}

.reveal-card:nth-child(10) {
  transition-delay: 0.9s;
}

.reveal-card:nth-child(11) {
  transition-delay: 1s;
}

/* Fade in up utility */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ══════════════════════════════════════════
   REDUCE MOTION
   ══════════════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .typewriter {
    width: 100% !important;
    border-right: none !important;
  }

  .reveal,
  .reveal-card {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* ══════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════ */
@media (max-width: 1024px) {
  .treatments__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .why__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .stats__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
  }

  .instagram__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  .nav {
    padding: 20px 24px;
  }

  .nav--scrolled {
    padding: 14px 24px;
  }

  .nav__hamburger {
    display: flex;
  }

  .nav__links {
    position: fixed;
    top: 0;
    right: -100%;
    width: 280px;
    height: 100vh;
    background: rgba(10, 10, 10, 0.98);
    backdrop-filter: blur(30px);
    -webkit-backdrop-filter: blur(30px);
    flex-direction: column;
    justify-content: center;
    gap: 32px;
    padding: 40px;
    transition: right 0.4s var(--ease);
    border-left: 1px solid var(--glass-border);
  }

  .nav__links.open {
    right: 0;
  }

  /* Hero */
  .hero__title {
    font-size: clamp(2.5rem, 12vw, 5rem);
    letter-spacing: 0.12em;
  }

  .hero__subtitle {
    font-size: clamp(0.9rem, 3vw, 1.2rem);
  }

  .hero__content .btn {
    padding: 16px 32px;
    font-size: 0.95rem;
    width: 100%;
    max-width: 340px;
  }

  /* About */
  .about {
    padding: 60px 20px;
  }

  .about__container {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .about__visual {
    order: -1;
  }

  .about__photo-wrapper {
    width: 260px;
    height: 320px;
  }

  .about__photo {
    width: 260px;
    height: 320px;
  }

  .about__photo-label {
    padding: 8px 18px;
  }

  .about__photo-label span {
    font-size: 0.95rem;
  }

  .about__heading {
    font-size: clamp(1.6rem, 5vw, 2.4rem);
    text-align: center;
  }

  .about__body {
    font-size: 1rem;
    line-height: 1.8;
  }

  /* Treatments */
  .treatments {
    padding: 60px 16px;
  }

  .treatments__grid {
    grid-template-columns: 1fr;
    max-width: 100%;
    gap: 16px;
  }

  .treatment-card {
    padding: 32px 20px 28px;
  }

  .treatment-card__name {
    font-size: 1.1rem;
  }

  .treatment-card__desc {
    font-size: 1rem;
    line-height: 1.7;
  }

  .treatment-card__detail {
    font-size: 0.95rem;
    line-height: 1.7;
  }

  /* Stats */
  .stats {
    padding: 50px 20px;
  }

  .stats__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  /* Why Us */
  .why {
    padding: 60px 16px;
  }

  .why__grid {
    grid-template-columns: 1fr;
    max-width: 100%;
    gap: 16px;
  }

  .why-card {
    padding: 32px 20px;
  }

  /* Testimonials */
  .testimonials {
    padding: 60px 16px;
  }

  .testimonials__track {
    gap: 20px;
  }

  .testimonial {
    flex: 0 0 280px;
    padding: 32px 24px;
  }

  .testimonial__text {
    font-size: 1rem;
    line-height: 1.7;
  }

  /* Instagram */
  .instagram {
    padding: 60px 16px;
  }

  .instagram__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }

  /* Contact */
  .contact {
    padding: 60px 20px;
  }

  .contact__title {
    font-size: clamp(2rem, 8vw, 3.5rem);
    margin-bottom: 2rem;
  }

  .contact__phone {
    font-size: clamp(1.3rem, 5vw, 2rem);
  }

  .contact__sub {
    margin-bottom: 2rem;
  }

  .contact__detail {
    font-size: 1rem;
    padding: 12px 0;
  }

  .contact__detail span {
    font-size: 0.95rem;
  }

  .contact .btn--large {
    width: 100%;
    max-width: 340px;
    padding: 18px 32px;
  }

  /* Footer */
  .footer {
    padding: 40px 20px;
  }

  .footer__container {
    gap: 24px;
  }

  .footer__links {
    gap: 16px;
  }

  .footer__links a {
    font-size: 0.85rem;
  }

  .footer__copy {
    font-size: 0.7rem;
    line-height: 1.6;
    max-width: 320px;
    margin: 0 auto;
    text-align: center;
  }

  /* MOBILE READABILITY BOOST */
  body {
    font-size: 17px;
    line-height: 1.7;
  }

  .nav__links a {
    font-size: 1.2rem;
    padding: 12px 0;
  }

  /* Bigger tap targets for buttons */
  a,
  button {
    min-height: 44px;
  }

  /* Section labels */
  .section-label {
    font-size: 0.9rem;
    letter-spacing: 0.2em;
  }

  /* Wave dividers — smaller on mobile */
  .wave-divider svg {
    height: 40px;
  }
}

@media (max-width: 480px) {
  .hero__title {
    font-size: clamp(2rem, 14vw, 3.5rem);
    letter-spacing: 0.08em;
  }

  .hero__location {
    font-size: 0.85rem;
    letter-spacing: 0.2em;
  }

  .hero__content .btn {
    padding: 16px 24px;
    font-size: 0.9rem;
    letter-spacing: 0.12em;
  }

  .about__photo-wrapper {
    width: 220px;
    height: 270px;
  }

  .about__photo {
    width: 220px;
    height: 270px;
  }

  .about__photo-label {
    padding: 6px 14px;
    bottom: 14px;
  }

  .about__photo-label span {
    font-size: 0.85rem;
  }

  .treatments__grid,
  .why__grid {
    grid-template-columns: 1fr;
  }

  .stats__grid {
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }

  .stat__number {
    font-size: clamp(2rem, 8vw, 2.8rem);
  }

  .stat__label {
    font-size: 0.8rem;
  }

  .testimonial {
    flex: 0 0 260px;
    padding: 28px 20px;
  }

  .instagram__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }

  .btn {
    padding: 14px 28px;
    font-size: 0.95rem;
  }

  .btn--large {
    padding: 16px 28px;
  }

  .contact__details {
    text-align: left;
  }

  .footer__links {
    flex-direction: column;
    gap: 12px;
    align-items: center;
  }

  .footer__copy {
    font-size: 0.65rem;
    max-width: 280px;
  }
}

/* Very small phones (360px and below) */
@media (max-width: 360px) {
  .hero__title {
    font-size: 2rem;
    letter-spacing: 0.05em;
  }

  .about__photo-wrapper,
  .about__photo {
    width: 200px;
    height: 250px;
  }

  .treatment-card {
    padding: 24px 16px 20px;
  }

  .nav__links {
    width: 100%;
  }

  .contact__phone {
    font-size: 1.2rem;
  }
}/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   LIGHT MODE
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
body.light-mode {
    --black: #faf5f0;
    --charcoal: #f5eded;
    --gold: #b8944e;
    --gold-bright: #a07d3a;
    --rose: #c4848a;
    --blush: #f0d4d6;
    --cream: #2a1f1f;
    --offwhite: #1a1212;
    --sage: #5a6a5a;
    --glass: rgba(200, 169, 110, 0.06);
    --glass-border: rgba(200, 169, 110, 0.2);
    color: #2a1f1f;
    background: #faf5f0;
}

body.light-mode .hero { background: linear-gradient(135deg, #3a2a2a 0%, #4a3535 30%, #2d2020 60%, #1a1212 100%); }
body.light-mode .hero__title { color: #f5f0eb; text-shadow: 0 2px 20px rgba(200,169,110,0.3); }
body.light-mode .hero__subtitle { color: #d4a5a5; }
body.light-mode .hero__location { color: #c8a96e; }
body.light-mode .hero .hero__scroll-hint rect { stroke: #c8a96e; }

body.light-mode .hero__aurora {
    background: radial-gradient(ellipse at 30% 50%, rgba(212, 165, 165, 0.15) 0%, transparent 70%);
}

body.light-mode .hero__orb--1 {
    background: radial-gradient(circle, rgba(200, 169, 110, 0.08) 0%, transparent 70%);
}

body.light-mode .hero__orb--2 {
    background: radial-gradient(circle, rgba(212, 165, 165, 0.08) 0%, transparent 70%);
}

body.light-mode .hero__orb--3 {
    background: radial-gradient(circle, rgba(232, 196, 196, 0.06) 0%, transparent 70%);
}

body.light-mode .hero__noise {
    opacity: 0.02;
}

body.light-mode .about {
    background: #faf5f0;
}

body.light-mode .about__photo-border {
    background: linear-gradient(135deg, #c8a96e, #e8b4b8, #c8a96e);
}

body.light-mode .about__photo-label {
    background: rgba(255, 255, 255, 0.9);
    border-color: rgba(200, 169, 110, 0.3);
}

body.light-mode .about__photo-label span {
    color: #8a6d3b;
}

body.light-mode .treatments {
    background: #f5eded;
}

body.light-mode .treatment-card {
    background: rgba(255, 255, 255, 0.8);
    border-color: rgba(200, 169, 110, 0.15);
}

body.light-mode .treatment-card:hover {
    border-color: rgba(200, 169, 110, 0.4);
    box-shadow: 0 8px 30px rgba(200, 169, 110, 0.1);
}

body.light-mode .treatment-card__name {
    color: #2a1f1f;
}

body.light-mode .treatment-card__desc {
    color: #4a3f3f;
}

body.light-mode .treatment-card__detail {
    color: #5a4f4f;
}

body.light-mode .stats {
    background: #fff8f5;
}

body.light-mode .why {
    background: #faf5f0;
}

body.light-mode .why-card {
    background: rgba(255, 255, 255, 0.7);
    border-color: rgba(200, 169, 110, 0.12);
}

body.light-mode .why-card:hover {
    border-color: rgba(200, 169, 110, 0.35);
}

body.light-mode .testimonials {
    background: #f5eded;
}

body.light-mode .testimonial {
    background: rgba(255, 255, 255, 0.7);
    border-color: rgba(212, 165, 165, 0.15);
}

body.light-mode .testimonial__text {
    color: #3a2f2f;
}

body.light-mode .testimonial__author {
    color: #c4848a;
}

body.light-mode .instagram {
    background: #faf5f0;
}

body.light-mode .insta-card {
    background: rgba(255, 255, 255, 0.5);
    border-color: rgba(200, 169, 110, 0.15);
}

body.light-mode .contact {
    background: #fff8f5;
}

body.light-mode .contact__title {
    color: #2a1f1f;
}

body.light-mode .contact__phone {
    color: #b8944e;
}

body.light-mode .contact__detail span {
    color: #4a3f3f;
}

body.light-mode .footer {
    background: #f0e8e0;
}

body.light-mode .footer__copy {
    color: #8a7a6a;
}

body.light-mode .footer__links a {
    color: #5a4a3a;
}

body.light-mode .wave-divider path {
    fill: #f5eded;
}

body.light-mode .wave-divider--flip path {
    fill: #f5eded;
}

body.light-mode .nav {
    background: rgba(250, 245, 240, 0.9);
}

body.light-mode .nav--scrolled {
    background: rgba(250, 245, 240, 0.95);
    border-bottom-color: rgba(200, 169, 110, 0.2);
}

body.light-mode .nav__links a {
    color: #3a2f2f;
}

body.light-mode .nav__cta {
    border-color: #b8944e !important;
    color: #b8944e !important;
}

body.light-mode .nav__cta:hover {
    background: #b8944e !important;
    color: #fff !important;
}

body.light-mode .btn--gold {
    background: linear-gradient(135deg, #b8944e, #d4a055);
    color: #fff;
}

body.light-mode .btn--gold:hover {
    background: linear-gradient(135deg, #a07d3a, #c49045);
}

body.light-mode .gold-line {
    background: linear-gradient(90deg, transparent, #c8a96e, transparent);
}

body.light-mode .section-label {
    color: #c4848a;
}

body.light-mode .rebrand {
    background: #f5eded;
}

body.light-mode .testimonial-form__wrapper {
    background: rgba(255, 255, 255, 0.6);
    border-color: rgba(200, 169, 110, 0.2);
}

body.light-mode .testimonial-form input,
body.light-mode .testimonial-form textarea {
    background: rgba(250, 245, 240, 0.8);
    border-color: rgba(200, 169, 110, 0.2);
    color: #2a1f1f;
}

body.light-mode .testimonial-form label {
    color: #5a4a3a;
}

body.light-mode .mobile-contact-bar {
    background: rgba(250, 245, 240, 0.95);
    border-top-color: rgba(200, 169, 110, 0.2);
}

body.light-mode .mobile-contact-bar__btn {
    color: #3a2f2f;
}

body.light-mode .contact__action-btn {
    background: rgba(255, 255, 255, 0.7);
    border-color: rgba(200, 169, 110, 0.25);
    color: #3a2f2f;
}

body.light-mode .contact__map-link {
    color: #b8944e;
    border-bottom-color: rgba(184, 148, 78, 0.3);
}


/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   NAV ACTIONS (Instagram + Theme Toggle)
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.nav__actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.nav__social {
    color: var(--gold);
    transition: opacity 0.3s;
    display: flex;
    align-items: center;
}

.nav__social:hover {
    opacity: 0.7;
}

.nav__theme-toggle {
    background: none;
    border: 1px solid var(--glass-border);
    border-radius: 50%;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--gold);
    transition: all 0.3s var(--ease);
}

.nav__theme-toggle:hover {
    border-color: var(--gold);
    background: rgba(200, 169, 110, 0.1);
}

/* Show sun in dark mode, moon in light mode */
.theme-icon--moon {
    display: none;
}

body.light-mode .theme-icon--sun {
    display: none;
}

body.light-mode .theme-icon--moon {
    display: block;
}


/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   REBRAND COMPARISON SLIDER
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.rebrand {
    background: var(--charcoal);
    padding: 80px 48px;
    text-align: center;
}

.rebrand__container {
    max-width: 800px;
    margin: 0 auto;
}

.rebrand__title {
    font-family: var(--ff-heading);
    font-weight: 400;
    font-size: clamp(2rem, 4vw, 3rem);
    letter-spacing: 0.25em;
    color: var(--cream);
    margin-bottom: 16px;
}

.rebrand__subtitle {
    font-size: 1rem;
    color: var(--sage);
    margin-bottom: 40px;
    line-height: 1.6;
}

.rebrand__slider {
    position: relative;
    max-width: 700px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 12px;
    border: 1px solid var(--glass-border);
    aspect-ratio: 4/3;
    cursor: col-resize;
    user-select: none;
    -webkit-user-select: none;
}

.rebrand__before,
.rebrand__after {
    position: absolute;
    inset: 0;
}

.rebrand__before img,
.rebrand__after img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.rebrand__before {
    z-index: 1;
    clip-path: inset(0 50% 0 0);
}

.rebrand__after {
    z-index: 0;
}

.rebrand__label {
    position: absolute;
    bottom: 16px;
    padding: 6px 16px;
    border-radius: 20px;
    font-family: var(--ff-body);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    z-index: 3;
}

.rebrand__label--before {
    left: 16px;
    background: rgba(10, 10, 10, 0.8);
    color: var(--cream);
}

.rebrand__label--after {
    right: 16px;
    background: rgba(200, 169, 110, 0.9);
    color: #0a0a0a;
}

.rebrand__handle {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 4px;
    z-index: 4;
    display: flex;
    flex-direction: column;
    align-items: center;
    pointer-events: none;
}

.rebrand__handle-line {
    flex: 1;
    width: 2px;
    background: var(--gold);
}

.rebrand__handle-circle {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--gold);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
    flex-shrink: 0;
}


/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   CONTACT ACTION BUTTONS
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.contact__buttons {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 2rem;
}

.contact__action-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    border-radius: 30px;
    border: 1px solid var(--glass-border);
    background: var(--glass);
    color: var(--cream);
    font-family: var(--ff-body);
    font-size: 0.9rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-decoration: none;
    transition: all 0.3s var(--ease);
    white-space: nowrap;
}

.contact__action-btn:hover {
    border-color: var(--gold);
    background: rgba(200, 169, 110, 0.1);
    transform: translateY(-2px);
}

.contact__map-links {
    display: flex;
    gap: 16px;
    margin-top: 8px;
}

.contact__map-link {
    font-size: 0.8rem;
    color: var(--gold);
    text-decoration: none;
    border-bottom: 1px solid rgba(200, 169, 110, 0.3);
    padding-bottom: 1px;
    transition: opacity 0.3s;
}

.contact__map-link:hover {
    opacity: 0.7;
}


/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   TESTIMONIAL FORM
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.testimonial-form__wrapper {
    max-width: 600px;
    margin: 60px auto 0;
    padding: 48px 36px;
    background: var(--glass);
    border: 1px solid var(--glass-border);
    border-radius: 12px;
    text-align: center;
}

.testimonial-form__title {
    font-family: var(--ff-heading);
    font-weight: 400;
    font-size: clamp(1.5rem, 3vw, 2rem);
    color: var(--cream);
    letter-spacing: 0.1em;
    margin-bottom: 8px;
}

.testimonial-form__subtitle {
    font-size: 0.95rem;
    color: var(--sage);
    margin-bottom: 32px;
}

.testimonial-form__field {
    margin-bottom: 20px;
    text-align: left;
}

.testimonial-form label {
    display: block;
    font-size: 0.8rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--sage);
    margin-bottom: 8px;
}

.testimonial-form input,
.testimonial-form textarea {
    width: 100%;
    padding: 14px 16px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--glass-border);
    border-radius: 8px;
    color: var(--cream);
    font-family: var(--ff-body);
    font-size: 1rem;
    transition: border-color 0.3s;
}

.testimonial-form input:focus,
.testimonial-form textarea:focus {
    outline: none;
    border-color: var(--gold);
}

.testimonial-form input::placeholder,
.testimonial-form textarea::placeholder {
    color: rgba(138, 154, 138, 0.6);
}

.testimonial-form textarea {
    resize: vertical;
    min-height: 100px;
}

.testimonial-form__submit {
    margin-top: 8px;
    width: 100%;
}


/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   MOBILE FLOATING CONTACT BAR
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.mobile-contact-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    display: none;
    background: rgba(10, 10, 10, 0.95);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-top: 1px solid var(--glass-border);
    padding: 8px 0;
    padding-bottom: max(8px, env(safe-area-inset-bottom));
}

.mobile-contact-bar__btn {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 8px 0;
    color: var(--gold);
    text-decoration: none;
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    transition: opacity 0.3s;
}

.mobile-contact-bar__btn:hover {
    opacity: 0.7;
}

@media (max-width: 768px) {
    .mobile-contact-bar {
        display: flex;
    }

    /* Add bottom padding to body so content isn't hidden behind the bar */
    body {
        padding-bottom: 70px;
    }

    .rebrand {
        padding: 60px 16px;
    }

    .rebrand__slider {
        border-radius: 8px;
    }

    .testimonial-form__wrapper {
        margin: 40px 16px 0;
        padding: 32px 20px;
    }

    .contact__buttons {
        flex-direction: column;
        align-items: center;
    }

    .contact__action-btn {
        width: 100%;
        max-width: 260px;
        justify-content: center;
    }

    .contact__map-links {
        flex-direction: column;
        gap: 8px;
        align-items: flex-start;
    }
}

@media (max-width: 480px) {
    .rebrand__handle-circle {
        width: 32px;
        height: 32px;
    }

    .rebrand__handle-circle svg {
        width: 14px;
        height: 14px;
    }
}

/* Photo Label Credentials */
.about__photo-label {
  flex-direction: column;
  line-height: 1.4;
  padding: 12px 20px;
  text-align: center;
}

.about__credentials {
  display: block;
  font-size: 0.65rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  color: var(--sage);
  margin-top: 2px;
}


/* â”€â”€â”€ Comparison Slider Placeholder Fix â”€â”€â”€ */
.rebrand__before img,
.rebrand__after img {
  background: var(--charcoal);
  min-height: 100%;
}

.rebrand__before img[src="old-website.jpg"]:not([src=""]) {
  /* Placeholder for missing old site image */
}

.rebrand__slider {
  background: var(--charcoal);
}

/* Fallback text when images not loaded */
.rebrand__before img::after,
.rebrand__after img::after {
  content: 'Screenshot coming soon';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: var(--sage);
  font-size: 0.9rem;
}

/* â”€â”€â”€ Theme Toggle Label â”€â”€â”€ */
.nav__theme-label {
  font-family: var(--ff-body);
  font-size: 0.6rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--sage);
  position: absolute;
  bottom: -16px;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  pointer-events: none;
}

.nav__theme-toggle {
  position: relative;
}

/* â”€â”€â”€ 10. Fix Free Consultations stat alignment â”€â”€â”€ */
.stats__grid {
  align-items: center;
}

.stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 120px;
}

.stat__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 52px;
}

.stat__number {
  height: 52px;
  display: flex;
  align-items: center;
}

/* â”€â”€â”€ 11. Testimonials: Readable Font + Block Swipe â”€â”€â”€ */
.testimonial__text {
  font-size: 1.1rem !important;
  line-height: 1.8 !important;
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em;
}

.testimonial__author {
  font-size: 0.95rem !important;
  font-weight: 600 !important;
}

/* Override marquee - use block-swipe carousel instead */
.testimonials__track {
  animation: none !important;
  display: flex;
  overflow: hidden;
  position: relative;
}

.testimonials__track-inner {
  display: flex;
  transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  width: 100%;
}

.testimonial {
  min-width: 350px;
  max-width: 400px;
  flex-shrink: 0;
  padding: 32px 28px !important;
}

@media (max-width: 768px) {
  .testimonial {
    min-width: 280px;
    max-width: 320px;
    padding: 24px 20px !important;
  }
  
  .testimonial__text {
    font-size: 1rem !important;
  }
}

/* â”€â”€â”€ Testimonial Carousel Navigation â”€â”€â”€ */
.testimonials__nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 32px;
}

.testimonials__prev,
.testimonials__next {
  background: none;
  border: 1px solid var(--glass-border);
  border-radius: 50%;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--gold);
  transition: all 0.3s var(--ease);
}

.testimonials__prev:hover,
.testimonials__next:hover {
  border-color: var(--gold);
  background: rgba(200, 169, 110, 0.1);
}

.testimonials__dots {
  display: flex;
  gap: 8px;
}

.testimonials__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--glass-border);
  border: none;
  cursor: pointer;
  transition: all 0.3s;
  padding: 0;
}

.testimonials__dot.active {
  background: var(--gold);
  transform: scale(1.2);
}

/* Override the continuous scroll animation */
.testimonials__track {
  animation: none !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.testimonials__carousel {
  overflow: hidden;
}

/* â”€â”€â”€ Gallery Section â”€â”€â”€ */
.gallery {
  background: var(--charcoal);
  padding: 80px 48px;
  text-align: center;
}

.gallery__header {
  max-width: 800px;
  margin: 0 auto 48px;
}

.gallery__title {
  font-family: var(--ff-heading);
  font-weight: 400;
  font-size: clamp(2rem, 4vw, 3rem);
  letter-spacing: 0.3em;
  color: var(--cream);
  margin-bottom: 16px;
}

.gallery__subtitle {
  font-size: 1rem;
  color: var(--sage);
  line-height: 1.6;
}

.gallery__link {
  color: var(--gold);
  text-decoration: none;
  border-bottom: 1px solid rgba(200, 169, 110, 0.3);
  transition: opacity 0.3s;
}
.gallery__link:hover { opacity: 0.7; }

.gallery__grid {
  max-width: 600px;
  margin: 0 auto;
}

.gallery__placeholder {
  padding: 60px 40px;
  background: var(--glass);
  border: 1px solid var(--glass-border);
  border-radius: 12px;
  text-align: center;
  color: var(--sage);
}

.gallery__placeholder svg {
  margin-bottom: 20px;
  opacity: 0.5;
}

.gallery__placeholder p {
  margin-bottom: 8px;
  font-size: 1rem;
}

.gallery__cta {
  font-size: 0.9rem;
}

.gallery__cta a {
  color: var(--gold);
  text-decoration: none;
  border-bottom: 1px solid rgba(200, 169, 110, 0.3);
}

body.light-mode .gallery { background: #f5eded; }
body.light-mode .gallery__placeholder { background: rgba(255,255,255,0.5); border-color: rgba(200,169,110,0.15); }

@media (max-width: 768px) {
  .gallery { padding: 60px 16px; }
}
/* Fix + beside number */
.stat { flex-direction: column; align-items: center; }
.stat__number, .stat__plus { display: inline; height: auto; }
.stat__plus { font-size: inherit; }


/* â•â•â• FIX: Number + Plus inline â•â•â• */
.stat {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: baseline;
  text-align: center;
}

.stat__number,
.stat__plus {
  display: inline !important;
  height: auto !important;
}

.stat__label {
  width: 100%;
  text-align: center;
  margin-top: 8px;
}

.stat__icon {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-bottom: 4px;
}

/* â•â•â• FIX: Testimonial font - clean readable sans-serif â•â•â• */
.testimonial__text {
  font-family: 'Montserrat', 'Helvetica Neue', Arial, sans-serif !important;
  font-style: normal !important;
  font-weight: 400 !important;
  font-size: 0.95rem !important;
  line-height: 1.75 !important;
  letter-spacing: 0.01em !important;
  color: var(--cream) !important;
}

.testimonial__author {
  font-family: 'Montserrat', sans-serif !important;
  font-style: normal !important;
  font-weight: 600 !important;
  font-size: 0.9rem !important;
}

.testimonial__location {
  font-family: 'Montserrat', sans-serif !important;
  font-style: normal !important;
}

/* â•â•â• FIX: Contact section spacing â•â•â• */
.contact__details {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin: 32px 0;
}

.contact__detail {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  text-align: left;
}

.contact__detail svg {
  flex-shrink: 0;
  margin-top: 4px;
}

.contact__detail span {
  line-height: 1.6;
}

.contact .btn--large {
  margin-top: 16px;
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   PHOTO GALLERY â€” Animated Grid + Lightbox
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

.gallery__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 12px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
}

.gallery__item {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  cursor: pointer;
  aspect-ratio: 1;
  background: var(--charcoal);
}

.gallery__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), filter 0.4s;
  display: block;
}

.gallery__item:hover img {
  transform: scale(1.08);
  filter: brightness(1.1);
}

.gallery__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.35s;
}

.gallery__item:hover .gallery__overlay {
  opacity: 1;
}

/* Staggered entrance animation */
.gallery__item.revealed {
  animation: galleryFadeIn 0.6s ease-out forwards;
}

@keyframes galleryFadeIn {
  from {
    opacity: 0;
    transform: translateY(30px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* Lightbox */
.gallery__lightbox {
  position: fixed;
  inset: 0;
  z-index: 10000;
  background: rgba(0, 0, 0, 0.95);
  display: none;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s;
  backdrop-filter: blur(10px);
}

.gallery__lightbox.active {
  display: flex;
  opacity: 1;
}

.lightbox__content {
  max-width: 90vw;
  max-height: 85vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lightbox__content img {
  max-width: 100%;
  max-height: 85vh;
  object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6);
  animation: lightboxZoomIn 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

@keyframes lightboxZoomIn {
  from { transform: scale(0.85); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}

.lightbox__close {
  position: absolute;
  top: 20px;
  right: 24px;
  background: none;
  border: none;
  color: white;
  font-size: 36px;
  cursor: pointer;
  z-index: 10001;
  transition: transform 0.2s, opacity 0.2s;
  opacity: 0.7;
  line-height: 1;
}

.lightbox__close:hover {
  transform: scale(1.2);
  opacity: 1;
}

.lightbox__prev,
.lightbox__next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  width: 52px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: white;
  z-index: 10001;
  transition: all 0.3s;
}

.lightbox__prev { left: 20px; }
.lightbox__next { right: 20px; }

.lightbox__prev:hover,
.lightbox__next:hover {
  background: rgba(200, 169, 110, 0.3);
  border-color: var(--gold);
}

.lightbox__counter {
  position: absolute;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(255, 255, 255, 0.6);
  font-family: var(--ff-body);
  font-size: 0.85rem;
  letter-spacing: 0.1em;
}

/* Gallery subtitle override */
.gallery__subtitle {
  font-size: 1rem;
  color: var(--sage);
  line-height: 1.6;
  margin-top: 12px;
}

/* Light mode gallery */
body.light-mode .gallery__item {
  background: #f0e6e6;
}

body.light-mode .gallery__lightbox {
  background: rgba(40, 30, 30, 0.95);
}

@media (max-width: 600px) {
  .gallery__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }
  .lightbox__prev { left: 8px; }
  .lightbox__next { right: 8px; }
  .lightbox__prev,
  .lightbox__next {
    width: 40px;
    height: 40px;
  }
}

@media (min-width: 601px) and (max-width: 900px) {
  .gallery__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* â•â•â• Fix CTA button text wrapping â•â•â• */
.contact .btn--large,
.btn--gold.btn--large {
  white-space: nowrap;
  font-size: clamp(0.7rem, 2vw, 1rem);
  padding: 18px 32px;
  max-width: 100%;
}

/* â•â•â• GALLERY REDESIGN â€” Premium Masonry â•â•â• */
.gallery__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 200px;
  gap: 8px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
}

/* Create visual variety with spanning */
.gallery__item:nth-child(1)  { grid-row: span 2; }
.gallery__item:nth-child(4)  { grid-column: span 2; }
.gallery__item:nth-child(7)  { grid-row: span 2; }
.gallery__item:nth-child(10) { grid-column: span 2; }
.gallery__item:nth-child(13) { grid-row: span 2; }
.gallery__item:nth-child(16) { grid-column: span 2; grid-row: span 2; }
.gallery__item:nth-child(19) { grid-row: span 2; }
.gallery__item:nth-child(22) { grid-column: span 2; }

.gallery__item {
  border-radius: 6px;
  aspect-ratio: auto;
}

.gallery__item img {
  border-radius: 6px;
}

/* Overlay redesign â€” subtle golden gradient */
.gallery__overlay {
  background: linear-gradient(135deg, rgba(200,169,110,0.25), rgba(0,0,0,0.5));
}

@media (max-width: 768px) {
  .gallery__grid {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 160px;
  }
  /* Simplify spans on mobile */
  .gallery__item:nth-child(n) { grid-column: span 1; grid-row: span 1; }
  .gallery__item:nth-child(1)  { grid-column: span 2; grid-row: span 1; }
  .gallery__item:nth-child(8)  { grid-column: span 2; }
  .gallery__item:nth-child(16) { grid-column: span 2; grid-row: span 1; }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .gallery__grid {
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: 180px;
  }
  .gallery__item:nth-child(16) { grid-column: span 1; grid-row: span 2; }
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   PHOTO GALLERY â€” Animated Grid + Lightbox
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

.gallery__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 12px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
}

.gallery__item {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  cursor: pointer;
  aspect-ratio: 1;
  background: var(--charcoal);
}

.gallery__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), filter 0.4s;
  display: block;
}

.gallery__item:hover img {
  transform: scale(1.08);
  filter: brightness(1.1);
}

.gallery__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.35s;
}

.gallery__item:hover .gallery__overlay {
  opacity: 1;
}

/* Staggered entrance animation */
.gallery__item.revealed {
  animation: galleryFadeIn 0.6s ease-out forwards;
}

@keyframes galleryFadeIn {
  from {
    opacity: 0;
    transform: translateY(30px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* Lightbox */
.gallery__lightbox {
  position: fixed;
  inset: 0;
  z-index: 10000;
  background: rgba(0, 0, 0, 0.95);
  display: none;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s;
  backdrop-filter: blur(10px);
}

.gallery__lightbox.active {
  display: flex;
  opacity: 1;
}

.lightbox__content {
  max-width: 90vw;
  max-height: 85vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lightbox__content img {
  max-width: 100%;
  max-height: 85vh;
  object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6);
  animation: lightboxZoomIn 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

@keyframes lightboxZoomIn {
  from { transform: scale(0.85); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}

.lightbox__close {
  position: absolute;
  top: 20px;
  right: 24px;
  background: none;
  border: none;
  color: white;
  font-size: 36px;
  cursor: pointer;
  z-index: 10001;
  transition: transform 0.2s, opacity 0.2s;
  opacity: 0.7;
  line-height: 1;
}

.lightbox__close:hover {
  transform: scale(1.2);
  opacity: 1;
}

.lightbox__prev,
.lightbox__next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  width: 52px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: white;
  z-index: 10001;
  transition: all 0.3s;
}

.lightbox__prev { left: 20px; }
.lightbox__next { right: 20px; }

.lightbox__prev:hover,
.lightbox__next:hover {
  background: rgba(200, 169, 110, 0.3);
  border-color: var(--gold);
}

.lightbox__counter {
  position: absolute;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(255, 255, 255, 0.6);
  font-family: var(--ff-body);
  font-size: 0.85rem;
  letter-spacing: 0.1em;
}

/* Gallery subtitle override */
.gallery__subtitle {
  font-size: 1rem;
  color: var(--sage);
  line-height: 1.6;
  margin-top: 12px;
}

/* Light mode gallery */
body.light-mode .gallery__item {
  background: #f0e6e6;
}

body.light-mode .gallery__lightbox {
  background: rgba(40, 30, 30, 0.95);
}

@media (max-width: 600px) {
  .gallery__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }
  .lightbox__prev { left: 8px; }
  .lightbox__next { right: 8px; }
  .lightbox__prev,
  .lightbox__next {
    width: 40px;
    height: 40px;
  }
}

@media (min-width: 601px) and (max-width: 900px) {
  .gallery__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   OVERRIDES â€” Gallery + Stats + Toggle
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* 1. Gallery â€” clean uniform grid, no spanning */
.gallery__grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  grid-auto-rows: auto !important;
  gap: 10px !important;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
}

.gallery__item {
  aspect-ratio: 1 !important;
  grid-column: span 1 !important;
  grid-row: span 1 !important;
}

.gallery__item:nth-child(n) {
  grid-column: span 1 !important;
  grid-row: span 1 !important;
}

@media (max-width: 600px) {
  .gallery__grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (min-width: 601px) and (max-width: 900px) {
  .gallery__grid { grid-template-columns: repeat(3, 1fr) !important; }
}

/* 2. Stats â€” centered */
.stats__grid {
  display: flex !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 48px;
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}

.stat {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 1;
  max-width: 200px;
}

/* 3. Light/Dark Mode label â€” beside button, not below */
.nav__theme-label {
  position: static !important;
  transform: none !important;
  display: inline !important;
  margin-left: 8px;
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-transform: none;
  color: var(--sage);
  white-space: nowrap;
  vertical-align: middle;
}

.nav__theme-toggle {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px;
}
/* ═══ Fix toggle label overlap ═══
   Label sits cleanly to the right with proper gap */
.nav__actions { display: flex !important; align-items: center !important; gap: 12px !important; }
.nav__theme-toggle { display: flex !important; align-items: center !important; gap: 8px !important; position: relative; }
.nav__theme-toggle .theme-icon { flex-shrink: 0; }
.nav__theme-label { position: static !important; transform: none !important; bottom: auto !important; left: auto !important; display: inline-block !important; margin-left: 4px; font-size: 0.65rem !important; white-space: nowrap; color: var(--sage); vertical-align: middle; }


/* â•â•â• Move credentials label BELOW photo â•â•â• */
.about__photo-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.about__photo-label {
  position: static !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
  width: auto;
  margin-top: 16px;
  text-align: center;
  background: var(--glass) !important;
  border: 1px solid var(--glass-border);
  border-radius: 12px;
  padding: 16px 28px;
  backdrop-filter: blur(12px);
}

body.light-mode .about__photo-label {
  background: rgba(255,255,255,0.8) !important;
  border-color: rgba(200,169,110,0.2);
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   COMPREHENSIVE MOBILE / TABLET FIXES
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* â”€â”€â”€ Global mobile reset â”€â”€â”€ */
* { box-sizing: border-box; }
img, svg, video { max-width: 100%; height: auto; }

/* â”€â”€â”€ Nav: mobile hamburger menu â”€â”€â”€ */
@media (max-width: 768px) {
  .nav__actions { gap: 8px; }
  .nav__theme-label { display: none !important; }
  
  .nav__links.open {
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(10,10,10,0.97);
    backdrop-filter: blur(10px);
    align-items: center;
    justify-content: center;
    gap: 24px;
    z-index: 999;
  }
  
  .nav__links.open a {
    font-size: 1.2rem;
  }
}

/* â”€â”€â”€ Hero: mobile sizing â”€â”€â”€ */
@media (max-width: 600px) {
  .hero__title {
    font-size: clamp(2rem, 10vw, 3.5rem) !important;
  }
  .hero__subtitle {
    font-size: 0.85rem !important;
  }
  .hero .btn {
    font-size: 0.75rem !important;
    padding: 14px 24px !important;
    white-space: normal !important;
    text-align: center;
  }
}

/* â”€â”€â”€ About section: stack on mobile â”€â”€â”€ */
@media (max-width: 768px) {
  .about__container {
    flex-direction: column !important;
    gap: 32px !important;
    padding: 0 16px;
  }
  .about__text,
  .about__visual {
    max-width: 100% !important;
    width: 100% !important;
  }
  .about__photo {
    max-width: 280px !important;
  }
}

/* â”€â”€â”€ Rebrand slider mobile â”€â”€â”€ */
@media (max-width: 600px) {
  .rebrand__slider {
    max-height: 300px;
  }
  .rebrand__title {
    font-size: 1.5rem !important;
  }
}

/* â”€â”€â”€ Treatment cards: single col on small screens â”€â”€â”€ */
@media (max-width: 480px) {
  .treatments__grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 0 12px;
  }
}

@media (min-width: 481px) and (max-width: 768px) {
  .treatments__grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }
}

/* â”€â”€â”€ Stats: responsive wrap â”€â”€â”€ */
@media (max-width: 600px) {
  .stats__grid {
    flex-wrap: wrap !important;
    gap: 24px 32px !important;
    padding: 0 16px;
  }
  .stat {
    flex: 0 0 40% !important;
    max-width: 45% !important;
  }
  .stat__number {
    font-size: 2rem !important;
  }
}

/* â”€â”€â”€ Why cards: single col on small, 2col tablet â”€â”€â”€ */
@media (max-width: 480px) {
  .why__grid {
    grid-template-columns: 1fr !important;
    padding: 0 12px;
  }
}

/* â”€â”€â”€ Testimonials: responsive cards â”€â”€â”€ */
@media (max-width: 480px) {
  .testimonials__carousel {
    padding: 0 8px;
  }
  .testimonial {
    min-width: calc(100vw - 48px) !important;
    padding: 20px 16px !important;
  }
}

@media (min-width: 481px) and (max-width: 768px) {
  .testimonial {
    min-width: calc(50vw - 40px) !important;
  }
}

/* â”€â”€â”€ Gallery: 2col mobile â”€â”€â”€ */
@media (max-width: 480px) {
  .gallery__grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 6px !important;
  }
}

/* â”€â”€â”€ Contact: responsive layout â”€â”€â”€ */
@media (max-width: 600px) {
  .contact__phone {
    font-size: 1.8rem !important;
  }
  .contact__title {
    font-size: 2rem !important;
  }
  .contact__buttons {
    flex-direction: column !important;
    gap: 8px !important;
  }
  .contact__action-btn {
    width: 100%;
    justify-content: center;
  }
  .btn--large {
    font-size: 0.75rem !important;
    padding: 16px 20px !important;
    white-space: normal !important;
    text-align: center;
  }
  .contact__map-links {
    flex-direction: column !important;
    gap: 6px !important;
  }
}

/* â”€â”€â”€ Gallery lightbox mobile â”€â”€â”€ */
@media (max-width: 600px) {
  .lightbox__prev { left: 4px !important; width: 36px !important; height: 36px !important; }
  .lightbox__next { right: 4px !important; width: 36px !important; height: 36px !important; }
  .lightbox__close { top: 12px; right: 16px; font-size: 28px; }
}

/* â”€â”€â”€ Mobile contact bar â”€â”€â”€ */
.mobile-contact-bar {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  background: rgba(10,10,10,0.95);
  backdrop-filter: blur(10px);
  border-top: 1px solid rgba(200,169,110,0.2);
  padding: 8px 0;
  padding-bottom: env(safe-area-inset-bottom, 8px);
}

@media (max-width: 768px) {
  .mobile-contact-bar {
    display: flex !important;
    justify-content: space-around;
    align-items: center;
  }
  /* Add padding to footer so it's not hidden behind the bar */
  .footer { padding-bottom: 80px !important; }
}

.mobile-contact-bar__btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  color: var(--cream, #f5ede3);
  text-decoration: none;
  font-size: 0.65rem;
  font-family: var(--ff-body, 'Montserrat', sans-serif);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  transition: color 0.3s;
}

.mobile-contact-bar__btn:hover,
.mobile-contact-bar__btn:active {
  color: var(--gold, #c8a96e);
}

body.light-mode .mobile-contact-bar {
  background: rgba(255,255,255,0.95);
  border-top-color: rgba(200,169,110,0.3);
}

body.light-mode .mobile-contact-bar__btn {
  color: var(--charcoal, #1a1a1a);
}

body.light-mode .mobile-contact-bar__btn:hover {
  color: var(--gold, #c8a96e);
}

/* â”€â”€â”€ Tablet breakpoint â”€â”€â”€ */
@media (min-width: 769px) and (max-width: 1024px) {
  .about__container {
    gap: 32px !important;
  }
  .treatments__grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
  .gallery__grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

/* â”€â”€â”€ Fix: prevent horizontal overflow on all devices â”€â”€â”€ */
html, body {
  overflow-x: hidden;
  max-width: 100vw;
}

.testimonials__carousel {
  overflow: hidden;
}

.testimonials__track {
  transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   LOGO + MAP + REVIEWS STYLES
   â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */

/* Nav logo image */
.nav__logo-img {
  height: 44px;
  width: 44px;
  object-fit: cover;
  border-radius: 50%;
  border: 1.5px solid rgba(200,169,110,0.3);
  transition: filter 0.3s, border-color 0.3s;
}

body.light-mode .nav__logo-img {
  filter: none;
  border-color: rgba(200,169,110,0.4);
}

/* Footer logo image */
.footer__logo-img {
  height: 52px;
  width: 52px;
  object-fit: cover;
  border-radius: 50%;
  border: 1.5px solid rgba(200,169,110,0.3);
}

body.light-mode .footer__logo-img {
  filter: none;
}

/* Google Maps embed */
.contact__map {
  margin-top: 24px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,0.2);
}

.contact__map iframe {
  display: block;
  width: 100%;
}

body.light-mode .contact__map {
  box-shadow: 0 4px 20px rgba(0,0,0,0.1);
}

/* Google Reviews CTA */
.testimonials__reviews .btn {
  font-size: 0.85rem;
}

@media (max-width: 600px) {
  .nav__logo-img { height: 36px; width: 36px; }
  .footer__logo-img { height: 40px; width: 40px; }
  .contact__map iframe { height: 220px; }
}
/* Logo size bump */
.nav__logo-img { height: 54px !important; width: 54px !important; object-fit: cover; border-radius: 50%; border: 1.5px solid rgba(200,169,110,0.3); }
.footer__logo-img { height: 60px !important; width: 60px !important; object-fit: cover; border-radius: 50%; border: 1.5px solid rgba(200,169,110,0.3); }
@media (max-width: 600px) { .nav__logo-img { height: 44px !important; width: 44px !important; } .footer__logo-img { height: 48px !important; width: 48px !important; } }

/* ═══ HERO LIGHT MODE ═══ */
body.light-mode .hero { background: linear-gradient(135deg, #faf7f2 0%, #f0e8db 40%, #e8ddd0 100%); }
body.light-mode .hero__aurora { opacity: 0.05; }
body.light-mode .hero__orb { opacity: 0.08; }
body.light-mode .hero__noise { opacity: 0.02; }
body.light-mode .hero__title { color: #1a1a1a; text-shadow: none; }
body.light-mode .hero__subtitle { color: #4a4a4a; }
body.light-mode .hero__location { color: #c8a96e; }
body.light-mode .hero__scroll-dot { fill: #c8a96e; }
body.light-mode .hero__scroll-hint rect { stroke: #c8a96e; }
/* Wave dividers in light mode */
body.light-mode .wave-divider path,
body.light-mode .wave-divider--flip path { fill: #faf7f2; }

/* Logo bigger */
.nav__logo-img { height: 64px !important; width: 64px !important; }
.footer__logo-img { height: 70px !important; width: 70px !important; }
@media (max-width: 600px) { .nav__logo-img { height: 50px !important; width: 50px !important; } .footer__logo-img { height: 54px !important; width: 54px !important; } }

/* ═══ MOBILE ABOUT SECTION FIX ═══ */
@media (max-width: 768px) {
  .about__container {
    flex-direction: column !important;
    gap: 24px !important;
  }
  .about__visual {
    order: -1;
    width: 100% !important;
    max-width: 280px;
    margin: 0 auto;
  }
  .about__text {
    width: 100% !important;
    padding-top: 0 !important;
  }
  .about__photo-wrapper {
    position: relative;
    margin-bottom: 60px;
  }
  .about__photo-label {
    position: absolute !important;
    bottom: -50px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: max-content !important;
    text-align: center !important;
    z-index: 2;
  }
  .about__heading {
    margin-top: 10px !important;
    position: relative !important;
    z-index: 1;
  }
  /* Fix rebrand section overflow */
  .rebrand { overflow: hidden; }
  .rebrand__container { padding: 0 16px; }
  .rebrand__slider { max-width: 100%; overflow: hidden; }
}

@media (max-width: 480px) {
  .about__photo-label {
    font-size: 0.7rem !important;
  }
  .about__credentials {
    font-size: 0.6rem !important;
  }
}

/* ═══ LOGO BIGGER + MOBILE THEME LABEL ═══ */
.nav__logo-img { height: 80px !important; width: 80px !important; }
.footer__logo-img { height: 80px !important; width: 80px !important; }

@media (max-width: 768px) {
  .nav__logo-img { height: 60px !important; width: 60px !important; }
  .footer__logo-img { height: 64px !important; width: 64px !important; }
  /* Show Light/Dark Mode label on mobile */
  .nav__theme-label {
    display: inline !important;
    font-size: 0.55rem !important;
    opacity: 0.7;
  }
}

/* ═══ MOBILE CONTACT BAR — DARKER IN LIGHT MODE ═══ */
body.light-mode .mobile-bar a {
  color: #1a1a1a !important;
}
body.light-mode .mobile-bar svg {
  stroke: #1a1a1a !important;
  color: #1a1a1a !important;
}
body.light-mode .mobile-bar {
  background: rgba(255,255,255,0.95) !important;
  border-top: 1px solid rgba(0,0,0,0.1) !important;
  box-shadow: 0 -2px 10px rgba(0,0,0,0.08) !important;
}

/* ═══ COMPREHENSIVE MOBILE NAV + HERO FIX ═══ */
/* Desktop logo */
img.nav__logo-img { height: 85px !important; width: 85px !important; object-fit: cover !important; border-radius: 50% !important; }
img.footer__logo-img { height: 85px !important; width: 85px !important; object-fit: cover !important; border-radius: 50% !important; }

/* Mobile nav layout */
@media (max-width: 768px) {
  img.nav__logo-img { height: 65px !important; width: 65px !important; }
  img.footer__logo-img { height: 68px !important; width: 68px !important; }

  /* Nav actions - give room and prevent crowding */
  .nav__actions {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
  }

  /* Light/Dark Mode label - show below toggle */
  .nav__theme-label {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-size: 0.5rem !important;
    color: var(--sage, #8a8578) !important;
    white-space: nowrap !important;
    position: absolute !important;
    bottom: -14px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
  }
  .nav__theme-toggle {
    position: relative !important;
  }

  /* Hero subtitle - prevent text cutoff */
  .hero__subtitle,
  .hero__subtitle .typewriter {
    font-size: 0.8rem !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
    word-wrap: break-word !important;
    padding: 0 20px !important;
    text-align: center !important;
  }

  /* Hero content padding */
  .hero__content {
    padding: 0 16px !important;
    overflow: visible !important;
  }
  .hero__title {
    font-size: 2.8rem !important;
  }

  /* Mobile contact bar - no cutoff */
  .mobile-bar {
    padding: 8px 0 !important;
  }
  .mobile-bar a {
    font-size: 0.6rem !important;
    letter-spacing: 0.05em !important;
    flex: 1 !important;
    text-align: center !important;
  }
  .mobile-bar svg {
    width: 18px !important;
    height: 18px !important;
  }

  /* Prevent all horizontal overflow */
  body, html { overflow-x: hidden !important; }
  section, .rebrand, .about, .treatments, .testimonials, .contact, footer {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }
}

@media (max-width: 380px) {
  img.nav__logo-img { height: 55px !important; width: 55px !important; }
  .hero__title { font-size: 2.2rem !important; }
  .hero__subtitle, .hero__subtitle .typewriter { font-size: 0.7rem !important; }
}


/* â•â•â• TESTIMONIALS MOBILE FIX â•â•â• */
@media (max-width: 768px) {
  .testimonials__carousel {
    overflow: hidden !important;
    width: 100% !important;
    padding: 0 !important;
  }
  .testimonials__track {
    display: flex !important;
    gap: 0 !important;
  }
  .testimonial {
    min-width: 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    flex-shrink: 0 !important;
    padding: 24px 20px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
  .testimonial__text {
    font-size: 0.85rem !important;
    line-height: 1.6 !important;
    overflow: visible !important;
    white-space: normal !important;
    word-wrap: break-word !important;
  }
  .testimonial__quote {
    font-size: 2rem !important;
  }
  .testimonials {
    overflow: hidden !important;
    padding: 40px 0 !important;
  }

  /* â•â•â• CONTACT SECTION MOBILE FIX â•â•â• */
  .contact__details {
    padding: 0 16px !important;
  }
  .contact__item {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    margin-bottom: 20px !important;
    width: 100% !important;
  }
  .contact__item svg,
  .contact__item .contact__icon {
    flex-shrink: 0 !important;
    width: 20px !important;
    height: 20px !important;
    margin-top: 2px !important;
  }
  .contact__item-text,
  .contact__item span,
  .contact__item p {
    flex: 1 !important;
    font-size: 0.85rem !important;
    line-height: 1.5 !important;
  }
  .contact__links {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    margin-left: 0 !important;
  }
  .contact__links a {
    font-size: 0.75rem !important;
  }

  /* Contact address + map links alignment */
  .contact__row,
  .contact__address-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }

  /* Map embed responsive */
  .contact__map iframe {
    height: 200px !important;
    border-radius: 8px !important;
  }
}
/* ═══ ULTIMATE MOBILE-FRIENDLY FIX ═══ */
/* Mobile bar ALWAYS visible in both modes */
.mobile-bar {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 9999 !important;
  display: flex !important;
  justify-content: space-around !important;
  align-items: center !important;
  padding: 10px 0 calc(10px + env(safe-area-inset-bottom)) !important;
  background: #0a0a0a !important;
  border-top: 1px solid rgba(200,169,110,0.3) !important;
}
.mobile-bar a {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 4px !important;
  color: #f5ede3 !important;
  text-decoration: none !important;
  font-size: 0.6rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  flex: 1 !important;
  text-align: center !important;
}
.mobile-bar svg {
  width: 22px !important;
  height: 22px !important;
  stroke: #c8a96e !important;
  fill: none !important;
}
.mobile-bar .whatsapp-icon { fill: #c8a96e !important; stroke: none !important; }

/* Light mode: KEEP dark bar (it looks better always dark) */
body.light-mode .mobile-bar {
  background: #1a1a1a !important;
  border-top: 1px solid rgba(200,169,110,0.4) !important;
}
body.light-mode .mobile-bar a { color: #f5ede3 !important; }
body.light-mode .mobile-bar svg { stroke: #c8a96e !important; }

/* Bottom padding so content not hidden behind bar */
@media (max-width: 768px) {
  body { padding-bottom: 70px !important; }
  footer { padding-bottom: 80px !important; }
}

/* ═══ RESPONSIVE TEXT SCALING ═══ */
/* Fluid typography using clamp for all screen sizes */
@media (max-width: 768px) {
  .hero__title { font-size: clamp(1.8rem, 8vw, 3.5rem) !important; }
  .hero__location { font-size: clamp(0.55rem, 2.5vw, 0.8rem) !important; letter-spacing: 0.2em !important; }
  .hero__subtitle, .hero__subtitle .typewriter {
    font-size: clamp(0.65rem, 3vw, 1rem) !important;
    white-space: normal !important;
    overflow: visible !important;
    padding: 0 16px !important;
  }
  .section-label { font-size: clamp(0.55rem, 2.5vw, 0.75rem) !important; }
  h2, .treatments__title, .rebrand__title { font-size: clamp(1.4rem, 6vw, 2.5rem) !important; }
  .about__heading { font-size: clamp(1.2rem, 5vw, 2rem) !important; }
  .about__body { font-size: clamp(0.8rem, 3.5vw, 1rem) !important; line-height: 1.6 !important; }
  .treatment-card__name { font-size: clamp(0.85rem, 3.5vw, 1.1rem) !important; }
  .treatment-card__desc { font-size: clamp(0.7rem, 3vw, 0.9rem) !important; }
  .stat__number { font-size: clamp(1.5rem, 7vw, 2.5rem) !important; }
  .stat__label { font-size: clamp(0.6rem, 2.5vw, 0.8rem) !important; }
  .why-card__title { font-size: clamp(0.8rem, 3.5vw, 1rem) !important; }
  .why-card__desc { font-size: clamp(0.7rem, 3vw, 0.85rem) !important; }
  .btn { font-size: clamp(0.6rem, 2.5vw, 0.8rem) !important; padding: 14px 24px !important; }
  .btn--large { padding: 16px 28px !important; }
  .contact__heading { font-size: clamp(1.2rem, 5vw, 2rem) !important; }
}

/* Extra small phones (SE, Galaxy Fold, etc) */
@media (max-width: 360px) {
  img.nav__logo-img { height: 50px !important; width: 50px !important; }
  .nav__social svg { width: 18px !important; height: 18px !important; }
  .nav__theme-toggle { padding: 6px !important; }
  .hero__title { font-size: 1.8rem !important; }
  .btn { padding: 12px 18px !important; font-size: 0.6rem !important; }
}

/* Tablet landscape */
@media (min-width: 769px) and (max-width: 1024px) {
  .about__container { gap: 30px !important; }
  .treatments__grid { grid-template-columns: repeat(2, 1fr) !important; }
}

/* ══════════════════════════════════════════
   DEFINITIVE MOBILE FIX — Theme Label + Testimonials + Contact
   ══════════════════════════════════════════ */
@media (max-width: 768px) {

  /* ─── 1. THEME LABEL: inline beside the toggle ─── */
  .nav__theme-label {
    position: static !important;
    display: inline !important;
    visibility: visible !important;
    transform: none !important;
    bottom: auto !important;
    left: auto !important;
    font-size: 0.5rem !important;
    color: var(--sage, #8a8578) !important;
    white-space: nowrap !important;
    margin-left: 4px !important;
    vertical-align: middle !important;
    opacity: 0.8 !important;
    line-height: 1 !important;
  }
  .nav__theme-toggle { position: static !important; }

  /* ─── 2. TESTIMONIALS: kill animation, show one at a time ─── */
  .testimonials__carousel {
    overflow: hidden !important;
    width: 100% !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;
  }
  .testimonials__track {
    animation: none !important;
    display: flex !important;
    transition: transform 0.4s ease !important;
    width: auto !important;
  }
  .testimonial {
    min-width: 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    flex: 0 0 100% !important;
    box-sizing: border-box !important;
    padding: 24px 20px !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    height: auto !important;
    min-height: unset !important;
    max-height: unset !important;
  }
  .testimonial__quote {
    width: 30px !important;
    height: 22px !important;
    margin-bottom: 12px !important;
  }
  .testimonial__text {
    font-size: 0.85rem !important;
    line-height: 1.65 !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    overflow: visible !important;
    text-overflow: unset !important;
    -webkit-line-clamp: unset !important;
    display: block !important;
    margin-bottom: 16px !important;
  }
  .testimonial__author {
    font-size: 0.8rem !important;
    margin-bottom: 4px !important;
  }
  .testimonial__location {
    font-size: 0.7rem !important;
  }
  .testimonials__nav {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 12px !important;
    margin-top: 16px !important;
    padding: 0 16px !important;
  }
  .testimonials__prev,
  .testimonials__next {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .testimonials__dots {
    display: flex !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
  }

  /* ─── 3. CONTACT DETAILS: clean vertical alignment ─── */
  .contact__details {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    padding: 0 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .contact__detail {
    display: grid !important;
    grid-template-columns: 28px 1fr !important;
    grid-template-rows: auto auto !important;
    gap: 0 12px !important;
    align-items: start !important;
    width: 100% !important;
  }
  .contact__detail svg {
    grid-row: 1 / -1 !important;
    grid-column: 1 !important;
    width: 22px !important;
    height: 22px !important;
    margin-top: 2px !important;
    flex-shrink: 0 !important;
  }
  .contact__detail > span {
    grid-column: 2 !important;
    grid-row: 1 !important;
    font-size: 0.85rem !important;
    line-height: 1.5 !important;
  }
  .contact__map-links {
    grid-column: 2 !important;
    grid-row: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    margin-top: 6px !important;
  }
  .contact__map-link {
    font-size: 0.75rem !important;
    display: inline-block !important;
  }
  .contact__map iframe { height: 220px !important; }
}

/* ══════════════════════════════════════════
   FINAL PRE-DEPLOY CLEANUP
   ══════════════════════════════════════════ */

/* Fix orphaned .mobile-bar — redirect to correct class .mobile-contact-bar */
.mobile-contact-bar {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 9999 !important;
  display: none;
  justify-content: space-around !important;
  align-items: center !important;
  padding: 10px 0 calc(10px + env(safe-area-inset-bottom)) !important;
  background: #0a0a0a !important;
  border-top: 1px solid rgba(200,169,110,0.3) !important;
}
@media (max-width: 768px) {
  .mobile-contact-bar { display: flex !important; }
}
.mobile-contact-bar a,
.mobile-contact-bar__btn {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 4px !important;
  color: #f5ede3 !important;
  text-decoration: none !important;
  font-size: 0.65rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  flex: 1 !important;
  text-align: center !important;
}
.mobile-contact-bar svg {
  width: 22px !important;
  height: 22px !important;
}
/* Keep dark bar in light mode too */
body.light-mode .mobile-contact-bar {
  background: #1a1a1a !important;
  border-top: 1px solid rgba(200,169,110,0.4) !important;
}
body.light-mode .mobile-contact-bar a,
body.light-mode .mobile-contact-bar__btn {
  color: #f5ede3 !important;
}

/* ─── Nav theme label: inline on BOTH desktop and mobile ─── */
.nav__actions {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.nav__theme-label {
  position: static !important;
  transform: none !important;
  bottom: auto !important;
  left: auto !important;
  display: inline-block !important;
  visibility: visible !important;
  font-size: 0.6rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.05em !important;
  color: var(--sage) !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
  pointer-events: none !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}
@media (max-width: 768px) {
  .nav__theme-label {
    font-size: 0.45rem !important;
    letter-spacing: 0.03em !important;
  }
}

/* ─── Testimonials: KILL auto-scroll animation on mobile ─── */
@media (max-width: 768px) {
  .testimonials__track {
    animation: none !important;
  }
}

/* ══════════════════════════════════════════
   FIX: Testimonials carousel — let JS handle everything
   ══════════════════════════════════════════ */
.testimonials__carousel {
  overflow: hidden !important;
  max-width: 100% !important;
  width: 100% !important;
}
.testimonials__track {
  display: flex !important;
  animation: none !important;
  overflow: visible !important;
  width: max-content !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
  gap: 24px !important;
}
.testimonial {
  flex-shrink: 0 !important;
  padding: 32px 28px !important;
  box-sizing: border-box !important;
  height: auto !important;
  min-height: unset !important;
  max-height: unset !important;
}
.testimonial__text {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: unset !important;
  -webkit-line-clamp: unset !important;
  display: block !important;
}
@media (max-width: 768px) {
  .testimonial {
    min-width: calc(100vw - 48px) !important;
    max-width: calc(100vw - 48px) !important;
    width: calc(100vw - 48px) !important;
    flex: 0 0 calc(100vw - 48px) !important;
    padding: 28px 24px !important;
  }
  .testimonials__carousel {
    padding: 0 24px !important;
  }
  .testimonial__text {
    font-size: 0.95rem !important;
    line-height: 1.7 !important;
  }
}
@media (min-width: 769px) {
  .testimonial {
    min-width: 350px !important;
    max-width: 400px !important;
    flex: 0 0 380px !important;
  }
}
