﻿@charset "UTF-8";
/** Theme Colors */
/** Fonts */
/** Fonts **/
@font-face {
  font-family: "Peerless Sans Regular";
  src: url("/Assets/fonts/PeerlessSans-Regular.ttf") format("truetype");
  font-style: normal;
}
@font-face {
  font-family: "Peerless Sans Bold";
  src: url("/Assets/fonts/PeerlessSans-Bold.ttf") format("truetype");
  font-style: normal;
}
@font-face {
  font-family: "Space Mono Regular";
  src: url("/Assets/fonts/SpaceMono-Regular.ttf") format("truetype");
  font-style: normal;
}
.product-card:hover {
  z-index: 1;
}

.news-story .news-story__section-divider {
  width: min(100% - 2 * var(--space-8), 1344px);
  height: 3px;
  margin: var(--space-8) auto;
  background-color: var(--color-lime-500, #c6dc19);
}

.news-story__hero .news-story__hero-media {
  height: auto !important;
  min-height: 0 !important;
  align-self: start !important;
  aspect-ratio: 16/9 !important;
}

.news-story__hero .news-story__hero-media img,
.news-story__hero .news-story__hero-media video {
  height: 100% !important;
}

@media (max-width: 1024px) {
  .news-story__hero .news-story__hero-media {
    aspect-ratio: 16/10 !important;
  }
}
@media (max-width: 768px) {
  .news {
    overflow-x: clip;
  }
  .news .news__shell {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding-inline: var(--space-5) !important;
  }
}
.scene-explorer__img {
  object-fit: var(--scene-explorer-object-fit, contain);
  object-position: var(--scene-explorer-object-x, 100%) var(--scene-explorer-object-y, 50%);
}

@media (max-width: 768px) {
  .scene-explorer__img[data-slide-preset=default].is-active {
    left: auto;
    transform: none;
  }
}
.scene-explorer {
  background-color: var(--color-structural-black-500, #0f121d);
  transition: background-color 0.6s ease;
}

.scene-explorer[data-background=structural-black] {
  background-color: var(--color-structural-black-500, #0f121d);
}

.scene-explorer[data-background=none] {
  background-color: var(--color-structural-black-500, #0f121d);
}

.scene-explorer:before {
  opacity: 0;
  transition: opacity 0.6s ease;
}

@media (min-width: 769px) {
  .scene-explorer > .pdp-video-controls {
    bottom: calc(var(--space-6) + var(--header-size) + env(safe-area-inset-bottom, 0px));
  }
}
.scene-explorer[data-background=none]:before {
  opacity: 1;
}

/** Mega Nav Product Cards */
#megaMenuProductCards {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  margin: 40px;
}
#megaMenuProductCards .product-card__overlay a {
  overflow: hidden;
}

/** Navigation Panel Module */
.navigation-panel-module.verticals-display-panel {
  width: 100%;
  height: 100%;
}
.navigation-panel-module .thumb-gallery {
  height: 100%;
}
.navigation-panel-module .thumb-gallery__thumbs {
  width: auto;
  flex: 1;
}

/** START Video Embed Component (VideoPeerless.cshtml) */
.peerless-video-embed-wrapper {
  position: relative;
  width: 100%;
}

.peerless-video-embed {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  background: var(--color-structural-black-500, #0f121d);
}
.peerless-video-embed iframe,
.peerless-video-embed video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: none;
  object-fit: cover;
  display: block;
}

#megaMenuDisplay > .peerless-video-embed-wrapper {
  flex: 1;
  min-height: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
}

#megaMenuDisplay > .peerless-video-embed-wrapper > .peerless-video-embed {
  flex: 1;
  min-height: 0;
  height: 100%;
  aspect-ratio: auto;
}

.peerless-video-embed-wrapper > .peerless-video-embed--fixed-height,
#megaMenuDisplay > .peerless-video-embed-wrapper > .peerless-video-embed--fixed-height {
  flex: 0 0 auto;
  aspect-ratio: auto;
}

.peerless-video-embed__cta {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  padding: var(--space-5, 20px);
  background: linear-gradient(to top, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0) 100%);
  color: #fff;
  pointer-events: none;
}
.peerless-video-embed__cta a {
  pointer-events: auto;
}
.peerless-video-embed__cta p,
.peerless-video-embed__cta h1, .peerless-video-embed__cta h2, .peerless-video-embed__cta h3, .peerless-video-embed__cta h4, .peerless-video-embed__cta h5, .peerless-video-embed__cta h6 {
  margin: 0 0 var(--space-3, 12px);
  color: inherit;
}
.peerless-video-embed__cta p:last-child,
.peerless-video-embed__cta h1:last-child, .peerless-video-embed__cta h2:last-child, .peerless-video-embed__cta h3:last-child, .peerless-video-embed__cta h4:last-child, .peerless-video-embed__cta h5:last-child, .peerless-video-embed__cta h6:last-child {
  margin-bottom: 0;
}

/** END Video Embed Component (VideoPeerless.cshtml) */
/** award-card__decoration overide */
.award-card__decoration {
  background: none;
}

/** Category List Peerless Component */
.product-categories-panel__item--empty {
  cursor: revert;
}

.product-categories-panel__list > li:has(> a.product-categories-panel__item) {
  display: contents;
}

.product-categories-panel__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-block: var(--space-6);
  flex-shrink: 0;
}

.product-categories-panel__title {
  font-size: 20px;
  font-weight: 400;
  color: var(--pcp-text);
  margin: 0;
  letter-spacing: -0.01em;
}

.product-categories-panel__cta {
  flex-shrink: 0;
}
.product-categories-panel__cta .fa-arrow-up-right {
  display: inline-block;
  transition: transform 0.25s ease;
}
.product-categories-panel__cta:hover .fa-arrow-up-right {
  transform: rotate(45deg);
}

/** Two-Column Layout */
.two-col-layout-peerless {
  display: flex;
  margin: 64px 0;
  max-height: 406px;
}
.two-col-layout-peerless.has-padding {
  padding: 0 64px;
}
.two-col-layout-peerless > div {
  flex-grow: 1;
}
.two-col-layout-peerless > div.col-md-2 {
  flex-basis: 16.6667%;
  max-width: 16.6667%;
}
.two-col-layout-peerless > div.col-md-3 {
  flex-basis: 25%;
  max-width: 25%;
}
.two-col-layout-peerless > div.col-md-4 {
  flex-basis: 33.3333%;
  max-width: 33.3333%;
}
.two-col-layout-peerless > div.col-md-5 {
  flex-basis: 41.6667%;
  max-width: 41.6667%;
}
.two-col-layout-peerless > div.col-md-6 {
  flex-basis: 50%;
  max-width: 50%;
}
.two-col-layout-peerless > div.col-md-7 {
  flex-basis: 58.3333%;
  max-width: 58.3333%;
}
.two-col-layout-peerless > div.col-md-8 {
  flex-basis: 66.6667%;
  max-width: 66.6667%;
}
.two-col-layout-peerless > div.col-md-9 {
  flex-basis: 75%;
  max-width: 75%;
}
.two-col-layout-peerless > div.col-md-10 {
  flex-basis: 83.3333%;
  max-width: 83.3333%;
}
@media (max-width: 900px) {
  .two-col-layout-peerless {
    flex-direction: column;
  }
}

