/* ═══════════════════════════════════════════
   ELIXIR MED WELL CLINIC — Shared Styles
   Clinical Luxury · Teal × Near-Black
   Fonts: Instrument Serif + Geist
   ═══════════════════════════════════════════ */

/* ── DESIGN TOKENS ─────────────────────────── */
:root {
  /* Page surfaces */
  --bg:          #0C0B0E;
  --bg-2:        #111014;
  --bg-3:        #181620;
  --surf:        #1C1A23;
  --surf-2:      #252230;

  /* Dividers */
  --div:         rgba(255,255,255,0.08);
  --div-2:       rgba(255,255,255,0.05);

  /* NAV */
  --nav-bg:      #070609;
  --nav-border:  rgba(61,144,134,0.2);
  --nav-text:    rgba(220,216,210,0.65);
  --nav-text-h:  #DCD8D2;

  /* FOOTER */
  --foot-bg:     #100E0D;
  --foot-border: rgba(255,255,255,0.06);
  --foot-text:   rgba(200,196,190,0.5);
  --foot-text-h: rgba(200,196,190,0.85);

  /* Text */
  --text:        #E8E4DE;
  --text-2:      #9A9490;
  --text-3:      #5E5A58;

  /* On-dark overlay text (sections with bg image) */
  --on-dark:        rgba(232,228,222,0.9);
  --on-dark-sub:    rgba(232,228,222,0.6);
  --on-dark-muted:  rgba(232,228,222,0.42);

  /* Brand */
  --teal:        #9f6c6a;
  --teal-lt:     #C4918f;
;
  --teal-dim:    rgba(61,144,134,0.12);
  --teal-border: rgba(61,144,134,0.25);

  /* UI */
  --r:     10px;
  --r-lg:  18px;
  --r-xl:  26px;
  --t:     0.3s cubic-bezier(0.4,0,0.2,1);
  --sh:    0 4px 20px rgba(0,0,0,0.3);
  --sh-lg: 0 16px 56px rgba(0,0,0,0.5);

  /* Fonts */
  --fd: 'Instrument Serif', Georgia, serif;
  --fu: 'Geist', 'DM Sans', sans-serif;

  /* Type scale — single source of truth */
  --ts-xs:   0.72rem;
  --ts-sm:   0.84rem;
  --ts-body: 0.97rem;
  --ts-md:   1.05rem;
  --ts-ui:   0.78rem;
}

/* ── LIGHT MODE ───────────────────────────── */
[data-theme="light"] {
  --bg:          #F4F1EB;
  --bg-2:        #EAE6DE;
  --bg-3:        #E0DCD3;
  --surf:        #FFFFFF;
  --surf-2:      #F8F5EF;

  --div:         rgba(0,0,0,0.08);
  --div-2:       rgba(0,0,0,0.05);

  --nav-bg:      #FFFFFF;
  --nav-border:  rgba(61,144,134,0.14);
  --nav-text:    rgba(26,24,32,0.55);
  --nav-text-h:  #1A1820;

  --foot-bg:     #100E0D;
  --foot-border: rgba(255,255,255,0.07);
  --foot-text:   rgba(200,196,190,0.5);
  --foot-text-h: rgba(200,196,190,0.85);

  --text:        #1A1820;
  --text-2:      #5A5660;
  --text-3:      #9A96A0;

  --on-dark:        rgba(232,228,222,0.92);
  --on-dark-sub:    rgba(232,228,222,0.62);
  --on-dark-muted:  rgba(232,228,222,0.42);

  --teal:        #9f6c6a;
  --teal-lt:     #c4918f;
  --teal-dim:    rgba(46,122,114,0.08);
  --teal-border: rgba(46,122,114,0.2);

  --sh:    0 4px 20px rgba(0,0,0,0.08);
  --sh-lg: 0 16px 56px rgba(0,0,0,0.13);
}

/* ── RESET ────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px;height:100%}
body{
  font-family:var(--fu);
  background:var(--bg);color:var(--text);
  overflow-x:hidden;line-height:1.65;
  min-height:100vh;display:flex;flex-direction:column;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
a{text-decoration:none;color:inherit}
ul{list-style:none}
img{display:block;max-width:100%;object-fit:cover}
button{cursor:pointer;border:none;background:none;font-family:var(--fu)}

/* ── LAYOUT ───────────────────────────────── */
.wrap{max-width:1200px;margin:0 auto;padding:0 48px}

/* ═══════════════════════════════════════════
   TYPOGRAPHY — Unified Scale
   ═══════════════════════════════════════════ */
.label{
  font-family:var(--fu);font-size:var(--ts-xs);font-weight:600;
  letter-spacing:0.22em;text-transform:uppercase;
  color:var(--teal);display:block;margin-bottom:12px;
}
.label.lt{color:var(--teal-lt)}

h1{font-family:var(--fd);font-size:clamp(2.8rem,6vw,5.5rem);font-weight:400;line-height:1.06;color:var(--text)}
h2{font-family:var(--fd);font-size:clamp(2.1rem,3.8vw,3.5rem);font-weight:400;line-height:1.12;color:var(--text);margin-bottom:18px}
h2 em{font-style:italic;color:var(--teal)}
h2.lt{color:var(--on-dark)}
h2.lt em{color:var(--teal-lt)}
h2.xl{font-size:clamp(2.6rem,5vw,4.8rem)}
h3{font-family:var(--fd);font-size:clamp(1.15rem,2.2vw,1.5rem);font-weight:400;line-height:1.25;color:var(--text)}
h4{font-family:var(--fd);font-size:1.15rem;font-weight:400;color:var(--text);line-height:1.3}
p{font-size:var(--ts-body);color:var(--text-2);line-height:1.74}
p.lt{color:var(--on-dark-sub)}

