/* ROEYA Reach pages (join, preferences, stop) shared by roeyatraining.com and roeyascope.com.
   Colours come from --r-accent / --r-accent-2 set on .reach by each site. */
.reach{--r-ink:#14213A;--r-muted:#5A6577;--r-line:#DCE3EC;--r-tint:#EEF4FA;--r-bad:#C62828;max-width:44rem;margin:0 auto;padding:8px 0 64px}
.reach [hidden]{display:none!important}
.reach-card{border:1px solid var(--r-line);border-radius:14px;padding:clamp(20px,4vw,32px);background:#fff}
.reach-card:focus{outline:none}
.reach-ok{border-color:var(--r-accent);background:var(--r-tint)}
.reach-h{font-weight:700;font-size:1.25rem;line-height:1.3;margin:0 0 12px;color:var(--r-ink)}
.reach-grid{display:grid;gap:16px;grid-template-columns:1fr 1fr;margin:8px 0 20px}
.reach-wide{grid-column:1/-1}
.reach .field{display:grid;gap:6px;font-weight:600;font-size:.9375rem;color:var(--r-ink)}
.reach .field input,.reach .field select{font:400 16px/1.4 inherit;font-family:inherit;color:var(--r-ink);min-height:48px;padding:10px 14px;border:1.5px solid var(--r-line);border-radius:10px;background:#fff;width:100%;box-sizing:border-box}
.reach .field input:focus,.reach .field select:focus{border-color:var(--r-accent);outline:none;box-shadow:0 0 0 3px var(--r-tint)}
.reach .field.is-bad input,.reach .field.is-bad select{border-color:var(--r-bad)}
.reach-set{border:0;padding:0;margin:0 0 18px;display:grid;gap:4px}
.reach-set legend{font-weight:700;color:var(--r-ink);margin-bottom:6px;padding:0}
.reach .check{display:flex;gap:12px;align-items:flex-start;min-height:44px;padding:10px 0;cursor:pointer;line-height:1.45;font-weight:400}
.reach .check input{width:22px;height:22px;margin:0;flex:none;accent-color:var(--r-accent)}
.reach .muted{color:var(--r-muted)}
.reach-consent{color:var(--r-muted);border-left:3px solid var(--r-accent);padding-left:12px;margin:4px 0 18px;font-size:.9rem;line-height:1.55}
.reach-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.reach-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:999px;border:1.5px solid var(--r-accent);background:var(--r-accent);color:#fff;font:600 .9375rem/1.2 inherit;font-family:inherit;cursor:pointer;text-decoration:none}
.reach-btn:hover{filter:brightness(1.1);color:#fff}
.reach-btn.ghost{background:transparent;color:var(--r-accent)}
.reach-btn[disabled]{opacity:.6;cursor:progress}
.reach .form-error{color:var(--r-bad);font-weight:600;margin:0 0 12px}
.reach .form-ok{color:var(--r-accent);font-weight:600;margin:0 0 12px}
.reach .hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
@media (max-width:640px){.reach-grid{grid-template-columns:1fr}.reach-actions .reach-btn{width:100%}}
