.elementor .elementor-button,
.elementor .elementor-button.elementor-button-link,
.elementor a.elementor-button,
.elementor a.elementor-button.elementor-button-link,
.elementor .elementor-widget-button .elementor-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  background-color: transparent !important;
  background-image: linear-gradient(338deg, #c80018 0%, #ff1934 65%) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 1.65rem 3.2rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  box-shadow: 0 12px 32px rgba(255, 25, 52, 0.2) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease !important;
}

.elementor .elementor-button .elementor-button-content-wrapper {
  display: inline-flex !important;
  align-items: center;
  gap: 0.5rem;
  background: transparent !important;
}

.elementor .elementor-button .elementor-button-icon svg {
  width: 1.1em !important;
  height: 1.1em !important;
  fill: currentColor !important;
}

.elementor .elementor-button:hover,
.elementor .elementor-button:focus {
  filter: brightness(1.08) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 16px 36px rgba(255, 25, 52, 0.28) !important;
  color: #ffffff !important;
}

.elementor .elementor-button:after,
.elementor .elementor-button:before {
  display: none !important;
}

/* Adjust hero heading spacing so it clears background artwork */
.elementor-337 .elementor-element.elementor-element-3d7834b0 {
  margin-top: clamp(18rem, 12vw + 14rem, 26rem) !important;
}

/* Nudge hero subtext away from the background image */
.elementor-337 .elementor-element.elementor-element-13e268aa {
  margin-top: clamp(2rem, 2vw + 1.5rem, 4rem) !important;
}

/* Ensure hero background covers full width */
.elementor-337 .elementor-element.elementor-element-db8d958 > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-337 .elementor-element.elementor-element-db8d958:not(.elementor-motion-effects-element-type-background) {
  background-size: cover !important;
  background-position: center top !important;
}
