:root {
  --gold: #c9a84c;
  --gold-light: #e8c97a;
  --gold-pale: #fdf8ee;
  --dark: #0c1a14;
  --dark-2: #142b1e;
  --dark-3: #1e3d2b;
  --green: #1a5c38;
  --green-mid: #2a7a50;
  --green-light: #3a9968;
  --cream: #f9f6f0;
  --cream-2: #f2ece0;
  --text: #1a2a20;
  --text-mid: #4a6a55;
  --text-light: #7a9a85;
  --border: #d8e8dc;
  --border-gold: #e8d5a0;
  --white: #ffffff;
  --wa: #25d366;
  --wa-dark: #128c4a;
  --red: #c0392b;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;height:100%;}
body{font-family:'Poppins',sans-serif;color:var(--text);background:var(--white);overflow-x:hidden;line-height:1.75;min-height:100vh;}

/* scrollbar */
::-webkit-scrollbar{width:6px;}
::-webkit-scrollbar-track{background:var(--cream);} 
::-webkit-scrollbar-thumb{background:var(--gold);border-radius:3px;}

/* ── NAV ── */
nav{
  position:fixed;top:44px;left:0;right:0;z-index:1001;
  padding:0 5%;height:72px;
  display:flex;align-items:center;justify-content:space-between;
  background:rgba(12,26,20,0.97);
  backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(201,168,76,0.2);
  transition:all 0.3s;
}
.top-ticker{
  position:fixed;top:0;left:0;right:0;z-index:1002;
  overflow:hidden;background:rgba(10,18,14,0.98);
  border-bottom:1px solid rgba(255,255,255,0.12);
  min-height:44px;display:flex;align-items:center;padding:0 5%;
}
.top-ticker-track{
  display:inline-flex;align-items:center;white-space:nowrap;
  color:rgba(255,255,255,0.92);font-size:0.95rem;font-weight:500;
  gap:1rem;padding-left:100%;animation:tickerRoll 18s linear infinite;
}
.top-ticker-track strong{color:var(--gold);font-weight:700;}
@keyframes tickerRoll{0%{transform:translateX(0);}100%{transform:translateX(-100%);}}
.nav-logo{text-decoration:none;display:flex;align-items:center;gap:0.6rem;}
.nav-logo-icon{width:56px;height:56px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:transparent;padding:2px;}
.nav-logo-icon img{width:100%;height:100%;object-fit:cover;border-radius:8px;display:block;}
.nav-logo-text{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:700;color:var(--white);letter-spacing:0.02em;}
.nav-logo-text span{color:var(--gold);}
.nav-links{display:flex;gap:2.2rem;list-style:none;}
.nav-links a{text-decoration:none;color:rgba(255,255,255,0.7);font-size:0.85rem;font-weight:500;letter-spacing:0.04em;text-transform:uppercase;transition:color 0.2s;}
.nav-links a:hover{color:var(--gold);}
.nav-right{display:flex;align-items:center;gap:1rem;}
.nav-available{display:flex;align-items:center;gap:0.4rem;font-size:0.78rem;color:rgba(255,255,255,0.6);}
.nav-dot{width:7px;height:7px;background:#2ecc71;border-radius:50%;animation:blink 1.5s infinite;}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:0.3;}}
.nav-cta{background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--dark);text-decoration:none;padding:0.55rem 1.3rem;border-radius:4px;font-size:0.82rem;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;transition:all 0.2s;white-space:nowrap;}
.nav-cta:hover{transform:translateY(-1px);box-shadow:0 4px 20px rgba(201,168,76,0.4);}
section, #home {scroll-margin-top:122px;}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;border:none;background:none;}
.hamburger span{width:22px;height:1.5px;background:var(--gold);border-radius:2px;transition:all 0.3s;}

.nav-referral{background:rgba(255,255,255,0.12);color:#fff;}
.dashboard-update-card{background:var(--white);border:1px solid var(--border-gold);padding:1.8rem;border-radius:18px;box-shadow:0 18px 45px rgba(0,0,0,0.05);text-align:left;}
.booking-appointment-id{margin:1rem 0 0;padding:1rem 1.2rem;background:rgba(255,255,255,0.92);border-radius:14px;border:1px dashed rgba(201,168,76,0.35);font-weight:600;color:var(--text);display:flex;justify-content:space-between;align-items:center;gap:0.75rem;}
.booking-appointment-id span{color:var(--gold);}

/* booking mode selector (online / in-person) */
.booking-mode{display:flex;gap:0.5rem;align-items:center;margin:1rem 0;}
.booking-mode label{font-weight:700;color:var(--text);margin-right:0.6rem;font-size:0.95rem;}
.mode-btn{background:transparent;border:1px solid rgba(255,255,255,0.08);color:rgba(255,255,255,0.9);padding:0.45rem 0.9rem;border-radius:6px;cursor:pointer;font-weight:700;}
.mode-btn.active{background:linear-gradient(135deg,var(--gold),var(--gold-light));color:var(--dark);border-color:transparent;}
.mode-btn[data-mode="inperson"]{font-weight:700;}

/* ── HERO ── */
#home{
  min-height:calc(100vh - 116px);
  background:linear-gradient(160deg, #07120d 0%, #0d2818 45%, #112d20 100%);
  display:grid;grid-template-columns:1.05fr 0.95fr;align-items:center;
  padding:140px 5% 70px;
  position:relative;overflow:hidden;
}
/* ... remaining CSS truncated for brevity in this message */
