:root {
  --nh-red: #CF1A1C;
  --nh-red-dark: #A91416;
  --nh-red-bright: #E21B23;
  --nh-black: #0B0B0B;
  --nh-charcoal: #232323;
  --nh-graphite: #414141;
  --nh-gray: #727272;
  --nh-line: #D7D7D3;
  --nh-offwhite: #F6F6F3;
  --nh-white: #FFFFFF;

  --nh-font-display: "Barlow Condensed", "Arial Narrow", Arial, sans-serif;
  --nh-font-wordmark: Montserrat, "Arial Black", Arial, sans-serif;
  --nh-font-body: Inter, Arial, Helvetica, sans-serif;
  --nh-font-mono: "Roboto Mono", Consolas, monospace;

  --nh-space-1: 8px;
  --nh-space-2: 16px;
  --nh-space-3: 24px;
  --nh-space-4: 32px;
  --nh-space-5: 48px;
  --nh-space-6: 64px;
  --nh-radius-sm: 4px;
  --nh-radius-pill: 999px;
  --nh-content-max: 1280px;
  --nh-shadow-card: 0 10px 30px rgba(0,0,0,.08);
}

* { box-sizing: border-box; }
html { color-scheme: light; }
body {
  margin: 0;
  background: var(--nh-offwhite);
  color: var(--nh-black);
  font-family: var(--nh-font-body);
  line-height: 1.5;
}
a { color: var(--nh-red); text-decoration-thickness: 2px; text-underline-offset: 3px; }
a:hover { color: var(--nh-red-dark); }
.nh-shell { width: min(calc(100% - 32px), var(--nh-content-max)); margin-inline: auto; }
.nh-top-rule { height: 6px; background: var(--nh-red); }
.nh-header { background: var(--nh-white); border-bottom: 1px solid var(--nh-line); }
.nh-header__inner { min-height: 88px; display:flex; align-items:center; gap:16px; justify-content:space-between; }
.nh-brand { display:flex; align-items:center; gap:12px; color:var(--nh-black); text-decoration:none; }
.nh-brand__logo { width:56px; height:56px; object-fit:contain; }
.nh-brand__wordmark { font: italic 900 28px/1 var(--nh-font-wordmark); letter-spacing:-.04em; }
.nh-brand__wordmark .nh { color:var(--nh-red); }
.nh-brand__tagline { display:block; margin-top:5px; font:700 10px/1 var(--nh-font-body); letter-spacing:.16em; }
.nh-nav { background:var(--nh-black); color:var(--nh-white); }
.nh-nav a { color:var(--nh-white); text-decoration:none; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.nh-nav a:hover,.nh-nav a[aria-current="page"] { color:var(--nh-red-bright); }
.nh-hero { position:relative; overflow:hidden; background:linear-gradient(135deg,var(--nh-white) 0 70%, #ececea 70% 100%); border-bottom:4px solid var(--nh-black); }
.nh-hero::before { content:""; position:absolute; inset:0 auto 0 0; width:8px; background:var(--nh-red); }
.nh-eyebrow { color:var(--nh-red); font:900 13px/1 var(--nh-font-body); letter-spacing:.12em; text-transform:uppercase; }
.nh-display { margin:.2em 0; font:900 clamp(42px,7vw,82px)/.92 var(--nh-font-display); text-transform:uppercase; letter-spacing:-.03em; }
.nh-display .accent { color:var(--nh-red); }
.nh-section-title { display:flex; align-items:center; gap:14px; margin:0 0 24px; font:900 34px/1 var(--nh-font-display); text-transform:uppercase; }
.nh-section-title::after { content:""; height:4px; flex:1; background:linear-gradient(90deg,var(--nh-red) 0 140px,var(--nh-black) 140px 240px,transparent 240px); }
.nh-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:24px; }
.nh-card { background:var(--nh-white); border:1px solid var(--nh-line); border-top:4px solid var(--nh-red); border-radius:var(--nh-radius-sm); box-shadow:var(--nh-shadow-card); overflow:hidden; }
.nh-card__media { aspect-ratio:4/3; display:grid; place-items:center; background:#fff; border-bottom:1px solid var(--nh-line); }
.nh-card__media img { width:100%; height:100%; object-fit:contain; padding:16px; }
.nh-card__body { padding:18px; }
.nh-card__title { margin:0 0 8px; font:800 22px/1.1 var(--nh-font-display); text-transform:uppercase; }
.nh-model { font-family:var(--nh-font-mono); color:var(--nh-graphite); font-size:13px; }
.nh-price { font:900 24px/1 var(--nh-font-display); }
/* Clearance sale price display: was -> now + % off badge */
.nh-pricewrap { display:inline-flex; align-items:baseline; flex-wrap:wrap; gap:8px; }
.nh-price-was { font:700 15px/1 var(--nh-font-mono); color:var(--nh-graphite); text-decoration:line-through; }
.nh-price--sale { color:var(--nh-red); }
.nh-badge-sale { display:inline-flex; align-items:center; align-self:center; padding:3px 8px; border-radius:var(--nh-radius-pill); background:var(--nh-red); color:#fff; font:900 11px/1 var(--nh-font-body); letter-spacing:.05em; text-transform:uppercase; }
.nh-product__price { display:flex; align-items:baseline; flex-wrap:wrap; gap:10px; }
/* Storewide clearance announcement — hazard-stripe alert banner */
.nh-saleban {
  position:relative; display:block; text-align:center; text-decoration:none; color:#fff;
  padding:18px 56px; font:900 clamp(15px,2.3vw,21px)/1.3 var(--nh-font-body);
  letter-spacing:.09em; text-transform:uppercase; overflow:hidden;
  background:var(--nh-red); text-shadow:0 1px 2px rgba(0,0,0,.35);
  animation:nh-saleban-pulse 1.5s ease-in-out infinite;
}
.nh-saleban:hover { color:#fff; }
.nh-saleban:hover::before, .nh-saleban:hover::after { animation-duration:.4s; }
/* marching hazard chevrons along the top & bottom edges */
.nh-saleban::before, .nh-saleban::after {
  content:""; position:absolute; left:0; right:0; height:12px; z-index:1;
  background:repeating-linear-gradient(-45deg,#111 0 11px,#ffd200 11px 22px);
  background-size:31px 100%; animation:nh-saleban-march .7s linear infinite;
}
.nh-saleban::before { top:0; }
.nh-saleban::after { bottom:0; animation-direction:reverse; }
@keyframes nh-saleban-march { to { background-position:31px 0; } }
@keyframes nh-saleban-pulse {
  0%,100% { background:var(--nh-red); box-shadow:none; }
  50%     { background:#ff1f1f; box-shadow:inset 0 0 34px rgba(255,31,31,.75), 0 4px 20px rgba(224,0,0,.5); }
}
@media (prefers-reduced-motion:reduce) {
  .nh-saleban, .nh-saleban::before, .nh-saleban::after { animation:none; }
}
.nh-btn { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 18px; border:2px solid var(--nh-red); border-radius:var(--nh-radius-sm); background:var(--nh-red); color:#fff; text-decoration:none; font:900 13px/1 var(--nh-font-body); letter-spacing:.06em; text-transform:uppercase; }
.nh-btn:hover { background:var(--nh-black); border-color:var(--nh-black); color:#fff; }
.nh-btn--secondary { background:#fff; border-color:var(--nh-black); color:var(--nh-black); }
.nh-btn--secondary:hover { background:var(--nh-black); color:#fff; }
.nh-badge { display:inline-flex; align-items:center; gap:6px; min-height:28px; padding:0 10px; border-radius:var(--nh-radius-pill); border:1px solid currentColor; font:800 11px/1 var(--nh-font-body); letter-spacing:.05em; text-transform:uppercase; }
.nh-badge--new { background:var(--nh-red); border-color:var(--nh-red); color:#fff; }
.nh-badge--auction { background:var(--nh-black); border-color:var(--nh-black); color:#fff; }
.nh-badge--open { background:#fff; color:var(--nh-black); border-color:var(--nh-black); }
.nh-badge--tested::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--nh-red); }
.nh-specs { list-style:none; padding:0; margin:16px 0; }
.nh-specs li { display:flex; gap:10px; padding:8px 0; border-bottom:1px solid #ececea; }
.nh-specs li::before { content:""; width:8px; height:8px; margin-top:.5em; flex:0 0 8px; background:var(--nh-red); transform:rotate(45deg); }
.nh-callout { background:var(--nh-black); color:#fff; border-left:8px solid var(--nh-red); padding:24px; }
.nh-footer { margin-top:64px; background:var(--nh-black); color:#fff; border-top:6px solid var(--nh-red); }
.nh-footer a { color:#fff; }
.nh-trust-row { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#333; }
.nh-trust-row > * { background:var(--nh-black); padding:20px; text-align:center; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
@media (max-width: 700px) {
  .nh-header__inner { min-height:72px; }
  .nh-brand__logo { width:46px; height:46px; }
  .nh-brand__wordmark { font-size:23px; }
  .nh-trust-row { grid-template-columns:1fr; }
}