/** Search Page -- Product Cards */
.CoveoResult .product-card {
  position: relative;
  isolation: isolate;
  overflow: clip;
  width: 100%;
  max-width: 790px;
  min-width: 375px;
  display: flex;
  flex-direction: column;
  background: var(--color-structural-cream-500, #f5f2ec);
  box-shadow: 0 24px 24px -12px rgba(14, 63, 126, 0.04), 0 12px 12px rgba(14, 63, 126, 0.04), 0 6px 6px -3px rgba(42, 51, 70, 0.04), 0 3px 3px rgba(42, 51, 70, 0.04), 0 1px 1px -0.5px rgba(42, 51, 69, 0.04), 0 0 0 1px rgba(14, 63, 126, 0.04), 0 0 1px rgba(0, 0, 0, 0.18);
  transition: box-shadow 0.35s ease;
}
.CoveoResult .product-card[data-state=open] {
  z-index: 7;
}
.CoveoResult .product-card a:hover, .CoveoResult .product-card a:hover a, .CoveoResult .product-card a:focus, .CoveoResult .product-card a:focus a {
  text-decoration: none;
}
.CoveoResult .product-card a:visited {
  color: var(--color-structural-cream-25);
}
.CoveoResult .product-card a:visited:hover {
  color: var(--color-structural-blue-400);
}
.CoveoResult .product-card a.item-action-row__label:visited:hover {
  color: var(--color-structural-cream-25);
}
.CoveoResult .product-card .product-card__title:visited {
  color: var(--color-structural-black-600, #0e101a);
}
.CoveoResult .product-card .product-card__title:visited:hover {
  color: var(--color-structural-black-600, #0e101a);
}
.CoveoResult .product-card__media {
  display: flex;
  position: relative;
  overflow: hidden;
  text-decoration: none;
  aspect-ratio: 1/1;
}
.CoveoResult .product-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}
.CoveoResult .product-card__image[data-img-position=top] {
  object-position: top;
}
.CoveoResult .product-card__image[data-img-position=bottom] {
  object-position: bottom;
}
.CoveoResult .product-card__image[data-img-position=left] {
  object-position: left;
}
.CoveoResult .product-card__image[data-img-position=right] {
  object-position: right;
}
.CoveoResult .product-card__image[data-img-position=top-left] {
  object-position: top left;
}
.CoveoResult .product-card__image[data-img-position=top-right] {
  object-position: top right;
}
.CoveoResult .product-card__image[data-img-position=bottom-left] {
  object-position: bottom left;
}
.CoveoResult .product-card__image[data-img-position=bottom-right] {
  object-position: bottom right;
}
.CoveoResult .product-card__image[data-img-position=center-left] {
  object-position: center left;
}
.CoveoResult .product-card__image[data-img-position=center-right] {
  object-position: center right;
}
.CoveoResult .product-card:hover {
  box-shadow: 0 20px 56px rgba(0, 0, 0, 0.29);
}
.CoveoResult .product-card:hover .product-card__image {
  transform: scale(1.04);
}
.CoveoResult .product-card__meta {
  display: flex;
  align-items: stretch;
  height: 100px;
  margin-top: auto;
  background: #fff;
  z-index: 1;
}
.CoveoResult .product-card__summary {
  flex: 1;
  min-width: 0;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: var(--space-2_5) var(--space-4) var(--space-2) var(--space-4);
}
.CoveoResult .product-card__family {
  margin: 0 0 var(--space-1);
  font-family: var(--font-sans);
  font-size: 1.125rem;
  line-height: normal;
  font-weight: 400;
  opacity: 0.65;
  color: var(--color-structural-black-500, #0f121d);
}
.CoveoResult .product-card__title {
  margin: 0;
  max-width: 100%;
  font-family: var(--font-sans);
  color: var(--color-structural-black-600, #0e101a);
  font-size: 0.875rem;
  line-height: 1.75rem;
  height: 4rem;
  font-weight: 400;
  opacity: 0.8;
  text-decoration: none;
  transition: color 0.2s ease;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.CoveoResult .product-card__title.text-md {
  font-size: 1.25rem;
}
.CoveoResult .product-card__toggle {
  position: relative;
  z-index: 1;
  flex: 0 0 auto;
  aspect-ratio: 1;
  height: 100%;
  border: none;
  background: var(--color-structural-black-400, #202938);
  color: var(--color-structural-cream-25);
  cursor: pointer;
  font-size: 1.5rem;
  transition: background 0.2s ease, color 0.2s ease;
}
.CoveoResult .product-card__toggle-icon--close, .CoveoResult .product-card[data-state=open] .product-card__toggle-icon--plus {
  display: none;
}
.CoveoResult .product-card[data-state=open] .product-card__toggle-icon--close {
  display: inline;
}
.CoveoResult .product-card:hover .product-card__toggle {
  background: var(--color-structural-blue-500);
  color: #fff;
}
.CoveoResult .product-card__overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  background: color-mix(in srgb, var(--color-structural-black-500, #0f121d) 94%, transparent);
  color: var(--color-structural-cream-25);
  pointer-events: none;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  transform: translateY(100%);
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.CoveoResult .product-card__overlay a {
  color: inherit;
}
.CoveoResult .product-card__overlay-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-7) var(--space-8) var(--space-4);
  font-size: 1.4rem;
}
.CoveoResult .product-card__close {
  position: absolute;
  top: 0;
  right: 0;
  width: 3.125rem;
  height: 3.125rem;
  border: none;
  background: var(--color-structural-blue-500, #0061FE);
  color: #fff;
  cursor: pointer;
  font-size: 1.2rem;
}
.CoveoResult .product-card__overlay-body {
  padding: var(--space-0) var(--space-8) var(--space-8);
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  overflow: hidden;
}
.CoveoResult .product-card__overlay-heading {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.CoveoResult .product-card__family--light {
  color: color-mix(in srgb, var(--color-structural-cream-25) 70%, transparent);
  margin-bottom: 0;
}
.CoveoResult .product-card__title--light {
  font-family: var(--font-sans);
  color: var(--color-structural-cream-25);
  max-width: 100%;
  min-height: 0;
  height: auto;
  -webkit-line-clamp: unset;
  overflow: visible;
}
.CoveoResult .cta-link > .product-card__title--light {
  color: inherit;
}
.CoveoResult .product-card__variants {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3) var(--space-6);
}
.CoveoResult .product-card__variant {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1_5);
  color: var(--color-structural-cream-25);
  text-decoration: none;
  text-transform: capitalize;
  font-size: 0.875rem;
  font-family: var(--font-mono);
  transition: color 0.2s ease;
}
.CoveoResult .product-card__variant i {
  display: inline-block;
  transition: transform 0.25s ease;
}
.CoveoResult .product-card__variant-code {
  text-transform: uppercase;
}
.CoveoResult .product-card__tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-bottom: 1px solid color-mix(in srgb, var(--color-structural-cream-25) 20%, transparent);
}
.CoveoResult .product-card__tab {
  border: none;
  background: transparent;
  color: var(--color-structural-cream-25);
  height: 2.25rem;
  font-size: 0.875rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-family: var(--font-mono);
  cursor: pointer;
}
.CoveoResult .product-card__tab.is-active {
  color: var(--color-structural-blue-400);
  border-bottom: 3px solid var(--color-structural-blue-400);
}
.CoveoResult .product-card__files {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-px);
  overflow: hidden;
}
.CoveoResult .product-card__files .product-card__tab-panel {
  overflow: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--color-structural-black-25, #fcfcfd) transparent;
}
.CoveoResult .product-card__files .product-card__tab-panel::-webkit-scrollbar {
  width: 4px;
}
.CoveoResult .product-card__files .product-card__tab-panel::-webkit-scrollbar-track {
  background: transparent;
}
.CoveoResult .product-card__files .product-card__tab-panel::-webkit-scrollbar-thumb {
  background: var(--color-structural-black-25, #fcfcfd);
  border-radius: 4px;
}
.CoveoResult .product-card__file {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-structural-cream-25);
  text-decoration: none;
  opacity: 0.9;
  font-size: 1rem;
  transition: color 0.2s ease, opacity 0.2s ease;
}
.CoveoResult .product-card__file:hover {
  color: var(--color-structural-blue-400);
  opacity: 1;
}
.CoveoResult .product-card__tab-panel {
  display: none;
}
.CoveoResult .product-card__tab-panel.is-active {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .CoveoResult .product-card__tab-panel.is-active {
    gap: var(--space-4);
  }
}
.CoveoResult .product-card__download-all {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1_5);
  align-self: flex-end;
  color: var(--color-structural-cream-25);
  text-decoration: none;
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  opacity: 0.8;
}
.CoveoResult .product-card__download-all:hover {
  opacity: 1;
}
.CoveoResult .product-card[data-state=open] .product-card__overlay {
  pointer-events: auto;
  transform: translateY(0);
}
.CoveoResult .product-card[data-state=open] .product-card__summary {
  visibility: hidden;
}
.CoveoResult .product-card[data-state=open] .product-card__toggle {
  opacity: 0;
  pointer-events: none;
}
.CoveoResult .item-action-row {
  position: relative;
  width: 100%;
}
.CoveoResult .item-action-row__surface {
  --item-action-row-bg: transparent;
  --item-action-row-fg: rgba(15, 18, 29, 0.88);
  --item-action-row-muted: rgba(15, 18, 29, 0.45);
  --item-action-row-hover: rgba(0, 97, 254, .1);
  --item-action-row-hover-strong: rgba(0, 97, 254, .12);
  --item-action-row-accent: var(--color-structural-blue-500, #0061fe);
  --item-action-row-selected-bg: var(--color-structural-blue-500, #0061fe);
  --item-action-row-selected-fg: var(--color-structural-cream-25, #fffefd);
  --item-action-row-selected-hover: rgba(15, 18, 29, .1);
  --item-action-row-divider: rgba(15, 18, 29, .12);
  --item-action-row-selected-divider: rgba(255, 255, 255, .22);
  display: flex;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  gap: 0;
  min-height: 40px;
  background: var(--item-action-row-bg);
  color: var(--item-action-row-fg);
  transition: background 0.15s ease, color 0.15s ease;
}
.CoveoResult .item-action-row__surface a {
  overflow: hidden;
}
.CoveoResult .item-action-row--dark .item-action-row__surface {
  --item-action-row-fg: rgba(255, 255, 255, .8);
  --item-action-row-muted: rgba(255, 255, 255, .26);
  --item-action-row-hover: rgba(0, 97, 254, .14);
  --item-action-row-hover-strong: rgba(0, 97, 254, .16);
  --item-action-row-accent: var(--color-structural-cream-25, #fffefd);
  --item-action-row-selected-bg: var(--color-structural-blue-500, #0061fe);
  --item-action-row-selected-fg: var(--color-structural-cream-25, #fffefd);
  --item-action-row-divider: rgba(255, 255, 255, .08);
  --item-action-row-selected-divider: rgba(255, 255, 255, .2) ;
}
.CoveoResult .item-action-row__checkbox {
  display: none !important;
  position: absolute;
  width: 0;
  height: 0;
  padding: 0;
  margin: 0;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  appearance: none;
  -webkit-appearance: none;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.CoveoResult .item-action-row:hover .item-action-row__surface, .CoveoResult .item-action-row:focus-within .item-action-row__surface {
  background: var(--item-action-row-hover);
}
.CoveoResult .item-action-row.is-selected .item-action-row__surface, .CoveoResult .item-action-row__checkbox:checked + .item-action-row__surface, .CoveoResult .item-action-row.is-added .item-action-row__surface {
  background: var(--item-action-row-selected-bg);
  color: var(--item-action-row-selected-fg);
}
.CoveoResult .item-action-row.is-selected:hover .item-action-row__surface, .CoveoResult .item-action-row.is-selected:focus-within .item-action-row__surface, .CoveoResult .item-action-row__checkbox:checked + .item-action-row__surface:hover, .CoveoResult .item-action-row__checkbox:checked + .item-action-row__surface:focus-within, .CoveoResult .item-action-row.is-added:hover .item-action-row__surface, .CoveoResult .item-action-row.is-added:focus-within .item-action-row__surface {
  background: var(--item-action-row-selected-bg);
}
.CoveoResult .item-action-row__toggle, .CoveoResult .item-action-row__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--item-action-row-muted);
  text-decoration: none;
  cursor: pointer;
  user-select: none;
  transition: color 0.15s ease, background 0.15s ease;
}
.CoveoResult .item-action-row__toggle:hover, .CoveoResult .item-action-row__toggle:focus-visible, .CoveoResult .item-action-row__action:hover, .CoveoResult .item-action-row__action:focus-visible {
  background: var(--item-action-row-hover-strong);
  color: var(--item-action-row-accent);
  outline: none;
}
.CoveoResult .item-action-row.is-selected .item-action-row__toggle, .CoveoResult .item-action-row.is-selected .item-action-row__action, .CoveoResult .item-action-row.is-selected .item-action-row__label, .CoveoResult .item-action-row__checkbox:checked + .item-action-row__surface .item-action-row__toggle, .CoveoResult .item-action-row__checkbox:checked + .item-action-row__surface .item-action-row__action, .CoveoResult .item-action-row__checkbox:checked + .item-action-row__surface .item-action-row__label, .CoveoResult .item-action-row.is-added .item-action-row__toggle, .CoveoResult .item-action-row.is-added .item-action-row__action, .CoveoResult .item-action-row.is-added .item-action-row__label {
  color: var(--item-action-row-selected-fg);
}
.CoveoResult .item-action-row.is-selected .item-action-row__toggle:hover, .CoveoResult .item-action-row.is-selected .item-action-row__toggle:focus-visible, .CoveoResult .item-action-row.is-selected .item-action-row__action:hover, .CoveoResult .item-action-row.is-selected .item-action-row__action:focus-visible, .CoveoResult .item-action-row__checkbox:checked + .item-action-row__surface .item-action-row__toggle:hover, .CoveoResult .item-action-row__checkbox:checked + .item-action-row__surface .item-action-row__toggle:focus-visible, .CoveoResult .item-action-row__checkbox:checked + .item-action-row__surface .item-action-row__action:hover, .CoveoResult .item-action-row__checkbox:checked + .item-action-row__surface .item-action-row__action:focus-visible, .CoveoResult .item-action-row.is-added .item-action-row__toggle:hover, .CoveoResult .item-action-row.is-added .item-action-row__toggle:focus-visible, .CoveoResult .item-action-row.is-added .item-action-row__action:hover, .CoveoResult .item-action-row.is-added .item-action-row__action:focus-visible {
  background: var(--item-action-row-selected-hover);
  color: var(--item-action-row-selected-fg);
}
.CoveoResult .item-action-row__toggle {
  border-left: 1px solid var(--item-action-row-divider);
}
.CoveoResult .item-action-row.is-selected .item-action-row__toggle, .CoveoResult .item-action-row__checkbox:checked + .item-action-row__surface .item-action-row__toggle, .CoveoResult .item-action-row.is-added .item-action-row__toggle {
  border-left-color: var(--item-action-row-selected-divider);
}
.CoveoResult .item-action-row__label {
  flex: 1;
  min-width: 0;
  display: block;
  text-align: left;
  padding: 8px 10px 8px 12px;
  font-family: var(--font-sans, sans-serif);
  font-size: 0.6875rem;
  font-weight: 400;
  line-height: 1.35;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}
.CoveoResult .item-action-row__label--lg {
  font-size: 1rem;
  text-transform: none;
  letter-spacing: normal;
}
.CoveoResult .item-action-row__label--link {
  color: inherit;
  text-decoration: none;
  align-items: center;
  gap: 0.35em;
  cursor: pointer;
}
.CoveoResult .item-action-row__label--link:hover {
  color: var(--item-action-row-accent);
}
.CoveoResult .item-action-row__label-arrow {
  flex-shrink: 0;
  font-size: 0.8em;
  transition: transform 0.25s ease;
}
.CoveoResult .item-action-row__label--link:hover .item-action-row__label-arrow {
  transform: rotate(45deg);
}
.CoveoResult .item-action-row__actions {
  display: inline-flex;
  align-items: center;
  margin-left: auto;
  flex-shrink: 0;
}
.CoveoResult .item-action-row__toggle-icon {
  display: block;
  transition: transform 0.22s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.18s ease;
}
.CoveoResult .item-action-row.is-selected .item-action-row__toggle-icon, .CoveoResult .item-action-row__checkbox:checked + .item-action-row__surface .item-action-row__toggle-icon, .CoveoResult .item-action-row.is-added .item-action-row__toggle-icon {
  transform: rotate(45deg);
}
.CoveoResult .item-action-row__action--download {
  border-left: 1px solid var(--item-action-row-divider);
}
.CoveoResult .item-action-row__action--download:hover, .CoveoResult .item-action-row__action--download:focus-visible {
  border-left-color: rgba(0, 97, 254, 0.35);
}
.CoveoResult .item-action-row.is-selected .item-action-row__action--download, .CoveoResult .item-action-row__checkbox:checked + .item-action-row__surface .item-action-row__action--download, .CoveoResult .item-action-row.is-added .item-action-row__action--download {
  border-left-color: var(--item-action-row-selected-divider);
}
.CoveoResult .item-action-row.is-selected .item-action-row__action--download:hover, .CoveoResult .item-action-row.is-selected .item-action-row__action--download:focus-visible, .CoveoResult .item-action-row__checkbox:checked + .item-action-row__surface .item-action-row__action--download:hover, .CoveoResult .item-action-row__checkbox:checked + .item-action-row__surface .item-action-row__action--download:focus-visible, .CoveoResult .item-action-row.is-added .item-action-row__action--download:hover, .CoveoResult .item-action-row.is-added .item-action-row__action--download:focus-visible {
  border-left-color: rgba(255, 255, 255, 0.32);
}

@media (max-width: 768px) {
  .product-card {
    min-height: 27rem;
  }
  .product-card .product-card__files {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-px);
    overflow: hidden;
  }
  .product-card .product-card__files .product-card__tab-panel {
    scrollbar-color: var(--color-structural-black-25, #fcfcfd) var(--color-structural-black-25, #fcfcfd);
  }
  .product-card .product-card__files .product-card__tab-panel::-webkit-scrollbar-track {
    background: var(--color-structural-black-25, #fcfcfd);
  }
  .product-card .product-card__files .product-card__tab-panel::-webkit-scrollbar-thumb {
    background: var(--color-structural-black-25, #fcfcfd);
  }
  .product-card__overlay-body {
    padding: var(--space-2) var(--space-4) var(--space-5);
  }
  .product-card__overlay-header {
    padding: var(--space-4);
  }
  .product-card__files {
    grid-template-columns: 1fr;
  }
}
/** (Mobile) Responsive adjustments for photometry links on PDP docs **/
@media (max-width: 960px) {
  .pdp-docs [data-category=photometry] .pdp-docs__legacy-row-links .display-inherit-mobile > a {
    white-space: normal;
    overflow-wrap: anywhere;
  }
}
.cta-link .fa-arrow-up-right {
  display: inline-block;
  flex-shrink: 0;
  transition: transform 0.25s ease, color 0.25s ease;
}

.cta-link:hover .fa-arrow-up-right {
  transform: rotate(45deg);
}

/** Search results content cards (Family, Projects, Content) */
.CoveoResult .content-card {
  --cc-radius: 0;
  --cc-text: var(--color-structural-cream-50, #ffffff);
  --cc-bg: var(--color-structural-black-500, #111);
  --cc-fade-from: rgba(0, 0, 0, 0);
  --cc-fade-to: rgba(0, 0, 0, .7);
  --cc-pad: var(--space-6, 24px);
  --cc-body-pad-block: var(--space-8, 32px);
  --cc-body-pad-inline: var(--space-8, 32px);
  --cc-bg-translucent: rgba(7, 55, 40, 0.55);
  --cc-text-translucent: rgba(255, 255, 255, 0.92);
  --cc-border-translucent: rgba(255, 255, 255, 0.14);
  position: relative;
  display: flex;
  flex-direction: column;
  isolation: isolate;
  border-radius: var(--cc-radius);
  background: var(--cc-bg);
  color: var(--cc-text);
  text-decoration: none;
  transition: transform 0.4s cubic-bezier(0.25, 0.1, 0.25, 1);
}
.CoveoResult .content-card a, .CoveoResult .content-card span {
  color: var(--color-structural-cream-50, #ffffff);
}
.CoveoResult .content-card:visited, .CoveoResult .content-card:visited:hover {
  color: var(--color-structural-cream-50, #fff);
}
.CoveoResult .content-card:hover, .CoveoResult .content-card:focus {
  text-decoration: none;
}
.CoveoResult .content-card span.content-card__featured-label {
  font-family: var(--font-sans);
  font-size: 0.625rem;
  font-weight: 400;
  color: #c6dc19;
  text-align: center;
  white-space: nowrap;
  height: 0;
  padding-bottom: 0;
  overflow: hidden;
  opacity: 0;
  transition: opacity 0.2s ease, height 0.2s ease, padding-bottom 0.2s ease;
}
.CoveoResult .content-card .content-card__featured-cta {
  margin: 0;
  font-family: var(--font-mono);
  font-size: 0.5625rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #48cef7;
  display: flex;
  align-items: center;
  gap: var(--space-1);
}
.CoveoResult .content-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
}
.CoveoResult .content-card__media {
  position: absolute;
  inset: 0;
  margin: 0;
  overflow: hidden;
}
.CoveoResult .content-card__gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, var(--cc-fade-from) 40%, var(--cc-fade-to) 100%);
  pointer-events: none;
}
.CoveoResult .content-card__display {
  position: relative;
  z-index: 1;
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: var(--cc-pad);
}
.CoveoResult .content-card__display-content {
  width: 100%;
  max-height: 100%;
  aspect-ratio: 1;
  background: #fff;
  display: grid;
  place-items: center;
  padding: var(--space-3, 12px);
}
.CoveoResult .content-card__display-content img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.CoveoResult .content-card__body {
  position: relative;
  z-index: 2;
  margin-top: 0;
  padding: var(--cc-body-pad-block) var(--cc-body-pad-inline);
  display: flex;
  flex-direction: column;
  gap: var(--space-2, 8px);
  background: none;
}
.CoveoResult .content-card__eyebrow {
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  opacity: 0.85;
}
.CoveoResult .content-card__title {
  margin: 0;
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: clamp(1.125rem, var(--fluid-unit, 1vw) * 0.6 + 0.75rem, 1.375rem);
  line-height: 1.2;
  letter-spacing: -0.01em;
  display: flex;
  align-items: baseline;
  gap: var(--space-2, 8px);
  flex-wrap: nowrap;
}
.CoveoResult .content-card__title-text {
  flex: 0 1 auto;
}
.CoveoResult .content-card__arrow {
  flex: 0 0 auto;
  font-size: 0.8rem;
  font-weight: 500;
  padding-left: var(--space-2);
  display: inline-block;
  transition: transform 0.25s ease, color 0.25s ease;
}
.CoveoResult .content-card__desc {
  margin: 0;
  font-family: var(--font-sans);
  font-size: 0.875rem;
  line-height: 1.45;
  opacity: 0.85;
}
.CoveoResult a.content-card:hover .content-card__image {
  transform: scale(1.04);
}
.CoveoResult a.content-card:hover .content-card__arrow {
  transform: rotate(45deg);
}
.CoveoResult a.content-card:focus-visible {
  outline: 2px solid var(--color-structural-blue-cta, #1f6feb);
  outline-offset: 3px;
}
.CoveoResult .content-card--ratio-16-10 {
  aspect-ratio: 16/10;
}
.CoveoResult .content-card--ratio-1-1 {
  aspect-ratio: 1/1;
}
.CoveoResult .content-card--no-aspect-ratio {
  aspect-ratio: unset;
}
.CoveoResult .content-card.has-title-gradient .content-card__title-text {
  background: linear-gradient(131deg, #c6dc19, #fff);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}
.CoveoResult .content-card--body-pad-extra {
  --cc-body-pad-inline: var(--space-16, 64px) ;
}
.CoveoResult .content-card--standard {
  --cc-fade-from: rgba(0, 0, 0, 0);
  --cc-fade-to: rgba(0, 0, 0, .75) ;
}
.CoveoResult .content-card--standard .content-card__body {
  margin-top: auto;
}
.CoveoResult .content-card--spotlight {
  --cc-fade-from: rgba(0, 0, 0, 0);
  --cc-fade-to: rgba(0, 0, 0, .75) ;
}
.CoveoResult .content-card--spotlight.content-card--has-display-content {
  --cc-bg: var(--color-structural-black-400, #2b2b2b) ;
}
.CoveoResult .content-card--spotlight.content-card--has-display-content .content-card__image {
  opacity: 0.55;
  filter: blur(2px);
}
.CoveoResult .content-card--editorial {
  --cc-bg: var(--color-green-500, #154734);
  --cc-text: var(--color-structural-cream-50, #ffffff);
  --cc-pad: var(--space-8, 32px) ;
}
.CoveoResult .content-card--editorial .content-card__icon {
  font-size: 1.5rem;
  color: currentColor;
  flex: 0 0 auto;
  margin-bottom: var(--space-1, 4px);
}
.CoveoResult .content-card--editorial .content-card__title {
  font-size: clamp(1.5rem, var(--fluid-unit) + 1rem, 2.25rem);
  font-weight: 400;
}
.CoveoResult .content-card--editorial .content-card__body {
  margin-top: 0;
  height: 100%;
  justify-content: center;
}
.CoveoResult .content-card--editorial .content-card__desc {
  font-size: 1rem;
  opacity: 0.9;
  max-width: 38ch;
}
.CoveoResult .content-card--editorial.is-translucent {
  background: var(--cc-bg-translucent);
  color: var(--cc-text-translucent);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border: 1px solid var(--cc-border-translucent);
}
.CoveoResult .content-card--editorial.is-translucent.is-translucent-default {
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.CoveoResult .content-card--editorial-color-ignition-green {
  --cc-bg: var(--color-green-500, #073728);
  --cc-text: var(--color-lime-500, #c6dc19) ;
}
.CoveoResult .content-card--editorial-color-blue-alliance {
  --cc-bg: var(--color-blue-alliance-500, #005465);
  --cc-text: var(--color-lime-500, #c6dc19) ;
}
.CoveoResult .content-card--editorial-color-blue-reliance {
  --cc-bg: var(--color-blue-reliance-500, #48cef7);
  --cc-text: var(--color-structural-black-500, #0f121d) ;
}
.CoveoResult .content-card--editorial-color-playleaf {
  --cc-bg: var(--color-lime-500, #c6dc19);
  --cc-text: var(--color-green-500, #073728) ;
}
.CoveoResult .content-card--editorial-color-flash-orange {
  --cc-bg: var(--color-orange-500, #ff5c00);
  --cc-text: var(--color-green-500, #073728) ;
}
.CoveoResult .content-card--editorial-color-momentum-red {
  --cc-bg: var(--color-red-500, #a80000);
  --cc-text: var(--color-structural-cream-50, #ffffff) ;
}
.CoveoResult .content-card--editorial-color-structural-blue {
  --cc-bg: var(--color-structural-blue-500, #0061fe);
  --cc-text: var(--color-structural-cream-50, #ffffff) ;
}
.CoveoResult .content-card--editorial-color-structural-black {
  --cc-bg: var(--color-structural-black-400, #202938);
  --cc-text: var(--color-structural-cream-50, #ffffff) ;
}
.CoveoResult .content-card--editorial-color-structural-cream {
  --cc-bg: var(--color-structural-cream-500, #f5f2ec);
  --cc-text: var(--color-structural-black-500, #0f121d) ;
}
.CoveoResult .content-card--editorial-color-midnight {
  --cc-bg: var(--color-structural-black-500, #0f121d);
  --cc-text: var(--color-structural-cream-50, #ffffff) ;
}
.CoveoResult .content-card.content-card--thumbnail {
  cursor: pointer;
}
.CoveoResult .content-card.content-card--thumbnail > .content-card__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.55s cubic-bezier(0.4, 0, 0.2, 1);
}
.CoveoResult .content-card.content-card--thumbnail:after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 55%;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.65) 0%, transparent 100%);
  pointer-events: none;
  z-index: 1;
}
.CoveoResult .content-card.content-card--thumbnail .content-card__body {
  position: relative;
  z-index: 2;
  margin-top: auto;
  padding: var(--cc-body-pad-block) var(--cc-body-pad-inline);
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  pointer-events: none;
}
.CoveoResult .content-card.content-card--thumbnail .content-card__eyebrow {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5490196078);
  opacity: 1;
}
.CoveoResult .content-card.content-card--thumbnail .content-card__title {
  font-family: var(--font-sans);
  font-size: 1.375rem;
  font-weight: 400;
  color: #fff;
  display: flex;
  align-items: center;
  gap: var(--space-2);
  flex-wrap: nowrap;
}
.CoveoResult .content-card.content-card--thumbnail .content-card__arrow {
  font-size: 0.875rem;
}
.CoveoResult .content-card.content-card--thumbnail .content-card__meta {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.4509803922);
}
.CoveoResult .content-card.content-card--thumbnail:hover > .content-card__image {
  transform: none;
}
.CoveoResult .content-card.content-card--thumbnail:hover .content-card__arrow {
  transform: none;
}
.CoveoResult .content-card__featured {
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 0;
  display: inline-flex;
  flex-direction: row;
  align-items: stretch;
  background: #005465;
  z-index: 3;
  overflow: hidden;
  max-width: 117px;
  transition: max-width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.CoveoResult .content-card__featured:hover {
  z-index: 4;
  max-width: 320px;
  padding: var(--space-3);
}
.CoveoResult .content-card__featured:hover .content-card__featured-body {
  width: 16ch;
  opacity: 1;
}
.CoveoResult .content-card__featured:hover .content-card__featured-label {
  height: auto;
  padding-bottom: var(--space-1);
  opacity: 1;
}
.CoveoResult .content-card__featured:hover .content-card__featured-media {
  padding-left: 0;
}
.CoveoResult .content-card__featured-body {
  flex: 0 0 auto;
  min-width: 0;
  width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-self: center;
  padding: 0;
  opacity: 0;
  white-space: nowrap;
  overflow: hidden;
  transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.25s ease 0.2s;
}
.CoveoResult .content-card__featured-content {
  padding-top: var(--space-1);
  padding-left: var(--space-2);
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  margin: auto;
}
.CoveoResult .content-card__featured-media {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  margin: 0;
  padding: 0;
}
.CoveoResult .content-card__featured-img {
  width: 105px;
  height: 105px;
  object-fit: contain;
  background: rgba(255, 255, 255, 0.0784313725);
  padding: var(--space-1);
  flex-shrink: 0;
}
.CoveoResult .content-card__featured-name {
  font-family: var(--font-sans);
  font-size: 0.625rem;
  font-weight: 400;
  color: #fff;
  margin: 0;
  padding-bottom: 0;
  line-height: 1.3;
}
.CoveoResult .content-card__featured-desc {
  font-family: var(--font-sans);
  font-size: 0.5625rem;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.6);
  margin: 0;
  padding: 0 8px 0 0;
  line-height: 1.4;
  width: 100%;
  display: -webkit-box;
  line-clamp: 3;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  white-space: normal;
}
.CoveoResult .content-card__featured-cta i {
  font-size: 0.5rem;
  transform: rotate(-45deg);
  transition: transform 0.25s ease;
}
.CoveoResult .content-card__featured-cta:hover i {
  transform: rotate(0);
}
.CoveoResult .content-card--fallback {
  background: var(--color-neutral-200, #e4e4e7);
  color: var(--color-structural-black-400, #2a2d3a);
  display: grid;
  place-items: center;
  padding: var(--space-6, 24px);
  text-align: center;
}
.CoveoResult .content-card--fallback .content-card__fallback-label {
  font-family: var(--font-sans);
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  opacity: 0.6;
}
.CoveoResult .content-card--demo-frame {
  width: 680px;
  height: 520px;
  background: #0f121d;
}

.v2-search-peerless-sitecontent .CoveoResult .content-card__display-content {
  width: min(clamp(100px, 22%, 180px), 100%);
}

/** Search Product Cards */
#best-matched .CoveoResult a.CoveoResultLink {
  color: var(--color-structural-cream-25);
}

.CoveoResult .product-card__tab-indicator {
  display: none;
}

/** Search Family/Project/Content Cards */
#related-projects .content-carousel__track.coveo-result-list-container.coveo-card-layout-container, #browse-family .content-carousel__track.coveo-result-list-container.coveo-card-layout-container {
  overflow: visible;
}
#related-projects .content-carousel__track.coveo-result-list-container.coveo-card-layout-container .coveo-card-layout.CoveoResult, #browse-family .content-carousel__track.coveo-result-list-container.coveo-card-layout-container .coveo-card-layout.CoveoResult {
  display: flex;
}

.search-results__info-stack .search-results__section:has(.CoveoSearchInterface .coveo-no-results) {
  display: none;
}

/** Search Page Facets */
#best-matched .CoveoSearchInterface .coveo-facet-column .CoveoFacet {
  border: none;
}
#best-matched .CoveoSearchInterface .coveo-facet-column .CoveoFacet .coveo-facet-header {
  background: none;
  padding: 0;
  cursor: pointer;
}
#best-matched .CoveoSearchInterface .coveo-facet-column .CoveoFacet .coveo-facet-header .coveo-facet-header-settings-section .coveo-facet-header-eraser,
#best-matched .CoveoSearchInterface .coveo-facet-column .CoveoFacet .coveo-facet-header .coveo-facet-header-settings-section .coveo-facet-header-settings {
  display: none;
}
#best-matched .CoveoSearchInterface .coveo-facet-column .CoveoFacet .coveo-facet-header .coveo-facet-header-settings-section .search-results__filter-cat-count {
  font-size: var(--font-size-text-md, 0.8125rem);
  color: var(--color-structural-black-500);
  margin-right: var(--space-1);
}
#best-matched .CoveoSearchInterface .coveo-facet-column .CoveoFacet .coveo-facet-header .coveo-facet-header-title {
  font-family: var(--font-mono);
  font-size: var(--font-size-text-xl, 1rem);
  font-weight: 400;
  color: var(--color-structural-black-500);
}
#best-matched .CoveoSearchInterface .coveo-facet-column .CoveoFacet .coveo-facet-header i.fa-chevron-right {
  font-size: var(--font-size-text-xs, 0.6875rem);
  color: var(--color-structural-black-500);
  flex-shrink: 0;
  transition: transform 0.2s;
}
#best-matched .CoveoSearchInterface .coveo-facet-column .CoveoFacet .coveo-facet-header[aria-expanded=true] i {
  transform: rotate(90deg);
}
#best-matched .CoveoSearchInterface .coveo-facet-column .CoveoFacet .coveo-facet-values {
  max-height: 0px;
  transition: max-height 0.3s;
  overflow: hidden;
}
#best-matched .CoveoSearchInterface .coveo-facet-column .CoveoFacet .coveo-facet-values.coveo-facet-values--open {
  max-height: 100%;
}
#best-matched .CoveoSearchInterface .coveo-facet-column .CoveoFacet .coveo-facet-values .coveo-facet-value {
  padding: var(--space-2, 8px) 0 var(--space-2, 8px) var(--space-3, 12px);
}
#best-matched .CoveoSearchInterface .coveo-facet-column .CoveoFacet .coveo-facet-values .coveo-facet-value .coveo-facet-value-checkbox {
  border-radius: 0;
  border-color: var(--color-structural-black-500);
}
#best-matched .CoveoSearchInterface .coveo-facet-column .CoveoFacet .coveo-facet-values .coveo-facet-value .coveo-facet-value-caption, #best-matched .CoveoSearchInterface .coveo-facet-column .CoveoFacet .coveo-facet-values .coveo-facet-value .coveo-facet-value-count {
  font-family: var(--font-mono);
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 22px;
}
#best-matched .CoveoSearchInterface .coveo-facet-column .CoveoFacet .coveo-facet-values .coveo-facet-value .coveo-facet-value-caption {
  text-overflow: unset;
  text-wrap: wrap;
}
#best-matched .CoveoSearchInterface .coveo-facet-column .CoveoFacet .coveo-facet-values .coveo-facet-value .coveo-facet-value-exclude {
  display: none;
}
#best-matched .CoveoSearchInterface .coveo-facet-column .coveo-topSpace {
  display: none;
}

#best-matched .search-results__section-tab-spacer {
  max-height: 0 !important;
}

.search-results__filters .search-results__filters-inner {
  display: flex;
}
.search-results__filters .CoveoDynamicFacet {
  display: block !important;
}
.search-results__filters .CoveoDynamicFacet .coveo-dynamic-facet-header {
  display: none;
}
.search-results__filters .CoveoDynamicFacet .coveo-dynamic-facet-values {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  --tag-group-color: var(--gradient-playleaf, linear-gradient(131deg, #c6dc19 0%, #edf4b8 100%));
  --tag-group-color-alpha: linear-gradient(131deg, #c6dc1933 0%, #edf4b833 100%);
  --tag-group-active-border: var(--color-structural-black-500, #0f121d);
  --tag-group-hover-color: var(--color-playleaf-500, #c6dc19);
  --tag-group-hover-text-color: var(--color-structural-black-500, #0f121d);
  --tag-group-default-fg: var(--color-structural-black-500, #0f121d);
  --tag-group-active-fg: var(--color-structural-black-500, #0f121d);
  --tag-group-hover-opacity: .2;
  --tag-group-default-border: var(--color-structural-black-500, #0f121d);
  --tag-group-hover-color: var(--color-playleaf-500, #c6dc19);
  --tag-group-hover-text-color: var(--color-structural-black-500, #0f121d);
}
.search-results__filters .CoveoDynamicFacet .coveo-dynamic-facet-values .coveo-dynamic-facet-value .coveo-checkbox-button {
  display: none;
}
.search-results__filters .CoveoDynamicFacet .coveo-dynamic-facet-values .coveo-dynamic-facet-value .coveo-checkbox-label {
  border-color: var(--tag-group-default-border);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-structural-black-500, #0f121d);
  font-family: var(--font-mono);
  font-size: var(--font-size-tag, 0.6875rem);
  font-weight: 400;
  line-height: 1rem;
  letter-spacing: 0.06em;
  text-align: left;
  text-transform: uppercase;
  cursor: pointer;
  gap: var(--space-1_5, 6px);
  padding: var(--space-2, 8px) var(--space-4, 16px);
  border: 1px solid var(--color-structural-black-500, #0f121d);
  background: transparent;
  white-space: nowrap;
  border-radius: 0px;
  transition: background-color 0.2s, border-color 0.2s, color 0.2s;
}
.search-results__filters .CoveoDynamicFacet .coveo-dynamic-facet-values .coveo-dynamic-facet-value .coveo-checkbox-label:hover .coveo-checkbox-span-label {
  color: var(--tag-group-hover-text-color);
  opacity: 1;
}
.search-results__filters .CoveoDynamicFacet .coveo-dynamic-facet-values .coveo-dynamic-facet-value.coveo-selected .coveo-checkbox-label {
  color: var(--tag-group-active-fg);
  background: var(--tag-group-color);
  border-color: var(--tag-group-active-border);
}
.search-results__filters .CoveoDynamicFacet .coveo-dynamic-facet-values .coveo-dynamic-facet-value:hover:not(.coveo-selected) .coveo-checkbox-label {
  color: var(--tag-group-hover-text-color);
  background: var(--tag-group-color-alpha);
  border-color: var(--tag-group-hover-color);
}
.search-results__filters .CoveoDynamicFacet.coveo-dynamic-facet-collapsed .coveo-dynamic-facet-header i {
  transform: rotate(0deg);
}
.search-results__filters .CoveoDynamicFacet.coveo-dynamic-facet-collapsed .coveo-dynamic-facet-values {
  max-height: 0;
}

.search-results__section--products .search-results__section-tab.is-fixed {
  z-index: 11;
}

@media (max-width: 768px) {
  #best-matched {
    --section-padding: 2rem;
  }
  #best-matched .search-results__product-grid,
  #best-matched .coveo-result-list-container.coveo-card-layout-container {
    grid-template-columns: 1fr;
  }
  #best-matched .search-results__header {
    padding-block-end: var(--section-padding);
  }
  #best-matched .search-results__filters-inner {
    flex-direction: column;
  }
  #best-matched .search-results__header-inner, #best-matched .search-results__filters-inner, #best-matched .search-results__section-tab-inner, #best-matched .search-results__section-inner, #best-matched .search-results__section-label-inner, #best-matched .search-results__section.editorial-card .editorial-card__header-inner {
    padding-inline: var(--section-padding);
  }
  #best-matched .search-results__section-inner {
    padding-block: var(--section-padding);
    margin-block-end: 0;
  }
  #best-matched .search-results__section-label {
    padding-block: var(--section-padding) var(--space-4);
  }
  #best-matched .search-results__section--discover.editorial-card .editorial-card__body {
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }
  #best-matched .search-results__section--discover .search-results__section-inner {
    padding-block: var(--space-4);
  }
  #best-matched .search-results__discover-grid[data-grid] {
    width: 100%;
    --attr-grid-columns: 1;
    --attr-grid-col-gap: 0px;
    --attr-grid-row-gap: var(--space-4);
    grid-template-columns: minmax(0, 1fr);
    column-gap: 0;
    row-gap: var(--space-4);
  }
  #best-matched .search-results__discover-grid[data-grid] > [data-grid-item] {
    grid-column: 1/-1;
  }
  #best-matched .search-results__section--discover .content-card--editorial {
    --cc-pad: var(--space-5);
  }
  #best-matched .search-results__section--discover .content-card--editorial .content-card__desc {
    font-size: var(--font-size-text-lg, 0.9375rem);
    max-width: none;
  }
  #best-matched .search-results__section--discover .content-card--spotlight .content-card__body {
    padding: var(--space-6) var(--space-5) var(--space-5);
  }
  #best-matched .coveo-main-section {
    flex-direction: column;
  }
  #best-matched .coveo-main-section .coveo-facet-column {
    position: absolute;
    --filter-sheet-top: -108px;
    top: var(--filter-sheet-top, calc(var(--header-size, 64px) + 60px));
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 40;
    width: 100%;
    max-width: none;
    background: var(--bg-primary);
    background-color: var(--bg-primary) !important;
    overflow-y: auto;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column;
    max-height: 0;
  }
  #best-matched .coveo-main-section .coveo-facet-column .CoveoBreadcrumb {
    position: fixed;
    right: 2rem;
    margin-top: -30px;
    display: none;
  }
  #best-matched .search-results__filters-inner, #best-matched search-results__section-tab-inner {
    padding-inline: var(--section-padding);
  }
  #best-matched .CoveoResult .product-card__variants {
    gap: 4px;
  }
  #best-matched.is-filters-open .coveo-main-section .coveo-facet-column {
    padding: var(--space-5) var(--section-padding) !important;
    max-height: unset;
    --filter-sheet-top: 148px;
    position: fixed;
  }
  #best-matched.is-filters-open .coveo-main-section .coveo-facet-column .CoveoBreadcrumb {
    margin-top: -50px;
    display: block;
  }
  #best-matched.is-filters-open .coveo-main-section .coveo-facet-column .search-results__filter-footer {
    display: block;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 1rem;
    background: var(--color-structural-cream-50, #ffffff);
  }
  #best-matched.is-filters-open .coveo-main-section .coveo-facet-column > div:not(.coveo-topSpace):not(.coveo-bottomSpace):not(.coveo-facet-header-filter-by-container):not(.search-results__filter-footer):has(+ .search-results__filter-footer) {
    margin-bottom: 4rem;
  }
  #best-matched:not(.is-filters-open) div.coveo-main-section {
    padding-inline: 16px !important;
  }
  #browse-family .content-carousel .coveo-card-layout.CoveoResult {
    width: 100% !important;
    flex: 0 0 100% !important;
  }
  #related-projects .content-carousel .coveo-card-layout.CoveoResult {
    width: 100% !important;
    flex: 0 0 100% !important;
  }
  #related-projects .content-carousel .coveo-card-layout.CoveoResult .content-card--thumbnail .content-card__featured {
    display: none;
  }
  #discover-more .v2-search-peerless-sitecontent .coveo-result-list-container.coveo-card-layout-container {
    display: flex !important;
    margin-inline: 16px !important;
    width: calc(100% - 48px) !important;
  }
}
/** Search Page View More */
#best-matched .CoveoSearchInterface.search-results .coveo-result-list-container:not([data-view-more]) .CoveoResult:nth-child(n+4) {
  display: none;
}
#best-matched .CoveoSearchInterface.search-results:not(:has(.CoveoResult:nth-child(4))) .search-results__view-more-wrap {
  display: none;
}

.CoveoLogo {
  display: none !important;
}

/** Cross-brand Search Page Utilities */
.text-on-dark.p-section.search-page__crossbrand {
  padding-top: 128px;
  padding-bottom: 128px;
}

