/* Site-local careers pages. No Bootstrap or global typography overrides. */
.ws-careers { --wsc-ink:#252b24; --wsc-paper:#f4f1e9; --wsc-red:#b7242c; background:var(--wsc-paper); color:var(--wsc-ink); font-family:"Source Sans 3",sans-serif; font-size:1.125rem; line-height:1.65; }
.ws-careers *, .ws-careers *::before, .ws-careers *::after { box-sizing:border-box; }
.ws-careers .ws-careers__shell { width:min(1320px,calc(100% - 64px)); margin-inline:auto; }
.ws-careers h1, .ws-careers h2, .ws-careers h3 { color:var(--wsc-ink); font-family:"Barlow Condensed",sans-serif; font-weight:600; letter-spacing:-.015em; line-height:1.08; text-transform:none; }
.ws-careers h1 { font-size:clamp(2.6rem,4.8vw,4.8rem); margin:0; max-width:19ch; }
.ws-careers h2 { font-size:clamp(2rem,3.6vw,3.4rem); margin:0 0 1.2rem; }
.ws-careers h3 { font-size:clamp(1.8rem,2.6vw,2.5rem); margin:0 0 1rem; }
.ws-careers p, .ws-careers li { color:inherit; font:inherit; letter-spacing:normal; }
.ws-careers p { margin:0 0 1.2rem; }
.ws-careers a { color:#9c1e26; font:inherit; text-underline-offset:.2em; overflow-wrap:anywhere; }
.ws-careers a:focus-visible { outline:3px solid #c82a31; outline-offset:5px; }
.ws-careers img { display:block; max-width:100%; height:auto; }
.ws-careers .ws-careers__kicker { font-size:.8rem; font-weight:700; letter-spacing:.1em; line-height:1.45; text-transform:uppercase; margin:0 0 1rem; color:#5a6554; }
.ws-careers .ws-careers__hero { background:radial-gradient(ellipse at 90% 15%,#45503c 0,transparent 62%),#242d24; border-bottom:4px solid #c82a31; padding:24px 0 60px; }
.ws-careers .ws-careers__hero h1 { color:#fff; }
.ws-careers .ws-careers__hero .ws-careers__kicker { color:#dbd9c9; }
.ws-careers .ws-careers__crumbs { display:flex; flex-wrap:wrap; gap:.55rem; margin-bottom:2.5rem; font-size:.9rem; line-height:1.45; }
.ws-careers .ws-careers__crumbs a, .ws-careers .ws-careers__crumbs span { color:#e6e4da; }
.ws-careers .ws-careers__crumbs [aria-current] { color:#c5cbbc; }
.ws-careers .ws-careers__hero-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.9fr); align-items:center; gap:clamp(2rem,5vw,5rem); }
.ws-careers .ws-careers__lead { color:#e8e9df; font-size:1.25rem; line-height:1.5; max-width:48ch; margin:1.4rem 0 1.8rem; }
.ws-careers .ws-careers__hero-photo { margin:0; }
.ws-careers .ws-careers__hero-photo img { width:100%; aspect-ratio:2/1; object-fit:cover; }
.ws-careers .ws-careers__hero-mark { justify-self:end; width:160px; opacity:.3; }
.ws-careers .ws-careers__button { display:inline-flex; align-items:center; justify-content:space-between; gap:1.5rem; min-height:48px; padding:.8rem 1.2rem; background:var(--wsc-red); color:#fff; text-decoration:none; font-size:1rem; font-weight:600; line-height:1.4; border:0; }
.ws-careers .ws-careers__button:hover { background:#8d1b22; color:#fff; }
.ws-careers .ws-careers__intro { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(2rem,6vw,6rem); padding-block:60px; }
.ws-careers .ws-careers__intro h2 { margin:0; }
.ws-careers .ws-careers__vacancies { padding:50px 0 70px; background:#e8e5db; scroll-margin-top:100px; }
.ws-careers .ws-careers__section-heading { display:flex; justify-content:space-between; align-items:end; gap:1.5rem; margin-bottom:2rem; }
.ws-careers .ws-careers__section-heading h2 { margin:0; }
.ws-careers .ws-careers__section-heading > p { flex-shrink:0; margin:0 0 .2rem; font-size:.95rem; color:#535d4e; }
.ws-careers .ws-careers__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.ws-careers .ws-careers__card { display:flex; flex-direction:column; background:#fff; min-width:0; }
.ws-careers .ws-careers__card-image { width:100%; aspect-ratio:3/1; object-fit:cover; }
.ws-careers .ws-careers__card-copy { display:flex; flex-direction:column; align-items:start; flex:1; padding:28px; }
.ws-careers .ws-careers__location { color:#57644f; font-size:.85rem; font-weight:600; line-height:1.5; margin:0 0 .8rem; }
.ws-careers .ws-careers__card h3 a { font:inherit; color:var(--wsc-ink); text-decoration:none; }
.ws-careers .ws-careers__card h3 a:hover { color:var(--wsc-red); }
.ws-careers .ws-careers__card-copy > p:not(.ws-careers__location) { font-size:1.05rem; }
.ws-careers .ws-careers__job-link { display:flex; justify-content:space-between; gap:2rem; width:100%; padding:1rem 0 0; margin-top:auto; border-top:1px solid #ddd9d0; font-weight:600; text-decoration:none; }
.ws-careers .ws-careers__job-link:hover { color:#661219; }
.ws-careers .ws-careers__role-layout { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:clamp(2rem,5vw,5rem); align-items:start; padding-block:55px 70px; }
.ws-careers .ws-careers__back { display:inline-flex; gap:.6rem; font-size:1rem; margin-bottom:2rem; font-weight:600; }
.ws-careers .ws-careers__prose { min-width:0; max-width:80ch; }
.ws-careers .ws-careers__prose h2 { font-size:2rem; margin:2.2rem 0 1rem; }
.ws-careers .ws-careers__prose h3 { font-size:1.6rem; margin:2rem 0 1rem; }
.ws-careers .ws-careers__prose > :first-child { margin-top:0; }
.ws-careers--role .ws-careers__prose > h2:first-child { font-family:"Source Sans 3",sans-serif; font-size:1.05rem; line-height:1.5; letter-spacing:normal; color:#53604c; }
.ws-careers .ws-careers__prose > :last-child { margin-bottom:0; }
.ws-careers .ws-careers__prose ul, .ws-careers .ws-careers__prose ol { padding:0 0 0 1.2rem; margin:1rem 0 1.7rem; list-style-position:outside; }
.ws-careers .ws-careers__prose ul { list-style-type:square; }
.ws-careers .ws-careers__prose ol { list-style-type:decimal; }
.ws-careers .ws-careers__prose li { display:list-item; padding-left:.25rem; margin:0 0 .6rem; list-style:inherit; }
.ws-careers .ws-careers__prose li::marker { color:#a21f28; }
.ws-careers .ws-careers__apply { padding:28px; background:#e5e2d7; border-top:3px solid #b7242c; position:sticky; top:110px; }
.ws-careers .ws-careers__apply h2 { font-size:2rem; }
.ws-careers .ws-careers__apply .ws-careers__button { width:100%; }
.ws-careers .ws-careers__email { display:block; font-size:1rem; margin:1.2rem 0; }
.ws-careers .ws-careers__small { font-size:.95rem; line-height:1.5; color:#55604f; margin:0; }
.ws-careers .ws-careers__empty { padding:2rem; background:#fff; }
.ws-careers .ws-careers__closing { background:#35422f; padding:50px 0; }
.ws-careers .ws-careers__closing > div { display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.ws-careers .ws-careers__closing h2 { color:#fff; margin:0; }
.ws-careers .ws-careers__closing .ws-careers__kicker { color:#d7dece; }
.ws-careers .ws-careers__closing a { display:flex; gap:2rem; color:#fff; text-decoration:none; padding:1rem 0; border-bottom:2px solid #e4565b; font-weight:600; }
@media (max-width:991px) {
    .ws-careers .ws-careers__role-layout { grid-template-columns:minmax(0,1fr); }
    .ws-careers .ws-careers__apply { position:static; }
    .ws-careers .ws-careers__hero-grid { grid-template-columns:1fr; }
    .ws-careers .ws-careers__hero-mark { display:none; }
    .ws-careers .ws-careers__hero-photo img { aspect-ratio:3/1; }
}
@media (max-width:650px) {
    .ws-careers { font-size:1.05rem; }
    .ws-careers .ws-careers__shell { width:calc(100% - 36px); }
    .ws-careers .ws-careers__hero { padding-bottom:36px; }
    .ws-careers .ws-careers__crumbs { margin-bottom:2rem; }
    .ws-careers .ws-careers__lead { font-size:1.1rem; }
    .ws-careers .ws-careers__intro, .ws-careers .ws-careers__grid { grid-template-columns:1fr; gap:24px; }
    .ws-careers .ws-careers__intro { padding-block:36px; }
    .ws-careers .ws-careers__section-heading { align-items:start; flex-direction:column; gap:.75rem; }
    .ws-careers .ws-careers__vacancies { padding-block:36px 45px; }
    .ws-careers .ws-careers__card-copy { padding:22px; }
    .ws-careers .ws-careers__role-layout { padding-block:32px 45px; }
    .ws-careers .ws-careers__closing > div { flex-direction:column; align-items:start; }
}
