.active-referral { background: var(--deep); }
.referral-hero { position: relative; min-height: 520px; display: flex; align-items: center; overflow: hidden; color: #fff; }
.referral-hero > img, .referral-hero-overlay { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.referral-hero-overlay { background: linear-gradient(90deg, rgba(0,36,82,.96) 0%, rgba(0,54,124,.78) 42%, rgba(0,54,124,.12) 75%); }
.referral-hero-copy { position: relative; padding: 85px 0; }
.referral-hero-copy h1 { font-size: clamp(46px,6vw,76px); }
.referral-hero-copy p:last-child { max-width: 600px; margin: 26px 0 0; color: #e1edf6; font-size: 18px; }
.referral-section { background: #f3f8fc; }
.referral-wrap { display: grid; grid-template-columns: .65fr 1.35fr; gap: 70px; align-items: start; }
.referral-note { position: sticky; top: 35px; }
.referral-note h2 { font-size: 48px; }
.referral-note h2 em { color: var(--green); }
.referral-note > p:not(.eyebrow) { color: var(--muted); font-size: 16px; }
.referral-note a { color: var(--green); font-weight: 800; }
.privacy-note { display: grid; gap: 5px; margin-top: 28px; padding: 20px; border-left: 4px solid var(--gold); background: #fff; box-shadow: 0 10px 28px rgba(0,54,124,.06); }
.privacy-note span { color: var(--muted); font-size: 13px; }
.participant-form { padding: 42px; border: 1px solid rgba(0,54,124,.12); border-radius: 24px; background: #fff; box-shadow: 0 22px 60px rgba(0,54,124,.09); }
.participant-form fieldset { margin: 0; padding: 0 0 42px; border: 0; }
.participant-form fieldset + fieldset { padding-top: 38px; border-top: 1px solid var(--line); }
.participant-form legend { width: 100%; margin-bottom: 28px; color: var(--deep); font: 700 25px 'Manrope'; }
.participant-form legend span { margin-right: 11px; color: var(--gold); font-size: 15px; }
.referral-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 19px; }
.referral-grid label, .participant-form > fieldset > label { display: grid; align-self: start; align-content: start; gap: 7px; color: var(--ink); font-size: 12px; font-weight: 800; letter-spacing: .25px; }
.referral-grid .wide { grid-column: 1 / -1; }
.participant-form input:not([type=radio]):not([type=checkbox]), .participant-form select, .participant-form textarea { width: 100%; padding: 12px 13px; border: 1px solid #cbd9e3; border-radius: 8px; background: #fbfdff; color: var(--ink); font: 400 15px 'DM Sans'; outline: 0; }
.participant-form textarea { resize: vertical; }
.participant-form input:focus, .participant-form select:focus, .participant-form textarea:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(11,113,185,.11); }
.choice-group { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 22px; margin: 22px 0; padding: 17px 18px; border-radius: 9px; background: #f3f8fc; }
.choice-group > span { width: 100%; color: var(--ink); font-size: 12px; font-weight: 800; }
.choice-group label { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 14px; }
.choice-group input { accent-color: var(--green); }
.referral-submit { padding-top: 8px; }
.referral-status { margin: 15px 0 0; color: var(--green); font-weight: 700; }
.referral-status.is-error { color: #b42318; }
.date-validation-message{display:block;margin-top:2px;padding:7px 10px;border-left:3px solid #b42318;border-radius:4px;background:#fff3f2;color:#9f1d16;font-size:12px;font-weight:700;letter-spacing:0;line-height:1.35}.date-validation-message:empty{display:none}.participant-form input[aria-invalid="true"]{border-color:#b42318;box-shadow:0 0 0 3px rgba(180,35,24,.12)}
.referral-honeypot { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.privacy-consent { display: flex; align-items: flex-start; gap: 12px; width: 100%; margin: 0 0 24px; color: var(--muted); font-size: 13px; line-height: 1.55; }
.privacy-consent input[type=checkbox] { flex: 0 0 18px; width: 18px; height: 18px; margin: 1px 0 0; padding: 0; accent-color: var(--green); }
.participant-form.submission-complete{display:block;padding:0;overflow:hidden}.referral-confirmation{padding:46px;background:linear-gradient(145deg,#fff 0%,#f2f9fd 100%);border:2px solid #8fc9e8;border-radius:16px;color:var(--deep)}.referral-confirmation h2{margin:0;color:#00367c;font-size:clamp(28px,4vw,42px);line-height:1.12}.referral-confirmation h2:focus{outline:3px solid var(--gold);outline-offset:6px}.referral-confirmation p{margin:18px 0 0;font-size:17px;line-height:1.65}.referral-confirmation .confirmation-check{display:grid;width:52px;height:52px;margin-bottom:22px;place-items:center;border-radius:50%;background:#e8f6ed;color:#167347;font-size:28px;font-weight:800}.referral-confirmation .confirmation-reference{padding:14px 18px;border-left:4px solid var(--gold);background:#fff}.referral-confirmation .confirmation-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:30px}.referral-confirmation .confirmation-home-link{padding:12px 2px;border-bottom:2px solid #0072bc;color:#00367c;font-weight:800}
.referral-confirmation h2{line-height:1.16;letter-spacing:-.5px;word-spacing:.08em}
@media(max-width:900px){.referral-wrap{grid-template-columns:1fr}.referral-note{position:static}.referral-hero{min-height:470px}.referral-hero-overlay{background:linear-gradient(90deg,rgba(0,36,82,.95),rgba(0,54,124,.5))}}
@media(max-width:600px){.referral-hero{display:flex;min-height:460px;align-items:flex-end;background:#00367c}.referral-hero>img{position:absolute;inset:0;width:100%;height:100%;min-width:100%;min-height:100%;max-width:none;object-fit:cover;object-position:62% center;transform:none}.referral-hero-overlay{inset:0;height:100%;background:linear-gradient(to bottom,rgba(0,36,82,.03),rgba(0,36,82,.96) 72%)}.referral-hero-copy{padding:105px 0 40px}.participant-form{padding:27px 18px}.referral-grid{grid-template-columns:1fr}.referral-grid .wide{grid-column:auto}.referral-note h2{font-size:42px}.choice-group{align-items:flex-start;flex-direction:column}.choice-group>span{width:auto}}
@media(max-width:600px){.referral-confirmation{padding:30px 22px}.referral-confirmation .confirmation-actions{align-items:stretch;flex-direction:column}.referral-confirmation .confirmation-actions .button,.referral-confirmation .confirmation-home-link{text-align:center}}
