.join-page{background:#fafafa;color:#182230;font-size:17px;line-height:1.7}
.join-wrap{width:min(1152px,calc(100% - 64px));margin-inline:auto}
.join-header{background:#fff;border-bottom:1px solid #e5e7eb}
.join-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:88px;padding-block:16px}
.join-header-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#b90f29;font-weight:600}
.join-page a{overflow-wrap:anywhere}
.join-page a:focus-visible,.join-page [tabindex]:focus-visible{outline:3px solid #2563eb;outline-offset:4px;border-radius:4px}
.join-page main:focus{outline:none}
.join-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:15px;color:#4b5563;padding-block:24px}
.join-breadcrumb a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px}
.join-hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:center;gap:48px;padding:16px 0 48px}
.join-eyebrow{font-size:14px;font-weight:600;color:#b90f29;margin-bottom:12px}
.join-hero h1{font-size:44px;font-weight:600;line-height:1.35;letter-spacing:-.02em}
.join-lead{font-size:20px;color:#374151;max-width:640px;margin-top:20px}
.join-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.join-actions .button{font-size:17px;min-height:52px}
.join-help{font-size:14px;color:#4b5563;margin-top:12px;max-width:560px}
.join-text-link{color:#b90f29;font-size:15px;display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:4px;margin-top:8px}
.join-choice{background:#fff1f2;border-left:3px solid #d91432;border-radius:0 16px 16px 0;padding:24px}
.join-small-label{display:block;color:#4b5563;font-size:13px;font-weight:600;margin-bottom:8px}
.join-choice h2{font-size:25px;font-weight:600;line-height:1.45}
.join-choice p{font-size:16px;color:#374151;margin-top:16px}
.join-choice a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#b90f29;text-decoration:underline;text-underline-offset:4px;font-size:15px;margin-top:12px}
/* styles.css gives the homepage .join-section a flex row; join sections stack. */
.join-section{display:block;border-top:1px solid #e5e7eb;padding-block:40px;scroll-margin-top:24px}
.join-section-heading{max-width:760px;margin-bottom:24px}
.join-section h2,.join-final h2{font-size:28px;font-weight:600;line-height:1.45;margin-bottom:12px}
.join-section-heading>p:last-child,.join-organizations>p{color:#374151}
.join-step-list{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:0;margin:0}
.join-step-list li{min-width:0;padding-right:24px;border-right:1px solid #e5e7eb}
.join-step-list li:last-child{border:0;padding-right:0}
.join-step-number{display:block;font-size:24px;font-weight:600;color:#b90f29;margin-bottom:12px}
.join-step-list h3{font-size:21px;font-weight:600;line-height:1.5;margin-bottom:8px}
.join-step-list p{font-size:16px;color:#374151}
.join-visibility-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.join-visibility-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:24px;min-width:0}
.join-visibility-card h3{font-size:23px;font-weight:600;line-height:1.45;margin-bottom:12px}
.join-visibility-card p{font-size:16px;color:#374151}
.join-boundary{font-size:15px;color:#4b5563;padding:16px 20px;background:#f3f4f6;border-radius:12px;margin-top:20px}
.join-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center}
.join-control>div{max-width:760px}
.join-control p{margin-top:12px;color:#374151}
.join-control .join-eyebrow{margin-top:0;color:#b90f29}
.join-invitation-text{padding:24px;background:#fff;border:1px solid #d1d5db;border-left:3px solid #d91432;border-radius:0 12px 12px 0;line-height:1.9;overflow-wrap:anywhere;user-select:text;cursor:text;max-width:880px}
.join-organizations{max-width:880px}
.join-organizations>p{margin-top:16px}
.join-organizations>.join-eyebrow{color:#b90f29;margin-top:0}
.join-final{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:32px;background:#fff1f2;border-radius:16px;margin-block:8px 64px}
.join-final p{color:#374151}
.join-footer{border-top:1px solid #e5e7eb;background:#fff;padding-block:32px}
.join-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.join-footer-brand{display:inline-flex;align-items:center;min-height:44px;font:600 21px Arial,sans-serif}
.join-footer p{font-size:13px;color:#4b5563}
.join-footer p[lang]{font-size:14px;flex-shrink:0}
.join-footer p[lang] span{color:#d91432}
@media(max-width:900px){.join-hero{grid-template-columns:1fr;gap:24px}.join-hero h1{font-size:40px}.join-choice{max-width:720px}.join-control{grid-template-columns:1fr;gap:20px}.join-control>.button{justify-self:start}.join-step-list{gap:16px}.join-step-list li{padding-right:16px}}
@media(max-width:640px){.join-wrap{width:calc(100% - 32px)}.join-header-inner{min-height:80px;gap:12px}.join-header .brand{gap:8px}.join-header .brand-mark{width:36px;height:40px;border-radius:12px}.join-header .brand>span:last-child{font-size:19px}.join-header .brand small{font-size:10px}.join-header-link{font-size:13px}.join-breadcrumb{padding-block:12px;font-size:14px}.join-hero{padding-block:12px 32px}.join-hero h1{font-size:32px}.join-lead{font-size:18px;margin-top:16px}.join-actions .button{width:100%;font-size:16px;padding-inline:12px}.join-choice{padding:20px}.join-choice h2{font-size:23px}.join-section{padding-block:32px}.join-section h2,.join-final h2{font-size:25px}.join-step-list,.join-visibility-grid{grid-template-columns:1fr;gap:20px}.join-step-list li{border-right:0;border-bottom:1px solid #e5e7eb;padding:0 0 20px}.join-step-number{margin-bottom:8px}.join-visibility-card{padding:20px}.join-visibility-card h3{font-size:22px}.join-control>.button{justify-self:stretch}.join-invitation-text{padding:20px;font-size:16px}.join-final{display:block;padding:24px;margin-bottom:48px}.join-final .button{width:100%;margin-top:20px}.join-footer-inner{display:block}.join-footer p[lang]{margin-top:20px}}
@media(max-width:360px){.join-header-inner{align-items:flex-start;flex-direction:column;gap:8px}.join-header-link{min-height:44px}.join-hero h1{font-size:30px}.join-actions .button{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.join-page *{scroll-behavior:auto;transition:none}}
