/* A continuous product catalogue and selection guide, aligned with the header. */
.products { background: #f6f8f5; }
.products > .section-heading { position: relative; padding-top: 28px; border-top: 1px solid #dbe2df; }
.products > .section-heading::before, .products > .section-heading::after {
  content: ''; position: absolute; top: -1px; width: 28px; height: 1px; background: #c40013;
}
.products > .section-heading::before { left: 0; }
.products > .section-heading::after { right: 0; }
.products > .section-heading > .text-link { gap: 22px; padding-bottom: 12px; border-color: #bcc9c7; color: #23383f; }
.products > .section-heading > .text-link > .icon { color: #c40013; }
.products .section-kicker { border: 0; border-radius: 0; padding: 0; background: none; color: #c40013; }
.products .product-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0;
  background: #fff; border: 1px solid #dce4e0; border-radius: 4px; overflow: hidden;
}
.products .product-card {
  display: flex; flex-direction: column; isolation: isolate; padding: 12px;
  border: 0; border-right: 1px solid #e2e8e5; border-radius: 0;
  background: #fff; box-shadow: none; transition: background .2s;
}
.products .product-card:last-child { border-right: 0; }
.products .product-card:hover, .products .product-card:focus-visible { transform: none; background: #fafbf8; box-shadow: none; }
.products .product-card:focus-visible { outline: 2px solid #c40013; outline-offset: -3px; }
.products .product-card > .signature-detail,
.products .product-card::before, .products .product-image::after,
.products .product-reveal { display: none; }
.products .product-card .product-image { position: relative; height: 203px; width: 100%; margin: 0; border-radius: 1px; overflow: hidden; transform: none; }
.products .product-card img { width: 100%; height: 100%; object-fit: cover; transform: none; transition: none; }
.products .product-card:hover img { transform: none; }
.products .product-index {
  position: absolute; left: 22px; top: 22px; z-index: 3; padding: 6px 8px;
  border: 0; border-left: 2px solid #c40013; border-radius: 0;
  background: #ffffffed; color: #23383f; font-size: 8px; letter-spacing: .1px; box-shadow: none;
}
.products .product-index::before { display: none; }
.products .product-label {
  position: relative; flex: 1; min-height: 96px; padding: 19px 6px 9px;
  background: transparent; color: #23383f; font-size: 15px; line-height: 1.35;
  clip-path: none; gap: 8px; letter-spacing: -.2px;
}
.products .product-label > .icon {
  flex: 0 0 29px; width: 29px; height: 29px; padding: 7px;
  border: 1px solid #d5dedb; border-radius: 0; background: #fff; color: #c40013;
  transition: color .2s, background .2s, border-color .2s;
}
.products .product-card:is(:hover,:focus-visible) .product-label { color: #23383f; background: transparent; }
.products .product-card:is(:hover,:focus-visible) .product-label > .icon { transform: none; background: #c40013; border-color: #c40013; color: #fff; }
.product-accent { position: absolute; left: 6px; right: 6px; bottom: 0; height: 1px; transform: scaleX(0); transform-origin: left; background: #c40013; pointer-events: none; }
.product-accent::after { content: ''; position: absolute; right: 0; top: -2px; width: 5px; height: 5px; background: #c40013; transform: rotate(45deg); }
.products .system-finder {
  position: relative; display: grid; grid-template-columns: 300px minmax(0,1fr);
  margin-top: 28px; border: 1px solid #dce4e0; border-radius: 4px; background: #fff;
  box-shadow: none; overflow: hidden;
}
.products .system-finder > .signature-detail { display: none; }
.products .finder-intro { position: relative; padding: 34px 30px; background: #fff; color: #23383f; border: 0; border-right: 1px solid #e2e8e5; }
.products .finder-intro::before { content: ''; position: absolute; top: 34px; left: 0; height: 27px; width: 2px; background: #c40013; border-radius: 0; }
.products .finder-intro::after { display: none; }
.products .finder-intro .section-kicker { margin-bottom: 20px; font-size: 8px; letter-spacing: 1.2px; }
.products .finder-intro h3 { margin-bottom: 15px; font-size: 29px; line-height: 1.2; letter-spacing: -.6px; }
.products .finder-intro > p:last-child { max-width: 25ch; color: #62757e; font-size: 13px; line-height: 1.75; }
.products .finder-main { padding: 27px 31px 30px; background: #fff; }
.products .finder-options { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; margin-bottom: 27px; border-bottom: 1px solid #dce4e0; }
.products .finder-options button {
  position: relative; display: flex; align-items: center; justify-content: center;
  min-height: 45px; padding: 10px 8px 14px; border: 0; border-radius: 0;
  background: transparent; color: #526970; font-size: 12px; box-shadow: none;
}
.products .finder-options button::before { display: none; }
.products .finder-options button::after { content: ''; position: absolute; bottom: -1px; left: 12px; right: 12px; height: 2px; background: transparent; }
.products .finder-options button:hover { color: #c40013; background: #fcf8f6; }
.products .finder-options button[aria-pressed=true] { color: #c40013; background: #fcf8f6; box-shadow: none; font-weight: 700; }
.products .finder-options button[aria-pressed=true]::after { background: #c40013; }
.products .finder-options button:focus-visible { outline: 2px solid #c40013; outline-offset: -4px; }
.products .finder-result { grid-template-columns: 175px minmax(0,1fr); gap: 25px; min-height: 201px; align-items: center; }
.products .finder-result > img { display: block; width: 175px; height: 190px; border: 0; border-radius: 1px; object-fit: cover; }
.products .finder-caption { display: block; color: #a94e58; font-size: 8px; letter-spacing: 1.2px; }
.products .finder-caption::before { display: none; }
.products .finder-result h4 { margin: 9px 0 11px; font-size: 24px; line-height: 1.25; color: #23383f; }
.products .finder-result p { font-size: 13px; line-height: 1.75; color: #62757e; }
.products .finder-result small { margin-top: 10px; font-size: 11px; color: #62757e; }
.products .finder-result .text-link { margin-top: 16px; gap: 20px; min-height: 40px; border-color: #becbc7; color: #23383f; }
.products .finder-result .text-link > .icon { width: 29px; height: 29px; padding: 7px; background: #c40013; color: #fff; }
@media(max-width:1120px) {
  .products .product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .products .product-card:nth-child(3n) { border-right: 0; }
  .products .product-card:nth-child(-n+3) { border-bottom: 1px solid #e2e8e5; }
  .products .product-card .product-image { height: 185px; }
  .products .product-label { min-height: 82px; font-size: 16px; }
  .products .system-finder { grid-template-columns: 230px minmax(0,1fr); }
  .products .finder-intro { padding: 29px 24px; }
  .products .finder-intro h3 { font-size: 26px; }
  .products .finder-main { padding: 23px; }
  .products .finder-result { grid-template-columns: 130px minmax(0,1fr); gap: 20px; }
  .products .finder-result > img { width: 130px; height: 180px; }
  .products .finder-options button { font-size: 10px; }
}
@media(max-width:800px) {
  .products .system-finder { grid-template-columns: 1fr; }
  .products .finder-intro { border-right: 0; border-bottom: 1px solid #e2e8e5; padding: 27px; }
  .products .finder-intro h3 br { display: none; }
  .products .finder-intro > p:last-child { max-width: none; }
  .products .finder-intro .section-kicker { margin-bottom: 13px; }
  .products .finder-options button { font-size: 12px; }
  .products .finder-result { grid-template-columns: 175px minmax(0,1fr); }
  .products .finder-result > img { width: 175px; height: 190px; }
}
@media(max-width:640px) {
  .products > .section-heading { padding-top: 22px; }
  .products > .section-heading > .text-link { margin-top: 8px; min-height: 44px; }
  .products .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .products .product-card { padding: 8px; border-right: 1px solid #e2e8e5; border-bottom: 1px solid #e2e8e5; }
  .products .product-card:nth-child(3n) { border-right: 1px solid #e2e8e5; }
  .products .product-card:nth-child(2n) { border-right: 0; }
  .products .product-card:nth-child(n+5) { border-bottom: 0; }
  .products .product-card .product-image { height: 140px; }
  .products .product-index { top: 16px; left: 16px; padding: 5px 6px; font-size: 7px; }
  .products .product-label { min-height: 87px; padding: 15px 3px 9px; font-size: 13px; gap: 5px; }
  .products .product-label > .icon { width: 24px; height: 24px; flex-basis: 24px; padding: 5px; }
  .products .finder-intro, .products .finder-main { padding: 24px 20px; }
  .products .finder-intro h3 { font-size: 27px; }
  .products .finder-options { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px 0; }
  .products .finder-options button { min-height: 45px; font-size: 11px; padding: 10px 6px; }
  .products .finder-result { grid-template-columns: 1fr; gap: 21px; }
  .products .finder-result > img { display: block; width: 100%; height: 160px; }
  .products .finder-result h4 { font-size: 23px; }
}
@media(max-width:380px) {
  .products .product-card .product-image { height: 122px; }
  .products .product-label { font-size: 12px; }
  .products .product-label > .icon { width: 21px; height: 21px; flex-basis: 21px; padding: 4px; }
  .products .finder-main, .products .finder-intro { padding-inline: 17px; }
}
@media(prefers-reduced-motion:reduce) {
  .products .product-card, .products .finder-options button { transition: none; }
  .products .product-card:is(:hover,:focus-visible) .product-accent { transform: scaleX(1); }
}
