:root{
  --bg:#F5F8F3; --bg2:#EAF1E7; --card:#FFFFFF; --ink:#15251C; --ink2:#2C3B31;
  --emerald:#1E7A55; --emerald-dk:#155C40; --emerald-lt:#40A57A; --emerald-soft:#E4F1EA;
  --amber:#D89A2E; --amber-dk:#B87E1C; --amber-soft:#FBF1DA;
  --line:#DBE6D8; --line2:#C7D8C2; --slate:#4A5A50; --mute:#7A8A80;
  --warn-bg:#FCEDE9; --warn-ln:#F2CFC5; --warn-tx:#8A3B2A;
}
*{box-sizing:border-box}
body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink2);background:var(--bg);line-height:1.68}
h1,h2,h3{font-family:'Sora',sans-serif;font-weight:700;line-height:1.16;margin:0 0 16px;color:var(--ink);letter-spacing:-.02em}
h1{font-size:2.95rem;font-weight:800}
h2{font-size:2.15rem}
h3{font-size:1.4rem;font-weight:600}
h4{font-size:1.06rem;font-family:'Sora',sans-serif;font-weight:600;margin:0 0 8px;color:var(--ink)}
p{margin:0 0 15px;color:var(--slate)}
a{color:var(--emerald-dk);text-decoration:none}
img{max-width:100%;height:auto;display:block}
.hv-wrap{max-width:1140px;margin:0 auto;padding:0 24px}
.hv-narrow{max-width:760px;margin:0 auto}

