@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#102d53;--blue:#205b97;--lime:#d7ef82;--ink:#152c47;--muted:#5e6c7b;--pale:#f2f6fa;--line:#d9e1e8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font:16px/1.65 'DM Sans',Arial,sans-serif;color:var(--ink);background:white}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}a,button,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #5b88b7;outline-offset:5px}img{display:block;width:100%;object-fit:cover}h1,h2,h3{font-family:Manrope,Arial,sans-serif;line-height:1.15;letter-spacing:-.045em;margin:0 0 24px;font-weight:600}h1{font-size:clamp(42px,4.5vw,70px)}h2{font-size:clamp(32px,3.4vw,50px)}h3{font-size:25px;letter-spacing:-.025em}p{margin:0 0 24px;color:var(--muted)}em{font-style:normal;color:var(--blue)}.topbar{background:var(--navy);color:white;padding:9px 5%;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.035em}.topbar a{font-size:13px}header{height:98px;padding:20px 5%;display:flex;align-items:center;justify-content:space-between;background:white;position:sticky;top:0;z-index:20;border-bottom:1px solid #edf0f4}.brand img{width:196px;height:auto}nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:600}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;background:var(--navy);color:white;border:0;padding:17px 24px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:var(--blue);transform:translateY(-2px)}.button.small{padding:13px 18px}.button.light{background:var(--lime);color:var(--navy)}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:650px;background:var(--pale)}.hero-copy{padding:62px 7% 26px 10%}.eyebrow{font-size:12px;letter-spacing:.16em;font-weight:700;margin-bottom:25px;color:var(--blue)}.hero h1{max-width:650px}.hero-copy>p{font-size:20px;max-width:510px;color:var(--ink)}.hero-copy>p.hero-detail{font-size:16px;color:var(--muted);max-width:490px}.hero-photo{position:relative;min-height:630px;overflow:hidden}.hero-photo>img{height:100%;position:absolute;object-position:51% center}.hero-photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0a213cca)}.image-label{position:absolute;bottom:42px;left:40px;color:white;z-index:1}.image-label span{display:block;font-size:12px;letter-spacing:.16em;margin-bottom:7px}.image-label strong{font:500 29px Manrope,sans-serif;letter-spacing:-.035em}.actions{display:flex;flex-wrap:wrap;gap:22px;align-items:center;margin-top:32px}.text-link{display:inline-block;font-size:14px;font-weight:700;border-bottom:1px solid currentColor;padding-bottom:5px}.hero-bottom{display:flex;gap:18px;font-size:10px;font-weight:700;letter-spacing:.065em;border-top:1px solid var(--line);margin-top:45px;padding-top:22px}.section{padding:90px 7%;max-width:1800px;margin:auto}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:45px}.section-heading h2,.section-heading p{margin-bottom:0}.needs-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.need-card{padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .2s;position:relative;min-height:245px}.need-card:hover{background:var(--pale)}.need-card .number{font-size:13px;color:var(--blue);margin-bottom:25px;display:block}.need-card h3{font-size:23px;max-width:290px;margin-bottom:14px}.need-card p{font-size:14px;margin:0;max-width:300px;padding-right:20px}.need-card .arrow{position:absolute;top:25px;right:26px;font-size:25px}.difference{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.difference-photo{position:relative}.difference-photo img{height:520px}.photo-note{background:var(--lime);display:block;padding:22px 28px;font-size:15px}.difference h2{font-size:42px}.architecture{background:var(--navy);color:white}.architecture .eyebrow{color:var(--lime)}.architecture p{color:#b5c6da}.steps{display:grid;grid-template-columns:repeat(7,1fr);gap:22px;margin-top:60px}.step{border-top:1px solid #56708d;padding-top:20px}.step span{font-size:13px;color:var(--lime)}.step h3{font-size:18px;letter-spacing:0;margin:20px 0 12px}.step p{font-size:14px;margin:0}.deliver{display:grid;grid-template-columns:1fr 1.3fr;gap:12%;background:var(--pale)}.deliver p{max-width:370px}.deliver-list details{border-bottom:1px solid #bccbd7;padding:23px 0}.deliver-list summary{font:600 23px Manrope,sans-serif;cursor:pointer;list-style:none}.deliver-list summary span{float:right;font:400 13px 'DM Sans',sans-serif}.deliver-list p{max-width:none;margin:20px 0 10px}.deliver-list a{font-size:14px;text-decoration:underline}.capability{display:grid;grid-template-columns:60px 1fr 1fr 110px;gap:25px;padding:28px 0;border-top:1px solid var(--line);align-items:start}.capability h3{font-size:23px;margin:0}.capability p{font-size:14px;margin:0}.capability .number{color:var(--blue)}.capability a{font-size:14px;font-weight:700}.pathways-teaser{background:var(--pale)}.path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.path-card{background:white;transition:transform .2s}.path-card:hover{transform:translateY(-5px)}.path-card img{height:255px}.path-card>div{padding:28px}.path-card span,.tag{font-size:11px;letter-spacing:.13em;font-weight:700;color:var(--blue)}.path-card h3{margin:14px 0;font-size:27px}.path-card p{font-size:14px}.path-card b{font-size:14px}.case{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:var(--lime)}.case .eyebrow{color:var(--ink)}.case p{color:#364833}.large{font-size:23px;line-height:1.5}.case .tag{display:block;margin-bottom:25px}.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:50px}.three-col h3{font-size:23px}.cta{background:var(--blue);color:white;position:relative}.cta .eyebrow{color:var(--lime)}.cta h2{font-size:60px}.cta p{color:#dce7f5;font-size:20px}.cta .button{position:absolute;right:12%;bottom:100px}footer{display:grid;grid-template-columns:1fr 1fr 1fr;gap:45px;padding:60px 7% 25px}footer img{width:210px}footer p{font-size:14px}footer>div{display:grid;grid-template-columns:1fr 1fr;gap:14px;font-size:14px}footer small{grid-column:1/-1;border-top:1px solid var(--line);padding-top:22px;color:var(--muted);font-size:12px}.skip{position:absolute;top:-100px;background:white;z-index:50}.skip:focus{top:0}.page-hero{background:var(--pale);padding:70px 7%}.page-hero h1{max-width:900px;font-size:58px}.page-hero p{max-width:750px;font-size:20px}.breadcrumb{font-size:13px;margin-bottom:30px}.content{max-width:1050px}.content h2{margin-top:40px}.content li{margin:12px 0;color:var(--muted)}.content p{max-width:850px}.pathway{padding:45px 0;border-bottom:1px solid var(--line)}.pathway .three-col{gap:28px;margin:25px 0}.pathway h3{font-size:19px}.pathway .tag{background:var(--lime);padding:8px 12px;display:inline-block;margin-bottom:20px}.engagement{display:grid;grid-template-columns:1fr 1.7fr;gap:70px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}label{font-size:14px;font-weight:600;display:block}input,select,textarea{width:100%;padding:13px;border:1px solid #b7c5d2;border-radius:0;background:white;margin-top:7px;color:var(--ink)}textarea{min-height:110px;resize:vertical}.full{grid-column:1/-1}.form-note{font-size:14px;background:var(--pale);padding:18px;margin-top:25px}.status{padding:20px;background:var(--lime);margin-top:20px}.insight-card{padding:30px;border:1px solid var(--line);margin:20px 0}.insight-card h3{margin-bottom:12px}.mobile-only{display:none}@media(min-width:1600px){.hero-copy{padding-left:14%}}@media(max-width:1100px){nav{gap:17px}.hero-copy{padding:42px 7%}.hero h1{font-size:48px}.hero-bottom{flex-wrap:wrap}.steps{grid-template-columns:repeat(4,1fr)}.capability{grid-template-columns:35px 1fr 1fr}.capability a{grid-column:2}.section{padding:65px 6%}.difference{gap:5%}.difference h2{font-size:34px}.hero-photo{min-height:650px}}@media(max-width:800px){header{height:80px;padding:18px 6%}.brand img{width:165px}.menu-toggle{display:block;border:0;background:transparent;color:var(--ink);font-size:14px}nav{display:none;position:absolute;top:80px;left:0;right:0;padding:25px;background:white;box-shadow:0 10px 20px #142c4712}nav.open{display:flex;flex-direction:column;align-items:stretch}.topbar{font-size:10px}.topbar a{font-size:10px}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 6% 28px}.hero h1{font-size:48px;max-width:550px}.hero-photo{min-height:400px}.hero-photo img{object-position:center 40%}.hero-bottom{margin-top:32px}.section-heading{display:block}.section-heading p{margin-top:22px}.section-heading>a{margin-top:20px}.needs-grid{grid-template-columns:repeat(2,1fr)}.need-card{padding:22px;min-height:260px}.need-card h3{font-size:21px}.difference,.deliver,.case,.engagement{grid-template-columns:1fr;gap:35px}.difference-photo img{height:350px}.steps{grid-template-columns:repeat(2,1fr);gap:30px}.deliver .button{margin-bottom:20px}.capability{grid-template-columns:30px 1fr}.capability p{grid-column:2}.path-grid{grid-template-columns:1fr}.path-card img{height:280px}.three-col{grid-template-columns:1fr;gap:18px}.cta h2{font-size:44px}.cta .button{position:static}.page-hero h1{font-size:42px}.page-hero{padding:45px 6%}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}footer{grid-template-columns:1fr;gap:25px}footer>div{gap:15px}footer small{grid-column:auto}.section{padding:60px 6%}.image-label{left:25px;bottom:25px}}@media(max-width:420px){.hero h1{font-size:41px}.needs-grid{grid-template-columns:1fr}.need-card{min-height:220px}.topbar span{max-width:150px}.hero-photo{min-height:330px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Supplied SAL Nkosi directional icon; inherits each link colour. */
.chevron{display:inline-block;width:1.1em;height:1.1em;background-color:currentColor;-webkit-mask:url("assets/right-chevron.svg") center/contain no-repeat;mask:url("assets/right-chevron.svg") center/contain no-repeat;vertical-align:-.15em;flex-shrink:0}.text-link .chevron,.capability a .chevron,.path-card b .chevron,.topbar a .chevron{margin-left:.35em}

