/* ==========================================================================
   KetoSlim — landing page
   Built from the KetoSlim design mockup
   ========================================================================== */

:root{
  --green-900:#062b20;
  --green-800:#0b3a2a;
  --green-700:#0e4a34;
  --green-600:#166b4b;
  --brand:#22a63a;
  --brand-dk:#1b8c30;
  --lime:#35c23d;
  --ink:#0d2e24;
  --body:#48685e;
  --mint:#eef8f1;
  --mint-2:#e3f5e9;
  --line:#dcece3;
  --pink:#fdeef1;
  --pink-line:#f9dde4;
  --gold:#f2b705;
  --wrap:1180px;
  --r-sm:10px;
  --r:14px;
  --r-lg:18px;
  --sh-sm:0 2px 12px rgba(11,58,42,.06);
  --sh:0 12px 32px rgba(11,58,42,.10);
  --sh-btn:0 8px 20px rgba(27,140,48,.28);
  --font-head:"Poppins","Inter",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --font-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}

html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}

body{
  margin:0;
  font-family:var(--font-body);
  color:var(--body);
  background:#fff;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%;display:block}

h1,h2,h3{font-family:var(--font-head);color:var(--ink);margin:0;line-height:1.15;letter-spacing:-.015em}

p{margin:0}

a{color:inherit;text-decoration:none}

ul,ol{margin:0;padding:0;list-style:none}

.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:22px}

