:root{--navy:#071d35;--navy2:#0d2e4d;--blue:#0f4f86;--lime:#9fd52a;--lime2:#c8ef55;--cream:#f6f2e9;--white:#fff;--ink:#0a1722;--muted:#65717c;--line:rgba(7,29,53,.14);--shadow:0 24px 70px rgba(5,24,43,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--cream);overflow-x:hidden}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.shell{width:min(1440px,calc(100% - 72px));margin:auto}.eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:800;color:var(--lime)}.display{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em}.muted{color:var(--muted)}
.topbar{height:34px;background:#051727;color:#dce8f2;font-size:12px;display:flex;align-items:center}.topbar .shell{display:flex;justify-content:space-between;gap:24px}.topbar a{opacity:.9}.header{position:sticky;top:0;z-index:50;background:rgba(246,242,233,.95);backdrop-filter:blur(16px);border-bottom:1px solid rgba(7,29,53,.08)}.nav{height:88px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:12px;min-width:220px}.brand-mark{position:relative;width:46px;height:46px;border-radius:14px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;box-shadow:0 8px 24px rgba(7,29,53,.08);overflow:hidden}.brand-mark b{font-size:18px;letter-spacing:-.08em;color:var(--blue)}.brand-mark:after{content:'';position:absolute;right:-8px;top:-8px;width:28px;height:28px;border:6px dotted var(--lime);border-radius:50%}.brand-title{font-weight:900;letter-spacing:-.02em}.brand-sub{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#66737e;margin-top:3px}.navlinks{display:flex;gap:30px;align-items:center;font-weight:650;font-size:14px}.navlinks a{position:relative;padding:12px 2px}.navlinks a:after{content:'';position:absolute;left:0;right:0;bottom:4px;height:2px;background:var(--lime);transform:scaleX(0);transition:.25s}.navlinks a:hover:after,.navlinks a.active:after{transform:scaleX(1)}.actions{justify-self:end;display:flex;align-items:center;gap:12px}.call{font-size:14px;font-weight:800;color:var(--navy)}.btn{display:inline-flex;align-items:center;gap:10px;border-radius:999px;padding:15px 22px;font-weight:850;border:1px solid transparent;transition:.25s;cursor:pointer}.btn.primary{background:var(--navy);color:#fff}.btn.lime{background:var(--lime);color:var(--navy)}.btn.ghost{border-color:rgba(255,255,255,.3);color:#fff}.btn:hover{transform:translateY(-2px)}.menu{display:none;background:none;border:0;font-size:28px}.mobile{display:none}
.hero{min-height:760px;background:linear-gradient(90deg,rgba(4,20,37,.96) 0%,rgba(4,20,37,.87) 47%,rgba(4,20,37,.32) 100%),url('https://www.vumile.co.za/Images/IMG-20231206-WA0019.jpg') center/cover;position:relative;color:#fff;display:flex;align-items:center;overflow:hidden}.hero:before{content:'';position:absolute;inset:auto 0 0;height:140px;background:linear-gradient(transparent,rgba(5,20,37,.72))}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.08fr .92fr;gap:60px;align-items:end}.hero h1{font-size:clamp(62px,7.5vw,118px);line-height:.84;margin:20px 0 28px;max-width:880px}.hero h1 em{font-style:normal;color:var(--lime2)}.hero p{font-size:19px;line-height:1.7;max-width:680px;color:#d9e4ed}.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.proof-card{justify-self:end;width:min(460px,100%);background:rgba(4,25,43,.72);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(18px);padding:28px;border-radius:28px;box-shadow:var(--shadow)}.proof-card h3{margin:0 0 18px;font-size:16px}.proof-row{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:18px 0;border-top:1px solid rgba(255,255,255,.14)}.proof-num{width:38px;height:38px;border-radius:11px;background:var(--lime);color:var(--navy);display:grid;place-items:center;font-weight:900}.proof-row b{display:block;margin-bottom:4px}.proof-row span{color:#bed0dd;font-size:13px;line-height:1.5}
.statbar{background:var(--navy);color:#fff}.stats{display:grid;grid-template-columns:repeat(4,1fr)}.stat{padding:28px;border-right:1px solid rgba(255,255,255,.1)}.stat:last-child{border-right:0}.stat strong{display:block;font-family:Georgia,serif;font-size:30px;color:var(--lime2);margin-bottom:6px}.stat span{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#b8c9d6}
.section{padding:110px 0}.headrow{display:grid;grid-template-columns:1fr .8fr;gap:70px;align-items:end;margin-bottom:52px}.headrow h2{font-size:clamp(46px,5.5vw,82px);line-height:.93;margin:10px 0 0}.headrow p{font-size:17px;line-height:1.8;margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.service{background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;position:relative;overflow:hidden;min-height:310px;transition:.3s}.service:hover{transform:translateY(-8px);box-shadow:var(--shadow)}.service .icon{width:52px;height:52px;border-radius:15px;background:#edf7dc;color:var(--navy);display:grid;place-items:center;font-size:24px;margin-bottom:62px}.service h3{font-size:23px;margin:0 0 10px}.service p{color:var(--muted);line-height:1.7;margin:0}.service .arrow{position:absolute;right:24px;top:24px;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center}
.dark{background:var(--navy);color:#fff}.dark .headrow p{color:#bdcbd7}.project-feature{display:grid;grid-template-columns:1.05fr .95fr;border-radius:32px;overflow:hidden;background:#0d2945;border:1px solid rgba(255,255,255,.12)}.project-image{min-height:560px;background:#173a5b center/cover;position:relative}.project-image:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(5,19,34,.85))}.project-copy{padding:52px;display:flex;flex-direction:column;justify-content:center}.tag{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:9px 13px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;width:max-content;color:#d5e3ed}.project-copy h3{font:400 clamp(38px,4vw,64px)/.98 Georgia,serif;margin:22px 0}.project-copy p{color:#c1cfda;line-height:1.75}.project-data{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:26px}.datum{padding:18px;border-radius:16px;background:rgba(255,255,255,.06)}.datum small{display:block;color:#90a8ba;text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px}.datum b{font-size:15px}.project-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.project-tabs button{background:transparent;border:1px solid rgba(255,255,255,.18);color:#dbe6ee;border-radius:999px;padding:10px 14px;cursor:pointer}.project-tabs button.active{background:var(--lime);color:var(--navy);border-color:var(--lime)}
.gallery{display:grid;grid-template-columns:1.3fr .7fr .7fr;grid-template-rows:280px 280px;gap:12px}.shot{border-radius:22px;overflow:hidden;position:relative;background:#cad3d9}.shot:first-child{grid-row:1/3}.shot img{width:100%;height:100%;object-fit:cover;transition:.5s}.shot:hover img{transform:scale(1.04)}.shot:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 60%,rgba(5,24,43,.65))}.shot span{position:absolute;z-index:2;left:18px;bottom:16px;color:#fff;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.cta{background:var(--lime);padding:74px 0}.cta .shell{display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px}.cta h2{font:400 clamp(44px,5vw,74px)/.95 Georgia,serif;margin:0;max-width:950px;color:var(--navy)}
.pagehero{padding:120px 0 90px;background:var(--navy);color:#fff;position:relative;overflow:hidden}.pagehero:after{content:'';position:absolute;width:540px;height:540px;border:1px solid rgba(159,213,42,.25);border-radius:50%;right:-180px;top:-260px;box-shadow:0 0 0 80px rgba(159,213,42,.035),0 0 0 160px rgba(159,213,42,.025)}.pagehero h1{font:400 clamp(58px,7vw,106px)/.9 Georgia,serif;margin:18px 0;max-width:1050px}.pagehero p{color:#c9d6df;max-width:700px;line-height:1.8;font-size:18px}.breadcrumb{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#9db0bf}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.split img{width:100%;height:620px;object-fit:cover;border-radius:28px}.list{display:grid;gap:12px}.list-item{display:grid;grid-template-columns:42px 1fr;gap:16px;padding:20px 0;border-bottom:1px solid var(--line)}.list-item .n{width:36px;height:36px;border-radius:50%;background:var(--navy);color:var(--lime);display:grid;place-items:center;font-size:12px;font-weight:900}.list-item h4{margin:0 0 6px;font-size:19px}.list-item p{margin:0;color:var(--muted);line-height:1.65}
.cards-2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.case{background:#fff;border:1px solid var(--line);border-radius:26px;overflow:hidden}.case .photo{height:320px;background:#ddd center/cover}.case .body{padding:28px}.case h3{font-size:26px;margin:8px 0 10px}.case p{color:var(--muted);line-height:1.65}.case-meta{display:flex;justify-content:space-between;gap:20px;padding-top:18px;border-top:1px solid var(--line);font-size:12px;color:#596978}.verified{display:inline-flex;background:#eaf6d6;color:#31510a;border-radius:999px;padding:7px 10px;font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:900}
.company-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px}.quote{background:var(--navy);color:#fff;border-radius:28px;padding:44px}.quote p{font:400 34px/1.25 Georgia,serif;margin:0}.quote small{display:block;margin-top:22px;color:#aabcca}.facts{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.fact{padding:24px;border:1px solid var(--line);border-radius:20px;background:#fff}.fact b{display:block;font-size:20px;margin-bottom:8px}.fact span{color:var(--muted);line-height:1.5}
.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:grid;gap:8px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:800;color:#42505d;text-transform:uppercase;letter-spacing:.09em}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:14px;padding:15px 16px;background:#fff;color:var(--ink);outline:0}.field textarea{min-height:140px;resize:vertical}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}.contact-panel{background:var(--navy);color:#fff;padding:36px;border-radius:26px}.contact-panel a{display:block;font-size:22px;font-weight:800;margin:14px 0}.contact-panel p{color:#bdcbd7;line-height:1.7}.formcard{background:#fff;border-radius:28px;padding:38px;border:1px solid var(--line)}
.footer{background:#041421;color:#fff;padding:70px 0 28px}.footer-grid{display:grid;grid-template-columns:1.4fr .7fr .7fr .9fr;gap:50px}.footer h4{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:#8ca2b2;margin:0 0 18px}.footer a{display:block;margin:10px 0;color:#d8e3eb;font-size:14px}.footer p{color:#9fb2c0;line-height:1.7}.footer .brand-title{color:#fff}.footline{border-top:1px solid rgba(255,255,255,.12);padding-top:22px;margin-top:45px;font-size:12px;color:#8297a6;display:flex;justify-content:space-between;gap:20px}
.reveal{opacity:0;transform:translateY(24px);transition:.7s}.reveal.show{opacity:1;transform:none}
@media(max-width:1050px){.shell{width:min(100% - 36px,1200px)}.topbar{display:none}.nav{grid-template-columns:1fr auto;height:78px}.navlinks,.actions .call{display:none}.actions{display:flex}.menu{display:block}.hero{min-height:720px}.hero-grid,.headrow,.split,.company-grid,.contact-grid{grid-template-columns:1fr}.proof-card{justify-self:start}.service-grid{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:280px 240px}.shot:first-child{grid-column:1/-1;grid-row:auto}.stats{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.mobile.open{display:flex;position:fixed;inset:78px 0 auto 0;background:var(--cream);padding:24px;z-index:49;flex-direction:column;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}.mobile a{padding:15px 6px;border-bottom:1px solid var(--line);font-weight:800}}
@media(max-width:700px){.shell{width:calc(100% - 28px)}.brand-sub{display:none}.actions .btn{display:none}.hero{min-height:760px;padding:80px 0}.hero-grid{align-items:start}.hero h1{font-size:62px}.proof-card{padding:20px}.stats{grid-template-columns:1fr 1fr}.stat{padding:20px 12px}.stat strong{font-size:25px}.section{padding:78px 0}.headrow{gap:22px}.service-grid,.cards-2,.facts,.formgrid{grid-template-columns:1fr}.project-feature{grid-template-columns:1fr}.project-image{min-height:360px}.project-copy{padding:26px}.project-data{grid-template-columns:1fr}.gallery{grid-template-columns:1fr;grid-template-rows:auto}.shot,.shot:first-child{height:300px;grid-column:auto}.cta .shell{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footline{flex-direction:column}.pagehero{padding:90px 0 70px}.pagehero h1{font-size:60px}.contact-panel a{font-size:18px}}
