.join-layout{max-width:1160px;display:grid;grid-template-columns:.85fr 1.4fr;gap:60px;padding-top:58px;padding-bottom:60px;align-items:start}.join-intro{position:sticky;top:32px;padding-top:20px}.join-intro h1{font-size:42px;line-height:1.25;letter-spacing:-1.7px;color:#d5c6a3}.join-intro>p{line-height:1.9;color:#b7a06a}.join-intro ol{padding:0;list-style:none;display:grid;gap:30px;margin:40px 0}.join-intro li{display:flex;align-items:start;gap:18px}.join-intro li>b{font-size:21px;color:#a68d50}.join-intro small{display:block;color:#b39b62;margin-top:8px;font-size:12px;line-height:1.7}.join-intro>a{font-size:13px}.join-panel{border-top:4px solid #c4a661;padding:30px;min-width:0}.join-panel h2{font-size:25px;margin-top:0}.join-panel fieldset{border:0;border-top:1px solid #37342d;margin:28px 0;padding:24px 0 0;min-width:0}.join-panel legend{font-size:15px;font-weight:700;padding-right:12px;color:#d5c6a3}.join-panel .fields{grid-template-columns:repeat(2,minmax(0,1fr))}.join-panel label small,.placement small{font-size:11px;line-height:1.6;color:#b39b62}.join-panel input{font-size:16px}.join-panel details{border-top:1px solid #37342d;padding:20px 0}.join-panel summary{cursor:pointer;font-size:14px;font-weight:600;min-height:28px}.join-panel details .fields{margin-top:20px}.wide{grid-column:1/-1}.placement{margin-top:22px;display:grid;gap:12px;font-size:12px;color:#c7b58b}.placement>div{display:flex;gap:12px}.placement label{display:flex;align-items:center;gap:10px;padding:12px 24px;border:1px solid #675730;border-radius:4px;cursor:pointer;min-height:48px}.placement label:has(input:checked){background:#292722;border-color:#c4a661}.placement input{width:18px;height:18px}.join-panel button.primary{width:100%;min-height:var(--btn-h-lg,52px);font-size:15px}.join-panel [role=alert]:not(:empty){background:#1a1916;padding:14px;line-height:1.7;border:1px solid #562820}.join-done{padding:30px 0;line-height:1.9}.join-done strong{display:block;font-size:22px;overflow-wrap:anywhere}.join-done a{display:inline-block;margin:16px 12px 0 0;padding:12px 16px;background:#292722;border-radius:4px}@media(max-width:800px){.join-layout{grid-template-columns:1fr;gap:28px;padding-top:25px}.join-intro{position:static;padding-top:0}.join-intro h1{font-size:30px}.join-intro ol{display:none}.join-intro>p br{display:none}.join-panel{padding:22px}}@media(max-width:480px){.join-panel .fields{grid-template-columns:1fr}.join-layout{gap:20px}.join-panel{padding:18px}.placement label{flex:1;justify-content:center;padding:12px}}

/* ── 새 디자인 통일 ── */
.join-page{background:#0d0c0a}
.join-intro{background:var(--grad-pink);border-radius:24px;padding:40px 36px}
.join-intro .eyebrow{color:var(--accent)}
.join-intro h1{color:#dddbd6;font-weight:800}
.join-intro>p{color:#b0ab9f}
.join-intro li>b{width:40px;height:40px;flex:none;border-radius:50%;background:var(--grad-plum);color:#0d0c0a;font-size:13px;display:grid;place-items:center}
.join-intro small{color:#b7a06a}
.join-intro>a{display:inline-flex;font-weight:700;text-decoration:none}
.join-panel{border:1px solid var(--line);border-top:0;border-radius:24px;padding:36px;box-shadow:var(--shadow)}
.join-panel h2{font-size:26px;letter-spacing:-1px}
.join-panel fieldset,.join-panel details{border-top-color:var(--line)}
.join-panel legend{color:var(--plum-dark);font-weight:800}
.placement label{border-radius:999px;border-color:#3f3c34;font-weight:700}
.placement label:has(input:checked){background:var(--tint-2);border-color:var(--plum);color:var(--plum)}
.placement input{accent-color:var(--plum)}
.join-panel [role=alert]:not(:empty){border-radius:12px}
.join-done a{border-radius:999px;background:var(--tint-2);font-weight:700;text-decoration:none}
@media(max-width:800px){.join-intro{padding:28px 24px;border-radius:20px}.join-panel{padding:24px;border-radius:20px}}
@media(max-width:480px){.join-panel{padding:20px 16px}}
.join-panel label{align-content:start}
.join-done a{display:inline-flex;align-items:center;justify-content:center;min-height:var(--btn-h,44px);padding:0 var(--btn-px,24px);font-size:14px}
.join-agree label{display:flex;gap:10px;align-items:flex-start;margin:8px 0;font-weight:400;cursor:pointer}.join-agree label input{width:20px;height:20px;flex:none;margin:3px 0 0}.join-agree label span{flex:1}.join-agree label small{display:block;color:#9b9385}.join-agree label a{flex:none;font-size:14px}.join-agree .agree-all{padding-bottom:8px;border-bottom:1px solid #302d27}
