/* Unicorn careers: architectural imagery, evergreen surfaces and warm brass. */
.unicorn-career { --career-pine:#152820; --career-surface:#20352b; --career-cream:#f5f1df; --career-sand:#d7c89c; --career-muted:#bdc8bf; display:flow-root; background:var(--career-pine); color:var(--career-cream); font-family:var(--font-workSans); line-height:1.65; }
.unicorn-career * { box-sizing:border-box; }
.career-shell { width:min(100%,1280px); margin-inline:auto; padding-inline:clamp(24px,5vw,72px); }
.career-hero { padding:152px 0 72px; overflow:hidden; }
.career-eyebrow { font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--career-sand); margin:0 0 20px; }
.unicorn-career h1,.unicorn-career h2,.career-story h3 { font-family:var(--font-editorialOld); font-weight:400; letter-spacing:-.025em; line-height:1.04; text-wrap:balance; }
.unicorn-career h1 { font-size:clamp(52px,5.4vw,78px); margin:0 0 24px; }
.unicorn-career h1 em { color:var(--career-sand); }
.unicorn-career h2 { font-size:clamp(38px,4vw,56px); margin:0 0 20px; }
.career-lead,.career-intro { font-size:16px; color:var(--career-muted); max-width:480px; margin:0 0 28px; }
.career-hero-image { margin:0; position:relative; padding:0 0 18px 18px; }
.career-hero-image::before { content:""; position:absolute; inset:18px 18px 36px 0; border:1px solid #7b8068; border-radius:4px; }
.career-hero-image img { position:relative; display:block; width:100%; height:380px; object-fit:cover; object-position:center; border-radius:4px 64px 4px 4px; }
.career-hero-image figcaption { margin-top:16px; font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--career-muted); }
.career-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:20px; }
.career-button { display:inline-flex; align-items:center; justify-content:space-between; gap:20px; min-height:48px; padding:13px 22px; background:var(--career-sand); color:var(--career-pine); border:1px solid var(--career-sand); border-radius:999px; text-decoration:none; text-transform:uppercase; font-size:11px; font-weight:600; letter-spacing:.06em; line-height:1.4; transition:background-color .2s,color .2s; }
.career-button:hover { background:var(--career-cream); color:var(--career-pine); }
.career-button span { font-size:19px; }
.career-button-outline { background:transparent; color:var(--career-sand); }
.career-text-link,.career-enquire-link { color:var(--career-sand); text-decoration:none; font-size:13px; border-bottom:1px solid #6b7560; padding-bottom:4px; }
.career-text-link:hover,.career-enquire-link:hover { color:var(--career-cream); border-color:currentColor; }
.unicorn-career a:focus-visible,.career-department summary:focus-visible { outline:2px solid var(--career-sand); outline-offset:5px; }
.career-section { padding-block:80px; scroll-margin-top:110px; }
.career-work { border-top:1px solid #354a3d; }
.career-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:32px; margin-bottom:36px; }
.career-section-heading .career-intro { margin-bottom:0; }
.career-section-heading > .career-button { flex-shrink:0; margin-bottom:8px; }
.career-department-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; align-items:start; }
.career-department { background:var(--career-surface); border:1px solid #3d5042; border-radius:4px 24px 4px 4px; overflow:hidden; }
.career-discipline-icon { display:grid; place-items:center; width:44px; height:44px; border:1px solid #7c8265; color:var(--career-sand); border-radius:50%; margin-bottom:26px; }
.career-discipline-icon svg { width:23px; height:23px; }
.career-department-heading > span { display:block; font-size:17px; font-weight:500; line-height:1.3; margin-bottom:12px; }
.career-department-heading small { display:block; font-size:13px; line-height:1.6; color:var(--career-muted); }
.career-expand { position:absolute; top:30px; right:22px; color:var(--career-sand); font-size:22px; line-height:1; }
.career-department:hover { border-color:#a2a384; }
.career-caption { font-size:12px; color:var(--career-muted); margin:24px 0 0; }
.career-culture { background:#1b2f25; }
.career-story { display:grid; grid-template-columns:1fr 1.15fr; align-items:center; gap:clamp(32px,5vw,72px); margin-top:48px; }
.career-story:nth-of-type(even) { grid-template-columns:1.15fr 1fr; }
.career-story:nth-of-type(even) figure { order:2; }
.career-story figure { margin:0; }
.career-story img { width:100%; height:300px; display:block; object-fit:cover; border-radius:4px 48px 4px 4px; }
.career-story figcaption { color:var(--career-muted); font-size:11px; margin-top:12px; }
.career-story-copy { padding-block:24px; }
.career-story h3 { font-size:clamp(32px,3vw,44px); margin:0 0 24px; }
.career-story-copy > p:last-child { font-size:16px; color:var(--career-muted); max-width:460px; margin:0; }
.career-contact { background:var(--career-cream); color:var(--career-pine); border-top:1px solid #ded9c7; }
.career-contact .career-eyebrow,.career-contact .career-intro { color:var(--career-pine); }
.career-contact-note { font-size:14px; color:#415448; margin:0 0 24px; }
.career-contact .career-button { background:var(--career-pine); color:var(--career-cream); border-color:var(--career-pine); }
.career-contact .career-button:hover { background:#304b3c; }
.career-contact a:focus-visible { outline-color:var(--career-pine); }
.career-phone { display:block; width:fit-content; color:var(--career-pine); font-size:13px; text-underline-offset:5px; margin-top:20px; }
.career-skip { position:fixed; top:8px; left:8px; z-index:9999; padding:12px 20px; background:#f5f1df; color:#152820; transform:translateY(-150%); }
.career-skip:focus { transform:translateY(0); }
@media(max-width:991px) { .career-hero { padding-top:128px; } .career-hero-image img { height:340px; } .career-section-heading { align-items:flex-start; flex-direction:column; } .career-story,.career-story:nth-of-type(even) { gap:32px; grid-template-columns:1fr 1fr; } }
@media(prefers-reduced-motion:reduce) { .career-button { transition:none; } }

.career-department-link { position:relative; display:block; padding:26px 22px; min-height:270px; color:var(--career-cream); text-decoration:none; transition:border-color .2s,background-color .2s; }
.career-department-link:hover { color:var(--career-cream); background:#294334; }
.career-category-hero { padding:140px 0 56px; border-bottom:1px solid #354a3d; background:#1b2f25; }
.career-category-hero .career-eyebrow { margin-top:40px; }
.career-category-hero h1 { max-width:850px; font-size:clamp(42px,5vw,72px); }
.career-category-hero .career-intro { max-width:650px; margin-bottom:0; }
.career-category-layout { display:grid; grid-template-columns:1.7fr 1fr; gap:64px; align-items:start; }
.career-empty { border:1px solid #4b5c4c; background:var(--career-surface); border-radius:4px 28px 4px 4px; padding:32px; }
.career-empty h3 { font:500 20px/1.4 var(--font-workSans); margin:0 0 16px; }
.career-empty p,.career-category-about > p:not(.career-eyebrow) { color:var(--career-muted); font-size:16px; margin:0 0 24px; }
.career-category-about { border-left:1px solid #4b5c4c; padding-left:32px; }
.career-category-about h2 { font-size:34px; }
@media(max-width:767px) {
 .career-category-layout { grid-template-columns:1fr; gap:40px; }
 .career-category-about { border-left:0; border-top:1px solid #4b5c4c; padding:32px 0 0; }
 .career-empty { padding:24px; }
 .career-department-link { min-height:0; }
}
@media(prefers-reduced-motion:reduce) { .career-department-link { transition:none; } }

/* Vacancy card; populate from confirmed recruitment details. */
.career-job-card { background:var(--career-surface); border:1px solid #85866a; border-radius:4px 28px 4px 4px; padding:28px; }
.career-job-card + .career-job-card { margin-top:20px; }
.career-job-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; }
.career-job-heading h3 { font:500 23px/1.4 var(--font-workSans); margin:0; }
.career-job-heading h3 a { color:var(--career-cream); text-decoration:none; }
.career-job-heading h3 a:hover { text-decoration:underline; text-underline-offset:5px; }
.career-job-type { flex-shrink:0; background:var(--career-sand); color:var(--career-pine); padding:8px 16px; border-radius:999px; font-size:12px; font-weight:600; }
.career-job-facts { display:flex; flex-wrap:wrap; gap:12px 24px; margin:24px 0; }
.career-job-facts > div { display:flex; flex-wrap:wrap; gap:6px; font-size:13px; }
.career-job-facts dt { color:var(--career-sand); font-weight:500; }
.career-job-facts dt::after { content: ":"; }
.career-job-facts dd { color:var(--career-muted); margin:0; overflow-wrap:anywhere; }
@media(max-width:600px) {
 .career-job-card { padding:24px; }
 .career-job-heading { flex-direction:column; gap:16px; }
 .career-job-heading h3 { font-size:20px; }
 .career-job-facts { flex-direction:column; }
}

/* Department browsing and the application flow. */
.career-notice { border-left:2px solid #d7c89c; background:#263a30; color:#e6dfc8; padding:14px 18px; font-size:13px; margin:0 0 28px; line-height:1.6; }
.career-count { margin-top:20px; }
.career-count.has-openings { color:#e7d69c; }
.career-job-link { display:block; color:var(--career-cream); text-decoration:none; transition:background .2s,border-color .2s; }
.career-job-link:hover { color:var(--career-cream); background:#294334; border-color:#d7c89c; }
.career-detail-grid { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:32px; align-items:start; }
.career-job-content,.career-job-summary { background:var(--career-surface); border:1px solid #4b5c4c; border-radius:4px 28px 4px 4px; padding:32px; }
.career-job-content h2 { font:500 22px/1.4 var(--font-workSans); margin:32px 0 16px; }
.career-job-content h2:first-of-type { margin-top:0; }
.career-job-content p,.career-job-content li { color:var(--career-muted); font-size:16px; }
.career-job-content ul { padding-left:20px; list-style:disc; }
.career-job-content li { margin-bottom:12px; }
.career-job-content li::marker { color:var(--career-sand); }
.career-job-summary { position:sticky; top:115px; }
.career-job-summary h2 { font-size:32px; }
.career-job-summary dl > div { padding:16px 0; border-bottom:1px solid #4b5c4c; }
.career-job-summary dt { font-size:11px; text-transform:uppercase; letter-spacing:.1em; color:var(--career-muted); }
.career-job-summary dd { margin:6px 0 0; font-size:15px; }
.career-job-summary .career-button { width:100%; margin-top:16px; }
.career-modal { --career-sand:#d7c89c; --career-pine:#152820; --career-cream:#f5f1df; width:min(760px,calc(100% - 32px)); max-height:calc(100dvh - 40px); margin:auto; padding:32px; border:1px solid #76816b; border-radius:6px; background:#f5f1df; color:#152820; font:15px/1.6 var(--font-workSans); overflow-y:auto; }
.career-modal::backdrop { background:rgba(9,20,15,.8); }
.career-modal-open { overflow:hidden!important; }
.career-modal-head { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; }
.career-modal-head h2 { font:400 38px/1.15 var(--font-editorialOld); margin:0 0 18px; }
.career-modal .career-eyebrow { color:#556344; margin-bottom:10px; }
.career-modal-close { flex-shrink:0; width:44px; height:44px; border:1px solid #a5ae9e; background:transparent; border-radius:50%; font-size:28px; line-height:1; }
.career-modal-close:hover { background:#e1e5d7; }
.career-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.career-form-grid label { display:block; font-size:13px; font-weight:500; }
.career-form-grid input,.career-form-grid select,.career-form-grid textarea { display:block; width:100%; min-width:0; margin-top:7px; border:1px solid #a2afa1; border-radius:3px; padding:11px 12px; background:#fffef7; color:#152820; font:400 15px/1.5 var(--font-workSans); }
.career-form-grid select { height:126px; }
.career-form-grid option { padding:4px; }
.career-form-grid small { display:block; font-size:11px; font-weight:400; margin-top:6px; }
.career-full { grid-column:1/-1; }
.career-modal :focus-visible { outline:2px solid #826429; outline-offset:3px; }
#career-form-response:not(:empty) { padding:14px; border:1px solid #7a8967; margin:20px 0; }
@media(max-width:900px) { .career-detail-grid { grid-template-columns:1fr; } .career-job-summary { position:static; } }
@media(max-width:600px) { .career-form-grid { grid-template-columns:1fr; } .career-modal { padding:22px; } .career-modal-head h2 { font-size:30px; } .career-job-content,.career-job-summary { padding:24px; } }
@media(max-width:1100px) { .career-department-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .career-section { padding-block:56px; } .career-hero { padding-bottom:48px; } .career-hero-image img { height:280px; } .career-department-grid { grid-template-columns:1fr; gap:12px; } .career-discipline-icon { margin-bottom:18px; } .career-story,.career-story:nth-of-type(even) { grid-template-columns:1fr; gap:12px; margin-top:40px; } .career-story:nth-of-type(even) figure { order:0; } .career-story img { height:260px; } .career-story-copy { padding-top:16px; } }

.career-notice a { color:inherit; text-decoration:underline; overflow-wrap:anywhere; }
.career-contact-note a { color:inherit; overflow-wrap:anywhere; text-underline-offset:3px; }

.career-result { width:min(460px,calc(100% - 32px)); text-align:center; padding:36px 28px; }
.career-result-icon { display:grid; place-items:center; width:64px; height:64px; margin:0 auto 20px; border:2px solid #3d7050; border-radius:50%; color:#3d7050; font-size:36px; }
.career-result h2 { font:400 30px/1.2 var(--font-editorialOld); margin-bottom:16px; }
.career-result p { white-space:pre-line; overflow-wrap:anywhere; margin-bottom:24px; }
.career-result-error .career-result-icon { border-color:#a33e36; color:#a33e36; }
.career-button:disabled { opacity:.65; cursor:wait; }
