/* ===================================================================
   JELLYFIT PRO — jellyfitpros.com
   Palette : ink #6E0E14 (deep crimson-red, matching the label's own
             red gradient band) | ink-dk #4A0710 | steel(=bright
             coral-red accent, echoing the label's own gummy color)
             #E23E44 | steel-dk #B32E33 | sage(=lighter coral
             highlight) #F17F82 | stone #FFF8F7 | sand #FCE6E5 |
             slate #4A3536 | line #F2D9D8
   Type    : 'Baloo 2' (bold, rounded, playful display, echoing a
             gummy/confection feel) + 'Figtree' (clean, neutral body)
             — a fresh pairing not reused
   Motif   : gummy drift bounce — small soft gummy-shaped forms drift
             and gently bounce behind the bottle, echoing the
             product's own gummy format directly, distinct from the
             gummy bounce trail (a bouncing trail of dots) used
             elsewhere by being soft rounded gummy shapes rather than
             simple dots
   Layout  : STRUCTURALLY UNIQUE HERO — a seventy-ninth distinct hero
             paradigm for this project: GUMMY DRIFT BOUNCE. Small
             soft gummy-shaped forms drift and gently bounce behind
             the bottle, echoing the product's own gummy format -
             distinct from a solid orb, chevrons, corner frames,
             petal shapes, a ribbon orbit, a medallion ring, honeycomb
             cells, cross-hair lines, a drip arc, power bars, an EKG
             pulse line, a DNA helix, a hex node grid, an ascending
             arrow trail, expanding ripple rings, a crystal drop
             facet, a flex arc, a synapse spark web, a honeycomb bee
             path, a focus ring iris, a gummy bounce trail, a calm
             wave ring, an amber melt drip, a neon drop glow, a wave
             crest arc, a power slash, a radiant glow halo, a
             galloping trail, a nerve signal wave, a nerve root
             branch, a cell cluster orbit, a compass bearing arc, a
             thought bubble trail, rising flame wisps, citrus burst
             rays, a rising sun arc, silk strand waves, circuit pulse
             lines, golden thread weave, a page turn arc, a balance
             scale arc, a vital drop trail, a breeze wisp trail, a
             lantern glow drift, a heartbeat ring pulse, a dotted
             halo bloom, a cortex fold wave, a rosemary sprig sway, a
             neural node web, a heart line echo, a mobility ribbon
             flow, a ginkgo leaf drift, a signal stream cascade, a
             droplet arrow rise, a steady gauge settle, a verify scan
             sweep, a petal drift rise, a neural spark cascade, a
             zenith peak arc, a voltage arc crackle, a prism refract
             drift, a heat shimmer rise, a nectar ribbon swirl, an
             ember spiral rise, a synapse pulse arc, or a glucose ring
             settle used in this project's other builds. The bottle
             image itself is NEVER clipped or masked by the gummy
             shapes - it stays fully open with object-fit:contain.
   Voice   : cautious, structure-function only - JellyFit Pro
             supports ketosis, fat metabolism, and everyday energy as
             part of a healthy lifestyle. NEVER claims to treat,
             cure, or prevent obesity or any other diagnosed medical
             condition.
   SOURCING NOTE: the assigned competitor source is an independent,
             third-party review site (WellspringWeightloss.com), not
             the manufacturer's own page - an unusually cautious,
             well-sourced review. It confirms the formula (a 325mg
             proprietary blend of Apple Cider Vinegar, Magnesium BHB,
             Calcium BHB, and Sodium BHB, per serving of 1 gummy),
             full label nutrition facts (5 calories, 1g total
             carbohydrates, 1g total/added sugars, 2.5mg sodium, 1mg
             calcium, 0.75mg magnesium), confirmed pricing, and a
             detailed 60-day guarantee procedure. A GENUINE
             DISCREPANCY was found and is disclosed rather than
             smoothed over: this build's own physical label images
             display "525MG Proprietary Blend" on the front label,
             while the source's detailed Supplement Facts transcription
             states "Proprietary Blend: 325 mg." Since the source's
             figure comes from a direct, detailed reading of the full
             nutrition panel (alongside exact calorie, carbohydrate,
             and mineral figures), it is treated as the more reliable
             number, with the front-label discrepancy disclosed
             openly. The source's own honest cautions - that
             individual ingredient amounts within the proprietary
             blend are not disclosed, that no third-party testing is
             mentioned, and that allergen information was not found in
             the reviewed materials - are incorporated directly rather
             than smoothed over. Confirmed pricing ($79/bottle for 2
             bottles, total $158, +$9.99 shipping; $69/bottle for 3
             bottles, total $207, free shipping; $49/bottle for 6
             bottles, total $294, free shipping) and the 60-day
             guarantee (approved within 60 days of purchase, returned
             within 14 days of approval, change-of-mind returns pay
             their own shipping, defective items have shipping covered
             by the seller, both opened and unopened bottles eligible)
             are used exactly as confirmed.
   Rules   : grids minmax(0,1fr) · flex min-width:0 · img max-width min(Npx,100%)
             mobile hero order = IMAGE first, then H1, then rest
=================================================================== */

