.referral-page { background: var(--black); }
.referral-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 596px);
  grid-template-areas: "intro form" "details form";
  grid-template-rows: auto auto;
  align-items: start;
  column-gap: clamp(3rem, 6vw, 7rem);
  row-gap: 0;
  padding-block: clamp(3.5rem, 5.25vw, 6.25rem) clamp(6rem, 8vw, 9rem);
}

.referral-editorial { grid-area: details; min-width: 0; }
.referral-intro { grid-area: intro; min-width: 0; padding-bottom: clamp(3.4rem, 5.5vw, 6rem); }
.referral-intro .eyebrow { margin-bottom: clamp(1.8rem, 2.7vw, 3rem); }
.referral-intro h1 {
  max-width: 690px;
  margin: 0;
  font-size: clamp(3.55rem, 5.15vw, 5.8rem);
  line-height: 1.055;
  letter-spacing: -.067em;
  font-weight: 400;
  text-wrap: balance;
}
.referral-intro h1 .referral-accent { color: var(--acid); }
.referral-lead {
  max-width: 590px;
  margin: clamp(1.4rem, 2.2vw, 2.1rem) 0 0;
  color: #e3e7e5;
  font-size: clamp(1.13rem, 1.65vw, 1.42rem);
  line-height: 1.46;
  letter-spacing: -.02em;
}
.referral-start-link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  margin-top: 2rem;
  padding-bottom: .45rem;
  border-bottom: 1px solid var(--acid);
  color: var(--acid);
  font: 600 .75rem/1.3 var(--mono);
  letter-spacing: .035em;
  text-transform: uppercase;
}
.referral-start-link:hover { color: var(--white); border-color: var(--white); }
.referral-start-link span { font-size: 1.2rem; line-height: 1; }

