/* [PPS-SITE-V2] site-v2.css — the v2 look for every classic page body. Loaded after site.css and
   home-v2.css, only when site_v2 is on. Two layers: (1) remap the classic design tokens so the
   token-driven parts of site.css restyle themselves; (2) override the components that hard-code
   colours or shapes. Every selector is prefixed with body.hv2 so it beats page-level <style> rules. */

/* ---- 1. tokens: navy/mint -> graphite/brass, Inter -> IBM Plex Sans, radius 4 -> 2 ---- */
body.hv2 {
  --ink: #1F2124; --ink-soft: #3A3D42; --ink-mute: #5F636A;
  --paper: #F4F1EA; --paper-2: #ECE8DE; --line: #E3DED2;
  --accent: #B08D3E; --accent-deep: #7F6320; --gold: #7F6320; --warning: #9A3412;
  --shadow-1: 0 1px 0 rgba(31,33,36,.05); --shadow-2: 0 1px 0 rgba(31,33,36,.05), 0 10px 24px -8px rgba(31,33,36,.18);
  --radius: 2px; --radius-lg: 6px;
  --font-display: "Fraunces", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  --font-body: "IBM Plex Sans", "Helvetica Neue", Arial, system-ui, sans-serif;
  --font-mono: "IBM Plex Sans", "Helvetica Neue", Arial, system-ui, sans-serif;
  background: var(--paper); color: var(--ink-2, #3A3D42);
}
body.hv2 main { color: var(--ink-2, #3A3D42); }
body.hv2 main h1, body.hv2 main h2, body.hv2 main h3, body.hv2 main h4 { color: var(--ink); font-family: var(--font-display); font-weight: 500; letter-spacing: -.01em; }
body.hv2 main h1 { font-variation-settings: "opsz" 144; }
body.hv2 main a:not(.btn):not(.hv2-btn):not(.product-card):not(.label-name a) { color: inherit; }
body.hv2 main p a, body.hv2 main li a, body.hv2 main td a { color: var(--brass); text-decoration: underline; text-underline-offset: 3px; }
body.hv2 main p a:hover, body.hv2 main li a:hover { color: var(--ink); }

/* ---- 2. shared components ---- */
/* eyebrows: caps, tracked, brass; no "//" prefix */
body.hv2 .section-eyebrow, body.hv2 .ppx-eyebrow, body.hv2 .ppx-eyebrow-dark { font-family: var(--font-body); font-size: var(--fs-caps); font-weight: 500; letter-spacing: var(--track-caps); text-transform: uppercase; color: var(--brass); }
body.hv2 .section-eyebrow::before { content: none; }
body.hv2 .section-title { font-family: var(--font-display); font-weight: 500; letter-spacing: -.015em; margin-bottom: 32px; }
body.hv2 .section-title em { color: var(--ink-3); }
body.hv2 section { padding: var(--section) 0; }
body.hv2 .container { max-width: var(--container); padding: 0 var(--gutter); }

/* page headers and heroes: paper, hairline, no gradients, no grid overlays */
body.hv2 .page-header, body.hv2 .page-hero, body.hv2 .hero, body.hv2 .pp3-dark, body.hv2 .ppx-hero, body.hv2 .products-hero, body.hv2 .cart-hero, body.hv2 .calc-hero, body.hv2 .track-hero, body.hv2 .coa-hero, body.hv2 .affiliate-hero, body.hv2 .about-hero, body.hv2 .contact-hero, body.hv2 .compare-hero, body.hv2 .blog-hero {
  background: var(--paper) !important; background-image: none !important; color: var(--ink) !important; border-bottom: var(--hair); box-shadow: none;
}
body.hv2 .hero::before, body.hv2 .hero::after, body.hv2 .page-header::before, body.hv2 .page-header::after, body.hv2 .page-hero::before, body.hv2 .page-hero::after, body.hv2 .pp3-dark::before, body.hv2 .pp3-dark::after, body.hv2 .ppx-hero::before, body.hv2 .ppx-hero::after { content: none !important; }
body.hv2 .page-header { padding: clamp(40px, 6vw, 72px) 0 clamp(28px, 4vw, 44px); }
body.hv2 .page-header h1, body.hv2 .page-hero h1, body.hv2 .hero h1, body.hv2 .pp3-dark h1, body.hv2 .ppx-hero h1 { color: var(--ink) !important; font-family: var(--font-display); font-weight: 500; letter-spacing: -.015em; font-size: var(--fs-1); line-height: 1.05; }
body.hv2 .page-header p, body.hv2 .page-hero p, body.hv2 .hero p, body.hv2 .pp3-dark p, body.hv2 .ppx-hero p { color: var(--ink-2) !important; font-size: var(--fs-lead); max-width: var(--measure); }
body.hv2 .hero-inner { gap: 48px; }

/* buttons: classic .btn family -> v2 shapes */
body.hv2 .btn { font-family: var(--font-body); font-size: var(--fs-body); font-weight: 600; letter-spacing: .01em; text-transform: none; padding: 0 22px; min-height: 48px; border-radius: var(--radius-1, 2px); background: var(--ink); color: var(--on-dark); border: 1px solid var(--ink); box-shadow: none; }
body.hv2 .btn:hover { background: var(--ink-2, #3A3D42); color: var(--on-dark); border-color: var(--ink-2, #3A3D42); }
body.hv2 .btn-secondary { background: transparent; color: var(--ink); border-color: var(--ink); }
body.hv2 .btn-secondary:hover { background: var(--ink); color: var(--on-dark); }
body.hv2 .btn-accent { background: var(--brass-2); color: var(--ink); border-color: var(--brass-2); }
body.hv2 .btn-accent:hover { background: var(--paper); color: var(--ink); border-color: var(--ink); }
body.hv2 .btn-sm { min-height: 36px; padding: 0 14px; font-size: var(--fs-ui-s); }
body.hv2 .btn-danger { background: #9A3412; border-color: #9A3412; color: #fff; }

/* forms */
body.hv2 .form-row label { font-family: var(--font-body); font-size: var(--fs-caps); letter-spacing: var(--track-caps); text-transform: uppercase; color: var(--ink-3); font-weight: 500; }
body.hv2 .form-row input, body.hv2 .form-row textarea, body.hv2 .form-row select, body.hv2 main input[type=text], body.hv2 main input[type=email], body.hv2 main input[type=number], body.hv2 main input[type=password], body.hv2 main input[type=tel], body.hv2 main input[type=search], body.hv2 main select, body.hv2 main textarea {
  background: var(--paper); border: var(--hair); border-radius: var(--radius-1, 2px); color: var(--ink); min-height: var(--tap); font-family: var(--font-body); font-size: 16px; box-shadow: none;
}
body.hv2 main input:focus, body.hv2 main select:focus, body.hv2 main textarea:focus { outline: 2px solid var(--brass); outline-offset: 1px; border-color: var(--ink); }
body.hv2 main input[type=checkbox], body.hv2 main input[type=radio] { min-height: 0; accent-color: var(--ink); }

/* product grid + cards (the v2 label card is rendered by _product_card_v2.html) */
body.hv2 .product-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 0; box-shadow: none; }
@media (min-width: 640px) { body.hv2 .product-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { body.hv2 .product-grid { grid-template-columns: repeat(4, 1fr); } }
body.hv2 .product-grid .label-card { background: var(--paper); }

/* panels, cards, alerts, badges, tables */
body.hv2 .card, body.hv2 .admin-card, body.hv2 .cart-summary, body.hv2 .calc-input-box, body.hv2 .ppx-card, body.hv2 .quality-cell, body.hv2 .coa-trust-item, body.hv2 .ct-tile, body.hv2 .sale-tile, body.hv2 .bogo-tile, body.hv2 .trust-item, body.hv2 .compare-section { background: var(--paper-2); border: var(--hair); border-radius: var(--radius-2, 6px); box-shadow: none; }
body.hv2 .alert { border-radius: var(--radius-1, 2px); border: var(--hair); background: var(--paper-2); color: var(--ink); }
body.hv2 .alert-error { border-color: #9A3412; color: #7c2d12; background: #f8efe9; }
body.hv2 .badge { border-radius: var(--radius-1, 2px); font-family: var(--font-body); letter-spacing: var(--track-caps); text-transform: uppercase; font-size: var(--fs-caps); }
body.hv2 .badge.sale { background: var(--ink); color: var(--on-dark); }
body.hv2 main table { border-collapse: collapse; width: 100%; font-size: var(--fs-ui); }
body.hv2 main th { font-family: var(--font-body); font-size: var(--fs-caps); letter-spacing: var(--track-caps); text-transform: uppercase; color: var(--ink-3); font-weight: 500; text-align: left; border-bottom: var(--hair); padding: 10px 8px; }
body.hv2 main td { border-bottom: var(--hair); padding: 12px 8px; vertical-align: top; }

/* category pills on /products */
body.hv2 .cat-pill { border-radius: 999px; border: var(--hair); background: var(--paper); color: var(--ink); font-family: var(--font-body); font-size: var(--fs-ui-s); font-weight: 500; letter-spacing: 0; text-transform: none; box-shadow: none; }
body.hv2 .cat-pill.is-active, body.hv2 .cat-pill[aria-current], body.hv2 .cat-pill.active { background: var(--ink); color: var(--on-dark); border-color: var(--ink); }

/* generic dark bands used by classic pages -> paper bands with a hairline */
body.hv2 .dark-band, body.hv2 .band-dark, body.hv2 .cta-band, body.hv2 .newsletter-band { background: var(--paper-2) !important; background-image: none !important; color: var(--ink) !important; border-top: var(--hair); border-bottom: var(--hair); }
body.hv2 .dark-band *, body.hv2 .band-dark *, body.hv2 .cta-band * { color: inherit; }

/* mono-styled data labels -> plain caps */
body.hv2 main [style*="font-mono"] { font-family: var(--font-body) !important; }

/* ---- 3. page-specific leftovers (found by the QA matrix) ---- */
/* dark "kinetic" headers from site.css: gradient text, light inputs */
body.hv2 .page-header h1 em, body.hv2 .page-hero h1 em { background: none !important; -webkit-background-clip: initial; background-clip: initial; -webkit-text-fill-color: currentColor; color: var(--brass); font-style: italic; }
body.hv2 .page-header input, body.hv2 .page-hero input, body.hv2 .page-header select, body.hv2 .page-hero select { background: var(--paper) !important; border: var(--hair) !important; color: var(--ink) !important; box-shadow: none !important; }
body.hv2 .page-header input::placeholder, body.hv2 .page-hero input::placeholder { color: var(--ink-4) !important; }
body.hv2 .page-header .section-eyebrow, body.hv2 .page-hero .section-eyebrow, body.hv2 .page-header .eyebrow, body.hv2 .page-hero .eyebrow, body.hv2 .hero-eyebrow { color: var(--brass) !important; }
body.hv2 .page-header .btn-secondary, body.hv2 .page-hero .btn-secondary { color: var(--ink); border-color: var(--ink); }

/* /products: category pills + search row */
body.hv2 .cat-pill { min-height: 36px; padding-block: 0; display: inline-flex; align-items: center; }
body.hv2 .cat-pill.is-active, body.hv2 .cat-pill.is-active * { color: var(--on-dark); }
body.hv2 .cat-pill-count { font-size: 12px; }
body.hv2 .cat-pill.is-active .cat-pill-count { background: rgba(244,241,234,.18); }
body.hv2 .section-cat-header { font-weight: 500 !important; }

/* /coas */
body.hv2 .coa-trust { background: var(--paper-2) !important; border-top: var(--hair); border-bottom: var(--hair); }
body.hv2 .coa-trust-item { background: var(--paper); }
body.hv2 .coa-trust-num { color: var(--ink) !important; font-family: var(--font-display); font-weight: 500; }
body.hv2 .coa-trust-label { color: var(--ink-3) !important; font-size: 12px; }
body.hv2 .coa-card { background: var(--paper); border: var(--hair); border-radius: var(--radius-2, 6px); box-shadow: none !important; }
body.hv2 .coa-verified { background: var(--paper-2) !important; color: var(--brass) !important; border: var(--hair); font-size: 12px; }
body.hv2 .coa-purity-pct { color: var(--brass) !important; }
body.hv2 .coa-purity-label, body.hv2 .coa-date { font-size: 12px; }
body.hv2 .coa-view-btn { background: var(--ink) !important; color: var(--on-dark) !important; border-radius: var(--radius-1, 2px); }
body.hv2 .coa-view-btn:hover { background: var(--ink-2, #3A3D42) !important; color: var(--on-dark) !important; }

/* /calculator: light card, dark result well and dark side rail in the v2 palette */
body.hv2 .calc-wrapper { background: var(--paper) !important; border-radius: 0; box-shadow: none; }
body.hv2 .calc-input-box, body.hv2 .calc-card { background: var(--paper) !important; border: var(--hair) !important; border-radius: var(--radius-2, 6px) !important; box-shadow: none !important; }
body.hv2 .calc-input-box label { font-size: 12px; color: var(--ink-3); }
body.hv2 .calc-input-box input:focus, body.hv2 .calc-input-box select:focus { border-color: var(--ink) !important; box-shadow: none !important; outline: 2px solid var(--brass); }
body.hv2 .calc-result { background: var(--well) !important; border-radius: var(--radius-2, 6px) !important; color: var(--on-dark); }
body.hv2 .calc-result h2 { color: var(--on-dark) !important; font-family: var(--font-display); font-weight: 500; }
body.hv2 .calc-good { background: rgba(176,141,62,.18) !important; color: var(--brass-2) !important; border-radius: 999px; }
body.hv2 .calc-fill-bar { background: linear-gradient(90deg, rgba(176,141,62,.35), rgba(176,141,62,.75)) !important; box-shadow: none !important; }
body.hv2 .calc-fill-bar::after { background: var(--brass-2) !important; }
body.hv2 .calc-needle { background: var(--brass-2) !important; box-shadow: none !important; }
body.hv2 .calc-tick-label { font-size: 11px; }
body.hv2 .calc-shop { background: var(--well) !important; border: 1px solid rgba(244,241,234,.12) !important; border-radius: var(--radius-2, 6px) !important; box-shadow: none !important; }
body.hv2 .calc-shop-h { color: var(--brass-2) !important; font-size: 12px; letter-spacing: var(--track-caps); }
body.hv2 .calc-item-k, body.hv2 .calc-item-go, body.hv2 .calc-rec-why { font-size: 12px; }
body.hv2 .calc-item:hover, body.hv2 .calc-bundle-row:hover, body.hv2 .calc-rec-row:hover { background: rgba(244,241,234,.06) !important; border-color: rgba(244,241,234,.2) !important; }
body.hv2 .calc-item-dose, body.hv2 .calc-bundle-p, body.hv2 .calc-shop [class*="calc-"][class*="-p"] { color: var(--brass-2) !important; background: transparent !important; }
body.hv2 .calc-add, body.hv2 .calc-rec-add { background: var(--brass-2) !important; color: var(--ink) !important; border-color: var(--brass-2) !important; font-size: 12px; box-shadow: none !important; }
body.hv2 .calc-add:disabled, body.hv2 .calc-rec-add:disabled { background: transparent !important; color: rgba(244,241,234,.5) !important; border-color: rgba(244,241,234,.25) !important; }
body.hv2 .calc-copy { background: transparent !important; border: 1px solid rgba(244,241,234,.35) !important; color: var(--on-dark) !important; font-size: 12px; box-shadow: none !important; }
body.hv2 .calc-copy:hover, body.hv2 .calc-browse:hover { background: rgba(244,241,234,.08) !important; box-shadow: none !important; }
body.hv2 .calc-browse { background: transparent !important; border: 1px solid rgba(244,241,234,.2) !important; color: var(--on-dark) !important; }
body.hv2 .calc-trust-i { font-size: 12px; color: rgba(244,241,234,.7) !important; }
body.hv2 .calc-size { background: rgba(244,241,234,.08) !important; border: 1px solid rgba(244,241,234,.25) !important; color: var(--on-dark) !important; }
body.hv2 .calc-size option { background: #1F2124; }

/* /cart: no glow blobs; the summary stays a dark panel, in the v2 palette */
body.hv2 .cart-page { background: var(--paper) !important; }
body.hv2 .cart-item { border: var(--hair); border-radius: var(--radius-2, 6px); box-shadow: none !important; }
body.hv2 .cart-item:hover { border-color: var(--ink-4) !important; box-shadow: none !important; }
body.hv2 .cart-item-image { background: var(--well) !important; border-radius: var(--radius-1, 2px); }
body.hv2 .cart-summary { background: var(--well) !important; border: 1px solid rgba(244,241,234,.12) !important; border-radius: var(--radius-2, 6px) !important; box-shadow: none !important; }
body.hv2 .cart-summary::before, body.hv2 .cart-summary::after { content: none !important; }
body.hv2 .cx-fill { background: var(--brass-2) !important; box-shadow: none !important; }
body.hv2 .cart-summary details .btn, body.hv2 .cart-summary details .btn:hover { background: rgba(176,141,62,.18) !important; border: 1px solid rgba(176,141,62,.6) !important; color: var(--on-dark) !important; }
body.hv2 .cart-summary #checkout-form .btn.btn-block { background: var(--brass-2) !important; color: var(--ink) !important; border-color: var(--brass-2) !important; box-shadow: none !important; }
body.hv2 .cart-summary #checkout-form .btn.btn-block:hover { background: var(--paper) !important; box-shadow: none !important; }
body.hv2 .cart-summary details input[name="code"]:focus, body.hv2 .cart-summary select:focus, body.hv2 .cart-summary textarea:focus { box-shadow: none !important; outline: 2px solid var(--brass-2); }
body.hv2 .empty-state .btn, body.hv2 .cx-st-btn { box-shadow: none !important; }
body.hv2 .cx-stickybar { border-top: var(--hair) !important; }
body.hv2 .cx-empty-title em, body.hv2 .empty-state h1 em, body.hv2 .empty-state h2 em { color: var(--brass) !important; }
body.hv2 .cx-empty-eyebrow, body.hv2 .cart-page .on { font-size: 12px; }

/* /track: the lookup card becomes a paper panel */
body.hv2 main .admin-card { background: var(--paper-2) !important; border: var(--hair) !important; border-radius: var(--radius-2, 6px) !important; box-shadow: none !important; color: var(--ink) !important; animation: none !important; }
body.hv2 main .admin-card::before, body.hv2 main .admin-card::after { content: none !important; }
body.hv2 main .admin-card label, body.hv2 main .admin-card .form-row label { color: var(--ink-3) !important; }
body.hv2 main .admin-card input, body.hv2 main .admin-card select { background: var(--paper) !important; border: var(--hair) !important; color: var(--ink) !important; box-shadow: none !important; }
body.hv2 main .admin-card input::placeholder { color: var(--ink-4) !important; }
body.hv2 main .admin-card .btn { box-shadow: none !important; }
body.hv2 main .admin-card div[style*="paper-2"] { background: var(--paper) !important; border: var(--hair) !important; }
body.hv2 main .admin-card div[style*="paper-2"] div[style*="16px"] { text-shadow: none !important; }
body.hv2 main .admin-card p, body.hv2 main .admin-card small, body.hv2 main .admin-card div { color: var(--ink-2); }
body.hv2 .tx-fill { background: var(--brass-2) !important; box-shadow: none !important; }
body.hv2 .tx-node i { background: var(--paper) !important; border-color: var(--ink-4) !important; box-shadow: none !important; }
body.hv2 .tx-node.on i { background: var(--brass-2) !important; box-shadow: none !important; animation: none !important; }
body.hv2 .tx-copy { background: var(--paper) !important; border: var(--hair) !important; color: var(--ink) !important; }

/* /affiliate-program: readable hero, dark panels without glow */
body.hv2 .ppx-hero { background: var(--paper) !important; }
body.hv2 .ppx-hero p, body.hv2 .ppx-hero .ppx-lead, body.hv2 .ppx-hero .ppx-sub { color: var(--ink-2) !important; }
body.hv2 .ppx-pill-url, body.hv2 .ppx-pill-label { color: var(--ink-3) !important; font-size: 12px; }
body.hv2 .ppx-pill-url b { color: var(--brass) !important; text-shadow: none !important; }
body.hv2 .ppb-panel, body.hv2 .ppx-receipt, body.hv2 .ppx-close-panel { background: var(--well) !important; border-radius: var(--radius-2, 6px) !important; box-shadow: none !important; }
body.hv2 .ppb-panel::before, body.hv2 .ppb-panel::after, body.hv2 .ppx-close-panel::before, body.hv2 .ppx-close-panel::after { content: none !important; }
body.hv2 .ppb-fig span, body.hv2 .ppx-receipt-row.ppx-earn span:last-child { text-shadow: none !important; color: var(--brass-2) !important; }
body.hv2 .ppb-fig, body.hv2 .ppb-lbl { color: var(--on-dark); }

/* /product: bundle badges + helper text */
body.hv2 .bc-badge { font-size: 12px; border-radius: 999px; letter-spacing: var(--track-caps); }
body.hv2 .bc-badge-popular { background: var(--ink) !important; color: var(--on-dark) !important; }
body.hv2 .bc-badge-value { background: var(--brass) !important; color: var(--on-dark) !important; }
body.hv2 .bundle-card .bc-save { color: var(--brass) !important; }
body.hv2 .bc-each, body.hv2 .stock, body.hv2 .check, body.hv2 .hero-eyebrow, body.hv2 .compare-card-eyebrow { font-size: 12px; }
body.hv2 .bundle-note, body.hv2 .bc-note, body.hv2 .bundle-card + p { color: var(--ink-3) !important; }
body.hv2 .trust-item svg { color: var(--brass) !important; }
body.hv2 .bundle-save-label::after, body.hv2 .variant-picker-label::after { background: var(--brass-2) !important; }

/* tiny inline-styled labels across pages (11px/10px -> 12px) */
body.hv2 main [style*="font-size: 11px"], body.hv2 main [style*="font-size:11px"], body.hv2 main [style*="font-size: 10px"], body.hv2 main [style*="font-size:10px"], body.hv2 main [style*="font-size: 9px"] { font-size: 12px !important; }

/* ---- 4. last leftovers ---- */
body.hv2 .empty-state h2 em, body.hv2 .cart-page h2 em, body.hv2 .cx-empty h2 em { color: var(--brass) !important; background: none !important; -webkit-text-fill-color: currentColor; }
body.hv2 .cx-steps span, body.hv2 .cart-item-info .variant, body.hv2 .cart-summary .shipping-progress { font-size: 12px !important; }
body.hv2 main .admin-card p, body.hv2 main .admin-card small, body.hv2 main .admin-card [style*="rgba(250"], body.hv2 main .admin-card [style*="rgba(255"] { color: var(--ink-2) !important; }
body.hv2 .bundle-note, body.hv2 .pd-calc-link, body.hv2 .pd-complete-h, body.hv2 .pd-complete-w, body.hv2 .calc-browse, body.hv2 .calc-tick-label, body.hv2 .calc-shop span { font-size: 12px !important; }
body.hv2 .calc-shop, body.hv2 .calc-item, body.hv2 .calc-bundle-row, body.hv2 .calc-rec-row { color: rgba(244,241,234,.88) !important; }
body.hv2 .calc-shop .calc-item-k, body.hv2 .calc-shop .calc-item-go, body.hv2 .calc-shop .calc-rec-why { color: rgba(244,241,234,.6) !important; }
body.hv2 .calc-bundle-row > *, body.hv2 .calc-item > * { color: inherit; }
body.hv2 .pd-complete-add, body.hv2 .cart-item-info a, body.hv2 .cart-summary a, body.hv2 .cart-item a { font-size: 12px !important; }

/* ---- 5. /coas stat band: a hairline stat row like the homepage proof strip, not boxed tiles in a tall band ---- */
body.hv2 .coa-trust { background: var(--paper) !important; border-top: var(--rule, 1px solid var(--ink)); border-bottom: var(--hair); padding: 0 !important; }
body.hv2 .coa-trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; text-align: left; }
body.hv2 .coa-trust-item { background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; padding: 22px 20px 22px 0; }
body.hv2 .coa-trust-item + .coa-trust-item { border-left: var(--hair) !important; padding-left: 20px; }
body.hv2 .coa-trust-num { font-family: var(--font-display); font-size: var(--fs-num); font-weight: 600; letter-spacing: -.01em; line-height: 1.1; color: var(--ink) !important; }
body.hv2 .coa-trust-label { margin-top: 6px; font-family: var(--font-body); font-size: var(--fs-caps); font-weight: 500; letter-spacing: var(--track-caps); text-transform: uppercase; color: var(--ink-3) !important; }
@media (max-width: 719.98px) {
  body.hv2 .coa-trust-grid { grid-template-columns: 1fr 1fr; }
  body.hv2 .coa-trust-item { padding: 16px 12px 16px 0; }
  body.hv2 .coa-trust-item + .coa-trust-item { border-left: 0 !important; padding-left: 0; }
  body.hv2 .coa-trust-item:nth-child(even) { border-left: var(--hair) !important; padding-left: 12px; }
  body.hv2 .coa-trust-item:nth-child(-n+2) { border-bottom: var(--hair) !important; }
}

/* ---- 6. account pages: sidebar tabs ---- */
body.hv2 .account-nav-item { color: var(--ink-2); border-radius: var(--radius-1, 2px); font-size: var(--fs-ui); font-weight: 500; }
body.hv2 .account-nav-item:hover { background: var(--paper-2); color: var(--ink); }
body.hv2 .account-nav-item.active { background: var(--ink) !important; color: var(--on-dark) !important; border-color: var(--ink) !important; }
body.hv2 .account-sidebar { gap: 4px; }
body.hv2 .account-stat .label, body.hv2 .account-stat-row .label { font-size: 12px !important; }
body.hv2 .partner-claim::after, body.hv2 .partner-pitch-hero::after, body.hv2 .partner-claim::before { content: none !important; }
body.hv2 .partner-claim, body.hv2 .partner-pitch-hero { background: var(--well) !important; border-radius: var(--radius-2, 6px) !important; box-shadow: none !important; }
body.hv2 .partner-flash-ok { background: rgba(176,141,62,.14) !important; border-left-color: var(--brass) !important; }
body.hv2 .partner-pill-paid { background: rgba(176,141,62,.18) !important; color: var(--brass) !important; }
body.hv2 .partner-pill-pending { background: var(--paper-2) !important; color: var(--ink-2) !important; }
body.hv2 .partner-eyebrow { font-family: var(--font-body); letter-spacing: var(--track-caps); }
/* headings inside dark panels stay light (the generic heading rule above must not win there) */
body.hv2 .partner-claim h1, body.hv2 .partner-claim h2, body.hv2 .partner-claim h3, body.hv2 .partner-pitch-hero h1, body.hv2 .partner-pitch-hero h2, body.hv2 .ppx-close-panel h2, body.hv2 .ppx-close-panel h3, body.hv2 .ppb-panel h2, body.hv2 .ppx-receipt h3, body.hv2 .cart-summary h2, body.hv2 .cart-summary h3, body.hv2 .calc-result h2, body.hv2 .calc-shop h2, body.hv2 .calc-shop h3, body.hv2 section[style*="var(--ink)"] h1, body.hv2 section[style*="var(--ink)"] h2, body.hv2 section[style*="var(--ink)"] h3, body.hv2 div[style*="var(--ink)"] h2, body.hv2 div[style*="var(--ink)"] h3 { color: var(--on-dark) !important; }
body.hv2 .partner-claim label, body.hv2 .partner-claim .partner-hint, body.hv2 .partner-claim small { font-size: 12px !important; }
/* cart: savings in brass instead of green, sticky bar in the palette, small labels lifted */
body.hv2 main [style*="#0f7a3a"]:not([style*="background"]) { color: var(--brass) !important; }
body.hv2 main [style*="background:#0f7a3a"], body.hv2 main [style*="background: #0f7a3a"] { background: var(--ink) !important; color: var(--on-dark) !important; font-size: 12px !important; }
body.hv2 .cart-bulk-badge { background: rgba(176,141,62,.16) !important; color: var(--brass) !important; border-color: rgba(176,141,62,.4) !important; font-size: 12px !important; }
body.hv2 .cart-item-info .remove, body.hv2 .cx-st-total span, body.hv2 .cart-summary details summary { font-size: 12px !important; }
body.hv2 .cx-stickybar { background: var(--well) !important; }
body.hv2 .cart-item[style*="dashed"] { background: var(--paper-2) !important; border: 1px dashed var(--brass-2) !important; }

/* last sub-12px labels: product meta line + check mark, cart "continue shopping" link, cart trust chips */
body.hv2 .product-info .product-meta { font-family: var(--font-body); font-size: 12px !important; letter-spacing: var(--track-caps); color: var(--ink-3); }
body.hv2 .product-meta .check { width: 16px !important; height: 16px !important; font-size: 12px !important; line-height: 1; background: var(--brass) !important; color: var(--paper) !important; }
body.hv2 .product-description-eyebrow { font-family: var(--font-body); font-size: 12px !important; letter-spacing: var(--track-caps); color: var(--brass); }
body.hv2 .cx-items-head a { font-family: var(--font-body); font-size: 12px !important; letter-spacing: var(--track-caps); color: var(--brass) !important; }
body.hv2 .cx-trust span { font-family: var(--font-body); font-size: 12px !important; letter-spacing: var(--track-caps); color: rgba(244,241,234,.75) !important; border-color: rgba(244,241,234,.25) !important; }
body.hv2 .cx-trust svg { color: var(--brass-2) !important; }
/* cart: step line fits one row on phones; guest sign-in panel on paper with a brass hairline instead of a solid brass fill */
body.hv2 .cx-steps { gap: 10px; }
body.hv2 .cx-steps i { flex-basis: 18px; }
@media (max-width: 480px) { body.hv2 .cx-steps span { letter-spacing: .06em !important; } body.hv2 .cx-steps i { flex-basis: 14px; } }
body.hv2 .cart-summary [style*="background: var(--accent)"] { background: var(--paper-2) !important; border: 1px solid var(--brass-2) !important; color: var(--ink) !important; border-radius: var(--radius-2, 6px) !important; }
body.hv2 .cart-summary [style*="background: var(--accent)"] p { color: var(--ink-2) !important; }
body.hv2 .cart-summary [style*="background: var(--accent)"] .btn-secondary { background: transparent !important; color: var(--ink) !important; border-color: var(--ink) !important; }
/* product card: spec rows line up whether the strength is a select or plain text; SKU label uses the free width */
body.hv2 .label-spec > div:first-child { min-height: 59px; }
body.hv2 .label-code { max-width: none; flex: 1 1 auto; min-width: 0; }
body.hv2 .label-stock { flex: 0 0 auto; }
/* empty cart category chips and the 404 "jump to" links: 12px minimum, 44px tap height */
body.hv2 .cx-cats a { font-family: var(--font-body); font-size: 12px !important; letter-spacing: var(--track-caps); min-height: 44px; display: inline-flex; align-items: center; }
body.hv2 .cx-cats a:hover { transform: none; color: var(--brass) !important; border-color: var(--brass) !important; }
body.hv2 main [style*="gap: 28px"] > a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 4px; }

/* ===== polish pass: shop (findings from the phone and desktop reviewers, each re-measured) ===== */
/* hairlines are drawn by the cards, so a short last row leaves paper instead of a grey block */
body.hv2 .product-grid { gap: 0; background: transparent; border-width: 1px 0 0 1px; }
body.hv2 .product-grid > .product-card, body.hv2 .product-grid > .label-card { border-right: var(--hair); border-bottom: var(--hair); align-self: stretch; }
/* /products cards: no lift, tilt, glow or white on hover; sentence-case button like the homepage */
body.hv2 .product-section .product-card, body.hv2 .product-section .product-card:hover, body.hv2 .product-card.pgv-tilt, body.hv2 .product-card.pgv-tilt:hover { background: var(--paper) !important; box-shadow: none !important; transform: none !important; }
body.hv2 .pgv-glare { display: none !important; }
body.hv2 .label-btn.pc-quick { text-transform: none; letter-spacing: .01em; }
body.hv2 .label-btn.pc-quick:hover { background: var(--ink-2); color: var(--on-dark); box-shadow: none !important; }
/* search row on the container edge; square 44px button; equal heights; sort select keeps its chevron */
body.hv2 main form[action="/products"][style*="max-width"] { margin-left: 0 !important; margin-right: 0 !important; }
body.hv2 .products-search-bar { border: 0; border-radius: 0; box-shadow: none; }
body.hv2 .products-search-input { border-radius: var(--radius-1, 2px); box-shadow: none; padding: 0 116px 0 46px; min-height: 52px; font-size: 16px; }
body.hv2 .products-search-input:focus { border-color: var(--ink); box-shadow: none; }
body.hv2 .products-search-btn { right: 4px; min-height: 44px; padding: 0 16px; border-radius: var(--radius-1, 2px); font-size: var(--fs-ui-s); letter-spacing: 0; text-transform: none; background: var(--ink); color: var(--on-dark); }
body.hv2 .products-search-btn:hover, body.hv2 .products-search-btn:active { background: var(--ink-2); transform: translateY(-50%); }
body.hv2 .products-sort-select { min-height: 52px; padding: 0 40px 0 14px; border-radius: var(--radius-1, 2px); box-shadow: none; }
body.hv2 main select.products-sort-select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231F2124' stroke-width='1.5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; }
/* category dots: one brass square, no halo or glow; active pill readable; pill counts at full contrast */
body.hv2 .cat-pill .cat-dot, body.hv2 .cat-pill[data-cat] .cat-dot, body.hv2 .cat-pill.is-active[data-cat] .cat-dot, body.hv2 .section-cat-dot, body.hv2 .product-section[data-cat] .section-cat-dot { width: 8px; height: 8px; border-radius: 0; background: var(--brass-2) !important; box-shadow: none !important; }
body.hv2 .cat-pill.is-active, body.hv2 .cat-pill.is-active * { color: var(--on-dark) !important; }
body.hv2 .cat-pill-count { opacity: 1; color: var(--ink-3); }
body.hv2 .cat-pill.is-active .cat-pill-count { color: var(--on-dark) !important; }
/* sticky pill bar parks flush under the 57px header; one scrollable row of 44px pills on phones */
body.hv2 .cat-pills.is-sticky { top: 57px; padding-top: 8px; padding-bottom: 8px; backdrop-filter: none; }
body.hv2 .cat-pills.is-sticky.pgv-stuck { box-shadow: 0 0 0 100vmax var(--paper) !important; border-bottom: var(--hair); }
@media (max-width: 639.98px) {
  body.hv2 .cat-pills { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; gap: 8px; }
  body.hv2 .cat-pills::-webkit-scrollbar { display: none; }
  body.hv2 .cat-pill { flex: 0 0 auto; min-height: 44px; }
}
/* rhythm: 24px above the pills, 40px between category sections */
body.hv2 .page-header + section:has(#catPills) { padding-top: 24px !important; }
body.hv2 .page-header + .coa-trust { padding-top: 0 !important; }
body.hv2 .product-section + .product-section { margin-top: 40px !important; }
/* card spec label column wide enough for "Strength" on desktop, natural width on phones */
body.hv2 .label-spec > div:not(.label-price-row) { grid-template-columns: minmax(4.2em, max-content) 1fr; column-gap: 8px; }
@media (min-width: 1024px) { body.hv2 .label-price-row { grid-template-columns: minmax(4.2em, max-content) 1fr; } }
@media (max-width: 639.98px) { body.hv2 .label-spec > div:not(.label-price-row) { grid-template-columns: max-content 1fr; column-gap: 6px; } body.hv2 .label-spec dt { letter-spacing: .02em; } }
/* product page: gallery stays in view on desktop; post-fold sections share the page's left edge and a 900px measure */
body.hv2 .product-page { align-items: start; }
@media (min-width: 900px) { body.hv2 .product-gallery-wrap { position: sticky; top: calc(var(--header-h) + 16px); } }
body.hv2 .product-gallery { border-radius: 0; }
body.hv2 .product-page ~ section .container[style*="max-width"] { max-width: var(--container) !important; }
body.hv2 .product-page ~ section .container[style*="max-width"] > * { max-width: 900px; }
body.hv2 .product-page ~ section .section-title[style*="center"] { text-align: left !important; }
/* buy box: v2 radii, no lift or shadow on bundle tiles, left-aligned labels, 44px controls, trust items without a second box */
body.hv2 .bundle-card { border-radius: var(--radius-2, 6px); }
body.hv2 .bundle-card:hover, body.hv2 .bundle-card.selected { transform: none; box-shadow: none; }
body.hv2 .variant-picker-label, body.hv2 .bundle-save-label { text-align: left; font-weight: 500; color: var(--brass); letter-spacing: var(--track-caps); padding-bottom: 0; }
body.hv2 .variant-picker-label::after, body.hv2 .bundle-save-label::after { content: none; }
body.hv2 .bundle-note { text-align: left; }
@media (max-width: 520px) { body.hv2 .bc-badge { letter-spacing: .04em; padding: 3px 7px; } body.hv2 .bundle-cards { gap: 6px; } }
body.hv2 .pd-complete, body.hv2 .trust-row { border-radius: var(--radius-2, 6px); }
body.hv2 .pd-complete-add { border-radius: var(--radius-1, 2px); min-height: 44px; padding: 0 16px; }
body.hv2 .pd-calc-link { border-radius: var(--radius-1, 2px); min-height: 44px; padding: 0 16px; letter-spacing: 0; text-transform: none; color: var(--ink); display: inline-flex; align-items: center; }
@media (min-width: 600px) { body.hv2 .trust-row { grid-template-columns: repeat(4, auto); justify-content: space-between; gap: 10px 12px; } body.hv2 .trust-row .trust-item { white-space: nowrap; } }
body.hv2 .trust-row .trust-item { background: transparent; border: 0; border-radius: 0; }
body.hv2 .product-description-eyebrow, body.hv2 .product-description-title { text-align: left; }
body.hv2 main [style*="#d4a84b"] { color: var(--brass-2) !important; }
body.hv2 main [style*="#2d7d46"] { color: var(--brass) !important; }

/* ===== polish pass: cart and account ===== */
/* phone checkout bar stays under the menu (z 100) and the quick-add drawer (z 101), reserves its own room, well-dark with a hairline */
@media (max-width: 980px) {
  body.hv2 .cx-stickybar { z-index: 40; background: rgba(10,10,11,.94) !important; border-top: 1px solid rgba(244,241,234,.16) !important; backdrop-filter: none; }
  body.hv2:has(.cx-stickybar) { padding-bottom: calc(80px + env(safe-area-inset-bottom)); }
}
body.hv2 .cx-st-btn { border-radius: var(--radius-1, 2px) !important; background: var(--brass-2) !important; color: var(--ink) !important; box-shadow: none !important; }
body.hv2 .cx-st-total span { font-size: 12px !important; color: var(--on-dark-2) !important; letter-spacing: var(--track-caps); }
/* quantity stepper: 44px buttons that match the field, v2 radius */
body.hv2 .cx-qbtn { width: 44px; height: 44px; border-radius: var(--radius-1, 2px); border: var(--hair); font-size: 18px; }
body.hv2 .cart-item-info input[type=number] { width: 56px; padding: 6px 4px; border-radius: var(--radius-1, 2px); }
body.hv2 .cart-item-info form[action="/cart/update"] { gap: 8px; }
/* summary controls in the two v2 radii, paper-white text without glow; savings rows and helper text readable on the well */
body.hv2 .cart-summary #checkout-form .btn.btn-block, body.hv2 .cart-summary select, body.hv2 .cart-summary textarea, body.hv2 .cart-summary details input[name="code"], body.hv2 .cart-summary details .btn { border-radius: var(--radius-1, 2px) !important; }
body.hv2 .cart-summary .cart-summary-row, body.hv2 .cart-summary .cart-summary-row.total span:last-child, body.hv2 .cart-summary select, body.hv2 .cart-summary textarea, body.hv2 .cart-summary label { color: var(--on-dark) !important; text-shadow: none !important; }
body.hv2 .cart-summary .cart-summary-row[style*="#0f7a3a"], body.hv2 .cart-summary .cart-summary-row[style*="7a5d20"], body.hv2 .cart-summary .cart-bulk-savings-row { color: var(--brass-2) !important; }
body.hv2 .cart-summary [style*="var(--ink-mute)"] { color: var(--on-dark-2) !important; }
body.hv2 .cx-dot { box-shadow: none; }
/* 44px hit areas for the small text links without changing their visual size */
body.hv2 .cart-item-info .remove, body.hv2 .cx-items-head a, body.hv2 main a[href="/account/forgot-password"], body.hv2 .page-header a[href="/account"] { display: inline-flex; align-items: center; min-height: 44px; padding: 0; margin-block: -12px; }
body.hv2 .cx-items-head { align-items: center; }
/* account card rhythm, phone padding, stats as one hairline list on phones, paper tabs, long emails wrap */
body.hv2 .account-title { font-size: clamp(28px, 1.5rem + 1vw, 32px); line-height: 1.1; margin: 0 0 8px; }
body.hv2 .account-sub { margin: 0 0 28px; }
body.hv2 .account-alt { margin: 24px 0 0; }
body.hv2 .account-stat { border-radius: var(--radius-2, 6px); }
body.hv2 .account-stat .value { color: var(--ink); }
@media (max-width: 800px) {
  body.hv2 .account-stat-row { gap: 0; margin-bottom: 32px; border: var(--hair); border-radius: var(--radius-2, 6px); overflow: hidden; }
  body.hv2 .account-stat { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 14px 16px; border: 0; border-radius: 0; }
  body.hv2 .account-stat + .account-stat { border-top: var(--hair); }
  body.hv2 .account-stat .label { margin: 0; }
  body.hv2 .account-stat .value { font-size: 20px !important; line-height: 1.2; }
  body.hv2 .account-sidebar .account-nav-item { background: var(--paper); border: var(--hair); }
}
@media (max-width: 480px) { body.hv2 .account-card { padding: 28px 20px; } }
body.hv2 .account-header-row p { overflow-wrap: anywhere; }
body.hv2 .partner-perk { border-radius: var(--radius-2, 6px); }
body.hv2 .products-search-input, body.hv2 .products-sort-select { height: 52px !important; min-height: 52px !important; }

/* ===== polish pass: tools (COAs, calculator, compare, research) ===== */
/* /compare cards and the /research filter row keep the page gutter; 44px filter pills */
body.hv2 main section.container[style*="padding: 24px 0"] { padding-inline: var(--gutter) !important; }
body.hv2 main .container[style*="padding: 16px 0"] { padding-inline: var(--gutter) !important; }
body.hv2 main .container[style*="padding: 16px 0"] .cat-pill { min-height: 44px; padding: 0 16px; display: inline-flex; align-items: center; }
/* /calculator on phones: one gutter, tighter card and well so the syringe scale and headline have room */
@media (max-width: 700px) {
  body.hv2 .calc-wrapper { padding: 24px var(--gutter) 40px !important; }
  body.hv2 .calc-card { padding: 20px !important; }
  body.hv2 .calc-result { padding: 28px 16px !important; margin-top: 24px; }
  body.hv2 .calc-result h2 { font-size: 34px; }
}
/* /calculator result well: flat brass fill, no navy track, no blur, palette grey, no emoji; one control height; readable disclaimer */
body.hv2 .calc-scale { background: rgba(244,241,234,.08) !important; border-radius: var(--radius-1, 2px) !important; }
body.hv2 .calc-fill-bar { background: rgba(176,141,62,.35) !important; }
body.hv2 .calc-fill-bar::after { filter: none !important; }
body.hv2 .calc-details { color: var(--on-dark-2) !important; }
body.hv2 .calc-copy-ico { display: none !important; }
body.hv2 .calc-input-box input, body.hv2 .calc-input-box select { height: 52px; min-height: 52px; padding: 0 16px; line-height: normal; }
body.hv2 .calc-disclaimer { color: var(--ink-3) !important; }
/* /calculator rail: 44px hit areas on the product and bundle links without changing their visual size */
body.hv2 .calc-item-n, body.hv2 .calc-rec-name { display: inline-block; padding-block: 12px; margin-block: -12px; }
body.hv2 .calc-rec-row { align-items: center; }
/* /compare and /research heroes share the page-header rhythm and type scale */
body.hv2 .page-hero { padding: clamp(40px, 6vw, 72px) 0 clamp(28px, 4vw, 44px) !important; }
body.hv2 .page-hero h1 { font-size: var(--fs-1) !important; line-height: 1.05 !important; margin-top: 12px !important; }
body.hv2 .page-hero p { font-size: var(--fs-lead) !important; margin-top: 16px !important; }
/* /research: the article column never exceeds the container */
body.hv2 main div[style*="minmax(340px"] { grid-template-columns: repeat(auto-fill, minmax(min(340px, 100%), 1fr)) !important; }
/* balanced two-line titles: no hyphen orphans in product and comparison names; COA numbers and names in the display face */
body.hv2 .coa-product, body.hv2 .compare-card-title, body.hv2 main article h2 { text-wrap: balance; }
body.hv2 .coa-purity-num { font-family: var(--font-display); font-weight: 600; letter-spacing: -.02em; font-variation-settings: "opsz" 144; }
body.hv2 .coa-purity-pct { font-weight: 500; }
body.hv2 .coa-product { font-family: var(--font-display); font-weight: 500; letter-spacing: -.01em; line-height: 1.2; }
/* /track: the classic dark card redefined --ink-mute as near-white; on the paper card muted copy is ink-3 and the sign-in link brass */
body.hv2 main .admin-card { --ink-mute: var(--ink-3); }
body.hv2 main .admin-card a[style*="#2563eb"] { color: var(--brass) !important; }
/* /contact: the "email for a faster response" note in palette grey instead of red */
body.hv2 main [style*="color: #c44"] { color: var(--ink-3) !important; }
body.hv2 main .admin-card [style*="ink-mute"] { color: var(--ink-3) !important; }
body.hv2 main .admin-card div[style*="paper-2"] div { color: var(--ink-2) !important; }
/* tools, desktop findings: readable active filter pill, comparison card type and pinned CTA, COA grid on the container, calculator block
   aligned with the page edges, centred disclaimer, balanced hero title, visible research placeholder initial, no card lift, radii, tick labels */
body.hv2 .cat-pill.active, body.hv2 .cat-pill.active * { color: var(--on-dark) !important; }
body.hv2 .cat-pill:hover { border-color: var(--ink); }
body.hv2 .compare-card-title { font-size: clamp(20px, 1.1rem + .5vw, 24px); line-height: 1.25; letter-spacing: -.01em; margin: 0 0 10px; }
body.hv2 .compare-card { display: flex; flex-direction: column; }
body.hv2 .compare-card-desc { margin: 0 0 16px; }
body.hv2 .compare-card-cta { margin-top: auto; }
@media (min-width: 1024px) {
  body.hv2 .coa-grid { max-width: none; grid-template-columns: repeat(3, 1fr); gap: 24px; }
  body.hv2 .coa-card { padding: 32px; }
}
body.hv2 .calc-wrapper { max-width: var(--container); padding: 40px var(--gutter) 60px; }
body.hv2 .calc-disclaimer { margin: 0 auto; padding: 0 var(--gutter) 48px; }
body.hv2 .page-hero div[style*="max-width: 760px"] { max-width: 900px !important; }
body.hv2 .page-hero h1 { text-wrap: balance; }
body.hv2 main article div[style*="aspect-ratio"] > span { opacity: 1 !important; color: var(--ink-4) !important; font-size: 96px !important; line-height: 1; font-variation-settings: "opsz" 144; }
body.hv2 .coa-card:hover, body.hv2 .compare-card:hover { transform: none; border-color: var(--ink); }
body.hv2 .calc-copy, body.hv2 .calc-browse, body.hv2 .calc-add, body.hv2 .calc-rec-add, body.hv2 .calc-rec-row, body.hv2 .calc-trust-i { border-radius: var(--radius-1, 2px); }
body.hv2 .calc-tick-label { color: rgba(244,241,234,.6) !important; }
body.hv2 .coa-view-btn { min-height: 48px; padding: 0 22px; font-size: var(--fs-body); font-weight: 600; letter-spacing: .01em; }
body.hv2 main article a:hover h2 { color: var(--brass); }

/* ===== polish pass: info pages (about, contact, affiliate programme, track, bulk orders, policy pages) ===== */
/* /track: hairline back under the form, 44px sign-in link */
body.hv2 main .admin-card [style*="border-top: 1px solid var(--line)"] { border-top-color: var(--line) !important; }
body.hv2 main .admin-card a[style*="2563eb"] { display: inline-block; padding: 12px 6px; margin: -12px -6px; }
/* /affiliate-program: outline button legible inside the dark closing panel; brass step chips; no glow on the eyebrow dot; visible link slab */
body.hv2 .ppx-close-panel .btn-secondary { color: var(--on-dark) !important; border-color: rgba(244,241,234,.45) !important; }
body.hv2 .ppx-close-panel .btn-secondary:hover { background: var(--paper) !important; color: var(--ink) !important; border-color: var(--paper) !important; }
body.hv2 .ppx-chip { background: rgba(176,141,62,.14) !important; border: 1px solid rgba(176,141,62,.4) !important; color: var(--brass) !important; border-radius: var(--radius-1, 2px) !important; }
body.hv2 .ppx-dot { box-shadow: none !important; }
body.hv2 .ppx-pill { background: var(--paper-2) !important; border: var(--hair) !important; border-radius: var(--radius-1, 2px) !important; }
/* /page/*: reading rhythm of CMS content (the v2 h2/h3/p margin resets must not flatten it) */
body.hv2 .rich-content p { margin: 0 0 1em; }
body.hv2 .rich-content h2, body.hv2 .rich-content h3, body.hv2 .rich-content h4 { margin: 1.6em 0 .6em; line-height: 1.2; }
body.hv2 .rich-content h2 { font-size: 1.5em; }
body.hv2 .rich-content h3 { font-size: 1.25em; }
body.hv2 .rich-content h4 { font-size: 1.1em; }
body.hv2 .rich-content > :first-child { margin-top: 0; }
/* /contact + /about Reach Us: 44px hit areas on the sms/mailto links without moving the layout */
body.hv2 main ul[style*="gap: 18px"] li > a { display: inline-block; padding: 12px 0; margin: -12px 0; text-decoration: underline; text-underline-offset: 3px; }
/* /bulk-orders (any .admin-card with a heading): room under the card title; textareas keep their classic minimum */
body.hv2 main .admin-card > h2 { margin: 0 0 20px; }
body.hv2 .form-row textarea { min-height: 120px; }
/* /about: cards on paper with the two system radii; stat figures at 600 */
body.hv2 main div[style*="background: white"] { background: var(--paper) !important; border: var(--hair) !important; border-radius: var(--radius-2, 6px) !important; }
body.hv2 main a[style*="background: white"] { background: var(--paper) !important; border-radius: var(--radius-1, 2px) !important; }
body.hv2 main div[style*="font-size: 36px"] { font-weight: 600 !important; }
/* FAQ (contact + about): tighter rhythm on phones, ink questions, 44px calculator CTA in the 2px radius */
@media (max-width: 639.98px) {
  body.hv2 .faq-item summary { padding: 20px 0; font-size: 18px; }
  body.hv2 .faq-item p { padding-bottom: 20px; }
}
body.hv2 .faq-item summary { color: var(--ink); }
body.hv2 .faq-item p a[style*="background: var(--ink)"] { display: inline-flex !important; align-items: center; min-height: 44px; border-radius: var(--radius-1, 2px) !important; }
/* /products: cards are visible at once (no reveal-on-scroll fade), like the homepage grid */
body.hv2 .product-card[data-rv] { opacity: 1 !important; transform: none !important; transition: none !important; }
/* info pages, desktop findings: visible contact fields, affiliate FAQ measure, about values 3+3, brass eyebrows where --accent-strong was
   undefined, policy column under its title, card-scale bulk-quote heading, one h1 scale, no hover lift, 404 links 3+2, CMS spacer lines */
body.hv2 .two-col-page-grid.contact-variant .form-row input, body.hv2 .two-col-page-grid.contact-variant .form-row textarea { border-color: var(--ink-4, #8A8E94); }
body.hv2 .two-col-page-grid.contact-variant .form-row input:hover, body.hv2 .two-col-page-grid.contact-variant .form-row textarea:hover { border-color: var(--ink-3); }
body.hv2 .ppx-faq details { max-width: 760px; }
@media (min-width: 900px) { body.hv2 main section[style*="paper-2"] > .container > div[style*="minmax(280px"] { grid-template-columns: repeat(3, 1fr) !important; } }
body.hv2 main [style*="--accent-strong"] { color: var(--brass) !important; letter-spacing: var(--track-caps) !important; font-weight: 500; }
body.hv2 .page-header + section > .container[style*="max-width: 760px"] { margin-left: 0 !important; }
body.hv2 main .admin-card > h2 { font-size: clamp(24px, 1.25rem + .5vw, 28px); line-height: 1.2; margin: 0 0 24px; }
body.hv2 main h1[style*="clamp("] { font-size: var(--fs-1) !important; line-height: 1.05 !important; }
body.hv2 .ppb-stat:hover, body.hv2 main .admin-card .btn:hover { transform: none !important; }
body.hv2 main .container[style*="text-align: center"] [style*="gap: 28px"] { max-width: 520px; margin-inline: auto; gap: 4px 24px; }
body.hv2 .rich-content p:has(> br:only-child) { display: none; }
/* /about: the three stat tiles share one row from tablet width up (2 + 1 on phones) */
@media (min-width: 640px) { body.hv2 main div[style*="grid-template-columns: 1fr 1fr"]:has(> div > div[style*="font-size: 36px"]) { grid-template-columns: repeat(3, 1fr) !important; } }

/* ===== polish pass: cross-page consistency and accessibility (global reviewer) ===== */
/* focus rings: brass on paper (5:1), brass-2 inside dark surfaces (5.2:1 on ink) */
body.hv2 .hv2-sale :focus-visible, body.hv2 .hv2-ruo :focus-visible, body.hv2 .cart-summary :focus-visible, body.hv2 .cx-stickybar :focus-visible, body.hv2 .calc-result :focus-visible, body.hv2 .calc-shop :focus-visible, body.hv2 .ppb-panel :focus-visible, body.hv2 .ppx-receipt :focus-visible, body.hv2 .ppx-close-panel :focus-visible, body.hv2 .partner-claim :focus-visible { outline-color: var(--brass-2); }
/* one section rhythm on every page (83px desktop, 48px phone, like the homepage) */
body.hv2 main section[style*="padding: 60px 0"], body.hv2 main section[style*="padding: 80px 0"], body.hv2 main section[style*="padding: 100px 0 80px"], body.hv2 main section[style*="padding: 80px 0 100px"] { padding-block: var(--section) !important; }
/* AA contrast: affiliate step chips on paper; struck-through price on the selected (ink) variant card */
body.hv2 .ppx-chip { background: var(--paper) !important; border-color: var(--brass-2) !important; }
body.hv2 .variant-option input:checked + .variant-card s { color: var(--on-dark-2) !important; }
/* 44px hit areas: product breadcrumbs and the complete-your-order product link */
body.hv2 .breadcrumbs li a { display: inline-block; padding: 15px 4px; margin: -15px -4px; }
body.hv2 .breadcrumbs li { display: inline-flex; align-items: center; min-height: 44px; }
body.hv2 .pd-complete-n { display: inline-block; padding: 14px 0; margin: -14px 0; }
/* the last uppercase tracked buttons (calculator rail, complete-your-order) become sentence-case 13px/600 like every other button */
body.hv2 .calc-add, body.hv2 .calc-rec-add, body.hv2 .calc-copy, body.hv2 .calc-browse, body.hv2 .pd-complete-add { text-transform: none !important; letter-spacing: .01em !important; font-size: var(--fs-ui-s) !important; font-weight: 600; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
body.hv2 .pd-complete-add { color: var(--on-dark) !important; }
/* eyebrows and section headings on the shared scale */
body.hv2 .hero-eyebrow, body.hv2 .cx-empty-eyebrow, body.hv2 .compare-card-eyebrow { font-family: var(--font-body); font-weight: 500; letter-spacing: var(--track-caps) !important; color: var(--brass) !important; }
body.hv2 main h2[style*="clamp(28px, 4vw"], body.hv2 .ppx-how h2, body.hv2 .ppx-math h2, body.hv2 .ppx-faq h2, body.hv2 .ppx-close h2 { font-size: var(--fs-2) !important; line-height: 1.1; }
/* /track fields at the site's 52px; the calculator rail footer loses the last gradient */
body.hv2 main .admin-card .form-row input { padding: 12px 14px !important; }
body.hv2 .calc-shop-f { background: transparent !important; background-image: none !important; border-top: 1px solid rgba(244,241,234,.12) !important; }
