/* =====================================================
   Zensulin — zensulliin.com
   Design: Ancient Herbal meets Modern Science
   Palette: Warm Midnight + Forest Jade + Soft Gold + Parchment + Mist
   Fonts: Cormorant Garamond (display) + Inter (body)
   ===================================================== */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Inter:wght@300;400;500;600;700&display=swap');

/* ── TOKENS ── */
:root {
  --midnight:    #0D1117;
  --midnight-md: #161D27;
  --midnight-lt: #1E2A38;
  --jade:        #1B6B4A;
  --jade-lt:     #2A8A60;
  --jade-pale:   #E8F4EE;
  --jade-mist:   #F0F8F3;
  --gold:        #C9963A;
  --gold-lt:     #E0B05A;
  --gold-pale:   #FDF5E6;
  --parchment:   #FAF6EF;
  --parchment-dk:#F2EBE0;
  --mist:        #E8F0EC;
  --ink:         #1A2332;
  --ink-md:      #3D4F5C;
  --ink-lt:      #6B7C8A;
  --white:       #FFFFFF;
  --radius:      10px;
  --radius-lg:   18px;
  --shadow:      0 4px 24px rgba(13,17,23,.10);
  --shadow-lg:   0 12px 48px rgba(13,17,23,.18);
  --font-serif:  'Cormorant Garamond', Georgia, serif;
  --font-sans:   'Inter', system-ui, sans-serif;
}

/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--font-sans);color:var(--ink);background:var(--parchment);line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}

/* ── UTILITY ── */
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.wrap-sm{max-width:780px;margin:0 auto;padding:0 24px}
.sec{padding:80px 0}
.sec-sm{padding:52px 0}
.center{text-align:center}

/* Backgrounds */
.bg-parchment   {background:var(--parchment)}
.bg-parchment-dk{background:var(--parchment-dk)}
.bg-midnight    {background:var(--midnight)}
.bg-midnight-md {background:var(--midnight-md)}
.bg-jade-mist   {background:var(--jade-mist)}
.bg-mist        {background:var(--mist)}
.bg-gold-pale   {background:var(--gold-pale)}

/* Eyebrows */
.eyebrow{display:inline-block;font-family:var(--font-sans);font-size:.7rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--jade);margin-bottom:12px}
.eyebrow-gold{color:var(--gold)}
.eyebrow-lt{color:rgba(255,255,255,.5);font-family:var(--font-sans);font-size:.7rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;display:inline-block;margin-bottom:12px}

/* Headings */
.h1{font-family:var(--font-serif);font-size:clamp(2.4rem,5.5vw,3.8rem);line-height:1.1;font-weight:500}
.h2{font-family:var(--font-serif);font-size:clamp(1.9rem,4vw,2.8rem);line-height:1.15;font-weight:500}
.h3{font-family:var(--font-serif);font-size:clamp(1.3rem,2.5vw,1.75rem);line-height:1.25;font-weight:500}
.h4{font-family:var(--font-sans);font-size:.95rem;font-weight:600;line-height:1.4}
.italic{font-style:italic}
.accent-jade{color:var(--jade)}
.accent-gold{color:var(--gold)}

/* Text */
.body-lg{font-size:1.1rem;line-height:1.75;color:var(--ink-md)}
.body-p {font-size:1rem;line-height:1.72;color:var(--ink-md)}
.body-sm{font-size:.875rem;line-height:1.65;color:var(--ink-lt)}
.body-lt{font-size:1rem;line-height:1.72;color:rgba(255,255,255,.72)}
.fine   {font-size:.78rem;color:var(--ink-lt);margin-top:8px}
.fine-lt{font-size:.78rem;color:rgba(255,255,255,.38);margin-top:8px}

/* Section titles */
.sec-title{margin-bottom:48px}
.sec-title.center{text-align:center}
.sec-title .body-lg{margin-top:14px;max-width:620px}
.sec-title.center .body-lg{margin:14px auto 0}

