:root {
  --lead-ink: #202125;
  --lead-paper: #f7f5f2;
  --lead-pink: #c93570;
  --lead-pink-bright: #fb3e70;
  --lead-line: rgba(255, 255, 255, .14);
}

.lead-intake {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(520px, 1.14fr);
  gap: clamp(42px, 7vw, 110px);
  align-items: center;
  overflow: hidden;
  padding: clamp(90px, 11vw, 160px) max(5vw, calc((100vw - 1440px) / 2));
  color: #fff;
  background:
    radial-gradient(circle at 12% 18%, rgba(201, 53, 112, .18), transparent 35%),
    linear-gradient(132deg, #202125 0%, #17181b 62%, #111215 100%);
}

.lead-intake::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  opacity: .18;
  background-image: linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: linear-gradient(90deg, #000, transparent 72%);
}

.lead-intake__glow {
  position: absolute;
  width: 440px;
  height: 440px;
  right: -180px;
  bottom: -220px;
  z-index: -1;
  border-radius: 50%;
  background: rgba(251, 62, 112, .18);
  filter: blur(80px);
}

.lead-intake__intro { max-width: 630px; }
.lead-intake__eyebrow { display: block; margin-bottom: 24px; color: #ff6d9a; font-size: 12px; font-weight: 800; letter-spacing: .22em; }
.lead-intake__intro h2 { margin: 0; max-width: 720px; color: #fff; font-size: clamp(48px, 6vw, 88px); line-height: .94; letter-spacing: -.065em; }
.lead-intake__intro > p { max-width: 600px; margin: 28px 0 0; color: rgba(255,255,255,.7); font-size: clamp(17px, 1.5vw, 21px); line-height: 1.55; }

.lead-intake__route { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 38px; }
.lead-intake__route span { display: inline-flex; align-items: center; gap: 9px; padding: 10px 13px; border: 1px solid var(--lead-line); border-radius: 999px; color: rgba(255,255,255,.76); font-size: 13px; }
.lead-intake__route b { color: #ff6d9a; font-size: 10px; letter-spacing: .08em; }
.lead-intake__contact { display: grid; gap: 5px; margin-top: 42px; }
.lead-intake__contact span { margin-bottom: 4px; color: rgba(255,255,255,.38); font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.lead-intake__contact a { width: fit-content; color: #fff; font-size: 14px; text-decoration: none; }
.lead-intake__contact a:hover { color: #ff6d9a; }

.lead-form { position: relative; padding: clamp(28px, 4vw, 52px); border: 1px solid rgba(255,255,255,.72); border-radius: 34px; color: var(--lead-ink); background: rgba(247,245,242,.97); box-shadow: 0 34px 90px rgba(0,0,0,.34); }
.lead-form::after { content: ""; position: absolute; inset: 12px; pointer-events: none; border: 1px solid rgba(32,33,37,.07); border-radius: 25px; }
.lead-form__heading { position: relative; z-index: 1; display: flex; justify-content: space-between; gap: 18px; align-items: flex-end; padding-bottom: 25px; border-bottom: 1px solid rgba(32,33,37,.12); }
.lead-form__heading span { color: var(--lead-pink); font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.lead-form__heading strong { font-size: clamp(24px, 2.3vw, 36px); letter-spacing: -.045em; }
.lead-form__grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 20px 16px; margin-top: 28px; }
.lead-form label { display: grid; gap: 8px; }
.lead-form label > span { color: rgba(32,33,37,.7); font-size: 12px; font-weight: 700; }
.lead-form input, .lead-form select, .lead-form textarea { width: 100%; min-width: 0; border: 1px solid rgba(32,33,37,.15); border-radius: 13px; outline: 0; color: var(--lead-ink); background: #fff; font: inherit; font-size: 15px; transition: border-color .2s ease, box-shadow .2s ease; }
.lead-form input, .lead-form select { height: 50px; padding: 0 14px; }
.lead-form textarea { resize: vertical; min-height: 112px; padding: 14px; line-height: 1.5; }
.lead-form input:focus, .lead-form select:focus, .lead-form textarea:focus { border-color: var(--lead-pink); box-shadow: 0 0 0 4px rgba(201,53,112,.1); }
.lead-form [aria-invalid="true"] { border-color: #b3261e; }
.lead-form__wide { grid-column: 1 / -1; }
.lead-form__consent { position: relative; z-index: 1; display: flex !important; grid-template-columns: none; gap: 10px !important; align-items: flex-start; margin-top: 20px; }
.lead-form__consent input { flex: 0 0 auto; width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--lead-pink); }
.lead-form__consent span { font-weight: 500 !important; line-height: 1.45; }
.lead-form__trap { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.lead-form__submit { position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: center; width: 100%; margin-top: 24px; padding: 17px 19px; border: 0; border-radius: 14px; color: #fff; background: var(--lead-pink); box-shadow: 0 14px 34px rgba(201,53,112,.22); font: inherit; font-weight: 800; cursor: pointer; transition: transform .2s ease, background .2s ease; }
.lead-form__submit:hover { transform: translateY(-2px); background: #b72f64; }
.lead-form__submit:disabled { cursor: wait; opacity: .72; transform: none; }
.lead-form__submit b { font-size: 20px; }
.lead-form__status { position: relative; z-index: 1; min-height: 22px; margin: 12px 0 0; color: #5d6169; font-size: 13px; }
.lead-form__status.is-error { color: #9d211b; }
.lead-form__status.is-success { color: #18784a; }

.lead-thanks { min-height: 100vh; display: grid; place-items: center; padding: 28px; color: #fff; background: radial-gradient(circle at 50% 15%, rgba(201,53,112,.2), transparent 38%), #17181b; }
.lead-thanks__card { width: min(680px, 100%); padding: clamp(32px, 7vw, 70px); border: 1px solid rgba(255,255,255,.13); border-radius: 34px; text-align: center; background: #202125; box-shadow: 0 30px 90px rgba(0,0,0,.35); }
.lead-thanks__mark { display: grid; place-items: center; width: 62px; height: 62px; margin: 0 auto 24px; border-radius: 20px; color: #fff; background: var(--lead-pink); font-size: 28px; }
.lead-thanks h1 { margin: 0; font-size: clamp(42px, 8vw, 78px); line-height: .96; letter-spacing: -.06em; }
.lead-thanks p { margin: 24px auto 0; max-width: 510px; color: rgba(255,255,255,.68); font-size: 18px; line-height: 1.55; }
.lead-thanks__id { display: inline-block; margin-top: 20px; padding: 8px 12px; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; color: #ff6d9a; font-size: 12px; }
.lead-thanks__actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.lead-thanks__actions a { padding: 14px 18px; border: 1px solid rgba(255,255,255,.16); border-radius: 13px; color: #fff; text-decoration: none; font-weight: 700; }
.lead-thanks__actions a:first-child { border-color: var(--lead-pink); background: var(--lead-pink); }

@media (max-width: 980px) {
  .lead-intake { grid-template-columns: 1fr; padding-inline: 6vw; }
  .lead-intake__intro { max-width: 760px; }
  .lead-form { width: min(760px, 100%); }
}

@media (max-width: 620px) {
  .lead-intake { gap: 42px; padding: 82px 20px 100px; }
  .lead-intake__intro h2 { font-size: clamp(45px, 14vw, 66px); }
  .lead-intake__route { display: grid; grid-template-columns: 1fr; }
  .lead-intake__route span { width: fit-content; }
  .lead-form { padding: 27px 20px; border-radius: 24px; }
  .lead-form::after { display: none; }
  .lead-form__heading { display: grid; align-items: start; }
  .lead-form__grid { grid-template-columns: 1fr; gap: 17px; }
  .lead-form__wide { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .lead-form__submit { transition: none; }
}