/* ── BUTTONS ──────────────────────────────── */
.btn-primary{
  display:inline-block;background:var(--text);color:var(--bg);
  padding:13px 28px;border-radius:var(--r);
  font-size:var(--ts-ui);font-weight:600;letter-spacing:0.09em;text-transform:uppercase;
  transition:var(--t);line-height:1;
}
.btn-primary:hover{background:var(--teal);color:#fff;transform:translateY(-2px);box-shadow:0 8px 24px rgba(61,144,134,0.4)}
.btn-accent{
  display:inline-block;background:var(--teal);color:#fff;
  padding:13px 28px;border-radius:var(--r);
  font-size:var(--ts-ui);font-weight:600;letter-spacing:0.09em;text-transform:uppercase;
  transition:var(--t);line-height:1;
}
.btn-accent:hover{background:var(--teal-lt);transform:translateY(-2px);box-shadow:0 8px 24px rgba(61,144,134,0.4)}
.btn-accent.lg{padding:15px 38px;font-size:0.84rem}
.btn-outline{
  display:inline-block;color:var(--text);
  padding:12px 26px;border-radius:var(--r);border:1.5px solid var(--div);
  font-size:var(--ts-ui);font-weight:600;letter-spacing:0.09em;text-transform:uppercase;
  transition:var(--t);line-height:1;
}
.btn-outline:hover{border-color:var(--teal);color:var(--teal)}
.btn-line{
  display:inline-block;color:var(--on-dark-sub);
  font-size:var(--ts-ui);font-weight:600;letter-spacing:0.1em;text-transform:uppercase;
  border-bottom:1px solid rgba(232,228,222,0.25);padding-bottom:2px;
  transition:var(--t);line-height:1;
}
.btn-line:hover{color:var(--teal-lt);border-color:var(--teal-lt)}

/* ═══════════════════════════════════════════
   NAV
   ═══════════════════════════════════════════ */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:500;
  background:var(--nav-bg);border-bottom:1px solid var(--nav-border);
  display:flex;align-items:center;
  padding:0 48px;height:68px;transition:box-shadow 0.3s;
}
.nav.elevated{box-shadow:0 2px 20px rgba(0,0,0,0.12)}
.logo{
  font-family:var(--fu);font-size:0.7rem;font-weight:700;
  letter-spacing:0.2em;text-transform:uppercase;
  color:var(--nav-text-h);margin-right:auto;white-space:nowrap;
}
.logo span{color:var(--teal)}
.nav-links{display:flex;gap:32px;margin-right:36px}
.nav-links a{
  font-size:var(--ts-xs);font-weight:500;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--nav-text);transition:color 0.22s;position:relative;padding-bottom:2px;
}
.nav-links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--teal);transition:width 0.28s}
.nav-links a:hover,.nav-links a.active{color:var(--nav-text-h)}
.nav-links a.active::after,.nav-links a:hover::after{width:100%}
.nav-right{display:flex;align-items:center;gap:10px}
.theme-btn{
  width:34px;height:34px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:var(--nav-text);border:1px solid var(--nav-border);
  background:transparent;transition:var(--t);position:relative;
}
.theme-btn:hover{color:var(--teal);border-color:var(--teal);background:var(--teal-dim)}
.icon-sun,.icon-moon{position:absolute;transition:opacity 0.28s,transform 0.32s}
[data-theme="dark"]  .icon-sun {opacity:0;transform:rotate(-60deg) scale(0.7)}
[data-theme="dark"]  .icon-moon{opacity:1;transform:rotate(0) scale(1)}
[data-theme="light"] .icon-sun {opacity:1;transform:rotate(0) scale(1)}
[data-theme="light"] .icon-moon{opacity:0;transform:rotate(60deg) scale(0.7)}
.nav-book{
  font-size:var(--ts-xs);font-weight:700;letter-spacing:0.1em;text-transform:uppercase;
  color:#fff;background:var(--teal);padding:9px 18px;border-radius:var(--r);
  transition:var(--t);white-space:nowrap;
}
.nav-book:hover{background:var(--teal-lt);transform:translateY(-1px)}
.hamburger{display:none;flex-direction:column;gap:5px;padding:4px}
.hamburger span{display:block;width:22px;height:1.5px;background:var(--nav-text-h);transition:var(--t);transform-origin:center}
.hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.hamburger.open span:nth-child(2){transform:translateY(-6.5px) rotate(-45deg)}

/* Drawer */
.drawer{
  position:fixed;inset:0;background:var(--nav-bg);z-index:490;
  display:flex;align-items:center;padding:0 48px;
  transform:translateX(-100%);transition:transform 0.4s cubic-bezier(0.4,0,0.2,1);
  border-right:1px solid var(--nav-border);
}
.drawer.open{transform:translateX(0)}
.drawer nav{display:flex;flex-direction:column;gap:24px}
.drawer a{font-family:var(--fd);font-size:2.2rem;font-weight:400;color:var(--nav-text);transition:color 0.22s}
.drawer a:hover{color:var(--nav-text-h)}
.drawer-book{
  display:inline-block;margin-top:12px;
  font-family:var(--fu)!important;font-size:0.78rem!important;
  font-weight:700!important;letter-spacing:0.1em;text-transform:uppercase;
  background:var(--teal)!important;color:#fff!important;
  padding:11px 24px;border-radius:var(--r);transition:var(--t);
}
.drawer-book:hover{background:var(--teal-lt)!important}

