/* ===================================================================
   VIVALIS — vivalislab.com
   Palette : ink #1B3A6B (deep navy, from the label) | ink-dk #10254A
             steel(=teal accent, from the label's swoosh) #2E9C8F
             steel-dk #1F7A6F | sage(=light teal secondary) #6FCBBE
             stone #F5F8F9 | sand #EAF2F1 | slate #4A5568 | line #DCE7E5
   Type    : 'Hanken Grotesk' (a confident, athletic grotesque) + 'Inter'
             (clean body) — a fresh pairing not reused
   Motif   : the rising pulse — a short sequence of bars that grow
             taller left-to-right with a subtle bounce on a continuous
             loop, echoing the "Boost Performance" positioning and the
             label's own upward swoosh mark; a growth-bar mechanic
             distinct from every other signature used across this
             project (not a travelling stream, not a straight EKG
             sweep, not an angular circuit, not a droplet, not
             connected molecule nodes, not a scale-pulse ring)
   Layout  : STRUCTURALLY UNIQUE HERO — an eighth distinct hero
             paradigm for this project: ASCENDING STEPS. The bottle
             stands at the top of a 4-step ascending staircase
             silhouette, with a small upward-arrow marker pinned at the
             peak — a growth/momentum framing device, distinct from
             the two-column split, diagonal clip-path, droplet clip-
             path, tilted card-frame, dark monitor-screen panel, and
             aperture frame used in this project's other builds. Other
             sections keep the same underlying architecture as prior
             builds (same page order for SEO/EEAT), with a distinct
             visual treatment per section.
   Voice   : confident, direct brand voice — general male-vitality and
             performance-wellness framing throughout, never a
             treatment for erectile dysfunction or any diagnosed
             medical condition.
   SOURCING / HONESTY NOTE: the competitor URL given for this build
             described an entirely different "Vivalis" product — a
             sleep-support liquid-drops formula with GABA, melatonin,
             5-HTP, and L-theanine. This build's own zip assets (bottle
             label, "How It Works" infographic) show a completely
             different product: a men's-performance/stamina/virility
             CAPSULE (1 capsule daily, 30 capsules/bottle), so the
             competitor URL's content was treated as unrelated and not
             used, per this project's standing rule. A web search
             surfaced several DIFFERENT companies all selling
             differently-formulated products under the same "Vivalis"
             name (S.O Labs, vivallis.us, vivalispills.com, and
             others), with no consistent, verifiable ingredient list
             tied specifically to this build's own domain
             (vivalislab.com). Rather than guessing or importing
             another company's ingredient list, this site describes
             the formula at the category level only (adaptogenic
             botanical extracts, amino acid compounds, circulation-
             supporting plant extracts — matching this build's own
             infographic's "Natural & Safe," "Scientifically
             Formulated" framing) and explicitly discloses that
             specific ingredient names and doses are not shown in this
             product's own marketing materials, directing the reader
             to check the physical label / Supplement Facts panel.
             "FDA Approved" appears on the zip's stock badge graphic,
             but dietary supplements are never FDA-approved, so this
             site captions that badge honestly as "FDA-Registered
             Facility."
   Rules   : grids minmax(0,1fr) · flex min-width:0 · img max-width min(Npx,100%)
             mobile hero order = IMAGE first, then H1, then rest — set
             directly via order on the two hero-grid children
             themselves (no wrapper-class dependency), verified against
             the rendered HTML before delivery.
=================================================================== */

:root{
  --ink:#1B3A6B;
  --ink-dk:#10254A;
  --steel:#2E9C8F;
  --steel-dk:#1F7A6F;
  --sage:#6FCBBE;
  --stone:#F5F8F9;
  --sand:#EAF2F1;
  --slate:#4A5568;
  --line:#DCE7E5;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--stone);color:#211C18;
  font-family:'Inter',system-ui,sans-serif;font-size:17px;line-height:1.72;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{font-family:'Hanken Grotesk',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:'Hanken Grotesk',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}
.vv-wrap{max-width:1160px;margin:0 auto;padding:0 22px}
.vv-narrow{max-width:830px;margin:0 auto}
.vv-mid{text-align:center}

.vv-eyebrow{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--steel-dk);margin-bottom:.8em}
.vv-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 ---------- */
.vv-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:'Hanken Grotesk',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)}
.vv-btn:hover{background:var(--ink-dk);transform:translateY(-2px);color:#fff}
.vv-btn-sage{background:var(--sage);box-shadow:0 10px 24px rgba(110,156,126,.32)}
.vv-btn-sage:hover{background:#5A8768}
.vv-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:'Hanken Grotesk',sans-serif;
  font-weight:600;font-size:.95rem;padding:14px 26px;border-radius:6px;transition:.16s}
.vv-btn-ghost:hover{border-color:var(--steel);color:var(--steel-dk)}
.vv-btn-full{width:100%}

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

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

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

/* ---------- HERO : ASCENDING STEPS (structurally unique — a stepped staircase silhouette, not a card, not a panel, not a circle) ---------- */
.vv-hero{background:linear-gradient(180deg,var(--stone) 0%,var(--sand) 100%);padding:54px 0 68px;overflow:hidden;position:relative}
.vv-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:52px;align-items:center;
  position:relative;z-index:1}
