/* ============================================================
   Health Nutri Choice — style.css
   Fresh greens, warm accents, soft organic shapes
   ============================================================ */
:root{
  --brand:#178a52;
  --brand-deep:#0b3d2e;
  --brand-soft:#e9f7ee;
  --lime:#84cc16;
  --amber:#f59e0b;
  --coral:#e2574c;
  --ink:#15251d;
  --muted:#5b6f64;
  --paper:#f7faf6;
  --line:rgba(11,61,46,.09);
  --radius:24px;
  --shadow:0 24px 48px -24px rgba(11,61,46,.28);
  --font-body:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-display:'Fraunces','Georgia',serif;
}
*{ -webkit-tap-highlight-color:transparent; }
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  color:var(--ink);
  background:#fff;
  line-height:1.7;
  overflow-x:hidden;
}
::selection{background:#c9f0d5;color:#0b3d2e;}
h1,h2,h3,h4,.font-display{font-family:var(--font-display);font-weight:700;color:var(--brand-deep);line-height:1.18;letter-spacing:-.01em;}
a{text-decoration:none;color:var(--brand);}
img{max-width:100%;}

/* ---------- shared pieces ---------- */
.section{padding:96px 0;}
.section-tight{padding:70px 0;}
.eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  background:var(--brand-soft);color:#0e7a3c;
  font-weight:800;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;
  padding:.5rem 1.1rem;border-radius:999px;
}
.eyebrow.on-dark{background:rgba(255,255,255,.14);color:#d9f2e1;}
.section-title{font-size:clamp(1.9rem,3.6vw,2.8rem);margin:.9rem 0 .75rem;}
.lead-copy{color:var(--muted);font-size:1.05rem;max-width:38rem;}
.text-gradient{background:linear-gradient(92deg,var(--brand),var(--lime));-webkit-background-clip:text;background-clip:text;color:transparent;}
.bg-paper{background:var(--paper);}
.bg-mist{background:linear-gradient(180deg,#f2faf3,#fbfdf6);}

/* buttons */
.btn-brand,.btn-line,.btn-cream{
  display:inline-flex;align-items:center;gap:.5rem;
  border-radius:999px;font-weight:700;padding:.85rem 1.75rem;font-size:.95rem;
  transition:transform .25s ease,box-shadow .25s ease,background .25s ease,color .25s ease;
}
.btn-brand{background:linear-gradient(135deg,#1ca75f,#0e7a3c);color:#fff;border:none;box-shadow:0 14px 26px -12px rgba(23,138,82,.55);}
.btn-brand:hover{color:#fff;transform:translateY(-3px);box-shadow:0 20px 32px -12px rgba(23,138,82,.6);}
.btn-line{background:#fff;color:var(--brand-deep);border:2px solid rgba(11,61,46,.18);}
.btn-line:hover{border-color:var(--brand);color:var(--brand);transform:translateY(-3px);}
.btn-cream{background:#f7fbef;color:var(--brand-deep);border:none;}
.btn-cream:hover{background:#fff;color:var(--brand);transform:translateY(-3px);}
.arrow{transition:transform .25s;display:inline-block;}
.btn-brand:hover .arrow,.btn-line:hover .arrow,.btn-cream:hover .arrow{transform:translateX(4px);}

/* check lists */
.check-list{list-style:none;padding:0;margin:0;display:grid;gap:.8rem;}
.check-list li{position:relative;padding-left:2.2rem;font-weight:500;}
.check-list li::before{
  content:"✓";position:absolute;left:0;top:.12em;
  width:1.45rem;height:1.45rem;border-radius:50%;
  background:var(--brand-soft);color:var(--brand);
  font-weight:800;font-size:.85rem;display:grid;place-items:center;
}
.check-list.on-dark li{color:#dff0e4;}
.check-list.on-dark li::before{background:rgba(255,255,255,.15);color:#a7f3c7;}

/* cards */
.soft-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 30px -18px rgba(11,61,46,.18);}

/* ---------- navbar ---------- */
#mainNav{background:rgba(255,255,255,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(11,61,46,.06);transition:box-shadow .3s;}
#mainNav.is-scrolled{box-shadow:0 12px 30px -18px rgba(11,61,46,.35);}
.navbar-brand .brand-name{font-family:var(--font-display);font-weight:700;font-size:1.22rem;color:var(--brand-deep);line-height:1;}
.brand-name em{font-style:normal;color:var(--brand);}
#mainNav .nav-link{font-weight:600;color:#31463b;padding:.5rem 1rem;border-radius:999px;margin:0 .1rem;font-size:.95rem;}
#mainNav .nav-link:hover{color:var(--brand);background:var(--brand-soft);}
#mainNav .nav-link.active{color:var(--brand);background:var(--brand-soft);}
.nav-cta{background:var(--brand-deep);color:#eafbef;border-radius:999px;padding:.6rem 1.35rem;font-weight:700;font-size:.9rem;}
.nav-cta:hover{background:var(--brand);color:#fff;}

/* ---------- hero ---------- */
.hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(1100px 560px at 88% -12%,#d9f2e1 0%,transparent 60%),
    radial-gradient(900px 520px at -12% 24%,#f4fbe0 0%,transparent 55%),
    #f8fbf6;
  padding:88px 0 110px;
}
.hero h1{font-size:clamp(2.3rem,5vw,3.7rem);}
.hero-art-wrap{position:relative;}
.hero-art-wrap>img{width:100%;filter:drop-shadow(0 30px 40px rgba(11,61,46,.18));}
.chip-float{
  position:absolute;background:#fff;border-radius:16px;box-shadow:var(--shadow);
  padding:.6rem 1rem;font-weight:700;font-size:.85rem;color:var(--brand-deep);
  display:inline-flex;align-items:center;gap:.5rem;
  animation:floaty 5.5s ease-in-out infinite;
}
.chip-float .dot{width:.6rem;height:.6rem;border-radius:50%;background:var(--lime);}
.chip-a{top:6%;left:-4%;animation-delay:.4s;}
.chip-b{bottom:16%;right:-3%;animation-delay:1.6s;}
@keyframes floaty{50%{transform:translateY(-14px);}}
.hero-trust{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem;}
.hero-trust span{background:#fff;border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:.4rem 1rem;font-size:.83rem;font-weight:600;}
.hero-trust b{color:var(--brand);}

/* ---------- marquee ---------- */
.marquee{background:var(--brand-deep);color:#d9f2e1;overflow:hidden;padding:1rem 0;}
.marquee-track{display:flex;gap:3.2rem;white-space:nowrap;width:max-content;animation:marq 30s linear infinite;}
.marquee-track span{font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.85rem;opacity:.9;}
.marquee-track i{color:var(--lime);font-style:normal;}
@keyframes marq{to{transform:translateX(-50%);}}
.marquee:hover .marquee-track{animation-play-state:paused;}

/* ---------- about section ---------- */
.about-frame{position:relative;border-radius:36px 36px 36px 120px;overflow:hidden;box-shadow:var(--shadow);}
.about-frame img{display:block;width:100%;}
.about-badge{
  position:absolute;left:-26px;bottom:34px;background:#fff;border-radius:20px;
  box-shadow:var(--shadow);padding:1rem 1.4rem;display:flex;gap:.9rem;align-items:center;
}
.about-badge .ab-ico{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#fdeacb,#f59e0b33);display:grid;place-items:center;font-size:1.35rem;}
.about-badge strong{display:block;font-size:.95rem;color:var(--brand-deep);line-height:1.25;}
.about-badge small{color:var(--muted);font-size:.78rem;}

/* ---------- icon bubbles / why cards ---------- */
.icon-bubble{
  width:58px;height:58px;border-radius:18px;display:grid;place-items:center;font-size:1.5rem;
  background:linear-gradient(135deg,#e8f8ee,#d2f3dd);color:#0e7a3c;margin-bottom:1.1rem;
}
.why-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.9rem 1.7rem;height:100%;transition:transform .3s,box-shadow .3s;}
.why-card:hover{transform:translateY(-8px);box-shadow:var(--shadow);}
.why-card h3{font-size:1.15rem;margin-bottom:.5rem;font-family:var(--font-body);font-weight:800;color:var(--brand-deep);}
.why-card p{color:var(--muted);font-size:.94rem;margin:0;}
.why-card .icon-bubble{background:var(--brand-soft);color:var(--brand);}

/* ---------- service cards ---------- */
.svc-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;height:100%;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s;}
.svc-card:hover{transform:translateY(-10px);box-shadow:var(--shadow);}
.svc-media{position:relative;overflow:hidden;}
.svc-media img{width:100%;display:block;aspect-ratio:8/5;object-fit:cover;transition:transform .6s ease;}
.svc-card:hover .svc-media img{transform:scale(1.06);}
.svc-tag{position:absolute;top:14px;left:14px;background:rgba(255,255,255,.92);color:var(--brand-deep);font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;border-radius:999px;padding:.35rem .85rem;}
.svc-body{padding:1.5rem 1.5rem 1.6rem;display:flex;flex-direction:column;flex:1;}
.svc-body h3{font-size:1.25rem;margin-bottom:.5rem;}
.svc-body p{color:var(--muted);font-size:.93rem;flex:1;}
.svc-body .btn-brand{align-self:flex-start;padding:.6rem 1.3rem;font-size:.86rem;margin-top:.6rem;}

/* ---------- testimonials ---------- */
.tst-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:2rem 1.8rem;height:100%;position:relative;transition:transform .3s,box-shadow .3s;}
.tst-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
.tst-card .qmark{font-family:var(--font-display);font-size:4.4rem;line-height:.6;color:#cdefd9;display:block;margin-bottom:1rem;}
.tst-card p{font-size:.98rem;color:#3c4f45;margin-bottom:1.4rem;}
.tst-person{display:flex;align-items:center;gap:.8rem;}
.tst-person img{width:52px;height:52px;border-radius:50%;}
.tst-person strong{display:block;font-size:.95rem;color:var(--brand-deep);}
.tst-person small{color:var(--muted);font-size:.8rem;}

/* ---------- blog cards ---------- */
.blog-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;height:100%;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s;}
.blog-card:hover{transform:translateY(-10px);box-shadow:var(--shadow);}
.blog-card img{width:100%;aspect-ratio:16/10;object-fit:cover;}
.blog-body{padding:1.5rem 1.6rem 1.7rem;display:flex;flex-direction:column;flex:1;}
.badge-cat{align-self:flex-start;background:var(--brand-soft);color:#0e7a3c;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;border-radius:999px;padding:.32rem .85rem;margin-bottom:.8rem;}
.blog-body h3{font-size:1.28rem;line-height:1.3;}
.blog-body h3 a{color:var(--brand-deep);transition:color .2s;}
.blog-body h3 a:hover{color:var(--brand);}
.blog-body p{color:var(--muted);font-size:.92rem;flex:1;}
.read-link{font-weight:800;color:var(--brand);font-size:.9rem;display:inline-flex;align-items:center;gap:.4rem;}
.read-link:hover{color:var(--brand-deep);}
.post-meta{font-size:.8rem;color:#8aa094;margin-bottom:.6rem;}

/* ---------- FAQ ---------- */
.accordion-item{border:1px solid var(--line)!important;border-radius:var(--radius)!important;margin-bottom:1rem;overflow:hidden;background:#fff;}
.accordion-button{font-family:var(--font-body);font-weight:700;color:var(--brand-deep);font-size:1.02rem;padding:1.25rem 1.5rem;background:#fff;box-shadow:none!important;}
.accordion-button:not(.collapsed){background:var(--brand-soft);color:#0e7a3c;}
.accordion-button::after{background-size:1rem;filter:none;}
.accordion-body{color:var(--muted);padding:0 1.5rem 1.4rem;font-size:.96rem;}

/* ---------- CTA band ---------- */
.cta-band{
  position:relative;overflow:hidden;color:#eafbef;
  background:linear-gradient(118deg,#0b3d2e,#14713f 55%,#1ca75f);
  border-radius:36px;padding:76px 8%;
}
.cta-band::after{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.16) 1.5px,transparent 1.6px);
  background-size:26px 26px;opacity:.45;}
.cta-band h2{color:#fff;font-size:clamp(1.8rem,3.4vw,2.7rem);position:relative;z-index:1;}
.cta-band p{color:#cdecd7;position:relative;z-index:1;max-width:34rem;}
.cta-leaf{position:absolute;font-size:11rem;opacity:.08;transform:rotate(-18deg);}

/* ---------- page hero (inner pages) ---------- */
.page-hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(900px 420px at 90% -20%,#d9f2e1 0%,transparent 55%),
    radial-gradient(700px 420px at -8% 30%,#f4fbe0 0%,transparent 55%),
    #f8fbf6;
  padding:76px 0 68px;
}
.page-hero h1{font-size:clamp(2rem,4.4vw,3.1rem);}
.page-hero .crumbs{font-size:.85rem;color:var(--muted);font-weight:600;}
.page-hero .crumbs a{color:var(--brand);}

/* ---------- forms ---------- */
.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:2.4rem;box-shadow:0 18px 44px -26px rgba(11,61,46,.25);}
.form-label{font-weight:700;font-size:.85rem;color:var(--brand-deep);margin-bottom:.35rem;}
.form-control,.form-select{border-radius:14px;padding:.8rem 1.05rem;border:1.5px solid #e1e9e1;background:#fbfdfb;font-size:.95rem;}
.form-control:focus,.form-select:focus{border-color:var(--brand);box-shadow:0 0 0 .22rem rgba(23,138,82,.15);background:#fff;}
.form-check-input:checked{background-color:var(--brand);border-color:var(--brand);}
.input-success-panel{background:var(--brand-soft);border:1px dashed #9adcb6;border-radius:var(--radius);padding:2.6rem 2rem;text-align:center;}
.input-success-panel .ok{width:64px;height:64px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:1.7rem;margin:0 auto 1.1rem;}

/* ---------- contact info cards ---------- */
.info-tile{display:flex;gap:1.1rem;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:20px;padding:1.4rem 1.5rem;height:100%;transition:transform .3s,box-shadow .3s;}
.info-tile:hover{transform:translateY(-5px);box-shadow:var(--shadow);}
.info-tile .icon-bubble{width:50px;height:50px;font-size:1.2rem;margin:0;flex:none;}
.info-tile h3{font-size:.85rem;font-family:var(--font-body);text-transform:uppercase;letter-spacing:.1em;color:#8aa094;margin:0 0 .25rem;}
.info-tile p{margin:0;font-weight:600;color:var(--brand-deep);font-size:.98rem;}
.info-tile a{color:var(--brand);font-weight:700;}

/* ---------- article pages ---------- */
.article-wrap{max-width:47rem;margin:0 auto;}
.article-body{font-size:1.05rem;line-height:1.95;color:#31423a;}
.article-body h2{font-size:1.55rem;margin:2.6rem 0 .8rem;}
.article-body h3{font-size:1.2rem;margin:2rem 0 .6rem;}
.article-body p{margin-bottom:1.15rem;}
.article-body ul{padding-left:1.2rem;margin-bottom:1.2rem;}
.article-body li{margin-bottom:.5rem;}
.article-body li::marker{color:var(--brand);}
.pull-quote{border-left:5px solid var(--brand);background:#f2faf4;border-radius:0 20px 20px 0;padding:1.4rem 1.8rem;margin:2.2rem 0;font-family:var(--font-display);font-size:1.28rem;line-height:1.5;color:var(--brand-deep);}
.article-cover{border-radius:30px;overflow:hidden;box-shadow:var(--shadow);margin:2.6rem 0;}
.article-cover img{width:100%;display:block;}
.article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;color:var(--muted);font-size:.88rem;font-weight:600;}
.avatar-mini{width:42px;height:42px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:800;font-family:var(--font-display);}

/* legal pages */
.legal-card{max-width:52rem;margin:0 auto;}
.legal-card h2{font-size:1.35rem;margin-top:2.4rem;}
.legal-card p,.legal-card li{color:#41544a;font-size:.97rem;}
.legal-card ul{color:#41544a;}

/* ---------- newsletter split ---------- */
.news-perks .check-list li{font-size:1.02rem;}
.leaf-deco{position:absolute;opacity:.5;pointer-events:none;}

/* ---------- footer ---------- */
.site-footer{background:var(--brand-deep);color:#bcd9c6;position:relative;overflow:hidden;}
.site-footer::before{content:"";position:absolute;inset:0;background:radial-gradient(700px 320px at 90% 0%,rgba(132,204,22,.14),transparent 60%);}
.site-footer .container{position:relative;}
.footer-title{color:#fff;font-weight:800;font-size:.85rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:1.1rem;font-family:var(--font-body);}
.site-footer a{color:#bcd9c6;font-size:.93rem;transition:color .2s,padding .2s;}
.site-footer a:hover{color:#fff;}
.footer-links{list-style:none;padding:0;margin:0;display:grid;gap:.55rem;}
.footer-brand p{color:#a9c9b4;font-size:.93rem;max-width:20rem;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:3rem;padding-top:1.6rem;font-size:.85rem;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center;}
.footer-legal a{margin-left:1.2rem;}
.footer-news{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:1.6rem;}

/* back to top */
#backToTop{position:fixed;right:22px;bottom:22px;z-index:999;width:48px;height:48px;border-radius:50%;border:none;background:var(--brand);color:#fff;font-size:1.15rem;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(12px);transition:.3s;cursor:pointer;}
#backToTop.show{opacity:1;visibility:visible;transform:none;}

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

/* small screens */
@media (max-width:991.98px){
  .hero{padding:56px 0 80px;}
  .hero-art-wrap{margin-top:3rem;}
  .chip-a{left:2%;}
  .chip-b{right:2%;}
  .about-badge{left:12px;}
  .section{padding:72px 0;}
}
@media (max-width:575.98px){
  .cta-band{padding:56px 8%;border-radius:26px;}
  .form-card{padding:1.6rem;}
  .chip-float{display:none;}
}