/* ═══════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════ */
.footer{
  margin-top:auto;
}
.footer-visual img{width:100%;height:100%}
.fv-overlay{
  position:absolute;inset:0;background:rgba(10,9,8,0.7);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;
}
.fv-overlay p{
  font-family:var(--fd);font-size:clamp(1.4rem,3vw,2.6rem);
  font-style:italic;font-weight:400;color:var(--on-dark);text-align:center;padding:0 24px;
}
.footer-body{background:var(--foot-bg)}
.footer-grid{
  display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;
  gap:48px;padding:60px 0 52px;border-bottom:1px solid var(--foot-border);
}
.f-logo{font-family:var(--fu);font-size:0.82rem;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:rgba(200,196,190,0.9);margin-bottom:4px}
.f-logo span{color:var(--teal-lt)}
.f-sub{font-size:var(--ts-xs);color:var(--foot-text);letter-spacing:0.05em;margin-bottom:16px;line-height:1.6}
.f-addr{font-size:var(--ts-sm);color:var(--foot-text);line-height:1.65;margin-bottom:10px}
.f-email{font-size:var(--ts-sm);color:var(--teal-lt);display:block;margin-bottom:18px;transition:color 0.22s}
.f-email:hover{color:#fff}
.f-copy{font-size:var(--ts-xs);color:var(--foot-text)}
.fg-brand-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.f-meta-link{font-size:var(--ts-sm);color:var(--foot-text);transition:color 0.22s}
.f-meta-link:hover{color:#fff;text-decoration:underline}
.fg-col h4{font-size:var(--ts-xs);font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:rgba(200,196,190,0.3);margin-bottom:18px}
.fg-col ul{display:flex;flex-direction:column;gap:10px}
.fg-col a{font-size:var(--ts-sm);color:var(--foot-text);transition:color 0.22s}
.fg-col a:hover{color:var(--foot-text-h)}
.footer-bar{
  background:var(--foot-bg);padding:16px 0;text-align:center;
  font-size:var(--ts-xs);color:var(--foot-text);letter-spacing:0.07em;
  border-top:1px solid var(--foot-border);
}

/* ── SCROLL REVEAL ────────────────────────── */
.reveal{opacity:0;transform:translateY(24px);transition:opacity 0.7s ease,transform 0.7s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

/* ═══════════════════════════════════════════
   HERO
   ═══════════════════════════════════════════ */
.hero{
  min-height:100svh;position:relative;
  display:grid;grid-template-columns:1fr auto;
  align-items:flex-end;padding:100px 48px 88px;
  gap:60px;overflow:hidden;
}
.hero-media{position:absolute;inset:0;z-index:0}
.hero-media img{width:100%;height:100%}
.hero-scrim{
  position:absolute;inset:0;
  background:linear-gradient(110deg,rgba(10,9,12,0.94) 0%,rgba(10,9,12,0.65) 55%,rgba(10,9,12,0.18) 100%);
}
.hero-body{position:relative;z-index:2;max-width:660px}
.hero-body .label{color:var(--teal-lt);margin-bottom:16px}
.hero-body h1{font-size:clamp(3rem,7vw,6.5rem);color:#EDEAE4;margin-bottom:20px}
.hero-body h1 em{font-style:italic;color:var(--teal-lt)}
.hero-sub{font-size:clamp(0.96rem,1.5vw,1.1rem);color:rgba(220,216,210,0.72);line-height:1.72;margin-bottom:40px}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap}
.hero-aside{position:relative;z-index:2;display:flex;flex-direction:column;gap:14px;align-self:center}
.ha-card{width:210px;height:270px;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-lg);border:1px solid rgba(255,255,255,0.07)}
.ha-card.offset{width:165px;height:205px;align-self:flex-end}
.ha-card img{width:100%;height:100%}

.a1,.a2,.a3,.a4,.a5{opacity:0;transform:translateY(18px);animation:rise 0.82s forwards}
.a1{animation-delay:.14s}.a2{animation-delay:.32s}.a3{animation-delay:.52s}.a4{animation-delay:.68s}.a5{animation-delay:.48s}
@keyframes rise{to{opacity:1;transform:translateY(0)}}

.hero-ticker{
  position:absolute;bottom:0;left:0;right:0;z-index:3;
  overflow:hidden;border-top:1px solid rgba(255,255,255,0.06);
  background:rgba(10,9,12,0.65);backdrop-filter:blur(8px);
  padding:10px 0;white-space:nowrap;
}
.ticker-track{display:inline-block;animation:ticker 28s linear infinite}
.ticker-track span{font-size:var(--ts-xs);font-weight:400;letter-spacing:0.16em;text-transform:uppercase;color:var(--text-3);margin:0 16px}
.ticker-track i{font-style:normal;color:var(--teal);font-size:0.5rem;vertical-align:middle}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ═══════════════════════════════════════════
   DOCTOR SECTION
   ═══════════════════════════════════════════ */
.doctor{position:relative;padding:110px 0;overflow:hidden}
.doctor-bg{position:absolute;inset:0;z-index:0}
.doctor-bg img{width:100%;height:100%}
.doctor-scrim{position:absolute;inset:0;background:linear-gradient(to right,rgba(10,9,12,0.15) 0%,rgba(10,9,12,0.72) 40%,rgb(9, 11, 12) 100%)}
.doctor-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.doc-photo{border-radius:var(--r-xl);overflow:hidden;aspect-ratio:3/4;box-shadow:var(--sh-lg);border:1px solid rgba(255,255,255,0.07);position:relative}
.doc-photo img{width:100%;height:100%}
.doc-photo::after{content:'';position:absolute;inset:-10px;border-radius:calc(var(--r-xl) + 8px);border:1px solid var(--teal-border);pointer-events:none}
.doc-copy>p{font-size:var(--ts-body);margin-bottom:24px}
.doc-creds{margin:20px 0 32px;border-top:1px solid rgba(255,255,255,0.08)}
[data-theme="light"] .doc-creds{
  border-top:1px solid rgba(0,0,0,0.08);
}
.doc-creds li{
  font-size:var(--ts-body);color:var(--on-dark-sub);
  padding:12px 0;border-bottom:1px solid rgba(255,255,255,0.06);
  display:flex;align-items:center;gap:12px;line-height:1.5;
}
[data-theme="light"] .doc-creds li{
  color:var(--text);
  border-bottom:1px solid rgba(0,0,0,0.08);
}
.doc-creds li::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--teal);flex-shrink:0}

