@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,500&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{
  --green-deep:#1F4D3A;
  --green:#2F6B4F;
  --green-mid:#3F7D5C;
  --green-soft:#EAF3EC;
  --green-soft-2:#DCEBE1;
  --gold:#C89B3C;
  --gold-light:#E4C77D;
  --gold-dark:#9C7526;
  --white:#FFFFFF;
  --cream:#FBF9F3;
  --ink:#1D2A22;
  --ink-soft:#526056;
  --radius:6px;
  --shadow:0 24px 50px -28px rgba(31,77,58,.35);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--cream);color:var(--ink);
  font-family:'Manrope',sans-serif;font-weight:400;line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:'Fraunces',serif;font-weight:600;line-height:1.12;
  margin:0 0 .4em;color:var(--green-deep);letter-spacing:.2px;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
ul{margin:0;}
p{margin:0 0 1em;}

.eyebrow{
  font-family:'Manrope',sans-serif;text-transform:uppercase;letter-spacing:.2em;
  font-size:.72rem;font-weight:700;color:var(--gold-dark);
  display:flex;align-items:center;gap:.6em;margin-bottom:.9em;
}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--gold);display:inline-block;border-radius:2px;}
.eyebrow.center{justify-content:center;}
.eyebrow.center::before{display:none;}
.wrap{max-width:1200px;margin:0 auto;padding:0 28px;}
section{padding:100px 0;position:relative;}

/* buttons */
.btn{
  display:inline-flex;align-items:center;gap:.6em;padding:15px 32px;
  font-family:'Manrope',sans-serif;font-size:.85rem;font-weight:700;
  letter-spacing:.03em;text-transform:uppercase;border-radius:30px;
  border:1px solid transparent;cursor:pointer;transition:all .25s ease;
}
.btn-primary{background:var(--green-deep);color:var(--white);}
.btn-primary:hover{background:var(--green);transform:translateY(-1px);}
.btn-gold{background:var(--gold);color:var(--green-deep);}
.btn-gold:hover{background:var(--gold-light);transform:translateY(-1px);}
.btn-ghost{border-color:var(--green-deep);color:var(--green-deep);}
.btn-ghost:hover{background:var(--green-deep);color:var(--white);}
.btn-ghost.on-dark{border-color:rgba(255,255,255,.6);color:var(--white);}
.btn-ghost.on-dark:hover{background:var(--white);color:var(--green-deep);}

/* scroll reveal */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease;}
.reveal.in-view{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;transition:none;}}

/* leaf watermark backgrounds */
.leaf-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;}
.leaf-bg svg{position:absolute;opacity:.08;}

/* topbar */
.topbar{background:var(--green-deep);color:#cfe3d5;font-size:.78rem;}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;padding:9px 28px;flex-wrap:wrap;gap:8px;}
.topbar a{opacity:.95;}
.topbar a:hover{color:var(--gold-light);}
.topbar-left{display:flex;gap:22px;flex-wrap:wrap;}
.topbar-social{display:flex;gap:14px;}

/* header */
header.main{position:sticky;top:0;z-index:50;background:rgba(251,249,243,.95);backdrop-filter:blur(6px);border-bottom:1px solid rgba(31,77,58,.1);}
.nav-row{display:flex;align-items:center;justify-content:space-between;padding:16px 28px;max-width:1200px;margin:0 auto;}
.logo{display:flex;align-items:center;gap:10px;font-family:'Fraunces',serif;font-size:1.6rem;font-weight:700;color:var(--green-deep);}
.logo .mark{width:36px;height:36px;flex:none;}
.logo small{display:block;font-family:'Manrope',sans-serif;font-size:.56rem;letter-spacing:.26em;font-weight:700;color:var(--gold-dark);text-transform:uppercase;}
nav ul{list-style:none;display:flex;gap:19px;margin:0;padding:0;font-size:.78rem;font-weight:600;}
nav ul a{position:relative;padding:4px 0;color:var(--ink);}
nav ul a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--gold);transition:width .25s;border-radius:2px;}
nav ul a:hover::after,nav ul a.active::after{width:100%;}
nav ul a.active{color:var(--green-deep);}
.nav-cta{display:flex;align-items:center;gap:16px;}
.burger{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--ink);}


nav ul{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    align-items:center;
}

nav ul li{
    position:relative;
}

nav ul li a{
    display:block;
    padding:15px 18px;
    text-decoration:none;
    color:#222;
    font-weight:600;
}

