/* Loaded by the De Trans Elementor Layout Helper plugin; use Additional CSS only for the manual fallback. */
:root {
  --dt-maroon: #750315;
  --dt-flame: #C84D2B;
  --dt-coral: #E38D72;
  --dt-ink: #1B1214;
  --dt-paper: #FAF2EF;
  --dt-muted: #65595A;
}
.dt-site, .dt-header, .dt-footer { font-family: Montserrat, Arial, sans-serif; }
.dt-site a, .dt-header a, .dt-footer a { transition: color .18s ease, opacity .18s ease; }
.dt-site a:hover, .dt-header a:hover, .dt-footer a:hover { opacity: .76; }
.dt-kicker { color: var(--dt-flame); font-size: .74rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.dt-note { border-left: 3px solid var(--dt-flame); padding-left: 14px; }
.dt-product-meta { border-top: 1px solid #E7D9D5; color: var(--dt-maroon); font-weight: 700; margin-top: 1rem; padding-top: .8rem; }
.dt-footer-links a { color: #F4DCDD; text-decoration: none; line-height: 2.2; }
.dt-copyright { border-top: 1px solid rgba(255,255,255,.2); flex-basis: 100%; margin-top: 12px; padding-top: 18px; }

/* Keep the logo, navigation and call to action on one measured desktop row. */
.dt-header.e-con, .dt-header.e-con > .e-con-inner {
  align-items: center !important;
}
.dt-header.e-con > .e-con-inner {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: clamp(14px, 2vw, 28px) !important;
  width: 100%;
}
.dt-header .dt-brand-mark { flex: 0 0 14% !important; width: 14% !important; max-width: 14% !important; }
.dt-header .dt-nav { flex: 1 1 auto !important; width: auto !important; min-width: 0; justify-content: center !important; gap: clamp(10px, 1.5vw, 20px) !important; }
.dt-header .dt-nav .elementor-widget-heading { flex: 0 0 auto !important; width: auto !important; max-width: none !important; }
.dt-header .dt-header-cta { flex: 0 0 18% !important; width: 18% !important; max-width: 18% !important; justify-content: flex-end; }
.dt-header .dt-header-cta .elementor-widget-button { width: 100%; }
.dt-header .dt-header-cta .elementor-button { white-space: nowrap; }
.dt-brand-mark .elementor-widget-image img {
  display: block;
  width: 124px !important;
  max-width: 100% !important;
  max-height: 92px !important;
  height: auto !important;
  margin-inline: auto;
  object-fit: contain;
}

/* Make the hero columns and all information cards align to consistent widths. */
.dt-hero.e-con, .dt-hero.e-con > .e-con-inner { align-items: center !important; }
.dt-hero.e-con > .e-con-inner {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: clamp(24px, 3vw, 42px) !important;
}
.dt-hero .dt-hero-copy { flex: 0 1 47% !important; width: 47% !important; min-width: 0; }
.dt-hero .dt-hero-image { flex: 0 1 45% !important; width: 45% !important; min-width: 0; }
.dt-hero-image .elementor-widget-image img { display: block; width: 100% !important; height: auto !important; object-fit: contain; }
.dt-card-grid.e-con > .e-con-inner { display: flex !important; flex-wrap: wrap !important; align-items: stretch !important; gap: 18px !important; }
.dt-card-grid--three > .e-con-inner > .e-con { flex: 0 0 calc((100% - 36px) / 3) !important; width: calc((100% - 36px) / 3) !important; max-width: calc((100% - 36px) / 3) !important; }
.dt-card-grid--two > .e-con-inner > .e-con { flex: 0 0 calc((100% - 18px) / 2) !important; width: calc((100% - 18px) / 2) !important; max-width: calc((100% - 18px) / 2) !important; }
.dt-card-grid .dt-card { height: 100%; }

@media (max-width: 1024px) {
  .dt-header.e-con > .e-con-inner { flex-wrap: wrap !important; }
  .dt-header .dt-brand-mark { flex-basis: 18% !important; width: 18% !important; max-width: 18% !important; }
  .dt-header .dt-header-cta { flex-basis: 25% !important; width: 25% !important; max-width: 25% !important; }
  .dt-header .dt-nav { order: 3; flex: 1 0 100% !important; width: 100% !important; justify-content: center !important; padding-top: 8px; }
  .dt-brand-mark .elementor-widget-image img { width: 112px !important; max-height: 82px !important; }
  .dt-hero.e-con > .e-con-inner { gap: 24px !important; }
  .dt-card-grid--three > .e-con-inner > .e-con { flex-basis: calc((100% - 36px) / 3) !important; width: calc((100% - 36px) / 3) !important; max-width: calc((100% - 36px) / 3) !important; }
}
@media (max-width: 767px) {
  .dt-header.e-con, .dt-header.e-con > .e-con-inner { gap: 12px 16px !important; }
  .dt-header.e-con > .e-con-inner { flex-wrap: wrap !important; padding: 12px 18px !important; }
  .dt-header .dt-brand-mark { flex: 0 0 36% !important; width: 36% !important; max-width: 36% !important; }
  .dt-header .dt-header-cta { flex: 1 0 50% !important; width: 50% !important; max-width: 190px !important; margin-left: auto; }
  .dt-header .dt-nav { flex: 1 0 100% !important; width: 100% !important; justify-content: center !important; gap: 10px 16px !important; padding-top: 4px; }
  .dt-header .dt-nav .elementor-widget-heading { font-size: 13px; }
  .dt-brand-mark .elementor-widget-image img { width: 96px !important; max-height: 70px !important; }
  .dt-hero.e-con > .e-con-inner { flex-wrap: wrap !important; }
  .dt-hero .dt-hero-copy, .dt-hero .dt-hero-image { flex: 1 1 100% !important; width: 100% !important; max-width: 100% !important; }
  .dt-card-grid--three > .e-con-inner > .e-con,
  .dt-card-grid--two > .e-con-inner > .e-con { flex: 1 1 100% !important; width: 100% !important; max-width: 100% !important; }
  .dt-hero, .dt-section { padding-left: 20px !important; padding-right: 20px !important; }
  .dt-footer > .e-con-inner { gap: 28px; }
}
