/* Shared NRVE typography, artwork and accessible navigation. */
:root { --nrve-hero-art:url('../images/hero-athlete.jpg'); --nrve-mountain-art:url('../images/about-mountains.jpg'); --nrve-lab-art:url('../images/lab-vials.jpg'); --nrve-molecule-art:url('../images/research-molecule.jpg'); }
@supports (background-image:image-set(url('../images/hero-athlete-large.webp') 2x)) {
  :root {
    --nrve-hero-art:image-set(url('../images/hero-athlete-small.webp') 1x,url('../images/hero-athlete-large.webp') 2x);
    --nrve-mountain-art:image-set(url('../images/about-mountains-small.webp') 1x,url('../images/about-mountains-large.webp') 2x);
    --nrve-lab-art:image-set(url('../images/lab-vials-small.webp') 1x,url('../images/lab-vials-large.webp') 2x);
    --nrve-molecule-art:image-set(url('../images/research-molecule-small.webp') 1x,url('../images/research-molecule-large.webp') 2x);
  }
}
body { font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
button,input,select,textarea { font-family:inherit; }
a,button,input,select,textarea { -webkit-tap-highlight-color:transparent; }
.nrve-site-header :is(a,button):focus-visible,.nrve-mobile-dock :is(a,button):focus-visible { outline:2px solid #fff; outline-offset:3px; }
.nrve-icon { flex:none; vertical-align:middle; }
.nrve-icon svg { display:block; min-width:100%; }
.nrve-header-actions > a,.nrve-menu-toggle { min-width:44px; min-height:44px; }
.nrve-header-actions { gap:8px; }
.nrve-cart-count { right:0; top:0; pointer-events:none; }
.nrve-brand { flex-shrink:0; }
.nrve-home-hero__art { background-image:linear-gradient(90deg,#081014 0%,rgba(8,16,20,.2) 35%,transparent 70%),var(--nrve-hero-art); }
.nrve-home-hero__art .nrve-hero-values { display:flex; flex-direction:column; align-items:flex-end; right:22px; bottom:24px; gap:6px; }
.nrve-home-hero__art .nrve-hero-values span { position:static; font-size:10px; letter-spacing:.13em; line-height:1.6; font-weight:700; color:#f3f5f6; text-shadow:0 1px 6px #000; }
.nrve-about-hero { background-color:#081115; background-image:linear-gradient(90deg,#081115 0%,rgba(8,17,21,.94) 38%,rgba(8,17,21,.15) 85%),var(--nrve-mountain-art); background-size:auto,min(60vw,860px) auto; background-position:center,right center; background-repeat:no-repeat; }
.nrve-quality-art { background-image:linear-gradient(90deg,transparent 75%,#0b1418),var(--nrve-lab-art); }
.nrve-lab-art { background-image:var(--nrve-lab-art); }
.nrve-contact-bottom-grid { background-image:linear-gradient(90deg,#0a151a 0 50%,rgba(10,21,26,.1)),var(--nrve-lab-art); background-size:auto,50% auto; }
.nrve-shop-hero { background-image:linear-gradient(90deg,#071014 0%,rgba(7,16,20,.86) 55%,rgba(7,16,20,.28)),var(--nrve-lab-art); background-size:auto,min(50vw,760px) auto; background-position:center,right center; background-repeat:no-repeat; }
.nrve-research-hero { background-image:linear-gradient(90deg,#071014 0%,rgba(7,16,20,.92) 48%,rgba(7,16,20,.15)),var(--nrve-molecule-art); background-size:auto,min(50vw,760px) auto; }
.nrve-about-copy,.nrve-research-copy,.nrve-prose { line-height:1.75; }
.nrve-research-panel,.nrve-research-product-visual { min-width:0; }
.nrve-research-assurance small,.nrve-research-reminder-v2 p { font-size:12px; }
.nrve-research-assurance strong,.nrve-research-reminder-v2 strong { font-size:13px; line-height:1.5; }
.nrve-research-assurance b { flex:none; }
.nrve-research-page .nrve-stack-pill { background:#fff; color:#142025; border-left:4px solid var(--nrve-accent); border-radius:2px; }
.nrve-research-page .nrve-research-assurance > a { color:#142025; background:#fff; border-bottom:3px solid var(--nrve-accent); }
.nrve-research-tabs a.is-active { border-bottom-color:var(--nrve-accent); }
.nrve-research-tabs a:first-child:not(.is-active) { border-bottom-color:transparent; }
.screen-reader-text { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; left:auto; }
.screen-reader-text:focus { clip:auto; width:auto; height:auto; left:12px; top:12px; margin:0; padding:12px 16px; z-index:100000; background:#fff; color:#142025; }
.nrve-cart-drawer__head button { min-width:44px; min-height:44px; }
@media(min-width:901px) { .nrve-nav__menu li { position:relative; } .nrve-nav__menu .sub-menu { display:none; position:absolute; top:100%; left:0; min-width:210px; padding:16px; list-style:none; background:#071014; border:1px solid #334148; } .nrve-nav__menu li:hover > .sub-menu,.nrve-nav__menu li:focus-within > .sub-menu { display:grid; gap:10px; } }
@media(max-width:900px) {
  .nrve-header-row { gap:10px; }
  .nrve-nav #nrve-menu { top:100%; max-height:calc(100dvh - 160px); overflow:auto; padding:16px 20px; }
  .nrve-nav__menu { gap:4px; }
  .nrve-nav__menu a { display:flex; align-items:center; min-height:44px; }
  .nrve-nav__menu .sub-menu { list-style:none; padding-left:18px; }
  .nrve-mobile-dock { height:calc(64px + env(safe-area-inset-bottom,0px)); padding-bottom:env(safe-area-inset-bottom,0px); }
  .nrve-mobile-dock button { cursor:pointer; }
  .nrve-mobile-dock button[aria-expanded=true] { background:#203038; }
  .nrve-site-footer { padding-bottom:calc(80px + env(safe-area-inset-bottom,0px)); }
  .nrve-about-hero { background-size:auto,min(100vw,860px) auto; background-image:linear-gradient(90deg,#081115f2,#081115a8),var(--nrve-mountain-art); }
  .nrve-home-hero__art { margin-inline:0; background-position:center; }
}
@media(max-width:600px) {
  .nrve-header-actions > a[aria-label=Account] { display:none; }
  .nrve-header-actions { gap:2px; }
  .nrve-header-row { gap:8px; }
  .nrve-header-actions .nrve-icon { width:21px; height:21px; }
  .nrve-cart-count { right:0; top:0; }
  .nrve-shop-hero,.nrve-research-hero { background-size:auto,90% auto; }
  .nrve-about-hero { padding-top:48px; }
  .nrve-contact-bottom-grid { background:none; }
  .nrve-research-hero h1 { overflow-wrap:anywhere; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .nrve-cart-drawer__panel,.nrve-cart-drawer__backdrop { transition:none; } }
/* Gates remain usable on short mobile screens and at enlarged text sizes. */
.nrve-gate { padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom)); }
.nrve-gate__card { max-height:calc(100dvh - 40px); overflow-y:auto; overscroll-behavior:contain; }
.nrve-gate__card > small { color:#acbdc3; font-size:11px; }
.nrve-gate__card :is(a,button,input):focus-visible { outline:2px solid #fff; outline-offset:4px; }
.nrve-research-hero,.nrve-shop-hero { background-color:#071014; }
.nrve-research-tabs > .nrve-shell { scrollbar-width:thin; scrollbar-color:#52636b #071014; }
.nrve-cart-drawer ul.woocommerce-mini-cart li { position:relative; display:block; padding:18px 0 18px 28px; min-height:90px; border-bottom:1px solid #2c3b41; }
.nrve-cart-drawer ul.woocommerce-mini-cart li a:not(.remove) { display:block; padding-right:72px; min-height:36px; color:#fff; font-size:14px; line-height:1.5; }
.nrve-cart-drawer ul.woocommerce-mini-cart li img { position:absolute; right:0; top:18px; float:none; width:56px; height:56px; object-fit:contain; background:#fff; margin:0; }
.nrve-cart-drawer ul.woocommerce-mini-cart li .remove { position:absolute; top:18px; left:0; }
.nrve-cart-drawer ul.woocommerce-mini-cart li .quantity { display:block; font-size:13px; color:#c7d2d6; margin-top:8px; }
.nrve-cart-drawer .woocommerce-mini-cart__buttons a.button { text-align:center; background:#fff; color:#142025; }
.nrve-shop-layout > * { min-width:0; }
.nrve-shop-toolbar .woocommerce-product-search { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
.nrve-shop-toolbar .woocommerce-product-search button { min-height:44px; padding:10px 16px; background:#142025; color:#fff; border:0; font:inherit; font-size:13px; font-weight:700; cursor:pointer; }
.nrve-shop-sidebar > a { gap:12px; }
@media(max-width:900px) { .nrve-shop-sidebar { margin-inline:0; padding-inline:0; } }
/* Catalogue palette: decorative colour signature, with a current-product marker. */
.nrve-brand-group { display:flex; align-items:center; gap:16px; min-width:0; flex-shrink:1; }
.nrve-header-colours { display:flex; align-items:center; gap:4px; width:88px; flex:0 1 88px; height:30px; padding-left:16px; border-left:1px solid #ffffff26; }
.nrve-header-colours__bar { display:block; flex:1 1 0; min-width:1px; max-width:7px; height:18px; border-radius:3px; background:var(--peptide-colour); box-shadow:inset 0 0 0 1px #ffffff30; }
.nrve-header-colours__bar.is-active { height:26px; outline:1px solid #fff; outline-offset:2px; }
@media(max-width:1100px) { .nrve-header-row { gap:20px; } .nrve-nav__menu { gap:20px; } .nrve-brand-group { gap:12px; } }
@media(max-width:900px) { .nrve-brand-group { order:1; flex:1; } .nrve-header-row { gap:10px; } .nrve-header-colours { width:76px; flex-basis:76px; } }
@media(max-width:600px) { .nrve-header-row { gap:8px; } .nrve-brand-group { gap:9px; } .nrve-header-colours { width:52px; flex-basis:52px; gap:3px; padding-left:9px; } .nrve-header-colours__bar { height:15px; } .nrve-header-colours__bar.is-active { height:22px; } }
@media(max-width:360px) { .nrve-header-colours { gap:2px; padding-left:6px; } .nrve-brand-group { gap:6px; } }
.nrve-brand-group > .nrve-brand { order:0; }

/* Desktop artwork fills the entire hero, beyond the centred content shell. */
@media(min-width:901px) {
  .nrve-home-hero { position:relative; background-image:linear-gradient(90deg,rgba(8,16,20,.94) 0%,rgba(8,16,20,.78) 34%,rgba(8,16,20,.16) 68%,rgba(8,16,20,.08) 100%),var(--nrve-hero-art); background-size:cover; background-position:center,center top; background-repeat:no-repeat; }
  .nrve-home-hero__art { background:none; }
}
/* NRVE 2.1.6 — announcements and unified catalogue controls. */
.nrve-store-banner { padding:24px 0; background:#091317; }
.nrve-store-banner__inner { border:1px solid #46565c; border-left:3px solid #f5c542; background:#122126; color:#f4f6f7; }
.nrve-store-banner__inner.has-image { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); }
.nrve-store-banner__image { display:block; width:100%; height:100%; max-height:300px; object-fit:cover; }
.nrve-store-banner__copy { padding:28px 32px; align-self:center; min-width:0; overflow-wrap:anywhere; }
.nrve-store-banner h2 { margin:0 0 10px; color:#fff; font-size:clamp(22px,3vw,32px); line-height:1.2; text-transform:none; letter-spacing:-.025em; }
.nrve-store-banner p { margin:0; color:#d9e2e5; line-height:1.65; }
.nrve-store-banner__link { display:inline-flex; gap:16px; align-items:center; margin-top:16px; min-height:44px; color:#fff; font-weight:750; text-decoration:underline; text-underline-offset:4px; }
.nrve-catalogue { padding-block:32px 56px; }
.nrve-catalogue-controls { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-bottom:24px; padding:24px; border:1px solid #ccd5d1; background:#fff; color:#172023; }
.nrve-catalogue-controls > div { min-width:0; }
.nrve-catalogue-search { grid-column:1/-1; }
.nrve-catalogue-controls label { display:block; margin:0 0 8px; color:#263337; font-size:12px; font-weight:750; }
.nrve-catalogue-controls :is(input[type=search],select) { box-sizing:border-box; width:100%; max-width:100%; min-height:48px; border:1px solid #aab8b3; border-radius:3px; background:#fafbf9; color:#172023; padding:10px 12px; font:inherit; font-size:16px; }
.nrve-catalogue-actions { grid-column:1/-1; display:flex; gap:24px; align-items:center; }
.nrve-catalogue-actions button { min-height:48px; padding:12px 24px; border:0; border-radius:3px; background:#142025; color:#fff; font:inherit; font-weight:750; cursor:pointer; }
.nrve-catalogue-actions a { display:inline-flex; align-items:center; min-height:44px; color:#34483f; text-decoration:underline; text-underline-offset:3px; }
.nrve-catalogue-results { margin-bottom:18px; color:#526165; font-size:14px; }
.nrve-catalogue-results .woocommerce-result-count { float:none; margin:0; }
.woocommerce .nrve-catalogue ul.products { grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.nrve-product-card { display:flex; flex-direction:column; }
.nrve-product-card__body { display:flex; flex:1; flex-direction:column; align-items:stretch; }
.nrve-product-card__body > a:first-child { overflow-wrap:anywhere; }
.nrve-product-card__body .button { display:flex!important; align-items:center; justify-content:center; min-height:46px; margin-top:auto!important; padding:12px 16px!important; font-size:13px!important; line-height:1.35!important; text-align:center; }
.nrve-product-card__body .nrve-card-research { margin-bottom:18px; }
.woocommerce .nrve-product-card button.nrve-restocking:disabled { background:#e0e4e3!important; color:#596263!important; border:1px solid #c5ccca!important; opacity:1!important; cursor:not-allowed; box-shadow:none!important; }
.nrve-catalogue :is(input,select,button,a):focus-visible,.nrve-store-banner a:focus-visible { outline:2px solid #63817a; outline-offset:3px; }
#nrve-shop-search { scroll-margin-top:120px; }
.nrve-site-footer .nrve-footer-grid strong { color:#f2f5f6; }
@media(max-width:1000px) { .woocommerce .nrve-catalogue ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); } .nrve-catalogue-controls { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) { .nrve-store-banner__inner.has-image { grid-template-columns:1fr; } .nrve-store-banner__image { max-height:220px; } .nrve-store-banner__copy { padding:22px; } .nrve-catalogue { padding-top:20px; } .nrve-catalogue-controls { padding:16px; gap:14px; } .woocommerce .nrve-catalogue ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } }
@media(max-width:380px) { .nrve-catalogue-controls,.woocommerce .nrve-catalogue ul.products { grid-template-columns:minmax(0,1fr); } }

.nrve-shop-hero h1 { overflow-wrap:anywhere; }
.woocommerce .nrve-product-card .nrve-buy-now { background:#142025!important; color:#fff!important; box-shadow:inset 0 -3px var(--nrve-accent); }
.woocommerce .nrve-product-card .nrve-buy-now:hover { background:#2b3c43!important; }
