.referral-section{padding-top:clamp(64px,9vw,120px);padding-bottom:clamp(64px,9vw,120px)}
.referral-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,72px);align-items:start}
.referral-copy h2 span{color:var(--accent)}
.referral-lead{color:var(--muted);font-size:1.0625rem;line-height:1.65;max-width:560px;margin-top:18px}
.referral-lead strong{color:var(--text)}
.referral-steps{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:14px}
.referral-steps li{display:flex;gap:14px;align-items:flex-start;color:var(--muted);line-height:1.55}
.referral-steps b{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:.875rem;color:var(--bg);background:var(--accent)}
.referral-terms{margin-top:26px;border:1px solid var(--line);border-radius:16px;padding:14px 18px;background:#ffffff06}
.referral-terms summary{cursor:pointer;font-weight:600;color:var(--text)}
.referral-terms ul{margin:12px 0 0;padding-left:18px;color:var(--muted);font-size:.9375rem;line-height:1.6;display:grid;gap:6px}
.referral-form{display:grid;gap:8px;margin-top:18px}
.referral-form label{font-size:.875rem;font-weight:600;color:var(--text);margin-top:6px}
.referral-optional{font-weight:400;color:var(--muted)}
.referral-form input[type=text],.referral-form input[type=email],.referral-form input[type=tel]{width:100%;box-sizing:border-box;min-height:48px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:#0b1222;color:var(--text);font:inherit}
.referral-form input:focus{outline:2px solid var(--accent);outline-offset:1px}
.referral-form input[aria-invalid=true]{border-color:#ff7a8a}
.referral-consent{display:flex!important;gap:10px;align-items:flex-start;font-weight:400!important;color:var(--muted)!important;line-height:1.5;margin-top:10px!important}
.referral-consent input{margin-top:3px;flex:none;width:18px;height:18px;accent-color:var(--accent)}
.referral-consent a{color:var(--accent)}
.referral-status{min-height:1.2em;margin:4px 0 0;font-size:.875rem;color:#ff9aa6}
.referral-submit{margin-top:6px}
.referral-submit[disabled]{opacity:.6;cursor:progress}
.referral-done h3{margin-top:12px}
.referral-done p{color:var(--muted)}
@media (max-width:900px){.referral-grid{grid-template-columns:1fr}}
.referral-title-link{color:inherit;text-decoration:none;transition:opacity .18s}
.referral-title-link:hover{opacity:.85}
.referral-title-link:hover span{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}
.referral-more{margin-top:24px;color:var(--accent)}
/* Referral programme landing page (/referral-program/). Form styles come from referral.css. */
.rp h1 span,.rp h2 span{color:var(--accent)}
.rp-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,72px);align-items:center;padding-top:clamp(150px,16vw,190px);padding-bottom:clamp(40px,6vw,72px)}
.rp-hero h1{font-size:clamp(2.6rem,5.4vw,4.8rem)}
.rp-lead{color:var(--muted);font-size:1.125rem;line-height:1.65;max-width:560px}
.rp-lead strong{color:var(--text)}
.rp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:34px}
.rp figure{margin:0;position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--surface)}
.rp figure img{width:100%;height:100%;object-fit:cover}
.rp-hero-media{aspect-ratio:4/5;max-height:640px;justify-self:end;width:100%}
.rp-hero-media figcaption{position:absolute;left:18px;bottom:16px;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:#dfe6f5;background:rgba(8,11,23,.6);padding:6px 12px;border-radius:999px}
.rp-facts{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line)}
.rp-facts div{padding:28px 20px;display:grid;gap:4px}
.rp-facts div+div{border-left:1px solid var(--line)}
.rp-facts strong{font-size:clamp(1.6rem,2.6vw,2.2rem);font-weight:500;letter-spacing:-.03em;color:var(--accent)}
.rp-facts span{color:var(--muted);font-size:.9375rem}
.rp-how{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,5vw,80px);align-items:center}
.rp-side-media{aspect-ratio:4/5}
.rp-steps{list-style:none;padding:0;margin:36px 0 0;display:grid;gap:26px}
.rp-steps li{display:flex;gap:18px;align-items:flex-start}
.rp-steps b{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:.9375rem;color:var(--bg);background:var(--accent)}
.rp-steps h3{font-size:1.25rem;margin-bottom:6px}
.rp-steps p,.rp-clients-head>p,.rp-sector-grid p,.rp-example p,.rp-note{color:var(--muted)}
.rp-clients{border-top:1px solid var(--line)}
.rp-clients-head{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,80px);align-items:end;margin-bottom:44px}
.rp-sector-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.rp-sector-grid article{padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(150deg,#12192b,#0d1220);transition:border-color .24s,transform .24s var(--ease)}
.rp-sector-grid article:hover{border-color:#54e2f460;transform:translateY(-3px)}
.rp-sector-grid h3{font-size:1.125rem;margin-bottom:10px}
.rp-sector-grid p{font-size:.9375rem;line-height:1.6}
.rp-fit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center;margin-top:clamp(48px,7vw,88px)}
.rp-fit figure{aspect-ratio:1/1}
.rp-fit h3{font-size:1.5rem;margin-bottom:18px}
.rp-checks{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.rp-checks li{position:relative;padding-left:30px;color:var(--muted);line-height:1.55}
.rp-checks li:before{content:"";position:absolute;left:0;top:.45em;width:16px;height:9px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg)}
.rp-note{margin-top:22px;font-size:.9375rem;border-left:2px solid var(--accent);padding-left:14px}
.rp-partners{border-top:1px solid var(--line)}
.rp-partner-list{list-style:none;padding:0;margin:40px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.rp-partner-list li{padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:#ffffff05;color:var(--text)}
.rp-example{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,72px);align-items:center;padding:clamp(40px,6vw,64px);border:1px solid #54e2f433;border-radius:28px;background:radial-gradient(ellipse at 100% 0,#20305a66,transparent 60%),#0b1020}
.rp-example p{margin-top:18px;font-size:1.0625rem}
.rp-example small{display:block;margin-top:16px;color:#8592ab;font-size:.8125rem;line-height:1.55}
.rp-calc{margin:0;display:grid;gap:10px}
.rp-calc div{display:flex;justify-content:space-between;gap:16px;padding:16px 20px;border:1px solid var(--line);border-radius:14px;background:#ffffff06}
.rp-calc dt{color:var(--muted)}
.rp-calc dd{margin:0;font-weight:600}
.rp-calc .rp-calc-total{border-color:var(--accent);background:#54e2f414}
.rp-calc .rp-calc-total dd{color:var(--accent);font-size:1.25rem}
.rp-faq{border-top:1px solid var(--line);margin-top:clamp(64px,9vw,112px)}
.rp-apply{border-top:1px solid var(--line)}
.rp-apply .rp-checks{margin-top:24px}
@media (max-width:1000px){.rp-sector-grid{grid-template-columns:repeat(2,1fr)}.rp-partner-list{grid-template-columns:repeat(2,1fr)}}
@media (max-width:900px){.rp-hero,.rp-how,.rp-fit,.rp-example,.rp-clients-head{grid-template-columns:1fr}.rp-hero-media{max-height:none;justify-self:stretch}.rp-facts{grid-template-columns:repeat(2,1fr)}.rp-facts div:nth-child(3){border-left:0}.rp-facts div:nth-child(n+3){border-top:1px solid var(--line)}}
@media (max-width:560px){.rp-sector-grid,.rp-partner-list{grid-template-columns:1fr}.rp-example{padding:28px 20px}.rp-calc div{flex-direction:column;gap:2px}}
.referral-status.is-ok{color:var(--accent)}
