/* ================================================
   Ahuja's Homeopathy — Design Tokens
   Primary rebuilt around client-supplied brand color #A74174
   ================================================ */
:root{
  --wine-900:#471a34;   /* deep plum — headers, footer, high-contrast text */
  --wine-700:#A74174;   /* PRIMARY — client brand color */
  --wine-600:#bd5c8d;   /* lighter, for hovers */
  --wine-100:#faeaf1;   /* pale tint for subtle fills */
  --cream:#faf5ee;
  --cream-deep:#f3e8ee;
  --sage-700:#5f7a5c;
  --sage-500:#7e9a79;
  --sage-100:#e7ede2;
  --ink:#2a2320;
  --ink-soft:#5c5450;
  --white:#ffffff;
  --gold:#c08a4e;

  --font-display:'Fraunces', 'Georgia', serif;
  --font-body:'Plus Jakarta Sans', 'Segoe UI', sans-serif;

  --radius-lg:22px;
  --radius-md:14px;
  --radius-sm:8px;
  --shadow-soft:0 18px 40px -20px rgba(71,26,52,0.28);
  --container:1180px;

  --ease-premium:cubic-bezier(.16,1,.3,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;font-size:18px;overflow-x:hidden;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--cream);
  line-height:1.7;
  font-size:1.05rem;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  max-width:100vw;
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important;}
}
h1,h2,h3,h4{
  font-family:var(--font-display);
  color:var(--wine-900);
  margin:0 0 .5em;
  font-weight:700;
  line-height:1.12;
  letter-spacing:-.01em;
}
h1{font-weight:800;}
p{margin:0 0 1em;color:var(--ink-soft);}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
ul{margin:0;padding:0;list-style:none;}
.container{max-width:var(--container);margin:0 auto;padding:0 24px;}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-body);
  font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--sage-700);font-weight:600;margin-bottom:14px;
}
.eyebrow::before{
  content:"";width:26px;height:1px;background:var(--gold);display:inline-block;
}
.section{padding:88px 0;}
.section-cream-deep{background:var(--cream-deep);}
.section-wine{background:var(--wine-700);color:var(--white);}
.section-wine h2,.section-wine h3{color:var(--white);}
.section-wine p{color:rgba(255,255,255,.78);}
.section-sage{background:var(--sage-100);}
.section-head{max-width:640px;margin-bottom:48px;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 30px;border-radius:100px;font-family:var(--font-body);
  font-size:.92rem;font-weight:600;letter-spacing:.02em;
  border:1px solid transparent;cursor:pointer;transition:transform .18s ease, box-shadow .18s ease;
}
.btn-primary{background:var(--wine-700);color:var(--white);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft);}
.btn-outline{background:transparent;color:var(--wine-700);border-color:var(--wine-700);}
.btn-outline:hover{background:var(--wine-700);color:var(--white);}
.btn-outline.on-wine{color:var(--white);border-color:rgba(255,255,255,.55);}
.btn-outline.on-wine:hover{background:var(--white);color:var(--wine-700);}

/* Header */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(250,245,238,.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(61,21,35,.08);
}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 24px;max-width:var(--container);margin:0 auto;
  flex-wrap:nowrap;gap:20px;
}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--font-display);flex:none;}
.logo .mark{
  width:38px;height:38px;border-radius:50%;
  background:conic-gradient(from 200deg, var(--wine-700), var(--sage-500), var(--gold), var(--wine-700));
  display:grid;place-items:center;color:var(--white);font-weight:700;font-size:1rem;flex:none;
}
.logo .name{font-size:1.05rem;color:var(--wine-900);font-weight:700;letter-spacing:.01em;white-space:nowrap;}
.logo .name small{display:block;font-family:var(--font-body);font-size:.58rem;letter-spacing:.16em;color:var(--sage-700);font-weight:600;text-transform:uppercase;white-space:nowrap;}
.main-nav{min-width:0;}
.main-nav ul{display:flex;gap:18px;align-items:center;flex-wrap:nowrap;}
.main-nav a{font-size:.88rem;font-weight:500;color:var(--wine-900);white-space:nowrap;}
.main-nav a:hover{color:var(--sage-700);}
.header-cta{display:flex;align-items:center;gap:14px;flex:none;white-space:nowrap;}
.header-cta .phone{font-size:.82rem;color:var(--wine-700);font-weight:600;white-space:nowrap;}
.header-cta .btn{white-space:nowrap;padding:12px 22px;font-size:.85rem;}
.nav-toggle{display:none;background:none;border:none;font-size:1.5rem;color:var(--wine-900);cursor:pointer;}

