/* The shared North Labs house: neutral surfaces connect three distinct worlds. */
html { background: #080b10; }
html[data-theme="light"] { background: #edf1f5; }
body.nl-world {
  --nav-height: 82px; --nav-notice-height: 0px;
  --nl-bg: #080b10; --nl-panel: #10151c; --nl-text: #eef2f7;
  --nl-muted: #9ba9b8; --nl-line: #cad8ec26; --nl-accent: #c5d5e7;
  --nl-paper: #080b10; --nl-ink: #eef2f7; --nl-bone: #10151c;
  --nl-surface: #10151c; --nl-width: 1320px;
  background: var(--world-bg); color: var(--world-text); padding-top: var(--nav-notice-height);
  font-family: var(--nl-type-body);
}
[data-theme="light"] body.nl-world {
  --nl-bg: #edf1f5; --nl-panel: #f7f9fb; --nl-text: #142133;
  --nl-muted: #566778; --nl-line: #1d36542b; --nl-accent: #254963;
  --nl-paper: #edf1f5; --nl-ink: #142133; --nl-bone: #e2e8ef; --nl-surface: #f7f9fb;
}

body.nl-world {
  --nl-type-body: Archivo, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --nl-type-label: "Martian Mono", ui-monospace, SFMono-Regular, Consolas, monospace;
  --nl-type-headline: "Saira Condensed", Archivo, ui-sans-serif, sans-serif;
  --nl-type-industrial: Oswald, "Saira Condensed", Archivo, ui-sans-serif, sans-serif;
  --nl-type-script: "Instrument Serif", Georgia, serif;
}
body.nl-world :where(.nl-world-kicker,.nl-world-portal__label,.nl-world-feature small,.nl-footer__group p,#site-header .nl-nav a) {
  font-family: var(--nl-type-label) !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}
body.nl-world :where(.nl-orb-hero h1,.nl-world-heading h2,.nl-world-portal__body h3,.nl-world-tools h2,.nl-policy-hero__copy h1,.nl-commerce-head h1,.nl-page-head h1) {
  font-family: var(--nl-type-headline) !important;
  font-weight: 650 !important;
  letter-spacing: -.035em !important;
}
body.nl-world :where(.nl-orb-hero h1 em,.nl-world-heading h2 em,.nl-world-portal__body h3 em,.nl-world-tools h2 em,.nl-policy-statement b) {
  font-family: var(--nl-type-script) !important;
  font-style: italic !important;
  font-weight: 400 !important;
  text-transform: none !important;
}
body.nl-world:has(.nl-stage-warning) { --nav-notice-height: 28px; }
.nl-world .nl-header-space { height: var(--nav-height); }
body.nl-world:is(.home, .tax-product_cat) .nl-header-space { height: 0; }
body.nl-world--peptides { --nl-division-accent: #81c9eb; }
body.nl-world--steroids { --nl-division-accent: #a5b8cf; }
body.nl-world--performance { --nl-division-accent: #a2aec4; }
.nl-world .nl-shell { width: min(calc(100% - 72px), var(--nl-width)); margin-inline: auto; }
.nl-world #site-header { position: fixed; top: var(--nav-notice-height); left: 50%; transform: translateX(-50%) !important; z-index: 100; width: 100%; min-height: 0; padding: 0; margin: 0; border: 0; border-radius: 0; color: var(--world-text); box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; transition: border-radius .25s, background-color .25s, box-shadow .25s; }
.nl-world #site-header .nl-header__inner { min-height: 82px; gap: 24px; }
.nl-world #site-header.nl-world-floating { top: calc(var(--nav-notice-height) + 12px); width: calc(100% - 32px); border: 1px solid var(--world-line); border-radius: 48px; }
.nl-world #site-header.nl-world-floating .nl-header__inner { min-height: 64px; }
.nl-world .nl-nav { gap: clamp(12px, 1.6vw, 26px); }
.nl-world .nl-nav a, .nl-world .nl-actions a, .nl-world .nl-actions button { color: var(--world-text) !important; }
.nl-world .nl-nav a { font-size: 12px; letter-spacing: .01em; text-transform: none; }
.nl-world .nl-nav a[aria-current] { color: var(--world-text) !important; }
.nl-world .nl-wordmark-text { display: inline-block; font-family: Archivo, ui-sans-serif, sans-serif; font-size: 20px; font-weight: 650; line-height: 1.1; letter-spacing: .12em; white-space: nowrap; }
.nl-world .nl-footer .nl-footer__brand { display: inline-flex !important; width: auto !important; color: var(--footer-text) !important; }
@media (max-width: 600px) { .nl-world #site-header .nl-wordmark-text { font-size: 14px; letter-spacing: .09em; } }
.nl-world .nl-icon-button, .nl-world .nl-menu-button { background: transparent !important; border-color: var(--world-line) !important; color: var(--world-text) !important; min-width: 42px; min-height: 42px; }
.nl-world .nl-cart-count { background: var(--world-text); color: var(--world-bg); }
.nl-world [data-world-theme] .nl-theme-icon--moon { display: none; }
html[data-theme="light"] .nl-world [data-world-theme] .nl-theme-icon--sun { display: none; }
html[data-theme="light"] .nl-world [data-world-theme] .nl-theme-icon--moon { display: block; }
.nl-world .nl-nav-panel, .nl-world .nl-mobile-nav { background: var(--world-panel); color: var(--world-text); border-color: var(--world-line); }
.nl-world .nl-nav-panel a, .nl-world .nl-mobile-nav a { color: var(--world-text); }
.nl-world :focus-visible { outline: 2px solid #57aee4 !important; outline-offset: 5px; }
.nl-world-button { display: inline-flex; align-items: center; justify-content: center; gap: 28px; min-height: 48px; padding: 12px 23px; border: 1px solid var(--world-line); border-radius: 999px; background: transparent; color: var(--world-text); text-decoration: none; font-size: 13px; font-weight: 550; transition: background .2s, border-color .2s; }
.nl-world-button:hover { border-color: var(--world-text); background: color-mix(in srgb, var(--world-text) 7%, transparent); }
.nl-world-button--solid { background: var(--world-text); color: var(--world-bg); }
.nl-world-button--solid:hover { background: var(--world-accent); color: var(--world-bg); }
.nl-world-kicker { font-size: 11px; text-transform: uppercase; letter-spacing: .18em; color: var(--world-muted); margin: 0 0 18px; }
.nl-orb-home { overflow: clip; }
.nl-orb-hero { position: relative; min-height: min(900px, calc(100svh - 80px)); display: flex; align-items: center; isolation: isolate; }
.nl-orb-hero__art { position: absolute; inset: 0; z-index: -2; }
.nl-orb-hero__art img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.nl-orb-hero__light { display: none; }
[data-theme="light"] .nl-orb-hero__light { display: block; }
[data-theme="light"] .nl-orb-hero__dark { display: none; }
.nl-orb-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #03070de0, #03070d44 55%, transparent), linear-gradient(0deg, var(--world-bg), transparent 25%); }
[data-theme="light"] .nl-orb-hero::after { background: linear-gradient(90deg, #edf1f5ec, #edf1f52b 65%, transparent), linear-gradient(0deg, var(--world-bg), transparent 25%); }
.nl-orb-hero__copy { padding-block: 100px 120px; }
.nl-orb-hero h1 { font-size: clamp(58px, 7.8vw, 116px); letter-spacing: -.075em; line-height: .96; font-weight: 520; margin: 0 0 30px; max-width: 760px; }
.nl-orb-hero__lede { max-width: 390px; color: var(--world-text); opacity: .8; line-height: 1.7; font-size: 15px; margin: 0 0 32px; }
.nl-orb-hero__actions { display: flex; gap: 12px; flex-wrap: wrap; }
.nl-world-strip { border-block: 1px solid var(--world-line); }
.nl-world-strip .nl-shell { display: flex; justify-content: space-between; gap: 20px; padding-block: 20px; font-size: 12px; color: var(--world-muted); }
.nl-world-portals { padding-block: 110px; }
.nl-world-heading { display: flex; justify-content: space-between; align-items: end; gap: 36px; margin-bottom: 42px; }
.nl-world-heading h2 { font-size: clamp(36px, 5vw, 66px); line-height: 1.02; letter-spacing: -.055em; font-weight: 500; margin: 0; }
.nl-world-heading > p { max-width: 290px; font-size: 14px; color: var(--world-muted); line-height: 1.7; }
.nl-world-portal-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.nl-world-portal { display: flex; flex-direction: column; text-decoration: none; color: var(--world-text); border-top: 1px solid var(--world-line); }
.nl-world-portal__label { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px 14px; align-items: start; padding: 22px 0; font-size: 12px; color: var(--world-muted); }
.nl-world-portal__label strong { color: var(--world-text); font-weight: 500; font-size: 17px; min-width: 0; overflow-wrap: anywhere; }
.nl-world-portal__label > span { justify-self: end; text-align: right; line-height: 1.25; white-space: normal; }
.nl-world-portal__art { position: relative; aspect-ratio: 1 / 1.12; overflow: hidden; background: #0a1018; }
.nl-world-portal__art > img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.nl-world-portal--peptides .nl-world-portal__art > img { object-fit: contain; }
.nl-world-portal:hover .nl-world-portal__art > img { transform: scale(1.04); }
.nl-world-portal__body { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; padding: 24px 0; border-bottom: 1px solid var(--world-line); }
.nl-world-portal__body h3 { font-size: 32px; font-weight: 500; letter-spacing: -.045em; line-height: 1.08; margin: 0 0 10px; }
.nl-world-portal__body p { color: var(--world-muted); margin: 0; font-size: 12px; }
.nl-world-portal__body > span { font-size: 25px; }
.nl-home-seal { position: absolute; width: 68%; aspect-ratio: 1; border-radius: 50%; inset: 50% auto auto 50%; transform: translate(-50%, -50%); background: repeating-conic-gradient(#a4b2c833 0deg 1deg, transparent 1deg 8deg), radial-gradient(circle, #111824 48%, #536377 49%, #080b10 52%, #899bad 53%, #111721 55%, #a7b9c5 56%, #101722 58%, #9ab3ca33 59%, #080b10 65%); box-shadow: 0 0 70px #94bbdb1a, inset 0 0 24px #92b1d122; }
.nl-home-seal::after { content: ""; position: absolute; inset: 15%; border-radius: 50%; border: 1px solid #879cb644; box-shadow: inset 0 0 22px #677f9626; }
.nl-home-seal img { position: absolute; width: 45%; height: 45%; inset: 27.5%; object-fit: contain; }
.nl-world-portal--steroids .nl-world-portal__art { background: radial-gradient(ellipse at 60% 25%, #263243, #080b10 75%); }
.nl-world-portal--performance .nl-world-portal__art { background: radial-gradient(ellipse at 50% 30%, #283039, #080b10 72%); }
.nl-world-portal--performance .nl-world-portal__art > img { object-fit: contain; padding: 45px; filter: drop-shadow(0 22px 22px #0008); }
.nl-world-featured { padding-block: 70px 100px; border-top: 1px solid var(--world-line); }
.nl-world-feature-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.nl-world-feature { text-decoration: none; color: var(--world-text); }
.nl-world-feature img { width: 100%; height: 265px; padding: 30px; object-fit: contain; background: var(--world-panel); border-radius: 3px; }
.nl-world-feature small { display: block; margin-top: 18px; font-size: 11px; color: var(--world-muted); }
.nl-world-feature h3 { margin: 7px 0; font-size: 16px; font-weight: 500; }
.nl-world-feature .price { font-size: 14px; }
.nl-world-tools { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; border-top: 1px solid var(--world-line); padding-block: 65px 100px; }
.nl-world-tools h2 { font-size: 34px; letter-spacing: -.04em; margin: 0 0 16px; }
.nl-world-tools p { color: var(--world-muted); font-size: 14px; line-height: 1.7; max-width: 450px; }
.nl-world .nl-footer {
  --footer-bg: #111111; --footer-text: #ededed; --footer-muted: #b3b3b3; --footer-line: #737373;
  --nl-ink: var(--footer-bg); --nl-bone: var(--footer-text); --nl-steel: var(--footer-muted); --nl-rule-dark: var(--footer-line);
  background: var(--footer-bg) !important; color: var(--footer-text) !important; border-color: var(--footer-line);
}
html[data-theme="light"] .nl-world .nl-footer { --footer-bg: #f5f5f5; --footer-text: #191919; --footer-muted: #595959; --footer-line: #858585; }
.nl-world .nl-footer a, .nl-world .nl-footer label, .nl-world .nl-footer button, .nl-world .nl-footer input[type="search"] { color: var(--footer-text) !important; }
.nl-world .nl-footer .nl-footer__group p, .nl-world .nl-footer .nl-footer__bottom, .nl-world .nl-footer .nl-footer__bottom :is(span, strong) { color: var(--footer-muted) !important; }
.nl-world .nl-footer input[type="search"]::placeholder { color: var(--footer-muted) !important; opacity: 1; }
.nl-world .nl-footer input[type="search"], .nl-world .nl-footer button { background: transparent !important; border-color: var(--footer-line) !important; }
.nl-world .nl-footer :focus-visible { outline-color: var(--footer-text) !important; }
.nl-world .nl-main, .nl-world .nl-commerce-main { background: var(--world-bg); color: var(--world-text); }
.nl-world .nl-commerce-head { border-color: var(--world-line); color: var(--world-text); background: transparent; }
.nl-world .nl-commerce-head h1, .nl-world .nl-commerce-head h2, .nl-world .nl-page-head h1 { color: var(--world-text); }
.nl-world .woocommerce div.product, .nl-world .woocommerce .summary, .nl-world .woocommerce table, .nl-world .woocommerce form { color: var(--world-text); }
.nl-world .woocommerce ul.products li.product { background: var(--world-panel) !important; border-color: var(--world-line) !important; border-radius: 8px !important; }
.nl-world .woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--world-text) !important; }
.nl-world .woocommerce ul.products li.product .price { color: var(--world-text) !important; }
.nl-world .woocommerce .button, .nl-world .woocommerce button.button { background: var(--world-text) !important; color: var(--world-bg) !important; border-color: var(--world-text) !important; border-radius: 999px !important; }
.nl-world .woocommerce :is(input.input-text,textarea,select), .nl-world .select2-selection { color: var(--world-text) !important; background: var(--world-panel) !important; border-color: var(--world-line) !important; }
.nl-world .woocommerce-checkout #payment, .nl-world .woocommerce-checkout #payment div.payment_box { background: var(--world-panel); color: var(--world-text); }
.nl-world .woocommerce .woocommerce-info, .nl-world .woocommerce .woocommerce-message { background: var(--world-panel); color: var(--world-text); border-top-color: var(--world-accent); }
.nl-world .nl-pdp-gallery, .nl-world .nl-product-gallery { background: var(--world-panel); border-color: var(--world-line); }
.nl-world .nl-pdp, .nl-world .nl-product, .nl-world .nl-page { color: var(--world-text); }
.nl-world .nl-stage-warning { font-size: 10px; letter-spacing: .06em; padding-block: 6px; }
.nl-world [hidden] { display: none !important; }
body.nl-world #site-header { background: transparent !important; color: var(--world-text) !important; height: auto !important; box-shadow: none !important; }
body.nl-world #site-header.nl-world-floating { background: var(--world-bg) !important; box-shadow: 0 8px 24px #00000018 !important; }
body.nl-world.tax-product_cat.nl-world--peptides #site-header:not(.nl-world-floating) { --world-text: #f2f5f8; --world-bg: #080b10; --world-panel: #10151c; }
body.nl-world #site-header .nl-header__inner { display: flex !important; justify-content: space-between !important; width: min(calc(100% - 72px),1320px) !important; height: auto !important; background: transparent !important; box-shadow: none !important; border-color: transparent !important; }
body.nl-world #site-header .nl-nav { display: flex !important; gap: 22px !important; }
body.nl-world #site-header .nl-nav a { color: var(--world-text) !important; font-family: var(--nl-type-label) !important; font-size: 11px !important; font-weight: 650 !important; letter-spacing: .16em !important; text-transform: uppercase !important; }
body.nl-world #site-header .nl-nav a[aria-current] { color: var(--world-text) !important; border-color: currentColor !important; }
body.nl-world #site-header .nl-actions { gap: 10px !important; }
body.nl-world #site-header .nl-icon-button { display: inline-flex !important; width: 38px !important; min-width: 38px !important; min-height: 42px !important; padding: 9px !important; color: var(--world-text) !important; background: transparent !important; }
body.nl-world #site-header .nl-icon-button svg { width: 20px !important; height: 20px !important; fill: none; stroke: currentColor; stroke-width: 1.5; }
body.nl-world #site-header .nl-action-label { display: none !important; }
body.nl-world #site-header .nl-brand { flex: 0 1 210px !important; min-width: 0 !important; width: 210px !important; color: var(--world-text) !important; }
body.nl-world .nl-search-panel { background: var(--world-panel) !important; color: var(--world-text) !important; border-color: var(--world-line) !important; }
body.nl-world .nl-search-panel :is(input,button,a,label,p) { color: var(--world-text) !important; }
body.nl-world .nl-search-panel input { background: transparent !important; border-color: var(--world-line) !important; }
body.nl-world .nl-policy-page { background: var(--world-bg) !important; color: var(--world-text) !important; }
body.nl-world .nl-policy-hero { background: radial-gradient(ellipse at 85% 0%, #88b5e614, transparent 60%), var(--world-bg) !important; padding-block: 50px 80px; }
body.nl-world .nl-policy-hero__copy h1 { color: var(--world-text) !important; font-size: clamp(64px,9vw,140px); font-weight: 500; letter-spacing: -.065em; }
body.nl-world .nl-policy-page :is(h2,h3,h4,strong,b,dd,.nl-policy-statement,.nl-policy-hero__lede) { color: var(--world-text) !important; }
body.nl-world .nl-policy-page :is(p,dt,small,.nl-policy-note,.nl-policy-crumbs,.nl-policy-crumbs a) { color: var(--world-muted) !important; }
body.nl-world .nl-policy-page :is(.nl-policy-step,.nl-policy-card-row li,.nl-policy-facts,.nl-policy-facts div,.nl-policy-alert,.nl-policy-spec__row,.nl-contact-channels li,.nl-policy-section) { border-color: var(--world-line) !important; background-color: transparent !important; }
body.nl-world .nl-policy-facts { background: var(--world-panel) !important; padding: 24px; border-radius: 4px; }
body.nl-world .nl-policy-page a { color: var(--world-text) !important; }
body.nl-world .nl-policy-actions a.nl-action { background: var(--world-text) !important; color: var(--world-bg) !important; border-radius: 999px; }
body.nl-world .nl-policy-section--statement { background: var(--world-panel) !important; }
body.nl-world .nl-policy-statement b { font-family: "Instrument Serif",Georgia,serif; font-weight: 400; font-style: italic; }
@media (max-width:1100px) { body.nl-world #site-header .nl-nav { gap: 15px !important; } body.nl-world #site-header .nl-brand { flex-basis: 175px !important; width: 175px !important; } }
@media (max-width:900px) { body.nl-world #site-header .nl-nav { display:none !important; } body.nl-world #site-header .nl-header__inner { width:calc(100% - 36px) !important; } }
@media (max-width:600px) { body.nl-world #site-header .nl-brand { width:120px !important; flex-basis:120px !important; } body.nl-world #site-header .nl-actions {gap:2px !important;} body.nl-world #site-header .nl-icon-button {width:32px !important;min-width:32px !important;padding:7px !important;} body.nl-world .nl-policy-hero {padding-block:28px 50px;} }
@media (max-width: 1100px) { .nl-world #site-header .nl-header__inner { gap: 12px; } .nl-world .nl-action-label { display: none; } .nl-world .nl-nav { gap: 14px; } }
@media (max-width: 900px) { .nl-world .nl-shell { width: calc(100% - 40px); } .nl-world-portal-grid { gap: 14px; } .nl-world-portal__body h3 { font-size: 26px; } .nl-world #site-header .nl-nav { display: none; } .nl-world .nl-menu-button { display: inline-flex !important; } .nl-orb-hero { min-height: 720px; } .nl-orb-hero__art img { object-position: 60% center; } }
@media (max-width: 600px) {
  body.nl-world { --nav-height: 66px; }
  .nl-world .nl-shell { width: calc(100% - 36px); }
  .nl-world #site-header .nl-header__inner { min-height: 66px; gap: 10px; }
  .nl-world #site-header .nl-actions { gap: 5px; }
  .nl-world #site-header .nl-icon-button, .nl-world #site-header .nl-menu-button { min-width: 36px; width: 36px; min-height: 40px; padding: 8px !important; }
  .nl-world #site-header .nl-brand { width: 106px; flex: 0 0 106px; }
  .nl-world #site-header.nl-world-floating { width: calc(100% - 16px); top: calc(var(--nav-notice-height) + 8px); }
  .nl-orb-hero { min-height: 780px; align-items: flex-start; }
  .nl-orb-hero__copy { padding-block: 72px 280px; }
  .nl-orb-hero h1 { font-size: clamp(52px, 12.5vw, 72px); }
  .nl-orb-hero__lede { max-width: 300px; font-size: 14px; }
  .nl-orb-hero__art { top: 220px; height: 600px; width: 160%; left: -35%; }
  .nl-orb-hero::after { background: linear-gradient(0deg, var(--world-bg), transparent 22%), linear-gradient(180deg, var(--world-bg) 20%, #080b10a8 44%, transparent 70%); }
  [data-theme="light"] .nl-orb-hero::after { background: linear-gradient(0deg, var(--world-bg), transparent 22%), linear-gradient(180deg, var(--world-bg) 20%, #edf1f5a8 44%, transparent 70%); }
  .nl-world-strip .nl-shell { flex-wrap: wrap; justify-content: flex-start; column-gap: 22px; row-gap: 8px; font-size: 11px; }
  .nl-world-portals { padding-block: 70px; }
  .nl-world-heading { display: block; }
  .nl-world-heading > p { margin-top: 20px; }
  .nl-world-portal-grid { grid-template-columns: 1fr; gap: 36px; }
  .nl-world-portal__art { aspect-ratio: 1.2; }
  .nl-world-portal__body h3 { font-size: 32px; }
  .nl-world-feature-grid { grid-template-columns: 1fr 1fr; gap: 20px 14px; }
  .nl-world-feature img { height: 200px; padding: 20px; }
  .nl-world-tools { grid-template-columns: 1fr; gap: 45px; }
}
@media (prefers-reduced-motion: reduce) { .nl-world *, .nl-world *::before, .nl-world *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }

body.nl-world { --world-bg:#080b10; --world-panel:#10151c; --world-text:#eef2f7; --world-muted:#9ba9b8; --world-line:#cad8ec26; --world-accent:#c5d5e7; }
html[data-theme="light"] body.nl-world { --world-bg:#edf1f5; --world-panel:#f7f9fb; --world-text:#142133; --world-muted:#566778; --world-line:#1d36542b; --world-accent:#254963; }
body.nl-world #site-header .nl-brand__wide { display:block; }
body.nl-world #site-header .nl-brand__compact { display:none; }
body.nl-world #site-header .nl-brand__lockup { width:100%; max-width:210px; height:38px; object-fit:contain; }
body.nl-world #site-header .nl-brand__mark { width:34px; height:34px; }
body.nl-world #site-header .nl-header__inner { margin-inline:auto; }
body.nl-world:not(.home):not(.tax-product_cat) .nl-header-space { background:#080b10; border-bottom:1px solid #cad8ec26; }
body.nl-world:not(.home):not(.tax-product_cat) #site-header:not(.nl-world-floating) { --world-bg:#080b10; --world-panel:#10151c; --world-text:#eef2f7; --world-muted:#9ba9b8; --world-line:#cad8ec26; background:#080b10 !important; border-bottom:1px solid #cad8ec26 !important; }
body.nl-world .nl-orb-home { background:var(--world-bg); color:var(--world-text); }
body.nl-world .nl-orb-hero h1, body.nl-world .nl-world-heading h2, body.nl-world .nl-world-portal h3 { color:var(--world-text); }

/* Orb-era homepage polish: keep the organized WordPress shell, but restore the
   cinematic depth of the old North Labs world. */
.nl-orb-home {
  background:
    radial-gradient(1000px 780px at 76% 14%, color-mix(in srgb, var(--world-accent) 18%, transparent), transparent 58%),
    radial-gradient(760px 620px at 8% 58%, rgba(92, 159, 220, .12), transparent 62%),
    var(--world-bg);
  position: relative;
}
.nl-orb-home::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: .18;
  background-image:
    linear-gradient(rgba(180, 211, 238, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(180, 211, 238, .035) 1px, transparent 1px);
  background-size: 74px 74px;
  mask-image: radial-gradient(circle at 72% 22%, #000, transparent 70%);
}
.nl-orb-home > * { position: relative; z-index: 1; }
.nl-orb-hero { min-height: min(980px, 100svh); }
.nl-orb-hero::before {
  content: "";
  position: absolute;
  right: max(24px, calc((100vw - var(--nl-width)) / 2));
  top: 15%;
  width: min(56vw, 760px);
  aspect-ratio: 1;
  border-radius: 50%;
  pointer-events: none;
  z-index: -1;
  background:
    repeating-conic-gradient(from -12deg, color-mix(in srgb, var(--world-accent) 26%, transparent) 0deg 1deg, transparent 1deg 7deg),
    radial-gradient(circle, transparent 45%, color-mix(in srgb, var(--world-accent) 18%, transparent) 46%, transparent 50%, color-mix(in srgb, var(--world-accent) 10%, transparent) 54%, transparent 65%);
  filter: blur(.2px);
  opacity: .42;
  transform: rotate(-9deg);
}
.nl-orb-hero::after {
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--world-bg) 94%, transparent), color-mix(in srgb, var(--world-bg) 38%, transparent) 52%, transparent 78%),
    radial-gradient(ellipse at 70% 42%, transparent 0 34%, color-mix(in srgb, var(--world-bg) 58%, transparent) 72%),
    linear-gradient(0deg, var(--world-bg), transparent 28%);
}
[data-theme="light"] .nl-orb-hero::after {
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--world-bg) 92%, transparent), color-mix(in srgb, var(--world-bg) 34%, transparent) 60%, transparent 82%),
    linear-gradient(0deg, var(--world-bg), transparent 28%);
}
.nl-orb-hero h1 {
  font-size: clamp(64px, 8.7vw, 138px);
  letter-spacing: -.062em;
  line-height: .86;
  max-width: 690px;
  text-transform: uppercase;
}
.nl-orb-hero__lede {
  border-left: 1px solid color-mix(in srgb, var(--world-text) 24%, transparent);
  padding-left: 18px;
}
.nl-world-portals { padding-block: clamp(80px, 10vw, 150px); }
.nl-world-portal-grid {
  align-items: stretch;
  display: grid;
  grid-template-columns: minmax(0, 1.24fr) repeat(2, minmax(0, .88fr));
  gap: clamp(18px, 2vw, 30px);
}
.nl-world-portal {
  border: 1px solid var(--world-line);
  border-radius: 26px;
  overflow: hidden;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--world-text) 5%, transparent), transparent),
    color-mix(in srgb, var(--world-panel) 82%, transparent);
  box-shadow: 0 30px 80px rgba(0,0,0,.18);
  transition: transform .35s ease, border-color .35s ease, background .35s ease;
}
.nl-world-portal:hover {
  border-color: color-mix(in srgb, var(--world-accent) 48%, var(--world-line));
  transform: translateY(-6px);
}
.nl-world-portal__label,
.nl-world-portal__body { padding-inline: clamp(18px, 2vw, 28px); }
.nl-world-portal__label { border-bottom: 1px solid var(--world-line); }
.nl-world-portal__art {
  aspect-ratio: 1 / 1.05;
  border-bottom: 1px solid var(--world-line);
  isolation: isolate;
}
.nl-world-portal__art::before,
.nl-world-portal__art::after {
  content: "";
  position: absolute;
  inset: 9%;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
}
.nl-world-portal__art::before {
  background: radial-gradient(circle, color-mix(in srgb, var(--world-accent) 18%, transparent), transparent 60%);
  filter: blur(20px);
}
.nl-world-portal__art::after {
  border: 1px solid color-mix(in srgb, var(--world-accent) 26%, transparent);
  box-shadow: inset 0 0 30px color-mix(in srgb, var(--world-accent) 10%, transparent);
  opacity: .5;
}
.nl-world-portal__art > img,
.nl-home-seal { position: relative; z-index: 1; }
.nl-world-portal--peptides { grid-row: span 2; }
.nl-world-portal--peptides .nl-world-portal__art { aspect-ratio: 1 / 1.34; }
.nl-world-portal--peptides .nl-world-portal__art > img { padding: 10%; filter: drop-shadow(0 38px 34px rgba(0,0,0,.52)); }
.nl-world-portal--steroids .nl-world-portal__art { background: radial-gradient(ellipse at 54% 34%, #36414f, #07090d 73%); }
.nl-world-portal--performance .nl-world-portal__art { background: radial-gradient(ellipse at 50% 30%, #243245, #06080c 72%); }
.nl-world-portal--performance .nl-world-portal__label { grid-template-columns: 1fr; }
.nl-world-portal--performance .nl-world-portal__label > span { justify-self: start; text-align: left; }
.nl-world-portal__body {
  min-height: 150px;
  padding-bottom: 28px;
  padding-top: 28px;
}
.nl-world-portal__body h3 { font-size: clamp(34px, 3.4vw, 58px); line-height: .9; }
.nl-world-feature {
  border: 1px solid var(--world-line);
  border-radius: 20px;
  overflow: hidden;
  padding: 14px;
  background: color-mix(in srgb, var(--world-panel) 78%, transparent);
}
.nl-world-feature img {
  border-radius: 14px;
  background:
    radial-gradient(circle at 50% 30%, color-mix(in srgb, var(--world-accent) 12%, transparent), transparent 52%),
    color-mix(in srgb, var(--world-bg) 72%, transparent);
}
@media (max-width: 900px) {
  .nl-world-portal-grid { grid-template-columns: 1fr; }
  .nl-world-portal--peptides { grid-row: auto; }
  .nl-world-portal--peptides .nl-world-portal__art,
  .nl-world-portal__art { aspect-ratio: 1 / .82; }
  .nl-orb-hero::before { width: 112vw; right: -40vw; top: 22%; }
}
@media (max-width: 600px) {
  .nl-orb-hero { min-height: 820px; }
  .nl-orb-hero h1 { font-size: clamp(48px, 14.5vw, 74px); max-width: 8.5ch; }
  .nl-world-portal { border-radius: 20px; }
  .nl-world-portal__body { min-height: auto; }
}

/* Calculator reference route: this page intentionally matches the old light
   Next.js calculator even when the rest of the WordPress shell is in dark mode. */
html body.nl-route-calculator,
html[data-theme="dark"] body.nl-route-calculator,
html[data-theme="light"] body.nl-route-calculator {
  background: #f4f2ec !important;
  color: #101923 !important;
}
body.nl-route-calculator .nl-header-space { background: transparent !important; }
body.nl-route-calculator #site-header,
body.nl-route-calculator .nl-header,
body.nl-route-calculator #site-header :where(a,button,svg,.nl-wordmark-text) {
  color: #101923 !important;
  stroke: #101923 !important;
}
body.nl-route-calculator #site-header .nl-header__inner,
body.nl-route-calculator #site-header.is-condensed .nl-header__inner {
  background: rgba(244, 242, 236, .76) !important;
  border-color: rgba(22, 35, 48, .12) !important;
  box-shadow: 0 20px 60px rgba(52, 64, 78, .1) !important;
  backdrop-filter: blur(24px) saturate(1.25) !important;
  -webkit-backdrop-filter: blur(24px) saturate(1.25) !important;
}
body.nl-route-calculator .nl-peptide-calculator-page--reference {
  background:
    radial-gradient(900px 520px at 68% 17%, rgba(155, 183, 206, .26), transparent 62%),
    radial-gradient(640px 520px at 8% 34%, rgba(255, 255, 255, .88), transparent 68%),
    #f4f2ec !important;
  color: #101923 !important;
}
body.nl-route-calculator .nlpc-ref-hero h1,
body.nl-route-calculator .nlpc-ref-result > strong,
body.nl-route-calculator .nlpc-ref-verify h2,
body.nl-route-calculator .nlpc-ref-metrics strong,
body.nl-route-calculator .nlpc-ref-inputs h2,
body.nl-route-calculator .nlpc-ref-result h2,
body.nl-route-calculator .nlpc-ref-cards h3 {
  color: #07111b !important;
}
body.nl-route-calculator .nlpc-ref-reset,
body.nl-route-calculator .nlpc-ref-actions button,
body.nl-route-calculator .nlpc-ref-field input,
body.nl-route-calculator .nlpc-ref-select select,
body.nl-route-calculator .nlpc-ref-unit-toggle span {
  border-radius: 0 !important;
  text-shadow: none !important;
  box-shadow: none;
}
body.nl-route-calculator .nlpc-ref-actions button {
  border-radius: 6px !important;
  min-height: 44px !important;
  padding: 0 16px !important;
}
body.nl-route-calculator .nlpc-ref-reset {
  border-radius: 0 !important;
}
body.nl-route-calculator .nlpc-ref-actions button:first-child {
  background: #006dc8 !important;
  border-color: #006dc8 !important;
  color: #fff !important;
}
body.nl-route-calculator .nlpc-ref-syringe img {
  background: transparent !important;
  filter: drop-shadow(0 10px 18px rgba(150, 200, 255, .22));
  height: 104px !important;
  width: min(100%, 650px) !important;
}
body.nl-route-calculator .nlpc-ref-syringe i,
body.nl-route-calculator .nlpc-ref-syringe figcaption {
  left: calc(23% + (var(--fill, 20%) * .54)) !important;
}
body.nl-route-calculator #site-header,
body.nl-route-calculator .nl-header {
  background: #f4f2ec !important;
  box-shadow: none !important;
}
body.nl-route-calculator #site-header .nl-header__inner,
body.nl-route-calculator #site-header.is-condensed .nl-header__inner,
body.nl-route-calculator .nl-header .nl-header__inner {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
body.nl-route-calculator .nl-header .nl-brand,
body.nl-route-calculator .nl-header .nl-wordmark-text,
body.nl-route-calculator .nl-header .nl-nav a,
body.nl-route-calculator .nl-header .nl-actions a,
body.nl-route-calculator .nl-header .nl-actions button,
body.nl-route-calculator .nl-header .nl-icon-button,
body.nl-route-calculator .nl-header .nl-cart-count {
  color: #101923 !important;
}
body.nl-route-calculator .nl-header svg,
body.nl-route-calculator .nl-header .nl-icon-button svg {
  stroke: #101923 !important;
}
body.nl-route-calculator .nl-header .nl-nav a[aria-current="page"] {
  border-color: currentColor !important;
}
