:root {
  --bg: #f5f4f1;
  --ink: #111111;
  --muted: #676965;
  --quiet: #8a8c86;
  --line: #d8d6cf;
  --soft-line: #e7e4dd;
  --paper: #fbfaf7;
  --green: #63d94e;
  --green-dark: #38952e;
  --black: #101010;
  --serif: Georgia, "Times New Roman", serif;
  --sans: "Helvetica Neue", Arial, sans-serif;
  --mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

body {
  background: var(--bg) !important;
  color: var(--ink) !important;
  font-family: var(--sans) !important;
}

.site-shell > .hero {
  max-width: 1120px !important;
  margin: 0 !important;
  padding: 74px 0 62px !important;
  text-align: left !important;
  border-bottom: 1px solid var(--line) !important;
  display: block !important;
}

.site-shell > .hero .hero-eyebrow,
.site-shell > .how .how-num {
  color: var(--green-dark) !important;
  font-family: var(--mono) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

.site-shell > .hero .hero-eyebrow {
  margin: 0 0 26px !important;
}

.site-shell > .hero h1 {
  max-width: 700px !important;
  margin: 0 0 24px !important;
  color: var(--ink) !important;
  font-family: var(--serif) !important;
  font-size: 68px !important;
  font-weight: 500 !important;
  line-height: .98 !important;
  letter-spacing: 0 !important;
}

.site-shell > .hero h1 em {
  color: var(--green-dark) !important;
  font-style: italic !important;
}

.site-shell > .hero .hero-sub {
  max-width: 650px !important;
  margin: 0 !important;
  color: #333 !important;
  font-size: 18px !important;
  line-height: 1.7 !important;
  font-weight: 300 !important;
}

.site-shell > .hero .hero-cta {
  display: inline-flex !important;
  width: auto !important;
  max-width: max-content !important;
  margin-top: 34px !important;
  align-items: center !important;
  gap: 14px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--black) !important;
  color: #fff !important;
  padding: 16px 24px !important;
  font-family: var(--sans) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

.site-shell > .hero .hero-cta:hover {
  color: #fff !important;
  background: #000 !important;
  transform: translateY(-1px) !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

.site-shell > .hero .hero-cta svg {
  width: 18px !important;
  height: 18px !important;
  color: var(--green) !important;
}

.trust {
  margin: 0 !important;
  padding: 54px 0 !important;
  border-top: 0 !important;
  border-bottom: 1px solid var(--line) !important;
  background: transparent !important;
}

.trust-inner {
  max-width: none !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  text-align: left !important;
  border-top: 1px solid var(--line) !important;
  border-bottom: 1px solid var(--line) !important;
}

.trust-item {
  padding: 28px 30px 30px !important;
  border-right: 1px solid var(--soft-line) !important;
}

.trust-item:last-child {
  border-right: 0 !important;
}

.trust-item h3 {
  margin: 0 0 12px !important;
  color: var(--ink) !important;
  font-family: var(--serif) !important;
  font-size: 24px !important;
  font-weight: 500 !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
}

.trust-item p {
  max-width: 34ch !important;
  color: #343434 !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}

.how {
  max-width: none !important;
  margin: 0 !important;
  padding: 72px 0 !important;
  border-bottom: 1px solid var(--line) !important;
}

.how h2 {
  margin: 0 0 42px !important;
  color: var(--ink) !important;
  font-family: var(--serif) !important;
  font-size: 42px !important;
  font-weight: 500 !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
}

.how-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  border-top: 1px solid var(--line) !important;
  border-bottom: 1px solid var(--line) !important;
}

.how-step {
  min-height: 220px !important;
  padding: 34px 34px 38px !important;
  text-align: left !important;
  border-right: 1px solid var(--soft-line) !important;
}

.how-step:last-child {
  border-right: 0 !important;
}

.how-num {
  width: auto !important;
  height: auto !important;
  margin: 0 0 42px !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--green-dark) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  box-shadow: none !important;
  font-family: var(--mono) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .14em !important;
  line-height: 1 !important;
}

.how-num::before {
  content: "";
  display: inline-block;
  width: 34px;
  height: 1px;
  margin-right: 12px;
  background: var(--green-dark);
}

.how-step h3 {
  margin: 0 0 10px !important;
  color: var(--ink) !important;
  font-family: var(--serif) !important;
  font-size: 23px !important;
  font-weight: 500 !important;
  line-height: 1.15 !important;
}

.how-step p {
  max-width: 32ch !important;
  margin: 0 !important;
  color: #373737 !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}

.intake {
  max-width: 860px !important;
  margin: 0 auto !important;
  padding: 76px 0 84px !important;
}

.intake-card {
  background: var(--paper) !important;
  border: 1px solid var(--line) !important;
  border-radius: 0 !important;
  padding: 42px 48px 44px !important;
  box-shadow: none !important;
}

.intake-card h2 {
  margin: 0 0 12px !important;
  color: var(--ink) !important;
  font-family: var(--serif) !important;
  font-size: 34px !important;
  font-weight: 500 !important;
  line-height: 1.1 !important;
  letter-spacing: 0 !important;
}

.intake-card .sub {
  max-width: 58ch !important;
  margin: 0 0 30px !important;
  color: #3d3d3d !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}

.form-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px 20px !important;
}

.field {
  gap: 8px !important;
}

.field.full {
  grid-column: 1 / -1 !important;
}

.field label {
  color: var(--quiet) !important;
  font-family: var(--mono) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

.field input,
.field select,
.field textarea {
  min-height: 46px !important;
  border: 1px solid var(--line) !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: var(--ink) !important;
  font-family: var(--sans) !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  padding: 12px 14px !important;
  box-shadow: none !important;
}

.field textarea {
  min-height: 132px !important;
}

.field input:focus,
.field select:focus,
.field textarea:focus {
  border-color: var(--green-dark) !important;
  outline: 2px solid rgba(99,217,78,.18) !important;
  outline-offset: 0 !important;
}

.h-captcha {
  justify-content: flex-start !important;
  margin-top: 22px !important;
}

.submit-btn {
  display: inline-flex !important;
  width: auto !important;
  min-width: 230px !important;
  margin-top: 22px !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--black) !important;
  color: #fff !important;
  padding: 16px 22px !important;
  font-family: var(--sans) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

.submit-btn:hover {
  background: #000 !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
  box-shadow: none !important;
}

.privacy-notice,
.form-status {
  max-width: 620px !important;
  margin-top: 18px !important;
  color: var(--quiet) !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  text-align: left !important;
}

.privacy-notice a,
.form-status.success {
  color: var(--green-dark) !important;
}

.form-status.error {
  color: #9d2727 !important;
}

.intake-card.success-state {
  background: #f7fbf4 !important;
  border-color: var(--green-dark) !important;
}

.intake-success-badge {
  background: #0f4c33 !important;
  color: var(--green) !important;
}

.intake-success h3 {
  color: var(--ink) !important;
  font-family: var(--serif) !important;
}

.intake-success p {
  color: #333 !important;
}

.bottom-cta {
  margin: 0 !important;
  padding: 72px 0 74px !important;
  border-top: 1px solid var(--line) !important;
  text-align: left !important;
}

.bottom-cta h2 {
  max-width: 920px !important;
  margin: 0 0 18px !important;
  color: var(--ink) !important;
  font-family: var(--serif) !important;
  font-size: 50px !important;
  font-weight: 500 !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
}

.bottom-cta p {
  max-width: 650px !important;
  margin: 0 !important;
  color: #3a3a3a !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
}

@media (max-width: 980px) {
  .site-shell > .hero {
    padding-right: 0 !important;
  }

  .trust-inner,
  .how-grid {
    grid-template-columns: 1fr !important;
  }

  .trust-item,
  .how-step {
    border-right: 0 !important;
    border-bottom: 1px solid var(--soft-line) !important;
  }

  .trust-item:last-child,
  .how-step:last-child {
    border-bottom: 0 !important;
  }
}

@media (max-width: 700px) {
  .site-shell > .hero {
    padding: 48px 0 44px !important;
  }

  .site-shell > .hero h1 {
    font-size: 44px !important;
  }

  .site-shell > .hero .hero-sub {
    font-size: 16px !important;
  }

  .how h2,
  .bottom-cta h2 {
    font-size: 36px !important;
  }

  .intake {
    padding: 54px 0 62px !important;
  }

  .intake-card {
    padding: 30px 22px !important;
  }

  .form-grid {
    grid-template-columns: 1fr !important;
  }

  .field.full {
    grid-column: auto !important;
  }
}
