@font-face {
  font-display: swap;
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 300 800;
  src: url("../fonts/open-sans/OpenSans-Variable.ttf") format("truetype-variations");
}

@font-face {
  font-display: swap;
  font-family: "Open Sans";
  font-style: italic;
  font-weight: 300 800;
  src: url("../fonts/open-sans/OpenSans-Italic-Variable.ttf") format("truetype-variations");
}

:root {
  --cassiopeia-color-primary: #a71118;
  --cassiopeia-color-link: #a71118;
  --cassiopeia-color-hover: #760b10;
  --cassiopeia-font-family-body: "Open Sans", Arial, Helvetica, sans-serif;
  --cassiopeia-font-family-headings: "Open Sans", Arial, Helvetica, sans-serif;
  --hp-red: #a71118;
  --hp-dark: #161616;
  --hp-gray: #696969;
  --hp-light: #999999;
  --hp-muted: #f3f3f3;
  --hp-radius: .35rem;
}

body {
  color: #262626;
  font-family: "Open Sans", Arial, Helvetica, sans-serif;
  line-height: 1.55;
}

.container-header {
  background: #fff;
  border-bottom: 1px solid #ececec;
  box-shadow: 0 2px 8px rgb(0 0 0 / 5%);
  color: var(--hp-dark);
  font-size: 16px;
  z-index: 1030;
}

.container-header .navbar-brand img {
  max-height: 68px;
  width: auto;
}

.container-header .mod-menu {
  color: var(--hp-gray);
  font-size: 14px;
  font-weight: 800;
  gap: clamp(1rem, 2.2vw, 2rem);
  justify-content: center;
  letter-spacing: .075em;
  text-transform: uppercase;
}

.container-header .mod-menu > li > a,
.container-header .mod-menu > li > span,
.container-header .mod-menu button,
.metismenu.mod-menu .mm-toggler {
  color: var(--hp-gray);
  text-decoration: none !important;
  font-size: 14px;
  font-weight: 700;
}

.metismenu.mod-menu .deeper.parent .deeper.parent > .mm-toggler {
  font-size: 16px;
  font-weight: 400;
}

:hover.metismenu.mod-menu .deeper.parent > .mm-toggler {
  color: var(--hp-white);
}

.container-header .metismenu.mod-menu > .metismenu-item > a,
.container-header .metismenu.mod-menu > .metismenu-item > button,
.container-header .metismenu.mod-menu > .metismenu-item > span {
  text-transform: uppercase;
}

.container-header .metismenu.mod-menu > .metismenu-item.current > a,
.container-header .metismenu.mod-menu > .metismenu-item.current > button {
  color: var(--hp-red);
  text-decoration: none;
}

.container-header .container-nav {
  align-items: center;
  justify-content: flex-end;
  min-height: 90px;
  padding: 0 1rem;
}

.container-header nav {
  margin-top: 0;
  width: auto;
}

.container-header .navbar-toggler {
  border: 0;
  color: #f03f45;
  font-size: 2rem;
  padding: .35rem;
}

.container-header .navbar-toggler:focus {
  box-shadow: 0 0 0 .16rem rgb(240 63 69 / 22%);
}

.container-header .metismenu.mod-menu > .metismenu-item {
  padding: 0;
}

.container-header .metismenu.mod-menu > .metismenu-item > a,
.container-header .metismenu.mod-menu > .metismenu-item > button,
.container-header .metismenu.mod-menu > .metismenu-item > span {
  align-items: center;
  display: flex;
  min-height: 90px;
  padding: 0;
}

.container-header .metismenu.mod-menu .mm-toggler::after {
  border-left-width: .3em;
  border-right-width: .3em;
  border-top-width: .3em;
  margin-inline-start: .45em;
}

