/* ==========================================================================
   Leptozan — leptozean.com
   CSS prefix: lzen-
   Fonts: Sora (headings) / Nunito Sans (body) — both sans-serif
   ========================================================================== */

:root{
  --lzen-teal:#1f8f8a;
  --lzen-teal-dark:#146b67;
  --lzen-orange:#ef7d24;
  --lzen-amber:#f2a62c;
  --lzen-cream:#fdf8f1;
  --lzen-white:#ffffff;
  --lzen-ink:#1e2a28;
  --lzen-ink-soft:#3c4b48;
  --lzen-border:#e4ded0;
  --lzen-success:#2f9e67;
  --lzen-radius:18px;
  --lzen-shadow:0 10px 30px rgba(31,70,66,.10);
  --lzen-maxw:1180px;
  --lzen-fs-base:20px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--lzen-white);
  color:var(--lzen-ink);
  font-family:'Nunito Sans',Arial,Helvetica,sans-serif;
  font-size:var(--lzen-fs-base);
  line-height:1.65;
  overflow-x:hidden;
}
h1,h2,h3,h4{
  font-family:'Sora','Nunito Sans',Arial,sans-serif;
  color:var(--lzen-ink);
  line-height:1.25;
  margin:0 0 16px;
}
h1{font-size:clamp(26px,4.2vw,32px);}
h2{font-size:clamp(23px,3.4vw,29px);}
h3{font-size:clamp(20px,2.6vw,23px);}
p{margin:0 0 16px; color:var(--lzen-ink-soft); font-size:1rem;}
a{color:var(--lzen-teal-dark); text-decoration:none;}
a:hover{text-decoration:underline;}
img{max-width:100%; height:auto; display:block;}
ul,ol{padding-left:22px; color:var(--lzen-ink-soft);}
li{margin-bottom:8px;}
.lzen-wrap{max-width:var(--lzen-maxw); margin:0 auto; padding:0 20px; width:100%;}
.lzen-section{padding:64px 0;}
.lzen-section--alt{background:#f6f1e6;}
.lzen-center{text-align:center;}
.lzen-eyebrow{
  display:inline-block; color:var(--lzen-orange); font-weight:800;
  letter-spacing:.06em; text-transform:uppercase; font-size:.8rem; margin-bottom:10px;
}
.lzen-sub{max-width:720px; margin:0 auto 36px; color:var(--lzen-ink-soft); font-size:1.05rem;}

/* Buttons */
.lzen-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  background:var(--lzen-orange); color:#fff; font-weight:800; font-size:1.05rem;
  padding:16px 30px; border-radius:50px; border:none; cursor:pointer;
  box-shadow:0 8px 20px rgba(239,125,36,.35); transition:transform .15s ease, box-shadow .15s ease;
  text-decoration:none;
}
.lzen-btn:hover{transform:translateY(-2px); box-shadow:0 12px 26px rgba(239,125,36,.45); text-decoration:none;}
.lzen-btn--teal{background:var(--lzen-teal); box-shadow:0 8px 20px rgba(31,143,138,.35);}
.lzen-btn--outline{background:transparent; color:var(--lzen-teal-dark); border:2px solid var(--lzen-teal-dark); box-shadow:none;}
.lzen-secure{display:block; margin-top:10px; font-size:.85rem; color:var(--lzen-ink-soft); font-weight:600;}
.lzen-secure svg{vertical-align:-3px; margin-right:4px;}