.vv-hero-shot{position:relative;display:flex;justify-content:center;align-items:center;min-height:340px}
.vv-hero-copy{min-width:0}
.vv-steps-stage{position:relative;width:100%;max-width:400px;height:300px;display:flex;align-items:flex-end;justify-content:center}
.vv-step-bar{position:absolute;bottom:0;background:linear-gradient(180deg,var(--sage) 0%,var(--steel) 100%);
  border-radius:6px 6px 0 0;opacity:.85}
.vv-step-bar:nth-child(1){left:2%;width:20%;height:34%}
.vv-step-bar:nth-child(2){left:26%;width:20%;height:54%}
.vv-step-bar:nth-child(3){left:50%;width:20%;height:74%}
.vv-step-bar:nth-child(4){left:74%;width:20%;height:94%}
.vv-steps-bottle{position:relative;z-index:1;max-width:min(220px,100%);margin:0 0 10px 22%;
  filter:drop-shadow(0 18px 26px rgba(16,37,74,.24))}
.vv-step-peak{position:absolute;top:2%;right:6%;background:#fff;border-radius:999px;padding:6px 13px;
  font-size:.7rem;font-weight:800;color:var(--ink-dk);box-shadow:0 8px 16px rgba(16,37,74,.16);white-space:nowrap;z-index:2}
.vv-hero h1 em{font-style:normal;color:var(--steel-dk)}
.vv-lede{font-size:1.05rem;color:var(--slate);max-width:37em}

.vv-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(16,37,74,.08)}
.vv-answer .tag{display:block;font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--steel-dk);margin-bottom:9px}
.vv-answer p{margin:0;color:var(--slate)}
.vv-answer p.first{color:var(--ink);font-weight:700;margin-bottom:.75em}

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

.vv-check{list-style:none;margin:0 0 24px;padding:0}
.vv-check li{position:relative;padding-left:32px;margin-bottom:11px;font-size:.96rem;font-weight:500}
.vv-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(46,156,143,.18)}
.vv-check li::after{content:'\2713';position:absolute;left:4px;top:6.5px;color:#fff;font-size:.62rem;font-weight:800}

.vv-figures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 26px}
.vv-figures div{background:#fff;border:1px solid var(--line);border-radius:8px;padding:14px 8px;text-align:center}
.vv-figures b{display:block;font-family:'Hanken Grotesk',sans-serif;font-weight:800;font-size:1.25rem;color:var(--ink);line-height:1.1}
.vv-figures span{font-size:.68rem;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.05em}

.vv-hero-btns{display:flex;flex-wrap:wrap;gap:13px;margin-bottom:20px}
.vv-hero-trust{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.78rem;font-weight:700;color:var(--slate)}

/* Mobile hero order — set directly on the two grid children themselves (no wrapper-class
   dependency, no display:contents split), verified against the rendered HTML. */
@media(max-width:920px){
  .vv-hero-grid{grid-template-columns:minmax(0,1fr);gap:26px;align-items:stretch}
  .vv-hero-shot{order:-1;min-height:200px}
  .vv-hero-copy{order:2}
  .vv-steps-stage{max-width:280px;height:210px}
  .vv-steps-bottle{max-width:min(150px,100%);margin-left:22%}
}

/* ---------- "the circuit" signature — angular PCB trace, animated, always-on loop ---------- */
.vv-ascent{margin-top:14px;background:var(--sand);border-radius:10px;padding:12px 12px 8px;text-align:center}
.vv-ascent h4{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--steel-dk);
  margin-bottom:6px;font-family:'Inter',sans-serif;font-weight:700}