/* ═══════════════════════════════════════════
   CTA SECTION
   ═══════════════════════════════════════════ */
.cta-section{position:relative;padding:120px 0;overflow:hidden}
.cta-bg{position:absolute;inset:0;z-index:0}
.cta-bg img{width:100%;height:100%}
.cta-scrim{position:absolute;inset:0;background:rgba(10,9,12,0.76)}
.cta-inner{position:relative;z-index:2;text-align:center}
.cta-inner>h2{max-width:660px;margin:0 auto 12px}
.cta-sub{font-size:var(--ts-body);color:var(--on-dark-sub);margin-bottom:40px;line-height:1.72}
.cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:52px}
.cta-strip{
  display:flex;align-items:center;justify-content:center;
  max-width:740px;margin:0 auto;
  border:1px solid rgba(255,255,255,0.09);border-radius:var(--r-lg);padding:20px 36px;
  background:rgba(255,255,255,0.04);backdrop-filter:blur(8px);flex-wrap:wrap;gap:0;
}
.cs-item{flex:1;text-align:center;min-width:150px;padding:8px 0}
.cs-item strong{display:block;font-size:var(--ts-xs);letter-spacing:0.16em;text-transform:uppercase;color:var(--teal-lt);margin-bottom:5px}
.cs-item span{font-size:var(--ts-sm);color:var(--on-dark-muted)}
.cs-div{width:1px;height:40px;background:rgba(255,255,255,0.09);flex-shrink:0;margin:0 12px}

/* ═══════════════════════════════════════════
   CONTACT SECTION
   ═══════════════════════════════════════════ */
.contact{padding:110px 0;background:var(--bg-2)}
.contact-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:72px;align-items:stretch}
.contact-copy h2{margin-bottom:32px}
.contact-list{display:flex;flex-direction:column}
.contact-list li{display:flex;gap:15px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--div)}
.contact-list li:first-child{border-top:1px solid var(--div)}
.cl-icon{font-size:0.95rem;color:var(--teal);flex-shrink:0;width:22px;margin-top:2px}
.contact-list strong{font-size:var(--ts-xs);letter-spacing:0.14em;text-transform:uppercase;color:var(--text);display:block;margin-bottom:4px}
.contact-list p,.contact-list a{font-size:var(--ts-sm);color:var(--text-2);line-height:1.6}
.contact-list a:hover{color:var(--teal)}
.cl-link{display:inline-block;margin-top:5px;font-size:var(--ts-xs);font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--teal);transition:color 0.22s}
.cl-link:hover{color:var(--teal-lt)}
.contact-map{border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--div);min-height:460px;box-shadow:var(--sh)}
.contact-map iframe{width:100%;height:100%;min-height:460px;border:0;display:block}
[data-theme="dark"] .contact-map iframe{filter:invert(90%) hue-rotate(180deg) brightness(0.85)}

/* ═══════════════════════════════════════════
   PAGE HERO (inner pages)
   ═══════════════════════════════════════════ */
.page-hero{padding:148px 0 80px;background:var(--bg);border-bottom:1px solid var(--div)}
.page-hero-inner{max-width:600px}
.page-hero h1{font-size:clamp(2.6rem,5vw,4.6rem);margin-bottom:18px}
.page-hero h1 em{font-style:italic;color:var(--teal)}
.page-hero p{font-size:var(--ts-md);color:var(--text-2);max-width:520px;line-height:1.72}

/* ═══════════════════════════════════════════
   ABOUT PAGE
   ═══════════════════════════════════════════ */
.about-section{padding:100px 0}
.about-section.alt{background:var(--bg-2)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:88px;align-items:center}
.about-media{position:relative}
.am-main{aspect-ratio:3/4;border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-lg);border:1px solid var(--div)}
.am-main img{width:100%;height:100%}
.am-inset{position:absolute;bottom:-30px;right:-30px;width:54%;aspect-ratio:4/3;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-lg);border:4px solid var(--bg)}
.am-inset img{width:100%;height:100%}
.am-stat{position:absolute;top:30px;left:-18px;background:var(--teal);color:#fff;border-radius:14px;padding:16px 20px;box-shadow:var(--sh-lg);z-index:2;text-align:center}
.am-stat strong{font-family:var(--fd);font-size:2rem;font-weight:400;display:block;line-height:1}
.am-stat span{font-size:var(--ts-xs);opacity:0.88;line-height:1.4;display:block;margin-top:4px}
.about-copy>p{font-size:var(--ts-body);margin-bottom:24px}
.pillars{margin-bottom:36px}
.pillar{display:flex;gap:18px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--div)}
.pillar:first-child{border-top:1px solid var(--div)}
.p-n{font-family:var(--fd);font-size:1.3rem;font-weight:400;color:var(--teal);flex-shrink:0;width:30px;margin-top:2px}
.pillar strong{font-size:var(--ts-body);font-weight:600;color:var(--text);display:block;margin-bottom:3px}
.pillar p{font-size:var(--ts-sm);color:var(--text-3);margin:0;line-height:1.6}

