/* Vacancy styles are loaded only on the active careers advert and homepage. */
.recruitment-banner{background:var(--orange-soft);border-bottom:1px solid #e5c6aa;padding:20px 0}
.recruitment-banner .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}
.recruitment-banner h2{font:700 1.2rem/1.35 var(--sans);margin:0 0 5px}
.recruitment-banner p{margin:0;color:var(--ink);font-size:.94rem}
.recruitment-banner .btn{flex-shrink:0}
@media(max-width:760px){.recruitment-banner .wrap{align-items:flex-start;flex-direction:column;gap:14px}.recruitment-banner h2{font-size:1.1rem}.recruitment-banner p{font-size:.88rem}}
.vacancy-hero{padding:32px 0 58px;background:var(--cream)}
.vacancy-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;padding:26px 0 40px}
.vacancy-status{display:inline-flex;align-items:center;gap:9px;margin:0 0 28px;padding:8px 13px;border:1px solid #c8d8cb;border-radius:30px;background:#edf4ee;color:#34543e;font-size:.85rem;font-weight:700}
.vacancy-status span{width:8px;height:8px;flex-shrink:0;border-radius:50%;background:#52705e}
.vacancy-hero h1{font-size:clamp(2.8rem,4.6vw,4.7rem);margin-bottom:22px}
.vacancy-role{font-size:1.2rem;font-weight:700;margin:0 0 16px;color:var(--orange-dark)}
.vacancy-photo{margin:0;overflow:hidden;border-radius:120px 24px 24px 24px;background:var(--charcoal);box-shadow:var(--shadow)}
.vacancy-photo img{width:100%;aspect-ratio:1/1;object-fit:cover}
.vacancy-photo figcaption{padding:20px 25px;color:#fff;font-size:.95rem;line-height:1.5}
.vacancy-facts{display:grid;grid-template-columns:repeat(4,1fr);margin:0;border:1px solid var(--line);border-radius:20px;background:#fff;overflow:hidden}
.vacancy-facts>div{padding:26px 22px}
.vacancy-facts>div+div{border-left:1px solid var(--line)}
.vacancy-facts dt{margin-bottom:12px;color:var(--orange-dark);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em}
.vacancy-facts dd{margin:0;font:500 1.6rem/1.2 var(--serif)}
.vacancy-facts dd span{display:block;margin-top:10px;font:400 .88rem/1.55 var(--sans);color:var(--muted)}
.vacancy-two-column{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}
.vacancy-two-column p:first-child{margin-top:0}
.vacancy-skill-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.vacancy-card{padding:28px 24px;border:1px solid var(--line);border-radius:20px;background:#fff}
.vacancy-card-number{display:block;margin-bottom:25px;color:var(--orange-dark);font:500 1.8rem/1 var(--serif)}
.vacancy-card h3{font-size:1.5rem;line-height:1.2}
.vacancy-card p{margin-bottom:0;color:var(--muted)}
.vacancy-requirements{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
.vacancy-desirable{margin-top:28px;padding:25px;border-left:4px solid var(--orange-dark);border-radius:0 16px 16px 0;background:var(--cream)}
.vacancy-desirable p{margin-bottom:0}
.vacancy-essential{padding:32px;border:1px solid var(--line);border-radius:20px}
.vacancy-essential .tick-list{margin-bottom:0}
.vacancy-benefits{background:var(--charcoal);color:#fff}
.vacancy-benefits .eyebrow{color:#ffb779}
.vacancy-benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:35px}
.vacancy-benefit-grid article{padding-top:20px;border-top:3px solid var(--orange)}
.vacancy-benefit-grid h3{font-size:1.4rem;line-height:1.2}
.vacancy-benefit-grid p{color:#e0ddd9;margin-bottom:0}
.vacancy-apply{display:grid;grid-template-columns:1.2fr .8fr;gap:64px;align-items:start}
.vacancy-email{overflow-wrap:anywhere;text-decoration-color:var(--orange-dark);text-underline-offset:4px}
.vacancy-application-checklist{padding:30px;border-radius:20px;background:var(--cream);border-top:5px solid var(--orange-dark)}
.vacancy-deadline{margin-top:25px;padding:20px 24px;border:1px solid #e5c6aa;border-radius:16px;background:var(--orange-soft)}
.vacancy-process{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;list-style:none;counter-reset:recruitment-step;padding:0;margin:32px 0}
.vacancy-process li{counter-increment:recruitment-step;padding:26px;border-radius:18px;background:#fff;border:1px solid var(--line)}
.vacancy-process li:before{content:counter(recruitment-step,decimal-leading-zero);display:block;color:var(--orange-dark);font-weight:800;margin-bottom:18px}
#apply{scroll-margin-top:150px}
@media(max-width:1050px){.vacancy-hero-grid{gap:32px}.vacancy-facts{grid-template-columns:repeat(2,1fr)}.vacancy-facts>div:nth-child(3){border-left:0}.vacancy-facts>div:nth-child(n+3){border-top:1px solid var(--line)}.vacancy-skill-grid,.vacancy-benefit-grid{grid-template-columns:repeat(2,1fr)}.vacancy-two-column,.vacancy-requirements,.vacancy-apply{gap:35px}}
@media(max-width:760px){.vacancy-hero-grid,.vacancy-two-column,.vacancy-requirements,.vacancy-apply{grid-template-columns:1fr}.vacancy-hero-grid{padding-top:12px}.vacancy-photo{border-top-left-radius:70px}.vacancy-photo img{aspect-ratio:4/3}.vacancy-process{grid-template-columns:1fr;gap:16px}.vacancy-status{font-size:.77rem}.vacancy-hero h1{font-size:clamp(2.6rem,8vw,3.8rem)}.vacancy-two-column{gap:12px}.vacancy-essential{padding:24px}.vacancy-benefit-grid{gap:24px}}
@media(max-width:480px){.vacancy-facts>div{padding:20px 16px}.vacancy-facts dd{font-size:1.3rem}.vacancy-skill-grid,.vacancy-benefit-grid{grid-template-columns:1fr}.vacancy-hero{padding-bottom:35px}.vacancy-application-checklist{padding:24px}.vacancy-deadline{padding:18px}.vacancy-status{align-items:flex-start;line-height:1.5}.vacancy-status span{margin-top:5px}}
