/* Deluxetargets shared header/footer - homepage master */
.site-header {
  font-family: var(--text, 'Control Upright Web', Arial, sans-serif) !important;
  position: fixed !important;
  z-index: 1000 !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  padding: 20px clamp(20px, 4vw, 58px) !important;
  color: var(--ivory, #fffdf8) !important;
  background: #102c2d !important;
  border-bottom: 1px solid rgba(255, 255, 255, .24) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  transition: background .35s ease, box-shadow .35s ease, padding .35s ease, color .35s ease !important;
}
.site-header.is-scrolled {
  background: #102c2d !important;
  color: var(--ivory, #fffdf8) !important;
  box-shadow: none !important;
  padding-top: 20px !important;
  padding-bottom: 20px !important;
  backdrop-filter: none !important;
}
.site-header .header-inner {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: clamp(18px, 3vw, 42px) !important;
  max-width: 1420px !important;
  min-height: 72px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
.site-header .brand-link {
  display: inline-flex !important;
  align-items: center !important;
  text-decoration: none !important;
}
.site-header .brand {
  display: block !important;
  width: clamp(172px, 16vw, 245px) !important;
  max-height: 72px !important;
  height: auto !important;
  object-fit: contain !important;
  filter: none !important;
  opacity: .96 !important;
}
.site-header .nav,
.site-header .language-switch {
  display: flex !important;
  align-items: center !important;
  gap: clamp(16px, 2vw, 30px) !important;
}
.site-header .header-inner > .nav:not(.nav-right) {
  justify-content: center !important;
  flex-wrap: wrap !important;
}
.site-header .nav a,
.site-header .lang-button {
  color: inherit !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  letter-spacing: .14em !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
}
.site-header .nav a:hover {
  color: #fff !important;
}
.site-header .nav-right {
  justify-content: flex-end !important;
  gap: 14px !important;
  flex-wrap: nowrap !important;
}
.site-header .nav-cta {
  border: 1px solid rgba(255, 253, 248, .78) !important;
  border-radius: 999px !important;
  padding: 12px 18px !important;
  background: rgba(255, 253, 248, .88) !important;
  color: var(--deep, #102c2d) !important;
}
.site-header.is-scrolled .nav-cta {
  background: rgba(255, 253, 248, .92) !important;
  color: var(--deep, #102c2d) !important;
}
.site-header .language-switch {
  position: relative !important;
  width: auto !important;
  height: auto !important;
  display: block !important;
  border: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
.site-header .language-switch::after {
  content: "" !important;
  position: absolute !important;
  top: 100% !important;
  left: -14px !important;
  right: -14px !important;
  height: 16px !important;
  display: block !important;
}
.site-header .language-switch summary {
  list-style: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  min-height: 42px !important;
  padding: 0 15px !important;
  border: 1px solid rgba(255, 255, 255, .56) !important;
  border-radius: 999px !important;
  background: rgba(10, 31, 30, .34) !important;
  color: rgba(255, 253, 248, .92) !important;
  cursor: pointer !important;
  font-family: var(--text, 'Control Upright Web', Arial, sans-serif) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}
.site-header .language-switch summary::-webkit-details-marker {
  display: none !important;
}
.site-header .language-switch summary::after {
  content: "" !important;
  width: 6px !important;
  height: 6px !important;
  border-right: 1px solid currentColor !important;
  border-bottom: 1px solid currentColor !important;
  transform: translateY(-2px) rotate(45deg) !important;
  opacity: .78 !important;
}
.site-header .language-menu {
  position: absolute !important;
  top: calc(100% + 4px) !important;
  right: 0 !important;
  z-index: 20 !important;
  min-width: 146px !important;
  padding: 8px !important;
  border: 1px solid rgba(255, 255, 255, .24) !important;
  background: rgba(12, 31, 32, .96) !important;
  box-shadow: 0 18px 42px rgba(0, 0, 0, .26) !important;
}
.site-header .lang-option {
  display: block !important;
  padding: 10px 11px !important;
  color: rgba(255, 253, 248, .78) !important;
  text-decoration: none !important;
  font-family: var(--text, 'Control Upright Web', Arial, sans-serif) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.site-header .lang-option:hover,
.site-header .lang-option.is-active {
  color: #fff !important;
  background: rgba(255, 255, 255, .08) !important;
}
.site-footer {
  background: var(--deep, #102c2d) !important;
  color: rgba(255, 253, 248, .78) !important;
  padding: 76px clamp(22px, 5vw, 70px) 30px !important;
  border: 0 !important;
}
.site-footer .footer-main {
  display: grid !important;
  grid-template-columns: minmax(220px, 1.35fr) repeat(4, minmax(120px, .7fr)) !important;
  gap: clamp(28px, 4vw, 64px) !important;
  max-width: 1420px !important;
  margin: 0 auto 52px !important;
  align-items: start !important;
}
.site-footer .footer-brand img {
  display: block !important;
  width: 230px !important;
  max-width: 100% !important;
  height: auto !important;
  margin-bottom: 22px !important;
  filter: brightness(0) invert(1) grayscale(1) contrast(2.2) !important;
  opacity: 1 !important;
}
.site-footer .footer-brand p {
  max-width: 390px !important;
  margin: 0 !important;
  color: rgba(255, 253, 248, .68) !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
}
.site-footer .footer-col {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}
.site-footer .footer-col strong,
.site-footer .footer-trust > span {
  color: var(--gold, #b08a50) !important;
  text-transform: uppercase !important;
  letter-spacing: .16em !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  margin-bottom: 8px !important;
  font-weight: 500 !important;
}
.site-footer .footer-col a,
.site-footer .footer-col span {
  color: rgba(255, 253, 248, .72) !important;
  text-decoration: none !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}
.site-footer .footer-col a:hover {
  color: var(--ivory, #fffdf8) !important;
}
.site-footer .footer-trust {
  max-width: 1420px !important;
  margin: 0 auto 32px !important;
  padding-top: 34px !important;
  border-top: 1px solid rgba(255, 255, 255, .13) !important;
}
.site-footer .footer-logos {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: clamp(34px, 4.8vw, 75px) !important;
  margin-top: 20px !important;
}
.site-footer .footer-logos img {
  display: block !important;
  max-height: 55px !important;
  max-width: 241px !important;
  width: auto !important;
  object-fit: contain !important;
  background: transparent !important;
}
.site-footer .footer-logos .footer-logo--forbes {
  max-height: 107px !important;
  max-width: 351px !important;
  padding: 0 !important;
  background: transparent !important;
  filter: grayscale(1) invert(1) contrast(1.26) brightness(1.14) !important;
  mix-blend-mode: screen !important;
  opacity: 1 !important;
}
.site-footer .footer-logos .footer-logo--virtuoso,
.site-footer .footer-logos .footer-logo--deluxeatsea {
  max-height: 70px !important;
}
.site-footer .footer-logos .footer-logo--virtuoso {
  max-height: 86px !important;
  max-width: 247px !important;
  filter: grayscale(1) invert(1) contrast(1.65) brightness(1.45) !important;
  opacity: 1 !important;
}
.site-footer .footer-logos .footer-logo--privateupgrades {
  max-height: 44px !important;
}
.site-footer .footer-bottom {
  display: flex !important;
  justify-content: space-between !important;
  gap: 22px !important;
  max-width: 1420px !important;
  margin: 0 auto !important;
  padding-top: 26px !important;
  border-top: 1px solid rgba(255, 255, 255, .1) !important;
  font-size: 13px !important;
  color: rgba(255, 253, 248, .55) !important;
}
.site-footer .footer-bottom-links {
  display: flex !important;
  gap: 18px !important;
  flex-wrap: wrap !important;
}
.site-footer .footer-bottom a {
  color: inherit !important;
  text-decoration: none !important;
}
@media (max-width: 1100px) {
  .site-header .header-inner {
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    gap: 14px !important;
  }
  .site-header .nav,
  .site-header .language-switch {
    flex-wrap: wrap !important;
    justify-content: center !important;
  }
  .site-header .nav-right {
    justify-content: center !important;
  }
  .site-footer .footer-main {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 720px) {
  .site-header {
    font-family: var(--text, 'Control Upright Web', Arial, sans-serif) !important;
    padding: 14px 18px !important;
  }
  .site-header .header-inner {
    gap: 10px !important;
  }
  .site-header .brand {
    width: 188px !important;
  }
  .site-header .header-inner > .nav:not(.nav-right) {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    gap: 18px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 3px 1px 7px !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .site-header .header-inner > .nav:not(.nav-right)::-webkit-scrollbar {
    display: none !important;
  }
  .site-header .header-inner > .nav:not(.nav-right) > a {
    flex: 0 0 auto !important;
    width: auto !important;
  }
  html body .site-header .header-inner > .nav.nav-right {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 10px !important;
  }
  html body .site-header .header-inner > .nav.nav-right > .nav-cta {
    position: static !important;
    left: auto !important;
    transform: none !important;
    width: auto !important;
    max-width: none !important;
    justify-self: stretch !important;
  }
  html body .site-header .header-inner > .nav.nav-right > .language-switch {
    justify-self: end !important;
    margin: 0 !important;
  }
  .site-header .nav a,
  .site-header .lang-button {
    font-size: 10px !important;
    letter-spacing: .1em !important;
  }
  .site-header .nav-cta {
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 9px 14px !important;
  }
  .site-footer .footer-main {
    grid-template-columns: 1fr !important;
  }
  .site-footer .footer-bottom {
    flex-direction: column !important;
  }
}