.doc-band{padding:100px 0;background:var(--bg-3)}
.doc-band-inner{display:grid;grid-template-columns:300px 1fr;gap:64px;align-items:center}
.doc-img{border-radius:var(--r-xl);overflow:hidden;aspect-ratio:4/5;box-shadow:var(--sh-lg);border:1px solid var(--div)}
.doc-img img{width:100%;height:100%}
.doc-text .label{margin-bottom:10px}
.doc-text h2{margin-bottom:14px}
.doc-text>p{font-size:var(--ts-body);margin-bottom:26px}
.doc-list{display:flex;flex-direction:column;border-top:1px solid var(--div);margin-bottom:32px}
.doc-list li{font-size:var(--ts-sm);color:var(--text-2);padding:12px 0;border-bottom:1px solid var(--div-2);display:flex;align-items:center;gap:12px;line-height:1.55}
.doc-list li::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--teal);flex-shrink:0}

/* ═══════════════════════════════════════════
   SERVICES PAGE
   ═══════════════════════════════════════════ */
.services-band{position:relative;height:340px;overflow:hidden;border-top:1px solid var(--div);border-bottom:1px solid var(--div)}
.services-band img{width:100%;height:100%;filter:brightness(0.5);transition:transform 8s ease}
.services-band:hover img{transform:scale(1.03)}
.band-caption{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:clamp(1.3rem,3vw,2.2rem);font-style:italic;font-weight:400;color:var(--on-dark);text-align:center;padding:0 48px}

.svc-list{margin-top:0}
.svc-item{border-bottom:1px solid var(--div);transition:background var(--t)}
.svc-item:first-child{border-top:1px solid var(--div)}
.svc-item a{display:flex;align-items:center;gap:24px;padding:24px 0;transition:var(--t)}
.svc-item:hover{background:var(--bg-3)}
.svc-item:hover a{padding-left:10px}
.svc-left{display:flex;align-items:center;gap:26px;flex:1;min-width:0}
.svc-n{font-family:var(--fd);font-size:1rem;color:var(--teal);flex-shrink:0;width:26px}
.svc-left h3{font-size:clamp(1.1rem,2vw,1.4rem);margin-bottom:3px}
.svc-left p{font-size:var(--ts-sm);color:var(--text-3);margin:0;line-height:1.5}
.svc-img{width:86px;height:60px;border-radius:var(--r);overflow:hidden;flex-shrink:0;opacity:0;transform:scale(0.94);transition:opacity 0.28s,transform 0.28s;pointer-events:none}
.svc-img.show{opacity:1;transform:scale(1)}
.svc-img img{width:100%;height:100%}
.svc-arrow{font-size:1rem;color:var(--text-3);flex-shrink:0;margin-left:auto;transition:transform 0.24s,color 0.24s}
.svc-item:hover .svc-arrow{transform:translateX(6px);color:var(--teal)}

.svc-detail{background:var(--surf);border:1px solid var(--div);border-radius:var(--r-lg);overflow:hidden;transition:var(--t)}
.svc-detail-trigger{display:flex;align-items:center;justify-content:space-between;padding:24px 28px;cursor:pointer;list-style:none;gap:20px}
.svc-detail-trigger::-webkit-details-marker{display:none}
.svc-detail-trigger h3{font-size:clamp(1.05rem,2vw,1.35rem);display:flex;align-items:center;gap:16px}
.svc-detail-trigger h3 span{font-family:var(--fu);font-size:var(--ts-xs);font-weight:600;color:var(--teal);min-width:22px}
.svc-chevron{color:var(--text-3);font-size:1rem;flex-shrink:0;transition:transform 0.3s}
details[open] .svc-chevron{transform:rotate(90deg)}
.svc-panel{padding:26px 28px 30px;border-top:1px solid var(--div);display:grid;grid-template-columns:1fr 1.2fr;gap:36px;align-items:start}
.svc-panel-img{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3}
.svc-panel-img img{width:100%;height:100%}
.svc-panel-text p{font-size:var(--ts-body);color:var(--text-2);line-height:1.74;margin-bottom:12px}
.svc-bullets{margin-top:6px;display:flex;flex-direction:column;gap:0}
.svc-bullets li{font-size:var(--ts-sm);color:var(--text-2);padding:10px 0;border-bottom:1px solid var(--div-2);display:flex;align-items:flex-start;gap:10px;line-height:1.58}
.svc-bullets li:last-child{border-bottom:none}
.svc-bullets li::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--teal);flex-shrink:0;margin-top:6px}
.svc-panel-book{display:inline-block;margin-top:18px;background:var(--teal);color:#fff;padding:10px 22px;border-radius:var(--r);font-size:var(--ts-xs);font-weight:700;letter-spacing:0.1em;text-transform:uppercase;transition:var(--t)}
.svc-panel-book:hover{background:var(--teal-lt);transform:translateY(-1px)}

.faq-list{display:flex;flex-direction:column;gap:0}
.faq-trigger{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 0;cursor:pointer;list-style:none;gap:20px;border-bottom:1px solid var(--div)}
.faq-trigger:first-of-type{border-top:1px solid var(--div)}
.faq-trigger::-webkit-details-marker{display:none}
.faq-trigger strong{font-size:var(--ts-body);font-weight:500;color:var(--text);line-height:1.5}
.faq-chevron{color:var(--teal);font-size:0.95rem;flex-shrink:0;margin-top:2px;transition:transform 0.28s}
details[open] .faq-chevron{transform:rotate(45deg)}
.faq-body{padding:14px 0 20px}
.faq-body p{font-size:var(--ts-sm);color:var(--text-2);line-height:1.72;margin-bottom:10px}
.faq-body ul{display:flex;flex-direction:column;gap:7px;margin-top:8px}
.faq-body ul li{font-size:var(--ts-sm);color:var(--text-2);display:flex;align-items:flex-start;gap:9px;line-height:1.58}
.faq-body ul li::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--teal);flex-shrink:0;margin-top:6px}