/* Hero */
.hero{padding:56px 0 0;}
.hero-grid{
  display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;
}
.hero-stats{display:flex;gap:0;margin-top:36px;border-top:1px solid rgba(61,21,35,.12);padding-top:22px;}
.hero-stats .stat{flex:1;padding-right:18px;}
.hero-stats .stat strong{display:block;font-family:var(--font-display);font-size:1.9rem;color:var(--wine-700);}
.hero-stats .stat span{font-size:.78rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;}
.hero-actions{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap;}
.hero-media{position:relative;}
.hero-photo-frame{
  border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:4/5;
  background:linear-gradient(155deg, var(--wine-700), var(--wine-900));
  display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.6);
  font-family:var(--font-body);font-size:.85rem;text-align:center;padding:24px;
  box-shadow:var(--shadow-soft);position:relative;
}
.hero-badge{
  position:absolute;left:-26px;bottom:32px;background:var(--white);
  border-radius:var(--radius-md);padding:16px 20px;box-shadow:var(--shadow-soft);
  display:flex;align-items:center;gap:12px;max-width:250px;
}
.hero-badge .ring{
  width:44px;height:44px;border-radius:50%;flex:none;
  background:var(--sage-100);color:var(--sage-700);display:grid;place-items:center;font-weight:700;
}
.hero-badge strong{display:block;font-size:.85rem;color:var(--wine-900);}
.hero-badge span{font-size:.75rem;color:var(--ink-soft);}
.credential-strip{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:22px;}
.credential-strip span{font-size:.78rem;color:var(--ink-soft);position:relative;padding-left:14px;}
.credential-strip span::before{content:"";position:absolute;left:0;top:.5em;width:6px;height:6px;border-radius:50%;background:var(--gold);}

/* Doctor section */
.doctor-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:center;}
.doctor-photo{
  border-radius:var(--radius-lg);aspect-ratio:3/4;
  background:linear-gradient(160deg,var(--sage-100),var(--cream-deep));
  display:flex;align-items:center;justify-content:center;color:var(--sage-700);
  font-size:.85rem;text-align:center;padding:20px;border:1px solid rgba(61,21,35,.08);
}
.doctor-photo.is-sticky{position:sticky;top:96px;align-self:start;}
@media (max-width:980px){.doctor-photo.is-sticky{position:static;}}
.credential-list{display:grid;gap:14px;margin:26px 0 30px;}
.credential-list li{display:flex;gap:14px;align-items:flex-start;color:var(--ink);font-size:.95rem;}
.credential-list .icon{
  flex:none;width:30px;height:30px;border-radius:50%;background:var(--wine-100);
  color:var(--wine-700);display:grid;place-items:center;font-size:.85rem;font-weight:700;
}
.doctor-quote{
  border-left:3px solid var(--gold);padding-left:20px;margin-top:26px;
  font-family:var(--font-display);font-size:1.2rem;font-style:italic;color:var(--wine-900);
}

/* About / philosophy */
.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center;}
.about-visual{
  border-radius:var(--radius-lg);aspect-ratio:1/1;
  background:linear-gradient(155deg,var(--wine-100),var(--cream-deep));
  border:1px solid rgba(61,21,35,.08);
}
.pillar-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:26px;}
.pillar-card{background:var(--white);border-radius:var(--radius-md);padding:22px;box-shadow:var(--shadow-soft);}
.pillar-card h4{font-size:1.05rem;margin-bottom:6px;}
.pillar-card p{font-size:.88rem;margin:0;}

