.site-header{height:104px;background:rgba(7,24,39,.91);backdrop-filter:blur(14px)}
.site-header.scrolled{height:88px}
.site-header .brand{display:flex;align-items:center;justify-content:center;flex:0 0 210px;width:210px;height:78px;padding:5px 9px;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 8px 25px rgba(0,0,0,.2)}
.site-header .brand .default-logo,.site-header .brand .custom-logo{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;object-fit:contain!important;box-shadow:none!important}
.hero{padding-top:175px}
.hero-inner{grid-template-columns:.82fr 1.18fr;gap:35px}
.hero h1{font-size:clamp(3rem,5.2vw,5.25rem)}
.hero-graphic{position:relative;z-index:2;margin:0 -100px 0 -35px;border:1px solid rgba(255,255,255,.15);border-radius:24px;overflow:hidden;box-shadow:0 35px 90px rgba(0,0,0,.5);background:#071827}
.hero-graphic::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 60px rgba(6,24,39,.6);pointer-events:none}
.hero-graphic img{display:block;width:100%;aspect-ratio:2/1;object-fit:cover}
.hero-graphic figcaption{position:absolute;z-index:2;left:24px;bottom:22px;display:flex;align-items:center;gap:10px;padding:9px 14px;border:1px solid rgba(255,255,255,.2);border-radius:99px;background:rgba(6,24,39,.85);color:#fff;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(10px)}
.hero-graphic figcaption i{width:25px;height:1px;background:#ff5967}
.industry-grid div{gap:14px}
.industry-grid div>span.industry-icon{display:grid;place-items:center;flex:0 0 35px;width:35px;height:35px;border:0;border-radius:9px;background:rgba(255,255,255,.06);box-shadow:none;color:#ff6571}
.industry-icon svg{width:22px;height:22px}
.brand-footer .default-logo,.brand-footer .custom-logo{width:250px;max-height:none;padding:9px 12px}
.footer-grid>div:first-child>p{font-weight:700;letter-spacing:.04em;text-transform:uppercase}
@media(max-width:1100px){.site-header .brand{flex-basis:185px;width:185px;height:72px}.hero-inner{grid-template-columns:.92fr 1.08fr}.hero-graphic{margin-right:-35px}}
@media(max-width:900px){.site-header{height:88px}.primary-nav{inset:88px 0 auto}.site-header .brand{flex-basis:170px;width:170px;height:67px}.hero{padding-top:135px}.hero-inner{grid-template-columns:1fr}.hero-graphic{width:100%;max-width:760px;margin:20px auto 0}.hero-graphic figcaption{left:50%;transform:translateX(-50%);white-space:nowrap}}
@media(max-width:600px){.site-header .brand{flex-basis:145px;width:145px;height:60px;padding:4px 7px}.hero h1{font-size:2.7rem}.hero-graphic{border-radius:15px}.hero-graphic figcaption{bottom:10px;padding:6px 9px;font-size:.56rem}.hero-graphic figcaption i{width:13px}.brand-footer .default-logo,.brand-footer .custom-logo{width:220px;max-height:none}}

.systems-flow{position:relative;padding:78px 0;background:linear-gradient(120deg,#0a2a40,#061827);color:#fff;overflow:hidden}.systems-flow::before,.systems-flow::after{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(255,255,255,.06);border-radius:50%}.systems-flow::before{left:-210px;top:-240px;box-shadow:0 0 0 55px rgba(255,255,255,.02)}.systems-flow::after{right:-210px;bottom:-260px;box-shadow:0 0 0 55px rgba(228,37,53,.03)}
.flow-inner{position:relative;z-index:2;display:grid;grid-template-columns:.7fr 1.3fr;gap:65px;align-items:center}.flow-copy h2{max-width:440px;font-size:clamp(2rem,3vw,3.1rem)}.flow-diagram{display:grid;grid-template-columns:1fr 55px 1fr 55px 1fr 55px 1fr;align-items:center}.flow-diagram>div{text-align:center}.flow-diagram>div>span{display:grid;place-items:center;width:66px;height:66px;margin:0 auto 13px;border:1px solid rgba(255,255,255,.17);border-radius:18px;background:rgba(255,255,255,.05);color:#ff6571;box-shadow:0 15px 35px rgba(0,0,0,.2)}.flow-diagram svg{width:32px;height:32px}.flow-diagram b,.flow-diagram small{display:block}.flow-diagram b{font-size:.88rem}.flow-diagram small{margin-top:3px;color:#91a9b6;font-size:.65rem}.flow-diagram>i{position:relative;height:2px;overflow:hidden;background:rgba(255,255,255,.12)}.flow-diagram>i::after{content:"";position:absolute;inset:0;width:45%;background:linear-gradient(90deg,transparent,#ff5362,transparent);animation:dwcc-signal 2.1s linear infinite}@keyframes dwcc-signal{from{transform:translateX(-120%)}to{transform:translateX(300%)}}
.industries{padding-top:125px;clip-path:polygon(0 42px,42% 0,100% 42px,100% 100%,0 100%);margin-top:-42px}.projects{position:relative;padding-top:135px}.projects::before{content:"";position:absolute;inset:0 0 auto;height:65px;background:linear-gradient(176deg,#f2f6f8 49%,transparent 50%)}.certifications{position:relative;overflow:hidden}.certifications::after{content:"";position:absolute;right:-220px;top:-200px;width:520px;height:520px;border:1px solid rgba(16,36,53,.05);border-radius:50%;box-shadow:0 0 0 70px rgba(16,36,53,.02)}
.clients{padding:105px 0 112px;background:#f2f6f8;overflow:hidden}.client-heading{text-align:center}.client-heading h2{font-size:clamp(2.1rem,3.5vw,3.5rem)}.logo-marquee{position:relative;margin-top:48px;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.logo-track{display:flex;width:max-content;gap:18px;animation:dwcc-logos-right 48s linear infinite;will-change:transform}.logo-marquee:hover .logo-track{animation-play-state:paused}.client-logo{display:flex;align-items:center;justify-content:center;flex:0 0 190px;width:190px;height:112px;padding:17px;border:1px solid #dce5ea;border-radius:16px;background:#fff;box-shadow:0 12px 34px rgba(16,36,53,.05)}.client-logo img{display:block;max-width:100%;max-height:78px;width:auto;height:auto;object-fit:contain}@keyframes dwcc-logos-right{from{transform:translateX(calc(-50% - 9px))}to{transform:translateX(0)}}
@media(max-width:950px){.flow-inner{grid-template-columns:1fr;gap:35px}.flow-copy{text-align:center}.flow-copy h2{margin-inline:auto}.flow-diagram{max-width:720px;width:100%;margin:auto}}
@media(max-width:650px){.systems-flow{padding:65px 0}.flow-diagram{grid-template-columns:1fr 28px 1fr 28px 1fr 28px 1fr}.flow-diagram>div>span{width:50px;height:50px;border-radius:13px}.flow-diagram svg{width:25px;height:25px}.flow-diagram small{display:none}.industries{clip-path:polygon(0 22px,42% 0,100% 22px,100% 100%,0 100%);margin-top:-22px;padding-top:88px}.clients{padding:75px 0 82px}.client-logo{flex-basis:150px;width:150px;height:94px}.client-logo img{max-height:64px}.logo-track{animation-duration:40s}}
@media(prefers-reduced-motion:reduce){.flow-diagram>i::after,.logo-track{animation:none}.logo-marquee{overflow-x:auto;mask-image:none}}

/* Service portfolio visual */
.service-portfolio{display:grid;grid-template-columns:.78fr 1.22fr;gap:34px;align-items:center;margin:0 0 28px;padding:34px;border:1px solid #dce5ea;border-radius:24px;background:linear-gradient(135deg,#fff 0%,#fff 56%,#f7fafb 100%);box-shadow:0 24px 70px #10243512}
.service-portfolio-copy{padding:12px 12px 12px 8px}.portfolio-label{display:inline-flex;margin-bottom:16px;padding:7px 11px;border-radius:99px;background:#fcecef;color:var(--red);font-size:.66rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.service-portfolio h3{font-size:clamp(1.9rem,3vw,3rem)}.service-portfolio p{color:var(--muted)}.service-portfolio ul{display:grid;gap:9px;margin:22px 0 26px;padding:0;list-style:none}.service-portfolio li{position:relative;padding-left:25px;color:#344a59;font-size:.85rem;font-weight:700}.service-portfolio li::before{content:"✓";position:absolute;left:0;color:var(--red);font-weight:900}
.service-map{display:block;border:1px solid #e1e8eb;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 18px 45px #10243519;transition:.3s}.service-map:hover{transform:translateY(-4px);box-shadow:0 26px 60px #10243524}.service-map img{display:block;width:100%;height:auto}

/* Stronger enquiry transition and complete footer */
.prefooter{position:relative;z-index:2;padding:44px 0;background:linear-gradient(105deg,#b91625,#e42535);color:#fff}.prefooter-inner{display:flex;align-items:center;justify-content:space-between;gap:45px}.prefooter span{display:block;margin-bottom:7px;color:#ffd9dc;font-size:.7rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.prefooter h2{max-width:720px;margin:0;font-size:clamp(1.9rem,3.2vw,3.2rem)}.prefooter-actions{display:flex;gap:11px;flex:0 0 auto}
.site-footer{padding-top:70px}.site-footer .footer-grid{grid-template-columns:1.45fr .75fr .95fr .9fr;gap:54px}.footer-grid>div:first-child>p{margin-bottom:10px;color:#fff}.footer-grid>div:first-child>small{display:block;max-width:360px;color:#8197a4;font-size:.75rem;line-height:1.7}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:9px}.footer-grid h3{margin-bottom:8px}.footer-grid a{transition:.2s}.footer-grid a:hover{color:#fff;transform:translateX(3px)}.footer-grid>div>small{margin-top:7px;color:#657e8c;line-height:1.65}.footer-badges{display:flex;flex-wrap:wrap;gap:9px;margin-top:48px;padding-top:22px;border-top:1px solid #ffffff12}.footer-badges span{padding:7px 11px;border:1px solid #ffffff17;border-radius:99px;color:#9bb0bb;font-size:.62rem;font-weight:800;letter-spacing:.05em}.site-footer .footer-bottom{margin-top:20px}
@media(max-width:1000px){.service-portfolio{grid-template-columns:1fr}.service-map{max-width:760px;margin:auto}.site-footer .footer-grid{grid-template-columns:1.3fr 1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.prefooter-inner{align-items:flex-start;flex-direction:column}.prefooter-actions{flex-wrap:wrap}}
@media(max-width:650px){.service-portfolio{padding:18px;border-radius:18px}.service-portfolio-copy{padding:5px}.service-map{border-radius:12px}.prefooter{padding:38px 0}.prefooter-actions{width:100%;flex-direction:column}.site-footer .footer-grid{grid-template-columns:1fr 1fr;gap:38px 28px}.footer-grid>div:first-child{grid-column:1/-1}.footer-badges{margin-top:38px}.site-footer .footer-bottom{line-height:1.7}}
@media(max-width:450px){.site-footer .footer-grid{grid-template-columns:1fr}.footer-grid>div:not(:first-child){padding-top:4px;border-top:1px solid #ffffff0d}.footer-grid h3{margin-top:14px}}

/* Project delivery workflow — distinct from the services catalogue */
.delivery-heading{max-width:900px}.delivery-heading>p:last-child{max-width:780px;color:var(--muted)}
.delivery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:54px}
.delivery-step{position:relative;display:grid;grid-template-columns:72px 1fr;gap:22px;min-height:230px;padding:30px 26px;border:1px solid var(--line);border-radius:21px;overflow:hidden;background:#fff;transition:.3s}
.delivery-step::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(var(--red),#f16b76)}.delivery-step::after{content:"";position:absolute;right:-55px;bottom:-55px;width:125px;height:125px;border:1px solid #1024350b;border-radius:50%;box-shadow:0 0 0 18px #10243505}
.delivery-step:hover{transform:translateY(-5px);border-color:#e4253538;box-shadow:0 24px 60px #10243517}.delivery-icon{position:relative;z-index:1;display:grid;place-items:center;width:68px;height:68px;border-radius:18px;background:linear-gradient(145deg,#102f46,#061827);color:#fff;box-shadow:0 13px 30px #0618272e}.delivery-icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.delivery-step>div{position:relative;z-index:1}.delivery-step small{display:block;margin-bottom:7px;color:var(--red);font-size:.75rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.delivery-step h3{font-size:1.2rem;letter-spacing:-.02em}.delivery-step p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.65}
@media(max-width:1000px){.delivery-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.delivery-grid{grid-template-columns:1fr}.delivery-step{min-height:auto}}
@media(max-width:430px){.delivery-step{grid-template-columns:1fr;padding:26px 23px}.delivery-icon{width:62px;height:62px}}

/* Completed project gallery */
.completed-projects{position:relative;background:linear-gradient(135deg,#061827,#0b2a40);color:#fff;overflow:hidden}.completed-projects::before{content:"";position:absolute;left:-170px;top:-210px;width:430px;height:430px;border:1px solid #ffffff0d;border-radius:50%;box-shadow:0 0 0 55px #ffffff04}
.project-heading{position:relative;z-index:1;max-width:850px}.project-heading h2{font-size:clamp(2.2rem,4vw,3.8rem)}.project-heading>p:last-child{max-width:680px;margin-inline:auto;color:#9db1bd}
.completed-project-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.completed-project-card{border:1px solid #ffffff17;border-radius:20px;overflow:hidden;background:#0b2639;box-shadow:0 24px 60px #0003;transition:.35s}.completed-project-card:hover{transform:translateY(-7px);border-color:#e425356b;box-shadow:0 30px 75px #0005}
.completed-project-card figure{position:relative;margin:0;overflow:hidden;aspect-ratio:16/10;background:#102f46}.completed-project-card img{display:block;width:100%;height:100%;object-fit:cover;transition:.55s}.completed-project-card:hover img{transform:scale(1.045)}.completed-project-card figure::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#061827b8)}.completed-project-card figure span{position:absolute;z-index:2;left:18px;bottom:16px;max-width:calc(100% - 36px);padding:7px 10px;border:1px solid #ffffff31;border-radius:99px;background:#061827cf;color:#fff;font-size:.72rem;font-weight:800;line-height:1.25;backdrop-filter:blur(8px)}
.completed-project-card>div{padding:23px 23px 26px}.completed-project-card small{display:block;margin-bottom:7px;color:#ff7d88;font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.completed-project-card h3{font-size:1.3rem}.completed-project-card p{margin:0;color:#a7bbc5;font-size:.9rem;line-height:1.65}
@media(max-width:900px){.completed-project-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:590px){.completed-project-grid{grid-template-columns:1fr}.completed-project-card figure{aspect-ratio:16/9}}