/* ═══════════════════════════════════════════
   CONTENT SECTIONS
   ═══════════════════════════════════════════ */
.content-section{padding:88px 0;background:var(--bg)}
.content-section.alt{background:var(--bg-2)}
.content-section.teal-border{border-top:1px solid var(--teal-border)}
.cs-header{margin-bottom:48px}
.cs-header h2{margin-bottom:10px}
.cs-header p{font-size:var(--ts-body);max-width:580px}
.cs-2col{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start}
.cs-1col{max-width:720px}

.info-card{background:var(--surf);border:1px solid var(--div);border-radius:var(--r-lg);padding:32px}
.info-card h4{margin-bottom:12px}
.info-card p{font-size:var(--ts-sm);color:var(--text-2);line-height:1.72;margin-bottom:8px}
.info-card p:last-of-type{margin-bottom:0}

.teal-box{background:var(--teal-dim);border:1px solid var(--teal-border);border-radius:var(--r-lg);padding:24px 28px;margin-top:24px}
.teal-box p{font-size:var(--ts-sm);color:var(--text-2);line-height:1.7;font-style:italic}

.hours-grid{display:flex;flex-direction:column;gap:0;margin-top:10px}
.hours-row{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid var(--div-2);font-size:var(--ts-sm)}
.hours-row:first-child{border-top:1px solid var(--div-2)}
.hours-row .day{color:var(--text-2);font-weight:400}
.hours-row .time{color:var(--text);font-weight:600}
.hours-row .closed{color:var(--text-3);font-style:italic}

.steps{display:flex;flex-direction:column;gap:0;margin-top:10px}
.step{display:flex;gap:18px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--div-2)}
.step:first-child{border-top:1px solid var(--div-2)}
.step-n{width:30px;height:30px;border-radius:50%;background:var(--teal-dim);border:1px solid var(--teal-border);color:var(--teal-lt);font-size:var(--ts-xs);font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
.step-body strong{font-size:var(--ts-sm);font-weight:600;color:var(--text);display:block;margin-bottom:3px}
.step-body p{font-size:var(--ts-sm);color:var(--text-2);line-height:1.68;margin:0}

.notice{background:rgba(255,200,80,0.05);border:1px solid rgba(255,200,80,0.18);border-radius:var(--r);padding:18px 22px;margin-top:22px}
[data-theme="light"] .notice{background:rgba(160,110,0,0.05);border-color:rgba(160,110,0,0.18)}
.notice p{font-size:var(--ts-sm);color:var(--text-2);line-height:1.72;margin:0}
.notice strong{color:var(--text)}

.np-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:8px}
.np-card{background:var(--surf);border:1px solid var(--div);border-radius:var(--r-lg);padding:28px;display:flex;flex-direction:column;gap:12px}
.np-card h3{font-size:clamp(1.1rem,2vw,1.35rem);margin-bottom:2px}
.np-card p{font-size:var(--ts-sm);color:var(--text-2);line-height:1.7;flex:1}
.np-card .btn-accent{font-size:var(--ts-xs);padding:10px 20px;align-self:flex-start}

.policy-list{display:flex;flex-direction:column;gap:0}
.policy-trigger{display:flex;align-items:center;justify-content:space-between;padding:18px 0;cursor:pointer;list-style:none;gap:20px;border-bottom:1px solid var(--div)}
.policy-trigger:first-of-type{border-top:1px solid var(--div)}
.policy-trigger::-webkit-details-marker{display:none}
.policy-trigger strong{font-size:var(--ts-body);font-weight:500;color:var(--text);line-height:1.4}
.policy-chevron{color:var(--teal);font-size:0.9rem;flex-shrink:0;transition:transform 0.28s}
details[open] .policy-chevron{transform:rotate(45deg)}
.policy-body{padding:12px 0 20px}
.policy-body p{font-size:var(--ts-sm);color:var(--text-2);line-height:1.72}

/* ═══════════════════════════════════════════
   JOURNAL PAGE
   ═══════════════════════════════════════════ */
