﻿:root {
  --bg: #f4f8f5 !important;
  --white: #fffefd !important;
  --ink: #050607 !important;
  --ink2: #273233 !important;
  --ink3: #596968 !important;
  --ink4: #8b9894 !important;
  --bdr: rgba(6, 45, 64, .14) !important;
  --bdr2: rgba(6, 45, 64, .22) !important;
  --nv: #062d40 !important;
  --nv2: #0a4965 !important;
  --gd: #83cdb8 !important;
  --gd2: #d9fff1 !important;
  --gdl: rgba(131, 205, 184, .15) !important;
  --gdl2: rgba(131, 205, 184, .09) !important;
  --er: #9f4638 !important;
  --r: 8px !important;
  --shadow: 0 18px 60px rgba(5, 6, 7, .10), 0 2px 10px rgba(6, 45, 64, .08) !important;
}

body {
  background:
    linear-gradient(180deg, #fafffc 0%, #eef9f4 46%, #f6fbf8 100%) !important;
  color: var(--ink) !important;
  font-family: "DM Sans", "Inter", "Segoe UI", Arial, sans-serif !important;
  font-kerning: normal;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4 {
  color: var(--ink) !important;
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif !important;
  letter-spacing: 0 !important;
}

p,
li,
input,
textarea,
select,
button {
  font-family: "DM Sans", "Inter", "Segoe UI", Arial, sans-serif !important;
}

.brand-name,
.ft-logo-name,
.stat-n,
.fee-amt,
.ct-val {
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif !important;
  letter-spacing: 0 !important;
}

.brand-sub,
.main-nav a,
.mob-nav a,
.eyebrow,
.hero-eyebrow,
.ct-label,
.ft-ch,
.stat-l,
.partner-role,
.btn,
.btn-call,
.btn-apply-hdr,
.acc-btn {
  letter-spacing: .04em !important;
  word-spacing: .02em;
}

[style*="letter-spacing"] {
  letter-spacing: .04em !important;
}

.main-nav a,
.mob-nav a,
.ft-col a,
.ft-links a,
.ct-card,
.sidebar-box,
.card {
  overflow-wrap: normal;
}

a[href^="tel:"],
.ct-val,
.sb-ci,
.btn-call {
  font-family: "DM Sans", "Inter", "Segoe UI", Arial, sans-serif !important;
  font-variant-numeric: normal;
  font-feature-settings: normal;
  letter-spacing: 0 !important;
  white-space: nowrap;
}

.ct-label,
.ft-ch,
.partner-role {
  line-height: 1.35 !important;
}

.ct-val,
.sb-ci {
  line-height: 1.45 !important;
}

.card-icon,
.res-ic,
.sb-ci svg {
  border-radius: 999px !important;
}

.card-icon,
.res-ic {
  background:
    linear-gradient(135deg, #050607 0%, #062d40 48%, #0b7890 100%) !important;
  border: 1px solid rgba(217, 255, 241, .46) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .22),
    0 14px 30px rgba(5, 6, 7, .18),
    0 0 0 4px rgba(131, 205, 184, .10) !important;
}

.card-icon svg,
.res-ic svg,
.sb-ci svg,
.acc-btn svg,
.faq-q svg {
  stroke: #d9fff1 !important;
  stroke-width: 1.25 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.card-icon svg {
  width: 19px !important;
  height: 19px !important;
}

.res-ic svg {
  width: 15px !important;
  height: 15px !important;
}

.site-header {
  background: rgba(255, 254, 253, .91) !important;
  border-bottom: 1px solid rgba(6, 45, 64, .12) !important;
  backdrop-filter: blur(18px) saturate(1.2);
  box-shadow: 0 10px 34px rgba(5, 6, 7, .05);
}

.brand svg path:first-child {
  fill: #050607 !important;
  stroke: #83cdb8 !important;
}

.brand-sub,
.eyebrow,
.ct-label,
.ft-ch,
.card-icon svg,
.acc-btn svg,
.faq-q svg,
.sb-ci svg,
.res-ic svg {
  color: #0a7c86 !important;
  stroke: #0a7c86 !important;
}

.brand-name {
  color: #050607 !important;
}

.main-nav a {
  color: #2d4143 !important;
}

.main-nav a:hover,
.main-nav a.cur {
  color: #050607 !important;
  background: rgba(131, 205, 184, .18) !important;
}

.btn,
.btn-call,
.btn-apply-hdr,
button {
  border-radius: 999px !important;
}

.btn-navy,
.btn-apply-hdr,
.btn-call:hover {
  background: #050607 !important;
  border-color: #050607 !important;
  color: #fffefd !important;
}

.btn-gold,
.btn.primary,
.btn.gold {
  background: linear-gradient(135deg, #9ef0d2 0%, #69c0b6 46%, #0b7890 100%) !important;
  color: #050607 !important;
  box-shadow: 0 16px 34px rgba(11, 120, 144, .24), inset 0 1px 0 rgba(255, 255, 255, .52) !important;
}

.btn-gold:hover,
.btn.primary:hover,
.btn.gold:hover {
  color: #050607 !important;
  transform: translateY(-2px);
  box-shadow: 0 22px 44px rgba(11, 120, 144, .30), inset 0 1px 0 rgba(255, 255, 255, .60) !important;
}

.btn-ghost,
.btn-ghost-dk,
.btn.ghost {
  border-color: rgba(255, 255, 255, .34) !important;
}

.hero-dark,
.hero-sm,
.cta-band,
.site-footer,
.fee-box {
  background:
    linear-gradient(135deg, rgba(5, 6, 7, .96) 0%, rgba(6, 45, 64, .97) 44%, rgba(8, 91, 111, .94) 100%) !important;
}

.hero-sm,
.cta-band {
  position: relative;
  overflow: hidden;
}

.hero-dark {
  padding-top: 92px !important;
  padding-bottom: 84px !important;
}

.hero-dark::before,
.hero-sm::before,
.cta-band::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 12%, rgba(131, 205, 184, .25), transparent 30%),
    radial-gradient(circle at 80% 0%, rgba(217, 255, 241, .16), transparent 28%),
    linear-gradient(90deg, rgba(255, 255, 255, .035), transparent 24%, rgba(255, 255, 255, .025) 74%, transparent);
}

.hero-dark > *,
.hero-sm > *,
.cta-band > * {
  position: relative;
  z-index: 1;
}

.hero-eyebrow {
  color: #d9fff1 !important;
}

.hero-eyebrow::before,
.hero-eyebrow::after,
.hero-dark::after {
  background: linear-gradient(90deg, transparent, rgba(131, 205, 184, .86), transparent) !important;
}

.hero-dark h1,
.hero-sm h1,
.cta-band h2,
.site-footer h3,
.ft-logo-name {
  color: #fffefd !important;
}

.hero-dark h1 em {
  color: #d9fff1 !important;
}

.stats-bar,
section[style*="background:var(--white)"] {
  background:
    linear-gradient(180deg, rgba(250, 255, 252, .98), rgba(238, 249, 244, .94)) !important;
}

.stat {
  background: linear-gradient(180deg, rgba(250, 255, 252, .96), rgba(238, 249, 244, .92)) !important;
}

.stat-n {
  color: #062d40 !important;
}

.card,
.sidebar-box,
.faq-wrap,
.ct-card,
.partner,
.res-link,
.comp-box,
details {
  background:
    linear-gradient(180deg, rgba(250, 255, 252, .96), rgba(238, 249, 244, .92)) !important;
  border: 1px solid rgba(6, 45, 64, .13) !important;
  border-radius: 8px !important;
  box-shadow: 0 18px 54px rgba(5, 6, 7, .08), inset 0 1px 0 rgba(255, 255, 255, .72) !important;
}

.card:hover,
.res-link:hover {
  border-color: rgba(10, 124, 134, .34) !important;
  box-shadow: 0 24px 70px rgba(5, 6, 7, .11), inset 0 1px 0 rgba(255, 255, 255, .82) !important;
}

.card-icon,
.res-ic {
  background: linear-gradient(135deg, rgba(217, 255, 241, .92), rgba(131, 205, 184, .18)) !important;
  border-color: rgba(10, 124, 134, .22) !important;
}

.comp-box,
.sidebar-box {
  border-left-color: #0a7c86 !important;
  border-top-color: #0a7c86 !important;
}

.steps-row::before {
  background: linear-gradient(90deg, transparent, rgba(6, 45, 64, .22), transparent) !important;
}

.step-n {
  background: #050607 !important;
  border-color: #83cdb8 !important;
  color: #d9fff1 !important;
  box-shadow: 0 14px 32px rgba(5, 6, 7, .16);
}

.chklist li::before {
  background-color: #d9fff1 !important;
  border-color: #0a7c86 !important;
}

.fl input,
.fl textarea,
.fl select,
input,
textarea,
select {
  background: #fffefd !important;
  border-color: rgba(6, 45, 64, .22) !important;
  border-radius: 8px !important;
}

.fl input:focus,
.fl textarea:focus,
.fl select:focus,
input:focus,
textarea:focus,
select:focus {
  border-color: #0a7c86 !important;
  box-shadow: 0 0 0 4px rgba(131, 205, 184, .20) !important;
}

.fl input:focus ~ label,
.fl input:not(:placeholder-shown) ~ label,
.fl textarea:focus ~ label,
.fl textarea:not(:placeholder-shown) ~ label,
.fl select ~ label,
.fl input[type=date] ~ label,
.rq {
  color: #0a7c86 !important;
}

.breadcrumb,
.mob-nav {
  background: rgba(250, 255, 252, .96) !important;
}

.map-box iframe,
iframe {
  filter: saturate(.9) contrast(1.05);
}

.cert {
  color: #d9fff1 !important;
  border-color: rgba(217, 255, 241, .35) !important;
  background: rgba(217, 255, 241, .08);
}

.ft-col a:hover,
.ft-links a:hover {
  color: #d9fff1 !important;
}

@media (max-width: 768px) {
  .site-header {
    backdrop-filter: blur(14px);
  }

  .hero-dark {
    padding-top: 64px !important;
  }
}

.card-icon,
.res-ic {
  border-radius: 999px !important;
  background:
    linear-gradient(135deg, #050607 0%, #062d40 48%, #0b7890 100%) !important;
  border: 1px solid rgba(217, 255, 241, .46) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .22),
    0 14px 30px rgba(5, 6, 7, .18),
    0 0 0 4px rgba(131, 205, 184, .10) !important;
}

.card-icon svg,
.res-ic svg {
  color: #d9fff1 !important;
  stroke: #d9fff1 !important;
  stroke-width: 1.25 !important;
}
