:root {
  --scw-aqua: #20c7ca;
  --scw-aqua-bright: #35d6ca;
  --scw-aqua-dark: #079ca4;
  --scw-ink: #20272a;
  --scw-deep: #0d2023;
  --scw-copy: #566266;
  --scw-mist: #f2fbfb;
  --scw-line: rgba(13, 32, 35, 0.1);
  --scw-shadow: 0 20px 55px rgba(11, 53, 58, 0.13);
}

body {
  color: var(--scw-copy);
  background: #fff;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.elementor-heading-title {
  color: var(--scw-ink);
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.elementor-widget-text-editor,
.elementor-widget-text-editor p {
  line-height: 1.72;
  text-wrap: pretty;
}

/* Header */
.elementor-element-3048f0e {
  position: relative;
  z-index: 20;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 12px 38px rgba(6, 21, 24, 0.2);
}

.elementor-element-3048f0e .elementor-nav-menu--main .elementor-item,
.elementor-element-3048f0e a {
  transition: color 180ms ease, opacity 180ms ease;
}

.elementor-element-3048f0e .elementor-nav-menu--main .elementor-item:hover,
.elementor-element-3048f0e .elementor-nav-menu--main .elementor-item:focus-visible,
.elementor-element-3048f0e .elementor-nav-menu--main .elementor-item.elementor-item-active {
  color: var(--scw-aqua-bright) !important;
}

.elementor-element-759daf3 {
  border-bottom: 1px solid var(--scw-line);
  box-shadow: 0 8px 25px rgba(13, 32, 35, 0.06);
}

/* Buttons and keyboard focus */
.elementor-button,
.wpforms-container button[type="submit"],
.wpforms-container input[type="submit"] {
  min-height: 48px;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, var(--scw-aqua), var(--scw-aqua-bright)) !important;
  box-shadow: 0 12px 25px rgba(32, 199, 202, 0.24);
  font-weight: 700 !important;
  letter-spacing: 0.025em;
  transition: transform 180ms ease, box-shadow 180ms ease, filter 180ms ease !important;
}

.elementor-button:hover,
.wpforms-container button[type="submit"]:hover,
.wpforms-container input[type="submit"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 17px 32px rgba(32, 199, 202, 0.33);
  filter: saturate(1.08) brightness(0.98);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 3px solid rgba(32, 199, 202, 0.48) !important;
  outline-offset: 3px;
}

/* Hero and inner-page banners */
.page-id-12 .elementor-element-74b76e8 .elementor-background-overlay {
  background: linear-gradient(90deg, rgba(5, 22, 25, 0.7) 0%, rgba(5, 22, 25, 0.34) 48%, rgba(5, 22, 25, 0.08) 78%);
  opacity: 1;
}

.page-id-12 .elementor-element-74b76e8 .elementor-heading-title,
.page-id-12 .elementor-element-74b76e8 .elementor-widget-text-editor {
  text-shadow: 0 3px 20px rgba(0, 0, 0, 0.34);
}

.elementor-element-2d05a2a .elementor-background-overlay,
.elementor-element-eaee6f5 .elementor-background-overlay,
.elementor-element-2d2a859 .elementor-background-overlay {
  background: linear-gradient(180deg, rgba(5, 22, 25, 0.24), rgba(5, 22, 25, 0.64));
  opacity: 1;
}

.elementor-element-2d05a2a,
.elementor-element-eaee6f5,
.elementor-element-2d2a859 {
  border-bottom: 1px solid rgba(32, 199, 202, 0.35);
  box-shadow: inset 0 -28px 50px rgba(5, 22, 25, 0.12);
}

.elementor-element-2d05a2a .elementor-heading-title,
.elementor-element-eaee6f5 .elementor-heading-title,
.elementor-element-2d2a859 .elementor-heading-title {
  text-shadow: 0 3px 20px rgba(0, 0, 0, 0.45);
}

