/* 02-page-styles-rev15.css — Deck & Dock Lighting (rev15)
   Target: child theme stylesheet (NOT tokens.css).
   Token declarations lifted to 01-tokens-rev15.css are repeated below as a
   local fallback — delete once 01 is merged. */

/* --- local token fallback, delete after 01-tokens merges --- */
html{font-optical-sizing:auto;}
:root{--tap-min:44px;}

/* [WP HAND-OFF] delete this block once the theme enqueues tokens.css — the stand-ins below will otherwise override it silently.
   =====================================================================
   RENDERED-PREVIEW TOKEN STAND-INS — for visualization only.
   Real values live in tokens.css v1.1 (Mateo's file, source of truth).
   Palette/spacing here mirrors the compare-tool + Field Report styling.
   Delete this whole block when previewing inside the real preview folder.
===================================================================== */
:root{
  --color-primary:#00A9B5; --color-pink:#E3056B; --color-orange:#FA6A1E;
  --color-white:#FFFFFF; --color-black-true:#000000;
  --color-bg:#0A0A0A; --color-bg-elevated:#161616; --color-bg-section:#101014;
  --color-text:#F5F5F5; --color-text-muted:#B8B8B8;
  --color-border:#3A3A3A; --color-fill-subtle:#1E1E1E; --color-error:#FF4D5E;
  --gradient-brand:linear-gradient(135deg,#00A9B5 0%,#E3056B 100%);
  --font-heading:'Chakra Petch','Rajdhani',sans-serif;
  --font-body:'Inter','Helvetica Neue',sans-serif;
  --font-weight-semibold:600; --font-weight-bold:700;
  --text-small:13px; --text-body:16px;
  --text-h1:clamp(32px,5vw,48px); --text-h2:clamp(24px,3.6vw,34px); --text-h3:19px;
  --line-height-body:1.6; --line-height-heading:1.18; --letter-spacing-heading:.05em;
  --space-xs:4px; --space-sm:8px; --space-md:16px; --space-ml:24px;
  --space-lg:32px; --space-xl:64px; --space-2xl:96px;
  --radius-sm:6px; --radius-md:12px; --radius-pill:999px;
  --width-content:1100px;
  --shadow-sm:0 10px 30px rgba(0,0,0,.4);
  --shadow-glow-teal:0 0 28px rgba(0,169,181,.45);
  --shadow-glow-pink:0 0 28px rgba(227,5,107,.45);
  --focus-ring:2px solid #E3056B; --focus-ring-offset:2px;
}

/* Stand-ins for what the theme provides — NOT part of any page's output */
  * { margin: 0; padding: 0; box-sizing: border-box; }
  html { background: var(--color-bg, #0A0A0A); }
  body {
    overflow-x: clip;
  }
  body {
    background: var(--color-bg);
    color: var(--color-text);
    font-family: var(--font-body);
    font-size: var(--text-body);
    line-height: var(--line-height-body);
  }
  
  

  
  
  .preview-note__todo { display: block; margin-top: var(--space-xs); }

/* =====================================================================
   TOKENS v1.2 PROPOSAL — heading font + tracking. Scoped to this page for
   preview. If approved, these become token changes and this block goes away.
===================================================================== */
.bnl-page--products-deck-dock {
  --font-heading-proposed: 'Bricolage Grotesque','Sora',var(--font-heading),sans-serif;
  --glow-ambient-teal: 0 0 48px -12px color-mix(in srgb, var(--color-primary) 55%, transparent);
  --glow-ambient-pink: 0 0 56px -10px color-mix(in srgb, var(--color-pink) 45%, transparent);
}

.bnl-page--products-deck-dock {
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-body);
  font-size: var(--text-body);
  line-height: var(--line-height-body);
  overflow-x: clip;
}
.bnl-page--products-deck-dock img {
  max-width: 100%;
}
/* ---- Breadcrumbs ---- */
.bnl-page--products-deck-dock .bnl-crumbs {
  padding: var(--space-md) var(--space-md) 0;
  max-width: var(--width-content);
  margin: 0 auto;
}
.bnl-page--products-deck-dock .bnl-crumbs ol {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
  font-size: var(--text-small);
  color: var(--color-text-muted);
}
.bnl-page--products-deck-dock .bnl-crumbs li + li::before {
  content: "/";
  margin: 0 var(--space-xs);
  color: var(--color-border);
}
.bnl-page--products-deck-dock .bnl-crumbs a {
  color: var(--color-text-muted);
  text-decoration: none;
}
.bnl-page--products-deck-dock .bnl-crumbs a:hover { color: var(--color-primary); }
.bnl-page--products-deck-dock .bnl-crumbs [aria-current] { color: var(--color-text); }

/* anchor targets clear the sticky header when deep-linked */
.bnl-page--products-deck-dock section[id] { scroll-margin-top: 90px; }

/* ---- Ecosystem text links (crawlable, descriptive anchors) ---- */
.bnl-page--products-deck-dock .bnl-eco-links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
  justify-content: center;
  margin-top: var(--space-lg);
}
.bnl-page--products-deck-dock .bnl-eco-links a {
  font-family: var(--font-heading-proposed);
  font-weight: var(--font-weight-semibold);
  font-size: var(--text-small);
  letter-spacing: .02em;
  color: var(--color-text);
  text-decoration: none;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-pill);
  padding: 9px 16px;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  transition: border-color .2s ease, box-shadow .2s ease, color .2s ease;
}
.bnl-page--products-deck-dock .bnl-eco-links a:hover {
  border-color: var(--color-primary);
  color: var(--color-primary);
  box-shadow: var(--shadow-glow-teal);
}

/* ---- Sticky mobile quote bar (CSS only) ---- */
.bnl-page--products-deck-dock .bnl-sticky-cta {
  display: none;
}
@media (max-width: 767px) {
  .bnl-page--products-deck-dock { padding-bottom: 76px; }
  .bnl-page--products-deck-dock .bnl-sticky-cta {
    display: block;
    position: fixed;
    left: 0; right: 0; bottom: 0;
    z-index: 40;
    padding: var(--space-sm) var(--space-md);
    padding-bottom: max(var(--space-sm), env(safe-area-inset-bottom));
    background: color-mix(in srgb, var(--color-bg) 88%, transparent);
    backdrop-filter: blur(10px);
    border-top: 1px solid var(--color-border);
  }
  .bnl-page--products-deck-dock .bnl-sticky-cta .bnl-btn { display: block; }
}

.bnl-page--products-deck-dock .bnl-wide-img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-md);
  display: block;
  margin-top: var(--space-lg);
}
.bnl-page--products-deck-dock .bnl-section {
  padding: var(--space-lg) var(--space-md);
}
.bnl-page--products-deck-dock .bnl-section--alt {
  /* Rev 24: seamless bands — fade to page bg at both edges (no hard seams),
     with off-axis teal/pink pools so the tint breathes instead of sitting flat */
  padding-top: var(--space-xl);
  padding-bottom: var(--space-xl);
  background:
    radial-gradient(90% 52% at 12% 26%, color-mix(in srgb, var(--color-primary) 10%, transparent), transparent 62%),
    radial-gradient(85% 48% at 88% 74%, color-mix(in srgb, var(--color-pink) 9%, transparent), transparent 62%),
    linear-gradient(180deg,
      transparent 0%,
      color-mix(in srgb, var(--color-bg-section) 55%, transparent) 9%,
      color-mix(in srgb, var(--color-bg-section) 82%, transparent) 22%,
      color-mix(in srgb, var(--color-bg-section) 82%, transparent) 78%,
      color-mix(in srgb, var(--color-bg-section) 55%, transparent) 91%,
      transparent 100%);
}
.bnl-page--products-deck-dock .bnl-gradient-text {
  background: var(--gradient-brand);
  -webkit-background-clip: text;
  background-clip: text;
  color: var(--color-pink); /* fallback */
  -webkit-text-fill-color: transparent;
}
.bnl-page--products-deck-dock .bnl-section__inner {
  max-width: var(--width-content);
  margin: 0 auto;
}
.bnl-page--products-deck-dock .bnl-heading {
  font-family: var(--font-heading-proposed);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-heading);
  letter-spacing: -0.015em;
  margin: 0 0 var(--space-ml);
}
.bnl-page--products-deck-dock .bnl-heading--section {
  font-size: var(--text-h2);
}
.bnl-page--products-deck-dock .bnl-lede {
  color: var(--color-text-muted);
  margin: 0 0 var(--space-lg);
}

/* ---- Buttons ---- */
.bnl-page--products-deck-dock .bnl-btn {
  display: inline-block;
  min-height: 44px;
  padding: var(--space-md) var(--space-lg);
  border-radius: var(--radius-pill);
  font-family: var(--font-heading-proposed);
  font-weight: var(--font-weight-semibold);
  letter-spacing: var(--letter-spacing-heading);
  text-decoration: none;
  text-align: center;
  transition: box-shadow 0.2s ease, background-color 0.2s ease;
}
.bnl-page--products-deck-dock .bnl-btn--primary {
  background: transparent;
  color: var(--color-white);
  border: 1.5px solid var(--color-pink);
  box-shadow: var(--glow-ambient-pink);
}
.bnl-page--products-deck-dock .bnl-btn--primary:hover {
  box-shadow: var(--shadow-glow-pink);
  background: color-mix(in srgb, var(--color-pink) 12%, transparent);
}
.bnl-page--products-deck-dock .bnl-btn--secondary {
  background: transparent;
  color: var(--color-primary);
  border: 1px solid var(--color-primary);
}
.bnl-page--products-deck-dock .bnl-btn--secondary:hover {
  box-shadow: var(--shadow-glow-teal);
}
.bnl-page--products-deck-dock .bnl-btn--ghost {
  background: transparent;
  color: var(--color-white);
  border: 1.5px solid var(--color-pink);
  box-shadow: var(--glow-ambient-pink);
}
.bnl-page--products-deck-dock .bnl-btn--ghost:hover {
  box-shadow: var(--shadow-glow-pink);
}
/* PROPOSAL (tokens v1.2): larger section headings, less gradient */
.bnl-page--products-deck-dock .bnl-heading--section {
  font-size: clamp(30px, 4.6vw, 46px);
}
/* shared glow frame */
.bnl-page--products-deck-dock .bnl-glow-frame {
  border: 1px solid color-mix(in srgb, var(--color-pink) 40%, var(--color-border));
  border-radius: var(--radius-md);
  box-shadow: var(--glow-ambient-teal), var(--glow-ambient-pink);
}
/* photo hairline guards (color-wash + temperature stages tint per selection below) */
.bnl-page--products-deck-dock .bnl-temp__stage,
.bnl-page--products-deck-dock .bnl-cw__stage {
  border: 1.5px solid var(--color-border);
  transition: border-color .45s ease, box-shadow .45s ease;
}
/* By Day / By Night — framed with the brand glow */
.bnl-page--products-deck-dock .bnl-ba img {
  border: 1.5px solid color-mix(in srgb, var(--color-pink) 40%, var(--color-border));
  box-shadow: var(--glow-ambient-teal), var(--glow-ambient-pink);
}
/* Rev 25: day/night compare slider */
.bnl-page--products-deck-dock .bnl-ba-slider {
  position: relative;
  aspect-ratio: 4 / 3;
  border-radius: var(--radius-md);
  overflow: hidden;
  border: 1.5px solid color-mix(in srgb, var(--color-pink) 40%, var(--color-border));
  box-shadow: var(--glow-ambient-teal), var(--glow-ambient-pink);
  touch-action: pan-y;
}
.bnl-page--products-deck-dock .bnl-ba-slider img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  border: 0;
  box-shadow: none;
}
.bnl-page--products-deck-dock .bnl-ba-slider__top {
  position: absolute; inset: 0;
  clip-path: inset(0 calc(100% - var(--pos, 50%)) 0 0);
}
.bnl-page--products-deck-dock .bnl-ba-slider__divider {
  position: absolute; top: 0; bottom: 0;
  left: var(--pos, 50%);
  width: 3px;
  transform: translateX(-50%);
  background: var(--color-white);
  box-shadow: 0 0 14px rgba(0,0,0,.85);
  pointer-events: none;
  z-index: 2;
}
.bnl-page--products-deck-dock .bnl-ba-slider__knob {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 46px; height: 46px;
  display: grid; place-items: center;
  border-radius: var(--radius-pill);
  background: color-mix(in srgb, var(--color-bg) 55%, transparent);
  border: 1.5px solid var(--color-white);
  backdrop-filter: blur(6px);
  color: var(--color-white);
  font-size: 14px;
  white-space: nowrap;
}
.bnl-page--products-deck-dock .bnl-ba-slider__range {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  margin: 0;
  opacity: 0;
  cursor: ew-resize;
  -webkit-appearance: none;
  appearance: none;
  background: transparent;
  z-index: 3;
}
.bnl-page--products-deck-dock .bnl-ba-slider__range::-webkit-slider-thumb {
  -webkit-appearance: none; appearance: none;
  width: 64px; height: 480px;
  background: transparent;
}
.bnl-page--products-deck-dock .bnl-ba-slider__range::-moz-range-thumb {
  width: 64px; height: 480px; border: 0; background: transparent;
}
.bnl-page--products-deck-dock .bnl-ba-slider__tag {
  position: absolute; top: var(--space-md);
  padding: 6px 14px;
  border-radius: var(--radius-pill);
  background: color-mix(in srgb, var(--color-bg) 62%, transparent);
  border: 1px solid color-mix(in srgb, var(--color-border) 70%, transparent);
  backdrop-filter: blur(8px);
  font-family: var(--font-heading-proposed);
  font-size: var(--text-small);
  font-weight: var(--font-weight-semibold);
  letter-spacing: .08em;
  text-transform: uppercase;
  z-index: 2;
  pointer-events: none;
}
.bnl-page--products-deck-dock .bnl-ba-slider__tag--day { left: var(--space-md); }
.bnl-page--products-deck-dock .bnl-ba-slider__tag--night { right: var(--space-md); }
.bnl-page--products-deck-dock .bnl-ba-slider__hint {
  text-align: center;
  color: var(--color-text-muted);
  font-size: var(--text-small);
  margin-top: var(--space-md);
}
/* relocated feature grid + stats, inside the premium card */
.bnl-page--products-deck-dock .bnl-frame-card .bnl-stats {
  margin-top: var(--space-lg);
  padding-top: var(--space-lg);
  border-top: 1px solid color-mix(in srgb, var(--color-border) 60%, transparent);
}
/* Rev 26: icon bullet list (relocated color-wash features) */
.bnl-page--products-deck-dock .bnl-featlist {
  list-style: none;
  margin: var(--space-lg) 0 0;
  padding: var(--space-lg) 0 0;
  border-top: 1px solid color-mix(in srgb, var(--color-border) 60%, transparent);
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-md);
  text-align: left;
}
@media (min-width: 760px) {
  .bnl-page--products-deck-dock .bnl-featlist { grid-template-columns: 1fr 1fr; }
}
.bnl-page--products-deck-dock .bnl-featlist li {
  display: flex;
  align-items: flex-start;
  gap: var(--space-md);
}
.bnl-page--products-deck-dock .bnl-featlist__ic {
  flex-shrink: 0;
  width: 44px; height: 44px;
  display: grid; place-items: center;
  border-radius: var(--radius-pill);
  color: var(--color-primary);
  background: color-mix(in srgb, var(--color-primary) 12%, transparent);
  border: 1px solid color-mix(in srgb, var(--color-primary) 35%, transparent);
  box-shadow: 0 0 16px color-mix(in srgb, var(--color-primary) 18%, transparent);
}
.bnl-page--products-deck-dock .bnl-featlist b {
  display: block;
  font-family: var(--font-heading-proposed);
  letter-spacing: -0.01em;
  margin-bottom: 2px;
}
.bnl-page--products-deck-dock .bnl-featlist p {
  margin: 0;
  color: var(--color-text-muted);
  font-size: var(--text-small);
}
/* boxed statement card (Premium Lighting Without Compromise) */
.bnl-page--products-deck-dock .bnl-frame-card {
  border: 1px solid color-mix(in srgb, var(--color-pink) 40%, var(--color-border));
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--color-bg-elevated) 88%, transparent);
  box-shadow: var(--glow-ambient-teal), var(--glow-ambient-pink);
  padding: var(--space-lg);
}
.bnl-page--products-deck-dock .bnl-frame-card > :last-child { margin-bottom: 0; }
/* framed More-Than split */
.bnl-page--products-deck-dock #why .bnl-split {
  border: 1px solid color-mix(in srgb, var(--color-pink) 40%, var(--color-border));
  border-radius: var(--radius-md);
  background: var(--color-bg-elevated);
  box-shadow: var(--glow-ambient-teal), var(--glow-ambient-pink);
  padding: var(--space-lg);
}
/* spec table redesign */
.bnl-page--products-deck-dock #specs .bnl-table-scroll {
  border: 1px solid color-mix(in srgb, var(--color-primary) 45%, var(--color-border));
  border-radius: var(--radius-md);
  background: var(--color-bg-elevated);
  box-shadow: var(--glow-ambient-teal);
}
.bnl-page--products-deck-dock #specs .bnl-table__head {
  font-size: var(--text-h3);
}
.bnl-page--products-deck-dock #specs .bnl-table__cell--label {
  color: var(--color-primary);
  font-family: var(--font-heading-proposed);
  font-size: var(--text-h3);
  letter-spacing: -0.01em;
}
.bnl-page--products-deck-dock #specs tbody tr:nth-child(odd) {
  background: color-mix(in srgb, var(--color-primary) 6%, transparent);
}
.bnl-page--products-deck-dock #specs tbody tr:nth-child(even) {
  background: color-mix(in srgb, var(--color-pink) 5%, transparent);
}
/* comparison table: keep brand column visually centered on phones */
@media (max-width: 640px) {
  .bnl-page--products-deck-dock .bnl-compare .bnl-table__cell--label,
  .bnl-page--products-deck-dock .bnl-compare .bnl-table__head:first-child {
    width: 36%;
    white-space: normal;
  }
}
/* stats extras */
.bnl-page--products-deck-dock .bnl-stats__note {
  display: block;
  margin-top: 6px;
  font-size: var(--text-small);
  color: var(--color-text-muted);
  text-decoration: underline;
}
.bnl-page--products-deck-dock .bnl-stats__note:hover { color: var(--color-primary); }
/* animated tap hint on the ecosystem map */
.bnl-page--products-deck-dock .bnl-eco__hint {
  position: absolute;
  top: var(--space-md);
  left: 4%;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  border-radius: var(--radius-pill);
  background: color-mix(in srgb, var(--color-bg) 70%, transparent);
  border: 1px solid var(--color-primary);
  backdrop-filter: blur(8px);
  font-family: var(--font-heading-proposed);
  font-size: var(--text-small);
  font-weight: var(--font-weight-semibold);
  pointer-events: none;
  box-shadow: var(--shadow-glow-teal);
  animation: bnl-hint-slide 6s ease-in-out infinite alternate;
}
.bnl-page--products-deck-dock .bnl-eco__hint span { font-size: 20px; animation: bnl-hint-bob 1.2s ease-in-out infinite alternate; }
@keyframes bnl-hint-slide { from { left: 4%; } to { left: calc(96% - 170px); } }
@keyframes bnl-hint-bob { from { transform: translateY(-3px); } to { transform: translateY(3px); } }
@media (prefers-reduced-motion: reduce) {
  .bnl-page--products-deck-dock .bnl-eco__hint { animation: none; left: 50%; transform: translateX(-50%); }
  .bnl-page--products-deck-dock .bnl-eco__hint span { animation: none; }
}
.bnl-page--products-deck-dock .bnl-btn:focus-visible,
.bnl-page--products-deck-dock .bnl-link:focus-visible,
.bnl-page--products-deck-dock .bnl-faq__q:focus-visible {
  outline: var(--focus-ring);
  outline-offset: var(--focus-ring-offset);
}
.bnl-page--products-deck-dock .bnl-link {
  color: var(--color-primary);
}
.bnl-page--products-deck-dock .bnl-btn-row {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-md);
}

