/* Local runtime: keep Elementor layout visible without WP Rocket / Pro JS. */
:root,
html,
body,
.elementor,
.elementor-kit-6 {
  --e-global-color-primary: #9cd5d6;
  --e-global-color-secondary: #e6ce6c;
  --e-global-color-text: #a7a7a7;
  --e-global-color-accent: #efefef;
  --e-global-color-7712a59: #b2e0e1;
}

@font-face {
  font-family: "Swistblnk Monthoers";
  src: url("/wp-content/uploads/2024/09/Monthoers.ttf") format("truetype");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

@font-face {
  font-family: "Swistblnk Monthoers";
  src: url("/wp-content/uploads/2024/09/Monthoers.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Swistblnk Monthoers";
  src: url("/wp-content/uploads/2024/09/Monthoers.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "Swistblnk Monthoers";
  src: url("/wp-content/uploads/2024/09/Monthoers.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

.elementor-invisible {
  visibility: visible !important;
  opacity: 1 !important;
}

.elementor-kit-6 h1 {
  color: #e6ce6c;
  font-family: "Swistblnk Monthoers", sans-serif;
}

.elementor-kit-6 h2 {
  color: #e6ce6c;
}

/* Homepage display headings: post-8.css colors with hex fallbacks. */
.elementor-8 .elementor-element-809838b .elementor-heading-title,
.elementor-8 .elementor-element-34fac96 .elementor-heading-title,
.elementor-8 .elementor-element-261dba6 .elementor-heading-title,
.elementor-8 .elementor-element-346fbf6 .elementor-heading-title {
  color: #9cd5d6;
  font-family: "Swistblnk Monthoers", sans-serif;
}

.elementor-8 .elementor-element-e26dca6 .elementor-heading-title,
.elementor-8 .elementor-element-76b60ba .elementor-heading-title,
.elementor-8 .elementor-element-923b1ef .elementor-heading-title {
  color: #ffffff;
  font-family: "Swistblnk Monthoers", sans-serif;
}

.elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown,
.elementor-nav-menu--toggle .elementor-menu-toggle.elementor-active + .elementor-nav-menu__container {
  display: block !important;
  max-height: 80vh !important;
  transform: scaleY(1) !important;
  overflow: auto !important;
}

/* Do not clip the Specialties mega-menu. */
.elementor-location-header,
.elementor-location-header .elementor-section,
.elementor-location-header .elementor-container,
.elementor-location-header .elementor-column,
.elementor-location-header .elementor-widget-wrap,
.elementor-location-header .e-con,
.elementor-location-header .e-con-inner,
.elementor-location-header .elementor-widget,
.elementor-location-header .elementor-widget-container,
.elementor-widget-n-menu,
.elementor-widget-n-menu .e-n-menu,
.elementor-widget-n-menu .e-n-menu-wrapper,
.elementor-widget-n-menu .e-n-menu-heading,
.elementor-widget-n-menu .e-n-menu-item {
  overflow: visible !important;
}

/* Elementor Pro nested mega-menu: open Specialties on hover/tap without Pro JS. */
.elementor-widget-n-menu .e-n-menu-item {
  position: relative !important;
}

.elementor-widget-n-menu .e-n-menu-item:has(.e-n-menu-content) .e-n-menu-title,
.elementor-widget-n-menu .e-n-menu-item:has(.e-n-menu-content) .e-n-menu-title-container {
  cursor: pointer !important;
}

.elementor-widget-n-menu .e-n-menu:not([data-layout="dropdown"]) .e-n-menu-item > .e-n-menu-content,
.elementor-widget-n-menu .e-n-menu-item > .e-n-menu-content {
  --stretch-left: auto;
  --stretch-right: 0px;
  --stretch-width: max-content;
  position: absolute !important;
  top: calc(100% - 6px) !important;
  left: auto !important;
  right: 0 !important;
  width: max-content !important;
  min-width: 16rem !important;
  max-width: none !important;
  z-index: 2147483646 !important;
  padding-top: 14px !important;
  background-color: transparent !important;
}

.elementor-widget-n-menu .e-n-menu-item:hover > .e-n-menu-content > .e-con,
.elementor-widget-n-menu .e-n-menu-item.is-open > .e-n-menu-content > .e-con,
.elementor-widget-n-menu .e-n-menu-item.is-open > .e-n-menu-content > .e-con:not(.e-active),
.elementor-widget-n-menu .e-n-menu-content.e-active > .e-con,
.elementor-widget-n-menu .e-n-menu-content > .e-con.e-active {
  display: flex !important;
  flex-direction: column !important;
  width: max-content !important;
  min-width: 16rem !important;
  max-width: none !important;
  --width: max-content !important;
}

.elementor-4827 .elementor-widget-n-menu .e-n-menu-item:hover > .e-n-menu-content > .elementor-element-9111385,
.elementor-4827 .elementor-widget-n-menu .e-n-menu-item.is-open > .e-n-menu-content > .elementor-element-9111385,
.elementor-4827 .elementor-element.elementor-element-9111385.e-active {
  --width: max-content !important;
  width: max-content !important;
  min-width: 16rem !important;
  max-width: none !important;
  padding: 1rem 1.35rem !important;
  background-color: #ffffff !important;
}

.elementor-widget-n-menu .e-n-menu-toggle[aria-expanded="true"] + .e-n-menu-wrapper {
  --n-menu-wrapper-display: flex;
}

.rise-page-hero {
  min-height: 50vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: #9cd5d6;
  padding: 140px 24px 72px;
  text-align: center;
}

.rise-page-hero h1 {
  margin: 0;
  color: #e6ce6c !important;
  font-family: "Swistblnk Monthoers", sans-serif !important;
  font-weight: 700;
  font-size: clamp(2rem, 4.5vw, 3.4rem) !important;
  line-height: 1.25 !important;
}

.rise-page-hero p {
  max-width: 40rem;
  margin: 18px auto 0;
  color: #fff;
  font-family: Arvo, serif;
  font-size: 1.05rem !important;
  line-height: 1.7 !important;
}

.rise-page-body {
  max-width: 1140px;
  margin: 0 auto;
  padding: 64px 24px 88px;
}

.rise-page-body h2 {
  color: #e6ce6c;
  font-family: Arvo, serif;
  font-weight: 400;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  margin: 2rem 0 0.8rem;
}

.rise-page-body p,
.rise-page-body li {
  font-family: Arvo, sans-serif;
  color: #6b6b6b;
  line-height: 1.75;
  margin: 0 0 1.1em;
}

.rise-page-body .todo-note {
  font-size: 0.92rem;
  color: #8a8a8a;
}

.rise-page-cta {
  margin-top: 2rem;
}

.elementor-message {
  margin-top: 12px;
  font-family: Arvo, sans-serif;
  font-size: 0.95rem;
}

.elementor-message-success {
  color: #2e7d32;
}

.elementor-message-danger {
  color: #c62828;
}