.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}button:disabled{opacity:.65;cursor:wait}

footer .contact-details{display:flex;flex-direction:column;gap:8px}.engagement-contact{margin:30px 0}.contact-details a,.engagement-contact a{overflow-wrap:anywhere}

footer .contact-details h3{font-size:17px;margin:0 0 8px;letter-spacing:0}nav{gap:22px}nav a[aria-current="page"]{color:var(--blue)}.contact-page{display:grid;grid-template-columns:1.1fr 1fr;gap:9%;align-items:start}.contact-channels>p{max-width:510px}.contact-channel{display:grid;grid-template-columns:1fr auto;border-top:1px solid var(--line);padding:24px 0;gap:6px}.contact-channel:last-child{border-bottom:1px solid var(--line)}.contact-label{font-size:12px;letter-spacing:.12em;color:var(--blue);font-weight:700}.contact-channel strong{grid-column:1;font-size:clamp(19px,2vw,27px);font-weight:500;overflow-wrap:anywhere}.contact-channel .chevron{grid-column:2;grid-row:1/3;align-self:center;font-size:23px}.contact-assessment{background:var(--pale)}.contact-assessment img{height:270px}.contact-assessment>div{padding:36px}.contact-assessment h2{font-size:34px}.contact-assessment .text-link{margin-top:22px}@media(max-width:1100px) and (min-width:801px){header{padding-left:3%;padding-right:3%}.brand img{width:150px}nav{gap:13px;font-size:13px}nav .button.small{font-size:12px;padding:12px}}@media(max-width:800px){.contact-page{grid-template-columns:1fr;gap:45px}.contact-assessment>div{padding:27px}.contact-assessment img{height:230px}}

/* Homepage hero: image left, content right on wide screens. */
@media(min-width:801px){.hero-photo{grid-column:1;grid-row:1}.hero-copy{grid-column:2;grid-row:1}}
@media(min-width:1101px){.hero-copy{padding:62px 10% 26px 7%}}
