/* ==========================================================================
   Neuropan — neuro-pan.com
   CSS prefix: npcx-
   ========================================================================== */

:root{
  --npcx-red:#c90207;
  --npcx-red-dark:#9c0105;
  --npcx-red-light:#fdeceb;
  --npcx-gold:#f6b800;
  --npcx-gold-dark:#d99c00;
  --npcx-teal:#2f8f7b;
  --npcx-teal-light:#e9f7f3;
  --npcx-navy:#1c2733;
  --npcx-ink:#2a333c;
  --npcx-grey:#6b7580;
  --npcx-bg:#ffffff;
  --npcx-bg-alt:#faf7f2;
  --npcx-border:#e7e2da;
  --npcx-radius:16px;
  --npcx-shadow:0 10px 30px rgba(28,39,51,.08);
  --npcx-maxw:1180px;
  --npcx-font-head:"Poppins",Arial,Helvetica,sans-serif;
  --npcx-font-body:"Inter",Arial,Helvetica,sans-serif;
}

*,*::before,*::after{box-sizing:border-box; min-width:0;}
html{scroll-behavior:smooth; -webkit-text-size-adjust:100%;}
html,body{max-width:100%; overflow-x:hidden; width:100%;}
body{
  margin:0;
  font-family:var(--npcx-font-body);
  color:var(--npcx-ink);
  background:var(--npcx-bg);
  font-size:18px;
  line-height:1.65;
}
img{max-width:100%; height:auto; display:block;}
a{color:var(--npcx-red); text-decoration:none;}
a:hover{text-decoration:underline;}
ul,ol{padding-left:1.3em;}
.npcx-wrap{width:100%; max-width:var(--npcx-maxw); margin:0 auto; padding:0 20px;}
section{padding:64px 0;}
h1,h2,h3,h4{font-family:var(--npcx-font-head); color:var(--npcx-navy); line-height:1.25; margin:0 0 .6em;}
h1{font-size:30px; font-weight:800;}
h2{font-size:26px; font-weight:700;}
h3{font-size:20px; font-weight:700;}
p{margin:0 0 1em;}
.npcx-center{text-align:center;}
.npcx-eyebrow{
  display:inline-block; color:var(--npcx-red); font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; font-size:13px; margin-bottom:10px;
}
.npcx-sub{color:var(--npcx-grey); font-size:18px; max-width:720px; margin:0 auto 36px;}

@media(min-width:860px){
  h1{font-size:32px;}
  h2{font-size:30px;}
  h3{font-size:22px;}
  body{font-size:19px;}
}

/* ---------- Buttons ---------- */
.npcx-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  background:var(--npcx-gold); color:var(--npcx-navy); font-weight:800;
  font-family:var(--npcx-font-head); font-size:18px; padding:16px 32px;
  border-radius:50px; border:none; cursor:pointer; box-shadow:0 8px 20px rgba(246,184,0,.35);
  transition:transform .15s ease, box-shadow .15s ease; text-decoration:none;
}
.npcx-btn:hover{transform:translateY(-2px); box-shadow:0 12px 26px rgba(246,184,0,.45); text-decoration:none;}
.npcx-btn-outline{
  background:#fff; color:var(--npcx-red); border:2px solid var(--npcx-red); box-shadow:none;
}
.npcx-secured{
  display:flex; align-items:center; gap:6px; justify-content:center; color:var(--npcx-grey);
  font-size:14px; margin-top:12px;
}

/* ---------- Header ---------- */
.npcx-header{
  position:sticky; top:0; z-index:50; background:#fff; border-bottom:1px solid var(--npcx-border);
}
.npcx-header-row{display:flex; align-items:center; justify-content:space-between; padding:14px 20px; gap:16px;}
.npcx-logo{display:flex; align-items:center; gap:10px; font-family:var(--npcx-font-head); font-weight:800; font-size:21px; color:var(--npcx-navy);}
.npcx-logo img{width:40px; height:40px; border-radius:8px;}
.npcx-nav{display:none; align-items:center; gap:26px;}
.npcx-nav a{color:var(--npcx-navy); font-weight:600; font-size:15.5px;}
.npcx-nav a:hover{color:var(--npcx-red); text-decoration:none;}
.npcx-header-cta{display:none;}
.npcx-burger{background:none; border:none; font-size:26px; cursor:pointer; color:var(--npcx-navy);}
@media(min-width:860px){
  .npcx-nav{display:flex;}
  .npcx-header-cta{display:inline-flex;}
  .npcx-burger{display:none;}
}
.npcx-mobile-menu{display:none; flex-direction:column; padding:10px 20px 20px; border-top:1px solid var(--npcx-border);}
.npcx-mobile-menu.npcx-open{display:flex;}
.npcx-mobile-menu a{padding:10px 0; color:var(--npcx-navy); font-weight:600; border-bottom:1px solid var(--npcx-border);}

