/* =========================================================
   FortBite Store — fbst- prefixed styles
   Mobile-first: base rules target small screens; min-width
   queries progressively enhance for tablet (640px) and
   desktop (1021px). Built for a mobile-majority audience.
   ========================================================= */

:root{
  --fbst-navy: #16324f;
  --fbst-navy-deep: #0e2338;
  --fbst-gold: #c7963f;
  --fbst-gold-light: #e4c585;
  --fbst-mint: #2f9e86;
  --fbst-mint-light: #e6f5f1;
  --fbst-cream: #fbf8f2;
  --fbst-paper: #ffffff;
  --fbst-ink: #1c2a33;
  --fbst-ink-soft: #4a5a63;
  --fbst-line: #e4ddce;
  --fbst-radius: 18px;
  --fbst-radius-sm: 10px;
  --fbst-shadow: 0 18px 40px -22px rgba(14,35,56,.35);
  --fbst-maxw: 1180px;
  font-size: 100%;
}

*,*::before,*::after{ box-sizing: border-box; }
html{ -webkit-text-size-adjust:100%; text-size-adjust:100%; }
html,body{ max-width: 100%; overflow-x: hidden; }

body{
  margin:0;
  font-family: "Jost","Segoe UI",system-ui,-apple-system,sans-serif;
  color: var(--fbst-ink);
  background: var(--fbst-cream);
  line-height: 1.6;
  font-size: 17px;
  -webkit-font-smoothing: antialiased;
  padding-bottom: 68px; /* room for the mobile sticky order bar */
}

