.elementor-kit-6{--e-global-color-primary:#4F5E48;--e-global-color-secondary:#33302A;--e-global-color-text:#6E6657;--e-global-color-accent:#7d8a6f;--e-global-color-cream:#F4EFE5;--e-global-color-tan:#ECE4D5;--e-global-color-taupe:#9c8a72;--e-global-color-sagelight:#97A98C;--e-global-color-mutedbody:#5f5849;--e-global-typography-primary-font-family:"Cormorant Garamond";--e-global-typography-primary-font-weight:500;--e-global-typography-secondary-font-family:"Mulish";--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"Mulish";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Mulish";--e-global-typography-accent-font-weight:500;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-letter-spacing:1.8px;color:#6E6657;font-family:"Mulish", Sans-serif;font-weight:400;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:#4F5E48;color:#F4EFE5;border-radius:30px 30px 30px 30px;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:#7d8a6f;}.elementor-kit-6 a:hover{color:#4F5E48;}.elementor-kit-6 h1{color:#33302A;font-family:"Cormorant Garamond", Sans-serif;font-weight:500;}.elementor-kit-6 h2{color:#33302A;font-family:"Cormorant Garamond", Sans-serif;font-weight:500;}.elementor-kit-6 h3{color:#33302A;font-family:"Cormorant Garamond", Sans-serif;font-weight:600;}.elementor-kit-6 h4{color:#4F5E48;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* Mobile overflow guard */
html, body { overflow-x: hidden; max-width: 100%; }
*, *::before, *::after { box-sizing: border-box; }

/* Image rounding sitewide - 18px on img tag, not wrapper */
.elementor-widget-image:not(.elementor-widget-theme-site-logo) img { border-radius: 18px !important; }
.elementor-widget-theme-site-logo img { border-radius: 0 !important; }

/* Nav link spacing */
.elementor-nav-menu .elementor-item { padding: 12px 0 !important; }

/* Mobile nav panel */
@media (max-width: 767px) {
  .elementor-nav-menu--dropdown.elementor-nav-menu__container {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    width: 100vw;
    background: #2C2924;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    z-index: 999;
  }
  .elementor-nav-menu--dropdown .elementor-item {
    color: #EAE3D5 !important;
    width: 100%;
    padding: 14px 24px !important;
    border-bottom: 1px solid rgba(255,255,255,0.08);
  }
  .elementor-nav-menu--dropdown .elementor-item:hover { color: #4F5E48 !important; }
}

/* Ghost / outline button hover fix */
.elementor-button[style*="background-color: rgba(0, 0, 0, 0)"]:hover,
.elementor-button[style*="background-color: transparent"]:hover {
  opacity: 0.8;
}


/* WPForms styling to match brand */
.wpforms-container .wpforms-field-label { font-family: "Hanken Grotesk", sans-serif; font-size: 13px; font-weight: 600; color: #534d42; letter-spacing: 0.5px; margin-bottom: 6px; }
.wpforms-container .wpforms-field input,
.wpforms-container .wpforms-field select,
.wpforms-container .wpforms-field textarea {
  font-family: "Hanken Grotesk", sans-serif;
  font-size: 15px;
  color: #2C2924;
  background: #F4EFE5;
  border: 1px solid #d9d2c2;
  border-radius: 4px;
  padding: 11px 14px;
  width: 100%;
  transition: border-color 0.2s;
}
.wpforms-container .wpforms-field input:focus,
.wpforms-container .wpforms-field select:focus,
.wpforms-container .wpforms-field textarea:focus { border-color: #7d8a6f; outline: none; box-shadow: 0 0 0 2px rgba(125,138,111,0.15); }
.wpforms-container .wpforms-field textarea { min-height: 120px; resize: vertical; }
.wpforms-container .wpforms-submit-container .wpforms-submit {
  background-color: #4F5E48 !important;
  color: #F4EFE5 !important;
  font-family: "Hanken Grotesk", sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  padding: 14px 32px !important;
  border: none !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  transition: background-color 0.2s !important;
}
.wpforms-container .wpforms-submit-container .wpforms-submit:hover { background-color: #7d8a6f !important; }
.wpforms-container .wpforms-error-container, .wpforms-field .wpforms-error { color: #c0392b; font-size: 13px; }
.wpforms-confirmation-container-full { background: #F4EFE5; border-left: 3px solid #7d8a6f; padding: 16px 20px; border-radius: 4px; font-family: "Hanken Grotesk", sans-serif; color: #534d42; }


/* Nav menu item spacing fix - horizontal gap between Home/About/Breathwork/etc */
.elementor-element-hdr-nav-menu .elementor-nav-menu--main .elementor-item {
  margin-right: 28px;
}
.elementor-element-hdr-nav-menu .elementor-nav-menu--main .elementor-item:last-child {
  margin-right: 0;
}


/* Force equal width on homepage services cards - svc-card1/2/3 */
.elementor-element-svc-card1,
.elementor-element-svc-card2,
.elementor-element-svc-card3 {
  flex-basis: 31% !important;
  max-width: 31% !important;
  flex-grow: 0 !important;
}
@media (max-width: 767px) {
  .elementor-element-svc-card1,
  .elementor-element-svc-card2,
  .elementor-element-svc-card3 {
    flex-basis: 100% !important;
    max-width: 100% !important;
  }
}


/* ============================================================
   SCROLL ANIMATIONS - opacity + transform only, no layout
   ============================================================ */

/* Base state - set by JS after page load to avoid flash */
.fsc-ready .fsc-fade-up,
.fsc-ready .fsc-fade-in,
.fsc-ready .fsc-fade-left,
.fsc-ready .fsc-fade-right {
  opacity: 0;
  will-change: opacity, transform;
}
.fsc-ready .fsc-fade-up    { transform: translateY(28px); }
.fsc-ready .fsc-fade-left  { transform: translateX(-28px); }
.fsc-ready .fsc-fade-right { transform: translateX(28px); }
.fsc-ready .fsc-fade-in    { transform: none; }

/* Visible state */
.fsc-ready .fsc-fade-up.fsc-visible,
.fsc-ready .fsc-fade-in.fsc-visible,
.fsc-ready .fsc-fade-left.fsc-visible,
.fsc-ready .fsc-fade-right.fsc-visible {
  opacity: 1;
  transform: none;
  transition: opacity 0.65s ease, transform 0.65s ease;
}

/* Staggered delays for sibling groups */
.fsc-ready .fsc-delay-1 { transition-delay: 0.1s !important; }
.fsc-ready .fsc-delay-2 { transition-delay: 0.2s !important; }
.fsc-ready .fsc-delay-3 { transition-delay: 0.3s !important; }
.fsc-ready .fsc-delay-4 { transition-delay: 0.4s !important; }

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .fsc-ready .fsc-fade-up,
  .fsc-ready .fsc-fade-in,
  .fsc-ready .fsc-fade-left,
  .fsc-ready .fsc-fade-right {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}/* End custom CSS */