/* Services */
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
@media (max-width:980px){.service-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:720px){.service-grid{grid-template-columns:1fr;}}
.service-card{
  background:var(--white);border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:var(--shadow-soft);display:flex;flex-direction:column;
}
.service-thumb{
  aspect-ratio:16/10;background:linear-gradient(150deg,var(--sage-500),var(--sage-700));
  display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.75);font-size:.8rem;
}
.service-body{padding:24px;flex:1;display:flex;flex-direction:column;}
.service-body h3{font-size:1.25rem;margin-bottom:10px;}
.service-body ul{margin-bottom:18px;}
.service-body li{font-size:.88rem;color:var(--ink-soft);padding-left:16px;position:relative;margin-bottom:6px;}
.service-body li::before{content:"—";position:absolute;left:0;color:var(--gold);}
.service-body .btn{margin-top:auto;align-self:flex-start;padding:10px 22px;font-size:.82rem;}

/* Why choose us */
.why-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:stretch;}
.why-visual{
  border-radius:var(--radius-lg);background:linear-gradient(160deg,var(--wine-700),var(--wine-900));
  min-height:340px;
}
.why-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.why-card{
  background:var(--white);border-radius:var(--radius-md);padding:22px 18px;
  border:1px solid rgba(61,21,35,.08);
}
.why-card.accent{background:var(--sage-700);color:var(--white);border-color:transparent;}
.why-card.accent h4,.why-card.accent p{color:var(--white);}
.why-card h4{font-size:1.5rem;margin-bottom:4px;}
.why-card p{font-size:.82rem;margin:0;}

/* Process */
.process-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center;}
.process-list{display:grid;gap:0;}
.process-item{
  display:flex;gap:20px;padding:20px 0;border-bottom:1px solid rgba(61,21,35,.1);
}
.process-item:last-child{border-bottom:none;}
.process-num{
  font-family:var(--font-display);font-size:1.6rem;color:var(--gold);flex:none;width:46px;
}
.process-item h4{font-size:1.1rem;margin-bottom:4px;}
.process-item p{font-size:.88rem;margin:0;}

/* Testimonials */
.testimonial-track{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.testimonial-card{
  background:var(--white);border-radius:var(--radius-lg);padding:30px;
  box-shadow:var(--shadow-soft);
}
.testimonial-card .quote-mark{font-family:var(--font-display);font-size:2.4rem;color:var(--gold);line-height:1;}
.testimonial-card p{color:var(--ink);font-style:italic;}
.testimonial-person{display:flex;align-items:center;gap:12px;margin-top:16px;}
.avatar-dot{width:40px;height:40px;border-radius:50%;background:var(--sage-100);color:var(--sage-700);display:grid;place-items:center;font-weight:700;font-size:.85rem;}
.testimonial-person strong{display:block;font-size:.9rem;color:var(--wine-900);}
.testimonial-person span{font-size:.78rem;color:var(--ink-soft);}

/* FAQ */
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 22px;}
.faq-item{
  background:var(--white);border-radius:var(--radius-md);border:1px solid rgba(71,26,52,.12);
  overflow:hidden;transition:border-color .25s var(--ease-premium), box-shadow .25s var(--ease-premium);
}
.faq-item.is-open{border-color:rgba(167,65,116,.35);box-shadow:var(--shadow-soft);}
.faq-q{
  width:100%;padding:18px 22px;cursor:pointer;font-weight:600;color:var(--wine-900);
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  background:none;border:none;font-family:var(--font-body);font-size:1rem;text-align:left;
}
.faq-icon{
  flex:none;width:28px;height:28px;border-radius:50%;background:var(--wine-100);color:var(--wine-700);
  display:grid;place-items:center;font-size:1.1rem;line-height:1;
  transition:transform .35s var(--ease-premium), background .25s ease;
}
.faq-item.is-open .faq-icon{transform:rotate(135deg);background:var(--wine-700);color:var(--white);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s var(--ease-premium);}
.faq-a-inner{padding:0 22px 20px;font-size:.95rem;color:var(--ink-soft);}

/* Blog */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.blog-card{background:var(--white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-soft);}
.blog-thumb{aspect-ratio:16/10;background:linear-gradient(150deg,var(--cream-deep),var(--wine-100));display:flex;align-items:center;justify-content:center;color:var(--wine-700);font-size:.8rem;}
.blog-body{padding:20px 22px;}
.blog-tag{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--sage-700);font-weight:600;}
.blog-body h4{font-size:1.05rem;margin:8px 0;}
.blog-meta{font-size:.78rem;color:var(--ink-soft);}

