/** Shopify CDN: Minification failed

Line 72:0 All "@import" rules must come first

**/
/* Ferrix brand layer. Loaded last so it wins over the inherited Njord styles.
   Tokens and components come from ferrix/brand (source of truth: tokens.json). */
/* Ferrix — generated from tokens.json */
:root {
  --ground: #FFFFFF;
  --surface: #FFFFFF;
  --well: #F2F0EF;
  --line: #E2DDDA;
  --ink: #1C1A1A;
  --ink-muted: #5C5656;
  --iron: #1C1A1A;
  --on-iron: #FFFFFF;
  --on-iron-muted: #B3ABA8;
  --signal: #D62828;
  --signal-hover: #B82020;
  --on-signal: #FFFFFF;
  --oxide: #A63A24;
  --deep-oxide: #5E1A11;
  --on-deep-oxide: #FFFFFF;
  --blush: #F7E3DF;
  --on-blush: #5E1A11;
  --danger: #7A0F0F;
  --danger-soft: #FBE9E7;
  --success: #1E6B52;
  --success-soft: #E3F2EC;
  --link: var(--oxide);
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --radius-xs: 2px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-full: 9999px;
  --font-sans: Manrope, "Helvetica Neue", Arial, sans-serif;
  --font-num: "Manrope", Arial, sans-serif; /* one family sitewide (owner 2026-10-18); numbers use weight 700-800 + tabular-nums */
}
[data-theme=dark] {
  --ground: #242121;
  --surface: #2E2A2A;
  --well: #383333;
  --line: #3A3434;
  --ink: #F2F0EF;
  --ink-muted: #B8B0AD;
  --iron: #1C1A1A;
  --on-iron: #FFFFFF;
  --on-iron-muted: #B3ABA8;
  --signal: #D62828;
  --signal-hover: #B82020;
  --on-signal: #FFFFFF;
  --oxide: #F49580;
  --deep-oxide: #5E1A11;
  --on-deep-oxide: #FFFFFF;
  --blush: #45201A;
  --on-blush: #F7D5CD;
  --danger: #FF9A90;
  --danger-soft: #45201A;
  --success: #74D3B1;
  --success-soft: #163A31;
  --link: var(--oxide);
}

