body.careers-site { background:var(--linen); }
.careers-intro { text-align:center; padding-top:36px; padding-bottom:clamp(64px,8vw,112px); }
.careers-intro .occasion-brand { display:block; margin-bottom:44px; }
.careers-intro h1 { font:500 clamp(42px,6vw,76px)/1.06 var(--display); margin:20px 0 24px; text-wrap:balance; }
.careers-intro h1 em { font-weight:400; }
.careers-lede { max-width:640px; margin:0 auto 30px; font-size:21px; }
.careers-content { padding-bottom:clamp(72px,9vw,128px); }
.careers-content { scroll-margin-top:32px; }
.careers-context { max-width:640px; margin:40px 0; }
.careers-context h2, .careers-other h2 { font:500 clamp(36px,4vw,48px)/1.1 var(--display); margin-bottom:22px; }
.careers-context > p, .form-intro { color:var(--ink-soft); }
.careers-roles { margin:0; }
.careers-roles li { display:flex; align-items:center; justify-content:space-between; gap:40px; padding:32px 0; border-top:1px solid var(--rule); }
.careers-roles li:last-child { border-bottom:1px solid var(--rule); }
.careers-roles li > div { max-width:680px; }
.career-role-heading { display:flex; align-items:baseline; flex-wrap:wrap; gap:6px 18px; margin-bottom:10px; }
.careers-roles h3 { font:500 24px/1.25 var(--text); margin:0; }
.career-schedule { font:400 16px/1.5 var(--text); color:var(--ink-soft); white-space:nowrap; }
.careers-roles p { color:var(--ink-soft); }
.careers-roles .btn { flex-shrink:0; }
.careers-other { text-align:center; max-width:640px; margin:clamp(64px,8vw,104px) auto 0; }
.careers-other .btn { margin-top:24px; }
.career-application { max-width:820px; padding-top:32px; padding-bottom:clamp(72px,9vw,128px); }
.career-back { display:inline-flex; align-items:center; min-height:44px; text-decoration:none; color:var(--ink-soft); }
.career-back:hover { color:var(--ink); }
.career-application-intro { margin:32px 0; }
.career-application-intro h1 { font:500 clamp(42px,6vw,64px)/1.06 var(--display); margin:18px 0 22px; text-wrap:balance; }
.application-note { margin-top:18px; font-size:17px; color:var(--ink-soft); }
.careers-interest { scroll-margin-top:32px; min-width:0; }
.form-intro { margin-bottom:28px; }
.career-field { margin-bottom:24px; }
.career-field label { display:block; font-weight:500; margin-bottom:8px; }
.career-field label span { font-weight:400; }
.career-field input, .career-field select, .career-field textarea { display:block; width:100%; min-height:52px; padding:12px 16px; border:1px solid var(--rule-strong); border-radius:16px; background:transparent; font:400 19px/1.5 var(--text); color:var(--ink); }
.career-field select { background-color:var(--linen); }
.career-field textarea { resize:vertical; }
.career-field input:focus, .career-field select:focus, .career-field textarea:focus { border-color:var(--ink); background-color:rgba(63,41,44,.04); }
.field-help, .career-privacy { font-size:17px; line-height:1.5; color:var(--ink-soft); }
.field-help { margin:-2px 0 10px; }
.career-privacy { margin:0 0 26px; }
.career-status:not(:empty) { margin-top:22px; }
.career-success h3 { font:500 32px/1.15 var(--display); margin:0 0 18px; }
.career-success { padding:28px 0; border-top:1px solid var(--rule); }
.careers-site [hidden] { display:none!important; }
.careers-site button:disabled { opacity:.65; cursor:wait; }
@media(max-width:760px) { .careers-intro { padding-top:24px; } .careers-roles li { align-items:flex-start; flex-direction:column; gap:22px; } }
@media(prefers-reduced-motion:reduce) { .careers-site .btn { transition:none; } }

.career-field input[type="file"] { padding:10px; overflow:hidden; }
.career-field input[type="file"]::file-selector-button { font:inherit; color:var(--ink); background:transparent; border:1px solid var(--rule-strong); border-radius:999px; padding:8px 16px; margin-right:12px; cursor:pointer; }
.career-field input[type="file"]::file-selector-button:hover { background:var(--ink); color:var(--linen); }

.resume-remove { min-height:44px; padding:8px 0; border:0; background:none; color:var(--ink-soft); }
.resume-remove:hover { color:var(--ink); }
