/* ===================================================================
   NEUROLIFT — neuroliift.com
   Palette : ink #2D1155 (deep purple, matching the label's own dark
             purple/violet gradient) | ink-dk #1C0A38 | steel(=vivid
             violet accent, echoing the label's own bright purple
             wordmark) #9356E8 | steel-dk #6B3BB8 | sage(=lighter
             lavender highlight) #C49EF7 | stone #FBF9FF | sand
             #EEE4FB | slate #423358 | line #E0D3F5
   Type    : 'Instrument Serif' (elegant serif display) + 'Work Sans'
             (clean, neutral body) — a fresh pairing not reused
   Motif   : prism refract drift — a beam of light passing through
             and refracting into soft violet/lavender prism-shard
             shapes that drift slowly, echoing "Lift" (elevation,
             clarity, light) rather than reusing brain/spark imagery
   Layout  : STRUCTURALLY UNIQUE HERO — a seventy-third distinct hero
             paradigm for this project: PRISM REFRACT DRIFT. A beam
             of light refracts into soft violet prism-shard shapes
             that drift slowly behind the bottle, echoing "Lift"
             (elevation, clarity) - 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, or a voltage
             arc crackle used in this project's other builds. The
             bottle image itself is NEVER clipped or masked by the
             prism shards - it stays fully open with
             object-fit:contain.
   Voice   : cautious, structure-function only - NeuroLift supports
             mental clarity, cognitive function, and everyday brain
             wellness as part of a healthy lifestyle. NEVER claims to
             treat, cure, or prevent dementia, Alzheimer's disease,
             anxiety disorders, or any other diagnosed cognitive or
             mental health condition.
   SOURCING NOTE: the assigned competitor source (myneurolift.com) is
             an unusually well-sourced, honestly-written page: a
             fully disclosed Supplement Facts panel with exact
             milligram amounts, real linked research citations,
             clearly-labeled "Illustrative review" testimonials (not
             presented as verified), prominent upfront caffeine-
             content disclosure, and explicit medication-interaction
             guidance - all reused faithfully here. Confirmed formula:
             Vitamin B1 (6mg), B6 (8.5mg), B12 (24mcg), plus a 151mg
             proprietary blend of natural Caffeine (from Green Coffee
             Bean), L-Tyrosine, Theacrine, Theobromine, Bacopa
             Monnieri (20% bacosides A&B), Rhodiola Rosea Root, and
             Huperzia Serrata (1% Huperzine-A). A genuine discrepancy
             was found and is disclosed honestly rather than hidden:
             the source's Supplement Facts panel states "30 vegetable
             capsules" per bottle and "1 capsule daily," while this
             build's own physical label images consistently show "60
             Capsules" on the front label. Since neither source
             confirms which serving size applies to this exact
             product with certainty, this site states the label-
             confirmed "60 capsules per bottle" while directing
             readers to follow the serving directions on their own
             physical label, rather than asserting an unverified
             specific daily dose. Confirmed pricing ($79/bottle for 2
             bottles, total $158, was $377, +$19.99 shipping; $69/
             bottle for 3 bottles, total $207, was $577, free
             shipping; $49/bottle for 6 bottles, total $294, was
             $1074, free shipping) and the 60-day, no-fine-print
             money-back guarantee are used exactly as confirmed. The
             zip's own "How It Works" infographic used stronger
             language ("Enhances memory... Improves focus and mental
             sharpness") than the source's own careful, hedged
             positioning, so a new infographic was created in the
             same visual style with the source's own softer
             "supports" language instead.
   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:#2D1155;
  --ink-dk:#1C0A38;
  --steel:#9356E8;
  --steel-dk:#6B3BB8;
  --sage:#C49EF7;
  --stone:#FBF9FF;
  --sand:#EEE4FB;
  --slate:#423358;
  --line:#E0D3F5;
}

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

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

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

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

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

/* ---------- HERO : PRISM REFRACT DRIFT — a beam of light refracting into soft violet prism-shard shapes drifting slowly behind the bottle, NEVER clipping the image ---------- */
.nl-hero{background:linear-gradient(180deg,var(--ink) 0%,var(--ink-dk) 100%);padding:54px 0 68px;overflow:hidden;position:relative}
.nl-hero-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:50px;align-items:center;
  position:relative;z-index:1}
.nl-hero-shot{order:1;position:relative;display:flex;justify-content:center;align-items:center;min-height:260px}
.nl-glow-svg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;overflow:visible}
.nl-glow-svg .nl-beam{stroke:var(--sage);stroke-width:1.4;opacity:.3}
.nl-glow-svg .nl-shard{fill:var(--steel);opacity:0;animation:nlShardDrift 6.5s ease-in-out infinite}
.nl-glow-svg .nl-shard2{fill:var(--sage);opacity:0;animation:nlShardDrift 7.5s ease-in-out infinite 2s}
.nl-glow-svg .nl-shard3{fill:#B98AF0;opacity:0;animation:nlShardDrift 5.8s ease-in-out infinite 4s}
@keyframes nlShardDrift{0%{transform:translate(0,10px) rotate(0deg);opacity:0}20%{opacity:.5}80%{opacity:.35}100%{transform:translate(18px,-60px) rotate(20deg);opacity:0}}
@media(prefers-reduced-motion:reduce){.nl-glow-svg .nl-shard,.nl-glow-svg .nl-shard2,.nl-glow-svg .nl-shard3{animation:none;opacity:.24}}
.nl-hero-copy{order:2}
.nl-hero h1{color:#fff}
.nl-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(147,86,232,.35))}
.nl-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}
.nl-hero h1 em{font-style:italic;color:var(--sage)}
.nl-lede{font-size:1.05rem;color:#E2D5F2;max-width:37em}

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

.nl-facts{display:flex;flex-wrap:wrap;gap:9px;list-style:none;margin:0 0 22px;padding:0}
.nl-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}

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

.nl-figures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 26px}
.nl-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}
.nl-figures b{display:block;font-family:'Instrument Serif',sans-serif;font-weight:700;font-size:1.2rem;color:#fff;line-height:1.1}
.nl-figures span{font-size:.68rem;font-weight:700;color:#B49AD0;text-transform:uppercase;letter-spacing:.05em}

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

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

/* ---------- "prism refract drift" signature — a tiny drifting prism shard ---------- */
.nl-ascent{margin-top:18px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 18px 14px;
  box-shadow:0 8px 22px rgba(45,17,85,.15);text-align:center;max-width:260px;margin-left:auto;margin-right:auto}
.nl-ascent h4{font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;color:var(--steel-dk);
  margin-bottom:8px;font-family:'Work Sans',sans-serif;font-weight:700}
.nl-ascent svg{display:block;margin:0 auto;overflow:visible}
.nl-shard-mini{fill:var(--steel);opacity:.6;animation:nlMiniShardDrift 3.2s ease-in-out infinite}
.nl-ascent-cap{font-size:.68rem;font-weight:700;color:var(--slate);margin-top:8px}
@keyframes nlMiniShardDrift{0%,100%{transform:translateY(0) rotate(0deg);opacity:.4}50%{transform:translateY(-5px) rotate(12deg);opacity:.8}}
@media(prefers-reduced-motion:reduce){.nl-shard-mini{animation:none;opacity:.6}}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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