:root{
--ink:#111719;--muted:#66716e;--paper:#f5f5ef;--dark:#0b1112;--dark2:#111b1c;
--lime:#c9ef46;--line:#d9dfdc;--white:#fff;--max:1240px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;overflow-x:hidden}
a{text-decoration:none;color:inherit}.nav{height:82px;position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;background:rgba(10,17,18,.9);color:#fff;backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}
.brand{font:700 21px "Space Grotesk",sans-serif;letter-spacing:-1px}.brand span{font-weight:500}.brand small{display:block;font:600 8px "DM Sans";letter-spacing:3px;color:#aeb8b5;margin-top:3px}
nav{display:flex;align-items:center;gap:25px;font-size:12px;font-weight:700}nav a{opacity:.82}nav a:hover,nav a.active{color:var(--lime);opacity:1}.nav-cta{padding:12px 18px;border:1px solid #64716e}.menu{display:none;background:none;border:0;color:#fff;font-size:26px}
.hero{min-height:88vh;padding:150px 8vw 100px;position:relative;display:flex;align-items:center;overflow:hidden;background:linear-gradient(115deg,#081011 0%,#162323 55%,#0c1213 100%);color:#fff}
.hero-photo{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.35}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,9,10,.94),rgba(4,9,10,.52),rgba(4,9,10,.35))}
.hero-content{position:relative;z-index:3;max-width:820px}.eyebrow,.tag{font-size:10px;font-weight:800;letter-spacing:3px;color:#84908d}.eyebrow{color:var(--lime);margin-bottom:25px}
h1,h2,h3{font-family:"Space Grotesk",sans-serif}h1{font-size:clamp(48px,7vw,88px);line-height:.98;letter-spacing:-4px;margin:0 0 25px}h1 span,h2 span{color:var(--lime)}.lead{font-size:18px;line-height:1.65;color:#d8dfdc;max-width:670px}.btn{display:inline-flex;gap:24px;align-items:center;padding:15px 20px;font-weight:800;border:1px solid transparent}.primary{background:var(--lime);color:#111}.outline{border-color:#78817e;color:#fff}.hero-actions{display:flex;gap:15px;flex-wrap:wrap;margin-top:32px}
.visual-orbit{position:absolute;right:7vw;top:20%;width:360px;height:360px;border:1px solid rgba(201,239,70,.3);border-radius:50%;z-index:2;animation:spin 24s linear infinite}.visual-orbit:before,.visual-orbit:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.13);border-radius:50%;inset:38px}.visual-orbit:after{inset:90px;border-color:rgba(201,239,70,.25)}.node{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--lime);box-shadow:0 0 25px var(--lime);top:35px;left:50%;animation:pulse 2.4s ease-in-out infinite}
.bg-grid{position:absolute;inset:-30%;z-index:1;opacity:.14;background-image:linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px);background-size:65px 65px;transform:rotate(-8deg);animation:grid 22s linear infinite}.glow{position:absolute;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(201,239,70,.18),transparent 68%);filter:blur(10px);right:2%;top:10%;z-index:1;animation:glow 9s ease-in-out infinite alternate}
.particles{position:absolute;inset:0;z-index:2;pointer-events:none}.particles i{position:absolute;width:4px;height:4px;background:var(--lime);border-radius:50%;opacity:.5;animation:float 8s ease-in-out infinite}.particles i:nth-child(1){left:12%;top:30%;animation-delay:0s}.particles i:nth-child(2){left:30%;top:70%;animation-delay:1s}.particles i:nth-child(3){left:65%;top:25%;animation-delay:2s}.particles i:nth-child(4){left:82%;top:65%;animation-delay:3s}.particles i:nth-child(5){left:55%;top:80%;animation-delay:4s}.particles i:nth-child(6){left:91%;top:35%;animation-delay:2.5s}
.section{padding:105px 7vw}.section-head{max-width:850px;margin-bottom:55px}.section-head h2{font-size:clamp(38px,5vw,65px);line-height:1;letter-spacing:-3px;margin:15px 0}.section-head p,.copy p{color:var(--muted);line-height:1.75}
.summary-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center}.summary-visual{min-height:430px;border-radius:4px;background:linear-gradient(135deg,rgba(0,0,0,.1),rgba(0,0,0,.05)),url("../images/IMG_3456.jpeg") center/cover;position:relative;overflow:hidden}.summary-visual:after{content:"SAP / AFRICA / TRANSFORMATION";position:absolute;bottom:25px;left:25px;color:#fff;background:rgba(5,10,10,.75);padding:10px 14px;font:700 10px "Space Grotesk";letter-spacing:2px}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);margin-top:35px}.stat{padding:28px;background:var(--paper)}.stat strong{display:block;font:700 32px "Space Grotesk";color:#92ad16}.stat span{font-size:12px;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.card{padding:35px;background:var(--paper);min-height:245px;transition:.35s;position:relative;overflow:hidden}.card:before{content:"";position:absolute;width:90px;height:90px;border-radius:50%;background:rgba(201,239,70,.15);right:-25px;top:-25px;transition:.5s}.card:hover{transform:translateY(-6px)}.card:hover:before{transform:scale(2.3)}.card b{color:#91aa16;font-size:12px}.card h3{font-size:21px;margin:55px 0 10px}.card p{font-size:14px;line-height:1.6;color:var(--muted)}
.dark{background:var(--dark);color:#fff;position:relative;overflow:hidden}.dark .copy p,.dark .section-head p{color:#aeb8b5}.dark:before{content:"";position:absolute;width:600px;height:600px;right:-280px;top:-280px;border-radius:50%;background:radial-gradient(circle,rgba(201,239,70,.14),transparent 68%);animation:glow 10s ease-in-out infinite alternate}
.modules{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#36403e;position:relative;z-index:2}.module{background:var(--dark2);padding:30px;min-height:180px}.module span{font:700 28px "Space Grotesk";color:var(--lime)}.module h3{font-size:18px;margin:25px 0 7px}.module p{font-size:13px;color:#98a39f;line-height:1.5}
.process{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line)}.step{background:var(--paper);padding:30px;min-height:250px}.step span{font:700 12px "Space Grotesk";color:#93aa18}.step h3{margin-top:55px}.step p{font-size:13px;color:var(--muted);line-height:1.55}
.page-hero{min-height:54vh;padding:150px 8vw 80px;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:#0d1516;color:#fff}.page-hero .hero-content{max-width:900px}.page-hero h1{font-size:clamp(46px,6vw,76px)}.page-hero .hero-photo{opacity:.25}.page-hero .glow{right:15%;top:5%}
.split{display:grid;grid-template-columns:1fr 1fr}.split-image{min-height:560px;background:center/cover}.split-copy{padding:90px 8vw}.quote{border-left:3px solid var(--lime);padding:18px 0 18px 24px;font:500 21px/1.5 "Space Grotesk";margin-top:35px}
.service-list{border-top:1px solid var(--line)}.service-list article{display:grid;grid-template-columns:70px 1fr 30px;gap:25px;padding:28px 0;border-bottom:1px solid var(--line);align-items:center}.service-list article>span{color:#92aa18;font-weight:800}.service-list h3{font-size:23px;margin:0 0 7px}.service-list p{color:var(--muted);margin:0;line-height:1.55}
.industry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#34403d}.industry-grid article{background:var(--dark);padding:35px;min-height:220px}.industry-grid b{color:var(--lime)}.industry-grid h3{margin:60px 0 8px;font-size:23px}.industry-grid p{color:#9ba7a3;font-size:13px;line-height:1.5}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr}.contact-image{background:center/cover url("../images/IMG_3454.jpeg")}.contact-copy{padding:90px 8vw}.contact-form{display:grid;gap:14px;margin-top:35px}.contact-form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.contact-form input,.contact-form textarea{width:100%;padding:16px;border:1px solid #ccd3cf;background:#fff;font:14px "DM Sans";outline:none}.contact-form textarea{resize:vertical}
footer{background:#080e0f;color:#fff;padding:65px 7vw;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px}footer div{display:flex;flex-direction:column;gap:11px;font-size:13px}footer b{font-size:9px;letter-spacing:2px;color:var(--lime)}footer p,footer small{color:#899491;line-height:1.6}footer a:hover{color:var(--lime)}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.reveal.show{opacity:1;transform:none}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes grid{to{transform:rotate(-8deg) translate3d(65px,65px,0)}}@keyframes glow{from{transform:scale(.9);opacity:.55}to{transform:scale(1.12);opacity:1}}@keyframes float{0%,100%{transform:translate(0,0);opacity:.2}50%{transform:translate(25px,-45px);opacity:.7}}@keyframes pulse{50%{transform:scale(1.8);opacity:.55}}
@media(max-width:900px){nav{display:none}.menu{display:block}.nav{height:72px}.visual-orbit{opacity:.3;right:-100px}.cards,.industry-grid{grid-template-columns:1fr 1fr}.modules{grid-template-columns:1fr 1fr}.process{grid-template-columns:1fr 1fr}.summary-grid,.split,.contact-grid{grid-template-columns:1fr}.split-image,.contact-image{min-height:380px}.contact-copy,.split-copy{padding:70px 7vw}.summary-grid{gap:35px}footer{grid-template-columns:1fr 1fr}}
@media(max-width:550px){.cards,.modules,.industry-grid,.process{grid-template-columns:1fr}.hero{min-height:760px;padding:130px 7vw 75px}.visual-orbit{width:260px;height:260px;right:-120px;top:18%;opacity:.22}.hero h1{letter-spacing:-2px}.section{padding:80px 7vw}.contact-form .row{grid-template-columns:1fr}footer{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Supplied Black African business imagery */
.cards .card[style*='background']{background-color:#e9eeeb;background-repeat:no-repeat;background-size:cover;background-position:center;}
@media(max-width:550px){.cards .card[style*='background']{min-height:260px!important}}

/* DesignApprovals updates: clean SAP expertise module area */
.modules{background:transparent!important;}
.modules .module{background:#f5f5ef;}