/* Dropdown */

.submenu{
    position:absolute;
    top:100%;
    left:0;
    min-width:220px;
    background:#fff;
    box-shadow:0 8px 20px rgba(0,0,0,.15);
    display:none;
    z-index:999;
}

.submenu li{
    width:100%;
}

.submenu li a{
    padding:12px 18px;
    color:#333;
    border-bottom:1px solid #eee;
}

.submenu li:last-child a{
    border-bottom:none;
}

.dropdown:hover .submenu{
    display:block;
}

.submenu li a:hover{
    background:#0b63ce;
    color:#fff;
}

.topbar-social {
    display: flex;
    gap: 18px;
    align-items: center;
}

.topbar-social a {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #fff;
    text-decoration: none;
    font-size: 15px;
    transition: color 0.3s ease;
}

.topbar-social a:hover {
    color: #8BC34A; /* Ayurveda green */
}

.topbar-social i {
    font-size: 18px;
}

/* page banner (interior pages) */
.page-banner{background:linear-gradient(160deg,var(--green-deep) 0%,var(--green) 100%);color:var(--white);padding:70px 0;position:relative;overflow:hidden;}
.page-banner .wrap{position:relative;z-index:1;}
.page-banner h1{color:var(--white);font-size:2.9rem;margin-bottom:10px;}
.page-banner p{color:#d9ecdf;max-width:56ch;}
.breadcrumb{font-size:.82rem;color:#bfe0cd;margin-bottom:10px;}
.breadcrumb a:hover{color:var(--gold-light);}
.banner-leaf{position:absolute;top:-60px;right:-60px;width:280px;height:280px;opacity:.15;}

/* hero (home) */
.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--green-soft) 0%, var(--cream) 60%);padding:110px 0 90px;}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;}
.hero h1{font-size:clamp(2.7rem,5vw,4.2rem);}
.hero h1 em{font-style:italic;color:var(--gold-dark);}
.hero p.lead{font-size:1.08rem;color:var(--ink-soft);max-width:46ch;margin:20px 0 32px;}
.hero-ctas{display:flex;gap:16px;flex-wrap:wrap;}
.hero-art{position:relative;aspect-ratio:1/1;max-width:460px;margin:0 auto;}
.hero-ring{position:absolute;inset:0;border-radius:50%;border:1px dashed rgba(31,77,58,.25);animation:spin 60s linear infinite;}
.hero-ring.r2{inset:36px;border-color:rgba(200,155,60,.35);animation-duration:80s;animation-direction:reverse;}
@keyframes spin{to{transform:rotate(360deg);}}
.hero-disc{position:absolute;inset:72px;border-radius:50%;background:conic-gradient(from 200deg,var(--green-deep),var(--gold),var(--green),var(--green-deep));display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);}
.hero-disc-inner{width:78%;height:78%;border-radius:50%;background:var(--cream);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;}
.hero-disc-inner .word{font-family:'Fraunces',serif;font-style:italic;font-size:1.3rem;color:var(--green-deep);}
.hero-disc-inner small{text-transform:uppercase;letter-spacing:.2em;font-size:.6rem;font-weight:700;color:var(--ink-soft);margin-top:6px;}
@media (prefers-reduced-motion: reduce){.hero-ring{animation:none;}}