.journal-grid{display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:auto auto;gap:18px;padding-bottom:96px}
.bc{background:var(--surf);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--div);transition:var(--t);display:flex;flex-direction:column}
.bc:hover{border-color:var(--teal-border);transform:translateY(-4px);box-shadow:var(--sh-lg)}
.bc.featured{grid-row:span 2}
.bc-img{display:block;overflow:hidden}
.bc.featured .bc-img{height:290px}
.bc:not(.featured) .bc-img{height:150px}
.bc-img img{width:100%;height:100%;transition:transform 0.55s ease}
.bc:hover .bc-img img{transform:scale(1.05)}
.bc-body{padding:20px 22px 24px;flex:1;display:flex;flex-direction:column}
.bc-meta{display:flex;gap:10px;align-items:center;margin-bottom:10px}
.bc-tag{font-size:var(--ts-xs);font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--teal);background:var(--teal-dim);padding:3px 10px;border-radius:20px}
.bc-meta>span:last-child{font-size:var(--ts-xs);color:var(--text-3)}
.bc-body h3{font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.25;margin-bottom:8px}
.bc-body p{font-size:var(--ts-sm);color:var(--text-2);flex:1;margin-bottom:14px;line-height:1.65}
.bc-link{font-size:var(--ts-xs);font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--teal);transition:color 0.22s;margin-top:auto;display:inline-block}
.bc-link:hover{color:var(--teal-lt)}

/* ═══════════════════════════════════════════
   CHATBOT
   ═══════════════════════════════════════════ */
