/* ===================================================================
   NERVELIN — nervelinofficial.com
   Palette : ink #262850 (deep indigo-blue, cooler than the reddish-
             purple used elsewhere in this project) | ink-dk #171836
             | steel(=vivid indigo-violet accent, from the label)
             #5B4FE8 | steel-dk #4038B0 | sage(=lighter periwinkle
             highlight) #9B94F0 | stone #F8F8FD | sand #ECEAFA |
             slate #40415C | line #DDDAF5
   Type    : 'Schibsted Grotesk' (clean, modern display) + 'Work
             Sans' (readable body) — a fresh pairing not reused
   Motif   : the calm wave ring — a soft, slow-pulsing concentric
             ring behind the bottle, echoing "neural calmness" and a
             breathing/meditation rhythm directly; distinct from
             every other signature used across this project (a
             smooth, slow breathing pulse, not a travelling spark or
             node-web)
   Layout  : STRUCTURALLY UNIQUE HERO — a thirty-seventh distinct
             hero paradigm for this project: a CALM WAVE RING. A
             soft, slow-pulsing concentric ring breathes behind the
             bottle, echoing the infographic's own "neural calmness"
             and "harmony" language directly - 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, or a gummy bounce trail used in this
             project's other builds. The bottle image itself is
             NEVER clipped or masked by the ring - it stays fully
             open with object-fit:contain.
   Voice   : cautious, structure-function only - Nervelin supports
             the nervous system, healthy relaxation, emotional
             balance, and a healthy stress response as part of a
             healthy lifestyle. NEVER claims to treat, cure, or
             reverse anxiety, depression, neuropathy, or any other
             diagnosed medical or mental-health condition.
   SOURCING NOTE: the given competitor content url reviews "Nervine"
             by NutriLabs (made by Provita Nutrition) - a real,
             differently branded, differently formulated product
             (Vitamin B1/B6/B12 + MSM, or in other parts of that same
             source, California Poppy + Hawthorn Berry) from a
             different manufacturer entirely, unrelated to Nervelin
             beyond a superficial name similarity in the same general
             category. We do not use that source's ingredients or
             claims here. Since neither Nervelin's own confirmed
             label nor its infographic names any specific ingredient
             (both use only generic "nervous system support" and
             "targeted delivery / neural calmness / synergistic
             results" language), we do not invent specific ingredient
             names - we describe the formula only in general, honest
             "natural nervous-system-support blend" terms throughout.
   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:#262850;
  --ink-dk:#171836;
  --steel:#5B4FE8;
  --steel-dk:#4038B0;
  --sage:#9B94F0;
  --stone:#F8F8FD;
  --sand:#ECEAFA;
  --slate:#40415C;
  --line:#DDDAF5;
}

*{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:'Schibsted 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:'Schibsted 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}
.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:'Schibsted 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)}
.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:'Schibsted Grotesk',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:'Schibsted Grotesk',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 : CALM WAVE RING — a soft, slow-pulsing concentric ring behind the bottle, NEVER clipping the image ---------- */
.nl-hero{background:linear-gradient(180deg,var(--stone) 0%,var(--sand) 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-wave-svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:250px;height:250px;z-index:0}
.nl-wave-svg circle{fill:none;stroke:var(--steel);opacity:0}
.nl-wave-svg circle.nl-wave-1{animation:nlWaveBreathe 4s ease-in-out infinite}
.nl-wave-svg circle.nl-wave-2{animation:nlWaveBreathe 4s ease-in-out infinite 1.3s}
.nl-wave-svg circle.nl-wave-3{animation:nlWaveBreathe 4s ease-in-out infinite 2.6s}
@keyframes nlWaveBreathe{0%{opacity:0;stroke-width:1;r:40}30%{opacity:.35}70%{opacity:.12}100%{opacity:0;stroke-width:.5;r:120}}
@media(prefers-reduced-motion:reduce){.nl-wave-svg circle{animation:none;opacity:.15}}
.nl-hero-copy{order:2}
.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 30px rgba(38,40,80,.3))}
.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(38,40,80,.14);
  z-index:3;white-space:nowrap}
.nl-hero h1 em{font-style:normal;color:var(--steel-dk)}
.nl-lede{font-size:1.05rem;color:var(--slate);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(38,40,80,.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:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 15px;
  font-size:.8rem;font-weight:700;color:var(--ink)}

.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}
.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(91,79,232,.18)}
.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:#fff;border:1px solid var(--line);border-radius:8px;padding:14px 8px;text-align:center}
.nl-figures b{display:block;font-family:'Schibsted Grotesk',sans-serif;font-weight:700;font-size:1.2rem;color:var(--ink);line-height:1.1}
.nl-figures span{font-size:.68rem;font-weight:700;color:var(--slate);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:var(--slate)}

@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-svg{width:190px;height:190px}
  .nl-wave-tag{bottom:0;right:0}
}

/* ---------- "the calm wave" signature — a small breathing concentric ring pulse, echoing "neural calmness" ---------- */
.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(38,40,80,.07);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-wave-core{fill:var(--steel)}
.nl-wave-ring{fill:none;stroke:var(--steel);opacity:0;animation:nlSmallWave 3s ease-in-out infinite}
.nl-ascent-cap{font-size:.68rem;font-weight:700;color:var(--slate);margin-top:8px}
@keyframes nlSmallWave{0%{opacity:.5;r:9;stroke-width:2}100%{opacity:0;r:24;stroke-width:.5}}
@media(prefers-reduced-motion:reduce){.nl-wave-ring{animation:none;opacity:.2}}

/* ---------- 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:'Schibsted Grotesk',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:'Schibsted Grotesk',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:'Schibsted Grotesk',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:'Schibsted Grotesk',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:'Schibsted Grotesk',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:'Schibsted Grotesk',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:'Schibsted Grotesk',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:'Schibsted Grotesk',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:'Schibsted Grotesk',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:'Schibsted Grotesk',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:'Schibsted Grotesk',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(38,40,80,.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(38,40,80,.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(91,79,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(38,40,80,.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:'Schibsted Grotesk',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:'Schibsted Grotesk',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:'Schibsted Grotesk',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(91,79,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(155,148,240,.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(38,40,80,.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:'Schibsted Grotesk',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}}