/* ===== Header ===== */
.lzen-header{
  position:sticky; top:0; z-index:50; background:rgba(255,255,255,.96);
  backdrop-filter:blur(6px); border-bottom:1px solid var(--lzen-border);
}
.lzen-header__bar{display:flex; align-items:center; justify-content:space-between; padding:14px 20px; max-width:var(--lzen-maxw); margin:0 auto;}
.lzen-logo{display:flex; align-items:center; gap:10px; font-family:'Sora',sans-serif; font-weight:800; font-size:1.3rem; color:var(--lzen-ink);}
.lzen-logo img{width:34px; height:34px; border-radius:8px;}
.lzen-nav{display:flex; align-items:center; gap:28px;}
.lzen-nav a{color:var(--lzen-ink); font-weight:700; font-size:.95rem;}
.lzen-nav a:hover{color:var(--lzen-teal-dark); text-decoration:none;}
.lzen-header__cta{margin-left:8px;}
.lzen-header .lzen-btn{padding:11px 22px; font-size:.92rem;}
.lzen-burger{display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:8px;}
.lzen-burger span{width:26px; height:3px; background:var(--lzen-ink); border-radius:2px;}
.lzen-mobile-nav{display:none; flex-direction:column; background:#fff; border-top:1px solid var(--lzen-border); padding:10px 20px 20px;}
.lzen-mobile-nav a{padding:12px 0; border-bottom:1px solid var(--lzen-border); color:var(--lzen-ink); font-weight:700;}
.lzen-mobile-nav.lzen-open{display:flex;}

/* ===== Hero (no background fill, left text / right bottle) ===== */
.lzen-hero{padding:56px 0 46px; background:none;}
.lzen-hero__grid{display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:center;}
.lzen-hero__badge{
  display:inline-flex; align-items:center; gap:8px; background:#eaf6f3; color:var(--lzen-teal-dark);
  font-weight:800; font-size:.82rem; padding:8px 16px; border-radius:50px; margin-bottom:18px;
}
.lzen-hero h1{margin-bottom:14px;}
.lzen-hero__lead{font-size:1.1rem; color:var(--lzen-ink-soft); margin-bottom:20px;}
.lzen-hero__bullets{list-style:none; padding:0; margin:0 0 22px;}
.lzen-hero__bullets li{
  display:flex; align-items:flex-start; gap:10px; font-weight:700; color:var(--lzen-ink);
  margin-bottom:10px; font-size:.98rem;
}
.lzen-hero__bullets svg{flex:none; margin-top:3px; color:var(--lzen-teal);}
.lzen-hero__facts{
  list-style:none; margin:0 0 24px; padding:16px 18px; background:var(--lzen-cream);
  border:1px solid var(--lzen-border); border-radius:14px;
}
.lzen-hero__facts li{display:flex; justify-content:space-between; gap:10px; font-size:.92rem; border-bottom:1px dashed var(--lzen-border); padding:7px 0; margin:0;}
.lzen-hero__facts li:last-child{border-bottom:none;}
.lzen-hero__facts b{color:var(--lzen-ink);}
.lzen-numbox-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-bottom:26px;}
.lzen-numbox{background:#fff; border:1px solid var(--lzen-border); border-radius:14px; padding:16px; box-shadow:var(--lzen-shadow);}
.lzen-numbox__n{
  display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px;
  background:var(--lzen-teal); color:#fff; border-radius:50%; font-weight:800; font-size:.85rem; margin-bottom:8px;
}
.lzen-numbox h4{font-size:.95rem; margin:0 0 4px;}
.lzen-numbox p{font-size:.84rem; margin:0;}
.lzen-hero__cta-row{margin-bottom:4px;}
.lzen-hero__art{position:relative;}
.lzen-hero__bottle{border-radius:var(--lzen-radius);}
.lzen-hero__viz{
  margin-top:18px; background:var(--lzen-cream); border:1px solid var(--lzen-border);
  border-radius:16px; padding:16px; box-shadow:var(--lzen-shadow);
}
.lzen-hero__viz-label{font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.05em; color:var(--lzen-teal-dark); margin-bottom:6px;}

/* fuel gauge animation */
.lzen-gauge-needle{transform-origin:150px 150px; animation:lzenNeedle 4.5s ease-in-out infinite;}
@keyframes lzenNeedle{
  0%{transform:rotate(-55deg);}
  45%{transform:rotate(55deg);}
  55%{transform:rotate(55deg);}
  100%{transform:rotate(-55deg);}
}
.lzen-gauge-dot{animation:lzenPulse 2.4s ease-in-out infinite;}
@keyframes lzenPulse{0%,100%{opacity:.35;}50%{opacity:1;}}

/* ===== Why choose ===== */
.lzen-why-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.lzen-why-card{background:#fff; border:1px solid var(--lzen-border); border-radius:16px; padding:26px 20px; text-align:center; box-shadow:var(--lzen-shadow);}
.lzen-why-card__icon{
  width:56px; height:56px; margin:0 auto 14px; border-radius:50%; background:#eaf6f3;
  display:flex; align-items:center; justify-content:center; color:var(--lzen-teal-dark);
}
.lzen-why-card h3{font-size:1.02rem; margin-bottom:8px;}
.lzen-why-card p{font-size:.88rem;}

/* ===== Wave CTA banner ===== */
.lzen-wave{position:relative; background:linear-gradient(120deg,var(--lzen-teal),var(--lzen-teal-dark)); color:#fff; padding:52px 0; overflow:hidden;}
.lzen-wave svg.lzen-wave__bg{position:absolute; bottom:-2px; left:0; width:100%; height:auto; opacity:.18;}
.lzen-wave__inner{position:relative; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:22px;}
.lzen-wave h2{color:#fff; margin-bottom:6px;}
.lzen-wave p{color:#eafaf7; margin-bottom:0;}
.lzen-wave .lzen-btn{background:#fff; color:var(--lzen-teal-dark);}

/* ===== What is / story / how it works (2 col) ===== */
.lzen-twocol{display:grid; grid-template-columns:.95fr 1.05fr; gap:44px; align-items:center;}
.lzen-twocol.lzen-twocol--rev{grid-template-columns:1.05fr .95fr;}
.lzen-twocol.lzen-twocol--rev .lzen-twocol__img{order:2;}
.lzen-twocol__img img{border-radius:var(--lzen-radius); box-shadow:var(--lzen-shadow);}
.lzen-inline-link{font-weight:800;}

/* ===== Pricing ===== */
.lzen-stock-note{
  text-align:center; max-width:560px; margin:0 auto 28px; background:#fff3e2; color:#8a5a12;
  border:1px solid #f3d9a8; padding:10px 18px; border-radius:50px; font-weight:700; font-size:.88rem;
}
.lzen-pricing-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; align-items:stretch;}
.lzen-price-card{
  background:#fff; border:2px solid var(--lzen-border); border-radius:20px; padding:28px 22px;
  text-align:center; position:relative; display:flex; flex-direction:column; box-shadow:var(--lzen-shadow);
}
.lzen-price-card--best{border-color:var(--lzen-orange); transform:translateY(-10px);}
.lzen-price-card__badge{
  position:absolute; top:-16px; left:50%; transform:translateX(-50%); background:var(--lzen-orange); color:#fff;
  font-weight:800; font-size:.78rem; padding:7px 18px; border-radius:50px; white-space:nowrap;
}
.lzen-price-card h3{font-size:1.1rem; margin-bottom:4px;}
.lzen-price-card__days{font-size:.82rem; color:var(--lzen-ink-soft); margin-bottom:14px;}
.lzen-price-card img{max-height:150px; width:auto; margin:0 auto 14px;}
.lzen-price-card__price{font-family:'Sora',sans-serif; font-weight:800; font-size:2.2rem; color:var(--lzen-ink); margin-bottom:2px;}
.lzen-price-card__price span{font-size:.95rem; font-weight:700; color:var(--lzen-ink-soft);}
.lzen-price-card__save{color:var(--lzen-success); font-weight:800; font-size:.9rem; margin-bottom:14px;}
.lzen-price-card__total{font-size:.85rem; color:var(--lzen-ink-soft); margin-top:14px;}
.lzen-price-card__total s{opacity:.6; margin-right:4px;}
.lzen-price-card .lzen-btn{width:100%; margin-top:10px;}
.lzen-pay-badges{display:flex; justify-content:center; gap:8px; margin-top:12px; font-size:.75rem; color:var(--lzen-ink-soft); flex-wrap:wrap;}
.lzen-pay-badges span{border:1px solid var(--lzen-border); border-radius:6px; padding:4px 8px;}

/* ===== Guarantee ===== */
.lzen-guarantee{display:grid; grid-template-columns:.4fr 1fr; gap:36px; align-items:center; background:var(--lzen-cream); border:1px solid var(--lzen-border); border-radius:24px; padding:40px;}
.lzen-guarantee__seal{
  width:170px; height:170px; margin:0 auto; border-radius:50%; background:#fff; border:4px dashed var(--lzen-amber);
  display:flex; align-items:center; justify-content:center; text-align:center; font-family:'Sora',sans-serif; font-weight:800; color:var(--lzen-teal-dark); padding:14px;
}

/* ===== Shipping banner ===== */
.lzen-shipband{background:var(--lzen-amber); color:#3a2705; text-align:center; padding:18px 0; font-weight:800;}
.lzen-shipband span{display:inline-flex; align-items:center; gap:8px;}

/* ===== Ingredients ===== */
.lzen-ing-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.lzen-ing-card{background:#fff; border:1px solid var(--lzen-border); border-radius:16px; padding:24px; box-shadow:var(--lzen-shadow);}
.lzen-ing-card__tag{display:inline-block; background:#eaf6f3; color:var(--lzen-teal-dark); font-weight:800; font-size:.74rem; padding:5px 12px; border-radius:50px; margin-bottom:10px;}
.lzen-ing-card h3{font-size:1.05rem; margin-bottom:6px;}
.lzen-ing-card p{font-size:.9rem;}

/* ===== Benefits ===== */
.lzen-benefit{display:grid; grid-template-columns:.9fr 1.1fr; gap:36px; align-items:center; margin-bottom:46px;}
.lzen-benefit:nth-child(even){grid-template-columns:1.1fr .9fr;}
.lzen-benefit:nth-child(even) .lzen-benefit__img{order:2;}
.lzen-benefit__img img{border-radius:var(--lzen-radius); box-shadow:var(--lzen-shadow);}
.lzen-benefit__keys{font-size:.85rem; color:var(--lzen-teal-dark); font-weight:800; margin-bottom:10px;}

/* ===== Reviews ===== */
.lzen-review-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.lzen-review-card{background:#fff; border:1px solid var(--lzen-border); border-radius:16px; padding:22px; box-shadow:var(--lzen-shadow);}
.lzen-stars{color:var(--lzen-amber); font-size:1rem; margin-bottom:10px;}
.lzen-review-card p{font-size:.92rem;}
.lzen-review-card__name{font-weight:800; color:var(--lzen-ink); font-size:.9rem;}

/* ===== FAQ ===== */
.lzen-faq{max-width:820px; margin:0 auto;}
.lzen-faq__item{border:1px solid var(--lzen-border); border-radius:14px; margin-bottom:12px; overflow:hidden; background:#fff;}
.lzen-faq__q{
  width:100%; text-align:left; background:none; border:none; padding:18px 20px; font-weight:800; font-size:1rem;
  cursor:pointer; display:flex; justify-content:space-between; align-items:center; color:var(--lzen-ink); font-family:'Sora',sans-serif;
}
.lzen-faq__a{padding:0 20px 18px; display:none; font-size:.95rem;}
.lzen-faq__item.lzen-open .lzen-faq__a{display:block;}
.lzen-faq__q .lzen-plus{transition:transform .2s ease;}
.lzen-faq__item.lzen-open .lzen-plus{transform:rotate(45deg);}

/* ===== Final CTA ===== */
.lzen-finalcta{background:linear-gradient(120deg,var(--lzen-orange),var(--lzen-amber)); color:#3a2705; text-align:center; padding:60px 0; border-radius:24px;}
.lzen-finalcta h2{color:#3a2705;}
.lzen-finalcta p{color:#4d3608;}
.lzen-finalcta .lzen-btn{background:#1e2a28; box-shadow:none;}

/* ===== Label block ===== */
.lzen-label{display:grid; grid-template-columns:.7fr 1.3fr; gap:34px; align-items:center;}
.lzen-label img{border-radius:16px; box-shadow:var(--lzen-shadow);}

/* ===== References ===== */
.lzen-refs{font-size:.82rem; color:var(--lzen-ink-soft);}
.lzen-refs li{margin-bottom:6px;}

/* ===== Sticky order bar (mobile) ===== */
.lzen-stickybar{
  position:fixed; bottom:0; left:0; right:0; z-index:60; background:#fff; border-top:1px solid var(--lzen-border);
  padding:10px 16px; display:none; align-items:center; justify-content:space-between; gap:12px; box-shadow:0 -6px 18px rgba(0,0,0,.08);
}
.lzen-stickybar .lzen-btn{padding:12px 22px; font-size:.92rem; width:100%;}

/* ===== Footer ===== */
.lzen-footer{background:#15302d; color:#cfe6e2; padding:54px 0 24px;}
.lzen-footer__grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:30px; margin-bottom:34px;}
.lzen-footer h4{color:#fff; font-size:1rem; margin-bottom:14px;}
.lzen-footer p{color:#a9c7c2; font-size:.88rem;}
.lzen-footer ul{list-style:none; padding:0; margin:0;}
.lzen-footer a{color:#cfe6e2; font-size:.9rem;}
.lzen-footer a:hover{color:#fff;}
.lzen-footer__bottom{border-top:1px solid #294a46; padding-top:20px; font-size:.78rem; color:#8fb3ad; text-align:center;}
.lzen-footer__disclaimer{font-size:.76rem; color:#8fb3ad; max-width:900px; margin:0 auto 18px; text-align:center;}

/* ===== Blog cards (matches reference layout) ===== */
.lzen-blog-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
.lzen-blog-card{background:#fff; border:1px solid var(--lzen-border); border-radius:16px; overflow:hidden; box-shadow:var(--lzen-shadow); display:flex; flex-direction:column;}
.lzen-blog-card img{aspect-ratio:4/3; object-fit:cover; width:100%;}
.lzen-blog-card__body{padding:20px;}
.lzen-blog-card__tag{color:var(--lzen-orange); font-weight:800; font-size:.76rem; letter-spacing:.05em; text-transform:uppercase;}
.lzen-blog-card h3{font-size:1.05rem; margin:8px 0 10px;}
.lzen-blog-card p{font-size:.88rem;}
.lzen-blog-card__link{font-weight:800;}

/* ===== Inner page hero (simple) ===== */
.lzen-pagehero{padding:40px 0 10px;}
.lzen-breadcrumb{font-size:.85rem; color:var(--lzen-ink-soft); margin-bottom:10px;}
.lzen-breadcrumb a{font-weight:700;}

/* ===== Table (hero extra content alt) ===== */
.lzen-fact-table{width:100%; border-collapse:collapse; margin-bottom:22px; font-size:.9rem;}
.lzen-fact-table td{padding:8px 10px; border-bottom:1px solid var(--lzen-border);}
.lzen-fact-table td:first-child{font-weight:800; color:var(--lzen-ink); width:45%;}

/* ===== Responsive ===== */
@media (max-width:1024px){
  .lzen-why-grid{grid-template-columns:repeat(2,1fr);}
  .lzen-pricing-grid{grid-template-columns:1fr; max-width:420px; margin:0 auto;}
  .lzen-price-card--best{transform:none;}
  .lzen-ing-grid{grid-template-columns:repeat(2,1fr);}
  .lzen-review-grid{grid-template-columns:repeat(2,1fr);}
  .lzen-blog-grid{grid-template-columns:repeat(2,1fr);}
  .lzen-footer__grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:860px){
  .lzen-nav, .lzen-header__cta{display:none;}
  .lzen-burger{display:flex;}
  .lzen-hero__grid{grid-template-columns:1fr;}
  .lzen-hero__art{order:-1;}
  .lzen-numbox-grid{grid-template-columns:repeat(2,1fr);}
  .lzen-twocol, .lzen-twocol.lzen-twocol--rev{grid-template-columns:1fr;}
  .lzen-twocol__img, .lzen-twocol.lzen-twocol--rev .lzen-twocol__img{order:-1;}
  .lzen-benefit, .lzen-benefit:nth-child(even){grid-template-columns:1fr;}
  .lzen-benefit__img, .lzen-benefit:nth-child(even) .lzen-benefit__img{order:-1;}
  .lzen-guarantee{grid-template-columns:1fr; text-align:center;}
  .lzen-label{grid-template-columns:1fr;}
  .lzen-stickybar{display:flex;}
  body{padding-bottom:72px;}
}
@media (max-width:640px){
  :root{--lzen-fs-base:18px;}
  .lzen-why-grid, .lzen-ing-grid, .lzen-review-grid, .lzen-blog-grid{grid-template-columns:1fr;}
  .lzen-wave__inner{flex-direction:column; text-align:center;}
  .lzen-footer__grid{grid-template-columns:1fr;}
  .lzen-section{padding:44px 0;}
}

/* Prevent any element from forcing horizontal scroll */
.lzen-wrap, .lzen-grid, img, svg, table{min-width:0;}
.lzen-ing-grid > *, .lzen-why-grid > *, .lzen-review-grid > *, .lzen-blog-grid > *, .lzen-footer__grid > *{min-width:0;}
table{max-width:100%; display:block; overflow-x:auto;}