.hv-strip{background:var(--emerald-dk);color:#CDE5D8;font-size:.8rem;padding:9px 16px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;max-width:1140px;margin:0 auto}
.hv-strip b{color:#F4D799}

.hv-nav{background:var(--bg);position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line)}
.hv-nav .hv-wrap{display:flex;align-items:center;justify-content:space-between;padding-top:15px;padding-bottom:15px}
.hv-logo{font-family:'Sora',sans-serif;font-size:1.5rem;font-weight:800;color:var(--ink);letter-spacing:-.02em}
.hv-logo span{color:var(--emerald)}
.hv-links{list-style:none;display:flex;gap:24px;align-items:center;margin:0;padding:0}
.hv-links a:not(.hv-btn){color:var(--ink2);font-weight:500;font-size:.9rem}
.hv-links a:not(.hv-btn):hover{color:var(--emerald)}
.hv-links .hv-btn{color:#fff;opacity:1}
.hv-btn{background:var(--emerald);color:#fff;font-weight:700;font-size:.88rem;padding:11px 22px;border:none;border-radius:100px;cursor:pointer;transition:transform .15s,background .15s;display:inline-block;text-align:center}
.hv-btn:hover{background:var(--emerald-dk);transform:translateY(-1px)}
.hv-btn-amber{background:var(--amber)}
.hv-btn-amber:hover{background:var(--amber-dk)}
.hv-btn-lg{font-size:1rem;padding:15px 32px}
.hv-btn-full{display:block;width:100%}
.hv-btn-ghost{border:1.5px solid var(--emerald);color:var(--emerald-dk);font-weight:700;font-size:.88rem;padding:10px 22px;border-radius:100px;display:inline-block;background:#fff}
.hv-btn-ghost:hover{background:var(--emerald-soft)}
.hv-toggle{display:none;background:none;border:none;font-size:1.5rem;color:var(--ink);cursor:pointer}

/* Hero */
.hv-hero{padding:54px 0 62px}
.hv-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:50px;align-items:center}
.hv-pill{display:inline-flex;align-items:center;gap:8px;background:var(--emerald-soft);color:var(--emerald-dk);border-radius:100px;padding:7px 16px;font-size:.78rem;font-weight:700;letter-spacing:.02em}
.hv-hero h1{margin:16px 0 18px}
.hv-hero em{font-style:normal;color:var(--emerald)}
.hv-lede{font-size:1.14rem;color:var(--ink2);line-height:1.6;margin-bottom:20px}
.hv-facts{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:18px 0;padding:0}
.hv-facts li{background:#fff;border:1px solid var(--line);border-radius:100px;padding:7px 15px;font-size:.82rem;font-weight:600;color:var(--ink2)}
.hv-check{list-style:none;margin:16px 0;padding:0}
.hv-check li{padding-left:30px;position:relative;margin-bottom:10px;color:var(--slate)}
.hv-check li::before{content:"";position:absolute;left:0;top:7px;width:16px;height:16px;background:var(--emerald);border-radius:50%;box-shadow:inset 0 0 0 3px var(--bg),0 0 0 1px var(--emerald)}
.hv-hero-btns{display:flex;gap:14px;margin:22px 0;flex-wrap:wrap}
.hv-hero-trust{display:flex;gap:18px;font-size:.78rem;color:var(--mute);flex-wrap:wrap;font-weight:600}
.hv-hero-shot{text-align:center}
.hv-hero-shot>img{margin:0 auto}

/* Focus wheel widget */
.hv-wheel{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:26px;margin-top:22px;box-shadow:0 14px 40px rgba(21,92,64,.08)}
.hv-wheel h4{text-align:center;font-size:1.05rem;margin-bottom:2px}
.hv-wheel .sub{font-size:.76rem;color:var(--mute);text-align:center;margin-bottom:16px}
.hv-wheel-in{display:flex;align-items:center;gap:22px;justify-content:center;flex-wrap:wrap}
.hv-ring{position:relative;width:150px;height:150px;flex:none}
.hv-ring svg{transform:rotate(-90deg);width:150px;height:150px}
.hv-ring circle{fill:none;stroke-width:13;stroke-linecap:round}
.hv-ring .trk{stroke:var(--bg2)}
.hv-ring .seg{stroke-dasharray:var(--len) 999;stroke-dashoffset:var(--len);transition:stroke-dashoffset 1.1s cubic-bezier(.2,.8,.2,1)}
.hv-wheel.on .hv-ring .seg{stroke-dashoffset:0}
.hv-ring-c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.hv-ring-c b{font-family:'Sora',sans-serif;font-size:1.5rem;color:var(--emerald-dk);line-height:1}
.hv-ring-c span{font-size:.64rem;color:var(--mute);text-transform:uppercase;letter-spacing:.08em}
.hv-wheel-key{display:grid;gap:9px}
.hv-wheel-key div{display:flex;align-items:center;gap:9px;font-size:.85rem;font-weight:600;color:var(--ink2)}
.hv-wheel-key i{width:12px;height:12px;border-radius:4px;flex:none}
.hv-note{font-size:.71rem;color:var(--mute);margin:14px 0 0;text-align:center;line-height:1.5;font-style:italic}

/* Sections */
.hv-sec{padding:64px 0}
.hv-sec-soft{background:var(--bg2)}
.hv-sec-emerald{background:var(--emerald-dk);color:#CFE6D9}
.hv-sec-emerald h2,.hv-sec-emerald h3,.hv-sec-emerald h4{color:#fff}
.hv-sec-emerald p{color:#A9CBBA}
.hv-sec-emerald .hv-eyebrow{color:#F4D799}
.hv-head{max-width:720px;margin:0 auto 40px}
.hv-head.ctr{text-align:center}
.hv-eyebrow{font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--emerald);display:block;margin-bottom:10px}

/* Quick take card */
.hv-take{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
@media(max-width:820px){.hv-take{grid-template-columns:minmax(0,1fr)}}
.hv-take-col{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:26px}
.hv-take-col.pro{border-top:4px solid var(--emerald)}
.hv-take-col.con{border-top:4px solid var(--amber)}
.hv-take-col h3{font-size:1.2rem;margin-bottom:14px}
.hv-take-col ul{list-style:none;margin:0;padding:0}
.hv-take-col li{padding-left:26px;position:relative;margin-bottom:10px;font-size:.92rem;color:var(--slate)}
.hv-take-col.pro li::before{content:"\2713";position:absolute;left:0;color:var(--emerald);font-weight:800}
.hv-take-col.con li::before{content:"!";position:absolute;left:2px;color:var(--amber-dk);font-weight:800}

/* Grid + cards */
.hv-grid{display:grid;gap:22px}
.hv-g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.hv-g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.hv-g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:940px){.hv-g4{grid-template-columns:repeat(2,minmax(0,1fr))}.hv-g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.hv-g4,.hv-g3,.hv-g2{grid-template-columns:minmax(0,1fr)}}
.hv-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px}
.hv-sec-emerald .hv-card{background:#12503A;border-color:rgba(255,255,255,.12)}
.hv-sec-emerald .hv-card p{color:#A9CBBA}
.hv-card-badge{text-align:center}
.hv-card-badge img{margin:0 auto 14px;max-width:90px;height:auto}
.hv-chip{display:inline-flex;width:44px;height:44px;border-radius:13px;background:var(--emerald-soft);color:var(--emerald-dk);align-items:center;justify-content:center;font-family:'Sora',sans-serif;font-weight:700;margin-bottom:12px}

/* Split */
.hv-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}
@media(max-width:900px){.hv-split{grid-template-columns:minmax(0,1fr);gap:28px}}
.hv-split img{max-width:min(440px,100%);margin:0 auto;border-radius:18px}

/* Numbered horizontal list (safe: wrapper column) */
.hv-points{list-style:none;margin:0;padding:0;counter-reset:pt;display:grid;gap:14px}
.hv-points li{counter-increment:pt;display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;align-items:start;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px 22px}
.hv-points li::before{content:counter(pt);font-family:'Sora',sans-serif;font-weight:700;font-size:1.05rem;color:#fff;background:var(--emerald);width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center}
.hv-points-c b{display:block;color:var(--ink);margin-bottom:3px;font-family:'Sora',sans-serif;font-weight:600;font-size:1rem}
.hv-points-c span{display:block;color:var(--slate);font-size:.94rem}

/* Timeline */
.hv-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media(max-width:820px){.hv-timeline{grid-template-columns:minmax(0,1fr)}}
.hv-tl{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px;position:relative}
.hv-tl .wk{font-family:'Sora',sans-serif;font-weight:700;color:var(--amber-dk);font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px}
.hv-tl h4{margin-bottom:6px}

/* Callouts */
.hv-callout{background:var(--emerald-soft);border:1px solid #C6E3D3;border-radius:14px;padding:18px 22px;font-size:.95rem;margin-top:18px;color:#204236}
.hv-flag{background:var(--amber-soft);border:1px solid #ECD8A8;border-radius:14px;padding:16px 20px;font-size:.9rem;color:#6E551F}
.hv-flag b{color:#5A4413}
.hv-warn{background:var(--warn-bg);border:1px solid var(--warn-ln);border-radius:14px;padding:18px 22px;font-size:.92rem;color:var(--warn-tx)}
.hv-warn b{color:#6E271B}
.hv-mid{text-align:center}

/* Ingredient list */
.hv-ing{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.hv-ing li{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px 24px}
.hv-ing li b{font-family:'Sora',sans-serif;font-weight:600;color:var(--ink);display:block;margin-bottom:4px}
.hv-ing li span{color:var(--slate);font-size:.94rem}

/* Reviews */
.hv-rev{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px}
.hv-rev-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.hv-rev-head img{width:52px;height:52px;border-radius:50%;object-fit:cover}
.hv-rev-name{font-weight:700;color:var(--ink);font-size:.95rem;font-family:'Sora',sans-serif}
.hv-rev-sub{font-size:.76rem;color:var(--mute)}
.hv-stars{color:var(--amber);letter-spacing:2px;margin-bottom:8px;font-size:.9rem}
.hv-rev p{color:var(--ink2);font-size:.96rem}

/* Pricing */
.hv-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
@media(max-width:900px){.hv-plans{grid-template-columns:minmax(0,1fr)}}
.hv-plan{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:26px;text-align:center;position:relative;display:flex;flex-direction:column}
.hv-plan.top{border:2px solid var(--emerald);box-shadow:0 18px 44px rgba(30,122,85,.14)}
.hv-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--emerald);color:#fff;font-size:.72rem;font-weight:700;padding:5px 16px;border-radius:100px;white-space:nowrap;text-transform:uppercase;letter-spacing:.04em}
.hv-badge.amber{background:var(--amber)}
.hv-plan-ttl{font-family:'Sora',sans-serif;font-weight:700;font-size:1.35rem;margin-top:10px;color:var(--ink)}
.hv-plan-sub{font-size:.84rem;color:var(--mute);margin-bottom:12px}
.hv-plan-price{font-family:'Sora',sans-serif;font-size:2.5rem;font-weight:800;color:var(--emerald-dk);line-height:1}
.hv-plan-price small{font-size:.86rem;font-weight:600;color:var(--mute);font-family:'DM Sans',sans-serif}
.hv-plan-tot{font-weight:700;color:var(--ink);margin:6px 0}
.hv-plan-ship{font-size:.8rem;color:var(--emerald);font-weight:700;margin-bottom:14px;text-transform:uppercase;letter-spacing:.03em}
.hv-plan ul{list-style:none;padding:0;margin:0 0 18px;text-align:left;flex:1}
.hv-plan ul li{padding-left:24px;position:relative;font-size:.88rem;color:var(--slate);margin-bottom:7px}
.hv-plan ul li::before{content:"\2713";position:absolute;left:0;color:var(--emerald);font-weight:800}
.hv-plan img.pk{max-width:170px;margin:0 auto 16px}
.hv-plan img.cards{margin:14px auto 0;max-width:185px}

/* Guarantee */
.hv-guar{display:flex;gap:32px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:32px}
.hv-guar img{max-width:130px}
@media(max-width:640px){.hv-guar{flex-direction:column;text-align:center}}

/* Steps */
.hv-steps{list-style:none;margin:0;padding:0;counter-reset:st;display:grid;gap:14px}
.hv-steps li{counter-increment:st;display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;align-items:start;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px 22px}
.hv-steps li::before{content:counter(st);font-family:'Sora',sans-serif;font-weight:700;color:#fff;background:var(--amber);width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.hv-steps-c b{display:block;color:var(--ink);margin-bottom:2px;font-family:'Sora',sans-serif;font-weight:600}
.hv-steps-c span{display:block;color:var(--slate);font-size:.94rem}

/* FAQ */
.hv-faq-row{border-bottom:1px solid var(--line)}
.hv-faq-btn{width:100%;text-align:left;background:none;border:none;padding:20px 0;font-family:'Sora',sans-serif;font-size:1.06rem;font-weight:600;color:var(--ink);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px}
.hv-faq-btn::after{content:"+";font-size:1.4rem;color:var(--emerald);flex:none;font-family:'DM Sans',sans-serif}
.hv-faq-btn[aria-expanded="true"]::after{content:"\2212"}
.hv-faq-body{max-height:0;overflow:hidden;transition:max-height .3s ease}
.hv-faq-body p{padding-bottom:18px}

.hv-refs{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.hv-refs li a{font-size:.9rem}

/* Related */
.hv-rel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media(max-width:800px){.hv-rel{grid-template-columns:minmax(0,1fr)}}
.hv-rel a{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;display:block}
.hv-rel a:hover{border-color:var(--emerald)}
.hv-rel a b{display:block;color:var(--ink);margin-bottom:5px;font-family:'Sora',sans-serif;font-weight:600}
.hv-rel a span{font-size:.85rem;color:var(--mute)}

/* Final CTA */
.hv-final{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:50px;text-align:center;box-shadow:0 20px 50px rgba(21,92,64,.08)}
.hv-final img{max-width:230px;margin:18px auto;border-radius:14px}
.hv-final .new{font-family:'Sora',sans-serif;font-size:1.6rem;color:var(--emerald-dk);margin:8px 0 16px;font-weight:700}
.hv-final .sm{font-size:.8rem;color:var(--mute);margin-top:14px}

/* Footer */
.hv-foot{background:var(--emerald-dk);color:#9FC2B1;padding:56px 0 30px;font-size:.86rem}
.hv-foot-top{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.4fr);gap:40px;margin-bottom:30px}
@media(max-width:820px){.hv-foot-top{grid-template-columns:minmax(0,1fr)}}
.hv-foot-brand .hv-logo{color:#fff;font-size:1.4rem}
.hv-foot-brand .hv-logo span{color:#F4D799}
.hv-foot-brand p{color:#9FC2B1;margin-top:12px;max-width:420px}
.hv-foot-cols{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.hv-foot h4{color:#F4D799;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px}
.hv-foot-nav,.hv-foot-legal{list-style:none;display:flex;flex-direction:column;gap:10px;padding:0;margin:0}
.hv-foot-nav a,.hv-foot-legal a{color:#CFE6D9;font-weight:500}
.hv-foot hr{border:none;border-top:1px solid rgba(255,255,255,.12);margin:24px 0}
.hv-foot p{color:#8FB4A2;font-size:.8rem}
.hv-foot .cr{margin-top:18px;color:#6E9483}

/* Sticky */
.hv-sticky{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);padding:11px 20px;display:none;justify-content:space-between;align-items:center;z-index:60;box-shadow:0 -4px 16px rgba(21,92,64,.1)}
.hv-sticky .t b{color:var(--ink)}
.hv-sticky .t small{display:block;color:var(--mute);font-size:.78rem}
@media(max-width:780px){.hv-sticky{display:flex}}

@media(max-width:900px){
  .hv-hero-grid{grid-template-columns:minmax(0,1fr);gap:30px}
  .hv-hero-copy{display:contents}
  .hv-links{display:none}
  .hv-toggle{display:block}
  .hv-hero-shot{order:1}
  .hv-hero-title{order:2}
  .hv-hero-rest{order:3}
  h1{font-size:2.25rem}
  h2{font-size:1.8rem}
  .hv-strip{justify-content:center}
  .hv-nav.open .hv-links{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--bg);padding:18px 24px;gap:16px;border-bottom:1px solid var(--line);align-items:flex-start}
}