@media (min-width: 992px) {
  .container-header .navbar-toggler {
    display: none;
  }

  .container-header .navbar-collapse {
    display: flex !important;
  }

  .container-header .metismenu.mod-menu .metismenu-item.parent > .mm-collapse {
    background: #fff;
    border: 0;
    box-shadow: 0 8px 18px rgb(0 0 0 / 12%);
    display: block;
    height: auto !important;
    min-width: 240px;
    opacity: 0;
    padding: 20px;
    pointer-events: none;
    transform: translateY(5px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
    visibility: hidden;
  }

  .container-header .metismenu.mod-menu > .metismenu-item.parent > .mm-collapse {
    top: 100%;
  }

  .container-header .metismenu.mod-menu .metismenu-item.parent:hover > .mm-collapse,
  .container-header .metismenu.mod-menu .metismenu-item.parent:focus-within > .mm-collapse {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    visibility: visible;
  }

  .container-header .metismenu.mod-menu .mm-collapse > .metismenu-item {
    align-items: stretch;
    color: #222;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.25;
    padding: 0;
    position: relative;
    text-transform: none;
    transition: background-color .24s ease, color .24s ease;
  }

  .container-header .metismenu.mod-menu .mm-collapse > .metismenu-item > a,
  .container-header .metismenu.mod-menu .mm-collapse > .metismenu-item > span,
  .container-header .metismenu.mod-menu .mm-collapse > .metismenu-item > button:not(.mm-toggler) {
    color: inherit;
    display: flex;
    flex: 1 1 auto;
    min-height: 40px;
    padding: 10px;
    white-space: normal;
    text-decoration: none;
  }

  .container-header .metismenu.mod-menu .mm-collapse > .metismenu-item:hover,
  .container-header .metismenu.mod-menu .mm-collapse > .metismenu-item:focus-within,
  .container-header .metismenu.mod-menu .mm-collapse > .metismenu-item.current {
    background: #ef4148;
    color: #fff;
  }

  .container-header .metismenu.mod-menu .mm-collapse > .metismenu-item > .mm-toggler {
    align-items: center;
    align-self: stretch;
    display: flex;
    flex: 1 1 auto;
    justify-content: space-between;
    min-height: 40px;
    padding: 10px;
    width: 100%;
  }

  .container-header .metismenu.mod-menu .mm-collapse > .metismenu-item > .mm-toggler::after {
    border-bottom: .3em solid transparent;
    border-left: .3em solid currentColor;
    border-right: 0;
    border-top: .3em solid transparent;
    margin: 0;
    transform: none;
  }

  .container-header .metismenu.mod-menu .mm-collapse .mm-collapse {
    background: #fff;
    left: calc(100% - 8px);
    margin: -20px 0 0;
    min-width: 260px;
    padding: 20px;
    position: absolute;
    top: 0;
  }
}

.container-topbar {
  background: #f3f3f3;
  color: #777;
}

.container-topbar > * {
  width: 100%;
}

.hp-topbar {
  color: var(--hp-light);
  align-items: center;
  display: flex;
  font-size: 16px;
  font-weight: 400;
  justify-content: space-between;
  margin-inline: auto;
  max-width: 1320px;
  min-height: 38px;
  padding: .35rem 1rem;
  width: 100%;
}

.hp-topbar address {
  font-size: 16px;
  font-style: italic;
  font-weight: 700;
  margin: 0;
}

.hp-topbar ul {
  display: flex;
  font-size: 15px;
  font-weight: 400;
  gap: 1.35rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.hp-topbar a,
.hp-footer a {
  color: inherit;
  text-decoration: none;
}

.hp-topbar a,
.container-topbar a:not(.btn) {
  color: var(--hp-light);
  font-weight: 400;
}

.hp-topbar a:hover,
.container-topbar a:not(.btn):hover {
  color: #ef6a6e;
  font-weight: 400;
}

.container-component {
  max-width: 100%;
}

body.itemid-101 .site-grid .container-component {
  grid-column: full-start / full-end;
}

body.itemid-101 .container-component,
body.itemid-101 .container-component main,
body.itemid-101 .item-page {
  display: block;
  padding: 0;
  width: 100%;
}

body.itemid-101 .mod-breadcrumbs__wrapper,
body.itemid-101 .page-header,
body.itemid-101 .article-info,
body.itemid-101 .icons {
  display: none;
}

.item-page > .page-header:first-child {
  display: none;
}

.hp-factory,
.hp-contact {
  margin-inline: auto;
  max-width: 1240px;
}

.hp-home {
  max-width: none;
  width: 100%;
}

.hp-hero {
  background: var(--hp-dark);
  color: #fff;
  display: grid;
  height: clamp(440px, 52.5vw, 820px);
  overflow: hidden;
  position: relative;
  width: 100%;
}

.hp-hero__video,
.hp-page-hero {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.hp-hero__video {
  grid-area: 1 / 1;
  opacity: .78;
}

.hp-hero__content {
  align-self: center;
  grid-area: 1 / 1;
  justify-self: center;
  max-width: 1050px;
  padding: 2rem;
  position: relative;
  text-align: center;
  text-shadow: 0 2px 18px rgb(0 0 0 / 60%);
  width: 100%;
}

.hp-hero h1 {
  font-size: clamp(1.8rem, 3vw, 3rem);
  font-weight: 900;
  letter-spacing: -.015em;
  line-height: 1.1;
  margin-bottom: .7rem;
  text-transform: uppercase;
}

.hp-hero h2 {
  font-size: clamp(1.1rem, 2.2vw, 2rem);
  font-weight: 700;
  margin-bottom: 1.2rem;
  text-transform: uppercase;
}

.hp-hero__logo {
  display: block;
  margin: 1.2rem auto 0;
  max-width: min(285px, 65vw);
  width: 100%;
}

.hp-eyebrow {
  color: #fff;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.btn-primary {
  background: var(--hp-red);
  border-color: var(--hp-red);
  border-radius: .15rem;
  font-weight: 700;
  padding: .8rem 1.25rem;
  text-transform: uppercase;
}

.hp-intro {
  align-items: center;
  background: #f7f7f7;
  display: grid;
  gap: clamp(2rem, 4vw, 3rem);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-inline: auto;
  max-width: none;
  padding: clamp(3rem, 6vw, 5.5rem) max(1rem, calc((100vw - 1140px) / 2));
}

.hp-intro h2 {
  font-size: 1.35rem;
  font-weight: 500;
  margin-bottom: .65rem;
}

.hp-intro p {
  color: #626262;
  font-size: .9rem;
  margin: 0;
  text-align: justify;
}

.hp-video {
  aspect-ratio: 16 / 9;
  box-shadow: none;
}

.hp-video iframe {
  border: 0;
  height: 100%;
  width: 100%;
}

.hp-products,
.hp-feature-grid,
.hp-contact {
  padding: clamp(2.5rem, 6vw, 5rem) clamp(1rem, 4vw, 3rem);
}

.hp-products {
  background: #fff;
  margin-inline: auto;
  max-width: 1140px;
  padding-top: clamp(3.5rem, 7vw, 6rem);
}

.hp-home-contact,
.hp-contact-form {
  margin-inline: auto;
  max-width: 900px;
  padding: clamp(3rem, 7vw, 6rem) clamp(1rem, 4vw, 3rem);
}

.hp-home-contact > h2,
.hp-contact-form > h2 {
  font-size: clamp(1.8rem, 4vw, 3rem);
  font-weight: 900;
  text-align: center;
  text-transform: uppercase;
}

.hp-products > h2,
.hp-factory > h1,
.hp-contact > h1 {
  color: var(--hp-dark);
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 900;
  text-transform: uppercase;
}

.hp-product-grid,
.hp-feature-grid,
.hp-contact-grid {
  display: grid;
  gap: 1.25rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.hp-product-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 3.5rem 2rem;
  justify-content: center;
}

.hp-product-card,
.hp-feature-grid section,
.hp-contact-grid section {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: var(--hp-radius);
  box-shadow: 0 8px 26px rgb(0 0 0 / 8%);
  overflow: hidden;
}

.hp-product-card {
  color: var(--hp-dark);
  flex: 0 1 calc((100% - 4rem) / 3);
  font-size: 1rem;
  font-weight: 800;
  min-width: 0;
  text-decoration: none;
}

.hp-product-card img,
.hp-feature-grid img {
  aspect-ratio: 16 / 10;
  object-fit: cover;
  width: 100%;
}

.hp-product-card span,
.hp-feature-grid section > :not(img),
.hp-contact-grid section > * {
  display: block;
  margin-inline: 1.25rem;
}

.hp-product-card span {
  color: #ef4148;
  margin-block: .9rem;
  text-align: center;
}

.hp-cta {
  background: var(--hp-dark);
  color: #fff;
  padding: clamp(2.5rem, 6vw, 5rem) clamp(1rem, 4vw, 3rem);
  text-align: center;
}

.hp-page-hero {
  max-height: 620px;
}

.hp-factory > h1,
.hp-factory > .lead,
.hp-factory > p:not(.hp-cta) {
  margin-inline: auto;
  max-width: 980px;
  padding-inline: 1rem;
}

.hp-factory > h1 {
  margin-top: 3rem;
}

.hp-feature-grid section {
  padding-bottom: 1.5rem;
}

.hp-feature-grid h2 {
  font-size: 1.25rem;
  font-weight: 800;
  margin-top: 1rem;
}

body.hp-product-page .item-page .page-header,
body.hp-product-page .item-page .article-info,
body.hp-product-page .item-page .icons {
  display: none;
}

body.hp-product-page .mod-breadcrumbs__wrapper,
body.hp-factory-page .mod-breadcrumbs__wrapper,
body.hp-factory-page .item-page > .page-header,
body.hp-factory-page .item-page > .article-info,
body.hp-factory-page .item-page > .icons {
  display: none;
}

body.hp-factory-page .site-grid .container-component {
  grid-column: full-start / full-end;
  max-width: none;
  padding: 0;
}

body.hp-factory-page .container-component main,
body.hp-factory-page .item-page,
body.hp-factory-page .com-content-article__body,
.hp-factory {
  margin: 0;
  max-width: none;
  padding: 0;
  width: 100%;
}

.hp-product-hero {
  min-height: clamp(360px, 46vw, 650px);
  overflow: hidden;
  position: relative;
}

.hp-product-hero::after {
  background: linear-gradient(180deg, rgb(0 0 0 / 2%), rgb(0 0 0 / 30%));
  content: "";
  inset: 0;
  position: absolute;
}

.hp-product-hero > img {
  height: 100%;
  inset: 0;
  object-fit: cover;
  position: absolute;
  width: 100%;
}

.hp-product-hero__content {
  color: #fff;
  left: 50%;
  max-width: 1140px;
  padding: 1.5rem;
  position: absolute;
  text-align: center;
  text-shadow: 0 2px 12px rgb(0 0 0 / 70%);
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  z-index: 1;
}

.hp-product-hero__content h1 {
  color: #f23f45;
  font-size: clamp(2rem, 4vw, 3.25rem);
  font-weight: 800;
  margin: 0 0 .75rem;
  text-shadow: 0 1px 8px rgb(0 0 0 / 55%);
}

.hp-product-hero__content p {
  font-size: clamp(1rem, 1.8vw, 1.35rem);
  font-weight: 500;
  margin: 0;
}

.hp-product-intro,
.hp-product-carousel,
.hp-product-features,
.hp-product-actions {
  margin-inline: auto;
  max-width: 1140px;
}

/* Shared presentation for standard product articles. */
body.hp-product-page:not(.hp-factory-page) .site-grid .container-component {
  grid-column: full-start / full-end;
  max-width: none;
  padding: 0;
}

body.hp-product-page:not(.hp-factory-page) .container-component main,
body.hp-product-page:not(.hp-factory-page) .item-page,
body.hp-product-page:not(.hp-factory-page) .com-content-article__body,
.hp-standard-product {
  margin: 0;
  max-width: none;
  padding: 0;
  width: 100%;
}

.hp-standard-product {
  --hp-product-dark: #161819;
  --hp-product-panel: #202223;
  --hp-product-muted: #6a6c6e;
  color: #242526;
  overflow: hidden;
}

.hp-standard-product__hero {
  background:
    radial-gradient(circle at 22% 45%, rgb(239 67 67 / 18%), transparent 34%),
    linear-gradient(135deg, #101213, var(--hp-product-dark));
  color: #fff;
  min-height: clamp(560px, 70vh, 760px);
  position: relative;
}

.hp-standard-product__hero::after {
  background: linear-gradient(90deg, var(--hp-red), transparent);
  bottom: 0;
  content: "";
  height: 4px;
  left: 0;
  position: absolute;
  width: 62%;
}

.hp-standard-product__hero-inner {
  align-items: center;
  display: grid;
  gap: clamp(2rem, 5vw, 6rem);
  grid-template-columns: minmax(0, 1.12fr) minmax(340px, .88fr);
  margin: 0 auto;
  max-width: 1320px;
  min-height: inherit;
  padding: clamp(4rem, 8vw, 7rem) clamp(1.25rem, 5vw, 4.5rem);
}

.hp-standard-product__visual {
  isolation: isolate;
  position: relative;
}

.hp-standard-product__halo {
  background: var(--hp-red);
  border-radius: 50%;
  filter: blur(1px);
  height: min(33vw, 440px);
  left: 50%;
  opacity: .13;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(33vw, 440px);
  z-index: -1;
}

.hp-standard-product__visual img {
  aspect-ratio: 16 / 10;
  border-radius: 4px;
  box-shadow: 0 28px 70px rgb(0 0 0 / 42%);
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}

.hp-standard-product__summary {
  max-width: 590px;
}

.hp-standard-product__eyebrow,
.hp-product-section__heading > span {
  align-items: center;
  color: var(--hp-red);
  display: flex;
  font-size: .76rem;
  font-weight: 800;
  gap: .75rem;
  letter-spacing: .16em;
  margin: 0 0 1rem;
  text-transform: uppercase;
}

.hp-standard-product__eyebrow::before,
.hp-product-section__heading > span::before {
  background: currentcolor;
  content: "";
  height: 2px;
  width: 34px;
}

.hp-standard-product__summary h1 {
  color: #fff;
  font-size: clamp(2.8rem, 6vw, 5.75rem);
  font-weight: 800;
  letter-spacing: -.045em;
  line-height: .96;
  margin: 0;
  text-transform: uppercase;
}

.hp-standard-product__subtitle {
  color: var(--hp-red);
  font-size: clamp(1.35rem, 2.4vw, 2.25rem);
  font-weight: 700;
  line-height: 1.15;
  margin: 1rem 0 1.25rem;
}

.hp-standard-product__summary > p:not([class]) {
  color: #c5c6c7;
  font-size: 1.04rem;
  line-height: 1.75;
  margin-bottom: 2rem;
}

.hp-standard-product .btn-primary {
  background: var(--hp-red);
  border-color: var(--hp-red);
  border-radius: 2px;
  font-weight: 800;
  letter-spacing: .04em;
  padding: .9rem 1.45rem;
  text-transform: uppercase;
}

.hp-product-stats {
  background: var(--hp-product-panel);
  color: #fff;
}

.hp-product-stats > div {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin: 0 auto;
  max-width: 1180px;
}

.hp-product-stat {
  border-right: 1px solid rgb(255 255 255 / 10%);
  padding: clamp(2rem, 5vw, 4rem) 1.5rem;
  text-align: center;
}

.hp-product-stat:last-child {
  border-right: 0;
}

.hp-product-stat strong {
  color: var(--hp-red);
  display: block;
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: 1;
}

.hp-product-stat span {
  color: #c8c9ca;
  display: block;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  margin-top: .8rem;
  text-transform: uppercase;
}

.hp-product-section {
  margin: 0 auto;
  max-width: 1180px;
  padding: clamp(4rem, 8vw, 7rem) clamp(1.25rem, 4vw, 3rem);
}

.hp-product-section__heading {
  margin-bottom: clamp(2rem, 4vw, 3.5rem);
  max-width: 760px;
}

.hp-product-section__heading h2 {
  color: #1f2021;
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 800;
  letter-spacing: .005em;
  line-height: 1.04;
  margin: 0;
  text-transform: uppercase;
}

.hp-product-prose {
  color: #4d4f51;
  font-size: 1rem;
  line-height: 1.75;
}

.hp-product-prose > p,
.hp-product-prose > ul,
.hp-product-prose > ol,
.hp-product-prose > div:not(.hp-table-scroll) {
  max-width: 900px;
}

.hp-product-prose strong {
  color: #242526;
}

.hp-product-prose ul,
.hp-product-prose ol {
  padding-left: 1.3rem;
}

.hp-product-prose li {
  margin-bottom: .45rem;
  padding-left: .25rem;
}

.hp-product-specifications {
  background: #f1f2f2;
}

.hp-table-scroll {
  background: #fff;
  border: 1px solid #dfe1e2;
  border-radius: 4px;
  box-shadow: 0 12px 35px rgb(0 0 0 / 6%);
  margin: 1.5rem 0 2.5rem;
  max-width: 100%;
  overflow-x: auto;
}

.hp-spec-table {
  border: 0 !important;
  border-collapse: collapse;
  margin: 0;
  min-width: 620px;
  width: 100% !important;
}

.hp-spec-table td,
.hp-spec-table th {
  border: 0 !important;
  border-bottom: 1px solid #e4e5e6 !important;
  padding: .85rem 1rem;
  text-align: left;
  vertical-align: top;
}

.hp-spec-table tr:last-child td {
  border-bottom: 0 !important;
}

.hp-spec-table tr:nth-child(even) {
  background: #f8f8f8;
}

.hp-spec-table td:first-child,
.hp-spec-table th:first-child {
  color: #252627;
  font-weight: 700;
  width: 44%;
}

.hp-product-gallery {
  max-width: 1440px;
}

.hp-product-gallery__grid {
  display: grid;
  gap: 4px;
  grid-auto-rows: clamp(180px, 24vw, 340px);
  grid-template-columns: repeat(3, 1fr);
}

.hp-product-gallery__item {
  background: #17191a;
  display: block;
  overflow: hidden;
  position: relative;
}

.hp-product-gallery__item:first-child:nth-last-child(n + 4) {
  grid-column: span 2;
  grid-row: span 2;
}

.hp-product-gallery__item::after {
  align-items: center;
  background: rgb(239 67 67 / 88%);
  color: #fff;
  content: "+";
  display: flex;
  font-size: 2rem;
  height: 48px;
  justify-content: center;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
  transition: opacity .2s ease;
  width: 48px;
}

.hp-product-gallery__item:hover::after,
.hp-product-gallery__item:focus-visible::after {
  opacity: 1;
}

.hp-product-gallery__item img {
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
  width: 100%;
}

.hp-product-gallery__item:hover img {
  transform: scale(1.025);
}

.hp-product-videos {
  background: var(--hp-product-dark);
  color: #fff;
  max-width: none;
}

.hp-product-videos > * {
  margin-inline: auto;
  max-width: 1180px;
}

.hp-product-videos .hp-product-section__heading h2 {
  color: #fff;
}

.hp-product-videos__grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
}

.hp-product-video {
  aspect-ratio: 16 / 9;
  background: #090a0a;
}

.hp-product-video iframe {
  border: 0;
  height: 100%;
  width: 100%;
}

.hp-product-final-cta {
  background: #111314;
  color: #fff;
  padding: clamp(4rem, 9vw, 8rem) 1.25rem;
  text-align: center;
}

.hp-product-final-cta p {
  color: #aeb0b1;
  margin-bottom: .75rem;
}

.hp-product-final-cta h2 {
  color: #fff;
  font-size: clamp(2rem, 5vw, 4rem);
  font-weight: 800;
  letter-spacing: .005em;
  margin: 0 0 2rem;
}

.hp-lightbox {
  background: transparent;
  border: 0;
  height: 100%;
  max-height: none;
  max-width: none;
  padding: clamp(1rem, 4vw, 3rem);
  width: 100%;
}

.hp-lightbox::backdrop {
  background: rgb(0 0 0 / 90%);
}

.hp-lightbox img {
  height: 100%;
  object-fit: contain;
  width: 100%;
}

.hp-lightbox__close,
.hp-lightbox__nav {
  background: var(--hp-red);
  border: 1px solid var(--hp-red);
  color: #fff;
  cursor: pointer;
  position: fixed;
  transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}

.hp-lightbox__close {
  font-size: 1.6rem;
  height: 46px;
  right: 1rem;
  top: 1rem;
  width: 46px;
}

.hp-lightbox__nav {
  border-radius: 50%;
  font-size: 2.2rem;
  height: 56px;
  line-height: 1;
  padding: 0 0 .2rem;
  top: 50%;
  transform: translateY(-50%);
  width: 56px;
}

.hp-lightbox__nav--previous {
  left: 1rem;
}

.hp-lightbox__nav--next {
  right: 1rem;
}

.hp-lightbox__close:hover,
.hp-lightbox__close:focus-visible,
.hp-lightbox__nav:hover,
.hp-lightbox__nav:focus-visible {
  background: #be2028;
  border-color: #be2028;
  outline: 3px solid rgb(255 255 255 / 75%);
  outline-offset: 3px;
}

.hp-lightbox__nav:hover,
.hp-lightbox__nav:focus-visible {
  transform: translateY(-50%) scale(1.06);
}

.hp-lightbox__counter {
  background: rgb(0 0 0 / 72%);
  bottom: 1rem;
  color: #fff;
  font-size: .9rem;
  left: 50%;
  padding: .4rem .75rem;
  position: fixed;
  transform: translateX(-50%);
}

body.hp-product-page .pagenavigation {
  margin: 0 auto;
  max-width: 1180px;
  padding: 2rem clamp(1.25rem, 4vw, 3rem) 4rem;
}

body.hp-product-page .pagenavigation .pagination {
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin: 0;
  width: 100%;
}

body.hp-product-page .pagenavigation .next {
  margin-left: auto;
}

body.hp-product-page .pagenavigation .btn {
  background: var(--hp-red);
  border-color: var(--hp-red);
  border-radius: 2px;
  color: #fff;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .04em;
  min-width: 108px;
  padding: .75rem 1rem;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

body.hp-product-page .pagenavigation .btn:hover,
body.hp-product-page .pagenavigation .btn:focus-visible {
  background: #be2028;
  border-color: #be2028;
  color: #fff;
  transform: translateY(-2px);
}

/* Contact page */
body.hp-contact-page .mod-breadcrumbs__wrapper,
body.hp-contact-page .item-page .page-header,
body.hp-contact-page .item-page .article-info,
body.hp-contact-page .item-page .icons,
body.hp-contact-page .pagenavigation {
  display: none;
}

body.hp-contact-page .site-grid .container-component {
  grid-column: full-start / full-end;
  max-width: none;
  padding: 0;
}

body.hp-contact-page .container-component main,
body.hp-contact-page .item-page,
body.hp-contact-page .com-content-article__body,
.hp-contact {
  margin: 0;
  max-width: none;
  padding: 0;
  width: 100%;
}

.hp-contact-hero {
  background:
    radial-gradient(circle at 78% 35%, rgb(239 65 72 / 21%), transparent 31%),
    linear-gradient(135deg, #101213, #1b1d1e);
  color: #fff;
  min-height: clamp(500px, 62vh, 680px);
  position: relative;
}

.hp-contact-hero::after {
  background: linear-gradient(90deg, var(--hp-red), transparent);
  bottom: 0;
  content: "";
  height: 4px;
  left: 0;
  position: absolute;
  width: 68%;
}

.hp-contact-hero__inner {
  align-items: center;
  display: grid;
  gap: clamp(3rem, 8vw, 8rem);
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  margin: 0 auto;
  max-width: 1180px;
  min-height: inherit;
  padding: clamp(4rem, 8vw, 7rem) clamp(1.25rem, 4vw, 3rem);
}

.hp-contact-eyebrow,
.hp-contact-section-heading > span,
.hp-contact-form-card__heading > span {
  align-items: center;
  color: var(--hp-red);
  display: flex;
  font-size: .76rem;
  font-weight: 800;
  gap: .75rem;
  letter-spacing: .16em;
  margin: 0 0 1rem;
  text-transform: uppercase;
}

.hp-contact-eyebrow::before,
.hp-contact-section-heading > span::before,
.hp-contact-form-card__heading > span::before {
  background: currentcolor;
  content: "";
  height: 2px;
  width: 34px;
}

.hp-contact-hero__copy h1 {
  color: #fff;
  font-size: clamp(2.7rem, 5.5vw, 5rem);
  font-weight: 800;
  letter-spacing: -.045em;
  line-height: .98;
  margin: 0 0 1.5rem;
  max-width: 790px;
  text-transform: uppercase;
}

.hp-contact-hero__copy > p:not(.hp-contact-eyebrow) {
  color: #c6c7c8;
  font-size: 1.05rem;
  line-height: 1.75;
  margin-bottom: 2rem;
  max-width: 660px;
}

.hp-contact-hero__card {
  backdrop-filter: blur(10px);
  background: rgb(255 255 255 / 6%);
  border: 1px solid rgb(255 255 255 / 13%);
  border-top: 3px solid var(--hp-red);
  box-shadow: 0 24px 60px rgb(0 0 0 / 28%);
  padding: clamp(1.5rem, 4vw, 2.5rem);
}

.hp-contact-hero__card-label {
  color: #909294;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  margin-bottom: .75rem;
  text-transform: uppercase;
}

.hp-contact-hero__card a {
  border-bottom: 1px solid rgb(255 255 255 / 11%);
  color: #fff;
  display: block;
  padding: 1rem 0;
  text-decoration: none;
  transition: color .18s ease, padding-left .18s ease;
}

.hp-contact-hero__card a:last-child {
  border-bottom: 0;
}

.hp-contact-hero__card a:hover,
.hp-contact-hero__card a:focus-visible {
  color: var(--hp-red);
  padding-left: .4rem;
}

.hp-contact-hero__card span {
  color: #929496;
  display: block;
  font-size: .72rem;
  letter-spacing: .08em;
  margin-bottom: .2rem;
  text-transform: uppercase;
}

.hp-contact-hero__card strong {
  font-size: clamp(1rem, 2vw, 1.25rem);
}

.hp-contact-main {
  align-items: start;
  display: grid;
  gap: clamp(2.5rem, 7vw, 6rem);
  grid-template-columns: minmax(280px, .75fr) minmax(0, 1.25fr);
  margin: 0 auto;
  max-width: 1180px;
  padding: clamp(4rem, 9vw, 8rem) clamp(1.25rem, 4vw, 3rem);
}

.hp-contact-section-heading h2,
.hp-contact-form-card__heading h2 {
  color: #202223;
  font-size: clamp(2rem, 4vw, 3.3rem);
  font-weight: 800;
  letter-spacing: .005em;
  line-height: 1.04;
  margin: 0 0 1rem;
  text-transform: uppercase;
}

.hp-contact-section-heading > p,
.hp-contact-form-card__heading > p {
  color: #66686a;
  line-height: 1.7;
}

.hp-contact-details {
  display: grid;
  gap: 1px;
  margin-top: 2.5rem;
}

.hp-contact-details article {
  background: #f1f2f2;
  border-left: 3px solid transparent;
  padding: 1.4rem 1.5rem;
  transition: background-color .18s ease, border-color .18s ease;
}

.hp-contact-details article:hover {
  background: #e9eaeb;
  border-left-color: var(--hp-red);
}

.hp-contact-details article > span {
  color: var(--hp-red);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.hp-contact-details h3 {
  font-size: 1.1rem;
  font-weight: 800;
  margin: .35rem 0 .5rem;
}

.hp-contact-details p,
.hp-contact-details address,
.hp-contact-details ul {
  color: #606264;
  line-height: 1.55;
  margin: 0;
}

.hp-contact-details ul {
  padding-left: 1.15rem;
}

.hp-contact-form-card {
  background: #fff;
  border-top: 4px solid var(--hp-red);
  box-shadow: 0 20px 60px rgb(0 0 0 / 11%);
  padding: clamp(1.5rem, 5vw, 3.5rem);
}

.hp-contact-page .hp-contact-form {
  margin: 2rem 0 0;
  max-width: none;
  padding: 0;
}

.hp-contact-page .hp-contact-form .form-control,
.hp-contact-page .hp-contact-form input[type="text"],
.hp-contact-page .hp-contact-form input[type="email"],
.hp-contact-page .hp-contact-form input[type="tel"],
.hp-contact-page .hp-contact-form textarea {
  background: #f7f7f7;
  border: 1px solid #d9dbdc;
  border-radius: 2px;
  min-height: 48px;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.hp-contact-page .hp-contact-form textarea {
  min-height: 150px;
}

.hp-contact-page .hp-contact-form .form-control:focus,
.hp-contact-page .hp-contact-form input:focus,
.hp-contact-page .hp-contact-form textarea:focus {
  border-color: var(--hp-red);
  box-shadow: 0 0 0 .2rem rgb(239 65 72 / 13%);
  outline: 0;
}

[data-hp-quote-product].is-added {
  background: var(--hp-red);
  border-color: var(--hp-red);
}

[data-hp-quote-product].is-added:hover,
[data-hp-quote-product].is-added:focus-visible {
  background: #760b10;
  border-color: #760b10;
}

.hp-quote-dock {
  align-items: center;
  background: #17191a;
  border-left: 4px solid var(--hp-red);
  bottom: 1.25rem;
  box-shadow: 0 12px 35px rgb(0 0 0 / 28%);
  color: #fff;
  display: flex;
  gap: 1.25rem;
  padding: .85rem 1rem .85rem 1.1rem;
  position: fixed;
  right: 1.25rem;
  z-index: 1050;
}

.hp-quote-dock > span {
  color: #b9bbbc;
  font-size: .78rem;
  white-space: nowrap;
}

.hp-quote-dock a {
  background: var(--hp-red);
  color: #fff;
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .04em;
  padding: .7rem .85rem;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color .18s ease;
}

.hp-quote-dock a:hover,
.hp-quote-dock a:focus-visible {
  background: #be2028;
  color: #fff;
}

body.hp-has-quote-dock .back-to-top-link {
  bottom: calc(var(--hp-quote-dock-height, 4.5rem) + 2.25rem);
  z-index: 1060;
}

.hp-quote-toast {
  background: #20734a;
  bottom: 6.2rem;
  box-shadow: 0 10px 30px rgb(0 0 0 / 22%);
  color: #fff;
  max-width: min(420px, calc(100vw - 2rem));
  opacity: 0;
  padding: .9rem 1.15rem;
  pointer-events: none;
  position: fixed;
  right: 1.25rem;
  transform: translateY(.75rem);
  transition: opacity .2s ease, transform .2s ease;
  z-index: 1051;
}

.hp-quote-toast.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.hp-contact-quote-basket {
  background: #f1f2f2;
  border-left: 4px solid var(--hp-red);
  margin: 2rem 0;
  padding: 1.25rem;
}

.hp-contact-quote-basket[hidden] {
  display: none;
}

.hp-contact-quote-basket__heading {
  align-items: center;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-bottom: 1rem;
}

.hp-contact-quote-basket__heading span {
  color: var(--hp-red);
  display: block;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .1em;
  margin-bottom: .2rem;
  text-transform: uppercase;
}

.hp-contact-quote-basket__heading h3 {
  font-size: 1.2rem;
  font-weight: 800;
  margin: 0;
}

.hp-contact-quote-basket__clear {
  background: transparent;
  border: 0;
  color: #67696b;
  cursor: pointer;
  font-size: .78rem;
  padding: .35rem;
  text-decoration: underline;
  text-underline-offset: .18em;
}

.hp-contact-quote-basket__clear:hover,
.hp-contact-quote-basket__clear:focus-visible {
  color: var(--hp-red);
}

.hp-contact-quote-basket ul {
  display: grid;
  gap: .45rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.hp-contact-quote-basket li {
  align-items: center;
  background: #fff;
  border: 1px solid #dfe1e2;
  display: flex;
  font-weight: 700;
  gap: .75rem;
  justify-content: space-between;
  padding: .7rem .8rem .7rem 1rem;
}

.hp-contact-quote-basket li button {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 50%;
  color: #777;
  cursor: pointer;
  display: flex;
  font-size: 1.35rem;
  height: 32px;
  justify-content: center;
  line-height: 1;
  width: 32px;
}

.hp-contact-quote-basket li button:hover,
.hp-contact-quote-basket li button:focus-visible {
  background: var(--hp-red);
  color: #fff;
}

/* Optional-accessories catalogue and detail pages. */
body.hp-accessory-page .mod-breadcrumbs__wrapper,
body.hp-accessory-page .page-header,
body.hp-accessory-page .article-info,
body.hp-accessory-page .icons,
body.hp-accessory-page .category-name,
body.hp-accessory-page .tags,
body.hp-accessory-page .tagspopular {
  display: none;
}

body.hp-accessory-page .site-grid .container-component {
  grid-column: full-start / full-end;
  max-width: none;
  padding: 0;
}

body.hp-accessory-page .container-component main,
body.hp-accessory-page .blog,
body.hp-accessory-page .category-desc,
body.hp-accessory-page .item-page,
body.hp-accessory-page .com-content-article__body,
.hp-accessory-catalogue,
.hp-accessory-detail {
  margin: 0;
  max-width: none;
  padding: 0;
  width: 100%;
}

.hp-accessory-catalogue,
.hp-accessory-detail {
  --hp-accessory-dark: #161819;
  color: #252627;
  overflow: hidden;
}

.hp-accessory-catalogue__hero {
  background:
    radial-gradient(circle at 78% 42%, rgb(239 65 72 / 20%), transparent 32%),
    linear-gradient(135deg, #101213, #1d1f20);
  color: #fff;
  min-height: clamp(480px, 58vh, 660px);
  position: relative;
}

.hp-accessory-catalogue__hero::after,
.hp-accessory-hero::after {
  background: linear-gradient(90deg, var(--hp-red), transparent);
  bottom: 0;
  content: "";
  height: 4px;
  left: 0;
  position: absolute;
  width: 68%;
}

.hp-accessory-catalogue__hero > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0 auto;
  max-width: 1180px;
  min-height: inherit;
  padding: clamp(4rem, 8vw, 7rem) clamp(1.25rem, 4vw, 3rem);
}

.hp-accessory-catalogue__hero h1 {
  color: #fff;
  font-size: clamp(2.1rem, 6vw, 5.4rem);
  font-weight: 800;    
  letter-spacing: .005em;
  line-height: 1.1;
  margin: 0 0 1.5rem;
  max-width: 950px;
  text-transform: uppercase;
}

.hp-accessory-catalogue__hero > div > p:not(.hp-accessory-eyebrow) {
  color: #c5c7c8;
  font-size: 1.06rem;
  line-height: 1.75;
  margin-bottom: 2rem;
  max-width: 730px;
}

.hp-accessory-catalogue__hero .btn {
  align-self: flex-start;
}

.hp-accessory-eyebrow,
.hp-accessory-section-heading > span {
  align-items: center;
  color: var(--hp-red);
  display: flex;
  font-size: .76rem;
  font-weight: 800;
  gap: .75rem;
  letter-spacing: .16em;
  margin: 0 0 1rem;
  text-transform: uppercase;
}

.hp-accessory-eyebrow::before,
.hp-accessory-section-heading > span::before {
  background: currentcolor;
  content: "";
  height: 2px;
  width: 34px;
}

.hp-accessory-catalogue__main,
.hp-accessory-section {
  margin: 0 auto;
  max-width: 1280px;
  padding: clamp(4rem, 9vw, 8rem) clamp(1.25rem, 4vw, 3rem);
}

.hp-accessory-section-heading {
  margin-bottom: clamp(2rem, 5vw, 4rem);
  max-width: 780px;
}

.hp-accessory-section-heading h2 {
  color: #202223;
  font-size: clamp(1.8rem, 4.5vw, 3.7rem);
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: 1.04;
  margin: 0 0 1rem;
  text-transform: uppercase;
}

.hp-accessory-section-heading > p {
  color: #66686a;
  line-height: 1.7;
}

.hp-accessory-grid {
  display: grid;
  gap: clamp(1rem, 2.5vw, 2rem);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.hp-accessory-card {
  background: #fff;
  border: 1px solid #e0e1e2;
  color: #252627;
  display: flex;
  flex-direction: column;
  min-width: 0;
  text-decoration: none;
  transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}

.hp-accessory-card:hover,
.hp-accessory-card:focus-visible {
  border-color: var(--hp-red);
  box-shadow: 0 18px 44px rgb(0 0 0 / 12%);
  color: #252627;
  transform: translateY(-5px);
}

.hp-accessory-card__image {
  align-items: center;
  aspect-ratio: 4 / 3;
  background:
    radial-gradient(circle at 50% 50%, #fff 0, #f2f3f3 68%, #e9eaeb 100%);
  display: flex;
  justify-content: center;
  overflow: hidden;
  padding: 1.25rem;
}

.hp-accessory-card__image img {
  height: 100%;
  object-fit: contain;
  transition: transform .3s ease;
  width: 100%;
}

.hp-accessory-card:hover .hp-accessory-card__image img {
  transform: scale(1.035);
}

.hp-accessory-card__copy {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 1.35rem 1.4rem 1.5rem;
}

.hp-accessory-card__copy small {
  color: var(--hp-red);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .1em;
  margin-bottom: .45rem;
  text-transform: uppercase;
}

.hp-accessory-card__copy strong {
  font-size: 1.35rem;
  line-height: 1.15;
  margin-bottom: .65rem;
}

.hp-accessory-card__copy > span {
  color: #686a6c;
  font-size: .92rem;
  line-height: 1.55;
}

.hp-accessory-card__copy b {
  color: var(--hp-red);
  font-size: .76rem;
  letter-spacing: .06em;
  margin-top: auto;
  padding-top: 1.25rem;
  text-transform: uppercase;
}

.hp-accessory-catalogue__cta,
.hp-accessory-final-cta {
  background: #111314;
  color: #fff;
  padding: clamp(4rem, 9vw, 8rem) 1.25rem;
  text-align: center;
}

.hp-accessory-catalogue__cta p,
.hp-accessory-final-cta p {
  color: #aeb0b1;
  margin-bottom: .75rem;
}

.hp-accessory-catalogue__cta h2,
.hp-accessory-final-cta h2 {
  color: #fff;
  font-size: clamp(2rem, 4.5vw, 3.8rem);
  font-weight: 800;
  letter-spacing: .005em;
  line-height: 1.06;
  margin: 0 auto 2rem;
  max-width: 900px;
}

.hp-accessory-hero {
  background: linear-gradient(135deg, #111314, #1d1f20);
  color: #fff;
  min-height: clamp(520px, 67vh, 720px);
  position: relative;
}

.hp-accessory-hero__inner {
  align-items: center;
  display: grid;
  gap: clamp(2.5rem, 7vw, 7rem);
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
  margin: 0 auto;
  max-width: 1260px;
  min-height: inherit;
  padding: clamp(4rem, 8vw, 7rem) clamp(1.25rem, 4vw, 3rem);
}

.hp-accessory-hero__visual {
  align-items: center;
  aspect-ratio: 4 / 3;
  background: radial-gradient(circle, #fff 0, #eeefef 66%, #dfe1e2 100%);
  display: flex;
  isolation: isolate;
  justify-content: center;
  overflow: hidden;
  padding: clamp(1rem, 3vw, 2.5rem);
  position: relative;
}

.hp-accessory-hero__visual > span {
  background: var(--hp-red);
  border-radius: 50%;
  height: 55%;
  opacity: .08;
  position: absolute;
  width: 55%;
  z-index: -1;
}

.hp-accessory-hero__visual img {
  height: 100%;
  object-fit: contain;
  width: 100%;
}

.hp-accessory-hero__copy h1 {
  color: #fff;
  font-size: clamp(2.8rem, 6vw, 5.2rem);
  font-weight: 800;
  letter-spacing: -.045em;
  line-height: .97;
  margin: 0 0 1.5rem;
  text-transform: uppercase;
}

.hp-accessory-hero__copy > p:not(.hp-accessory-eyebrow) {
  color: #c4c6c7;
  font-size: 1.06rem;
  line-height: 1.75;
  margin-bottom: 2rem;
}

.hp-accessory-prose {
  color: #4f5153;
  font-size: 1rem;
  line-height: 1.75;
  max-width: 920px;
}

.hp-accessory-prose h2,
.hp-accessory-prose h3 {
  color: #252627;
  font-weight: 800;
}

.hp-accessory-specifications {
  background: #f1f2f2;
}

.hp-accessory-videos {
  padding: clamp(4rem, 9vw, 8rem) clamp(1.25rem, 4vw, 3rem);
}

.hp-accessory-videos .hp-accessory-section-heading h2 {
  color: #fff;
}

body.hp-accessory-page .pagenavigation {
  margin: 0 auto;
  max-width: 1280px;
  padding: 2rem clamp(1.25rem, 4vw, 3rem) 4rem;
}

body.hp-accessory-page .pagenavigation .pagination {
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin: 0;
  width: 100%;
}

body.hp-accessory-page .pagenavigation .next {
  margin-left: auto;
}

body.hp-accessory-page .pagenavigation .btn {
  background: var(--hp-red);
  border-color: var(--hp-red);
  border-radius: 2px;
  color: #fff;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .04em;
  padding: .75rem 1rem;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color .18s ease, border-color .18s ease, transform .18s ease;
}

body.hp-accessory-page .pagenavigation .btn:hover,
body.hp-accessory-page .pagenavigation .btn:focus-visible {
  background: #be2028;
  border-color: #be2028;
  color: #fff;
  transform: translateY(-2px);
}

body.hp-product-page .pagenavigation .btn:focus-visible {
  box-shadow: 0 0 0 .22rem rgb(239 65 72 / 24%);
  outline: 2px solid #fff;
  outline-offset: -4px;
}

@media (max-width: 800px) {
  .hp-standard-product__hero-inner {
    gap: 2.5rem;
    grid-template-columns: 1fr;
    padding-block: 3.5rem 4.5rem;
  }

  .hp-standard-product__visual {
    order: 1;
  }

  .hp-standard-product__summary {
    order: 2;
  }

  .hp-standard-product__halo {
    height: 70vw;
    width: 70vw;
  }

  .hp-product-stats > div {
    grid-template-columns: repeat(2, 1fr);
  }

  .hp-product-stat:nth-child(2) {
    border-right: 0;
  }

  .hp-product-stat:nth-child(-n + 2) {
    border-bottom: 1px solid rgb(255 255 255 / 10%);
  }

  .hp-product-gallery__grid {
    grid-auto-rows: 48vw;
    grid-template-columns: 1fr 1fr;
  }

  .hp-contact-hero__inner,
  .hp-contact-main {
    grid-template-columns: 1fr;
  }

  .hp-contact-hero__inner {
    gap: 2.5rem;
  }

  .hp-contact-hero__card {
    max-width: 560px;
    width: 100%;
  }

  .hp-accessory-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hp-accessory-hero__inner {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .hp-standard-product__hero {
    min-height: auto;
  }

  .hp-standard-product__summary h1 {
    font-size: clamp(2.5rem, 13vw, 4rem);
  }

  .hp-product-gallery__grid {
    display: block;
  }

  .hp-product-gallery__item {
    aspect-ratio: 4 / 3;
    margin-bottom: 4px;
  }

  .hp-product-gallery__item:first-child:nth-last-child(n + 4) {
    grid-column: auto;
    grid-row: auto;
  }

  .hp-spec-table {
    min-width: 540px;
  }

  .hp-lightbox {
    padding: 4rem .5rem;
  }

  .hp-lightbox__nav {
    height: 46px;
    width: 46px;
  }

  .hp-lightbox__nav--previous {
    left: .5rem;
  }

  .hp-lightbox__nav--next {
    right: .5rem;
  }

  body.hp-product-page .pagenavigation .btn {
    min-width: 96px;
  }

  .hp-accessory-grid {
    grid-template-columns: 1fr;
  }

  .hp-accessory-card__image {
    aspect-ratio: 16 / 11;
  }

  .hp-quote-dock {
    align-items: stretch;
    bottom: .5rem;
    flex-direction: column;
    gap: .55rem;
    left: .5rem;
    padding: .7rem;
    right: .5rem;
    text-align: center;
  }

  body.hp-has-quote-dock .back-to-top-link {
    bottom: calc(var(--hp-quote-dock-height, 6rem) + 1.25rem);
    inset-inline-end: .5rem;
  }

  .hp-quote-toast {
    bottom: 7.4rem;
    left: 1rem;
    right: 1rem;
  }

  .hp-contact-quote-basket__heading {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Useful-information articles */
body.hp-info-page .mod-breadcrumbs__wrapper,
body.hp-info-page .item-page > .page-header,
body.hp-info-page .item-page > .article-info,
body.hp-info-page .item-page > .icons {
  display: none;
}

body.hp-info-page .site-grid .container-component,
body.hp-info-page .container-component,
body.hp-info-page .container-component main,
body.hp-info-page .item-page {
  display: block;
  max-width: none;
  padding: 0;
  width: 100%;
}

.hp-info-article {
  background: #fff;
  color: #424446;
}

.hp-info-article__header {
  background: linear-gradient(118deg, #151718 0%, #242728 100%);
  color: #fff;
  overflow: hidden;
  position: relative;
}

.hp-info-article__header::after {
  background: var(--hp-red);
  bottom: 0;
  content: "";
  height: 4px;
  left: 0;
  position: absolute;
  width: min(28rem, 72vw);
}

.hp-info-article__header-inner,
.hp-info-article__content {
  margin-inline: auto;
  max-width: 1040px;
  padding-inline: clamp(1.25rem, 5vw, 4rem);
}

.hp-info-article__header-inner {
  padding-block: clamp(3.5rem, 8vw, 6.5rem);
}

.hp-info-article__eyebrow {
  color: var(--hp-red);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .16em;
  margin: 0 0 1rem;
  text-transform: uppercase;
}

.hp-info-article__header h1 {
  color: #fff;
  font-size: clamp(2rem, 4.5vw, 3.6rem);
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1.08;
  margin: 0;
  max-width: 900px;
}

.hp-info-article__lead {
  color: #c7c9ca;
  font-size: clamp(1rem, 1.8vw, 1.2rem);
  line-height: 1.65;
  margin: 1.25rem 0 0;
  max-width: 780px;
}

.hp-info-article__content {
  font-size: 1rem;
  line-height: 1.8;
  padding-block: clamp(3rem, 7vw, 6rem);
}

.hp-info-article__content h2,
.hp-info-article__content h3,
.hp-info-article__content h4 {
  color: #242627;
  font-weight: 800;
  line-height: 1.3;
  margin: 2.25rem 0 .9rem;
}

.hp-info-article__content h2:first-child,
.hp-info-article__content h3:first-child {
  margin-top: 0;
}

.hp-info-article__content a {
  color: #c82931;
  text-decoration-color: rgb(200 41 49 / 40%);
  text-underline-offset: .16em;
}

.hp-info-article__content a:hover,
.hp-info-article__content a:focus-visible {
  color: #991c23;
  text-decoration-color: currentcolor;
}

.hp-info-article__content table {
  border-collapse: collapse;
  display: block;
  margin-block: 1.5rem;
  max-width: 100%;
  overflow-x: auto;
}

.hp-info-article__content th,
.hp-info-article__content td {
  border: 1px solid #dfe1e2;
  padding: .75rem .9rem;
  text-align: left;
  vertical-align: top;
}

.hp-info-article__content th {
  background: #f2f3f3;
  color: #252627;
}

body.hp-info-page .pagenavigation {
  margin: 0 auto;
  max-width: 1040px;
  padding: 0 clamp(1.25rem, 5vw, 4rem) 4rem;
}

body.hp-info-page .pagenavigation .pagination {
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin: 0;
  width: 100%;
}

body.hp-info-page .pagenavigation .next {
  margin-left: auto;
}

body.hp-info-page .pagenavigation .btn {
  background: var(--hp-red);
  border-color: var(--hp-red);
  border-radius: 2px;
  color: #fff;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .04em;
  min-width: 108px;
  padding: .75rem 1rem;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

body.hp-info-page .pagenavigation .btn:hover,
body.hp-info-page .pagenavigation .btn:focus-visible {
  background: #be2028;
  border-color: #be2028;
  color: #fff;
  transform: translateY(-2px);
}

body.hp-info-page .pagenavigation .btn:focus-visible {
  box-shadow: 0 0 0 .22rem rgb(239 65 72 / 24%);
  outline: 2px solid #fff;
  outline-offset: -4px;
}

@media (max-width: 640px) {
  .hp-info-article__content {
    font-size: .96rem;
    line-height: 1.7;
  }

  body.hp-info-page .pagenavigation .btn {
    min-width: 0;
    padding-inline: .8rem;
  }
}

.hp-product-intro {
  padding: clamp(3rem, 6vw, 5rem) 1rem clamp(2rem, 4vw, 3rem);
}

.hp-product-intro > p {
  color: #555;
  line-height: 1.85;
  margin: 0 0 2rem;
  text-align: justify;
}

.hp-quote-strip {
  background: #f02318;
  border-radius: .25rem;
  color: #fff;
  display: block;
  font-weight: 700;
  padding: .8rem 1rem;
  text-align: center;
  text-decoration: none;
  transition: background-color .18s ease, box-shadow .18s ease;
}

.hp-quote-strip:hover,
.hp-quote-strip:focus-visible {
  background: var(--hp-red);
  box-shadow: 0 0 0 .2rem rgb(167 17 24 / 15%);
  color: #fff;
}

.hp-product-carousel {
  aspect-ratio: 2 / 1;
  background: #171717;
  margin-bottom: clamp(3rem, 6vw, 5rem);
  overflow: hidden;
  position: relative;
}

.hp-product-carousel__slides,
.hp-product-carousel__slide {
  height: 100%;
}

.hp-product-carousel__slide {
  animation: hp-carousel-fade .35s ease;
  margin: 0;
  position: relative;
}

.hp-product-carousel__slide[hidden] {
  display: none;
}

.hp-product-carousel__slide::after {
  background: linear-gradient(90deg, rgb(0 0 0 / 58%), rgb(0 0 0 / 5%) 65%);
  content: "";
  inset: 0;
  position: absolute;
}

.hp-product-carousel__slide img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.hp-product-carousel__slide > div {
  bottom: clamp(2.5rem, 6vw, 5rem);
  color: #fff;
  left: clamp(2.5rem, 7vw, 6rem);
  max-width: 570px;
  position: absolute;
  z-index: 1;
}

.hp-product-carousel__slide h2 {
  color: #fff;
  font-size: clamp(1.6rem, 3.5vw, 3rem);
  font-weight: 700;
  margin-bottom: .6rem;
  text-shadow: 0 2px 8px rgb(0 0 0 / 60%);
}

.hp-product-carousel__slide p {
  font-size: clamp(.9rem, 1.5vw, 1.15rem);
  margin: 0;
}

.hp-product-carousel__control {
  background: rgb(0 0 0 / 38%);
  border: 0;
  border-radius: 50%;
  color: #fff;
  font-size: 2rem;
  height: 44px;
  line-height: 1;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  z-index: 2;
}

.hp-product-carousel__control:hover,
.hp-product-carousel__control:focus-visible {
  background: var(--hp-red);
  outline: 2px solid #fff;
  outline-offset: 2px;
}

.hp-product-carousel__control--previous {
  left: 1rem;
}

.hp-product-carousel__control--next {
  right: 1rem;
}

.hp-product-carousel__dots {
  bottom: 1rem;
  display: flex;
  gap: .5rem;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  z-index: 2;
}

.hp-product-carousel__dots button {
  background: rgb(255 255 255 / 55%);
  border: 1px solid #fff;
  border-radius: 50%;
  height: 10px;
  padding: 0;
  width: 10px;
}

.hp-product-carousel__dots button[aria-current="true"] {
  background: var(--hp-red);
}

.hp-product-features {
  padding-inline: 1rem;
}

.hp-product-feature {
  align-items: center;
  display: grid;
  gap: clamp(2rem, 5vw, 4rem);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: clamp(3.5rem, 7vw, 6rem);
}

.hp-product-feature--reverse > img {
  grid-column: 2;
  grid-row: 1;
}

.hp-product-feature--reverse > div {
  grid-column: 1;
  grid-row: 1;
}

.hp-product-feature > img {
  height: auto;
  width: 100%;
}

.hp-product-feature h2 {
  color: #f02318;
  font-size: clamp(1.35rem, 2.4vw, 2rem);
  font-weight: 800;
  line-height: 1.2;
  margin: 0 0 1rem;
  text-transform: uppercase;
}

.hp-product-feature p {
  color: #555;
  line-height: 1.7;
  text-align: justify;
}

.hp-product-feature ul {
  color: #444;
  line-height: 1.55;
  margin-bottom: 0;
  padding-left: 1.25rem;
}

.hp-product-feature li + li {
  margin-top: .45rem;
}

.hp-product-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
  padding: 0 1rem clamp(4rem, 8vw, 7rem);
}

.hp-product-actions .btn-outline-primary {
  border-color: var(--hp-red);
  color: var(--hp-red);
  font-weight: 700;
  padding: .8rem 1.25rem;
  text-transform: uppercase;
}

.hp-product-actions .btn-outline-primary:hover,
.hp-product-actions .btn-outline-primary:focus-visible {
  background: var(--hp-red);
  color: #fff;
}

@keyframes hp-carousel-fade {
  from { opacity: .4; }
  to { opacity: 1; }
}

.hp-contact-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-block: 2rem;
}

.hp-contact-grid section {
  padding-block: 1.5rem;
}

.container-footer {
  background: #f2f2f2;
  color: #555;
  margin-top: 0;
}

.container-footer > * {
  width: 100%;
}

.container-footer > .grid-child {
  display: block;
  max-width: none;
  padding: 0;
}

.hp-footer {
  display: block;
  padding-top: clamp(4rem, 8vw, 8rem);
  width: 100%;
}

.hp-footer__details {
  margin-inline: auto;
  max-width: 1140px;
  min-height: 300px;
  padding: 0 1rem 4rem;
}

.hp-footer__copyright {
  background: #ef4148;
  color: #fff;
  font-size: .86rem;
  margin: 0;
  padding: 1rem;
  text-align: center;
}

.hp-footer__privacy {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: .45rem .65rem;
  margin-top: 1.25rem;
}

.hp-footer__privacy a {
  color: #555;
  text-decoration-color: rgba(85, 85, 85, .38);
  text-underline-offset: .2em;
  transition: color .2s ease, text-decoration-color .2s ease;
}

.hp-footer .hp-footer__privacy a:hover,
.hp-footer .hp-footer__privacy a:focus,
.hp-footer .hp-footer__privacy a:focus-visible,
.hp-footer .hp-footer__privacy a:active {
  color: #ef4148 !important;
  opacity: 1;
  text-decoration-color: currentColor !important;
}

.hp-cookie-policy__settings .n3tcc-settings,
.hp-cookie-policy__settings [data-cc="c-settings"] {
  background: var(--hp-red);
  border: 1px solid var(--hp-red);
  border-radius: .25rem;
  color: #fff;
  display: inline-flex;
  font-weight: 700;
  padding: .75rem 1.1rem;
  text-decoration: none;
  transition: background-color .2s ease, border-color .2s ease;
}

.hp-cookie-policy__settings .n3tcc-settings:hover,
.hp-cookie-policy__settings .n3tcc-settings:focus-visible,
.hp-cookie-policy__settings [data-cc="c-settings"]:hover,
.hp-cookie-policy__settings [data-cc="c-settings"]:focus-visible {
  background: #d72f36;
  border-color: #d72f36;
  color: #fff;
}

#cc--main .c-bn,
#cc--main .c-bn:hover,
#cc--main .c-bn:focus-visible {
  text-decoration: none;
}

#cc--main .c-bn:focus-visible,
.hp-footer__privacy a:focus-visible,
.hp-cookie-policy__settings [data-cc="c-settings"]:focus-visible {
  outline: 3px solid rgba(239, 65, 72, .35);
  outline-offset: 3px;
}

/* Keep the three consent actions inside the bar at medium widths. */
#cc--main #cm.bar #c-bns {
  gap: .75rem;
  max-width: none;
}

#cc--main #cm.bar #c-bns .c-bn {
  margin: 0;
  min-width: 0;
  padding-inline: 1rem;
  white-space: normal;
}

@media (min-width: 689px) {
  #cc--main #cm.bar #c-bns {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.convertforms .cf-btn,
.convertforms button[type="submit"],
.hp-home-contact button[type="submit"],
.hp-contact-form button[type="submit"] {
  background-color: var(--hp-red) !important;
  border-color: var(--hp-red) !important;
}

.hp-rsform-form .rsform-block-privacy,
.hp-rsform-form .rsform-block-hashcash {
  background: #f7f7f7;
  border: 1px solid #e4e4e4;
  border-radius: .5rem;
  padding: 1.1rem 1.25rem;
}

.hp-rsform-form .rsform-block-privacy .form-check {
  margin: 0;
  min-height: 0;
  padding: 0;
}

.hp-rsform-form .rsform-block-privacy .rsfp-fieldset {
  display: block;
  min-width: 0;
  width: 100%;
}

.hp-rsform-form .rsform-block-privacy .rsfp-fieldset > .form-check {
  align-items: start;
  display: grid;
  gap: .75rem;
  grid-template-columns: auto minmax(0, 1fr);
  margin: 0;
  min-width: 0;
  padding: 0;
  width: 100%;
}

.hp-rsform-form .rsform-block-privacy .form-check-input {
  flex: 0 0 auto;
  float: none;
  height: 1.2rem;
  margin: .2rem 0 0;
  width: 1.2rem;
}

.hp-rsform-form .rsform-block-privacy .form-check-label {
  display: block;
  line-height: 1.5;
  margin: 0;
  min-width: 0;
}

.hp-rsform-form .rsform-block-privacy a {
  color: var(--hp-red);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .16em;
}

.hp-rsform-form .rsform-block-hashcash {
  align-items: center;
  display: grid;
  gap: 1rem 1.5rem;
  grid-template-columns: minmax(0, 1fr) auto;
}

.hp-rsform-form .hp-spam-copy .form-label {
  display: block;
  font-weight: 700;
  margin: 0 0 .2rem;
}

.hp-rsform-form .hp-spam-copy .form-text {
  color: #626262;
  margin: 0;
}

.hp-rsform-form .hp-spam-action {
  text-align: right;
}

.hp-rsform-form [data-rsfp-hashcash] {
  align-items: center;
  background: #fff;
  border: 1px solid #d4d4d4;
  border-radius: .4rem;
  color: #2b2b2b;
  display: inline-flex;
  font-weight: 700;
  gap: .65rem;
  justify-content: center;
  min-height: 48px;
  padding: .5rem .85rem;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.hp-rsform-form [data-rsfp-hashcash]:hover,
.hp-rsform-form [data-rsfp-hashcash]:focus-visible {
  background: #fff;
  border-color: var(--hp-red);
  box-shadow: 0 0 0 .18rem rgb(167 17 24 / 12%);
  outline: 0;
}

.hp-rsform-form [data-rsfp-hashcash] .hashcash {
  flex: 0 0 auto;
  height: 34px;
  margin: 0;
  width: 34px;
}

@media (max-width: 800px) {
  .hp-intro,
  .hp-feature-grid,
  .hp-contact-grid {
    grid-template-columns: 1fr;
  }

  .hp-hero {
    height: 62vw;
    min-height: 390px;
  }

  .hp-product-card {
    flex-basis: calc((100% - 1rem) / 2);
  }

  .hp-product-grid {
    gap: 1.5rem 1rem;
  }

  .hp-topbar,
  .hp-topbar ul {
    align-items: flex-start;
    flex-direction: column;
    gap: .25rem;
  }

  .hp-footer {
    padding-top: 4rem;
  }

  .hp-rsform-form .rsform-block-hashcash {
    align-items: stretch;
    grid-template-columns: 1fr;
  }

  .hp-rsform-form .hp-spam-action {
    text-align: left;
  }

  .hp-product-carousel {
    aspect-ratio: 4 / 3;
    margin-inline: 1rem;
  }

  .hp-product-carousel__slide > div {
    bottom: 2.75rem;
    left: 3.5rem;
    max-width: calc(100% - 7rem);
  }

  .hp-product-feature,
  .hp-product-feature--reverse {
    grid-template-columns: 1fr;
  }

  .hp-product-feature--reverse > img,
  .hp-product-feature--reverse > div {
    grid-column: 1;
  }

  .hp-product-feature--reverse > img {
    grid-row: 1;
  }

  .hp-product-feature--reverse > div {
    grid-row: 2;
  }

  .hp-product-feature p,
  .hp-product-intro > p {
    text-align: left;
  }

}

@media (max-width: 991.98px) {
  .container-header .container-nav {
    justify-content: flex-end;
    min-height: 68px;
  }

  .container-header nav.navbar {
    justify-content: flex-end;
    width: 100%;
  }

  .container-header .navbar-collapse {
    flex-basis: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: hidden;
  }

  .container-header .metismenu.mod-menu {
    gap: 0;
    padding: .75rem 0;
  }

  .container-header .metismenu.mod-menu > .metismenu-item > a,
  .container-header .metismenu.mod-menu > .metismenu-item > button,
  .container-header .metismenu.mod-menu > .metismenu-item > span {
    min-height: 46px;
    padding: .5rem 0;
  }

  .container-header .metismenu.mod-menu .mm-collapse {
    box-shadow: none;
    flex-basis: 100%;
    inset: auto;
    margin: 0;
    max-width: 100%;
    overflow: hidden;
    position: relative;
    width: 100%;
  }

  .container-header .metismenu.mod-menu .mm-collapse > .metismenu-item {
    min-width: 0;
    padding: 0;
    width: 100%;
  }

  .container-header .metismenu.mod-menu .mm-collapse > .metismenu-item > a,
  .container-header .metismenu.mod-menu .mm-collapse > .metismenu-item > span,
  .container-header .metismenu.mod-menu .mm-collapse > .metismenu-item > button {
    color: #333;
    font-size: .875rem;
    font-weight: 600;
    letter-spacing: .01em;
    line-height: 1.35;
    max-width: 100%;
    min-height: 42px;
    min-width: 0;
    overflow: visible;
    overflow-wrap: anywhere;
    padding: .7rem .85rem;
    text-overflow: clip;
    text-transform: none;
    white-space: normal;
    width: 100%;
  }

  .container-header .metismenu.mod-menu .mm-collapse > .deeper.parent > .mm-toggler {
    color: #333;
    font-size: .9rem;
    font-weight: 700;
    justify-content: space-between;
  }

  .container-header .metismenu.mod-menu .mm-collapse .mm-collapse {
    background: #f5f5f5;
    padding-inline-start: .5rem;
  }

  .container-header .metismenu.mod-menu .mm-collapse .mm-collapse > .metismenu-item > a,
  .container-header .metismenu.mod-menu .mm-collapse .mm-collapse > .metismenu-item > span,
  .container-header .metismenu.mod-menu .mm-collapse .mm-collapse > .metismenu-item > button {
    font-size: .84rem;
    font-weight: 600;
  }
}

@media (max-width: 520px) {
  .hp-product-card {
    flex-basis: 100%;
  }

  .hp-hero h1 {
    font-size: 1.55rem;
  }

  .hp-hero h2 {
    font-size: 1rem;
  }

  .hp-product-hero {
    min-height: 340px;
  }

  .hp-product-carousel {
    aspect-ratio: 1 / 1;
  }

  .hp-product-carousel__slide > div {
    left: 3rem;
    max-width: calc(100% - 6rem);
  }
}

/* Homepage and X Firewood Factory alignment with the shared product system. */
.hp-home-section-heading {
  max-width: 760px;
}

.hp-home-section-heading > span {
  align-items: center;
  color: var(--hp-red);
  display: flex;
  font-size: .76rem;
  font-weight: 800;
  gap: .75rem;
  letter-spacing: .16em;
  margin-bottom: 1rem;
  text-transform: uppercase;
}

.hp-home-section-heading > span::before {
  background: currentcolor;
  content: "";
  height: 2px;
  width: 34px;
}

.hp-home-section-heading h2 {
  font-size: clamp(2rem, 4vw, 3.45rem);
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1.05;
  margin: 0;
}

.hp-home-section-heading > p {
  font-size: 1.02rem;
  line-height: 1.7;
  margin: 1.2rem 0 0;
}

.hp-home-section-heading--center {
  margin: 0 auto clamp(2.5rem, 5vw, 4.25rem);
  text-align: center;
}

.hp-home-section-heading--center > span {
  justify-content: center;
}

.hp-intro {
  background:
    radial-gradient(circle at 14% 40%, rgb(239 65 72 / 15%), transparent 32%),
    linear-gradient(135deg, #111314, #1c1f20);
  color: #fff;
  gap: clamp(2.5rem, 6vw, 6rem);
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
  padding-block: clamp(4rem, 9vw, 8rem);
}

.hp-video-shell {
  min-width: 0;
}

.hp-video-shell .hp-video {
  border: 1px solid rgb(255 255 255 / 10%);
  box-shadow: 0 28px 65px rgb(0 0 0 / 42%);
  overflow: hidden;
}

.hp-video-shell > p {
  color: #919496;
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .12em;
  margin: 1rem 0 0;
  text-align: left;
  text-transform: uppercase;
}

.hp-intro__copy .hp-home-section-heading h2 {
  color: #fff;
}

.hp-intro__copy > p {
  color: #c2c4c5;
  font-size: 1rem;
  line-height: 1.78;
  margin: 1.5rem 0 2rem;
  text-align: left;
}

.hp-products {
  background: #f2f3f3;
  max-width: none;
  padding: clamp(4.5rem, 9vw, 8rem) max(1.25rem, calc((100vw - 1180px) / 2));
}

.hp-products .hp-home-section-heading h2 {
  color: #202223;
}

.hp-products .hp-home-section-heading > p {
  color: #66696a;
}

.hp-product-grid {
  gap: 1.5rem;
  margin-inline: auto;
  max-width: 1180px;
}

.hp-product-card {
  border: 1px solid #e0e1e2;
  border-radius: 3px;
  box-shadow: 0 12px 34px rgb(0 0 0 / 7%);
  flex-basis: calc((100% - 3rem) / 3);
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.hp-product-card img {
  transition: transform .35s ease;
}

.hp-product-card span {
  align-items: center;
  color: #27292a;
  display: flex;
  justify-content: space-between;
  margin: 0;
  min-height: 72px;
  padding: 1rem 1.15rem;
  text-align: left;
}

.hp-product-card span::after {
  color: var(--hp-red);
  content: "→";
  font-size: 1.25rem;
  margin-left: .8rem;
}

.hp-product-card:hover,
.hp-product-card:focus-visible {
  border-color: rgb(239 65 72 / 45%);
  box-shadow: 0 18px 44px rgb(0 0 0 / 13%);
  color: #202223;
  outline: 0;
  transform: translateY(-5px);
}

.hp-product-card:hover img {
  transform: scale(1.025);
}

.hp-home-contact {
  background:
    radial-gradient(circle at 85% 20%, rgb(239 65 72 / 16%), transparent 30%),
    #121415;
  color: #fff;
  max-width: none;
  padding: clamp(4.5rem, 9vw, 8rem) 1.25rem;
}

.hp-home-contact__inner {
  margin-inline: auto;
  max-width: 980px;
}

.hp-home-contact .hp-home-section-heading h2 {
  color: #fff;
}

.hp-home-contact .hp-home-section-heading > p {
  color: #b9bbbd;
}

.hp-home-contact__form {
  background: #fff;
  border-top: 4px solid var(--hp-red);
  box-shadow: 0 26px 70px rgb(0 0 0 / 30%);
  color: #292b2c;
  padding: clamp(1.5rem, 4vw, 3rem);
}

body.itemid-101 .pagenavigation {
  display: none;
}

.hp-factory {
  --hp-factory-dark: #151718;
  color: #252728;
  overflow: hidden;
}

.hp-factory-intro {
  align-items: start;
  display: grid;
  gap: clamp(2.5rem, 6vw, 6rem);
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  max-width: 1180px;
  padding: clamp(4rem, 9vw, 7.5rem) clamp(1.25rem, 4vw, 3rem);
}

.hp-factory-intro__copy > p {
  color: #55585a;
  font-size: 1.03rem;
  line-height: 1.8;
  margin: 0 0 2rem;
  text-align: left;
}

.hp-factory-intro .hp-quote-strip {
  display: inline-block;
  letter-spacing: .04em;
  padding: .9rem 1.35rem;
  text-transform: uppercase;
}

.hp-factory-stats {
  background: var(--hp-factory-dark);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hp-factory-stats > div {
  border-bottom: 1px solid rgb(255 255 255 / 10%);
  padding: clamp(1.6rem, 4vw, 2.6rem) 1.25rem;
  text-align: center;
}

.hp-factory-stats > div:nth-child(odd) {
  border-right: 1px solid rgb(255 255 255 / 10%);
}

.hp-factory-stats > div:nth-last-child(-n + 2) {
  border-bottom: 0;
}

.hp-factory-stats strong {
  color: var(--hp-red);
  display: block;
  font-size: clamp(1.8rem, 4vw, 3rem);
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: 1;
}

.hp-factory-stats span {
  color: #c0c2c3;
  display: block;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.35;
  margin-top: .75rem;
  text-transform: uppercase;
}

.hp-factory-showcase {
  background: #f1f2f2;
  padding: clamp(4rem, 9vw, 7rem) clamp(1.25rem, 4vw, 3rem);
}

.hp-factory-showcase > .hp-product-section__heading,
.hp-factory-details > .hp-product-section__heading,
.hp-factory-showcase > .hp-product-carousel,
.hp-factory-details > .hp-product-features {
  margin-inline: auto;
  max-width: 1180px;
}

.hp-factory-showcase .hp-product-section__heading > p {
  color: #626567;
  line-height: 1.7;
  margin-top: 1rem;
}

.hp-factory-showcase .hp-product-carousel {
  border-radius: 3px;
  box-shadow: 0 24px 60px rgb(0 0 0 / 18%);
  margin-bottom: 0;
}

.hp-factory-details {
  padding: clamp(4rem, 9vw, 7.5rem) clamp(1.25rem, 4vw, 3rem) 1rem;
}

.hp-product-features {
  counter-reset: factory-feature;
  padding: 0;
}

.hp-product-feature {
  gap: clamp(2.5rem, 6vw, 5rem);
}

.hp-product-feature > img {
  aspect-ratio: 4 / 3;
  box-shadow: 0 18px 45px rgb(0 0 0 / 13%);
  object-fit: cover;
}

.hp-product-feature > div::before {
  color: var(--hp-red);
  content: "0" counter(factory-feature);
  counter-increment: factory-feature;
  display: block;
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .15em;
  margin-bottom: .8rem;
}

.hp-product-feature h2 {
  color: #232526;
  font-size: clamp(1.55rem, 2.8vw, 2.35rem);
  letter-spacing: -.025em;
}

.hp-product-feature p {
  color: #5a5c5e;
  text-align: left;
}

.hp-product-feature li::marker {
  color: var(--hp-red);
}

.hp-factory-final-cta .hp-product-actions {
  padding: 0;
}

.hp-factory-final-cta .btn-outline-primary {
  border-color: #fff;
  color: #fff;
}

.hp-factory-final-cta .btn-outline-primary:hover,
.hp-factory-final-cta .btn-outline-primary:focus-visible {
  background: #fff;
  color: #17191a;
}

@media (max-width: 900px) {
  .hp-intro,
  .hp-factory-intro {
    grid-template-columns: 1fr;
  }

  .hp-intro__copy {
    max-width: 760px;
  }

  .hp-factory-stats {
    max-width: 680px;
  }
}

@media (max-width: 800px) {
  .hp-product-card {
    flex-basis: calc((100% - 1rem) / 2);
  }

  .hp-product-feature,
  .hp-product-feature--reverse {
    grid-template-columns: 1fr;
  }

  .hp-product-feature--reverse > img,
  .hp-product-feature--reverse > div {
    grid-column: 1;
  }

  .hp-product-feature--reverse > img {
    grid-row: 1;
  }

  .hp-product-feature--reverse > div {
    grid-row: 2;
  }
}

@media (max-width: 520px) {
  .hp-product-card {
    flex-basis: 100%;
  }

  .hp-factory-stats {
    grid-template-columns: 1fr;
  }

  .hp-factory-stats > div,
  .hp-factory-stats > div:nth-child(odd),
  .hp-factory-stats > div:nth-last-child(-n + 2) {
    border-bottom: 1px solid rgb(255 255 255 / 10%);
    border-right: 0;
  }

  .hp-factory-stats > div:last-child {
    border-bottom: 0;
  }
}