/* Botanical vine divider — signature element */
.vine-divider{text-align:center;margin:8px 0;opacity:.35;font-size:1.1rem;letter-spacing:.3em;color:var(--jade)}
.vine-divider-lt{text-align:center;margin:8px 0;opacity:.25;font-size:1.1rem;letter-spacing:.3em;color:var(--gold)}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:var(--radius);font-family:var(--font-sans);font-size:.95rem;font-weight:600;cursor:pointer;border:none;transition:transform .18s,box-shadow .18s,opacity .18s;text-decoration:none;line-height:1.2}
.btn:hover{transform:translateY(-2px);opacity:.92}
.btn-xl{padding:17px 36px;font-size:1rem}
.btn-jade{background:var(--jade);color:var(--white);box-shadow:0 4px 20px rgba(27,107,74,.35)}
.btn-gold{background:var(--gold);color:var(--white);box-shadow:0 4px 20px rgba(201,150,58,.38)}
.btn-outline-lt{background:transparent;color:var(--white);border:1.5px solid rgba(255,255,255,.35)}
.btn-outline-lt:hover{background:rgba(255,255,255,.08)}

/* ── NAVBAR ── */
.navbar{position:sticky;top:0;z-index:1000;background:rgba(13,17,23,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.06);transition:box-shadow .3s}
.navbar.scrolled{box-shadow:0 2px 24px rgba(0,0,0,.4)}
.nav-inner{max-width:1160px;margin:0 auto;padding:0 24px;height:62px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.nav-logo{display:flex;align-items:center;gap:10px}
.nav-logo-text{font-family:var(--font-serif);font-size:1.5rem;color:var(--white);line-height:1;letter-spacing:.02em}
.nav-logo-text span{color:var(--gold)}
.nav-links{display:flex;align-items:center;gap:26px}
.nav-links a{font-size:.82rem;font-weight:500;color:rgba(255,255,255,.65);transition:color .2s;letter-spacing:.02em}
.nav-links a:hover{color:var(--white)}
.nav-cta{background:var(--jade);color:var(--white)!important;padding:8px 18px;border-radius:7px;font-size:.82rem;font-weight:600;transition:background .2s!important}
.nav-cta:hover{background:var(--jade-lt)!important;opacity:1!important}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px}
.hamburger span{display:block;width:22px;height:2px;background:var(--white);border-radius:2px;transition:.3s}
.mob-menu{display:none;position:fixed;inset:62px 0 0;background:var(--midnight);z-index:999;padding:32px 24px;flex-direction:column;gap:18px;overflow-y:auto}
.mob-menu.open{display:flex}
.mob-menu a{font-size:1.05rem;font-weight:500;color:rgba(255,255,255,.78);padding:11px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.mob-cta-btn{display:block;background:var(--jade);color:var(--white)!important;border:none!important;border-radius:10px;text-align:center;padding:15px;font-weight:700;margin-top:8px;font-size:1rem}

/* ── HERO ── */
.hero{background:var(--midnight);position:relative;overflow:hidden;padding:80px 0 64px}
.hero-glow{position:absolute;top:-60px;right:-80px;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(27,107,74,.22) 0%,transparent 70%);pointer-events:none}
.hero-glow-2{position:absolute;bottom:-100px;left:-60px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(201,150,58,.12) 0%,transparent 70%);pointer-events:none}
.hero-inner{display:grid;grid-template-columns:1fr 400px;gap:64px;align-items:center;position:relative;z-index:2}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(27,107,74,.18);border:1px solid rgba(27,107,74,.4);border-radius:40px;padding:6px 16px;margin-bottom:22px}
.hero-badge-dot{width:7px;height:7px;border-radius:50%;background:var(--jade-lt);flex-shrink:0;animation:pulse 2s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.hero-badge span{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.hero h1{margin-bottom:20px}
.hero-sub{font-size:1.1rem;line-height:1.75;color:rgba(255,255,255,.65);max-width:460px;margin-bottom:32px}
.hero-checks{display:flex;flex-wrap:wrap;gap:12px 24px;margin-bottom:36px}
.hero-check{display:flex;align-items:center;gap:8px;font-size:.83rem;font-weight:500;color:rgba(255,255,255,.6)}
.hero-check svg{width:15px;height:15px;color:var(--jade-lt);flex-shrink:0}
.hero-btns{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}
.hero-img{text-align:center;position:relative}
.hero-img img{max-width:320px;margin:0 auto;filter:drop-shadow(0 24px 48px rgba(0,0,0,.5));animation:floatY 6s ease-in-out infinite}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.hero-rating{display:flex;align-items:center;gap:10px}
.hero-stars{display:flex;gap:2px}
.hero-stars svg{width:16px;height:16px;fill:var(--gold-lt);color:var(--gold-lt)}
.hero-rating-txt{font-size:.82rem;color:rgba(255,255,255,.5)}
.hero-rating-num{font-size:.82rem;font-weight:600;color:rgba(255,255,255,.8)}

/* ── TRUST BAR ── */
.trust-bar{background:var(--jade);padding:13px 0}
.trust-bar-inner{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 28px}
.trust-item{display:flex;align-items:center;gap:7px;font-size:.8rem;font-weight:600;color:rgba(255,255,255,.88);letter-spacing:.02em}
.trust-item svg{width:15px;height:15px;color:rgba(255,255,255,.65)}

/* ── ABOUT / WHAT IS ── */
.about-inner{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.about-content .eyebrow{margin-bottom:12px}
.about-content h2{margin-bottom:20px}
.about-content .body-lg{margin-bottom:18px}
.about-img{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);position:relative}
.about-img img{width:100%}
.about-img-badge{position:absolute;bottom:20px;left:20px;background:var(--jade);color:var(--white);padding:10px 16px;border-radius:var(--radius);font-size:.78rem;font-weight:600}

/* ── INGREDIENTS ── */
.ing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px}
.ing-card{background:var(--white);border-radius:var(--radius-lg);padding:26px 22px;border-left:4px solid var(--jade);box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}
.ing-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.ing-card-icon{width:44px;height:44px;border-radius:10px;background:var(--jade-mist);display:flex;align-items:center;justify-content:center;margin-bottom:14px;font-size:1.3rem}
.ing-card h4{font-size:.92rem;font-weight:700;color:var(--ink);margin-bottom:8px}
.ing-card p{font-size:.82rem;color:var(--ink-lt);line-height:1.6}
.ing-card .ing-tag{display:inline-block;margin-top:10px;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--jade);background:var(--jade-pale);padding:3px 8px;border-radius:4px}