/* ------------------------------- buttons ------------------------------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--font-head);font-weight:700;font-size:14.5px;
  border:0;border-radius:var(--r);cursor:pointer;white-space:nowrap;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, filter .18s ease;
}
.btn-primary{
  background:linear-gradient(180deg,#2cb640 0%,#1f9a33 100%);
  color:#fff;box-shadow:var(--sh-btn);
}
.btn-primary:hover{filter:brightness(1.05);transform:translateY(-2px);box-shadow:0 12px 26px rgba(27,140,48,.34)}
.btn-primary:active{transform:translateY(0)}
.btn-lg{padding:16px 32px;font-size:16.5px;border-radius:13px}
.btn-block{display:block;width:100%;padding:15px 20px;font-size:15.5px}
.btn-nav{padding:11px 24px;font-size:13.5px;border-radius:10px}

/* ------------------------------ offer bar ----------------------------- */
.offer-bar{background:var(--green-800);color:#fff;font-size:12.5px}
.offer-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:42px;padding-block:6px}
.offer-msg{font-weight:500;letter-spacing:.1px}
.offer-msg strong{color:#8ef08f;font-weight:700}
.countdown{display:flex;align-items:center;gap:8px}
.cd-label{opacity:.9;font-weight:500;margin-right:2px}
.cd-box{
  background:#072a20;border-radius:7px;min-width:38px;padding:4px 7px 3px;
  display:flex;flex-direction:column;align-items:center;line-height:1;
}
.cd-box b{font-family:var(--font-head);font-size:14px;font-weight:700}
.cd-box i{font-style:normal;font-size:7.5px;text-transform:uppercase;letter-spacing:.09em;opacity:.62;margin-top:3px}

/* -------------------------------- header ------------------------------ */
.site-header{position:sticky;top:0;z-index:60;background:#fff;transition:box-shadow .25s ease}
.site-header.scrolled{box-shadow:0 4px 18px rgba(11,58,42,.09)}
.header-inner{display:flex;align-items:center;gap:24px;min-height:74px}

.logo{display:flex;align-items:center;gap:10px;flex:none}
.logo-leaf{width:40px;height:40px;flex:none}
.logo-type{display:flex;flex-direction:column;line-height:1}
.logo-word{font-family:var(--font-head);font-weight:700;font-size:27px;color:var(--green-700);letter-spacing:-.02em}
.logo-word em{font-style:normal;color:var(--brand)}
.logo-type small{font-size:8.5px;letter-spacing:.13em;color:#8aa79a;margin-top:4px;font-weight:600}

.nav{display:flex;align-items:center;gap:28px;margin-left:auto}
.nav a{font-size:13.5px;font-weight:600;color:#2c4a3e;padding:8px 0;position:relative;transition:color .18s ease}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:2px;background:var(--brand);transition:right .22s ease}
.nav a:hover,.nav a.active{color:var(--green-700)}
.nav a:hover::after,.nav a.active::after{right:0}
.btn-nav{margin-left:8px}

.nav-toggle{display:none;width:42px;height:42px;border:1px solid var(--line);background:#fff;border-radius:10px;cursor:pointer;padding:11px 10px;flex-direction:column;justify-content:space-between}
.nav-toggle span{display:block;height:2px;background:var(--green-700);border-radius:2px;transition:transform .25s ease,opacity .2s ease}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* --------------------------------- hero ------------------------------- */
.hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(900px 420px at 78% 34%, rgba(126,201,142,.30), transparent 62%),
    linear-gradient(180deg,#f2f8f3 0%,#f8fbf8 55%,#fff 100%);
}
.hero::after{
  content:"";position:absolute;right:-120px;top:-80px;width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle,rgba(150,214,158,.22),transparent 68%);pointer-events:none;
}
.hero-inner{
  position:relative;z-index:1;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);
  align-items:center;gap:26px;padding-block:48px 44px;
}

.eyebrow{
  display:inline-block;background:#fff;border:1px solid #b6dfc4;color:var(--green-700);
  font-size:12.5px;font-weight:600;padding:7px 17px;border-radius:999px;letter-spacing:.01em;
}
.hero h1{font-size:clamp(38px,5.1vw,60px);font-weight:800;margin:20px 0 16px;line-height:1.03}
.hero h1 .hl{color:var(--lime)}
.hero-sub{font-size:16.5px;font-weight:600;color:#173a2d;max-width:440px;line-height:1.5}

.hero-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px;margin:26px 0 28px;max-width:440px}
.hero-points li{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:500;color:#33554a;line-height:1.3}
.hero-points strong{font-weight:700;color:var(--ink)}
.ic{display:grid;place-items:center;flex:none;border-radius:50%}
.ic-green{width:34px;height:34px;background:var(--brand);box-shadow:0 5px 12px rgba(27,140,48,.25)}
.ic-green svg{width:19px;height:19px}
.ic-lg{width:46px;height:46px;border-radius:13px;box-shadow:0 6px 14px rgba(27,140,48,.22)}
.ic-lg svg{width:23px;height:23px}
.ic-round{width:48px;height:48px;background:#fff}
.ic-round svg{width:23px;height:23px}
.ic-dark{width:36px;height:36px;background:rgba(255,255,255,.12)}
.ic-dark svg{width:19px;height:19px}

.trust-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;margin-top:20px;color:#2d4d40}
.trust-row li{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600}
.trust-row svg{width:16px;height:16px;color:var(--green-700)}

.hero-media{position:relative;align-self:center}
.hero-media img{width:100%;height:auto}
.script{
  position:absolute;top:6%;right:1%;width:23%;
  color:#1f7a3d;font-family:"Caveat","Segoe Script","Bradley Hand","Brush Script MT","Snell Roundhand",cursive;
  font-size:clamp(16px,1.8vw,26px);font-weight:700;line-height:1.1;text-align:center;
  transform:rotate(-7deg);pointer-events:none;
}
.script-arrow{width:62%;margin:2px 0 0 auto}

/* -------------------------------- stats ------------------------------- */
.stats{padding:46px 0 40px;background:linear-gradient(180deg,#fff,#fbfefc)}
.section-title{font-size:clamp(24px,2.6vw,31px);font-weight:800;text-align:center}
.section-sub{text-align:center;font-size:14px;color:#5b7a6e;margin-top:9px}
.section-title.light,.section-sub.light{color:#fff}
.section-sub.light{color:rgba(255,255,255,.78)}

.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:26px}
.stat-card{background:var(--mint);border-radius:var(--r);padding:20px 18px;display:flex;align-items:center;gap:14px}
.stat-card p{font-size:13px;color:#41645a;line-height:1.35}
.stat-card strong{font-size:14.5px;color:var(--ink);font-weight:700}

/* ----------------------------- how it works --------------------------- */
.how{padding:12px 0 46px}
.how-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:18px;align-items:stretch}
.card{border-radius:var(--r-lg);padding:30px 32px;position:relative;overflow:hidden}
.card-mint{background:linear-gradient(175deg,#eef9f1 0%,#e4f5ea 100%)}
.card-pink{background:var(--pink);border:1px solid var(--pink-line);display:flex;flex-direction:column;justify-content:center}
.card-title{font-size:clamp(21px,2vw,26px);font-weight:800}
.card-lead{font-size:13.5px;color:#45685c;margin-top:10px;max-width:430px;line-height:1.6}

.steps{display:grid;gap:15px;margin-top:22px}
.steps li{display:flex;gap:14px;align-items:flex-start}
.step-num{
  width:34px;height:34px;border-radius:50%;flex:none;display:grid;place-items:center;
  background:linear-gradient(180deg,#2cb640,#1b8c30);color:#fff;font-family:var(--font-head);
  font-weight:700;font-size:15px;box-shadow:0 6px 14px rgba(27,140,48,.26);
}
.steps strong{font-family:var(--font-head);font-size:14.5px;color:var(--ink);font-weight:700;display:block}
.steps p{font-size:12.5px;color:#527468;margin-top:2px}

.ingredients{position:relative;width:min(100%,330px);aspect-ratio:1;margin:26px auto 6px}
.ing-ring{position:absolute;inset:0;width:100%;height:100%;opacity:.75}
.ing{position:absolute;width:25%;margin:0;text-align:center}
.ing img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:50%;border:2px solid #9adbb0;background:#fff;box-shadow:0 6px 14px rgba(13,74,52,.10)}
.ing figcaption{font-family:var(--font-head);font-size:10.5px;font-weight:700;color:var(--green-700);line-height:1.2}
.ing-top{justify-content:flex-end;display:flex;flex-direction:column-reverse}
.ing-top figcaption{margin-bottom:5px}
.ing-bottom figcaption{margin-top:5px}
.ing-tl{left:14%;bottom:62%}
.ing-tr{right:14%;bottom:62%}
.ing-bl{left:14%;top:58%}
.ing-br{right:14%;top:58%}
.ing-hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:29%}
.ing-hub img{width:100%;border-radius:50%;box-shadow:0 8px 18px rgba(13,74,52,.12)}

.ba{display:flex;align-items:center;gap:8px;margin-top:24px;align-self:center;width:100%;max-width:420px}
.ba-item{position:relative;flex:1;margin:0;min-width:0}
.ba-item img{width:100%;border-radius:12px;background:#eef1f2;box-shadow:0 6px 16px rgba(11,58,42,.08)}
.ba-label{
  position:absolute;left:50%;bottom:12px;transform:translateX(-50%);
  padding:6px 22px;border-radius:9px;font-family:var(--font-head);font-size:13px;font-weight:700;color:#fff;
}
.ba-before{background:#98a1a6}
.ba-after{background:var(--brand)}
.ba-arrow{width:36px;flex:none;display:grid;place-items:center}
.ba-arrow svg{width:34px;height:34px;filter:drop-shadow(0 4px 8px rgba(27,140,48,.28))}
.brush{display:block;width:60%;margin:24px 0 0 auto;align-self:flex-end}

/* ------------------------------ why choose ---------------------------- */
.why{
  position:relative;overflow:hidden;color:#fff;
  background:linear-gradient(120deg,#0a3527 0%,#0d4a33 55%,#11603c 100%);
  padding:48px 0 52px;
}
.why-photo{
  position:absolute;right:0;top:0;height:100%;width:auto;max-width:42%;
  object-fit:cover;object-position:right center;pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 16%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 16%);
}
.why-photo::after{content:none}
.why-inner{position:relative;z-index:1}
.why-copy{max-width:700px}
.why .section-title,.why .section-sub{text-align:left}
.why-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:30px}
.why-item{padding-right:16px;border-right:1px solid rgba(255,255,255,.14)}
.why-item:last-child{border-right:0;padding-right:0}
.why-item h3{font-size:15.5px;font-weight:700;color:#fff;margin-bottom:9px;line-height:1.3}
.why-item p{font-size:12.5px;color:rgba(255,255,255,.72);line-height:1.5}

/* ------------------------------- reviews ------------------------------ */
.reviews{padding:52px 0 48px;background:#fbfdfc}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:26px}
.review-card{background:#fff;border:1px solid #e5efe9;border-radius:var(--r);padding:22px;box-shadow:var(--sh-sm);transition:transform .22s ease,box-shadow .22s ease;display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start}
.review-card:hover{transform:translateY(-3px);box-shadow:var(--sh)}
.avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid #eaf5ee}
.review-body{min-width:0}
.stars{color:var(--gold);font-size:15px;letter-spacing:1.5px;line-height:1;margin-top:10px}
.review-card blockquote{margin:0;font-size:13.5px;color:#3f5f54;line-height:1.65}
.review-card cite{display:block;margin-top:11px;font-style:normal;font-size:12.5px;font-weight:700;color:var(--green-700)}

/* --------------------------------- faq -------------------------------- */
.faq{padding:52px 0 56px;background:#fff}
.faq-inner{max-width:880px}
.faq-list{display:grid;gap:11px;margin-top:26px}
.faq-item{border:1px solid #e4efe9;border-radius:12px;background:#fcfefd;padding:0 20px;transition:border-color .2s ease,box-shadow .2s ease}
.faq-item[open]{border-color:#bfe3cd;box-shadow:var(--sh-sm);background:#fff}
.faq-item summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:16px 0;font-family:var(--font-head);font-size:15px;font-weight:700;color:var(--ink);
}
.faq-item summary::-webkit-details-marker{display:none}
.chev{width:9px;height:9px;flex:none;border-right:2px solid var(--brand);border-bottom:2px solid var(--brand);transform:rotate(45deg) translateY(-2px);transition:transform .25s ease}
.faq-item[open] .chev{transform:rotate(-135deg) translateY(-2px)}
.faq-item p{font-size:13.5px;color:#4a6a60;line-height:1.7;padding:0 0 17px;max-width:72ch}

/* --------------------------------- cta -------------------------------- */
.cta{
  position:relative;overflow:hidden;color:#fff;padding:44px 0 48px;
  background:linear-gradient(100deg,#0a5c2f 0%,#0f6c35 40%,#1a7a3c 75%,#2c8f42 100%);
}
.cta-photo{
  position:absolute;right:0;top:0;height:100%;width:auto;max-width:56%;
  object-fit:cover;object-position:right center;pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 18%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 18%);
}
.cta::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(100deg,rgba(10,92,47,.94) 0%,rgba(13,100,50,.72) 38%,rgba(20,118,58,.30) 62%,rgba(30,132,64,.06) 100%);
}
.cta-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 460px;gap:30px;align-items:center}
.pill-lime{display:inline-block;background:#d8f7a6;color:#0a5c2f;font-size:12px;font-weight:700;padding:6px 15px;border-radius:999px}
.cta-copy h2{color:#fff;font-size:clamp(27px,3.2vw,40px);font-weight:800;margin:15px 0 12px;line-height:1.1}
.cta-copy p{font-size:14.5px;color:rgba(255,255,255,.88);max-width:430px;line-height:1.6}

.price-card{background:#fff;border-radius:var(--r-lg);padding:20px 22px;box-shadow:0 22px 44px rgba(0,0,0,.20);color:var(--ink)}
.price-row{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:12px;padding-bottom:15px;border-bottom:1px solid #edf3ef}
.price-old span,.price-new span{display:block;font-size:11.5px;color:#7b968a;margin-bottom:3px}
.price-old s{font-size:20px;font-weight:600;color:#a7bcaf}
.price-new strong{font-family:var(--font-head);font-size:27px;font-weight:800;color:var(--green-700);line-height:1}
.seal{position:relative;width:64px;height:64px;display:grid;place-items:center}
.seal svg{position:absolute;inset:0;width:100%;height:100%}
.seal span{position:relative;text-align:center;font-family:var(--font-head);font-size:13.5px;font-weight:800;color:#fff;line-height:1.06;letter-spacing:.4px}
.trust-row-sm{gap:8px 14px;margin-top:15px;color:#45685c}
.trust-row-sm li{font-size:11.5px;font-weight:600}
.trust-row-sm svg{width:14px;height:14px}

/* -------------------------------- footer ------------------------------ */
.site-footer{background:var(--green-900);color:rgba(255,255,255,.86);padding:24px 0}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.foot-item{display:flex;align-items:center;gap:11px;font-size:12.5px;font-weight:600}
.disclosure{
  margin:18px auto 0;max-width:900px;text-align:center;
  font-size:11.5px;line-height:1.6;color:rgba(255,255,255,.52);
  border-top:1px solid rgba(255,255,255,.10);padding-top:16px;
}
.disclosure[hidden]{display:none}

/* optional: a stronger disclosure bar you can place under the hero.
   <p class="disclosure-bar">We may earn a commission…</p>            */
.disclosure-bar{
  margin:0;background:#0b3a2a;color:rgba(255,255,255,.78);
  font-size:12px;line-height:1.6;text-align:center;
  padding:10px 22px;border-top:1px solid rgba(255,255,255,.10);
}

/* --------------------------- reveal animation ------------------------- */
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s cubic-bezier(.22,.8,.3,1)}
.js .reveal.in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .reveal{opacity:1;transform:none;transition:none}
  *{animation-duration:.001ms !important;transition-duration:.001ms !important}
}

/* ------------------------------ responsive ---------------------------- */
@media (max-width:1080px){
  .why-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 18px}
  .why-item:nth-child(2n){border-right:0;padding-right:0}
  .why-photo{max-width:38%}
  .cta-inner{grid-template-columns:minmax(0,1fr) 400px}
}

@media (max-width:960px){
  .nav{position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;
    padding:6px 22px 16px;box-shadow:0 18px 30px rgba(11,58,42,.12);
    opacity:0;transform:translateY(-10px);pointer-events:none;transition:opacity .22s ease,transform .22s ease;margin-left:0}
  .nav.open{opacity:1;transform:none;pointer-events:auto}
  .nav a{padding:13px 0;border-bottom:1px solid #f1f6f3;font-size:15px}
  .nav a::after{display:none}
  .nav-toggle{display:flex;z-index:2}
  .btn-nav{margin-left:auto}

  .hero-inner{grid-template-columns:1fr;gap:28px;padding-block:36px 34px}
  .hero-copy{max-width:620px}
  .hero-media{max-width:560px;margin-inline:auto;width:100%}
  .script{font-size:clamp(16px,3.4vw,24px);width:24%}

  .how-grid{grid-template-columns:1fr}
  .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .review-grid{grid-template-columns:1fr}
  .review-card{display:grid;grid-template-columns:auto 1fr;gap:0 16px;align-items:start}
  .review-head{grid-column:1/-1}
  .review-card blockquote{grid-column:1/-1}
  .cta-inner{grid-template-columns:1fr;gap:26px}
  .why-photo{
    position:relative;right:auto;top:auto;height:230px;width:calc(100% - 44px);
    max-width:none;margin:22px auto 0;border-radius:var(--r);
    -webkit-mask-image:none;mask-image:none;object-position:center 45%;
  }
  .cta-photo{
    position:relative;right:auto;top:auto;height:auto;width:calc(100% - 32px);
    max-width:none;margin:0 auto 18px;border-radius:16px;object-position:72% 42%;
    -webkit-mask-image:none;mask-image:none;
  }
  .cta::before{background:linear-gradient(180deg,rgba(10,92,47,.94),rgba(12,98,50,.9))}
}

@media (max-width:620px){
  .wrap{padding-inline:16px}
  .header-inner{gap:12px;min-height:66px}
  .btn-nav{display:none}
  .nav-toggle{margin-left:auto}
  .logo-leaf{width:34px;height:34px}
  .logo-word{font-size:23px}
  .logo-type small{font-size:7.5px}
  .offer-inner{flex-direction:column;gap:6px;padding-block:9px;text-align:center}
  .offer-msg{font-size:12px}
  .hero h1{font-size:clamp(32px,9vw,44px)}
  .hero-sub{font-size:15px}
  .hero-points{grid-template-columns:1fr;gap:12px}
  .stat-grid{grid-template-columns:1fr}
  .card{padding:24px 20px}
  .ingredients{width:min(100%,290px)}
  .why-grid{grid-template-columns:1fr}
  .why-item{border-right:0;padding-right:0;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:20px}
  .why-item:last-child{border-bottom:0}
  .price-row{grid-template-columns:1fr auto;row-gap:10px}
  .price-old{grid-column:1}
  .seal{grid-row:1/3;grid-column:2;width:58px;height:58px}
  .price-new{grid-column:1}
  .trust-row-sm{justify-content:flex-start}
  .footer-inner{flex-direction:column;align-items:flex-start;gap:14px}
  .script{font-size:14px;top:6%;right:0;width:26%}
  .brush{width:78%;margin-top:18px}
}
