.join-page{display:grid;gap:14px;width:min(100%,720px);margin:0 auto}
.join-intro{padding:22px 26px;border:1px solid var(--renewal-line);border-radius:12px;background:linear-gradient(135deg,var(--brand-dark),var(--brand));color:#fff;box-shadow:var(--renewal-shadow)}
.join-intro h1{margin:0 0 8px;font-size:22px}
.join-intro p{margin:0;font-size:13px;line-height:1.7;opacity:.95}
.join-intro strong{color:#ffe1d8}
.join-form{padding:22px 26px 26px;border:1px solid var(--renewal-line);border-radius:12px;background:#fff;box-shadow:var(--renewal-shadow)}
.join-required-note{margin:0 0 10px;color:var(--subtext);font-size:12px;text-align:right}
.join-form em{color:var(--point);font-style:normal}
.join-form fieldset{margin:0 0 18px;padding:0;border:0}
.join-form legend{width:100%;margin-bottom:6px;padding-bottom:8px;border-bottom:2px solid var(--brand);color:var(--brand-dark);font-size:14px;font-weight:700}
.join-field{display:grid;grid-template-columns:130px minmax(0,1fr);align-items:center;column-gap:14px;row-gap:5px;padding:11px 0;border-bottom:1px solid #edf2f7}
.join-field>label,.join-label{grid-row:span 3;align-self:start;padding-top:10px;color:#365573;font-size:13px;font-weight:700}
.join-field>small,.join-field>.join-error{grid-column:2}
.join-field input[type=text],.join-field input:not([type]),.join-field input[type=password],.join-field input[type=email],.join-field input[type=date],.join-field select{width:100%;max-width:320px;height:40px;padding:7px 11px;border:1px solid #ccd9e6;border-radius:8px;background:#fff;color:var(--text);font:inherit;font-size:14px}
.join-field input:focus,.join-field select:focus{border-color:var(--brand);outline:2px solid rgba(21,96,189,.15)}
.join-inline{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.join-inline input:not([type=radio]){flex:1 1 180px}
.join-inline input[type=date]{flex:0 0 170px;width:170px}
.join-check{height:40px;padding:0 14px;border:1px solid var(--brand);border-radius:8px;background:#fff;color:var(--brand);font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.join-check:hover{background:var(--brand-soft)}
.join-radio{display:inline-flex;gap:12px;font-size:13px;white-space:nowrap}
.join-radio label{display:inline-flex;align-items:center;gap:5px;cursor:pointer}
.join-phone{display:flex;align-items:center;gap:6px;max-width:320px}
.join-phone select,.join-phone input{flex:1 1 0;min-width:0}
.join-phone span{color:#9aa8b8}
.join-field small{color:var(--subtext);font-size:11px}
.join-result.is-success{color:#2f8a3b;font-weight:700}
.join-result.is-error,.join-error{color:#c43c3c}
.join-error{margin:0;font-size:12px}
.join-actions{display:flex;justify-content:center;gap:10px;margin-top:20px}
.join-actions a,.join-actions button{display:inline-flex;align-items:center;justify-content:center;min-width:120px;min-height:44px;padding:0 20px;border:1px solid #ccd9e6;border-radius:8px;background:#fff;color:#4a5f78;font:inherit;font-weight:700;cursor:pointer}
.join-actions button{border-color:var(--brand);background:var(--brand);color:#fff}
.join-actions button:hover{background:var(--brand-dark)}
@media(max-width:600px){.join-intro,.join-form{padding:18px 16px}.join-field{grid-template-columns:1fr}.join-field>label,.join-label{grid-row:auto;padding-top:0}.join-field>small,.join-field>.join-error{grid-column:1}.join-field input,.join-field select,.join-phone{max-width:none}.join-actions a,.join-actions button{flex:1}}
