/* OD Africa — shared brand surfaces, public discovery and application UI. */
:root{--grey-50:#f7f9fb;--grey-100:#f0f4f7;--grey-200:#dfe6ee;--grey-600:#5c6b7d;--grey-800:#293b50;--orange-dark:#b44b07;--teal-dark:#007a76;--radius:8px;--radius-lg:14px;--container:1280px;--shadow:0 8px 26px rgba(5,27,60,.08);--shadow-lg:0 20px 50px rgba(5,27,60,.13)}
::selection{background:#00b3ad;color:#051b3c}html{scrollbar-color:#98aab9 #f0f4f7;scroll-padding-top:100px}body{letter-spacing:-.01em}input,textarea{caret-color:var(--teal-dark)}button,input,select,textarea{font-family:var(--font-body)}:focus-visible{outline:3px solid var(--teal-dark);outline-offset:4px}h1,h2,h3{letter-spacing:-.03em;text-wrap:balance}p{text-wrap:pretty}a{text-underline-offset:4px}a:not(.btn){color:var(--teal-dark)}.public-site{background:#fff}.public-site main{min-height:50vh}.container{padding-inline:32px}.utility-bar{background:#f1f5f7;border-bottom:1px solid var(--grey-200);font-size:11px;color:#435568}.utility-inner{min-height:35px;display:flex;justify-content:space-between;align-items:center;gap:16px}.utility-inner nav{display:flex;gap:24px}.utility-inner a{color:#435568}.site-header{box-shadow:none;border-bottom:1px solid #ffffff1f}.nav-inner{height:82px}.brand-mark{flex-shrink:0;object-fit:contain}.nav-logo{gap:10px}.nav-logo-text,.nav-logo-text span{color:white;font-size:23px;font-weight:600;letter-spacing:-.04em}.nav-links{gap:14px}.nav-links a{font-size:12px;padding:12px 9px;border-radius:5px;color:#d8e4f1}.nav-links a:hover,.nav-links a.active{background:#ffffff09;color:#fff}.nav-links .nav-cta{background:var(--orange)!important;color:var(--navy)!important;border-radius:7px!important;padding:13px 20px!important;margin-left:12px;font-weight:600}.nav-cta span{margin-left:14px}.btn{border-radius:8px;min-height:44px;font-size:13px;font-weight:600;gap:20px;transition:background .2s,border-color .2s,box-shadow .2s}.btn-lg{padding:15px 22px;min-height:52px;font-size:13px}.btn-primary{color:var(--navy);background:var(--orange);border-color:var(--orange)}.btn-primary:hover{color:var(--navy);background:#ff9a4a;border-color:#ff9a4a}.btn-outline{color:var(--navy);border-color:#cbd5df;background:transparent}.btn-outline:hover{color:var(--navy);background:#edf5f5;border-color:var(--teal-dark)}.btn-teal{background:var(--teal-dark);border-color:var(--teal-dark)}.btn:disabled,button:disabled{opacity:.55;cursor:not-allowed}.section-eyebrow{display:none}.section-header{margin-bottom:32px}.section-header h2{font-size:clamp(25px,3vw,34px)}.section-header p{font-size:14px}.card{border:1px solid var(--grey-200);box-shadow:none;border-radius:14px}.card:hover{transform:none;box-shadow:none}.opp-card{border-left:1px solid var(--grey-200);padding:26px;transition:border-color .2s}.opp-card:hover{border-color:#7bbcb9}.opp-meta{font-size:12px}.opp-badge{font-size:10px;white-space:nowrap}.form-section{border:1px solid var(--grey-200);box-shadow:none;border-radius:14px;padding:32px}.form-section-header{font-size:18px;padding-bottom:20px;border-bottom:1px solid var(--grey-200);margin-bottom:24px}.form-label{font-size:12px;font-weight:600;margin-bottom:8px}.form-control,.form-select{border:1px solid #cbd6df;border-radius:7px;min-height:46px;background:#fff;font-size:13px;box-shadow:none}.form-control:focus,.form-select:focus{border-color:var(--teal-dark);box-shadow:0 0 0 3px #007a761a}.form-control.is-invalid{border-color:var(--error)}.form-hint{font-size:12px}.form-check-input{accent-color:var(--teal-dark)}.page-header{background:var(--navy);padding:44px 0 48px}.page-header h1{font-size:clamp(28px,4vw,42px);margin-bottom:14px}.page-header p{font-size:14px;line-height:1.8;color:#c2d3e2}.breadcrumb{font-size:11px;margin-bottom:20px}.breadcrumb a{color:#c2d3e2}.filter-bar{border:1px solid var(--grey-200);box-shadow:none;padding:20px;border-radius:12px}.filter-chip{font-size:12px}.filter-chip.active,.filter-chip:hover{background:var(--navy);border-color:var(--navy);color:white}.site-footer{padding:60px 0 24px;background:var(--navy);color:#b7c9dc}.footer-grid{gap:50px}.footer-col h4{color:#fff;font-size:12px;text-transform:none;letter-spacing:0;font-weight:600;margin-bottom:20px}.footer-links a{font-size:12px;color:#b7c9dc}.footer-links li{margin-bottom:12px}.footer-brand p{font-size:12px;max-width:260px}.footer-bottom{font-size:11px;color:#b7c9dc;margin-top:44px;padding-top:24px}.footer-bottom a{color:#b7c9dc}.alert{border-left-width:1px}.opp-detail-sidebar{border:1px solid var(--grey-200);box-shadow:none}.ref-box{border-radius:12px}.career-portal-cta{background:var(--navy);border-radius:14px}
/* Homepage: a generous navy canvas and a human focal point. */
.home-hero{background:var(--navy);padding:64px 0 76px;overflow:hidden;color:white}.hero-layout{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:62px}.hero-copy{padding:10px 0;animation:hero-arrive .65s cubic-bezier(.16,1,.3,1)}.hero-copy h1{font-size:clamp(34px,4.4vw,58px);line-height:1.13;font-weight:600;color:#fff;letter-spacing:-.04em;margin-bottom:25px}.hero-copy h1 span{color:#49d3c8}.hero-copy>p{max-width:480px;color:#bbcee1;font-size:14px;line-height:1.85;margin-bottom:30px}.hero-assurance{display:flex;gap:9px;align-items:center;font-size:11px;color:#b8ccde;margin-top:25px}.hero-assurance svg{width:17px;height:19px;color:#49d3c8}.hero-visual{position:relative;min-width:0;padding-bottom:24px}.hero-photo{width:100%;height:380px;object-fit:cover;border-radius:80px 14px 80px 14px;object-position:50% 50%}.photo-caption{position:absolute;left:24px;bottom:47px;display:flex;gap:8px;align-items:center;color:white;font-size:10px;background:#051b3ce6;border-radius:6px;padding:10px 13px}.caption-dot{width:6px;height:6px;border-radius:50%;background:#49d3c8}.hero-note{position:absolute;bottom:0;right:-14px;padding:18px 22px;background:#fff;color:var(--navy);border-radius:12px;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:14px}.hero-note strong{display:block;font-size:12px}.hero-note span:not(.note-check){display:block;color:var(--grey-600);font-size:10px;margin-top:3px}.note-check{background:#e0f7f2;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;color:var(--teal-dark);font-size:17px}.discovery-strip{background:#f2f7f7;border-bottom:1px solid #dce8e8}.discovery-strip .container{display:flex;align-items:center;gap:32px;min-height:68px;flex-wrap:wrap;padding-block:16px}.discovery-strip span{color:#526676;font-size:11px;margin-right:auto}.discovery-strip a{font-size:12px;font-weight:500;white-space:nowrap}.path-section{padding:65px 0 60px}.section-heading-row{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px}.section-heading-row h2{font-size:30px;font-weight:600;margin-bottom:10px}.section-heading-row p{color:var(--grey-600);font-size:13px}.text-link{font-size:12px;font-weight:600;white-space:nowrap}.path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.path-card{display:flex;flex-direction:column;color:var(--navy)!important;padding:24px 0 16px;border-top:1px solid var(--grey-200);text-decoration:none!important;transition:border-color .2s}.path-card:hover{border-color:var(--teal-dark)}.path-card>svg{width:27px;height:27px;color:var(--teal-dark);margin-bottom:22px}.path-card:nth-child(2)>svg{color:var(--orange-dark)}.path-card h3{font-size:17px;font-weight:600;margin-bottom:12px}.path-card p{font-size:12px;color:var(--grey-600);line-height:1.9;max-width:310px;margin-bottom:24px}.path-card>span{font-size:12px;color:var(--teal-dark);display:flex;justify-content:space-between;margin-top:auto;font-weight:600}.path-card b{font-size:17px;font-weight:400}.home-opportunities{background:#f5f8fa;padding:52px 0}.home-opportunities .section-header{text-align:left}.opportunity-empty{display:flex;gap:40px;align-items:center;justify-content:space-between}.opportunity-empty h2{font-size:28px;max-width:550px;margin-bottom:14px}.opportunity-empty p{max-width:570px;color:var(--grey-600);font-size:13px}.opportunity-empty .btn{flex-shrink:0}.future-section{padding:60px 0}.future-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:28px}.career-feature,.employer-feature{padding:38px 40px;border-radius:14px}.career-feature{background:var(--navy);color:#b9cde0}.career-feature>svg{color:#49d3c8;width:36px;height:36px;margin-bottom:26px}.career-feature h2{color:#fff;font-size:32px;margin-bottom:18px}.career-feature p,.employer-feature p{font-size:13px;line-height:1.85;max-width:430px;margin-bottom:25px}.employer-feature{background:#edf7f6}.feature-top{display:flex;align-items:center;gap:12px;margin-bottom:30px}.feature-top span{font-size:10px;font-weight:600;letter-spacing:.04em;color:var(--teal-dark)}.employer-feature h2{font-size:32px;margin-bottom:18px}.employer-feature p{color:#536e75}.partner-links{display:grid;gap:0}.partner-links a{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #cbdfdf;padding:14px 0;font-size:12px;font-weight:600}.weekly-band{background:#008c88;padding:32px 0}.weekly-band .container{display:flex;justify-content:space-between;align-items:center;gap:30px}.weekly-band h2{font-size:23px;color:#fff;margin-bottom:7px}.weekly-band p{font-size:12px;color:#e3f7f5}.weekly-band .btn{flex-shrink:0}.error-page{background:#f4f8fa;min-height:65vh;display:grid;align-items:center;padding:90px 0}.error-layout{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:70px}.error-number{font-family:var(--font-heading);font-size:clamp(120px,19vw,250px);letter-spacing:-.04em;line-height:1;color:var(--navy);font-weight:600;user-select:none}.error-number span{color:var(--teal-dark)}.error-code{font-size:12px;color:var(--teal-dark);font-weight:600}.error-copy h1{font-size:clamp(32px,4vw,48px);line-height:1.15;margin-bottom:20px}.error-copy>p:not(.error-code){font-size:14px;color:var(--grey-600);max-width:450px;margin-bottom:25px}.error-help{display:inline-block;font-size:12px;margin-top:28px}
@keyframes hero-arrive{from{transform:translateY(14px);filter:blur(2px)}to{transform:translateY(0);filter:blur(0)}}
@media(min-width:1500px){.home-hero{padding-block:86px}.hero-photo{height:420px}}
@media(max-width:1050px){.nav-links{gap:2px}.nav-links a{padding-inline:6px;font-size:11px}.nav-links .nav-cta{margin-left:4px;padding:12px!important}.hero-layout{gap:30px}.hero-note{right:0}.hero-photo{height:350px}.hero-copy h1{font-size:42px}.hero-actions{gap:10px}.hero-actions .btn{padding-inline:16px}.discovery-strip .container{gap:20px}}
@media(max-width:768px){.container{padding-inline:22px}.utility-inner{min-height:31px}.utility-inner>span{font-size:10px}.utility-inner nav a:not(:nth-child(2)){display:none}.utility-inner nav{gap:0}.nav-inner{height:70px}.nav-links{top:70px;padding:18px;background:var(--navy);border-top:1px solid #ffffff1f}.nav-links a{font-size:14px;padding:14px;display:block}.nav-links .nav-cta{margin:10px 0 0;text-align:center}.nav-logo-text{font-size:21px}.hero-layout{grid-template-columns:1fr;gap:36px}.home-hero{padding:42px 0 48px}.hero-copy h1{font-size:clamp(35px,7.5vw,54px)}.hero-copy>p{max-width:550px;font-size:14px}.hero-photo{height:320px;border-radius:50px 12px 50px 12px}.hero-visual{max-width:600px;width:100%}.hero-note{right:10px}.discovery-strip .container{gap:14px 22px}.discovery-strip span{flex-basis:100%}.discovery-strip a{font-size:11px}.path-section{padding:44px 0}.section-heading-row{align-items:flex-start;flex-direction:column;gap:12px}.section-heading-row h2{font-size:26px}.path-grid{grid-template-columns:1fr;gap:12px}.path-card{padding:22px 0;display:grid;grid-template-columns:36px 1fr;column-gap:16px}.path-card>svg{grid-row:1/4;margin:0}.path-card h3{font-size:17px}.path-card p{max-width:none;margin-bottom:16px}.path-card>span{grid-column:2}.future-grid{grid-template-columns:1fr;gap:20px}.future-section{padding:40px 0}.career-feature,.employer-feature{padding:30px}.weekly-band .container{flex-direction:column;align-items:flex-start;gap:20px}.weekly-band h2{font-size:21px}.opportunity-empty{flex-direction:column;align-items:flex-start;gap:22px}.opportunity-empty h2{font-size:25px}.error-layout{grid-template-columns:1fr;gap:30px}.error-page{padding:45px 0}.error-number{font-size:125px}.footer-grid{gap:30px}.footer-bottom{display:block}.footer-bottom p+p{margin-top:10px}.form-section{padding:24px 20px}.public-site .row>.col{min-width:220px}}
@media(max-width:480px){.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn{width:100%}.hero-photo{height:240px}.photo-caption{bottom:65px;left:15px}.hero-note{padding:14px 16px}.hero-copy h1{font-size:35px}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-brand p{max-width:100%}.form-section{padding:20px 16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
/* Member journeys and locally hosted African portrait cutouts. */
.member-form{max-width:760px!important}.member-form form,.member-grid form{display:grid;gap:14px}.member-form fieldset{padding:20px;margin:16px 0;border:1px solid #dbe4e8;border-radius:12px}.member-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:48px}.member-grid .card{padding:28px}.next-step{display:flex;gap:18px;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid #dbe4e8}.next-step span{font-size:.85rem}.course-catalogue{margin-bottom:48px}.course-catalogue .card{padding:24px}.course-catalogue form{margin-top:18px}.member-form .card{padding:24px;margin-bottom:24px}@media(max-width:700px){.member-grid{grid-template-columns:1fr}.next-step{align-items:flex-start;flex-direction:column;gap:6px}}

.career-feature,.employer-feature{min-width:0;overflow:hidden}
.feature-body{
 display:grid;
 grid-template-columns:minmax(0,1fr) clamp(80px,9vw,125px);
 align-items:center;
 column-gap:16px;
 margin-bottom:25px;
}
.feature-text{min-width:0}
.feature-text h2{margin:0 0 14px}
.feature-text p{margin:0;max-width:none}
.feature-portrait{min-width:0}
.feature-portrait .feature-people{
 display:block;
 width:100%;
 height:auto;
 object-fit:contain;
 object-position:center;
 pointer-events:none;
}
@media(max-width:480px){
 .career-feature,.employer-feature{padding:24px 20px}
 .feature-body{grid-template-columns:minmax(0,1fr) 76px;column-gap:10px}
 .feature-body h2{font-size:26px}
}

.course-catalogue-image{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:10px;margin-bottom:20px}.course-catalogue-image[hidden]{display:none}