.search-page__crossbrand {
  width: 100%;
  box-sizing: border-box;
}
.search-page__crossbrand .gradient-blue-alliance {
  background: linear-gradient(131deg, #005465 0%, #48cef7 100%) !important;
}
.search-page__crossbrand .gradient-blue-reliance {
  background: linear-gradient(131deg, #48cef7 0%, #76d8f5 100%) !important;
}
.search-page__crossbrand .gradient-ignition-green {
  background: linear-gradient(131deg, #073728 0%, #008968 100%) !important;
}
.search-page__crossbrand .gradient-playleaf {
  background: linear-gradient(131deg, #c6dc19 0%, #edf4b8 100%) !important;
}
.search-page__crossbrand .gradient-flash-orange {
  background: linear-gradient(131deg, #ff5c00 0%, #ff9254 100%) !important;
}
.search-page__crossbrand .gradient-momentum-red {
  background: linear-gradient(131deg, #a80000 0%, #d93a3a 100%) !important;
}
.search-page__crossbrand .gradient-structural-blue {
  background: linear-gradient(131deg, #0061fe 0%, #76a2e9 100%) !important;
}
.search-page__crossbrand .text-on-dark {
  color: var(--text-on-dark, var(--color-structural-cream-25, #FFFEFD)) !important;
}
.search-page__crossbrand .text-on-dark * {
  color: inherit;
}
.search-page__crossbrand .text-on-brand {
  color: var(--text-on-brand, #FFFFFF) !important;
}
.search-page__crossbrand .text-on-brand * {
  color: inherit;
}
.search-page__crossbrand .text-on-surface {
  color: var(--text-on-surface, var(--color-structural-black-500, #0F121D)) !important;
}
.search-page__crossbrand .text-on-surface * {
  color: inherit;
}
.search-page__crossbrand .p-section {
  padding: var(--space-8, 32px) var(--space-6, 24px) !important;
}
@media (min-width: 768px) {
  .search-page__crossbrand .p-section {
    padding: var(--space-10, 40px) var(--space-8, 32px) !important;
  }
}
@media (min-width: 1024px) {
  .search-page__crossbrand .p-section {
    padding: var(--space-12, 48px) var(--space-10, 40px) !important;
  }
}
.search-page__crossbrand .d-flex {
  display: flex !important;
}
.search-page__crossbrand .flex-col {
  flex-direction: column !important;
}
.search-page__crossbrand .gap-1 {
  gap: var(--space-1, 4px) !important;
}
.search-page__crossbrand .gap-2 {
  gap: var(--space-2, 8px) !important;
}
.search-page__crossbrand .gap-3 {
  gap: var(--space-3, 12px) !important;
}
.search-page__crossbrand .gap-4 {
  gap: var(--space-4, 16px) !important;
}
.search-page__crossbrand .gap-5 {
  gap: var(--space-5, 20px) !important;
}
.search-page__crossbrand .gap-6 {
  gap: var(--space-6, 24px) !important;
}
.search-page__crossbrand .gap-7 {
  gap: var(--space-7, 28px) !important;
}
.search-page__crossbrand .gap-8 {
  gap: var(--space-8, 32px) !important;
}
.search-page__crossbrand .p-1 {
  padding: var(--space-1, 4px) !important;
}
.search-page__crossbrand .p-2 {
  padding: var(--space-2, 8px) !important;
}
.search-page__crossbrand .p-3 {
  padding: var(--space-3, 12px) !important;
}
.search-page__crossbrand .p-4 {
  padding: var(--space-4, 16px) !important;
}
.search-page__crossbrand .p-5 {
  padding: var(--space-5, 20px) !important;
}
.search-page__crossbrand .p-6 {
  padding: var(--space-6, 24px) !important;
}
.search-page__crossbrand .p-7 {
  padding: var(--space-7, 28px) !important;
}
.search-page__crossbrand .p-8 {
  padding: var(--space-8, 32px) !important;
}
.search-page__crossbrand .bg-blue-reliance-500 {
  background-color: var(--color-blue-reliance-500, #48cef7) !important;
}
.search-page__crossbrand .bg-blue-alliance-500 {
  background-color: var(--color-blue-alliance-500, #005465) !important;
}
.search-page__crossbrand .bg-ignition-green-500 {
  background-color: var(--color-green-500, #073728) !important;
}
.search-page__crossbrand .bg-playleaf-500 {
  background-color: var(--color-lime-500, #c6dc19) !important;
}
.search-page__crossbrand .bg-flash-orange-500 {
  background-color: var(--color-orange-500, #ff5c00) !important;
}
.search-page__crossbrand .bg-momentum-red-500 {
  background-color: var(--color-red-500, #a80000) !important;
}
.search-page__crossbrand .bg-structural-black-500 {
  background-color: var(--color-structural-black-500, #0f121d) !important;
}
.search-page__crossbrand .bg-structural-cream-500 {
  background-color: var(--color-structural-cream-500, #f5f2ec) !important;
}
.search-page__crossbrand .bg-structural-blue-500 {
  background-color: var(--color-structural-blue-500, #0061fe) !important;
}
.search-page__crossbrand .product-card__title.cta-link.abl-search-link {
  text-align: right;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.double-zero-section {
  padding-top: 128px;
  padding-bottom: 128px;
  /** Complete Brand Color Background Utilities */
}
.double-zero-section .bg-orange-500 {
  background-color: var(--color-orange-500, #ff5c00) !important;
}
.double-zero-section .bg-orange-400 {
  background-color: #ff7a33 !important;
}
.double-zero-section .bg-orange-600 {
  background-color: #e65200 !important;
}
.double-zero-section .double-zero-section {
  display: none;
  width: 100%;
  min-height: 200px;
  box-sizing: border-box;
  position: relative;
}
.double-zero-section .double-zero-section[style*="display: block"] {
  display: block !important;
}
.double-zero-section .bg-orange-500.text-on-dark {
  background-color: var(--color-orange-500, #ff5c00) !important;
  color: var(--text-on-dark, var(--color-structural-cream-25, #FFFEFD)) !important;
}
.double-zero-section .bg-orange-500.text-on-dark * {
  color: inherit;
}
.double-zero-section .bg-orange-500.text-on-dark h1, .double-zero-section .bg-orange-500.text-on-dark h2, .double-zero-section .bg-orange-500.text-on-dark h3, .double-zero-section .bg-orange-500.text-on-dark h4, .double-zero-section .bg-orange-500.text-on-dark h5, .double-zero-section .bg-orange-500.text-on-dark h6 {
  color: inherit;
}
.double-zero-section .bg-orange-500.text-on-dark a {
  color: var(--color-structural-cream-25, #FFFEFD);
}
.double-zero-section .bg-orange-500.text-on-dark a:hover {
  color: var(--color-playleaf-500, #c6dc19);
}
.double-zero-section .bg-orange-500.p-section {
  padding: var(--space-8, 32px) var(--space-6, 24px);
}
@media (min-width: 768px) {
  .double-zero-section .bg-orange-500.p-section {
    padding: var(--space-10, 40px) var(--space-8, 32px);
  }
}
@media (min-width: 1024px) {
  .double-zero-section .bg-orange-500.p-section {
    padding: var(--space-12, 48px) var(--space-10, 40px);
  }
}
.double-zero-section .double-zero-section.bg-orange-500.text-on-dark.p-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: var(--space-6, 24px);
}
.double-zero-section .double-zero-section.bg-orange-500.text-on-dark.p-section h2, .double-zero-section .double-zero-section.bg-orange-500.text-on-dark.p-section h3 {
  margin: 0;
  font-family: var(--font-sans);
  font-weight: 400;
}
.double-zero-section .double-zero-section.bg-orange-500.text-on-dark.p-section p {
  margin: var(--space-4, 16px) 0;
  font-family: var(--font-sans);
  max-width: 60ch;
}
.double-zero-section .double-zero-section.bg-orange-500.text-on-dark.p-section ul, .double-zero-section .double-zero-section.bg-orange-500.text-on-dark.p-section ol {
  list-style: none;
  padding: 0;
  margin: var(--space-6, 24px) 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3, 12px);
  justify-content: center;
}
.double-zero-section .double-zero-section.bg-orange-500.text-on-dark.p-section ul li a, .double-zero-section .double-zero-section.bg-orange-500.text-on-dark.p-section ol li a {
  display: inline-block;
  padding: var(--space-2, 8px) var(--space-4, 16px);
  border: 1px solid var(--color-structural-cream-25, #FFFEFD);
  color: var(--color-structural-cream-25, #FFFEFD);
  text-decoration: none;
  font-family: var(--font-mono);
  font-size: 0.8125rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  transition: all 0.2s ease;
}
.double-zero-section .double-zero-section.bg-orange-500.text-on-dark.p-section ul li a:hover, .double-zero-section .double-zero-section.bg-orange-500.text-on-dark.p-section ol li a:hover {
  background-color: var(--color-structural-cream-25, #FFFEFD);
  color: var(--color-orange-500, #ff5c00);
}
.double-zero-section .bg-flash-orange {
  background-color: var(--color-orange-500, #ff5c00) !important;
}
.double-zero-section .bg-momentum-red {
  background-color: var(--color-red-500, #a80000) !important;
}
.double-zero-section .bg-momentum-red-500 {
  background-color: var(--color-red-500, #a80000) !important;
}
.double-zero-section .bg-ignition-green {
  background-color: var(--color-green-500, #073728) !important;
}
.double-zero-section .bg-green-500 {
  background-color: var(--color-green-500, #073728) !important;
}
.double-zero-section .bg-playleaf {
  background-color: var(--color-lime-500, #c6dc19) !important;
}
.double-zero-section .bg-lime-500 {
  background-color: var(--color-lime-500, #c6dc19) !important;
}
.double-zero-section .bg-structural-black-500.text-on-dark,
.double-zero-section .bg-orange-500.text-on-dark,
.double-zero-section .bg-momentum-red-500.text-on-dark,
.double-zero-section .bg-green-500.text-on-dark {
  color: var(--text-on-dark, var(--color-structural-cream-25, #FFFEFD)) !important;
}
.double-zero-section .bg-structural-black-500.text-on-dark *,
.double-zero-section .bg-orange-500.text-on-dark *,
.double-zero-section .bg-momentum-red-500.text-on-dark *,
.double-zero-section .bg-green-500.text-on-dark * {
  color: inherit;
}

/** accessibility */
.skip-link {
  position: absolute;
  top: -60px;
  left: 0;
  background-color: #000;
  color: #fff;
  padding: 12px 18px;
  z-index: 1000;
  text-decoration: none;
  font-size: 1rem;
  border-radius: 4px;
  transition: top 0.2s ease-in-out;
  overflow: hidden;
  white-space: nowrap;
}

.skip-link:focus {
  top: 0;
}

.peerless-video-embed-wrapper > .peerless-video-embed--fixed-height,
#megaMenuDisplay > .peerless-video-embed-wrapper > .peerless-video-embed--fixed-height {
  flex: 0 0 auto;
  aspect-ratio: auto;
}

.CoveoResultList .coveo-card-layout.category-page__grid-cell {
  display: block;
}

/** Mega Nav Product Cards */
#megaMenuProductCards {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
#megaMenuProductCards .product-card__overlay a {
  overflow: hidden;
}

/** Accordion Container + Editorial Cards (Generic) */
.peerless-accordion-container {
  width: 100%;
}
.peerless-accordion-container .editorial-card {
  position: absolute;
  width: 100%;
}

.editorial-card {
  z-index: 2;
}
.editorial-card .editorial-card__bg {
  width: 100%;
  height: 100%;
  position: absolute;
}
.editorial-card .editorial-card__header, .editorial-card .editorial-card__body {
  z-index: 1;
}

/** BEGIN Content Carousel Edits */
/* "Where we play" / Architectural Spaces carousel (ContentCarouselPeerless with
   Layout=fill-2, Bleed=true): vendor scopes its fill-2 1-up-mobile/2-up-desktop
   slide sizing to a `.where-we-play` ancestor wrapper class that our
   EditorialCardSection rendering has no field to add (its model is compiled
   outside this repo). Target the same unique class combination this instance
   actually renders (fill-2 + bleed) directly instead, replicating vendor's
   BaseLayout.css rules 1:1. */
.content-carousel--fill-2.content-carousel--bleed .content-carousel__track > * {
  width: calc((100% - var(--carousel-gap, 0px)) / 2);
}

@media (max-width: 768px) {
  .content-carousel--fill-2.content-carousel--bleed {
    height: auto !important;
    aspect-ratio: 1/1;
  }
  .content-carousel--fill-2.content-carousel--bleed .content-carousel__track {
    height: calc(100% - 56px);
  }
  .content-carousel--fill-2.content-carousel--bleed .content-carousel__track > * {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
  }
}
.peerless-coveo-content-carousel .CoveoSearchInterface .CoveoResult {
  display: contents;
}
.peerless-coveo-content-carousel .CoveoSearchInterface .coveo-results-column .content-carousel {
  padding-bottom: calc(var(--header-size) + 56px);
}
.peerless-coveo-content-carousel .CoveoSearchInterface .coveo-results-column .content-carousel .content-carousel__progress {
  bottom: calc(var(--header-size) + var(--carousel-progress-bottom));
}
.peerless-coveo-content-carousel .CoveoSearchInterface.v2-search-peerless-families .coveo-results-column > div {
  background-color: var(--bg-ignition-green);
}
.peerless-coveo-content-carousel .content-carousel__track {
  flex-wrap: nowrap;
}
.peerless-coveo-content-carousel > div {
  height: 100%;
}

#related-projects .peerless-coveo-content-carousel .CoveoSearchInterface.v2-search-peerless-projects .coveo-results-column > div {
  background: radial-gradient(at left center, rgb(0, 84, 101) 0%, rgb(13, 100, 120) 23%, rgb(26, 115, 138) 46%, rgb(51, 146, 175) 92%);
}
#related-projects .peerless-coveo-content-carousel .CoveoSearchInterface.v2-search-peerless-projects .coveo-results-column > div .CoveoResult {
  min-height: 0 !important;
}
#related-projects .peerless-coveo-content-carousel .CoveoSearchInterface.v2-search-peerless-projects .coveo-results-column > div .CoveoResult .content-card--thumbnail-project {
  min-height: 0;
}

#main-content-peerless [data-info-stack] > #discover-more.editorial-card.search-results__section--discover {
  height: fit-content !important;
  min-height: calc(100% - 180px);
}
#main-content-peerless [data-info-stack] > #discover-more.editorial-card.search-results__section--discover .editorial-card__header {
  z-index: 2;
  background-color: var(--bg-playleaf);
}
#main-content-peerless [data-info-stack] > #discover-more.editorial-card.search-results__section--discover .CoveoResultList .CoveoResult .content-card {
  min-height: 300px;
}
#main-content-peerless [data-info-stack] > #discover-more.editorial-card.search-results__section--discover .CoveoResultList .CoveoResult:not(:has(.content-card)) {
  display: none;
}

#main-content-peerless .search-results__info-stack[data-info-stack] {
  height: 100vh !important;
  max-height: 100vh !important;
}
#main-content-peerless .search-results__info-stack[data-info-stack]:has(.editorial-card .coveo-no-results) {
  height: calc(100vh - 70px) !important;
  max-height: calc(100vh - 70px) !important;
}
#main-content-peerless .search-results__info-stack[data-info-stack]:has(.editorial-card .coveo-no-results) .search-results__section {
  height: calc(100vh - 110px) !important;
}
#main-content-peerless .search-results__info-stack[data-info-stack]:has(.editorial-card .coveo-no-results) .search-results__section#discover-more.search-results__section--discover {
  min-height: calc(100vh - 110px);
}
#main-content-peerless .search-results__info-stack[data-info-stack]:has(.search-results__section--family .coveo-no-results):has(.search-results__section--projects .coveo-no-results), #main-content-peerless .search-results__info-stack[data-info-stack]:has(.search-results__section--family .coveo-no-results):has(.search-results__section--discover .coveo-no-results) #main-content-peerless .search-results__info-stack[data-info-stack]:has(.search-results__section--projects .coveo-no-results):has(.search-results__section--discover .coveo-no-results) {
  height: 100vh !important;
  max-height: 100vh !important;
}
#main-content-peerless .search-results__info-stack[data-info-stack]:has(.search-results__section--family .coveo-no-results):has(.search-results__section--projects .coveo-no-results) .search-results__section, #main-content-peerless .search-results__info-stack[data-info-stack]:has(.search-results__section--family .coveo-no-results):has(.search-results__section--discover .coveo-no-results) #main-content-peerless .search-results__info-stack[data-info-stack]:has(.search-results__section--projects .coveo-no-results):has(.search-results__section--discover .coveo-no-results) .search-results__section {
  height: calc(100vh - 145px) !important;
}
#main-content-peerless .search-results__info-stack[data-info-stack]:has(.search-results__section--family .coveo-no-results):has(.search-results__section--projects .coveo-no-results) .search-results__section#discover-more.search-results__section--discover, #main-content-peerless .search-results__info-stack[data-info-stack]:has(.search-results__section--family .coveo-no-results):has(.search-results__section--discover .coveo-no-results) #main-content-peerless .search-results__info-stack[data-info-stack]:has(.search-results__section--projects .coveo-no-results):has(.search-results__section--discover .coveo-no-results) .search-results__section#discover-more.search-results__section--discover {
  min-height: calc(100vh - 60px);
}
#main-content-peerless .search-results__info-stack[data-info-stack]:has(.search-results__section--family .coveo-no-results):has(.search-results__section--projects .coveo-no-results):not(:has(.editorial-card .coveo-results-column:not(.coveo-no-results))), #main-content-peerless .search-results__info-stack[data-info-stack]:has(.search-results__section--family .coveo-no-results):has(.search-results__section--discover .coveo-no-results) #main-content-peerless .search-results__info-stack[data-info-stack]:has(.search-results__section--projects .coveo-no-results):has(.search-results__section--discover .coveo-no-results):not(:has(.editorial-card .coveo-results-column:not(.coveo-no-results))) {
  height: 0 !important;
  max-height: 0 !important;
}
#main-content-peerless .search-results__info-stack[data-info-stack] .search-results__section {
  height: calc(100vh - 180px) !important;
}
#main-content-peerless .search-results__info-stack[data-info-stack] .search-results__section#discover-more.search-results__section--discover {
  min-height: calc(100vh - 180px);
}

.content-carousel__track > *, .content-carousel__track .CoveoResult > * {
  flex-shrink: 0;
  height: 100%;
  overflow: hidden;
}

.content-carousel--peek .content-carousel__track > *, .content-carousel--peek .content-carousel__track .CoveoResult > * {
  width: 75%;
}

.content-carousel--scroll .content-carousel__track > *, .content-carousel--scroll .content-carousel__track .CoveoResult > * {
  scroll-snap-align: start;
}

/** END Content Carousel Edits */
.category-page__search.CoveoSearchInterface .CoveoFacet:has(.coveo-facet-values:empty) {
  display: none !important;
}
.category-page__search.CoveoSearchInterface .CoveoResultList .category-page__grid-cell {
  display: contents;
  width: auto;
  margin: 0;
}
.category-page__search.CoveoSearchInterface .CoveoResultList .category-page__grid {
  display: grid;
}
.category-page__search.CoveoSearchInterface .CoveoResultList .family-card__preview-grid > :nth-child(n+4) {
  display: none;
}
.category-page__search.CoveoSearchInterface .CoveoResultList .family-card__preview-grid[data-expanded=true] > :nth-child(n+4) {
  display: flex;
}
.category-page__search.CoveoSearchInterface .coveo-for-sitecore-frame-container {
  background: var(--color-structural-cream-50, #ffffff);
}
@media (max-width: 480px) {
  .category-page__search.CoveoSearchInterface .coveo-for-sitecore-frame-container {
    padding-inline: var(--layout-padding) !important;
    padding-block: var(--space-8);
  }
}
.category-page__search.CoveoSearchInterface .coveo-for-sitecore-frame-container > div:first-child {
  display: block !important;
  position: sticky;
  top: 0px;
  z-index: 10;
  background: var(--color-structural-cream-50, #ffffff);
  padding-block: var(--space-4);
}
.category-page__search.CoveoSearchInterface .coveo-for-sitecore-frame-container > div:first-child .kw-filter-tabs-row {
  display: grid;
  width: 100%;
  align-items: center;
  grid-template-columns: minmax(180px, 240px) 1fr 304px;
  gap: 28px;
}
@media (max-width: 768px) {
  .category-page__search.CoveoSearchInterface .coveo-for-sitecore-frame-container > div:first-child .kw-filter-tabs-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: var(--space-8);
  }
}
.category-page__search.CoveoSearchInterface .coveo-for-sitecore-frame-container > div:first-child .kw-filter-tabs-row .product-filter__filter-toggle {
  flex-grow: 1;
  display: flex;
  justify-content: left;
}
.category-page__search.CoveoSearchInterface .coveo-for-sitecore-frame-container > div:first-child .kw-filter-tabs-row .coveo-tab-section {
  width: auto;
  min-height: 0;
  background: none;
  border: none;
  justify-self: right;
  margin-left: auto;
  flex: 0 0 auto;
}
.category-page__search.CoveoSearchInterface .coveo-for-sitecore-frame-container > div:first-child .kw-filter-tabs-row .coveo-tab-section .kw-tab-track {
  position: relative;
  display: inline-grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  background: var(--color-structural-black-500, #1c2230);
  padding: 2px;
}
.category-page__search.CoveoSearchInterface .coveo-for-sitecore-frame-container > div:first-child .kw-filter-tabs-row .coveo-tab-section .kw-tab-track .CoveoTab {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-sans);
  font-weight: 400;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.6);
  cursor: pointer;
  user-select: none;
  transition: color 0.25s;
  font-size: var(--font-size-text-md, 0.8125rem);
  padding: var(--space-2) var(--space-3);
  height: auto;
  min-width: 150px;
}
.category-page__search.CoveoSearchInterface .coveo-for-sitecore-frame-container > div:first-child .kw-filter-tabs-row .coveo-tab-section .kw-tab-track .CoveoTab.coveo-selected {
  color: var(--color-structural-black-500, #1c2230);
  background-color: white;
  border: none;
}
.category-page__search.CoveoSearchInterface .coveo-for-sitecore-frame-container > div:first-child .kw-filter-tabs-row .coveo-tab-section .kw-tab-track .CoveoTab .kw-tab-label {
  line-height: 19.5px;
}
.category-page__search.CoveoSearchInterface .coveo-for-sitecore-frame-container > div:first-child .kw-filter-tabs-row .CoveoDynamicFacet, .category-page__search.CoveoSearchInterface .coveo-for-sitecore-frame-container > div:first-child .kw-filter-tabs-row .CoveoDynamicFacet#coveodb691f101z {
  margin: 0 !important;
}
.category-page__search.CoveoSearchInterface .coveo-for-sitecore-frame-container .coveo-main-section {
  gap: 28px !important;
  grid-template-columns: minmax(180px, 240px) 1fr !important;
}
.category-page__search.CoveoSearchInterface .coveo-for-sitecore-frame-container .coveo-main-section .coveo-facet-column {
  position: unset !important;
}
.category-page__search.CoveoSearchInterface .coveo-for-sitecore-frame-container .coveo-main-section .coveo-facet-column .coveo-facet-value-caption {
  text-overflow: unset;
  text-wrap: wrap;
}
.category-page__search.CoveoSearchInterface .coveo-for-sitecore-frame-container .coveo-main-section .coveo-facet-column.product-filter__sidebar > div:not(.coveo-topSpace):not(.coveo-bottomSpace):not(.coveo-facet-header-filter-by-container):not(.category-filter-sidebar__footer) {
  display: block !important;
}
.category-page__search.CoveoSearchInterface .coveo-for-sitecore-frame-container .coveo-main-section .coveo-facet-column .coveo-topSpace {
  display: none;
}
.category-page__search.CoveoSearchInterface .coveo-for-sitecore-frame-container .coveo-main-section.product-filter__body--no-sidebar {
  grid-template-columns: 1fr !important;
}
.category-page__search.CoveoSearchInterface .coveo-for-sitecore-frame-container .coveo-main-section.product-filter__body--no-sidebar .coveo-facet-column {
  display: none !important;
}
.category-page__search.CoveoSearchInterface .coveo-for-sitecore-frame-container .CoveoDynamicFacet {
  display: block !important;
  background: transparent;
}
.category-page__search.CoveoSearchInterface .coveo-for-sitecore-frame-container .CoveoDynamicFacet .coveo-dynamic-facet-header {
  display: none;
}
.category-page__search.CoveoSearchInterface .coveo-for-sitecore-frame-container .CoveoDynamicFacet .coveo-dynamic-facet-values {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  --tag-group-color: var(--gradient-playleaf, linear-gradient(131deg, #c6dc19 0%, #edf4b8 100%));
  --tag-group-color-alpha: linear-gradient(131deg, #c6dc1933 0%, #edf4b833 100%);
  --tag-group-active-border: var(--color-structural-black-500, #0f121d);
  --tag-group-hover-color: var(--color-playleaf-500, #c6dc19);
  --tag-group-hover-text-color: var(--color-structural-black-500, #0f121d);
  --tag-group-default-fg: var(--color-structural-black-500, #0f121d);
  --tag-group-active-fg: var(--color-structural-black-500, #0f121d);
  --tag-group-hover-opacity: .2;
  --tag-group-default-border: var(--color-structural-black-500, #0f121d);
  --tag-group-hover-color: var(--color-playleaf-500, #c6dc19);
  --tag-group-hover-text-color: var(--color-structural-black-500, #0f121d);
}
.category-page__search.CoveoSearchInterface .coveo-for-sitecore-frame-container .CoveoDynamicFacet .coveo-dynamic-facet-values .coveo-dynamic-facet-value .coveo-checkbox-button {
  display: none;
}
.category-page__search.CoveoSearchInterface .coveo-for-sitecore-frame-container .CoveoDynamicFacet .coveo-dynamic-facet-values .coveo-dynamic-facet-value .coveo-checkbox-label {
  border-color: var(--tag-group-default-border);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--color-structural-black-500, #0f121d);
  font-family: var(--font-mono);
  font-size: var(--font-size-tag, 0.6875rem);
  font-weight: 400;
  line-height: 1rem;
  letter-spacing: 0.06em;
  text-align: left;
  text-transform: uppercase;
  cursor: pointer;
  gap: var(--space-1_5, 6px);
  padding: var(--space-2, 8px) var(--space-4, 16px);
  border: 1px solid var(--color-structural-black-500, #0f121d);
  background: transparent;
  white-space: nowrap;
  border-radius: 0px;
  transition: background-color 0.2s, border-color 0.2s, color 0.2s;
}
.category-page__search.CoveoSearchInterface .coveo-for-sitecore-frame-container .CoveoDynamicFacet .coveo-dynamic-facet-values .coveo-dynamic-facet-value .coveo-checkbox-label:hover .coveo-checkbox-span-label {
  color: var(--tag-group-hover-text-color);
  opacity: 1;
}
.category-page__search.CoveoSearchInterface .coveo-for-sitecore-frame-container .CoveoDynamicFacet .coveo-dynamic-facet-values .coveo-dynamic-facet-value.coveo-selected .coveo-checkbox-label {
  color: var(--tag-group-active-fg);
  background: var(--tag-group-color);
  border-color: var(--tag-group-active-border);
}
.category-page__search.CoveoSearchInterface .coveo-for-sitecore-frame-container .CoveoDynamicFacet .coveo-dynamic-facet-values .coveo-dynamic-facet-value:hover:not(.coveo-selected) .coveo-checkbox-label {
  color: var(--tag-group-hover-text-color);
  background: var(--tag-group-color-alpha);
  border-color: var(--tag-group-hover-color);
}
.category-page__search.CoveoSearchInterface .coveo-for-sitecore-frame-container .CoveoDynamicFacet.coveo-dynamic-facet-collapsed .coveo-dynamic-facet-header i {
  transform: rotate(0deg);
}
.category-page__search.CoveoSearchInterface .coveo-for-sitecore-frame-container .CoveoDynamicFacet.coveo-dynamic-facet-collapsed .coveo-dynamic-facet-values {
  max-height: 0;
}
.category-page__search.CoveoSearchInterface .CoveoResultList .coveo-result-list-container {
  display: grid;
  grid-template-columns: repeat(var(--grid-cols, 3), 1fr);
  gap: var(--space-8);
  align-items: stretch;
}
.category-page__search.CoveoSearchInterface .CoveoResultList .coveo-result-list-container .CoveoResult {
  margin: 0;
  width: 100%;
}
.category-page__search.CoveoSearchInterface .CoveoResultList .coveo-result-list-container .CoveoResult .product-card {
  min-width: 300px;
}
.category-page__search.CoveoSearchInterface .CoveoResultList .coveo-result-list-container .CoveoResult .product-card a.CoveoResultLink {
  color: var(--color-structural-cream-25);
}
.category-page__search.CoveoSearchInterface .CoveoResultList[data-tab=peerlessCategoryLandingTabFamily],
.category-page__search.CoveoSearchInterface .CoveoResultList.category-page__grid--families {
  grid-template-columns: unset;
}
.category-page__search.CoveoSearchInterface .CoveoResultList[data-tab=peerlessCategoryLandingTabFamily] .coveo-result-list-container,
.category-page__search.CoveoSearchInterface .CoveoResultList.category-page__grid--families .coveo-result-list-container {
  grid-template-columns: repeat(2, 1fr);
  grid-auto-flow: dense;
  width: 100%;
}
@media (max-width: 768px) {
  .category-page__search.CoveoSearchInterface .CoveoResultList[data-tab=peerlessCategoryLandingTabFamily] .coveo-result-list-container,
  .category-page__search.CoveoSearchInterface .CoveoResultList.category-page__grid--families .coveo-result-list-container {
    grid-template-columns: unset;
  }
}
.category-page__search.CoveoSearchInterface .CoveoResultList[data-tab=peerlessCategoryLandingTabFamily] .coveo-result-list-container .CoveoResult,
.category-page__search.CoveoSearchInterface .CoveoResultList.category-page__grid--families .coveo-result-list-container .CoveoResult {
  display: contents !important;
}
.category-page__search.CoveoSearchInterface .CoveoResultList[data-tab=peerlessCategoryLandingTabFamily] .coveo-result-list-container .CoveoResult .family-card__preview,
.category-page__search.CoveoSearchInterface .CoveoResultList.category-page__grid--families .coveo-result-list-container .CoveoResult .family-card__preview {
  margin-top: 16px;
}

.category-page__search.CoveoSearchInterface:not(.v2-search-peerless-products):not(.v2-search-peerless-families) .coveo-results-column .CoveoResultList:not(.coveo-hidden) {
  display: flex;
  gap: 0;
}

.category-page__search .category-filter-sidebar__filter-opt.coveo-selected .category-filter-sidebar__filter-opt-check i,
.category-page__search .search-results__filter-opt.coveo-selected .search-results__filter-opt-check i {
  visibility: visible !important;
}

.category-filter-sidebar__filter-opt .coveo-facet-value-label,
.category-filter-sidebar__filter-opt .coveo-facet-value-label-wrapper,
.search-results__filter-opt .coveo-facet-value-label,
.search-results__filter-opt .coveo-facet-value-label-wrapper {
  pointer-events: auto !important;
}

.category-page__search.CoveoSearchInterface.v2-search-peerless-products .coveo-for-sitecore-frame-container > div:not(.coveo-main-section),
.category-page__search.CoveoSearchInterface.v2-search-peerless-families .coveo-for-sitecore-frame-container > div:not(.coveo-main-section) {
  padding: 0;
  margin: 0;
}
.category-page__search.CoveoSearchInterface.v2-search-peerless-products .coveo-for-sitecore-frame-container > div:not(.coveo-main-section) section:has(.category-filter-sidebar-toggle),
.category-page__search.CoveoSearchInterface.v2-search-peerless-families .coveo-for-sitecore-frame-container > div:not(.coveo-main-section) section:has(.category-filter-sidebar-toggle) {
  display: grid !important;
  gap: 28px !important;
  grid-template-columns: minmax(180px, 240px) 1fr !important;
}
.category-page__search.CoveoSearchInterface.v2-search-peerless-products .coveo-for-sitecore-frame-container > div:not(.coveo-main-section) section:has(.category-filter-sidebar-toggle) > div,
.category-page__search.CoveoSearchInterface.v2-search-peerless-families .coveo-for-sitecore-frame-container > div:not(.coveo-main-section) section:has(.category-filter-sidebar-toggle) > div {
  grid-column: 2;
}
.category-page__search.CoveoSearchInterface.v2-search-peerless-products .coveo-for-sitecore-frame-container > div:not(.coveo-main-section) section:has(.category-filter-sidebar-toggle) .category-page__count,
.category-page__search.CoveoSearchInterface.v2-search-peerless-families .coveo-for-sitecore-frame-container > div:not(.coveo-main-section) section:has(.category-filter-sidebar-toggle) .category-page__count {
  margin: 0;
}
.category-page__search.CoveoSearchInterface.v2-search-peerless-products .coveo-for-sitecore-frame-container .coveo-main-section .coveo-facet-column,
.category-page__search.CoveoSearchInterface.v2-search-peerless-families .coveo-for-sitecore-frame-container .coveo-main-section .coveo-facet-column {
  top: 0 !important;
}
.category-page__search.CoveoSearchInterface.v2-search-peerless-products .coveo-for-sitecore-frame-container .coveo-main-section .coveo-results-column .CoveoResultList,
.category-page__search.CoveoSearchInterface.v2-search-peerless-families .coveo-for-sitecore-frame-container .coveo-main-section .coveo-results-column .CoveoResultList {
  display: block;
}

.editorial-card:not(#related-projects) .v2-search-peerless-projects .coveo-main-section {
  max-width: 100%;
  margin: 0;
}
.editorial-card:not(#related-projects) .v2-search-peerless-projects .coveo-main-section .coveo-results-column {
  padding: 0;
}
.editorial-card:not(#related-projects) .v2-search-peerless-projects .coveo-main-section .coveo-results-column .CoveoResultList.content-carousel {
  margin: 0;
  height: 700px;
  background: radial-gradient(ellipse at left center, #005465, #0d6478, #1a738a 46%, #3392af 92%);
}
.editorial-card:not(#related-projects) .v2-search-peerless-projects .coveo-main-section .coveo-results-column .CoveoResultList.content-carousel .content-carousel__progress {
  bottom: 24px;
}
.editorial-card:not(#related-projects) .v2-search-peerless-projects .coveo-main-section .coveo-results-column .CoveoResultList.content-carousel .content-carousel__track {
  height: 644px;
  margin-left: 4rem;
  margin-right: 4rem;
}
.editorial-card:not(#related-projects) .v2-search-peerless-projects .coveo-main-section .coveo-results-column .CoveoResultList.content-carousel .content-carousel__track .CoveoResult .content-card {
  max-width: 75%;
}
.editorial-card:not(#related-projects):has(.v2-search-peerless-projects):not(:has(.CoveoResult)) {
  display: none;
}

.category-page__search .coveo-facet-column.product-filter__sidebar > div:not(.coveo-topSpace):not(.coveo-bottomSpace):not(.coveo-facet-header-filter-by-container).category-filter-sidebar__footer {
  display: none !important;
}

@media (max-width: 960px) {
  .category-page__grid {
    --grid-cols: 2;
  }
  .category-page__search.CoveoSearchInterface .coveo-for-sitecore-frame-container .coveo-main-section.product-filter__body {
    --grid-cols: 2;
  }
}
@media (max-width: 768px) {
  .category-page .CoveoResult .product-card__variants {
    gap: 4px;
  }
  .category-page .coveo-facet-column.product-filter__sidebar[data-state=expanded] > div:not(.coveo-topSpace):not(.coveo-bottomSpace):not(.coveo-facet-header-filter-by-container).category-filter-sidebar__footer {
    display: block !important;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 1rem;
    background: var(--color-structural-cream-50, #ffffff);
  }
  .category-page .coveo-facet-column.product-filter__sidebar > div:not(.coveo-topSpace):not(.coveo-bottomSpace):not(.coveo-facet-header-filter-by-container):not(.category-filter-sidebar__footer):has(+ .category-filter-sidebar__footer) {
    margin-bottom: 150px;
  }
  .category-page:has(.v2-search-peerless-families) .page-tabs-sticky {
    height: 0;
  }
  .category-page .category-page__body-wrap .category-page__grid {
    --grid-cols: 1;
  }
  .category-page .category-page__body-wrap .category-page__grid.category-page__grid--mounting {
    padding-inline: var(--space-4) !important;
  }
  .category-page__search.CoveoSearchInterface .CoveoResultList .coveo-result-list-container {
    grid-template-columns: 1fr;
  }
  .category-page__grid--categories .content-card, .category-page__grid--categories .content-card--compact, .category-page__grid--mounting .content-card, .category-page__grid--mounting .content-card--compact, .category-page__grid--light-distribution .content-card, .category-page__grid--light-distribution .content-card--compact {
    width: 100%;
    min-width: 0;
    aspect-ratio: 16/9;
  }
  .category-page__body {
    grid-template-columns: 1fr;
    --sidebar-col: 1fr;
  }
  .category-page__search.CoveoSearchInterface .coveo-for-sitecore-frame-container .coveo-main-section.product-filter__body {
    --grid-cols: 1;
    grid-template-columns: 100% !important;
  }
}
@media (max-width: 480px) {
  .category-page__search.CoveoSearchInterface.v2-search-peerless-products .coveo-for-sitecore-frame-container {
    padding-inline: var(--layout-padding) !important;
    gap: var(--space-6);
  }
  .category-page__search.CoveoSearchInterface.v2-search-peerless-products .coveo-for-sitecore-frame-container > div:not(.coveo-main-section) > section {
    flex-direction: column;
    align-items: flex-start;
    margin-block-end: 0;
  }
  .category-page__search.CoveoSearchInterface.v2-search-peerless-products .coveo-for-sitecore-frame-container > div:not(.coveo-main-section) > section .container-fluid {
    grid-column: 1;
  }
  .category-page__search.CoveoSearchInterface.v2-search-peerless-products .coveo-for-sitecore-frame-container > div:not(.coveo-main-section) > section .container-fluid .category-page__count {
    margin-bottom: var(--space-4);
  }
}
@media (max-width: 600px) {
  .category-filter-sidebar {
    position: static;
    width: 100%;
    top: auto;
  }
  .category-filter-sidebar__toggle {
    display: inline-flex;
  }
  .category-filter-sidebar[data-state=collapsed] .category-filter-sidebar__toggle span {
    display: inline;
  }
}
@media (max-width: 768px) {
  .category-filter-sidebar[data-state=expanded] {
    position: fixed;
    top: var(--filter-sheet-top, var(--header-size, 64px));
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 50;
    width: 100%;
    max-width: none;
    height: 100%;
    max-height: unset;
    min-height: 0;
    background: var(--color-structural-cream-50, #ffffff);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: var(--space-5) var(--layout-padding, var(--space-4));
    box-shadow: none;
    display: flex;
    flex-direction: column;
  }
}
@media (min-width: 600px) {
  .category-filter-sidebar[data-hide-toggle=true] .category-filter-sidebar__toggle {
    display: none;
  }
  .category-filter-sidebar[data-hide-toggle=true] .category-filter-sidebar__toolbar {
    margin-bottom: 0;
  }
  .category-filter-sidebar[data-hide-toggle=true] .category-filter-sidebar__toolbar:has(.category-filter-sidebar__clear-all:not([hidden])) {
    margin-bottom: var(--space-4);
  }
}
@media (prefers-reduced-motion: reduce) {
  .category-filter-sidebar__filter-cat-btn i, .category-filter-sidebar__filter-cat-options {
    transition: none;
  }
}
.product-filter .category-filter-sidebar__toolbar {
  display: none;
}

.category-page__search.CoveoSearchInterface .category-filter-sidebar-toggle,
.category-page__search.CoveoSearchInterface .category-filter-sidebar-toggle {
  display: none;
  align-items: center;
  gap: var(--space-2);
  width: 200px;
  background: none;
  border-width: medium;
  border-style: none;
  border-color: currentcolor;
  border-image: initial;
  color: var(--color-structural-black-500);
  font-family: var(--font-mono);
  font-size: 0.875rem;
  font-weight: 400;
  cursor: pointer;
  padding: var(--space-1) 0;
  white-space: nowrap;
}

.category-filter-sidebar-toggle .fa-bars-filter {
  font-size: 1rem;
}

.coveo-dropdown-header-wrapper {
  display: none !important;
}

@media (max-width: 768px) {
  .category-page__search.CoveoSearchInterface .coveo-for-sitecore-frame-container .coveo-main-section .category-filter-sidebar[data-state=collapsed] {
    max-height: 24px !important;
    overflow: hidden !important;
    width: 100% !important;
  }
  .category-page__search.CoveoSearchInterface .coveo-for-sitecore-frame-container .coveo-main-section .category-filter-sidebar[data-state=collapsed] > div:not(.coveo-topSpace):not(.coveo-bottomSpace):not(.coveo-facet-header-filter-by-container):not(.category-filter-sidebar__footer):not(:has(.CoveoBreadcrumb)) {
    display: none !important;
  }
  .category-page__search.CoveoSearchInterface .coveo-for-sitecore-frame-container .coveo-main-section .category-filter-sidebar[data-state=collapsed] > div:has(.CoveoBreadcrumb) {
    margin-bottom: 0 !important;
  }
  .category-page__search.CoveoSearchInterface .coveo-for-sitecore-frame-container .coveo-main-section .category-filter-sidebar-toggle {
    display: inline-flex;
  }
  .category-page__search.CoveoSearchInterface .coveo-for-sitecore-frame-container .coveo-main-section .category-filter-sidebar[data-state=expanded] {
    --filter-sheet-top: 96px;
    --filter-sheet-height: 570px;
    position: fixed !important;
    top: var(--filter-sheet-top, var(--header-size, 64px)) !important;
    right: 0;
    bottom: auto;
    left: 0;
    z-index: 50;
    width: 100% !important;
    max-width: none;
    height: 100%;
    max-height: unset;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    padding: var(--space-5) var(--layout-padding, var(--space-4)) !important;
    box-shadow: none;
    background: var(--color-structural-cream-50, #ffffff);
    color: var(--color-structural-black-500);
    min-height: unset;
  }
  .category-page__search.CoveoSearchInterface .coveo-for-sitecore-frame-container .coveo-main-section .category-filter-sidebar[data-state=expanded] .coveo-breadcrumb-clear-all {
    font-size: 0.875rem;
  }
  .category-page__search.CoveoSearchInterface .coveo-for-sitecore-frame-container .coveo-main-section .coveo-facet-column.product-filter__sidebar > div:not(.coveo-topSpace):not(.coveo-bottomSpace):not(.coveo-facet-header-filter-by-container):has(.coveo-facet-values:empty):not(.category-filter-sidebar__footer) {
    display: none !important;
  }
  .category-page__search.CoveoSearchInterface .coveo-for-sitecore-frame-container .coveo-main-section .coveo-facet-column.product-filter__sidebar > div:has(.CoveoBreadcrumb) {
    width: fit-content;
    justify-self: end;
    margin-bottom: var(--space-4);
    margin-left: auto;
  }
  .category-page[data-filters-open] .category-filter-sidebar__footer, .product-filter[data-filters-open] .category-filter-sidebar__footer {
    display: block;
    position: sticky;
    bottom: 0;
    z-index: 1;
    margin-top: auto;
    padding-top: var(--space-4);
    padding-bottom: var(--space-2);
    background: var(--color-structural-cream-50, #ffffff);
  }
  .product-filter__sidebar[data-filters-open] .category-filter-sidebar__footer {
    display: block;
    position: sticky;
    top: 100%;
    bottom: 0;
    z-index: 1;
    margin-top: auto;
    padding-top: var(--space-4);
    padding-bottom: var(--space-2);
    background: var(--color-structural-cream-50, #ffffff);
  }
  .coveo-for-sitecore-frame-container:has(.product-filter__sidebar[data-state=expanded]) .no-background-color-content-area {
    padding-top: 10px;
  }
  .coveo-for-sitecore-frame-container:has(.product-filter__sidebar[data-state=expanded]) .kw-filter-tabs-row .product-filter__filter-toggle {
    padding-top: calc(var(--space-2) - 5px);
    padding-left: 0;
  }
  .category-page__search.CoveoSearchInterface.v2-search-peerless-families .coveo-for-sitecore-frame-container {
    padding-inline: var(--space-4) !important;
  }
  .category-page__search.CoveoSearchInterface.v2-search-peerless-families .coveo-for-sitecore-frame-container .coveo-main-section .category-filter-sidebar[data-state=collapsed] {
    max-height: 64px !important;
  }
  .category-page__search.CoveoSearchInterface.v2-search-peerless-families .coveo-for-sitecore-frame-container .coveo-main-section .CoveoResultList.category-page__grid--families {
    margin: 0;
  }
  .category-page__search.CoveoSearchInterface.v2-search-peerless-families .coveo-for-sitecore-frame-container .coveo-main-section .CoveoResultList.category-page__grid--families .coveo-result-list-container {
    grid-template-columns: 1fr;
  }
}
/** Mega Nav Product Cards */
#megaMenuProductCards {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  margin: 40px;
}
#megaMenuProductCards .product-card__overlay a {
  overflow: hidden;
}
#megaMenuProductCards .product-card__overlay-body {
  overflow: auto;
}

/** Heroes -- Hero Peerless */
.category-page .cover-hero__content,
.story-article .cover-hero__content {
  display: contents;
}

.cover-hero__content .story-article__hero-shell {
  z-index: 2;
}
.cover-hero__content .title-group__eyebrow {
  font-family: var(--font-sans);
  font-size: clamp(0.95rem, 1.35vw, 1.25rem);
  letter-spacing: 0;
  text-transform: none;
  margin-bottom: var(--space-1);
}

/** Heroes -- Hero With Cards Module */
.family-landing-hero img.content-card__icon-img {
  max-height: 30px;
  max-width: 30px;
}

.explore-content-area {
  /* Options hidden by faceted narrowing (app.gallery.js syncFilterUi) */
}
.explore-content-area .explore-content-area__dropdown-item[hidden] {
  display: none !important;
}

.reveal-card__title-group.title-group--text-structural-light {
  --title-group-text-color: var(--text-on-dark);
}

/* Restore the base .type-label size on media title-group eyebrows; the
enlarging rule in explore-build.css is dead on the Astro site (unmatched
[data-astro-cid] scoping), so the vendor site renders the base size. */
.reveal-card .reveal-card__title-group--media .type-label {
  font-size: clamp(0.64rem, var(--fluid-unit) * 0.3 + 0.5rem, 0.8rem);
  line-height: inherit;
}

/** PDP About Component */
.billboard .billboard__body {
  font-size: 20px;
  font-weight: 400;
  line-height: 1.7;
  margin: 0 0 24px;
}

@media (max-width: 960px) {
  .context-nav-bar {
    will-change: auto;
  }
}
.pdp-docs__cat-selection-action:disabled,
.pdp-docs__photometry-selection-action:disabled {
  --btn-color: color-mix(in srgb, var(--color-structural-black-500) 45%, transparent);
  border-color: transparent;
  color: var(--btn-color);
  cursor: not-allowed;
  pointer-events: none;
}

@media (max-width: 960px) {
  .pdp-docs__row-download {
    display: none;
  }
  .pdp-docs__cat-selection-action--download {
    display: none;
  }
}
.pdp-docs__photometry-selection-label--mobile {
  display: none;
}

@media (max-width: 960px) {
  .pdp-docs__photometry-selection-label--desktop {
    display: none;
  }
  .pdp-docs__photometry-selection-label--mobile {
    display: inline;
  }
}
.pdp-docs__photometry-content .search-results__options {
  align-items: center;
  display: flex;
  gap: 8px;
  justify-content: space-between;
  margin-bottom: 8px;
}

.pdp-docs__photometry-content .search-results__options__results {
  margin-bottom: 0;
}

.pdp-docs__photometry-selection-actions {
  display: flex;
  flex-shrink: 0;
  gap: 8px;
}

@media (max-width: 575px) {
  .pdp-docs__photometry-content .search-results__options {
    align-items: flex-start;
    flex-direction: column;
  }
}
/** Rich Text Peerless — theme background + text color */
/** Note: background and text color mapping referenced from vendor code: _navbar.scss */
.rich-text--theme-blue-alliance {
  background: var(--color-blue-alliance-500, #005465);
  color: var(--text-on-brand, #fff);
}
.rich-text--theme-blue-reliance {
  background: var(--color-blue-reliance-500, #48cef7);
  color: var(--text-on-surface, var(--color-structural-black-500, #0f121d));
}
.rich-text--theme-ignition-green {
  background: var(--color-green-400, #005941);
  color: var(--text-on-brand, #fff);
}
.rich-text--theme-flash-orange {
  background: var(--color-orange-500, #ff5c00);
  color: var(--text-on-brand, #fff);
}
.rich-text--theme-playleaf {
  background: var(--color-lime-500, #c6dc19);
  color: var(--text-on-lime, var(--color-structural-black-500, #0f121d));
}
.rich-text--theme-momentum-red {
  background: var(--bg-momentum-red, var(--color-red-500, #a80000));
  color: var(--text-on-brand, #fff);
}
.rich-text--theme-structural-blue {
  background: var(--color-structural-blue-500, #0061fe);
  color: var(--text-on-brand, #fff);
}
.rich-text--theme-structural-black {
  background: var(--color-structural-black-400, #202938);
  color: var(--text-on-brand, #fff);
}
.rich-text--theme-structural-cream {
  background: var(--color-structural-cream-500, #f5f2ec);
  color: var(--text-on-surface, var(--color-structural-black-500, #0f121d));
}
.rich-text--theme-white {
  background: var(--color-structural-cream-50, #fff);
  color: var(--text-on-surface, var(--color-structural-black-500, #0f121d));
}

/* Peerless RTE — font weights */
.peerless-weight-400 {
  font-weight: 400;
}

.peerless-weight-700 {
  font-weight: 700;
}

/* Peerless RTE — exact font sizes */
.peerless-size-10 {
  font-size: 10px;
}

.peerless-size-13 {
  font-size: 13px;
}

.peerless-size-16 {
  font-size: 16px;
}

.peerless-size-18 {
  font-size: 18px;
}

.peerless-size-22 {
  font-size: 22px;
}

.peerless-size-30 {
  font-size: 30px;
}

.peerless-size-90 {
  font-size: 90px;
}

/* Peerless RTE — quote icon (IsQuote rendering parameter) */
.rich-text--quote .rich-text__content {
  position: relative;
  padding-left: 2.75rem;
}
.rich-text--quote .rich-text__quote-icon {
  color: currentColor;
  line-height: 1;
}
.rich-text--quote .rich-text__quote-icon--open {
  position: absolute;
  left: 0;
  top: 0.1em;
  font-size: 1.5rem;
}
.rich-text--quote .rich-text__quote-icon--close {
  display: inline;
  margin-left: 0.4rem;
  font-size: 1.5rem;
  vertical-align: -0.15em;
  white-space: nowrap;
}
.rich-text--quote .rich-text__content br:has(+ .rich-text__quote-icon--close) {
  display: none;
}

/** Sitecore content cards */
.content-cards__grid .content-card {
  --cc-radius: 0;
  --cc-text: var(--color-structural-cream-50, #ffffff);
  --cc-bg: var(--color-structural-black-500, #111);
  --cc-fade-from: rgba(0, 0, 0, 0);
  --cc-fade-to: rgba(0, 0, 0, .7);
  --cc-pad: var(--space-6, 24px);
  --cc-body-pad-block: var(--space-8, 32px);
  --cc-body-pad-inline: var(--space-8, 32px);
  --cc-bg-translucent: rgba(7, 55, 40, 0.55);
  --cc-text-translucent: rgba(255, 255, 255, 0.92);
  --cc-border-translucent: rgba(255, 255, 255, 0.14);
  width: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  isolation: isolate;
  border-radius: var(--cc-radius);
  background: var(--cc-bg);
  color: var(--cc-text);
  text-decoration: none;
  transition: transform 0.4s cubic-bezier(0.25, 0.1, 0.25, 1);
}
.content-cards__grid .content-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
}
.content-cards__grid .content-card__media {
  position: absolute;
  inset: 0;
  margin: 0;
  overflow: hidden;
}
.content-cards__grid .content-card__gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, var(--cc-fade-from) 40%, var(--cc-fade-to) 100%);
  pointer-events: none;
}
.content-cards__grid .content-card__display {
  position: relative;
  z-index: 1;
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: var(--cc-pad);
}
.content-cards__grid .content-card__display-content {
  width: min(clamp(100px, 22%, 180px), 100%);
  max-height: 100%;
  aspect-ratio: 1;
  background: #fff;
  display: grid;
  place-items: center;
  padding: var(--space-3, 12px);
}
.content-cards__grid .content-card__display-content img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.content-cards__grid .content-card__body {
  position: relative;
  z-index: 2;
  margin-top: 0;
  padding: var(--cc-body-pad-block) var(--cc-body-pad-inline);
  display: flex;
  flex-direction: column;
  gap: var(--space-2, 8px);
}
.content-cards__grid .content-card__eyebrow {
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  opacity: 0.85;
}
.content-cards__grid .content-card__title {
  margin: 0;
  font-family: var(--font-sans);
  font-size: clamp(1.125rem, var(--fluid-unit, 1vw) * 0.6 + 0.75rem, 1.375rem);
  line-height: 1.2;
  letter-spacing: -0.01em;
  display: flex;
  align-items: baseline;
  gap: var(--space-2, 8px);
  flex-wrap: nowrap;
}
.content-cards__grid .content-card__title-text {
  flex: 0 1 auto;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.content-cards__grid .content-card__arrow {
  flex: 0 0 auto;
  font-size: 0.8rem;
  font-weight: 500;
  padding-left: var(--space-2);
  display: inline-flex;
  align-items: center;
  line-height: 1;
  position: relative;
  transform: translateY(-0.26em);
  transition: transform 0.25s ease, color 0.25s ease;
}
.content-cards__grid .content-card__desc {
  margin: 0;
  font-family: var(--font-sans);
  font-size: 0.875rem;
  line-height: 1.45;
  opacity: 0.85;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.content-cards__grid .content-card:where(a):hover .content-cards__grid .content-card__image {
  transform: scale(1.04);
}
.content-cards__grid .content-card:where(a):hover .content-cards__grid .content-card__arrow {
  transform: translateY(-0.26em) rotate(45deg);
}
.content-cards__grid .content-card:where(a):focus-visible {
  outline: 2px solid var(--color-structural-blue-cta, #1f6feb);
  outline-offset: 3px;
}
.content-cards__grid .content-card--ratio-16-10 {
  aspect-ratio: 16/10;
}
.content-cards__grid .content-card--ratio-1-1 {
  aspect-ratio: 1/1;
}
.content-cards__grid .content-card--no-aspect-ratio {
  aspect-ratio: unset;
}
.content-cards__grid .content-card.has-title-gradient .content-card__title-text {
  background: linear-gradient(131deg, #c6dc19, #fff);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}
.content-cards__grid .content-card--body-pad-extra {
  --cc-body-pad-inline: var(--space-16, 64px);
}
.content-cards__grid .content-card--compact {
  --cc-fade-from: rgba(0, 0, 0, 0);
  --cc-fade-to: rgba(0, 0, 0, .75);
  overflow: hidden;
}
.content-cards__grid .content-card--compact .content-card__media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.content-cards__grid .content-card--compact .content-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.content-cards__grid .content-card--compact .content-card__body {
  position: absolute;
  bottom: var(--space-4, 16px);
  left: var(--space-4, 16px);
  right: var(--space-4, 16px);
  margin-top: 0;
  padding: var(--space-2, 8px) 0;
}
.content-cards__grid .content-card--compact .content-card__title {
  color: var(--cc-text);
}
.content-cards__grid .content-card--compact .content-card__eyebrow {
  color: var(--cc-text);
  opacity: 0.85;
}
.content-cards__grid .content-card--compact.content-card--no-aspect-ratio {
  aspect-ratio: unset;
  width: 100%;
  height: 100%;
  min-height: 0;
}
.content-cards__grid .content-card--spotlight {
  --cc-fade-from: rgba(0, 0, 0, 0);
  --cc-fade-to: rgba(0, 0, 0, .75);
}
.content-cards__grid .content-card--spotlight.content-card--has-display-content {
  --cc-bg: var(--color-structural-black-400, #2b2b2b);
}
.content-cards__grid .content-card--spotlight.content-card--has-display-content .content-card__image {
  opacity: 0.55;
  filter: blur(2px);
}
.content-cards__grid .content-card--award-spotlight.content-card--spotlight {
  --awards-badge-inset: 10px;
  --awards-badge-size: min(20%, 78px);
  --awards-copy-reserved-width: 0px;
  overflow: hidden;
}
.content-cards__grid .content-card--award-spotlight.content-card--spotlight .content-card__image {
  opacity: 1;
  filter: none;
}
.content-cards__grid .content-card--award-spotlight.content-card--spotlight .content-card__gradient {
  background: linear-gradient(to top, rgba(15, 18, 29, 0.72) 0%, rgba(15, 18, 29, 0.34) 58%, rgba(15, 18, 29, 0) 100%);
}
.content-cards__grid .content-card--award-spotlight.content-card--spotlight.content-card--has-display-content {
  --awards-copy-reserved-width: calc(var(--awards-badge-inset) + var(--awards-badge-size));
}
.content-cards__grid .content-card--award-spotlight.content-card--spotlight.content-card--has-display-content .content-card__display {
  position: absolute;
  bottom: var(--awards-badge-inset);
  right: var(--awards-badge-inset);
  top: auto;
  left: auto;
  z-index: 3;
  width: var(--awards-badge-size);
  aspect-ratio: 1;
  padding: 0;
  transform: none;
  pointer-events: none;
}
.content-cards__grid .content-card--award-spotlight.content-card--spotlight.content-card--has-display-content .content-card__display-content {
  width: 100%;
  height: 100%;
  background: #fff;
  padding: 1px;
  box-shadow: 0 4px 12px rgba(15, 18, 29, 0.28);
  overflow: hidden;
}
.content-cards__grid .content-card--award-spotlight.content-card--spotlight.content-card--has-display-content .content-card__display-content img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform: scale(1.08);
}
.content-cards__grid .content-card--award-spotlight.content-card--spotlight .content-card__body {
  position: absolute;
  inset: auto var(--awards-copy-reserved-width) 0 0;
  min-height: 42%;
  z-index: 2;
  justify-content: flex-end;
  padding: var(--space-10) var(--space-6) var(--space-6);
  background: none;
}
.content-cards__grid .content-card--award-spotlight.content-card--spotlight .content-card__title-group {
  max-width: 24ch;
  gap: var(--space-1);
}
.content-cards__grid .content-card--award-spotlight.content-card--spotlight .content-card__eyebrow {
  font-size: 0.6875rem;
  letter-spacing: 0.12em;
  opacity: 1;
}
.content-cards__grid .content-card--award-spotlight.content-card--spotlight .content-card__title {
  font-size: clamp(0.95rem, 1.35vw, 1.22rem);
  line-height: 1.08;
  letter-spacing: -0.02em;
}
.content-cards__grid .content-card--award-spotlight.content-card--spotlight .content-card__arrow {
  font-size: 0.9em;
  transform: translateY(-0.12em);
  transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1), color 0.28s ease;
}
.content-cards__grid .content-card--award-spotlight.content-card--spotlight:hover .content-card__arrow, .content-cards__grid .content-card--award-spotlight.content-card--spotlight:focus-visible .content-card__arrow {
  transform: translateX(2px) translateY(-0.12em) rotate(45deg);
}
.content-cards__grid .content-card--editorial {
  --cc-bg: var(--color-green-500, #154734);
  --cc-text: var(--color-structural-cream-50, #ffffff);
  --cc-pad: var(--space-8, 32px);
}
.content-cards__grid .content-card--editorial .content-card__icon {
  font-size: 1.5rem;
  color: currentColor;
  flex: 0 0 auto;
  margin-bottom: var(--space-1, 4px);
}
.content-cards__grid .content-card--editorial .content-card__title {
  font-size: clamp(1.5rem, var(--fluid-unit, 1vw) + 1rem, 2.25rem);
  font-weight: 400;
}
.content-cards__grid .content-card--editorial .content-card__body {
  margin-top: 0;
  height: 100%;
  justify-content: center;
}
.content-cards__grid .content-card--editorial .content-card__desc {
  font-size: 1rem;
  opacity: 0.9;
  max-width: 38ch;
}
.content-cards__grid .content-card--editorial.is-translucent {
  background: var(--cc-bg-translucent);
  color: var(--cc-text-translucent);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border: 1px solid var(--cc-border-translucent);
}
.content-cards__grid .content-card--editorial.is-translucent.is-translucent-default {
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.content-cards__grid .content-card--editorial-color-ignition-green {
  --cc-bg: var(--color-green-500, #073728);
  --cc-text: var(--color-lime-500, #c6dc19);
}
.content-cards__grid .content-card--editorial-color-blue-alliance {
  --cc-bg: var(--color-blue-alliance-500, #005465);
  --cc-text: var(--color-lime-500, #c6dc19);
}
.content-cards__grid .content-card--editorial-color-blue-reliance {
  --cc-bg: var(--color-blue-reliance-500, #48cef7);
  --cc-text: var(--color-structural-black-500, #0f121d);
}
.content-cards__grid .content-card--editorial-color-playleaf {
  --cc-bg: var(--color-lime-500, #c6dc19);
  --cc-text: var(--color-green-500, #073728);
}
.content-cards__grid .content-card--editorial-color-flash-orange {
  --cc-bg: var(--color-orange-500, #ff5c00);
  --cc-text: var(--color-green-500, #073728);
}
.content-cards__grid .content-card--editorial-color-momentum-red {
  --cc-bg: var(--color-red-500, #a80000);
  --cc-text: var(--color-structural-cream-50, #ffffff);
}
.content-cards__grid .content-card--editorial-color-structural-blue {
  --cc-bg: var(--color-structural-blue-500, #0061fe);
  --cc-text: var(--color-structural-cream-50, #ffffff);
}
.content-cards__grid .content-card--editorial-color-structural-black {
  --cc-bg: var(--color-structural-black-400, #202938);
  --cc-text: var(--color-structural-cream-50, #ffffff);
}
.content-cards__grid .content-card--editorial-color-structural-cream {
  --cc-bg: var(--color-structural-cream-500, #f5f2ec);
  --cc-text: var(--color-structural-black-500, #0f121d);
}
.content-cards__grid .content-card--editorial-color-midnight {
  --cc-bg: var(--color-structural-black-500, #0f121d);
  --cc-text: var(--color-structural-cream-50, #ffffff);
}
.content-cards__grid .content-card--standard {
  --cc-bg: var(--color-structural-black-500, #0f121d);
  --cc-text: var(--color-structural-cream-50, #ffffff);
  overflow: hidden;
}
.content-cards__grid .content-card--standard .content-card__meta-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3, 12px);
  width: 100%;
}
.content-cards__grid .content-card--standard .content-card__meta-item {
  font-family: var(--font-mono, "Space Mono", monospace);
  font-size: 1rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  opacity: 0.82;
  white-space: nowrap;
}
.content-cards__grid .content-card--standard.content-card--standard-body-third .content-card__media {
  aspect-ratio: 1/1;
}
.content-cards__grid .content-card--standard.content-card--standard-body-half .content-card__media {
  aspect-ratio: 2/1;
}
.content-cards__grid .content-card--standard .content-card__media {
  position: relative;
  inset: unset;
  width: 100%;
  flex: 0 0 auto;
  overflow: hidden;
}
.content-cards__grid .content-card--standard .content-card__media .content-card__gradient {
  display: none;
}
.content-cards__grid .content-card--standard .content-card__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
}
.content-cards__grid .content-card--standard .content-card__body {
  flex: 0 0 auto;
  overflow: hidden;
  background: #fff;
  color: var(--cc-text);
  --cc-body-pad-block: var(--space-5, 20px);
  --cc-body-pad-inline: var(--space-6, 24px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.content-cards__grid .content-card--standard .content-card__title-group {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.content-cards__grid .content-card--standard .content-card__title .content-card__arrow {
  white-space: nowrap;
}
.content-cards__grid .content-card--standard .content-card__desc {
  font-size: 1rem;
  opacity: 0.85;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}
.content-cards__grid .content-card--standard .content-card__cta {
  pointer-events: none;
  margin-top: auto;
  padding-top: var(--space-2, 8px);
}
.content-cards__grid .content-card--standard:hover .content-card__image, .content-cards__grid .content-card--standard:focus-visible .content-card__image {
  transform: scale(1.04);
}
.content-cards__grid .content-card--standard.content-card--standard-orientation-inline {
  flex-direction: row;
  align-items: stretch;
}
.content-cards__grid .content-card--standard.content-card--standard-orientation-inline .content-card__media {
  flex: 1 1 auto;
  aspect-ratio: unset;
  min-height: 100%;
}
.content-cards__grid .content-card--standard.content-card--standard-orientation-inline .content-card__body {
  flex: 0 0 clamp(360px, 34%, 620px);
  aspect-ratio: unset;
  min-height: fit-content;
  justify-content: flex-start;
  gap: var(--space-5, 20px);
  --cc-body-pad-block: var(--space-8, 32px);
  --cc-body-pad-inline: var(--space-8, 32px);
}
.content-cards__grid .content-card--standard.content-card--standard-orientation-inline .content-card__title {
  align-items: flex-start;
}
.content-cards__grid .content-card--standard.content-card--standard-orientation-inline .content-card__title .content-card__arrow {
  font-size: 0.95rem;
  transform: translateY(0.1em);
}
.content-cards__grid .content-card--standard.content-card--standard-orientation-inline .content-card__desc {
  font-size: clamp(1.125rem, 0.95rem + 0.5vw, 1.5rem);
  line-height: 1.6;
  opacity: 1;
  -webkit-line-clamp: unset;
  line-clamp: unset;
  overflow: visible;
  max-width: 28ch;
}
.content-cards__grid .content-card--standard.content-card--standard-orientation-inline .content-card__cta {
  margin-top: auto;
  align-self: flex-end;
}
.content-cards__grid .content-card--standard-theme-playleaf {
  --cc-bg: var(--color-lime-500, #c6dc19);
  --cc-text: var(--color-green-500, #073728);
}
.content-cards__grid .content-card--standard-theme-flash-orange {
  --cc-bg: var(--color-orange-500, #ff5c00);
  --cc-text: var(--color-green-500, #073728);
}
.content-cards__grid .content-card--standard-theme-ignition-green {
  --cc-bg: var(--color-green-500, #073728);
  --cc-text: var(--color-lime-500, #c6dc19);
}
.content-cards__grid .content-card--standard-theme-blue-alliance {
  --cc-bg: var(--color-blue-alliance-500, #005465);
  --cc-text: var(--color-lime-500, #c6dc19);
}
.content-cards__grid .content-card--standard-theme-structural-dark {
  --cc-bg: var(--color-structural-black-500, #0f121d);
  --cc-text: var(--color-structural-cream-50, #ffffff);
}
.content-cards__grid .content-card--standard-theme-white {
  --cc-bg: var(--color-structural-cream-100, #f6f5ef);
  --cc-text: var(--color-structural-black-500, #0f121d);
}
.content-cards__grid .content-card--label {
  --cc-text: var(--color-structural-cream-50, #ffffff);
  cursor: pointer;
  background: var(--cc-bg);
  color: var(--cc-text);
}
.content-cards__grid .content-card--label .content-card__body {
  margin-top: auto;
  padding: var(--cc-body-pad-block) var(--cc-body-pad-inline);
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  pointer-events: none;
}
.content-cards__grid .content-card--label .content-card__eyebrow {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
  opacity: 1;
}
.content-cards__grid .content-card--label .content-card__title {
  font-family: var(--font-sans);
  font-size: 1.375rem;
  font-weight: 400;
  color: currentColor;
  display: flex;
  align-items: center;
  gap: var(--space-2);
  flex-wrap: nowrap;
}
.content-cards__grid .content-card--label .content-card__arrow {
  font-size: 0.875rem;
}
.content-cards__grid .content-card--label .content-card__meta {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.45);
}
.content-cards__grid .content-card--label:hover .content-card__title {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.content-cards__grid .content-card--label:hover .content-card__arrow {
  transform: translateX(2px) translateY(-0.26em) rotate(45deg);
}
.content-cards__grid .content-card--thumbnail {
  cursor: pointer;
}
.content-cards__grid .content-card--thumbnail > .content-card__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.55s cubic-bezier(0.4, 0, 0.2, 1);
}
.content-cards__grid .content-card--thumbnail:after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 55%;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.65) 0%, transparent 100%);
  pointer-events: none;
  z-index: 1;
}
.content-cards__grid .content-card--thumbnail .content-card__body {
  position: relative;
  z-index: 2;
  margin-top: auto;
  padding: var(--cc-body-pad-block) var(--cc-body-pad-inline);
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  pointer-events: none;
}
.content-cards__grid .content-card--thumbnail .content-card__eyebrow {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
  opacity: 1;
}
.content-cards__grid .content-card--thumbnail .content-card__title {
  font-family: var(--font-sans);
  font-size: 1.375rem;
  font-weight: 400;
  color: white;
  display: flex;
  align-items: center;
  gap: var(--space-2);
  flex-wrap: nowrap;
}
.content-cards__grid .content-card--thumbnail .content-card__arrow {
  font-size: 0.875rem;
}
.content-cards__grid .content-card--thumbnail .content-card__meta {
  font-family: var(--font-mono);
  font-size: 0.6875rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.45);
}
.content-cards__grid .content-card--thumbnail:hover > .content-card__image {
  transform: none;
}
.content-cards__grid .content-card--thumbnail:hover .content-card__arrow {
  transform: translateY(-0.26em);
}
.content-cards__grid .content-card--contact {
  display: grid;
  align-content: start;
  width: 100%;
  max-width: 100%;
  min-height: 100%;
  border-radius: 0;
  background: rgba(15, 18, 29, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.07);
  backdrop-filter: blur(2px);
  color: #fff;
  box-shadow: none;
  overflow: hidden;
}
.content-cards__grid .content-card--contact .content-card__contact-body {
  display: grid;
  align-content: start;
  gap: var(--space-3);
  padding: var(--space-8) var(--space-6) var(--space-7);
}
.content-cards__grid .content-card--contact .content-card__contact-name {
  margin: 0;
  font-family: var(--font-family-secondary);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: #fff;
}
.content-cards__grid .content-card--contact .content-card__contact-role,
.content-cards__grid .content-card--contact .content-card__contact-region {
  margin: 0;
  font-family: var(--font-family-secondary);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.3;
  color: #fff;
}
.content-cards__grid .content-card--contact .content-card__contact-region {
  margin: 0 0 var(--space-2);
  color: rgba(255, 255, 255, 0.55);
}
.content-cards__grid .content-card--contact .content-card__contact-link-row {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  min-height: 2rem;
  width: fit-content;
  text-decoration: none;
  color: #fff;
}
.content-cards__grid .content-card--contact .content-card__contact-icon {
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
}
.content-cards__grid .content-card--contact .content-card__contact-value {
  font-family: var(--font-family-secondary);
  font-size: 14px;
  line-height: 1.3;
  color: #fff;
  white-space: nowrap;
}
.content-cards__grid .content-card--contact .content-card__contact-arrow {
  margin-left: var(--space-1);
  transition: transform 0.3s ease;
  transform-origin: center;
}
.content-cards__grid .content-card--contact .content-card__contact-link-row:hover .content-card__contact-arrow,
.content-cards__grid .content-card--contact .content-card__contact-link-row:focus-visible .content-card__contact-arrow {
  transform: rotate(45deg);
}
@media (max-width: 767px) {
  .content-cards__grid .content-card--contact {
    max-width: 100%;
    min-height: auto;
    height: auto;
  }
  .content-cards__grid .content-card--contact .content-card__contact-body {
    padding: var(--space-5) var(--space-4) var(--space-6);
  }
  .content-cards__grid .content-card--contact .content-card__contact-role,
  .content-cards__grid .content-card--contact .content-card__contact-region,
  .content-cards__grid .content-card--contact .content-card__contact-value {
    font-size: 14px;
  }
}
@media (max-width: 767px) {
  .content-cards__grid .content-card {
    --cc-body-pad-block: var(--space-5, 20px);
    --cc-body-pad-inline: var(--space-5, 20px);
  }
  .content-cards__grid .content-card .content-card__title {
    font-size: clamp(1rem, 0.9rem + 0.5vw, 1.2rem);
    line-height: 1.18;
  }
  .content-cards__grid .content-card .content-card__desc {
    font-size: clamp(0.8125rem, 0.76rem + 0.25vw, 0.9375rem);
    line-height: 1.4;
  }
  .content-cards__grid .content-card--standard .content-card__meta-item {
    font-size: 0.8125rem;
    letter-spacing: 0.03em;
  }
  .content-cards__grid .content-card--standard.content-card--standard-orientation-inline .content-card__body {
    --cc-body-pad-block: var(--space-6, 24px);
    --cc-body-pad-inline: var(--space-6, 24px);
  }
  .content-cards__grid .content-card--standard.content-card--standard-orientation-inline .content-card__desc {
    max-width: 100%;
  }
  .content-cards__grid .content-card--thumbnail .content-card__title,
  .content-cards__grid .content-card--label .content-card__title {
    font-size: clamp(1.05rem, 0.95rem + 0.45vw, 1.2rem);
  }
}

/** Content Cards */
.content-cards__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: var(--space-6);
  row-gap: var(--space-7);
  margin: 20px 8%;
}
.content-cards__grid.content-cards__grid--under-three {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 430px), 430px));
  justify-content: center;
}
.content-cards__grid:not(.content-cards__grid--under-three) > .content-card:nth-child(3n+1):last-child {
  transform: translateX(calc(100% + var(--space-6)));
}
.content-cards__grid:not(.content-cards__grid--under-three) > .content-card:nth-child(3n+1):nth-last-child(2),
.content-cards__grid:not(.content-cards__grid--under-three) > .content-card:nth-child(3n+2):last-child {
  transform: translateX(calc((100% + var(--space-6)) / 2));
}
.content-cards__grid .content-card {
  min-height: 250px;
}
.content-cards__grid .content-card.content-card--spotlight {
  min-height: auto;
}
.content-cards__grid .content-card__contact-icon {
  color: var(--color-blue-alliance-300);
}
@media (max-width: 767px) {
  .content-cards__grid {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    margin: 20px 5%;
  }
  .content-cards__grid:not(.content-cards__grid--under-three) > .content-card:nth-child(3n+1):last-child,
  .content-cards__grid:not(.content-cards__grid--under-three) > .content-card:nth-child(3n+1):nth-last-child(2),
  .content-cards__grid:not(.content-cards__grid--under-three) > .content-card:nth-child(3n+2):last-child {
    transform: none;
  }
}

/** START How to buy */
#how-to-buy-container.location-map {
  background: transparent;
  padding: 80px 5%;
  width: 100%;
  box-sizing: border-box;
}

#how-to-buy-container .row {
  display: grid;
  grid-template-columns: minmax(380px, 520px) 1fr;
  gap: 40px;
  max-width: 1400px;
  margin: 0 auto;
  align-items: start;
}

#how-to-buy-container .options {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid #d5d0cb;
  padding: 32px 28px;
  background: #fff;
}

#how-to-buy-container .options h2 {
  font-family: "Peerless Sans Regular", sans-serif;
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 400;
  line-height: 1.1;
  color: #1a1a1a;
  margin: 0 0 16px 0;
  padding-bottom: 16px;
  border-bottom: 2px solid #1a1a1a;
}

#how-to-buy-container .filterby {
  display: flex;
  flex-direction: column;
  gap: 0;
}

#how-to-buy-container .filterby .title {
  font-family: "Space Mono Regular", monospace;
  font-size: 0.7rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #555;
  padding: 16px 0 12px;
  margin-bottom: 0;
}

#how-to-buy-container .filter-row {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 12px;
  border: 1px solid #d5d0cb;
  border-bottom: none;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

#how-to-buy-container .filter-row:last-child {
  border-bottom: 1px solid #d5d0cb;
}

#how-to-buy-container .filter-row:hover {
  background-color: #f9f7f5;
}

#how-to-buy-container .filter-row.selected {
  background-color: #f0edea;
}

#how-to-buy-container .filter-row .icon {
  flex-shrink: 0;
  width: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  order: 0;
}

#how-to-buy-container .filter-row .icon svg {
  width: 18px;
  height: 24px;
}

/* Color-coded pin icons — matched by data-type attribute */
#how-to-buy-container .filter-row[data-type*="U.S."] .icon svg path {
  fill: #ff5c00;
}

#how-to-buy-container .filter-row[data-type*=Canada] .icon svg path {
  fill: #0061fe;
}

#how-to-buy-container .filter-row[data-type*=International] .icon svg path {
  fill: #005941;
}

#how-to-buy-container .filter-row[data-type*=Mexico] .icon svg path {
  fill: #a80000;
}

/* Reorder: icon (0) → radio (1) → name (2) */
#how-to-buy-container .filter-row .name {
  font-family: "Peerless Sans Regular", sans-serif;
  font-size: 0.95rem;
  color: #333;
  flex: 1;
  order: 2 !important;
}

/* Radio button — custom styled, reordered, override inline hiding */
#how-to-buy-container .filter-row input[type=radio] {
  appearance: none;
  -webkit-appearance: none;
  width: 20px;
  height: 20px;
  border: 1.5px solid #bbb;
  border-radius: 50%;
  flex-shrink: 0;
  position: relative !important;
  cursor: pointer;
  transition: border-color 0.2s ease;
  left: auto !important;
  margin: 0;
  background: #fff;
  order: 1 !important;
}

#how-to-buy-container .filter-row input[type=radio]:checked {
  border-color: #1a1a1a;
}

#how-to-buy-container .filter-row input[type=radio]:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 10px;
  height: 10px;
  background: #1a1a1a;
  border-radius: 50%;
}

/* Search area — always-visible simple search bar */
#how-to-buy-container .searchby {
  margin-top: 16px;
  border-top: 1px solid #d5d0cb;
  padding-top: 12px;
}

#how-to-buy-container .search-dropdown {
  border: 1px solid #d5d0cb;
  border-radius: 0;
  padding: 0;
  position: relative;
  background: #fff;
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 12px;
}

#how-to-buy-container .search-dropdown .selected-search-type {
  font-family: "Peerless Sans Regular", sans-serif;
  font-size: 0.9rem;
  padding: 12px 16px;
  color: #333;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

#how-to-buy-container .search-dropdown > svg {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}

#how-to-buy-container .search-dropdown svg path {
  stroke: #666;
}

#how-to-buy-container .search-dropdown ul {
  list-style: none;
  padding: 0;
  margin: 0;
  border-top: 1px solid #eee;
  background: #fff;
  position: absolute;
  left: -1px;
  right: -1px;
  top: 100%;
  z-index: 100;
  max-height: 250px;
  overflow-y: auto;
  display: none;
  border: 1px solid #d5d0cb;
  border-top: none;
}

#how-to-buy-container .search-dropdown.open ul {
  display: block;
}

#how-to-buy-container .search-dropdown .dropdown-item {
  padding: 10px 16px;
  font-family: "Peerless Sans Regular", sans-serif;
  font-size: 0.85rem;
  color: #333;
  cursor: pointer;
  transition: background 0.15s ease;
}

#how-to-buy-container .search-dropdown .dropdown-item:hover {
  background: #f5f5f5;
}

/* Search input boxes */
#how-to-buy-container .search-more {
  margin-top: 0;
}

#how-to-buy-container .form-group.type-block {
  display: flex;
  align-items: stretch;
  border: 1px solid #d5d0cb;
  border-radius: 0;
  overflow: visible;
  background: #fff;
  transition: border-color 0.2s ease;
  position: relative;
  width: 100%;
  box-sizing: border-box;
}

#how-to-buy-container .form-group.type-block:focus-within {
  border-color: #1a1a1a;
}

#how-to-buy-container .form-group .form-control {
  flex: 1;
  min-height: 58px;
  border: none;
  padding: 0 16px;
  font-family: "Peerless Sans Regular", sans-serif;
  font-size: 0.95rem;
  outline: none;
  background: transparent;
  color: #333;
  box-sizing: border-box;
}

#how-to-buy-container .form-group .form-control::placeholder {
  color: #999;
}

/* Search button — light tinted square, matches Luminis proportions */
#how-to-buy-container .search-button {
  flex-shrink: 0;
  width: 58px;
  min-height: 58px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f0ede8;
  border-left: 1px solid #d5d0cb;
  border-radius: 0;
  transition: background 0.2s ease;
}

#how-to-buy-container .search-button:hover {
  background: #fff;
}

#how-to-buy-container .search-button img {
  width: 22px;
  height: 22px;
  filter: none;
  opacity: 1;
}

/* Sub-dropdown (state/province/radius) */
#how-to-buy-container .sub-dropdown {
  position: relative;
  flex: 1;
  border-left: 1px solid #d5d0cb;
  cursor: pointer;
}

#how-to-buy-container .sub-dropdown .selected-sub {
  font-family: "Peerless Sans Regular", sans-serif;
  font-size: 0.9rem;
  min-height: 58px;
  padding: 10px 32px 10px 16px;
  color: #666;
  white-space: normal;
  line-height: 1.3;
  display: flex;
  align-items: center;
  gap: 8px;
  box-sizing: border-box;
}

#how-to-buy-container .sub-dropdown .selected-sub.changed {
  color: #333;
}

#how-to-buy-container .sub-dropdown svg {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
  height: 6px;
  flex-shrink: 0;
  pointer-events: none;
  transition: transform 0.2s ease;
}

#how-to-buy-container .sub-dropdown.open svg {
  transform: translateY(-50%) rotate(180deg);
}

#how-to-buy-container .sub-dropdown svg path {
  stroke: #666;
}

/* City/State and City/Province — separate bordered fields with gaps, matching Luminis layout */
#how-to-buy-container #city-state-searchbox.type-block,
#how-to-buy-container #city-province-searchbox.type-block {
  gap: 12px;
  border: none;
  background: transparent;
}

#how-to-buy-container #city-state-searchbox .form-control,
#how-to-buy-container #city-province-searchbox .form-control {
  border: 1px solid #d5d0cb;
  background: #fff;
  font-size: 0.85rem;
  flex: 0 1 calc(50% - 20px);
}

#how-to-buy-container #city-state-searchbox .sub-dropdown,
#how-to-buy-container #city-province-searchbox .sub-dropdown {
  border: 1px solid #d5d0cb;
  border-left: 1px solid #d5d0cb;
  background: #fff;
}

#how-to-buy-container #city-state-searchbox .sub-dropdown .selected-sub,
#how-to-buy-container #city-province-searchbox .sub-dropdown .selected-sub {
  font-size: 0.85rem;
}

#how-to-buy-container #city-state-searchbox .search-button,
#how-to-buy-container #city-province-searchbox .search-button {
  border: 1px solid #d5d0cb;
}

/* State-only / Province-only mode — hide the City field, sub-dropdown takes full width */
#how-to-buy-container #city-state-searchbox.state-only-mode .how-to-buy-2__search-input-city,
#how-to-buy-container #city-province-searchbox.province-only-mode .how-to-buy-2__search-input-city {
  display: none;
}

#how-to-buy-container #city-state-searchbox.state-only-mode .sub-dropdown,
#how-to-buy-container #city-province-searchbox.province-only-mode .sub-dropdown {
  flex: 1 1 auto;
}

#how-to-buy-container .sub-dropdown ul {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  min-width: 180px;
  background: #fff;
  border: 1px solid #d5d0cb;
  border-radius: 0;
  max-height: 200px;
  overflow-y: auto;
  z-index: 100;
  list-style: none;
  padding: 0;
  margin: 0;
  display: none;
}

#how-to-buy-container .sub-dropdown.open ul {
  display: block;
}

#how-to-buy-container .sub-dropdown ul li {
  padding: 8px 16px;
  cursor: pointer;
  font-family: "Peerless Sans Regular", sans-serif;
  font-size: 0.85rem;
  color: #333;
}

#how-to-buy-container .sub-dropdown ul li:hover {
  background: #f5f5f5;
}

/* Messages */
#how-to-buy-container .how-to-buy-search-result-indicator {
  font-family: "Peerless Sans Regular", sans-serif;
  font-size: 0.85rem;
  color: #666;
  padding: 8px 0;
}

/* Map panel */
#how-to-buy-container .map-container {
  border-radius: 0;
  overflow: hidden;
  min-height: 500px;
  background: #f5f5f5;
  position: sticky;
  top: 0;
}

/* Address list styling */
#how-to-buy-container .how-to-buy-2__list__addresses {
  list-style: none;
  padding: 0;
  margin: 12px 0 0;
}

#how-to-buy-container .how-to-buy-2__list__addresses li {
  font-family: "Peerless Sans Regular", sans-serif;
  font-size: 0.85rem;
  color: #333;
  padding: 10px 0;
  border-bottom: 1px solid #eee;
}

/* Responsive */
@media (max-width: 900px) {
  #how-to-buy-container .row {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  #how-to-buy-container .map-container {
    position: static;
    min-height: 400px;
  }
  #how-to-buy-container.location-map {
    padding: 60px 5%;
  }
}
@media (max-width: 600px) {
  #how-to-buy-container.location-map {
    padding: 40px 4%;
  }
  #how-to-buy-container .options h2 {
    font-size: 1.75rem;
  }
  #how-to-buy-container .options {
    padding: 24px 20px;
  }
}
/* Google Maps Info Window (pin card) */
.gm-style .gm-style-iw-c {
  border-radius: 8px !important;
  padding: 0 !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12) !important;
}

.gm-style .gm-style-iw-d {
  overflow: hidden !important;
  padding: 20px 24px !important;
}

.gm-style .gm-style-iw-c li {
  list-style: none;
  padding: 0;
  margin: 0;
}

.gm-style .gm-style-iw-c .place-name.list-business-name {
  font-family: "Peerless Sans Regular", sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  margin-bottom: 6px;
}

.gm-style .gm-style-iw-c .address {
  font-family: "Peerless Sans Regular", sans-serif;
  font-size: 0.82rem;
  color: #555;
  line-height: 1.6;
  margin: 2px 0;
}

.gm-style .gm-style-iw-c .address a.email {
  color: #2E86C1;
  text-decoration: none;
}

.gm-style .gm-style-iw-c .address a.email:hover {
  text-decoration: underline;
}

.gm-style .gm-style-iw-c .navigate {
  margin-top: 8px;
  padding-top: 4px;
}

.gm-style .gm-style-iw-c .navigate a {
  font-family: "Peerless Sans Regular", sans-serif;
  font-size: 0.82rem;
  color: #2E86C1;
  text-decoration: none;
}

.gm-style .gm-style-iw-c .navigate a:hover {
  text-decoration: underline;
}

.gm-style .gm-style-iw-c li.us-agents .list-business-name {
  color: #ff5c00;
}

.gm-style .gm-style-iw-c li.canada-agents .list-business-name {
  color: #0061fe;
}

.gm-style .gm-style-iw-c li.international-agents .list-business-name {
  color: #005941;
}

.gm-style .gm-style-iw-c li.mexico-agents .list-business-name {
  color: #a80000;
}

/** END How to buy */
/** PDP Discover Component */
.scene-explorer__youtube {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100vw;
  height: 56.25vw;
  min-width: 177.78vh;
  min-height: 100%;
  border: 0;
  opacity: 0;
  pointer-events: none;
  z-index: 2;
  transform: translate(-50%, -50%);
  transition: opacity 0.45s ease;
}
.scene-explorer__youtube.is-active {
  opacity: 1;
}

/** LeftRightImageCTAPeerless — full-bleed split backgrounds
The shared .align-feature__text / .align-brochure__media rules in
BaseLayout.css center content within the grid row (align-items: center)
rather than stretching it, so a background color applied directly to
those elements only wraps the content box instead of filling the full
column height. These overrides stretch each half to the row's full
height so Model.TextBackgroundColor / Model.ImageBackgroundColor read
as full-bleed color blocks, while keeping their inner content centered. */
.align-brochure .align-feature__text {
  align-self: stretch;
  align-content: center;
  max-width: none;
  padding-block: var(--space-8);
  padding-inline-start: var(--space-16);
  padding-inline-end: var(--space-6);
}

/* .align-feature__text's own max-width: 52ch (for readable line length) was
capping the full-bleed background too, since the color lives on that same
element — leaving a blank gap between the text color block and the media
column. Move the readability cap onto the inner .title-group instead, so
the background can stretch the full column width while the text content
itself still wraps at a comfortable measure. */
.align-brochure .align-feature__text .title-group {
  max-width: 52ch;
}

.align-brochure__media-wrap {
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-block: var(--space-8);
}

/* .align-brochure also ships with a fixed 4rem section padding (via
.align-band + the .p-16 utility) and a static 50/50 cream/lime-200
gradient background, both meant for its default (non full-bleed) variant.
That padding/background sat behind our full-bleed columns above, showing
up as a pale ring around the darker dynamic color blocks. Zero both out
here, scoped to this component only, so the dynamic colors reach the
section's true outer edges. */
.align-brochure.align-band {
  padding: 0;
  background: none;
}

/* The default .align-feature grid reserves a column-gap between the text
and media halves. That gap was invisible before because .align-brochure's
removed default background painted straight through it; now that each
half paints its own full-bleed color, the gap shows as a bare (page
background) seam between them. The two-tone design (per the reference
storybook layout) expects the colors to butt up against each other with
no seam, so remove the gap for this component only. */
.align-brochure .align-feature--split {
  column-gap: 0;
}

/* Even with column-gap:0, CSS Grid can still leave a hairline (1-2px) seam
between the two full-bleed color tracks — a subpixel rounding artifact
when the container width doesn't divide evenly across "1fr 1fr", letting
the page background peek through as a thin dark line. Pull each half 1px
into the shared boundary so they overlap slightly and fully hide the
seam. Whichever half sits on the left/right physically flips with
.align-feature--reverse, so the overlap direction is flipped to match. */
.align-brochure .align-feature--split .align-feature__text {
  margin-inline-end: -1px;
}

.align-brochure .align-feature--split .align-brochure__media-wrap {
  margin-inline-start: -1px;
}

.align-brochure .align-feature--split.align-feature--reverse .align-feature__text {
  margin-inline-end: 0;
  margin-inline-start: -1px;
}

.align-brochure .align-feature--split.align-feature--reverse .align-brochure__media-wrap {
  margin-inline-start: 0;
  margin-inline-end: -1px;
}

/* The CTATheme Sitecore field's "Themes" folder includes structural-black,
structural-blue, and structural-cream options, and the CTA markup builds
its class from that DisplayName (e.g. "btn--structural-black"). But
BaseLayout.css never defines those three .btn--* variants (it only has
an unrelated single-dash .btn-structural-blue leftover), so selecting
them in Sitecore renders a class with no matching CSS rule — no curtain
color, no hover color, no border. Add the three missing theme variants
here, following the same custom-property pattern as the other .btn--*
theme classes already defined in BaseLayout.css. */
.btn--structural-black {
  --btn-bg: transparent;
  --btn-curtain: var(--color-structural-black-500);
  --btn-color: var(--color-structural-black-500);
  --btn-hover-color: #fff;
  border-color: var(--color-structural-black-500);
}

.btn--structural-blue {
  --btn-bg: transparent;
  --btn-curtain: var(--color-structural-blue-500, #0061FE);
  --btn-color: var(--color-structural-blue-500, #0061FE);
  --btn-hover-color: #fff;
  border-color: var(--color-structural-blue-500, #0061FE);
}

.btn--structural-cream {
  --btn-bg: transparent;
  --btn-curtain: var(--color-structural-cream-500);
  --btn-color: var(--color-structural-cream-500);
  --btn-hover-color: var(--color-structural-black-500);
  border-color: var(--color-structural-cream-500);
}

/* LeftRightCarouselPeerless.cshtml's CarouselTheme field builds its classes
from a different naming scheme than the CTA buttons above — it uses
".content-carousel--{theme}" for the carousel's progress bar/accent and
".btn-icon--{theme}" for its prev/next nav arrows (not ".btn--{theme}").
BaseLayout.css defines both families for structural-black, structural-blue,
and structural-blue-solid, but never for structural-cream, so choosing
that theme in Sitecore renders classes with no matching CSS — no accent
color and no themed nav-arrow styling. Add the two missing variants,
following the same pattern as BaseLayout.css's existing themed pairs
(modeled on .content-carousel--white / .btn-icon--white since cream, like
white, is a light background needing dark text/accent for contrast). */
.content-carousel--structural-cream {
  --carousel-accent: var(--color-structural-cream-500, #F5F2EC);
  --carousel-accent-border: var(--color-structural-black-500, #0F121D);
  --cc-featured-bg: var(--color-structural-cream-500, #F5F2EC);
}

.btn-icon--structural-cream {
  --btn-bg: var(--color-structural-cream-500, #F5F2EC);
  --btn-color: var(--color-structural-black-500, #0F121D);
  --btn-curtain: var(--color-structural-black-500, #0F121D);
  --btn-hover-color: var(--color-structural-cream-500, #F5F2EC);
  border: none;
}

/* The carousel's wrapping div also carries a "text-{TextColor}" class (e.g.
text-playleaf) from the component's separate TextColor Sitecore field.
BaseLayout.css defines a global reset for every ".text-{color}" utility:
  .text-playleaf *:not([class*=text-]){color:inherit!important}
This forces ANY descendant without a class containing "text-" to inherit
the wrapper's text color, with !important. The nav-arrow <button> (class
"btn-icon btn-icon--40 btn-icon--{CarouselTheme}") has no "text-" class,
so this rule was overriding its own themed --btn-color/--btn-hover-color
and making every icon render in whatever color TextColor happened to be
(commonly playleaf) instead of the color matching its brand button theme.
Same root cause + fix pattern as the earlier ghost-black CTA bug: beat
the reset's specificity ((0,2,0) class+:not(class)) with a more specific,
!important override scoped to this carousel's nav buttons. */
.content-carousel__nav button.btn-icon {
  color: var(--btn-color, #fff) !important;
}

.content-carousel__nav button.btn-icon:hover {
  color: var(--btn-hover-color, var(--btn-bg, #0F121D)) !important;
}

/* ContentCarouselPeerless.cshtml wraps each slide in a
<div class="content-carousel__slide">, but BaseLayout.css never defines
any CSS for ".content-carousel__slide" — it only sizes DIRECT children
of .content-carousel__track via the ".content-carousel--{fill-2|peek|
single|scroll} .content-carousel__track>*" width rules. The component now
renders with the "peek" + "scroll" modifiers (see .content-carousel--peek
.content-carousel__track>* {width:75%} above), matching the vendor
"Where We Play" reference: each slide takes ~75% of the viewport width,
so the next slide partially peeks in from the right, and the track
scrolls horizontally with snap points.

Fix: give .content-carousel__slide its own positioning context and a
height (100%, matching --carousel-height dynamically) so it behaves as
a proper flex item sized to the track height, with its image filling
the full slide box via object-fit: cover (matching vendor behavior). */
.content-carousel__slide {
  position: relative;
  flex-shrink: 0;
  height: 100%;
  overflow: hidden;
}

.content-carousel__slide > .content-carousel__card {
  z-index: 2;
  display: block;
  visibility: visible;
  opacity: 1;
}

.content-carousel__slide img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  transition: transform 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.content-carousel__slide:hover img {
  transform: scale(1.04);
}

.content-carousel__media {
  height: 100%;
}

.content-carousel__card {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 1.25rem 1rem 1rem;
  background: linear-gradient(180deg, transparent 0%, rgba(15, 18, 29, 0.78) 48%, rgba(15, 18, 29, 0.92) 100%);
}

.content-carousel__card-title {
  display: flex;
  align-items: baseline;
  flex-wrap: nowrap;
  gap: var(--space-2, 0.5rem);
  margin: 0;
  color: #fff;
  font-family: var(--font-sans);
  font-size: clamp(1.125rem, 0.75rem + 1vw, 1.375rem);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.content-carousel__card-title-text {
  flex: 0 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.content-carousel__card-title-icon {
  flex: 0 0 auto;
  font-size: var(--font-size-text-md, 0.8rem);
  font-weight: 500;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  position: relative;
  transform: translateY(-0.26em);
  transition: transform 0.25s ease, color 0.25s ease;
}

.content-carousel__slide:hover .content-carousel__card-title-icon {
  transform: translateY(-0.26em) rotate(45deg);
}

/* Defensive fix: ensure nav arrows always sit above the new slide/card
overlay stacking context introduced above. */
.content-carousel__nav {
  z-index: 5;
}

/* BaseLayout.css defines two independent families of utility classes that
both set `color` with !important at equal (single-class) specificity:
the brand ".text-{color}" utilities (e.g. .text-playleaf) and the
typography-scale ".type-*" utilities (e.g. .type-body-sm, which also
forces its own gray text color). When an element carries both classes
(as RichTextComponentPeerless's rendered <p class="text-playleaf
type-body-sm"> does), the winner is whichever rule appears LATER in
BaseLayout.css's source order — not whichever class was added later in
markup. The .type-* rules happen to be defined after the brand .text-*
rules, so the brand color is silently lost to the generic type-scale
color on every element combining the two. Fix: re-assert each brand
text color for the specific .text-{color}.type-{scale} pairings likely
to occur, using a two-class compound selector (specificity (0,2,0))
which beats the single-class type-* rule (0,1,0) regardless of source
order, reusing the exact same CSS custom properties as BaseLayout.css's
own .text-{color} definitions. */
.text-playleaf.type-body {
  color: var(--color-lime-500) !important;
}

.text-playleaf.type-body-sm {
  color: var(--color-lime-500) !important;
}

.text-playleaf.type-body-lg {
  color: var(--color-lime-500) !important;
}

.text-playleaf.type-eyebrow {
  color: var(--color-lime-500) !important;
}

.text-playleaf.type-caption {
  color: var(--color-lime-500) !important;
}

.text-playleaf.type-overline {
  color: var(--color-lime-500) !important;
}

.text-ignition-green.type-body {
  color: var(--color-green-500) !important;
}

.text-ignition-green.type-body-sm {
  color: var(--color-green-500) !important;
}

.text-ignition-green.type-body-lg {
  color: var(--color-green-500) !important;
}

.text-ignition-green.type-eyebrow {
  color: var(--color-green-500) !important;
}

.text-ignition-green.type-caption {
  color: var(--color-green-500) !important;
}

.text-ignition-green.type-overline {
  color: var(--color-green-500) !important;
}

.text-blue-alliance.type-body {
  color: var(--color-blue-alliance-500) !important;
}

.text-blue-alliance.type-body-sm {
  color: var(--color-blue-alliance-500) !important;
}

.text-blue-alliance.type-body-lg {
  color: var(--color-blue-alliance-500) !important;
}

.text-blue-alliance.type-eyebrow {
  color: var(--color-blue-alliance-500) !important;
}

.text-blue-alliance.type-caption {
  color: var(--color-blue-alliance-500) !important;
}

.text-blue-alliance.type-overline {
  color: var(--color-blue-alliance-500) !important;
}

.text-flash-orange.type-body {
  color: var(--color-orange-500) !important;
}

.text-flash-orange.type-body-sm {
  color: var(--color-orange-500) !important;
}

.text-flash-orange.type-body-lg {
  color: var(--color-orange-500) !important;
}

.text-flash-orange.type-eyebrow {
  color: var(--color-orange-500) !important;
}

.text-flash-orange.type-caption {
  color: var(--color-orange-500) !important;
}

.text-flash-orange.type-overline {
  color: var(--color-orange-500) !important;
}

.text-blue-reliance.type-body {
  color: var(--color-blue-reliance-500) !important;
}

.text-blue-reliance.type-body-sm {
  color: var(--color-blue-reliance-500) !important;
}

.text-blue-reliance.type-body-lg {
  color: var(--color-blue-reliance-500) !important;
}

.text-blue-reliance.type-eyebrow {
  color: var(--color-blue-reliance-500) !important;
}

.text-blue-reliance.type-caption {
  color: var(--color-blue-reliance-500) !important;
}

.text-blue-reliance.type-overline {
  color: var(--color-blue-reliance-500) !important;
}

.text-momentum-red.type-body {
  color: var(--color-red-500) !important;
}

.text-momentum-red.type-body-sm {
  color: var(--color-red-500) !important;
}

.text-momentum-red.type-body-lg {
  color: var(--color-red-500) !important;
}

.text-momentum-red.type-eyebrow {
  color: var(--color-red-500) !important;
}

.text-momentum-red.type-caption {
  color: var(--color-red-500) !important;
}

.text-momentum-red.type-overline {
  color: var(--color-red-500) !important;
}

.text-structural-black.type-body {
  color: var(--color-structural-black-500) !important;
}

.text-structural-black.type-body-sm {
  color: var(--color-structural-black-500) !important;
}

.text-structural-black.type-body-lg {
  color: var(--color-structural-black-500) !important;
}

.text-structural-black.type-eyebrow {
  color: var(--color-structural-black-500) !important;
}

.text-structural-black.type-caption {
  color: var(--color-structural-black-500) !important;
}

.text-structural-black.type-overline {
  color: var(--color-structural-black-500) !important;
}

.text-structural-blue.type-body {
  color: var(--color-structural-blue-500) !important;
}

.text-structural-blue.type-body-sm {
  color: var(--color-structural-blue-500) !important;
}

.text-structural-blue.type-body-lg {
  color: var(--color-structural-blue-500) !important;
}

.text-structural-blue.type-eyebrow {
  color: var(--color-structural-blue-500) !important;
}

.text-structural-blue.type-caption {
  color: var(--color-structural-blue-500) !important;
}

.text-structural-blue.type-overline {
  color: var(--color-structural-blue-500) !important;
}

.text-structural-cream.type-body {
  color: var(--color-structural-cream) !important;
}

.text-structural-cream.type-body-sm {
  color: var(--color-structural-cream) !important;
}

.text-structural-cream.type-body-lg {
  color: var(--color-structural-cream) !important;
}

.text-structural-cream.type-eyebrow {
  color: var(--color-structural-cream) !important;
}

.text-structural-cream.type-caption {
  color: var(--color-structural-cream) !important;
}

.text-structural-cream.type-overline {
  color: var(--color-structural-cream) !important;
}

.text-midnight.type-body {
  color: var(--color-structural-black-500) !important;
}

.text-midnight.type-body-sm {
  color: var(--color-structural-black-500) !important;
}

.text-midnight.type-body-lg {
  color: var(--color-structural-black-500) !important;
}

.text-midnight.type-eyebrow {
  color: var(--color-structural-black-500) !important;
}

.text-midnight.type-caption {
  color: var(--color-structural-black-500) !important;
}

.text-midnight.type-overline {
  color: var(--color-structural-black-500) !important;
}

.text-cta.type-body {
  color: var(--color-structural-blue-cta) !important;
}

.text-cta.type-body-sm {
  color: var(--color-structural-blue-cta) !important;
}

.text-cta.type-body-lg {
  color: var(--color-structural-blue-cta) !important;
}

.text-cta.type-eyebrow {
  color: var(--color-structural-blue-cta) !important;
}

.text-cta.type-caption {
  color: var(--color-structural-blue-cta) !important;
}

.text-cta.type-overline {
  color: var(--color-structural-blue-cta) !important;
}

.text-explore-cta.type-body {
  color: var(--color-structural-blue-500) !important;
}

.text-explore-cta.type-body-sm {
  color: var(--color-structural-blue-500) !important;
}

.text-explore-cta.type-body-lg {
  color: var(--color-structural-blue-500) !important;
}

.text-explore-cta.type-eyebrow {
  color: var(--color-structural-blue-500) !important;
}

.text-explore-cta.type-caption {
  color: var(--color-structural-blue-500) !important;
}

.text-explore-cta.type-overline {
  color: var(--color-structural-blue-500) !important;
}

.text-surface.type-body {
  color: var(--color-structural-cream) !important;
}

.text-surface.type-body-sm {
  color: var(--color-structural-cream) !important;
}

.text-surface.type-body-lg {
  color: var(--color-structural-cream) !important;
}

.text-surface.type-eyebrow {
  color: var(--color-structural-cream) !important;
}

.text-surface.type-caption {
  color: var(--color-structural-cream) !important;
}

.text-surface.type-overline {
  color: var(--color-structural-cream) !important;
}

/* The CTATheme "Themes" folder was later corrected to the real list of
button variants used across the site: blue-alliance, blue-reliance,
flash-orange, ghost-black, ignition-green, inv-blue-reliance,
inv-blue-alliance, inv-flash-orange, inv-ignition-green, inv-playleaf,
playleaf, structural, structural-black, structural-blue,
structural-blue-solid, structural-blue-solid-inv, structural-dark.
BaseLayout.css is still missing the "inv-*", "structural" (bare),
"structural-blue-solid(-inv)", and "structural-dark" variants. There's
no Figma spec for these, so each is derived by pattern-matching the
existing "-inverted" pairs already in BaseLayout.css (e.g.
.btn--flash-orange / .btn--flash-orange-inverted), where the inverted
variant swaps --btn-bg <-> --btn-curtain and shifts --btn-color /
--btn-hover-color to match. Verify visually and adjust if the design
intent differs. */
/* inv-* = the "-inverted" counterpart of an existing solid color button,
using the same bg/curtain-swap pattern already established by
.btn--flash-orange-inverted and .btn--playleaf-inverted. */
.btn--inv-blue-reliance {
  --btn-bg: var(--color-structural-black-500);
  --btn-curtain: var(--color-blue-reliance-500);
  --btn-color: var(--color-blue-reliance-500);
  --btn-hover-color: var(--color-structural-black-500);
  border: none;
}

.btn--inv-blue-alliance {
  --btn-bg: var(--color-structural-black-500);
  --btn-curtain: var(--color-blue-alliance-500);
  --btn-color: var(--color-blue-alliance-500);
  /* Blue Alliance's only approved foregrounds (per the brandkit
  Color Combinations table) are Playleaf, Blue Reliance, and White —
  Structural Black text on Blue Alliance fails contrast (~2.2:1,
  needs 4.5:1), the same dark-on-dark-teal issue seen elsewhere in
  this component. Use white for the hover-state text instead. */
  --btn-hover-color: #fff;
  border: none;
}

.btn--inv-flash-orange {
  --btn-bg: var(--color-structural-black-500);
  --btn-curtain: var(--color-orange-500);
  --btn-color: var(--color-orange-500);
  --btn-hover-color: var(--color-structural-black-500);
  border: none;
}

.btn--inv-ignition-green {
  --btn-bg: var(--color-lime-500);
  --btn-curtain: var(--color-green-500);
  --btn-color: var(--color-green-500);
  --btn-hover-color: var(--color-lime-500);
  border: none;
}

.btn--inv-playleaf {
  --btn-bg: var(--color-structural-black-500);
  --btn-curtain: var(--color-lime-500);
  --btn-color: var(--color-lime-500);
  --btn-hover-color: var(--color-structural-black-500);
  border: none;
}

/* "structural" (bare, no color suffix) — treated as the default neutral
outline CTA, matching .btn--ghost-black's already-established pattern. */
.btn--structural {
  --btn-bg: transparent;
  --btn-curtain: var(--color-structural-black-500);
  --btn-color: var(--color-structural-black-500);
  --btn-hover-color: #fff;
  border-color: var(--color-structural-black-500);
}

/* "structural-blue-solid" — the filled counterpart of the outline
.btn--structural-blue above, matching the existing .btn--primary
pattern (solid structural-blue bg, black curtain on hover). */
.btn--structural-blue-solid {
  --btn-bg: var(--color-structural-blue-500, #0061FE);
  --btn-curtain: var(--color-structural-black-500);
  --btn-color: #fff;
  --btn-hover-color: var(--color-structural-blue-500, #0061FE);
  border-color: var(--color-structural-blue-500, #0061FE);
}

/* "structural-blue-solid-inv" — inverted counterpart of the solid variant
above, using the same bg/curtain-swap pattern. */
.btn--structural-blue-solid-inv {
  --btn-bg: var(--color-structural-black-500);
  --btn-curtain: var(--color-structural-blue-500, #0061FE);
  --btn-color: var(--color-structural-blue-500, #0061FE);
  --btn-hover-color: var(--color-structural-black-500);
  border: none;
}

/* "structural-dark" — solid filled dark/black CTA, staying within the
structural (black/blue) family for its hover curtain accent rather than
reusing an unrelated brand color. */
.btn--structural-dark {
  --btn-bg: var(--color-structural-black-500);
  --btn-curtain: var(--color-structural-blue-500, #0061FE);
  --btn-color: #fff;
  --btn-hover-color: #fff;
  border: none;
}

/* This CTA link sits inside a colored-text wrapper (e.g.
.title-group__description.text-structural-black) and BaseLayout.css's
".text-{color} *:not([class*=text-]){color:inherit!important}" rule
forces ANY descendant without a "text-" class to inherit that color,
with !important — including this link, since none of its classes
(btn, btn--*, btn--md, cta-link) contain "text-". That !important
silently overrides both the button's own text color and its
:hover color (e.g. ghost-black's hover stayed black instead of
switching to white), and beats a plain ".btn.cta-link:hover" rule
with no !important regardless of specificity.
Fix: match !important and use higher specificity than the global
reset selector (0,2,0) by adding the element type, giving (0,2,1)/
(0,3,1), so this always wins regardless of source order. */
a.btn.cta-link {
  color: var(--btn-color, inherit) !important;
}

a.btn.cta-link:hover {
  color: var(--btn-hover-color, var(--btn-color, inherit)) !important;
}

/* BaseLayout.css's .btn:hover sweeps in its curtain color via two
background gradients that each grow to background-size:51% 100% from
opposite sides, meant to overlap in the middle (51%+51%=102%) and
fully cover the transparent button background. The two layers'
percentages are each resolved against the button's rendered width
independently every animation frame; when that width isn't an exact
multiple that divides evenly, the two layers can round to different
sub-pixel widths from each other *during* the transition (not just at
rest), producing a brief flash/sliver of the transparent background
(and whatever full-bleed section color is behind it) partway through
the hover-in animation, even though the final resting state overlaps
fine. A bigger fixed overlap percentage (e.g. 55%) doesn't fully
solve this because it's still two independently-rounded values that
can momentarily disagree mid-transition.

Fix: grow BOTH curtain layers to 100% (not just past 51%). Since
100% always resolves to the exact same pixel value as the button's
own width for both layers, they can never round apart from each
other at any point in the transition — eliminating the rounding
mismatch instead of just papering over it with more overlap margin.
The sweep-in visual (each side still animates from 0 -> full width
independently) is unchanged; only the guaranteed-equal end value
differs. Scoped to this component only. */
.align-brochure .btn:hover {
  background-size: 100% 100%, 100% 100%, 100% 100%;
}

/* The remaining momentary "flash" of a pixel is a one-frame compositing
glitch some browsers exhibit when a background-size transition
crosses a repaint/layer-promotion boundary mid-animation, not a
layout/rounding issue. Forcing the button onto its own stable GPU
layer for the whole transition (instead of letting the browser
promote/demote it mid-sweep) prevents that repaint flash. */
.align-brochure .btn {
  transform: translateZ(0);
  backface-visibility: hidden;
  will-change: background-size;
}

.reveal-popover--theme-flash-orange .type-eyebrow {
  color: white !important;
}

/* LeftRightScrollPeerless (.scroll-feature-group / .scroll-feature): the
per-slide media images should stack on top of one another so the GSAP
timeline (app.main.js / the component's inline script) can slide the
incoming/outgoing image vertically (gsap.set(image, { yPercent: ... }))
to crossfade between slides as the section is scrolled/pinned.

BaseLayout.css's .scroll-feature__media-item only sets
{ margin:0; width:100% } — with no positioning, each <figure> stays in
normal document flow, so instead of overlapping, every slide after the
first just stacks further down the page. The yPercent translate then
moves each slide relative to its own (already-offset) flow position
instead of sliding it in/out over the first slide, so the component
never visually "scrolls" between slides even though the underlying
ScrollTrigger timeline is progressing correctly.

Fix: absolutely position each media item within its already-relative,
overflow:hidden .scroll-feature__media container so all slides sit in
the same spot and the yPercent-based slide transitions work as
intended.

Scoped to `.scroll-feature.is-animated`, matching the existing
`.scroll-feature.is-animated .scroll-feature__copy { position: absolute; }`
rule already in BaseLayout.css. The grouping script only adds the
`is-animated` class when it actually builds the GSAP timeline; when
`prefers-reduced-motion: reduce` (or the <=768px mobile query) is
active, the script intentionally skips animating and leaves the
section un-classed so it falls back to BaseLayout.css's static,
non-overlapping stacked-in-flow layout. An unscoped rule here would
force every media item absolute regardless, breaking that
accessible/mobile fallback by making the images overlap instead of
stacking in flow. */
.scroll-feature.is-animated .scroll-feature__media-item {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

/** HeaderPeerless (HeaderPeerless.cshtml) — .header-bar / data-header-solid
These rules were missing entirely from the compiled peerless2 stylesheet,
so app.main.js / app.category-page.js toggling `data-header-solid` between
"true"/"false" on <header class="header-bar"> had no visual effect — the
header always rendered with whatever unstyled default the browser applied.
Ported from the Peerless design system's compiled header component so the
solid/two-tone states actually respond to the attribute. */
.header-bar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--header-size, 64px);
  z-index: 2000001;
  display: flex;
  justify-content: space-between;
  transition: transform 0.3s ease, background-color 0.3s ease, backdrop-filter 0.3s ease;
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  pointer-events: none;
  font-weight: 400;
  color: #fff;
  --hb-left-bg: var(--color-blue-alliance-500, #005465);
  --hb-left-color: #fff;
  --hb-menu-bg: #fff;
  --hb-menu-icon: var(--color-structural-black-500, #0f121d);
  --hb-right-strip: var(--color-blue-alliance-500, #005465);
  --hb-solid-bg: var(--color-blue-alliance-500, #005465);
  --hb-search-bg: transparent;
  --hb-search-icon: #fff;
  --hb-action-bg: transparent;
  --hb-action-icon: #fff;
}

.header-bar[data-header-theme=ignition-green] {
  background: #005941;
  --hb-left-bg: #005941;
  --hb-left-color: #fff;
  --hb-menu-bg: #005941;
  --hb-menu-icon: #fff;
  --hb-right-strip: #005941;
  --hb-solid-bg: #005941;
  --hb-search-bg: transparent;
  --hb-search-icon: #fff;
  --hb-action-bg: transparent;
  --hb-action-icon: #fff;
}

.header-bar[data-header-theme=momentum-red] {
  background: var(--bg-momentum-red, var(--color-red-500, #a80000));
  --hb-left-bg: var(--bg-momentum-red, var(--color-red-500, #a80000));
  --hb-left-color: #fff;
  --hb-menu-bg: var(--bg-momentum-red, var(--color-red-500, #a80000));
  --hb-menu-icon: #fff;
  --hb-right-strip: var(--bg-momentum-red, var(--color-red-500, #a80000));
  --hb-solid-bg: var(--bg-momentum-red, var(--color-red-500, #a80000));
  --hb-search-bg: transparent;
  --hb-search-icon: #fff;
  --hb-action-bg: transparent;
  --hb-action-icon: #fff;
}

.header-bar[data-header-theme=translucent] {
  --hb-left-bg: rgba(0, 0, 0, .25);
  --hb-left-color: #fff;
  --hb-menu-bg: rgba(0, 0, 0, .25);
  --hb-menu-icon: #fff;
  --hb-right-strip: transparent;
  --hb-solid-bg: var(--color-structural-black-500, #0f121d);
  --hb-search-bg: rgba(0, 0, 0, .25);
  --hb-search-icon: #fff;
  --hb-action-bg: rgba(0, 0, 0, .25);
  --hb-action-icon: #fff;
}

.header-bar[data-header-theme=structural-black] {
  background: transparent;
  --hb-left-bg: var(--color-structural-black-400, #202938);
  --hb-left-color: #fff;
  --hb-menu-bg: #fff;
  --hb-menu-icon: var(--color-structural-black-400, #202938);
  --hb-right-strip: var(--color-structural-black-400, #202938);
  --hb-solid-bg: var(--color-structural-black-400, #202938);
  --hb-search-bg: transparent;
  --hb-search-icon: #fff;
  --hb-action-bg: transparent;
  --hb-action-icon: #fff;
}

.header-bar[data-header-theme=structural-black-story] {
  background: transparent;
  --hb-left-bg: var(--color-structural-black-400, #202938);
  --hb-left-color: #fff;
  --hb-menu-bg: var(--color-structural-black-400, #202938);
  --hb-menu-icon: #fff;
  --hb-right-strip: var(--color-structural-black-400, #202938);
  --hb-solid-bg: var(--color-structural-black-400, #202938);
  --hb-search-bg: transparent;
  --hb-search-icon: #fff;
  --hb-action-bg: transparent;
  --hb-action-icon: #fff;
}

.header-bar[data-header-theme=search] {
  --hb-left-bg: #005941;
  --hb-left-color: #fff;
  --hb-menu-bg: #005941;
  --hb-menu-icon: #fff;
  --hb-right-strip: transparent;
  --hb-search-bg: #fff;
  --hb-search-icon: #005941;
  --hb-action-bg: #005941;
  --hb-action-icon: #fff;
}

.header-bar[data-header-state=open][data-header-theme=blue-alliance] {
  background: var(--color-blue-alliance-500, #005465);
}
.header-bar[data-header-state=open][data-header-theme=ignition-green] {
  background: #005941;
  --hb-left-bg: #005941;
  --hb-menu-bg: #005941;
  --hb-right-strip: #005941;
  --hb-action-bg: transparent;
  --hb-search-bg: transparent;
}
.header-bar[data-header-state=open][data-header-theme=momentum-red] {
  background: var(--bg-momentum-red, var(--color-red-500, #a80000));
  --hb-left-bg: var(--bg-momentum-red, var(--color-red-500, #a80000));
  --hb-menu-bg: var(--bg-momentum-red, var(--color-red-500, #a80000));
  --hb-right-strip: var(--bg-momentum-red, var(--color-red-500, #a80000));
  --hb-action-bg: transparent;
  --hb-search-bg: transparent;
}
.header-bar[data-header-state=open][data-header-theme=translucent] {
  background: var(--color-structural-black-500, #0f121d);
}
.header-bar[data-header-state=open][data-header-theme=structural-black], .header-bar[data-header-state=open][data-header-theme=structural-black-story] {
  background: transparent;
}
.header-bar[data-header-state=open][data-header-theme=search] {
  background: transparent;
}

.header-bar[data-header-state=closed] {
  background: rgba(246, 242, 236, 0);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.header-bar[data-header-state=closed][data-header-theme=ignition-green], .header-bar[data-header-state=closed][data-header-theme=momentum-red], .header-bar[data-header-state=closed][data-header-theme=structural-black] {
  background: transparent;
  --hb-menu-bg: #fff;
  --hb-menu-icon: var(--color-structural-black-500, #0f121d);
}
.header-bar[data-header-state=closed][data-header-theme=structural-black-story] {
  background: transparent;
  --hb-menu-bg: var(--color-structural-black-400, #202938);
  --hb-menu-icon: #fff;
}

.header-bar[data-state=hidden] {
  transform: translateY(-100%);
}

.header-bar[data-state=visible] {
  transform: translateY(0);
}

.header-bar[data-header-solid=true][data-header-theme] {
  background: var(--hb-solid-bg, var(--hb-left-bg));
}
.header-bar[data-header-solid=true][data-header-theme] .header-bar__left,
.header-bar[data-header-solid=true][data-header-theme] .header-bar__right {
  background: transparent;
}

.header-bar__left {
  display: flex;
  pointer-events: auto;
}

.header-bar__logo {
  display: flex;
  height: var(--header-size, 64px);
}
.header-bar__logo .peerless-logo {
  height: var(--header-size, 64px);
}

.header-bar__menu {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: var(--header-size, 64px);
  height: var(--header-size, 64px);
  background-color: var(--hb-menu-bg);
  border: none;
  cursor: pointer;
  padding: 0;
  transition: opacity 0.2s ease;
}
.header-bar__menu:hover .header-bar__menu-line {
  opacity: 0.7;
}
.header-bar__menu[aria-disabled=true] {
  opacity: 0.45;
  cursor: not-allowed;
}
.header-bar__menu[aria-disabled=true]:hover {
  opacity: 0.45;
}

.header-bar__menu-line {
  display: block;
  width: 31px;
  height: 2px;
  background-color: var(--hb-menu-icon);
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.header-bar__menu[aria-expanded=true] .header-bar__menu-line:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.header-bar__menu[aria-expanded=true] .header-bar__menu-line:nth-child(2) {
  opacity: 0;
}
.header-bar__menu[aria-expanded=true] .header-bar__menu-line:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.header-bar__right {
  display: flex;
  background: var(--hb-right-strip);
  pointer-events: auto;
}

.header-bar__action {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--header-size, 64px);
  height: var(--header-size, 64px);
  background: var(--hb-action-bg);
  border: none;
  cursor: pointer;
  padding: 0;
  color: var(--hb-action-icon);
  font-size: var(--font-size-text-4xl, 1.5rem);
  transition: opacity 0.2s ease;
}
.header-bar__action:hover {
  opacity: 0.7;
}
.header-bar__action[data-header-action=product] {
  background: var(--hb-search-bg);
  color: var(--hb-search-icon);
}

.header-bar__project {
  position: relative;
}

.header-bar__project-badge {
  position: absolute;
  top: 8px;
  right: 8px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 9px;
  background: var(--color-red-500, #a80000);
  color: #fff;
  font-family: var(--font-mono, "Space Mono", monospace);
  font-size: var(--font-size-text-xs, 0.6875rem);
  font-weight: 400;
  line-height: 18px;
  text-align: center;
  pointer-events: none;
}
.header-bar__project-badge[hidden] {
  display: none;
}

.pdp-integrated-tech__card:nth-child(n+3) .flip-card__logo-wrap {
  opacity: 1;
}

.pdp-integrated-tech__card .flip-card__face--back {
  background-image: none;
}

.pdp-integrated-tech__card .flip-card__face--front.bg-blue-alliance {
  background-color: color-mix(in srgb, var(--color-blue-alliance-500) 65%, transparent) !important;
}

.pdp-integrated-tech__card .flip-card__face--front.bg-blue-reliance {
  background-color: color-mix(in srgb, var(--color-blue-reliance-500) 65%, transparent) !important;
}

.pdp-integrated-tech__card .flip-card__face--front.bg-momentum-red {
  background-color: color-mix(in srgb, var(--color-red-500) 65%, transparent) !important;
}

.pdp-integrated-tech__card .flip-card__face--front.bg-playleaf {
  background-color: color-mix(in srgb, var(--color-lime-500) 65%, transparent) !important;
}

.pdp-integrated-tech__card .flip-card__face--front.bg-structural-cream {
  background-color: color-mix(in srgb, var(--color-structural-cream) 65%, transparent) !important;
}

.pdp-integrated-tech__card .flip-card__face--front.bg-flash-orange {
  background-color: color-mix(in srgb, var(--color-orange-500) 65%, transparent) !important;
}

.pdp-integrated-tech__card .flip-card__face--front.bg-ignition-green {
  background-color: color-mix(in srgb, var(--color-green-500) 65%, transparent) !important;
}

.pdp-integrated-tech__card .flip-card__face--front.bg-structural-black {
  background-color: color-mix(in srgb, var(--color-structural-black-500) 65%, transparent) !important;
}

.pdp-integrated-tech__card .flip-card__face--front.bg-structural-black:before {
  background-color: var(--color-structural-black-500);
}

.g3-lb__product-media {
  background: var(--color-structural-cream-500, #F5F2EC);
}

.pdp-family__inner {
  position: relative;
  z-index: 2;
}

.content-carousel--fill-3 .content-carousel__track > * {
  width: 33.3333%;
}

.content-carousel--fill-3 .content-carousel__placeholder {
  width: 33.3333%;
}

@media (max-width: 767.98px) {
  .content-carousel--fill-3 .content-carousel__track > * {
    width: 85%;
  }
}
.pdp-family__content-carousel.content-carousel--scroll {
  height: auto;
  padding-top: var(--space-16, 64px);
  padding-bottom: calc(var(--space-8, 32px) * 2.5);
}
.pdp-family__content-carousel.content-carousel--scroll .content-carousel__track {
  position: static;
  height: auto;
}
.pdp-family__content-carousel.content-carousel--scroll .content-carousel__nav {
  position: static;
  justify-content: flex-end;
  margin-bottom: var(--space-4, 16px);
}
.pdp-family__content-carousel.content-carousel--scroll .content-carousel__progress {
  display: none;
}

.pdp-family__content-slide {
  display: flex;
  align-items: center;
  padding-right: var(--space-4, 16px);
}

.pdp-family__campaign-btn {
  max-width: none;
  width: 100%;
}

/** Search IFrame for Search Box - START */
.item-action-row__label {
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}

.product-card__file--empty {
  pointer-events: none;
}

.product-card__tabs:has(> .product-card__tab:nth-child(2):nth-last-child(2)) {
  column-gap: var(--space-4, 1rem);
}

/* Spec Sheets/Installation tab headers are too long for narrow mobile tab
columns, so each ships a short mobile label alongside the full one; only
one is shown at a time. */
.product-card__tab-label-short {
  display: none;
}

@media (max-width: 768px) {
  .product-card__tab-label-full {
    display: none;
  }
  .product-card__tab-label-short {
    display: inline;
  }
}
@media (max-width: 768px) {
  .product-card__variants {
    gap: var(--space-1_5) var(--space-3) !important;
  }
  .product-card__overlay-body {
    gap: var(--space-3_5) !important;
  }
}
.product-card__files .item-action-row__label.item-action-row__label--mobile-only {
  display: none;
}

.item-action-row__action.item-action-row__action--share {
  display: none;
}

@media (max-width: 768px) {
  .product-card__files .item-action-row__label {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .product-card__files .item-action-row__label.item-action-row__label--desktop-only {
    display: none;
  }
  .product-card__files .item-action-row__label.item-action-row__label--mobile-only {
    display: block;
  }
  .product-card__files .item-action-row__label-text {
    display: inline-block;
    max-width: calc(100% - 1.75em);
    vertical-align: middle;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .product-card__files .item-action-row__action--download {
    display: none;
  }
  .product-card__files .item-action-row__action.item-action-row__action--share {
    display: inline-flex;
  }
}
/* A tab panel's resource rows are unbounded by default, so a product with a
long spec-sheet/install-doc list grows the whole open card (and pushes the
rest of the grid down) to fit. Cap it and let it scroll internally instead
-- app.product-card.js calculates this variable based on rendered card height. */
.product-card__tab-panel {
  max-height: var(--product-card-files-max-height, 10.5rem);
}

/* Marks the last visible chip in a .product-card__variants list that's
   been row-limited by app.product-card.js (syncVariantRowLimit) to 4
   rows, so there's a visible sign the list was cut off. */
.product-card__variant--truncated::after {
  content: "…";
  margin-inline-start: 0.2em;
}

/* ── Design tokens (TagGroup flash-orange) ───────────────── */
.v2-search-peerless-iframe {
  /* Mirrors TagGroup theme="flash-orange" (Search Overlay) */
  --tag-group-color: linear-gradient(131deg, #ff9254 0%, #ff5c00 100%);
  --tag-group-active-border: #0f121d;
  --tag-group-hover-color: #ff5c00;
  --tag-group-hover-text-color: #0f121d;
  --tag-group-default-border: #0f121d;
  --tag-group-default-fg: #0f121d;
  --tag-group-active-fg: #0f121d;
  --tag-group-hover-opacity: 0.2;
}
.v2-search-peerless-iframe .coveo-results-header {
  display: none;
}

.v2-search-peerless-iframe .coveo-for-sitecore-frame-container {
  display: block;
  margin-bottom: 8px;
}

.v2-search-peerless-iframe .coveo-header,
.v2-search-peerless-iframe .coveo-main-section,
.v2-search-peerless-iframe .container-fluid,
.v2-search-peerless-iframe .row,
.v2-search-peerless-iframe .col-12 {
  width: 100% !important;
  max-width: none !important;
}

.v2-search-peerless-iframe .coveo-for-sitecore-frame-container > div:first-child {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 56px;
  row-gap: 14px;
}
.v2-search-peerless-iframe .coveo-for-sitecore-frame-container > div:first-child > div:has(.CoveoFacet .coveo-facet-values:empty) {
  display: none;
}

.v2-search-peerless-iframe .CoveoFacet {
  display: block !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
}

.v2-search-peerless-iframe .coveo-main-section {
  grid-column: 1/-1;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

.v2-search-peerless-iframe .CoveoFacet > .coveo-facet-header {
  border: 0 !important;
  background: transparent !important;
  padding: 0 0 8px 0 !important;
  min-height: 22px;
}

.v2-search-peerless-iframe .CoveoFacet > .coveo-facet-header .coveo-facet-header-title {
  font-family: var(--font-mono, "Space Mono", monospace);
  font-size: var(--font-size-text-xl, 1rem);
  font-weight: 400;
  line-height: 14px;
  text-transform: uppercase;
  color: #0f121d;
}

.v2-search-peerless-iframe .coveo-facet-header-settings-section,
.v2-search-peerless-iframe .coveo-facet-header-wait-animation,
.v2-search-peerless-iframe .coveo-facet-footer {
  display: none !important;
}

/* Hide duplicate facet content injected by Coveo's static snapshot */
.v2-search-peerless-iframe .CoveoFacet > .coveo-facet-footer + .coveo-facet-header,
.v2-search-peerless-iframe .CoveoFacet > .coveo-facet-footer + .coveo-facet-header + .coveo-facet-values,
.v2-search-peerless-iframe .CoveoFacet > .coveo-facet-footer + .coveo-facet-header + .coveo-facet-values + .coveo-facet-footer {
  display: none !important;
}

.v2-search-peerless-iframe .coveo-facet-values {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0;
  padding: 0;
  position: relative;
  isolation: isolate;
}

/* Sliding hover indicator — ports TagGroup .tag-group__hover-indicator */
.v2-search-peerless-iframe .tg-hover-indicator {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  pointer-events: none;
  z-index: 0;
  opacity: 0;
  background: var(--tag-group-color);
  will-change: transform, width, opacity;
  transition: transform 0.24s cubic-bezier(0.22, 1, 0.36, 1), width 0.24s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.15s ease;
}

.v2-search-peerless-iframe .tg-hover-indicator.is-visible {
  opacity: var(--tag-group-hover-opacity);
}

.v2-search-peerless-iframe .coveo-facet-value {
  position: relative;
  z-index: 1;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  opacity: 1 !important;
  border: 1px solid var(--tag-group-default-border);
  border-radius: 0;
  background: transparent;
  color: var(--tag-group-default-fg);
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

/* Hover (unselected): border+text shift; orange fill comes from sliding indicator */
.v2-search-peerless-iframe .coveo-facet-value:hover:not(:has(input[type=checkbox]:checked)):not(.coveo-selected) {
  background: transparent;
  border-color: var(--tag-group-hover-color);
  color: var(--tag-group-hover-text-color);
}

.v2-search-peerless-iframe .coveo-facet-value-label {
  display: flex;
  align-items: center;
  flex: 1;
  margin: 0;
  padding: 0 !important;
  cursor: pointer;
}

.v2-search-peerless-iframe .coveo-facet-value-label-wrapper {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  position: relative;
  flex: 1;
  min-width: 0;
}

.v2-search-peerless-iframe .coveo-facet-value-label input[type=checkbox] {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  border: 0;
  padding: 0;
}

.v2-search-peerless-iframe .coveo-facet-value-checkbox {
  display: none !important;
}

.v2-search-peerless-iframe .coveo-facet-value-checkbox svg {
  display: none;
}

/* Selected: solid orange gradient fill — ports TagGroup multiselect selected */
.v2-search-peerless-iframe .coveo-facet-value:has(input[type=checkbox]:checked),
.v2-search-peerless-iframe .coveo-facet-value.coveo-selected {
  background: var(--tag-group-color) !important;
  border: 1px solid var(--tag-group-active-border) !important;
  color: var(--tag-group-active-fg) !important;
}

.v2-search-peerless-iframe .coveo-facet-value:has(input[type=checkbox]:checked) .coveo-facet-value-caption,
.v2-search-peerless-iframe .coveo-facet-value:has(input[type=checkbox]:checked) .coveo-facet-value-count,
.v2-search-peerless-iframe .coveo-facet-value.coveo-selected .coveo-facet-value-caption,
.v2-search-peerless-iframe .coveo-facet-value.coveo-selected .coveo-facet-value-count {
  color: var(--tag-group-active-fg) !important;
}

.v2-search-peerless-iframe .coveo-facet-value-label-wrapper:has(input[type=checkbox]:checked) {
  box-shadow: none !important;
  border: 0 !important;
  margin: 0 !important;
}

.v2-search-peerless-iframe .coveo-facet-value-exclude {
  display: none !important;
}

.v2-search-peerless-iframe .coveo-facet-value-caption {
  position: relative;
  z-index: 1;
  font-family: var(--font-mono, "Space Mono", monospace);
  font-size: 0.6875rem;
  font-weight: 400;
  line-height: 1rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: inherit;
}

.v2-search-peerless-iframe .coveo-facet-value-caption::before {
  content: "↗";
  margin-right: 6px;
  font-size: 10px;
}

.v2-search-peerless-iframe .coveo-facet-value-count {
  position: relative;
  z-index: 1;
  font-family: var(--font-mono, "Space Mono", monospace);
  font-size: 0.75rem;
  line-height: 1rem;
  color: inherit;
  opacity: 0.75;
}

.v2-search-peerless-iframe .coveo-facet-value:has(input[type=checkbox]:focus-visible) {
  outline: 2px solid #ff5c00;
  outline-offset: 2px;
}

.v2-search-peerless-iframe .search-overlay__assist-divider {
  margin-top: 24px;
}

.v2-search-peerless-iframe .search-overlay__assist-results-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 14px 0 24px;
}

.v2-search-peerless-iframe .search-overlay__assist-count {
  font-family: var(--font-sans, "Suisse Int'l", "Helvetica Neue", Arial, sans-serif);
  font-size: 16px;
  font-weight: 400;
  color: #0f121d;
}

.v2-search-peerless-iframe .search-overlay__view-all {
  font-family: var(--font-mono, "Space Mono", monospace);
  font-size: 14px;
  line-height: 1.2;
  letter-spacing: 0.02em;
  color: #0f121d;
  text-decoration: none;
}

.v2-search-peerless-iframe .search-overlay__view-all:hover {
  color: #ff5c00;
}

.v2-search-peerless-iframe .coveo-results-column {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.v2-search-peerless-iframe .CoveoResultList,
.v2-search-peerless-iframe .CoveoResultList > div {
  width: 100% !important;
}

.v2-search-peerless-iframe .coveo-result-list-container.coveo-card-layout-container {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
  align-items: start;
  width: 100% !important;
}

.v2-search-peerless-iframe .coveo-card-layout.CoveoResult,
.v2-search-peerless-iframe [data-assist-product-card] {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.v2-search-peerless-iframe .coveo-card-layout.CoveoResult {
  border: 0 !important;
  box-shadow: none !important;
}

.v2-search-peerless-iframe .product-card {
  max-width: none;
  min-width: 0;
  min-height: 416px;
  box-shadow: 0 24px 24px -12px rgba(14, 63, 126, 0.04), 0 12px 12px 0 rgba(14, 63, 126, 0.04), 0 6px 6px -3px rgba(42, 51, 70, 0.04), 0 3px 3px 0 rgba(42, 51, 70, 0.04), 0 1px 1px -0.5px rgba(42, 51, 69, 0.04), 0 0 0 1px rgba(14, 63, 126, 0.04), 0 0 1px 0 rgba(0, 0, 0, 0.18);
}

.v2-search-peerless-iframe .product-card__media {
  aspect-ratio: 1/0.86;
}

.v2-search-peerless-iframe .product-card__meta {
  height: 100px;
}

.v2-search-peerless-iframe .product-card__summary {
  padding: 10px 16px 8px;
}

.v2-search-peerless-iframe .product-card__title {
  line-height: 1.5rem;
}

.v2-search-peerless-iframe .product-card:hover {
  box-shadow: 0 20px 56px 0 rgba(0, 0, 0, 0.29);
}

.v2-search-peerless-iframe .coveo-results-column,
.v2-search-peerless-iframe .coveo-card-layout.CoveoResult,
.v2-search-peerless-iframe .coveo-result-list-container.coveo-card-layout-container {
  overflow: visible !important;
}

.v2-search-peerless-iframe .coveo-result-list-container.coveo-card-layout-container {
  box-sizing: border-box;
  padding: 8px;
  margin: -8px;
  width: calc(100% + 16px) !important;
}

/* Content interface (editorial CTA + related results below facets) */
.v2-search-peerless-iframe-content {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin-top: 32px;
}

.v2-search-peerless-iframe-content .coveo-main-section,
.v2-search-peerless-iframe-content .coveo-results-column,
.v2-search-peerless-iframe-content .CoveoResultList,
.v2-search-peerless-iframe-content .CoveoResultList > div {
  width: 100% !important;
  max-width: none !important;
  overflow: visible !important;
}

.v2-search-peerless-iframe-content .coveo-header,
.v2-search-peerless-iframe-content .coveo-search-interface-mandatory-section,
.v2-search-peerless-iframe-content .coveo-visible-to-screen-reader-only,
.v2-search-peerless-iframe-content .coveo-footer,
.v2-search-peerless-iframe-content .CoveoLogo,
.v2-search-peerless-iframe-content .coveo-powered-by {
  display: none !important;
}

.v2-search-peerless-iframe-content .coveo-result-list-container.coveo-card-layout-container {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
  align-items: start;
  width: 100% !important;
  padding: 0;
  margin: 0;
}

.v2-search-peerless-iframe-content .coveo-card-layout.CoveoResult {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

.v2-search-peerless-iframe-content .coveo-card-layout-padding {
  display: none !important;
}

.v2-search-peerless-iframe-content .search-overlay__editorial-cta {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 16/12;
  overflow: hidden;
  text-decoration: none;
}

.v2-search-peerless-iframe-content .search-overlay__editorial-cta img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.v2-search-peerless-iframe-content .search-overlay__editorial-cta::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(15, 18, 29, 0.75) 0%, rgba(15, 18, 29, 0.35) 40%, transparent 70%);
  pointer-events: none;
}

.v2-search-peerless-iframe-content .search-overlay__editorial-cta:hover img {
  transform: scale(1.04);
}

.v2-search-peerless-iframe-content .search-overlay__editorial-cta-label {
  position: absolute;
  right: 16px;
  bottom: 16px;
  left: 16px;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 8px;
  font-family: var(--font-sans, "Suisse Int'l", "Helvetica Neue", Arial, sans-serif);
  font-size: 16px;
  font-weight: 400;
  color: #ffffff;
}

.v2-search-peerless-iframe-content .search-overlay__editorial-cta-label i {
  flex-shrink: 0;
  font-size: 20px;
  opacity: 0.9;
  transform: rotate(-45deg);
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.v2-search-peerless-iframe-content .search-overlay__editorial-cta:hover .search-overlay__editorial-cta-label i {
  transform: rotate(0deg);
  opacity: 1;
}

.v2-search-peerless-iframe .coveo-footer,
.v2-search-peerless-iframe .CoveoLogo,
.v2-search-peerless-iframe .coveo-powered-by,
.coveo-visible-to-screen-reader-only {
  display: none !important;
}

@media (max-width: 1024px) {
  .v2-search-peerless-iframe .coveo-for-sitecore-frame-container > div:first-child {
    grid-template-columns: 1fr;
    row-gap: 10px;
  }
  .v2-search-peerless-iframe .coveo-for-sitecore-frame-container > div:first-child > div:nth-child(4) {
    grid-column: auto;
  }
  .v2-search-peerless-iframe .coveo-result-list-container.coveo-card-layout-container {
    grid-template-columns: 1fr;
  }
  .v2-search-peerless-iframe-content .coveo-result-list-container.coveo-card-layout-container {
    grid-template-columns: 1fr;
  }
}
/** Search IFrame for Search Box - END */
/** Search Box Overlay - START */
.search-overlay#searchOverlay {
  padding-right: calc(var(--header-size, 70px) - 10px);
  scrollbar-gutter: stable;
}
.search-overlay#searchOverlay .search-overlay__editorial {
  z-index: 9999;
}
.search-overlay#searchOverlay .search-overlay__search:has(.magic-box-hasPreviews) .search-overlay__editorial {
  display: none;
}
.search-overlay#searchOverlay .search-overlay__body .search-overlay__suggested .search-overlay__suggested-label {
  font-size: var(--font-size-text-xl, 1rem);
  color: var(--color-structural-black-500, #0F121D);
}
.search-overlay#searchOverlay .search-overlay__body .search-overlay__suggested .search-overlay__trending-item {
  padding: var(--space-2) 0;
}

/****** Search box mobile - BEGIN ****************************/
@media (max-width: 768px) {
  .search-overlay {
    padding-inline: var(--space-4);
  }
  .search-overlay .search-overlay__bar {
    width: 100%;
    margin-top: calc(var(--header-size) + var(--space-3));
    flex-shrink: 0;
    border: 1px solid var(--color-structural-black-400, #0F121D);
    display: inline-table;
  }
  .search-overlay .search-overlay__body--idle .search-overlay__suggested-list {
    gap: var(--space-2) var(--space-4);
  }
  .search-overlay .CoveoOmnibox .magic-box-suggestions {
    margin-top: 30px;
  }
  .search-overlay#searchOverlay {
    padding-right: var(--space-4);
  }
  .search-overlay__input-wrap {
    flex: 1 1 100%;
    min-width: 0;
    padding-inline: var(--space-2);
    padding-block: var(--space-2);
  }
  .search-overlay__toggle {
    width: 100%;
  }
  .search-overlay__trending-item {
    background-color: unset;
    color: var(--color-structural-black-500, #0F121D);
    font-size: var(--font-size-text-xl, 1rem);
  }
  .v2-search-peerless-iframe .coveo-for-sitecore-frame-container {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: var(--space-4) !important;
  }
  .v2-search-peerless-iframe .coveo-for-sitecore-frame-container > div:first-child {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    grid-template-columns: none !important;
    column-gap: var(--space-4) !important;
    row-gap: var(--space-2) !important;
  }
  .v2-search-peerless-iframe .coveo-for-sitecore-frame-container > div:first-child > div:nth-child(4) {
    grid-column: unset !important;
  }
  .v2-search-peerless-iframe .CoveoFacet {
    display: flex !important;
    flex-direction: column !important;
    gap: var(--space-2) !important;
    padding-bottom: 10px !important;
  }
  .v2-search-peerless-iframe .CoveoFacet > .coveo-facet-header {
    padding-bottom: 0px !important;
  }
  .v2-search-peerless-iframe .CoveoFacet .coveo-facet-values {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: var(--space-1, 4px) !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .v2-search-peerless-iframe .CoveoFacet .coveo-facet-value {
    display: flex !important;
    align-items: center !important;
    width: auto !important;
  }
  .v2-search-peerless-iframe .CoveoFacet .coveo-facet-value-caption::before {
    font-weight: 900;
  }
  .v2-search-peerless-iframe .CoveoFacet .coveo-facet-value-label {
    display: flex !important;
    align-items: center !important;
    width: auto !important;
  }
  .v2-search-peerless-iframe .CoveoFacet .coveo-facet-value-label-wrapper {
    display: flex !important;
    align-items: center !important;
    gap: var(--space-1, 4px) !important;
    width: auto !important;
    padding: var(--space-1_5, 6px) var(--space-3, 12px);
  }
  .v2-search-peerless-iframe .CoveoBreadcrumb {
    display: none;
  }
}
@media (max-width: 480px) {
  .search-overlay__toggle {
    width: 100%;
  }
}
/****** Search box mobile - END ****************************/
#main-content-peerless .search-overlay__assist-heading {
  margin-bottom: 2rem;
}

/** Search Box Overlay - END */
/*no color changing when hovering over product card variants*/
.product-card__variant:hover {
  color: var(--color-structural-cream-25);
}

/* Footer - OneTrust's #teconsent widget injects its own "Cookie Preferences" link with
inline/default OneTrust styling (blue, lowercase, underlined). Reskin it to match the
surrounding .site-footer__legal .site-footer__link items (white, uppercase, no underline). */
.site-footer__legal #teconsent,
.site-footer__legal #teconsent a,
.site-footer__legal #teconsent span {
  font: inherit;
  color: inherit !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  background: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  cursor: pointer;
}

.site-footer__legal #teconsent a:hover,
.site-footer__legal #teconsent span:hover {
  text-decoration: underline !important;
}

/* Error pages - remove background applied to .error-panel inside main.error-page */
main.error-page .error-panel {
  background: none !important;
}

/* Error pages - normalize spacing across all variants to match error-page--500 (base .error-panel spacing) */
.error-page:not(.error-page--500) {
  min-height: calc(100svh - 9rem) !important;
}

.error-page:not(.error-page--500) .error-panel {
  padding: clamp(6.5rem, 8vw, 9rem) clamp(1.25rem, 3vw, 2rem) clamp(4rem, 6vw, 6rem) !important;
}

.error-page:not(.error-page--500) .error-panel__icon-wrap {
  margin-top: 0.25rem !important;
}

/* Error page embedded inside a story-article wrapper (email-error/email-confirmation) -
remove the near-fullscreen centered min-height so content starts at the top like error-page--500 */
.story-article__body .error-panel--centered {
  min-height: auto !important;
}

/* Remove the story-article section's own top padding when it only wraps an embedded error panel,
so the panel's own padding is the sole source of top spacing (matches error-page--500). */
.story-article__section:has(.error-panel) {
  padding-top: 0 !important;
}

/* Center the copy block horizontally when it wraps an embedded error panel
(the text-only section rule sets margin-left/right:0, left-aligning it otherwise). */
.story-article__section:has(.error-panel) .story-article__copy--full {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Footer - storybook headings/legal links are authored in literal uppercase text; Sitecore
dictionary/navigation labels are Title Case, so force the same visual casing here. */
.site-footer__heading,
.site-footer__legal .site-footer__link {
  text-transform: uppercase;
}

/* Footer logo letter reveal — CSS-driven (see initFooterLogoReveal in app.main.js).
Each letter starts translated down + invisible; the JS toggles
[data-footer-logo-revealed] on the [data-footer-logo-io] wrapper via a
reversible IntersectionObserver (reveals on enter, resets on exit) so the
letters replay if the visitor scrolls back up past the footer.
Replaces a prior GSAP ScrollTrigger version that left letters permanently
stuck off-screen on short pages where the trigger's scroll range never
satisfied its play condition.
animation: none is required to cancel out BaseLayout.css's native
`site-footer-letter-rise` scroll-driven (animation-trigger) animation on
browsers that support it — animated properties always win over plain
transform/opacity declarations regardless of specificity/order, so without
this the letters stay permanently stuck at their "from" keyframe
(translateY(100%)) even after the reveal attribute is added. */
[data-footer-logo-io] .footer-logo-letter {
  animation: none;
  opacity: 0;
  transform: translateY(240px);
  transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.8s ease;
}

[data-footer-logo-io][data-footer-logo-revealed] .footer-logo-letter {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  [data-footer-logo-io] .footer-logo-letter {
    transition: none;
    opacity: 1;
    transform: translateY(0);
  }
}
/* PDP Projects / cover-slider — GSAP pins this section with `inset:0`, i.e. flush
to the TRUE top of the viewport (confirmed via console: pinned element's
getBoundingClientRect().top ≈ 0), with the header-bar/context-nav rendered on
top of it via a much higher z-index. Vendor's own height formula
(var(--pdp-section-min-height, calc(100svh - 128px))) only produces a
gap-free result on a page where a `.pdp` wrapper defines
--pdp-section-min-height as calc(100svh - <docked chrome height>) AND the
pin is offset below the chrome — neither of which is true here: our
Sitecore markup has no `.pdp` wrapper (so the var is unset and the 128px
fallback is used), and the pin sits at the literal viewport top regardless.
Subtracting ANY chrome height here leaves that much blank space at the
BOTTOM of the pinned image (bottom = 0 + height < viewport height), since
the pin's top never moves down to compensate. Since the header/context-nav
already overlay the image's top edge (same fixed-at-0 stacking, just a
higher z-index) rather than sitting above it in flow, the section only
needs to fill the full viewport — no subtraction. */
.cover-slider {
  height: 100svh;
  min-height: 100svh;
}

/* Browsers/engines that don't support `svh` drop the declaration above
entirely, leaving the section with no explicit height at the moment GSAP
ScrollTrigger measures it for pinning — it then pins at whatever tiny
in-flow height remains (e.g. just the progress dots row), producing a
79px-tall pinned section with blank space below and no cross-fade
transforms. Provide the same value using `vh` for those cases. */
@supports not (height: 100svh) {
  .cover-slider {
    height: 100vh;
    min-height: 100vh;
  }
}
/* Inspiration Carousel (horizontal-scroll pin mode) — override BaseLayout.css's
`.inspiration-carousel--horizontal-scroll .inspiration-carousel__slides/__slide`
width rules (built for a whole-track GSAP pan) since slide switching now reuses
the classic carousel's `translateX(-index * 100%)` math. Without this override
the oversized `width: auto` track pushes every slide off-screen. */
.inspiration-carousel--horizontal-scroll .inspiration-carousel__slides {
  inset: 0 !important;
  width: 100% !important;
  will-change: auto !important;
}

.inspiration-carousel--horizontal-scroll .inspiration-carousel__slide {
  width: 100% !important;
  min-width: 100% !important;
}

/* Inspiration Carousel (mobile) - the markup's `.p-16` utility class carries
`padding: 4rem !important` (BaseLayout.css), which beats
`.inspiration-carousel__gradient-title`'s own mobile media-query padding
override (no !important). That leaves the gradient-title's left padding at
4rem/64px while `.inspiration-carousel__project-info`/`__footer` use
`--layout-padding` (16px), so the label/heading sit ~48px to the right of
`__project-info`'s left edge below it. Force the same left inset here so
both align. */
@media (max-width: 768px) {
  .inspiration-carousel__gradient-title.p-16 {
    padding-left: var(--layout-padding) !important;
    padding-right: var(--layout-padding) !important;
    /* .p-16's 4rem bottom padding left ~72px between the heading and the
    project-info box below it; tighten to ~15px on mobile only. */
    padding-bottom: 7px !important;
  }
}
/* Site Intro (mobile) - Portfolio info-card's `.product-categories-panel__thumb`
images were rendering at their full intrinsic size (e.g. 1920x1200) instead of
the mobile scroller sizing BaseLayout.css defines for them, blowing the card
(and `.site-intro`) height out to ~2400px+ per card. Root cause: BaseLayout.css
sizes `.product-categories-panel__item` with `flex: 0 0 calc(100cqw - ...)`,
a container-query width relative to `.product-categories-panel` itself
(`container-type: inline-size`). That container's own width is derived from
an ancestor flex/grid chain (`editorial-card__col-2` -> `.site-intro__info-card`)
that has no definite width in this stack, so the container query falls back to
the shrink-to-fit/content size (the sum of the un-scaled thumbnails) rather than
the actual ~viewport-width card. Give `.product-categories-panel` a definite
width so its container-query children size against real space, and use `vw`
(independent of the container-query feedback loop) for the peek-item math. */
@media (max-width: 768px) {
  /* Even with the body/panel resized above, every `.site-intro__info-card`
  variant (people / portfolio / awards) measured an identical fixed ~1446px
  regardless of actual content, pointing to a `height: 100%`/similar rule
  elsewhere in this mobile stack resolving to a stale/inherited definite
  value rather than true `auto`. Force each card to size to its own content. */
  .site-intro__info-card:not(.site-intro__info-card--people):not(.site-intro__info-card--portfolio):not(.site-intro__info-card--awards) {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
  /* Awards card's content (723px) is shorter than its sticky-stack box
  (788px) and, unlike People/Portfolio, isn't stretched to fill it - that
  left ~65px of transparent gap at the BOTTOM of Awards' own box, letting
  the Portfolio card (stacked underneath, still partially visible per the
  cascading-peek design) show through in that gap instead of being fully
  covered by Awards' background. Fill the box so there's no gap to peek
  through. */
  .site-intro__info-card--awards {
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
  }
  /* Portfolio's single-column category list (below) can run longer than the
  card's allotted sticky-stack box (each `.site-intro__stack-item` is a
  fixed height so the People/Portfolio/Awards "cascading peek" stacking
  math lines up). Letting the card grow past that box - like the other
  cards above - pushed it ~60px+ taller than its box, so the card behind
  it (Portfolio itself, ironically) kept peeking out from underneath the
  Awards card that's supposed to fully cover it. Keep Portfolio pinned to
  its box height and let the category list scroll internally instead. */
  .site-intro__info-card--portfolio {
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    overflow: hidden;
  }
}
/* People/Brand card - under `prefers-reduced-motion: reduce`, the sticky-stack
mechanism is disabled site-wide (vendor's own accessibility fallback, see
`.site-intro__stack-item{height:auto}` above) which is fine for
Portfolio/Awards since their content sizes itself intrinsically. People's
media column, though, is built on a `flex:1 1 0` split (`.editorial-card__col-2`)
feeding a `height:100%` video wrapper (`.site-intro__card-right`) - `flex-grow`
has no extra space to distribute once the containing flex column itself
becomes `height:auto`, so the whole media column (and the video/photo inside
it) collapses to 0px, making the card look entirely blank. Give the media
column a real, definite height in this specific state so it can't collapse. */
@media (max-width: 768px) and (prefers-reduced-motion: reduce) {
  .site-intro__info-card--people .editorial-card__col-1,
  .site-intro__info-card--people .editorial-card__col-2 {
    flex: none;
    height: auto;
  }
  .site-intro__info-card--people .editorial-card__col-2 {
    height: 300px;
    min-height: 300px;
  }
}
/* Override the BaseLayout.css style per the 9/28/26 per the Daily Peerless meeting
Intention: fix mobile video sizing and hide background image */
@media (max-width: 768px) {
  .site-intro__card-right--lime .site-intro__card-hero-img {
    top: -40px;
    height: max-content;
    aspect-ratio: 16/9;
  }
  .site-intro__card-right--lime {
    background: none;
    background-image: none !important;
  }
}
/* MAXIMUM OVERRIDE - PDP HERO DETAILS CARD */
.pdp-hero__fixture.pdp-hero__fixture img {
  object-fit: cover;
}

.pdp-hero--variant-c .pdp-hero__family {
  font-size: 0.8em !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  margin: 0 !important;
  max-width: 100% !important;
  color: var(--color-structural-black-400, #202938) !important;
}

.pdp-hero--variant-c .pdp-hero__title {
  color: var(--color-blue-alliance-500, #005465);
  font-size: 1.3rem !important;
}

.pdp-hero--variant-c .pdp-hero__distributions {
  color: var(--color-blue-alliance-500, #005465);
  font-weight: 400;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.25em 0.7rem !important;
  font-size: 0.8rem !important;
  line-height: 1.15 !important;
  margin: 0 !important;
  max-width: 95% !important;
  min-width: 0 !important;
}

.pdp-hero__details.pdp-hero__details {
  gap: var(--space-4);
}

.pdp-hero--variant-c .pdp-hero__details {
  justify-content: flex-end !important;
}

.pdp-hero__fixture.pdp-hero__fixture img {
  object-fit: cover;
}

.pdp-hero .pdp-hero__details-card {
  container-type: size !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
  min-height: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 16px !important;
  gap: 1.2cqmin !important;
}

.pdp-hero .pdp-hero__details-card .pdp-hero__heading-group,
.pdp-hero .pdp-hero__details-card .pdp-hero__badges-row {
  font-size: min(16px, 6.5cqmin) !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
}

.pdp-hero .pdp-hero__details-card .pdp-hero__heading-group {
  display: flex !important;
  flex-direction: column !important;
  gap: 1em !important;
}

.pdp-hero .pdp-hero__details-card .pdp-hero__family {
  font-size: 1.1em !important;
  line-height: 1.15 !important;
  margin: 0 !important;
  max-width: 100% !important;
}

.pdp-hero .pdp-hero__details-card .pdp-hero__title {
  font-size: 1.9em !important;
  line-height: 1.12 !important;
  margin: 0 !important;
  max-width: 100% !important;
}

.pdp-hero .pdp-hero__details-card .pdp-hero__distributions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.25em 0.7em !important;
  font-size: 1.2em !important;
  line-height: 1.15 !important;
  margin: 0 !important;
  max-width: 95% !important;
  min-width: 0 !important;
}

.pdp-hero--variant-b .pdp-hero__distributions {
  color: var(--color-blue-alliance-500, #005465);
  font-weight: 400;
}

.pdp-hero .pdp-hero__details-card .pdp-hero__badges-row {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 0.4em !important;
}

.pdp-hero .pdp-hero__details-card .pdp-hero__light-colors {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.3em !important;
  max-width: 100% !important;
}

.pdp-hero .pdp-hero__details-card .pdp-hero__color-btn,
.pdp-hero .pdp-hero__details-card .pdp-hero__color-btn img {
  width: auto !important;
  height: 1.5em !important;
  max-width: 100% !important;
}

.pdp-hero .pdp-hero__details-card .pdp-hero__fasttrack-badge,
.pdp-hero .pdp-hero__details-card .pdp-hero__award-badges img {
  height: 3em !important;
  width: auto !important;
  max-width: 100% !important;
}

@media (max-width: 960px) {
  .pdp-hero .pdp-hero__details-card {
    container-type: inline-size !important;
    height: auto !important;
    max-height: none !important;
    padding: 20px 16px 28px !important;
    gap: 12px !important;
  }
  .pdp-hero .pdp-hero__details-card .pdp-hero__heading-group,
  .pdp-hero .pdp-hero__details-card .pdp-hero__badges-row {
    font-size: clamp(13px, 3.8cqw, 18px) !important;
  }
}
@media (max-width: 768px) {
  .pdp-hero--variant-c .pdp-hero__family {
    font-size: 0.7em !important;
    font-weight: 400 !important;
    line-height: 1.15 !important;
    margin: 0 !important;
    max-width: 100% !important;
    color: var(--color-structural-black-400, #202938) !important;
  }
  .pdp-hero--variant-c .pdp-hero__title {
    color: var(--color-blue-alliance-500, #005465);
    font-size: 1.3rem !important;
  }
  .pdp-hero--variant-c .pdp-hero__distributions {
    color: var(--color-blue-alliance-500, #005465);
    font-weight: 400;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.25em 0.7rem !important;
    font-size: 0.8em !important;
    line-height: 1.15 !important;
    margin: 0 !important;
    max-width: 95% !important;
    min-width: 0 !important;
  }
  .pdp-hero--variant-b .pdp-hero__distributions {
    color: var(--color-blue-alliance-500, #005465);
    font-weight: 400;
  }
  .pdp-hero .pdp-hero__details-card .pdp-hero__family {
    font-size: 0.8em !important;
    line-height: 1.15 !important;
    margin: 0 !important;
    max-width: 100% !important;
  }
  .pdp-hero .pdp-hero__details-card .pdp-hero__title {
    font-size: 1.5em !important;
    line-height: 1.12 !important;
    margin: 0 !important;
    max-width: 100% !important;
  }
  .pdp-hero .pdp-hero__details-card .pdp-hero__distributions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.25em 0.7em !important;
    font-size: 0.95em !important;
    line-height: 1.15 !important;
    margin: 0 !important;
    max-width: 95% !important;
    min-width: 0 !important;
  }
}
/* Move the family title down ~5px closer to the carousel without shifting
the carousel itself (offset by the padding-top reduction above). */
.pdp-family__header {
  margin-top: 5px;
}

/* explore-build.css sets a global `html { scroll-behavior: smooth; }`. GSAP
ScrollTrigger detects that as the page's "real" scroll behavior on init,
and after every refresh() it deliberately restores it — so it always wins
over a same-specificity `html` override regardless of stylesheet order.
Native smooth-scroll animating over 1-2+ seconds on this long page desyncs
from ScrollTrigger's own scroll math, which is what left pinned/scrubbed
sections (hero, About reveal) visually stuck mid-animation after jumping
to a nav tab and scrolling back to top. `:root` has higher specificity
than a plain `html` selector, so this reliably overrides it here instead
of editing the vendor-style explore-build.css file directly. */
@media (max-width: 768px) {
  .explore-content-area__grid .explore-content-area__item {
    transition: opacity 0.7s ease, transform 0.7s ease;
  }
  .explore-content-area__grid .explore-content-area__item[data-explore-pending]:not([data-explore-revealed]):not([hidden]) {
    opacity: 0;
    transform: translate3d(0, 12px, 0);
  }
}
@media (max-width: 768px) and (prefers-reduced-motion: reduce) {
  .explore-content-area__grid .explore-content-area__item,
  .explore-content-area__grid .explore-content-area__item[data-explore-pending]:not([data-explore-revealed]):not([hidden]) {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
.explore-hero-stage {
  position: relative;
  margin: 0;
  padding: 0;
  overflow-anchor: none;
}

.explore-hero-stage__sticky {
  position: sticky;
  top: 0;
  overflow: hidden;
  background: var(--color-structural-cream-50, #ffffff);
}

.explore-hero-overlay.explore-hero-overlay--sticky {
  position: absolute;
  z-index: 2;
}

.explore-hero-overlay.explore-hero-overlay--sticky,
.explore-hero-overlay.explore-hero-overlay--sticky * {
  pointer-events: none !important;
}

html:root {
  scroll-behavior: auto;
}

/* Restyle the scene-explorer "finishing touches"/lighting-option buttons
   (BaseLayout.css's `.scene-explorer__option-btn`) to match the outlined
   `.btn--ghost-dark.btn--xs` chip style used in the storybook reference
   (https://peerless.glenton-samuels.workers.dev/pdp/): a small, square-cornered,
   outline-only chip for the inactive state, and a solid white fill with dark
   text for the active state. */
.scene-explorer__lighting-controls-wrap {
  gap: var(--space-2, 8px);
}

.scene-explorer__option-btn {
  position: relative;
  justify-content: center;
  width: fit-content;
  max-width: 100%;
  height: 28px;
  padding: 0 16px;
  margin: 0;
  background: none;
  border: 1px solid rgba(255, 255, 255, 0.3019607843);
  border-radius: 0;
  color: #fff;
  font-size: 11px;
  letter-spacing: 0.07em;
  text-transform: none;
  overflow: hidden;
  transition: border-color 0.3s ease, color 0.3s ease 0.1s;
}

/* Override the BaseLayout.css style per the 9/28/26 per the Daily Peerless meeting
Intention: mobile buttons should have less padding than desktop buttons */
@media (max-width: 768px) {
  .scene-explorer__option-btn.btn--xs {
    height: 28px;
    padding: 0 10px;
    margin: 0;
  }
}
/* Two fill halves, each anchored to its outer edge and scaling inward
toward the center on hover/active — this gives an "outside to inside"
curtain reveal instead of growing outward from the middle. Each half is
sized slightly past 50% (50.5%) so they overlap a hair at the center,
guaranteeing no rounding-based seam/gap can appear where they meet. */
.scene-explorer__option-btn::before,
.scene-explorer__option-btn::after {
  content: "";
  position: absolute;
  top: 0;
  width: 50.5%;
  height: 100%;
  background: var(--color-structural-cream-50, #fff);
  transform: scaleX(0);
  transition: transform 0.3s ease;
  z-index: 0;
}

.scene-explorer__option-btn::before {
  left: 0;
  transform-origin: left;
}

.scene-explorer__option-btn::after {
  right: 0;
  transform-origin: right;
}

.scene-explorer__option-btn .btn-inner {
  position: relative;
  z-index: 1;
}

.scene-explorer__option-btn:hover,
.scene-explorer__option-btn.is-active {
  border-color: var(--color-structural-cream-50, #fff);
  color: var(--color-structural-black-500, #0f121d);
}

.scene-explorer__option-btn:hover::before,
.scene-explorer__option-btn:hover::after,
.scene-explorer__option-btn.is-active::before,
.scene-explorer__option-btn.is-active::after {
  transform: scaleX(1);
}

.ablSearch .coveo-card-layout.CoveoResult {
  border: none;
}

.header-bar__menu {
  background-color: #fff !important;
  opacity: 1 !important;
  box-shadow: none;
  transition: box-shadow 0.2s ease;
}

.header-bar__menu:hover,
.header-bar__menu:focus-visible {
  box-shadow: 0 2px 8px rgba(15, 18, 29, 0.35);
}

.header-bar__menu-line {
  background-color: var(--color-structural-black-500, #0f121d) !important;
}

/** Coveo BreadCrumbs (Search, Tier3 Category, and Tabbed Category) */
.CoveoSearchInterface .CoveoBreadcrumb {
  padding: 0;
  border: none;
  justify-content: end;
}
.CoveoSearchInterface .CoveoBreadcrumb .coveo-breadcrumb-items {
  display: none;
}
.CoveoSearchInterface .CoveoBreadcrumb .coveo-breadcrumb-clear-all {
  font-family: var(--font-mono);
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 22px;
  color: var(--color-structural-black-500);
}
.CoveoSearchInterface.v2-search-peerless-iframe .coveo-for-sitecore-frame-container > div > div:has(.CoveoBreadcrumb) {
  grid-column: 3;
  position: relative;
  top: -64px;
  height: 0;
}
.CoveoSearchInterface:not(.v2-search-peerless-iframe) .CoveoBreadcrumb {
  position: relative;
  z-index: 8;
  margin-top: -22.5px;
}
.CoveoSearchInterface:not(.v2-search-peerless-iframe) .CoveoBreadcrumb .coveo-breadcrumb-clear-all {
  padding: 0;
  margin: 0;
}
