.staff-application-workspace,.website-staff-admin-workspace{display:grid;gap:1rem}
.staff-application-hero{overflow:hidden}
.staff-live-message{position:sticky;top:1rem;z-index:30;padding:.85rem 1rem;border:var(--border);border-radius:16px;background:var(--panel-strong);box-shadow:var(--shadow);font-weight:800}
.staff-live-message.good{outline:2px solid var(--accent)}
.staff-live-message.danger{outline:2px solid var(--brand)}
.staff-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin-top:.85rem}
.staff-status-grid>div{display:grid;gap:.2rem;padding:.75rem;border:var(--border);border-radius:16px;background:var(--panel-strong)}
.staff-status-grid span,.website-staff-stats span{color:var(--muted);font-size:.8rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.staff-review-message{margin-top:1rem}
.staff-form-grid .wide,.staff-review-form-grid .wide{grid-column:1/-1}
.staff-question-card{display:grid;gap:.55rem}
.staff-question-card>strong{font-size:1.02rem}
.staff-file-list{margin-bottom:.8rem}
.staff-file-row{align-items:center}
.staff-file-row>div:first-child{display:grid;gap:.2rem}
.staff-agreement-card{display:grid;gap:.75rem}
.staff-agreement-card .check{align-items:flex-start}
.staff-signin-card,.staff-application-closed{text-align:left}
.website-staff-stats{grid-template-columns:repeat(5,minmax(0,1fr))}
.website-staff-stats article{display:grid;gap:.25rem;min-width:0}
.website-staff-stats strong{font-size:1.65rem}
.website-staff-filter-form{display:flex;gap:.7rem;align-items:end;flex-wrap:wrap}
.website-staff-filter-form label{min-width:170px}
.website-staff-filter-form .grow{flex:1 1 280px}
.website-staff-review-layout{display:grid;grid-template-columns:minmax(250px,330px) minmax(0,1fr);gap:1rem;align-items:start}
.website-staff-queue{position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow:auto}
.staff-application-list-row{display:grid;gap:.22rem;padding:.75rem;border:var(--border);border-radius:16px;background:var(--panel-strong);color:var(--ink);text-decoration:none}
.staff-application-list-row.active{outline:3px solid var(--accent)}
.staff-application-list-row small{color:var(--muted)}
.staff-detail-grid{margin:.8rem 0}
.staff-answer-block{padding:.8rem 0;border-top:1px solid color-mix(in srgb,var(--muted) 28%,transparent)}
.staff-answer-block h3{margin-bottom:.3rem}
.staff-answer-block p{white-space:normal;overflow-wrap:anywhere}
.staff-agreement-summary{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.8rem}
.staff-review-controls form{margin-top:.4rem}
.staff-review-actions{flex-wrap:wrap}
.staff-review-answer p,.staff-review-history p{overflow-wrap:anywhere}
.staff-question-admin-grid{align-items:start}
.staff-question-admin-grid article{min-width:0}
.staff-question-disabled{opacity:.72}
.staff-question-disable-form{margin-top:.6rem}
.staff-question-new{outline:2px dashed color-mix(in srgb,var(--accent) 55%,transparent)}
#website-staff-settings{display:grid;gap:1rem}
@media (max-width:1050px){.website-staff-review-layout{grid-template-columns:1fr}.website-staff-queue{position:static;max-height:none}.staff-application-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.website-staff-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:720px){.staff-status-grid,.website-staff-stats,.staff-application-list{grid-template-columns:1fr 1fr}.website-staff-filter-form>*{width:100%}.website-staff-filter-form label{min-width:0}.staff-review-actions .button{flex:1 1 100%}}
@media (max-width:520px){.staff-status-grid,.website-staff-stats,.staff-application-list{grid-template-columns:1fr}.staff-file-row{align-items:flex-start}.staff-file-row .button-row{width:100%;justify-content:flex-start}}
.staff-history-row{align-items:center}.staff-history-row>div:first-child{display:grid;gap:.2rem}.staff-history-row>div:first-child span{color:var(--muted);font-size:.86rem}

/* Public Join the Team: scoped to this view. Existing staff-review styles above are unchanged. */
/* Core hides horizontal overflow on body, creating a non-scrolling ancestor for sticky controls.
   Keep horizontal clipping on this page without detaching its save bar from the viewport. */
body:has(.join-team-page) { overflow-x: clip; overflow-y: visible; }
.join-team-page {
    --join-line: color-mix(in srgb, var(--ink) 15%, transparent);
    --join-soft: color-mix(in srgb, var(--brand) 6%, var(--panel-strong));
    --join-accent: color-mix(in srgb, var(--brand) 50%, var(--ink));
    --join-error: color-mix(in srgb, var(--danger) 55%, var(--ink));
    display: grid; gap: clamp(1.5rem, 3vw, 2.6rem); padding-block: .25rem 1rem; color: var(--ink);
}
.join-team-page *, .join-team-page *::before, .join-team-page *::after { box-sizing: border-box; }
.join-team-page [hidden] { display: none !important; }
.join-team-page :where(h1, h2, h3, p, ol, dl, dd) { margin: 0; }
.join-team-page :where(section, article, aside, nav, div, details, summary, form) { min-width: 0; }
.join-team-page a { color: inherit; text-decoration: none; }
.join-team-page :where(a, button, summary) { -webkit-tap-highlight-color: transparent; }
.join-team-page :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 3px solid var(--ink); outline-offset: 4px; }
.join-team-page :is(details[id], section[id], input, select, textarea) { scroll-margin-block-start: var(--join-scroll-offset, 9rem); scroll-margin-block-end: 11rem; }
.join-team-page .join-icon { width: 1.25rem; height: 1.25rem; flex: 0 0 1.25rem; }
.join-team-page .join-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.join-team-page .join-kicker { display: flex; align-items: center; gap: .65rem; font-size: .74rem; line-height: 1.5; font-weight: 750; letter-spacing: .085em; text-transform: uppercase; color: var(--muted); }
.join-team-page .join-brand { display: inline-grid; place-items: center; width: 2.25rem; height: 2.25rem; flex: 0 0 2.25rem; border-radius: .75rem; font-size: .85rem; font-weight: 900; letter-spacing: -.05em; color: var(--ink); background: linear-gradient(135deg, color-mix(in srgb, var(--brand) 32%, var(--panel-strong)), color-mix(in srgb, var(--brand-2) 32%, var(--panel-strong))); }
.join-team-page .join-hero {
    display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); align-items: center;
    gap: clamp(1.5rem, 4vw, 4rem); padding: clamp(1.25rem, 3vw, 2.5rem);
    border: 1px solid var(--join-line); border-radius: clamp(1.25rem, 2.2vw, 1.9rem); background: var(--panel);
    background: radial-gradient(ellipse at 3% 0%, color-mix(in srgb, var(--brand-2) 11%, transparent), transparent 65%), var(--panel);
    box-shadow: 0 10px 30px color-mix(in srgb, var(--ink) 5%, transparent);
}
.join-team-page .join-hero h1 { max-width: 18ch; font-size: clamp(2.6rem, 4.5vw, 4rem); line-height: 1.05; letter-spacing: -.055em; font-weight: 850; margin-block: 1rem 1.1rem; text-wrap: balance; overflow-wrap: normal; }
.join-team-page .join-hero h1 > span { display: block; color: var(--join-accent); }
.join-team-page .join-intro { max-width: 48ch; font-size: clamp(1rem, 1.5vw, 1.13rem); line-height: 1.65; color: var(--muted); overflow-wrap: anywhere; }
.join-team-page .join-actions { display: flex; flex-wrap: wrap; gap: .65rem; align-items: center; }
.join-team-page .join-hero-copy > .join-actions { margin-block-start: 1.5rem; }
.join-team-page .join-action {
    display: inline-flex; align-items: center; justify-content: center; gap: .55rem; cursor: pointer;
    min-height: 44px; max-width: 100%; padding: .7rem 1rem; font-family: inherit; margin: 0;
    border: 1px solid var(--join-line); border-radius: .85rem; background: var(--panel-strong); color: var(--ink);
    font-size: .88rem; font-weight: 750; line-height: 1.35; text-decoration: none; box-shadow: none; text-align: center;
    transition: transform .16s ease, border-color .16s ease, background-color .16s ease;
}
.join-team-page .join-action.join-action-primary, html[data-theme] .join-team-page :is(a, button).join-action.join-action-primary { background: var(--ink); color: var(--panel-strong); border-color: var(--ink); }
.join-team-page .join-action-secondary { background: transparent; }
html[data-theme] .join-team-page #join-submit.join-action-primary { background: var(--ink) !important; color: var(--panel-strong) !important; border-color: var(--ink) !important; }
html[data-theme] .join-team-page #join-application-form button.join-text-button { background: transparent !important; color: var(--join-error) !important; border-color: transparent !important; box-shadow: none !important; }
.join-team-page .join-action:disabled, .join-team-page .join-text-button:disabled { opacity: .55; cursor: wait; transform: none; }
.join-team-page .join-text-link, .join-team-page .join-text-button {
    display: inline-flex; align-items: center; gap: .4rem; min-height: 44px; padding: .45rem 0; margin: 0;
    font-family: inherit; font-size: .84rem; line-height: 1.45; font-weight: 650; color: var(--ink);
    border: 0; border-radius: .3rem; background: none; box-shadow: none; cursor: pointer;
    text-decoration: underline; text-decoration-color: transparent; text-underline-offset: .2em;
}
.join-team-page .join-text-link > .join-icon { width: 1rem; height: 1rem; flex-basis: 1rem; }
.join-team-page .join-account-note, .join-team-page .join-private-note { display: flex; align-items: flex-start; gap: .45rem; color: var(--muted); font-size: .78rem; line-height: 1.6; }
.join-team-page .join-account-note { margin-block-start: 1rem; max-width: 54ch; }
.join-team-page :is(.join-account-note, .join-private-note) > .join-icon { width: 1rem; height: 1rem; flex-basis: 1rem; margin-block-start: .1rem; }
.join-team-page .join-process { border-inline-start: 1px solid var(--join-line); padding-inline-start: clamp(1.25rem, 3vw, 2.5rem); }
.join-team-page .join-process h2 { margin-block: .65rem 1.3rem; font-size: clamp(1.35rem, 2.4vw, 1.9rem); line-height: 1.2; letter-spacing: -.035em; font-weight: 800; }
.join-team-page .join-process-list { display: grid; gap: 1.2rem; padding: 0; list-style: none; }
.join-team-page .join-process-list li { display: flex; align-items: flex-start; gap: .75rem; }
.join-team-page .join-process-icon { display: grid; place-items: center; flex: 0 0 2.3rem; width: 2.3rem; height: 2.3rem; border-radius: .7rem; color: var(--join-accent); background: var(--join-soft); }
.join-team-page .join-process-list h3 { font-size: .89rem; line-height: 1.5; font-weight: 750; }
.join-team-page .join-process-list p { margin-block-start: .15rem; max-width: 35ch; font-size: .82rem; line-height: 1.65; color: var(--muted); }
.join-team-page .join-small { font-size: .82rem; font-weight: 400; line-height: 1.65; color: var(--muted); overflow-wrap: anywhere; }
.join-team-page .join-feedback { top: var(--join-header-offset, 9rem); z-index: 15; border: 1px solid var(--join-line); border-radius: .85rem; background: var(--panel-strong); font-size: .9rem; line-height: 1.6; font-weight: 650; box-shadow: 0 4px 16px color-mix(in srgb, var(--ink) 8%, transparent); overflow-wrap: anywhere; }
.join-team-page .join-feedback.good { outline: none; border-inline-start: 4px solid var(--accent); }
.join-team-page .join-feedback.danger { outline: none; border-inline-start: 4px solid var(--join-error); }
.join-team-page .join-information { display: grid; gap: .7rem; padding: 1.25rem; border: 1px solid var(--join-line); border-radius: 1.25rem; background: var(--panel); }
.join-team-page .join-information h2 { font-size: 1.25rem; line-height: 1.35; letter-spacing: -.02em; }
.join-team-page .join-information > p { color: var(--muted); font-size: .94rem; line-height: 1.65; }
.join-team-page .join-status { padding: clamp(1.15rem, 2.5vw, 1.75rem); border: 1px solid var(--join-line); border-radius: 1.25rem; background: var(--panel); }
.join-team-page .join-section-heading { display: flex; align-items: center; justify-content: space-between; gap: .75rem; flex-wrap: wrap; }
.join-team-page .join-section-heading h2 { font-size: clamp(1.3rem, 2.2vw, 1.7rem); font-weight: 800; line-height: 1.25; letter-spacing: -.025em; margin-block-start: .35rem; }
.join-team-page .status-pill { font-size: .76rem; line-height: 1.5; white-space: normal; text-align: center; }
.join-team-page .join-status-help { font-size: .94rem; line-height: 1.65; color: var(--muted); margin-block-start: .8rem; max-width: 80ch; }
.join-team-page .join-review-message { margin-block-start: 1rem; padding: 1rem 1.1rem; border-inline-start: 3px solid var(--join-accent); border-radius: 0 .65rem .65rem 0; background: var(--join-soft); overflow-wrap: anywhere; }
.join-team-page .join-review-message h3 { font-size: .84rem; line-height: 1.5; margin-block-end: .4rem; }
.join-team-page .join-review-message p { font-size: .93rem; line-height: 1.7; }
.join-team-page .join-status-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .3rem 1rem; margin-block-start: .7rem; }
.join-team-page .join-minor-details { margin: .6rem 0 0; padding: 0; border: 0; background: transparent; }
.join-team-page .join-minor-details > summary { display: flex; align-items: center; gap: .4rem; min-height: 44px; padding: .35rem 0; font-size: .81rem; font-weight: 650; color: var(--muted); list-style: none; cursor: pointer; }
.join-team-page .join-minor-details > summary > .join-icon { width: 1rem; height: 1rem; flex-basis: 1rem; }
.join-team-page .join-minor-details[open] > summary > .join-icon { transform: rotate(180deg); }
.join-team-page .join-minor-details > p { padding-block: .5rem; font-size: .9rem; line-height: 1.6; overflow-wrap: anywhere; }
.join-team-page .join-dates { display: flex; flex-wrap: wrap; gap: .75rem 2rem; padding-block: .5rem; }
.join-team-page .join-dates dt { font-size: .73rem; line-height: 1.5; color: var(--muted); }
.join-team-page .join-dates dd { font-size: .82rem; line-height: 1.6; }
.join-team-page .join-editor { margin: 0; padding: 0; border: 1px solid var(--join-line); border-radius: 1.25rem; background: var(--panel); }
.join-team-page .join-editor-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 80px; padding: clamp(1.15rem, 2.5vw, 1.75rem); border-radius: inherit; list-style: none; cursor: pointer; }
.join-team-page .join-editor-heading > span:first-child { display: grid; gap: .4rem; }
.join-team-page .join-editor-heading strong { font-size: clamp(1.2rem, 2vw, 1.5rem); line-height: 1.3; font-weight: 800; letter-spacing: -.025em; }
.join-team-page .join-editor-heading small { color: var(--muted); font-size: .85rem; line-height: 1.6; font-weight: 400; }
.join-team-page .join-editor[open] > summary { border-end-start-radius: 0; border-end-end-radius: 0; }
.join-team-page summary::-webkit-details-marker { display: none; }
.join-team-page .join-chevron { display: inline-flex; flex: 0 0 auto; color: var(--join-accent); transition: transform .16s ease; }
.join-team-page :is(.join-step, .join-editor, .join-history)[open] > summary > .join-chevron { transform: rotate(180deg); }
.join-team-page .join-form { display: block; padding: 0 clamp(1.15rem, 2.5vw, 1.75rem); }
.join-team-page .join-form-toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .7rem 1rem; padding-block: 0 1.15rem; }
.join-team-page .join-form-toolbar > p { max-width: 65ch; }
.join-team-page .join-form-toolbar .join-action { font-size: .8rem; }
.join-team-page .join-required { color: var(--join-accent); font-weight: 800; }
.join-team-page .join-optional { font-size: .74rem; font-weight: 400; color: var(--muted); margin-inline-start: .25rem; }
.join-team-page .join-step { margin: 0; padding: 0; border: 0; border-block-start: 1px solid var(--join-line); border-radius: 0; background: transparent; }
.join-team-page .join-step > summary { display: flex; align-items: center; gap: .8rem; min-height: 82px; padding: 1rem .1rem; list-style: none; cursor: pointer; border-radius: .4rem; }
.join-team-page .join-step-number { flex: 0 0 2.3rem; width: 2.3rem; height: 2.3rem; display: grid; place-items: center; border-radius: .7rem; color: var(--join-accent); background: var(--join-soft); font-size: .78rem; font-weight: 750; font-variant-numeric: tabular-nums; }
.join-team-page .join-step-copy { flex: 1 1 auto; display: grid; gap: .25rem; }
.join-team-page .join-step-copy strong { font-size: 1rem; line-height: 1.4; font-weight: 750; letter-spacing: -.015em; }
.join-team-page .join-step-copy small { font-size: .8rem; font-weight: 400; line-height: 1.5; color: var(--muted); }
.join-team-page .join-step-state { flex: 0 1 auto; max-width: 12rem; font-size: .72rem; font-weight: 500; line-height: 1.5; color: var(--muted); text-align: end; }
.join-team-page .join-step-state:empty { display: none; }
.join-team-page .join-step-body { padding: .5rem .1rem 1.25rem; }
.join-team-page .join-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem 1.15rem; }
.join-team-page .join-wide { grid-column: 1 / -1; }
.join-team-page .join-field { display: grid; align-content: start; gap: .45rem; }
.join-team-page .join-field > label { display: block; font-size: .85rem; line-height: 1.55; font-weight: 700; color: var(--ink); margin: 0; overflow-wrap: anywhere; }
.join-team-page .join-field :is(input:not([type="checkbox"]), textarea, select) { display: block; width: 100%; min-width: 0; min-height: 46px; padding: .75rem .85rem; margin: 0; border: 1px solid var(--join-line); border-radius: .75rem; background: var(--panel-strong); color: var(--ink); font-family: inherit; font-size: 1rem; line-height: 1.55; font-weight: 400; box-shadow: none; }
.join-team-page .join-field textarea { resize: vertical; }
.join-team-page .join-field :is(input, textarea)::placeholder { color: var(--muted); opacity: .85; }
.join-team-page .join-field :is(input, textarea, select)[aria-invalid="true"] { border-color: var(--join-error); outline: 2px solid var(--join-error); outline-offset: 1px; }
.join-team-page .join-field-error { margin: 0; font-size: .8rem; line-height: 1.55; color: var(--join-error); font-weight: 600; }
.join-team-page .join-next { margin-block-start: 1rem; }
.join-team-page .join-question-list { display: grid; gap: 1.3rem; padding-block-start: 1.5rem; margin-block-start: 1.5rem; border-block-start: 1px solid var(--join-line); }
.join-team-page .join-question-list > h3 { font-size: 1rem; line-height: 1.5; letter-spacing: -.015em; }
.join-team-page .join-check { display: flex; align-items: flex-start; gap: .7rem; min-height: 44px; }
.join-team-page .join-check > input[type="checkbox"] { appearance: auto; flex: 0 0 1.15rem; width: 1.15rem; height: 1.15rem; min-height: 0; margin: .2rem 0 0; padding: 0; accent-color: var(--join-accent); }
.join-team-page .join-check > label { display: block; flex: 1; margin: 0; font-size: .9rem; line-height: 1.65; font-weight: 400; cursor: pointer; }
.join-team-page .join-file-list { display: grid; }
.join-team-page .join-file-list:empty { display: none; }
.join-team-page .join-file-row { display: flex; align-items: center; justify-content: space-between; gap: .5rem 1.25rem; padding-block: .75rem; border-block-end: 1px solid var(--join-line); }
.join-team-page .join-file-row > div:first-child { display: grid; gap: .15rem; }
.join-team-page .join-file-row strong { font-size: .85rem; line-height: 1.6; overflow-wrap: anywhere; }
.join-team-page .join-file-row small { color: var(--muted); font-size: .75rem; line-height: 1.5; }
.join-team-page .join-file-actions { display: flex; align-items: center; gap: .9rem; flex: 0 0 auto; }
.join-team-page .join-file-actions .join-text-button { color: var(--join-error); }
.join-team-page .join-upload { margin-block: 1rem; }
.join-team-page .join-field input[type="file"] { padding: .65rem; font-size: .84rem; cursor: pointer; }
.join-team-page input[type="file"]::file-selector-button { min-height: 40px; padding: .55rem .8rem; margin-inline-end: .8rem; border: 1px solid var(--join-line); border-radius: .5rem; background: var(--join-soft); color: var(--ink); font: inherit; font-weight: 650; cursor: pointer; }
.join-team-page .join-selected-files { overflow-wrap: anywhere; }
.join-team-page .join-agreements { display: grid; gap: 1rem; margin-block-start: 1.2rem; }
.join-team-page .join-save-bar { position: sticky; bottom: 0; z-index: 10; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .75rem 1rem; margin-inline: calc(-1 * clamp(1.15rem, 2.5vw, 1.75rem)); padding: 1rem clamp(1.15rem, 2.5vw, 1.75rem); padding-block-end: max(1rem, env(safe-area-inset-bottom)); border-block-start: 1px solid var(--join-line); border-radius: 0 0 1.25rem 1.25rem; background: var(--panel-strong); box-shadow: 0 -5px 18px color-mix(in srgb, var(--ink) 4%, transparent); }
.join-team-page .join-save-state { font-size: .83rem; line-height: 1.6; font-weight: 650; }
.join-team-page .join-save-bar .join-small { font-size: .74rem; }
.join-team-page .join-history { padding: 0; margin: 0; border: 0; border-block-start: 1px solid var(--join-line); border-radius: 0; background: transparent; }
.join-team-page .join-history > summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 0; min-height: 56px; font-size: .95rem; font-weight: 700; line-height: 1.5; list-style: none; cursor: pointer; border-radius: .4rem; }
.join-team-page .join-history > summary small { font-size: .77rem; font-weight: 400; color: var(--muted); margin-inline-start: .6rem; }
.join-team-page .join-history-list { display: grid; }
.join-team-page .join-history-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-block: .85rem; border-block-start: 1px solid var(--join-line); }
.join-team-page .join-history-row > div { display: grid; gap: .3rem; }
.join-team-page .join-history-row strong { font-size: .88rem; line-height: 1.6; overflow-wrap: anywhere; }
.join-team-page .join-history-row small { font-size: .75rem; line-height: 1.5; color: var(--muted); }
.join-team-page .join-help { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .3rem 1rem; border-block-start: 1px solid var(--join-line); padding-block-start: .7rem; }
.join-team-page .join-help > p { font-size: .82rem; line-height: 1.6; color: var(--muted); }
.join-team-page .join-help > div { display: flex; align-items: center; flex-wrap: wrap; gap: .2rem 1.25rem; }
@media (hover: hover) {
    .join-team-page .join-action:hover { transform: translateY(-2px); border-color: var(--ink); }
    .join-team-page :is(.join-text-link, .join-text-button):hover { text-decoration-color: currentColor; }
    .join-team-page :is(.join-step, .join-editor, .join-history) > summary:hover { background: var(--join-soft); }
}
@media (max-width: 900px) {
    .join-team-page .join-hero { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 1.5rem; }
    .join-team-page .join-process { padding-inline-start: 1.5rem; }
    .join-team-page .join-save-bar > div:first-child { flex: 1 1 100%; }
    .join-team-page .join-save-bar .join-actions { width: 100%; }
    .join-team-page .join-save-bar .join-action { flex: 1 1 auto; }
}
@media (max-width: 720px) {
    .join-team-page .join-hero { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
    .join-team-page .join-process { border-inline-start: 0; border-block-start: 1px solid var(--join-line); padding: 1.2rem 0 0; }
    .join-team-page .join-process > .join-kicker, .join-team-page .join-process > h2 { display: none; }
    .join-team-page .join-process-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .85rem; }
    .join-team-page .join-process-list li { display: block; }
    .join-team-page .join-process-icon { margin-block-end: .5rem; }
    .join-team-page .join-process-list h3 { font-size: .8rem; }
    .join-team-page .join-process-list p { font-size: .76rem; }
    .join-team-page .join-fields { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 520px) {
    .join-team-page { gap: 1.5rem; }
    .join-team-page .join-hero h1 { font-size: clamp(2.15rem, 8.8vw, 3rem); margin-block: .8rem; }
    .join-team-page .join-intro { font-size: .96rem; }
    .join-team-page .join-hero-copy > .join-actions .join-action { flex: 1 1 auto; }
    .join-team-page .join-process-list { grid-template-columns: minmax(0, 1fr); gap: .85rem; }
    .join-team-page .join-process-list li { display: flex; align-items: center; gap: .7rem; }
    .join-team-page .join-process-icon { margin-block-end: 0; flex-basis: 2rem; width: 2rem; height: 2rem; }
    .join-team-page .join-process-list h3 { font-size: .84rem; }
    .join-team-page .join-process-list p { font-size: .78rem; }
    .join-team-page .join-step > summary { display: grid; grid-template-columns: 2rem minmax(0, 1fr) 1.25rem; gap: .3rem .6rem; }
    .join-team-page .join-step-number { width: 2rem; height: 2rem; }
    .join-team-page .join-step-copy strong { font-size: .92rem; }
    .join-team-page .join-step-copy small { font-size: .75rem; }
    .join-team-page .join-step > summary > .join-chevron { grid-column: 3; grid-row: 1; }
    .join-team-page .join-step-state { grid-column: 2; max-width: none; text-align: start; }
    .join-team-page .join-save-bar { gap: .6rem; padding-block-start: .75rem; }
    .join-team-page .join-save-bar .join-small { display: none; }
    .join-team-page .join-save-bar .join-action { font-size: .8rem; padding-inline: .8rem; }
    .join-team-page .join-file-row { flex-wrap: wrap; }
    .join-team-page .join-file-actions { width: 100%; }
    .join-team-page .join-history-row { flex-wrap: wrap; }
    .join-team-page .join-history > summary small { display: block; margin: .25rem 0 0; }
}
@media (prefers-reduced-motion: reduce) {
    .join-team-page .join-action, .join-team-page .join-chevron { transition: none; }
    .join-team-page .join-action:hover { transform: none; }
}
@media (forced-colors: active) {
    .join-team-page .join-action, .join-team-page .join-step-number, .join-team-page .join-process-icon { border: 1px solid ButtonText; }
    .join-team-page .join-field [aria-invalid="true"] { outline: 2px solid Mark; }
}
