:root {
  --bh-polish-bronze: #d6b579;
  --bh-polish-bronze-deep: #c79b58;
  --bh-polish-ink: #17130e;
  --bh-polish-ease: cubic-bezier(0.22, 0.7, 0.3, 1);
}

/* One primary-action language, fitted to the existing CBT design. */
#tb-homepage-page :is(.btn-nav, .btn-mobile, .btn-hero, .comb-btn, .joe-cta) {
  border-color: rgba(214, 181, 121, 0.72) !important;
  background: linear-gradient(180deg, #dfc38f 0%, var(--bh-polish-bronze) 54%, var(--bh-polish-bronze-deep) 100%) !important;
  color: var(--bh-polish-ink) !important;
  box-shadow: 0 14px 34px rgba(90, 63, 29, 0.22), 0 2px 8px rgba(0, 0, 0, 0.22) !important;
}

#tb-homepage-page :is(.btn-nav, .btn-mobile, .btn-hero, .comb-btn, .joe-cta) :is(span, svg) {
  color: inherit !important;
}

/* The source page gives Joe's dark-module button a more specific pale style. */
#tb-homepage-page .joe-module--dark .joe-cta {
  border-color: rgba(214, 181, 121, 0.72) !important;
  background: linear-gradient(180deg, #dfc38f 0%, var(--bh-polish-bronze) 54%, var(--bh-polish-bronze-deep) 100%) !important;
  color: var(--bh-polish-ink) !important;
}

#tb-homepage-page :is(.btn-nav, .btn-mobile, .btn-hero, .comb-btn, .joe-cta):hover {
  background: linear-gradient(180deg, #e5cb9c 0%, #d9b97f 54%, #cca162 100%) !important;
  opacity: 1 !important;
  transform: translateY(-2px);
}

#tb-homepage-page .joe-module--dark .joe-cta:hover {
  background: linear-gradient(180deg, #e5cb9c 0%, #d9b97f 54%, #cca162 100%) !important;
  color: var(--bh-polish-ink) !important;
}

/* The inherited scrolled-nav rule forces this one label white. Keep the
   primary-action language consistent and readable on the bronze button. */
html body #tb-homepage-page .nav.scrolled .btn-nav,
html body #tb-homepage-page .nav.scrolled .btn-nav:hover,
html body #tb-homepage-page .nav.scrolled .btn-nav:focus-visible {
  color: var(--bh-polish-ink) !important;
}

#tb-homepage-page :is(.btn-nav, .btn-mobile, .btn-hero, .comb-btn, .joe-cta):focus-visible {
  outline: 3px solid #fff !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 6px #2a2117, 0 14px 34px rgba(90, 63, 29, 0.24) !important;
}

#tb-homepage-page .hero.hero--photo .hero-sub {
  max-width: 38ch;
}

#tb-homepage-page .hero.hero--photo .hero-action {
  position: relative;
  isolation: isolate;
}

#tb-homepage-page .hero.hero--photo .hero-action::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -28px -34px;
  border-radius: 28px;
  background: radial-gradient(ellipse at 50% 55%, rgba(214, 181, 121, 0.14), transparent 68%);
  pointer-events: none;
}

html.bh-polish-js [data-bh-reveal] {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
  transition: opacity 900ms var(--bh-polish-ease), transform 900ms var(--bh-polish-ease);
  transition-delay: var(--bh-reveal-delay, 0ms);
  will-change: opacity, transform;
}

html.bh-polish-js [data-bh-reveal].is-bh-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

@media (max-width: 639px) {
  #tb-homepage-page .hero.hero--photo .hero-action::before {
    inset: -20px -16px;
  }
}

@media (min-width: 768px) and (max-height: 760px) {
  #tb-homepage-page .hero.hero--photo .hero-inner {
    padding-block: 48px !important;
  }

  #tb-homepage-page .hero.hero--photo .hero-sub {
    margin-top: 22px !important;
  }

  #tb-homepage-page .hero.hero--photo .hero-action {
    margin-top: 0 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  html.bh-polish-js [data-bh-reveal],
  html.bh-polish-js [data-bh-reveal].is-bh-visible {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  #tb-homepage-page :is(.btn-nav, .btn-mobile, .btn-hero, .comb-btn, .joe-cta),
  #tb-homepage-page :is(.btn-nav, .btn-mobile, .btn-hero, .comb-btn, .joe-cta):hover {
    transform: none !important;
    transition: none !important;
  }
}