/* trio / stat strip */
.trio{background:var(--green-deep);color:#e6f2ea;padding:0;}
.trio .wrap{display:grid;grid-template-columns:repeat(3,1fr);}
.trio-item{padding:54px 40px;border-right:1px solid rgba(230,242,234,.14);}
.trio-item:last-child{border-right:none;}
.trio-item .ic{font-size:1.8rem;margin-bottom:14px;display:block;}
.trio-item h4{color:var(--white);font-size:1.25rem;margin-bottom:10px;}
.trio-item p{color:#bfe0cd;font-size:.92rem;margin:0;}

/* about split */
.about-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:70px;align-items:center;}
.about-photo{aspect-ratio:4/5;border-radius:var(--radius);background:linear-gradient(160deg,var(--green) 0%,var(--green-deep) 100%);position:relative;overflow:hidden;}
.about-photo svg{position:absolute;inset:0;width:100%;height:100%;}
.stat-badge{position:absolute;bottom:-1px;left:-1px;background:var(--gold);color:var(--green-deep);padding:22px 26px;border-radius:var(--radius) var(--radius) 0 0;}
.stat-badge .n{font-family:'Fraunces',serif;font-size:2.4rem;font-weight:700;}
.stat-badge .l{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;}
.about-copy p{color:var(--ink-soft);margin-bottom:18px;}
.checklist{list-style:none;padding:0;margin:26px 0;display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;}
.checklist li{font-size:.92rem;display:flex;gap:10px;align-items:flex-start;}
.checklist li::before{content:"✓";color:var(--green);font-weight:700;}

/* timeline */
.timeline-item{display:grid;grid-template-columns:110px 24px 1fr;gap:0;padding-bottom:34px;position:relative;}
.timeline-item:last-child{padding-bottom:0;}
.timeline-year{font-family:'Fraunces',serif;font-size:1.4rem;color:var(--gold-dark);padding-top:2px;}
.timeline-dot-col{display:flex;flex-direction:column;align-items:center;}
.timeline-dot{width:12px;height:12px;border-radius:50%;background:var(--green);margin-top:6px;flex:none;}
.timeline-line{flex:1;width:1px;background:rgba(31,77,58,.2);margin-top:4px;}
.timeline-item:last-child .timeline-line{display:none;}
.timeline-body h4{margin-bottom:6px;font-size:1.15rem;}
.timeline-body p{color:var(--ink-soft);margin:0;font-size:.92rem;}

/* team */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.team-card{text-align:center;}
.team-photo{aspect-ratio:1/1;border-radius:50%;max-width:150px;margin:0 auto 18px;overflow:hidden;background:var(--green-soft);border:1px solid rgba(31,77,58,.1);}
.team-card h4{font-size:1.2rem;margin-bottom:2px;}
.team-role{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold-dark);font-weight:700;margin-bottom:10px;}
.team-card p{color:var(--ink-soft);font-size:.88rem;}

