﻿:root{--ink:#10233f;--deep:#0b2d5c;--teal:#1d5eb4;--mint:#e8f0fb;--coral:#2f6fed;--paper:#fff;--white:#fff;--line:rgba(16,35,63,.18);--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);background-image:radial-gradient(circle at 8% 12%,rgba(47,111,237,.08) 0 1px,transparent 1.5px),radial-gradient(circle at 85% 62%,rgba(11,45,92,.06) 0 1px,transparent 1.5px);background-size:32px 32px,44px 44px;font-family:var(--sans);font-size:16px;line-height:1.5}
a{color:inherit;text-decoration:none}
.topline{background:var(--deep);color:#e8f0fb;padding:9px 5vw;text-align:center;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.topline span{color:var(--coral);padding:0 10px}
.site-header{height:88px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:5}
.brand{display:flex;align-items:center;gap:11px;font-size:17px;letter-spacing:.02em}
.brand-logo{display:block;width:178px;height:58px;object-fit:contain;object-position:center}
.site-footer .brand{display:block;width:178px;height:58px}
.brand b{font-weight:700}
.brand-mark{display:grid;place-items:center;width:34px;height:34px;background:var(--coral);color:var(--deep);font-weight:700;font-size:12px;transform:rotate(-7deg);box-shadow:5px 5px 0 rgba(11,45,92,.12);transition:transform .35s ease,box-shadow .35s ease}
.brand:hover .brand-mark{transform:rotate(0) translateY(-2px);box-shadow:7px 7px 0 rgba(11,45,92,.18)}
.main-nav{display:flex;align-items:center;gap:30px;font-size:13px}
.main-nav a{position:relative}
.main-nav a:not(.nav-cta):after{content:'';height:1px;width:0;background:var(--coral);position:absolute;left:0;bottom:-7px;transition:width .25s}
.main-nav a:hover:after,.main-nav a.active:after{width:100%}
.nav-cta{border:1px solid var(--ink);padding:12px 16px;transition:.25s}
.nav-cta:hover{background:var(--ink);color:var(--paper)}
.nav-cta span,.button span{font-size:16px;margin-left:12px}
.menu-toggle{display:none;border:0;background:none;width:42px;height:42px}
.section-pad{padding-left:10vw;padding-right:10vw}
.hero{min-height:675px;display:grid;grid-template-columns:1.02fr .98fr;gap:7vw;align-items:center;padding-top:65px;padding-bottom:75px;background:radial-gradient(circle at 10% 20%,#edf4ff 0,transparent 34%),var(--paper)}
.eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:var(--teal);display:flex;align-items:center;gap:12px;margin:0 0 22px}
.eyebrow-line{width:29px;height:1px;background:var(--coral);display:inline-block}
.hero h1,.page-hero h1{font:700 clamp(45px,5.5vw,76px)/1.02 var(--serif);letter-spacing:0;margin:0 0 27px}
.hero h1 em,.page-hero h1 em,h2 em{font-style:italic;color:var(--teal);font-weight:600}
.hero-lede{font-size:18px;line-height:1.65;max-width:535px;color:#49605c}
.hero-actions{display:flex;align-items:center;gap:27px;margin:34px 0}
.button{display:inline-flex;align-items:center;border:0;cursor:pointer;padding:16px 20px;font:600 13px var(--sans);transition:transform .25s,background .25s}
.button:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(11,45,92,.18)}
.button:active{transform:translateY(-1px);box-shadow:0 4px 10px rgba(11,45,92,.14)}
.button-dark{background:var(--ink);color:var(--paper)}
.button-dark:hover{background:var(--teal)}
.button-light{background:var(--coral);color:var(--deep)}
.text-link{font-weight:600;font-size:13px}
.text-link span{margin-left:10px;color:var(--coral);font-size:18px}
.hero-note{display:flex;align-items:center;gap:10px;font-size:11px;color:#62736d;max-width:360px}
.note-dot{width:7px;height:7px;background:var(--coral);border-radius:50%;box-shadow:0 0 0 5px rgba(47,111,237,.16);animation:softPulse 2.4s ease-in-out infinite}
.hero-visual{position:relative;min-height:490px}
.hero-image{height:490px;background-image:linear-gradient(180deg,transparent 44%,rgba(11,45,92,.32)),url('https://images.unsplash.com/photo-1529156069898-49953e39b3ac?auto=format&fit=crop&w=1000&q=85');background-size:cover;background-position:center;filter:saturate(.8);transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .8s ease}
.hero-visual:hover .hero-image{transform:scale(1.025);filter:saturate(1)}
.route-card{position:absolute;bottom:-27px;left:-48px;width:245px;padding:20px;background:var(--white);box-shadow:0 18px 40px #0b2d5c25;animation:cardFloat 5s ease-in-out infinite}
.route-top,.route-labels{display:flex;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#637671}
.route-top b{color:var(--coral)}
.route{display:flex;align-items:center;gap:9px;margin:23px 0 7px}
.route-node{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;font-weight:700;font-size:11px}
.uganda{background:var(--coral)}
.europe{background:var(--mint)}
.route-line{flex:1;border-top:1px dashed var(--teal);display:flex;justify-content:space-around}
.route-line i{width:4px;height:4px;background:var(--teal);border-radius:50%;margin-top:-2px;animation:routePulse 2.2s ease-in-out infinite}
.route-line i:nth-child(2){animation-delay:.35s}.route-line i:nth-child(3){animation-delay:.7s}
.image-caption{position:absolute;right:-35px;top:40px;writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.16em;font-size:10px;color:var(--teal)}
.intro-band{display:grid;grid-template-columns:1fr 1fr;gap:12vw;align-items:end;padding-top:105px;padding-bottom:105px;background:var(--mint)}
h2{font:700 clamp(35px,4vw,55px)/1.08 var(--serif);letter-spacing:0;margin:0}
 .intro-band>p{font-size:18px;line-height:1.7;max-width:510px;margin:0;color:#49605c}
.choice-section{padding-top:115px;padding-bottom:125px}
.section-heading{margin-bottom:43px}
.path-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.path-card{min-height:310px;padding:35px;display:grid;grid-template-columns:45px 1fr;gap:17px;transition:transform .35s ease,box-shadow .35s ease}
.path-card:hover{transform:translateY(-7px);box-shadow:0 18px 30px rgba(11,45,92,.16)}
.candidate-card{background:var(--deep);color:var(--paper)}
.partner-card{background:var(--coral);color:var(--deep)}
.card-number{font:600 12px var(--sans);opacity:.65}
.card-kicker{text-transform:uppercase;letter-spacing:.16em;font-size:10px;margin:0 0 45px}
.path-card h3{font:600 30px var(--serif);margin:0 0 13px}
.path-card p:not(.card-kicker){color:#bfd2c9;max-width:390px}
.partner-card p:not(.card-kicker){color:#5a3d32}
.card-link{display:inline-block;margin-top:24px;font-size:12px;font-weight:700}
.card-link b{font-size:17px;margin-left:8px}
.stats-band{background:var(--teal);color:var(--paper)}
.stats-inner{display:grid;grid-template-columns:repeat(4,1fr);max-width:1200px;margin:auto}
.stats-inner>div{padding:36px 30px;border-right:1px solid #ffffff35;display:flex;flex-direction:column;gap:4px}
.stats-inner strong{font-size:11px;color:var(--coral)}
.stats-inner span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#b7d0c4}
.stats-inner b{font:600 22px var(--serif);margin-top:8px}
.site-footer{background:var(--deep);color:var(--paper);padding:58px 10vw 38px;display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:30px;align-items:start}
.site-footer .brand{align-self:start}
.site-footer p{font-size:13px;color:#b7d0c4;margin:0}
.footer-links{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#b7d0c4}
.footer-links a:hover{color:var(--coral)}
.site-footer small{font-size:10px;color:#72918b;align-self:end;white-space:nowrap}
.page-hero{min-height:555px;display:flex;align-items:center;justify-content:space-between;padding-top:70px;padding-bottom:80px}
.candidates-hero{background:linear-gradient(120deg,#e8f0fb,#fff 58%)}
.partners-hero{background:linear-gradient(120deg,#dce8fb,#fff 58%)}
.page-hero-copy{max-width:680px}
.page-hero-copy>p:not(.eyebrow){font-size:18px;line-height:1.65;color:#49605c;max-width:500px;margin:0 0 30px}
.page-hero-stamp{font:700 76px/1 var(--serif);color:var(--teal);border:1px solid var(--teal);border-radius:50%;width:255px;height:255px;display:grid;place-items:center;text-align:center;transform:rotate(10deg);margin-right:7vw}
.page-hero-stamp span{font:30px var(--sans);color:var(--coral)}
.partner-quote{width:330px;border-left:2px solid var(--coral);padding-left:30px;margin-right:5vw}
.partner-quote>span{font:700 80px/.6 var(--serif);color:var(--coral)}
.partner-quote p{font:600 21px/1.45 var(--serif)}
.partner-quote b{font-size:11px;text-transform:uppercase;letter-spacing:.15em}
.services{padding-top:105px;padding-bottom:115px}
.service-list{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}
.service-item{display:grid;grid-template-columns:43px 1fr;column-gap:18px;padding:29px 20px 29px 0;border-bottom:1px solid var(--line)}
.service-item:nth-child(odd){border-right:1px solid var(--line);padding-right:40px}
.service-item:nth-child(even){padding-left:40px}
.service-item span{color:var(--coral);font-size:11px}
.service-item h3{font:600 23px var(--serif);margin:0 0 8px}
.service-item p{grid-column:2;margin:0;color:#62736d;font-size:13px;max-width:400px}
.form-section{background:var(--mint);display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw;padding-top:105px;padding-bottom:115px}
.form-intro p:last-child{color:#49605c;max-width:320px}
.inquiry-form{display:flex;flex-direction:column;gap:19px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.inquiry-form label{display:flex;flex-direction:column;gap:8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--teal)}
input,textarea{font:400 15px var(--sans);color:var(--ink);padding:13px 0;background:transparent;border:0;border-bottom:1px solid #8ba79c;outline:0;resize:vertical}
input:focus,textarea:focus{border-color:var(--coral)}
input::placeholder,textarea::placeholder{color:#8da19a;font-size:14px;text-transform:none;letter-spacing:0}
.inquiry-form .button{align-self:flex-start;margin-top:8px}
.form-status{display:none;margin:0;color:var(--teal);font-size:13px;font-weight:600}
.form-status.show{display:block}
.form-status.error{color:#b3261e}
.inquiry-form button:disabled{opacity:.55;cursor:wait;transform:none}
.about-hero{min-height:490px;display:flex;align-items:center;justify-content:space-between;background:var(--deep);color:var(--paper);overflow:hidden}
.about-hero .eyebrow{color:var(--mint)}
.about-hero .page-hero-copy>p:not(.eyebrow){color:#b7d0c4}
.about-symbol{font:700 120px/.75 var(--serif);color:var(--coral);border:1px solid #2f6fed80;padding:70px 35px 50px;transform:rotate(-8deg);margin-right:10vw}
.about-symbol span{display:block;font:700 10px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--mint);margin-top:35px}
.about-details{padding-top:105px;padding-bottom:120px}
.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);margin-top:45px}
.detail{display:flex;justify-content:space-between;gap:20px;padding:23px 15px 23px 0;border-bottom:1px solid var(--line)}
.detail:nth-child(odd){border-right:1px solid var(--line);padding-right:40px}
.detail:nth-child(even){padding-left:40px}
.detail span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#79908a}
.detail strong{font-size:14px;text-align:right}
.detail a{color:var(--teal);text-decoration:underline;text-decoration-color:var(--coral);text-underline-offset:4px}
.closing-band{background:var(--teal);color:var(--paper);padding-top:85px;padding-bottom:90px}
.closing-band .eyebrow{color:var(--mint)}
.closing-band h2{margin-bottom:35px}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .75s ease,transform .75s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.delay-1{transition-delay:.14s}

@keyframes cardFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes routePulse{0%,100%{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.5)}}
@keyframes softPulse{0%,100%{box-shadow:0 0 0 5px rgba(47,111,237,.12)}50%{box-shadow:0 0 0 9px rgba(47,111,237,0)}}

@media(max-width:800px){.site-header{height:72px}
.menu-toggle{display:block;position:relative}
.menu-toggle span{display:block;width:22px;height:1px;background:var(--ink);position:absolute;left:10px;transition:.25s}
.menu-toggle span:first-child{top:17px}
.menu-toggle span:last-child{top:25px}
.menu-toggle[aria-expanded="true"] span:first-child{top:21px;transform:rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:last-child{top:21px;transform:rotate(-45deg)}
.main-nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--paper);padding:22px 5vw 28px;flex-direction:column;align-items:flex-start;gap:20px;border-bottom:1px solid var(--line)}
.main-nav.open{display:flex}
.nav-cta{width:100%;text-align:center}
.section-pad{padding-left:7vw;padding-right:7vw}
.hero{grid-template-columns:1fr;gap:55px;padding-top:65px}
.hero-visual{min-height:370px;width:94%;margin-left:3%}
.hero-image{height:370px}
.route-card{left:-17px;bottom:-25px}
.image-caption{right:-25px}
.intro-band,.form-section{grid-template-columns:1fr;gap:40px}
.intro-band{padding-top:75px;padding-bottom:75px}
.choice-section,.services,.about-details{padding-top:75px;padding-bottom:80px}
.path-grid,.service-list,.detail-grid{grid-template-columns:1fr}
.service-item:nth-child(odd),.detail:nth-child(odd){border-right:0;padding-right:0}
.service-item:nth-child(even),.detail:nth-child(even){padding-left:0}
.page-hero{min-height:560px;display:block;padding-top:75px}
.page-hero-stamp{margin:70px auto 0;width:170px;height:170px;font-size:55px}
.partner-quote{margin:60px 0 0;width:auto}
.about-hero{min-height:600px}
.about-symbol{width:210px;margin:70px auto 0;text-align:center;font-size:85px;padding:52px 20px 35px}
.stats-inner{grid-template-columns:1fr 1fr}
.stats-inner>div{padding:25px 7vw}
.stats-inner>div:nth-child(2){border-right:0}
.site-footer{grid-template-columns:1fr 1fr;padding:45px 7vw 30px}
.site-footer .brand{grid-column:1/-1}
.site-footer small{grid-column:1/-1}
.hero h1,.page-hero h1{font-size:47px}
.form-row{grid-template-columns:1fr}
.path-card{min-height:280px}
}

@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}
}