.referral-information { padding-top: 1.35rem; border-top: 1px solid rgba(255,255,255,.56); }
.referral-process { margin-top: clamp(2.7rem, 4vw, 4.5rem); }
.referral-section-label {
  margin: 0 0 1.25rem;
  color: var(--acid);
  font: 500 .7rem/1.4 var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.referral-information h2 {
  margin: 0 0 1.3rem;
  font-size: clamp(2rem, 2.7vw, 2.65rem);
  line-height: 1.15;
  letter-spacing: -.05em;
  font-weight: 400;
}
.referral-facts, .referral-steps { margin: 0; padding: 0; list-style: none; }
.referral-facts li, .referral-steps li {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  align-items: start;
  gap: .6rem;
  padding: 1rem 0;
  border-top: 1px solid rgba(255,255,255,.22);
}
.referral-facts li:last-child, .referral-steps li:last-child { border-bottom: 1px solid rgba(255,255,255,.22); }
.referral-facts li > span { color: var(--acid); font: 500 1rem/1.5 var(--mono); }
.referral-steps li > span { padding-top: .22rem; color: var(--acid); font: 500 .7rem/1.4 var(--mono); }
.referral-facts p, .referral-steps p { max-width: 520px; margin: 0; color: #d6d9d8; font-size: .96rem; line-height: 1.55; }

.referral-card {
  grid-area: form;
  min-width: 0;
  padding: clamp(1.4rem, 2.85vw, 2.25rem);
  border: 1px solid #3a527a;
  background: var(--cobalt);
  box-shadow: 0 28px 90px rgba(0,0,0,.18);
  scroll-margin-top: 1.5rem;
}
.referral-card-heading { padding-bottom: 1.55rem; border-bottom: 1px solid rgba(255,255,255,.28); }
.referral-card-kicker {
  margin: 0 0 1rem;
  color: var(--acid);
  font: 600 .7rem/1.4 var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.referral-card-heading h2 {
  margin: 0;
  font-size: clamp(2rem, 2.7vw, 2.7rem);
  line-height: 1.12;
  letter-spacing: -.05em;
  font-weight: 400;
}
.referral-card-heading h2 .referral-accent { color: var(--acid); }
.referral-card-heading > p:last-child { margin: .7rem 0 0; color: #d5deec; font-size: .96rem; line-height: 1.5; }
.referral-card form { display: grid; gap: .9rem; padding-top: 1.55rem; }
.referral-field-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; }
.referral-field-pair--new-group, .referral-field--new-group { margin-top: .45rem; }
.referral-card .field { min-width: 0; gap: .45rem; }
.referral-card .field > span:first-child { color: #f2f5fa; }
.referral-card .field:has([aria-invalid="true"]) > span:first-child { color: #ffd0d4; }
.referral-card .field input,
.referral-card .field select { min-height: 50px; border-color: #8ca0bb; background-color: rgba(255,255,255,.065); }
.referral-card .field input::placeholder { color: #aabbd3; opacity: 1; }
.referral-card .field select:invalid { color: #aabbd3; }
.referral-card .field select option { color: var(--black); }
.referral-card .field input[aria-invalid="true"],
.referral-card .field select[aria-invalid="true"] { border-color: #ffb6bf; box-shadow: 0 0 0 1px #ffb6bf; }
.referral-card .field > .field-error { color: #ffd0d4; font: 400 .75rem/1.35 var(--sans); letter-spacing: 0; text-transform: none; }
.referral-submit { width: 100%; min-height: 60px; margin-top: .75rem; box-shadow: 0 5px 0 #008b59; }
.referral-submit:hover { box-shadow: 0 7px 0 #008b59; }
.referral-submit-note { margin: .3rem 0 0; color: #c0cde0; font-size: .74rem; line-height: 1.55; }
.referral-submit-note a { color: var(--white); text-decoration: underline; text-underline-offset: 2px; }
.referral-submit-note a:hover { color: var(--acid); }
.referral-status { margin: .25rem 0 0; padding: .85rem 1rem; border: 1px solid var(--acid); background: #0a3a2b; color: var(--white); font-size: .86rem; line-height: 1.5; }
.referral-status[hidden] { display: none; }
.referral-status a { color: var(--acid); text-decoration: underline; text-underline-offset: 2px; }
.referral-status a:hover { color: var(--white); }
.referral-status.is-error, .referral-status[data-state="error"] { border-color: #ffb6bf; background: #472433; }

@media (max-width: 1100px) {
  .referral-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 52%); gap: clamp(2rem, 4vw, 4rem); }
  .referral-intro h1 { font-size: clamp(3.15rem, 5.1vw, 4.9rem); }
}
@media (max-width: 920px) {
  .referral-layout { grid-template-columns: 1fr; grid-template-areas: "intro" "form" "details"; gap: 3rem; }
  .referral-editorial { max-width: 720px; }
  .referral-intro { padding-bottom: 0; }
  .referral-intro h1 { font-size: clamp(3.6rem, 7.8vw, 5.7rem); }
  .referral-card { width: min(100%, 700px); }
}
@media (max-width: 600px) {
  .referral-layout { padding-block: 3rem 5rem; gap: 2.7rem; }
  .referral-intro h1 { font-size: clamp(3.25rem, 10.7vw, 4.5rem); }
  .referral-lead { font-size: 1.1rem; }
  .referral-card { padding: 1.3rem; }
  .referral-card-heading h2 { font-size: 2rem; }
  .referral-field-pair { grid-template-columns: 1fr; }
  .referral-information h2 { font-size: 2.1rem; }
}
@media (prefers-reduced-motion: reduce) {
  .referral-start-link, .referral-submit { transition: none; }
}

.referral-resource { margin-top: 2rem; padding: 1.25rem 1.4rem; border: 1px solid #364a62; border-left: 2px solid var(--acid); background: #0d1724; }
.referral-resource .referral-section-label { margin: 0 0 .65rem; }
.referral-resource a { color: var(--white); font-size: 1rem; line-height: 1.5; text-decoration: underline; text-underline-offset: 4px; }
.referral-resource a:hover { color: var(--acid); }
.referral-resource a:focus-visible { outline: 2px solid var(--acid); outline-offset: 5px; }
.referral-resource > p:last-child { margin: .7rem 0 0; color: #b4c3d6; font-size: .88rem; line-height: 1.6; }
.referral-resource .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