/* Appointment */
.appointment-grid{display:grid;grid-template-columns:1fr .9fr;gap:50px;align-items:center;}
.appointment-form{
  background:var(--white);border-radius:var(--radius-lg);padding:34px;box-shadow:var(--shadow-soft);
  display:grid;gap:16px;
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
label{font-size:.8rem;font-weight:600;color:var(--wine-900);margin-bottom:6px;display:block;}
input,select,textarea{
  width:100%;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid rgba(61,21,35,.18);
  font-family:var(--font-body);font-size:.9rem;background:var(--cream);
}
textarea{min-height:90px;resize:vertical;}
.appointment-visual{border-radius:var(--radius-lg);aspect-ratio:4/5;background:linear-gradient(160deg,var(--sage-500),var(--wine-700));}
.trust-list li{padding-left:22px;position:relative;font-size:.92rem;color:rgba(255,255,255,.9);margin-bottom:10px;}
.trust-list li::before{content:"✓";position:absolute;left:0;color:var(--gold);font-weight:700;}

/* CTA band */
.cta-band{
  border-radius:var(--radius-lg);background:linear-gradient(140deg,var(--wine-700),var(--wine-900));
  color:var(--white);padding:56px 48px;display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;
}
.cta-band h2{color:var(--white);margin-bottom:8px;}
.cta-band p{color:rgba(255,255,255,.78);margin:0;}

/* Footer */
.site-footer{background:var(--wine-900);color:rgba(255,255,255,.75);padding:64px 0 24px;}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px;}
.footer-grid h4{color:var(--white);font-size:1rem;margin-bottom:16px;font-family:var(--font-body);letter-spacing:.04em;text-transform:uppercase;}
.footer-grid p,.footer-grid a{font-size:.88rem;color:rgba(255,255,255,.65);}
.footer-grid li{margin-bottom:10px;}
.footer-grid a:hover{color:var(--white);}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.15);padding-top:22px;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.8rem;color:rgba(255,255,255,.55);
}

/* Responsive */
@media (max-width:980px){
  .hero-grid,.doctor-grid,.about-grid,.why-grid,.process-grid,.appointment-grid{grid-template-columns:1fr;}
  .service-grid,.testimonial-track,.blog-grid{grid-template-columns:1fr 1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .faq-grid{grid-template-columns:1fr;}
  .why-cards{grid-template-columns:1fr 1fr;}
}
@media (max-width:900px){
  .main-nav,.header-cta .phone,.header-cta .btn{display:none;}
  .nav-toggle{display:block;}
}
@media (max-width:720px){
  .section{padding:60px 0;}
  .service-grid,.testimonial-track,.blog-grid,.why-cards,.footer-grid,.form-row{grid-template-columns:1fr;}
  .hero-stats{flex-wrap:wrap;gap:18px;}
  .hero-badge{position:static;margin-top:16px;max-width:none;}
  .cta-band{flex-direction:column;text-align:center;}
}

/* ================================================
   Motion — premium, restrained: entrance + scroll reveal
   ================================================ */

/* Sticky header gains depth once page scrolls */
.site-header{transition:box-shadow .3s ease, background .3s ease;}
.site-header.is-scrolled{box-shadow:0 8px 24px -16px rgba(71,26,52,.35);}

/* Hero: staggered entrance on load */
@keyframes riseIn{
  from{opacity:0;transform:translateY(26px);}
  to{opacity:1;transform:translateY(0);}
}
@keyframes fadeScaleIn{
  from{opacity:0;transform:scale(.96) translateY(14px);}
  to{opacity:1;transform:scale(1) translateY(0);}
}
.hero-copy > *{opacity:0;animation:riseIn .85s var(--ease-premium) forwards;}
.hero-copy > .eyebrow{animation-delay:.05s;}
.hero-copy > h1{animation-delay:.16s;}
.hero-copy > p{animation-delay:.30s;}
.hero-copy > .credential-strip{animation-delay:.42s;}
.hero-copy > .hero-actions{animation-delay:.54s;}
.hero-copy > .hero-stats{animation-delay:.66s;}
.hero-media{opacity:0;animation:fadeScaleIn 1s var(--ease-premium) .3s forwards;}
.hero-badge{opacity:0;animation:riseIn .7s var(--ease-premium) .85s forwards;}

/* Scroll reveal: applied via JS (IntersectionObserver) toggling .in-view */
[data-reveal]{
  opacity:0;
  transform:translateY(32px);
  transition:opacity .8s var(--ease-premium), transform .8s var(--ease-premium);
}
[data-reveal].in-view{opacity:1;transform:translateY(0);}
[data-reveal="fade"]{transform:none;}
[data-reveal="fade"].in-view{transform:none;}

/* Stat number ticking uses this class to avoid layout jump while animating */
.stat-num, .why-card h4{font-variant-numeric:tabular-nums;}

/* Refined hover motion for cards + buttons (premium easing, not just translateY) */
.btn{transition:transform .3s var(--ease-premium), box-shadow .3s var(--ease-premium), background .25s ease, color .25s ease;}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 16px 32px -14px rgba(167,65,116,.55);}
.service-card,.testimonial-card,.blog-card,.pillar-card,.why-card{
  transition:transform .4s var(--ease-premium), box-shadow .4s var(--ease-premium);
}
.service-card:hover,.blog-card:hover{transform:translateY(-6px);box-shadow:0 24px 48px -20px rgba(71,26,52,.32);}
.testimonial-card:hover{transform:translateY(-4px);}
.why-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft);}