/* ── PRICING ── */
.pricing-section{background:var(--midnight);padding:80px 0}
.price-wrap{text-align:center}
.price-img-link{display:block;max-width:700px;margin:40px auto 32px;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 12px 48px rgba(0,0,0,.5)}
.price-img-link img{width:100%;display:block}
.price-cta{text-align:center}
.price-cta .btn{min-width:300px;justify-content:center}
.price-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:20px}
.price-badge{display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:500;color:rgba(255,255,255,.5)}
.price-badge svg{width:14px;height:14px;color:var(--jade-lt)}

/* ── PAYMENT ── */
.payment-section{background:var(--midnight-md);padding:44px 0;text-align:center}
.payment-section h3{color:var(--white);margin-bottom:8px}
.payment-img-wrap{max-width:400px;margin:24px auto}
.payment-img-wrap img{width:100%}

/* ── GUARANTEE ── */
.guarantee-section{background:var(--gold-pale);padding:80px 0}
.guarantee-inner{display:grid;grid-template-columns:280px 1fr;gap:60px;align-items:center}
.guarantee-img img{width:100%;border-radius:var(--radius-lg)}
.guarantee-points{display:flex;flex-direction:column;gap:14px;margin-top:24px}
.g-point{display:flex;align-items:flex-start;gap:12px}
.g-check{width:22px;height:22px;border-radius:50%;background:var(--jade);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
.g-check svg{width:11px;height:11px;color:var(--white)}
.g-point p{font-size:.92rem;color:var(--ink-md);line-height:1.6}

/* ── REVIEWS ── */
.reviews-section{background:var(--parchment-dk);padding:80px 0}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}
.review-card{background:var(--white);border-radius:var(--radius-lg);padding:28px 24px;box-shadow:var(--shadow);position:relative}
.review-quote{font-family:var(--font-serif);font-size:3.5rem;color:var(--jade-pale);line-height:1;position:absolute;top:14px;right:20px;opacity:.8}
.review-stars{display:flex;gap:2px;margin-bottom:14px}
.review-stars svg{width:15px;height:15px;fill:var(--gold-lt);color:var(--gold-lt)}
.review-img{width:100%;max-height:190px;object-fit:cover;border-radius:8px;margin-bottom:14px}
.review-card p{font-size:.88rem;line-height:1.72;color:var(--ink-md);margin-bottom:16px}
.reviewer-name{font-size:.83rem;font-weight:700;color:var(--ink)}
.reviewer-tag{font-size:.75rem;color:var(--jade);margin-top:2px;font-weight:500}

