.join-nav {
    background:rgba(255,255,255,0.9);
    border-bottom-color:rgba(29,29,31,0.08);
}
[data-theme="dark"] .join-nav { background:rgba(13,11,26,0.92); }

.join-hub,
.join-application {
    min-height:100dvh;
    padding:104px 0 88px;
    background:var(--bg-alt);
}
.join-application > .container { max-width:1180px; }
.join-hub-main {
    display:grid;
    grid-template-columns:minmax(0,0.82fr) minmax(520px,1.18fr);
    gap:clamp(54px,7vw,96px);
    align-items:start;
}
.join-hub-copy { position:sticky; top:112px; padding-top:20px; }
.join-hub-copy h1,
.join-application-header h1 {
    margin-bottom:22px;
    font-size:clamp(42px,5.7vw,72px);
    line-height:1.02;
    letter-spacing:-0.035em;
    text-wrap:balance;
}
.join-hub-copy > p,
.join-application-header > p {
    max-width:66ch;
    color:var(--text-secondary);
    font-size:16px;
    line-height:1.75;
}
.join-local-note {
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin-top:28px;
    padding-top:18px;
    border-top:1px solid var(--border);
    color:var(--text-secondary);
    font-size:13px;
    line-height:1.55;
}
.join-local-note i { margin-top:3px; color:var(--accent); }
.join-hub-terms {
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:14px;
    padding:9px 12px;
    border:1px solid var(--border);
    border-radius:9px;
    background:var(--card);
    color:var(--interactive-ink);
    font:inherit;
    font-size:12px;
    font-weight:700;
    cursor:pointer;
}
.join-hub-terms:hover { border-color:var(--interactive-ink); }
.join-hub-terms:focus-visible { outline:3px solid var(--focus-ring); outline-offset:3px; }
.join-type-list { display:grid; gap:12px; }
.join-type-list a {
    display:grid;
    grid-template-columns:52px minmax(0,1fr) auto;
    gap:16px;
    align-items:center;
    min-height:104px;
    padding:18px 20px;
    border-radius:6px;
    background:var(--card);
    box-shadow:none;
    transition:transform 0.25s cubic-bezier(0.16,1,0.3,1),background-color 0.2s ease;
}
.join-type-list a:hover { transform:translateX(4px); box-shadow:none; }
.join-type-list a:focus-visible { outline:3px solid var(--focus-ring); outline-offset:3px; }
.join-type-list a > i { color:var(--interactive-ink); }
.join-type-icon,
.join-identity-icon {
    display:grid;
    place-items:center;
    width:52px;
    height:52px;
    border-radius:6px;
    background:var(--action-primary);
    color:#fff;
    font-size:18px;
    box-shadow:none;
}
.join-type-list strong { display:block; margin-bottom:5px; font-size:18px; line-height:1.25; }
.join-type-list small { display:block; color:var(--text-secondary); font-size:13px; line-height:1.5; }
.join-process { margin-top:88px; }
.join-process-heading { display:flex; justify-content:space-between; gap:30px; align-items:end; margin-bottom:28px; }
.join-process-heading h2 { font-size:28px; letter-spacing:-0.02em; }
.join-process-heading p { max-width:40ch; color:var(--text-secondary); font-size:14px; }
.join-process ol {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1px;
    overflow:hidden;
    border-radius:16px;
    background:var(--border);
    list-style:none;
}
.join-process li { display:flex; gap:16px; min-height:142px; padding:26px; background:var(--card); }
.join-process li > span {
    display:grid;
    place-items:center;
    flex:0 0 32px;
    width:32px;
    height:32px;
    border-radius:50%;
    background:var(--bg-alt);
    color:var(--interactive-ink);
    font-size:13px;
    font-weight:700;
}
.join-process strong { display:block; margin:4px 0 7px; font-size:15px; }
.join-process p { color:var(--text-secondary); font-size:13px; line-height:1.6; }

