/* ═══════════════════════════════════════════════════════
   Referral Program — Alumni
   ═══════════════════════════════════════════════════════ */

.rf-hero { padding: var(--page-top) 0 clamp(4rem,8vw,6rem); background: var(--cream); }
.rf-hero h1 { max-width: 600px; margin-bottom: 1.2rem; }
.rf-hero h1 em { color: var(--gold); }
.rf-hero-sub { max-width: 560px; font-size: clamp(1rem,1.5vw,1.12rem); color: var(--muted); line-height: 1.7; }

.rf-how { padding: clamp(4rem,8vw,6rem) 0; background: var(--white); }
.rf-how h2 { margin-bottom: 2rem; }
.rf-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.rf-step { padding: 2rem; background: var(--cream); border: 1px solid var(--line); border-radius: var(--r-lg); }
.rf-step-num { display: block; font: 700 .7rem var(--sans); color: var(--gold); letter-spacing: .1em; margin-bottom: .6rem; }
.rf-step strong { display: block; font: 700 1.05rem var(--sans); margin-bottom: .4rem; }
.rf-step p { font-size: .85rem; color: var(--muted); line-height: 1.6; }

.rf-benefits { padding: clamp(4rem,8vw,6rem) 0; background: var(--cream); }
.rf-benefits h2 { margin-bottom: 2rem; }
.rf-benefits-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }
.rf-benefit { padding: 1.8rem; background: var(--white); border: 1px solid var(--line); border-radius: var(--r-lg); }
.rf-benefit strong { display: block; font: 700 1.1rem var(--sans); color: var(--gold); margin-bottom: .4rem; }
.rf-benefit p { font-size: .85rem; color: var(--muted); line-height: 1.6; }

.rf-form-section { padding: clamp(4rem,8vw,6rem) 0; background: var(--white); }
.rf-form-section h2 { margin-bottom: .5rem; }
.rf-form-intro { font-size: .95rem; color: var(--muted); margin-bottom: 2rem; }
.rf-form { max-width: 640px; }
.rf-fieldset { border: 1px solid var(--line); border-radius: var(--r-lg); padding: 1.5rem; margin-bottom: 1.2rem; }
.rf-fieldset legend { font: 700 .78rem var(--sans); color: var(--gold); text-transform: uppercase; letter-spacing: .06em; padding: 0 .5rem; }
.rf-row { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.rf-field { margin-bottom: .6rem; }
.rf-field label { display: block; font: 600 .7rem var(--sans); color: var(--quiet); text-transform: uppercase; letter-spacing: .04em; margin-bottom: .25rem; }
.rf-field input, .rf-field select, .rf-field textarea { width: 100%; padding: .6rem .8rem; border: 1px solid var(--line); border-radius: var(--r); font: 500 .88rem var(--sans); color: var(--ink); background: var(--paper); }
.rf-field input:focus, .rf-field select:focus, .rf-field textarea:focus { border-color: var(--gold); outline: none; }
.rf-form-error { display: none; margin-top: .6rem; padding: .5rem; border-radius: var(--r); background: rgba(239,68,68,.06); border: 1px solid rgba(239,68,68,.15); color: #DC2626; font-size: .8rem; }
.rf-form-ok { display: none; margin-top: .6rem; padding: .8rem; border-radius: var(--r); background: rgba(22,163,74,.06); border: 1px solid rgba(22,163,74,.15); color: #166534; font-size: .88rem; }

.rf-faq { padding: clamp(4rem,8vw,6rem) 0; background: var(--cream); }
.rf-faq h2 { margin-bottom: 1.5rem; }
.rf-faq-item { max-width: 640px; border-bottom: 1px solid var(--line); padding: 1rem 0; }
.rf-faq-item summary { font: 600 .92rem var(--sans); cursor: pointer; list-style: none; }
.rf-faq-item summary::-webkit-details-marker { display: none; }
.rf-faq-item p { font-size: .85rem; color: var(--muted); line-height: 1.65; padding-top: .5rem; }

.rf-cta { padding: clamp(5rem,10vw,8rem) 0; background: var(--ink); color: var(--white); text-align: center; }
.rf-cta h2 { color: var(--white); margin-bottom: .8rem; }
.rf-cta h2 em { color: var(--gold-soft); }
.rf-cta-sub { font-size: .95rem; color: rgba(255,255,255,.5); margin-bottom: 1.5rem; }

@media (max-width: 640px) { .rf-steps, .rf-benefits-grid { grid-template-columns: 1fr; } .rf-row { grid-template-columns: 1fr; } }
