/* Careers use the site's shared paper/ink palette in both lighting modes. */
.jobs-page{max-width:var(--max,1600px);margin:0 auto;padding:clamp(42px,6vw,90px) var(--gutter) clamp(70px,9vw,130px);min-height:62vh}
.jobs-hero{max-width:1050px;margin-bottom:clamp(40px,6vw,80px)}
.jobs-hero .eyebrow{color:var(--muted);margin-bottom:24px}
.jobs-hero h1,.job-detail>header h1{font-family:var(--serif);font-size:clamp(52px,7.6vw,112px);font-weight:400;line-height:1.04;letter-spacing:-.035em;overflow-wrap:anywhere}
.jobs-hero>p:not(.eyebrow),.job-detail>header>p{max-width:720px;font-size:clamp(18px,1.6vw,22px);line-height:1.7;color:var(--muted);margin-top:26px}
.jobs-list{border-top:1px solid var(--line);display:grid}
.job-card{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:36px;row-gap:20px;align-items:center;padding:34px 0;border-bottom:1px solid var(--line);min-width:0}
.job-card h2{font-family:var(--serif);font-size:clamp(32px,4vw,55px);line-height:1.12;letter-spacing:-.02em;overflow-wrap:anywhere}
.job-card h2 a{display:inline;text-decoration-thickness:1px;text-underline-offset:7px}.job-card h2 a:hover{text-decoration-line:underline}
.job-card>p{max-width:800px;color:var(--muted);line-height:1.75;grid-column:1/-1}
.job-card .job-meta{grid-column:1/-1;margin:0}.job-card .button{grid-column:2;grid-row:1;max-width:100%}
.job-meta{display:flex;flex-wrap:wrap;gap:12px 24px;margin-top:28px;padding:0;list-style:none;color:var(--muted);font-size:14px;line-height:1.6}
.job-meta>span,.job-meta>li{padding-block:2px}.job-meta>span+span,.job-meta>li+li{border-left:1px solid var(--line);padding-left:24px}
.jobs-empty{max-width:1100px;padding:clamp(30px,5vw,66px);background:var(--panel);border:1px solid var(--line);border-radius:5px}
.jobs-empty h2{font-size:clamp(34px,4.5vw,64px);line-height:1.12;max-width:820px;margin-bottom:22px}
.jobs-empty p{max-width:680px;color:var(--muted);font-size:18px;line-height:1.8}.jobs-empty .button,.jobs-empty .text-link{margin-top:28px}
.job-detail{max-width:1100px;margin:0 auto}.job-detail>.back-link{margin-bottom:36px}.job-detail>header{margin-bottom:48px;padding-bottom:38px;border-bottom:1px solid var(--line)}
.job-detail>header .eyebrow{margin-bottom:22px;color:var(--muted)}.job-detail>header .button{margin-top:30px}
.job-section{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(0,1.35fr);gap:25px 50px;padding:35px 0;border-bottom:1px solid var(--line)}
.job-section h2{font-size:clamp(30px,3vw,43px);line-height:1.2;letter-spacing:-.015em}
.job-copy{font-size:18px;line-height:1.85;overflow-wrap:anywhere}.job-copy p+p{margin-top:18px}.job-copy ul{padding-left:1.25em;margin:0}.job-copy li+li{margin-top:10px}
.job-application{margin-top:clamp(48px,6vw,80px);padding:clamp(26px,4.5vw,60px);border:1px solid var(--line);border-radius:5px;background:var(--panel);scroll-margin-top:30px}
.job-application h2{font-size:clamp(38px,5vw,64px);line-height:1.1;letter-spacing:-.025em}.job-application>p{color:var(--muted);max-width:660px;margin:20px 0 32px;font-size:16px;line-height:1.75}
.job-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:30px;min-width:0}
.job-field{display:flex;flex-direction:column;gap:9px;min-width:0}.job-field label{font-size:15px;font-weight:500;line-height:1.5}.job-field:has(textarea),.job-field:has(input[type=url]),.job-form>p,.job-form>.button,.job-form>button,.job-form>.job-form-submit{grid-column:1/-1}
.job-form :is(input:not([type=hidden]),textarea){width:100%;min-width:0;min-height:50px;padding:12px 14px;border:1px solid var(--line);border-radius:3px;color:var(--ink);background:var(--bg);font:inherit;font-size:16px;line-height:1.65}
.job-form textarea{min-height:180px;resize:vertical}.job-form :is(input,textarea)::placeholder{color:var(--muted);opacity:1}.job-form :is(input,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-color:var(--accent)}
.job-form small,.job-form>p{font-size:13px;line-height:1.7;color:var(--muted)}.job-form .button,.job-form>button{justify-self:start;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);font:inherit;font-size:15px;min-height:48px;padding:15px 23px;border-radius:4px}.job-form .button:hover,.job-form>button:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.job-confirmation{max-width:850px;margin:0 auto}.job-confirmation .eyebrow{margin-bottom:25px}.job-confirmation h1{font-family:var(--serif);font-size:clamp(50px,7vw,88px);line-height:1.08;font-weight:400;letter-spacing:-.025em}.job-confirmation>p:not(.eyebrow){font-size:19px;line-height:1.8;color:var(--muted);margin-top:25px;max-width:660px}.job-confirmation-links{display:flex;flex-wrap:wrap;align-items:center;gap:20px 30px;margin-top:35px}
@media(max-width:700px){.job-card{grid-template-columns:1fr;gap:18px}.job-card .button{grid-row:auto;grid-column:1;justify-self:start}.job-section{grid-template-columns:1fr;gap:18px;padding-block:28px}.job-form{grid-template-columns:1fr;gap:22px}.job-form>*{grid-column:1}.job-copy{font-size:17px}.job-meta{gap:8px 18px}.job-meta>span+span,.job-meta>li+li{padding-left:18px}.job-application{padding:26px 20px}.jobs-empty p{font-size:17px}.jobs-page{padding-top:40px}}
@media(max-width:420px){.job-meta{display:grid;gap:8px}.job-meta>span+span,.job-meta>li+li{padding-left:0;border-left:0}.job-confirmation-links{align-items:stretch;flex-direction:column}.job-confirmation-links .text-link{align-self:start}}
/* Public route markup shares the site's section shell without doubling gutters. */
.jobs-page>.section{padding:0;max-width:none;margin-inline:0}.jobs-page>.jobs-hero{margin-bottom:clamp(40px,6vw,80px)}.jobs-page>.jobs-list{padding-top:0}.jobs-list:has(.jobs-empty){border-top:0}.job-detail>.jobs-hero{padding-bottom:35px}.job-detail>.jobs-hero>.back-link{margin-bottom:28px}
.job-card>div{min-width:0}.job-card>div>.eyebrow{color:var(--muted);font-size:13px;margin-bottom:16px}.job-card>div>p:not(.eyebrow){max-width:720px;color:var(--muted);line-height:1.75;margin-top:20px}.job-card>.text-link{align-self:center;white-space:nowrap}.job-card .job-meta{margin-top:20px}
.job-meta>div{padding-block:2px}.job-meta>div+div{padding-left:24px;border-left:1px solid var(--line)}.job-meta dt{font-size:12px;font-weight:500;margin-bottom:4px}.job-meta dd{margin:0;color:var(--ink);font-size:15px}
.job-section-copy{min-width:0}.job-section-copy p+p{margin-top:18px}.job-section-copy ul{padding-left:1.2em;margin:0}.job-section-copy li+li{margin-top:10px}.job-deadline{margin-top:30px;color:var(--muted);font-size:14px}
.jobs-empty>.eyebrow{font-size:13px;margin:0 0 20px}.job-application>.eyebrow{font-size:13px;margin:0 0 18px}
@media(max-width:700px){.job-card>.text-link{justify-self:start}.job-meta>div+div{padding-left:18px}}
@media(max-width:420px){.job-meta>div+div{padding-left:0;border-left:0}}
.jobs-confirmation h1{font-family:var(--serif);font-size:clamp(50px,7vw,88px);line-height:1.08;font-weight:400;letter-spacing:-.025em}.jobs-confirmation>.eyebrow{margin-bottom:25px}.jobs-confirmation>p:not(.eyebrow){max-width:660px;margin-top:25px;font-size:19px;line-height:1.8;color:var(--muted)}.jobs-confirmation>.button{margin-top:30px}
