
/* Nigeocom V7 Elementor migration */
:root{--ng-blue:#006eac;--ng-deep:#052c3e;--ng-ink:#152128;--ng-paper:#f3f2ed;--ng-white:#fff;--ng-lime:#d8ff43;--ng-line:#c9ced0;--ng-muted:#627178;--ng-pale:#d8e8ed}
.elementor-198{font-family:"DM Sans",sans-serif;color:var(--ng-ink);background:var(--ng-paper)}
.elementor-198 h1,.elementor-198 h2,.elementor-198 h3{font-family:"Manrope",sans-serif}
.elementor-element-nghero{position:relative;isolation:isolate;overflow:hidden;min-height:760px;padding:80px 6vw 0;background:radial-gradient(circle at 76% 30%,rgba(0,110,172,.45),transparent 25%),linear-gradient(135deg,#052c3e 0%,#052c3e 55%,#006eac 100%)}
.elementor-element-nghero:before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(to right,black,transparent 65%)}
.elementor-element-ngheroin{width:min(1280px,100%);margin:auto;display:grid!important;grid-template-columns:1.05fr .95fr;gap:6vw;align-items:center}
.ng-eyebrow .elementor-heading-title{color:var(--ng-lime);font:600 11px/1.3 "DM Sans";letter-spacing:.18em;text-transform:uppercase}
.ng-title{margin-top:28px}.ng-title .elementor-heading-title{color:#fff;font:500 clamp(64px,7.2vw,110px)/.9 "Manrope";letter-spacing:-.07em}.ng-title em{font-style:normal;color:#d8e8ed}
.ng-lede{max-width:590px;margin-top:28px}.ng-lede,.ng-lede p{color:#c9ced0;font-size:19px;line-height:1.55}
.elementor-element-ngactions{margin-top:28px;display:flex!important;flex-direction:row!important;align-items:center;gap:28px}.ng-primary .elementor-button{border-radius:0;background:var(--ng-lime);color:var(--ng-deep);padding:17px 20px;font-weight:600}.ng-secondary .elementor-button{background:transparent;color:#fff;padding:14px 0;border-radius:0;border-bottom:1px solid rgba(255,255,255,.6)}
.ng-scene{position:relative;min-height:540px}.ng-scene:before,.ng-scene:after{content:"";position:absolute;border:1px solid rgba(126,211,244,.2);border-radius:50%;inset:6%}.ng-scene:after{inset:16%}
.ng-scene-card{position:absolute;inset:54px 40px 80px 70px;overflow:hidden;border:1px solid rgba(255,255,255,.15);background:#052c3e;box-shadow:0 35px 90px rgba(0,0,0,.4)}.ng-scene-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.8)}.ng-scene-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(2,27,39,.9),transparent 55%)}
.ng-live{position:absolute;z-index:2;top:18px;left:18px;color:#fff;background:rgba(4,35,49,.84);padding:9px 12px;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.ng-live i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--ng-lime);margin-right:8px}
.ng-caption{position:absolute;z-index:2;left:24px;bottom:22px;color:#fff}.ng-caption span,.ng-caption b{display:block}.ng-caption span{font-size:10px;color:#c9ced0;text-transform:uppercase;letter-spacing:.12em}.ng-caption b{font:500 24px "Manrope";margin-top:7px}
.ng-float{position:absolute;z-index:4;right:0;bottom:40px;background:var(--ng-lime);color:var(--ng-deep);padding:20px 25px;width:190px}.ng-float small,.ng-float strong,.ng-float span{display:block}.ng-float strong{font:600 38px "Manrope"}.ng-float span{font-size:10px}
.elementor-element-ngstats{width:58%;margin:42px -6vw 0 auto;display:grid!important;grid-template-columns:repeat(3,1fr);background:rgba(0,43,61,.88);backdrop-filter:blur(14px)}.ng-stat{padding:22px 25px;border-left:1px solid rgba(255,255,255,.18)}.ng-stat .elementor-heading-title{color:#fff;font:600 20px "Manrope"}.ng-stat-text,.ng-stat-text p{color:#c9ced0;font-size:11px;margin:5px 0 0}
.ng-signal,.elementor-element-ngsignal{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:13px 0!important;background:#6EC1E4!important;color:#0b2932!important;white-space:nowrap;overflow:hidden;font:700 10px/1.3 "Manrope",sans-serif!important;letter-spacing:.13em;text-align:left}.elementor-element-ngsignal .elementor-widget-container{width:100%;overflow:hidden}.ng-signal-track{display:flex;align-items:center;width:max-content;min-height:13px;animation:ng-signal-scroll 34s linear infinite}.ng-signal-track span{display:block;flex:0 0 auto;color:#0b2932!important;font:700 10px/1.3 "Manrope",sans-serif!important;text-transform:uppercase;letter-spacing:.13em}.ng-signal-track i{display:block;flex:0 0 auto;width:6px;height:6px;margin:0 24px;background:var(--ng-blue);transform:rotate(45deg)}@keyframes ng-signal-scroll{to{transform:translateX(-50%)}}@media(max-width:767px){.ng-signal,.elementor-element-ngsignal{padding:12px 0!important}.ng-signal-track span{font-size:9px!important}.ng-signal-track i{margin:0 20px}}@media(prefers-reduced-motion:reduce){.ng-signal-track{animation:none}}
.ng-section{padding:110px 6vw}.ng-kicker .elementor-heading-title{color:var(--ng-blue);font:600 11px "DM Sans";letter-spacing:.18em;text-transform:uppercase}.ng-h2 .elementor-heading-title{font:500 clamp(44px,5vw,76px)/1 "Manrope";letter-spacing:-.055em;color:var(--ng-ink)}.ng-h2 em{font-style:normal;color:var(--ng-blue)}
.elementor-element-ngabout{background:var(--ng-paper)}.elementor-element-ngaboutin{display:grid!important;grid-template-columns:.9fr 1.15fr 1fr;gap:5vw;align-items:start}.ng-body,.ng-body p{font-size:16px;line-height:1.72;color:#627178}.ng-body p{margin:0 0 18px}.ng-links{display:flex;gap:24px;flex-wrap:wrap;margin-top:25px}.ng-links a{color:var(--ng-deep);font-weight:600;border-bottom:1px solid;padding-bottom:5px}
.ng-region{background:var(--ng-deep);color:#fff;padding:26px;min-height:360px;border-radius:18px}.ng-region-head{display:flex;justify-content:space-between}.ng-region-head span,.ng-region-head b{display:block}.ng-region-head span{font-size:9px;text-transform:uppercase;color:#c9ced0;letter-spacing:.14em}.ng-region-head b{font:500 20px "Manrope";margin-top:6px}.ng-region-head small{color:var(--ng-lime)}.ng-route{position:relative;height:230px;margin-top:20px;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:34px 34px}.ng-route svg{position:absolute;inset:0;width:100%;height:100%}.ng-route path{fill:none;stroke:var(--ng-lime);stroke-width:2;stroke-dasharray:8 7}.ng-node{position:absolute}.ng-node:before{content:"";display:block;width:13px;height:13px;border-radius:50%;background:var(--ng-lime);box-shadow:0 0 0 7px rgba(216,255,67,.13)}.ng-node strong,.ng-node span{display:block}.ng-node strong{font:500 16px "Manrope";margin-top:8px}.ng-node span{font-size:9px;color:#c9ced0}.ng-node.ng{left:8%;top:48%}.ng-node.tz{right:5%;top:31%}
.elementor-element-ngservices{background:#fff}.elementor-element-ngservicehead{display:grid!important;grid-template-columns:1fr .7fr;align-items:end;gap:5vw;margin-bottom:60px}.elementor-element-ngservicegrid{display:grid!important;grid-template-columns:.78fr 1.22fr;gap:6vw}.ng-service-image img{width:100%;height:650px;object-fit:cover}.ng-service-list details{border-top:1px solid var(--ng-line)}.ng-service-list details:last-child{border-bottom:1px solid var(--ng-line)}.ng-service-list summary{list-style:none;display:grid;grid-template-columns:45px 1fr 28px;align-items:center;padding:24px 0;cursor:pointer}.ng-service-list summary::-webkit-details-marker{display:none}.ng-service-list summary small{color:#627178}.ng-service-list summary b{font:500 clamp(23px,2.1vw,31px) "Manrope"}.ng-service-list summary:after{content:"+";font-size:22px}.ng-service-list details[open] summary:after{content:"−"}.ng-service-list details p{margin:0 40px 25px 45px;color:#627178;line-height:1.6}
.elementor-element-ngdelivery{background:var(--ng-deep);color:#fff}.elementor-element-ngdelivery .ng-h2 .elementor-heading-title{color:#fff}.elementor-element-ngdelivery .ng-h2 em{color:#d8e8ed}.elementor-element-ngdeliveryintro{display:grid!important;grid-template-columns:1fr 1fr;gap:8vw}.elementor-element-ngdelivery .ng-body,.elementor-element-ngdelivery .ng-body p{color:#c9ced0}.ng-board{margin-top:70px;border:1px solid #627178}.ng-board-top{display:flex;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #627178;text-transform:uppercase;letter-spacing:.12em;font-size:9px;color:#c9ced0}.ng-summary{display:grid;grid-template-columns:1fr 1fr .8fr;border-bottom:1px solid #627178}.ng-summary>div{padding:24px;border-right:1px solid #627178}.ng-summary small,.ng-summary b,.ng-summary span{display:block}.ng-summary small{color:#c9ced0;font-size:9px;text-transform:uppercase}.ng-summary b{font:500 40px "Manrope";color:#d8e8ed}.ng-summary span{font-size:10px;color:#c9ced0}.ng-data-row{display:grid;grid-template-columns:50px 1.1fr 1fr 80px;gap:18px;align-items:center;padding:15px 20px;border-bottom:1px solid #052c3e}.ng-data-row span{color:#c9ced0;font-size:10px}.ng-data-row strong{font-weight:500}.ng-data-row b{text-align:right;color:#fff}.ng-bar{height:5px;background:#052c3e}.ng-bar i{display:block;height:100%;background:var(--ng-lime)}.elementor-element-ngdeliveryfoot{display:grid!important;grid-template-columns:1fr 1fr;gap:6vw;margin-top:40px}
.elementor-element-ngprojects{background:var(--ng-paper)}.elementor-element-ngprojecthead{display:flex!important;flex-direction:row!important;justify-content:space-between;align-items:end;margin-bottom:55px}.elementor-element-ngprojectgrid{display:grid!important;grid-template-columns:1.35fr .8fr .8fr;gap:20px}.ng-project img{width:100%;height:390px;object-fit:cover}.ng-project:first-child img{height:520px}.ng-meta,.ng-meta p{text-transform:uppercase;letter-spacing:.12em;font-size:9px;color:#627178;margin:16px 0 7px}.ng-project-name .elementor-heading-title{font:500 23px "Manrope"}
.elementor-element-ngstandards{display:grid!important;grid-template-columns:1fr 1fr;background:var(--ng-pale);padding:0}.ng-standard-image img{width:100%;height:720px;object-fit:cover}.elementor-element-ngstandardcopy{padding:85px 7vw;justify-content:center}.ng-pillars{border-top:1px solid #c9ced0;margin:25px 0 35px}.ng-pillars div{display:grid;grid-template-columns:50px 1fr;padding:14px 0;border-bottom:1px solid #c9ced0}.ng-pillars b{color:var(--ng-blue);font-size:11px}
.elementor-element-ngclients{background:#fff}.elementor-element-nglogos{display:grid!important;grid-template-columns:repeat(9,1fr);align-items:center;margin-top:48px}.ng-logo img{width:100%;height:58px;object-fit:contain;padding:8px}
.elementor-element-ngprofile{display:grid!important;grid-template-columns:.7fr 1.2fr 1fr;gap:5vw;align-items:center;background:#d8e8ed}.ng-pdf{font:600 50px "Manrope";color:var(--ng-blue)}.ng-doc{border-top:1px solid #c9ced0;padding-top:18px}.ng-doc span,.ng-doc b,.ng-doc small{display:block}.ng-doc span,.ng-doc small{font-size:10px;color:#627178}.ng-download .elementor-button{border-radius:0;width:100%;background:var(--ng-deep);color:#fff;padding:17px;margin-top:18px}
.elementor-element-ngcontact{background:var(--ng-blue);color:#fff}.elementor-element-ngcontact .ng-kicker .elementor-heading-title{color:#d8e8ed}.elementor-element-ngcontact .ng-h2 .elementor-heading-title{color:#fff}.ng-contact-link .elementor-button{background:transparent;color:var(--ng-lime);padding:8px 0;border-radius:0;font:500 clamp(35px,5vw,70px) "Manrope"}
@media(max-width:1024px){.elementor-element-ngheroin{grid-template-columns:1fr 1fr}.elementor-element-ngstats{width:78%}.elementor-element-ngaboutin{grid-template-columns:1fr 1fr}.elementor-element-ngaboutin>.elementor-element:last-child{grid-column:1/-1}.elementor-element-nglogos{grid-template-columns:repeat(5,1fr)}}
@media(max-width:767px){.ng-section{padding:75px 24px}.elementor-element-nghero{padding:70px 24px 0;min-height:auto}.elementor-element-ngheroin,.elementor-element-ngaboutin,.elementor-element-ngservicehead,.elementor-element-ngservicegrid,.elementor-element-ngdeliveryintro,.elementor-element-ngdeliveryfoot,.elementor-element-ngprojectgrid,.elementor-element-ngstandards,.elementor-element-ngprofile{grid-template-columns:1fr}.ng-title .elementor-heading-title{font-size:53px}.ng-scene{min-height:430px}.ng-scene-card{inset:35px 25px 70px 20px}.ng-float{right:0;width:160px}.elementor-element-ngstats{width:calc(100% + 48px);margin:35px -24px 0;grid-template-columns:1fr}.ng-stat{border-left:0;border-top:1px solid rgba(255,255,255,.18);padding:14px 24px}.ng-service-image img{height:420px}.ng-summary{grid-template-columns:1fr 1fr}.ng-summary>div:last-child{display:none}.ng-data-row{grid-template-columns:32px 1fr 60px}.ng-data-row .ng-bar{display:none}.elementor-element-ngprojecthead{align-items:flex-start;gap:25px}.ng-project img,.ng-project:first-child img{height:390px}.ng-standard-image img{height:480px}.elementor-element-ngstandardcopy{padding:70px 24px}.elementor-element-nglogos{grid-template-columns:repeat(3,1fr)}}

/* Elementor container normalization and exact V7 section rhythm */
.elementor-198 .e-con{--padding-top:0;--padding-right:0;--padding-bottom:0;--padding-left:0;--gap:0;padding:0;gap:0}
.elementor-198 .elementor-widget{margin-bottom:0}
.elementor-element-ngabout,.elementor-element-ngservices,.elementor-element-ngdelivery,.elementor-element-ngprojects,.elementor-element-ngclients,.elementor-element-ngprofile,.elementor-element-ngcontact{padding:110px 6vw!important}
.elementor-element-ngheroin,.elementor-element-ngaboutin,.elementor-element-ngservicehead,.elementor-element-ngservicegrid,.elementor-element-ngdeliveryintro,.elementor-element-ngdeliveryfoot,.elementor-element-ngprojecthead,.elementor-element-ngprojectgrid,.elementor-element-nglogos,.elementor-element-ngprofile{width:min(1280px,100%);margin-inline:auto}
.elementor-element-ngheroin{gap:6vw!important}
.elementor-element-ngactions{gap:28px!important}
.elementor-element-ngstats{gap:0!important}
.elementor-element-ngstats>.e-con{padding:22px 25px!important;border-left:1px solid rgba(255,255,255,.18)}
.elementor-element-ngstats .ng-stat{padding:0;border:0}
.elementor-element-ngaboutin{gap:5vw!important}
.elementor-element-ngservicehead{gap:5vw!important}
.elementor-element-ngservicegrid{gap:6vw!important}
.elementor-element-ngdeliveryintro{gap:8vw!important}
.elementor-element-ngdeliveryfoot{gap:6vw!important}
.elementor-element-ngprojectgrid{gap:20px!important}
.elementor-element-ngstandards{gap:0!important}
.elementor-element-ngstandardcopy{padding:85px 7vw!important}
.elementor-element-nglogos{gap:5vw!important}
.elementor-element-ngprofile{gap:5vw!important}
.elementor-element-ngcontact{display:flex!important;flex-direction:column!important;align-items:flex-start!important}
.elementor-element-ngaboutlead,.elementor-element-ngaboutbody,.elementor-element-ngservicehead>.e-con,.elementor-element-ngdeliveryintro>.e-con,.elementor-element-ngprojecthead>.e-con,.elementor-element-ngprojectgrid>.e-con,.elementor-element-ngstandardcopy,.elementor-element-ngprofile>.e-con{gap:0!important}
.elementor-element-ngaboutbody .ng-links{margin-top:8px}
.elementor-element-ngservicehead{margin-bottom:60px}
.elementor-element-ngdeliveryfoot{margin-top:40px}
.elementor-element-ngprojecthead{margin-bottom:55px}
.elementor-element-nglogos{margin-top:48px}
.elementor-element-ngclients{min-height:320px}
.elementor-element-ngcontact{min-height:430px;justify-content:center!important}
.elementor-element-ngcontact .ng-contact-link{margin-top:12px}
@media(max-width:1024px){.elementor-element-ngabout,.elementor-element-ngservices,.elementor-element-ngdelivery,.elementor-element-ngprojects,.elementor-element-ngclients,.elementor-element-ngprofile,.elementor-element-ngcontact{padding:90px 32px!important}}
@media(max-width:767px){.elementor-element-ngabout,.elementor-element-ngservices,.elementor-element-ngdelivery,.elementor-element-ngprojects,.elementor-element-ngclients,.elementor-element-ngprofile,.elementor-element-ngcontact{padding:75px 24px!important}.elementor-element-ngheroin,.elementor-element-ngaboutin,.elementor-element-ngservicehead,.elementor-element-ngservicegrid,.elementor-element-ngdeliveryintro,.elementor-element-ngdeliveryfoot,.elementor-element-ngprojectgrid,.elementor-element-ngstandards,.elementor-element-ngprofile{gap:40px!important}.elementor-element-ngstats>.e-con{padding:14px 24px!important;border-left:0;border-top:1px solid rgba(255,255,255,.18)}.elementor-element-ngprojecthead{gap:25px!important}.elementor-element-nglogos{gap:24px!important}.elementor-element-ngstandardcopy{padding:70px 24px!important}}

/* V7 fidelity pass: exact component character and proportions */
.elementor-element-nghero{min-height:900px;padding:105px 5.5vw 0;background:#031925}
.elementor-element-nghero:before{z-index:-3;background:radial-gradient(circle at 82% 37%,rgba(0,174,239,.2),transparent 28%),linear-gradient(120deg,#031925 20%,#07334a 100%);background-size:auto;mask-image:none}
.elementor-element-nghero:after{content:"";position:absolute;inset:0;z-index:-2;opacity:.17;background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(90deg,#000,transparent 76%)}
.elementor-element-ngheroin{grid-template-columns:1.05fr .95fr!important;align-items:center}
.ng-title .elementor-heading-title{font-size:clamp(68px,7.5vw,118px);line-height:.86}.ng-title em{background:linear-gradient(90deg,#8be0ff,#d8ff43);color:transparent;-webkit-background-clip:text;background-clip:text}
.ng-scene{min-height:650px}.ng-scene-card{inset:60px 65px 95px 85px;border-radius:180px 180px 26px 26px;box-shadow:0 35px 100px rgba(0,0,0,.42)}.ng-scene-card img{filter:none}.ng-float{right:0;bottom:70px;color:var(--ng-ink);background:rgba(239,247,248,.95);border-radius:18px;min-width:170px;width:auto;padding:18px 21px;box-shadow:0 20px 60px rgba(0,0,0,.2)}.ng-float strong{color:var(--ng-blue);font-size:30px}
.elementor-element-ngstats{width:47%;margin-top:20px;border:1px solid rgba(255,255,255,.12);border-bottom:0;border-radius:22px 0 0;overflow:hidden}
.elementor-element-ngservices{border-radius:42px 42px 0 0;margin-top:-25px;position:relative;z-index:2}.ng-service-image img{border-radius:28px;box-shadow:0 30px 80px rgba(8,40,54,.12)}.ng-service-list details{border-radius:15px;padding:0 18px}.ng-service-list details[open]{background:#edf6f8;border-color:transparent;margin:5px 0}
.elementor-element-ngdelivery{background:radial-gradient(circle at 85% 15%,rgba(0,142,204,.35),transparent 30%),var(--ng-deep)}
.ng-board{color:var(--ng-ink);background:rgba(241,248,249,.98);border:1px solid rgba(155,220,244,.4);border-radius:28px;overflow:hidden;box-shadow:0 45px 100px rgba(0,0,0,.26)}
.ng-board-top{color:#587079;background:#dcecf0;border-color:#bdced3;padding:16px 22px}.ng-summary{grid-template-columns:1fr 1fr 1.6fr;border-color:#cbd7da}.ng-summary>div{border-color:#cbd7da;padding:28px}.ng-summary small{color:#697b82}.ng-summary b{color:var(--ng-blue);font-size:42px}.ng-summary span{color:#718088}
.ng-data-row{grid-template-columns:55px minmax(230px,1.3fr) 1fr 80px;padding:15px 24px;border-color:#d7e0e2}.ng-data-row span{color:#87969c}.ng-data-row b{color:var(--ng-blue)}.ng-bar{height:6px;background:#d9e4e7;border-radius:99px;overflow:hidden}.ng-bar i{border-radius:99px;background:linear-gradient(90deg,#0088c5,#d8ff43)}
.ng-project img{border-radius:24px}.elementor-element-ngstandards{background:linear-gradient(135deg,#cce6ef,#eef2e4)}.ng-standard-image img{border-radius:0 60px 60px 0}
.elementor-element-nglogos{grid-template-columns:repeat(5,1fr);gap:0!important;border-top:1px solid #dce3e5;border-left:1px solid #dce3e5}.elementor-element-nglogos>.e-con{height:125px;padding:24px!important;border-right:1px solid #dce3e5;border-bottom:1px solid #dce3e5;display:grid!important;place-items:center}.ng-logo img{max-width:130px;max-height:58px;height:58px;padding:0;filter:none;opacity:1}
.elementor-element-ngprofile{position:relative;isolation:isolate;overflow:hidden;min-height:520px;color:#fff;background:linear-gradient(120deg,#031d2a 0%,#063b54 56%,#006ba5 100%)}.elementor-element-ngprofile:before{content:"";z-index:-1;border:1px solid rgba(154,223,250,.18);border-radius:50%;width:540px;height:540px;position:absolute;top:-220px;right:-120px;box-shadow:0 0 0 80px rgba(154,223,250,.04),0 0 0 160px rgba(154,223,250,.025)}.elementor-element-ngprofile .ng-h2 .elementor-heading-title{color:#fff}.elementor-element-ngprofile .ng-body,.elementor-element-ngprofile .ng-body p{color:#bdd0d8}.ng-pdf{width:120px;height:156px;display:grid;place-items:center;color:var(--ng-blue);background:linear-gradient(145deg,#f8fcfd,#cee7ef);border-radius:10px 28px 10px 10px;transform:rotate(-5deg);box-shadow:0 30px 70px rgba(0,0,0,.3)}.ng-doc{border-color:rgba(255,255,255,.2);background:rgba(3,29,42,.38);border:1px solid rgba(255,255,255,.2);border-radius:22px;padding:24px}.ng-doc span,.ng-doc small{color:#8fb0bd}.ng-doc b{color:#fff}.ng-download .elementor-button{border-radius:12px;background:var(--ng-lime);color:#0a2832}
.elementor-element-ngcontact{background:radial-gradient(circle at 90% 30%,rgba(216,255,67,.24),transparent 22%),linear-gradient(135deg,#0069a3,#003e60)}
@media(max-width:1024px){.elementor-element-nghero{min-height:980px;padding-top:70px}.elementor-element-nglogos{grid-template-columns:repeat(3,1fr)}}
@media(max-width:767px){.elementor-element-nghero{min-height:940px;padding-top:65px}.elementor-element-ngheroin{grid-template-columns:1fr!important}.ng-title .elementor-heading-title{font-size:53px}.ng-scene{min-height:410px}.ng-scene-card{inset:25px 45px 55px 35px;border-radius:110px 110px 22px 22px}.elementor-element-ngstats{width:calc(100% + 48px);margin:20px -24px 0;border-radius:0}.elementor-element-ngservices{border-radius:28px 28px 0 0;margin-top:-15px}.ng-summary{grid-template-columns:1fr}.ng-summary>div{border-bottom:1px solid #cbd7da}.ng-data-row{grid-template-columns:29px 1fr 60px;gap:8px;padding:15px}.ng-data-row .ng-bar{grid-column:2/4;display:block}.elementor-element-nglogos{grid-template-columns:repeat(2,1fr);gap:0!important}.elementor-element-nglogos>.e-con{height:105px;padding:20px!important}.ng-standard-image img{border-radius:0}.elementor-element-ngprofile{min-height:auto}.ng-pdf{width:76px;height:100px}}

/* Exact V7 correction: clients and company credentials */
.elementor-element-ngclients{padding:100px 6vw!important;min-height:0}
.elementor-element-ngclients>.ng-kicker{width:min(1280px,100%);margin:0 auto}
.elementor-element-nglogos{width:min(1280px,100%);margin:55px auto 0;align-items:stretch}
.elementor-element-nglogos>.e-con{min-width:0;justify-content:center!important;align-items:center!important;transition:background .3s}
.elementor-element-nglogos>.e-con:hover{background:#f1f7f8}
.elementor-element-nglogos .elementor-widget-image{width:100%}
.elementor-element-nglogos .elementor-widget-container{height:100%;display:grid;place-items:center}
.elementor-element-nglogos .ng-logo img{display:block;width:100%;height:auto;max-width:130px;max-height:58px;object-fit:contain;filter:none!important;opacity:1!important}
.elementor-element-ngprofile{width:100%!important;max-width:none!important;margin:0!important;padding:90px 6vw!important;grid-template-columns:130px minmax(0,1.25fr) minmax(280px,.9fr)!important;gap:5vw!important;align-items:center!important}
.elementor-element-ngprofile>.e-con{min-width:0}
.elementor-element-ngpcopy{gap:0!important}.elementor-element-ngpcopy .ng-kicker{margin-bottom:24px}.elementor-element-ngpcopy .ng-body{margin-top:27px;max-width:650px}
.elementor-element-ngpaction{gap:0!important;padding:24px!important;background:rgba(3,29,42,.38);border:1px solid rgba(255,255,255,.2);border-radius:22px;backdrop-filter:blur(16px)}
.elementor-element-ngpaction .ng-doc{padding:0;border:0;border-radius:0;background:transparent}.elementor-element-ngpaction .ng-doc span{font-size:9px;text-transform:uppercase;letter-spacing:.15em}.elementor-element-ngpaction .ng-doc b{display:block;margin:7px 0;font:500 18px Manrope}.elementor-element-ngpaction .ng-doc small{font-size:11px}
.elementor-element-ngpaction .ng-download{width:100%;margin-top:25px}.elementor-element-ngpaction .ng-download .elementor-button{display:flex;width:100%;justify-content:space-between;align-items:center;margin:0;padding:17px 18px;font-size:14px;font-weight:700}.elementor-element-ngpaction .ng-download .elementor-button-content-wrapper{width:100%;justify-content:space-between}.elementor-element-ngpaction .ng-download .elementor-button-content-wrapper:after{content:"↓";font-size:20px;line-height:1}
.elementor-element-ngprofile .ng-pdf{position:relative;width:120px;height:156px;padding-top:62px;font:700 11px Manrope;letter-spacing:.2em;text-align:center}
.elementor-element-ngprofile .ng-pdf:before{
  content:"";
  position:absolute;
  top:34px;
  left:50%;
  width:40px;
  height:48px;
  transform:translateX(-50%);
  background:var(--ng-blue);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 28'%3E%3Cpath d='M4 1h10l6 6v20H4zM14 1v7h6M8 14h8M8 18h8M8 22h6' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 28'%3E%3Cpath d='M4 1h10l6 6v20H4zM14 1v7h6M8 14h8M8 18h8M8 22h6' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}.elementor-element-ngprofile .ng-pdf:after{content:"";position:absolute;inset:9px;border:1px solid rgba(0,110,172,.18);border-radius:6px 21px 6px 6px}
@media(max-width:1024px){.elementor-element-ngprofile{grid-template-columns:110px 1fr!important;padding:75px 32px!important}.elementor-element-ngpaction{grid-column:2}.elementor-element-ngclients{padding:90px 32px!important}}
@media(max-width:767px){.elementor-element-ngclients{padding:75px 24px!important}.elementor-element-ngprofile{grid-template-columns:1fr!important;padding:70px 24px!important;gap:35px!important}.elementor-element-ngpaction{grid-column:1}.elementor-element-ngprofile .ng-pdf{width:76px;height:100px;padding-top:45px}.elementor-element-ngprofile .ng-pdf:before{top:19px;width:30px;height:36px}.elementor-element-nglogos{margin-top:42px}}

/* Elementor optimized-markup fix: logo widgets are direct grid cells */
.elementor-element-nglogos>.ng-logo{min-width:0;width:auto!important;height:125px!important;margin:0!important;padding:24px!important;border-right:1px solid #dce3e5;border-bottom:1px solid #dce3e5;display:grid!important;place-items:center!important;align-self:stretch;transition:background .3s}
.elementor-element-nglogos>.ng-logo:hover{background:#f1f7f8}
.elementor-element-nglogos>.ng-logo img{margin:auto!important}
@media(max-width:767px){.elementor-element-nglogos>.ng-logo{height:105px!important;padding:20px!important}}

/* Exact V7 correction: Selected work width and header action */
.elementor-element-ngprojects{padding:120px 6vw!important}
.elementor-element-ngprojecthead,.elementor-element-ngprojectgrid{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
.elementor-element-ngprojecthead{display:flex!important;flex-direction:row!important;justify-content:space-between!important;align-items:flex-end!important;gap:40px!important}
.elementor-element-ngprojecthead>.elementor-element-ngphead{flex:1 1 auto!important;width:auto!important;min-width:0}
.elementor-element-ngprojecthead>.elementor-element-ngpall{flex:0 0 auto!important;width:auto!important;margin:0 0 8px!important}
.elementor-element-ngprojecthead .elementor-element-ngpall .elementor-button{display:inline-flex!important;width:auto!important;min-width:0!important;padding:0 0 7px!important;border:0!important;border-bottom:1px solid var(--ng-ink)!important;border-radius:0!important;background:transparent!important;color:var(--ng-ink)!important;font:600 14px/1.3 "DM Sans",sans-serif!important;box-shadow:none!important}
.elementor-element-ngprojecthead .elementor-element-ngpall .elementor-button-content-wrapper{display:flex;align-items:center;gap:12px}
.elementor-element-ngprojecthead .elementor-element-ngpall .elementor-button-content-wrapper:after{content:"→";font-size:17px;line-height:1}
.elementor-element-ngprojectgrid{grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr) minmax(0,.8fr)!important}
.elementor-element-ngprojectgrid>.e-con{min-width:0;width:auto!important}
@media(max-width:1024px){.elementor-element-ngprojects{padding:90px 32px!important}}
@media(max-width:767px){.elementor-element-ngprojects{padding:75px 24px!important}.elementor-element-ngprojecthead{align-items:flex-start!important;gap:28px!important}.elementor-element-ngprojecthead>.elementor-element-ngpall{margin:4px 0 0!important}.elementor-element-ngprojectgrid{grid-template-columns:1fr!important}}

/* Exact V7 correction: Start a conversation arrow */
.elementor-element-ngcontact .ng-contact-link .elementor-button-content-wrapper{display:flex!important;align-items:center!important;gap:25px!important}
.elementor-element-ngcontact .ng-contact-link .elementor-button-content-wrapper:after{content:"→";display:inline-grid;place-items:center;flex:0 0 auto;width:52px;height:52px;font:400 52px/1 "Manrope",sans-serif;color:var(--ng-lime);transition:transform .25s ease}
.elementor-element-ngcontact .ng-contact-link .elementor-button:hover .elementor-button-content-wrapper:after{transform:translateX(6px)}
@media(max-width:767px){.elementor-element-ngcontact .ng-contact-link .elementor-button-content-wrapper{gap:16px!important}.elementor-element-ngcontact .ng-contact-link .elementor-button-content-wrapper:after{width:32px;height:32px;font-size:32px}}

/* Exact V7 correction: complete 2025 delivery composition */
.elementor-element-ngdelivery{padding:120px 6vw 110px!important}
.elementor-element-ngdeliveryintro,.elementor-element-ngdeliveryfoot{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
.elementor-element-ngdeliveryintro{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:end!important}
.elementor-element-ngdeliveryintro>.e-con,.elementor-element-ngdeliveryintro>.elementor-widget{width:auto!important;min-width:0}
.elementor-element-ngdhead{width:auto!important;min-width:0}
.elementor-element-ngdhead .ng-h2 .elementor-heading-title{font-size:clamp(54px,7vw,100px)!important;line-height:.88!important;letter-spacing:-.065em!important}
.elementor-element-ngdlead{align-self:end}
.elementor-element-ngdlead>p,.elementor-element-ngdlead .elementor-widget-container>p{max-width:650px;margin:0;color:#c4d4da;font-size:19px;line-height:1.6}
.elementor-element-ngdlead strong{color:var(--ng-lime)}
.ng-coverage{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.ng-coverage span{color:#9fb5be;border:1px solid rgba(255,255,255,.18);border-radius:99px;padding:8px 11px;font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.1em}
.elementor-element-ngboard{width:100%!important}
.ng-board-top>div{display:flex;align-items:center;gap:8px}.ng-board-top i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#53b92c;box-shadow:0 0 0 5px rgba(83,185,44,.12)}
.ng-board-signal{display:flex!important;align-items:flex-end!important;gap:12px!important;min-height:120px;padding:28px 40px!important}.ng-board-signal span{display:block;flex:1;border-radius:6px 6px 0 0;background:linear-gradient(0deg,var(--ng-blue),#92dbf7)}.ng-board-signal span:nth-child(1){height:28%}.ng-board-signal span:nth-child(2){height:62%}.ng-board-signal span:nth-child(3){height:45%}.ng-board-signal span:nth-child(4){height:86%}.ng-board-signal span:nth-child(5){height:70%}
.ng-data-head{display:grid;grid-template-columns:55px minmax(230px,1.3fr) 1fr 80px;align-items:center;gap:18px;padding:13px 24px;color:#75858b;background:#edf2f3;font-size:8px;text-transform:uppercase;letter-spacing:.14em}
.elementor-element-ngdeliveryfoot{margin:50px 0 0 30%!important;width:70%!important;grid-template-columns:1fr 1fr!important;gap:7vw!important}
.elementor-element-ngdeliveryfoot .ng-body:first-child,.elementor-element-ngdeliveryfoot .ng-body:first-child p{color:#fff;font-size:18px}
.elementor-element-ngdeliveryfoot .ng-body:last-child,.elementor-element-ngdeliveryfoot .ng-body:last-child p{color:#b8cbd2;font-size:15px;line-height:1.7}
@media(max-width:1024px){.elementor-element-ngdelivery{padding:85px 32px!important}.elementor-element-ngdeliveryfoot{width:100%!important;margin-left:0!important}.ng-board-signal{display:none!important}.ng-summary{grid-template-columns:1fr 1fr}}
@media(max-width:767px){.elementor-element-ngdelivery{padding:85px 24px!important}.elementor-element-ngdeliveryintro{grid-template-columns:1fr!important;gap:40px!important}.elementor-element-ngdhead .ng-h2 .elementor-heading-title{font-size:58px!important}.elementor-element-ngdlead>p,.elementor-element-ngdlead .elementor-widget-container>p{font-size:16px}.ng-data-head{display:none}.elementor-element-ngdeliveryfoot{grid-template-columns:1fr!important;gap:6px!important}}

/* Exact V7 correction: What we do full-width composition */
.elementor-element-ngservices{padding:120px 6vw!important}
.elementor-element-ngservicehead,.elementor-element-ngservicegrid{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
.elementor-element-ngservicehead{grid-template-columns:minmax(0,1fr) minmax(280px,30%)!important;align-items:end!important;gap:6vw!important}
.elementor-element-ngservicehead>.e-con,.elementor-element-ngservicehead>.elementor-widget{width:auto!important;min-width:0}
.elementor-element-ngshead1{width:auto!important;min-width:0}
.elementor-element-ngshead1 .ng-kicker{margin-bottom:26px}
.elementor-element-ngservicehead>.elementor-element-ngsdesc{max-width:430px;justify-self:end}
.elementor-element-ngservicegrid{grid-template-columns:minmax(0,41%) minmax(0,1fr)!important;gap:6vw!important;align-items:start}
.elementor-element-ngservicegrid>.elementor-widget{width:auto!important;min-width:0}
.elementor-element-ngservicegrid>.elementor-element-ngsimg{width:100%!important}
.elementor-element-ngservicegrid>.elementor-element-ngslist{width:100%!important}
@media(max-width:1024px){.elementor-element-ngservices{padding:90px 32px!important}}
@media(max-width:767px){.elementor-element-ngservices{padding:75px 24px!important}.elementor-element-ngservicehead,.elementor-element-ngservicegrid{grid-template-columns:1fr!important;gap:40px!important}.elementor-element-ngservicehead>.elementor-element-ngsdesc{max-width:650px;justify-self:start}}

/* Exact V7 correction: Who we are full-width composition */
.elementor-element-ngabout{padding:130px 7vw!important}
.elementor-element-ngaboutin{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr) minmax(300px,1fr)!important;gap:5vw!important;align-items:start!important}
.elementor-element-ngaboutin>.e-con,.elementor-element-ngaboutin>.elementor-widget{width:auto!important;min-width:0}
.elementor-element-ngaboutlead,.elementor-element-ngaboutbody{width:auto!important;min-width:0}
.elementor-element-ngaboutlead .ng-kicker{margin-bottom:28px}
.elementor-element-ngaboutbody .ng-links{margin-top:25px}
.elementor-element-ngaboutin>.elementor-element-ngregion{width:100%!important}
@media(max-width:1024px){.elementor-element-ngabout{padding:90px 32px!important}.elementor-element-ngaboutin{grid-template-columns:1fr 1fr!important}.elementor-element-ngaboutin>.elementor-element-ngregion{grid-column:1/-1}}
@media(max-width:767px){.elementor-element-ngabout{padding:80px 24px!important}.elementor-element-ngaboutin{grid-template-columns:1fr!important;gap:40px!important}.elementor-element-ngaboutin>.elementor-element-ngregion{grid-column:auto}}

/* Exact V7 correction: complete Who we are visual treatment */
.elementor-element-ngabout{padding:125px 6vw 110px!important;background:radial-gradient(circle at 86% 30%,rgba(0,132,190,.1),transparent 30%),linear-gradient(135deg,#f5f4ef,#e7f1f3)!important}
.elementor-element-ngaboutin{grid-template-columns:minmax(260px,.82fr) minmax(300px,.92fr) minmax(430px,1.26fr)!important;gap:3.5vw!important}
.elementor-element-ngaboutlead .ng-kicker{margin:7px 0 30px!important}.elementor-element-ngaboutlead .ng-h2 .elementor-heading-title{margin:0;color:var(--ng-ink);font:500 clamp(42px,4.4vw,68px)/.94 "Manrope",sans-serif!important;letter-spacing:-.06em!important}.elementor-element-ngaboutlead .ng-h2 em{color:var(--ng-blue)!important}
.elementor-element-ngaboutbody{padding-top:48px!important}.elementor-element-ngaboutbody .ng-body p{margin:0 0 20px;color:#43545c;font-size:17px;line-height:1.72}.elementor-element-ngaboutbody .ng-body p:first-child{color:var(--ng-ink);font-size:20px}
.elementor-element-ngaboutbody .ng-links{display:flex;align-items:center;flex-wrap:wrap;gap:28px;margin-top:35px}.elementor-element-ngaboutbody .ng-links a{display:inline-flex;align-items:center;gap:9px;padding:0 0 7px;font-size:14px;font-weight:600;text-decoration:none}.elementor-element-ngaboutbody .ng-links a:first-child{color:var(--ng-ink);border-bottom:1px solid var(--ng-ink)}.elementor-element-ngaboutbody .ng-links a:last-child{color:var(--ng-blue);border-bottom:0}
.elementor-element-ngregion{align-self:stretch}.ng-region{min-height:0;height:100%;padding:0;background:#062b3c;color:#fff;border-radius:26px;overflow:hidden;box-shadow:0 30px 80px rgba(9,53,70,.18)}.ng-region-head,.ng-region-foot{display:flex;align-items:center;justify-content:space-between}.ng-region-head{padding:19px 22px;border-bottom:1px solid rgba(255,255,255,.12)}.ng-region-head span{margin-bottom:4px;color:#83a3af;font-size:8px;text-transform:uppercase;letter-spacing:.15em}.ng-region-head b{margin:0;color:#fff;font:500 16px "Manrope",sans-serif}.ng-region-head small{color:#bdd2da;font-size:9px;text-transform:uppercase;letter-spacing:.12em}.ng-region-head small i{display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:var(--ng-lime);box-shadow:0 0 0 5px rgba(216,255,67,.09)}
.ng-route{height:260px;margin:0;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 50%,rgba(0,144,202,.16),transparent 55%)}.ng-route-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(90deg,transparent,#000 20%,#000 80%,transparent)}.ng-route svg{inset:20px 5%;width:90%;height:220px;overflow:visible}.ng-route path{stroke-dasharray:none}.ng-route .ng-route-shadow{stroke:rgba(0,0,0,.4);stroke-width:7}.ng-route .ng-route-path{stroke:#80d8f7;stroke-width:2;stroke-dasharray:7 7}.ng-node:before{display:none}.ng-node>i{display:block;width:13px;height:13px;margin-bottom:12px;border:3px solid #fff;border-radius:50%;background:var(--ng-lime);box-shadow:0 0 0 8px rgba(216,255,67,.1)}.ng-node strong{margin:0;color:#fff;font:600 17px "Manrope",sans-serif}.ng-node span{margin-top:3px;color:#8faab5;font-size:9px}.ng-node.ng{left:13%;top:47%}.ng-node.tz{right:8%;top:35%}.ng-route-pulse{position:absolute;width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 13px #fff}.ng-route-pulse.p1{left:44%;top:42%}.ng-route-pulse.p2{left:64%;top:58%}.ng-region-foot{padding:13px 22px;background:rgba(255,255,255,.045);color:#7898a4;font-size:8px;text-transform:uppercase;letter-spacing:.11em}
@media(max-width:1180px){.elementor-element-ngaboutin{grid-template-columns:minmax(230px,.8fr) minmax(280px,1fr) minmax(360px,1.2fr)!important;gap:28px!important}.elementor-element-ngaboutlead .ng-h2 .elementor-heading-title{font-size:48px!important}.elementor-element-ngaboutbody{padding-top:42px!important}}
@media(max-width:900px){.elementor-element-ngabout{padding:85px 24px!important}.elementor-element-ngaboutin{grid-template-columns:1fr!important;gap:42px!important}.elementor-element-ngaboutbody{padding-top:0!important}.elementor-element-ngaboutlead .ng-h2 .elementor-heading-title{font-size:62px!important;max-width:720px}.elementor-element-ngaboutin>.elementor-element-ngregion{grid-column:auto}.ng-route{height:240px}}
@media(max-width:560px){.elementor-element-ngaboutlead .ng-h2 .elementor-heading-title{font-size:50px!important}.elementor-element-ngaboutin{gap:34px!important}.elementor-element-ngaboutbody .ng-body p,.elementor-element-ngaboutbody .ng-body p:first-child{font-size:16px}.elementor-element-ngaboutbody .ng-links{align-items:flex-start;flex-direction:column;gap:18px}.ng-route{height:225px}.ng-node.tz{right:4%}.ng-region-foot{gap:20px}}

/* Exact V7 correction: complete hero composition */
.elementor-element-nghero{box-sizing:border-box!important;width:100%!important;max-width:none!important;height:900px!important;min-height:900px!important;margin:0!important;padding:0 0 0 5.5vw!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;overflow:hidden!important;background:#031925!important}
.elementor-element-nghero:before{content:"";position:absolute;inset:0;z-index:-3;background:radial-gradient(circle at 82% 37%,rgba(0,174,239,.2),transparent 28%),linear-gradient(120deg,#031925 20%,#07334a 100%)!important}
.elementor-element-nghero:after{content:"";position:absolute;inset:0;z-index:-2;opacity:.17;background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(90deg,#000,transparent 76%)}
.elementor-element-ngheroin{box-sizing:border-box;width:100%!important;max-width:none!important;height:720px!important;margin:0!important;padding:0 4.5vw 0 0!important;display:grid!important;grid-template-columns:minmax(0,52%) minmax(0,48%)!important;gap:0!important;align-items:center!important}
.elementor-element-ngheroin>.e-con,.elementor-element-ngheroin>.elementor-widget{width:auto!important;min-width:0}
.elementor-element-ngherocopy{z-index:4;width:auto!important;max-width:650px!important;padding-top:5px!important;gap:0!important}
.elementor-element-ngherocopy .ng-eyebrow{margin:0 0 28px!important}.elementor-element-ngherocopy .ng-eyebrow .elementor-heading-title{display:flex;align-items:center;gap:12px;color:#6EC1E4!important;font:600 11px/1.3 "DM Sans",sans-serif!important;letter-spacing:.18em}.elementor-element-ngherocopy .ng-eyebrow .elementor-heading-title:before{content:"";display:block;flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:#6EC1E4;box-shadow:0 0 0 7px rgba(110,193,228,.12)}
.elementor-element-ngherocopy .ng-title{width:max-content!important;max-width:none!important;margin:0!important;overflow:visible!important}.elementor-element-ngherocopy .ng-title .elementor-heading-title{width:max-content;max-width:none;margin:0;color:#fff;font-family:"Manrope",sans-serif!important;font-size:clamp(68px,7.5vw,118px)!important;font-weight:500!important;line-height:.86!important;letter-spacing:-.07em!important;white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important}.elementor-element-ngherocopy .ng-title em{display:inline-block;font-style:normal;background:linear-gradient(90deg,#8be0ff 0%,#d8ff43 100%);color:transparent!important;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}
.elementor-element-ngherocopy .ng-lede{width:100%!important;max-width:560px!important;margin:30px 0 0!important}.elementor-element-ngherocopy .ng-lede p{margin:0;color:#c7d8df!important;font-size:19px!important;line-height:1.55!important}
.elementor-element-ngactions{width:auto!important;margin:30px 0 0!important;padding:0!important;display:flex!important;flex-direction:row!important;align-items:center!important;gap:28px!important}.elementor-element-ngactions>.elementor-widget{width:auto!important;flex:0 0 auto!important}
.elementor-element-ngactions .ng-primary .elementor-button{padding:17px 20px!important;border:0!important;border-radius:0!important;background:var(--ng-lime)!important;color:#0a2832!important;font:600 14px/1.2 "DM Sans",sans-serif!important}.elementor-element-ngactions .ng-primary .elementor-button-content-wrapper{display:flex;align-items:center;gap:12px}.elementor-element-ngactions .ng-primary .elementor-button-content-wrapper:after{content:none}
.elementor-element-ngactions .ng-primary .elementor-button-icon,
.elementor-element-ngactions .ng-primary .elementor-button-icon svg{color:#0a2832!important;fill:#0a2832!important}
.elementor-element-ngactions .ng-primary .elementor-button-icon svg path{fill:#0a2832!important}
.elementor-element-ngactions .ng-secondary .elementor-button{padding:0 0 6px!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.5)!important;border-radius:0!important;background:transparent!important;color:#fff!important;font:500 14px/1.2 "DM Sans",sans-serif!important}.elementor-element-ngactions .ng-secondary .elementor-button-content-wrapper{display:flex;align-items:center;gap:9px}.elementor-element-ngactions .ng-secondary .elementor-button-content-wrapper:after{content:"→";font-size:16px}
.elementor-element-ngscene{width:100%!important;height:650px!important;align-self:center}.elementor-element-ngscene .elementor-widget-container{height:100%}.ng-scene{width:100%;height:100%;min-height:0;position:relative;display:grid;place-items:center}.ng-scene:before,.ng-scene:after{content:"";position:absolute;top:50%;left:50%;right:auto;bottom:auto;height:auto;aspect-ratio:1;transform:translate(-50%,-50%);border-style:solid;border-width:1px;border-radius:50%;pointer-events:none}.ng-scene:before{width:116%;border-color:rgba(154,223,250,.25)}.ng-scene:after{width:136%;border-color:rgba(216,255,67,.12)}.ng-scene-card{z-index:2;position:absolute;top:50%;left:50%;width:min(104%,676px);aspect-ratio:1;height:auto;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.28);border-radius:50%;overflow:hidden;box-shadow:0 35px 100px rgba(0,0,0,.42)}.ng-scene-card img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:none}.ng-scene-card:after{display:none}.ng-live{top:22px;left:20px;padding:9px 13px;border:1px solid rgba(255,255,255,.2);border-radius:99px;background:rgba(3,25,37,.75);backdrop-filter:blur(12px)}.ng-caption{left:27px;right:27px;bottom:28px}.ng-caption span{font-size:9px;letter-spacing:.15em}.ng-caption b{margin-top:7px;font-size:20px}.ng-float{right:0;bottom:70px;min-width:170px;width:auto;padding:18px 21px;border-radius:18px;background:rgba(239,247,248,.95);color:var(--ng-ink);box-shadow:0 20px 60px rgba(0,0,0,.2)}.ng-float small{color:#64747a;font-size:8px;text-transform:uppercase;letter-spacing:.12em}.ng-float strong{margin:4px 0;color:var(--ng-blue);font:600 30px "Manrope",sans-serif}.ng-float span{font-size:10px}
.elementor-element-ngstats{box-sizing:border-box;width:47%!important;max-width:none!important;height:180px!important;margin:0 0 0 auto!important;padding:0!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0!important;align-items:stretch!important;border:1px solid rgba(255,255,255,.12);border-right:0;border-bottom:0;border-radius:22px 0 0;overflow:hidden;background:rgba(4,38,53,.62);backdrop-filter:blur(14px)}
.elementor-element-ngstats>.e-con{box-sizing:border-box;width:auto!important;min-width:0;height:100%!important;padding:24px 28px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;gap:0!important;border-left:1px solid rgba(255,255,255,.18)}.elementor-element-ngstats>.e-con:first-child{border-left:0}.elementor-element-ngstats .ng-stat .elementor-heading-title{color:#fff!important;font:600 23px/1.2 "Manrope",sans-serif!important}.elementor-element-ngstats .ng-stat-text{margin-top:6px!important}.elementor-element-ngstats .ng-stat-text p{margin:0;color:#b8c8cf!important;font-size:12px!important;line-height:1.4}
@media(max-width:1024px){.elementor-element-nghero{height:980px!important;min-height:980px!important;padding-left:24px!important}.elementor-element-ngheroin{height:800px!important;padding-right:24px!important;grid-template-columns:minmax(0,52%) minmax(0,48%)!important}.elementor-element-ngherocopy .ng-title .elementor-heading-title{font-size:62px!important}.elementor-element-ngscene{height:570px!important}.ng-scene-card{top:50%;left:50%;right:auto;bottom:auto;width:min(104%,610px);height:auto;transform:translate(-50%,-50%);border-radius:50%}.elementor-element-ngstats{width:100%!important;height:180px!important}}
/* V7 inner pages */
.ng-page-hero{box-sizing:border-box;min-height:620px;padding:105px 6vw 90px!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(380px,.8fr);align-items:center;gap:7vw!important;color:#fff;background:radial-gradient(circle at 86% 25%,rgba(0,142,204,.35),transparent 28%),linear-gradient(125deg,#031925,#07334a)}
.ng-page-hero>.e-con,.ng-page-hero>.elementor-widget{width:auto!important;min-width:0}.ng-page-hero>.e-con{gap:0!important}.ng-page-kicker .elementor-heading-title{color:var(--ng-blue);font:700 10px "DM Sans",sans-serif;text-transform:uppercase;letter-spacing:.17em}.ng-page-hero .ng-page-kicker .elementor-heading-title{color:var(--ng-lime)}.ng-page-title{margin-top:30px}.ng-page-title .elementor-heading-title{margin:0;color:#fff;font:500 clamp(58px,6.7vw,102px)/.91 "Manrope",sans-serif;letter-spacing:-.065em}.ng-page-lede{max-width:650px;margin-top:30px}.ng-page-lede p{margin:0;color:#c2d5dc;font-size:18px;line-height:1.65}.ng-page-hero-image img{display:block;width:100%;height:440px;object-fit:cover;border-radius:220px 220px 26px 26px}
.ng-page-h2 .elementor-heading-title{margin:0;color:var(--ng-ink);font:500 clamp(42px,5vw,76px)/1 "Manrope",sans-serif;letter-spacing:-.055em}.ng-page-copy p{margin:0 0 20px;color:#526168;font-size:17px;line-height:1.72}
.ng-inner-intro{padding:120px 6vw!important;display:grid!important;grid-template-columns:25% 1fr;gap:6vw!important}.ng-inner-intro>.e-con{width:auto!important;gap:0!important}.ng-inner-intro .ng-page-copy{margin-top:30px;max-width:850px}
.ng-principles{display:grid!important;grid-template-columns:repeat(3,1fr);gap:0!important;padding:0 6vw 120px!important}.ng-principles>.elementor-widget{width:auto!important}.ng-principle{min-height:310px;padding:34px;border:1px solid var(--ng-line);border-right:0}.ng-principles>.elementor-widget:last-child .ng-principle{border-right:1px solid var(--ng-line)}.ng-principle small{color:var(--ng-blue);font-size:10px;text-transform:uppercase;letter-spacing:.15em}.ng-principle h3{margin:100px 0 0;font:500 clamp(24px,2.4vw,35px)/1.15 "Manrope",sans-serif}
.ng-policy{padding:110px 6vw!important;display:grid!important;grid-template-columns:1fr 1fr;gap:8vw!important;background:var(--ng-pale)}.ng-policy>.e-con,.ng-policy>.elementor-widget{width:auto!important;gap:25px!important}.ng-check-list p{position:relative;margin:0;padding:17px 0 17px 32px;border-bottom:1px solid #a9bdc4;color:#30434b}.ng-check-list p:before{content:"✓";position:absolute;left:0;color:var(--ng-blue);font-weight:700}
.ng-service-page-intro{padding:110px 6vw!important;background:#E1E8ED}.ng-service-page-intro .ng-page-h2{margin-top:25px}.ng-service-page-intro .ng-page-copy{max-width:900px;margin-top:30px}
.ng-turnkey-scope{padding:110px 6vw!important;display:grid!important;grid-template-columns:.8fr 1.2fr;gap:8vw!important;background:#fff}.ng-turnkey-scope>.e-con,.ng-turnkey-scope>.elementor-widget{width:auto!important;gap:25px!important}.ng-scope-list{border-top:1px solid var(--ng-line)}.ng-scope-list p{display:grid;grid-template-columns:55px 1fr;gap:18px;margin:0;padding:17px 0;border-bottom:1px solid var(--ng-line);color:#425159}.ng-scope-list span{color:var(--ng-blue);font-size:11px}
.ng-service-details-section{padding:120px 6vw!important;background:var(--ng-pale)}.ng-service-details-section>.elementor-widget{width:100%!important}.ng-service-details-section .ng-page-h2{margin:25px 0 70px}.ng-service-detail{display:grid;grid-template-columns:1fr 1fr;gap:7vw;padding:45px 0;border-top:1px solid var(--ng-line)}.ng-service-detail-title{display:grid;grid-template-columns:50px 1fr;gap:18px}.ng-service-detail-title>span{color:var(--ng-blue);font-size:11px}.ng-service-detail-title h3{margin:0;font:500 clamp(28px,3vw,45px)/1.05 "Manrope",sans-serif}.ng-service-detail-title img{grid-column:1/-1;width:100%;height:340px;margin-top:25px;object-fit:cover;border-radius:22px}.ng-service-detail-copy{align-self:center}.ng-service-detail-copy p{color:#5b6a70;font-size:16px;line-height:1.7}.ng-service-detail-copy .lead{color:var(--ng-ink);font-size:20px}
.ng-project-archive{padding:120px 6vw!important;display:grid!important;grid-template-columns:.75fr 1.25fr;gap:8vw!important}.ng-project-archive>.e-con,.ng-project-archive>.elementor-widget{width:auto!important;gap:25px!important}.ng-project-table{border-top:1px solid var(--ng-line);gap:0!important}.ng-project-table>.e-con{width:100%!important;min-width:0}.ng-project-row{display:grid!important;grid-template-columns:50px 1.4fr 1fr 90px!important;gap:18px!important;align-items:center!important;padding:20px 0!important;border-bottom:1px solid var(--ng-line)}.ng-project-number,.ng-project-name,.ng-project-location,.ng-project-year{width:auto!important;margin:0!important}.ng-project-number .elementor-heading-title{color:var(--ng-blue);font:500 10px/1.2 "DM Sans",sans-serif}.ng-project-name .elementor-heading-title{margin:0;color:var(--ng-ink);font:500 18px/1.2 "Manrope",sans-serif}.ng-project-location p{margin:0;color:#68767c;font-size:13px}.ng-project-year{text-align:right}.ng-project-year .elementor-heading-title{color:var(--ng-blue);font:700 12px/1.2 "DM Sans",sans-serif}.ng-project-gallery{padding:0 6vw 120px!important;display:grid!important;grid-template-columns:1.3fr 1fr 1fr;gap:20px!important}.ng-project-gallery>.elementor-widget{width:auto!important}.ng-project-gallery img{width:100%;height:430px;object-fit:cover;border-radius:22px}
.ng-client-page-grid{padding:110px 6vw!important;display:grid!important;grid-template-columns:repeat(3,1fr);gap:0!important;background:#fff}.ng-client-page-grid>.ng-client-logo{box-sizing:border-box;width:auto!important;height:190px;padding:40px!important;display:grid!important;place-items:center;border-right:1px solid #dce3e5;border-bottom:1px solid #dce3e5}.ng-client-page-grid>.ng-client-logo:nth-child(-n+3){border-top:1px solid #dce3e5}.ng-client-page-grid>.ng-client-logo:nth-child(3n+1){border-left:1px solid #dce3e5}.ng-client-logo img{display:block;max-width:170px;max-height:80px;object-fit:contain;filter:none!important}
.ng-foundation-support{padding:120px 6vw!important;display:grid!important;grid-template-columns:.85fr 1.15fr;gap:7vw!important}.ng-foundation-support>.e-con{width:auto!important;gap:0!important}.ng-foundation-support .ng-page-h2{margin:25px 0 30px}.ng-foundation-grid{display:grid!important;grid-template-columns:1fr 1fr;gap:22px!important}.ng-foundation-grid>.elementor-widget,.ng-foundation-grid>.e-con{width:auto!important;min-width:0;gap:0!important}.ng-foundation-media{position:relative!important;height:390px;overflow:hidden;border-radius:22px;padding:0!important}.ng-foundation-image{width:100%!important;height:100%}.ng-foundation-image .elementor-widget-container{width:100%;height:100%}.ng-foundation-image img{display:block;width:100%;height:100%;object-fit:cover}.ng-foundation-label{position:absolute!important;left:18px;bottom:18px;width:auto!important;margin:0!important}.ng-foundation-label .elementor-heading-title{display:block;padding:8px 10px;border-radius:99px;background:var(--ng-lime);color:#16303a;font:500 9px/1.2 "DM Sans",sans-serif;text-transform:uppercase;letter-spacing:.1em}.ng-foundation-title{margin:18px 0 0!important}.ng-foundation-title .elementor-heading-title{margin:0;color:var(--ng-ink);font:500 21px/1.25 "Manrope",sans-serif}.ng-csr-pillars{display:grid!important;grid-template-columns:repeat(4,1fr);padding:0 6vw 120px!important;gap:0!important}.ng-csr-pillars>.e-con{width:auto!important;min-width:0;gap:0!important}.ng-csr-pillar{padding:28px!important;border:1px solid var(--ng-line);border-right:0}.ng-csr-pillars>.ng-csr-pillar:last-child{border-right:1px solid var(--ng-line)}.ng-csr-pillar-number{margin:0!important}.ng-csr-pillar-number .elementor-heading-title{color:var(--ng-blue);font:500 10px/1.2 "DM Sans",sans-serif}.ng-csr-pillar-title{margin:45px 0 15px!important}.ng-csr-pillar-title .elementor-heading-title{margin:0;color:var(--ng-ink);font:500 24px/1.2 "Manrope",sans-serif}.ng-csr-pillar-copy{margin:0!important}.ng-csr-pillar-copy p{margin:0;color:#607077;font-size:13px;line-height:1.6}
@media(max-width:1024px){.ng-page-hero{padding:85px 32px!important;grid-template-columns:1fr 1fr}.ng-inner-intro,.ng-turnkey-scope,.ng-project-archive,.ng-foundation-support{padding-left:32px!important;padding-right:32px!important}.ng-principles,.ng-service-details-section,.ng-project-gallery,.ng-client-page-grid{padding-left:32px!important;padding-right:32px!important}.ng-policy{padding:90px 32px!important}.ng-client-page-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:767px){.ng-page-hero{min-height:auto;padding:75px 24px!important;grid-template-columns:1fr;gap:45px!important}.ng-page-title .elementor-heading-title{font-size:52px}.ng-page-hero-image img{height:360px}.ng-inner-intro,.ng-policy,.ng-turnkey-scope,.ng-project-archive,.ng-foundation-support{padding:75px 24px!important;grid-template-columns:1fr;gap:40px!important}.ng-principles{padding:0 24px 75px!important;grid-template-columns:1fr}.ng-principle{min-height:220px;border-right:1px solid var(--ng-line);border-bottom:0}.ng-principles>.elementor-widget:last-child .ng-principle{border-bottom:1px solid var(--ng-line)}.ng-principle h3{margin-top:65px}.ng-service-page-intro,.ng-service-details-section{padding:75px 24px!important}.ng-service-detail{grid-template-columns:1fr;gap:25px}.ng-project-row{grid-template-columns:52px minmax(0,1fr)!important;grid-template-rows:auto auto auto;column-gap:16px!important;row-gap:6px!important;align-items:start!important}.ng-project-number{grid-column:1;grid-row:1;align-self:start}.ng-project-name,.ng-project-location,.ng-project-year{grid-column:2;min-width:0;width:100%!important}.ng-project-name{grid-row:1}.ng-project-location{grid-row:2}.ng-project-year{grid-row:3;text-align:left}.ng-project-gallery{padding:0 24px 75px!important;grid-template-columns:1fr}.ng-client-page-grid{padding:75px 24px!important;grid-template-columns:repeat(2,1fr)}.ng-client-page-grid>.ng-client-logo{height:140px;padding:25px!important}.ng-client-page-grid>.ng-client-logo:nth-child(-n+3){border-top:0}.ng-client-page-grid>.ng-client-logo:nth-child(-n+2){border-top:1px solid #dce3e5}.ng-client-page-grid>.ng-client-logo:nth-child(3n+1){border-left:0}.ng-client-page-grid>.ng-client-logo:nth-child(2n+1){border-left:1px solid #dce3e5}.ng-foundation-grid{grid-template-columns:1fr}.ng-csr-pillars{padding:0 24px 75px!important;grid-template-columns:1fr}.ng-csr-pillar{border-right:1px solid var(--ng-line);border-bottom:0}.ng-csr-pillars>.ng-csr-pillar:last-child{border-bottom:1px solid var(--ng-line)}}

/* V7 supporting inner pages */
.ng-masonry{padding:110px 6vw!important;display:grid!important;grid-template-columns:repeat(3,1fr);gap:22px!important;align-items:start}.ng-masonry>.ng-gallery-item{width:auto!important;gap:0!important}.ng-gallery-item img{width:100%;height:420px;object-fit:cover;border-radius:22px}.ng-masonry>.ng-gallery-item:nth-child(3n+2) img{height:520px}.ng-gallery-caption .elementor-heading-title{margin:14px 0 0;color:#6a787e;font:600 9px "DM Sans",sans-serif;text-transform:uppercase;letter-spacing:.13em}
.ng-partner-grid{display:grid!important;grid-template-columns:repeat(3,1fr);padding:110px 6vw!important;gap:0!important}.ng-partner-grid>.e-con{width:auto!important;min-width:0;gap:0!important}.ng-partner-card{min-height:220px;padding:28px!important;border-right:1px solid var(--ng-line);border-bottom:1px solid var(--ng-line)}.ng-partner-grid>.ng-partner-card:nth-child(-n+3){border-top:1px solid var(--ng-line)}.ng-partner-grid>.ng-partner-card:nth-child(3n+1){border-left:1px solid var(--ng-line)}.ng-partner-number{margin:0!important}.ng-partner-number .elementor-heading-title{color:var(--ng-blue);font:500 10px/1.2 "DM Sans",sans-serif}.ng-partner-name{margin:60px 0 10px!important}.ng-partner-name .elementor-heading-title{margin:0;color:var(--ng-ink);font:500 22px/1.2 "Manrope",sans-serif}.ng-partner-type{margin:0!important}.ng-partner-type p{margin:0;color:#718087;font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.ng-leadership{padding:110px 6vw!important;gap:100px!important}.ng-leadership>.ng-leader{width:100%!important;display:grid!important;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);gap:7vw!important;align-items:center}.ng-leadership>.ng-leader:nth-child(even){grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)}.ng-leadership>.ng-leader:nth-child(even)>.elementor-widget{order:2}.ng-leader>.elementor-widget,.ng-leader>.e-con{width:auto!important;min-width:0;gap:25px!important}.ng-leader img{width:100%;height:520px;object-fit:cover;border-radius:26px}
.ng-team-directory{padding:110px 6vw!important;display:grid!important;grid-template-columns:repeat(2,1fr);gap:0!important}.ng-team-directory>.e-con{width:auto!important;min-width:0}.ng-team-member{display:grid!important;grid-template-columns:50px 1fr!important;grid-template-rows:auto auto;gap:8px 18px!important;padding:26px 0!important;border-bottom:1px solid var(--ng-line)}.ng-team-directory>.ng-team-member:nth-child(odd){padding-right:35px!important;border-right:1px solid var(--ng-line)}.ng-team-directory>.ng-team-member:nth-child(even){padding-left:35px!important}.ng-team-number{grid-column:1;grid-row:1/3;margin:0!important}.ng-team-number .elementor-heading-title{color:var(--ng-blue);font:500 10px/1.2 "DM Sans",sans-serif}.ng-team-name{grid-column:2;grid-row:1;margin:0!important}.ng-team-name .elementor-heading-title{margin:0;color:var(--ng-ink);font:500 21px/1.2 "Manrope",sans-serif}.ng-team-role{grid-column:2;grid-row:2;margin:0!important}.ng-team-role p{margin:0;color:#69777d;font-size:13px}
.ng-contact-page{padding:110px 6vw!important;display:grid!important;grid-template-columns:.85fr 1.15fr;gap:8vw!important}.ng-contact-page>.e-con,.ng-contact-page>.elementor-widget{width:auto!important;min-width:0}.ng-contact-page>.e-con{gap:25px!important}.ng-contact-offices{margin-top:45px}.ng-contact-offices article{padding:22px 0;border-top:1px solid var(--ng-line)}.ng-contact-offices small{color:var(--ng-blue);font-size:9px;text-transform:uppercase;letter-spacing:.14em}.ng-contact-offices h3{margin:7px 0;font:500 22px "Manrope",sans-serif}.ng-contact-offices p{margin:0;color:#68777d;line-height:1.6}.ng-contact-offices a{color:var(--ng-blue);text-decoration:none}.ng-contact-form{padding:35px!important;border-radius:24px;background:#fff}.ng-contact-form .wpforms-field{padding:0 0 22px!important}.ng-contact-form label{color:#405159!important;font:600 14px/1.35 "DM Sans",sans-serif!important;text-transform:uppercase;letter-spacing:.07em}.ng-contact-form input,.ng-contact-form textarea{border:0!important;border-bottom:1px solid #9fb4bb!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.ng-contact-form textarea{min-height:140px!important}.ng-contact-form button{padding:16px 20px!important;border:0!important;border-radius:0!important;background:var(--ng-blue)!important;color:#fff!important;font-weight:700!important}
.ng-profile-page{padding:120px 6vw!important;display:grid!important;grid-template-columns:180px 1fr;gap:7vw!important;align-items:center;background:linear-gradient(135deg,#eef4f5,#d8e8ed)}.ng-profile-page>.elementor-widget,.ng-profile-page>.e-con{width:auto!important;min-width:0}.ng-profile-page>.e-con{gap:25px!important}.ng-profile-page-icon{width:150px!important;height:190px;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:14px!important;background:linear-gradient(145deg,#fff,#d8e8ed);border-radius:12px 34px 12px 12px;transform:rotate(-5deg);box-shadow:0 30px 70px rgba(0,0,0,.15)}.ng-profile-page-doc-icon{margin:0!important;width:auto!important}.ng-profile-page-doc-icon .elementor-icon{color:var(--ng-blue);font-size:54px;line-height:1}.ng-profile-page-doc-icon .elementor-icon svg{width:54px;height:54px;fill:currentColor}.ng-profile-page-icon-label{margin:0!important;width:auto!important}.ng-profile-page-icon-label .elementor-heading-title{color:var(--ng-blue);font:700 16px "Manrope",sans-serif;letter-spacing:.2em}.ng-profile-page-button{margin-top:12px}.ng-profile-page-button .elementor-button{padding:17px 20px!important;border-radius:0!important;background:var(--ng-blue)!important;color:#fff!important;font-weight:700!important}
@media(max-width:1024px){.ng-masonry,.ng-partner-grid,.ng-leadership,.ng-team-directory,.ng-contact-page,.ng-profile-page{padding-left:32px!important;padding-right:32px!important}}
@media(max-width:767px){.ng-masonry{padding:75px 24px!important;grid-template-columns:1fr}.ng-masonry>.ng-gallery-item:nth-child(n) img{height:390px}.ng-partner-grid{padding:75px 24px!important;grid-template-columns:1fr}.ng-partner-grid>.ng-partner-card{border-left:1px solid var(--ng-line);border-top:0}.ng-partner-grid>.ng-partner-card:first-child{border-top:1px solid var(--ng-line)}.ng-leadership{padding:75px 24px!important;gap:70px!important}.ng-leadership>.ng-leader,.ng-leadership>.ng-leader:nth-child(even){grid-template-columns:1fr!important;gap:35px!important}.ng-leadership>.ng-leader:nth-child(even)>.elementor-widget{order:0}.ng-leader img{height:420px}.ng-team-directory{padding:75px 24px!important;grid-template-columns:1fr}.ng-team-directory>.ng-team-member:nth-child(n){padding:22px 0!important;border-right:0}.ng-contact-page{padding:75px 24px!important;grid-template-columns:1fr;gap:50px!important}.ng-contact-form{padding:24px!important}.ng-profile-page{padding:75px 24px!important;grid-template-columns:1fr;gap:45px!important}.ng-profile-page-icon{width:110px!important;height:140px}}
/* V7 global header and footer templates */
.elementor-element-ngglobalheader{box-sizing:border-box;width:100%;height:88px;padding:0 5.5vw!important;display:grid!important;grid-template-columns:220px 1fr auto;align-items:center;gap:36px;background:#fff;border-bottom:1px solid #e1e5e6}
.elementor-element-ngheaderlogo{width:185px!important}.elementor-element-ngheaderlogo img{display:block;width:185px;height:58px;object-fit:contain}
.elementor-element-ngheadernav{justify-self:center;display:flex!important;flex-direction:row!important;align-items:center;gap:24px!important;overflow:visible!important}.elementor-element-ngheadernav>.elementor-widget,.elementor-element-ngheadernav>.e-con{width:auto!important;min-width:0;overflow:visible!important}.elementor-element-ngheadernav .elementor-button{padding:8px 0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#28373e!important;font:500 13px "DM Sans",sans-serif!important;white-space:nowrap}.elementor-element-ngheadernav .elementor-button:hover{color:var(--ng-blue)!important}
.ng-header-dropdown{position:relative!important;display:block!important;width:auto!important;overflow:visible!important}.ng-header-dropdown>.ng-nav-toggle .elementor-button-content-wrapper:after{content:"⌄";display:inline-block;margin-left:6px;color:var(--ng-blue);font-size:12px;transition:transform .2s ease}.ng-header-submenu{position:absolute!important;z-index:9999;top:calc(100% + 20px);left:-20px;display:flex!important;flex-direction:column!important;gap:0!important;width:230px!important;padding:10px 0!important;visibility:hidden;opacity:0;transform:translateY(8px);pointer-events:none;background:#fff;border:1px solid #dce3e5;box-shadow:0 18px 45px rgba(5,44,62,.15);transition:opacity .2s ease,transform .2s ease,visibility .2s}.ng-header-dropdown:hover>.ng-header-submenu,.ng-header-dropdown:focus-within>.ng-header-submenu{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}.ng-header-dropdown:hover>.ng-nav-toggle .elementor-button-content-wrapper:after{transform:rotate(180deg)}.ng-header-submenu>.elementor-widget{width:100%!important}.ng-header-submenu .elementor-button{display:block!important;width:100%!important;padding:11px 18px!important;text-align:left!important;color:#405159!important;font-size:12px!important}.ng-header-submenu .elementor-button:hover{background:#e8f1f3!important;color:var(--ng-blue)!important}
.elementor-element-ngheadercta{width:auto!important}.elementor-element-ngheadercta .elementor-button{padding:14px 18px!important;border-radius:0!important;background:var(--ng-blue)!important;color:#fff!important;font:600 13px "DM Sans",sans-serif!important}
.elementor-element-ngglobalfooter{box-sizing:border-box;width:100%;padding:75px 6vw 65px!important;display:grid!important;grid-template-columns:2fr 1fr 1.4fr;gap:7vw!important;background:#051f2b;color:#fff}
.elementor-element-ngglobalfooter>.e-con{width:auto!important;min-width:0;gap:0!important}.ng-footer-logo{width:190px!important}.ng-footer-logo img{display:block;width:190px;height:70px;object-fit:contain;background:#fff}.ng-footer-tag{max-width:350px;margin-top:24px}.ng-footer-tag p{margin:0;color:#9fb2ba;font-size:18px;line-height:1.5}.ng-footer-region .elementor-heading-title{display:inline-block;margin-top:18px;padding:8px 11px;border:1px solid #35505c;border-radius:99px;color:#9fc6d4;font:600 9px "DM Sans",sans-serif;text-transform:uppercase;letter-spacing:.12em}
.ng-footer-label .elementor-heading-title{margin:0 0 24px;color:var(--ng-lime);font:700 11px "DM Sans",sans-serif;text-transform:uppercase;letter-spacing:.16em}.ng-footer-links p,.ng-footer-offices p{margin:0;color:#aebdc3;font-size:14px;line-height:1.85}.ng-footer-links a{color:#aebdc3;text-decoration:none}.ng-footer-offices p+p{margin-top:18px}.ng-footer-offices strong{color:var(--ng-lime);font-size:9px;text-transform:uppercase;letter-spacing:.14em}
.elementor-element-ngfooterbottom{box-sizing:border-box;width:100%;padding:22px 6vw 25px!important;display:flex!important;justify-content:space-between;align-items:center;background:#051f2b;border-top:1px solid #304651}.ng-footer-copy p{margin:0;color:#80959e;font-size:12px}.ng-footer-copy a{color:#80959e}
@media(max-width:1024px){.elementor-element-ngglobalheader{grid-template-columns:180px 1fr auto;padding:0 32px!important}.elementor-element-ngheadernav{gap:16px!important}.elementor-element-ngglobalfooter{padding:65px 32px!important;gap:45px!important}}
@media(max-width:767px){.elementor-element-ngglobalheader{height:76px;grid-template-columns:1fr auto;padding:0 24px!important}.elementor-element-ngheadernav{display:none!important}.elementor-element-ngheaderlogo,.elementor-element-ngheaderlogo img{width:145px!important}.elementor-element-ngheadercta .elementor-button{padding:11px 13px!important;font-size:11px!important}.elementor-element-ngglobalfooter{grid-template-columns:1fr;padding:60px 24px!important;gap:42px!important}.elementor-element-ngfooterbottom{padding:22px 24px!important;align-items:flex-start;flex-direction:column!important;gap:12px!important}}

@media(max-width:767px){.elementor-element-nghero{height:940px!important;min-height:940px!important;padding:0 24px!important}.elementor-element-ngheroin{height:800px!important;padding:0!important;display:block!important}.elementor-element-ngherocopy{max-width:none!important;padding-top:64px!important}.elementor-element-ngherocopy .ng-title .elementor-heading-title{font-size:min(53px,13.5vw)!important}.elementor-element-ngherocopy .ng-lede{margin-top:22px!important}.elementor-element-ngherocopy .ng-lede p{font-size:16px!important}.elementor-element-ngactions{margin-top:24px!important;flex-direction:column!important;align-items:flex-start!important;gap:18px!important}.elementor-element-ngscene{height:370px!important;margin-top:24px!important}.ng-scene-card{top:50%;left:50%;right:auto;bottom:auto;width:min(94%,360px);height:auto;transform:translate(-50%,-50%);border-radius:50%}.ng-float{right:-4px;bottom:28px;min-width:142px;padding:14px}.elementor-element-ngstats{width:calc(100% + 48px)!important;height:140px!important;margin-left:-24px!important;grid-template-columns:1fr 1fr!important;border-radius:0}.elementor-element-ngstats>.e-con{padding:14px 24px!important}.elementor-element-ngstats>.e-con:nth-child(2){display:none!important}.elementor-element-ngstats .ng-stat .elementor-heading-title{font-size:17px!important}}












/* Inner-page hero — approved V7 prototype */
.ng-page-hero{
  box-sizing:border-box;
  width:100%;
  max-width:none!important;
  height:640px;
  min-height:640px;
  padding:0!important;
  display:block!important;
  position:relative;
  overflow:hidden;
  color:#fff;
  background:var(--ng-deep);
}
.ng-page-hero:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(2,27,40,.96),rgba(2,40,58,.74) 54%,rgba(0,0,0,.2)),linear-gradient(180deg,transparent 55%,rgba(2,27,40,.7));
}
.ng-page-hero>.ng-page-hero-image{
  display:block!important;
  position:absolute!important;
  inset:0;
  z-index:0;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  margin:0!important;
}
.ng-page-hero>.ng-page-hero-image .elementor-widget-container,
.ng-page-hero>.ng-page-hero-image a,
.ng-page-hero>.ng-page-hero-image picture{
  display:block;
  width:100%;
  height:100%;
}
.ng-page-hero>.ng-page-hero-image img{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  border-radius:0;
  object-fit:cover;
  object-position:center;
  filter:saturate(.65);
}
.ng-page-hero>.ng-page-hero-copy{
  display:block!important;
  position:absolute;
  left:6vw;
  bottom:95px;
  z-index:2;
  width:min(1030px,88vw)!important;
  max-width:1030px!important;
  min-width:0;
  margin:0!important;
}
.ng-page-hero .ng-page-kicker,
.ng-page-hero .ng-page-title,
.ng-page-hero .ng-page-lede{margin:0!important}
.ng-page-hero .ng-page-kicker .elementor-heading-title{
  color:var(--ng-lime);
  text-transform:uppercase;
  letter-spacing:.16em;
  font:600 10px/1.2 "DM Sans",sans-serif;
}
.ng-page-hero .ng-page-title .elementor-heading-title{
  margin:18px 0 25px;
  color:#fff;
  letter-spacing:-.065em;
  font:500 clamp(58px,7vw,104px)/.9 Manrope,sans-serif;
}
.ng-page-hero .ng-page-lede,
.ng-page-hero .ng-page-lede p{
  max-width:650px;
  margin:0;
  color:#c6d7de;
  font:400 18px/1.6 "DM Sans",sans-serif;
}
.ng-page-hero>.ng-page-index{
  position:absolute!important;
  right:5vw;
  bottom:30px;
  z-index:2;
  width:auto!important;
  margin:0!important;
}
.ng-page-hero .ng-page-index .elementor-heading-title{
  color:#a9bdc5;
  text-transform:uppercase;
  letter-spacing:.15em;
  font:500 9px/1.2 "DM Sans",sans-serif;
}
@media(max-width:767px){
  .ng-page-hero{
    height:560px;
    min-height:560px;
    padding:0!important;
  }
  .ng-page-hero>.ng-page-hero-copy{
    left:24px;
    right:24px;
    bottom:78px;
    width:auto!important;
    max-width:none!important;
  }
  .ng-page-hero .ng-page-title .elementor-heading-title{
    margin:14px 0 20px;
    font-size:clamp(46px,14vw,64px);
    line-height:.92;
  }
  .ng-page-hero .ng-page-lede,
  .ng-page-hero .ng-page-lede p{
    max-width:560px;
    font-size:16px;
    line-height:1.55;
  }
  .ng-page-hero>.ng-page-index{
    right:24px;
    bottom:24px;
  }
}


/* About page principles — approved V7 prototype */
.ng-principles{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0!important;
  width:100%;
  max-width:none!important;
  padding:0 6vw!important;
  background:var(--ng-deep)!important;
  color:#fff;
}
.ng-principles>.elementor-widget{
  width:auto!important;
  min-width:0;
  height:100%;
  margin:0!important;
}
.ng-principles>.elementor-widget>.elementor-widget-container{height:100%}
.ng-principle{
  box-sizing:border-box;
  min-height:0;
  height:100%;
  padding:70px 45px;
  border:0;
  border-left:1px solid #38515c;
  background:transparent;
}
.ng-principles>.elementor-widget:last-child .ng-principle{
  border-right:1px solid #38515c;
}
.ng-principle svg{
  display:block;
  width:30px;
  height:30px;
  margin:0 0 70px;
  color:var(--ng-lime);
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.ng-principle small{
  display:block;
  color:#8ea8b2;
  text-transform:uppercase;
  letter-spacing:.15em;
  font:500 10px/1.2 "DM Sans",sans-serif;
}
.ng-principle h3{
  max-width:390px;
  margin:18px 0;
  color:#fff;
  letter-spacing:-.025em;
  font:500 27px/1.25 Manrope,sans-serif;
}
@media(max-width:767px){
  .ng-principles{
    grid-template-columns:1fr!important;
    padding:0 24px!important;
  }
  .ng-principle{
    padding:50px 30px;
    border-right:1px solid #38515c;
    border-bottom:0;
  }
  .ng-principles>.elementor-widget:last-child .ng-principle{
    border-bottom:1px solid #38515c;
  }
  .ng-principle svg{margin-bottom:35px}
  .ng-principle h3{max-width:none}
}


/* About — Our company image */
.ng-inner-intro>.ng-company-visual{
  width:auto!important;
  min-width:0;
  gap:0!important;
}
.ng-company-image{
  width:100%;
  margin:34px 0 0!important;
}
.ng-company-image img{
  display:block;
  width:100%;
  height:310px;
  object-fit:cover;
  object-position:center;
  border-radius:2px;
  filter:saturate(.78);
}
@media(max-width:1024px) and (min-width:768px){
  .ng-company-image img{height:250px}
}
@media(max-width:767px){
  .ng-company-image{margin-top:24px!important}
  .ng-company-image img{height:280px}
}


/* Services — Complete scope image */
.ng-turnkey-scope>.ng-scope-heading{
  width:auto!important;
  min-width:0;
  gap:0!important;
}
.ng-scope-image{
  width:100%;
  margin:42px 0 0!important;
}
.ng-scope-image img{
  display:block;
  width:100%;
  height:430px;
  object-fit:cover;
  object-position:center;
  border-radius:2px;
  filter:saturate(.78);
}
@media(max-width:1024px) and (min-width:768px){
  .ng-scope-image img{height:350px}
}
@media(max-width:767px){
  .ng-scope-image{margin-top:28px!important}
  .ng-scope-image img{height:300px}
}


/* Services — Detailed capabilities, approved V7 prototype */
.ng-service-details-section{
  display:block!important;
  width:100%;
  max-width:none!important;
  padding:120px 6vw!important;
  background:#E1E8ED!important;
}
.ng-service-details-section>.ng-details-intro{
  display:grid!important;
  grid-template-columns:25% minmax(0,1fr)!important;
  gap:0!important;
  width:100%!important;
  max-width:none!important;
  margin:0 0 80px!important;
}
.ng-details-intro>.elementor-widget{width:auto!important;min-width:0}
.ng-service-details-section .ng-details-intro .ng-page-h2{
  width:auto!important;
  max-width:850px;
  margin:0!important;
}
.ng-service-details-section>.ng-service-details-widget{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
.ng-service-details{width:100%}
.ng-service-detail{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:8vw;
  padding:80px 0;
  border-top:1px solid #c6d1d4;
  scroll-margin-top:30px;
}
.ng-service-detail-title{
  display:grid;
  grid-template-columns:55px minmax(0,1fr);
  gap:10px;
  align-content:start;
}
.ng-service-detail-title>span{
  padding-top:8px;
  color:var(--ng-blue);
  font:500 11px/1.3 "DM Sans",sans-serif;
}
.ng-service-detail-title h3{
  margin:0;
  color:var(--ng-ink);
  letter-spacing:-.04em;
  font:500 clamp(30px,3vw,45px)/1.08 Manrope,sans-serif;
}
.ng-service-detail-title img{
  grid-column:1/-1;
  display:block;
  width:100%;
  height:300px;
  margin-top:30px;
  object-fit:cover;
  object-position:center;
  border-radius:18px;
  background:#dce6e9;
  filter:none;
}
.ng-service-detail-copy{
  align-self:start;
  padding:0;
}
.ng-service-detail-copy>p{
  margin:0 0 18px;
  color:#5c6d74;
  font:400 15px/1.75 "DM Sans",sans-serif;
}
.ng-service-detail-copy>.lead{
  color:var(--ng-ink);
  font-size:19px;
}
.ng-detail-items{
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:25px;
  margin-top:35px;
  border-top:1px solid #d0dadd;
}
.ng-detail-items p{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:0;
  padding:13px 0;
  border-bottom:1px solid #d0dadd;
  color:#5c6d74;
  font:400 12px/1.45 "DM Sans",sans-serif;
}
.ng-detail-items svg{
  width:16px;
  min-width:16px;
  height:16px;
  color:var(--ng-blue);
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
@media(max-width:900px){
  .ng-service-details-section{padding:80px 24px!important}
  .ng-service-details-section>.ng-details-intro{
    grid-template-columns:1fr!important;
    gap:20px!important;
  }
  .ng-service-detail{
    grid-template-columns:1fr;
    gap:45px;
    padding:60px 0;
  }
  .ng-detail-items{grid-template-columns:1fr}
}
@media(max-width:560px){
  .ng-service-detail-title{grid-template-columns:35px minmax(0,1fr)}
  .ng-service-detail-copy>.lead{font-size:17px}
  .ng-service-detail-title img{
    height:230px;
    margin-top:20px;
    border-radius:14px;
  }
}


/*
 * Elementor editor parity — Services/Detailed capabilities.
 * Native Elementor element IDs are stable in both the React editor canvas and
 * public markup, so these aliases do not depend on delayed class restoration.
 */
.elementor-element-svdetails{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  padding:120px 6vw!important;
  background:#E1E8ED!important;
}
.elementor-element-svdetails>.elementor-element-svdintro{
  display:grid!important;
  grid-template-columns:25% minmax(0,1fr)!important;
  gap:0!important;
  width:100%!important;
  max-width:none!important;
  margin:0 0 80px!important;
}
.elementor-element-svdintro>.elementor-widget{
  width:auto!important;
  min-width:0;
}
.elementor-element-svdetails .elementor-element-svdh{
  width:auto!important;
  max-width:850px!important;
  margin:0!important;
}
.elementor-element-svdetails>.elementor-element-svdhtml{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
.elementor-element-svdetails>.elementor-element-svdhtml>.elementor-widget-container{
  width:100%;
}
@media(max-width:900px){
  .elementor-element-svdetails{padding:80px 24px!important}
  .elementor-element-svdetails>.elementor-element-svdintro{
    grid-template-columns:1fr!important;
    gap:20px!important;
  }
}

.elementor-element-svdk .elementor-heading-title{
  color:var(--ng-blue)!important;
  text-transform:uppercase;
  letter-spacing:.17em;
  font:700 10px/1.2 "DM Sans",sans-serif!important;
}
.elementor-element-svdh .elementor-heading-title{
  margin:0!important;
  color:var(--ng-ink)!important;
  letter-spacing:-.055em;
  font:500 clamp(42px,5vw,76px)/1 Manrope,sans-serif!important;
}


/* Contact page — prototype alignment and editor parity. */
.ng-contact-page,
.elementor-element-contactpage{
  display:grid!important;
  grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr)!important;
  align-items:start!important;
  gap:clamp(55px,8vw,125px)!important;
  width:100%!important;
  padding:120px 6vw!important;
  background:#e8f1f3;
}
.ng-contact-page>.e-con,
.ng-contact-page>.elementor-widget,
.elementor-element-contactpage>.e-con,
.elementor-element-contactpage>.elementor-widget{
  width:auto!important;
  min-width:0!important;
}
.ng-contact-copy,
.elementor-element-contactcopy{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:0!important;
}
.ng-contact-copy>.ng-page-kicker,
.elementor-element-contactcopy>.elementor-element-cotk{margin:0 0 24px!important}
.ng-contact-copy>.ng-page-h2,
.elementor-element-contactcopy>.elementor-element-coth{
  width:100%!important;
  max-width:580px!important;
  margin:0!important;
}
.ng-contact-page>.ng-contact-copy,
.elementor-element-contactpage>.elementor-element-contactcopy{gap:0!important}
.ng-contact-details,
.elementor-element-cooff{width:100%!important;margin-top:14px!important;padding:0!important;gap:0!important}
.ng-contact-offices,
.elementor-element-coofficegrid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:0!important;
  width:100%!important;
  margin-top:0!important;
  padding:0!important;
  border-top:1px solid var(--ng-line,#C9CED0);
}
.ng-contact-office,
.elementor-element-colagos,
.elementor-element-cotanzania{
  width:auto!important;
  padding:24px 26px 27px 0!important;
  gap:0!important;
}
.ng-contact-office+ .ng-contact-office,
.elementor-element-cotanzania{
  padding-left:26px!important;
  border-left:1px solid var(--ng-line,#C9CED0);
}
.ng-office-label .elementor-heading-title{
  color:var(--ng-blue,#006EAC)!important;
  font:600 9px/1.2 "DM Sans",sans-serif!important;
  text-transform:uppercase;
  letter-spacing:.14em;
}
.ng-office-title{margin:8px 0 9px!important}
.ng-office-title .elementor-heading-title{
  color:var(--ng-ink,#152128)!important;
  font:500 22px/1.2 "Manrope",sans-serif!important;
}
.ng-office-address p{
  margin:0!important;
  color:var(--ng-muted,#627178);
  font:400 14px/1.65 "DM Sans",sans-serif;
}
.ng-direct-contact,
.elementor-element-cocontactrow{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:0!important;
  width:100%!important;
  border-top:1px solid var(--ng-line,#C9CED0);
  border-bottom:1px solid var(--ng-line,#C9CED0);
}
.ng-contact-method,
.elementor-element-cophone,
.elementor-element-coemail{
  width:auto!important;
  padding:23px 26px 25px 0!important;
  gap:8px!important;
}
.ng-contact-method+ .ng-contact-method,
.elementor-element-coemail{
  padding-left:26px!important;
  border-left:1px solid var(--ng-line,#C9CED0);
}
.ng-contact-label .elementor-heading-title{
  color:var(--ng-muted,#627178)!important;
  font:600 9px/1.2 "DM Sans",sans-serif!important;
  text-transform:uppercase;
  letter-spacing:.14em;
}
.ng-contact-value .elementor-heading-title,
.ng-contact-value .elementor-heading-title a{
  color:var(--ng-blue,#006EAC)!important;
  font:500 15px/1.35 "DM Sans",sans-serif!important;
  text-decoration:none!important;
}
.ng-contact-value .elementor-heading-title a:hover{text-decoration:underline!important}
@media(max-width:900px){
  .ng-contact-page,
  .elementor-element-contactpage{
    grid-template-columns:1fr!important;
    gap:65px!important;
    padding:85px 32px!important;
  }
  .ng-contact-copy>.ng-page-h2,
  .elementor-element-contactcopy>.elementor-element-coth{max-width:680px!important}
}
@media(max-width:560px){
  .ng-contact-page,
  .elementor-element-contactpage{padding:75px 24px!important}
  .ng-contact-offices,
  .elementor-element-coofficegrid,
  .ng-direct-contact,
  .elementor-element-cocontactrow{grid-template-columns:1fr!important}
  .ng-contact-office,
  .elementor-element-colagos,
  .elementor-element-cotanzania,
  .ng-contact-method,
  .elementor-element-cophone,
  .elementor-element-coemail{padding:22px 0!important;border-left:0!important}
  .ng-contact-office+ .ng-contact-office,
  .elementor-element-cotanzania,
  .ng-contact-method+ .ng-contact-method,
  .elementor-element-coemail{border-top:1px solid var(--ng-line,#C9CED0)}
}


@media(max-width:767px){
  .ng-contact-offices,
  .elementor-element-coofficegrid,
  .ng-direct-contact,
  .elementor-element-cocontactrow{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
  }
  .ng-contact-offices>.ng-contact-office+.ng-contact-office,
  .elementor-element-coofficegrid>.elementor-element-cotanzania,
  .ng-direct-contact>.ng-contact-method+.ng-contact-method,
  .elementor-element-cocontactrow>.elementor-element-coemail{
    width:100%!important;
    padding-left:0!important;
    padding-right:0!important;
    margin-left:0!important;
    transform:none!important;
    border-left:0!important;
  }
}


@media(max-width:800px){
  .ng-project-table>.ng-project-row{
    display:flex!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:6px!important;
  }
  .ng-project-table>.ng-project-row>.ng-project-number,
  .ng-project-table>.ng-project-row>.ng-project-name,
  .ng-project-table>.ng-project-row>.ng-project-location,
  .ng-project-table>.ng-project-row>.ng-project-year{
    position:static!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    align-self:stretch!important;
    grid-column:auto!important;
    grid-row:auto!important;
    transform:none!important;
  }
  .ng-project-table>.ng-project-row>.ng-project-number{
    margin-bottom:8px!important;
  }
  .ng-project-table>.ng-project-row>.ng-project-year{
    text-align:left!important;
  }
}

/* Stable WordPress menu inside the Xpro global header. */
.elementor-element-ngheadernav,
.ng-header-navigation{
  justify-self:center!important;
  display:block!important;
  width:auto!important;
  overflow:visible!important;
}
.ng-menu-widget,
.ng-menu-widget>.elementor-widget-container{width:auto!important;overflow:visible!important}
.ng-primary-menu,.ng-primary-menu ul{margin:0;padding:0;list-style:none}
.ng-primary-menu-list{
  display:flex!important;
  flex-direction:row!important;
  align-items:center;
  gap:24px;
  white-space:nowrap;
}
.ng-primary-menu-list>li{position:relative}
.ng-primary-menu a{
  display:flex;
  align-items:center;
  color:#28373e;
  font:500 15px/1.2 "DM Sans",sans-serif;
  text-decoration:none;
  transition:color .2s ease;
}
.ng-primary-menu a:hover,.ng-primary-menu .current-menu-item>a{color:var(--ng-blue)}
.ng-primary-menu .menu-item-has-children>a:after{
  content:"⌄";
  margin-left:6px;
  color:var(--ng-blue);
  font-size:12px;
  transition:transform .2s ease;
}
.ng-primary-menu .menu-item-has-children:before{
  content:"";
  position:absolute;
  z-index:9998;
  top:100%;
  left:-20px;
  width:calc(100% + 40px);
  height:18px;
}
.ng-primary-menu .sub-menu{
  position:absolute;
  z-index:9999;
  top:calc(100% + 16px);
  left:-20px;
  display:block;
  width:230px;
  padding:10px 0;
  visibility:hidden;
  opacity:0;
  transform:translateY(8px);
  pointer-events:none;
  background:#fff;
  border:1px solid #dce3e5;
  box-shadow:0 18px 45px rgba(5,44,62,.15);
  transition:opacity .2s ease,transform .2s ease,visibility .2s;
}
.ng-primary-menu .menu-item-has-children:hover>.sub-menu,
.ng-primary-menu .menu-item-has-children:focus-within>.sub-menu{
  visibility:visible;
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}
.ng-primary-menu .menu-item-has-children:hover>a:after{transform:rotate(180deg)}
.ng-primary-menu .sub-menu a{display:block;padding:12px 18px;font-size:14px}
.ng-primary-menu .sub-menu a:hover{background:#e8f1f3}
@media(max-width:1120px){
  .elementor-element-ngglobalheader{grid-template-columns:170px 1fr auto!important;gap:22px!important;padding-left:28px!important;padding-right:28px!important}
  .ng-primary-menu-list{gap:15px}
  .ng-primary-menu a{font-size:13px}
}
.ng-navigation-shell{position:relative}
.ng-mobile-menu-toggle{
  display:none;
  width:46px;
  height:46px;
  padding:11px;
  border:0;
  border-radius:0;
  background:var(--ng-deep);
  cursor:pointer;
}
.ng-mobile-menu-toggle span{
  display:block;
  width:100%;
  height:2px;
  margin:5px 0;
  background:#fff;
  transition:transform .2s ease,opacity .2s ease;
}
@media(max-width:767px){
  .elementor-element-ngglobalheader{
    grid-template-columns:minmax(130px,1fr) auto!important;
    gap:18px!important;
    min-height:74px;
    padding:12px 20px!important;
  }
  .elementor-element-ngheadernav,.ng-header-navigation{
    display:block!important;
    justify-self:end!important;
  }
  .elementor-element-ngheadercta{display:none!important}
  .ng-mobile-menu-toggle{display:block}
  .ng-navigation-shell.is-open .ng-mobile-menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .ng-navigation-shell.is-open .ng-mobile-menu-toggle span:nth-child(2){opacity:0}
  .ng-navigation-shell.is-open .ng-mobile-menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .ng-primary-menu{
    position:absolute;
    z-index:10000;
    top:calc(100% + 14px);
    right:-20px;
    display:none;
    width:min(88vw,360px);
    max-height:calc(100vh - 92px);
    overflow-y:auto;
    padding:18px 22px 24px;
    background:#fff;
    border-top:3px solid var(--ng-lime);
    box-shadow:0 24px 60px rgba(5,44,62,.22);
  }
  .ng-navigation-shell.is-open>.ng-primary-menu{display:block}
  .ng-primary-menu-list{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    white-space:normal;
  }
  .ng-primary-menu-list>li{border-bottom:1px solid #dce3e5}
  .ng-primary-menu-list>li:last-child{border-bottom:0}
  .ng-primary-menu a{
    justify-content:space-between;
    min-height:50px;
    padding:12px 0;
    color:var(--ng-ink);
    font-size:16px;
  }
  .ng-primary-menu .menu-item-has-children:before{display:none}
  .ng-primary-menu .sub-menu{
    position:static;
    display:none;
    width:auto;
    padding:0 0 10px 15px;
    visibility:visible;
    opacity:1;
    transform:none;
    pointer-events:auto;
    border:0;
    border-left:2px solid var(--ng-pale);
    box-shadow:none;
    transition:none;
  }
  .ng-primary-menu .menu-item-has-children.is-submenu-open>.sub-menu{display:block}
  .ng-primary-menu .menu-item-has-children.is-submenu-open>a:after{transform:rotate(180deg)}
  .ng-primary-menu .sub-menu a{
    min-height:42px;
    padding:9px 12px;
    font-size:14px;
  }
}


/* Footer complete site index and direct contact details. */
.ng-footer-all-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:30px;
  row-gap:9px;
}
.ng-footer-all-links a{
  display:block;
  color:inherit;
  text-decoration:none;
  line-height:1.4;
}
.ng-footer-all-links a:hover{color:var(--ng-lime)}
.ng-footer-contact p{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px;
}
.ng-footer-contact a{white-space:nowrap}
@media(max-width:767px){
  .ng-footer-all-links{grid-template-columns:1fr 1fr;column-gap:22px}
  .ng-footer-contact p{justify-content:flex-start}
}
@media(max-width:420px){
  .ng-footer-all-links{grid-template-columns:1fr}
  .ng-footer-contact p{display:block}
  .ng-footer-contact p span{display:inline!important}
  .ng-footer-contact a{display:inline-block;margin-top:6px}
}


.ng-footer-link-column{display:flex;flex-direction:column;gap:9px}
.ng-footer-link-column-second h4{
  margin:0 0 24px;
  color:var(--ng-lime);
  font:700 11px/1 "DM Sans",sans-serif;
  text-transform:uppercase;
  letter-spacing:.16em;
}
@media(min-width:768px){
  .ng-footer-link-column-second{margin-top:-28px}
}
@media(max-width:767px){
  .ng-footer-link-column-second{margin-top:0}
}


/* Services hero: permanent Elementor-ID fallback for visible text. */
.elementor-element-svhero{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:640px!important;
  min-height:640px!important;
  overflow:hidden!important;
  background:var(--ng-deep)!important;
}
.elementor-element-svhero:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(2,27,40,.96),rgba(2,40,58,.74) 54%,rgba(0,0,0,.2)),linear-gradient(180deg,transparent 55%,rgba(2,27,40,.7));
}
.elementor-element-svhero>.elementor-element-svimg{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  width:100%!important;
  height:100%!important;
}
.elementor-element-svhero>.elementor-element-svimg .elementor-widget-container,
.elementor-element-svhero>.elementor-element-svimg img{width:100%!important;height:100%!important}
.elementor-element-svhero>.elementor-element-svimg img{display:block!important;object-fit:cover!important;border-radius:0!important;filter:saturate(.65)}
.elementor-element-svhero>.elementor-element-svcopy{
  position:absolute!important;
  left:6vw!important;
  bottom:95px!important;
  z-index:3!important;
  display:block!important;
  width:min(1030px,88vw)!important;
  max-width:1030px!important;
  visibility:visible!important;
  opacity:1!important;
}
.elementor-element-svcopy>.elementor-widget{display:block!important;visibility:visible!important;opacity:1!important}
.elementor-element-svk .elementor-heading-title{color:var(--ng-lime)!important}
.elementor-element-svh .elementor-heading-title{color:#fff!important}
.elementor-element-svt,.elementor-element-svt p{color:#c6d7de!important}
.elementor-element-svhero>.elementor-element-svidx{position:absolute!important;right:5vw!important;bottom:30px!important;z-index:3!important}
@media(max-width:767px){
  .elementor-element-svhero{height:560px!important;min-height:560px!important}
  .elementor-element-svhero>.elementor-element-svcopy{left:24px!important;right:24px!important;bottom:78px!important;width:auto!important}
}


/* Management profiles without portraits. */
.ng-leadership>.ng-leader-text-only,
.elementor-element-mg1.ng-leader-text-only,
.elementor-element-mg2.ng-leader-text-only{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  padding:55px 0!important;
  border-top:1px solid var(--ng-line);
}
.ng-leadership>.ng-leader-text-only>.elementor-widget,
.elementor-element-mg1.ng-leader-text-only>.elementor-widget,
.elementor-element-mg2.ng-leader-text-only>.elementor-widget{
  width:min(900px,100%)!important;
  max-width:900px!important;
  margin:0!important;
}
.ng-leadership>.ng-leader-text-only:nth-child(even)>.elementor-widget{order:initial!important}
@media(max-width:767px){
  .ng-leadership>.ng-leader-text-only{padding:40px 0!important}
}


/* Management profiles: two-column text layout. */
.ng-leadership{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:0!important;
  align-items:stretch!important;
}
.ng-leadership>.ng-leader-text-only{
  padding:55px 50px!important;
  border-top:1px solid var(--ng-line)!important;
}
.ng-leadership>.ng-leader-text-only:first-child{
  padding-left:0!important;
  border-right:1px solid var(--ng-line)!important;
}
.ng-leadership>.ng-leader-text-only:last-child{padding-right:0!important}
.ng-leadership>.ng-leader-text-only>.elementor-widget{
  width:100%!important;
  max-width:none!important;
}
@media(max-width:767px){
  .ng-leadership{grid-template-columns:1fr!important}
  .ng-leadership>.ng-leader-text-only,
  .ng-leadership>.ng-leader-text-only:first-child,
  .ng-leadership>.ng-leader-text-only:last-child{
    padding:40px 0!important;
    border-right:0!important;
  }
}


/* Footer: four equal, independently editable columns on desktop. */
@media(min-width:1025px){
  .elementor-element-ngglobalfooter{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:0!important;
    column-gap:0!important;
  }
  .elementor-element-ngfooterbrand,
  .elementor-element-ngfooterexplore,
  .elementor-element-923ea28,
  .elementor-element-ngfooteroffices{
    box-sizing:border-box;
    min-width:0;
  }
  .elementor-element-ngfooterbrand{padding-right:36px!important}
  .elementor-element-ngfooterexplore,
  .elementor-element-923ea28{padding:0!important}
  .elementor-element-ngfooteroffices{padding-left:36px!important}
  .elementor-element-ngfooterexplore>.ng-footer-label,
  .elementor-element-923ea28>.ng-footer-label{padding-left:36px}
  .ng-footer-link-column{
    box-sizing:border-box;
    width:100%;
    padding:0 36px;
  }
  .elementor-element-923ea28,
  .elementor-element-ngfooteroffices{
    border-left:1px solid rgba(255,255,255,.12);
  }
  .elementor-element-923ea28 .ng-footer-link-column-second{
    margin-top:0;
    border-left:0;
  }
}

/* Desktop-only sticky global header. */
@media(min-width:768px){
  .xpro-theme-builder-header{
    position:sticky;
    top:0;
    z-index:9990;
    width:100%;
    background:#fff;
    box-shadow:0 1px 0 rgba(5,44,62,.1),0 10px 30px rgba(5,44,62,.06);
  }
}
@media(min-width:783px){
  .admin-bar .xpro-theme-builder-header{top:32px}
}
@media(min-width:768px) and (max-width:782px){
  .admin-bar .xpro-theme-builder-header{top:46px}
}

/* Services — improve Detailed capabilities list legibility. */
.ng-service-details-section .ng-detail-items p,
.elementor-element-svdetails .ng-detail-items p{
  font:400 16px/1.6 "DM Sans",sans-serif!important;
}

@media(max-width:767px){
  .ng-service-details-section .ng-detail-items p,
  .elementor-element-svdetails .ng-detail-items p{
    font-size:17px!important;
    line-height:1.65!important;
    padding:16px 0!important;
  }
}

/* Homepage CTA — left aligned on mobile only. */
@media(max-width:767px){
  .elementor-element-ngcontact .elementor-element-ngctbtn{
    width:100%!important;
    align-self:stretch!important;
    text-align:left!important;
  }
  .elementor-element-ngcontact .elementor-element-ngctbtn .elementor-button-wrapper{
    display:flex!important;
    justify-content:flex-start!important;
    text-align:left!important;
  }
  .elementor-element-ngcontact .elementor-element-ngctbtn .elementor-button{
    display:inline-flex!important;
    width:max-content!important;
    max-width:100%!important;
    flex:0 0 auto!important;
    justify-content:flex-start!important;
    margin-left:0!important;
    margin-right:auto!important;
  }
  .elementor-element-ngcontact .elementor-element-ngctbtn .elementor-button-content-wrapper{
    width:auto!important;
    justify-content:flex-start!important;
    text-align:left!important;
  }
}

/* 2025 service delivery data — prevent mobile clipping. */
@media(max-width:767px){
  .elementor-element-ngdelivery .ng-board{
    box-sizing:border-box;
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
  .elementor-element-ngdelivery .ng-summary{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .elementor-element-ngdelivery .ng-summary>div{
    box-sizing:border-box;
    min-width:0!important;
    width:100%!important;
    padding:22px 18px!important;
    border-right:0!important;
    border-bottom:1px solid #cbd7da;
  }
  .elementor-element-ngdelivery .ng-summary>div:last-child{
    border-bottom:0;
  }
  .elementor-element-ngdelivery .ng-data-row{
    box-sizing:border-box;
    grid-template-columns:29px minmax(0,1fr) 60px!important;
    gap:8px!important;
    width:100%!important;
    padding:15px!important;
  }
  .elementor-element-ngdelivery .ng-data-row strong{
    min-width:0;
    overflow-wrap:anywhere;
  }
  .elementor-element-ngdelivery .ng-data-row .ng-bar{
    grid-column:2/4;
    min-width:0;
  }
}

/* Native Elementor rebuild: 2025 service delivery board. */
.elementor-element-ngdelivery .ng-board.e-con{
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  padding:0!important;
}
.elementor-element-ngdelivery .ng-board-top.e-con{
  display:flex!important;
  flex-direction:row!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:20px!important;
}
.ng-board-top .elementor-widget{width:auto!important}
.ng-board-top .elementor-heading-title{
  color:inherit;
  font:500 9px/1.4 "DM Sans",sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.ng-board-verified:before{
  content:"";
  display:block;
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:#53b92c;
  box-shadow:0 0 0 5px rgba(83,185,44,.12);
}
.elementor-element-ngdelivery .ng-summary.e-con{
  display:grid!important;
  grid-template-columns:1fr 1fr 1.6fr!important;
  gap:0!important;
  padding:0!important;
}
.elementor-element-ngdelivery .ng-summary-cell.e-con{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:2px!important;
  padding:28px!important;
}
.ng-summary-label .elementor-heading-title{
  color:#697b82;
  font:500 9px/1.4 "DM Sans",sans-serif;
  text-transform:uppercase;
}
.ng-summary-value .elementor-heading-title{
  color:var(--ng-blue);
  font:500 42px/1.08 "Manrope",sans-serif;
}
.ng-summary-description p{
  margin:0;
  color:#718088;
  font:400 10px/1.5 "DM Sans",sans-serif;
}
.elementor-element-ngdelivery .ng-board-signal.e-con{
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-end!important;
  gap:12px!important;
}
.ng-board-signal .ng-signal-bar{
  flex:1 1 0!important;
  width:auto!important;
  margin:0!important;
}
.ng-board-signal .ng-signal-bar .elementor-widget-container,
.ng-board-signal .ng-signal-bar .elementor-divider{
  height:100%;
}
.ng-board-signal .ng-signal-bar .elementor-divider{
  display:flex;
  align-items:stretch;
  padding:0;
}
.ng-board-signal .ng-signal-bar .elementor-divider-separator{
  display:block;
  width:100%!important;
  height:100%;
  border:0!important;
  border-radius:6px 6px 0 0;
  background:linear-gradient(0deg,var(--ng-blue),#92dbf7);
}
.ng-board-signal .ng-signal-1{height:28%}
.ng-board-signal .ng-signal-2{height:62%}
.ng-board-signal .ng-signal-3{height:45%}
.ng-board-signal .ng-signal-4{height:86%}
.ng-board-signal .ng-signal-5{height:70%}
.elementor-element-ngdelivery .ng-data-head.e-con{
  display:grid!important;
  grid-template-columns:55px minmax(230px,1.3fr) 1fr 80px!important;
  align-items:center!important;
  gap:18px!important;
  padding:13px 24px!important;
}
.ng-data-head-cell .elementor-heading-title{
  color:#75858b;
  font:500 8px/1.4 "DM Sans",sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.elementor-element-ngdelivery .ng-data-rows.e-con{
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  padding:0!important;
}
.elementor-element-ngdelivery .ng-data-row.e-con{
  display:grid!important;
  grid-template-columns:55px minmax(230px,1.3fr) 1fr 80px!important;
  align-items:center!important;
  gap:18px!important;
  padding:15px 24px!important;
}
.ng-data-number .elementor-heading-title{
  color:#87969c;
  font:400 10px/1.4 "DM Sans",sans-serif;
}
.ng-data-task .elementor-heading-title{
  color:var(--ng-ink);
  font:500 14px/1.4 "DM Sans",sans-serif;
}
.ng-data-count .elementor-heading-title{
  color:var(--ng-blue);
  font:600 14px/1.4 "DM Sans",sans-serif;
  text-align:right;
}
.ng-native-progress .elementor-progress-wrapper{
  height:6px;
  overflow:hidden;
  border-radius:99px;
  background:#d9e4e7;
}
.ng-native-progress .elementor-progress-bar{
  height:100%;
  min-height:6px;
  border-radius:99px;
  background:linear-gradient(90deg,#0088c5,#d8ff43);
}
.ng-native-progress .elementor-progress-text,
.ng-native-progress .elementor-progress-percentage{
  display:none!important;
}
@media(max-width:1024px){
  .elementor-element-ngdelivery .ng-summary.e-con{
    grid-template-columns:1fr 1fr!important;
  }
  .elementor-element-ngdelivery .ng-board-signal.e-con{
    display:none!important;
  }
}
@media(max-width:767px){
  .elementor-element-ngdelivery .ng-board-top.e-con{
    align-items:flex-start!important;
  }
  .elementor-element-ngdelivery .ng-summary.e-con{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .elementor-element-ngdelivery .ng-summary-cell.e-con{
    width:100%!important;
    min-width:0!important;
    padding:22px 18px!important;
    border-right:0!important;
    border-bottom:1px solid #cbd7da;
  }
  .elementor-element-ngdelivery .ng-data-head.e-con{
    display:none!important;
  }
  .elementor-element-ngdelivery .ng-data-row.e-con{
    grid-template-columns:29px minmax(0,1fr) 60px!important;
    gap:8px!important;
    width:100%!important;
    padding:15px!important;
  }
  .ng-data-task{min-width:0}
  .ng-data-task .elementor-heading-title{
    overflow-wrap:anywhere;
  }
  .ng-native-progress{
    grid-column:2/4;
    grid-row:2;
    min-width:0;
  }
  .ng-data-number{
    grid-column:1;
    grid-row:1;
  }
  .ng-data-task{
    grid-column:2;
    grid-row:1;
  }
  .ng-data-count{
    grid-column:3;
    grid-row:1;
    min-width:60px;
  }
  .ng-data-count .elementor-heading-title{
    white-space:nowrap;
    overflow-wrap:normal;
    word-break:normal;
  }
}
