.join-header-nav{display:flex;align-items:center;gap:1.4rem;margin-left:auto;font-weight:750}
.join-header-nav a{text-decoration:none}
.join-header-nav a:hover{text-decoration:underline;text-underline-offset:.3rem}
.join-page{min-height:calc(100dvh - var(--site-header-height,80px));padding:clamp(2.5rem,6vw,5.5rem) 0 6rem;background:linear-gradient(180deg,#fcf8ef 0%,#f4ede0 100%)}
.join-intro{max-width:920px;text-align:center}
.join-kicker{color:var(--rust);font-size:.8rem;font-weight:850;letter-spacing:.18em}
.join-intro h1{font-size:clamp(2.5rem,5vw,4.6rem);margin:.6rem 0 1rem}
.join-intro>p:last-child{max-width:640px;margin:0 auto 2rem;color:var(--muted);font-size:1.08rem}
.join-card{max-width:920px;background:#fffdf8;border:1px solid #e2d8c8;border-radius:12px;padding:0;box-shadow:0 18px 55px #062e5812;overflow:hidden}
.join-card-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1.3rem clamp(1.3rem,4vw,2.5rem);border-bottom:1px solid #e2d8c8;background:#fff9ed}
.join-step{font-size:.82rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.join-step-count{color:var(--rust);font-weight:800}
.join-card form{margin-inline:clamp(1.3rem,4vw,2.5rem);padding-bottom:clamp(1.5rem,4vw,2.5rem)}
.join-card form label{font-weight:750;margin:0}
.join-card form label>span[aria-hidden],.join-card legend span[aria-hidden]{color:var(--rust)}
.join-card form input,.join-card form select{margin-top:.45rem;min-height:47px;border-color:#aeb9c6;background:white}
.join-phone-step{max-width:470px;padding:1.2rem 0 .4rem}
.join-phone-entry{display:flex;align-items:center;margin-top:.45rem;border:1.5px solid #aeb9c6;border-radius:4px;background:white}
.join-phone-entry span{padding:0 .9rem;border-right:1px solid #d6dce4;font-weight:800}
.join-card .join-phone-entry input{border:0;margin:0;min-width:0;flex:1}
.join-card .join-phone-entry:focus-within{outline:3px solid #147bb7;outline-offset:2px}
.join-phone-step small{margin:.4rem 0 1.4rem}
.join-button{display:inline-flex;align-items:center;justify-content:center;min-width:210px;min-height:48px;padding:.7rem 1.4rem;border:0;border-radius:4px;background:var(--rust);color:white;font-weight:800}
.join-button:hover:not(:disabled){background:#9f3305}
.join-button:disabled{opacity:.5;cursor:not-allowed}
.join-details-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:1.2rem 0 1.5rem}
.join-details-head h2{font-size:1.6rem;margin:0}
.join-details-head button{border:0;background:none;color:var(--navy);font-weight:750;text-decoration:underline;text-underline-offset:.2rem}
.join-saved-phone{display:block;max-width:300px;margin-bottom:1.4rem!important}
.join-saved-phone input{background:#f2f2ed!important;color:#48576a}
.join-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem 1rem}
.join-grid>*{min-width:0}
.join-grid fieldset{border:0;padding:0;margin:0}
.join-grid legend{padding:0;font-weight:750}
.join-radios{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:.65rem}
.join-grid .join-radios label{display:flex;align-items:center;gap:.25rem;margin:0;font-weight:500;white-space:nowrap}
.join-grid .join-radios input{width:auto;min-height:auto;margin:0}
.join-grid input[readonly]{background:#f2f2ed;color:#48576a}
.join-district{grid-column:span 2}
.join-consent{display:flex!important;align-items:start;gap:.8rem;padding:1rem;margin:1.6rem 0 1rem!important;background:#f8f1e5;border:1px solid #e3d5c0;border-radius:4px;line-height:1.5}
.join-consent input{flex:none;width:1.15rem!important;min-height:auto!important;margin:.15rem 0 0!important}
#join-turnstile{margin-bottom:1rem}
.join-result{min-height:1.5rem;margin:1rem 0 0;font-weight:750}
.join-result.error{color:#a7350a}
.join-result.success{color:#236139}
@media(max-width:850px){.join-page{min-height:calc(100dvh - var(--site-header-height,86px))}.join-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.join-header-nav{gap:.7rem;font-size:.8rem}.join-page{min-height:0;padding:2.5rem 0 3rem}.join-card{width:min(100% - 2rem,920px)}.join-grid{grid-template-columns:1fr}.join-district{grid-column:auto}.join-card form input,.join-card form select{font-size:1rem}.join-button{width:100%}}
@media(max-width:380px){.join-header-nav a:first-child{display:none}}
