:root{--ink:#102c48;--blue:#0964d6;--pale:#edf4fa;--muted:#516578}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.6;background:#fff}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #f4ad3d;outline-offset:5px}.wrap{width:min(1240px,calc(100% - 80px));margin:auto}.topbar{background:var(--ink);color:#fff;font-size:11px;letter-spacing:1.3px}.topbar .wrap{display:flex;justify-content:space-between;padding:9px 0}.topbar a{font-size:13px;letter-spacing:.3px}header{background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #e4ebf1}.header{min-height:97px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:12px;font-size:19px;line-height:1.2;letter-spacing:-.5px;font-weight:800}.brand img{width:48px;height:53px;object-fit:contain}.brand b{color:var(--blue)}.brand small{display:block;font-size:9px;letter-spacing:2.4px;margin-top:7px;font-weight:600}nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:600}nav a[aria-current]{color:var(--blue)}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;background:var(--blue);color:white!important;padding:15px 23px;border:0;border-radius:3px;font-size:14px;font-weight:700;cursor:pointer;line-height:1.6}.button:hover{background:#084b9e}.menu{display:none}.hero{background:var(--pale);overflow:hidden}.herogrid{display:grid;grid-template-columns:1fr 1fr;min-height:570px;align-items:stretch}.herocopy{padding:75px 45px 45px 0}.eyebrow{font-size:11px;font-weight:800;letter-spacing:1.8px;color:var(--blue);margin-bottom:21px}h1,h2,h3,p{margin:0}h1{font-size:clamp(42px,4.4vw,68px);line-height:1.04;letter-spacing:-2.5px;font-weight:800}h1 em{font-style:normal;color:var(--blue)}h2{font-size:clamp(30px,3vw,44px);line-height:1.12;letter-spacing:-1.5px}h3{font-size:23px;line-height:1.25;letter-spacing:-.5px}p{color:var(--muted);margin-top:20px;max-width:65ch}.herocopy p{font-size:18px;max-width:440px;line-height:1.7;margin-top:25px}.actions{display:flex;gap:26px;align-items:center;margin-top:32px}.textlink{font-weight:700;font-size:14px;display:inline-block;color:var(--blue)}.herofoot{font-size:10px;font-weight:700;letter-spacing:1px;margin-top:52px}.herophoto{position:relative;min-height:500px;margin-right:calc((min(1240px,100vw - 80px) - 100vw)/2)}.herophoto>img{width:100%;height:100%;object-fit:cover;position:absolute}.herophoto:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0d263ad9)}.photolabel{position:absolute;bottom:32px;left:32px;color:white;z-index:1}.photolabel span{font-size:9px;letter-spacing:1.5px;display:block}.photolabel b{display:block;margin-top:6px;font-size:15px}.trust{display:flex;justify-content:space-between;gap:15px;padding:26px 0;border-bottom:1px solid #dce5ed;font-size:13px;font-weight:600}.section{padding-top:90px;padding-bottom:90px}.sectionhead{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:38px}.sectionhead p{max-width:380px;margin:0}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.service{border:1px solid #dce5ed;transition:transform .2s}.service:hover{transform:translateY(-4px)}.service>img{width:100%;height:235px;object-fit:cover;display:block}.service>div{padding:25px}.service small{font-size:10px;letter-spacing:1.8px;color:var(--blue);font-weight:700}.service h3{margin-top:15px;font-size:24px;display:flex;justify-content:space-between}.service p{font-size:15px;margin-top:14px}.story{background:var(--pale);padding:75px 0}.split{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:75px}.split>img{width:100%;height:430px;object-fit:cover}.split .textlink{margin-top:25px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:35px}.project{text-align:left;padding:0;background:#fff;border:0;color:var(--ink);cursor:pointer;min-width:0}.project img{display:block;width:100%;height:270px;object-fit:cover;transition:filter .2s}.project:hover img{filter:brightness(.85)}.project>span{display:block;position:relative;padding:17px 30px 15px 0;border-bottom:1px solid #dce5ed}.project small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1.3px;color:var(--blue)}.project strong{display:block;font-size:18px;margin-top:3px}.project i{position:absolute;right:0;top:25px;font-style:normal}.area{display:grid;grid-template-columns:1fr 1fr;gap:70px;border-top:1px solid #dce5ed;padding-top:50px;padding-bottom:70px}.area p{line-height:2.2;margin-top:20px}.cta{background:var(--blue);padding:50px;display:flex;align-items:center;justify-content:space-between;gap:40px;color:white;margin-bottom:80px}.cta small{font-size:10px;letter-spacing:1.6px;font-weight:700}.cta h2{margin-top:15px}.white{background:white;color:var(--blue)!important}.white:hover{background:#dceaff}footer{background:#0d263e;color:white;padding:60px 0 20px}footer .brand b{color:#7bb8ff}footer p{color:#b3c5d5}footer a{overflow-wrap:anywhere}footer a:hover{text-decoration:underline}.footergrid{display:grid;grid-template-columns:1.4fr 1.3fr .7fr;gap:45px}.footergrid h3{font-size:16px;margin-bottom:20px}.footergrid>div>a:not(.brand){display:block;font-size:14px;margin-bottom:9px}.legal{border-top:1px solid #ffffff25;margin-top:45px;padding-top:22px;font-size:11px;color:#b3c5d5;display:flex;justify-content:space-between;gap:20px}.legal>div{display:flex;gap:25px}.pagehero{padding-top:65px;padding-bottom:60px}.pagehero p{font-size:20px}.servicebody{padding-bottom:30px}.benefits{list-style:none;padding:0;margin:25px 0}.benefits li{margin:9px 0}.gallerysection{padding-bottom:80px}.filters{display:flex;gap:10px;flex-wrap:wrap}.filters button{border:1px solid #cad7e3;border-radius:3px;background:white;padding:10px 20px;color:var(--ink);cursor:pointer;font-size:14px}.filters button[aria-pressed=true]{background:var(--ink);color:white}.project[hidden]{display:none}.faq{max-width:850px;padding-bottom:90px}.faq details{border-bottom:1px solid #cedbe5;padding:23px 0}.faq summary{list-style:none;font-size:20px;line-height:1.4;font-weight:700;cursor:pointer;display:flex;justify-content:space-between;gap:30px}.faq details p{margin-bottom:10px}.faq summary::-webkit-details-marker{display:none}.contactgrid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;padding-bottom:90px}.contactgrid h2{font-size:30px}.contactgrid aside>a{display:block;overflow-wrap:anywhere}.contactlink{font-size:27px;font-weight:700;color:var(--blue);margin-top:30px}.contactnote{padding:25px;background:var(--pale);margin-top:40px}.contactnote h3{font-size:18px}form{background:#f3f7fb;padding:35px}form h2{margin-bottom:20px}.notice{font-size:13px;background:#e1ecf8;padding:12px 15px;margin-bottom:25px}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}label{display:block;font-size:13px;font-weight:700;margin-bottom:20px}input,select,textarea{display:block;width:100%;min-width:0;border:1px solid #bccddd;background:white;padding:12px;color:var(--ink);margin-top:7px;border-radius:2px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--blue);outline-offset:2px}.formprivacy{font-size:12px;margin:0 0 25px}.formprivacy a{text-decoration:underline}#form-status{font-weight:700;color:var(--ink);font-size:14px}dialog{border:0;padding:45px 16px 10px;width:min(1000px,95vw);background:#102c48;color:white;max-height:95vh}dialog::backdrop{background:#061321df}dialog>img{display:block;width:100%;height:min(70vh,700px);object-fit:contain}.close{position:absolute;right:12px;top:0;color:white;background:none;border:0;font-size:33px;cursor:pointer}.dialogbar{display:flex;align-items:center;justify-content:space-between;gap:20px}.dialogbar button{background:none;border:1px solid #8297aa;color:white;padding:8px 17px;cursor:pointer}.dialogbar p{color:white;margin:15px 0}.skip{position:fixed;top:-100px;background:white;padding:15px;z-index:50}.skip:focus{top:0}
@media(min-width:1500px){.herophoto{margin-right:0}}
@media(max-width:1050px){.wrap{width:calc(100% - 48px)}nav{gap:17px}.brand{font-size:16px}.brand img{width:40px}h1{font-size:48px}.herocopy{padding:55px 25px 35px 0}.herophoto{margin-right:-24px}.actions{gap:15px;flex-wrap:wrap}.split{gap:35px}.service>div{padding:20px}.service h3{font-size:21px}.services,.gallery{gap:18px}.project img{height:220px}.contactgrid{gap:35px}}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}.topbar{font-size:8px;letter-spacing:.7px}.topbar a{font-size:11px}.header{min-height:78px}.brand{font-size:17px}.brand small{font-size:8px}.menu{display:flex;gap:15px;background:none;border:1px solid #cedbe5;padding:8px 12px;font-size:13px;color:var(--ink)}nav{display:none;position:absolute;top:100%;left:0;right:0;padding:25px;background:white;box-shadow:0 15px 20px #102c4815;align-items:stretch;gap:5px}nav.open{display:flex;flex-direction:column}nav>a{padding:12px}nav .button{margin-top:12px}.herogrid{grid-template-columns:1fr}.herocopy{padding:42px 0 30px}.eyebrow{font-size:9px;letter-spacing:1.3px}h1{font-size:49px;letter-spacing:-2px}.herocopy p{font-size:16px}.herofoot{font-size:8px;margin-top:28px}.herophoto{min-height:310px;margin:0 -18px}.photolabel{left:20px;bottom:22px}.trust{flex-direction:column;gap:9px;padding:22px 0;font-size:12px}.section{padding-top:55px;padding-bottom:55px}.sectionhead{align-items:start;flex-direction:column;gap:20px;margin-bottom:28px}h2{font-size:35px}.services,.gallery{grid-template-columns:1fr;gap:28px}.service>img{height:240px}.service>div{padding:24px}.service h3{font-size:25px}.split{grid-template-columns:1fr;gap:30px}.split>img{height:300px}.story{padding:40px 0}.project img{height:280px}.area{grid-template-columns:1fr;gap:10px;padding-top:40px;padding-bottom:45px}.cta{padding:30px;flex-direction:column;align-items:start;margin-bottom:45px;gap:25px}.cta h2{font-size:32px}.footergrid{grid-template-columns:1fr;gap:35px}.legal{flex-direction:column}.legal>div{gap:17px;flex-wrap:wrap}.pagehero{padding-top:40px;padding-bottom:40px}.pagehero p{font-size:17px}.contactgrid{grid-template-columns:1fr;gap:35px;padding-bottom:50px}form{padding:23px}.formgrid{grid-template-columns:1fr}.contactgrid h2{font-size:29px}.faq{padding-bottom:50px}.faq summary{font-size:17px}.filters button{font-size:12px;padding:9px 13px}.gallerysection{padding-bottom:50px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Preserve the original VI emblem; recolour it for each background. */
header .brand img{filter:brightness(0) saturate(100%) invert(28%) sepia(98%) saturate(2231%) hue-rotate(207deg) brightness(91%) contrast(101%)}
footer .brand img{filter:brightness(0) invert(1)}