@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap");
body { margin: 0; font-family: var(--font-sans); font-size: 16px; line-height: 26px; background: var(--ground); color: var(--ink); -webkit-font-smoothing: antialiased; }
.fx-pad { padding: var(--space-4); }
.fx-row { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: center; }
.fx-stack { display: flex; flex-direction: column; gap: var(--space-3); }
.fx-muted { color: var(--ink-muted); }
.fx-num { font-family: var(--font-num); font-variant-numeric: tabular-nums; }
.fx-label { font-size: 12px; line-height: 16px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.fx-eyebrow { font-size: 12px; line-height: 16px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--oxide); }
.fx-h1 { font-size: 30px; line-height: 36px; font-weight: 800; letter-spacing: -.01em; margin: 0; text-wrap: balance; }
.fx-h2 { font-size: 24px; line-height: 30px; font-weight: 800; letter-spacing: -.01em; margin: 0; text-wrap: balance; }
.fx-h3 { font-size: 18px; line-height: 24px; font-weight: 700; margin: 0; }
.fx-display { font-size: 40px; line-height: 44px; font-weight: 800; letter-spacing: -.015em; margin: 0; text-wrap: balance; }
.fx-small { font-size: 14px; line-height: 20px; font-weight: 500; }
.fx-ic { flex: none; }
.fx-stars { color: var(--ink); letter-spacing: 1px; font-size: 15px; }
/* Button */
.fx-btn { font: inherit; font-size: 16px; line-height: 20px; font-weight: 700; min-height: 52px; padding: 0 var(--space-5); border-radius: var(--radius-sm); border: 2px solid transparent; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); text-decoration: none; }
.fx-btn:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.fx-btn-primary { background: var(--signal); color: var(--on-signal); }
.fx-btn-primary:hover, .fx-btn-primary.is-hover { background: var(--signal-hover); }
.fx-btn-secondary { background: var(--iron); color: var(--on-iron); }
.fx-btn-outline { background: transparent; color: var(--ink); border-color: var(--ink); }
.fx-btn-sm { min-height: 40px; padding: 0 var(--space-4); font-size: 15px; }
.fx-btn[disabled] { background: var(--well); color: var(--ink-muted); border-color: transparent; cursor: not-allowed; }
.fx-btn-block { width: 100%; }
.fx-link { color: var(--link); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
/* Badge */
.fx-badge { display: inline-flex; align-items: center; height: 24px; padding: 0 var(--space-2); border-radius: var(--radius-xs); font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.fx-badge-signal { background: var(--signal); color: var(--on-signal); }
.fx-badge-iron { background: var(--iron); color: var(--on-iron); }
.fx-badge-deep { background: var(--deep-oxide); color: var(--on-deep-oxide); }
.fx-badge-stock { background: var(--success-soft); color: var(--success); }
/* Announcement */
.fx-announce { background: var(--signal); color: var(--on-signal); text-align: center; padding: var(--space-2) var(--space-4); font-size: 12px; line-height: 16px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.fx-announce-deep { background: var(--deep-oxide); color: var(--on-deep-oxide); }
/* Header / footer */
.fx-header { background: var(--iron); color: var(--on-iron); display: grid; grid-template-columns: 40px 1fr 40px; align-items: center; padding: var(--space-3) var(--space-4); }
.fx-header img { height: 26px; display: block; justify-self: center; }
.fx-header-btn { background: none; border: 0; color: var(--on-iron); padding: 8px; position: relative; cursor: pointer; justify-self: start; }
.fx-header-btn:last-child { justify-self: end; }
.fx-header-btn:focus-visible { outline: none; box-shadow: var(--focus-ring); border-radius: var(--radius-sm); }
.fx-cart-count { position: absolute; top: 0; right: -2px; min-width: 18px; height: 18px; border-radius: var(--radius-full); background: var(--signal); color: var(--on-signal); font: 700 11px/18px var(--font-num); text-align: center; }
.fx-footer { background: var(--iron); color: var(--on-iron-muted); padding: var(--space-6) var(--space-4); display: grid; gap: var(--space-5); grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); font-size: 14px; line-height: 20px; }
.fx-footer h4 { margin: 0 0 var(--space-2); color: var(--on-iron); font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.fx-footer a { color: var(--on-iron-muted); text-decoration: none; display: block; padding: 3px 0; }
/* Price */
.fx-price { display: flex; align-items: center; gap: var(--space-3); font-family: var(--font-num); font-variant-numeric: tabular-nums; }
.fx-price-stack { display: flex; flex-direction: column; padding-right: var(--space-3); border-right: 1px solid var(--line); }
.fx-price-was { font-size: 16px; line-height: 20px; color: var(--ink-muted); text-decoration: line-through; font-weight: 500; }
.fx-price-save { font-size: 16px; line-height: 20px; color: var(--oxide); font-weight: 700; }
.fx-price-now { font-size: 34px; line-height: 36px; font-weight: 700; color: var(--ink); }
.fx-price-now.is-sm { font-size: 22px; line-height: 26px; }
/* Chips / spec table */
.fx-chip { display: inline-flex; align-items: center; gap: var(--space-1); height: 30px; padding: 0 var(--space-2); border: 1px solid var(--line); border-radius: var(--radius-xs); background: var(--surface); color: var(--ink); font: 600 13px/18px var(--font-num); letter-spacing: .04em; text-transform: uppercase; }
.fx-spec-table { width: 100%; max-width: 520px; border-collapse: collapse; font-size: 15px; }
.fx-spec-table th, .fx-spec-table td { text-align: left; padding: var(--space-3) 0; border-bottom: 1px solid var(--line); vertical-align: top; }
.fx-spec-table th { font-weight: 600; color: var(--ink-muted); width: 44%; }
.fx-spec-table td { font: 600 15px/22px var(--font-num); letter-spacing: .02em; }
/* Benefit list / stock / rating */
.fx-benefits { list-style: none; margin: 0; padding: var(--space-4) 0; display: flex; flex-direction: column; gap: var(--space-3); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.fx-benefits li { display: flex; gap: var(--space-3); align-items: center; font-size: 17px; line-height: 24px; font-weight: 700; }
.fx-stock { display: inline-flex; align-items: center; gap: var(--space-2); font-size: 14px; font-weight: 600; color: var(--ink); }
.fx-stock::before { content: ""; width: 9px; height: 9px; border-radius: var(--radius-full); background: var(--success); }
.fx-stock.is-low::before { background: var(--oxide); }
.fx-rating { display: inline-flex; align-items: center; gap: var(--space-2); font-size: 14px; }
.fx-rating a { color: var(--ink); font: 600 14px/20px var(--font-num); text-decoration: underline; text-underline-offset: 3px; }
/* Guarantee / strip */
.fx-guarantee { background: var(--blush); color: var(--on-blush); border-radius: var(--radius-md); padding: var(--space-3) var(--space-4); display: flex; gap: var(--space-3); align-items: flex-start; font-size: 15px; line-height: 22px; }
.fx-guarantee strong { display: block; font-weight: 800; }
.fx-strip { background: var(--deep-oxide); color: var(--on-deep-oxide); display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-5); justify-content: center; padding: var(--space-3) var(--space-4); font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.fx-strip span { display: inline-flex; gap: var(--space-2); align-items: center; }
/* Alert / toast */
.fx-alert { display: flex; gap: var(--space-2); align-items: flex-start; padding: var(--space-3) var(--space-4); border-radius: var(--radius-sm); font-size: 15px; line-height: 22px; }
.fx-alert-danger { background: var(--danger-soft); color: var(--danger); }
.fx-alert-success { background: var(--success-soft); color: var(--success); }
.fx-alert .fx-ic { margin-top: 1px; }
.fx-toast { display: flex; gap: var(--space-3); align-items: center; background: var(--iron); color: var(--on-iron); border-radius: var(--radius-md); padding: var(--space-3) var(--space-4); box-shadow: var(--shadow-card); max-width: 380px; font-size: 15px; }
.fx-toast a { color: var(--on-iron); font-weight: 800; margin-left: auto; }
/* Form */
.fx-field { display: flex; flex-direction: column; gap: var(--space-1); max-width: 380px; }
.fx-field label { font-size: 14px; font-weight: 700; }
.fx-input { font: inherit; font-size: 16px; height: 48px; padding: 0 var(--space-3); border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); color: var(--ink); }
.fx-input:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.fx-input.is-error { border: 2px solid var(--danger); }
.fx-help { font-size: 13px; color: var(--ink-muted); }
.fx-help-error { font-size: 13px; color: var(--danger); font-weight: 700; }
.fx-stepper { display: inline-flex; align-items: center; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); height: 44px; }
.fx-stepper button { width: 44px; height: 42px; border: 0; background: none; color: var(--ink); cursor: pointer; display: grid; place-items: center; }
.fx-stepper button:focus-visible { outline: none; box-shadow: var(--focus-ring); border-radius: var(--radius-sm); }
.fx-stepper output { min-width: 32px; text-align: center; font: 700 16px/20px var(--font-num); }
/* Swatch */
.fx-swatches { display: flex; gap: var(--space-3); }
.fx-swatch { width: 40px; height: 40px; border-radius: var(--radius-full); border: 3px solid var(--surface); padding: 0; cursor: pointer; box-shadow: 0 0 0 1px var(--line); }
.fx-swatch.is-on { box-shadow: 0 0 0 2px var(--ink); }
.fx-swatch:focus-visible { outline: none; box-shadow: var(--focus-ring); }
/* Gallery */
.fx-gallery { background: var(--surface); display: flex; flex-direction: column; align-items: center; gap: var(--space-4); padding: var(--space-6) var(--space-4) var(--space-4); }
.fx-dots { display: flex; gap: 8px; }
.fx-dots i { width: 7px; height: 7px; border-radius: var(--radius-full); background: var(--line); }
.fx-dots i.is-on { background: var(--ink); }
/* Cards */
.fx-card { background: var(--surface); border-radius: var(--radius-md); overflow: hidden; display: flex; flex-direction: column; max-width: 300px; }
.fx-well { background: var(--well); aspect-ratio: 1 / 1; position: relative; display: grid; place-items: center; max-width: 100%; }
.fx-well .fx-badge { position: absolute; top: var(--space-3); left: var(--space-3); }
.fx-card-body { padding: var(--space-4); display: flex; flex-direction: column; gap: var(--space-2); }
.fx-review { background: var(--surface); border-radius: var(--radius-md); padding: var(--space-4); display: flex; flex-direction: column; gap: var(--space-2); max-width: 420px; }
.fx-review p { margin: 0; }
.fx-review-meta { font-size: 13px; color: var(--ink-muted); display: flex; gap: var(--space-2); align-items: center; flex-wrap: wrap; }
.fx-verified { color: var(--success); font-weight: 700; display: inline-flex; gap: 4px; align-items: center; }
/* Bundle selector */
.fx-offers { display: flex; flex-direction: column; gap: var(--space-3); max-width: 460px; }
.fx-offer { position: relative; display: grid; grid-template-columns: 22px 1fr auto; gap: var(--space-3); align-items: center; padding: var(--space-4); border: 2px solid var(--line); border-radius: var(--radius-md); background: var(--surface); cursor: pointer; }
.fx-offer.is-on { border-color: var(--ink); }
.fx-offer input { width: 20px; height: 20px; accent-color: var(--ink); margin: 0; }
.fx-offer .fx-badge { position: absolute; top: -12px; right: var(--space-4); }
.fx-offer-title { font-weight: 800; font-size: 16px; line-height: 22px; }
.fx-offer-sub { font-size: 13px; line-height: 18px; color: var(--ink-muted); }
.fx-offer-price { text-align: right; font-family: var(--font-num); font-variant-numeric: tabular-nums; }
.fx-offer-price b { display: block; font-size: 20px; line-height: 24px; }
.fx-offer-price s { font-size: 14px; color: var(--ink-muted); }
/* Sticky ATC */
.fx-sticky { display: flex; align-items: center; gap: var(--space-3); background: var(--surface); padding: var(--space-3) var(--space-4); box-shadow: var(--shadow-card); border-top: 1px solid var(--line); }
.fx-sticky-info { min-width: 0; flex: 1; }
.fx-sticky-info b { display: block; font-size: 14px; line-height: 18px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fx-sticky-info span { font: 700 16px/20px var(--font-num); }
/* Cart */
.fx-progress { display: flex; flex-direction: column; gap: var(--space-2); }
.fx-progress-msg { font-size: 14px; font-weight: 600; }
.fx-progress-msg b { font-family: var(--font-num); }
.fx-bar { position: relative; height: 8px; background: var(--well); border-radius: var(--radius-full); }
.fx-bar i { position: absolute; inset: 0 auto 0 0; background: var(--signal); border-radius: var(--radius-full); }
.fx-tiers { display: grid; grid-template-columns: repeat(3, 1fr); font-size: 12px; line-height: 16px; color: var(--ink-muted); font-weight: 600; }
.fx-tiers span { text-align: center; }
.fx-tiers span.is-on { color: var(--ink); font-weight: 800; }
.fx-line { display: grid; grid-template-columns: 72px 1fr auto; gap: var(--space-3); align-items: start; padding: var(--space-3) 0; border-bottom: 1px solid var(--line); }
.fx-line .fx-thumb { width: 72px; height: 72px; background: var(--well); border-radius: var(--radius-sm); display: grid; place-items: center; }
.fx-line b { font-size: 15px; line-height: 20px; }
.fx-line .fx-num { font-weight: 700; }
.fx-upsell { display: grid; grid-template-columns: 56px 1fr auto; gap: var(--space-3); align-items: center; padding: var(--space-3); background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-md); max-width: 420px; }
.fx-upsell .fx-thumb { width: 56px; height: 56px; background: var(--well); border-radius: var(--radius-sm); display: grid; place-items: center; }
/* FAQ */
.fx-faq { max-width: 560px; border-top: 1px solid var(--line); }
.fx-faq details { border-bottom: 1px solid var(--line); }
.fx-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: var(--space-3); padding: var(--space-4) 0; font-weight: 700; font-size: 16px; }
.fx-faq summary::-webkit-details-marker { display: none; }
.fx-faq summary:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.fx-faq details[open] summary .fx-ic { transform: rotate(180deg); }
.fx-faq p { margin: 0 0 var(--space-4); color: var(--ink-muted); }
/* Compare */
.fx-compare-wrap { overflow-x: auto; max-width: 100%; }
.fx-compare { border-collapse: separate; border-spacing: 0; min-width: 420px; width: 100%; font-size: 15px; }
.fx-compare th, .fx-compare td { padding: var(--space-3); text-align: center; border-bottom: 1px solid var(--line); }
.fx-compare th:first-child, .fx-compare td:first-child { text-align: left; font-weight: 600; }
.fx-compare thead th { font-size: 13px; font-weight: 800; }
.fx-compare .is-us { background: var(--iron); color: var(--on-iron); }
.fx-compare thead .is-us { border-radius: var(--radius-md) var(--radius-md) 0 0; }
.fx-compare td.is-us { font-family: var(--font-num); font-weight: 700; }
.fx-yes { color: var(--success); }
.fx-no { color: var(--ink-muted); }
/* Section / feature / stat */
.fx-section-head { display: flex; flex-direction: column; gap: var(--space-2); max-width: 560px; }
.fx-feature { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--space-5); align-items: center; }
.fx-feature-media { background: var(--iron); border-radius: var(--radius-md); aspect-ratio: 4 / 3; display: grid; place-items: center; max-width: 100%; }
.fx-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: var(--space-4); }
.fx-stat { border-top: 3px solid var(--signal); padding-top: var(--space-3); }
.fx-stat b { display: block; font: 700 44px/44px var(--font-num); }
.fx-stat span { font-size: 14px; color: var(--ink-muted); font-weight: 600; }
/* Email capture */
.fx-capture { background: var(--iron); color: var(--on-iron); border-radius: var(--radius-md); padding: var(--space-6) var(--space-5); display: flex; flex-direction: column; gap: var(--space-3); max-width: 440px; }
.fx-capture p { margin: 0; color: var(--on-iron-muted); }
.fx-capture form { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.fx-capture .fx-input { flex: 1 1 200px; border-color: transparent; }
.fx-fine { font-size: 12px; line-height: 16px; color: var(--on-iron-muted); }
/* Tabs */
.fx-tabs { display: flex; gap: var(--space-5); border-bottom: 1px solid var(--line); }
.fx-tab { background: none; border: 0; padding: var(--space-3) 0; font: inherit; font-weight: 700; color: var(--ink-muted); cursor: pointer; box-shadow: inset 0 -3px 0 transparent; }
.fx-tab.is-on { color: var(--ink); box-shadow: inset 0 -3px 0 var(--signal); }
.fx-tab:focus-visible { outline: none; box-shadow: var(--focus-ring); }
/* Pay later */
.fx-paylater { font-size: 14px; color: var(--ink-muted); }
.fx-paylater b { color: var(--ink); font-family: var(--font-num); }
/* Email header */
.fx-email { background: var(--surface); max-width: 600px; border-radius: var(--radius-md); overflow: hidden; }
.fx-email-head { background: var(--iron); padding: var(--space-5); display: flex; justify-content: center; }
.fx-email-body { padding: var(--space-6) var(--space-5); display: flex; flex-direction: column; gap: var(--space-3); }
.fx-email-body p { margin: 0; }
.fx-email-sign { font-weight: 700; }

/* ---- Theme overrides ---- */
:root {
  --typeHeaderPrimary: Manrope;
  --typeHeaderFallback: "Helvetica Neue", Arial, sans-serif;
  --typeHeaderWeight: 800;
  --typeBasePrimary: Manrope;
  --typeBaseFallback: "Helvetica Neue", Arial, sans-serif;
  --typeBaseWeight: 400;
}
body, input, select, textarea, button { font-family: var(--font-sans); }
h1, h2, h3, h4, .h1, .h2, .h3, .h4, .section-header__title {
  font-family: var(--font-sans); font-weight: 800; letter-spacing: -0.01em;
}
.btn, .button, button[type="submit"], .add-to-cart { font-family: var(--font-sans); font-weight: 700; text-transform: none; }
/* Numbers only: prices, compare-at prices, cart totals */
.price, .product__price, .product__price--compare, .grid-product__price, .cart__price,
.cart__subtotal, [data-product-price], [data-compare-price], [data-subtotal] {
  font-family: var(--font-num); font-variant-numeric: tabular-nums;
}
.product__price--compare, s.price, .grid-product__price--original { color: var(--ink-muted); }
a { color: inherit; }
.rte a, .rte-setting a { color: var(--link); }
:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
/* ---- Ferrix shell: machined radii + flat elevation (generated by scratchpad harvest; overrides inherited Njord section styles) ---- */
html .battery-fill,
html .battery-track,
html .rev-bar-fill,
html .rev-bar-track { border-radius: 0 !important; }
html #AB-004-videos,
html .abb .abb-line-thumb,
html .abb .abb-pill,
html .abb .abb-thumb,
html .abb .abb-wmb-unbox img,
html .article__body figure img,
html .cmp-cta-btn,
html .danger-pill,
html .gift-cd-cell,
html .gift-deadline,
html .gift-prod-thumb,
html .gift-sticky-cta-wrap .gift-sticky-cta,
html .njd__chips li,
html .njd__code-btn,
html .njd__cta,
html .njord-article-image img,
html .njord-author-card .njord-author-card__topics li,
html .njord-cart-empty__feature-badge,
html .njord-cart-empty__feature-cta,
html .njord-cart-page__notes-input,
html .platform-badge,
html .proof-btn,
html .rev-card-thumbs img,
html .rev-filter,
html .stress-cert-pass,
html .thumb,
html .thumb video,
html .thumb-vid-ph,
html .variant-tag,
html .variant-tag-corner,
html a.quiz__btn,
html div#alia-root button#alia-kwb9dogxhbuqd1ye { border-radius: var(--radius-xs) !important; }
html #AB-025-cart_upsell .AB-025-included_prod,
html #AB-025-cart_upsell .AB-025-upsell_badge,
html #AB-025-upgrade-msg,
html #AB-026-banner img,
html #CartDrawer .njord-bundle__save,
html #CartDrawer .njord-bundle__social,
html #CartDrawer .njord-bundle__tile,
html #shopify-section-X .gift-content-media img,
html #shopify-section-X .gift-content-media video,
html #shopify-section-X .gift-feat,
html #shopify-section-X .gift-guarantee,
html #shopify-section-X .gift-hero-media img,
html #shopify-section-X .gift-hero-media video,
html #shopify-section-X .gift-hero-overlay,
html #shopify-section-X .gift-stat,
html #shopify-section-X .gift-story-img,
html #shopify-section-X .gift-table,
html #shopify-section-X .gift-vs-col,
html .abb .abb-c1,
html .abb .abb-tile-img,
html .abb .abb-wmb-unbox,
html .apex-bandle-badge,
html .apex-bandle-card.swiper-slide,
html .apex-bandle-content,
html .base-bandle-badge,
html .base-bandle-card.swiper-slide,
html .base-bandle-content,
html .base-card,
html .base-card-cta,
html .bbr-slide,
html .bottom-menu-content-box,
html .bottom-menu-content-main-box-card,
html .bundling-variant-layout-block  .badge-text-element.badge-text-element-1,
html .bundling-variant-layout-block  .badge-text-element.badge-text-element-2,
html .buy-box,
html .buy-cta,
html .care-checkbox-row,
html .collapsible-content__inner.collapsible-content__inner--faq.rte img,
html .compare-base-best,
html .comparison .eg-review-slider-container,
html .comparison-item,
html .comparison-item:nth-last-child(1) .comparison-block:nth-child(2),
html .comparison-main-block:nth-child(2),
html .custom-review-carousel-main .slick-slide,
html .custom-review-carousel-main .swiper-slide,
html .custom__review-wrap,
html .custom_video_slider-11 .video-slide,
html .custom_video_slider-11 .video-views,
html .eg-video-popup .eg-popup-content .eg-video video,
html .electro-cross-section,
html .esc-icon-wrap,
html .faq-cta-band,
html .faq-cta-btn,
html .faq-img,
html .faq-list,
html .featured-collection-new-section .fcn-image-mask,
html .g-acc,
html .gallery-main,
html .gift-byline-verified,
html .gift-prod-alert,
html .gift-prod-badge,
html .gift-prod-card,
html .gift-proof,
html .gift-slider,
html .giftcard__wrap img,
html .hero-gbar,
html .hero-gmodal-box,
html .icon--inventory:after,
html .icon--inventory:before,
html .inbox-card,
html .inbox-card-img,
html .latest-reviews-wrapper-element .review-card,
html .mb-custom-banner-container .mb-custom-banner .mb-custom-banner-video-block,
html .mb-custom-multicolumn-container .mb-custom-multicolumn-footer-info .mb-cmf-card,
html .money-back-popup,
html .new-collection-template-design .grid-product__image-mask:after,
html .new-megamenu-left-area-items .bottom-menu-content-main-card,
html .new-megamenu-right-area .new-megamenu-right-area-inner .bottom-menu-content-box,
html .njd__card,
html .njord-author-card,
html .njord-cart-empty__feature,
html .njord-cart-empty__feature-img-wrap,
html .njord-cart-page__card,
html .njord-ci--gift .njord-ci__img,
html .njord-trust-review,
html .nomad-bandle-badge,
html .nomad-bandle-card.swiper-slide,
html .nomad-bandle-content,
html .pdp-additional-images-carousel-section-element .pdp-additional-images-carousel .pdp-additional-images-carousel-slide.slick-slide:not(first-child),
html .product__price-savings,
html .qspec-card,
html .quiz-cta-btn,
html .rev-card,
html .rev-card-media,
html .rev-card-photo,
html .rev-card-vid,
html .rev-card-video,
html .rev-gi,
html .rev-lb-stage .rev-lbvid,
html .rev-lb-stage img,
html .rev-load-btn,
html .rev-sort,
html .rev-summary,
html .review-card-float,
html .safety-media,
html .satc-btn,
html .single-image-banner-custom-design .single-banner-image,
html .single-image-banner-custom-design .single-banner-image-inner,
html .single-image-banner-custom-design .single-banner-image-inner img,
html .split-img-wrap,
html .stress-btn,
html .stress-success,
html .stress-watch,
html .two-image-multicolumn-block-inner .two-multicolumn-inner-content,
html .two-image-multicolumn-block-inner .two-multicolumn-inner-content img,
html .ugc-card,
html .ugc-thumb,
html .ultra-bandle-badge,
html .ultra-bandle-card.swiper-slide,
html .ultra-bandle-content,
html .usp-list,
html .variant-card,
html .video-reels-section .vr-card,
html .video-reels-section .vr-slide:not(.slick-current) .vr-card::after,
html .video-reels-section .vr-slider-btns,
html .vr-popup .vr-card,
html .vr-popup-mobile-controls,
html .with-left-area-content.without-right-area-content .product-featured-image,
html section.video-section.custom_video_section .video-carousel .swiper-wrapper .swiper-slide .video-slide { border-radius: var(--radius-sm) !important; }
html .disclosure-list,
html .drawer,
html .dynamic-drawer-menu-accordion .accordion-content,
html .g-arrow,
html .gift-sticky-cta-wrap .gift-sticky-cta,
html .hero .flickity-button,
html .modal--square .modal__inner,
html .predictive-results,
html .satc-bar,
html .site-header__search,
html .site-nav__deep-dropdown,
html .site-nav__dropdown,
html .sticky-cta-wrapper,
html newsletter-reminder,
html tool-tip[data-tool-tip-open=true] .tool-tip__inner { box-shadow: var(--shadow-card) !important; }
html .btn--secondary.btn--small:focus,
html .btn--secondary.btn--small:focus-visible,
html .btn:focus,
html .btn:focus-visible,
html .button:focus,
html .button:focus-visible,
html .comparison__inner .eg-comparison-btn:focus,
html .comparison__inner .eg-comparison-btn:focus-visible,
html .eg-seeInAction:focus,
html .eg-seeInAction:focus-visible,
html .review-footer a:focus,
html .review-footer a:focus-visible,
html body.AB-039 .grid-product__content .grid-product__price--savings:focus,
html body.AB-039 .grid-product__content .grid-product__price--savings:focus-visible { box-shadow: var(--focus-ring) !important; }
html .base-card.apex-active,
html .comparison .comparison-customized-design-layout.comparison__inner .eg-container .eg-right-container,
html .gift-slider-dots button,
html .giftcard__border,
html .inbox-card:hover,
html .njord-author-card,
html .njord-cart-empty__feature,
html .njord-cart-empty__feature:hover,
html .njord-cart-page__card,
html .per-order-block,
html .promo-grid__container--boxed .promo-grid__content,
html .rev-summary,
html .review-card-float,
html .site-header,
html .testimonials-slide.is-selected .testimonials-slider__text,
html .ugc-play-icon,
html .ugc-play-icon.live { box-shadow: 0 0 0 1px var(--line) !important; }

/* ---- Ferrix shell: the look that separates the store from Njord ----
   Njord: soft 8-32px radii, pill buttons, drop shadows, 1500px canvas.
   Ferrix: machined 2-4px corners, the logo's sheared corner on primary
   buttons and product frames, hairlines instead of shadows, a 1280px grid. */
:root {
  --shadow-card: 0 1px 2px #1c1a1a14, 0 4px 12px #1c1a1a0f;
  --focus-ring: 0 0 0 2px #f2f0ef, 0 0 0 4px #1c1a1a;
  --fx-shear: 12px;
  --fx-shear-clip: polygon(0 0, calc(100% - var(--fx-shear)) 0, 100% var(--fx-shear), 100% 100%, 0 100%);
}
[data-theme=dark] { --shadow-card: 0 2px 8px #00000080; --focus-ring: 0 0 0 2px #242121, 0 0 0 4px #f2f0ef; }
::selection { background: var(--signal); color: var(--on-signal); }

/* Grid: narrower canvas, wider gutters */
.page-width { max-width: 1280px; }
.page-full, .page-width { padding: 0 20px; }
@media only screen and (min-width: 769px) { .page-full, .page-width { padding: 0 48px; } }

/* Buttons: square, sheared top-right corner, tracked caps */
html .btn:not(.btn--secondary):not(.btn--tertiary):not(.btn--circle):not(.js-qty__adjust),
html .add-to-cart, html .shopify-payment-button__button--unbranded, html button.cart__checkout, html .cart__checkout {
  border-radius: var(--radius-xs) !important;
  clip-path: var(--fx-shear-clip);
  letter-spacing: .06em; text-transform: uppercase; font-weight: 800;
  box-shadow: none !important;
}
html .btn--secondary, html .btn--tertiary {
  border-radius: var(--radius-xs) !important; box-shadow: inset 0 0 0 2px var(--ink) !important; border: 0 !important;
  letter-spacing: .04em; text-transform: uppercase; font-weight: 800;
}
html .btn:focus-visible, html .add-to-cart:focus-visible, html .cart__checkout:focus-visible { clip-path: none; box-shadow: var(--focus-ring) !important; }

/* Inputs */
html input[type="text"], html input[type="email"], html input[type="search"], html input[type="tel"], html input[type="password"],
html input[type="number"], html textarea, html select {
  border-radius: var(--radius-xs) !important; border: 1px solid var(--line) !important; box-shadow: none !important;
}
html input:focus-visible, html textarea:focus-visible, html select:focus-visible { border-color: var(--ink) !important; box-shadow: var(--focus-ring) !important; outline: none; }

/* Header: flat iron with a signal rule */
html .site-header { box-shadow: none !important; border-bottom: 2px solid var(--signal); }
html .header-wrapper--sticky .site-header { border-bottom-color: transparent; }
html .site-header.site-header--stuck, html .site-header.is-active { border-bottom-color: var(--signal); }
html .site-nav__link { letter-spacing: .04em; }
html .site-nav__dropdown, html .site-nav__deep-dropdown { border-radius: 0 !important; border-top: 2px solid var(--signal); }

/* Announcement bar + marquee: Manrope 700, tracked, uppercase */
html .announcement-bar, html .announcement-bar * { font-family: var(--font-num) !important; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; }
html .marquee-container-bg, html .marquee-container { background: var(--deep-oxide) !important; color: var(--on-deep-oxide) !important; }
html .marquee-content, html .marquee-content * { font-family: var(--font-num) !important; letter-spacing: .16em; font-weight: 700; color: var(--on-deep-oxide) !important; }

/* Footer: iron with a 4px signal plate on top */
html .site-footer { border-top: 4px solid var(--signal); }
html .site-footer h2, html .site-footer h3, html .site-footer .footer__title { font-family: var(--font-num); letter-spacing: .16em; text-transform: uppercase; font-size: 13px; }

/* Section titles: a short signal bar above, tight tracking */
html .section-header__title::before {
  content: ""; display: block; width: 28px; height: 4px; margin: 0 0 14px; background: var(--signal);
  clip-path: polygon(0 0, 100% 0, calc(100% - 4px) 100%, 0 100%);
}
html .text-center .section-header__title::before, html .section-header.text-center .section-header__title::before,
html .section-header--center .section-header__title::before { margin-left: auto; margin-right: auto; }

/* Product cards: hairline frame on a warm-ash well, sheared top-right */
html .grid-product__image-mask, html .grid-product__image-wrap, html .product__photo, html .product-single__photo {
  border-radius: 0 !important; background-color: var(--well);
}
html .grid-product__image-mask, html .grid-product__image-wrap { clip-path: var(--fx-shear-clip); }
html .grid-product__content { border-radius: 0 !important; box-shadow: none !important; }
html .grid-product__title { font-weight: 800; letter-spacing: -.005em; }
html .grid-product__tag, html .grid-product__tag--sale { border-radius: var(--radius-xs) !important; font-family: var(--font-num); letter-spacing: .12em; text-transform: uppercase; }

/* Images and media frames */
html .image-wrap, html .video-wrapper, html .rte img { border-radius: var(--radius-xs); }

/* Accordions / collapsibles: hairlines, square markers */
html .collapsible-trigger, html .collapsible-trigger-btn { letter-spacing: -.005em; }
html .collapsible-content__inner { border-left: 2px solid var(--signal); padding-left: 16px; }

/* Drawers and modals: one elevation, no rounding */
html .drawer, html .modal__inner, html .predictive-results, html .site-header__search { border-radius: 0 !important; box-shadow: var(--shadow-card) !important; }
html #CartDrawer .drawer__header { border-bottom: 2px solid var(--signal); }

/* Sliders: square indicators */
html .flickity-page-dots .dot, html .slick-dots li button, html .swiper-pagination-bullet { border-radius: 0 !important; }
html .flickity-page-dots .dot.is-selected, html .slick-dots li.slick-active button, html .swiper-pagination-bullet-active { background: var(--signal) !important; width: 22px; }

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