.hero__claim { font-family:var(--font-display); font-weight:700; font-size:clamp(48px,7vw,84px); max-width:none; line-height:1.02; text-transform:uppercase; letter-spacing:-.02em; margin-top:24px; }
.hero__claim span { color:var(--lime); }
.hero__inner { max-width:1140px; padding-block:48px 40px; }
.hero__dek { max-width:720px; }
.join { padding-block:48px 64px; scroll-margin-top:100px; }
.join__grid { display:grid; gap:36px; }
.join__form { grid-row:1; padding:28px; background:var(--paper-2); border-top:6px solid var(--lime); }
.join__form fieldset { border:0; padding:0; margin:0; min-width:0; }
.join__form legend { font-family:var(--font-ui); font-size:14px; font-weight:600; margin-bottom:12px; }
.join__types { display:flex; gap:24px; margin-bottom:24px; }
.join__types label { display:flex; align-items:center; gap:8px; cursor:pointer; padding-block:8px; }
.join__types input, .join__terms input { width:20px; height:20px; flex-shrink:0; accent-color:var(--ink); }
.join__form .input { width:100%; margin-top:8px; font-size:18px; }
.join__terms { display:flex; gap:12px; align-items:flex-start; margin-top:24px; font:14px/1.6 var(--font-ui); }
.join__form a, .join__alternative a { text-decoration:underline; text-underline-offset:3px; }
.join__form .btn { width:100%; margin-top:24px; white-space:normal; }
.join__form .caption { margin-top:16px; line-height:1.6; }
.join__form [role="alert"] { color:var(--error); margin-top:16px; font-family:var(--font-ui); }
.join__form [aria-invalid="true"] { border-color:var(--error); }
.join__form :focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
.join__form [hidden], .join [hidden] { display:none !important; }
.join__alternative { border-top:1px solid var(--border); padding-top:28px; margin-top:32px; }
.join__alternative .btn { margin-top:20px; text-decoration:none; }
.join__receipt { overflow-wrap:anywhere; }
.join__steps { margin-top:32px; display:grid; gap:16px; }
.join__steps p { font:16px/1.6 var(--font-ui); }
.join__steps b { display:inline-block; margin-right:10px; background:var(--lime); padding:0 6px; }
@media(min-width:900px) { .join__grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:72px; align-items:start; } .join__form { grid-column:2; padding:36px; } .hero__inner { padding-block:64px 48px; } }
@media(max-width:480px) { .join__form { padding:24px 20px; } .hero__cta { gap:12px; } .hero__cta .btn { width:100%; text-align:center; } }