/* ---- Hero (video band on top; content below; title slightly overlaps the video's bottom edge) ---- */
.bnl-page--products-deck-dock .bnl-hero {
  padding: 0;
}
.bnl-page--products-deck-dock .bnl-hero__media-frame {
  position: relative;
  height: min(64vh, 600px);
  overflow: hidden;
}
.bnl-page--products-deck-dock .bnl-hero__bg--video { object-position: center 42%; }
.bnl-hero__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
}
@media (prefers-reduced-motion: reduce) {
  .bnl-page--products-deck-dock .bnl-hero__bg--video { display: none; }
}
.bnl-page--products-deck-dock .bnl-hero__media-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, var(--color-bg) 0%, color-mix(in srgb, var(--color-bg) 55%, transparent) 18%, transparent 42%);
  pointer-events: none;
}
.bnl-page--products-deck-dock .bnl-hero__content {
  position: relative;
  z-index: 2;
  max-width: var(--width-content);
  margin: -44px auto 0;
  padding: 0 var(--space-md) var(--space-lg);
}
@media (min-width: 768px) {
  .bnl-page--products-deck-dock .bnl-hero__content {
    margin-top: -76px;
    padding: 0 var(--space-lg) var(--space-xl);
  }
}
.bnl-page--products-deck-dock .bnl-hero__inner { max-width: 720px; }
.bnl-page--products-deck-dock .bnl-hero .bnl-btn-row { justify-content: center; }
.bnl-page--products-deck-dock .bnl-hero__eyebrow {
  font-family: var(--font-heading-proposed);
  font-size: var(--text-small);
  font-weight: var(--font-weight-semibold);
  letter-spacing: var(--letter-spacing-heading);
  text-transform: uppercase;
  color: var(--color-primary);
  margin: 0 0 var(--space-sm);
  text-shadow: 0 2px 12px rgba(0,0,0,.8);
}
.bnl-page--products-deck-dock .bnl-hero__title {
  font-family: var(--font-heading-proposed);
  font-size: var(--text-h1);
  font-weight: 800;
  line-height: var(--line-height-heading);
  letter-spacing: -0.02em;
  margin: 0 0 var(--space-md);
  text-shadow: 0 2px 16px rgba(0,0,0,.75);
}

/* ---- Checkmark lists ---- */
.bnl-page--products-deck-dock .bnl-checks {
  list-style: none;
  margin: var(--space-md) 0 var(--space-lg);
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: var(--space-sm) var(--space-lg);
}
.bnl-page--products-deck-dock .bnl-checks li {
  position: relative;
  padding-left: 30px;
  font-family: var(--font-heading-proposed);
  font-weight: var(--font-weight-semibold);
  letter-spacing: -0.01em;
}
.bnl-page--products-deck-dock .bnl-checks li::before {
  content: "\2713";
  position: absolute;
  left: 0;
  color: var(--color-primary);
  font-weight: var(--font-weight-bold);
}

/* ---- Split (text + image) ---- */
.bnl-page--products-deck-dock .bnl-split {
  display: grid;
  gap: var(--space-lg);
  align-items: center;
}
@media (min-width: 900px) {
  .bnl-page--products-deck-dock .bnl-split { grid-template-columns: 1fr 1fr; }
}
.bnl-page--products-deck-dock .bnl-split__img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
}

/* ---- Occasion chips ---- */
.bnl-page--products-deck-dock .bnl-chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
  margin: var(--space-md) 0 var(--space-lg);
}
.bnl-page--products-deck-dock .bnl-chips span {
  font-family: var(--font-heading-proposed);
  font-weight: var(--font-weight-semibold);
  font-size: var(--text-small);
  color: var(--color-text);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-pill);
  padding: 9px 16px;
  box-shadow: var(--glow-ambient-teal);
}

/* ---- Punch lines ---- */
.bnl-page--products-deck-dock .bnl-punch p {
  font-family: var(--font-heading-proposed);
  font-weight: var(--font-weight-semibold);
  margin: 0 0 var(--space-xs);
}
.bnl-page--products-deck-dock .bnl-punch p:last-child {
  color: var(--color-text-muted);
  font-family: var(--font-body);
  font-weight: 400;
  margin-top: var(--space-sm);
}

/* ---- Statistics band ---- */
.bnl-page--products-deck-dock .bnl-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: var(--space-lg) var(--space-md);
  text-align: center;
}
.bnl-page--products-deck-dock .bnl-stats__num {
  display: block;
  font-family: var(--font-heading-proposed);
  font-weight: 800;
  font-size: clamp(34px, 5vw, 58px);
  letter-spacing: -0.02em;
  line-height: 1.05;
}
.bnl-page--products-deck-dock .bnl-stats__label {
  display: block;
  margin-top: var(--space-xs);
  color: var(--color-text-muted);
  font-family: var(--font-heading-proposed);
  font-size: var(--text-small);
  font-weight: var(--font-weight-semibold);
  letter-spacing: var(--letter-spacing-heading);
  text-transform: uppercase;
}

/* ---- Interactive stat counters (pure CSS: @property + counter; on hover/tap the
   number replays from 0. Browsers without @property simply show the final number.) ---- */
@property --bnl-statn { syntax: '<integer>'; inherits: false; initial-value: 0; }
.bnl-page--products-deck-dock .bnl-sr {
  position: absolute;
  width: 1px; height: 1px;
  clip-path: inset(50%);
  overflow: hidden;
}
.bnl-page--products-deck-dock .bnl-stats__item { cursor: default; outline: none; }
.bnl-page--products-deck-dock .bnl-stats__num {
  counter-reset: bnlstat var(--bnl-statn);
}
.bnl-page--products-deck-dock .bnl-stats__digits::before {
  content: counter(bnlstat);
}
.bnl-page--products-deck-dock .bnl-stats__item:hover .bnl-stats__num,
.bnl-page--products-deck-dock .bnl-stats__item:focus-visible .bnl-stats__num {
  animation: bnl-count-up 0.9s ease-out;
}
@keyframes bnl-count-up { from { --bnl-statn: 0; } }
@media (prefers-reduced-motion: reduce) {
  .bnl-page--products-deck-dock .bnl-stats__item:hover .bnl-stats__num,
  .bnl-page--products-deck-dock .bnl-stats__item:focus-visible .bnl-stats__num { animation: none; }
}

/* ---- Compare tool feature band ---- */
.bnl-page--products-deck-dock .bnl-compare-cta {
  margin-top: var(--space-xl);
  border: 1px solid color-mix(in srgb, var(--color-pink) 45%, var(--color-border));
  border-radius: var(--radius-md);
  padding: var(--space-xl) var(--space-lg);
  text-align: center;
  background: var(--color-bg-elevated);
  box-shadow: var(--glow-ambient-pink);
}
.bnl-page--products-deck-dock button.bnl-compare-cta__chip {
  font: inherit;
  cursor: pointer;
}
.bnl-page--products-deck-dock button.bnl-compare-cta__chip:hover {
  box-shadow: var(--shadow-glow-teal);
}
.bnl-page--products-deck-dock .bnl-compare-cta__vs {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--space-md);
  margin: var(--space-lg) 0;
  font-family: var(--font-heading-proposed);
  font-weight: var(--font-weight-bold);
}
.bnl-page--products-deck-dock .bnl-compare-cta__chip {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-pill);
  padding: 12px 22px;
  font-size: var(--text-h3);
}
.bnl-page--products-deck-dock .bnl-compare-cta__chip--us {
  color: var(--color-primary);
  border-color: var(--color-primary);
  box-shadow: var(--shadow-glow-teal);
}
.bnl-page--products-deck-dock .bnl-compare-cta__chip--them {
  color: var(--color-text-muted);
  border-style: dashed;
}
.bnl-page--products-deck-dock .bnl-compare-cta__x {
  font-size: clamp(26px, 4vw, 40px);
  font-weight: 800;
}
.bnl-page--products-deck-dock .bnl-compare-cta__fine {
  margin-top: var(--space-md);
  font-size: var(--text-small);
  color: var(--color-text-muted);
}

/* ---- Apple-style closer ---- */
.bnl-page--products-deck-dock .bnl-closer {
  position: relative;
  min-height: min(64vh, 560px);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding-bottom: var(--space-2xl);
  text-align: center;
  overflow: hidden;
  padding: var(--space-2xl) var(--space-md);
}
.bnl-page--products-deck-dock .bnl-closer__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
.bnl-page--products-deck-dock .bnl-closer::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(0deg, var(--color-bg) 0%, transparent 35%),
    linear-gradient(180deg, var(--color-bg) 0%, transparent 35%),
    color-mix(in srgb, var(--color-bg) 45%, transparent);
}
.bnl-page--products-deck-dock .bnl-closer__content {
  position: relative;
  z-index: 2;
}
.bnl-page--products-deck-dock .bnl-closer__title {
  font-family: var(--font-heading-proposed);
  font-weight: 800;
  font-size: clamp(34px, 6vw, 64px);
  letter-spacing: -0.02em;
  line-height: 1.1;
  margin: 0 0 var(--space-lg);
}

/* ---- Premium motion: CSS-only scroll reveal (progressive enhancement) ---- */
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .bnl-page--products-deck-dock .bnl-card,
    .bnl-page--products-deck-dock .bnl-gallery__figure,
    .bnl-page--products-deck-dock .bnl-split__img,
    .bnl-page--products-deck-dock .bnl-stats > div,
    .bnl-page--products-deck-dock .bnl-ba figure {
      animation: bnl-rise-in both;
      animation-timeline: view();
      animation-range: entry 0% entry 55%;
    }
  }
}
@keyframes bnl-rise-in {
  from { opacity: 0.15; transform: translateY(18px); }
  to   { opacity: 1;    transform: none; }
}

/* ---- Interactive Color Wash slider (pure CSS radio carousel) ---- */
.bnl-page--products-deck-dock .bnl-cw__radio {
  position: absolute;
  width: 1px; height: 1px;
  clip-path: inset(50%);
  overflow: hidden;
}
.bnl-page--products-deck-dock .bnl-cw__stage {
  position: relative;
  aspect-ratio: 459 / 246;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  margin-top: var(--space-lg);
}
.bnl-page--products-deck-dock .bnl-cw__img {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity .45s ease;
}
.bnl-page--products-deck-dock .bnl-cw__nav {
  display: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 46px; height: 46px;
  place-items: center;
  border-radius: var(--radius-pill);
  background: color-mix(in srgb, var(--color-bg) 55%, transparent);
  border: 1px solid var(--color-border);
  color: var(--color-text);
  font-size: 26px;
  cursor: pointer;
  z-index: 3;
  transition: box-shadow .2s ease, border-color .2s ease;
}
.bnl-page--products-deck-dock .bnl-cw__nav:hover { border-color: var(--color-primary); box-shadow: var(--shadow-glow-teal); }
.bnl-page--products-deck-dock .bnl-cw__nav--prev { left: var(--space-md); }
.bnl-page--products-deck-dock .bnl-cw__nav--next { right: var(--space-md); }
.bnl-page--products-deck-dock .bnl-cw__swatches {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-md) var(--space-ml);
  margin-top: var(--space-lg);
}
.bnl-page--products-deck-dock .bnl-cw__sw {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-family: var(--font-heading-proposed);
  font-size: var(--text-small);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-muted);
  min-width: 44px;
}
.bnl-page--products-deck-dock .bnl-cw__dot {
  width: 34px; height: 34px;
  border-radius: var(--radius-pill);
  background: var(--sw);
  transition: box-shadow .2s ease, transform .2s ease;
}
.bnl-page--products-deck-dock .bnl-cw__sw:hover .bnl-cw__dot { transform: scale(1.12); }

/* ---- Season cards (hover to zoom ~35%) ---- */
.bnl-page--products-deck-dock .bnl-season {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-md);
}
@media (min-width: 900px) {
  .bnl-page--products-deck-dock .bnl-season { grid-template-columns: repeat(4, 1fr); }
}
.bnl-page--products-deck-dock .bnl-season__card {
  margin: 0;
  position: relative;
  transition: transform .3s ease;
  outline: none;
}
.bnl-page--products-deck-dock .bnl-season__card img {
  width: 100%; height: auto;
  border-radius: var(--radius-md);
  display: block;
  box-shadow: var(--shadow-sm);
}
.bnl-page--products-deck-dock .bnl-season__card figcaption {
  position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap;
}
.bnl-page--products-deck-dock .bnl-season__card figcaption b {
  display: block;
  font-family: var(--font-heading-proposed);
  letter-spacing: -0.01em;
}
.bnl-page--products-deck-dock .bnl-season__card figcaption span {
  color: var(--color-text-muted);
  font-size: var(--text-small);
}
@media (prefers-reduced-motion: no-preference) {
  .bnl-page--products-deck-dock .bnl-season__card:hover,
  .bnl-page--products-deck-dock .bnl-season__card:focus-visible {
    transform: scale(1.35);
    z-index: 6;
  }
  .bnl-page--products-deck-dock .bnl-season__card:hover img,
  .bnl-page--products-deck-dock .bnl-season__card:focus-visible img {
    box-shadow: var(--shadow-glow-teal), 0 18px 50px rgba(0,0,0,.6);
  }
}

/* ---- Temperature preset cards (real photos, pure CSS) ---- */
.bnl-page--products-deck-dock .bnl-temp__body {
  max-width: 860px;
  margin: var(--space-lg) auto 0;
}
.bnl-page--products-deck-dock .bnl-temp__stage {
  position: relative;
  aspect-ratio: 460 / 406;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}
.bnl-page--products-deck-dock .bnl-temp__img {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity .4s ease;
}
.bnl-page--products-deck-dock .bnl-temp__info {
  display: none;
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.bnl-page--products-deck-dock .bnl-temp__badge {
  position: absolute;
  top: var(--space-md);
  left: var(--space-md);
  padding: 8px 16px;
  border-radius: var(--radius-pill);
  background: color-mix(in srgb, var(--color-bg) 62%, transparent);
  border: 1px solid color-mix(in srgb, var(--color-border) 70%, transparent);
  backdrop-filter: blur(8px);
  font-family: var(--font-heading-proposed);
  font-size: var(--text-small);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text);
}
.bnl-page--products-deck-dock .bnl-temp__cap {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: var(--space-xl) var(--space-md) var(--space-md);
  background: linear-gradient(0deg, color-mix(in srgb, var(--color-bg) 88%, transparent) 0%, transparent 100%);
}
.bnl-page--products-deck-dock .bnl-temp__cap b {
  display: block;
  font-family: var(--font-heading-proposed);
  font-size: var(--text-h3);
  letter-spacing: -0.01em;
  margin-bottom: 4px;
}
.bnl-page--products-deck-dock .bnl-temp__cap span {
  color: var(--color-text-muted);
  font-size: var(--text-small);
}
.bnl-page--products-deck-dock .bnl-temp__picker {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-sm);
  margin-top: var(--space-md);
}
.bnl-page--products-deck-dock .bnl-temp__opt {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  min-width: 82px;
  padding: 14px 16px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  cursor: pointer;
  font-family: var(--font-heading-proposed);
  font-size: var(--text-small);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-muted);
  transition: border-color .2s ease, color .2s ease, box-shadow .2s ease;
}
.bnl-page--products-deck-dock .bnl-temp__opt:hover { border-color: var(--color-primary); color: var(--color-text); }
.bnl-page--products-deck-dock .bnl-temp__dot {
  width: 18px; height: 18px;
  border-radius: var(--radius-pill);
  background: var(--dot);
  box-shadow: 0 0 10px color-mix(in srgb, var(--dot) 70%, transparent);
}

/* Rev 24: the temperature stage frame glows in the selected kelvin tone */
.bnl-page--products-deck-dock #t-2000:checked ~ .bnl-temp__body .bnl-temp__stage { border-color: color-mix(in srgb, #E8951D 80%, var(--color-border)); box-shadow: 0 0 24px color-mix(in srgb, #E8951D 34%, transparent), 0 0 70px color-mix(in srgb, #E8951D 15%, transparent); }
.bnl-page--products-deck-dock #t-3000:checked ~ .bnl-temp__body .bnl-temp__stage { border-color: color-mix(in srgb, #F2C57F 80%, var(--color-border)); box-shadow: 0 0 24px color-mix(in srgb, #F2C57F 34%, transparent), 0 0 70px color-mix(in srgb, #F2C57F 15%, transparent); }
.bnl-page--products-deck-dock #t-4000:checked ~ .bnl-temp__body .bnl-temp__stage { border-color: color-mix(in srgb, #F6E7C8 80%, var(--color-border)); box-shadow: 0 0 24px color-mix(in srgb, #F6E7C8 34%, transparent), 0 0 70px color-mix(in srgb, #F6E7C8 15%, transparent); }
.bnl-page--products-deck-dock #t-5000:checked ~ .bnl-temp__body .bnl-temp__stage { border-color: color-mix(in srgb, #DCE8F5 80%, var(--color-border)); box-shadow: 0 0 24px color-mix(in srgb, #DCE8F5 34%, transparent), 0 0 70px color-mix(in srgb, #DCE8F5 15%, transparent); }
.bnl-page--products-deck-dock #t-7000:checked ~ .bnl-temp__body .bnl-temp__stage { border-color: color-mix(in srgb, #9CC4EE 80%, var(--color-border)); box-shadow: 0 0 24px color-mix(in srgb, #9CC4EE 34%, transparent), 0 0 70px color-mix(in srgb, #9CC4EE 15%, transparent); }
.bnl-page--products-deck-dock #t-2000:checked ~ .bnl-temp__body .bnl-temp__img--2000 { opacity: 1; }
.bnl-page--products-deck-dock #t-2000:checked ~ .bnl-temp__body .bnl-temp__info--2000 { display: block; }
.bnl-page--products-deck-dock #t-2000:checked ~ .bnl-temp__body .bnl-temp__picker label[for="t-2000"] { border-color: var(--color-primary); color: var(--color-text); box-shadow: var(--shadow-glow-teal); }
.bnl-page--products-deck-dock #t-2000:focus-visible ~ .bnl-temp__body .bnl-temp__picker label[for="t-2000"] { outline: var(--focus-ring); outline-offset: var(--focus-ring-offset); }
.bnl-page--products-deck-dock #t-3000:checked ~ .bnl-temp__body .bnl-temp__img--3000 { opacity: 1; }
.bnl-page--products-deck-dock #t-3000:checked ~ .bnl-temp__body .bnl-temp__info--3000 { display: block; }
.bnl-page--products-deck-dock #t-3000:checked ~ .bnl-temp__body .bnl-temp__picker label[for="t-3000"] { border-color: var(--color-primary); color: var(--color-text); box-shadow: var(--shadow-glow-teal); }
.bnl-page--products-deck-dock #t-3000:focus-visible ~ .bnl-temp__body .bnl-temp__picker label[for="t-3000"] { outline: var(--focus-ring); outline-offset: var(--focus-ring-offset); }
.bnl-page--products-deck-dock #t-4000:checked ~ .bnl-temp__body .bnl-temp__img--4000 { opacity: 1; }
.bnl-page--products-deck-dock #t-4000:checked ~ .bnl-temp__body .bnl-temp__info--4000 { display: block; }
.bnl-page--products-deck-dock #t-4000:checked ~ .bnl-temp__body .bnl-temp__picker label[for="t-4000"] { border-color: var(--color-primary); color: var(--color-text); box-shadow: var(--shadow-glow-teal); }
.bnl-page--products-deck-dock #t-4000:focus-visible ~ .bnl-temp__body .bnl-temp__picker label[for="t-4000"] { outline: var(--focus-ring); outline-offset: var(--focus-ring-offset); }
.bnl-page--products-deck-dock #t-5000:checked ~ .bnl-temp__body .bnl-temp__img--5000 { opacity: 1; }
.bnl-page--products-deck-dock #t-5000:checked ~ .bnl-temp__body .bnl-temp__info--5000 { display: block; }
.bnl-page--products-deck-dock #t-5000:checked ~ .bnl-temp__body .bnl-temp__picker label[for="t-5000"] { border-color: var(--color-primary); color: var(--color-text); box-shadow: var(--shadow-glow-teal); }
.bnl-page--products-deck-dock #t-5000:focus-visible ~ .bnl-temp__body .bnl-temp__picker label[for="t-5000"] { outline: var(--focus-ring); outline-offset: var(--focus-ring-offset); }
.bnl-page--products-deck-dock #t-7000:checked ~ .bnl-temp__body .bnl-temp__img--7000 { opacity: 1; }
.bnl-page--products-deck-dock #t-7000:checked ~ .bnl-temp__body .bnl-temp__info--7000 { display: block; }
.bnl-page--products-deck-dock #t-7000:checked ~ .bnl-temp__body .bnl-temp__picker label[for="t-7000"] { border-color: var(--color-primary); color: var(--color-text); box-shadow: var(--shadow-glow-teal); }
.bnl-page--products-deck-dock #t-7000:focus-visible ~ .bnl-temp__body .bnl-temp__picker label[for="t-7000"] { outline: var(--focus-ring); outline-offset: var(--focus-ring-offset); }