/* Underline sweep on nav links */
.main-nav a{position:relative;}
.main-nav a::after{
  content:"";position:absolute;left:0;bottom:-4px;width:0;height:2px;background:var(--wine-700);
  transition:width .3s var(--ease-premium);
}
.main-nav a:hover::after{width:100%;}

/* CTA band gets a slow ambient sheen */
.cta-band{position:relative;overflow:hidden;}
.cta-band::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(120deg, transparent 20%, rgba(255,255,255,.10) 45%, transparent 70%);
  transform:translateX(-100%);
  animation:sheen 6s ease-in-out infinite;
}
@keyframes sheen{
  0%,20%{transform:translateX(-120%);}
  55%,100%{transform:translateX(120%);}
}

/* Editorial accent word inside headings — italic serif weight against bold, echoes brand's confident type mix */
.headline-accent{
  font-style:italic;
  font-weight:500;
  color:var(--wine-700);
}

/* Hero slogan line */
.hero-tagline{
  font-family:var(--font-display);
  font-style:italic;font-weight:500;
  color:var(--wine-700);font-size:1.15rem;
  margin:2px 0 14px;
}

/* Clinical track record highlight grid */
.highlight-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:18px;
}
@media (max-width:980px){.highlight-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:720px){.highlight-grid{grid-template-columns:1fr;}}
.highlight-card{
  background:var(--white);border-radius:var(--radius-md);padding:26px 22px;
  box-shadow:var(--shadow-soft);text-align:left;
}
.highlight-card .icon{
  width:38px;height:38px;border-radius:50%;background:var(--wine-100);color:var(--wine-700);
  display:grid;place-items:center;font-weight:700;margin-bottom:14px;font-size:.85rem;
}
.highlight-card h4{font-size:1rem;margin-bottom:6px;color:var(--wine-900);}
.highlight-card p{font-size:.86rem;margin:0;}

/* Mobile nav drawer (opened by the hamburger button) */
.mobile-nav{
  display:none;
  position:fixed;
  top:70px;left:0;right:0;
  background:var(--white);
  border-top:1px solid rgba(71,26,52,.1);
  box-shadow:0 20px 40px -20px rgba(71,26,52,.3);
  padding:20px 24px 28px;
  z-index:60;
  max-height:calc(100vh - 70px);
  overflow-y:auto;
}
.mobile-nav.is-open{display:block;}
.mobile-nav ul{display:flex;flex-direction:column;gap:2px;margin-bottom:18px;}
.mobile-nav a{display:block;}
.mobile-nav ul a{padding:12px 4px;font-weight:600;color:var(--wine-900);border-bottom:1px solid rgba(71,26,52,.08);}
.mobile-nav-phone{padding:10px 4px;color:var(--wine-700);font-weight:600;margin-bottom:14px;}
@media (min-width:901px){.mobile-nav{display:none !important;}}
