.join-page {padding:36px 0 70px; color:#111827; background:#f6f8fb;}
        .join-wrap {max-width:720px; margin:0 auto;}
        .join-title {font-size:32px; font-weight:900; letter-spacing:-0.04em; color:#123a63; margin:0 0 22px; text-align:center;}
        .join-card {background:#fff; border:1px solid #e2e8f0; border-radius:18px; padding:34px 34px 38px; box-shadow:0 14px 35px rgba(15,23,42,0.08);}
        .join-subtitle {font-size:20px; font-weight:800; color:#111827; margin-bottom:22px;}
        .join-form {display:flex; flex-direction:column; gap:16px;}
        .join-row label {display:block; margin-bottom:8px; font-size:15px; font-weight:800; color:#1f2937;}
        .join-required {color:#1677ea; margin-left:3px;}
        .join-input-wrap {display:flex; gap:8px;}
        .join-input, .join-textarea {width:100%; box-sizing:border-box; border:1px solid #d1d5db; border-radius:10px; background:#fff; color:#111827; font-size:16px; outline:none; transition:border-color .15s, box-shadow .15s;}
        .join-input {height:48px; padding:0 14px;}
        .join-textarea {height:84px; padding:13px 14px; resize:none; line-height:1.5;}
        .join-input:focus, .join-textarea:focus {border-color:#1677ea; box-shadow:0 0 0 3px rgba(22,119,234,.12);}
        .join-input::placeholder, .join-textarea::placeholder {color:#9ca3af;}
        .join-help {margin:7px 0 0; font-size:13px; color:#6b7280; line-height:1.45;}
        .btn-check {width:104px; flex:0 0 104px; border:none; border-radius:10px; background:#0c477b; color:#fff; font-size:14px; font-weight:800; cursor:pointer;}
        .privacy-box {margin-top:22px; border:1px solid #dbe3ee; border-radius:14px; overflow:hidden; background:#fff;}
        .privacy-head {padding:16px 18px; background:#f8fafc; border-bottom:1px solid #e5e7eb;}
        .privacy-check {display:flex; align-items:center; gap:10px; font-size:16px; font-weight:900; color:#111827;}
        .privacy-check input {width:20px; height:20px; accent-color:#1677ea;}
        .privacy-content {padding:16px 18px 18px; font-size:14px; line-height:1.65; color:#374151;}
        .privacy-content strong {color:#111827;}
        .privacy-list {margin:8px 0 0; padding:0; list-style:none;}
        .privacy-list li {margin-top:4px;}
        .btn-join {display:block; width:100%; height:56px; margin-top:26px; border:none; border-radius:12px; background:#1677ea; color:#fff; font-size:20px; font-weight:900; letter-spacing:-0.03em; cursor:pointer;}
        .btn-join:hover {background:#0f65ce;}
        @media (max-width:768px) {
            .join-page {padding:24px 0 48px;}
            .join-wrap {max-width:100%;}
            .join-title {font-size:26px; margin-bottom:16px;}
            .join-card {border-radius:14px; padding:24px 16px 28px;}
            .join-subtitle {font-size:18px; margin-bottom:18px;}
            .join-input-wrap {flex-direction:column; gap:8px;}
            .btn-check {width:100%; flex:auto; height:44px;}
            .join-input {height:46px; font-size:15px;}
            .privacy-content {font-size:13px;}
            .btn-join {height:52px; font-size:18px;}
        }

        /* ===== 주소 영역 ===== */
        .addr-wrap {width:100%;}
        .addr-zip-row {display:grid !important; grid-template-columns:minmax(0, 1fr) 120px !important; gap:8px !important; width:100% !important;}
        .addr-zip-row .join-input {width:100% !important; min-width:0 !important; margin:0 !important;}
        .btn-address {width:120px; height:48px; flex:none; border:none; border-radius:10px; background:#0c477b; color:#fff; font-size:14px; font-weight:800; cursor:pointer;}
        .addr-wrap > .join-input {display:block; width:100% !important; margin-top:8px;}
        .btn-address:hover {background:#083a66;}

        @media (max-width:640px) {
            .addr-zip-row {grid-template-columns:minmax(0, 1fr) 105px !important; gap:8px !important;}
            .btn-address {width:105px; height:46px; font-size:13px;}
        }