.vv-ascent svg{display:block;margin:0 auto;overflow:visible}
.vv-pulse-bar{fill:var(--steel);transform-origin:bottom;animation:vvBarGrow 2.4s ease-in-out infinite}
.vv-ascent-cap{font-size:.62rem;font-weight:700;color:var(--slate);margin-top:6px}
@keyframes vvBarGrow{0%,100%{transform:scaleY(.72)}50%{transform:scaleY(1)}}
@media(prefers-reduced-motion:reduce){.vv-pulse-bar{animation:none}}

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

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

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

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

/* ---------- list ---------- */
.vv-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
@media(max-width:780px){.vv-list{grid-template-columns:minmax(0,1fr)}}
.vv-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)}
.vv-list li b{display:block;color:var(--ink);margin-bottom:3px;font-size:.97rem;font-family:'Hanken Grotesk',sans-serif}

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

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

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

/* ---------- guarantee ---------- */
.vv-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){.vv-guar{grid-template-columns:minmax(0,1fr);gap:24px;text-align:center;padding:28px 22px}}
.vv-guar img{max-width:min(175px,100%);margin:0 auto}
.vv-guar p{color:var(--slate)}

/* ---------- steps ---------- */
.vv-steps{display:grid;gap:15px}
.vv-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}
.vv-step-row .n{width:34px;height:34px;border-radius:6px;background:rgba(78,124,142,.14);color:var(--steel-dk);
  font-family:'Hanken Grotesk',sans-serif;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:.92rem}
.vv-step-row p{margin:0;color:var(--slate);font-size:.93rem}

/* ---------- FAQ ---------- */
.vv-faq{border-top:1px solid var(--line)}
.vv-faq-row{border-bottom:1px solid var(--line)}
.vv-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:'Hanken Grotesk',sans-serif;font-weight:600;font-size:1.04rem;color:var(--ink)}
.vv-faq-btn::after{content:'+';font-size:1.5rem;color:var(--steel-dk);flex-shrink:0;transition:transform .2s;font-family:'Inter',sans-serif}
.vv-faq-row.on .vv-faq-btn::after{transform:rotate(45deg)}
.vv-faq-body{max-height:0;overflow:hidden;transition:max-height .28s ease}
.vv-faq-body p{padding:0 4px 20px;margin:0;color:var(--slate);font-size:.94rem}

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

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

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

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

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

/* ---------- footer ---------- */
.vv-foot{background:var(--ink-dk);color:#8AA098;padding:48px 0 34px;font-size:.87rem}
.vv-foot a{color:#CBDAD3}
.vv-foot a:hover{color:var(--sage)}
.vv-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}
.vv-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}
.vv-foot hr{border:none;border-top:1px solid rgba(255,255,255,.1);margin:22px 0}
.vv-foot p{margin:0 0 14px;line-height:1.68}
.vv-foot .cr{text-align:center;font-size:.84rem;opacity:.85;margin-top:22px}

/* ---------- free bonuses ---------- */
.vv-bonus-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
@media(max-width:980px){.vv-bonus-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.vv-bonus-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.vv-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}
.vv-bonus-card:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(27,58,107,.09);border-color:var(--steel)}
.vv-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}
.vv-bonus-card img{max-width:135px;margin:0 auto 15px;border-radius:3px;
  box-shadow:0 14px 26px rgba(27,58,107,.18)}
.vv-bonus-card h4{font-size:.94rem;margin-bottom:7px}
.vv-bonus-card p{font-size:.82rem;color:var(--slate);margin:0}

/* ---------- guarantee badge ---------- */
.vv-guar-badge{display:flex;align-items:center;justify-content:center;position:relative;padding:10px}
.vv-guar-badge::before{content:'';position:absolute;width:210px;height:210px;border-radius:50%;
  background:radial-gradient(circle,rgba(46,156,143,.13) 0%,transparent 72%);z-index:0}
.vv-guar-badge img,.vv-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) */
.vv-ing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media(max-width:980px){.vv-ing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.vv-ing-grid{grid-template-columns:minmax(0,1fr)}}
.vv-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}
.vv-ing-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(27,58,107,.09);border-color:var(--steel)}
.vv-ing-top{height:5px}
.vv-ing-body{padding:21px 21px 19px;flex:1;display:flex;flex-direction:column}
.vv-ing-head{display:flex;align-items:center;gap:12px;margin-bottom:13px}
.vv-ing-icon{width:42px;height:42px;min-width:42px;border-radius:9px;display:flex;align-items:center;
  justify-content:center;font-size:1.25rem}
