.referral-page { min-height:100vh; }
.referral-hero { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr); align-items:center; gap:clamp(48px,8vw,120px); padding:clamp(80px,10vw,145px) clamp(24px,7.1vw,120px); }
.referral-copy h1 { max-width:800px; margin:0 0 30px; font-size:clamp(58px,7vw,104px); font-weight:700; letter-spacing:-.065em; line-height:.88; }
.referral-lead { max-width:650px; margin:0 0 32px; font-size:clamp(18px,1.55vw,23px); font-weight:500; letter-spacing:-.035em; line-height:1.55; }
.referral-login { display:inline-flex; }
.responsible { max-width:580px; margin:24px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }
.referral-card { width:min(100%,480px); justify-self:end; box-sizing:border-box; padding:31px; background:var(--ink); color:var(--paper); box-shadow:13px 13px 0 var(--orange); }
.card-kicker { display:flex; justify-content:space-between; margin:0 0 28px; color:#d6d6d6; font:500 11px 'DM Mono',monospace; letter-spacing:.12em; }
.card-kicker span { color:var(--orange); }
.referral-amount { display:flex; align-items:end; gap:14px; padding:0 0 29px; border-bottom:1px solid #333; }
.referral-amount strong { color:#fff; font-size:86px; font-weight:700; letter-spacing:-.09em; line-height:.8; }
.referral-amount span { max-width:150px; color:#c6c6c6; font-size:14px; line-height:1.35; }
.referral-card ol { display:grid; gap:20px; margin:28px 0 0; padding:0; list-style:none; color:#e2e2e2; font-size:14px; line-height:1.55; }
.referral-card li { display:grid; grid-template-columns:34px 1fr; gap:8px; }
.referral-card li span { color:var(--orange); font:500 11px 'DM Mono',monospace; letter-spacing:.08em; }
.referral-dashboard { display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(40px,8vw,120px); margin:0 clamp(24px,7.1vw,120px) clamp(85px,10vw,145px); padding:clamp(38px,5vw,72px); background:var(--orange); }
.referral-dashboard[hidden] { display:none; }
.referral-dashboard h2,.referral-rules h2 { margin:0; font-size:clamp(42px,5vw,72px); font-weight:700; letter-spacing:-.075em; line-height:.92; }
.referral-dashboard p { line-height:1.55; }
.referral-link-box { align-self:center; padding:25px; background:var(--ink); color:#fff; }
.referral-link-box label { display:block; margin-bottom:10px; color:#cfcfcf; font:500 11px 'DM Mono',monospace; letter-spacing:.08em; text-transform:uppercase; }
.copy-row { display:grid; grid-template-columns:1fr auto; gap:10px; }
.copy-row input { min-width:0; padding:15px 16px; border:1px solid #555; background:#171717; color:#fff; font:500 13px 'DM Mono',monospace; }
.copy-row .button { border:0; white-space:nowrap; }
.referral-link-box > p { margin:16px 0 12px; color:#b9b9b9; font-size:12px; }
.referral-payout { display:block; box-sizing:border-box; padding:15px 17px; border:1px solid #737373; color:#fff; text-align:center; text-decoration:none; font:700 11px Manrope,Arial,sans-serif; letter-spacing:.04em; text-transform:uppercase; }
.referral-payout:hover,.referral-payout:focus-visible { border-color:var(--orange); background:var(--orange); color:#090909; }
.referral-rules { display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(45px,8vw,120px); padding:clamp(80px,10vw,140px) clamp(24px,7.1vw,120px); border-top:1px solid var(--line); }
.rules-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.rules-grid article { padding-top:17px; border-top:2px solid var(--ink); }
.rules-grid h3 { margin:0 0 9px; font-size:19px; letter-spacing:-.04em; }
.rules-grid p { margin:0; color:var(--muted); font-size:14px; line-height:1.65; }
@media (max-width:800px) {
  .referral-hero,.referral-dashboard,.referral-rules { grid-template-columns:1fr; }
  .referral-hero { gap:55px; padding:82px 24px 90px; }
  .referral-copy h1 { font-size:clamp(54px,15vw,78px); }
  .referral-card { width:calc(100% - 12px); justify-self:start; padding:25px; }
  .referral-amount strong { font-size:72px; }
  .referral-dashboard { gap:30px; margin:0 24px 90px; padding:34px 24px; }
  .copy-row { grid-template-columns:1fr; }
  .rules-grid { grid-template-columns:1fr; }
}