:root{
  --ink:#6E0E14;
  --ink-dk:#4A0710;
  --steel:#E23E44;
  --steel-dk:#B32E33;
  --sage:#F17F82;
  --stone:#FFF8F7;
  --sand:#FCE6E5;
  --slate:#4A3536;
  --line:#F2D9D8;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--stone);color:#211C18;
  font-family:'Figtree',system-ui,sans-serif;font-size:17px;line-height:1.72;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:'Baloo 2',sans-serif;font-weight:700;line-height:1.24;margin:0 0 .5em;
  color:var(--ink);text-transform:none;overflow-wrap:break-word;word-break:break-word}
h1{font-size:clamp(2.05rem,5vw,2.95rem);font-weight:800}
h2{font-size:clamp(1.55rem,3.1vw,2.05rem)}
h3{font-size:1.25rem}
h4{font-family:'Baloo 2',sans-serif;font-weight:600;font-size:1.02rem;margin:0 0 .5em;color:var(--ink)}
p{margin:0 0 1.15em}
a{color:inherit;text-decoration:none}
strong,b{color:var(--ink)}
img{max-width:100%;height:auto;display:block}
.jf-wrap{max-width:1160px;margin:0 auto;padding:0 22px}
.jf-narrow{max-width:830px;margin:0 auto}
.jf-mid{text-align:center}

.jf-eyebrow{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--steel-dk);margin-bottom:.8em}
.jf-pill{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);
  border-radius:999px;padding:9px 19px;font-size:.8rem;font-weight:700;color:var(--ink);
  box-shadow:0 4px 14px rgba(28,56,50,.06)}

/* ---------- buttons ---------- */
.jf-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;
  background:var(--ink);color:#fff;font-weight:700;font-size:.98rem;font-family:'Baloo 2',sans-serif;
  padding:15px 30px;border:none;border-radius:6px;cursor:pointer;letter-spacing:.02em;
  transition:transform .16s,box-shadow .16s,background .16s;
  box-shadow:0 10px 24px rgba(28,56,50,.26)}