.join-application-header { max-width:820px; margin-bottom:24px; }
.join-back-link {
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-bottom:30px;
    color:var(--interactive-ink);
    font-size:13px;
    font-weight:650;
}
.join-back-link:hover { color:var(--text); }
.join-back-link:focus-visible { outline:3px solid var(--focus-ring); outline-offset:3px; border-radius:6px; }
.join-application-header h1 { font-size:clamp(38px,5vw,62px); }
.join-role-switch {
    display:flex;
    gap:6px;
    overflow-x:auto;
    margin-bottom:22px;
    padding:5px;
    border-radius:14px;
    background:color-mix(in srgb,var(--card) 82%,transparent);
    scrollbar-width:none;
}
.join-role-switch::-webkit-scrollbar { display:none; }
.join-role-switch a {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    flex:1 0 max-content;
    min-height:42px;
    padding:9px 16px;
    border-radius:10px;
    color:var(--text-secondary);
    font-size:13px;
    font-weight:650;
}
.join-role-switch a[aria-current="page"] { background:var(--action-primary); color:#fff; }
.join-role-switch a:focus-visible { outline:3px solid var(--focus-ring); outline-offset:2px; }
.join-application-layout { display:grid; grid-template-columns:248px minmax(0,1fr); gap:24px; align-items:start; }
.join-identity-panel {
    position:sticky;
    top:82px;
    padding:22px;
    border:1px solid var(--border);
    border-radius:6px;
    background:var(--card);
}
.join-identity-panel h2 { margin:16px 0 7px; font-size:21px; letter-spacing:-0.02em; }
.join-identity-panel > p { color:var(--text-secondary); font-size:13px; line-height:1.65; }
.join-material-list { margin-top:20px; padding-top:18px; border-top:1px solid var(--border); }
.join-material-list strong { display:block; margin-bottom:12px; font-size:13px; }
.join-material-list ul { display:grid; gap:10px; list-style:none; }
.join-material-list li { display:flex; gap:9px; color:var(--text-secondary); font-size:12px; line-height:1.5; }
.join-material-list i { margin-top:3px; color:var(--accent); }
.join-form { display:grid; gap:14px; }
.join-draft-status {
    display:flex;
    align-items:center;
    gap:10px;
    min-width:0;
    padding:12px 14px;
    border-radius:12px;
    background:var(--bg-alt);
    color:var(--text-secondary);
    font-size:13px;
    line-height:1.45;
}
.join-draft-status > i { flex:0 0 auto; width:18px; color:var(--interactive-ink); text-align:center; }
.join-draft-status > span { flex:1 1 260px; min-width:0; overflow-wrap:anywhere; }
.join-draft-status button {
    flex:0 0 auto;
    min-height:34px;
    border:0;
    border-radius:9px;
    padding:7px 10px;
    background:transparent;
    color:var(--interactive-ink);
    font:650 12px var(--font);
    cursor:pointer;
}
.join-draft-status button:hover { background:color-mix(in srgb,var(--interactive-ink) 8%,transparent); }
.join-draft-status button:focus-visible { outline:3px solid var(--focus-ring); outline-offset:2px; }
.join-draft-status button:disabled { cursor:wait; opacity:.6; }
.join-draft-status[data-state="restored"],.join-draft-status[data-state="saved"] { color:var(--text); }
.join-draft-status[data-state="partial"] { background:color-mix(in srgb,var(--interactive-ink) 9%,var(--bg-alt)); color:var(--text); }
.join-draft-status[data-state="partial"] > i { color:var(--interactive-ink); }
.join-draft-status[data-state="error"] { background:color-mix(in srgb,var(--error) 9%,var(--bg-alt)); color:var(--error); }
.join-draft-status[data-state="error"] > i { color:var(--error); }
.join-form-section {
    min-width:0;
    padding:24px;
    border:1px solid var(--border);
    border-radius:16px;
    background:var(--card);
}
.join-form-section > legend { float:left; width:100%; margin-bottom:18px; font-size:18px; font-weight:700; letter-spacing:-0.01em; }
.join-form-section > legend + * { clear:both; }
.join-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.join-field { display:grid; gap:7px; min-width:0; color:var(--text); font-size:13px; font-weight:650; }
.join-field-full { grid-column:1/-1; }
.join-pricing-builder {
    display:grid;
    gap:16px;
    padding:20px;
    border-radius:14px;
    background:var(--bg-alt);
}
.join-pricing-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.join-pricing-heading h3 { margin:0; font-size:17px; }
.join-pricing-heading p { max-width:62ch; color:var(--text-secondary); font-size:12px; line-height:1.55; text-align:left; }
.join-pricing-heading > span { flex:0 0 auto; padding:5px 9px; border-radius:8px; background:var(--card); color:var(--interactive-ink); font-size:10px; font-weight:700; }
.join-pricing-modes { padding:14px; border:1px solid var(--border); border-radius:12px; background:var(--card); }
.join-pricing-modes legend { margin-bottom:8px; }
.join-pricing-modes legend em { color:var(--text-secondary); font-size:10px; font-style:normal; font-weight:450; }
.join-pricing-modes .join-choice-list span { min-width:132px; justify-content:center; gap:7px; border-radius:9px; }
.join-pricing-group { display:grid; gap:10px; padding-top:15px; border-top:1px solid var(--border); }
.join-pricing-group h4 { margin:0; color:var(--text); font-size:13px; }
.join-pricing-group-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.join-pricing-group-heading span { display:block; margin-bottom:2px; color:var(--interactive-ink); font-size:9px; font-weight:750; letter-spacing:.08em; }
.join-pricing-group-heading small { color:var(--text-secondary); font-size:10px; }
.join-pricing-conditional { transition:opacity .18s ease; }
.join-pricing-conditional[data-active="false"] { opacity:.48; }
.join-pricing-conditional[data-active="false"] input { cursor:not-allowed; }
.join-pricing-grid { display:grid; gap:12px; }
.join-pricing-grid-two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.join-pricing-grid-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.join-input-unit { position:relative; display:block; min-width:0; }
.join-input-unit > b { position:absolute; top:50%; left:13px; z-index:2; transform:translateY(-50%); color:var(--text-secondary); font-size:12px; font-weight:650; pointer-events:none; }
.join-input-unit > input { padding-left:31px; font-variant-numeric:tabular-nums; }
.join-input-unit-suffix > input { padding-left:13px; padding-right:58px; }
.join-input-unit-suffix > b:first-child + input { padding-left:31px; }
.join-input-unit-suffix > b:last-child { right:13px; left:auto; }
.join-package-list { display:grid; gap:12px; }
.join-package-card { padding:14px; border:1px solid var(--border); border-radius:12px; background:var(--card); }
.join-package-card > header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:12px; }
.join-package-card > header span { display:block; margin-bottom:2px; color:var(--interactive-ink); font-size:9px; font-weight:750; letter-spacing:.08em; }
.join-package-card h5 { margin:0; font-size:12px; }
.join-package-grid { grid-template-columns:minmax(160px,1.2fr) repeat(3,minmax(0,1fr)); }
.join-remove-package { min-height:30px; border:0; border-radius:8px; padding:5px 8px; background:transparent; color:var(--error); font:650 10px var(--font); cursor:pointer; }
.join-remove-package:hover { background:color-mix(in srgb,var(--error) 8%,transparent); }
.join-add-package { min-height:42px; border:1.5px dashed var(--interactive-ink); border-radius:10px; background:transparent; color:var(--interactive-ink); font:700 12px var(--font); cursor:pointer; }
.join-add-package:hover { background:color-mix(in srgb,var(--interactive-ink) 7%,transparent); }
.join-add-package:disabled { cursor:not-allowed; opacity:.5; }
.join-remove-package:focus-visible,.join-add-package:focus-visible { outline:3px solid var(--focus-ring); outline-offset:2px; }
.join-dimensions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.join-body-measurements { min-width:0; border:0; padding:2px 0 0; }
.join-body-measurements > legend { margin-bottom:4px; color:var(--text); font-size:13px; font-weight:700; }
.join-body-measurements > legend em { margin-left:6px; color:var(--text-secondary); font-size:11px; font-style:normal; font-weight:450; }
.join-body-measurements > p { margin:0 0 12px; color:var(--text-secondary); font-size:12px; line-height:1.55; }
.join-studio-builder { display:grid; gap:14px; }
.join-studio-builder-intro { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.join-studio-builder-intro strong { display:block; margin-bottom:5px; font-size:15px; }
.join-studio-builder-intro p,.join-studio-limit { color:var(--text-secondary); font-size:12px; line-height:1.55; }
.join-studio-builder-intro > span { flex:0 0 auto; padding:5px 10px; border-radius:8px; background:var(--bg-alt); color:var(--interactive-ink); font-size:12px; font-weight:700; }
.join-studio-list { display:grid; gap:16px; }
.join-studio-template { min-width:0; padding:20px; border:1px solid var(--border); border-radius:14px; background:var(--bg-alt); }
.join-studio-template-header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:18px; padding-bottom:14px; border-bottom:1px solid var(--border); }
.join-studio-template-header span { display:block; margin-bottom:3px; color:var(--interactive-ink); font-size:11px; font-weight:700; }
.join-studio-template-header h3 { font-size:18px; }
.join-remove-studio { min-height:34px; border:1px solid color-mix(in srgb,var(--error) 38%,var(--border)); border-radius:9px; padding:7px 10px; background:transparent; color:var(--error); font:650 12px var(--font); cursor:pointer; }
.join-remove-studio:hover { background:color-mix(in srgb,var(--error) 9%,transparent); }
.join-remove-studio:focus-visible,.join-add-studio:focus-visible { outline:3px solid var(--focus-ring); outline-offset:3px; }
.join-studio-template-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.join-studio-media { padding-top:4px; }
.join-studio-media-heading { margin-bottom:12px; }
.join-studio-media-heading strong { display:block; margin-bottom:4px; font-size:14px; }
.join-studio-media-heading p { color:var(--text-secondary); font-size:12px; }
.join-studio-media-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.join-studio-media .join-upload { min-height:136px; background:var(--card); }
.join-add-studio { width:100%; min-height:46px; border:1.5px dashed var(--interactive-ink); border-radius:12px; background:transparent; color:var(--interactive-ink); font:700 13px var(--font); cursor:pointer; }
.join-add-studio:hover { background:color-mix(in srgb,var(--interactive-ink) 7%,transparent); }
.join-add-studio:disabled { cursor:not-allowed; opacity:.55; }
.join-field span em { color:var(--text-secondary); font-size:11px; font-style:normal; font-weight:400; }
.join-field input,
.join-field select,
.join-field textarea {
    width:100%;
    min-height:46px;
    border:1.5px solid var(--border);
    border-radius:10px;
    padding:11px 13px;
    background:var(--bg);
    color:var(--text);
    font:400 14px/1.5 var(--font);
}
.join-field .join-input-unit > input { padding-left:31px; }
.join-field .join-input-unit-suffix > input { padding-left:13px; padding-right:58px; }
.join-field .join-input-unit-suffix > b:first-child + input { padding-left:31px; }
.join-input-unit input[type="number"] { appearance:textfield; -moz-appearance:textfield; }
.join-input-unit input[type="number"]::-webkit-inner-spin-button,
.join-input-unit input[type="number"]::-webkit-outer-spin-button { margin:0; -webkit-appearance:none; }
.join-field textarea { min-height:120px; resize:vertical; }
.join-field input:focus,
.join-field select:focus,
.join-field textarea:focus { outline:none; border-color:var(--focus-ring); box-shadow:0 0 0 3px color-mix(in srgb,var(--focus-ring) 20%,transparent); }
.join-field input[aria-invalid="true"],
.join-field select[aria-invalid="true"],
.join-field textarea[aria-invalid="true"] { border-color:var(--error); }
.join-region-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.join-contact-group { min-width:0; border:0; }
.join-contact-group > legend { margin-bottom:12px; color:var(--text); font-size:13px; font-weight:700; }
.join-contact-group > legend span { margin-left:7px; color:var(--text-secondary); font-size:11px; font-weight:450; }
.join-contact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.join-contact-item { display:grid; gap:7px; min-width:0; }
.join-contact-item > span { display:flex; align-items:center; gap:7px; color:var(--text); font-size:12px; font-weight:650; }
.join-contact-item > span i { width:16px; color:var(--interactive-ink); text-align:center; }
.join-contact-item input {
    width:100%; min-height:46px; border:1.5px solid var(--border); border-radius:10px; padding:11px 13px;
    background:var(--bg); color:var(--text); font:400 14px/1.5 var(--font);
}
.join-contact-item input:focus { outline:none; border-color:var(--focus-ring); box-shadow:0 0 0 3px color-mix(in srgb,var(--focus-ring) 20%,transparent); }
.join-contact-item input[aria-invalid="true"],.join-contact-group[aria-invalid="true"] .join-contact-item input[aria-invalid="true"] { border-color:var(--error); }
.join-contact-group > .join-field-error { display:block; margin-top:6px; }
.join-choice-group { grid-column:1/-1; min-width:0; border:0; }
.join-choice-group.join-choice-group-half { grid-column:auto; }
.join-choice-group legend { margin-bottom:10px; color:var(--text); font-size:13px; font-weight:650; }
.join-choice-list { display:flex; flex-wrap:wrap; gap:8px; }
.join-choice-list label { position:relative; }
.join-choice-list input { position:absolute; opacity:0; pointer-events:none; }
.join-choice-list span {
    display:inline-flex;
    align-items:center;
    min-height:38px;
    padding:8px 14px;
    border:1.5px solid var(--border);
    border-radius:980px;
    color:var(--text-secondary);
    font-size:12px;
    font-weight:650;
    cursor:pointer;
}
.join-choice-list input:checked + span { border-color:var(--action-primary); background:var(--action-primary); color:#fff; }
.join-choice-list input:focus-visible + span { outline:3px solid var(--focus-ring); outline-offset:2px; }
.join-choice-group[aria-invalid="true"] .join-choice-list span { border-color:var(--error); }
.join-upload-block { display:grid; align-content:start; gap:10px; min-width:0; }
.join-brand-avatar-only .join-form-grid { grid-template-columns:minmax(0,1fr); }
.join-brand-avatar-only .join-upload-block { max-width:520px; }
.join-upload {
    display:grid;
    place-items:center;
    min-height:154px;
    border:1.5px dashed var(--border);
    border-radius:14px;
    padding:22px;
    background:var(--bg-alt);
    text-align:center;
    cursor:pointer;
}
.join-upload:hover { border-color:var(--interactive-ink); }
.join-upload.is-dragover {
    border-color:var(--focus-ring);
    background:color-mix(in srgb,var(--focus-ring) 8%,var(--bg-alt));
    box-shadow:none;
}
.join-upload.is-dragover span { pointer-events:none; }
.join-upload:has(input:focus-visible) { outline:3px solid var(--focus-ring); outline-offset:3px; border-color:var(--focus-ring); }
.join-upload input { position:absolute; width:1px; height:1px; overflow:hidden; opacity:0; }
.join-upload i { margin-bottom:10px; color:var(--interactive-ink); font-size:22px; }
.join-upload strong { display:block; margin-bottom:4px; font-size:14px; }
.join-upload small { color:var(--text-secondary); font-size:12px; font-weight:400; }
.join-preview { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-top:12px; }
.join-preview:empty { display:none; }
.join-preview-avatar { grid-template-columns:minmax(0,96px); }
.join-preview figure { position:relative; min-width:0; }
.join-preview img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:10px; }
.join-preview-remove {
    position:absolute; top:6px; right:6px; display:grid; place-items:center; width:28px; height:28px;
    border:1px solid color-mix(in srgb,var(--card) 55%,transparent); border-radius:50%; background:color-mix(in srgb,var(--text) 78%,transparent); color:var(--bg);
    font-size:13px; cursor:pointer; box-shadow:none;
}
.join-preview-remove:hover { background:var(--error); }
.join-preview-remove:focus-visible { outline:3px solid var(--focus-ring); outline-offset:2px; }
.join-field-error { min-height:17px; color:var(--error); font-size:11px; font-weight:500; line-height:1.45; }
.join-sensitive-error:empty { display:none; }
.join-consent { display:flex; align-items:flex-start; gap:10px; color:var(--text-secondary); font-size:12px; line-height:1.55; }
.join-consent input { margin-top:3px; accent-color:var(--action-primary); }
.join-consent input:disabled { cursor:not-allowed; opacity:0.46; }
.join-consent:has(input:disabled) { opacity:0.72; }
.join-consent input[aria-invalid="true"] { outline:2px solid var(--error); outline-offset:2px; }
.join-service-notice { display:grid; gap:16px; margin-bottom:20px; padding:20px; border:1px solid rgba(69,183,209,.24); border-radius:14px; background:rgba(69,183,209,.055); }
.join-service-notice-heading { display:flex; align-items:center; gap:12px; }
.join-service-notice-heading > span { display:grid; place-items:center; flex:0 0 auto; width:38px; height:38px; border-radius:11px; background:rgba(69,183,209,.14); color:var(--interactive-ink); }
.join-service-notice h3 { margin:0 0 3px; color:var(--text); font-size:15px; }
.join-service-notice p { color:var(--text-secondary); font-size:11px; }
.join-service-notice-action { display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; }
.join-terms-open {
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:10px 13px;
    border:1px solid color-mix(in srgb,var(--interactive-ink) 50%,var(--border));
    border-radius:9px;
    background:var(--card);
    color:var(--interactive-ink);
    font:inherit;
    font-size:12px;
    font-weight:750;
    cursor:pointer;
}
.join-terms-open:hover { border-color:var(--interactive-ink); }
.join-terms-open:focus-visible { outline:3px solid var(--focus-ring); outline-offset:3px; }
.join-service-notice-action > span { color:var(--text-secondary); font-size:11px; }
.join-terms-dialog {
    width:min(760px,calc(100% - 32px));
    max-width:none;
    max-height:min(88dvh,900px);
    margin:auto;
    padding:0;
    border:0;
    border-radius:18px;
    background:transparent;
    color:var(--text);
    box-shadow:none;
}
.join-terms-dialog::backdrop { background:rgba(20,14,35,.64); backdrop-filter:blur(6px); }
.join-terms-shell { display:flex; flex-direction:column; max-height:min(88dvh,900px); overflow:hidden; border:1px solid var(--border); border-radius:18px; background:var(--card); }
.join-terms-shell > header { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; padding:24px 26px 20px; border-bottom:1px solid var(--border); }
.join-terms-shell > header span { display:block; margin-bottom:6px; color:var(--interactive-ink); font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.join-terms-shell > header h2 { margin:0 0 7px; font-size:24px; line-height:1.2; }
.join-terms-shell > header p { max-width:62ch; color:var(--text-secondary); font-size:12px; line-height:1.6; }
.join-terms-close { display:grid; place-items:center; flex:0 0 auto; width:36px; height:36px; border:1px solid var(--border); border-radius:50%; background:var(--bg-alt); color:var(--text); cursor:pointer; }
.join-terms-close:hover { border-color:var(--interactive-ink); color:var(--interactive-ink); }
.join-terms-close:focus-visible { outline:3px solid var(--focus-ring); outline-offset:2px; }
.join-terms-body { display:grid; gap:24px; overflow-y:auto; overscroll-behavior:contain; padding:24px 26px; }
.join-terms-body section { display:grid; gap:12px; }
.join-terms-body h3 { margin:0; font-size:15px; }
.join-terms-body ol { display:grid; gap:10px; margin:0; padding-left:24px; color:var(--text-secondary); }
.join-terms-body li { padding-left:5px; font-size:12px; line-height:1.7; }
.join-terms-body li::marker { color:var(--interactive-ink); font-weight:800; }
.join-terms-body aside { display:grid; grid-template-columns:32px minmax(0,1fr); gap:11px; padding:15px; border:1px solid rgba(69,183,209,.24); border-radius:11px; background:rgba(69,183,209,.06); color:var(--text-secondary); }
.join-terms-body aside > i { display:grid; place-items:center; width:32px; height:32px; border-radius:9px; background:rgba(69,183,209,.14); color:var(--interactive-ink); }
.join-terms-body aside p { font-size:11px; line-height:1.7; }
.join-terms-body aside strong { display:block; margin-bottom:3px; color:var(--text); font-size:12px; }
.join-terms-shell > footer { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:16px 26px; border-top:1px solid var(--border); background:var(--bg-alt); }
.join-terms-shell > footer p { max-width:46ch; color:var(--text-secondary); font-size:10px; line-height:1.5; }
.join-terms-confirm { flex:0 0 auto; min-width:170px; }
.join-confirm-dialog {
    width:min(480px,calc(100% - 28px));
    max-width:none;
    margin:auto;
    padding:0;
    border:0;
    border-radius:8px;
    background:transparent;
    color:var(--text);
    box-shadow:0 22px 64px rgba(20,37,76,.24);
}
.join-confirm-dialog[open] { animation:join-confirm-in .18s ease-out; }
.join-confirm-dialog::backdrop { background:rgba(20,37,76,.58); backdrop-filter:blur(3px); }
.join-confirm-shell { display:grid; grid-template-columns:44px minmax(0,1fr); gap:16px; padding:24px; border:1px solid var(--border); border-radius:8px; background:var(--card); }
.join-confirm-icon { display:grid; place-items:center; width:44px; height:44px; border-radius:6px; background:rgba(179,35,87,.1); color:#b32357; font-size:17px; }
.join-confirm-shell h2 { margin:1px 0 6px; font-size:21px; line-height:1.25; }
.join-confirm-shell p { color:var(--text-secondary); font-size:12px; line-height:1.65; }
.join-confirm-summary { grid-column:1/-1; padding:13px 15px; border:1px solid var(--border); border-radius:6px; background:var(--bg-alt); color:var(--text-secondary); font-size:12px; line-height:1.6; }
.join-confirm-actions { display:flex; grid-column:1/-1; justify-content:flex-end; gap:10px; }
.join-confirm-actions .btn { min-width:118px; }
.join-confirm-actions .btn-danger { border:1px solid #b32357; background:#b32357; color:#fff; }
.join-confirm-actions .btn-danger:hover { border-color:#8e1943; background:#8e1943; }
@keyframes join-confirm-in { from { opacity:0; transform:translateY(8px) scale(.985); } to { opacity:1; transform:none; } }
@media (max-width:560px) {
    .join-confirm-shell { grid-template-columns:38px minmax(0,1fr); gap:13px; padding:20px; }
    .join-confirm-icon { width:38px; height:38px; }
    .join-confirm-actions { display:grid; grid-template-columns:1fr; }
    .join-confirm-actions .btn { width:100%; }
}
@media (prefers-reduced-motion:reduce) {
    .join-confirm-dialog[open] { animation:none; }
}
.join-account-line { display:flex; flex-wrap:wrap; align-items:center; gap:7px 9px; width:fit-content; margin-top:18px; padding:8px 11px; border:1px solid var(--border); border-radius:9px; background:var(--card); color:var(--text-secondary); font-size:11px; }
.join-account-line i { color:#188566; }
.join-account-line strong { color:var(--text); }
.join-account-line span { color:var(--text-secondary); }
.join-account-line a { color:var(--interactive-ink); font-weight:700; }
.join-contact-item em { margin-left:5px; color:var(--interactive-ink); font-size:9px; font-style:normal; font-weight:700; }
.join-save-error { margin:4px 0 10px; }
.join-submit-row { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.join-submit-row p { max-width:52ch; color:var(--text-secondary); font-size:12px; }
.join-submit { flex:0 0 auto; min-width:150px; }
.join-success {
    display:grid;
    justify-items:start;
    gap:12px;
    padding:34px;
    border-radius:6px;
    background:var(--card);
    box-shadow:none;
}
.join-success[hidden] { display:none; }
.join-success-icon { display:grid; place-items:center; width:54px; height:54px; border-radius:50%; background:var(--action-primary); color:#fff; }
.join-success h2 { font-size:27px; }
.join-success p { color:var(--text-secondary); font-size:14px; }
.join-success-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:6px; }
.join-loading { min-height:70vh; display:grid; place-items:center; align-content:center; gap:10px; color:var(--text-secondary); text-align:center; }
.join-loading strong { color:var(--text); font-size:18px; }
.join-loading span { font-size:12px; }
.join-loading button { padding:8px 13px; border:1px solid var(--border); border-radius:8px; background:var(--card); color:var(--text); cursor:pointer; }

[data-theme="dark"] .join-type-list a,
[data-theme="dark"] .join-success { box-shadow:none; }

@media (prefers-reduced-motion:no-preference) {
    .join-hub-copy { animation:joinReveal 0.62s cubic-bezier(0.16,1,0.3,1) both; }
    .join-type-list { animation:joinReveal 0.62s 0.09s cubic-bezier(0.16,1,0.3,1) both; }
    .join-application-header,.join-role-switch,.join-application-layout { animation:joinReveal 0.58s cubic-bezier(0.16,1,0.3,1) both; }
    @keyframes joinReveal { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:translateY(0)} }
}
@media (prefers-reduced-motion:reduce) {
    *,*::before,*::after { scroll-behavior:auto!important; animation-duration:0.01ms!important; transition-duration:0.01ms!important; }
}
@media (max-width:980px) {
    .join-hub-main { grid-template-columns:1fr; gap:42px; }
    .join-hub-copy { position:static; max-width:760px; padding-top:0; }
    .join-application-layout { grid-template-columns:1fr; }
    .join-identity-panel { position:static; display:grid; grid-template-columns:auto 1fr; gap:0 18px; }
    .join-identity-panel h2 { margin-top:2px; }
    .join-identity-panel > p,.join-material-list { grid-column:2; }
}
@media (max-width:720px) {
    .join-hub,.join-application { padding:88px 0 64px; }
    .join-hub-copy h1,.join-application-header h1 { font-size:38px; }
    .join-process { margin-top:58px; }
    .join-process-heading { display:block; }
    .join-process-heading h2 { margin-bottom:8px; }
    .join-process ol { grid-template-columns:1fr; }
    .join-process li { min-height:0; }
    .join-role-switch { margin-left:-8px; margin-right:-8px; }
    .join-form-section { padding:22px 18px; }
    .join-form-grid,.join-region-row,.join-contact-grid,.join-dimensions,.join-studio-template-grid,.join-studio-media-grid { grid-template-columns:1fr; }
    .join-pricing-builder { gap:14px; padding:16px; }
    .join-pricing-grid-two,.join-pricing-grid-three,.join-package-grid { grid-template-columns:1fr; }
    .join-pricing-heading,.join-pricing-group-heading { align-items:flex-start; flex-direction:column; gap:7px; }
    .join-pricing-heading > span { align-self:flex-start; }
    .join-field-full { grid-column:auto; }
    .join-choice-group { grid-column:auto; }
    .join-submit-row { align-items:stretch; flex-direction:column; }
    .join-submit { width:100%; }
    .join-draft-status { align-items:flex-start; }
    .join-draft-status > span { flex-basis:calc(100% - 28px); }
    .join-draft-status button { margin-left:28px; }
    .join-preview { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .join-terms-dialog { width:calc(100% - 20px); max-height:calc(100dvh - 20px); }
    .join-terms-shell { max-height:calc(100dvh - 20px); }
    .join-terms-shell > header { padding:20px 18px 16px; }
    .join-terms-shell > header h2 { font-size:21px; }
    .join-terms-body { gap:20px; padding:20px 18px; }
    .join-terms-shell > footer { align-items:stretch; flex-direction:column; gap:10px; padding:14px 18px calc(14px + env(safe-area-inset-bottom)); }
    .join-terms-confirm { width:100%; }
}
@media (max-width:480px) {
    .join-hub-main,.join-process,.join-application > .container { padding-left:16px; padding-right:16px; }
    .join-hub-copy h1,.join-application-header h1 { font-size:34px; }
    .join-type-list a { grid-template-columns:46px minmax(0,1fr) auto; min-height:92px; padding:15px; }
    .join-type-icon,.join-identity-icon { width:46px; height:46px; border-radius:13px; }
    .join-type-list strong { font-size:16px; }
    .join-identity-panel { grid-template-columns:1fr; }
    .join-identity-panel > p,.join-material-list { grid-column:1; }
    .join-preview { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .join-studio-template { padding:16px; }
    .join-studio-builder-intro { flex-direction:column; }
}

/* Warm-paper marketplace surface: shared by the join directory and every role form. */
.join-marketplace {
    --primary:#b32357;
    --secondary:#2f4db4;
    --accent:#2f4db4;
    --action-primary:#b32357;
    --action-secondary:#8e1943;
    --interactive-ink:#2f4db4;
    --focus-ring:#2f4db4;
    --error:#9d2c42;
    --text:#191919;
    --text-secondary:#706b63;
    --bg:#f2eee6;
    --bg-alt:#e7e9ef;
    --card:#fff;
    --border:#d5cfc4;
    margin:0;
    background:#f2eee6;
    color:#191919;
    font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Noto Sans SC","Microsoft YaHei",sans-serif;
}

[data-theme="dark"] .join-marketplace {
    --primary:#dc6d94;
    --secondary:#9aa9e8;
    --accent:#9aa9e8;
    --action-primary:#bd3e6c;
    --action-secondary:#9d2d57;
    --interactive-ink:#aebaf0;
    --focus-ring:#aebaf0;
    --error:#ff9bae;
    --text:#f6f2ea;
    --text-secondary:#bdc3d0;
    --bg:#121b32;
    --bg-alt:#1b2947;
    --card:#172440;
    --border:#405070;
    background:#121b32;
    color:#f6f2ea;
}

.join-marketplace .container { max-width:1240px; padding-inline:32px; }
.join-marketplace .join-nav,
.join-marketplace .join-nav.at-top,
[data-theme="dark"] .join-marketplace .join-nav,
[data-theme="dark"] .join-marketplace .join-nav.at-top {
    height:68px;
    background:rgba(248,246,241,.96);
    border-bottom:1px solid rgba(23,23,23,.12);
    box-shadow:none;
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
}

[data-theme="dark"] .join-marketplace .join-nav,
[data-theme="dark"] .join-marketplace .join-nav.at-top {
    background:rgba(18,27,50,.96);
    border-bottom-color:rgba(246,242,234,.16);
}

.join-marketplace .join-nav .nav-inner {
    width:min(1400px,calc(100% - 80px));
    max-width:none;
    height:68px;
    padding:0;
    gap:34px;
}

.join-marketplace .join-nav .nav-logo {
    display:flex;
    flex-direction:column;
    color:#191919;
    font-size:24px;
    font-weight:850;
    line-height:1;
    letter-spacing:-.05em;
    white-space:nowrap;
}

[data-theme="dark"] .join-marketplace .join-nav .nav-logo { color:#f6f2ea; }
.join-marketplace .join-nav .nav-logo small {
    margin-top:5px;
    color:#8c8780;
    font-size:8px;
    font-weight:650;
    letter-spacing:.08em;
}

.join-marketplace .join-nav .nav-links { align-self:stretch; align-items:center; gap:30px; }
.join-marketplace .join-nav .nav-link {
    display:flex;
    align-items:center;
    height:100%;
    color:#57534f;
    font-size:14px;
    font-weight:580;
}
.join-marketplace .join-nav .nav-link::after { display:none; }
.join-marketplace .join-nav .nav-link:hover,
.join-marketplace .join-nav .nav-link.active { color:#b32357; }
[data-theme="dark"] .join-marketplace .join-nav .nav-link { color:#bdc3d0; }
[data-theme="dark"] .join-marketplace .join-nav .nav-link:hover,
[data-theme="dark"] .join-marketplace .join-nav .nav-link.active { color:#ee86a9; }

.join-marketplace .join-nav .nav-actions { margin-left:auto; gap:8px; }
.join-marketplace .join-nav .nav-theme { border:0; background:transparent; color:#57534f; }
.join-marketplace .join-nav .nav-theme:hover { background:#ece7df; color:#191919; }
.join-marketplace .join-nav .nav-booking-link {
    min-height:40px;
    padding:10px 20px;
    border-radius:5px;
    background:#b32357;
    color:#fff;
    box-shadow:none;
}
.join-marketplace .join-nav .nav-booking-link:hover { background:#8e1943; transform:none; box-shadow:none; }

.join-marketplace .join-hub,
.join-marketplace .join-application {
    position:relative;
    min-height:calc(100dvh - 68px);
    padding:clamp(116px,10vw,156px) 0 clamp(82px,8vw,124px);
    overflow:hidden;
    background:#f2eee6;
}

[data-theme="dark"] .join-marketplace .join-hub,
[data-theme="dark"] .join-marketplace .join-application { background:#121b32; }

.join-marketplace .join-hub::before {
    position:absolute;
    top:118px;
    right:-190px;
    width:520px;
    height:520px;
    border:1px solid rgba(47,77,180,.22);
    border-radius:50%;
    content:"";
    pointer-events:none;
}

.join-marketplace .join-hub-main {
    position:relative;
    grid-template-columns:minmax(320px,.8fr) minmax(500px,1.2fr);
    gap:clamp(64px,8vw,124px);
}

.join-marketplace .join-hub-copy { top:118px; padding-top:10px; }
.join-marketplace .join-hub-copy::before,
.join-marketplace .join-application-header::before {
    display:block;
    width:48px;
    height:3px;
    margin-bottom:28px;
    background:#2f4db4;
    content:"";
}
.join-marketplace .join-hub-copy h1,
.join-marketplace .join-application-header h1 {
    max-width:10em;
    margin:0 0 24px;
    font-size:clamp(44px,5.1vw,70px);
    line-height:1.06;
    letter-spacing:-.055em;
}
.join-marketplace .join-hub-copy > p,
.join-marketplace .join-application-header > p { color:var(--text-secondary); font-size:15px; line-height:1.85; }
.join-marketplace .join-local-note { margin-top:34px; border-top-color:var(--border); }
.join-marketplace .join-local-note i { color:#b32357; }
.join-marketplace .join-hub-terms {
    min-height:38px;
    margin-top:16px;
    padding:8px 11px;
    border:1px solid var(--border);
    border-radius:5px;
    background:transparent;
    color:var(--text);
}
.join-marketplace .join-hub-terms:hover { border-color:#2f4db4; color:#2f4db4; }

.join-marketplace .join-type-list {
    gap:0;
    border-top:1px solid var(--border);
    border-bottom:1px solid var(--border);
    counter-reset:join-role;
}
.join-marketplace .join-type-list a {
    min-height:98px;
    padding:18px 6px;
    border-bottom:1px solid var(--border);
    border-radius:0;
    background:transparent;
    box-shadow:none;
    counter-increment:join-role;
}
.join-marketplace .join-type-list a:last-child { border-bottom:0; }
.join-marketplace .join-type-list a:hover { padding-left:14px; background:rgba(255,255,255,.58); transform:none; }
[data-theme="dark"] .join-marketplace .join-type-list a:hover { background:rgba(255,255,255,.045); }
.join-marketplace .join-type-icon,
.join-marketplace .join-identity-icon {
    width:44px;
    height:44px;
    border:1px solid rgba(47,77,180,.28);
    border-radius:5px;
    background:#e7e9ef;
    color:#2f4db4;
    box-shadow:none;
}
[data-theme="dark"] .join-marketplace .join-type-icon,
[data-theme="dark"] .join-marketplace .join-identity-icon { background:#223256; color:#bdc8f4; }
.join-marketplace .join-type-list strong { margin-bottom:4px; font-size:17px; letter-spacing:-.015em; }
.join-marketplace .join-type-list small { color:var(--text-secondary); }
.join-marketplace .join-type-list a > i { margin-right:8px; color:#b32357; }

.join-marketplace .join-process { position:relative; margin-top:clamp(74px,8vw,116px); }
.join-marketplace .join-process-heading { margin-bottom:24px; padding-bottom:20px; border-bottom:1px solid var(--border); }
.join-marketplace .join-process-heading h2 { font-size:clamp(26px,3vw,36px); }
.join-marketplace .join-process ol {
    gap:0;
    overflow:hidden;
    border:1px solid #cdd2df;
    border-radius:6px;
    background:#e7e9ef;
}
.join-marketplace .join-process li {
    position:relative;
    min-height:154px;
    padding:28px 30px;
    border-left:1px solid #cdd2df;
    background:transparent;
}
.join-marketplace .join-process li:first-child { border-left:0; }
.join-marketplace .join-process li::before {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:3px;
    background:#2f4db4;
    content:"";
    opacity:.2;
}
.join-marketplace .join-process li > span {
    display:block;
    flex:0 0 auto;
    width:auto;
    height:auto;
    border-radius:0;
    background:transparent;
    color:#2f4db4;
    font-size:11px;
    letter-spacing:.12em;
}
.join-marketplace .join-process strong { margin:1px 0 9px; font-size:16px; }
.join-marketplace .join-process p { color:#666b76; }
[data-theme="dark"] .join-marketplace .join-process ol { border-color:#405070; background:#1b2947; }
[data-theme="dark"] .join-marketplace .join-process li { border-color:#405070; }
[data-theme="dark"] .join-marketplace .join-process p { color:#bdc3d0; }

.join-marketplace .join-application > .container { max-width:1240px; }
.join-marketplace .join-application-header { max-width:900px; margin-bottom:34px; }
.join-marketplace .join-application-header::before { margin-bottom:20px; }
.join-marketplace .join-application-header h1 { max-width:none; font-size:clamp(42px,5vw,64px); }
.join-marketplace .join-back-link { margin-bottom:24px; color:#2f4db4; }
.join-marketplace .join-role-switch {
    gap:24px;
    margin-bottom:30px;
    padding:0;
    border-bottom:1px solid var(--border);
    border-radius:0;
    background:transparent;
}
.join-marketplace .join-role-switch a {
    position:relative;
    flex:0 0 auto;
    min-height:46px;
    padding:8px 1px 13px;
    border-radius:0;
    color:var(--text-secondary);
}
.join-marketplace .join-role-switch a[aria-current="page"] { background:transparent; color:#b32357; }
.join-marketplace .join-role-switch a[aria-current="page"]::after {
    position:absolute;
    right:0;
    bottom:-1px;
    left:0;
    height:2px;
    background:#b32357;
    content:"";
}
.join-marketplace .join-application-layout { grid-template-columns:260px minmax(0,1fr); gap:30px; }
.join-marketplace .join-identity-panel {
    top:92px;
    padding:22px;
    border:1px solid var(--border);
    border-radius:6px;
    background:var(--card);
}
.join-marketplace .join-identity-panel h2 { margin-top:18px; }
.join-marketplace .join-material-list i { color:#b32357; }

.join-marketplace .join-form { gap:16px; }
.join-marketplace .join-draft-status {
    border:1px solid var(--border);
    border-radius:5px;
    background:#e7e9ef;
}
[data-theme="dark"] .join-marketplace .join-draft-status { background:#1b2947; }
.join-marketplace .join-form-section {
    padding:26px;
    border:1px solid var(--border);
    border-radius:7px;
    background:var(--card);
}
.join-marketplace .join-form-section > legend { margin-bottom:21px; font-size:19px; }
.join-marketplace .join-pricing-builder,
.join-marketplace .join-studio-template {
    border:1px solid #cdd2df;
    border-radius:6px;
    background:#e7e9ef;
}
[data-theme="dark"] .join-marketplace .join-pricing-builder,
[data-theme="dark"] .join-marketplace .join-studio-template { border-color:#405070; background:#1b2947; }
.join-marketplace .join-pricing-modes,
.join-marketplace .join-package-card { border-radius:5px; }
.join-marketplace .join-pricing-heading > span,
.join-marketplace .join-studio-builder-intro > span { border-radius:4px; }
.join-marketplace .join-add-package,
.join-marketplace .join-add-studio,
.join-marketplace .join-remove-studio,
.join-marketplace .join-remove-package { border-radius:5px; }

.join-marketplace .join-field input,
.join-marketplace .join-field select,
.join-marketplace .join-field textarea,
.join-marketplace .join-contact-item input {
    border:1px solid var(--border);
    border-radius:5px;
    background:#fbfaf7;
}
[data-theme="dark"] .join-marketplace .join-field input,
[data-theme="dark"] .join-marketplace .join-field select,
[data-theme="dark"] .join-marketplace .join-field textarea,
[data-theme="dark"] .join-marketplace .join-contact-item input { background:#101a31; }
.join-marketplace .join-field input:focus,
.join-marketplace .join-field select:focus,
.join-marketplace .join-field textarea:focus,
.join-marketplace .join-contact-item input:focus { border-color:#2f4db4; box-shadow:0 0 0 2px rgba(47,77,180,.16); }
.join-marketplace .join-choice-list span { border:1px solid var(--border); border-radius:5px; }
.join-marketplace .join-choice-list input:checked + span { border-color:#2f4db4; background:#2f4db4; }
.join-marketplace .join-upload {
    border:1px dashed #aaaeb8;
    border-radius:6px;
    background:#f5f4f0;
}
[data-theme="dark"] .join-marketplace .join-upload { background:#101a31; }
.join-marketplace .join-upload.is-dragover { border-color:#2f4db4; background:#e7e9ef; box-shadow:none; }
.join-marketplace .join-preview img { border-radius:5px; }
.join-marketplace .join-service-notice {
    border:1px solid rgba(47,77,180,.25);
    border-radius:6px;
    background:rgba(47,77,180,.055);
}
.join-marketplace .join-service-notice-heading > span { border-radius:5px; background:rgba(47,77,180,.12); color:#2f4db4; }
.join-marketplace .join-terms-open,
.join-marketplace .join-account-line { border-radius:5px; }

.join-marketplace .btn,
.join-marketplace .join-submit,
.join-marketplace .join-terms-confirm {
    border-radius:5px;
    box-shadow:none;
}
.join-marketplace .btn-primary {
    border:1px solid #b32357;
    background:#b32357;
    color:#fff;
}
.join-marketplace .btn-primary:hover { background:#8e1943; border-color:#8e1943; opacity:1; transform:none; }
.join-marketplace .btn-outline { border:1px solid #2f4db4; background:transparent; color:#2f4db4; }
.join-marketplace .btn-outline:hover { background:#2f4db4; color:#fff; }
.join-marketplace .join-success { border:1px solid var(--border); }
.join-marketplace .join-success-icon { background:#2f4db4; }

.join-marketplace .join-terms-dialog {
    border-radius:7px;
    box-shadow:0 16px 48px rgba(20,37,76,.18);
}
.join-marketplace .join-terms-dialog::backdrop { background:rgba(20,37,76,.58); backdrop-filter:blur(3px); }
.join-marketplace .join-terms-shell { border-radius:7px; }
.join-marketplace .join-terms-close { border-radius:5px; }
.join-marketplace .join-terms-body aside { border-radius:5px; background:rgba(47,77,180,.05); }
.join-marketplace .join-terms-body aside > i { border-radius:4px; background:rgba(47,77,180,.12); color:#2f4db4; }

.join-marketplace .support-float {
    border:1px solid #d5cfc4;
    border-radius:6px;
    background:#fff;
    color:#191919;
    box-shadow:0 10px 28px rgba(20,37,76,.1);
}
.join-marketplace .support-float > i { border-radius:5px; background:#b32357; box-shadow:none; }
.join-marketplace .support-float:hover { transform:translateY(-2px); box-shadow:0 12px 30px rgba(20,37,76,.15); }

.join-marketplace .join-footer {
    padding:34px 0 26px;
    border-top:0;
    background:#14254c;
    color:#f7f2e9;
}
.join-marketplace .join-footer .footer-bottom {
    display:flex;
    justify-content:space-between;
    gap:24px;
    padding-top:0;
    border-top:0;
    text-align:left;
}
.join-marketplace .join-footer .footer-bottom p { color:rgba(247,242,233,.7); }

@media (max-width:980px) {
    .join-marketplace .join-hub-main { grid-template-columns:1fr; gap:48px; }
    .join-marketplace .join-hub-copy { position:static; max-width:720px; }
    .join-marketplace .join-hub::before { top:96px; right:-250px; }
    .join-marketplace .join-application-layout { grid-template-columns:1fr; }
    .join-marketplace .join-identity-panel { position:static; }
}

@media (max-width:720px) {
    .join-marketplace .container { padding-inline:20px; }
    .join-marketplace .join-nav .nav-inner { width:calc(100% - 32px); height:60px; }
    .join-marketplace .join-nav,
    .join-marketplace .join-nav.at-top { height:60px; }
    .join-marketplace .join-nav .nav-logo { font-size:20px; }
    .join-marketplace .join-hub,
    .join-marketplace .join-application { padding:92px 0 68px; }
    .join-marketplace .join-hub-copy h1,
    .join-marketplace .join-application-header h1 { font-size:clamp(36px,11vw,48px); }
    .join-marketplace .join-hub::before { display:none; }
    .join-marketplace .join-type-list a { min-height:88px; padding:15px 4px; }
    .join-marketplace .join-process ol { grid-template-columns:1fr; }
    .join-marketplace .join-process li { min-height:0; border-top:1px solid #cdd2df; border-left:0; }
    .join-marketplace .join-process li:first-child { border-top:0; }
    .join-marketplace .join-role-switch { margin-inline:0; gap:18px; }
    .join-marketplace .join-form-section { padding:22px 18px; }
    .join-marketplace .join-footer .footer-bottom { align-items:flex-start; flex-direction:column; gap:7px; }
}

@media (max-width:480px) {
    .join-marketplace .join-hub-main,
    .join-marketplace .join-process,
    .join-marketplace .join-application > .container { padding-inline:18px; }
    .join-marketplace .join-type-list a { grid-template-columns:44px minmax(0,1fr) auto; }
    .join-marketplace .join-type-icon,
    .join-marketplace .join-identity-icon { width:40px; height:40px; }
}

/* COS 服商家入驻：证件审核与公开店铺资料保持为两条清晰的数据路径。 */
.join-costume-merchant .join-application { padding-top:96px; }
.join-costume-merchant .costume-merchant-container { max-width:1320px; }
.join-costume-merchant .costume-merchant-header {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(300px,390px);
    column-gap:32px;
    align-items:end;
    max-width:none;
    margin-bottom:26px;
}
.join-costume-merchant .costume-merchant-header::before,
.join-costume-merchant .costume-merchant-header > :not(.join-account-line) { grid-column:1; }
.join-costume-merchant .costume-merchant-header::before { margin-bottom:18px; }
.join-costume-merchant .costume-merchant-header .join-back-link { margin-bottom:13px; }
.join-costume-merchant .costume-merchant-header h1 { max-width:9em; margin-bottom:12px; font-size:clamp(44px,4.6vw,58px); }
.join-costume-merchant .costume-merchant-header > p { font-size:14px; line-height:1.65; }
.join-costume-merchant .costume-merchant-header .join-account-line {
    grid-column:2;
    grid-row:1 / span 5;
    align-self:end;
    width:100%;
    margin:0;
    padding:13px 14px;
}
.join-costume-merchant .costume-review-promise {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:15px;
}
.join-costume-merchant .costume-review-promise span {
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:36px;
    padding:8px 11px;
    border:1px solid var(--border);
    border-radius:999px;
    background:var(--card);
    color:var(--text);
    font-size:12px;
    font-weight:700;
}
.join-costume-merchant .costume-review-promise i { color:#2f4db4; }
.join-costume-merchant .costume-merchant-layout { grid-template-columns:286px minmax(0,1fr); gap:32px; }
.join-costume-merchant .costume-onboarding-guide { padding:24px; }
.join-costume-merchant .costume-onboarding-guide ol {
    display:grid;
    gap:0;
    margin:22px 0 0;
    list-style:none;
    counter-reset:onboarding-step;
}
.join-costume-merchant .costume-onboarding-guide li {
    position:relative;
    display:grid;
    gap:3px;
    min-height:68px;
    padding:0 0 18px 38px;
    counter-increment:onboarding-step;
}
.join-costume-merchant .costume-onboarding-guide li:not(:last-child)::after {
    position:absolute;
    top:26px;
    bottom:0;
    left:12px;
    width:1px;
    background:var(--border);
    content:"";
}
.join-costume-merchant .costume-onboarding-guide li::before {
    position:absolute;
    top:0;
    left:0;
    display:grid;
    place-items:center;
    width:25px;
    height:25px;
    border:1px solid rgba(47,77,180,.35);
    border-radius:50%;
    background:var(--card);
    color:#2f4db4;
    content:counter(onboarding-step);
    font-size:11px;
    font-weight:800;
    z-index:1;
}
.join-costume-merchant .costume-onboarding-guide li b { color:var(--text); font-size:13px; }
.join-costume-merchant .costume-onboarding-guide li span { color:var(--text-secondary); font-size:11px; line-height:1.5; }
.join-costume-merchant .costume-scope-note {
    display:grid;
    gap:4px;
    margin-top:4px;
    padding:15px;
    border:1px solid color-mix(in srgb,var(--border) 78%,#2f4db4);
    border-radius:6px;
    background:rgba(47,77,180,.055);
}
.join-costume-merchant .costume-scope-note strong { font-size:12px; }
.join-costume-merchant .costume-scope-note span { color:var(--text-secondary); font-size:11px; line-height:1.55; }
.join-costume-merchant .costume-entity-group { margin-bottom:2px; }
.join-costume-merchant .costume-entity-options {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}
.join-costume-merchant .costume-entity-options label { position:relative; min-width:0; }
.join-costume-merchant .costume-entity-options input { position:absolute; opacity:0; pointer-events:none; }
.join-costume-merchant .costume-entity-options label > span {
    display:grid;
    grid-template-columns:28px minmax(0,1fr);
    gap:2px 10px;
    min-height:104px;
    padding:16px;
    border:1px solid var(--border);
    border-radius:6px;
    background:#fbfaf7;
    color:var(--text);
    cursor:pointer;
}
.join-costume-merchant .costume-entity-options i {
    grid-row:1/3;
    margin-top:2px;
    color:#2f4db4;
    font-size:17px;
    text-align:center;
}
.join-costume-merchant .costume-entity-options b { font-size:13px; }
.join-costume-merchant .costume-entity-options small { color:var(--text-secondary); font-size:11px; font-weight:400; line-height:1.5; }
.join-costume-merchant .costume-entity-options input:checked + span {
    border-color:#2f4db4;
    background:rgba(47,77,180,.075);
    box-shadow:inset 0 0 0 1px #2f4db4;
}
.join-costume-merchant .costume-entity-options input:focus-visible + span { outline:3px solid var(--focus-ring); outline-offset:3px; }
.join-costume-merchant .costume-entity-options .is-disabled > span { cursor:not-allowed; opacity:.5; }
.join-costume-merchant .costume-entity-group[aria-invalid="true"] .costume-entity-options span { border-color:var(--error); }
.join-costume-merchant .costume-inline-note {
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin-top:2px;
    padding:13px 14px;
    border-radius:5px;
    background:rgba(47,77,180,.06);
    color:var(--text-secondary);
    font-size:11px;
    line-height:1.6;
}
.join-costume-merchant .costume-inline-note i { margin-top:3px; color:#2f4db4; }
.join-costume-merchant .costume-section-intro { clear:both; margin:-5px 0 18px; color:var(--text-secondary); font-size:12px; line-height:1.65; }
.join-costume-merchant .costume-qualification-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.join-costume-merchant .costume-qualification-upload .join-upload { min-height:170px; padding:18px; }
.join-costume-merchant .costume-qualification-upload .join-upload:has(input[aria-invalid="true"]) { border-color:var(--error); }
.join-costume-merchant .costume-qualification-error { display:block; margin-top:8px; }
.join-costume-merchant .costume-upload-total-error { display:block; margin-top:4px; }
.join-costume-merchant .costume-private-note {
    display:flex;
    gap:12px;
    margin-top:16px;
    padding-top:16px;
    border-top:1px solid var(--border);
}
.join-costume-merchant .costume-private-note > i { margin-top:3px; color:#20734a; }
.join-costume-merchant .costume-private-note strong { display:block; margin-bottom:3px; font-size:12px; }
.join-costume-merchant .costume-private-note p { color:var(--text-secondary); font-size:11px; line-height:1.55; }
.join-costume-merchant .costume-submit-section .join-service-notice { margin-bottom:22px; }
[data-theme="dark"] .join-costume-merchant .costume-entity-options label > span { background:#101a31; }

@media (prefers-reduced-motion:no-preference) {
    .join-costume-merchant .join-application-header,
    .join-costume-merchant .join-application-layout { animation:none; }
    .join-costume-merchant .costume-review-promise span { animation:costumeReviewSettle .5s cubic-bezier(.16,1,.3,1) both; }
    .join-costume-merchant .costume-review-promise span + span { animation-delay:.07s; }
    @keyframes costumeReviewSettle { from { transform:translateX(-8px); filter:blur(2px); } to { transform:translateX(0); filter:blur(0); } }
}

@media (max-width:1040px) {
    .join-costume-merchant .costume-merchant-layout { grid-template-columns:250px minmax(0,1fr); gap:22px; }
    .join-costume-merchant .costume-entity-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .join-costume-merchant .costume-entity-options .is-disabled { grid-column:1/-1; }
}

@media (max-width:980px) {
    .join-costume-merchant .costume-merchant-header { display:block; max-width:760px; }
    .join-costume-merchant .costume-merchant-header .join-account-line { width:fit-content; margin-top:15px; }
    .join-costume-merchant .costume-merchant-layout { grid-template-columns:1fr; }
    .join-costume-merchant .costume-onboarding-guide { position:static; }
    .join-costume-merchant .costume-onboarding-guide ol { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
    .join-costume-merchant .costume-onboarding-guide li { min-height:0; padding:36px 0 0; }
    .join-costume-merchant .costume-onboarding-guide li:not(:last-child)::after { top:12px; right:-12px; bottom:auto; left:25px; width:auto; height:1px; }
}

@media (max-width:720px) {
    .join-costume-merchant .join-application { padding-top:78px; }
    .join-costume-merchant .costume-merchant-header { margin-bottom:20px; }
    .join-costume-merchant .costume-merchant-header::before { margin-bottom:15px; }
    .join-costume-merchant .costume-merchant-header .join-back-link { margin-bottom:12px; }
    .join-costume-merchant .costume-merchant-header h1 { margin-bottom:10px; }
    .join-costume-merchant .costume-onboarding-guide { display:none; }
    .join-costume-merchant .costume-review-promise { align-items:stretch; flex-direction:column; }
    .join-costume-merchant .costume-review-promise span { border-radius:6px; }
    .join-costume-merchant .costume-onboarding-guide ol { grid-template-columns:1fr 1fr; }
    .join-costume-merchant .costume-onboarding-guide li { padding:0 0 0 34px; }
    .join-costume-merchant .costume-onboarding-guide li:not(:last-child)::after { display:none; }
    .join-costume-merchant .costume-entity-options,
    .join-costume-merchant .costume-qualification-grid { grid-template-columns:1fr; }
    .join-costume-merchant .costume-entity-options .is-disabled { grid-column:auto; }
    .join-costume-merchant .costume-entity-options label > span { min-height:88px; }
    .join-costume-merchant .costume-qualification-upload .join-upload { min-height:138px; }
}

@media (max-width:480px) {
    .join-costume-merchant .costume-merchant-header h1 { font-size:38px; }
}