/* Rev 24: the stage frame glows in the selected wash color */
.bnl-page--products-deck-dock #cwc-red:checked ~ .bnl-cw__stage { border-color: #E23B3B; box-shadow: 0 0 0 1px color-mix(in srgb, #E23B3B 30%, transparent), 0 0 26px color-mix(in srgb, #E23B3B 45%, transparent), 0 0 78px color-mix(in srgb, #E23B3B 20%, transparent); }
.bnl-page--products-deck-dock #cwc-orange:checked ~ .bnl-cw__stage { border-color: #F5761A; box-shadow: 0 0 0 1px color-mix(in srgb, #F5761A 30%, transparent), 0 0 26px color-mix(in srgb, #F5761A 45%, transparent), 0 0 78px color-mix(in srgb, #F5761A 20%, transparent); }
.bnl-page--products-deck-dock #cwc-yellow:checked ~ .bnl-cw__stage { border-color: #F0C41B; box-shadow: 0 0 0 1px color-mix(in srgb, #F0C41B 30%, transparent), 0 0 26px color-mix(in srgb, #F0C41B 45%, transparent), 0 0 78px color-mix(in srgb, #F0C41B 20%, transparent); }
.bnl-page--products-deck-dock #cwc-green:checked ~ .bnl-cw__stage { border-color: #3FBF3F; box-shadow: 0 0 0 1px color-mix(in srgb, #3FBF3F 30%, transparent), 0 0 26px color-mix(in srgb, #3FBF3F 45%, transparent), 0 0 78px color-mix(in srgb, #3FBF3F 20%, transparent); }
.bnl-page--products-deck-dock #cwc-teal:checked ~ .bnl-cw__stage { border-color: #14B8A6; box-shadow: 0 0 0 1px color-mix(in srgb, #14B8A6 30%, transparent), 0 0 26px color-mix(in srgb, #14B8A6 45%, transparent), 0 0 78px color-mix(in srgb, #14B8A6 20%, transparent); }
.bnl-page--products-deck-dock #cwc-cyan:checked ~ .bnl-cw__stage { border-color: #22C7EE; box-shadow: 0 0 0 1px color-mix(in srgb, #22C7EE 30%, transparent), 0 0 26px color-mix(in srgb, #22C7EE 45%, transparent), 0 0 78px color-mix(in srgb, #22C7EE 20%, transparent); }
.bnl-page--products-deck-dock #cwc-blue:checked ~ .bnl-cw__stage { border-color: #2E5BFF; box-shadow: 0 0 0 1px color-mix(in srgb, #2E5BFF 30%, transparent), 0 0 26px color-mix(in srgb, #2E5BFF 45%, transparent), 0 0 78px color-mix(in srgb, #2E5BFF 20%, transparent); }
.bnl-page--products-deck-dock #cwc-indigo:checked ~ .bnl-cw__stage { border-color: #5B3FD4; box-shadow: 0 0 0 1px color-mix(in srgb, #5B3FD4 30%, transparent), 0 0 26px color-mix(in srgb, #5B3FD4 45%, transparent), 0 0 78px color-mix(in srgb, #5B3FD4 20%, transparent); }
.bnl-page--products-deck-dock #cwc-purple:checked ~ .bnl-cw__stage { border-color: #9A3FD4; box-shadow: 0 0 0 1px color-mix(in srgb, #9A3FD4 30%, transparent), 0 0 26px color-mix(in srgb, #9A3FD4 45%, transparent), 0 0 78px color-mix(in srgb, #9A3FD4 20%, transparent); }
.bnl-page--products-deck-dock #cwc-pink:checked ~ .bnl-cw__stage { border-color: #E23B8E; box-shadow: 0 0 0 1px color-mix(in srgb, #E23B8E 30%, transparent), 0 0 26px color-mix(in srgb, #E23B8E 45%, transparent), 0 0 78px color-mix(in srgb, #E23B8E 20%, transparent); }
.bnl-page--products-deck-dock #cwc-red:checked ~ .bnl-cw__stage .bnl-cw__img--red { opacity: 1; }
.bnl-page--products-deck-dock #cwc-red:checked ~ .bnl-cw__stage .bnl-cw__nav--for-red { display: grid; }
.bnl-page--products-deck-dock #cwc-red:checked ~ .bnl-cw__swatches label[for="cwc-red"] { color: var(--color-text); }
.bnl-page--products-deck-dock #cwc-red:checked ~ .bnl-cw__swatches label[for="cwc-red"] .bnl-cw__dot { box-shadow: 0 0 0 3px var(--color-bg), 0 0 0 5px var(--sw), 0 0 22px var(--sw); }
.bnl-page--products-deck-dock #cwc-red:focus-visible ~ .bnl-cw__swatches label[for="cwc-red"] { outline: var(--focus-ring); outline-offset: var(--focus-ring-offset); }
.bnl-page--products-deck-dock #cwc-orange:checked ~ .bnl-cw__stage .bnl-cw__img--orange { opacity: 1; }
.bnl-page--products-deck-dock #cwc-orange:checked ~ .bnl-cw__stage .bnl-cw__nav--for-orange { display: grid; }
.bnl-page--products-deck-dock #cwc-orange:checked ~ .bnl-cw__swatches label[for="cwc-orange"] { color: var(--color-text); }
.bnl-page--products-deck-dock #cwc-orange:checked ~ .bnl-cw__swatches label[for="cwc-orange"] .bnl-cw__dot { box-shadow: 0 0 0 3px var(--color-bg), 0 0 0 5px var(--sw), 0 0 22px var(--sw); }
.bnl-page--products-deck-dock #cwc-orange:focus-visible ~ .bnl-cw__swatches label[for="cwc-orange"] { outline: var(--focus-ring); outline-offset: var(--focus-ring-offset); }
.bnl-page--products-deck-dock #cwc-yellow:checked ~ .bnl-cw__stage .bnl-cw__img--yellow { opacity: 1; }
.bnl-page--products-deck-dock #cwc-yellow:checked ~ .bnl-cw__stage .bnl-cw__nav--for-yellow { display: grid; }
.bnl-page--products-deck-dock #cwc-yellow:checked ~ .bnl-cw__swatches label[for="cwc-yellow"] { color: var(--color-text); }
.bnl-page--products-deck-dock #cwc-yellow:checked ~ .bnl-cw__swatches label[for="cwc-yellow"] .bnl-cw__dot { box-shadow: 0 0 0 3px var(--color-bg), 0 0 0 5px var(--sw), 0 0 22px var(--sw); }
.bnl-page--products-deck-dock #cwc-yellow:focus-visible ~ .bnl-cw__swatches label[for="cwc-yellow"] { outline: var(--focus-ring); outline-offset: var(--focus-ring-offset); }
.bnl-page--products-deck-dock #cwc-green:checked ~ .bnl-cw__stage .bnl-cw__img--green { opacity: 1; }
.bnl-page--products-deck-dock #cwc-green:checked ~ .bnl-cw__stage .bnl-cw__nav--for-green { display: grid; }
.bnl-page--products-deck-dock #cwc-green:checked ~ .bnl-cw__swatches label[for="cwc-green"] { color: var(--color-text); }
.bnl-page--products-deck-dock #cwc-green:checked ~ .bnl-cw__swatches label[for="cwc-green"] .bnl-cw__dot { box-shadow: 0 0 0 3px var(--color-bg), 0 0 0 5px var(--sw), 0 0 22px var(--sw); }
.bnl-page--products-deck-dock #cwc-green:focus-visible ~ .bnl-cw__swatches label[for="cwc-green"] { outline: var(--focus-ring); outline-offset: var(--focus-ring-offset); }
.bnl-page--products-deck-dock #cwc-teal:checked ~ .bnl-cw__stage .bnl-cw__img--teal { opacity: 1; }
.bnl-page--products-deck-dock #cwc-teal:checked ~ .bnl-cw__stage .bnl-cw__nav--for-teal { display: grid; }
.bnl-page--products-deck-dock #cwc-teal:checked ~ .bnl-cw__swatches label[for="cwc-teal"] { color: var(--color-text); }
.bnl-page--products-deck-dock #cwc-teal:checked ~ .bnl-cw__swatches label[for="cwc-teal"] .bnl-cw__dot { box-shadow: 0 0 0 3px var(--color-bg), 0 0 0 5px var(--sw), 0 0 22px var(--sw); }
.bnl-page--products-deck-dock #cwc-teal:focus-visible ~ .bnl-cw__swatches label[for="cwc-teal"] { outline: var(--focus-ring); outline-offset: var(--focus-ring-offset); }
.bnl-page--products-deck-dock #cwc-cyan:checked ~ .bnl-cw__stage .bnl-cw__img--cyan { opacity: 1; }
.bnl-page--products-deck-dock #cwc-cyan:checked ~ .bnl-cw__stage .bnl-cw__nav--for-cyan { display: grid; }
.bnl-page--products-deck-dock #cwc-cyan:checked ~ .bnl-cw__swatches label[for="cwc-cyan"] { color: var(--color-text); }
.bnl-page--products-deck-dock #cwc-cyan:checked ~ .bnl-cw__swatches label[for="cwc-cyan"] .bnl-cw__dot { box-shadow: 0 0 0 3px var(--color-bg), 0 0 0 5px var(--sw), 0 0 22px var(--sw); }
.bnl-page--products-deck-dock #cwc-cyan:focus-visible ~ .bnl-cw__swatches label[for="cwc-cyan"] { outline: var(--focus-ring); outline-offset: var(--focus-ring-offset); }
.bnl-page--products-deck-dock #cwc-blue:checked ~ .bnl-cw__stage .bnl-cw__img--blue { opacity: 1; }
.bnl-page--products-deck-dock #cwc-blue:checked ~ .bnl-cw__stage .bnl-cw__nav--for-blue { display: grid; }
.bnl-page--products-deck-dock #cwc-blue:checked ~ .bnl-cw__swatches label[for="cwc-blue"] { color: var(--color-text); }
.bnl-page--products-deck-dock #cwc-blue:checked ~ .bnl-cw__swatches label[for="cwc-blue"] .bnl-cw__dot { box-shadow: 0 0 0 3px var(--color-bg), 0 0 0 5px var(--sw), 0 0 22px var(--sw); }
.bnl-page--products-deck-dock #cwc-blue:focus-visible ~ .bnl-cw__swatches label[for="cwc-blue"] { outline: var(--focus-ring); outline-offset: var(--focus-ring-offset); }
.bnl-page--products-deck-dock #cwc-indigo:checked ~ .bnl-cw__stage .bnl-cw__img--indigo { opacity: 1; }
.bnl-page--products-deck-dock #cwc-indigo:checked ~ .bnl-cw__stage .bnl-cw__nav--for-indigo { display: grid; }
.bnl-page--products-deck-dock #cwc-indigo:checked ~ .bnl-cw__swatches label[for="cwc-indigo"] { color: var(--color-text); }
.bnl-page--products-deck-dock #cwc-indigo:checked ~ .bnl-cw__swatches label[for="cwc-indigo"] .bnl-cw__dot { box-shadow: 0 0 0 3px var(--color-bg), 0 0 0 5px var(--sw), 0 0 22px var(--sw); }
.bnl-page--products-deck-dock #cwc-indigo:focus-visible ~ .bnl-cw__swatches label[for="cwc-indigo"] { outline: var(--focus-ring); outline-offset: var(--focus-ring-offset); }
.bnl-page--products-deck-dock #cwc-purple:checked ~ .bnl-cw__stage .bnl-cw__img--purple { opacity: 1; }
.bnl-page--products-deck-dock #cwc-purple:checked ~ .bnl-cw__stage .bnl-cw__nav--for-purple { display: grid; }
.bnl-page--products-deck-dock #cwc-purple:checked ~ .bnl-cw__swatches label[for="cwc-purple"] { color: var(--color-text); }
.bnl-page--products-deck-dock #cwc-purple:checked ~ .bnl-cw__swatches label[for="cwc-purple"] .bnl-cw__dot { box-shadow: 0 0 0 3px var(--color-bg), 0 0 0 5px var(--sw), 0 0 22px var(--sw); }
.bnl-page--products-deck-dock #cwc-purple:focus-visible ~ .bnl-cw__swatches label[for="cwc-purple"] { outline: var(--focus-ring); outline-offset: var(--focus-ring-offset); }
.bnl-page--products-deck-dock #cwc-pink:checked ~ .bnl-cw__stage .bnl-cw__img--pink { opacity: 1; }
.bnl-page--products-deck-dock #cwc-pink:checked ~ .bnl-cw__stage .bnl-cw__nav--for-pink { display: grid; }
.bnl-page--products-deck-dock #cwc-pink:checked ~ .bnl-cw__swatches label[for="cwc-pink"] { color: var(--color-text); }
.bnl-page--products-deck-dock #cwc-pink:checked ~ .bnl-cw__swatches label[for="cwc-pink"] .bnl-cw__dot { box-shadow: 0 0 0 3px var(--color-bg), 0 0 0 5px var(--sw), 0 0 22px var(--sw); }
.bnl-page--products-deck-dock #cwc-pink:focus-visible ~ .bnl-cw__swatches label[for="cwc-pink"] { outline: var(--focus-ring); outline-offset: var(--focus-ring-offset); }

/* ---- Testimonials ---- */
.bnl-page--products-deck-dock .bnl-quote {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}
.bnl-page--products-deck-dock .bnl-quote__stars {
  color: var(--color-orange);
  letter-spacing: .15em;
  font-size: var(--text-small);
}
.bnl-page--products-deck-dock .bnl-quote blockquote {
  margin: 0;
  font-style: italic;
  color: var(--color-text);
}
.bnl-page--products-deck-dock .bnl-quote figcaption {
  color: var(--color-text-muted);
  font-size: var(--text-small);
  font-family: var(--font-heading-proposed);
  font-weight: var(--font-weight-semibold);
}

/* ---- Before & After ---- */
.bnl-page--products-deck-dock .bnl-ba {
  display: grid;
  gap: var(--space-md);
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}
.bnl-page--products-deck-dock .bnl-ba figure { margin: 0; }
.bnl-page--products-deck-dock .bnl-ba img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-md);
  display: block;
}
.bnl-page--products-deck-dock .bnl-ba figcaption {
  font-family: var(--font-heading-proposed);
  font-size: var(--text-small);
  font-weight: var(--font-weight-semibold);
  letter-spacing: var(--letter-spacing-heading);
  text-transform: uppercase;
  color: var(--color-text-muted);
  margin-top: var(--space-sm);
  text-align: center;
}

/* ---- Benefits grid ---- */
.bnl-page--products-deck-dock .bnl-grid {
  display: grid;
  gap: var(--space-ml);
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.bnl-page--products-deck-dock .bnl-card {
  position: relative;
  background: var(--color-bg-elevated);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: var(--space-ml);
  box-shadow: var(--shadow-sm);
  box-shadow: var(--glow-ambient-teal);
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}
.bnl-page--products-deck-dock .bnl-card:hover {
  box-shadow: var(--shadow-glow-teal);
  transform: translateY(-2px);
}
.bnl-page--products-deck-dock .bnl-card__title {
  font-family: var(--font-heading-proposed);
  font-size: var(--text-h3);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-heading);
  letter-spacing: -0.01em;
  margin: 0 0 var(--space-sm);
  color: var(--color-primary);
}
.bnl-page--products-deck-dock .bnl-card__body {
  margin: 0;
  color: var(--color-text-muted);
}

/* ---- Spec + comparison tables ---- */
.bnl-page--products-deck-dock .bnl-table-scroll {
  overflow-x: auto;
}
.bnl-page--products-deck-dock .bnl-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
}
.bnl-page--products-deck-dock .bnl-table__cell,
.bnl-page--products-deck-dock .bnl-table__head {
  padding: var(--space-md);
  border-bottom: 1px solid var(--color-border);
}
.bnl-page--products-deck-dock .bnl-table__head {
  font-family: var(--font-heading-proposed);
  font-weight: var(--font-weight-semibold);
  letter-spacing: -0.01em;
  color: var(--color-orange);
  white-space: nowrap;
}
.bnl-page--products-deck-dock .bnl-table__cell--label {
  color: var(--color-text);
  font-weight: var(--font-weight-semibold);
  white-space: nowrap;
}
.bnl-page--products-deck-dock .bnl-table__cell {
  color: var(--color-text-muted);
}
.bnl-page--products-deck-dock .bnl-compare {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  box-shadow: var(--glow-ambient-teal);
}
.bnl-page--products-deck-dock .bnl-compare .bnl-table__head {
  white-space: normal;
  text-align: center;
  vertical-align: middle;
  min-width: 170px;
}
.bnl-page--products-deck-dock .bnl-compare .bnl-table__head--brand {
  color: var(--color-primary);
  text-align: center;
  font-size: clamp(17px, 2.3vw, 22px);
  line-height: 1.25;
  min-width: 230px;
}
.bnl-page--products-deck-dock .bnl-compare .bnl-table__cell--brand {
  text-align: center;
}
.bnl-page--products-deck-dock .bnl-compare .bnl-table__cell--brand {
  color: var(--color-text);
  background: color-mix(in srgb, var(--color-primary) 6%, transparent);
}
.bnl-page--products-deck-dock .bnl-compare__foot {
  font-size: var(--text-small);
  color: var(--color-text-muted);
  margin-top: var(--space-md);
}