/* Home page feature sections */
.page-id-12 .elementor-element-0c0501f,
.page-id-12 .elementor-element-bff55a2 {
  background: linear-gradient(180deg, #fff 0%, var(--scw-mist) 100%);
}

.page-id-12 .elementor-element-0c0501f,
.page-id-12 .elementor-element-1f0dc74,
.page-id-12 .elementor-element-bff55a2 {
  padding-top: 84px !important;
  padding-bottom: 84px !important;
}

.page-id-12 .elementor-element-0c0501f img,
.page-id-12 .elementor-element-1f0dc74 img,
.page-id-45 .elementor-element-3072439a img,
.page-id-45 .elementor-element-329382c img,
.page-id-157 .elementor-widget-image img {
  border-radius: 22px;
  box-shadow: var(--scw-shadow);
}

.page-id-12 .elementor-element-1f0dc74 {
  background:
    radial-gradient(circle at 17% 82%, rgba(32, 199, 202, 0.13), transparent 34%),
    linear-gradient(135deg, #f8fdfd 0%, #fff 66%);
}

/* Activity image tiles */
.page-id-12 .elementor-element-6219461 > .elementor-container > .elementor-column {
  overflow: hidden;
  border-right: 1px solid rgba(255, 255, 255, 0.24);
}

.page-id-12 .elementor-element-6219461 > .elementor-container > .elementor-column:last-child {
  border-right: 0;
}

.page-id-12 .elementor-element-6219461 > .elementor-container > .elementor-column > .elementor-widget-wrap {
  transition: filter 240ms ease;
}

.page-id-12 .elementor-element-6219461 > .elementor-container > .elementor-column:hover > .elementor-widget-wrap {
  filter: saturate(1.08) contrast(1.04);
}

.page-id-12 .elementor-element-6219461 .elementor-background-overlay {
  background: linear-gradient(180deg, rgba(5, 22, 25, 0.05) 24%, rgba(5, 22, 25, 0.78) 100%);
  opacity: 1;
}

.page-id-12 .elementor-element-6219461 .elementor-heading-title {
  text-shadow: 0 3px 16px rgba(0, 0, 0, 0.55);
}

/* Pricing cards on Home and Activities */
.elementor-element-1d803f1 > .elementor-widget-wrap,
.elementor-element-5d26a85 > .elementor-widget-wrap,
.elementor-element-e85c279 > .elementor-widget-wrap,
.elementor-element-f78740d > .elementor-widget-wrap,
.elementor-element-cae1080 > .elementor-widget-wrap,
.elementor-element-2d259ca > .elementor-widget-wrap {
  overflow: hidden;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 0 18px 44px rgba(11, 53, 58, 0.11);
  transition: transform 200ms ease, box-shadow 200ms ease;
}

.elementor-element-1d803f1:hover > .elementor-widget-wrap,
.elementor-element-5d26a85:hover > .elementor-widget-wrap,
.elementor-element-e85c279:hover > .elementor-widget-wrap,
.elementor-element-f78740d:hover > .elementor-widget-wrap,
.elementor-element-cae1080:hover > .elementor-widget-wrap,
.elementor-element-2d259ca:hover > .elementor-widget-wrap {
  transform: translateY(-8px);
  box-shadow: 0 26px 56px rgba(11, 53, 58, 0.18);
}

/* About and Activities content */
.page-id-45 .elementor-element-3072439a,
.page-id-45 .elementor-element-329382c {
  padding-top: 76px !important;
  padding-bottom: 76px !important;
}

.page-id-45 .elementor-element-329382c {
  background: linear-gradient(135deg, var(--scw-mist), #fff 68%);
}

.page-id-157 .elementor-element-cc80694 {
  background: linear-gradient(180deg, #fff 0%, #f8fdfd 52%, #fff 100%);
}

.page-id-157 .elementor-element-44582a01 > .elementor-container {
  border-radius: 24px;
  box-shadow: var(--scw-shadow);
}

/* Testimonial band */
.page-id-12 .elementor-element-7ffe682 {
  border-top: 1px solid rgba(32, 199, 202, 0.55);
  border-bottom: 1px solid rgba(32, 199, 202, 0.55);
}

.page-id-12 .elementor-element-7ffe682 .elementor-background-overlay {
  background: linear-gradient(90deg, rgba(5, 22, 25, 0.67), rgba(5, 22, 25, 0.38));
  opacity: 1;
}

/* Contact / booking form */
.page-id-155 .elementor-element-45ab6724 {
  padding-top: 78px !important;
  padding-bottom: 34px !important;
}

.page-id-155 .elementor-element-31da2ee {
  padding-top: 24px !important;
  padding-bottom: 86px !important;
  background: linear-gradient(180deg, #fff, var(--scw-mist));
}

.page-id-155 .wpforms-container {
  max-width: 1140px;
  margin-right: auto !important;
  margin-left: auto !important;
  padding: 36px !important;
  border: 1px solid rgba(32, 199, 202, 0.2);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: var(--scw-shadow);
}

.wpforms-container .wpforms-field-label {
  color: var(--scw-ink);
  font-weight: 700 !important;
}

.wpforms-container input[type="text"],
.wpforms-container input[type="email"],
.wpforms-container input[type="tel"],
.wpforms-container textarea,
.wpforms-container select {
  min-height: 50px;
  border: 1px solid rgba(13, 32, 35, 0.17) !important;
  border-radius: 12px !important;
  background: #fbfefe !important;
  box-shadow: inset 0 1px 2px rgba(13, 32, 35, 0.025);
  transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.wpforms-container textarea {
  min-height: 160px;
}

.wpforms-container input:focus,
.wpforms-container textarea:focus,
.wpforms-container select:focus {
  border-color: var(--scw-aqua) !important;
  background: #fff !important;
  box-shadow: 0 0 0 4px rgba(32, 199, 202, 0.13) !important;
}

/* Footer */
.elementor-element-43d4274 {
  border-top: 1px solid rgba(32, 199, 202, 0.2);
  box-shadow: 0 -18px 46px rgba(8, 26, 29, 0.12);
}

.elementor-element-43d4274 a,
.elementor-element-5d967961 a {
  transition: color 180ms ease, opacity 180ms ease;
}

.elementor-element-43d4274 a:hover,
.elementor-element-43d4274 a:focus-visible,
.elementor-element-5d967961 a:hover,
.elementor-element-5d967961 a:focus-visible {
  color: var(--scw-aqua-bright) !important;
}

@media (min-width: 1025px) {
  .elementor-element-5d26a85 > .elementor-widget-wrap,
  .elementor-element-cae1080 > .elementor-widget-wrap {
    transform: translateY(-6px);
    box-shadow: 0 24px 54px rgba(11, 53, 58, 0.16);
  }
}

@media (max-width: 767px) {
  .page-id-12 .elementor-element-74b76e8 {
    min-height: 640px !important;
  }

  .page-id-12 .elementor-element-74b76e8 .elementor-background-overlay {
    background: linear-gradient(180deg, rgba(5, 22, 25, 0.42), rgba(5, 22, 25, 0.2) 45%, rgba(5, 22, 25, 0.55));
  }

  .page-id-12 .elementor-element-0c0501f,
  .page-id-12 .elementor-element-1f0dc74,
  .page-id-12 .elementor-element-bff55a2,
  .page-id-45 .elementor-element-3072439a,
  .page-id-45 .elementor-element-329382c {
    padding-top: 62px !important;
    padding-bottom: 62px !important;
  }

  .page-id-12 .elementor-element-6219461 > .elementor-container > .elementor-column > .elementor-widget-wrap {
    min-height: 470px;
  }

  .page-id-12 .elementor-element-6219461 > .elementor-container > .elementor-column {
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.24);
  }

  .elementor-element-1d803f1 > .elementor-widget-wrap,
  .elementor-element-5d26a85 > .elementor-widget-wrap,
  .elementor-element-e85c279 > .elementor-widget-wrap,
  .elementor-element-f78740d > .elementor-widget-wrap,
  .elementor-element-cae1080 > .elementor-widget-wrap,
  .elementor-element-2d259ca > .elementor-widget-wrap {
    box-shadow: 0 15px 36px rgba(11, 53, 58, 0.12);
  }

  .page-id-155 .elementor-element-45ab6724 {
    padding-top: 58px !important;
    padding-bottom: 28px !important;
  }

  .page-id-155 .elementor-element-31da2ee {
    padding: 18px 18px 64px !important;
  }

  .page-id-155 .wpforms-container {
    padding: 24px 20px !important;
    border-radius: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