/* ── HOW TO USE ── */
.howto-section{background:var(--jade-mist);padding:80px 0}
.howto-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:48px}
.howto-step{background:var(--white);border-radius:var(--radius-lg);padding:32px 26px;text-align:center;box-shadow:var(--shadow)}
.step-num{width:52px;height:52px;border-radius:50%;background:var(--midnight);color:var(--gold);font-family:var(--font-serif);font-size:1.6rem;font-weight:500;display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
.howto-step h3{font-size:1.2rem;margin-bottom:10px}
.howto-step p{font-size:.88rem;color:var(--ink-lt);line-height:1.65}

/* ── FAQ ── */
.faq-section{background:var(--parchment);padding:80px 0}
.faq-list{max-width:740px;margin:40px auto 0;display:flex;flex-direction:column;gap:12px}
.faq-item{background:var(--white);border-radius:var(--radius);border:1px solid rgba(27,107,74,.12);overflow:hidden}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;cursor:pointer;font-weight:600;font-size:.92rem;gap:16px;color:var(--ink)}
.faq-icon{width:24px;height:24px;border-radius:50%;background:var(--jade-mist);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:.3s}
.faq-icon svg{width:11px;height:11px;color:var(--jade);transition:transform .3s}
.faq-item.open .faq-icon{background:var(--jade)}
.faq-item.open .faq-icon svg{color:var(--white);transform:rotate(45deg)}
.faq-a{display:none;padding:0 22px 18px;font-size:.88rem;line-height:1.72;color:var(--ink-md);border-top:1px solid rgba(27,107,74,.08)}
.faq-item.open .faq-a{display:block}

/* ── FINAL CTA ── */
.final-cta{background:var(--midnight);padding:96px 0;text-align:center;position:relative;overflow:hidden}
.final-cta::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(27,107,74,.15) 0%,transparent 70%);pointer-events:none}
.final-cta .wrap{position:relative;z-index:2}
.final-cta h2{color:var(--white);margin-bottom:16px}
.final-cta .body-lt{max-width:520px;margin:0 auto 36px}
.cta-btns{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-bottom:16px}

/* ── FOOTER ── */
footer{background:var(--midnight);padding:60px 0 0;color:rgba(255,255,255,.65)}
.footer-inner{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:48px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.06)}
.footer-logo{font-family:var(--font-serif);font-size:1.4rem;color:var(--white);margin-bottom:12px}
.footer-logo span{color:var(--gold)}
.footer-tagline{font-size:.82rem;line-height:1.65;color:rgba(255,255,255,.42);max-width:240px;margin-top:8px}
.footer-col-title{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:14px}
.footer-col ul{display:flex;flex-direction:column;gap:9px}
.footer-col ul a{font-size:.82rem;color:rgba(255,255,255,.52);transition:color .2s}
.footer-col ul a:hover{color:var(--white)}
.footer-disclaimer{padding:24px 0;font-size:.75rem;line-height:1.68;color:rgba(255,255,255,.32);border-top:1px solid rgba(255,255,255,.05);margin-top:0}
.footer-bottom{padding:18px 0;text-align:center}
.footer-copy{font-size:.76rem;color:rgba(255,255,255,.28);display:block;line-height:1.7}
.footer-copy a{color:var(--gold-lt)}

/* ── ANIMATIONS ── */
.fade-up{opacity:0;transform:translateY(26px);transition:opacity .65s ease,transform .65s ease}
.fade-up.visible{opacity:1;transform:none}