/* dosha quiz — signature element, reskinned green/gold */
.dosha-section{background:var(--green-deep);color:#e6f2ea;padding:100px 0 110px;position:relative;overflow:hidden;}
.dosha-head{text-align:center;max-width:640px;margin:0 auto 48px;position:relative;z-index:1;}
.dosha-head h2{color:var(--white);font-size:2.5rem;}
.dosha-head p{color:#bfe0cd;}
.quiz-box{max-width:760px;margin:0 auto;background:rgba(255,255,255,.05);border:1px solid rgba(230,242,234,.18);border-radius:var(--radius);padding:44px 48px;position:relative;z-index:1;}
.quiz-progress{display:flex;gap:6px;margin-bottom:30px;}
.quiz-progress span{height:3px;flex:1;background:rgba(230,242,234,.2);border-radius:2px;overflow:hidden;}
.quiz-progress span i{display:block;height:100%;width:0;background:var(--gold);transition:width .3s;}
.quiz-progress span.done i{width:100%;}
.quiz-q{font-family:'Fraunces',serif;font-size:1.5rem;color:var(--white);margin-bottom:22px;}
.quiz-options{display:grid;gap:12px;}
.quiz-option{text-align:left;padding:16px 20px;background:rgba(255,255,255,.03);border:1px solid rgba(230,242,234,.2);color:#dcece1;border-radius:var(--radius);cursor:pointer;font-family:'Manrope',sans-serif;font-size:.94rem;transition:.2s;width:100%;}
.quiz-option:hover{border-color:var(--gold);background:rgba(200,155,60,.1);}
.quiz-result{display:none;text-align:center;}
.quiz-result.show{display:block;}
.quiz-result .dosha-name{font-family:'Fraunces',serif;font-size:2.6rem;margin:6px 0;color:var(--gold-light);}
.quiz-result .dosha-tag{text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;font-weight:700;color:var(--gold-light);}
.quiz-result p.desc{color:#c3ddca;max-width:52ch;margin:16px auto 26px;}
.quiz-restart{margin-top:10px;background:none;border:1px solid rgba(230,242,234,.3);color:#dcece1;padding:10px 22px;border-radius:30px;cursor:pointer;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;}
.quiz-restart:hover{border-color:var(--gold-light);color:var(--gold-light);}

/* section head */
.section-head{max-width:620px;margin-bottom:52px;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.section-head h2{font-size:2.4rem;}
.section-head p{color:var(--ink-soft);}

/* products */
.products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.product-card{background:var(--white);border:1px solid rgba(31,77,58,.08);border-radius:var(--radius);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease;}
.product-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
.product-media{aspect-ratio:16/11;position:relative;}
.product-body{padding:24px 26px 28px;}
.product-body .tag{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gold-dark);font-weight:700;}
.product-body h4{font-size:1.3rem;margin:8px 0 8px;}
.product-body p{font-size:.9rem;color:var(--ink-soft);margin:0 0 14px;}
.product-body .link{font-size:.8rem;font-weight:700;color:var(--green-deep);border-bottom:1px solid var(--green-deep);padding-bottom:1px;}

/* filter tabs */
.filter-tabs{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-bottom:44px;}
.filter-tab{padding:10px 22px;border:1px solid rgba(31,77,58,.25);border-radius:30px;font-size:.82rem;font-weight:700;letter-spacing:.03em;cursor:pointer;background:transparent;color:var(--ink);}
.filter-tab.active,.filter-tab:hover{background:var(--green-deep);border-color:var(--green-deep);color:var(--white);}

/* treatments / wellness programs cards */
.treatment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.treatment-card{background:var(--white);border-radius:var(--radius);overflow:hidden;border:1px solid rgba(31,77,58,.08);transition:transform .25s ease,box-shadow .25s ease;}
.treatment-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
.treatment-media{aspect-ratio:16/10;}
.treatment-body{padding:26px 24px 30px;}
.treatment-body .tag{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gold-dark);font-weight:700;}
.treatment-body h4{font-size:1.3rem;margin:8px 0 10px;}
.treatment-body p{font-size:.9rem;color:var(--ink-soft);margin:0 0 12px;}
.treatment-body .meta{display:flex;gap:16px;font-size:.78rem;color:var(--green-deep);font-weight:700;}

/* process steps */
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.process-card{background:var(--white);border:1px solid rgba(31,77,58,.08);border-radius:var(--radius);padding:30px 24px;position:relative;}
.process-card .step-num{font-family:'Fraunces',serif;font-size:2.4rem;color:var(--gold);margin-bottom:14px;}
.process-card h4{font-size:1.1rem;margin-bottom:8px;}
.process-card p{font-size:.86rem;color:var(--ink-soft);margin:0;}

/* commitment / mission-vision */
.commit{background:var(--green-deep);color:#eef2ea;}
.commit-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.commit h2{color:var(--white);font-size:2.3rem;}
.commit p{color:#c9dfd0;}
.pillars{list-style:none;padding:0;margin:26px 0;display:grid;gap:14px;}
.pillars li{display:flex;gap:14px;align-items:center;font-size:.95rem;}
.pillars li .ic{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;flex:none;}
.commit-art{aspect-ratio:1/1;border-radius:var(--radius);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.14);position:relative;overflow:hidden;}

/* mission/vision cards */
.mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.mv-card{background:var(--white);border:1px solid rgba(31,77,58,.08);border-radius:var(--radius);padding:40px;}
.mv-card .ic{width:52px;height:52px;border-radius:50%;background:var(--green-soft);display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:20px;}
.mv-card h3{font-size:1.6rem;}
.mv-card p{color:var(--ink-soft);}
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:20px;}
.value-item{text-align:center;padding:26px 18px;background:var(--green-soft);border-radius:var(--radius);}
.value-item .ic{font-size:1.6rem;margin-bottom:10px;}
.value-item h4{font-size:1rem;margin-bottom:6px;}
.value-item p{font-size:.82rem;color:var(--ink-soft);margin:0;}

/* testimonials */
.testi-wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;}
blockquote{font-family:'Fraunces',serif;font-style:italic;font-size:1.7rem;color:var(--green-deep);margin:0 0 24px;line-height:1.4;}
.testi-person{display:flex;align-items:center;gap:14px;}
.testi-avatar{width:52px;height:52px;border-radius:50%;background:var(--gold);flex:none;display:flex;align-items:center;justify-content:center;color:var(--green-deep);font-family:'Fraunces',serif;font-weight:700;font-size:1.2rem;}
.testi-person .name{font-weight:700;}
.testi-person .role{font-size:.82rem;color:var(--ink-soft);}
.stat-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;background:var(--green-deep);color:var(--white);padding:38px;border-radius:var(--radius);}
.stat-strip .item .n{font-family:'Fraunces',serif;font-size:2.5rem;font-weight:700;}
.stat-strip .item .l{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;opacity:.9;}

/* testimonials grid page */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.testi-card{background:var(--white);border:1px solid rgba(31,77,58,.08);border-radius:var(--radius);padding:32px;}
.testi-card .stars{color:var(--gold);letter-spacing:2px;margin-bottom:14px;}
.testi-card blockquote{font-size:1.1rem;margin-bottom:20px;}

/* blog */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.blog-card{background:var(--white);border:1px solid rgba(31,77,58,.08);border-radius:var(--radius);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease;}
.blog-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
.blog-media{aspect-ratio:16/10;}
.blog-body{padding:24px 24px 28px;}
.blog-body .meta{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold-dark);font-weight:700;margin-bottom:8px;}
.blog-body h4{font-size:1.2rem;margin-bottom:10px;}
.blog-body p{font-size:.88rem;color:var(--ink-soft);margin:0 0 14px;}

/* blog post page */
.post-hero{aspect-ratio:21/9;border-radius:var(--radius);overflow:hidden;margin-bottom:40px;}
.post-meta{display:flex;gap:20px;font-size:.82rem;color:var(--ink-soft);margin-bottom:16px;}
.post-body{max-width:760px;margin:0 auto;}
.post-body h1{font-size:2.6rem;margin-bottom:16px;}
.post-body p{color:var(--ink-soft);font-size:1.02rem;margin-bottom:20px;}
.post-body h3{margin-top:34px;font-size:1.4rem;}

/* FAQ */
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px 60px;}
.faq-item{border-bottom:1px solid rgba(31,77,58,.14);padding-bottom:18px;}
.faq-q{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:14px 0;font-weight:700;font-size:1.02rem;}
.faq-q .plus{font-size:1.3rem;color:var(--green-deep);transition:transform .25s;}
.faq-item.open .plus{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;font-size:.92rem;color:var(--ink-soft);}
.faq-item.open .faq-a{max-height:220px;padding-bottom:8px;}