.npcx-mobile-cta{
  position:fixed; left:0; right:0; bottom:0; z-index:60; display:flex; background:#fff;
  padding:10px 14px; box-shadow:0 -6px 18px rgba(0,0,0,.12); gap:10px;
}
.npcx-mobile-cta .npcx-btn{flex:1; padding:13px 10px; font-size:16px;}
@media(min-width:860px){.npcx-mobile-cta{display:none;}}
body{padding-bottom:72px;}
@media(min-width:860px){body{padding-bottom:0;}}

/* ---------- Hero ---------- */
.npcx-hero{padding:40px 0 48px; background:#fff;}
.npcx-hero-grid{display:grid; grid-template-columns:minmax(0,1fr); gap:36px; align-items:center;}
@media(min-width:960px){.npcx-hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:48px;}}
.npcx-hero-badge{
  display:inline-flex; align-items:center; gap:8px; background:var(--npcx-red-light); color:var(--npcx-red);
  font-weight:700; font-size:13px; padding:7px 14px; border-radius:30px; margin-bottom:16px;
}
.npcx-hero h1{margin-bottom:14px;}
.npcx-hero p.npcx-lead{font-size:19px; color:var(--npcx-ink);}
.npcx-hero-bullets{list-style:none; padding:0; margin:20px 0; display:grid; gap:12px;}
.npcx-hero-bullets li{display:flex; gap:10px; align-items:flex-start; font-weight:600;}
.npcx-hero-bullets li svg{flex:none; margin-top:3px;}
.npcx-hero-extra{background:var(--npcx-bg-alt); border:1px solid var(--npcx-border); border-radius:14px; padding:18px 20px; margin:20px 0;}
.npcx-hero-extra h3{font-size:16px; margin-bottom:10px;}
.npcx-hero-extra ul{margin:0; padding-left:1.1em;}
.npcx-hero-extra li{margin-bottom:6px;}
.npcx-numbered{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px; margin:22px 0;}
.npcx-numbered div{background:var(--npcx-bg-alt); border:1px solid var(--npcx-border); border-radius:14px; padding:14px 16px;}
.npcx-numbered span{display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; background:var(--npcx-red); color:#fff; font-weight:800; font-size:14px; margin-bottom:8px;}
.npcx-numbered p{margin:0; font-weight:700; font-size:14.5px; color:var(--npcx-navy);}
.npcx-hero-cta{margin-top:10px;}
.npcx-hero-img{text-align:center;}
.npcx-hero-img img{margin:0 auto; max-width:420px;}
.npcx-hero-visual{margin-top:22px; border-radius:var(--npcx-radius); overflow:hidden; box-shadow:var(--npcx-shadow);}

/* ---------- Trust strip ---------- */
.npcx-trust{background:var(--npcx-bg-alt); padding:18px 0; border-top:1px solid var(--npcx-border); border-bottom:1px solid var(--npcx-border);}
.npcx-trust-row{display:flex; flex-wrap:wrap; justify-content:center; gap:26px; font-weight:700; color:var(--npcx-navy); font-size:14.5px;}
.npcx-trust-row span{display:flex; align-items:center; gap:8px;}

/* ---------- Why choose ---------- */
.npcx-why-grid{display:grid; grid-template-columns:minmax(0,1fr); gap:20px;}
@media(min-width:720px){.npcx-why-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
.npcx-why-card{background:#fff; border:1px solid var(--npcx-border); border-radius:var(--npcx-radius); padding:26px 20px; text-align:center; box-shadow:var(--npcx-shadow);}
.npcx-why-card .npcx-ic{width:58px; height:58px; margin:0 auto 14px; border-radius:50%; background:var(--npcx-red-light); display:flex; align-items:center; justify-content:center;}

/* ---------- Wave CTA banner ---------- */
.npcx-wave{position:relative; background:var(--npcx-teal); color:#fff; padding:46px 0; text-align:center; overflow:hidden;}
.npcx-wave h2{color:#fff; margin-bottom:10px;}
.npcx-wave p{color:#eafaf5; margin-bottom:20px;}
.npcx-wave svg.npcx-wave-top{position:absolute; top:-1px; left:0; width:100%; height:40px;}

/* ---------- What is / story / two-col ---------- */
.npcx-twocol{display:grid; grid-template-columns:minmax(0,1fr); gap:36px; align-items:center;}
@media(min-width:900px){.npcx-twocol{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}}
.npcx-twocol img{border-radius:var(--npcx-radius); box-shadow:var(--npcx-shadow);}

/* ---------- Pricing ---------- */
.npcx-pricing{background:var(--npcx-bg-alt);}
.npcx-stock-note{text-align:center; background:#fff3cd; color:#7a5b00; border:1px solid #f3d98b; border-radius:30px; padding:9px 18px; display:inline-block; font-weight:700; font-size:14px; margin:0 auto 28px; display:table;}
.npcx-price-grid{display:grid; grid-template-columns:minmax(0,1fr); gap:22px;}
@media(min-width:880px){.npcx-price-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
.npcx-price-card{background:#fff; border:2px solid var(--npcx-border); border-radius:var(--npcx-radius); padding:26px 22px; text-align:center; position:relative; box-shadow:var(--npcx-shadow);}
.npcx-price-card.npcx-best{border-color:var(--npcx-teal); background:var(--npcx-teal-light); transform:translateY(-6px);}
.npcx-badge-best{position:absolute; top:-14px; left:50%; transform:translateX(-50%); background:var(--npcx-teal); color:#fff; font-size:12.5px; font-weight:800; padding:6px 16px; border-radius:30px;}
.npcx-price-card h3{margin-bottom:2px;}
.npcx-price-card .npcx-days{color:var(--npcx-grey); font-size:14px; margin-bottom:14px;}
.npcx-price-card img{max-width:220px; margin:0 auto 14px;}
.npcx-price-big{font-family:var(--npcx-font-head); font-weight:800; font-size:40px; color:var(--npcx-navy);}
.npcx-price-big small{font-size:14px; font-weight:600; color:var(--npcx-grey);}
.npcx-save{color:var(--npcx-red); font-weight:800; margin:6px 0 14px;}
.npcx-bonus-pill{display:inline-block; background:var(--npcx-red); color:#fff; font-size:12.5px; font-weight:700; padding:6px 14px; border-radius:30px; margin-bottom:16px;}
.npcx-price-card .npcx-btn{width:100%; margin-bottom:10px;}
.npcx-price-total{font-size:13.5px; color:var(--npcx-grey); margin-top:10px;}
.npcx-pay-icons{display:flex; justify-content:center; gap:8px; margin:12px 0; font-size:12px; color:var(--npcx-grey); flex-wrap:wrap;}
.npcx-pay-icons span{border:1px solid var(--npcx-border); border-radius:6px; padding:3px 8px;}

/* ---------- Guarantee ---------- */
.npcx-guarantee{display:grid; grid-template-columns:minmax(0,1fr); gap:30px; align-items:center;}
@media(min-width:880px){.npcx-guarantee{grid-template-columns:180px minmax(0,1fr);}}
.npcx-seal{width:150px; height:150px; border-radius:50%; background:var(--npcx-red); color:#fff; display:flex; align-items:center; justify-content:center; text-align:center; font-family:var(--npcx-font-head); font-weight:800; font-size:16px; line-height:1.2; margin:0 auto; padding:14px;}

/* ---------- Bonuses ---------- */
.npcx-bonus-grid{display:grid; grid-template-columns:minmax(0,1fr); gap:22px;}
@media(min-width:720px){.npcx-bonus-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}}
.npcx-bonus-card{background:#fff; border:1px solid var(--npcx-border); border-radius:var(--npcx-radius); padding:22px; display:flex; gap:16px; align-items:flex-start; box-shadow:var(--npcx-shadow);}
.npcx-bonus-tag{background:var(--npcx-gold); color:var(--npcx-navy); font-weight:800; font-size:12px; padding:4px 10px; border-radius:20px; display:inline-block; margin-bottom:8px;}

/* ---------- Shipping banner ---------- */
.npcx-shipping{background:var(--npcx-navy-light,#fff); border-top:1px solid var(--npcx-border); border-bottom:1px solid var(--npcx-border); background:var(--npcx-bg-alt);}
.npcx-ship-row{display:flex; flex-wrap:wrap; gap:26px; justify-content:center; align-items:center; text-align:center;}
.npcx-ship-row div{max-width:220px;}

/* ---------- Reviews ---------- */
.npcx-review-grid{display:grid; grid-template-columns:minmax(0,1fr); gap:22px;}
@media(min-width:780px){.npcx-review-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
.npcx-review-card{background:#fff; border:1px solid var(--npcx-border); border-radius:var(--npcx-radius); padding:24px; box-shadow:var(--npcx-shadow);}
.npcx-stars{color:var(--npcx-gold); font-size:16px; margin-bottom:10px;}
.npcx-reviewer{display:flex; align-items:center; gap:12px; margin-top:16px;}
.npcx-reviewer img{width:46px; height:46px; border-radius:50%; object-fit:cover;}
.npcx-reviewer strong{display:block; font-size:14.5px;}
.npcx-reviewer span{font-size:12.5px; color:var(--npcx-grey);}

/* ---------- Ingredients ---------- */
.npcx-ing-grid{display:grid; grid-template-columns:minmax(0,1fr); gap:22px;}
@media(min-width:720px){.npcx-ing-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}}
.npcx-ing-card{background:#fff; border:1px solid var(--npcx-border); border-radius:var(--npcx-radius); padding:24px; box-shadow:var(--npcx-shadow);}
.npcx-ing-card h3{color:var(--npcx-red); margin-bottom:8px;}
.npcx-ing-meta{font-size:13.5px; color:var(--npcx-grey); margin-bottom:10px;}

/* ---------- Benefits ---------- */
.npcx-benefit{display:grid; grid-template-columns:minmax(0,1fr); gap:16px; padding:22px 0; border-bottom:1px solid var(--npcx-border);}
@media(min-width:780px){.npcx-benefit{grid-template-columns:70px minmax(0,1fr);}}
.npcx-benefit .npcx-ic{width:58px; height:58px; border-radius:16px; background:var(--npcx-red-light); display:flex; align-items:center; justify-content:center;}
.npcx-benefit-ingredients{font-size:14px; color:var(--npcx-teal); font-weight:700; margin-bottom:6px;}

/* ---------- FAQ ---------- */
.npcx-faq{max-width:820px; margin:0 auto;}
.npcx-faq-item{border-bottom:1px solid var(--npcx-border);}
.npcx-faq-q{width:100%; text-align:left; background:none; border:none; padding:18px 4px; font-weight:700; font-size:16.5px; color:var(--npcx-navy); display:flex; justify-content:space-between; align-items:center; cursor:pointer; font-family:var(--npcx-font-head);}
.npcx-faq-a{display:none; padding:0 4px 18px; color:var(--npcx-ink);}
.npcx-faq-item.npcx-active .npcx-faq-a{display:block;}
.npcx-faq-item.npcx-active .npcx-faq-q span.npcx-plus{transform:rotate(45deg);}
.npcx-plus{display:inline-block; transition:transform .15s ease; font-size:22px; color:var(--npcx-red);}

/* ---------- Final CTA ---------- */
.npcx-final{background:var(--npcx-red); color:#fff; text-align:center;}
.npcx-final h2{color:#fff;}
.npcx-final p{color:#fde6e5;}
.npcx-final .npcx-btn{background:#fff; color:var(--npcx-red); box-shadow:none;}

/* ---------- Label / references ---------- */
.npcx-label-wrap{text-align:center;}
.npcx-label-wrap img{max-width:360px; margin:0 auto; border-radius:14px; border:1px solid var(--npcx-border); box-shadow:var(--npcx-shadow);}
.npcx-refs{font-size:14.5px; color:var(--npcx-grey);}
.npcx-refs ol{padding-left:1.3em;}
.npcx-refs li{margin-bottom:8px;}

/* ---------- Footer ---------- */
.npcx-footer{background:var(--npcx-navy); color:#cfd7df; padding:50px 0 24px;}
.npcx-footer-grid{display:grid; grid-template-columns:minmax(0,1fr); gap:30px;}
@media(min-width:780px){.npcx-footer-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);}}
.npcx-footer h4{color:#fff; font-size:15px; margin-bottom:14px;}
.npcx-footer a{color:#cfd7df; display:block; margin-bottom:9px; font-size:14.5px;}
.npcx-footer a:hover{color:#fff;}
.npcx-footer-logo{display:flex; align-items:center; gap:10px; font-family:var(--npcx-font-head); font-weight:800; color:#fff; font-size:19px; margin-bottom:12px;}
.npcx-footer-logo img{width:34px; height:34px; border-radius:8px;}
.npcx-disclaimer{font-size:12.5px; color:#9aa6b2; border-top:1px solid #33404d; margin-top:34px; padding-top:22px; line-height:1.7;}
.npcx-bottom{display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; margin-top:20px; font-size:13px; color:#9aa6b2;}

/* ---------- Generic page hero (inner pages) ---------- */
.npcx-page-hero{background:var(--npcx-bg-alt); padding:46px 0; text-align:center;}
.npcx-breadcrumb{font-size:13.5px; color:var(--npcx-grey); margin-bottom:10px;}
.npcx-breadcrumb a{color:var(--npcx-grey);}

/* ---------- Blog grid ---------- */
.npcx-blog-grid{display:grid; grid-template-columns:minmax(0,1fr); gap:26px;}
@media(min-width:720px){.npcx-blog-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}}
@media(min-width:1040px){.npcx-blog-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
.npcx-blog-card{background:#fff; border:1px solid var(--npcx-border); border-radius:var(--npcx-radius); overflow:hidden; box-shadow:var(--npcx-shadow); display:flex; flex-direction:column;}
.npcx-blog-card img{width:100%; aspect-ratio:1/1; object-fit:cover;}
.npcx-blog-body{padding:20px 20px 22px; display:flex; flex-direction:column; flex:1;}
.npcx-blog-cat{color:var(--npcx-red); font-weight:800; font-size:12.5px; letter-spacing:.05em; text-transform:uppercase; margin-bottom:8px;}
.npcx-blog-body h3{font-size:18.5px; margin-bottom:10px;}
.npcx-blog-body p{color:var(--npcx-grey); font-size:15px; flex:1;}
.npcx-blog-body a.npcx-read{font-weight:700; color:var(--npcx-red);}

/* ---------- Article (single blog post) ---------- */
.npcx-article{max-width:760px; margin:0 auto;}
.npcx-article h2{margin-top:1.4em;}
.npcx-article p{font-size:18px;}
.npcx-article .npcx-meta{color:var(--npcx-grey); font-size:14px; margin-bottom:20px;}
.npcx-related{background:var(--npcx-bg-alt); border-radius:var(--npcx-radius); padding:24px; margin-top:40px;}
.npcx-related h3{margin-bottom:12px;}
.npcx-related ul{list-style:none; padding:0; margin:0;}
.npcx-related li{margin-bottom:10px;}

/* ---------- Legal pages ---------- */
.npcx-legal{max-width:820px; margin:0 auto;}
.npcx-legal h2{margin-top:1.4em;}

/* ---------- Table (ingredients facts) ---------- */
.npcx-table{width:100%; border-collapse:collapse; margin:18px 0; font-size:15px;}
.npcx-table th,.npcx-table td{border:1px solid var(--npcx-border); padding:10px 12px; text-align:left;}
.npcx-table th{background:var(--npcx-bg-alt); font-family:var(--npcx-font-head);}
.npcx-table-scroll{overflow-x:auto;}

/* ---------- Utility ---------- */
.npcx-mt0{margin-top:0;}
.npcx-small{font-size:14px; color:var(--npcx-grey);}