/* ---- Process steps ---- */
.bnl-page--products-deck-dock .bnl-steps {
  list-style: none;
  counter-reset: bnl-step;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--space-ml);
}
.bnl-page--products-deck-dock .bnl-steps__item {
  counter-increment: bnl-step;
  position: relative;
  padding-left: var(--space-xl);
  color: var(--color-text-muted);
}
.bnl-page--products-deck-dock .bnl-steps__item::before {
  content: counter(bnl-step);
  position: absolute;
  left: 0;
  top: 0;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: var(--radius-pill);
  background: var(--gradient-brand);
  color: var(--color-white);
  font-family: var(--font-heading-proposed);
  font-weight: var(--font-weight-bold);
  box-shadow: var(--glow-ambient-pink);
}
.bnl-page--products-deck-dock .bnl-steps__title {
  display: block;
  color: var(--color-text);
  font-weight: var(--font-weight-semibold);
  margin-bottom: var(--space-xs);
}

/* ---- Contractor band ---- */
.bnl-page--products-deck-dock .bnl-pro-band {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: var(--space-lg);
  background: var(--color-bg-elevated);
  box-shadow: var(--shadow-sm);
  box-shadow: var(--glow-ambient-pink);
  display: grid;
  gap: var(--space-md);
}
.bnl-page--products-deck-dock .bnl-pro-band__title {
  font-family: var(--font-heading-proposed);
  font-size: var(--text-h3);
  font-weight: var(--font-weight-semibold);
  margin: 0;
}
.bnl-page--products-deck-dock .bnl-pro-band__body {
  margin: 0;
  color: var(--color-text-muted);
}

/* ---- Gallery ---- */
.bnl-page--products-deck-dock .bnl-gallery {
  display: grid;
  gap: var(--space-md);
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  margin: 0;
}
.bnl-page--products-deck-dock .bnl-gallery__figure {
  margin: 0;
}
.bnl-page--products-deck-dock .bnl-gallery__img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-md);
  display: block;
}


/* ---- Tech panel (controller) ---- */
.bnl-page--products-deck-dock .bnl-tech {
  display: grid;
  justify-items: center;
}
.bnl-page--products-deck-dock .bnl-tech__media-wrap {
  position: relative;
  max-width: 820px;
  width: 100%;
}
.bnl-page--products-deck-dock .bnl-tech__media-wrap::before {
  content: "";
  position: absolute;
  inset: 6% 8%;
  background: var(--gradient-brand);
  filter: blur(70px);
  opacity: 0.22;
}
.bnl-page--products-deck-dock .bnl-tech__media {
  position: relative;
  width: 100%;
  height: auto;
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-sm);
}

/* ---- Ecosystem map (clickable systems) ---- */
.bnl-page--products-deck-dock .bnl-eco {
  position: relative;
  max-width: 860px;
  margin: 0 auto;
  padding: var(--space-sm);
  background: var(--color-bg-elevated);
  border: 1px solid color-mix(in srgb, var(--color-pink) 45%, var(--color-border));
  border-radius: var(--radius-md);
  box-shadow: var(--glow-ambient-teal), var(--glow-ambient-pink);
}
.bnl-page--products-deck-dock .bnl-eco__img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-md);
  border: 1px solid var(--color-border);
  display: block;
}
.bnl-page--products-deck-dock .bnl-eco__hot {
  position: absolute;
  display: block;
  border-radius: var(--radius-sm);
  border: 1px solid transparent;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.bnl-page--products-deck-dock .bnl-eco__hot:hover,
.bnl-page--products-deck-dock .bnl-eco__hot:focus-visible {
  border-color: var(--color-primary);
  box-shadow: var(--shadow-glow-teal);
}

/* ---- FAQ ---- */
.bnl-page--products-deck-dock .bnl-faq__item {
  border-bottom: 1px solid var(--color-border);
  padding: var(--space-md) 0;
}
.bnl-page--products-deck-dock .bnl-faq__q {
  cursor: pointer;
  min-height: 44px;
  display: flex;
  align-items: center;
}
.bnl-page--products-deck-dock .bnl-faq__q-text {
  font-family: var(--font-heading-proposed);
  font-size: var(--text-h3);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-heading);
  letter-spacing: -0.01em;
  margin: 0;
  display: inline;
}
.bnl-page--products-deck-dock .bnl-faq__a {
  color: var(--color-text-muted);
  margin: var(--space-sm) 0 0;
}

/* ---- CTA band ---- */
.bnl-page--products-deck-dock .bnl-cta-band {
  position: relative;
  background:
    radial-gradient(70% 42% at 36% 30%, color-mix(in srgb, var(--color-pink) 10%, transparent), transparent 60%),
    radial-gradient(70% 42% at 66% 44%, color-mix(in srgb, var(--color-primary) 9%, transparent), transparent 60%),
    linear-gradient(180deg,
      transparent 0%,
      color-mix(in srgb, var(--color-bg-elevated) 55%, transparent) 16%,
      color-mix(in srgb, var(--color-bg-elevated) 90%, transparent) 42%,
      color-mix(in srgb, var(--color-bg-elevated) 90%, transparent) 70%,
      color-mix(in srgb, var(--color-bg-elevated) 45%, transparent) 88%,
      transparent 100%);
  text-align: center;
  overflow: hidden;
}
/* Rev 24: blurred blob retired — its hard clip line at the band's top edge was
   the last visible seam. The glow now lives in contained radial pools below. */
.bnl-page--products-deck-dock .bnl-cta-band::before { content: none; }
.bnl-page--products-deck-dock .bnl-cta-band .bnl-section__inner {
  position: relative;
}
.bnl-page--products-deck-dock .bnl-cta-band .bnl-btn-row {
  justify-content: center;
}
.bnl-page--products-deck-dock .bnl-cta-band .bnl-lede {
  margin-left: auto;
  margin-right: auto;
  max-width: 760px;
}

@media (min-width: 768px) {
  .bnl-page--products-deck-dock .bnl-section {
    padding: var(--space-xl) var(--space-lg);
  }
  .bnl-page--products-deck-dock .bnl-steps__item {
    padding-left: var(--space-2xl);
  }
  .bnl-page--products-deck-dock .bnl-pro-band {
    grid-template-columns: 1fr auto;
    align-items: center;
  }
}
@media (prefers-reduced-motion: reduce) {
  .bnl-page--products-deck-dock .bnl-btn,
  .bnl-page--products-deck-dock .bnl-card {
    transition: none;
  }
  .bnl-page--products-deck-dock .bnl-card:hover {
    transform: none;
  }
}

