/*
Theme Name: HSE Careers
Author: Grupa HSE
Description: Premium, responsive Africa-first HSE recruitment discovery theme. Designed for HSE Job Aggregator.
Version: 2.1.0
Requires at least: 6.2
Requires PHP: 7.4
License: GPLv2 or later
Text Domain: hse-careers
*/
:root{--navy:#09263d;--deep:#071e31;--blue:#115581;--green:#14b98d;--lime:#ceff84;--ink:#173147;--slate:#5b6e7c;--line:#dfe8ee;--bg:#f5f8fb;--white:#fff;--shadow:0 14px 40px rgba(9,38,61,.065)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.58;font-size:16px}a{color:#13577b}a:hover{color:#09805e}button,input,select{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #efae24;outline-offset:3px}.container{width:min(1180px,calc(100% - 40px));margin-inline:auto}.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden;white-space:nowrap}.screen-reader-text:focus{clip:auto;width:auto;height:auto;position:fixed;z-index:999;background:#fff;padding:12px;top:10px;left:10px}.site-header{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:10}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:88px}.brand{display:flex;align-items:center;gap:11px;color:var(--navy);text-decoration:none;white-space:nowrap}.brand-mark{display:grid;place-items:center;background:var(--navy);border-radius:13px;color:#fff;font-size:27px;font-weight:950;width:47px;height:47px;letter-spacing:-3px}.brand-mark span,.graphic-symbol span{color:#62ddbb}.brand-word{font-weight:900;font-size:20px;line-height:1;letter-spacing:-.5px}.brand-word b{color:#14977a}.brand-word small{display:block;margin-top:8px;font-size:8.5px;letter-spacing:2px;font-weight:800;color:#637988}.menu{display:flex;align-items:center;gap:32px;list-style:none;margin:0;padding:0}.menu li{margin:0}.menu a{text-decoration:none;font-size:14px;font-weight:700;color:#455d6d}.menu a:hover{color:#078369}.nav-cta,.btn-primary,.search-submit{background:#109477;color:white!important;display:inline-flex;justify-content:center;align-items:center;gap:12px;padding:13px 20px;border-radius:11px;font-weight:800;font-size:14px;text-decoration:none;border:0;transition:transform .2s,background .2s}.nav-cta:hover,.btn-primary:hover,.search-submit:hover{background:#08785f;transform:translateY(-1px)}.mobile-nav{display:none}.homepage-hero{background:radial-gradient(circle at 84% 17%,#205a72 0,transparent 34%),linear-gradient(115deg,#061b2f 15%,#0c3b53 100%);color:#fff;padding:72px 0 0;position:relative;overflow:hidden}.homepage-hero:before{content:"";position:absolute;width:500px;height:500px;background:radial-gradient(circle,#1b95783d,transparent 70%);left:-280px;top:-190px}.hero-inner{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:30px;align-items:center;position:relative;min-height:352px}.hero-copy{padding-bottom:38px}.eyebrow,.section-kicker{font-size:11px;font-weight:900;letter-spacing:2.4px;text-transform:uppercase;color:#27b892}.eyebrow{display:flex;align-items:center;gap:10px;color:#8ef0c0}.live-dot{height:8px;width:8px;border-radius:100%;display:inline-block;background:#50e3a1;box-shadow:0 0 0 5px #50e3a127}.hero-copy h1{font-size:clamp(42px,5.3vw,73px);letter-spacing:-3px;line-height:1.09;margin:20px 0 20px;font-weight:900}.hero-copy h1 span{color:var(--lime)}.hero-lede{color:#c3d5df;font-size:18px;max-width:575px;margin-bottom:24px}.hero-trust{display:flex;gap:20px;flex-wrap:wrap;color:#c9e5dc;font-size:12px;font-weight:700}.hero-graphic{height:350px;position:relative;display:grid;place-items:center;opacity:.96}.graphic-ring{border:1px solid #ffffff26;position:absolute;inset:2% 12%;border-radius:50%;transform:rotate(-20deg)}.ring-two{inset:14% 24%;border-color:#39d6b43b;transform:rotate(20deg)}.graphic-core{position:relative;z-index:2;width:220px;height:220px;border:1px solid #ffffff40;background:linear-gradient(140deg,#ffffff25,#ffffff06);backdrop-filter:blur(8px);border-radius:32px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;box-shadow:0 25px 75px #00142470;transform:rotate(-6deg)}.graphic-symbol{font-size:63px;line-height:1;font-weight:950;letter-spacing:-8px;color:#fff}.graphic-core strong{font-size:14px}.graphic-core small{color:#a9d7d3;font-size:11px}.graphic-chip{position:absolute;z-index:3;background:#fff;color:#13516c;padding:11px 15px;border-radius:13px;box-shadow:0 15px 45px #00142570;font-size:12px;font-weight:900}.top-chip{top:40px;right:15px;transform:rotate(6deg)}.bottom-chip{bottom:29px;left:0;transform:rotate(-6deg)}.hero-search{position:relative;transform:translateY(35px);z-index:4}.search-panel{background:#fff;color:var(--ink);border:1px solid #e8eff3;box-shadow:0 25px 60px #001b2824;border-radius:20px;padding:25px 28px}.search-panel-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px;font-weight:900}.search-panel-count{font-size:12px;color:#607684;background:#eaf7f1;padding:5px 10px;border-radius:30px}.job-search-form{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(130px,.85fr) minmax(145px,.9fr) minmax(135px,.8fr) auto;gap:10px;align-items:end}.search-field{min-width:0}.search-field label{display:block;color:#617481;font-size:11px;font-weight:900;margin-bottom:6px}.search-field input,.search-field select{width:100%;min-height:48px;border:1px solid #dbe5ea;border-radius:9px;background:#f8fafb;padding:0 11px;color:#244254;font-size:13px}.search-field input::placeholder{color:#98a5ad}.search-submit{min-height:48px;white-space:nowrap;padding:11px 17px}.highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:92px 0 42px}.highlights>div{display:grid;grid-template-columns:49px 1fr;gap:0 14px;align-items:center}.highlight-icon{grid-row:span 2;background:#e2f7ed;color:#079579;border-radius:15px;font-size:23px;height:49px;width:49px;display:grid;place-items:center}.highlights strong{font-size:14px}.highlights p{font-size:12px;color:var(--slate);margin:1px 0 0}.featured-section,.category-section{padding:34px 0 60px}.section-heading{display:flex;justify-content:space-between;gap:22px;align-items:end;margin-bottom:26px}.section-heading h2{font-size:clamp(26px,3vw,37px);line-height:1.2;letter-spacing:-1.3px;color:var(--navy);margin:5px 0 8px}.section-heading p:not(.section-kicker){font-size:14px;color:var(--slate);margin:0}.section-kicker{margin:0}.section-link{font-size:13px;font-weight:900;text-decoration:none;white-space:nowrap}.career-grid,.hse-job-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.career-card,.hse-job-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:23px;box-shadow:var(--shadow);display:flex;flex-direction:column;min-height:278px;transition:box-shadow .2s,transform .2s}.career-card:hover,.hse-job-card:hover{box-shadow:0 20px 50px #09263d19;transform:translateY(-3px)}.career-card-head{display:flex;gap:10px;align-items:center}.career-icon{width:40px;height:40px;flex:0 0 40px;background:#e7f5f1;color:#128d72;border-radius:12px;display:grid;place-items:center;font-weight:900;font-size:18px}.career-card-company{display:flex;flex-direction:column;min-width:0;flex:1}.career-card-company>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:800;font-size:12px}.career-card-company small{color:var(--slate);font-size:10px}.career-region{flex:0 0 auto;background:#eaf8f3;color:#128367;border-radius:7px;padding:5px 7px;font-size:10px;font-weight:900}.career-card h3,.hse-job-card h3{font-size:19px;line-height:1.32;letter-spacing:-.4px;margin:22px 0 8px}.career-card h3 a,.hse-job-card h3 a{text-decoration:none;color:var(--navy)}.career-card h3 a:hover,.hse-job-card h3 a:hover{color:#078669}.career-location,.job-location{font-size:12px;color:#667985;margin:0 0 9px}.career-description{font-size:12px;color:#6b7c86;margin:0 0 13px;flex:1}.career-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}.career-tags span{font-size:10px;background:#f0f5f7;color:#566a77;border-radius:6px;padding:4px 8px}.career-card-foot{display:flex;justify-content:space-between;align-items:center;gap:9px;border-top:1px solid #ebeff1;margin-top:18px;padding-top:14px;font-size:11px;color:#71838f}.career-card-foot strong{color:#344e5b}.career-card-foot a{font-weight:900;white-space:nowrap;text-decoration:none;font-size:12px}.hse-job-card{min-height:240px}.job-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.job-pill{background:#e4f8ee;color:#0c906b;border-radius:100px;padding:6px 11px;font-weight:900;font-size:10px;text-transform:uppercase;letter-spacing:.3px}.job-source{font-size:11px;color:#72838e}.job-company{font-size:12px;font-weight:700;color:#58707f;margin:0 0 5px}.job-date{font-size:11px;color:#637987;margin:auto 0 12px}.job-card-link{border-top:1px solid var(--line);padding-top:13px;display:flex;justify-content:space-between;text-decoration:none;font-weight:900;font-size:12px}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.category-card{display:flex;flex-direction:column;gap:21px;text-decoration:none;border:1px solid var(--line);border-radius:16px;background:#fff;padding:24px;box-shadow:var(--shadow);color:var(--navy)}.category-symbol{background:#ebf7f2;border-radius:13px;color:#07886c;width:45px;height:45px;display:grid;place-items:center;font-size:26px}.category-card strong{font-size:17px}.category-card>span:last-child{color:#0d8d70;font-size:12px;font-weight:900}.footer-cta{background:#0b3650;color:#fff;padding:56px 0}.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.cta-inner h2{font-size:36px;letter-spacing:-1px;margin:5px 0}.cta-inner p:not(.section-kicker){max-width:630px;color:#b4d0df;font-size:14px}.btn-light{background:var(--lime);color:var(--navy);font-weight:900;padding:16px 25px;border-radius:11px;text-decoration:none;white-space:nowrap}.site-footer{background:#061a29;color:#a8c0cf;padding:55px 0 0}.footer-grid{display:grid;grid-template-columns:1fr .65fr 1.1fr;gap:65px;padding-bottom:48px}.footer-brand{font-size:23px;letter-spacing:-.7px;font-weight:950;text-decoration:none;color:#fff}.footer-brand span{color:var(--green)}.footer-grid p{font-size:12px;line-height:1.85}.footer-grid h2{font-size:13px;color:#fff;margin:4px 0 20px}.footer-grid a:not(.footer-brand){display:block;color:#a8c0cf;text-decoration:none;font-size:12px;margin:0 0 12px}.footer-bottom{border-top:1px solid #ffffff17;padding:21px 0;display:flex;justify-content:space-between;gap:15px;font-size:11px;color:#7fa0b1}.archive-hero{background:linear-gradient(120deg,#08243a,#0e4560);color:#fff;padding:42px 0 90px}.archive-hero h1{font-size:clamp(34px,4vw,52px);letter-spacing:-2px;margin:8px 0}.archive-hero p:last-child{color:#bad2dc;margin:0;font-size:14px}.archive-search{margin-top:-55px;position:relative}.archive-layout{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:25px;padding:45px 0 70px}.results-head{display:flex;justify-content:space-between;align-items:end;gap:10px;margin-bottom:22px}.results-head h2{font-size:25px;margin:4px 0;color:var(--navy);letter-spacing:-.7px}.reset-link{font-size:12px;text-decoration:none;font-weight:800;white-space:nowrap}.archive-layout .career-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-aside{display:flex;flex-direction:column;gap:15px}.aside-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:21px}.aside-icon{width:37px;height:37px;display:grid;place-items:center;background:#e4f6ed;color:#09896c;border-radius:10px;font-weight:900;font-size:24px}.aside-card h3{font-size:15px;color:var(--navy);margin:13px 0 8px}.aside-card p{color:#607686;font-size:12px;line-height:1.75}.aside-blue{background:#0d3f59;color:#fff;border:0}.aside-blue h3{color:#fff}.aside-blue p{color:#c1d7e4}.aside-blue a{color:#bdff8c;font-weight:900;text-decoration:none;font-size:12px}.job-pagination{margin-top:25px}.job-pagination .page-numbers{display:inline-block;padding:8px 12px;margin:3px;border-radius:7px;background:#fff;border:1px solid var(--line);text-decoration:none}.job-pagination .current{background:#0c8f72;color:#fff}.single-job-main{padding:43px 0 80px}.single-layout{display:grid;grid-template-columns:minmax(0,1fr) 315px;gap:24px}.back-link{font-size:12px;text-decoration:none;font-weight:800}.detail-header,.detail-body,.detail-info,.source-credit{background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px;margin-top:19px;box-shadow:var(--shadow)}.detail-header h1{font-size:clamp(29px,3.3vw,44px);line-height:1.15;letter-spacing:-1.6px;color:var(--navy);margin:18px 0}.detail-company{color:#617482;font-size:14px}.detail-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:23px}.btn-outline{display:inline-flex;align-items:center;color:#173b50;border:1px solid #cadce4;border-radius:11px;padding:12px 17px;font-size:13px;font-weight:800;text-decoration:none}.detail-body h2,.detail-info h2{font-size:20px;color:var(--navy);margin:0 0 16px}.detail-body{line-height:1.8}.job-summary{white-space:normal;color:#4e6676}.accuracy-notice{margin-top:24px;padding:20px;border-left:4px solid #139777;background:#eef9f3;border-radius:8px;font-size:13px}.accuracy-notice p{margin:7px 0 0}.detail-sidebar .detail-info{margin-top:0}.detail-info dl{margin:0 0 20px}.detail-info dt{color:#718593;font-size:11px;margin-top:15px}.detail-info dd{margin:1px 0;font-size:13px;font-weight:800;color:var(--navy)}.full-width{width:100%}.source-credit{font-size:12px;line-height:1.75}.source-credit p{color:#607585}.source-credit a{font-weight:800;overflow-wrap:anywhere}.basic-page{padding:55px 0 90px;min-height:380px}.basic-card,.empty-state{background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px;margin:18px 0}.basic-card h1,.basic-card h2{color:var(--navy)}.empty-state{grid-column:1/-1;text-align:center;padding:65px 25px}.empty-state h3{font-size:25px;margin:0}.empty-state p{color:var(--slate)}.no-jobs{grid-column:1/-1;background:#fff;border-radius:15px;padding:30px}.basic-card img{max-width:100%;height:auto}
@media(max-width:1120px){.job-search-form{grid-template-columns:repeat(2,minmax(0,1fr))}.search-submit{grid-column:span 2}.archive-layout{grid-template-columns:minmax(0,1fr) 230px}.career-grid,.hse-job-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-layout .career-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.desktop-nav,.nav-cta{display:none}.mobile-nav{display:block;position:relative}.mobile-nav summary{list-style:none;cursor:pointer;font-size:16px;font-weight:800}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav nav{position:absolute;right:0;top:35px;min-width:180px;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);padding:16px;border-radius:12px;box-shadow:var(--shadow)}.mobile-nav nav a{padding:10px;text-decoration:none;font-weight:800}.hero-inner{grid-template-columns:1fr}.hero-graphic{display:none}.homepage-hero{padding-top:50px}.hero-copy{padding-bottom:15px}.hero-copy h1{font-size:clamp(42px,8vw,62px)}.highlights{gap:12px}.highlights>div{grid-template-columns:1fr;text-align:center;justify-items:center;gap:8px}.highlight-icon{grid-row:auto}.archive-layout,.single-layout{grid-template-columns:1fr}.archive-aside{display:grid;grid-template-columns:repeat(3,1fr)}.footer-grid{gap:25px}.cta-inner{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.container{width:min(100% - 28px,1180px)}.header-inner{min-height:72px}.brand-mark{width:43px;height:43px}.brand-word{font-size:18px}.brand-word small{font-size:7px}.homepage-hero{padding-top:41px}.hero-copy h1{font-size:43px;letter-spacing:-2px}.hero-lede{font-size:15px}.hero-trust{gap:9px 17px}.search-panel{padding:18px;border-radius:15px}.search-panel-title{align-items:flex-start;flex-direction:column;gap:6px}.job-search-form{grid-template-columns:1fr}.search-submit{grid-column:span 1}.highlights{grid-template-columns:1fr;padding:80px 0 12px;gap:20px}.highlights>div{grid-template-columns:46px 1fr;text-align:left;justify-items:stretch;gap:0 12px}.highlights .highlight-icon{grid-row:span 2}.featured-section,.category-section{padding:28px 0}.section-heading{align-items:flex-start;flex-direction:column}.career-grid,.hse-job-grid,.archive-layout .career-grid,.category-grid,.archive-aside,.footer-grid{grid-template-columns:1fr}.career-card{min-height:260px}.footer-cta{padding:43px 0}.cta-inner h2{font-size:29px}.footer-grid{gap:22px}.footer-bottom{flex-direction:column}.archive-hero{padding:35px 0 95px}.archive-layout{padding-top:38px}.results-head{align-items:flex-start}.single-job-main{padding-top:24px}.detail-header,.detail-body,.detail-info,.source-credit{padding:22px}.detail-header h1{font-size:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* ASHEPA branding: original artwork is reproduced without cropping or recolouring. */
.brand{gap:14px;white-space:normal;min-width:0}
.brand-logo{width:64px;height:64px;object-fit:contain;flex:0 0 64px;display:block}
.brand-word{display:block;font-size:20px;white-space:nowrap}
.brand-word b{color:#14977a}
.brand-word small{font-size:8px;letter-spacing:1.4px}
.header-inner{min-height:94px}
.graphic-logo{display:block;width:137px;height:137px;object-fit:contain}
.graphic-core{transform:rotate(0);gap:5px}
.footer-brand{display:inline-flex;align-items:center;gap:15px;font-size:22px;line-height:1.2;letter-spacing:-.5px}
.footer-brand-logo{display:block;width:74px;height:74px;object-fit:contain;flex:0 0 74px}
.footer-brand strong{color:#62ddbb}
@media(max-width:600px){
 .header-inner{min-height:78px}
 .brand{gap:9px}
 .brand-logo{width:52px;height:52px;flex-basis:52px}
 .brand-word{font-size:16px;letter-spacing:-.3px}
 .brand-word small{font-size:6.5px;letter-spacing:.8px;line-height:1.35}
 .footer-brand-logo{width:64px;height:64px;flex-basis:64px}
 .footer-brand{font-size:20px}
}
@media(max-width:360px){.brand-word{font-size:14px}.brand-word small{font-size:5.8px;letter-spacing:.5px}.brand-logo{width:46px;height:46px;flex-basis:46px}}