/* contact + booking */
.contact-section{background:var(--green-deep);color:#e6f2ea;}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;}
.contact-info h2{color:var(--white);}
.contact-info p{color:#bfe0cd;}
.info-line{display:flex;gap:14px;margin:18px 0;font-size:.92rem;}
.info-line .ic{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;flex:none;color:var(--gold-light);}
form.contact-form{display:grid;gap:16px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
input,textarea,select{width:100%;padding:13px 16px;background:rgba(255,255,255,.06);border:1px solid rgba(230,242,234,.25);color:var(--white);border-radius:var(--radius);font-family:'Manrope',sans-serif;font-size:.92rem;}
input::placeholder,textarea::placeholder{color:#9ec2ac;}
textarea{resize:vertical;min-height:110px;}
.radio-row{display:flex;gap:22px;flex-wrap:wrap;font-size:.88rem;color:#cdeed9;}
.radio-row label{display:flex;align-items:center;gap:6px;}
.map-strip{height:280px;border-radius:var(--radius);overflow:hidden;margin-top:40px;border:1px solid rgba(31,77,58,.12);}

.contact-section.light{background:var(--white);color:var(--ink);}
.contact-section.light .contact-info h2{color:var(--green-deep);}
.contact-section.light .contact-info p{color:var(--ink-soft);}
.contact-section.light .info-line .ic{background:var(--green-soft);color:var(--green-deep);}
.contact-section.light input,.contact-section.light textarea{background:var(--green-soft);border-color:rgba(31,77,58,.15);color:var(--ink);}
.contact-section.light input::placeholder,.contact-section.light textarea::placeholder{color:#8aa090;}
.contact-section.light .radio-row{color:var(--ink-soft);}

/* appointment booking form */
.booking-card{background:var(--white);border-radius:var(--radius);border:1px solid rgba(31,77,58,.08);padding:44px;box-shadow:var(--shadow);}
.booking-card h3{font-size:1.6rem;margin-bottom:6px;}
.booking-card>p{color:var(--ink-soft);margin-bottom:26px;}
.booking-form{display:grid;gap:16px;}
.booking-form input,.booking-form select,.booking-form textarea{background:var(--green-soft);border:1px solid rgba(31,77,58,.15);color:var(--ink);}
.booking-form input::placeholder,.booking-form textarea::placeholder{color:#8aa090;}

/* product detail page */
.product-hero{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start;}
.pd-gallery-main{aspect-ratio:1/1;border-radius:var(--radius);overflow:hidden;margin-bottom:14px;}
.pd-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.pd-thumb{aspect-ratio:1/1;border-radius:var(--radius);overflow:hidden;cursor:pointer;border:1px solid rgba(31,77,58,.12);}
.pd-tag{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gold-dark);font-weight:700;margin-bottom:10px;}
.pd-title{font-size:2.4rem;}
.pd-price{font-family:'Fraunces',serif;font-size:1.8rem;color:var(--green-deep);margin:10px 0 18px;}
.pd-price .old{font-size:1.1rem;color:var(--ink-soft);text-decoration:line-through;margin-left:10px;font-family:'Manrope',sans-serif;}
.pd-desc{color:var(--ink-soft);margin-bottom:22px;}
.pd-doshas{display:flex;gap:10px;margin-bottom:26px;}
.pd-dosha-chip{font-size:.76rem;padding:6px 14px;border-radius:20px;font-weight:700;color:#fff;}
.pd-qty-row{display:flex;gap:14px;align-items:center;margin-bottom:26px;}
.qty-control{display:flex;align-items:center;border:1px solid rgba(31,77,58,.2);border-radius:var(--radius);}
.qty-control button{background:none;border:none;padding:10px 16px;font-size:1.1rem;cursor:pointer;}
.qty-control span{padding:0 14px;font-weight:700;}
.pd-tabs{display:flex;gap:28px;border-bottom:1px solid rgba(31,77,58,.15);margin:40px 0 26px;}
.pd-tab{padding-bottom:14px;font-weight:700;font-size:.92rem;cursor:pointer;color:var(--ink-soft);border-bottom:2px solid transparent;}
.pd-tab.active{color:var(--green-deep);border-color:var(--green-deep);}
.pd-tab-panel{display:none;color:var(--ink-soft);font-size:.94rem;}
.pd-tab-panel.active{display:block;}
.pd-tab-panel ul{padding-left:20px;}
.pd-tab-panel li{margin-bottom:8px;}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}

/* footer */
footer{background:var(--green-deep);color:#a9c9b4;padding:64px 0 24px;font-size:.88rem;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:50px;}
footer h5{color:var(--white);font-family:'Manrope',sans-serif;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;margin:0 0 18px;}
footer ul{list-style:none;padding:0;margin:0;display:grid;gap:10px;}
footer a:hover{color:var(--gold-light);}
.foot-bottom{border-top:1px solid rgba(230,242,234,.12);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.78rem;}

@media(max-width:940px){
  .hero-grid,.about-grid,.commit-grid,.testi-wrap,.contact-grid,.product-hero,.mv-grid{grid-template-columns:1fr;}
  .products-grid,.treatment-grid,.related-grid,.testi-grid,.blog-grid{grid-template-columns:repeat(2,1fr);}
  .process-grid,.values-grid{grid-template-columns:repeat(2,1fr);}
  .team-grid{grid-template-columns:repeat(3,1fr);}
  .trio .wrap{grid-template-columns:1fr;}
  .trio-item{border-right:none;border-bottom:1px solid rgba(230,242,234,.14);}
  .faq-grid{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr 1fr;}
  nav{display:none;}
  .burger{display:block;}
}
@media(max-width:640px){
  section{padding:64px 0;}
  .products-grid,.treatment-grid,.related-grid,.testi-grid,.blog-grid,.process-grid,.values-grid,.team-grid{grid-template-columns:1fr;}
  .checklist{grid-template-columns:1fr;}
  .quiz-box{padding:30px 22px;}
  .form-row{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr 1fr;}
  .timeline-item{grid-template-columns:80px 20px 1fr;}
  .booking-card{padding:28px;}
}

/* =========================================================
   IMAGE SLIDER (carousel)
   ========================================================= */
.slider{
  position:relative;border-radius:var(--radius);overflow:hidden;
  border:1px solid rgba(31,77,58,.12);aspect-ratio:16/7;background:var(--green-soft);
  box-shadow:var(--shadow);
}
@media (max-width:820px){.slider{aspect-ratio:4/3;}}
.slider-track{display:flex;height:100%;transition:transform .6s cubic-bezier(.65,0,.35,1);}
.slide{
  flex:0 0 100%;position:relative;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(160deg,var(--green) 0%,var(--green-deep) 100%);
  overflow:hidden;
}
.slide svg{width:32%;max-width:230px;}
.slide img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:0;
}
.slide .slide-caption{position:relative;z-index:2;}
.slide-caption{
  position:absolute;left:0;right:0;bottom:0;padding:34px 40px 26px;
  background:linear-gradient(to top,rgba(31,77,58,.86),transparent);
}
.slide-caption .eyebrow{color:var(--gold-light);margin-bottom:8px;}
.slide-caption .eyebrow::before{background:var(--gold-light);}
.slide-caption h3{color:var(--white);font-size:clamp(1.25rem,2.6vw,1.9rem);max-width:32ch;}
.slide-caption p{color:#d9ecdf;font-size:.92rem;margin-top:8px;max-width:48ch;}

.slider-arrow{
  position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;
  border:1px solid rgba(255,255,255,.4);background:rgba(31,77,58,.55);color:var(--white);
  font-size:1.15rem;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background .2s ease,border-color .2s ease;z-index:3;
}
.slider-arrow:hover{background:rgba(31,77,58,.85);border-color:var(--gold-light);}
.slider-arrow.prev{left:18px;}
.slider-arrow.next{right:18px;}

.slider-dots{position:absolute;top:22px;right:24px;display:flex;gap:8px;z-index:3;}
.slider-dots button{
  width:8px;height:8px;border-radius:50%;border:1px solid rgba(255,255,255,.6);background:transparent;
  padding:0;cursor:pointer;transition:background .2s ease,transform .2s ease;
}
.slider-dots button.active{background:var(--gold-light);border-color:var(--gold-light);transform:scale(1.15);}

.slider-counter{
  position:absolute;top:22px;left:24px;font-size:.72rem;letter-spacing:.08em;color:var(--white);
  z-index:3;background:rgba(31,77,58,.55);padding:5px 12px;border-radius:20px;border:1px solid rgba(255,255,255,.3);
}

/* =========================================================
   IMAGE GALLERY + LIGHTBOX
   ========================================================= */
.gallery-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:34px;}
.gallery-filters .filter-tab{
  background:none;border:1px solid rgba(31,77,58,.2);color:var(--ink-soft);padding:9px 18px;
  border-radius:20px;font-family:'Manrope',sans-serif;font-size:.8rem;font-weight:600;cursor:pointer;
  transition:border-color .2s ease,color .2s ease,background .2s ease;
}
.gallery-filters .filter-tab:hover{border-color:var(--green);color:var(--green-deep);}
.gallery-filters .filter-tab.active{background:var(--green-deep);border-color:var(--green-deep);color:var(--white);}

.lightbox-grid{columns:3 260px;column-gap:22px;}
@media (max-width:820px){.lightbox-grid{columns:2 200px;}}
@media (max-width:520px){.lightbox-grid{columns:1;}}
.lightbox-item{
  break-inside:avoid;margin-bottom:22px;border-radius:var(--radius);overflow:hidden;position:relative;
  cursor:zoom-in;border:1px solid rgba(31,77,58,.1);background:var(--green-soft);
  transition:transform .25s ease,box-shadow .25s ease;
}
.lightbox-item:hover{transform:translateY(-4px);box-shadow:var(--shadow);}
.lightbox-item svg{width:100%;display:block;}
.lightbox-item img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;}
.lightbox-item .zoom-hint{
  position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;
  background:rgba(31,77,58,.7);border:1px solid rgba(255,255,255,.4);color:var(--white);
  display:flex;align-items:center;justify-content:center;font-size:.95rem;opacity:0;
  transition:opacity .25s ease;
}
.lightbox-item:hover .zoom-hint{opacity:1;}
.lightbox-caption{padding:16px 18px 20px;background:var(--white);}
.lightbox-caption h4{font-size:1rem;margin-bottom:2px;color:var(--green-deep);}
.lightbox-caption span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold-dark);font-weight:700;}

.lightbox-overlay{
  position:fixed;inset:0;background:rgba(20,32,25,.92);z-index:1000;display:none;
  align-items:center;justify-content:center;padding:5vh 4vw;
}
.lightbox-overlay.open{display:flex;}
.lightbox-modal{max-width:900px;width:100%;position:relative;}
.lightbox-stage{
  border-radius:var(--radius);overflow:hidden;background:linear-gradient(160deg,var(--green) 0%,var(--green-deep) 100%);
  aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;
}
.lightbox-stage svg{width:34%;max-width:260px;}
.lightbox-stage img{width:100%;height:100%;object-fit:cover;display:block;}
.lightbox-modal .lightbox-caption{text-align:center;padding-top:18px;background:none;}
.lightbox-modal .lightbox-caption h4{font-size:1.2rem;color:var(--white);}
.lightbox-modal .lightbox-caption span{color:var(--gold-light);}
.lightbox-close{
  position:absolute;top:-52px;right:0;background:none;border:1px solid rgba(255,255,255,.4);
  color:var(--white);width:38px;height:38px;border-radius:50%;cursor:pointer;font-size:1.15rem;
}
.lightbox-close:hover{border-color:var(--gold-light);color:var(--gold-light);}
.lightbox-modal .slider-arrow{top:38%;}
.lightbox-modal .slider-counter{top:auto;bottom:-44px;left:50%;transform:translateX(-50%);}
/* ==========================================================
   MOBILE HEADER
========================================================== */

@media (max-width:940px){

    /* Hide Top Bar */
    .topbar{
        display:none !important;
    }

    /* Header */
    .nav-row{
        padding:12px 18px;
    }

    .logo img{
        height:60px !important;
        width:auto;
    }

    /* Hide Book Appointment Button */
    .nav-cta .btn{
        display:none !important;
    }

    /* Show Burger */
    .burger{
        display:block;
        font-size:30px;
        z-index:10001;
    }

    /* Mobile Menu */
    nav{
        display:block;
        position:fixed;
        top:0;
        right:-100%;
        width:280px;
        height:100vh;
        background:#fff;
        transition:.35s ease;
        overflow-y:auto;
        box-shadow:-5px 0 20px rgba(0,0,0,.15);
        z-index:9999;
        padding-top:80px;
    }

    nav.active{
        right:0;
    }

    nav ul{
        flex-direction:column;
        align-items:flex-start;
        width:100%;
    }

    nav ul li{
        width:100%;
        border-bottom:1px solid #eee;
    }

    nav ul li a{
        display:block;
        width:100%;
        padding:15px 20px;
    }

    /* Mobile Dropdown */

    .submenu{
        position:static;
        display:none;
        width:100%;
        min-width:100%;
        box-shadow:none;
        background:#f7f7f7;
    }

    .dropdown.active .submenu{
        display:block;
    }

    .submenu li a{
        padding:12px 35px;
    }

    /* Disable Hover */

    .dropdown:hover .submenu{
        display:none;
    }

    .dropdown.active:hover .submenu{
        display:block;
    }

    .topbar-social{
        display:none;
    }
}
@media (max-width:940px){

    nav{
        position:fixed;
        top:75px;          /* Header ke niche */
        right:-100%;
        width:100%;
        height:calc(100vh - 75px);
        background:#fff;
        overflow-y:auto;
        transition:.35s ease;
        z-index:9999;
        padding:20px 0;
    }

    nav.active{
        right:0;
    }

    nav ul{
        display:flex;
        flex-direction:column;
        width:100%;
    }

    nav ul li{
        width:100%;
        border-bottom:1px solid #ececec;
    }

    nav ul li a{
        padding:18px 25px;
        display:flex;
        justify-content:space-between;
        align-items:center;
    }

    .submenu li a{
        padding-left:45px;
        background:#f8f8f8;
    }
}
.menu-arrow{
    transition:.3s;
    font-size:14px;
}

.dropdown.active .menu-arrow{
    transform:rotate(180deg);
}

.video-section{
    padding:80px 0;
    background:#fafafa;
}

.video-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

.video-card{
    background:#fff;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.3s;
}

.video-card:hover{
    transform:translateY(-8px);
}

.video-thumb{
    position:relative;
    overflow:hidden;
}

.video-thumb img{
    width:100%;
    height:260px;
    object-fit:cover;
    display:block;
    transition:.4s;
}

.video-card:hover img{
    transform:scale(1.08);
}

.play-btn{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:70px;
    height:70px;
    background:#d4a843;
    color:#fff;
    border-radius:50%;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:26px;
    transition:.3s;
}

.video-card:hover .play-btn{
    transform:translate(-50%,-50%) scale(1.15);
}

.video-content{
    padding:20px;
    text-align:center;
}

.video-content h3{
    font-size:22px;
    color:#333;
    margin:0;
}

@media(max-width:992px){
    .video-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:768px){
    .video-grid{
        grid-template-columns:1fr;
    }

    .video-thumb img{
        height:220px;
    }
}