/* Shared careers landing, role and application pages. Decorative image slots are CSS only. */
.careers { color: #111; }
.careers :is(h1,h2,h3) { font-family: var(--wk-display, "Newsreader", Georgia, serif); font-weight: 375; letter-spacing: -.025em; }
.careers h1 { font-size: clamp(54px,6.6vw,100px); line-height: 1.02; margin: 24px 0; }
.careers h2 { font-size: clamp(38px,4vw,64px); line-height: 1.06; margin: 24px 0 30px; }
.careers h3 { font-size: 30px; line-height: 1.13; }
.careers p,.careers li { color: #626566; line-height: 1.65; letter-spacing: -.02em; }
.careers .wk-btn-primary { background: #111; border-color: #111; color: white; }
.careers .wk-btn-primary:hover { background: #303030; }
.careers [id] { scroll-margin-top: 112px; }
.careers-wrap { width: min(100% - 96px, 1440px); margin-inline: auto; }
.careers .content-hero { min-height: 0; padding-top: 116px; padding-bottom: 112px; }
.careers .content-hero-copy { grid-column: 2 / span 6; }
.careers .content-hero h1 { font-size: clamp(58px,6.4vw,100px); }
.careers .content-hero-visual { grid-column: 9 / span 4; height: 460px; background: #e5ecee; }
.careers .content-grid { padding-block: 100px; }
.careers .content-section-heading { grid-column: 2 / span 9; max-width: 800px; }
.careers .content-section-heading > p { max-width: 65ch; margin-top: 32px; }
.careers .content-card { background: transparent; border-top: 1px solid #dfe1e1; padding: 24px 24px 0 0; min-height: 260px; }
.careers .content-card h3 { margin-top: 56px; }
.careers-split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(48px,8vw,144px); }
.careers-values { padding: 100px 0; background: #f5f6f5; }
.careers-small-art { position: relative; height: 220px; max-width: 450px; margin-top: 48px; overflow: hidden; background: #e1e7e9; border-radius: 4px; }
.careers-small-art img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 65%; }
.careers-principles article { display: flex; gap: 28px; padding: 25px 0; border-bottom: 1px solid #dfe1e1; }
.careers-principles article:first-child { padding-top: 0; }
.careers-principles article > span { color: #828788; font: 13px var(--wk-sans); margin-top: 7px; }
.careers-principles h3 { margin: 0 0 12px; }
.careers-principles p { margin: 0; }
.careers-section { padding-block: 104px; }
.careers-role { display: grid; grid-template-columns: 1fr auto 24px; align-items: center; gap: 40px; padding: 36px 0; margin-top: 56px; border-block: 1px solid #d5d8d8; text-decoration: none; transition: background 180ms; }
.careers-role:hover { background: #f6f7f7; }
.careers-role h3 { margin: 0 0 10px; }
.careers-listing { min-height: 60vh; }
.careers-listing .careers-role { padding-inline: clamp(20px, 2.5vw, 36px); }
.careers-listing .careers-role + .careers-role { margin-top: 0; border-top: 0; }
.careers-listing .careers-role h2 { font-size: 30px; margin: 0 0 10px; }
.careers-role p { margin: 0; font-size: 14px; }
.careers-role-pay { font: 17px/1.5 var(--wk-sans); font-variant-numeric: tabular-nums; }
.careers-role-pay span { display: block; font-size: 13px; color: #707575; }
.careers p.careers-note { max-width: 76ch; font-size: 13px; margin-block: 20px; }
.careers-faq { border-top: 1px solid #e1e3e3; }
.careers-faq details { padding: 24px 0; border-bottom: 1px solid #dfe1e1; }
.careers-faq details:first-child { padding-top: 0; }
.careers-faq summary { font-size: 18px; cursor: pointer; }
.careers-faq details p { margin-bottom: 0; font-size: 15px; }
.careers-closing { padding-block: 100px 140px; text-align: center; }
.careers-closing h2 { font-size: clamp(52px,6vw,88px); }
.careers-closing > p { max-width: 50ch; margin: 24px auto 36px; }
.careers-job-hero { padding-block: 80px 56px; border-bottom: 1px solid #dfe1e1; }
.careers-text-link { font-size: 14px; text-decoration: none; text-underline-offset: 5px; }
.careers-text-link:hover { text-decoration: underline; }
.careers-job-hero .content-kicker { margin-top: 56px; }
.careers-job-hero > p { font-size: 21px; }
.careers-job-meta { display: flex; gap: 16px 40px; flex-wrap: wrap; margin-top: 36px; font-size: 14px; }
.careers-job-layout { display: grid; grid-template-columns: minmax(0,760px) minmax(240px,320px); justify-content: space-between; gap: 80px; padding-block: 64px 120px; }
.careers-job-description section { margin-bottom: 52px; }
.careers-job-description h2 { font-size: 36px; }
.careers-job-description li { margin-block: 12px; padding-left: 8px; }
.careers-job-description ul { padding-left: 22px; }
.careers-salary { font-family: var(--wk-sans); white-space: nowrap; }
.careers-job-aside { align-self: start; position: sticky; top: 112px; background: #f5f6f5; padding: 30px; border-radius: 4px; }
.careers-job-aside dt { margin-top: 28px; font-size: 12px; color: #767c7c; }
.careers-job-aside dd { margin: 8px 0 0; font-size: 15px; }
.careers-job-aside .wk-btn { margin-top: 24px; width: 100%; }
.careers-job-aside .careers-text-link { display: block; margin-top: 24px; }
.careers-application { border-top: 1px solid #dfe1e1; padding-top: 56px; }
.careers-application form { display: grid; gap: 24px; margin-top: 36px; }
.careers-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: start; }
.careers-form-row .wk-field { align-content: start; }
.careers-application textarea { min-height: 150px; resize: vertical; }
.careers-application .wk-btn { justify-self: start; }
.careers-application .wk-help { font-size: 12px; line-height: 1.5; }
@media(max-width:900px) {
  .careers-wrap { width: calc(100% - 40px); }
  .careers .content-hero { padding-block: 80px 64px; }
  .careers .content-hero-visual { height: 320px; min-height: 0; }
  .careers-split,.careers-job-layout { grid-template-columns: 1fr; gap: 40px; }
  .careers-section,.careers-values { padding-block: 64px; }
  .careers .content-grid { padding-block: 64px; }
  .careers .content-card { margin-top: 32px; min-height: 0; padding-bottom: 24px; }
  .careers-role { grid-template-columns: 1fr auto; gap: 20px; }
  .careers-role > div:first-child { grid-column: 1 / -1; }
  .careers-job-aside { position: static; grid-row: 1; }
  .careers-job-hero { padding-top: 56px; }
  .careers-job-hero h1 { overflow-wrap: anywhere; }
  .careers-form-row { grid-template-columns: 1fr; }
}
@media(prefers-reduced-motion:reduce) { .careers * { scroll-behavior: auto; transition: none; } }
