/* Vantage Point / refined research storefront. Existing commerce is unchanged. */
:root {
  --font-sans:'Satoshi',-apple-system,BlinkMacSystemFont,sans-serif;
  --font-display:var(--font-sans);
  --font-mono:var(--font-sans);
  --silver-500:#667385;
  --teal-500:#335e7a;
  --page:#f6f7f9;
  --surface:#fff;
  --text:#12213f;
  --muted:#58677a;
  --soft:#eef1f5;
  --rule:#dde3eb;
  --space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;
  --space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;
}
html { scroll-padding-top:150px; color-scheme:light; }
body { background:var(--page); color:var(--text); }
.shipping-promo { padding:11px 20px;text-align:center;background:#e7edf5;color:#12213f;font-size:14px;font-weight:700;line-height:1.5; }
.business-address { font-style:normal;line-height:1.8;overflow-wrap:anywhere; }
body .mailing-address-heading { font-size:16px;letter-spacing:0;margin:16px 0 8px; }
body h1,body h2,body h3 { letter-spacing:-.035em; color:var(--text); }
body h1 { line-height:1.14; }
body a { text-underline-offset:4px; }
body button,body input,body select,body textarea { font:inherit; }
body button:focus-visible,body a:focus-visible,body input:focus-visible,body select:focus-visible,body .table-scroll:focus-visible {
  outline:3px solid #839dba;outline-offset:4px;
}
[hidden],body .qa-card[hidden] { display:none!important; }
.container { max-width:1248px; padding-inline:var(--space-8); }
body .section,body .legal-content { padding-block:var(--space-12); }
body .catalog-section { padding-top:32px; }
body .eyebrow { font-size:12px; letter-spacing:.13em; color:var(--muted); margin-bottom:12px; }
body .ruo-ribbon { letter-spacing:.065em; font-size:12px; padding:8px 24px; }
body .site-header { background:var(--surface); border-color:var(--rule); }
body .site-header .row { gap:24px; padding:20px 0; }
body .site-header nav { margin-left:auto;display:flex;align-items:center;gap:28px; }
body .site-header nav a { margin:0;min-height:44px;display:flex;align-items:center; }
body .site-header nav a[aria-current="page"]:not(.cta) { color:var(--text);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:9px; }
body .site-header nav a.cta { background:#152b4e; border-radius:6px; }
body .logo-lockup { gap:8px;flex-shrink:0; }
body .logo-lockup .wordmark .top { font-size:16px;letter-spacing:.015em; }
body .logo-lockup .wordmark .bot { font-size:12px;letter-spacing:.27em; }
body .theme-toggle { background:transparent;color:var(--text);border:1px solid var(--rule);width:36px;height:36px;flex-shrink:0;border-radius:50%;cursor:pointer;font-size:22px;line-height:1; }
body .btn { border-radius:6px; min-height:46px; }
body .btn-primary,body .qa-add { background:#152b4e;color:#fff;border-color:#152b4e; }
body .btn-primary:hover,body .qa-add:hover { background:#28466c; }
body .text-button { border:0;padding:0;background:transparent;color:var(--teal-500);cursor:pointer;text-decoration:underline;font-size:14px; }
body input:not([type="checkbox"]):not([type="radio"]),body select,body textarea { background:var(--surface);color:var(--text);border:1px solid var(--rule);border-radius:6px;min-height:46px;padding:10px 14px; }
body input[type="checkbox"],body input[type="radio"] { accent-color:#1a2e52;min-width:17px;min-height:17px; }
body label { color:var(--text); }
body .card { background:var(--surface);border-color:var(--rule);border-radius:10px;padding:32px; }
body .form-row { margin-bottom:20px; }
body .site-footer { margin-top:32px;padding:48px 0 24px;background:#0d1b33; }
body .site-footer .disclaim,body .site-footer .legal-bar { color:#aebacb; }
body .site-footer .cols { grid-template-columns:2fr 1fr 1fr 1fr;gap:32px; }
body .site-footer h4 { letter-spacing:.08em;font-size:12px; }
body .site-footer .legal-bar { gap:16px;flex-wrap:wrap; }
body .site-footer .cols { grid-template-columns:1.45fr .9fr 1fr 1.35fr; }
.site-footer .footer-contact a { overflow-wrap:anywhere; }
.footer-contact address,.footer-contact p { font-style:normal;font-size:13px;line-height:1.8;color:#aebacb;margin:16px 0 0; }
.footer-disclaimer { border-top:1px solid #304057;margin-top:32px;padding-top:28px; }
.footer-disclaimer p { font-size:13px;line-height:1.8;color:#b7c3d3;margin:12px 0;max-width:none; }
body .footer-disclaimer a { display:inline;color:#dce6f3;text-decoration:underline;font-size:inherit; }
body .footer-legal a { min-height:34px;display:block;padding:4px 0; }
.policy-page .eyebrow { display:block; }
.policy-back { display:inline-block;margin:0 0 24px;font-size:14px; }
.policy-page article+.policy-back { margin-top:32px; }
.policy-page .meta span { display:inline-block;margin-top:10px;font-size:13px; }
.policy-nav { display:flex;flex-wrap:wrap;gap:8px;border-block:1px solid var(--rule);padding:16px 0;margin:0 0 24px; }
.policy-nav a { font-size:13px;padding:8px 12px;border-radius:5px;text-decoration:none;color:var(--text);background:var(--soft); }
.policy-nav a[aria-current="page"] { background:#1a2e52;color:#fff; }
.policy-draft { font-size:13px;line-height:1.7;padding:16px 18px;background:var(--soft);border-left:3px solid #7189a4;color:var(--muted);margin-bottom:32px; }
.policy-summary { background:var(--surface);border:1px solid var(--rule);padding:24px;border-radius:8px;margin:24px 0; }
body .policy-page .policy-summary h2 { border:0;margin:0;padding:0;font-size:20px; }
body .policy-summary ul { margin:16px 0 0; }
body .policy-summary p:last-child { margin-bottom:0; }
.policy-page article h2 { scroll-margin-top:120px; }
[data-theme="dark"] .policy-nav a[aria-current="page"] { background:#c6d6eb;color:#10213c; }

/* Account entry: restrained navy, approved photography, straightforward form. */
body .login-split { max-width:1420px;margin:0 auto;grid-template-columns:1.1fr 1fr;min-height:680px; }
body .login-brand { padding:48px;background:#112342; }
body .login-brand::before { display:none; }
body .login-brand .content { max-width:560px;margin:auto;width:100%; }
body .login-brand .eyebrow { color:#b5c4d8; }
body .login-brand h1 { font-size:clamp(32px,3.1vw,46px);font-weight:500;line-height:1.1;letter-spacing:-.035em;color:#fff; }
body .login-brand .lead { font-size:16px;color:#c7d1df;max-width:450px;line-height:1.6; }
.brand-vials { display:flex;align-items:flex-end;background:#fff;border-radius:8px;overflow:hidden;margin-top:32px;padding:16px 4px; }
.brand-vials img { width:33.333%;height:auto;display:block; }
.brand-vials img:nth-child(2) { transform:scale(1.12); }
.brand-caption { display:flex;justify-content:space-between;gap:12px;color:#b7c4d7;font-size:12px;margin-top:16px; }
body .login-form-wrap { background:var(--surface);padding:48px; }
body .login-form { max-width:370px; }
body .login-form h2 { font-size:32px; }
body .login-form .sub { margin:12px 0 28px;line-height:1.6; }
body .login-footer-links { padding-top:24px;border-top:1px solid var(--rule); }
body .site-footer--simple { margin-top:0; }
body .hero-simple { padding:48px 0 8px; }
body .hero-simple .sub { font-size:16px;line-height:1.7; }

/* Catalog discovery and product cards. */
.catalog-heading { display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:20px; }
.catalog-heading h1 { font-size:36px;margin:0 0 12px; }
.catalog-heading p { color:var(--muted);font-size:16px;margin:0; }
.catalog-coa { white-space:nowrap;font-size:14px;padding-bottom:4px;border-bottom:1px solid var(--rule); }
.dispatch-note { display:flex;gap:32px;align-items:center;border-block:1px solid var(--rule);padding:14px 0;font-size:12px;color:var(--muted);line-height:1.5; }
.dispatch-note span:first-child { color:var(--text);font-weight:700;white-space:nowrap; }
.catalog-tools { display:flex;gap:16px;margin:16px 0; }
.catalog-tools label { font-size:12px;color:var(--muted);margin:0; }
.catalog-search { flex:1; }
.catalog-sort { width:210px; }
.catalog-tools input,.catalog-tools select { margin-top:6px;width:100%; }
body .cat-tabs { border:0;gap:8px;margin-bottom:24px; }
body .cat-tab { padding:10px 16px;min-height:44px;border:1px solid var(--rule);border-radius:6px;font-size:14px;color:var(--muted); }
body .cat-tab.active { border-color:var(--text);background:var(--surface);color:var(--text); }
body .cat-tab .count { border:0;background:var(--soft);color:var(--muted);font-size:12px;padding:0 6px; }
body .cat-tab.active .count { background:#152b4e;color:#fff; }
body .cat-banner { background:var(--soft);color:var(--muted);border:1px solid var(--rule);padding:20px;border-radius:8px;font-size:14px; }
body .grid-shop { gap:24px; }
body .product-card { border:1px solid var(--rule);border-radius:10px;background:var(--surface);transition:box-shadow .2s,border-color .2s; }
body .product-card:hover { transform:none;border-color:#abb9cc;box-shadow:0 8px 24px -16px #14233c60; }
body .product-card .vial-frame { height:216px;padding-top:16px; }
body .product-card .vial-frame img { height:200px;max-height:200px; }
body .product-card[data-pack="bulk"] .vial-frame { height:260px;padding-top:60px; }
body .product-card .body { padding:20px 24px 24px; }
body .product-card .compound { font-size:21px;letter-spacing:-.025em;font-weight:700;color:var(--text); }
body .product-card .subtitle { font-size:13px;text-transform:none;letter-spacing:0;color:var(--muted);line-height:1.5;min-height:20px;margin-bottom:16px; }
body .product-card .bogo-badge,body .product-card .bulk-badge,body .product-card .blend-badge {
  top:12px;font-size:12px;letter-spacing:0;text-transform:none;padding:5px 8px;border-radius:4px;
}
body .product-card .bogo-badge { background:#b3261e;color:#fff;border:1px solid #b3261e;z-index:3; }
body .product-card .bulk-badge { background:#eef2f7;color:#213b5e;border:1px solid #dae2ed;z-index:2; }
body .product-card .blend-badge { background:#eef2f7;color:#213b5e;border:1px solid #dae2ed; }
body .product-card .vial-frame:has(.bogo-badge) .bulk-badge { top:44px; }
body .product-card .qa-strength-label { font-size:12px;letter-spacing:0;text-transform:none;margin-bottom:8px; }
body .product-card .qa-strength { font-size:14px;border-radius:5px;min-height:40px;padding:8px 12px;background:var(--surface);color:var(--muted);border:1px solid var(--rule); }
body .product-card .qa-strength.active { background:#edf2f8;color:#152b4e;border-color:#8eabc9; }
body .product-card .price { color:var(--text);font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.025em; }
body .product-card .price-tbd-shop { font-size:14px;letter-spacing:0;font-style:normal; }
body .product-card .qa-add { margin-top:16px;min-height:46px;border-radius:6px; }
body .product-card .qa-add.qa-added { background:#294c69;border-color:#294c69; }
body .catalog-result-count { margin-top:24px;color:var(--muted);font-size:12px; }
.catalog-empty { text-align:center;padding:48px 16px;color:var(--muted); }

/* Product, cart, checkout and supporting pages share the same surfaces. */
body .pdp { gap:48px; }
body .pdp-image { border-radius:10px;position:sticky;top:116px; }
body .pdp > * { min-width:0; }
body .pdp-image img { max-width:100%; }
body .pdp-info h1 { font-size:36px;letter-spacing:-.03em; }
body .pdp-info .subtitle { font-size:13px;text-transform:none;letter-spacing:0;color:var(--muted); }
body .pdp-info .cas { font-size:13px;overflow-wrap:anywhere; }
body .qty-row .qty-input { height:46px;max-width:76px; }
body .price-live { font-variant-numeric:tabular-nums;font-size:28px; }
body .pack-toggle button,body .strength-opt { min-height:44px; }
body .ruo-callout,body .bogo-note,body .buffered-note,body .bulk-note { background:var(--soft);color:var(--muted);border:1px solid var(--rule);border-left:3px solid #8395ac;border-radius:6px; }
body .ruo-callout strong { color:var(--text); }
body .tabs { padding-top:24px;margin-top:48px; }
body .tabs-nav { gap:24px; }
body .summary { background:var(--surface);border:1px solid var(--rule);top:116px;border-radius:10px; }
body .cart-line { grid-template-columns:100px 1fr auto; }
body .cart-line img { width:96px;border-radius:6px; }
body .cart-line .name { font-size:18px; }
body .cart-line .meta .tag { font-size:12px;letter-spacing:0; }
body .cart-line .tag-bogo { background:#e8eef6;color:#243c5c; }
body .cart-line .qty-row input { min-height:40px; }
body .cart-line .line-total { white-space:nowrap; }
body .checkout-card,body .checkout-summary,body .oc-card { border-radius:10px;background:var(--surface);border-color:var(--rule); }
body .legal-content .container-narrow { max-width:900px; }
body .legal-content h1 { font-size:36px;max-width:760px; }
body .legal-content .meta { line-height:1.6;margin-top:16px;margin-bottom:32px;max-width:660px; }
body .legal-content h2 { border-top:1px solid var(--rule);padding-top:24px;margin-top:32px;font-size:22px; }
body .legal-content .card h2 { border:0;padding:0;margin:0 0 12px; }
body .legal-content p,body .legal-content li { font-size:16px;line-height:1.75; }
.faq-item { border-top:1px solid var(--rule);padding:20px 0; }
.faq-item summary { cursor:pointer;list-style:none;font-size:18px;font-weight:700;display:flex;gap:20px;justify-content:space-between; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:'+';font-size:22px;flex-shrink:0;font-weight:400; }
.faq-item[open] summary::after { content:'−'; }
.faq-item p { margin-top:16px;margin-bottom:0; }
.faq-item summary:focus-visible { outline:3px solid #839dba;outline-offset:6px; }
.staff-details { margin-top:32px;color:var(--muted);font-size:14px; }
.staff-details>summary { cursor:pointer;padding:12px 0; }
.coa-notice { padding:12px 16px;background:var(--soft);border-radius:6px;color:var(--muted);font-size:13px!important; }
body .summary-mini { background:var(--surface);border-color:var(--rule);border-radius:10px;top:116px; }
body .co-panel { background:var(--surface);border:1px solid var(--rule);padding:24px;border-radius:10px; }
.table-scroll { overflow-x:auto;max-width:100%; }
.table-scroll table { min-width:670px; }
.table-scroll th,.table-scroll td { padding-right:20px!important; }

/* Optional navy evening theme. Approved product photographs stay white. */
html[data-theme="dark"] { color-scheme:dark;--page:#101a2b;--surface:#18253a;--text:#edf1f7;--muted:#b1bed0;--soft:#213049;--rule:#33435b;--ink-900:#edf1f7;--ink-700:#d1dbea;--ink-500:#b1bed0;--silver-500:#afbbcc;--teal-500:#adcae4;--line:#33435b;--paper:#213049; }
[data-theme="dark"] body a { color:#b8d2ed; }
[data-theme="dark"] body .logo-lockup .top,[data-theme="dark"] body .logo-lockup .bot,[data-theme="dark"] body .cat-banner strong,[data-theme="dark"] body .bogo-note strong,[data-theme="dark"] body .bulk-note strong,[data-theme="dark"] body .spec-table td,[data-theme="dark"] body .price-live,[data-theme="dark"] body .summary .row,[data-theme="dark"] body .summary .amt,[data-theme="dark"] body .cart-line .name,[data-theme="dark"] body .cart-line .line-total { color:var(--text); }
[data-theme="dark"] body .btn-primary,[data-theme="dark"] body .qa-add,[data-theme="dark"] body .site-header nav .cta { background:#c6d6eb;color:#10213c;border-color:#c6d6eb; }
[data-theme="dark"] body .pack-toggle button { color:var(--text); }
[data-theme="dark"] body .pack-toggle button.active,[data-theme="dark"] body .strength-opt.selected { background:#b9cde7;color:#10213c; }
[data-theme="dark"] body .btn-ghost { color:var(--text); }
html[data-theme="dark"] body .cart-line .qty-row button { color:#edf1f7; }
[data-theme="dark"] body .next-steps { color:var(--text); }
[data-theme="dark"] body .co-grid label,[data-theme="dark"] body .pay-option .label,[data-theme="dark"] body .review-block h4,[data-theme="dark"] body .summary-mini .n,[data-theme="dark"] body .summary-mini .row.grand,[data-theme="dark"] body .co-step.active { color:var(--text); }
[data-theme="dark"] body .pay-option.selected { background:var(--soft);border-color:#95afd0; }
[data-theme="dark"] body .strength-opt:not(.selected) { color:var(--muted); }
[data-theme="dark"] body .product-card .qa-strength:not(.active) { color:var(--muted);background:var(--surface); }
[data-theme="dark"] body input::placeholder { color:#a9b8cb;opacity:1; }
[data-theme="dark"] body .stat-card,[data-theme="dark"] body .orders-table,[data-theme="dark"] body .drawer,[data-theme="dark"] body #tableHost>div,[data-theme="dark"] body .oc-card { background:var(--surface)!important; }
[data-theme="dark"] body .stat-card .val,[data-theme="dark"] body .orders-table td,[data-theme="dark"] body .adm-tabs button.active,[data-theme="dark"] body .drawer h2 { color:var(--text); }
[data-theme="dark"] body .adm-tabs button.active { border-color:#b9cde7; }
[data-theme="dark"] body .orders-table tr.row-clickable:hover { background:var(--soft); }
[data-theme="dark"] body .summary .discount .amt,[data-theme="dark"] body [style*="color:#059669"] { color:#79d5b0!important; }
@media(max-width:900px) {
  body .site-header .row { gap:16px; }
  body .site-header nav { gap:16px; }
  body .logo-lockup .wordmark .top { font-size:14px; }
  body .login-split { grid-template-columns:1fr 1fr; }
  body .login-brand,body .login-form-wrap { padding:32px; }
  body .login-brand h1 { font-size:34px; }
  .brand-caption { flex-direction:column;gap:4px; }
  body .pdp-image { position:static;max-width:560px;width:100%;margin:auto; }
  body .site-footer .cols { grid-template-columns:2fr 1fr; }
}
@media(max-width:680px) {
  .container,.container-narrow { padding-inline:20px; }
  body .site-header .row { display:grid;grid-template-columns:1fr 36px;gap:12px;padding:14px 0;position:relative; }
  body .logo-lockup .wordmark .top { font-size:15px; }
  body .logo-lockup svg { width:34px;height:34px; }
  body .theme-toggle { grid-column:2;grid-row:1; }
  body .site-header nav { grid-column:1/-1;margin:0;gap:0;justify-content:space-between; }
  body .site-header nav a:not(.cta) { display:flex;margin:0;font-size:14px; }
  body .site-header nav a.cta { padding:8px 14px;margin:0;min-height:40px; }
  body .site-header nav:has(a:only-child) { position:absolute;right:48px;top:12px; }
  body .site-header:has(nav a:only-child) .wordmark .top { font-size:12px; }
  body .site-header:has(nav a:only-child) .wordmark .bot { font-size:10px; }
  body .site-header:has(nav a:only-child) .logo-lockup { gap:2px; }
  body .ruo-ribbon { font-size:10px;letter-spacing:.04em;padding:8px 16px; }
  body .section,body .legal-content { padding-block:32px; }
  .catalog-heading { display:block;margin-bottom:16px; }
  .catalog-heading h1,body .legal-content h1 { font-size:30px; }
  .catalog-heading p { font-size:14px;margin:0; }
  .catalog-heading .eyebrow { display:none; }
  .catalog-coa { display:none; }
  .dispatch-note { flex-direction:column;align-items:flex-start;gap:4px; }
  .dispatch-note span:last-child { display:none; }
  .catalog-tools { gap:10px;margin:16px 0; }
  .catalog-search { min-width:0; }
  .catalog-sort { width:128px; }
  .catalog-search input { padding-inline:10px; }
  .catalog-sort select { min-height:44px; }
  body .cat-tab { padding:8px 12px; }
  body .cat-tab .count { display:none; }
  body .grid-shop { grid-template-columns:1fr;gap:20px; }
  body .product-card .vial-frame { height:244px; }
  body .product-card .vial-frame img { height:228px;max-height:228px; }
  body .product-card[data-pack="bulk"] .vial-frame { height:288px;padding-top:60px; }
  body .pdp-info .qty-row { flex-wrap:wrap; }
  body .product-card .body { padding:16px 20px 20px; }
  body .product-card .subtitle { min-height:0; }
  body .product-card .qa-strength { min-height:44px; }
  body .login-split { display:flex;flex-direction:column; }
  body .login-form-wrap { order:-1;padding:32px 24px 40px; }
  body .login-brand { padding:32px 24px; }
  body .login-brand h1 { font-size:32px; }
  .brand-vials { max-width:440px; }
  body .login-form h2 { font-size:30px; }
  body .site-footer .cols { grid-template-columns:1fr 1fr;gap:24px; }
  body .site-footer .cols>div:first-child { grid-column:1/-1; }
  body .site-footer .cols>.footer-contact { grid-column:1/-1; }
  body .footer-legal a { min-height:44px; }
  .policy-summary { padding:20px; }
  .policy-nav a { min-height:44px;display:flex;align-items:center; }
  .policy-page article h2 { scroll-margin-top:180px; }
  body .site-footer { padding-top:32px; }
  body .card { padding:20px; }
  body .two-col { gap:0; }
  body .cart-line { grid-template-columns:64px minmax(0,1fr);gap:12px; }
  body .cart-line img { width:64px; }
  body .cart-line>div:last-child { grid-column:2;text-align:left; }
  body .cart-line .line-total { text-align:left; }
  body .cart-line .qty-row { flex-wrap:wrap; }
  body .summary { position:static; }
  body .summary-mini { position:static; }
  body .co-2col,body .co-3col { grid-template-columns:1fr;gap:0; }
  body .co-steps { gap:8px; }
  body .co-step { gap:4px;font-size:12px; }
  body .co-step .num { width:22px;height:22px;font-size:12px; }
  body .co-actions { gap:12px;flex-wrap:wrap; }
  body .co-panel { padding:20px; }
  body .tabs-nav { flex-wrap:nowrap;overflow:auto;gap:20px; }
  body .tabs-nav button { white-space:nowrap; }
  body .legal-content p,body .legal-content li { overflow-wrap:anywhere; }
  body #adminPass { min-width:0!important;width:100%; }
}
.bulk-offer-note { font-size:12px;line-height:1.5;color:var(--teal-500);margin-top:6px; }
body .cart-line-free { background:var(--paper);border-left:3px solid var(--teal-500);padding:18px 14px;margin-bottom:18px; }
body .cart-line-free .tag-bogo { background:#E8F4F1;color:#16624E; }
body .bulk-gift-line { border-left:3px solid var(--teal-500);padding-left:10px; }
body .summary-mini .line { gap:12px; }
body .summary-mini .line .n { flex-shrink:0; }
body .review-item { padding-block:8px; }
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { transition:none!important;scroll-behavior:auto!important; }
}
