:root {
  --vent-product-ink: #101820;
  --vent-product-muted: #536474;
  --vent-product-line: #d4dee5;
  --vent-product-blue: #159ed3;
  --vent-product-soft: #edf3f6;
}

.vent-library-index {
  padding: clamp(34px, 4vw, 58px) 0 clamp(50px, 6vw, 88px);
  background: #fff;
}

.vent-library-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--vent-product-line);
  border-left: 1px solid var(--vent-product-line);
}

.vent-library-card {
  min-height: 220px;
  padding: clamp(24px, 3vw, 38px);
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 22px;
  color: var(--vent-product-ink);
  background: #fff;
  border-right: 1px solid var(--vent-product-line);
  border-bottom: 1px solid var(--vent-product-line);
  transition: color .25s ease, background .25s ease, transform .25s ease;
}

.vent-library-card:hover,
.vent-library-card:focus-visible {
  color: #fff;
  background: #101a24;
  transform: translateY(-2px);
}

.vent-library-number,
.vent-library-link {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.vent-library-number,
.vent-library-link span { color: var(--vent-product-blue); }

.vent-library-card h2 {
  max-width: 620px;
  margin: 0;
  font-size: clamp(23px, 2.2vw, 34px);
  line-height: 1.12;
  letter-spacing: 0;
}

.vent-library-link { display: inline-flex; align-items: center; gap: 10px; }

.vent-product-hero {
  position: relative;
  overflow: hidden;
  color: #fff;
  background:
    linear-gradient(90deg, rgba(7, 15, 21, .92) 0%, rgba(7, 15, 21, .8) 48%, rgba(7, 15, 21, .55) 100%),
    linear-gradient(0deg, rgba(7, 15, 21, .72), rgba(7, 15, 21, .18)),
    url("/assets/system-library/ventilation-hero-960.webp") center / cover no-repeat;
  border-top: 1px solid var(--vent-product-line);
  border-bottom: 1px solid var(--vent-product-line);
}

.vent-product-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .22;
  background-image:
    linear-gradient(rgba(71, 96, 112, .07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(71, 96, 112, .07) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(90deg, transparent, #000 30%, #000 75%, transparent);
}

.vent-product-hero__heading {
  position: relative;
  z-index: 2;
  padding-top: clamp(22px, 2.4vw, 34px);
}

.vent-product-hero__heading h1 {
  max-width: none;
  margin: 0;
  color: rgba(255, 255, 255, .78);
  font-size: clamp(20px, 1.7vw, 26px);
  font-weight: 750;
  line-height: 1.15;
  letter-spacing: 0;
}

.vent-product-intro {
  margin-block: 0;
  padding-block: 18px;
  color: #34434b;
  font-size: 15px;
  line-height: 1.55;
}

.vent-product-hero__stage {
  position: relative;
  z-index: 2;
  height: clamp(530px, 52vw, 704px);
}

.vent-product-slide {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: minmax(0, .93fr) minmax(420px, 1.07fr);
  align-items: center;
  gap: clamp(32px, 5vw, 78px);
  padding: clamp(34px, 4vw, 54px) 0 clamp(52px, 5vw, 68px);
  visibility: hidden;
  opacity: 0;
  transform: translateX(28px);
  pointer-events: none;
  transition: opacity .65s ease, transform .65s cubic-bezier(.22, .68, .25, 1), visibility 0s linear .65s;
}

.vent-product-slide.is-active {
  position: absolute;
  visibility: visible;
  opacity: 1;
  transform: translateX(0);
  pointer-events: auto;
  transition-delay: 0s;
}

.vent-product-slide.is-leaving {
  visibility: visible;
  opacity: 0;
  transform: translateX(-28px);
  transition-delay: 0s;
}

.vent-product-hero.is-initializing .vent-product-slide { transition: none; }

.vent-product-slide__copy { max-width: 650px; }

.vent-product-slide__number,
.vent-product-slide__kicker {
  margin: 0;
  color: #c7d5dd;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.vent-product-slide__number { margin-bottom: 18px; color: rgba(255, 255, 255, .64); }
.vent-product-slide__kicker { color: #7bd2f4; }

.vent-product-slide h2 {
  max-width: 760px;
  margin: 10px 0 14px;
  font-size: clamp(38px, 4.7vw, 60px);
  line-height: .98;
  letter-spacing: 0;
  text-wrap: balance;
  color: #fff;
}

.vent-product-slide__lead {
  max-width: 650px;
  margin: 0;
  color: rgba(255, 255, 255, .92);
  font-size: clamp(17px, 1.5vw, 21px);
  line-height: 1.45;
}

.vent-product-slide__purpose {
  margin: 18px 0 0;
  color: rgba(255, 255, 255, .76);
  font-size: 14px;
  line-height: 1.5;
}

.vent-product-slide__purpose span {
  display: block;
  margin-bottom: 4px;
  color: #7bd2f4;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.vent-product-slide__purpose p { margin: 0; }

.vent-product-slide ul {
  margin: 20px 0 0;
  padding: 0;
  display: grid;
  gap: 8px;
  list-style: none;
  color: rgba(255, 255, 255, .86);
  font-size: 14px;
}

.vent-product-slide li { position: relative; padding-left: 20px; }
.vent-product-slide li::before {
  content: "";
  position: absolute;
  top: .62em;
  left: 0;
  width: 8px;
  height: 2px;
  background: var(--vent-product-blue);
}

.vent-product-slide__tags {
  margin-top: 22px;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.vent-product-slide__tags span {
  padding: 7px 10px;
  color: rgba(255, 255, 255, .88);
  background: rgba(13, 26, 35, .42);
  border: 1px solid rgba(255, 255, 255, .26);
  border-radius: 999px;
  font-size: 11px;
  font-weight: 750;
}

.vent-product-slide__actions {
  margin-top: 26px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.vent-product-hero[data-vent-product-slider] .vent-product-slide__actions,
.vent-product-hero[data-conditioning-product-slider] .vent-product-slide__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 190px));
}

.vent-product-hero[data-vent-product-slider] .vent-product-button,
.vent-product-hero[data-conditioning-product-slider] .vent-product-button {
  width: 100%;
}

.vent-product-button {
  min-height: 50px;
  padding: 0 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, .92);
  border-radius: 5px;
  font-size: 13px;
  font-weight: 800;
  text-align: center;
  transition: color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease;
}

.vent-product-button:hover,
.vent-product-button:focus-visible { transform: translateY(-2px); }
.vent-product-button--primary { color: #0e1b23; background: #fff; }
.vent-product-button--primary:hover,
.vent-product-button--primary:focus-visible { background: var(--vent-product-blue); border-color: var(--vent-product-blue); }
.vent-product-button--secondary { color: #fff; background: rgba(8, 18, 25, .38); }
.vent-product-button--secondary:hover,
.vent-product-button--secondary:focus-visible { color: #fff; background: #365467; border-color: #365467; }

.vent-product-slide__visual {
  position: relative;
  min-width: 0;
  height: clamp(360px, 36vw, 510px);
  margin: 0;
  display: grid;
  place-items: center;
}

.vent-product-slide__visual::before {
  content: "";
  position: absolute;
  width: min(90%, 520px);
  aspect-ratio: 1;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 50%;
  background: rgba(7, 16, 22, .26);
  box-shadow: 0 32px 70px rgba(0, 0, 0, .2);
}

.vent-product-slide__visual img {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 24px 25px rgba(27, 49, 62, .2));
}

.vent-product-slide__visual.is-photo {
  height: clamp(330px, 33vw, 470px);
  overflow: hidden;
  border-radius: 6px;
  box-shadow: 0 30px 60px rgba(31, 54, 68, .18);
}

.vent-product-slide__visual.is-photo::before { display: none; }
.vent-product-slide__visual.is-photo img { object-fit: cover; filter: none; }
.vent-product-slide__visual.is-blend img {
  mix-blend-mode: multiply;
  filter: none;
}

.vent-product-controls {
  position: absolute;
  right: 0;
  bottom: 18px;
  z-index: 4;
  display: flex;
  overflow: hidden;
  background: rgba(255, 255, 255, .72);
  border: 1px solid rgba(88, 110, 124, .35);
  border-radius: 5px;
  backdrop-filter: blur(12px);
}

.vent-product-controls button {
  width: 48px;
  height: 44px;
  display: grid;
  place-items: center;
  color: #233947;
  background: transparent;
  border: 0;
  cursor: pointer;
  font: inherit;
  font-size: 18px;
}

.vent-product-controls button + button { border-left: 1px solid rgba(88, 110, 124, .28); }
.vent-product-controls button:hover,
.vent-product-controls button:focus-visible { color: #fff; background: #233947; }

.vent-product-toggle-icon {
  position: relative;
  width: 16px;
  height: 16px;
  display: block;
  color: currentColor;
}

.vent-product-toggle-icon.is-pause::before,
.vent-product-toggle-icon.is-pause::after {
  content: "";
  position: absolute;
  top: 2px;
  width: 3px;
  height: 12px;
  background: currentColor;
  border-radius: 1px;
}

.vent-product-toggle-icon.is-pause::before { left: 4px; }
.vent-product-toggle-icon.is-pause::after { right: 4px; }

.vent-product-toggle-icon.is-play::before {
  content: "";
  position: absolute;
  top: 2px;
  left: 5px;
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 9px solid currentColor;
}

.vent-product-progress { position: relative; z-index: 2; height: 2px; background: rgba(255, 255, 255, .22); }
.vent-product-progress span { display: block; width: 0; height: 100%; background: var(--vent-product-blue); }
.vent-product-hero.is-playing .vent-product-progress span { animation: vent-product-progress 8s linear both; }

@keyframes vent-product-progress { from { width: 0; } to { width: 100%; } }

/* Shared system switcher below product sliders. */
.vent-system-carousel-tabs-wrap {
  position: relative;
  z-index: 5;
  background: #fff;
}

.vent-system-carousel-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid #cad5de;
}

.vent-system-carousel-tabs a {
  position: relative;
  min-width: 0;
  padding: 17px 16px 13px 0;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: #617386;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.3;
  text-align: left;
  transition: color .3s ease;
}

.vent-system-carousel-tabs a::before {
  content: "";
  position: absolute;
  top: -1px;
  right: 16px;
  left: 0;
  height: 2px;
  background: #159bd3;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .35s ease;
}

.vent-system-carousel-number {
  flex: 0 0 auto;
  color: #8796a5;
  font-size: 10px;
  letter-spacing: .12em;
}

.vent-system-carousel-tabs a:hover,
.vent-system-carousel-tabs a:focus-visible,
.vent-system-carousel-tabs a.is-active {
  color: #13212c;
}

.vent-system-carousel-tabs a.is-active::before {
  transform: scaleX(1);
}

.vent-product-nav {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.vent-product-nav button {
  min-width: 0;
  min-height: 68px;
  padding: 12px 14px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  color: #62737e;
  background: transparent;
  border: 0;
  border-right: 1px solid var(--vent-product-line);
  border-bottom: 1px solid var(--vent-product-line);
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.vent-product-nav button:nth-child(5n + 1) { border-left: 1px solid var(--vent-product-line); }
.vent-product-nav button span { color: #83919a; font-size: 10px; font-weight: 850; letter-spacing: .12em; }
.vent-product-nav button strong { overflow: hidden; font-size: 11px; line-height: 1.25; text-overflow: ellipsis; }
.vent-product-nav button:hover,
.vent-product-nav button:focus-visible,
.vent-product-nav button[aria-current="true"] { color: var(--vent-product-ink); background: rgba(255, 255, 255, .68); }
.vent-product-nav button[aria-current="true"] span { color: var(--vent-product-blue); }

@media (max-width: 920px) {
  .vent-product-slide { grid-template-columns: minmax(0, 1fr) minmax(310px, .8fr); gap: 24px; }
  .vent-product-slide h2 { font-size: clamp(34px, 5.5vw, 50px); }
  .vent-product-slide__visual { height: 360px; }
}

@media (min-width: 701px) and (max-height: 950px) {
  .vent-product-hero__heading { padding-top: 16px; }
  .vent-product-hero__heading h1 { font-size: clamp(20px, 1.7vw, 26px); }
  .vent-product-hero__stage {
    height: clamp(520px, calc(100svh - 176px), 660px);
  }
  .vent-product-slide {
    gap: clamp(26px, 4vw, 56px);
    padding: 22px 0 50px;
  }
  .vent-product-slide__number { margin-bottom: 12px; }
  .vent-product-slide h2 {
    margin: 8px 0 10px;
    font-size: clamp(34px, 4.3vw, 56px);
  }
  .vent-product-slide__purpose { margin-top: 10px; font-size: 12px; line-height: 1.35; }
  .vent-product-slide ul { margin-top: 10px; gap: 4px; font-size: 12px; line-height: 1.3; }
  .vent-product-slide__tags { display: none; }
  .vent-product-slide__actions { margin-top: 18px; }
  .vent-product-slide__visual,
  .vent-product-slide__visual.is-photo { height: clamp(300px, 32vw, 420px); }
  .vent-product-controls { bottom: 10px; }
}

@media (max-width: 700px) {
  .vent-product-hero {
    background:
      linear-gradient(90deg, rgba(7, 15, 21, .94) 0%, rgba(7, 15, 21, .78) 100%),
      linear-gradient(0deg, rgba(7, 15, 21, .7), rgba(7, 15, 21, .22)),
      url("/assets/system-library/ventilation-hero-480.webp") center / cover no-repeat;
  }
  .vent-product-hero::before { background-size: 32px 32px; }
  .vent-product-hero__heading {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .vent-product-hero__heading h1 {
    margin: 0;
  }
  .vent-product-hero__stage {
    height: auto;
    min-height: 0;
  }
  .vent-product-slide {
    grid-template-columns: 1fr;
    gap: 6px;
    padding: 10px 0 112px;
  }
  .vent-product-slide.is-active {
    position: relative;
    inset: auto;
  }
  .vent-product-slide__copy { display: contents; }
  .vent-product-slide__number { grid-row: 1; }
  .vent-product-slide__kicker { grid-row: 2; }
  .vent-product-slide h2 { grid-row: 3; align-self: stretch; }
  .vent-product-slide__visual { grid-row: 4; }
  .vent-product-slide__lead { grid-row: 5; }
  .vent-product-slide__purpose { grid-row: 6; }
  .vent-product-slide ul { grid-row: 7; }
  .vent-product-slide__tags { display: none; }
  .vent-product-slide__actions { grid-row: 8; }
  .vent-product-slide h2 { margin: 1px 0 2px; font-size: clamp(27px, 8.8vw, 35px); line-height: 1; }
  .vent-product-slide__lead { font-size: 12.5px; line-height: 1.28; }
  .vent-product-slide__purpose { margin: 1px 0 0; font-size: 11.5px; line-height: 1.25; }
  .vent-product-slide__purpose span { margin-bottom: 2px; font-size: 8px; }
  .vent-product-slide ul { margin: 1px 0 0; display: grid; gap: 2px; font-size: 11px; line-height: 1.2; }
  .vent-product-slide li { padding-left: 13px; }
  .vent-product-slide li::before { width: 6px; }
  .vent-product-slide__tags { margin-top: 5px; flex-wrap: nowrap; overflow: hidden; }
  .vent-product-slide__tags span { min-width: 0; padding: 5px 7px; overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
  .vent-product-slide__actions {
    margin-top: 7px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .vent-product-hero[data-vent-product-slider] .vent-product-slide__actions,
  .vent-product-hero[data-conditioning-product-slider] .vent-product-slide__actions {
    grid-template-columns: 1fr;
  }
  .vent-product-button {
    width: 100%;
    min-height: 46px;
    padding: 0 14px;
    font-size: 13px;
    line-height: 1.2;
  }
  .vent-product-slide__visual { height: min(42vw, 158px); }
  .vent-product-slide__visual.is-photo { height: min(41vw, 154px); }
  .vent-product-slide__visual { overflow: hidden; }
  .vent-product-slide__visual::before { width: min(90%, 170px); }
  .vent-product-slide__number { margin-bottom: 2px; font-size: 9px; }
  .vent-product-slide__kicker { font-size: 9px; line-height: 1.2; }
  .vent-product-controls { right: 0; bottom: 9px; }
  .vent-product-controls button { width: 44px; height: 42px; }
  .vent-product-slide.is-leaving { visibility: hidden; transition: none; }
  .vent-product-nav {
    display: flex;
    gap: 8px;
    padding-top: 14px;
    padding-bottom: 14px;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .vent-product-nav::-webkit-scrollbar { display: none; }
  .vent-product-nav button {
    flex: 0 0 46px;
    min-height: 36px;
    padding: 0;
    display: grid;
    place-items: center;
    border: 1px solid #ced9e0;
    border-radius: 999px;
    text-align: center;
  }
  .vent-product-nav button:nth-child(5n + 1) { border-left: 1px solid #ced9e0; }
  .vent-product-nav button strong { display: none; }
  .vent-product-nav button[aria-current="true"] { color: #fff; background: #65727b; border-color: #65727b; }
  .vent-product-nav button[aria-current="true"] span { color: #fff; }
  .vent-system-carousel-tabs-wrap { padding-top: 14px; }
  .vent-system-carousel-tabs {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 14px;
    border-top: 0;
    scrollbar-width: none;
  }
  .vent-system-carousel-tabs::-webkit-scrollbar { display: none; }
  .vent-system-carousel-tabs a {
    flex: 0 0 44px;
    width: 44px;
    height: 34px;
    min-height: 34px;
    padding: 10px 0;
    justify-content: center;
    overflow: hidden;
    color: #617386;
    border: 1px solid #ccd6df;
    border-radius: 20px;
    font-size: 0;
    text-align: center;
  }
  .vent-system-carousel-tabs a::before { display: none; }
  .vent-system-carousel-number { color: inherit; font-size: 10px; }
  .vent-system-carousel-tabs a.is-active {
    color: #13212c;
    background: #dfe5ea;
    border-color: #dfe5ea;
  }
  .vent-system-carousel-label { display: none; }
  .vent-library-index { padding: 18px 0 48px; }
  .vent-library-grid { grid-template-columns: 1fr; }
  .vent-library-card { min-height: 180px; padding: 24px 20px; gap: 18px; }
  .vent-library-card h2 { font-size: clamp(24px, 7.4vw, 31px); }
}

@media (prefers-reduced-motion: reduce) {
  .vent-product-slide { transition: none; }
  .vent-product-progress span { animation: none !important; }
}

/* Product-family colour coding. Layout and content stay shared. */
.vent-product-hero[data-vent-product-slider],
.vent-product-hero[data-conditioning-product-slider] {
  color: #11171b;
  border-color: rgba(34, 45, 52, .15);
}

.vent-product-hero[data-vent-product-slider] {
  --vent-product-blue: #34795a;
  background:
    linear-gradient(180deg, rgba(28, 43, 36, .14) 0%, rgba(28, 43, 36, 0) 20%),
    linear-gradient(118deg, rgba(255, 255, 255, .7) 0%, rgba(255, 255, 255, .22) 48%, rgba(74, 122, 91, .08) 100%),
    linear-gradient(135deg, #f4f7ef 0%, #e8efe2 52%, #d9e6d9 100%);
}

.vent-product-hero[data-conditioning-product-slider] {
  --vent-product-blue: #1688bd;
  background:
    linear-gradient(180deg, rgba(28, 43, 52, .14) 0%, rgba(28, 43, 52, 0) 20%),
    linear-gradient(118deg, rgba(255, 255, 255, .72) 0%, rgba(255, 255, 255, .22) 48%, rgba(35, 137, 184, .08) 100%),
    linear-gradient(135deg, #f1f7fa 0%, #e5f0f6 52%, #d5e8f2 100%);
}

.vent-product-hero[data-vent-product-slider]::before,
.vent-product-hero[data-conditioning-product-slider]::before,
.vent-product-hero[data-vent-product-slider] .vent-product-slide__visual::before,
.vent-product-hero[data-conditioning-product-slider] .vent-product-slide__visual::before {
  display: none;
}

.vent-product-breadcrumbs {
  position: relative;
  z-index: 3;
  padding-top: 18px;
}

.vent-product-breadcrumbs ol { color: rgba(20, 32, 38, .68); }
.vent-product-breadcrumbs a { color: inherit; }
.vent-product-breadcrumbs li:not(:last-child)::after { color: rgba(20, 32, 38, .38); }

.vent-product-hero[data-vent-product-slider] .vent-product-hero__heading h1,
.vent-product-hero[data-conditioning-product-slider] .vent-product-hero__heading h1 { color: #253139; }

.vent-product-hero[data-vent-product-slider] .vent-product-slide__number,
.vent-product-hero[data-conditioning-product-slider] .vent-product-slide__number { color: #68747a; }

.vent-product-hero[data-vent-product-slider] .vent-product-slide__kicker,
.vent-product-hero[data-vent-product-slider] .vent-product-slide__purpose span { color: #34795a; }

.vent-product-hero[data-conditioning-product-slider] .vent-product-slide__kicker,
.vent-product-hero[data-conditioning-product-slider] .vent-product-slide__purpose span { color: #1688bd; }

.vent-product-hero[data-vent-product-slider] .vent-product-slide h2,
.vent-product-hero[data-conditioning-product-slider] .vent-product-slide h2 { color: #11171b; }

.vent-product-hero[data-vent-product-slider] .vent-product-slide__lead,
.vent-product-hero[data-conditioning-product-slider] .vent-product-slide__lead { color: #1c282f; }

.vent-product-hero[data-vent-product-slider] .vent-product-slide__purpose,
.vent-product-hero[data-conditioning-product-slider] .vent-product-slide__purpose,
.vent-product-hero[data-vent-product-slider] .vent-product-slide ul,
.vent-product-hero[data-conditioning-product-slider] .vent-product-slide ul { color: #34434b; }

.vent-product-hero[data-vent-product-slider] .vent-product-slide__tags span,
.vent-product-hero[data-conditioning-product-slider] .vent-product-slide__tags span {
  color: #26333a;
  background: rgba(255, 255, 255, .32);
  border-color: rgba(44, 58, 66, .42);
}

.vent-product-hero[data-vent-product-slider] .vent-product-button,
.vent-product-hero[data-conditioning-product-slider] .vent-product-button { border-color: #11171b; }

.vent-product-hero[data-vent-product-slider] .vent-product-button--primary,
.vent-product-hero[data-conditioning-product-slider] .vent-product-button--primary {
  color: #fff;
  background: #11171b;
}

.vent-product-hero[data-vent-product-slider] .vent-product-button--secondary,
.vent-product-hero[data-conditioning-product-slider] .vent-product-button--secondary {
  color: #11171b;
  background: rgba(255, 255, 255, .28);
}

.vent-product-hero[data-vent-product-slider] .vent-product-button:hover,
.vent-product-hero[data-vent-product-slider] .vent-product-button:focus-visible {
  color: #fff;
  background: #34795a;
  border-color: #34795a;
}

.vent-product-hero[data-conditioning-product-slider] .vent-product-button:hover,
.vent-product-hero[data-conditioning-product-slider] .vent-product-button:focus-visible {
  color: #fff;
  background: #1688bd;
  border-color: #1688bd;
}

.vent-product-hero[data-vent-product-slider] .vent-product-slide__visual img,
.vent-product-hero[data-conditioning-product-slider] .vent-product-slide__visual img {
  filter: drop-shadow(0 26px 24px rgba(48, 49, 45, .14));
}

.vent-product-hero[data-vent-product-slider] .vent-product-slide__visual.is-photo img,
.vent-product-hero[data-conditioning-product-slider] .vent-product-slide__visual.is-photo img {
  filter: saturate(.86) contrast(.96);
}

.vent-product-hero[data-vent-product-slider] .vent-product-slide__visual.is-blend img {
  mix-blend-mode: multiply;
  filter: none;
}

.vent-product-hero[data-conditioning-product-slider] [data-solution="daikin-multisplit"] .vent-product-slide__visual img {
  transform: scale(.8);
  transform-origin: center;
}

/* Blend the complete stacking context so white product backgrounds meet the hero. */
.vent-product-hero[data-vent-product-slider] .vent-product-hero__stage:has(.is-active .is-blend) {
  mix-blend-mode: multiply;
}

.vent-product-hero[data-vent-product-slider] .vent-product-progress,
.vent-product-hero[data-conditioning-product-slider] .vent-product-progress {
  background: rgba(39, 54, 62, .15);
}

@media (max-width: 700px) {
  .vent-product-breadcrumbs { padding-top: 14px; }
}

/* Stable slide rhythm: headings and CTAs keep their position between products. */
@media (min-width: 701px) {
  .vent-product-slide__copy {
    align-self: center;
    display: grid;
    grid-template-rows: 15px 15px 118px 92px 61px 73px 31px 50px;
    row-gap: 6px;
  }

  .vent-product-slide__copy > * { min-width: 0; }
  .vent-product-slide__number { grid-row: 1; }
  .vent-product-slide__kicker { grid-row: 2; }
  .vent-product-slide h2 { grid-row: 3; }
  .vent-product-slide__lead { grid-row: 4; }
  .vent-product-slide__purpose { grid-row: 5; }
  .vent-product-slide ul { grid-row: 6; }
  .vent-product-slide__tags { grid-row: 7; }
  .vent-product-slide__actions { grid-row: 8; }
  .vent-product-slide__number,
  .vent-product-slide h2,
  .vent-product-slide__lead,
  .vent-product-slide__purpose,
  .vent-product-slide ul,
  .vent-product-slide__tags,
  .vent-product-slide__actions { margin: 0; }
  .vent-product-slide__visual { align-self: center; }
  .vent-product-slide[data-solution="kitchen-extract"] h2 {
    font-size: clamp(36px, 4vw, 50px);
  }
}

@media (min-width: 701px) and (max-height: 950px) {
  .vent-product-slide__copy {
    grid-template-rows: 15px 15px 110px 90px 50px 55px 0 50px;
    row-gap: 5px;
  }

  .vent-product-slide[data-solution="kitchen-extract"] h2 {
    font-size: clamp(34px, 3.6vw, 46px);
  }
}

@media (max-width: 700px) {
  .vent-product-slide {
    align-items: start;
    grid-template-rows: 12px 22px 70px min(42vw, 158px) 48px 41px 57px 100px;
  }

  .vent-product-slide__number,
  .vent-product-slide h2,
  .vent-product-slide__lead,
  .vent-product-slide__purpose,
  .vent-product-slide ul,
  .vent-product-slide__actions { margin: 0; }
  .vent-product-slide__visual,
  .vent-product-slide__visual.is-photo { height: 100%; }
}

/* Keep the complete conditioning copy clear of the controls on tablets. */
@media (min-width: 701px) and (max-width: 1100px) {
  [data-conditioning-product-slider] .vent-product-hero__stage { height: 660px; }
  [data-conditioning-product-slider] .vent-product-slide__copy {
    grid-template-rows: 15px 30px 118px 108px 74px 94px 0 50px;
    row-gap: 6px;
  }
  [data-conditioning-product-slider] .vent-product-slide__tags { display: none; }
}
