/* Careers: the site's black, white and coral editorial identity. */
.careers-page { --career-gap:24px; --career-section:80px; --career-line:var(--border-strong); }
.careers-page .header { position:relative; top:auto; border-bottom:1px solid var(--career-line); }
.careers-page .header.scrolled { position:relative; top:auto; animation:none; }
.careers-page .header .logo-mark img { max-height:88px !important; }
.careers-page .nav-main a { padding-inline:12px; }
.careers-skip { position:absolute; inset-inline-start:16px; inset-block-start:8px; transform:translateY(-160%); z-index:300; padding:16px; background:var(--text); color:var(--bg); }
.careers-skip:focus { transform:none; }
.careers-hero { padding-block:var(--career-section); border-bottom:1px solid var(--career-line); background:radial-gradient(ellipse at 5% 60%,rgba(193,82,70,.13),transparent 55%),var(--surface-1); }
.careers-hero-grid { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:64px; align-items:center; }
.careers-eyebrow { color:var(--red-hover); font-size:14px; margin-block-end:16px; }
.careers-hero h1 { font-size:clamp(40px,5.5vw,76px); line-height:1.3; letter-spacing:0; }
.careers-hero h1 > span { color:var(--red-hover); }
.careers-intro { font-size:18px; line-height:1.9; max-width:640px; margin-block:24px 32px; color:var(--text-2); }
.careers-note { border-inline-start:1px solid var(--career-line); padding-inline-start:48px; }
.careers-note p { font-size:28px; line-height:1.7; margin-block:24px; }
.careers-note-caption { color:var(--text-3); font-size:14px; }
.careers-opportunities { padding-block:var(--career-section); scroll-margin-block-start:24px; }
.careers-section-head { display:flex; justify-content:space-between; gap:24px; align-items:end; margin-block-end:32px; }
.careers-page h2 { font-size:clamp(28px,3vw,40px); line-height:1.4; }
#jobsCount { color:var(--text-3); font-size:14px; }
.jobs-filters { display:grid; grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr)); gap:16px; background:var(--surface-2); padding:24px; border:1px solid var(--career-line); border-radius:var(--radius); }
.jobs-filters label { display:flex; flex-direction:column; gap:12px; color:var(--text-2); font-size:14px; }
.jobs-filters input,.jobs-filters select { min-width:0; width:100%; min-height:48px; padding:12px 16px; background:var(--surface-1); color:var(--text); border:1px solid var(--career-line); border-radius:4px; font:inherit; }
.jobs-filters input::placeholder { color:var(--text-3); }
.job-notice { color:var(--text-2); font-size:14px; margin-block:16px; min-height:20px; }
.jobs-list { display:grid; gap:24px; }
.jobs-empty { text-align:center; padding:64px 24px; border:1px dashed var(--career-line); border-radius:var(--radius); background:var(--surface-1); }
.jobs-empty > span { color:var(--red-hover); font-size:48px; display:block; margin-block-end:16px; }
.jobs-empty h3 { font-size:24px; line-height:1.5; }
.jobs-empty p { max-width:520px; margin:16px auto; color:var(--text-2); line-height:1.9; }
.job-card { min-width:0; padding:32px; border:1px solid var(--career-line); border-radius:var(--radius); background:var(--surface-1); scroll-margin-block-start:24px; overflow-wrap:anywhere; }
.job-topline { display:flex; justify-content:space-between; align-items:center; gap:16px; font-size:13px; color:var(--red-hover); }
.job-status { border:1px solid var(--career-line); padding:8px 12px; border-radius:24px; color:var(--text-2); }
.job-status.is-closed { color:var(--text-3); }
.job-card h3 { font-size:28px; line-height:1.5; margin-block:16px; }
.job-meta { display:flex; flex-wrap:wrap; gap:12px 24px; list-style:none; color:var(--text-2); font-size:14px; }
.job-meta li::before { content:'·'; margin-inline-end:8px; color:var(--red-hover); }
.job-description { color:var(--text-2); line-height:1.9; margin-block:24px; white-space:pre-line; }
.job-deadline { font-size:13px; color:var(--text-3); margin-block-end:16px; }
.job-details { border-block:1px solid var(--career-line); }
.job-details summary { min-height:52px; cursor:pointer; font-size:15px; display:flex; align-items:center; justify-content:space-between; padding-block:16px; list-style:none; }
.job-details summary::-webkit-details-marker { display:none; }
.job-details[open] summary > span { transform:rotate(45deg); }
.job-details > div { padding-block:8px 24px; }
.job-facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr)); gap:24px; }
.job-facts dt { font-size:13px; color:var(--text-3); margin-block-end:8px; }
.job-facts dd { margin:0; line-height:1.7; }
.job-detail-section { margin-block-start:24px; }
.job-detail-section h4 { font-size:18px; margin-block-end:12px; }
.job-detail-section ul { padding-inline-start:24px; line-height:1.9; color:var(--text-2); }
.job-application-note { margin-block-start:24px; color:var(--text-2); line-height:1.9; }
.job-actions { display:flex; flex-wrap:wrap; gap:16px; align-items:center; padding-block-start:24px; }
.job-share { margin-inline-start:auto; border:0; background:transparent; color:var(--text-2); font:inherit; font-size:14px; min-height:44px; padding:8px; cursor:pointer; text-decoration:underline; text-underline-offset:6px; }
.job-share:hover { color:var(--red-hover); }
.job-unavailable { color:var(--text-3); font-size:14px; }
.careers-how { border-block-start:1px solid var(--career-line); padding-block:64px; }
.careers-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; list-style:none; margin-block:32px; }
.careers-steps li { border-block-start:1px solid var(--career-line); padding-block-start:24px; }
.careers-steps li > span { color:var(--red-hover); font-size:14px; }
.careers-steps h3 { font-size:20px; line-height:1.5; margin-block:16px; }
.careers-steps p,.careers-footnote { font-size:14px; line-height:1.9; color:var(--text-2); }
.careers-footnote { color:var(--text-3); }
@media(prefers-reduced-motion:no-preference) {
 .careers-hero-grid { animation:careers-enter .6s cubic-bezier(.22,1,.36,1) both; }
 .job-card { transition:border-color .2s,transform .2s; }
 .job-card:hover { border-color:var(--red); transform:translateY(-2px); }
 @keyframes careers-enter { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:none; } }
}
@media(max-width:1200px) { .careers-page .nav-main { display:none; } .careers-page .menu-toggle { display:flex; } }
@media(max-width:768px) {
 .careers-page { --career-section:48px; }
 .careers-hero-grid { grid-template-columns:minmax(0,1fr); gap:32px; }
 .careers-note { display:none; }
 .careers-hero h1 { font-size:40px; }
 .careers-intro { font-size:16px; }
 .careers-section-head { align-items:start; flex-direction:column; gap:12px; }
 .jobs-filters { grid-template-columns:minmax(0,1fr); padding:16px; }
 .job-card { padding:24px 16px; }
 .job-card h3 { font-size:24px; }
 .job-topline { align-items:start; flex-wrap:wrap; }
 .job-actions { align-items:stretch; flex-direction:column; }
 .job-actions .btn { justify-content:center; text-align:center; flex-wrap:wrap; }
 .job-share { margin-inline-start:0; }
 .careers-steps { grid-template-columns:minmax(0,1fr); gap:24px; }
}
.job-application-note a { color:var(--red-hover); text-underline-offset:4px; }
.careers-logo { display:block; width:100%; height:160px; object-fit:cover; object-position:center; }
