.join-page{background:var(--paper);color:var(--ink)}
.join-page *{box-sizing:border-box}
.join-page a{text-decoration:none}
.join-page svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}
.join-page .join-icons{position:absolute;width:0;height:0;overflow:hidden}
.join-frame{width:calc(100% - 72px);max-width:1160px;min-height:100svh;margin:0 auto;padding:0 60px;border-left:1px dashed var(--line);border-right:1px dashed var(--line)}
.join-header{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:108px;border-bottom:1px dashed var(--line)}
.join-brand{display:flex;flex-direction:column;gap:5px;color:var(--ink);flex:none}
.join-brand .brand{font-size:27px}
.join-byline{padding-left:44px;font-size:10px;line-height:1.5;letter-spacing:.01em;color:var(--muted)}
.join-nav{display:flex;gap:28px;margin-left:auto;font-size:12px}
.join-back{display:inline-flex;align-items:center;gap:14px;font-size:12px;white-space:nowrap}
.join-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(45px,6vw,100px);padding:76px 0 80px}
.join-intro .section-kicker{font-size:10px;letter-spacing:.13em;margin:0 0 25px;color:#536267}
.join-intro h1{font-size:clamp(34px,3.5vw,46px);font-weight:550;line-height:1.15;letter-spacing:-.055em;margin:0 0 24px}
.join-dot{color:#a67c00}
.join-intro>p{max-width:340px;font-size:14px;line-height:1.85;color:var(--muted);margin:0}
.join-direct{max-width:330px;border-top:1px dashed var(--line);margin-top:42px;padding-top:26px}
.join-direct>span{display:block;font-size:11px;color:var(--muted);margin-bottom:12px}
.join-direct>a{display:inline-flex;align-items:center;gap:18px;font-size:18px;letter-spacing:-.025em}
.join-direct>p{font-size:11px;line-height:1.8;color:var(--muted);margin:24px 0 0}
.join-heading{margin-bottom:29px}
.join-heading h2{font-size:23px;font-weight:550;letter-spacing:-.035em;margin:0 0 8px;line-height:1.35}
.join-heading>p{font-size:12px;line-height:1.8;color:var(--muted);margin:0}
.join-field{margin-bottom:19px}
.join-field label{display:block;margin-bottom:7px;font-size:12px;font-weight:500;line-height:1.5}
.join-optional{font-size:10px;font-weight:400;color:var(--muted);margin-left:7px}
.join-field input,.join-field select,.join-field textarea{display:block;width:100%;min-width:0;font:400 13px/1.6 var(--font);color:var(--ink);background:#fff;border:1px solid #cbd4d5;border-radius:9px;box-shadow:0 2px 4px #10181903;padding:12px 14px;transition:border-color .18s,box-shadow .18s}
.join-field input,.join-field select{min-height:47px}
.join-field select{padding-right:30px}
.join-field textarea{min-height:145px;resize:vertical}
.join-field input::placeholder,.join-field textarea::placeholder{color:#727d81;opacity:1}
.join-field input:focus,.join-field select:focus,.join-field textarea:focus{outline:none;border-color:#a67c00;box-shadow:0 0 0 3px #f3d05235}
.message-suggestion{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-top:8px}
.message-suggestion[hidden]{display:none}
.message-suggestion p{font-size:10px;line-height:1.65;color:var(--muted);margin:0;max-width:245px}
.message-suggestion button{display:inline-flex;align-items:center;gap:5px;flex:none;border:0;background:transparent;padding:0 0 3px;color:#68500d;font:500 10px/1.65 var(--font);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.message-suggestion button svg{width:12px;height:12px}
.message-suggestion button[hidden]{display:none}
.join-form-note{font-size:10px;line-height:1.8;color:var(--muted);margin:21px 0 18px}
.join-form-note a{text-decoration:underline;text-underline-offset:2px}
.join-submit{display:flex;width:100%;min-height:48px;justify-content:center;align-items:center;gap:18px;font-size:13px;cursor:pointer;border-radius:999px}
.join-submit:disabled{opacity:.7;cursor:progress;transform:none}
.join-call{display:flex;width:fit-content;align-items:center;justify-content:center;gap:13px;margin:24px auto 0;padding:5px 0;font-size:11px}
.join-call svg{width:14px;height:14px}
.join-footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:25px 0 30px;border-top:1px dashed var(--line);font-size:10px;line-height:1.8;color:var(--muted)}
.join-footer nav{display:flex;flex-wrap:wrap;gap:22px}
.join-page a:focus-visible,.message-suggestion button:focus-visible,.join-submit:focus-visible{outline:2px solid #a67c00;outline-offset:5px;border-radius:4px}
.join-page a:hover{color:#80610c}
.join-submit:hover{color:#fff}
.join-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.join-thanks{padding:100px 0 120px;max-width:610px;margin:0 auto;text-align:center}
.join-thanks h1{font-size:clamp(36px,5vw,56px);line-height:1.1;letter-spacing:-.055em;font-weight:550;margin:0 0 25px}
.join-thanks>p{max-width:450px;margin:0 auto 30px;color:var(--muted);font-size:15px}
.join-thanks .button{min-height:48px;gap:15px}
@media(max-width:1000px){.join-frame{padding-inline:38px;width:calc(100% - 44px)}.join-header{gap:25px}.join-nav{gap:18px}.join-layout{gap:45px;padding-top:62px}.message-suggestion{flex-direction:column;gap:4px}}
@media(max-width:760px){.join-frame{width:calc(100% - 32px);padding-inline:26px}.join-header{min-height:100px;gap:18px}.join-nav{display:none}.join-layout{grid-template-columns:minmax(0,1fr);gap:44px;padding:45px 0 55px}.join-intro h1{font-size:40px}.join-intro>p{max-width:480px}.join-direct{margin-top:25px;padding-top:19px;max-width:none}.join-direct>p{margin-top:12px}.join-form-panel{border-top:1px dashed var(--line);padding-top:34px}.message-suggestion{flex-direction:row}.join-field input,.join-field select,.join-field textarea{font-size:16px}.join-thanks{padding:75px 0 90px}}
@media(max-width:440px){.join-frame{width:calc(100% - 20px);padding-inline:18px}.join-brand .brand{font-size:24px}.join-brand .brand-mark{width:29px;height:29px;margin-right:7px}.join-byline{padding-left:0;font-size:9px}.join-back{font-size:10px;gap:6px}.join-back svg{width:14px}.join-header{gap:10px}.join-intro h1{font-size:35px}.join-layout{padding-top:37px}.message-suggestion{flex-direction:column;gap:5px}.join-footer{align-items:flex-start;flex-direction:column;gap:8px}.join-footer nav{gap:18px}}
@media(prefers-reduced-motion:reduce){.join-page *{transition:none!important;scroll-behavior:auto!important}}