.jf-btn:hover{background:var(--ink-dk);transform:translateY(-2px);color:#fff}
.jf-btn-sage{background:var(--sage);box-shadow:0 10px 24px rgba(110,156,126,.32)}
.jf-btn-sage:hover{background:#5A8768}
.jf-btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:10px;
  background:#fff;border:1px solid var(--line);color:var(--ink);font-family:'Baloo 2',sans-serif;
  font-weight:600;font-size:.95rem;padding:14px 26px;border-radius:6px;transition:.16s}
.jf-btn-ghost:hover{border-color:var(--steel);color:var(--steel-dk)}
.jf-btn-full{width:100%}

/* ---------- top bar ---------- */
.jf-strip{background:var(--ink);color:#B9CBC4;font-size:.76rem;text-align:center;padding:9px 16px}
.jf-strip b{color:var(--sage)}
.jf-strip span{white-space:nowrap;margin:0 10px;display:inline-block}
@media(max-width:580px){.jf-strip{font-size:.7rem;line-height:1.55}.jf-strip span{white-space:normal;margin:0 6px}}

/* ---------- nav ---------- */
.jf-nav{position:sticky;top:0;z-index:900;background:rgba(247,246,241,.94);backdrop-filter:blur(9px);
  border-bottom:1px solid var(--line)}
.jf-nav .jf-wrap{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 22px}
.jf-logo{font-family:'Baloo 2',sans-serif;font-weight:700;font-size:1.3rem;color:var(--ink);white-space:nowrap;letter-spacing:.01em}
.jf-logo em{font-style:normal;color:var(--steel-dk)}
.jf-links{display:flex;align-items:center;gap:24px;list-style:none;margin:0;padding:0}
.jf-links a{font-size:.87rem;font-weight:600;color:var(--ink);opacity:.8}
.jf-links a:hover{opacity:1;color:var(--steel-dk)}
.jf-links a.jf-btn,.jf-links a.jf-btn:hover{color:#fff;opacity:1}
.jf-toggle{display:none;background:none;border:none;color:var(--ink);font-size:1.5rem;cursor:pointer;line-height:1}
@media(max-width:1020px){
  .jf-links{position:absolute;top:100%;left:0;right:0;background:var(--stone);flex-direction:column;
    align-items:stretch;gap:0;border-top:1px solid var(--line);display:none;max-height:76vh;overflow:auto}
  .jf-links.open{display:flex}
  .jf-links li{border-bottom:1px solid var(--line)}
  .jf-links a{display:block;padding:15px 22px}
  .jf-links .jf-btn{margin:14px 22px;width:calc(100% - 44px)}
  .jf-toggle{display:block}
}

/* ---------- sections ---------- */
.jf-sec{padding:76px 0}
.jf-sec-sand{background:var(--sand)}
.jf-sec-dark{background:var(--ink);color:#B9CBC4}
.jf-sec-dark h2,.jf-sec-dark h3,.jf-sec-dark h4{color:#fff}
.jf-sec-dark .jf-eyebrow{color:#8FBBA8}
.jf-head{max-width:770px;margin:0 auto 44px;text-align:center}
.jf-head p{color:var(--slate)}
.jf-sec-dark .jf-head p{color:#AABDB4}

/* ---------- HERO : GUMMY DRIFT BOUNCE — small soft gummy-shaped forms drifting and gently bouncing behind the bottle, NEVER clipping the image ---------- */
.jf-hero{background:linear-gradient(180deg,var(--ink) 0%,var(--ink-dk) 100%);padding:54px 0 68px;overflow:hidden;position:relative}
.jf-hero-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:50px;align-items:center;
  position:relative;z-index:1}
.jf-hero-shot{order:1;position:relative;display:flex;justify-content:center;align-items:center;min-height:260px}
.jf-glow-svg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;overflow:visible}
.jf-glow-svg .jf-gummy{fill:var(--steel);opacity:0;animation:jfGummyBounce 4.6s ease-in-out infinite}
.jf-glow-svg .jf-gummy2{fill:var(--sage);opacity:0;animation:jfGummyBounce 5.4s ease-in-out infinite 1.6s}
.jf-glow-svg .jf-gummy3{fill:#F5A6A8;opacity:0;animation:jfGummyBounce 4s ease-in-out infinite 2.8s}
@keyframes jfGummyBounce{0%,100%{transform:translateY(0);opacity:0}15%{opacity:.4}50%{transform:translateY(-16px);opacity:.32}85%{opacity:.15}}
@media(prefers-reduced-motion:reduce){.jf-glow-svg .jf-gummy,.jf-glow-svg .jf-gummy2,.jf-glow-svg .jf-gummy3{animation:none;opacity:.22}}
.jf-hero-copy{order:2}
.jf-hero h1{color:#fff}
.jf-hero-shot img{max-width:min(215px,100%);width:100%;height:auto;object-fit:contain;margin:0 auto;
  position:relative;z-index:2;filter:drop-shadow(0 22px 34px rgba(226,62,68,.35))}
.jf-wave-tag{position:absolute;bottom:2%;right:2%;background:#fff;border:1px solid var(--line);border-radius:10px;
  padding:8px 14px;font-size:.74rem;font-weight:700;color:var(--ink);box-shadow:0 10px 20px rgba(0,0,0,.3);
  z-index:3;white-space:nowrap}
.jf-hero h1 em{font-style:italic;color:var(--sage)}
.jf-lede{font-size:1.05rem;color:#F2D9D5;max-width:37em}

.jf-answer{background:#fff;border-left:4px solid var(--steel);border-radius:0 8px 8px 0;
  padding:23px 25px;margin:0 0 22px;box-shadow:0 8px 24px rgba(110,14,20,.08)}
.jf-answer .tag{display:block;font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--steel-dk);margin-bottom:9px}
.jf-answer p{margin:0;color:var(--slate)}
.jf-answer p.first{color:var(--ink);font-weight:700;margin-bottom:.75em}

.jf-facts{display:flex;flex-wrap:wrap;gap:9px;list-style:none;margin:0 0 22px;padding:0}
.jf-facts li{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:7px 15px;
  font-size:.8rem;font-weight:700;color:#fff}

.jf-check{list-style:none;margin:0 0 24px;padding:0}
.jf-check li{position:relative;padding-left:32px;margin-bottom:11px;font-size:.96rem;font-weight:500;color:#F2D9D8}
.jf-check li::before{content:'';position:absolute;left:0;top:5px;width:18px;height:18px;border-radius:50%;
  background:var(--steel);box-shadow:0 0 0 4px rgba(226,62,68,.28)}
.jf-check li::after{content:'\2713';position:absolute;left:4px;top:6.5px;color:#fff;font-size:.62rem;font-weight:800}

.jf-figures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 26px}
.jf-figures div{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:8px;padding:14px 8px;text-align:center}
.jf-figures b{display:block;font-family:'Baloo 2',sans-serif;font-weight:700;font-size:1.2rem;color:#fff;line-height:1.1}
.jf-figures span{font-size:.68rem;font-weight:700;color:#D2A5A5;text-transform:uppercase;letter-spacing:.05em}

.jf-hero-btns{display:flex;flex-wrap:wrap;gap:13px;margin-bottom:20px}
.jf-hero-trust{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.78rem;font-weight:700;color:#D2A5A5}

@media(max-width:920px){
  .jf-hero-grid{grid-template-columns:minmax(0,1fr);gap:26px}
  .jf-hero-copy{display:contents}
  .jf-hero-shot{order:1;min-height:200px}
  .jf-hero-title{order:2}
  .jf-hero-rest{order:3}
  .jf-hero-shot img{max-width:min(175px,100%)}
  .jf-wave-tag{bottom:0;right:0}
}

/* ---------- "gummy drift bounce" signature — a tiny bouncing gummy shape ---------- */
.jf-ascent{margin-top:18px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 18px 14px;
  box-shadow:0 8px 22px rgba(110,14,20,.15);text-align:center;max-width:260px;margin-left:auto;margin-right:auto}
.jf-ascent h4{font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:var(--steel-dk);
  margin-bottom:8px;font-family:'Figtree',sans-serif;font-weight:700}
.jf-ascent svg{display:block;margin:0 auto;overflow:visible}
.jf-gummy-mini{fill:var(--steel);opacity:.5;animation:jfMiniGummyBounce 2.4s ease-in-out infinite}
.jf-ascent-cap{font-size:.68rem;font-weight:700;color:var(--slate);margin-top:8px}
@keyframes jfMiniGummyBounce{0%,100%{transform:translateY(0);opacity:.35}50%{transform:translateY(-6px);opacity:.75}}
@media(prefers-reduced-motion:reduce){.jf-gummy-mini{animation:none;opacity:.5}}

/* ---------- grids ---------- */
.jf-grid{display:grid;gap:20px}
.jf-g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.jf-g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.jf-g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:980px){.jf-g4{grid-template-columns:repeat(2,minmax(0,1fr))}.jf-g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.jf-g4,.jf-g3,.jf-g2{grid-template-columns:minmax(0,1fr)}}

.jf-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:26px 22px}
.jf-card p{color:var(--slate);font-size:.93rem;margin:0}
.jf-sec-dark .jf-card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16)}
.jf-sec-dark .jf-card p{color:#AABDB4}
.jf-card-badge{text-align:center}
.jf-card-badge img{max-width:min(135px,100%);margin:0 auto 14px;border-radius:6px}

.jf-idx{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;
  background:var(--ink);color:#fff;font-family:'Baloo 2',sans-serif;font-weight:700;font-size:.9rem;margin-bottom:13px}
.jf-idx-sage{background:var(--sage)}

/* ---------- split ---------- */
.jf-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}
@media(max-width:920px){.jf-split{grid-template-columns:minmax(0,1fr);gap:30px}}
.jf-split img{max-width:min(440px,100%);margin:0 auto;border-radius:8px}
.jf-split-copy p{color:var(--slate)}
.jf-sec-dark .jf-split-copy p{color:#AABDB4}

/* ---------- list ---------- */
.jf-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
@media(max-width:780px){.jf-list{grid-template-columns:minmax(0,1fr)}}
.jf-list li{background:#fff;border:1px solid var(--line);border-left:3px solid var(--steel);
  border-radius:0 8px 8px 0;padding:15px 18px;font-size:.92rem;color:var(--slate)}
.jf-list li b{display:block;color:var(--ink);margin-bottom:3px;font-size:.97rem;font-family:'Baloo 2',sans-serif}

/* ---------- callouts ---------- */
.jf-callout{background:#fff;border:1px solid var(--line);border-radius:8px;padding:22px 24px;font-size:.92rem;color:var(--slate)}
.jf-callout b{color:var(--ink)}
.jf-callout a{color:var(--steel-dk);text-decoration:underline;text-underline-offset:3px}
.jf-flagbox{background:#F2EEDF;border:1px solid #DCCE9E;border-radius:8px;padding:21px 23px;font-size:.9rem;color:#5F5423}
.jf-flagbox b{color:#7A6A1E}
.jf-alert{background:#EAEFE9;border:1px solid #BFD0BE;border-radius:8px;padding:21px 23px;font-size:.9rem;color:#33453A}
.jf-alert b{color:var(--steel-dk)}

/* ---------- reviews ---------- */
.jf-rev-head{display:flex;align-items:center;gap:13px;margin-bottom:11px}
.jf-rev-head img{width:52px;height:52px;border-radius:50%;object-fit:cover;flex-shrink:0}
.jf-rev-name{font-weight:700;font-size:.94rem;color:var(--ink);font-family:'Baloo 2',sans-serif}
.jf-rev-sub{font-size:.77rem;color:var(--slate)}
.jf-stars{color:#6E9C7E;letter-spacing:2px;font-size:.9rem;margin-bottom:8px}
.jf-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;text-align:center;margin-top:34px}
@media(max-width:680px){.jf-board{grid-template-columns:minmax(0,1fr)}}
.jf-board b{display:block;font-family:'Baloo 2',sans-serif;font-weight:700;font-size:1.85rem;color:var(--ink)}
.jf-board span{font-size:.78rem;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.08em}

/* ---------- pricing ---------- */
.jf-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
@media(max-width:980px){.jf-plans{grid-template-columns:minmax(0,1fr);max-width:430px;margin:0 auto}}
.jf-plan{background:#fff;border:1px solid var(--line);border-radius:8px;padding:28px 22px;text-align:center;
  display:flex;flex-direction:column;position:relative}
.jf-plan.top{border-color:var(--sage);box-shadow:0 24px 46px rgba(110,156,126,.2)}
@media(min-width:981px){.jf-plan.top{transform:translateY(-10px)}}
.jf-badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--sage);color:#fff;
  font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:6px 16px;border-radius:999px;
  white-space:nowrap;font-family:'Baloo 2',sans-serif}
.jf-badge-steel{background:var(--steel);color:#fff}
.jf-plan img.pk{max-width:min(190px,100%);max-height:170px;width:auto;height:170px;object-fit:contain;margin:8px auto 16px}
.jf-plan-ttl{font-family:'Baloo 2',sans-serif;font-weight:700;font-size:1.28rem;color:var(--ink)}
.jf-plan-sub{font-size:.83rem;color:var(--slate);margin-bottom:14px}
.jf-plan-price{font-family:'Baloo 2',sans-serif;font-weight:700;font-size:2.2rem;color:var(--ink);line-height:1}
.jf-plan-price small{font-family:'Figtree',sans-serif;font-size:.8rem;font-weight:700;color:var(--slate)}
.jf-plan-was{text-decoration:line-through;color:var(--slate);font-size:.86rem;margin:8px 0 2px}
.jf-plan-tot{font-weight:700;font-size:.97rem;color:var(--ink);margin-bottom:6px}
.jf-plan-ship{font-size:.83rem;font-weight:700;color:var(--steel-dk);margin-bottom:12px}
.jf-plan-ship.pay{color:var(--slate)}
.jf-plan ul{list-style:none;margin:0 0 18px;padding:0;text-align:left;font-size:.86rem;color:var(--slate)}
.jf-plan ul li{position:relative;padding-left:21px;margin-bottom:7px}
.jf-plan ul li::before{content:'\2713';position:absolute;left:0;color:var(--steel-dk);font-weight:700}
.jf-plan .jf-btn{margin-top:auto}
.jf-plan .cards{max-width:min(165px,100%);margin:13px auto 0;opacity:.6}

/* ---------- guarantee ---------- */
.jf-guar{display:grid;grid-template-columns:auto minmax(0,1fr);gap:40px;align-items:center;
  background:#fff;border:1px solid var(--line);border-radius:8px;padding:36px}
@media(max-width:820px){.jf-guar{grid-template-columns:minmax(0,1fr);gap:24px;text-align:center;padding:28px 22px}}
.jf-guar img{max-width:min(175px,100%);margin:0 auto}
.jf-guar p{color:var(--slate)}

/* ---------- steps ---------- */
.jf-steps{display:grid;gap:15px}
.jf-step-row{background:#fff;border:1px solid var(--line);border-radius:8px;padding:22px 24px;
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:start}
.jf-step-row .n{width:34px;height:34px;border-radius:6px;background:rgba(78,124,142,.14);color:var(--steel-dk);
  font-family:'Baloo 2',sans-serif;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:.92rem}
.jf-step-row p{margin:0;color:var(--slate);font-size:.93rem}

/* ---------- FAQ ---------- */
.jf-faq{border-top:1px solid var(--line)}
.jf-faq-row{border-bottom:1px solid var(--line)}
.jf-faq-btn{width:100%;background:none;border:none;text-align:left;cursor:pointer;padding:20px 4px;
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  font-family:'Baloo 2',sans-serif;font-weight:600;font-size:1.04rem;color:var(--ink)}
.jf-faq-btn::after{content:'+';font-size:1.5rem;color:var(--steel-dk);flex-shrink:0;transition:transform .2s;font-family:'Figtree',sans-serif}
.jf-faq-row.on .jf-faq-btn::after{transform:rotate(45deg)}
.jf-faq-body{max-height:0;overflow:hidden;transition:max-height .28s ease}
.jf-faq-body p{padding:0 4px 20px;margin:0;color:var(--slate);font-size:.94rem}

/* ---------- refs ---------- */
.jf-refs{list-style:none;margin:0 0 18px;padding:0}
.jf-refs li{padding:11px 0;border-bottom:1px solid var(--line);font-size:.91rem;color:var(--slate)}
.jf-refs a{color:var(--steel-dk);font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* ---------- final CTA ---------- */
.jf-final{background:linear-gradient(150deg,var(--ink) 0%,var(--ink-dk) 100%);border-radius:14px;
  padding:52px 30px;text-align:center}
.jf-final h2{color:#fff}
.jf-final p{color:#B9CBC4}
.jf-final img{max-width:min(260px,100%);margin:22px auto}
.jf-final .old{color:#B9CBC4;text-decoration:line-through}
.jf-final .new{font-family:'Baloo 2',sans-serif;font-weight:700;font-size:2.05rem;color:var(--sage);margin:4px 0 20px}
.jf-final .sm{font-size:.84rem;color:#B9CBC4;margin:16px 0 0}

/* ---------- breadcrumb ---------- */
.jf-crumb{font-size:.81rem;color:var(--slate);padding:16px 0 0}
.jf-crumb a{color:var(--steel-dk);font-weight:700}
.jf-crumb i{font-style:normal;margin:0 7px;opacity:.5}

/* ---------- related ---------- */
.jf-rel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media(max-width:780px){.jf-rel{grid-template-columns:minmax(0,1fr)}}
.jf-rel a{display:block;background:#fff;border:1px solid var(--line);border-radius:8px;padding:19px 20px;transition:.15s}
.jf-rel a:hover{border-color:var(--sage);transform:translateY(-2px)}
.jf-rel b{display:block;font-size:.98rem;color:var(--ink);margin-bottom:5px;font-family:'Baloo 2',sans-serif}
.jf-rel span{font-size:.84rem;color:var(--slate)}

/* ---------- article ---------- */
.jf-article h2{margin-top:1.6em}
.jf-article h3{margin-top:1.35em}
.jf-article p{color:var(--slate)}
.jf-article a{color:var(--steel-dk);text-decoration:underline;text-underline-offset:3px}
.jf-meta{font-size:.86rem;color:var(--slate);margin-bottom:26px}
.jf-meta a{color:var(--steel-dk);font-weight:700}

/* ---------- footer ---------- */
.jf-foot{background:var(--ink-dk);color:#8AA098;padding:48px 0 34px;font-size:.87rem}
.jf-foot a{color:#CBDAD3}
.jf-foot a:hover{color:var(--sage)}
.jf-foot-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 25px;list-style:none;margin:0 0 20px;padding:0;font-weight:700}
.jf-foot-legal{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 21px;list-style:none;margin:0 0 26px;padding:0;font-size:.84rem}
.jf-foot hr{border:none;border-top:1px solid rgba(255,255,255,.1);margin:22px 0}
.jf-foot p{margin:0 0 14px;line-height:1.68}
.jf-foot .cr{text-align:center;font-size:.84rem;opacity:.85;margin-top:22px}

/* ---------- free bonuses ---------- */
.jf-bonus-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
@media(max-width:980px){.jf-bonus-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.jf-bonus-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.jf-bonus-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px 18px 24px;
  text-align:center;transition:transform .16s,box-shadow .16s}
.jf-bonus-card:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(110,14,20,.09);border-color:var(--steel)}
.jf-bonus-tag{display:inline-block;background:var(--steel);color:#fff;font-size:.63rem;font-weight:700;
  letter-spacing:.07em;text-transform:uppercase;padding:4px 12px;border-radius:999px;margin-bottom:14px}
.jf-bonus-card img{max-width:135px;margin:0 auto 15px;border-radius:3px;
  box-shadow:0 14px 26px rgba(110,14,20,.18)}
.jf-bonus-card h4{font-size:.94rem;margin-bottom:7px}
.jf-bonus-card p{font-size:.82rem;color:var(--slate);margin:0}

/* ---------- guarantee badge ---------- */
.jf-guar-badge{display:flex;align-items:center;justify-content:center;position:relative;padding:10px}
.jf-guar-badge::before{content:'';position:absolute;width:210px;height:210px;border-radius:50%;
  background:radial-gradient(circle,rgba(226,62,68,.13) 0%,transparent 72%);z-index:0}
.jf-guar-badge img,.jf-guar-badge svg{position:relative;z-index:1;margin:0}

/* ================= SECTION-UNIQUE TREATMENT #1 =================
   Ingredients: icon-cards with a copper top-bar (used ONLY here) */
.jf-ing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media(max-width:980px){.jf-ing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.jf-ing-grid{grid-template-columns:minmax(0,1fr)}}
.jf-ing-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;
  display:flex;flex-direction:column;transition:transform .16s,box-shadow .16s}
.jf-ing-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(110,14,20,.09);border-color:var(--steel)}
.jf-ing-top{height:5px}
.jf-ing-body{padding:21px 21px 19px;flex:1;display:flex;flex-direction:column}
.jf-ing-head{display:flex;align-items:center;gap:12px;margin-bottom:13px}
.jf-ing-icon{width:42px;height:42px;min-width:42px;border-radius:9px;display:flex;align-items:center;
  justify-content:center;font-size:1.25rem}
.jf-ing-name{font-family:'Baloo 2',sans-serif;font-weight:700;font-size:1rem;color:var(--ink);line-height:1.22;margin:0}
.jf-ing-cat{font-size:.64rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--slate);margin-top:3px}
.jf-ing-body p{color:var(--slate);font-size:.87rem;margin:0 0 15px;flex:1;line-height:1.6}
.jf-ing-dose{font-size:.7rem;font-weight:700;color:var(--steel-dk);background:var(--stone);border:1px solid var(--line);
  border-radius:6px;padding:6px 10px;display:inline-flex;align-items:center;gap:6px;width:fit-content}
.jf-ing-dose.warn{color:#9C4221;background:#FBEEE8;border-color:#F0D3C2}
.jf-ing-dose.on{color:#1F6B5C;background:#E4F3EC;border-color:#C4E3D4}

/* pathway breakdown table (replaces a typical dose-table since doses ARE disclosed here;
   this instead shows the NO/circulation-pathway redundancy honestly) */
.jf-pathtable{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;font-size:.85rem}
.jf-pathtable th{background:var(--ink);color:#fff;text-align:left;padding:12px 14px;font-family:'Baloo 2',sans-serif;font-weight:700;font-size:.85rem}
.jf-pathtable td{padding:12px 14px;border-top:1px solid var(--line);color:var(--slate)}
.jf-pathtable tr:nth-child(even) td{background:var(--sand)}
.jf-pathtable td b{color:var(--ink)}
.jf-pathtable-wrap{overflow-x:auto}
@media(max-width:680px){.jf-pathtable{font-size:.76rem}.jf-pathtable th,.jf-pathtable td{padding:9px 10px}}

/* ================= SECTION-UNIQUE TREATMENT #2 =================
   Benefits: a horizontal ribbon-list, icon left / text right, used
   ONLY in the Benefits section — deliberately different from the
   ingredient icon-card grid above */
.jf-ribbon-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.jf-ribbon{display:flex;align-items:flex-start;gap:16px;padding:20px 22px;border-bottom:1px solid var(--line)}
.jf-ribbon:last-child{border-bottom:none}
.jf-ribbon:nth-child(even){background:var(--stone)}
.jf-ribbon-icon{width:44px;height:44px;min-width:44px;border-radius:50%;background:var(--sand);
  display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:var(--steel-dk)}
.jf-ribbon-body h4{margin:0 0 4px;font-size:1.02rem;color:var(--ink)}
.jf-ribbon-body p{margin:0;color:var(--slate);font-size:.9rem}

/* ================= SECTION-UNIQUE TREATMENT #3 =================
   Quick How-To-Use: a connected vertical timeline, used ONLY here —
   distinct from both the icon-card grid and the ribbon list */
.jf-timeline{position:relative;padding-left:38px}
.jf-timeline::before{content:'';position:absolute;left:13px;top:6px;bottom:6px;width:2px;background:var(--line)}
.jf-tl-item{position:relative;padding-bottom:26px}
.jf-tl-item:last-child{padding-bottom:0}
.jf-tl-dot{position:absolute;left:-38px;top:0;width:28px;height:28px;border-radius:50%;background:var(--ink);
  color:#fff;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:800;font-family:'Baloo 2',sans-serif;
  box-shadow:0 0 0 4px #fff, 0 0 0 5px var(--line)}
.jf-tl-item h4{margin:0 0 4px;font-size:1rem;color:var(--ink)}
.jf-tl-item p{margin:0;color:var(--slate);font-size:.9rem}

/* ================= SECTION-UNIQUE TREATMENT #4 =================
   The Difference: a two-column comparison callout ("Typical Formula"
   vs "VapoCept's Formula"), used ONLY here — distinct from every
   other section's visual treatment */
.jf-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:1px solid var(--line);
  border-radius:12px;overflow:hidden}
@media(max-width:760px){.jf-compare{grid-template-columns:minmax(0,1fr)}}
.jf-compare>div{padding:24px 24px 26px}
.jf-compare .a{background:var(--stone)}
.jf-compare .b{background:var(--ink);color:#fff}
.jf-compare h4{font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;margin:0 0 14px}
.jf-compare .a h4{color:var(--steel-dk)}
.jf-compare .b h4{color:var(--steel)}
.jf-compare ul{margin:0;padding:0;list-style:none}
.jf-compare li{position:relative;padding-left:22px;margin-bottom:11px;font-size:.9rem;line-height:1.5}
.jf-compare .a li{color:var(--slate)}
.jf-compare .b li{color:#D8DBE6}
.jf-compare li::before{content:'\2022';position:absolute;left:2px;top:0;font-size:1.1rem}
.jf-compare .a li::before{color:var(--steel)}
.jf-compare .b li::before{color:var(--steel)}

/* ---------- blog hub hero + cards ---------- */
.jf-bhero{background:linear-gradient(160deg,var(--sand) 0%,var(--stone) 100%);padding:58px 0 44px;text-align:center;
  border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.jf-bhero::before{content:'';position:absolute;top:-40%;right:-10%;width:340px;height:340px;border-radius:50%;
  background:radial-gradient(circle,rgba(226,62,68,.12) 0%,transparent 70%);z-index:0}
.jf-bhero::after{content:'';position:absolute;bottom:-50%;left:-8%;width:260px;height:260px;border-radius:50%;
  background:radial-gradient(circle,rgba(241,127,130,.1) 0%,transparent 70%);z-index:0}
.jf-bhero>.jf-wrap{position:relative;z-index:1}
.jf-bhero .jf-pill{margin-bottom:18px}
.jf-bhero h1{margin-bottom:12px}
.jf-bhero p.lede{color:var(--slate);max-width:560px;margin:0 auto;font-size:1.02rem}
.jf-bhero-meta{display:flex;justify-content:center;align-items:center;gap:10px 22px;margin-top:24px;flex-wrap:wrap}
.jf-bhero-meta span{font-size:.72rem;font-weight:700;color:var(--steel-dk);text-transform:uppercase;letter-spacing:.08em;
  background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 15px}

.jf-bsection-ttl{font-size:.74rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--steel-dk);
  margin:0 0 18px;padding-bottom:10px;border-bottom:2px solid var(--line);display:inline-block}
.jf-bgroup{margin-bottom:46px}
.jf-bgroup:last-child{margin-bottom:0}

.jf-bgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
@media(max-width:900px){.jf-bgrid{grid-template-columns:minmax(0,1fr)}}
.jf-bcard{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;
  display:flex;flex-direction:column;transition:transform .16s,box-shadow .16s}
.jf-bcard:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(110,14,20,.1);border-color:var(--steel)}
.jf-bcard-head{background:var(--ink);padding:22px 22px 19px}
.jf-bcard-head .tag{display:block;font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--steel);margin-bottom:9px}
.jf-bcard-head h3{color:#fff;margin:0;font-size:1.08rem;line-height:1.3}
.jf-bcard-body{padding:19px 22px 22px;flex:1;display:flex;flex-direction:column}
.jf-bcard-body p{color:var(--slate);font-size:.89rem;flex:1;margin:0 0 14px}
.jf-bcard-body .read{color:var(--steel-dk);font-weight:700;font-size:.85rem;margin-top:auto;display:inline-flex;align-items:center;gap:5px}
.jf-bcard-body .read:hover{color:var(--steel)}

/* ---------- sticky bar ---------- */
.jf-sticky{position:fixed;left:0;right:0;bottom:0;z-index:950;background:var(--ink-dk);
  border-top:2px solid var(--sage);padding:9px 15px;display:none;align-items:center;justify-content:space-between;
  gap:12px;box-shadow:0 -8px 24px rgba(0,0,0,.2)}
.jf-sticky .t{min-width:0;line-height:1.25;color:#fff}
.jf-sticky .t b{display:block;font-size:.92rem;color:var(--sage);font-family:'Baloo 2',sans-serif}
.jf-sticky .t small{color:#B9CBC4;font-size:.71rem}
.jf-sticky .jf-btn{padding:11px 18px;font-size:.86rem;flex-shrink:0}
@media(max-width:920px){.jf-sticky{display:flex}body{padding-bottom:68px}}
