/* VitalAxis — Forest & Gold (distinct from previous blue/indigo look) */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,600;0,9..144,700;1,9..144,600&family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700&display=swap');

:root {
  --c-bg:         #f0ebe3;
  --c-panel:      #fffcf7;
  --c-alt:        #dde8e0;
  --c-navy:       #14532d;
  --c-navy-dark:  #052e16;
  --c-navy2:      #059669;
  --c-teal:       #10b981;
  --c-teal2:      #fde68a;
  --c-amber:      #d97706;
  --c-gold:       #ca8a04;
  --c-text:       #1c1917;
  --c-text-dim:   #57534e;
  --c-border:     rgba(20, 83, 45, 0.14);
  --c-border2:    rgba(20, 83, 45, 0.28);
  --c-shadow:     rgba(5, 46, 22, 0.07);
  --c-shadow2:    rgba(5, 46, 22, 0.14);
  --c-grad-hero:  linear-gradient(155deg, #022c22 0%, #064e3b 38%, #047857 72%, #0d9488 100%);
  --c-grad-cta:   linear-gradient(160deg, #042f2e 0%, #134e4a 45%, #115e59 100%);
  --c-grad-accent:linear-gradient(90deg, #059669 0%, #ca8a04 55%, #eab308 100%);
  --c-grad-foot:  linear-gradient(168deg, #022c22 0%, #14532d 42%, #166534 100%);
}

@keyframes vaShift {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.85; }
}

html body,
html body.u-body {
  font-family: 'DM Sans', system-ui, sans-serif !important;
  color: var(--c-text) !important;
  background-color: var(--c-bg) !important;
  background-image:
    radial-gradient(ellipse 90% 60% at 100% -10%, rgba(5, 150, 105, 0.09), transparent 55%),
    radial-gradient(ellipse 70% 50% at 0% 100%, rgba(202, 138, 4, 0.06), transparent 50%),
    radial-gradient(circle at 1.5px 1.5px, rgba(20, 83, 45, 0.09) 1px, transparent 0) !important;
  background-size: 100% 100%, 100% 100%, 28px 28px !important;
  -webkit-font-smoothing: antialiased;
}

html body.u-body::before {
  content: '' !important;
  position: fixed !important;
  top: -25vh !important;
  right: -15vw !important;
  width: 55vw !important;
  height: 55vw !important;
  background: radial-gradient(circle, rgba(234, 179, 8, 0.11) 0%, transparent 62%) !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

html body h1, html body h2, html body h3,
html body h4, html body h5, html body h6,
html body .u-body h1, html body .u-body h2,
html body .u-body h3, html body .u-body h4 {
  font-family: 'Fraunces', Georgia, serif !important;
  text-transform: none !important;
  letter-spacing: -0.03em !important;
  font-weight: 600 !important;
  line-height: 1.12 !important;
  font-variation-settings: "SOFT" 40, "WONK" 1 !important;
}

html body h1 {
  color: #ffffff !important;
  text-shadow: 0 3px 28px rgba(0, 0, 0, 0.35) !important;
  font-size: clamp(2.25rem, 5.5vw, 3.75rem) !important;
  font-weight: 650 !important;
}

html body section.u-section-1:not(.u-white) h1 {
  color: var(--c-navy) !important;
  text-shadow: none !important;
}

html body h2 {
  color: var(--c-navy) !important;
  font-size: clamp(1.75rem, 3.2vw, 2.35rem) !important;
}

html body h3 {
  color: var(--c-navy) !important;
  font-size: 1.35rem !important;
  letter-spacing: -0.02em !important;
}

html body p,
html body .u-text-1, html body .u-text-2,
html body .u-text-3, html body .u-text-4,
html body .u-text-5, html body .u-text-6,
html body .u-text-7, html body .u-text-8,
html body .u-text-default, html body .u-text-variant {
  color: var(--c-text) !important;
  line-height: 1.78 !important;
  font-size: 1.02rem !important;
}

html body a:not(.u-btn):not(.u-button-style):not(.u-nav-link):not(.u-logo) {
  color: var(--c-navy2) !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
  font-weight: 500 !important;
}
html body a:not(.u-btn):not(.u-button-style):not(.u-nav-link):not(.u-logo):hover {
  color: var(--c-gold) !important;
}

html body .u-text-palette-1-base,
html body .u-text-active-palette-1-base,
html body .u-palette-4-light-3 .u-text-palette-1-base {
  color: var(--c-text) !important;
}

html body .u-logo.u-logo-text,
html body a.u-logo.u-logo-text {
  font-family: 'Fraunces', Georgia, serif !important;
  font-size: 1.65rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.04em !important;
  text-transform: none !important;
  color: var(--c-navy) !important;
  text-decoration: none !important;
  padding: 0.45em 0 !important;
  min-height: auto !important;
  width: auto !important;
  transition: color 0.25s !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
}
html body .u-logo.u-logo-text::before {
  content: '' !important;
  flex-shrink: 0 !important;
  display: inline-block !important;
  width: 36px !important;
  height: 6px !important;
  background: var(--c-grad-accent) !important;
  border-radius: 99px !important;
  box-shadow: 0 2px 12px rgba(202, 138, 4, 0.45) !important;
  transition: width 0.25s, box-shadow 0.25s !important;
}
html body .u-logo.u-logo-text:hover {
  color: var(--c-navy2) !important;
}
html body .u-logo.u-logo-text:hover::before {
  width: 46px !important;
  box-shadow: 0 4px 18px rgba(5, 150, 105, 0.4) !important;
}

html body .u-header,
html body .u-header.u-palette-4-light-3,
html body header.u-header,
.u-palette-4-light-3,
section.u-palette-4-light-3,
.u-palette-4-light-3 > .u-container-layout,
.u-palette-4-light-3 > .u-inner-container-layout,
.u-container-layout.u-container-layout.u-palette-4-light-3 {
  background-color: rgba(255, 252, 247, 0.92) !important;
  backdrop-filter: blur(20px) saturate(1.25) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.25) !important;
  border-bottom: 3px solid transparent !important;
  border-image: var(--c-grad-accent) 1 !important;
  box-shadow: 0 4px 24px rgba(5, 46, 22, 0.08) !important;
  color: var(--c-text) !important;
}

section.u-palette-4-light-3::before,
.u-palette-4-light-3 > .u-container-layout::before,
.u-palette-4-light-3 > .u-inner-container-layout::before,
.u-container-layout.u-container-layout.u-palette-4-light-3::before {
  background-color: transparent !important;
}

html body .u-nav-link,
html body .u-palette-4-light-3 .u-nav-link,
html body .u-palette-4-light-3 .u-text-grey-90,
html body .u-palette-4-light-3 .u-text-palette-1-base {
  color: var(--c-text) !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  transition: color 0.2s !important;
  position: relative !important;
}
html body .u-nav-link:hover,
html body .u-palette-4-light-3 .u-nav-link:hover {
  color: var(--c-navy2) !important;
}

html body section,
html body .u-section-1,
html body .u-section-2,
html body .u-section-3,
html body .u-section-4,
html body .u-section-5,
html body .u-section-6,
html body .u-section-7,
html body .u-section-8 {
  background-color: var(--c-bg) !important;
  position: relative !important;
  z-index: 1 !important;
}

html body .u-section-1,
html body section.u-white.u-section-1 {
  background: var(--c-grad-hero) !important;
  position: relative !important;
  overflow: hidden !important;
}

html body .u-section-1::before {
  content: '' !important;
  position: absolute !important;
  bottom: -45% !important;
  left: -20% !important;
  width: 70% !important;
  height: 180% !important;
  background: radial-gradient(ellipse, rgba(234, 179, 8, 0.2) 0%, transparent 68%) !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  z-index: 0 !important;
}
html body .u-section-1::after {
  content: '' !important;
  position: absolute !important;
  top: -30% !important;
  right: -25% !important;
  width: 65% !important;
  height: 120% !important;
  background: radial-gradient(ellipse, rgba(16, 185, 129, 0.18) 0%, transparent 65%) !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

html body .u-section-1 .u-sheet {
  position: relative !important;
  z-index: 1 !important;
}

html body .u-section-1 h1 {
  color: #fffef8 !important;
  text-shadow: 0 4px 32px rgba(0, 0, 0, 0.35) !important;
}
html body .u-section-1 p,
html body .u-section-1 .u-text-1 {
  color: rgba(255, 254, 248, 0.92) !important;
  font-size: 1.125rem !important;
  line-height: 1.85 !important;
  max-width: 38em !important;
}

.u-white,
section.u-white,
html body .u-white,
html body section.u-white {
  background-color: var(--c-panel) !important;
  color: var(--c-text) !important;
}

html body section.u-white.u-section-1 {
  background: var(--c-grad-hero) !important;
}

section.u-white::before,
.u-white > .u-container-layout::before,
.u-white > .u-inner-container-layout::before,
.u-white > .u-audio-main-layout-wrapper::before,
.u-white.u-sidenav::before,
.u-container-layout.u-container-layout.u-white::before {
  background-color: var(--c-panel) !important;
}

html body .u-section-1.u-white > .u-container-layout::before,
html body .u-section-1 > .u-container-layout::before {
  background-color: transparent !important;
}

section.u-white::after {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 4px !important;
  background: var(--c-grad-accent) !important;
  opacity: 0.5 !important;
  z-index: 2 !important;
}
html body .u-section-1.u-white::after {
  display: none !important;
}

.u-white .u-text-1, .u-white .u-text-2, .u-white .u-text-3,
.u-white .u-text-4, .u-white .u-text-5, .u-white .u-text-6,
.u-white .u-text-7, .u-white .u-text-8, .u-white p,
.u-white h3, .u-white h2, .u-white h1 {
  color: var(--c-text) !important;
}
.u-white h1 { color: var(--c-navy) !important; }
.u-white h3 { color: var(--c-navy) !important; }

html body .u-section-2,
html body .u-section-4,
html body .u-section-6,
html body .u-section-8,
html body section.u-palette-4-light-3:not(.u-header):not(.u-sticky) {
  background-color: var(--c-alt) !important;
}

section.u-palette-4-light-3:not(.u-header)::before,
.u-palette-4-light-3:not(.u-header) > .u-container-layout::before,
.u-palette-4-light-3:not(.u-header) > .u-inner-container-layout::before {
  background-color: var(--c-alt) !important;
}

html body .u-section-2 h3,
html body .u-section-4 h3,
html body .u-section-6 h3,
html body .u-section-8 h3,
html body .u-palette-4-light-3 h3 {
  color: var(--c-navy) !important;
}

html body .u-section-2 .u-text-1,
html body .u-section-4 .u-text-1,
html body .u-section-6 .u-text-1 {
  color: var(--c-navy) !important;
}

html body .u-section-2::after,
html body .u-section-4::after,
html body .u-section-6::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 2px !important;
  background: var(--c-grad-accent) !important;
  opacity: 0.35 !important;
  z-index: 2 !important;
}

html body .u-section-2::before,
html body .u-section-4::before,
html body .u-section-6::before {
  content: '' !important;
  position: absolute !important;
  top: -35% !important;
  right: -12% !important;
  width: 48% !important;
  height: 110% !important;
  background: radial-gradient(ellipse, rgba(5, 150, 105, 0.1) 0%, transparent 72%) !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

html body .u-section-8,
html body section.u-palette-4-light-3.u-section-8 {
  background: var(--c-grad-cta) !important;
  position: relative !important;
  overflow: hidden !important;
}
html body .u-section-8::before {
  content: '' !important;
  position: absolute !important;
  top: -55% !important;
  right: -18% !important;
  width: 65% !important;
  height: 220% !important;
  background: radial-gradient(ellipse, rgba(250, 204, 21, 0.14) 0%, transparent 68%) !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  z-index: 0 !important;
}
html body .u-section-8::after {
  display: none !important;
}
html body .u-section-8 .u-sheet {
  position: relative !important;
  z-index: 1 !important;
}
html body .u-section-8 h2,
html body .u-section-8 .u-text-default {
  color: #fffef8 !important;
  text-shadow: 0 3px 20px rgba(0, 0, 0, 0.35) !important;
  font-family: 'Fraunces', Georgia, serif !important;
}
html body .u-section-8 p,
html body .u-section-8 .u-text-2 {
  color: rgba(255, 254, 248, 0.9) !important;
}

html body .u-layout-cell.u-white,
html body .u-layout-cell.u-white.u-layout-cell-1,
html body .u-layout-cell.u-white.u-layout-cell-2,
html body .u-layout-cell.u-white.u-layout-cell-3,
html body .u-layout-cell.u-white.u-layout-cell-4 {
  background: linear-gradient(180deg, #fffcf7 0%, #faf7f2 100%) !important;
  border: 1px solid var(--c-border) !important;
  border-top: 4px solid transparent !important;
  border-radius: 20px !important;
  box-shadow:
    0 6px 16px -4px var(--c-shadow),
    0 16px 40px -8px var(--c-shadow2) !important;
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.3s ease !important;
  position: relative !important;
  overflow: hidden !important;
}
html body .u-layout-cell.u-white::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 4px !important;
  background: var(--c-grad-accent) !important;
  border-radius: 20px 20px 0 0 !important;
  z-index: 3 !important;
}
html body .u-layout-cell.u-white:hover {
  transform: translateY(-6px) !important;
  box-shadow:
    0 12px 28px -6px var(--c-shadow),
    0 28px 50px -12px rgba(5, 46, 22, 0.18) !important;
}

html body .u-layout-cell.u-white .u-container-layout::before,
html body .u-layout-cell.u-white > .u-container-layout::before {
  background-color: transparent !important;
}

html body .u-image img {
  filter: saturate(1.05) contrast(1.02) !important;
  border-radius: 18px !important;
  transition: transform 0.45s ease, box-shadow 0.45s ease !important;
  box-shadow: 0 8px 32px rgba(5, 46, 22, 0.12) !important;
}
html body .u-image:hover img {
  transform: scale(1.03) !important;
  box-shadow: 0 16px 48px rgba(5, 46, 22, 0.2) !important;
}

html body .u-footer,
html body .u-footer.u-grey-90,
html body footer.u-footer,
html body .u-grey-90 {
  background: var(--c-grad-foot) !important;
  border-top: none !important;
  box-shadow: 0 -12px 48px rgba(2, 44, 34, 0.35) !important;
  color: rgba(255, 254, 248, 0.82) !important;
  position: relative !important;
  overflow: hidden !important;
}

html body .u-footer::before,
html body .u-grey-90::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 4px !important;
  background: var(--c-grad-accent) !important;
  opacity: 1 !important;
}

html body .u-footer::after,
html body .u-grey-90::after {
  content: '' !important;
  position: absolute !important;
  bottom: -45% !important;
  right: -8% !important;
  width: 55% !important;
  height: 220% !important;
  background: radial-gradient(ellipse, rgba(234, 179, 8, 0.09) 0%, transparent 58%) !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

html body .u-footer .u-sheet,
html body .u-grey-90 .u-sheet {
  position: relative !important;
  z-index: 1 !important;
}

html body .u-footer .u-text-1,
html body .u-footer .u-text-2,
html body .u-footer .u-text-legal,
html body .u-grey-90 .u-text-variant,
html body .u-grey-90 .u-text-1,
html body .u-grey-90 p {
  color: rgba(255, 254, 248, 0.78) !important;
  font-size: 0.84rem !important;
  line-height: 1.78 !important;
}

html body .u-footer a,
html body .u-grey-90 a {
  color: var(--c-teal2) !important;
  transition: color 0.2s, opacity 0.2s !important;
}
html body .u-footer a:hover,
html body .u-grey-90 a:hover {
  color: #fff !important;
  opacity: 1 !important;
}
html body .u-text-palette-1-light-3,
html body .u-btn.u-text-palette-1-light-3 {
  color: var(--c-teal2) !important;
}

html body .u-btn-submit,
html body .u-button-style.u-palette-1-dark-3,
html body .u-active-palette-1-dark-3,
html body .u-hover-palette-1-dark-1,
html body a.u-btn.u-btn-submit {
  background: linear-gradient(
    105deg,
    var(--c-navy-dark) 0%,
    #047857 42%,
    var(--c-gold) 88%,
    #eab308 100%
  ) !important;
  background-size: 220% auto !important;
  color: #fffef8 !important;
  border: none !important;
  border-radius: 999px !important;
  text-transform: none !important;
  letter-spacing: 0.06em !important;
  font-weight: 700 !important;
  font-family: 'DM Sans', sans-serif !important;
  padding: 0.85em 2.5em !important;
  box-shadow:
    0 6px 22px rgba(5, 46, 22, 0.35),
    0 2px 8px rgba(202, 138, 4, 0.25) !important;
  transition: background-position 0.45s ease, transform 0.2s ease, box-shadow 0.2s ease !important;
}
html body .u-btn-submit:hover,
html body .u-button-style.u-palette-1-dark-3:hover {
  background-position: 95% center !important;
  color: #fffef8 !important;
  box-shadow:
    0 10px 36px rgba(234, 179, 8, 0.35),
    0 4px 14px rgba(4, 120, 87, 0.35) !important;
  transform: translateY(-3px) scale(1.02) !important;
}

html body .u-input,
html body .u-input-rectangle,
html body .u-form-group input,
html body .u-form-group textarea {
  background-color: rgba(255, 252, 247, 0.95) !important;
  color: var(--c-text) !important;
  border: 2px solid rgba(20, 83, 45, 0.2) !important;
  border-radius: 14px !important;
  font-family: 'DM Sans', sans-serif !important;
  transition: border-color 0.25s, box-shadow 0.25s, background-color 0.2s !important;
}
html body .u-input:focus,
html body .u-form-group input:focus,
html body .u-form-group textarea:focus {
  border-color: var(--c-navy2) !important;
  background-color: #fff !important;
  box-shadow:
    0 0 0 4px rgba(16, 185, 129, 0.2),
    0 4px 14px var(--c-shadow) !important;
  outline: none !important;
}
html body .u-input::placeholder,
html body .u-input-rectangle::placeholder {
  color: var(--c-text-dim) !important;
  opacity: 0.7 !important;
}

html body .u-section-8 .u-input,
html body .u-section-8 .u-input-rectangle,
html body .u-section-8 .u-form-group input,
html body .u-section-8 .u-form-group textarea {
  background-color: rgba(255, 255, 255, 0.1) !important;
  border-color: rgba(255, 254, 248, 0.35) !important;
  color: #fffef8 !important;
}
html body .u-section-8 .u-input::placeholder,
html body .u-section-8 .u-input-rectangle::placeholder {
  color: rgba(255, 254, 248, 0.5) !important;
}
html body .u-section-8 .u-input:focus,
html body .u-section-8 .u-form-group input:focus,
html body .u-section-8 .u-form-group textarea:focus {
  background-color: rgba(255, 255, 255, 0.16) !important;
  border-color: #fde68a !important;
  box-shadow: 0 0 0 4px rgba(250, 204, 21, 0.2) !important;
}

html body .u-line-horizontal,
html body .u-border-grey-dark-1,
html body .u-line.u-line-horizontal {
  background: var(--c-grad-accent) !important;
  border: none !important;
  height: 3px !important;
  border-radius: 3px !important;
  opacity: 0.45 !important;
}

html body .u-sidenav,
html body .u-menu-overlay {
  background: linear-gradient(165deg, #064e3b 0%, #14532d 100%) !important;
  border-left: 3px solid rgba(234, 179, 8, 0.45) !important;
  backdrop-filter: blur(12px) !important;
}
html body .u-sidenav .u-nav-link {
  color: rgba(255, 254, 248, 0.92) !important;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 600 !important;
}
html body .u-sidenav .u-nav-link:hover {
  color: #fde68a !important;
}

html body .u-overlap:not(.u-sticky-scroll) .u-header,
.u-overlap:not(.u-sticky-scroll) .u-header {
  background-color: rgba(255, 252, 247, 0.96) !important;
  backdrop-filter: blur(16px) !important;
}

html body .u-section-1 p, html body .u-section-1 .u-text-1 {
  color: rgba(255, 254, 248, 0.92) !important;
}
html body .u-section-2 p, html body .u-section-2 .u-text-2,
html body .u-section-2 .u-text-4, html body .u-section-2 .u-text-6,
html body .u-section-2 .u-text-8, html body .u-section-2 .u-text-default,
html body .u-section-3 p, html body .u-section-3 .u-text-2,
html body .u-section-4 p, html body .u-section-4 .u-text-2,
html body .u-section-5 p, html body .u-section-5 .u-text-2,
html body .u-section-6 p, html body .u-section-6 .u-text-2,
html body .u-section-7 p, html body .u-section-7 .u-text-2 {
  color: var(--c-text) !important;
}
html body .u-section-8 p, html body .u-section-8 .u-text-1,
html body .u-section-8 .u-text-2 {
  color: rgba(255, 254, 248, 0.9) !important;
}

html body .u-button-style.u-white,
html body .u-button-style.u-white[class*="u-border-"],
html body a.u-button-link.u-white,
html body a.u-btn.u-white {
  color: var(--c-navy) !important;
  background-color: transparent !important;
}
html body .u-button-style.u-white:hover {
  color: var(--c-gold) !important;
}

html body .u-footer .u-btn.u-button-link,
html body .u-footer a.u-button-link {
  color: var(--c-teal2) !important;
  background-color: transparent !important;
  transition: color 0.2s !important;
}
html body .u-footer .u-btn.u-button-link:hover {
  color: #fff !important;
}
