.join-page{background:#f5f9fe;color:#102647;min-height:65vh}
.join-page [hidden]{display:none!important}
.join-hero{background:linear-gradient(105deg,#e0f5fd,#cce5fa);padding:clamp(2rem,6vw,4rem) 0}
.join-hero h1,.join-success h1{font-size:clamp(1.85rem,4.5vw,3.1rem);line-height:1.12;margin:.6rem 0}
.join-hero p{max-width:65ch;margin:.75rem 0 0}
.join-content{padding-block:1.5rem 2.5rem}
.join-grid,.join-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start}
.join-grid{align-items:stretch}
.join-card{min-width:0;background:#fff;border:1px solid #d4e2f0;border-radius:16px;padding:clamp(1rem,2.5vw,1.5rem);box-shadow:0 4px 14px #16385a09}
.join-card h2,.join-section-title{font-size:clamp(1.2rem,2.8vw,1.65rem);margin:0 0 .65rem}
.join-card h3{margin:0 0 .5rem}
.join-card p{margin:.4rem 0}
.join-card ul{padding-inline-start:1.25rem;margin:.5rem 0}
.join-section-title{text-align:center;margin:1.5rem 0 .8rem}
.join-actions{display:flex;flex-wrap:wrap;gap:.8rem 1.5rem;align-items:center;justify-content:center;margin-top:1rem}
.join-actions .button{min-height:46px}
.join-actions .button:disabled{opacity:.48;cursor:not-allowed}
.join-actions label,.join-actions p{margin:0}
.join-wide{grid-column:1/-1}
.join-form .form-error:empty{display:none}
.join-form label{min-width:0}
.join-form input,.join-form select,.join-form textarea{max-width:100%;min-width:0}
#joinDocuments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem 1rem}
#joinDocuments>p{grid-column:1/-1;grid-row:1}
.join-success{display:grid;place-items:center;text-align:center;padding:2rem 1rem;background:#e7f4fe}
.join-success .join-card{width:min(100%,55rem);padding:clamp(1.3rem,5vw,3.5rem)}
.join-check{display:inline-grid;place-items:center;width:4.5rem;height:4.5rem;border-radius:50%;background:#d8f6df;color:#187c3e;font-size:2.3rem;font-weight:700;margin-bottom:.6rem}
@media(max-width:760px){.join-grid,.join-form,.join-form .form-grid,#joinDocuments{grid-template-columns:minmax(0,1fr)}.join-actions{align-items:stretch;flex-direction:column}.join-actions .button{width:100%}.join-hero{padding-block:1.8rem}.join-section-title{text-align:left}}