#chatbot{position:fixed;bottom:26px;right:26px;z-index:600;font-family:var(--fu)}
.cfab{width:54px;height:54px;border-radius:50%;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 28px rgba(61,144,134,0.5);transition:var(--t);position:relative}
.cfab:hover{background:var(--teal-lt);transform:scale(1.06)}
.cfab-open,.cfab-close{position:absolute;display:flex;align-items:center;justify-content:center;transition:opacity 0.26s,transform 0.3s}
.cfab-close{opacity:0;transform:rotate(-90deg) scale(0.6)}
.cfab.open .cfab-open{opacity:0;transform:rotate(90deg) scale(0.6)}
.cfab.open .cfab-close{opacity:1;transform:rotate(0) scale(1)}
.cfab-pulse{position:absolute;top:3px;right:3px;width:10px;height:10px;border-radius:50%;background:#5BCB9A;border:2px solid var(--teal);animation:cpulse 2s infinite}
@keyframes cpulse{0%,100%{box-shadow:0 0 0 0 rgba(91,203,154,.5)}50%{box-shadow:0 0 0 5px rgba(91,203,154,0)}}
.cwin{position:absolute;bottom:66px;right:0;width:348px;background:var(--surf);border-radius:var(--r-xl);border:1px solid var(--div);box-shadow:var(--sh-lg);overflow:hidden;opacity:0;transform:translateY(14px) scale(0.97);pointer-events:none;transition:opacity 0.28s,transform 0.32s cubic-bezier(0.34,1.56,0.64,1);display:flex;flex-direction:column}
.cwin.open{opacity:1;transform:translateY(0) scale(1);pointer-events:all}
.cwin-head{background:var(--nav-bg);padding:14px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--nav-border)}
.cwin-info{display:flex;align-items:center;gap:10px}
.cwin-av{width:34px;height:34px;border-radius:50%;background:var(--teal);color:#fff;font-family:var(--fd);font-size:1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cwin-name{font-size:var(--ts-sm);font-weight:600;color:var(--nav-text-h);margin-bottom:2px}
.cwin-status{font-size:var(--ts-xs);color:var(--nav-text);display:flex;align-items:center;gap:5px}
.c-dot{width:6px;height:6px;border-radius:50%;background:#5BCB9A;display:inline-block;animation:cpulse 2s infinite}
.cwin-x{width:27px;height:27px;border-radius:50%;background:rgba(255,255,255,0.08);color:var(--nav-text);font-size:0.78rem;display:flex;align-items:center;justify-content:center;transition:var(--t)}
.cwin-x:hover{background:rgba(255,255,255,0.16);color:var(--nav-text-h)}
.cwin-msgs{flex:1;overflow-y:auto;padding:16px 14px 10px;max-height:330px;min-height:200px;display:flex;flex-direction:column;gap:9px;scroll-behavior:smooth}
.cwin-msgs::-webkit-scrollbar{width:3px}
.cwin-msgs::-webkit-scrollbar-thumb{background:var(--div);border-radius:3px}
.cwelcome{background:var(--teal-dim);border:1px solid var(--teal-border);border-radius:12px;padding:13px 15px;font-size:var(--ts-sm);color:var(--text-2);line-height:1.62}
.cwelcome p+p{margin-top:5px}
.cquicks{display:flex;flex-wrap:wrap;gap:7px;margin-top:3px}
.cquicks button{background:var(--surf-2);border:1px solid var(--div);border-radius:20px;padding:6px 13px;font-size:var(--ts-xs);color:var(--text-2);transition:var(--t)}
.cquicks button:hover{background:var(--teal-dim);border-color:var(--teal-border);color:var(--teal-lt)}
.cmsg{display:flex;align-items:flex-end;gap:7px;max-width:92%;animation:mslide 0.26s ease forwards}
@keyframes mslide{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.cmsg.user{align-self:flex-end;flex-direction:row-reverse}
.cmsg.bot{align-self:flex-start}
.cmsg-av{width:25px;height:25px;border-radius:50%;background:var(--teal);color:#fff;font-family:var(--fd);font-size:0.8rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cmsg-bub{padding:9px 13px;border-radius:13px;font-size:var(--ts-sm);line-height:1.58;max-width:248px;word-wrap:break-word}
.cmsg.user .cmsg-bub{background:var(--teal);color:#fff;border-bottom-right-radius:4px}
.cmsg.bot  .cmsg-bub{background:var(--surf-2);color:var(--text);border-bottom-left-radius:4px}
.cmsg.bot  .cmsg-bub a{color:var(--teal-lt);text-decoration:underline}
.cmsg-bub.typing{display:flex;align-items:center;gap:5px;padding:11px 14px}
.cmsg-bub.typing span{width:6px;height:6px;border-radius:50%;background:var(--text-3);animation:tbounce 1.1s infinite}
.cmsg-bub.typing span:nth-child(2){animation-delay:.16s}
.cmsg-bub.typing span:nth-child(3){animation-delay:.32s}
@keyframes tbounce{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-6px);opacity:1}}
.cemail{align-self:center;margin-top:4px}
.cemail a{display:inline-block;background:var(--teal-dim);color:var(--teal-lt);border:1px solid var(--teal-border);font-size:var(--ts-xs);font-weight:700;padding:7px 14px;border-radius:28px;transition:var(--t)}
.cemail a:hover{background:var(--teal);color:#fff}
.cwin-input{padding:12px 14px;border-top:1px solid var(--div);display:flex;gap:8px;align-items:center;background:var(--surf)}
#cinput{flex:1;border:1.5px solid var(--div);border-radius:28px;padding:9px 14px;font-family:var(--fu);font-size:var(--ts-sm);color:var(--text);background:var(--bg-3);outline:none;transition:border-color 0.22s}
[data-theme="light"] #cinput{background:var(--bg-2);border-color:rgba(0,0,0,0.1)}
#cinput:focus{border-color:var(--teal);background:var(--surf-2)}
#cinput::placeholder{color:var(--text-3)}
#csend{width:34px;height:34px;border-radius:50%;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:var(--t)}
#csend:hover{background:var(--teal-lt);transform:scale(1.08)}

/* ═══════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════ */

@media(max-width:1080px){
  .wrap{padding:0 36px}
  .hero{grid-template-columns:1fr;padding-right:36px}
  .hero-aside{display:none}
  .about-grid{grid-template-columns:1fr;gap:52px}
  .about-media{max-width:480px;margin:0 auto}
  .doctor-grid{gap:52px}
  .contact-grid{grid-template-columns:1fr;gap:48px}
  .contact-map{min-height:380px}
  .contact-map iframe{min-height:380px}
  .doc-band-inner{grid-template-columns:1fr;gap:44px}
  .doc-img{max-width:320px}
  .journal-grid{grid-template-columns:1fr}
  .bc.featured{grid-row:span 1}
  .footer-grid{grid-template-columns:1fr 1fr;gap:36px}
  .svc-panel{grid-template-columns:1fr}
  .cs-2col{grid-template-columns:1fr;gap:32px}
  .np-grid{grid-template-columns:1fr}
}

@media(max-width:768px){
  .nav-links,.nav-book{display:none}
  .hamburger{display:flex}
  .nav{padding:0 20px;height:62px}
  .wrap{padding:0 20px}
  .hero{padding:92px 20px 80px}
  .hero-body h1{font-size:clamp(2.4rem,8vw,4rem)}
  .hero-ctas{flex-direction:column;align-items:flex-start;gap:12px}
  .page-hero{padding:120px 0 60px}
  .page-hero h1{font-size:clamp(2.2rem,7vw,3.4rem)}
  .doctor{padding:80px 0}
  .doctor-grid{grid-template-columns:1fr;gap:40px}
  .doc-photo{max-width:320px;margin:0 auto}
  .doc-photo::after{display:none}
  .about-section{padding:72px 0}
  .doc-band{padding:72px 0}
  .doc-band-inner{grid-template-columns:1fr;gap:36px}
  .doc-img{max-width:280px}
  .content-section{padding:68px 0}
  .contact{padding:80px 0}
  .services-band{height:200px}
  .band-caption{font-size:clamp(1.1rem,4vw,1.6rem);padding:0 20px}
  .am-inset{right:0;bottom:-20px}
  .am-stat{left:-12px;top:20px}
  .cta-section{padding:90px 0}
  .cta-strip{flex-direction:column;padding:20px}
  .cs-div{width:44px;height:1px;margin:8px auto}
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px}
  .footer-visual{height:240px}
  .journal-grid{gap:14px;padding-bottom:64px}
  .np-grid{gap:16px}
  .svc-detail-trigger{padding:18px 20px}
  .svc-panel{padding:20px}
  .cs-2col{gap:24px}
}

@media(max-width:520px){
  .wrap{padding:0 16px}
  .hero{padding:88px 16px 72px}
  .hero-body h1{font-size:2.2rem}
  h2{font-size:1.9rem}
  h2.xl{font-size:2.3rem}
  .hero-ticker{display:none}
  .page-hero{padding:108px 0 52px}
  .page-hero h1{font-size:2.1rem}
  .doctor{padding:64px 0}
  .about-section{padding:56px 0}
  .doc-band{padding:56px 0}
  .content-section{padding:56px 0}
  .contact{padding:64px 0}
  .cta-section{padding:72px 0}
  .cta-actions{flex-direction:column;align-items:center}
  .footer-grid{grid-template-columns:1fr;gap:24px;padding:40px 0 36px}
  .footer-visual{height:200px}
  .fv-overlay p{font-size:1.2rem}
  .np-grid{grid-template-columns:1fr}
  .np-card{padding:22px}
  .info-card{padding:22px}
  .svc-detail-trigger{padding:16px}
  .svc-detail-trigger h3{font-size:1rem}
  .svc-panel{padding:16px;gap:20px}
  .cs-2col{gap:20px}
  .journal-grid{padding-bottom:48px}
  #chatbot{bottom:16px;right:14px}
  .cwin{width:calc(100vw - 28px);right:-14px;bottom:64px}
  .cfab{width:48px;height:48px}
  .hours-row{font-size:var(--ts-xs)}
}