img{ max-width:100%; display:block; height:auto; }
a{ color: inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{ font-family:"Jost","Segoe UI",system-ui,-apple-system,sans-serif; font-weight:700; color: var(--fbst-navy-deep); margin:0 0 .5em; line-height:1.2; }
p{ margin:0 0 1em; color: var(--fbst-ink-soft); }

.fbst-wrap{ max-width: var(--fbst-maxw); margin:0 auto; padding:0 20px; }
.fbst-section{ padding: 56px 0; }
.fbst-section--tight{ padding: 40px 0; }
.fbst-kicker{
  display:inline-block; font-size: 14.5px; font-weight:600; letter-spacing:.02em;
  color: var(--fbst-mint); margin-bottom: 10px;
}
.fbst-section-head{ max-width: 680px; margin: 0 auto 32px; text-align:center; }
.fbst-section-head h2{ font-size: clamp(24px,6vw,40px); }
.fbst-section-head p{ font-size: 16px; }

/* Buttons: min 44px tap target for mobile usability */
.fbst-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height: 48px; padding: 14px 26px; border-radius: 999px; font-weight:600; font-size: 16px;
  font-family:"Jost",sans-serif; cursor:pointer; border:none; transition: transform .15s ease, box-shadow .15s ease;
}
.fbst-btn--primary{
  background: linear-gradient(135deg, var(--fbst-mint), #22806c);
  color:#fff; box-shadow: 0 14px 28px -12px rgba(47,158,134,.55);
}
.fbst-btn--primary:hover{ transform: translateY(-2px); box-shadow: 0 18px 34px -12px rgba(47,158,134,.6); }
.fbst-btn--ghost{
  background: transparent; color: var(--fbst-navy); border: 1.5px solid var(--fbst-navy);
}
.fbst-btn--ghost:hover{ background: var(--fbst-navy); color:#fff; }
.fbst-secure{
  display:flex; align-items:center; gap:8px; font-size: 13.5px; color: var(--fbst-ink-soft); margin-top:14px;
}
.fbst-secure svg{ width:16px; height:16px; flex:none; color: var(--fbst-mint); }

/* ---------- Header ---------- */
.fbst-header{
  position: sticky; top:0; z-index: 60; background: rgba(251,248,242,.95);
  backdrop-filter: blur(8px); border-bottom: 1px solid var(--fbst-line);
}
.fbst-header__bar{ display:flex; align-items:center; justify-content:space-between; padding: 14px 20px; max-width: var(--fbst-maxw); margin:0 auto; position:relative; }
.fbst-logo{ font-family:"Jost",sans-serif; font-size: 21px; font-weight:700; color: var(--fbst-navy-deep); }
.fbst-logo span{ color: var(--fbst-mint); }
.fbst-nav{ display:none; align-items:center; gap: 30px; }
.fbst-nav a{ font-size: 15.5px; font-weight:500; color: var(--fbst-ink); }
.fbst-nav a:hover{ color: var(--fbst-mint); }
.fbst-nav--open{ display:flex !important; position:absolute; top:100%; left:0; right:0; background:#fff;
  flex-direction:column; gap:0; padding: 8px 20px 16px; border-bottom:1px solid var(--fbst-line); }
.fbst-nav--open a{ padding: 12px 0; border-top:1px solid var(--fbst-line); }
.fbst-header__cta{ display:flex; align-items:center; gap:14px; }
.fbst-header__cta .fbst-btn{ display:none; }
.fbst-burger{ display:flex; align-items:center; justify-content:center; width:44px; height:44px; background:none; border:none; cursor:pointer; }
.fbst-burger svg{ width:24px; height:24px; color: var(--fbst-navy); }

/* ---------- Hero ---------- */
.fbst-hero{ padding: 32px 0 28px; background: var(--fbst-cream); position:relative; overflow:hidden; }
.fbst-hero__grid{ display:grid; grid-template-columns: 1fr; gap: 28px; align-items:center; }
.fbst-hero__visual{ order:-1; position:relative; }

.fbst-eyebrow-pills{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.fbst-pill{
  font-size: 12.5px; font-weight:600; padding: 6px 12px; border-radius: 999px;
  background: var(--fbst-mint-light); color: #1c6b59; border: 1px solid #c6e7df;
}
.fbst-hero h1{ font-size: clamp(28px,7.5vw,52px); margin-bottom:14px; }
.fbst-hero h1 em{ font-style:normal; color: var(--fbst-mint); }
.fbst-hero__lead{ font-size: 16.5px; max-width: 56ch; }

.fbst-hero__bullets{ display:grid; grid-template-columns: 1fr; gap: 10px; margin: 18px 0 22px; }
.fbst-hero__bullets li{ display:flex; gap:10px; align-items:flex-start; font-size:15px; color: var(--fbst-ink); font-weight:500; }
.fbst-hero__bullets svg{ width:18px; height:18px; flex:none; margin-top:2px; color: var(--fbst-mint); }

.fbst-steps{ display:grid; grid-template-columns: repeat(2,1fr); gap:10px; margin: 8px 0 24px; }
.fbst-step{
  background:#fff; border:1px solid var(--fbst-line); border-radius: var(--fbst-radius-sm);
  padding: 13px 12px; text-align:left;
}
.fbst-step__num{
  width:24px; height:24px; border-radius:50%; background: var(--fbst-navy); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; margin-bottom:7px;
}
.fbst-step h4{ font-size:13px; font-family:"Jost",sans-serif; font-weight:700; color: var(--fbst-navy-deep); margin:0 0 2px; }
.fbst-step p{ font-size: 12px; margin:0; color: var(--fbst-ink-soft); }

.fbst-hero__cta{ display:flex; flex-wrap:wrap; align-items:center; gap: 14px; }
.fbst-hero__cta .fbst-btn{ width:100%; }
.fbst-hero__cta .fbst-btn--ghost{ width:auto; }

.fbst-hero__blob{
  position:absolute; inset: -6% -10%; z-index:0;
  background: radial-gradient(60% 60% at 50% 40%, var(--fbst-gold-light) 0%, rgba(228,197,133,0) 70%);
  filter: blur(6px);
}
.fbst-hero__jar{ position:relative; z-index:1; }
.fbst-hero__jar img{ margin: 0 auto; max-width: min(340px, 100%); width:100%; }

.fbst-viz{
  position:relative; z-index:1; margin-top: 16px; background:#fff; border:1px solid var(--fbst-line);
  border-radius: var(--fbst-radius); padding: 16px 16px 14px; box-shadow: var(--fbst-shadow);
}
.fbst-viz__title{ font-size:13px; font-weight:700; color: var(--fbst-navy-deep); margin-bottom:8px; }
.fbst-viz svg{ width:100%; height:auto; }

/* ---------- Why choose / badges ---------- */
.fbst-why{ background: var(--fbst-paper); padding: 40px 0; border-top:1px solid var(--fbst-line); border-bottom:1px solid var(--fbst-line); }
.fbst-why__row{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:22px; text-align:center; }
.fbst-why__text h2{ font-size: 21px; margin-bottom:6px; }
.fbst-why__text p{ margin:0; font-size:14.5px; }
.fbst-why__badges img{ max-width: 100%; width:400px; }

/* ---------- Wave CTA banner ---------- */
.fbst-wave{
  background: linear-gradient(120deg, var(--fbst-navy), var(--fbst-navy-deep));
  color:#fff; padding: 36px 0; text-align:center; position:relative;
}
.fbst-wave h2, .fbst-wave h3{ color:#fff; font-size: clamp(21px,5.5vw,30px); margin-bottom: 8px; }
.fbst-wave p{ color: #cfe0db; margin-bottom: 18px; font-size:15px; }
.fbst-wave .fbst-btn--primary{ background:#fff; color: var(--fbst-navy-deep); box-shadow:none; }
.fbst-wave .fbst-btn--primary:hover{ background: var(--fbst-mint-light); }

/* ---------- What is ---------- */
.fbst-whatis{ background: var(--fbst-cream); }
.fbst-whatis__grid{ display:grid; grid-template-columns: 1fr; gap: 28px; align-items:center; }
.fbst-whatis__img{ border-radius: var(--fbst-radius); overflow:hidden; box-shadow: var(--fbst-shadow); }
.fbst-whatis h2{ font-size: clamp(22px,5.5vw,36px); }
.fbst-whatis__note{
  margin-top: 16px; padding: 14px 16px; background:#fff; border:1px solid var(--fbst-line);
  border-radius: var(--fbst-radius-sm); font-size: 14px; color: var(--fbst-ink-soft);
}

/* ---------- Pricing ---------- */
.fbst-pricing{ background: var(--fbst-paper); }
.fbst-plans{ display:grid; grid-template-columns: 1fr; gap: 18px; align-items:stretch; max-width:420px; margin:0 auto; }
.fbst-plan{
  background:#fff; border: 1.5px solid var(--fbst-line); border-radius: var(--fbst-radius);
  padding: 24px 20px 22px; text-align:center; position:relative; display:flex; flex-direction:column;
}
.fbst-plan--popular{ border-color: var(--fbst-mint); box-shadow: 0 24px 46px -24px rgba(47,158,134,.45); }
.fbst-plan__tag{
  position:absolute; top:-13px; left:50%; transform:translateX(-50%); background: var(--fbst-mint);
  color:#fff; font-size:12px; font-weight:700; padding:5px 14px; border-radius:999px; white-space:nowrap;
}
.fbst-plan img{ max-width: 140px; margin: 6px auto 14px; }
.fbst-plan h3{ font-size: 18px; margin-bottom:2px; }
.fbst-plan__supply{ font-size: 13px; color: var(--fbst-ink-soft); margin-bottom: 14px; }
.fbst-plan__price{ font-family:"Jost",sans-serif; font-size: 34px; color: var(--fbst-navy-deep); font-weight:700; }
.fbst-plan__per{ font-size:14px; font-weight:500; color: var(--fbst-ink-soft); }
.fbst-plan__total{ font-size: 13px; color: var(--fbst-ink-soft); margin: 4px 0 16px; }
.fbst-plan ul{ text-align:left; margin: 0 0 20px; display:grid; gap:8px; }
.fbst-plan ul li{ font-size: 14px; display:flex; gap:8px; align-items:flex-start; color: var(--fbst-ink); }
.fbst-plan ul li svg{ width:15px; height:15px; color: var(--fbst-mint); margin-top:3px; flex:none; }
.fbst-plan .fbst-btn{ margin-top:auto; width:100%; }
.fbst-pricing__note{ text-align:center; font-size: 12.5px; color: var(--fbst-ink-soft); margin-top: 22px; }

/* ---------- Guarantee ---------- */
.fbst-guarantee{ background: var(--fbst-cream); }
.fbst-guarantee__grid{ display:grid; grid-template-columns: 1fr; gap: 28px; align-items:center; }
.fbst-guarantee__img{ border-radius: var(--fbst-radius); overflow:hidden; box-shadow: var(--fbst-shadow); }
.fbst-guarantee ul{ display:grid; gap:14px; margin-top:18px; }
.fbst-guarantee ul li{ display:flex; gap:12px; align-items:flex-start; }
.fbst-guarantee ul li svg{ width:22px; height:22px; color: var(--fbst-mint); flex:none; margin-top:2px; }
.fbst-guarantee ul li strong{ display:block; color: var(--fbst-navy-deep); font-size:15px; }
.fbst-guarantee ul li span{ font-size:13.5px; color: var(--fbst-ink-soft); }

/* ---------- Bonuses ---------- */
.fbst-bonus{ background: var(--fbst-paper); }
.fbst-bonus__grid{ display:grid; grid-template-columns: 1fr; gap: 16px; }
.fbst-bonus__card{
  display:grid; grid-template-columns: 90px 1fr; gap: 14px; align-items:center;
  background: var(--fbst-cream); border:1px solid var(--fbst-line); border-radius: var(--fbst-radius);
  padding: 16px;
}
.fbst-bonus__card img{ border-radius: 10px; }
.fbst-bonus__card h4{ font-size:15px; margin-bottom:4px; }
.fbst-bonus__card p{ font-size:13px; margin:0; }
.fbst-bonus__free{ color: var(--fbst-mint); font-weight:700; font-size:12px; text-transform:uppercase; letter-spacing:.03em; display:block; margin-bottom:4px; }

/* ---------- Shipping banner ---------- */
.fbst-shipband{
  background: var(--fbst-mint-light); border-top:1px solid #c6e7df; border-bottom:1px solid #c6e7df;
  padding: 18px 0;
}
.fbst-shipband__row{ display:flex; flex-direction:column; align-items:center; gap: 12px; text-align:center; }
.fbst-shipband__item{ display:flex; align-items:center; gap:10px; font-size:14px; font-weight:600; color:#1c6b59; }
.fbst-shipband__item svg{ width:19px; height:19px; flex:none; }

/* ---------- Story ---------- */
.fbst-story{ background: var(--fbst-cream); }
.fbst-story__grid{ display:grid; grid-template-columns: 1fr; gap:24px; align-items:center; }
.fbst-story blockquote{
  font-family:"Jost",sans-serif; font-size: 18px; color: var(--fbst-navy-deep); font-weight:600;
  border-left: 3px solid var(--fbst-gold); padding-left: 16px; margin: 16px 0;
}

/* ---------- Ingredients ---------- */
.fbst-ingredients{ background: var(--fbst-paper); }
.fbst-ing-grid{ display:grid; grid-template-columns: repeat(2,1fr); gap: 14px; }
.fbst-ing-card{
  border:1px solid var(--fbst-line); border-radius: var(--fbst-radius); overflow:hidden; background: var(--fbst-cream);
}
.fbst-ing-card img{ width:100%; height:120px; object-fit: cover; aspect-ratio: 1/1; }
.fbst-ing-card__body{ padding: 12px 13px 14px; }
.fbst-ing-card h4{ font-size:14px; margin-bottom:4px; }
.fbst-ing-card p{ font-size: 12px; margin:0; }

/* ---------- Benefits ---------- */
.fbst-benefits{ background: var(--fbst-cream); }
.fbst-benefit-grid{ display:grid; grid-template-columns: 1fr; gap: 14px; }
.fbst-benefit{ background:#fff; border:1px solid var(--fbst-line); border-radius: var(--fbst-radius); padding: 20px 18px; text-align:left; }
.fbst-benefit__icon{
  width:42px; height:42px; border-radius:11px; background: var(--fbst-navy); color:#fff;
  display:flex; align-items:center; justify-content:center; margin-bottom:12px;
}
.fbst-benefit__icon svg{ width:20px; height:20px; }
.fbst-benefit h4{ font-size:15.5px; margin-bottom:5px; }
.fbst-benefit p{ font-size:13px; margin:0; }

/* ---------- Reviews ---------- */
.fbst-reviews{ background: var(--fbst-paper); }
.fbst-review-grid{ display:grid; grid-template-columns: 1fr; gap: 16px; }
.fbst-review{ background: var(--fbst-cream); border:1px solid var(--fbst-line); border-radius: var(--fbst-radius); padding: 20px; }
.fbst-review__top{ display:flex; align-items:center; gap:12px; margin-bottom:10px; }
.fbst-review__top img{ width:44px; height:44px; border-radius:50%; object-fit:cover; aspect-ratio:1/1; }
.fbst-review__name{ font-weight:700; font-size:14px; color: var(--fbst-navy-deep); }
.fbst-review__meta{ font-size:12px; color: var(--fbst-ink-soft); }
.fbst-stars{ color: var(--fbst-gold); font-size:14px; margin-bottom:8px; letter-spacing:2px; }
.fbst-review p{ font-size: 14px; margin:0; font-style:italic; }
.fbst-reviews__disclaimer{ text-align:center; font-size:12px; color: var(--fbst-ink-soft); margin-top:20px; max-width:640px; margin-left:auto; margin-right:auto; }

/* ---------- FAQ ---------- */
.fbst-faq{ background: var(--fbst-cream); }
.fbst-faq-list{ max-width: 760px; margin:0 auto; display:grid; gap: 10px; }
.fbst-faq-item{ background:#fff; border:1px solid var(--fbst-line); border-radius: var(--fbst-radius-sm); overflow:hidden; }
.fbst-faq-q{
  width:100%; text-align:left; background:none; border:none; cursor:pointer; padding: 16px 16px; min-height:44px;
  display:flex; justify-content:space-between; align-items:center; gap:14px; font-size:15px; font-weight:600;
  color: var(--fbst-navy-deep); font-family:"Jost",sans-serif;
}
.fbst-faq-q svg{ width:18px; height:18px; flex:none; transition: transform .2s ease; color: var(--fbst-mint); }
.fbst-faq-item.is-open .fbst-faq-q svg{ transform: rotate(45deg); }
.fbst-faq-a{ max-height:0; overflow:hidden; transition: max-height .25s ease; }
.fbst-faq-a p{ padding: 0 16px 16px; font-size:14px; margin:0; }
.fbst-faq-item.is-open .fbst-faq-a{ max-height: 320px; }

/* ---------- Final CTA ---------- */
.fbst-final{
  background: linear-gradient(135deg, var(--fbst-navy-deep), var(--fbst-navy));
  color:#fff; text-align:center; padding: 56px 0;
}
.fbst-final h2{ color:#fff; font-size: clamp(24px,6vw,40px); }
.fbst-final p{ color:#cfe0db; max-width: 560px; margin: 0 auto 22px; font-size:15px; }
.fbst-final .fbst-btn--primary{ background:#fff; color: var(--fbst-navy-deep); box-shadow:none; }

/* ---------- Label ---------- */
.fbst-label{ background: var(--fbst-paper); }
.fbst-label__grid{ display:grid; grid-template-columns: 1fr; gap: 28px; align-items:center; }
.fbst-label table{ width:100%; border-collapse: collapse; background:#fff; border:1px solid var(--fbst-line); border-radius: var(--fbst-radius-sm); overflow:hidden; }
.fbst-label th{ text-align:left; background: var(--fbst-navy); color:#fff; font-size:12.5px; padding:9px 12px; }
.fbst-label td{ padding: 9px 12px; font-size: 13.5px; border-top:1px solid var(--fbst-line); color: var(--fbst-ink); }
.fbst-label__disclaimer{ font-size:12px; color: var(--fbst-ink-soft); margin-top:14px; }

/* ---------- References ---------- */
.fbst-refs{ background: var(--fbst-cream); }
.fbst-refs ul{ display:grid; gap: 10px; max-width: 760px; margin: 0 auto; }
.fbst-refs li{ font-size: 13px; color: var(--fbst-ink-soft); padding-left: 18px; position:relative; }
.fbst-refs li::before{ content:"—"; position:absolute; left:0; color: var(--fbst-gold); }

/* ---------- Footer ---------- */
.fbst-footer{ background: var(--fbst-navy-deep); color:#cfd9de; padding: 44px 0 22px; }
.fbst-footer__grid{ display:grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-bottom: 32px; }
.fbst-footer__brand{ font-family:"Jost",sans-serif; font-weight:700; font-size:20px; color:#fff; margin-bottom:10px; }
.fbst-footer p{ color:#a9b7bd; font-size:13px; }
.fbst-footer h5{ color:#fff; font-size:13px; text-transform:uppercase; letter-spacing:.04em; margin-bottom:12px; }
.fbst-footer ul{ display:grid; gap:10px; }
.fbst-footer a{ font-size:14px; color:#cfd9de; }
.fbst-footer a:hover{ color:#fff; }
.fbst-footer__bottom{ border-top: 1px solid rgba(255,255,255,.12); padding-top: 20px; font-size:12px; color:#8a99a0; text-align:center; }

/* ---------- Sticky mobile order bar ---------- */
.fbst-stickybar{
  position: fixed; left:0; right:0; bottom:0; z-index: 70; background:#fff; border-top:1px solid var(--fbst-line);
  padding: 10px 16px; display:flex; align-items:center; justify-content:space-between; gap:12px;
  box-shadow: 0 -10px 24px -16px rgba(14,35,56,.3); transition: transform .25s ease;
}
.fbst-stickybar strong{ font-size:13.5px; color: var(--fbst-navy-deep); }
.fbst-stickybar .fbst-btn{ min-height:44px; padding: 11px 20px; font-size:14.5px; }

/* ---------- Simple legal page ---------- */
.fbst-legal{ padding: 44px 0 70px; max-width: 820px; margin:0 auto; }
.fbst-legal h1{ font-size: 28px; }
.fbst-legal h2{ font-size: 19px; margin-top: 30px; }
.fbst-legal p, .fbst-legal li{ color: var(--fbst-ink-soft); font-size: 15px; }
.fbst-legal ul{ display:grid; gap:8px; margin: 10px 0 10px 20px; list-style: disc; }
.fbst-legal a{ color: var(--fbst-mint); font-weight:600; }

/* Prevent CSS grid blowout: grid items default to min-width:auto, which can
   force a track wider than its container when content (e.g. a fixed-max-width
   image) can't shrink below its intrinsic size. This keeps every grid child
   shrinkable so columns never force the page wider than the viewport. */
.fbst-hero__grid > *, .fbst-whatis__grid > *, .fbst-guarantee__grid > *,
.fbst-story__grid > *, .fbst-label__grid > *, .fbst-why__row > *,
.fbst-plans > *, .fbst-ing-grid > *, .fbst-benefit-grid > *,
.fbst-review-grid > *, .fbst-footer__grid > *, .fbst-bonus__grid > * {
  min-width: 0;
}

/* ================= Tablet (≥640px) ================= */
@media (min-width: 640px){
  .fbst-hero__bullets{ grid-template-columns: 1fr 1fr; gap:10px 18px; }
  .fbst-why__row{ flex-direction:row; justify-content:space-between; text-align:left; }
  .fbst-ing-grid{ grid-template-columns: repeat(3,1fr); }
  .fbst-benefit-grid{ grid-template-columns: repeat(2,1fr); }
  .fbst-shipband__row{ flex-direction:row; justify-content:center; gap:36px; }
  .fbst-footer__grid{ grid-template-columns: 1.3fr 1fr 1fr; }
  .fbst-plans{ max-width:none; }
}

/* ================= Desktop (≥1021px) ================= */
@media (min-width: 1021px){
  body{ font-size: 18px; padding-bottom:0; }
  .fbst-wrap{ padding:0 24px; }
  .fbst-section{ padding: 88px 0; }
  .fbst-section--tight{ padding: 56px 0; }
  .fbst-section-head{ margin-bottom:48px; }
  .fbst-section-head p{ font-size:18px; }

  .fbst-nav{ display:flex; position:static; background:none; flex-direction:row; padding:0; border:none; }
  .fbst-nav a{ padding:0; border:none; }
  .fbst-header__cta .fbst-btn{ display:inline-flex; }
  .fbst-burger{ display:none; }
  .fbst-header__bar{ padding: 16px 24px; }

  .fbst-hero{ padding: 56px 0 40px; }
  .fbst-hero__grid{ grid-template-columns: 1.05fr .95fr; gap: 56px; }
  .fbst-hero__visual{ order:0; }
  .fbst-hero__lead{ font-size:19px; }
  .fbst-hero__bullets{ margin: 22px 0 28px; }
  .fbst-hero__bullets li{ font-size:15.5px; }
  .fbst-steps{ grid-template-columns: repeat(4,1fr); gap:12px; margin:10px 0 30px; }
  .fbst-step{ padding:14px 12px; }
  .fbst-hero__cta .fbst-btn{ width:auto; }
  .fbst-hero__jar img{ max-width:420px; }
  .fbst-viz{ margin-top:18px; padding:20px 20px 16px; }

  .fbst-why{ padding:60px 0; }
  .fbst-why__text h2{ font-size:24px; }
  .fbst-why__text p{ font-size:15.5px; }
  .fbst-why__badges img{ max-width:460px; }

  .fbst-wave{ padding:46px 0; }
  .fbst-wave p{ font-size:16px; }

  .fbst-whatis__grid, .fbst-guarantee__grid, .fbst-story__grid, .fbst-label__grid{
    grid-template-columns: 1fr 1fr; gap:48px;
  }
  .fbst-whatis__grid{ grid-template-columns: .9fr 1.1fr; gap:54px; }
  .fbst-story__grid{ gap:54px; }

  .fbst-plans{ grid-template-columns: repeat(3,1fr); gap:22px; }
  .fbst-plan{ padding:28px 24px 26px; }
  .fbst-plan--popular{ transform: translateY(-8px); }
  .fbst-plan img{ max-width:150px; }
  .fbst-plan__price{ font-size:36px; }

  .fbst-ing-grid{ grid-template-columns: repeat(4,1fr); gap:20px; }
  .fbst-ing-card img{ height:150px; }
  .fbst-benefit-grid{ grid-template-columns: repeat(4,1fr); gap:20px; }
  .fbst-review-grid{ grid-template-columns: repeat(3,1fr); gap:22px; }
  .fbst-footer__grid{ grid-template-columns: 1.4fr 1fr 1fr 1fr; gap:36px; }

  .fbst-stickybar{ display:none !important; }

  .fbst-final{ padding:78px 0; }
  .fbst-legal{ padding:64px 0 90px; }
  .fbst-legal h1{ font-size:32px; }
  .fbst-legal h2{ font-size:20px; }
  .fbst-legal p, .fbst-legal li{ font-size:15.5px; }
}

@media (prefers-reduced-motion: reduce){
  *{ transition:none !important; animation:none !important; }
}