#contractors .bnl-pro2{max-width:980px;margin:0 auto;text-align:center;}
    #contractors .bnl-pro2 h2{margin-bottom:14px;}
    #contractors .bnl-pro2 .bnl-lede{max-width:760px;margin:0 auto 30px;}
    #contractors .bnl-pro2__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:14px;margin:0 0 32px;}
    #contractors .bnl-pro2__tile{display:flex;align-items:center;gap:12px;text-align:left;
      padding:16px 18px;border-radius:14px;border:1px solid color-mix(in srgb, var(--color-primary) 32%, transparent);
      background:color-mix(in srgb, var(--color-primary) 6%, transparent);font-weight:600;font-size:.95rem;line-height:1.35;}
    #contractors .bnl-pro2__tile svg{flex:none;width:20px;height:20px;stroke:var(--color-primary);}
    #contractors .bnl-pro2__cta{display:inline-block;}
    @media (max-width:640px){#contractors .bnl-pro2__grid{grid-template-columns:1fr 1fr;} #contractors .bnl-pro2__tile{font-size:.88rem;padding:13px 14px;}}

/* ===== Interactive Glow Layer (Austen 07-27: everything clickable glows, heavy) ===== */
:root{
  --hglow-pink: 0 0 14px rgba(227,5,107,.55), 0 0 44px rgba(227,5,107,.38);
  --hglow-pink-hi: 0 0 18px rgba(227,5,107,.75), 0 0 60px rgba(227,5,107,.5);
  --hglow-teal: 0 0 14px rgba(0,169,181,.5), 0 0 40px rgba(0,169,181,.32);
  --hglow-teal-hi: 0 0 18px rgba(0,169,181,.7), 0 0 56px rgba(0,169,181,.45);
  --hglow-teal-soft: 0 0 10px rgba(53,207,201,.28), 0 0 26px rgba(53,207,201,.18);
}
/* Hover lift + grow on all buttons */
.bnl-page--products-deck-dock .bnl-btn{transition:box-shadow .2s ease,background-color .2s ease,transform .18s ease;will-change:transform}
.bnl-page--products-deck-dock .bnl-btn:hover{transform:translateY(-2px) scale(1.05)}
.bnl-page--products-deck-dock .bnl-btn:active{transform:translateY(0) scale(0.98)}
@media (prefers-reduced-motion:reduce){.bnl-page--products-deck-dock .bnl-btn,.bnl-page--products-deck-dock .bnl-btn:hover{transform:none;transition:box-shadow .2s ease,background-color .2s ease}}
/* Hero title: larger + deeper overlap onto the video */
.bnl-page--products-deck-dock .bnl-hero__title{font-size:clamp(2.7rem,6.2vw,4.8rem);text-shadow:0 3px 22px rgba(0,0,0,.85),0 0 40px rgba(0,0,0,.5)}
.bnl-page--products-deck-dock .bnl-hero__content{margin-top:-96px}
@media (min-width:900px){.bnl-page--products-deck-dock .bnl-hero__content{margin-top:-170px}}
/* Buttons */
.bnl-page--products-deck-dock .bnl-btn--primary{box-shadow:var(--hglow-pink)}
.bnl-page--products-deck-dock .bnl-btn--primary:hover{box-shadow:var(--hglow-pink-hi);background:color-mix(in srgb, var(--color-pink) 14%, transparent)}
.bnl-page--products-deck-dock .bnl-btn--secondary{box-shadow:var(--hglow-teal)}
.bnl-page--products-deck-dock .bnl-btn--secondary:hover{box-shadow:var(--hglow-teal-hi)}
.bnl-page--products-deck-dock .bnl-btn--ghost{box-shadow:var(--hglow-pink)}
.bnl-page--products-deck-dock .bnl-btn--ghost:hover{box-shadow:var(--hglow-pink-hi)}
/* Text links */
.bnl-page--products-deck-dock .bnl-link{text-shadow:0 0 12px rgba(0,169,181,.75)}
.bnl-page--products-deck-dock .bnl-link:hover{text-shadow:0 0 16px rgba(0,169,181,1)}
/* FAQ questions */
.bnl-page--products-deck-dock .bnl-faq__q{text-shadow:0 0 10px rgba(255,255,255,.22);transition:text-shadow .2s ease,color .2s ease}
.bnl-page--products-deck-dock .bnl-faq__q:hover{color:var(--color-primary);text-shadow:0 0 14px rgba(0,169,181,.8)}
/* Before/after slider handle (range thumb) */
.bnl-page--products-deck-dock .bnl-ba-slider__range::-webkit-slider-thumb{box-shadow:var(--hglow-teal)}
.bnl-page--products-deck-dock .bnl-ba-slider__range::-moz-range-thumb{box-shadow:var(--hglow-teal)}
/* Holiday season cards (hover-zoom targets) */
.bnl-page--products-deck-dock .bnl-season__card{box-shadow:var(--hglow-teal-soft);border-radius:14px}
/* Spec panel interactives */
#specs .bnl-sp__nav-item, #specs .bnl-sp__feat, #specs .bnl-sp__kit-chip,
#specs .bnl-sp__dl, #specs .bnl-sp__dl-cta, #specs .bnl-sp__back{box-shadow:var(--hglow-teal-soft)}
#specs .bnl-sp__row{box-shadow:inset 0 0 0 1px rgba(53,207,201,.10), var(--hglow-teal-soft)}
#specs .bnl-sp__nav-item:hover, #specs .bnl-sp__feat:hover, #specs .bnl-sp__kit-chip:hover,
#specs .bnl-sp__dl:hover, #specs .bnl-sp__row:hover{box-shadow:var(--hglow-teal)}
#specs .bnl-sp__dl-cta:hover{box-shadow:var(--hglow-teal-hi)}
@media (prefers-reduced-motion:reduce){
  .bnl-page--products-deck-dock .bnl-faq__q{transition:none}
}

/* ---- Build scaffold styling: placeholders only, never ships ---- */
.bnl-page--products-deck-dock .bnl-slot{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  width:100%;border-radius:14px;text-align:center;padding:22px;
  border:2px dashed color-mix(in srgb, var(--color-primary) 45%, transparent);
  background:repeating-linear-gradient(45deg,color-mix(in srgb,var(--color-primary) 5%,transparent) 0 12px,transparent 12px 24px);
}
.bnl-page--products-deck-dock .bnl-slot__n{font-weight:800;letter-spacing:.12em;font-size:.72rem;color:var(--color-primary);}
.bnl-page--products-deck-dock .bnl-slot__k{font-size:.62rem;letter-spacing:.18em;opacity:.65;}
.bnl-page--products-deck-dock .bnl-slot__t{font-weight:700;font-size:1rem;}
.bnl-page--products-deck-dock .bnl-slot__d{font-size:.82rem;opacity:.68;max-width:52ch;line-height:1.45;}
.bnl-page--products-deck-dock .bnl-pend{
  display:inline-block;padding:2px 10px;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.06em;
  color:var(--color-pink);border:1px solid var(--color-pink);
  background:color-mix(in srgb,var(--color-pink) 12%,transparent);}
.bnl-page--products-deck-dock .bnl-blocker{
  max-width:820px;margin:0 auto;text-align:left;padding:26px 28px;border-radius:16px;
  border:1.5px solid var(--color-pink);background:color-mix(in srgb,var(--color-pink) 7%,transparent);}
.bnl-page--products-deck-dock .bnl-blocker p{margin:0 0 12px;line-height:1.6;font-size:.95rem;}
.bnl-page--products-deck-dock .bnl-blocker__h{font-weight:800;font-size:1.15rem;color:var(--color-pink);}
.bnl-page--products-deck-dock .bnl-blocker__note{font-size:.85rem;opacity:.75;margin-bottom:0;}

.bnl-page--products-deck-dock .bnl-hero__video{
  display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit;}

/* ===== deck-dock interactives — restrained, hairline, no glow spam ===== */
.bnl-page--products-deck-dock .bnl-mood,


/* ---------- MOOD (auto slider) ---------- */
.bnl-page--products-deck-dock .bnl-mood{max-width:560px;margin:0 auto;}
.bnl-page--products-deck-dock .bnl-mood__stage{position:relative;aspect-ratio:3/4;border-radius:20px;
  overflow:hidden;background:#05070a;border:1px solid rgba(255,255,255,.09);}
.bnl-page--products-deck-dock .bnl-mood__frame{position:absolute;inset:0;margin:0;opacity:0;
  transition:opacity .9s var(--ease);}
.bnl-page--products-deck-dock .bnl-mood__frame.is-active{opacity:1;}
.bnl-page--products-deck-dock .bnl-mood__frame img{width:100%;height:100%;object-fit:cover;display:block;}
.bnl-page--products-deck-dock .bnl-mood__scrim{position:absolute;inset:auto 0 0 0;height:38%;
  background:linear-gradient(to top,rgba(0,0,0,.72),transparent);}
.bnl-page--products-deck-dock .bnl-mood__meta{position:absolute;left:22px;bottom:22px;display:grid;gap:1px;}
.bnl-page--products-deck-dock .bnl-mood__name{font-size:1.4rem;font-weight:600;letter-spacing:-.01em;color:#fff;}
.bnl-page--products-deck-dock .bnl-mood__mood{font-size:.8rem;color:rgba(255,255,255,.62);}
.bnl-page--products-deck-dock .bnl-mood__bar{position:absolute;left:0;right:0;bottom:0;height:2px;
  background:rgba(255,255,255,.14);}
.bnl-page--products-deck-dock .bnl-mood__bar i{display:block;height:100%;width:0;background:#fff;opacity:.85;}
.bnl-page--products-deck-dock .bnl-mood__dots{display:flex;gap:6px;justify-content:center;margin:16px 0 0;flex-wrap:wrap;}
.bnl-page--products-deck-dock .bnl-mood__dot{width:34px;height:34px;display:grid;place-items:center;
  border:0;background:none;cursor:pointer;padding:0;}
.bnl-page--products-deck-dock .bnl-mood__dot span{width:7px;height:7px;border-radius:50%;
  background:rgba(255,255,255,.26);transition:all .3s var(--ease);}
.bnl-page--products-deck-dock .bnl-mood__dot.is-active span{width:22px;border-radius:4px;background:var(--c);}
.bnl-page--products-deck-dock .bnl-mood__dot:focus-visible{outline:var(--focus-ring);outline-offset:2px;border-radius:8px;}
.bnl-page--products-deck-dock .bnl-mood__pause,

.bnl-page--products-deck-dock .bnl-mood__pause:hover,

.bnl-page--products-deck-dock .bnl-mood__live,

/* ---------- YEAR DIAL ---------- */

@media (max-width:860px){}








/* the dial itself — 196px, hairline, no fill */
















/* ---------- FIXTURE ---------- */
.bnl-page--products-deck-dock .bnl-fix{display:grid;grid-template-columns:1fr;
  gap:clamp(22px,4vw,52px);align-items:center;max-width:1080px;margin:0 auto;text-align:left;}
@media (max-width:860px){.bnl-page--products-deck-dock .bnl-fix{grid-template-columns:1fr;}}
.bnl-page--products-deck-dock .bnl-fix__media{border-radius:20px;overflow:hidden;background:#05070a;
  border:1px solid rgba(255,255,255,.09);aspect-ratio:4/5;}
.bnl-page--products-deck-dock .bnl-fix__media img{width:100%;height:100%;object-fit:cover;display:block;}
.bnl-page--products-deck-dock .bnl-fix__h{font-size:clamp(1.4rem,3vw,2.05rem);font-weight:700;margin:6px 0 14px;letter-spacing:-.015em;}
.bnl-page--products-deck-dock .bnl-fix__p{opacity:.76;line-height:1.62;margin:0 0 22px;font-size:.96rem;}
.bnl-page--products-deck-dock .bnl-fix__list{list-style:none;margin:0;padding:0;display:grid;gap:14px;}
.bnl-page--products-deck-dock .bnl-fix__list li{display:grid;gap:2px;padding-left:15px;border-left:2px solid rgba(255,255,255,.13);}
.bnl-page--products-deck-dock .bnl-fix__list b{font-size:.93rem;font-weight:650;}
.bnl-page--products-deck-dock .bnl-fix__list span{font-size:.86rem;opacity:.62;line-height:1.5;}

/* ---------- SPEC TABLE ---------- */
.bnl-page--products-deck-dock .bnl-spec{max-width:760px;margin:0 auto;text-align:left;
  border-top:1px solid rgba(255,255,255,.1);}
.bnl-page--products-deck-dock .bnl-spec__row{display:grid;grid-template-columns:1fr 1.3fr;gap:16px;
  padding:15px 4px;border-bottom:1px solid rgba(255,255,255,.1);}
@media (max-width:560px){.bnl-page--products-deck-dock .bnl-spec__row{grid-template-columns:1fr;gap:3px;}}
.bnl-page--products-deck-dock .bnl-spec__k{font-size:.86rem;opacity:.55;}
.bnl-page--products-deck-dock .bnl-spec__v{font-size:.94rem;font-weight:600;}
.bnl-page--products-deck-dock .bnl-spec__note{max-width:760px;margin:18px auto 0;font-size:.82rem;opacity:.5;text-align:left;}

@media (prefers-reduced-motion:reduce){
  .bnl-page--products-deck-dock .bnl-mood__frame,
  .bnl-page--products-deck-dock .bnl-mood__bar i{display:none;}}

.bnl-page--products-deck-dock .bnl-fix__brow{font-size:clamp(1.55rem,3vw,2.1rem);font-weight:700;
  letter-spacing:-.02em;margin:0;line-height:1.05;}
.bnl-page--products-deck-dock .bnl-fix__sub{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;
  opacity:.45;margin:5px 0 16px;}
.bnl-page--products-deck-dock .bnl-warr{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
  max-width:820px;margin:26px auto 0;}
@media (max-width:680px){.bnl-page--products-deck-dock .bnl-warr{grid-template-columns:repeat(2,1fr);}}
.bnl-page--products-deck-dock .bnl-warr__item{display:grid;justify-items:center;gap:1px;padding:20px 12px;
  border:1px solid rgba(255,255,255,.1);border-radius:16px;text-align:center;}
.bnl-page--products-deck-dock .bnl-warr__yr{font-size:2.2rem;font-weight:700;line-height:1;letter-spacing:-.03em;}
.bnl-page--products-deck-dock .bnl-warr__lbl{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;opacity:.42;}
.bnl-page--products-deck-dock .bnl-warr__what{font-size:.8rem;opacity:.66;margin-top:8px;line-height:1.35;}

.bnl-page--products-deck-dock .bnl-k{max-width:1080px;margin:44px auto 0;--ease:cubic-bezier(.22,.61,.36,1);}
.bnl-page--products-deck-dock .bnl-k__lead{font-size:.92rem;opacity:.64;margin:0 0 18px;text-align:center;}
.bnl-page--products-deck-dock .bnl-k__strip{display:flex;gap:8px;height:min(56vh,470px);}
.bnl-page--products-deck-dock .bnl-k__panel{position:relative;flex:1 1 0;min-width:0;border:0;padding:0;
  border-radius:16px;overflow:hidden;cursor:pointer;background:#05070a;
  border:1px solid rgba(255,255,255,.09);
  transition:flex-grow .55s var(--ease);}
.bnl-page--products-deck-dock .bnl-k__panel.is-open{flex-grow:2.9;}
.bnl-page--products-deck-dock .bnl-k__panel img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .55s var(--ease);}
.bnl-page--products-deck-dock .bnl-k__panel.is-open img{transform:scale(1.02);}
.bnl-page--products-deck-dock .bnl-k__grad{position:absolute;inset:auto 0 0 0;height:55%;
  background:linear-gradient(to top,rgba(0,0,0,.82),transparent);}
.bnl-page--products-deck-dock .bnl-k__tag{position:absolute;left:0;right:0;bottom:0;padding:16px 14px;
  display:grid;gap:2px;text-align:left;}
.bnl-page--products-deck-dock .bnl-k__k{font-size:1.15rem;font-weight:650;color:#fff;letter-spacing:-.01em;white-space:nowrap;}
.bnl-page--products-deck-dock .bnl-k__k em{font-style:normal;font-size:.7em;opacity:.6;margin-left:1px;}
.bnl-page--products-deck-dock .bnl-k__name{font-size:.75rem;color:rgba(255,255,255,.66);white-space:nowrap;}
.bnl-page--products-deck-dock .bnl-k__desc{font-size:.78rem;color:rgba(255,255,255,.5);line-height:1.4;
  max-height:0;opacity:0;overflow:hidden;transition:max-height .5s var(--ease),opacity .35s var(--ease),margin .5s var(--ease);}
.bnl-page--products-deck-dock .bnl-k__panel.is-open .bnl-k__desc{max-height:3.2em;opacity:1;margin-top:5px;}
.bnl-page--products-deck-dock .bnl-k__chip{position:absolute;top:12px;left:12px;width:11px;height:11px;
  border-radius:50%;background:var(--sw);box-shadow:0 0 0 3px rgba(0,0,0,.28);
  transition:transform .45s var(--ease);}
.bnl-page--products-deck-dock .bnl-k__panel.is-open .bnl-k__chip{transform:scale(1.35);}
.bnl-page--products-deck-dock .bnl-k__panel:focus-visible{outline:var(--focus-ring);outline-offset:3px;}
.bnl-page--products-deck-dock .bnl-k__scale{display:flex;align-items:center;gap:12px;max-width:520px;
  margin:18px auto 0;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;opacity:.38;}
.bnl-page--products-deck-dock .bnl-k__scale i{flex:1;height:2px;border-radius:2px;
  background:linear-gradient(90deg,#FFB870,#FFCE9A,#FFE3C4,#EFF2FF,#D6E4FF);}
@media (max-width:720px){
  .bnl-page--products-deck-dock .bnl-k__strip{height:auto;flex-direction:column;gap:8px;}
  .bnl-page--products-deck-dock .bnl-k__panel{height:96px;flex:none;transition:height .5s var(--ease);}
  .bnl-page--products-deck-dock .bnl-k__panel.is-open{height:270px;}
  .bnl-page--products-deck-dock .bnl-k__panel img{object-position:center 62%;}}
@media (prefers-reduced-motion:reduce){
  .bnl-page--products-deck-dock .bnl-k__panel,.bnl-page--products-deck-dock .bnl-k__panel img,
  .bnl-page--products-deck-dock .bnl-k__desc,.bnl-page--products-deck-dock .bnl-k__chip{transition:none!important;}}

/* ---------- SPEC CARD ---------- */
.bnl-page--products-deck-dock .bnl-sc{position:relative;max-width:980px;margin:0 auto;border-radius:24px;
  padding:1.5px;overflow:hidden;isolation:isolate;
  background:linear-gradient(135deg,#FF4D6D,#FFB65C,#4ADE80,#35CFC9,#C265F0);}
.bnl-page--products-deck-dock .bnl-sc__inner{position:relative;z-index:1;border-radius:22.5px;
  background:#08090d;padding:clamp(24px,4vw,44px);}
.bnl-page--products-deck-dock .bnl-sc__spot{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:0;
  transition:opacity .4s ease;
  background:radial-gradient(320px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.14),transparent 65%);}
.bnl-page--products-deck-dock .bnl-sc:hover .bnl-sc__spot{opacity:1;}
.bnl-page--products-deck-dock .bnl-sc__head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  gap:clamp(18px,3vw,36px);align-items:center;}
@media (max-width:760px){.bnl-page--products-deck-dock .bnl-sc__head{grid-template-columns:1fr;}}
.bnl-page--products-deck-dock .bnl-sc__kicker{font-size:clamp(1.6rem,4vw,2.6rem);font-weight:800;letter-spacing:-.02em;
  line-height:1;margin:0;color:#fff;}
.bnl-page--products-deck-dock .bnl-sc__title{font-size:clamp(1.6rem,4vw,2.6rem);font-weight:800;letter-spacing:-.02em;
  line-height:1;margin:2px 0 0;}
.bnl-page--products-deck-dock .bnl-sc__tag{font-size:1.02rem;opacity:.82;margin:12px 0 0;}
.bnl-page--products-deck-dock .bnl-sc__rule{display:block;width:120px;height:2px;margin:16px 0;border-radius:2px;
  background:linear-gradient(90deg,#FF4D6D,#FFB65C);}
.bnl-page--products-deck-dock .bnl-sc__blurb{font-size:.92rem;line-height:1.62;opacity:.66;margin:0;}
.bnl-page--products-deck-dock .bnl-sc__shot{border-radius:16px;overflow:hidden;aspect-ratio:4/3;background:#05070a;}
.bnl-page--products-deck-dock .bnl-sc__shot img{width:100%;height:100%;object-fit:cover;display:block;}
.bnl-page--products-deck-dock .bnl-sc__rows{list-style:none;margin:clamp(22px,3vw,34px) 0 0;padding:0;}
.bnl-page--products-deck-dock .bnl-sc__row{display:grid;grid-template-columns:44px minmax(120px,.9fr) minmax(0,1.5fr);
  gap:14px;align-items:center;padding:13px 10px;border-top:1px solid rgba(255,255,255,.08);border-radius:10px;
  transition:background .3s ease,transform .3s ease;}
.bnl-page--products-deck-dock .bnl-sc__row:hover{background:color-mix(in srgb,var(--c) 9%,transparent);transform:translateX(3px);}
.bnl-page--products-deck-dock .bnl-sc__ic{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;
  border:1.4px solid color-mix(in srgb,var(--c) 55%,transparent);color:var(--c);transition:box-shadow .3s ease;}
.bnl-page--products-deck-dock .bnl-sc__row:hover .bnl-sc__ic{box-shadow:0 0 18px 0 color-mix(in srgb,var(--c) 45%,transparent);}
.bnl-page--products-deck-dock .bnl-sc__ic svg{width:20px;height:20px;}
.bnl-page--products-deck-dock .bnl-sc__lbl{font-weight:700;font-size:.87rem;letter-spacing:.03em;text-transform:uppercase;color:var(--c);}
.bnl-page--products-deck-dock .bnl-sc__txt{font-size:.88rem;opacity:.68;line-height:1.5;
  border-left:1px solid rgba(255,255,255,.1);padding-left:14px;}
@media (max-width:700px){
  .bnl-page--products-deck-dock .bnl-sc__row{grid-template-columns:40px 1fr;gap:10px 12px;}
  .bnl-page--products-deck-dock .bnl-sc__txt{grid-column:2;border-left:0;padding-left:0;}}
.bnl-page--products-deck-dock .bnl-sc__tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  margin-top:clamp(22px,3vw,32px);border:1px solid rgba(255,255,255,.12);border-radius:16px;overflow:hidden;}
@media (max-width:700px){.bnl-page--products-deck-dock .bnl-sc__tiles{grid-template-columns:repeat(2,1fr);}}
.bnl-page--products-deck-dock .bnl-sc__tile{display:grid;justify-items:center;gap:5px;text-align:center;
  padding:20px 14px;border-right:1px solid rgba(255,255,255,.09);transition:background .3s ease;}
.bnl-page--products-deck-dock .bnl-sc__tile:last-child{border-right:0;}
.bnl-page--products-deck-dock .bnl-sc__tile:hover{background:color-mix(in srgb,var(--c) 8%,transparent);}
.bnl-page--products-deck-dock .bnl-sc__tic{color:var(--c);transition:transform .3s ease;}
.bnl-page--products-deck-dock .bnl-sc__tile:hover .bnl-sc__tic{transform:scale(1.12);}
.bnl-page--products-deck-dock .bnl-sc__tic svg{width:26px;height:26px;}
.bnl-page--products-deck-dock .bnl-sc__tile b{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-top:4px;}
.bnl-page--products-deck-dock .bnl-sc__tile span{font-size:.78rem;opacity:.6;line-height:1.45;}
.bnl-page--products-deck-dock .bnl-sc__foot{text-align:center;margin:22px 0 0;font-size:.7rem;letter-spacing:.22em;
  text-transform:uppercase;opacity:.4;}

/* ---------- HOLIDAY PICKER (prior-build layout: stage + thumbnail row) ---------- */
.bnl-page--products-deck-dock .bnl-hp{max-width:940px;margin:0 auto;}
.bnl-page--products-deck-dock .bnl-hp__stage{position:relative;aspect-ratio:4/3;border-radius:20px;overflow:hidden;
  background:#05070a;border:1px solid rgba(255,255,255,.09);}
.bnl-page--products-deck-dock .bnl-hp__panel{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .5s ease;}
.bnl-page--products-deck-dock .bnl-hp__panel.is-active{opacity:1;}
.bnl-page--products-deck-dock .bnl-hp__panel img{width:100%;height:100%;object-fit:cover;display:block;}
.bnl-page--products-deck-dock .bnl-hp__scrim{position:absolute;inset:auto 0 0 0;height:40%;
  background:linear-gradient(to top,rgba(0,0,0,.78),transparent);}
.bnl-page--products-deck-dock .bnl-hp__cap{position:absolute;left:22px;bottom:18px;display:grid;gap:1px;}
.bnl-page--products-deck-dock .bnl-hp__cap b{font-size:1.35rem;font-weight:650;color:#fff;letter-spacing:-.01em;}
.bnl-page--products-deck-dock .bnl-hp__cap i{font-style:normal;font-size:.8rem;color:rgba(255,255,255,.62);}
.bnl-page--products-deck-dock .bnl-hp__row{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:12px;}
@media (max-width:640px){.bnl-page--products-deck-dock .bnl-hp__row{grid-template-columns:repeat(3,1fr);}}
.bnl-page--products-deck-dock .bnl-hp__thumb{position:relative;border:0;padding:0;background:none;cursor:pointer;
  border-radius:12px;overflow:hidden;display:grid;gap:0;text-align:left;
  border:1px solid rgba(255,255,255,.09);transition:border-color .3s ease,transform .3s ease;}
.bnl-page--products-deck-dock .bnl-hp__thumb img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;
  opacity:.5;transition:opacity .3s ease;}
.bnl-page--products-deck-dock .bnl-hp__thumb:hover img{opacity:.78;}
.bnl-page--products-deck-dock .bnl-hp__thumb[aria-selected="true"]{border-color:rgba(255,255,255,.55);}
.bnl-page--products-deck-dock .bnl-hp__thumb[aria-selected="true"] img{opacity:1;}
.bnl-page--products-deck-dock .bnl-hp__tname{font-size:.76rem;font-weight:650;padding:8px 10px 0;}
.bnl-page--products-deck-dock .bnl-hp__tdate{font-size:.68rem;opacity:.5;padding:0 10px 9px;}
.bnl-page--products-deck-dock .bnl-hp__thumb:focus-visible{outline:var(--focus-ring);outline-offset:2px;}

/* ---------- WHITES: subtle highlight only, constrained width ---------- */
.bnl-page--products-deck-dock .bnl-k{max-width:840px!important;}
.bnl-page--products-deck-dock .bnl-k__strip{height:min(34vh,280px)!important;gap:6px!important;}
.bnl-page--products-deck-dock .bnl-k__panel{flex:1 1 0!important;
  transition:filter .35s ease,transform .35s ease,border-color .35s ease!important;}
.bnl-page--products-deck-dock .bnl-k__panel.is-open{flex-grow:1!important;
  transform:translateY(-4px);border-color:rgba(255,255,255,.42);
  filter:brightness(1.14) saturate(1.06);box-shadow:0 12px 30px rgba(0,0,0,.45);}
.bnl-page--products-deck-dock .bnl-k__panel.is-open img{transform:none!important;}
.bnl-page--products-deck-dock .bnl-k__desc{display:none!important;}
.bnl-page--products-deck-dock .bnl-k__k{font-size:.94rem!important;}
.bnl-page--products-deck-dock .bnl-k__name{font-size:.66rem!important;}
.bnl-page--products-deck-dock .bnl-k__tag{padding:11px 9px!important;}
@media (max-width:720px){
  .bnl-page--products-deck-dock .bnl-k__strip{flex-direction:row!important;height:190px!important;}
  .bnl-page--products-deck-dock .bnl-k__panel,.bnl-page--products-deck-dock .bnl-k__panel.is-open{height:auto!important;}
  .bnl-page--products-deck-dock .bnl-k__k{font-size:.72rem!important;}
  .bnl-page--products-deck-dock .bnl-k__name{display:none;}}

/* sr-only, restored: this regressed when the dead .bnl-yr rules were stripped */
.bnl-page--products-deck-dock .bnl-mood__live,
.bnl-page--products-deck-dock .bnl-hp__live{
  position:absolute!important;width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;overflow:hidden!important;
  clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}

/* interactive spec dropdowns — same visual language as the rev39 bnl-sp panel */
.bnl-page--products-deck-dock .bnl-sp2{max-width:780px;margin:0 auto;display:grid;gap:10px;text-align:left;}
.bnl-page--products-deck-dock .bnl-sp2__hint{text-align:center;font-size:.82rem;opacity:.38;margin:-6px 0 18px;}
.bnl-page--products-deck-dock .bnl-sp2__grp{background:#101314;border:1px solid rgba(255,255,255,.07);
  border-radius:16px;overflow:hidden;transition:border-color .3s ease;}
.bnl-page--products-deck-dock .bnl-sp2__grp[open]{border-color:color-mix(in srgb,var(--c) 40%,transparent);}
.bnl-page--products-deck-dock .bnl-sp2__sum{display:flex;align-items:center;gap:14px;padding:17px 20px;
  cursor:pointer;list-style:none;transition:background .25s ease;}
.bnl-page--products-deck-dock .bnl-sp2__sum::-webkit-details-marker{display:none;}
.bnl-page--products-deck-dock .bnl-sp2__sum:hover{background:color-mix(in srgb,var(--c) 7%,transparent);}
.bnl-page--products-deck-dock .bnl-sp2__ic{flex:none;width:34px;height:34px;border-radius:50%;display:grid;
  place-items:center;color:var(--c);border:1.3px solid color-mix(in srgb,var(--c) 45%,transparent);}
.bnl-page--products-deck-dock .bnl-sp2__ic svg{width:17px;height:17px;}
.bnl-page--products-deck-dock .bnl-sp2__name{font-weight:650;font-size:.98rem;}
.bnl-page--products-deck-dock .bnl-sp2__count{margin-left:auto;font-size:.7rem;opacity:.4;
  border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:2px 8px;}
.bnl-page--products-deck-dock .bnl-sp2__chev{flex:none;width:9px;height:9px;border-right:1.6px solid currentColor;
  border-bottom:1.6px solid currentColor;transform:rotate(45deg);opacity:.42;transition:transform .3s ease;margin-left:4px;}
.bnl-page--products-deck-dock .bnl-sp2__grp[open] .bnl-sp2__chev{transform:rotate(225deg);}
.bnl-page--products-deck-dock .bnl-sp2__body{padding:0 20px 6px;}
.bnl-page--products-deck-dock .bnl-sp2__row{display:grid;grid-template-columns:1fr 1.25fr;gap:16px;
  padding:12px 0;border-top:1px solid rgba(255,255,255,.07);}
@media (max-width:560px){.bnl-page--products-deck-dock .bnl-sp2__row{grid-template-columns:1fr;gap:2px;}}
.bnl-page--products-deck-dock .bnl-sp2__k{font-size:.85rem;opacity:.52;}
.bnl-page--products-deck-dock .bnl-sp2__v{font-size:.93rem;font-weight:600;}

/* deck-light cutout: enlarged, no background, soft grounding shadow */
.bnl-page--products-deck-dock .bnl-sc__shot{background:none!important;aspect-ratio:auto!important;align-self:center;
  border-radius:0!important;display:grid;place-items:center;padding:4px 0;}
.bnl-page--products-deck-dock .bnl-sc__shot img{width:118%!important;max-width:118%!important;height:auto!important;
  object-fit:contain!important;filter:drop-shadow(0 26px 34px rgba(0,0,0,.62));transform:translateX(2%);}
@media (max-width:760px){
  .bnl-page--products-deck-dock .bnl-sc__shot img{width:96%!important;max-width:96%!important;transform:none;}}

/* Kelvin selector — 20% larger */
.bnl-page--products-deck-dock .bnl-k{max-width:1008px!important;}
.bnl-page--products-deck-dock .bnl-k__strip{height:min(41vh,336px)!important;}
.bnl-page--products-deck-dock .bnl-k__k{font-size:1.13rem!important;}
.bnl-page--products-deck-dock .bnl-k__name{font-size:.79rem!important;}
.bnl-page--products-deck-dock .bnl-k__tag{padding:13px 11px!important;}
@media (max-width:720px){
  .bnl-page--products-deck-dock .bnl-k{max-width:100%!important;}
  .bnl-page--products-deck-dock .bnl-k__strip{height:228px!important;}
  .bnl-page--products-deck-dock .bnl-k__k{font-size:.86rem!important;}}

/* reviews */
.bnl-page--products-deck-dock .bnl-rev{max-width:760px;margin:0 auto;}
.bnl-page--products-deck-dock .bnl-rev__card{margin:0;padding:26px 28px;border-radius:18px;text-align:left;
  background:#101314;border:1px solid rgba(255,255,255,.08);}
.bnl-page--products-deck-dock .bnl-rev__stars{color:#FFB65C;letter-spacing:3px;font-size:1.02rem;margin-bottom:12px;}
.bnl-page--products-deck-dock .bnl-rev__card blockquote{margin:0;font-size:1rem;line-height:1.68;opacity:.86;}
.bnl-page--products-deck-dock .bnl-rev__card figcaption{margin-top:16px;font-weight:650;font-size:.9rem;}
.bnl-page--products-deck-dock .bnl-rev__card figcaption span{display:block;font-weight:400;font-size:.76rem;opacity:.45;margin-top:2px;}
.bnl-page--products-deck-dock .bnl-rev__note{max-width:760px;margin:14px auto 0;font-size:.78rem;opacity:.4;}

/* warranty: gradient panels + counting numbers */
.bnl-page--products-deck-dock .bnl-warr__item{position:relative;overflow:hidden;
  background:linear-gradient(160deg,rgba(255,77,109,.16),rgba(53,207,201,.10) 55%,transparent);
  border-color:rgba(255,255,255,.14);}
.bnl-page--products-deck-dock .bnl-warr__item::after{content:"";position:absolute;inset:auto -20% -60% -20%;
  height:120%;background:radial-gradient(60% 60% at 50% 100%,rgba(255,255,255,.09),transparent 70%);pointer-events:none;}
.bnl-page--products-deck-dock .bnl-warr__yr{font-variant-numeric:tabular-nums;}

/* Kelvin: active panel expands + drag slider */
.bnl-page--products-deck-dock .bnl-k__panel.is-open{flex-grow:1.55!important;transform:translateY(-5px) scale(1.012);
  border-color:rgba(255,255,255,.5);filter:brightness(1.16) saturate(1.07);
  box-shadow:0 16px 38px rgba(0,0,0,.5);z-index:2;}
.bnl-page--products-deck-dock .bnl-k__drag{display:flex;align-items:center;gap:14px;max-width:640px;
  margin:20px auto 0;}
.bnl-page--products-deck-dock .bnl-k__dlbl{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;opacity:.38;flex:none;}
.bnl-page--products-deck-dock .bnl-k__range{flex:1;-webkit-appearance:none;appearance:none;height:26px;
  background:none;cursor:grab;}
.bnl-page--products-deck-dock .bnl-k__range:active{cursor:grabbing;}
.bnl-page--products-deck-dock .bnl-k__range::-webkit-slider-runnable-track{height:4px;border-radius:3px;
  background:linear-gradient(90deg,#FFB870,#FFCE9A,#FFE3C4,#EFF2FF,#D6E4FF);}
.bnl-page--products-deck-dock .bnl-k__range::-moz-range-track{height:4px;border-radius:3px;
  background:linear-gradient(90deg,#FFB870,#FFCE9A,#FFE3C4,#EFF2FF,#D6E4FF);}
.bnl-page--products-deck-dock .bnl-k__range::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;
  margin-top:-9px;border-radius:50%;background:#fff;border:0;cursor:grab;
  box-shadow:0 2px 10px rgba(0,0,0,.55),0 0 0 1px rgba(0,0,0,.18);}
.bnl-page--products-deck-dock .bnl-k__range::-moz-range-thumb{width:22px;height:22px;border-radius:50%;
  background:#fff;border:0;box-shadow:0 2px 10px rgba(0,0,0,.55);}
.bnl-page--products-deck-dock .bnl-k__range:focus-visible{outline:var(--focus-ring);outline-offset:4px;border-radius:20px;}

/* active panel visibly expanded so the strip reads as selectable */
.bnl-page--products-deck-dock .bnl-k__panel{flex:1 1 0!important;
  transition:flex-grow .45s cubic-bezier(.22,.61,.36,1),filter .35s ease,transform .35s ease,border-color .35s ease!important;}
.bnl-page--products-deck-dock .bnl-k__panel.is-open{flex-grow:1.85!important;transform:translateY(-5px);
  border-color:rgba(255,255,255,.55)!important;filter:brightness(1.16) saturate(1.06);
  box-shadow:0 14px 34px rgba(0,0,0,.5);}
.bnl-page--products-deck-dock .bnl-k__panel.is-open .bnl-k__desc{display:block!important;max-height:3.4em;opacity:1;margin-top:5px;}
/* finger slider under the photos */
.bnl-page--products-deck-dock .bnl-kslide{max-width:1008px;margin:16px auto 0;padding:0 4px;}
.bnl-page--products-deck-dock .bnl-kslide input[type=range]{-webkit-appearance:none;appearance:none;width:100%;
  height:34px;background:transparent;cursor:grab;display:block;margin:0;}
.bnl-page--products-deck-dock .bnl-kslide input[type=range]:active{cursor:grabbing;}
.bnl-page--products-deck-dock .bnl-kslide input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:6px;
  background:linear-gradient(90deg,#FFB870,#FFCE9A,#FFE3C4,#EFF2FF,#D6E4FF);}
.bnl-page--products-deck-dock .bnl-kslide input[type=range]::-moz-range-track{height:6px;border-radius:6px;
  background:linear-gradient(90deg,#FFB870,#FFCE9A,#FFE3C4,#EFF2FF,#D6E4FF);}
.bnl-page--products-deck-dock .bnl-kslide input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;
  width:26px;height:26px;border-radius:50%;background:#fff;border:3px solid #0b0c10;margin-top:-10px;
  box-shadow:0 3px 10px rgba(0,0,0,.55);}
.bnl-page--products-deck-dock .bnl-kslide input[type=range]::-moz-range-thumb{width:26px;height:26px;border-radius:50%;
  background:#fff;border:3px solid #0b0c10;box-shadow:0 3px 10px rgba(0,0,0,.55);}
.bnl-page--products-deck-dock .bnl-kslide input[type=range]:focus-visible{outline:var(--focus-ring);outline-offset:4px;border-radius:20px;}
.bnl-page--products-deck-dock .bnl-kslide__val{display:flex;justify-content:space-between;font-size:.7rem;
  letter-spacing:.1em;text-transform:uppercase;opacity:.42;margin-top:2px;}
.bnl-page--products-deck-dock .bnl-kslide__val b{font-weight:700;opacity:.95;letter-spacing:0;text-transform:none;font-size:.86rem;}

/* ==== unified pill (canonical, from home) ==== */
.bnl-pill,
.bnl-k__chip,.bnl-k__tag,.bnl-vs__chip,.bnl-vibe__chip,.bnl-wash__chip,
.bnl-cs__chip,.bnl-rv__chip,.bnl-sp__kit-chip,.bnl-val__tag,.bnl-rot__tag,
.bnl-sc__tag,.bnl-compare-cta__chip{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  border-radius:var(--radius-pill);
  font-family:var(--font-heading-proposed);font-weight:700;line-height:1.15;
  letter-spacing:.02em;
  background:color-mix(in srgb,var(--color-bg-elevated) 92%,transparent);
  border:1px solid color-mix(in srgb,var(--color-primary) 34%,var(--color-border));
  color:var(--color-text);
  -webkit-appearance:none;appearance:none;
}
.bnl-k__chip,.bnl-k__tag,.bnl-vs__chip,.bnl-vibe__chip,.bnl-wash__chip,
.bnl-cs__chip,.bnl-rv__chip,.bnl-sp__kit-chip,.bnl-val__tag,.bnl-rot__tag,
.bnl-sc__tag{ padding:7px 14px;font-size:var(--text-small); }
/* eyebrows: one treatment everywhere */
.bnl-hero__eyebrow,.bnl-eyebrow,.bnl-sc__kicker,.bnl-acc__kicker,.bnl-kicker__t{
  font-family:var(--font-heading-proposed);
  font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
}

/* ==== coverflow cards, ported from home rev34 ==== */
/* ---- the card ---- */
.bnl-page--products-deck-dock .bnl-dcard{transform-style:preserve-3d;}
.bnl-page--products-deck-dock .bnl-dcard__inner{
  position:relative;display:flex;flex-direction:column;height:100%;
  border-radius:var(--radius-md);
  background:#141414;border:1px solid var(--color-border);
  transform-style:preserve-3d;
}
/* rim light — a tilted surface should catch an edge */
.bnl-page--products-deck-dock .bnl-dcard__inner::before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:2;
  background:linear-gradient(158deg, rgba(255,255,255,.085) 0%, rgba(255,255,255,.02) 34%, transparent 58%);
}
.bnl-page--products-deck-dock .bnl-dcard__body{
  padding:14px 16px 16px;display:flex;flex-direction:column;flex:1;
  transform-style:preserve-3d;position:relative;z-index:1;
}
.bnl-page--products-deck-dock .bnl-dcard__head{display:flex;align-items:center;gap:10px;margin-bottom:9px;}
.bnl-page--products-deck-dock .bnl-dcard__ic{
  flex:none;width:30px;height:30px;display:grid;place-items:center;border-radius:var(--radius-pill);
  border:1px solid currentColor;box-shadow:0 0 16px -4px currentColor;
}
.bnl-page--products-deck-dock .bnl-dcard__ic svg{width:15px;height:15px;}
.bnl-page--products-deck-dock .bnl-dcard__who{
  margin:0;font-family:var(--font-heading-proposed);font-size:10px;
  font-weight:700;letter-spacing:.16em;text-transform:uppercase;line-height:1.2;
}
.bnl-page--products-deck-dock .bnl-dcard__verb{
  font-family:var(--font-heading-proposed);font-weight:800;
  font-size:clamp(22px,5.6vw,30px);line-height:.96;letter-spacing:-.05em;margin:0 0 7px;
}
.bnl-page--products-deck-dock .bnl-dcard__verb span{display:inline;}
.bnl-page--products-deck-dock .bnl-dcard__rule{height:2px;width:52px;border-radius:2px;margin:0 0 9px;background:linear-gradient(90deg,currentColor,transparent);}
.bnl-page--products-deck-dock .bnl-dcard__hook{
  font-family:var(--font-heading-proposed);font-weight:700;
  font-size:14px;line-height:1.28;letter-spacing:-.015em;color:#fff;margin:0 0 10px;
}
.bnl-page--products-deck-dock .bnl-dcard__list{display:none;}
.bnl-page--products-deck-dock .bnl-dcard__cta{
  margin-top:auto;align-self:stretch;padding:11px var(--space-md);min-height:40px;font-size:12.5px;
}
.bnl-page--products-deck-dock .bnl-dcard__login{display:none;}
@media (min-width:860px){
  .bnl-page--products-deck-dock .bnl-dcard__body{padding:18px 20px 20px;}
.bnl-page--products-deck-dock .bnl-dcard__ic{width:36px;height:36px;}
.bnl-page--products-deck-dock .bnl-dcard__ic svg{width:17px;height:17px;}
.bnl-page--products-deck-dock .bnl-dcard__who{font-size:11px;}
.bnl-page--products-deck-dock .bnl-dcard__verb{font-size:34px;margin-bottom:9px;letter-spacing:-.052em;}
.bnl-page--products-deck-dock .bnl-dcard__rule{width:62px;margin-bottom:11px;}
.bnl-page--products-deck-dock .bnl-dcard__hook{font-size:16px;margin-bottom:12px;}
.bnl-page--products-deck-dock .bnl-dcard__list{
    display:block;list-style:none;padding:0;margin:0 0 14px;
    font-size:12.5px;color:var(--color-text-muted);
  }
.bnl-page--products-deck-dock .bnl-dcard__list li{padding:5px 0;border-top:1px solid color-mix(in srgb, var(--color-border) 45%, transparent);}
.bnl-page--products-deck-dock .bnl-dcard__list li:nth-child(n+3){display:none;}
.bnl-page--products-deck-dock .bnl-dcard__cta{font-size:13px;}
.bnl-page--products-deck-dock .bnl-dcard--design .bnl-dcard__login{
    display:block;margin-top:10px;text-align:center;
    font-family:var(--font-heading-proposed);font-size:11.5px;font-weight:600;
    color:var(--color-primary);text-decoration:none;
  }
.bnl-page--products-deck-dock .bnl-dcard--design .bnl-dcard__login:hover{text-decoration:underline;}
}

/* each path card carries its own distinctly tinted gradient ground */
.bnl-page--products-deck-dock .bnl-dcard--live .bnl-dcard__inner{
  background:linear-gradient(158deg,#062a30 0%,#0d1a1d 46%,#101010 100%);
}
.bnl-page--products-deck-dock .bnl-dcard--install .bnl-dcard__inner{
  background:linear-gradient(158deg,#2e0620 0%,#1d0d16 46%,#101010 100%);
}
.bnl-page--products-deck-dock .bnl-dcard--sell .bnl-dcard__inner{
  background:linear-gradient(158deg,#331904 0%,#1f1409 46%,#101010 100%);
}
.bnl-page--products-deck-dock .bnl-dcard--design .bnl-dcard__inner{
  background:linear-gradient(158deg,#062a30 0%,#1a0d28 42%,#2b0722 72%,#101010 100%);
}
/* ---- per-path accents ---- */
.bnl-page--products-deck-dock .bnl-dcard--live .bnl-dcard__inner{border-color:color-mix(in srgb, var(--color-primary) 48%, var(--color-border));}
.bnl-page--products-deck-dock .bnl-dcard--live .bnl-dcard__verb,
.bnl-page--products-deck-dock .bnl-dcard--live .bnl-dcard__who,
.bnl-page--products-deck-dock .bnl-dcard--live .bnl-dcard__ic,
.bnl-page--products-deck-dock .bnl-dcard--live .bnl-dcard__rule{color:var(--color-primary);}
.bnl-page--products-deck-dock .bnl-dcard--install .bnl-dcard__inner{border-color:color-mix(in srgb, var(--color-pink) 48%, var(--color-border));}
.bnl-page--products-deck-dock .bnl-dcard--install .bnl-dcard__verb,
.bnl-page--products-deck-dock .bnl-dcard--install .bnl-dcard__who,
.bnl-page--products-deck-dock .bnl-dcard--install .bnl-dcard__ic,
.bnl-page--products-deck-dock .bnl-dcard--install .bnl-dcard__rule{color:var(--color-pink);}
.bnl-page--products-deck-dock .bnl-dcard--sell .bnl-dcard__inner{border-color:color-mix(in srgb, var(--color-orange) 48%, var(--color-border));}
.bnl-page--products-deck-dock .bnl-dcard--sell .bnl-dcard__verb,
.bnl-page--products-deck-dock .bnl-dcard--sell .bnl-dcard__who,
.bnl-page--products-deck-dock .bnl-dcard--sell .bnl-dcard__ic,
.bnl-page--products-deck-dock .bnl-dcard--sell .bnl-dcard__rule{color:var(--color-orange);}
.bnl-page--products-deck-dock .bnl-dcard--design .bnl-dcard__inner{border-color:color-mix(in srgb, var(--color-pink) 52%, var(--color-primary));}
.bnl-page--products-deck-dock .bnl-dcard--design .bnl-dcard__verb{
  background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;
  color:var(--color-pink);-webkit-text-fill-color:transparent;
}
.bnl-page--products-deck-dock .bnl-dcard--design .bnl-dcard__who,
.bnl-page--products-deck-dock .bnl-dcard--design .bnl-dcard__ic{color:var(--color-primary);}
.bnl-page--products-deck-dock .bnl-dcard--design .bnl-dcard__rule{background:var(--gradient-brand);}
/* ---- the stage ---- */
#perf .bnl-rot{margin:var(--space-ml) 0 0;}
#perf .bnl-rot__stage{
  /* rev18: card is 274px; the stage was 326px, leaving ~50px of dead air
     between the card and the controls once the photo slots came out */
  position:relative;height:296px;
  perspective:1100px;perspective-origin:50% 46%;
  transform-style:preserve-3d;
  touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none;
}
#perf .bnl-rot__stage.is-drag{cursor:grabbing;}
#perf .bnl-rot__glow{
  position:absolute;left:50%;top:8px;width:min(760px,94vw);height:250px;
  margin-left:max(-380px,-47vw);pointer-events:none;border-radius:50%;
  background:radial-gradient(ellipse at center, color-mix(in srgb, var(--color-primary) 13%, transparent) 0%, transparent 68%);
}
#perf .bnl-rot__item{
  --w:64vw;
  position:absolute;left:50%;top:0;width:var(--w);height:274px;
  margin-left:calc(var(--w) / -2);
  transform-style:preserve-3d;
  transition:transform .66s cubic-bezier(.22,.61,.36,1), opacity .66s ease, filter .66s ease;
  will-change:transform;
}
#perf .bnl-rot__stage.is-drag .bnl-rot__item{transition:none;}
/* ---- coverflow geometry — EVERY card tilted on two axes ---- */
#perf .bnl-rot__item[data-pos="0"]{
  transform:translateX(0) translateZ(0)
            rotateY(calc(-9deg + var(--bnl-ry))) rotateX(calc(3.5deg + var(--bnl-rx)))
            scale(1);
  opacity:1;filter:none;z-index:5;
}
#perf .bnl-rot__item[data-pos="1"]{
  transform:translateX(70%) translateZ(-140px) rotateY(-46deg) rotateX(5deg) scale(.9);
  opacity:.6;filter:blur(.8px);z-index:3;
}
#perf .bnl-rot__item[data-pos="-1"]{
  transform:translateX(-70%) translateZ(-140px) rotateY(32deg) rotateX(5deg) scale(.9);
  opacity:.6;filter:blur(.8px);z-index:3;
}
#perf .bnl-rot__item[data-pos="2"],
#perf .bnl-rot__item[data-pos="-2"]{
  transform:translateX(0) translateZ(-360px) rotateY(-9deg) rotateX(3.5deg) scale(.82);
  opacity:.14;filter:blur(2.5px);z-index:1;
}
#perf .bnl-rot__item[data-pos="0"] .bnl-dcard__inner{pointer-events:auto;}
#perf .bnl-rot__item:not([data-pos="0"]) .bnl-dcard__inner{pointer-events:none;}
/* pointer tracking wants a short transition, not the 660ms travel curve */
#perf .bnl-rot__item.is-tracking{transition:transform .12s linear;}
/* ---- directional shadow separation on the front card ---- */
#perf .bnl-rot__item[data-pos="0"] .bnl-dcard__inner{
  box-shadow:-16px 28px 48px -20px rgba(0,0,0,.9), 0 2px 0 rgba(255,255,255,.04) inset;
}
#perf .bnl-rot__item[data-pos="0"] .bnl-dcard--live  .bnl-dcard__inner{box-shadow:-16px 28px 48px -20px rgba(0,0,0,.9), var(--glow-ambient-teal);}
#perf .bnl-rot__item[data-pos="0"] .bnl-dcard--install .bnl-dcard__inner{box-shadow:-16px 28px 48px -20px rgba(0,0,0,.9), var(--glow-ambient-pink);}
#perf .bnl-rot__item[data-pos="0"] .bnl-dcard--sell    .bnl-dcard__inner{box-shadow:-16px 28px 48px -20px rgba(0,0,0,.9), 0 0 48px -12px color-mix(in srgb, var(--color-orange) 55%, transparent);}
#perf .bnl-rot__item[data-pos="0"] .bnl-dcard--design  .bnl-dcard__inner{box-shadow:-16px 28px 48px -20px rgba(0,0,0,.9), var(--glow-ambient-teal), var(--glow-ambient-pink);}
/* ---- internal translateZ parallax — content floats above the surface ---- */
#perf .bnl-rot__item[data-pos="0"] .bnl-dcard__head{transform:translateZ(30px);}
#perf .bnl-rot__item[data-pos="0"] .bnl-dcard__verb{transform:translateZ(24px);}
#perf .bnl-rot__item[data-pos="0"] .bnl-dcard__rule{transform:translateZ(18px);}
#perf .bnl-rot__item[data-pos="0"] .bnl-dcard__hook{transform:translateZ(13px);}
#perf .bnl-rot__item[data-pos="0"] .bnl-dcard__list{transform:translateZ(8px);}
#perf .bnl-rot__item[data-pos="0"] .bnl-dcard__cta{transform:translateZ(20px);}
/* ---- cursor-tracked specular glare ---- */
#perf .bnl-rot__item[data-pos="0"] .bnl-dcard__inner::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:3;
  background:radial-gradient(240px circle at var(--bnl-mx,50%) var(--bnl-my,26%),
             rgba(255,255,255,.16), rgba(255,255,255,.05) 38%, transparent 64%);
  opacity:0;transition:opacity .32s ease;mix-blend-mode:screen;
}
#perf .bnl-rot__item[data-pos="0"].is-tracking .bnl-dcard__inner::after{opacity:1;}
/* rev12 · the @media opener below was dropped in the rev34 port, leaving an
   orphan "}" here. Without it this float ran for reduced-motion users too. */
@media (prefers-reduced-motion:no-preference){
  #perf .bnl-rot__item[data-pos="0"]{animation:bnl-card-float 7s ease-in-out infinite;}
}

/* the shadow the front card floats above — offset to match the tilt */
#perf .bnl-rot__shadow{
  position:absolute;left:50%;top:274px;width:min(340px,50vw);height:24px;
  margin-left:max(-178px,-26vw);border-radius:50%;pointer-events:none;
  background:radial-gradient(ellipse at center, rgba(0,0,0,.82) 0%, rgba(0,0,0,.34) 46%, transparent 74%);
  filter:blur(9px);
  transition:transform .66s cubic-bezier(.22,.61,.36,1), opacity .66s ease;
}
#perf .bnl-rot__stage.is-drag .bnl-rot__shadow{transition:none;}
/* ---- nav ---- */
#perf .bnl-rot__nav{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:6px;}
#perf .bnl-rot__arrows{display:flex;align-items:center;justify-content:center;gap:10px;}
#perf .bnl-rot__arrow{
  width:38px;height:38px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;
  cursor:pointer;color:#EDEFEF;font-size:16px;line-height:1;
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.16);
  transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;
}
#perf .bnl-rot__arrow--prev{
  border-color:color-mix(in srgb, var(--color-pink) 70%, transparent);
  color:#fff;box-shadow:var(--glow-ambient-pink);
}
#perf .bnl-rot__arrow--prev:hover{box-shadow:var(--hglow-pink-hi);background:color-mix(in srgb, var(--color-pink) 14%, transparent);}
#perf .bnl-rot__arrow--next{
  border-color:color-mix(in srgb, var(--color-primary) 70%, transparent);
  color:#fff;box-shadow:var(--glow-ambient-teal);
}
#perf .bnl-rot__arrow--next:hover{box-shadow:var(--hglow-teal-hi);background:color-mix(in srgb, var(--color-primary) 14%, transparent);}
#perf .bnl-rot__dots{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;}
#perf .bnl-rot__dot{
  cursor:pointer;font:inherit;font-family:var(--font-heading-proposed);font-weight:700;
  font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;
  display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:var(--radius-pill);
  background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted);
  transition:color .25s ease,border-color .25s ease,box-shadow .25s ease;
}
#perf .bnl-rot__dot::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.45;}
#perf .bnl-rot__dot:hover{color:#fff;border-color:var(--color-text-muted);}
#perf .bnl-rot__dot[aria-selected="true"]{color:var(--dot,#fff);border-color:var(--dot,#fff);box-shadow:0 0 14px -2px var(--dot,#fff);}
#perf .bnl-rot__dot[aria-selected="true"]::before{opacity:1;}
#perf .bnl-rot__hint{text-align:center;color:var(--color-text-muted);font-size:11px;margin-top:7px;}
#perf .bnl-rot.is-manual .bnl-rot__hint{opacity:.4;}
@media (min-width:560px){ #perf .bnl-rot__item{--w:300px;}
}
@media (min-width:860px){
  #perf .bnl-rot__stage{height:452px;perspective:1500px;}
#perf .bnl-rot__item{--w:352px;height:424px;}
#perf .bnl-rot__item[data-pos="1"]{transform:translateX(76%) translateZ(-170px) rotateY(-44deg) rotateX(4deg) scale(.9);}
#perf .bnl-rot__item[data-pos="-1"]{transform:translateX(-76%) translateZ(-170px) rotateY(30deg) rotateX(4deg) scale(.9);}
#perf .bnl-rot__item[data-pos="2"],#perf .bnl-rot__item[data-pos="-2"]{transform:translateX(0) translateZ(-440px) rotateY(-9deg) rotateX(3deg) scale(.82);}
#perf .bnl-rot__shadow{top:428px;width:300px;margin-left:-150px;height:30px;}
#perf .bnl-rot__glow{height:360px;}
#perf .bnl-rot__dot{font-size:12px;padding:9px 15px;}
#perf .bnl-rot__arrow{width:42px;height:42px;}
}
/* rev12 · THE COVERFLOW WAS COLLAPSING ON DESKTOP ==========================
   Everything below is the reduced-motion fallback. Its
   @media (prefers-reduced-motion:reduce) wrapper was lost in the rev34 port,
   so the rules were absorbed into the @media (min-width:860px) query above.
   Measured effect: at >=860px the stage got perspective:none, both side cards
   dropped to opacity:0, and every 3D transform was killed — the coverflow
   silently became a single flat card on the widest screens, while working
   correctly at 820px. Note perspective:none here directly contradicted
   perspective:1500px set 9 lines earlier in the same block.
   The 860px query now closes above; the fallback has its wrapper back.
========================================================================== */
@media (prefers-reduced-motion:reduce){
#perf .bnl-rot__stage{perspective:none;}
#perf .bnl-rot__item{animation:none!important;filter:none!important;}
#perf .bnl-rot__item[data-pos="1"],#perf .bnl-rot__item[data-pos="-1"],
  #perf .bnl-rot__item[data-pos="2"],#perf .bnl-rot__item[data-pos="-2"]{transform:none;opacity:0;pointer-events:none;}
#perf .bnl-rot__item[data-pos="0"]{transform:none;}
#perf .bnl-rot__item[data-pos="0"] .bnl-dcard__head,
  #perf .bnl-rot__item[data-pos="0"] .bnl-dcard__verb,
  #perf .bnl-rot__item[data-pos="0"] .bnl-dcard__rule,
  #perf .bnl-rot__item[data-pos="0"] .bnl-dcard__hook,
  #perf .bnl-rot__item[data-pos="0"] .bnl-dcard__list,
  #perf .bnl-rot__item[data-pos="0"] .bnl-dcard__cta{transform:none;}
#perf .bnl-rot__item[data-pos="0"] .bnl-dcard__inner::after{display:none;}
}
@media (min-width:860px){
/* rules and dividers that carry the brand gradient can drift too */
  .bnl-page--products-deck-dock .bnl-dcard--design .bnl-dcard__rule{
    background-size:230% 100%;
    animation:bnl-grad-drift 9s ease-in-out infinite;
  }
}

/* ============================================================================
   rev18 · CARD POLISH
   Drop shadows do almost nothing on a near-black page, so elevation has to come
   from edges and gradient light instead. Three additions: a lit top bevel, a
   soft floor-glow inside the card face, and a slightly hotter accent edge on
   whichever card is actually front-and-centre.
============================================================================ */
/* 1 · lit top bevel — a 1px highlight that fades toward the sides, the way a
   real extruded edge catches light from above */
.bnl-page--products-deck-dock .bnl-dcard__inner{
  background-clip:padding-box;
  isolation:isolate;
}
.bnl-page--products-deck-dock .bnl-dcard__inner > .bnl-dcard__bevel{
  position:absolute;left:9%;right:9%;top:0;height:1px;z-index:4;
  pointer-events:none;border-radius:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);
  opacity:.5;
}
/* 2 · the accent edge gets hotter on the front card only, so the coverflow has
   a clear focal point rather than four equally-lit cards */
#perf .bnl-rot__item[data-pos="0"] .bnl-dcard--live    .bnl-dcard__inner{border-color:color-mix(in srgb, var(--color-primary) 72%, var(--color-border));}
#perf .bnl-rot__item[data-pos="0"] .bnl-dcard--install .bnl-dcard__inner{border-color:color-mix(in srgb, var(--color-pink) 72%, var(--color-border));}
#perf .bnl-rot__item[data-pos="0"] .bnl-dcard--sell    .bnl-dcard__inner{border-color:color-mix(in srgb, var(--color-orange) 72%, var(--color-border));}
#perf .bnl-rot__item[data-pos="0"] .bnl-dcard--design  .bnl-dcard__inner{border-color:color-mix(in srgb, var(--color-pink) 62%, var(--color-primary));}
#perf .bnl-rot__item[data-pos="0"] .bnl-dcard__bevel{opacity:.95;}
/* 3 · floor glow inside the card face — the accent colour pooling at the base,
   which is what actually sells these as lit objects */
.bnl-page--products-deck-dock .bnl-dcard__inner::before{
  background:
    linear-gradient(158deg, rgba(255,255,255,.085) 0%, rgba(255,255,255,.02) 34%, transparent 58%),
    radial-gradient(120% 46% at 50% 104%, var(--bnl-cardfloor, transparent) 0%, transparent 72%);
}
.bnl-page--products-deck-dock .bnl-dcard--live   {--bnl-cardfloor:color-mix(in srgb, var(--color-primary) 22%, transparent);}
.bnl-page--products-deck-dock .bnl-dcard--install{--bnl-cardfloor:color-mix(in srgb, var(--color-pink) 22%, transparent);}
.bnl-page--products-deck-dock .bnl-dcard--sell   {--bnl-cardfloor:color-mix(in srgb, var(--color-orange) 20%, transparent);}
.bnl-page--products-deck-dock .bnl-dcard--design {--bnl-cardfloor:color-mix(in srgb, var(--color-pink) 20%, transparent);}
/* the back cards should not compete: kill their floor glow entirely */
#perf .bnl-rot__item:not([data-pos="0"]) .bnl-dcard{--bnl-cardfloor:transparent;}
/* --- carousel and rail arrows --- */
  #perf .bnl-rot__arrow,
  .bnl-page--products-deck-dock .bnl-sysrail__arrow{width:44px;height:44px;}
/* --- path pills under the carousel --- */
  #perf .bnl-rot__dot{min-height:42px;}
/* ============================================================================
   rev31 · THE CAROUSEL EARNS ITS SPACE
   Cards were 64vw x 274px, which left the front card floating in a lot of
   room. Sized up to 74vw x 348px, the stage follows, and the controls move up
   to sit directly beneath the card instead of across a gap — so the thing that
   tells you which way you can go is attached to the thing that moves.
============================================================================ */
#perf .bnl-rot__item{--w:74vw;height:348px;}
#perf .bnl-rot__stage{height:372px;perspective-origin:50% 44%;}
#perf .bnl-rot__shadow{top:348px;}
#perf .bnl-rot__nav{margin-top:2px;gap:8px;}
#perf .bnl-rot__hint{margin-top:5px;}
@media (min-width:560px){ #perf .bnl-rot__item{--w:352px;}
}
@media (min-width:820px){
  #perf .bnl-rot__stage{height:534px;}
  #perf .bnl-rot__item{--w:412px;height:506px;}
  #perf .bnl-rot__shadow{top:510px;width:352px;margin-left:-176px;}
  /* rev12 · this desktop transform was sitting OUTSIDE the 820px query, so the
     -9deg front-card tilt was leaking to every viewport. Moved back inside. */
  #perf .bnl-rot__item[data-pos="0"]{
    transform:translateX(0) translateY(var(--bnl-fy,0px)) translateZ(0)
              rotateY(calc(-9deg + var(--bnl-ry))) rotateX(calc(3.5deg + var(--bnl-rx)))
              scale(1);
  }
}
/* rev12 · the 9s desktop float had lost both its width query and its
   reduced-motion guard, so it was overriding the 7s mobile float everywhere
   and desktop was left with none. Both conditions restored. */
@media (min-width:820px) and (prefers-reduced-motion:no-preference){
  #perf .bnl-rot__item[data-pos="0"]{animation:bnl-card-float 9s ease-in-out infinite;}
  #perf .bnl-rot__shadow{animation:bnl-card-shadow 9s ease-in-out infinite;}
}

/* ============================================================================
   rev32 · THE CARD NEVER ACTUALLY GREW
   `.bnl-dcard__inner` carries height:100%, but its parent `.bnl-dcard` had no
   height of its own, so the percentage resolved against an auto-height box and
   collapsed straight back to content height. The item container grew to 349px
   in rev31; the visible card stayed at 178px, and the 171px left over is the
   gap. Giving the card a height makes the chain resolve, so the card fills the
   space instead of leaving it below itself.
============================================================================ */
#perf .bnl-rot__item .bnl-dcard{height:100%;}
#perf .bnl-rot__item{height:330px;}
#perf .bnl-rot__stage{height:352px;}
#perf .bnl-rot__shadow{top:330px;}
#perf .bnl-rot__nav{margin-top:0;}
/* the extra room is spent on the content, not left as air inside the card */
#perf .bnl-rot__item .bnl-dcard__body{padding:20px 20px 20px;gap:2px;}
#perf .bnl-rot__item .bnl-dcard__hook{margin-bottom:14px;}
#perf .bnl-rot__item .bnl-dcard__cta{margin-top:auto;min-height:46px;}
@media (min-width:820px){
  #perf .bnl-rot__item{height:430px;}
#perf .bnl-rot__stage{height:456px;}
#perf .bnl-rot__shadow{top:430px;}
#perf .bnl-rot__item .bnl-dcard__body{padding:26px 26px 24px;}
/* ============================================================================
   rev34 · THE BULLETS WERE ALREADY WRITTEN
   Three to four points per card exist in the markup and have been hidden on
   anything under 860px since the cards were too short to hold them. They are
   331px now, so they come back — the first two on a phone, all of them on
   desktop, with the CTA still pinned to the bottom edge.
============================================================================ */
#perf .bnl-rot__item .bnl-dcard__list{
  display:block;list-style:none;padding:0;margin:8px 0 12px;
  font-size:11.6px;line-height:1.32;color:#B9C0C4;
}
#perf .bnl-rot__item .bnl-dcard__list li{
  position:relative;padding:6px 0 6px 15px;
  border-top:1px solid color-mix(in srgb, var(--color-border) 55%, transparent);
}
#perf .bnl-rot__item .bnl-dcard__list li:first-child{border-top:0;padding-top:2px;}
/* the marker takes the path's own accent, so each card is keyed by its light */
#perf .bnl-rot__item .bnl-dcard__list li::before{
  content:"";position:absolute;left:2px;top:calc(0.66em + 6px);
  width:5px;height:5px;border-radius:50%;
  background:currentColor;opacity:.9;
  box-shadow:0 0 8px -1px currentColor;
}
#perf .bnl-rot__item .bnl-dcard__list li:first-child::before{top:calc(0.66em + 2px);}
#perf .bnl-rot__item .bnl-dcard__list li:nth-child(n+3){display:none;}
@media (min-width:820px){
  #perf .bnl-rot__item .bnl-dcard__list{font-size:12.8px;margin:10px 0 14px;}
#perf .bnl-rot__item .bnl-dcard__list li:nth-child(n+3){display:list-item;}
#perf .bnl-rot__item .bnl-dcard__list li:nth-child(n+5){display:none;}
}
/* the bullet text stays neutral; only the marker carries the accent */
#perf .bnl-rot__item .bnl-dcard__list li{color:#B9C0C4;}
/* ============================================================================
   rev34 · THE VERB STOPS BLENDING IN
   Each verb was a flat fill of the path's own accent sitting on a card tinted
   with that same accent — teal on teal, pink on pink. Value and hue both too
   close, so the headline sank into its own background.

   Two changes. The verb now runs a gradient from near-white through the accent,
   so the first word reads at full contrast and the colour arrives underneath
   it. And the second word is set in the display face at a heavier weight with
   tighter tracking, so the two halves separate by form as well as by tone.
============================================================================ */
#perf .bnl-rot__item .bnl-dcard__verb{
  font-size:clamp(25px,6.6vw,34px);
  letter-spacing:-.055em;
  line-height:.94;
  -webkit-text-fill-color:transparent;
  background-clip:text;-webkit-background-clip:text;
  background-image:linear-gradient(96deg,
    #FFFFFF 0%, #FFFFFF 26%,
    color-mix(in srgb, currentColor 62%, #FFFFFF) 48%,
    currentColor 76%,
    color-mix(in srgb, currentColor 78%, #000000) 100%);
  background-size:190% 100%;
  filter:drop-shadow(0 1px 10px color-mix(in srgb, currentColor 34%, transparent));
}
@media (prefers-reduced-motion:no-preference){
  #perf .bnl-rot__item[data-pos="0"] .bnl-dcard__verb{
    animation:bnl-grad-drift 11s ease-in-out infinite;
  }
}
/* the two words get different weight so the lockup has an internal rhythm */
#perf .bnl-rot__item .bnl-dcard__verb span:first-child{font-weight:500;letter-spacing:-.03em;}
#perf .bnl-rot__item .bnl-dcard__verb span:last-child{font-weight:800;}
/* the rule under it becomes a lit bar rather than a fade */
#perf .bnl-rot__item .bnl-dcard__rule{
  height:2.5px;width:64px;
  background:linear-gradient(90deg, currentColor 0%, currentColor 42%, transparent 100%);
  box-shadow:0 0 12px -2px currentColor;
}
/* and the hook line lifts off the accent wash */
#perf .bnl-rot__item .bnl-dcard__hook{
  color:#FFFFFF;font-size:13.2px;line-height:1.26;margin-bottom:4px;
  text-shadow:0 1px 6px rgba(0,0,0,.55);
}
/* card ground cools slightly so an accent headline has something to sit on */
#perf .bnl-rot__item .bnl-dcard__inner{background:#101214;}
.bnl-dcard--app .bnl-dcard__login{
    display:block;margin-top:10px;text-align:center;
    font-family:var(--font-heading-proposed);font-size:11.5px;font-weight:600;
    color:var(--color-primary);text-decoration:none;
  }
.bnl-dcard--app .bnl-dcard__login:hover{text-decoration:underline;}
.bnl-dcard--invisible .bnl-dcard__inner{
  background:linear-gradient(158deg,#062a30 0%,#0d1a1d 46%,#101010 100%);
}
.bnl-dcard--build .bnl-dcard__inner{
  background:linear-gradient(158deg,#2e0620 0%,#1d0d16 46%,#101010 100%);
}
.bnl-dcard--sealed .bnl-dcard__inner{
  background:linear-gradient(158deg,#331904 0%,#1f1409 46%,#101010 100%);
}
.bnl-dcard--app .bnl-dcard__inner{
  background:linear-gradient(158deg,#062a30 0%,#1a0d28 42%,#2b0722 72%,#101010 100%);
}
.bnl-dcard--invisible .bnl-dcard__inner{border-color:color-mix(in srgb, var(--color-primary) 48%, var(--color-border));}
.bnl-dcard--invisible .bnl-dcard__verb,
.bnl-page--products-deck-dock .bnl-dcard--invisible .bnl-dcard__who,
.bnl-page--products-deck-dock .bnl-dcard--invisible .bnl-dcard__ic,
.bnl-page--products-deck-dock .bnl-dcard--invisible .bnl-dcard__rule{color:var(--color-primary);}
.bnl-dcard--build .bnl-dcard__inner{border-color:color-mix(in srgb, var(--color-pink) 48%, var(--color-border));}
.bnl-dcard--build .bnl-dcard__verb,
.bnl-page--products-deck-dock .bnl-dcard--build .bnl-dcard__who,
.bnl-page--products-deck-dock .bnl-dcard--build .bnl-dcard__ic,
.bnl-page--products-deck-dock .bnl-dcard--build .bnl-dcard__rule{color:var(--color-pink);}
.bnl-dcard--sealed .bnl-dcard__inner{border-color:color-mix(in srgb, var(--color-orange) 48%, var(--color-border));}
.bnl-dcard--sealed .bnl-dcard__verb,
.bnl-page--products-deck-dock .bnl-dcard--sealed .bnl-dcard__who,
.bnl-page--products-deck-dock .bnl-dcard--sealed .bnl-dcard__ic,
.bnl-page--products-deck-dock .bnl-dcard--sealed .bnl-dcard__rule{color:var(--color-orange);}
.bnl-dcard--app .bnl-dcard__inner{border-color:color-mix(in srgb, var(--color-pink) 52%, var(--color-primary));}
.bnl-dcard--app .bnl-dcard__verb{
  background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;
  color:var(--color-pink);-webkit-text-fill-color:transparent;
}
.bnl-dcard--app .bnl-dcard__who,
.bnl-page--products-deck-dock .bnl-dcard--app .bnl-dcard__ic{color:var(--color-primary);}
.bnl-dcard--app .bnl-dcard__rule{background:var(--gradient-brand);}
.bnl-dcard--invisible  .bnl-dcard__inner{box-shadow:-16px 28px 48px -20px rgba(0,0,0,.9), var(--glow-ambient-teal);}
.bnl-dcard--build .bnl-dcard__inner{box-shadow:-16px 28px 48px -20px rgba(0,0,0,.9), var(--glow-ambient-pink);}
.bnl-dcard--sealed    .bnl-dcard__inner{box-shadow:-16px 28px 48px -20px rgba(0,0,0,.9), 0 0 48px -12px color-mix(in srgb, var(--color-orange) 55%, transparent);}
.bnl-dcard--app  .bnl-dcard__inner{box-shadow:-16px 28px 48px -20px rgba(0,0,0,.9), var(--glow-ambient-teal), var(--glow-ambient-pink);}
.bnl-dcard--app .bnl-dcard__rule{
    background-size:230% 100%;
    animation:bnl-grad-drift 9s ease-in-out infinite;
  }
.bnl-dcard--invisible    .bnl-dcard__inner{border-color:color-mix(in srgb, var(--color-primary) 72%, var(--color-border));}
.bnl-dcard--build .bnl-dcard__inner{border-color:color-mix(in srgb, var(--color-pink) 72%, var(--color-border));}
.bnl-dcard--sealed    .bnl-dcard__inner{border-color:color-mix(in srgb, var(--color-orange) 72%, var(--color-border));}
.bnl-dcard--app  .bnl-dcard__inner{border-color:color-mix(in srgb, var(--color-pink) 62%, var(--color-primary));}
.bnl-dcard--invisible   {--bnl-cardfloor:color-mix(in srgb, var(--color-primary) 22%, transparent);}
.bnl-dcard--build{--bnl-cardfloor:color-mix(in srgb, var(--color-pink) 22%, transparent);}
.bnl-dcard--sealed   {--bnl-cardfloor:color-mix(in srgb, var(--color-orange) 20%, transparent);}
.bnl-dcard--app {--bnl-cardfloor:color-mix(in srgb, var(--color-pink) 20%, transparent);}
#perf .bnl-rot__item .bnl-dcard__list li:nth-child(n+3){display:list-item;}
#perf .bnl-rot__item .bnl-dcard__list li:nth-child(n+4){display:none;}
@media (min-width:820px){#perf .bnl-rot__item .bnl-dcard__list li:nth-child(n+4){display:list-item;}}
#perf .bnl-rot__item .bnl-dcard__body{padding-bottom:18px;}
}  /* rev15 auto-closed: relied on the closing style tag to terminate 1 block(s) (BRI-324) */

/* ===================================================================
   rev12 · homepage design-system parity
   BRI-266 · declare the optical-sizing axis explicitly. `auto` is the CSS
             initial value so this is hardening, not a bug fix — it stops a
             theme reset from flattening the opsz axis Bricolage was picked for.
   BRI-281 · 44px tap-target floor. 29 controls measured under it at 390px.
=================================================================== */



.bnl-page--products-deck-dock .bnl-crumbs a,
.bnl-page--products-deck-dock .bnl-link{
  min-height:var(--tap-min);
  display:inline-flex;align-items:center;
}
.bnl-page--products-deck-dock .bnl-mood__pause{
  min-width:var(--tap-min);min-height:var(--tap-min);
  display:inline-flex;align-items:center;justify-content:center;
}
/* the dots stay visually small; the hit area grows around them */
.bnl-page--products-deck-dock .bnl-mood__dot{position:relative;}
.bnl-page--products-deck-dock .bnl-mood__dot::after{
  content:"";position:absolute;left:50%;top:50%;
  width:var(--tap-min);height:var(--tap-min);
  transform:translate(-50%,-50%);
}
.bnl-page--products-deck-dock #perf .bnl-rot__dot{
  min-height:var(--tap-min);
  display:inline-flex;align-items:center;justify-content:center;
}
.bnl-page--products-deck-dock .bnl-k__range{min-height:var(--tap-min);}

/* flood — coming soon treatment */
.bnl-page--products-deck-dock .bnl-eco__soon{color:var(--color-text-muted);}
.bnl-page--products-deck-dock .bnl-eco__soonbadge{
  font-style:normal;font-size:.7em;letter-spacing:.06em;
  text-transform:uppercase;opacity:.75;margin-left:.45em;
  border:1px solid var(--color-border);border-radius:999px;
  padding:2px 7px;white-space:nowrap;
}
.bnl-page--products-deck-dock .bnl-eco__hot--soon{cursor:default;}

/* the two controls the first pass missed, caught on re-measure at 390px */
.bnl-page--products-deck-dock .bnl-eco-links a{
  min-height:var(--tap-min);
  display:inline-flex;align-items:center;
}
.bnl-page--products-deck-dock .bnl-kslide input[type="range"]{
  min-height:var(--tap-min);
}

/* ===================================================================
   rev13 · CAROUSEL CARDS
   The bullet list was display:none below 820px, which is why the cards
   read as a heading floating in an empty box on an iPhone. Restored at
   every width, and every card now shows all four.
   Each variant also carries its own accent: a gradient wash off the top
   corner, a lit top rail, an accent rule and accent bullet markers.
=================================================================== */
#perf .bnl-rot__item .bnl-dcard__list,
.bnl-page--products-deck-dock .bnl-dcard__list{display:block!important;}
#perf .bnl-rot__item .bnl-dcard__list li,
#perf .bnl-rot__item .bnl-dcard__list li:nth-child(n+3),
#perf .bnl-rot__item .bnl-dcard__list li:nth-child(n+4),
#perf .bnl-rot__item .bnl-dcard__list li:nth-child(n+5){display:list-item!important;}

#perf .bnl-rot__item .bnl-dcard__list{
  font-size:12.6px;line-height:1.34;margin:10px 0 4px;
}
#perf .bnl-rot__item .bnl-dcard__list li{
  color:#C6CDD1;padding:7px 0 7px 16px;
}
#perf .bnl-rot__item .bnl-dcard__list li::before{
  background:var(--acc,#00A9B5);
  box-shadow:0 0 8px -1px var(--acc,#00A9B5);
  opacity:.95;
}

/* --- per-variant accent ------------------------------------------------ */
#perf .bnl-dcard--invisible{--acc:#00A9B5;}
#perf .bnl-dcard--build    {--acc:#FA6A1E;}
#perf .bnl-dcard--sealed   {--acc:#35CFC9;}
#perf .bnl-dcard--app      {--acc:#E3056B;}

/* the gradient wash — sits under the content, strongest at the top corner */
#perf .bnl-rot__item .bnl-dcard__inner{
  position:relative;overflow:hidden;
  background:
    radial-gradient(120% 78% at 8% -12%,
      color-mix(in srgb, var(--acc,#00A9B5) 26%, transparent) 0%,
      color-mix(in srgb, var(--acc,#00A9B5) 8%, transparent) 34%,
      transparent 68%),
    linear-gradient(168deg,
      rgba(255,255,255,.055) 0%, rgba(255,255,255,.012) 26%, transparent 55%),
    linear-gradient(180deg, #17181B 0%, #101114 62%, #0C0D0F 100%);
  border:1px solid color-mix(in srgb, var(--acc,#00A9B5) 24%, var(--color-border));
  box-shadow:
    0 18px 46px -22px rgba(0,0,0,.9),
    inset 0 1px 0 rgba(255,255,255,.07),
    0 0 34px -26px var(--acc,#00A9B5);
}
/* lit top rail */
#perf .bnl-rot__item .bnl-dcard__inner::before{
  content:"";position:absolute;left:0;right:0;top:0;height:2px;z-index:4;
  background:linear-gradient(90deg,
    transparent 0%, var(--acc,#00A9B5) 22%, #FFFFFF 50%,
    var(--acc,#00A9B5) 78%, transparent 100%);
  opacity:.6;
}
#perf .bnl-rot__item[data-pos="0"] .bnl-dcard__inner::before{opacity:1;}

/* icon + kicker pick up the accent */
#perf .bnl-rot__item .bnl-dcard__ic{
  color:var(--acc,#00A9B5);
  border-color:color-mix(in srgb, var(--acc,#00A9B5) 50%, transparent);
  box-shadow:0 0 20px -8px var(--acc,#00A9B5);
}
#perf .bnl-rot__item .bnl-dcard__who{color:var(--acc,#00A9B5);opacity:.95;}
#perf .bnl-rot__item .bnl-dcard__rule{
  height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--acc,#00A9B5),transparent 92%);
  opacity:.85;
}
#perf .bnl-rot__item .bnl-dcard__body{position:relative;z-index:2;}

/* ===================================================================
   rev13 · REVIEWS — built for a phone first
   Four full-length quotes stacked was ~1600px of scroll on an iPhone.
   Cards are now compact and clamped to three lines with a Read more
   toggle. The deck-specific review stays first.
=================================================================== */
.bnl-page--products-deck-dock .bnl-rev{
  display:grid;gap:10px;max-width:720px;margin:22px auto 0;
}
.bnl-page--products-deck-dock .bnl-rev__card{
  margin:0;padding:14px 15px 12px;border-radius:14px;
  background:linear-gradient(168deg,#141518 0%,#0E0F12 100%);
  border:1px solid var(--color-border);
}
.bnl-page--products-deck-dock .bnl-rev__card .bnl-rev__stars{
  font-size:12px;letter-spacing:.12em;margin:0 0 7px;color:#FFB65C;
}
.bnl-page--products-deck-dock .bnl-rev__card blockquote{
  margin:0;font-size:13.4px;line-height:1.5;color:var(--color-text);
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;
  overflow:hidden;
}
.bnl-page--products-deck-dock .bnl-rev__card.is-open blockquote{
  -webkit-line-clamp:unset;display:block;overflow:visible;
}
.bnl-page--products-deck-dock .bnl-rev__more{
  appearance:none;background:none;border:0;cursor:pointer;
  font-family:var(--font-heading-proposed);
  font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;
  color:var(--color-primary);padding:8px 0 2px;margin:0;
  min-height:var(--tap-min,44px);display:inline-flex;align-items:center;gap:5px;
}
.bnl-page--products-deck-dock .bnl-rev__more::after{
  content:"";width:6px;height:6px;border-right:1.6px solid currentColor;
  border-bottom:1.6px solid currentColor;transform:rotate(45deg) translateY(-1px);
  transition:transform .2s ease;
}
.bnl-page--products-deck-dock .bnl-rev__card.is-open .bnl-rev__more::after{
  transform:rotate(-135deg) translateY(-2px);
}
.bnl-page--products-deck-dock .bnl-rev__card figcaption{
  margin-top:9px;font-size:12.4px;font-weight:700;color:var(--color-text);
  display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;
}
.bnl-page--products-deck-dock .bnl-rev__card figcaption span{
  font-weight:400;font-size:11px;color:var(--color-text-muted);
}
.bnl-page--products-deck-dock .bnl-rev__badge{
  display:inline-block;font-family:var(--font-heading-proposed);
  font-size:9.4px;letter-spacing:.09em;text-transform:uppercase;
  color:var(--color-primary);border:1px solid color-mix(in srgb,var(--color-primary) 42%,transparent);
  border-radius:999px;padding:2px 7px;margin-bottom:8px;
}
@media (min-width:760px){
  .bnl-page--products-deck-dock .bnl-rev{grid-template-columns:1fr 1fr;gap:12px;}
  .bnl-page--products-deck-dock .bnl-rev__card blockquote{font-size:13.8px;}
}

/* ===================================================================
   rev13 · MOOD — a colour strip you can actually swipe
   Nine anonymous grey dots gave no clue what colour they selected.
   Each control is now a real swatch in its own colour with a label,
   in a horizontally scrollable strip that snaps.
   The Pause button had no styling at all and was rendering as a raw
   white browser button on the photo — see Austen's screenshot.
=================================================================== */
.bnl-page--products-deck-dock .bnl-mood__dots{
  display:flex;gap:8px;margin:14px 0 0;padding:2px 2px 10px;
  justify-content:flex-start;flex-wrap:nowrap;
  overflow-x:auto;overscroll-behavior-x:contain;
  scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.bnl-page--products-deck-dock .bnl-mood__dots::-webkit-scrollbar{display:none;}
.bnl-page--products-deck-dock .bnl-mood__dot{
  flex:0 0 auto;width:auto;height:auto;scroll-snap-align:center;
  display:flex;flex-direction:column;align-items:center;gap:5px;
  padding:7px 9px 6px;border-radius:12px;
  background:rgba(255,255,255,.03);
  border:1px solid var(--color-border);
  transition:border-color .2s ease, background .2s ease, transform .2s ease;
}
.bnl-page--products-deck-dock .bnl-mood__dot > span{
  width:30px;height:30px;border-radius:9px;background:var(--c);
  box-shadow:0 0 0 1px rgba(255,255,255,.16) inset,
             0 4px 14px -6px var(--c);
  transition:box-shadow .22s ease, transform .22s ease;
}
.bnl-page--products-deck-dock .bnl-mood__swname{
  font-style:normal;font-family:var(--font-heading-proposed);
  font-size:10px;letter-spacing:.05em;text-transform:uppercase;
  color:var(--color-text-muted);white-space:nowrap;
}
.bnl-page--products-deck-dock .bnl-mood__dot.is-active{
  background:color-mix(in srgb,var(--c) 14%,transparent);
  border-color:color-mix(in srgb,var(--c) 62%,transparent);
}
.bnl-page--products-deck-dock .bnl-mood__dot.is-active > span{
  box-shadow:0 0 0 1px rgba(255,255,255,.4) inset,
             0 0 18px -2px var(--c), 0 0 40px -12px var(--c);
  transform:translateY(-1px) scale(1.04);
}
.bnl-page--products-deck-dock .bnl-mood__dot.is-active .bnl-mood__swname{
  color:#fff;
}
/* the ::after hit-pad from rev12 is unnecessary now the control is big */
.bnl-page--products-deck-dock .bnl-mood__dot::after{content:none;}

/* the pause control — previously unstyled */
.bnl-page--products-deck-dock .bnl-mood__pause{
  appearance:none;-webkit-appearance:none;
  position:absolute;right:10px;bottom:10px;z-index:6;
  background:rgba(10,10,10,.62);
  -webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);
  border:1px solid rgba(255,255,255,.22);
  color:#fff;border-radius:999px;
  padding:0 15px;min-height:var(--tap-min,44px);min-width:auto;
  font-family:var(--font-heading-proposed);
  font-size:11px;letter-spacing:.07em;text-transform:uppercase;
  display:inline-flex;align-items:center;gap:6px;cursor:pointer;
}
.bnl-page--products-deck-dock .bnl-mood__pauseicon{
  width:7px;height:9px;flex:0 0 auto;
  border-left:2.5px solid currentColor;border-right:2.5px solid currentColor;
}
.bnl-page--products-deck-dock .bnl-mood__pause[aria-pressed="true"] .bnl-mood__pauseicon{
  border:0;width:0;height:0;
  border-left:8px solid currentColor;
  border-top:5px solid transparent;border-bottom:5px solid transparent;
}
.bnl-page--products-deck-dock .bnl-mood__stage{position:relative;}

/* ===================================================================
   rev13 · HERO — the video was 540px of a 844px iPhone viewport before
   a single word of copy. Capped so the headline and the primary button
   are reachable without a scroll on a standard phone.
=================================================================== */
@media (max-width:620px){
  /* the frame owns the height (min(64vh,600px) = 540px on an iPhone 14);
     the video is height:100% of it, so the frame is what has to come down. */
  .bnl-page--products-deck-dock .bnl-hero__media-frame{
    height:min(40svh,340px);min-height:220px;
  }
  .bnl-page--products-deck-dock .bnl-hero__video{
    height:100%;object-fit:cover;
  }
  .bnl-page--products-deck-dock .bnl-hero{min-height:0;}
}

/* rev13 · the shot box no longer needs to reserve a tall square, the
   image itself is now trimmed to the product. */
.bnl-page--products-deck-dock .bnl-sc__shot{padding:0;}
.bnl-page--products-deck-dock .bnl-sc__shot img{
  width:100%;height:auto;display:block;
}
@media (max-width:760px){
  .bnl-page--products-deck-dock .bnl-sc__head{gap:10px;}
}

/* ===================================================================
   rev14 · KELVIN — one slider, not two
   The page shipped two warmer/cooler sliders: a styled static one in the
   markup and a second injected by script, both driving the same panels.
   The static one is kept (gradient warm->cool track, tick marks, 44px
   grab height) and now carries the live readout the injected one had.
=================================================================== */
.bnl-page--products-deck-dock .bnl-k__val{
  margin:7px 0 0;text-align:center;
  font-family:var(--font-heading-proposed);font-weight:700;
  font-size:13px;letter-spacing:.02em;color:var(--color-text);
  min-height:1.2em;
}
.bnl-page--products-deck-dock .bnl-kslide{display:none;}

/* rev14 · the open Kelvin panel's description was clamped to 3.2em (~42px)
   while the copy needs ~70px, so "Firelight. The one most people live on."
   was cut mid-sentence — visible in Austen's screenshot. Let it breathe. */
.bnl-page--products-deck-dock .bnl-k__panel.is-open .bnl-k__desc{
  max-height:9em!important;
}

/* ===================================================================
   rev15 · THE STRAY "PLAY" BUTTON IN THE HERO
   rev13 styled .bnl-mood__pause as position:absolute, but the button was
   a SIBLING of .bnl-mood__stage, not a child. With no positioned
   ancestor it resolved against the initial containing block and landed
   at the top of the document — appearing over the hero copy, which is
   the control Austen circled. Moved inside the stage; the stage is
   already position:relative so right/bottom now anchor to the photo.
=================================================================== */
.bnl-page--products-deck-dock .bnl-mood__stage{position:relative;}
.bnl-page--products-deck-dock .bnl-mood__pause{
  position:absolute;right:10px;bottom:10px;z-index:6;
}