.vv-ing-name{font-family:'Hanken Grotesk',sans-serif;font-weight:700;font-size:1rem;color:var(--ink);line-height:1.22;margin:0}
.vv-ing-cat{font-size:.64rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--slate);margin-top:3px}
.vv-ing-body p{color:var(--slate);font-size:.87rem;margin:0 0 15px;flex:1;line-height:1.6}
.vv-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}
.vv-ing-dose.warn{color:#9C4221;background:#FBEEE8;border-color:#F0D3C2}
.vv-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) */
.vv-pathtable{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;font-size:.85rem}
.vv-pathtable th{background:var(--ink);color:#fff;text-align:left;padding:12px 14px;font-family:'Hanken Grotesk',sans-serif;font-weight:700;font-size:.85rem}
.vv-pathtable td{padding:12px 14px;border-top:1px solid var(--line);color:var(--slate)}
.vv-pathtable tr:nth-child(even) td{background:var(--sand)}
.vv-pathtable td b{color:var(--ink)}
.vv-pathtable-wrap{overflow-x:auto}
@media(max-width:680px){.vv-pathtable{font-size:.76rem}.vv-pathtable th,.vv-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 */
.vv-ribbon-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.vv-ribbon{display:flex;align-items:flex-start;gap:16px;padding:20px 22px;border-bottom:1px solid var(--line)}
.vv-ribbon:last-child{border-bottom:none}
.vv-ribbon:nth-child(even){background:var(--stone)}
.vv-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)}
.vv-ribbon-body h4{margin:0 0 4px;font-size:1.02rem;color:var(--ink)}
.vv-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 */
.vv-timeline{position:relative;padding-left:38px}
.vv-timeline::before{content:'';position:absolute;left:13px;top:6px;bottom:6px;width:2px;background:var(--line)}
.vv-tl-item{position:relative;padding-bottom:26px}
.vv-tl-item:last-child{padding-bottom:0}
.vv-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:'Hanken Grotesk',sans-serif;
  box-shadow:0 0 0 4px #fff, 0 0 0 5px var(--line)}
.vv-tl-item h4{margin:0 0 4px;font-size:1rem;color:var(--ink)}
.vv-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 */
.vv-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){.vv-compare{grid-template-columns:minmax(0,1fr)}}
.vv-compare>div{padding:24px 24px 26px}
.vv-compare .a{background:var(--stone)}
.vv-compare .b{background:var(--ink);color:#fff}
.vv-compare h4{font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;margin:0 0 14px}
.vv-compare .a h4{color:var(--steel-dk)}
.vv-compare .b h4{color:var(--steel)}
.vv-compare ul{margin:0;padding:0;list-style:none}
.vv-compare li{position:relative;padding-left:22px;margin-bottom:11px;font-size:.9rem;line-height:1.5}
.vv-compare .a li{color:var(--slate)}
.vv-compare .b li{color:#D8DBE6}
.vv-compare li::before{content:'\2022';position:absolute;left:2px;top:0;font-size:1.1rem}
.vv-compare .a li::before{color:var(--steel)}
.vv-compare .b li::before{color:var(--steel)}

/* ---------- blog hub hero + cards ---------- */
.vv-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}
.vv-bhero::before{content:'';position:absolute;top:-40%;right:-10%;width:340px;height:340px;border-radius:50%;
  background:radial-gradient(circle,rgba(46,156,143,.12) 0%,transparent 70%);z-index:0}
.vv-bhero::after{content:'';position:absolute;bottom:-50%;left:-8%;width:260px;height:260px;border-radius:50%;
  background:radial-gradient(circle,rgba(46,156,143,.1) 0%,transparent 70%);z-index:0}
.vv-bhero>.vv-wrap{position:relative;z-index:1}
.vv-bhero .vv-pill{margin-bottom:18px}
.vv-bhero h1{margin-bottom:12px}
.vv-bhero p.lede{color:var(--slate);max-width:560px;margin:0 auto;font-size:1.02rem}
.vv-bhero-meta{display:flex;justify-content:center;align-items:center;gap:10px 22px;margin-top:24px;flex-wrap:wrap}
.vv-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}

.vv-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}
.vv-bgroup{margin-bottom:46px}
.vv-bgroup:last-child{margin-bottom:0}

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

/* ---------- sticky bar ---------- */
.vv-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)}
.vv-sticky .t{min-width:0;line-height:1.25;color:#fff}
.vv-sticky .t b{display:block;font-size:.92rem;color:var(--sage);font-family:'Hanken Grotesk',sans-serif}
.vv-sticky .t small{color:#B9CBC4;font-size:.71rem}
.vv-sticky .vv-btn{padding:11px 18px;font-size:.86rem;flex-shrink:0}
@media(max-width:920px){.vv-sticky{display:flex}body{padding-bottom:68px}}