/* ── BLOG STYLES ── */
.blog-hero{background:var(--midnight);padding:60px 0 44px}
.blog-hero h1{color:var(--white);font-size:clamp(1.9rem,4vw,2.6rem)}
.blog-hero .body-lt{margin-top:10px;max-width:540px;margin-left:auto;margin-right:auto;text-align:center}
.blog-grid-section{background:var(--parchment);padding:60px 0}
.blog-row-label{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--jade);margin-bottom:22px;padding-bottom:9px;border-bottom:2px solid var(--jade-mist)}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:44px}
.blog-card{background:var(--white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(27,107,74,.07);transition:transform .2s,box-shadow .2s;text-decoration:none;color:inherit;display:block}
.blog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.blog-card-accent{height:4px;background:linear-gradient(90deg,var(--jade),var(--jade-lt))}
.blog-card-body{padding:22px 20px}
.blog-card-cat{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--jade);margin-bottom:7px}
.blog-card-body h3{font-family:var(--font-serif);font-size:1.05rem;line-height:1.38;margin-bottom:9px;color:var(--ink)}
.blog-card-body p{font-size:.82rem;color:var(--ink-lt);line-height:1.6;margin-bottom:13px}
.blog-read{font-size:.78rem;font-weight:600;color:var(--jade);display:flex;align-items:center;gap:4px}
.blog-read svg{width:13px;height:13px}

/* Blog post */
.post-hero{background:var(--midnight);padding:60px 0 48px}
.post-hero h1{color:var(--white);max-width:740px}
.post-meta{display:flex;flex-wrap:wrap;gap:18px;margin-top:18px;font-size:.78rem;color:rgba(255,255,255,.42)}
.breadcrumb{font-size:.78rem;color:rgba(255,255,255,.42);margin-bottom:16px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.breadcrumb a{color:rgba(255,255,255,.5);transition:color .2s}
.breadcrumb a:hover{color:var(--white)}
.breadcrumb span{color:rgba(255,255,255,.28)}
.post-body{background:var(--parchment);padding:56px 0}
.post-content{max-width:740px;margin:0 auto}
.post-content h2{font-family:var(--font-serif);font-size:1.65rem;margin:40px 0 14px;color:var(--ink);border-left:3px solid var(--jade);padding-left:14px}
.post-content h3{font-family:var(--font-serif);font-size:1.25rem;margin:28px 0 10px;color:var(--ink)}
.post-content p{font-size:.98rem;line-height:1.82;color:var(--ink-md);margin-bottom:18px}
.post-content ul,.post-content ol{margin:14px 0 18px 22px}
.post-content li{font-size:.98rem;line-height:1.78;color:var(--ink-md);margin-bottom:7px}
.post-content strong{color:var(--ink);font-weight:600}
.post-content .callout{background:var(--jade-mist);border-left:4px solid var(--jade);border-radius:0 var(--radius) var(--radius) 0;padding:16px 20px;margin:26px 0}
.post-content .callout p{margin:0;font-size:.92rem;color:var(--ink)}
.post-cta-box{background:var(--midnight);border-radius:var(--radius-lg);padding:30px 34px;margin:40px 0;text-align:center}
.post-cta-box p{color:rgba(255,255,255,.65);font-size:.92rem;margin-bottom:18px}
.post-faq{margin-top:40px}

/* ── RESPONSIVE ── */
@media(max-width:960px){
  .hero-inner{grid-template-columns:1fr;gap:40px}
  .hero-img{order:-1}
  .hero-img img{max-width:220px}
  .about-inner{grid-template-columns:1fr}
  .about-img{display:none}
  .ing-grid{grid-template-columns:repeat(2,1fr)}
  .reviews-grid{grid-template-columns:1fr}
  .howto-steps{grid-template-columns:1fr}
  .guarantee-inner{grid-template-columns:1fr}
  .guarantee-img{display:none}
  .footer-inner{grid-template-columns:1fr}
  .nav-links{display:none}
  .hamburger{display:flex}
  .blog-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .sec{padding:52px 0}
  .ing-grid{grid-template-columns:1fr}
  .hero-btns{flex-direction:column;align-items:flex-start}
  .cta-btns{flex-direction:column;align-items:center}
}