  :root{
    --bb-purple: #5E239D;
    --bb-purple-bright: #8B3FE8;
    --bb-purple-deep: #1E0B33;
    --bb-black: #0B0810;
    --bb-white: #FAF9FC;
    --bb-ink: #17131F;
    --bb-gray: #6E6B78;
    --bb-line: #E6E1EE;
    --bb-line-dark: #33283F;
    --radius: 2px;
    --maxw: 1180px;
  }

  *{ box-sizing:border-box; margin:0; padding:0; }
  html{ scroll-behavior:smooth; }
  body{
    font-family:'Inter', sans-serif;
    color:var(--bb-ink);
    background:var(--bb-white);
    -webkit-font-smoothing:antialiased;
    line-height:1.5;
  }
  img{ max-width:100%; display:block; }
  a{ color:inherit; text-decoration:none; }
  ul{ list-style:none; }
  button{ font-family:inherit; cursor:pointer; }

  h1,h2,h3,h4{
    font-family:'Space Grotesk', sans-serif;
    font-weight:600;
    letter-spacing:-0.01em;
    line-height:1.1;
  }
  .mono{ font-family:'JetBrains Mono', monospace; }
  .wrap{ max-width:var(--maxw); margin:0 auto; padding:0 24px; }
  .eyebrow{
    font-family:'JetBrains Mono', monospace;
    font-size:12px;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--bb-purple-bright);
    display:flex; align-items:center; gap:10px;
  }
  .eyebrow::before{ content:''; width:18px; height:1px; background:var(--bb-purple-bright); display:inline-block; }

  /* ---------- Compliance strip ---------- */
  .compliance-strip{
    background:var(--bb-purple-deep);
    color:#D9CCEC;
    font-family:'JetBrains Mono', monospace;
    font-size:11.5px;
    letter-spacing:0.02em;
    text-align:center;
    padding:8px 16px;
  }
  .compliance-strip strong{ color:#fff; font-weight:600; }

  /* ---------- Header ---------- */
  header{
    position:sticky; top:0; z-index:50;
    background:rgba(250,249,252,0.92);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--bb-line);
  }
  .nav{
    display:flex; align-items:center; justify-content:space-between;
    padding:14px 24px;
    max-width:var(--maxw); margin:0 auto;
  }
  .brand{ display:flex; align-items:center; gap:10px; }
  .brand img{ height:44px; width:auto; }
  .navlinks{ display:flex; gap:34px; align-items:center; }
  .navlinks a{
    font-size:14px; font-weight:500; color:var(--bb-ink);
    position:relative; padding:4px 0;
  }
  .navlinks a::after{
    content:''; position:absolute; left:0; bottom:0; width:0; height:1.5px;
    background:var(--bb-purple); transition:width .25s ease;
  }
  .navlinks a:hover::after{ width:100%; }
  .btn{
    font-size:13.5px; font-weight:600; letter-spacing:0.01em;
    padding:11px 22px; border-radius:var(--radius);
    border:1px solid var(--bb-ink); display:inline-flex; align-items:center; gap:8px;
    transition:all .2s ease; white-space:nowrap;
  }
  .btn-primary{ background:var(--bb-ink); color:#fff; border-color:var(--bb-ink); }
  .btn-primary:hover{ background:var(--bb-purple); border-color:var(--bb-purple); }
  .btn-outline{ background:transparent; color:var(--bb-ink); }
  .btn-outline:hover{ background:var(--bb-ink); color:#fff; }
  .navlinks a.btn-primary,
  .navlinks a.btn-primary:hover{ color:#fff; }
  .btn-disabled{ opacity:0.4; pointer-events:none; }
  .menu-toggle{ display:none; background:none; border:none; }

  /* ---------- Hero ---------- */
  .hero{
    position:relative; overflow:hidden;
    background:var(--bb-black);
    color:#fff;
    padding:96px 0 110px;
  }
  .hero .wrap{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:60px; align-items:center; position:relative; z-index:2; }
  .hero h1{
    font-size:clamp(38px,4.6vw,58px);
    color:#fff;
    margin:18px 0 22px;
  }
  .hero h1 em{ font-style:normal; color:var(--bb-purple-bright); }
  .hero p{ font-size:16.5px; color:#B9B3C4; max-width:480px; margin-bottom:34px; }
  .hero-ctas{ display:flex; gap:14px; flex-wrap:wrap; }
  .hero .btn-primary{ background:var(--bb-purple-bright); border-color:var(--bb-purple-bright); color:#fff; }
  .hero .btn-primary:hover{ background:#a563f0; border-color:#a563f0; }
  .hero .btn-outline{ border-color:#4A4054; color:#EDEAF2; }
  .hero .btn-outline:hover{ background:#fff; color:var(--bb-ink); border-color:#fff; }

  .helix-bg{ position:absolute; inset:0; z-index:1; opacity:0.5; }
  .helix-bg svg{ width:100%; height:100%; }

  /* COA card - signature element */
  .coa-card{
    background:#120A1C;
    border:1px solid var(--bb-line-dark);
    border-radius:var(--radius);
    padding:0;
    position:relative;
    box-shadow:0 30px 60px -20px rgba(94,35,157,0.35);
  }
  .coa-head{
    display:flex; justify-content:space-between; align-items:center;
    padding:16px 20px; border-bottom:1px dashed var(--bb-line-dark);
  }
  .coa-head .mono{ font-size:11px; color:#8F86A0; letter-spacing:0.08em; }
  .coa-dot{ width:7px; height:7px; border-radius:50%; background:#3DDC84; display:inline-block; margin-right:6px; box-shadow:0 0 8px #3DDC84; }
  .coa-body{ padding:22px 20px; }
  .coa-title{ font-size:19px; color:#fff; margin-bottom:2px; }
  .coa-sub{ font-size:12.5px; color:#8F86A0; margin-bottom:20px; }
  .coa-row{
    display:flex; justify-content:space-between;
    font-family:'JetBrains Mono', monospace; font-size:12.5px;
    padding:9px 0; border-bottom:1px solid #241A30; color:#D3CCE0;
  }
  .coa-row span:first-child{ color:#8F86A0; }
  .coa-row:last-child{ border-bottom:none; }
  .coa-foot{
    padding:16px 20px; border-top:1px dashed var(--bb-line-dark);
    font-family:'JetBrains Mono', monospace; font-size:10.5px; color:#6C6478;
  }

  /* ---------- Trust bar ---------- */
  .trust{
    background:var(--bb-white);
    border-bottom:1px solid var(--bb-line);
    padding:26px 0;
  }
  .trust .wrap{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
  .trust-item{ display:flex; align-items:center; gap:12px; }
  .trust-num{ font-family:'Space Grotesk',sans-serif; font-size:22px; font-weight:700; color:var(--bb-purple); }
  .trust-label{ font-size:12.5px; color:var(--bb-gray); line-height:1.3; }

  /* ---------- Sections ---------- */
  section{ padding:96px 0; }
  .section-head{ max-width:640px; margin-bottom:52px; }
  .section-head h2{ font-size:clamp(28px,3.4vw,38px); margin:14px 0 16px; }
  .section-head p{ color:var(--bb-gray); font-size:15.5px; }

  /* ---------- Products ---------- */
  .products-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:22px;
  }
  .product-card{
    border:1px solid var(--bb-line); border-radius:var(--radius);
    background:#fff; overflow:hidden; display:flex; flex-direction:column;
    transition:border-color .2s ease, transform .2s ease;
  }
  .product-card:hover{ border-color:var(--bb-purple); transform:translateY(-3px); }
  .product-media{
    height:270px; background:linear-gradient(180deg,#F3EFF7,#FFFFFF);
    position:relative; display:flex; align-items:center; justify-content:center;
    border-bottom:1px solid var(--bb-line);
  }
  .product-media img{ height:88%; width:auto; object-fit:contain; }
  .product-tag{
    position:absolute; top:12px; left:12px;
    font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:0.08em;
    background:rgba(255,255,255,0.1); color:#fff; padding:4px 8px; border-radius:2px;
    border:1px solid rgba(255,255,255,0.2); text-transform:uppercase;
  }
  .product-body{ padding:20px; flex:1; display:flex; flex-direction:column; }
  .product-body h3{ font-size:18px; margin-bottom:2px; }
  .product-dose{ font-family:'JetBrains Mono',monospace; font-size:12.5px; color:var(--bb-purple); margin-bottom:14px; }
  .spec-list{ margin-bottom:18px; flex:1; }
  .spec-row{
    display:flex; justify-content:space-between; font-size:12px;
    padding:6px 0; border-bottom:1px solid var(--bb-line); color:var(--bb-gray);
  }
  .spec-row span:last-child{ color:var(--bb-ink); font-family:'JetBrains Mono',monospace; }
  .product-card.placeholder{ opacity:0.72; }
  .product-card.placeholder .product-media{ background:linear-gradient(135deg,#EDE8F4,#F5F3F8); }
  .product-card.placeholder .product-media svg{ opacity:0.35; filter:grayscale(1); }
  .product-card.placeholder h3{ color:var(--bb-gray); }
  .product-card.placeholder .product-tag{ background:#F1EDF6; color:var(--bb-gray); border-color:var(--bb-line); }

  /* ---------- Verification ---------- */
  .verify{ background:var(--bb-purple-deep); color:#fff; }
  .verify .wrap{ display:grid; grid-template-columns:0.9fr 1.1fr; gap:60px; align-items:center; }
  .verify .eyebrow{ color:#C9AEEE; }
  .verify .eyebrow::before{ background:#C9AEEE; }
  .verify h2{ color:#fff; }
  .verify p{ color:#C7BEDA; font-size:15.5px; margin-bottom:26px; }
  .verify-steps{ display:flex; flex-direction:column; gap:18px; }
  .vstep{ display:flex; gap:16px; align-items:flex-start; }
  .vstep-num{
    font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--bb-purple-bright);
    border:1px solid #4A3A63; width:30px; height:30px; border-radius:50%;
    display:flex; align-items:center; justify-content:center; flex-shrink:0;
  }
  .vstep h4{ color:#fff; font-size:15px; margin-bottom:4px; }
  .vstep p{ color:#B3A9C6; font-size:13.5px; margin:0; }

  /* ---------- About ---------- */
  .about .wrap{ display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
  .about-visual{
    border:1px solid var(--bb-line); border-radius:var(--radius); padding:36px;
    background:linear-gradient(180deg,#fff,#F8F5FB);
  }
  .about-visual .helix-mini{ width:100%; height:auto; }
  .about p{ color:var(--bb-gray); font-size:15.5px; margin-bottom:16px; }

  /* ---------- FAQ ---------- */
  .faq-list{ max-width:760px; }
  .faq-item{ border-bottom:1px solid var(--bb-line); }
  .faq-q{
    width:100%; background:none; border:none; text-align:left;
    display:flex; justify-content:space-between; align-items:center;
    padding:22px 0; font-family:'Space Grotesk',sans-serif; font-size:16px; font-weight:600;
    color:var(--bb-ink);
  }
  .faq-q .plus{ font-family:'JetBrains Mono',monospace; font-size:18px; color:var(--bb-purple); transition:transform .25s ease; }
  .faq-item.open .plus{ transform:rotate(45deg); }
  .faq-a{ max-height:0; overflow:hidden; transition:max-height .3s ease; }
  .faq-a p{ padding-bottom:22px; color:var(--bb-gray); font-size:14.5px; max-width:620px; }

  /* ---------- Quote form ---------- */
  .quote{ background:#F6F3F9; }
  .quote .wrap{ display:grid; grid-template-columns:0.9fr 1.1fr; gap:60px; align-items:flex-start; }
  .quote-info h2{ margin:14px 0 16px; }
  .quote-info p{ color:var(--bb-gray); font-size:15px; margin-bottom:22px; }
  .quote-contact{ font-size:13.5px; color:var(--bb-ink); font-family:'JetBrains Mono',monospace; }
  .quote-contact a{ color:var(--bb-purple); }

  form.quote-form{
    background:#fff; border:1px solid var(--bb-line); border-radius:var(--radius);
    padding:32px;
  }
  .form-row{ margin-bottom:18px; }
  .form-row label{ display:block; font-size:12.5px; font-weight:600; margin-bottom:7px; letter-spacing:0.02em; }
  .form-row input, .form-row textarea{
    width:100%; padding:11px 13px; border:1px solid var(--bb-line); border-radius:var(--radius);
    font-family:'Inter',sans-serif; font-size:14px; background:#FCFBFD;
  }
  .form-row input:focus, .form-row textarea:focus{ outline:none; border-color:var(--bb-purple); background:#fff; }
  .form-grid2{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
  .check-grid{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .check-item{ display:flex; align-items:center; gap:8px; font-size:13.5px; }
  .check-item input{ width:auto; accent-color:var(--bb-purple); }
  .form-note{ font-size:11.5px; color:var(--bb-gray); margin-top:14px; line-height:1.5; }
  .form-success{
    display:none; text-align:center; padding:40px 20px;
  }
  .form-success.show{ display:block; }
  .form-success .check{
    width:44px; height:44px; border-radius:50%; background:var(--bb-purple); color:#fff;
    display:flex; align-items:center; justify-content:center; margin:0 auto 16px; font-size:20px;
  }
  .form-success h3{ margin-bottom:8px; }
  .form-success p{ color:var(--bb-gray); font-size:14px; }

  /* ---------- Footer ---------- */
  footer{ background:var(--bb-black); color:#B9B3C4; padding:60px 0 0; }
  .foot-top{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:48px; border-bottom:1px solid #211A2B; }
  .foot-brand img{ height:46px; margin-bottom:14px; }
  .foot-brand p{ font-size:13px; color:#8F86A0; max-width:280px; }
  .foot-col h4{ color:#fff; font-size:13px; margin-bottom:16px; letter-spacing:0.03em; }
  .foot-col ul li{ margin-bottom:10px; }
  .foot-col a{ font-size:13.5px; color:#B0A7C2; }
  .foot-col a:hover{ color:#fff; }
  .foot-disclaimer{
    padding:26px 0; font-size:11.5px; color:#7A7188; line-height:1.7;
    font-family:'JetBrains Mono',monospace; border-bottom:1px solid #211A2B;
  }
  .foot-bottom{
    display:flex; justify-content:space-between; align-items:center;
    padding:20px 0; font-size:12px; color:#6C6478;
  }

  /* ---------- Responsive ---------- */
  @media (max-width:860px){
    .navlinks{ display:none; }
    .menu-toggle{ display:block; }
    .hero .wrap{ grid-template-columns:1fr; }
    .hero{ padding:64px 0 70px; text-align:left; }
    .trust .wrap{ grid-template-columns:1fr 1fr; }
    .products-grid{ grid-template-columns:1fr 1fr; }
    .verify .wrap, .about .wrap, .quote .wrap{ grid-template-columns:1fr; }
    .foot-top{ grid-template-columns:1fr 1fr; }
    .form-grid2, .check-grid{ grid-template-columns:1fr; }
  }
  @media (max-width:560px){
    .products-grid{ grid-template-columns:1fr; }
    .foot-top{ grid-template-columns:1fr; }
    .foot-bottom{ flex-direction:column; gap:10px; align-items:flex-start; }
  }

  @media (prefers-reduced-motion:reduce){
    html{ scroll-behavior:auto; }
    *{ animation:none !important; transition:none !important; }
  }

/* ---------- Page banner (non-home pages) ---------- */
.page-banner{
  background:var(--bb-black); color:#fff; padding:56px 0 44px;
}
.page-banner h1{ font-size:clamp(30px,4vw,42px); color:#fff; margin:14px 0 10px; }
.page-banner p{ color:#B9B3C4; font-size:15.5px; max-width:560px; }
.navlinks a.active{ color:var(--bb-purple); }
.navlinks a.active::after{ width:100%; }

/* ---------- COA library ---------- */
.coa-note{
  background:#F6F3F9; border:1px solid var(--bb-line); border-radius:var(--radius);
  padding:16px 20px; margin-bottom:44px; font-size:13.5px; color:var(--bb-gray);
}
.coa-note strong{ color:var(--bb-ink); }
.coa-groups{ display:flex; flex-direction:column; gap:14px; }
.coa-group{ border:1px solid var(--bb-line); border-radius:var(--radius); overflow:hidden; }
.coa-group-head{
  display:flex; justify-content:space-between; align-items:center;
  padding:18px 22px; background:#fff;
}
.coa-group-head h3{ font-size:16.5px; }
.coa-group-head .mono{ font-size:11.5px; color:var(--bb-gray); }
.coa-entries{ border-top:1px solid var(--bb-line); }
.coa-entry{
  display:flex; justify-content:space-between; align-items:center;
  padding:14px 22px; border-bottom:1px solid var(--bb-line); background:#FCFBFD;
}
.coa-entry:last-child{ border-bottom:none; }
.coa-entry-info{ display:flex; flex-direction:column; gap:2px; }
.coa-entry-info .mono{ font-size:11.5px; color:var(--bb-gray); }
.coa-entry-info .name{ font-size:14px; font-weight:600; }
.coa-entry.pending{ opacity:0.65; }
.coa-download{
  font-family:'JetBrains Mono',monospace; font-size:12px; font-weight:600;
  color:var(--bb-purple); border:1px solid var(--bb-purple); padding:8px 14px;
  border-radius:var(--radius); white-space:nowrap;
}
.coa-download:hover{ background:var(--bb-purple); color:#fff; }
.coa-pending-tag{
  font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--bb-gray);
  border:1px dashed var(--bb-line); padding:7px 12px; border-radius:var(--radius);
}

/* ---------- Simple content page (About) ---------- */
.content-page .wrap{ max-width:760px; }
.content-page p{ color:var(--bb-gray); font-size:15.5px; margin-bottom:18px; }
.content-page h2{ margin:36px 0 14px; }

/* ---------- COA card cycler (home hero) ---------- */
.coa-body{ transition:opacity .35s ease; }
.coa-body.fading{ opacity:0; }
.coa-dots{
  display:flex; gap:6px; justify-content:center;
  padding:0 20px 16px;
}
.coa-dots span{
  width:6px; height:6px; border-radius:50%;
  background:#3A2E4A; transition:background .25s ease, transform .25s ease;
}
.coa-dots span.active{ background:var(--bb-purple-bright); transform:scale(1.3); }
