@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--navy:#082c4b;--deep:#071d30;--blue:#125d92;--sky:#97d0ed;--red:#dc343e;--ink:#152d40;--muted:#5e6f7b;--paper:#f3f5f4;--line:#dce3e6;--display:'Manrope','Segoe UI',sans-serif;--body:'DM Sans','Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:#fff;font-family:var(--body);-webkit-font-smoothing:antialiased}a{color:inherit}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%}a:focus-visible,button:focus-visible{outline:3px solid #e45a4e;outline-offset:5px}.wrap{width:min(1320px,88%);margin-inline:auto}.section{padding-block:110px}.skip{position:fixed;top:-70px;left:16px;z-index:100;background:#fff;padding:14px}.skip:focus{top:10px}.topbar{height:94px;padding:0 6%;display:flex;align-items:center;gap:36px;background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #edf0f1}.brand{display:block;width:116px;flex-shrink:0}.brand img{width:116px;height:76px;object-fit:contain}.topbar nav{display:flex;gap:30px;margin-left:auto}.topbar nav a{text-decoration:none;font-size:13px;font-weight:650;transition:color .2s}.topbar nav a:hover{color:var(--blue)}.nav-contact{font-size:13px;font-weight:700;text-decoration:none;border-left:1px solid var(--line);padding-left:30px;display:flex;gap:24px;align-items:center}.nav-contact span{font-size:22px;color:var(--blue)}.menu{display:none}.hero{min-height:690px;height:calc(100svh - 94px);max-height:940px;position:relative;background:var(--navy);color:#fff;display:flex;align-items:center;isolation:isolate;overflow:hidden}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 50%;z-index:-3}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(4,24,41,.96) 0%,rgba(4,24,41,.89) 28%,rgba(4,24,41,.6) 58%,rgba(4,24,41,.1) 100%),linear-gradient(0deg,rgba(4,24,41,.65),transparent 40%)}.hero-content{padding-block:70px 110px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;line-height:1.65;margin:0 0 28px;text-transform:uppercase}.eyebrow>span{display:inline-block;width:7px;height:7px;background:var(--red);border-radius:50%;margin-right:8px}.eyebrow.blue{color:var(--blue)}h1,h2,h3{font-family:var(--display);margin:0;font-weight:650}h1{font-size:clamp(62px,6.9vw,104px);line-height:1.04;letter-spacing:-.065em;max-width:950px}h1 em,h2 em{font-style:normal;color:var(--sky)}.hero-lead{font-size:clamp(19px,1.65vw,25px);line-height:1.5;max-width:570px;margin:30px 0 14px;font-weight:450;color:#f1f5f8}.hero-detail{font-size:15px;line-height:1.65;max-width:510px;color:#bccbd5;margin:0}.actions{display:flex;align-items:center;gap:30px;margin-top:35px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;padding:18px 24px;font-size:13px;font-weight:700;text-decoration:none;border:1px solid transparent;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button.white{background:#fff;color:var(--navy)}.button.white:hover{background:#dceef7}.button span{font-size:23px;line-height:1}.text-link{text-decoration:none;font-size:13px;border-bottom:1px solid #ffffff55;padding-block:10px;display:flex;align-items:center;gap:22px}.text-link:hover{border-color:#fff}.hero-bottom{position:absolute;bottom:25px;left:6%;display:flex;justify-content:space-between;border-top:1px solid #ffffff35;padding-top:20px;gap:20px;font-size:10px;font-weight:550;letter-spacing:.08em;color:#d5dfe5}.hero-bottom span:last-child{letter-spacing:0;font-size:12px;font-weight:400}.capability-strip{background:var(--navy);color:#fff}.capability-strip>.wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-block:27px;font-size:13px;font-weight:550}.capability-strip b{font-size:20px;color:#6e9ab6;font-weight:400}.section-head{display:flex;justify-content:space-between;gap:70px;align-items:flex-end;margin-bottom:52px}.section-head>div{flex:1}h2{font-size:clamp(34px,3.4vw,51px);line-height:1.18;letter-spacing:-.045em}h2>span{color:#7b8a94}.intro{width:330px;max-width:36%;font-size:15px;line-height:1.85;color:var(--muted);margin:0 0 4px}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line)}.service{padding:34px 26px 35px;border-right:1px solid var(--line);position:relative}.service:first-child{padding-left:0}.service:last-child{border:0;padding-right:0}.service-no{display:block;font-size:11px;letter-spacing:.1em;color:#80919d}.service-icon{width:38px;height:38px;margin:30px 0 26px;fill:none;stroke:var(--blue);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.service h3{font-size:20px;line-height:1.4;letter-spacing:-.02em;max-width:200px}.service>p{font-size:13px;line-height:1.8;color:var(--muted);min-height:95px;margin:17px 0 20px}.tags{display:flex;flex-direction:column;gap:9px;font-size:11px;color:#405c70}.tags span:before{content:'—';margin-right:8px;color:#94a6b3}.work{background:var(--deep);color:#fff}.work .intro{color:#a5bac8}.work .eyebrow{color:#a8cadf}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px 24px}.project-wide{grid-column:span 2}.project-image{display:block;width:100%;height:290px;position:relative;overflow:hidden;border:0;padding:0;background:#18384d;text-align:left}.project-wide .project-image,.project-image.portrait{height:395px}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease,filter .6s;filter:saturate(.82)}.project-image:hover img{transform:scale(1.04);filter:saturate(1)}.project-image.portrait img{object-position:50% 42%}.expand{position:absolute;right:15px;bottom:15px;background:#fff;color:var(--navy);width:35px;height:35px;display:grid;place-items:center;font-size:22px}.project-info{padding:20px 0 0}.label{color:#9cb7c8;font-size:9px;letter-spacing:.13em;font-weight:600;margin:0 0 10px}.project h3{font-size:21px;line-height:1.35;letter-spacing:-.025em}.project-wide h3{font-size:25px}.project-info>p:last-child{font-size:13px;color:#a7bbc9;line-height:1.75;margin:12px 0 0;max-width:530px}.gallery-note{border-top:1px solid #ffffff22;margin:42px 0 0;padding-top:24px;font-size:12px;color:#8fa8ba}.current-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.current-grid article{background:var(--paper);padding:31px;display:flex;flex-direction:column;align-items:flex-start;border-top:2px solid var(--blue)}.status{font-size:10px;color:var(--blue);font-weight:650;text-transform:uppercase;letter-spacing:.08em}.current-grid h3{font-size:23px;letter-spacing:-.035em;margin:24px 0 14px}.current-grid p{font-size:14px;line-height:1.85;color:var(--muted);margin:0 0 30px}.current-bottom{margin-top:auto;font-size:10px;line-height:1.65;color:#496475;border-top:1px solid #d6dfe2;width:100%;padding-top:18px}.method{background:var(--paper)}.method-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}.method-heading>p:not(.eyebrow){font-size:15px;line-height:1.8;color:var(--muted);max-width:400px}.method-heading>img{width:100%;height:265px;object-fit:cover;margin-top:36px;filter:saturate(.8)}.steps{list-style:none;padding:0;margin:0;align-self:center}.steps li{display:flex;gap:28px;border-top:1px solid #ced8df;padding:30px 0}.steps li>span{font-size:12px;color:var(--blue);padding-top:4px}.steps h3{font-size:22px;letter-spacing:-.025em}.steps p{font-size:14px;line-height:1.85;color:var(--muted);margin:12px 0 0}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:85px}.about-layout h2{font-size:clamp(33px,3vw,45px)}.about-layout>div>p{font-size:14px;line-height:1.9;color:var(--muted);margin:0 0 20px}.about-layout .about-lead{font-size:20px;line-height:1.7;color:var(--ink);letter-spacing:-.02em}.inline-link{font-size:13px;font-weight:650;text-decoration:none;display:inline-flex;align-items:center;gap:40px;padding:10px 0;border-bottom:1px solid var(--blue);color:var(--blue)}.sectors{margin-top:70px;padding-top:36px;border-top:1px solid var(--line)}.sectors>p,.technologies>p{font-size:10px;letter-spacing:.12em;color:#70828e;font-weight:600}.sectors>div{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.sectors span{font-size:13px;background:var(--paper);padding:11px 17px}.technologies{padding-top:38px;margin-top:38px;border-top:1px solid var(--line)}.technologies>div{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;margin-top:25px}.technologies span{font-family:var(--display);font-size:17px;font-weight:700;color:#657b89;letter-spacing:-.035em}.contact{color:#fff;background:var(--navy);position:relative;overflow:hidden}.contact:after{content:'DGM';font-family:var(--display);font-weight:800;font-size:300px;letter-spacing:-.07em;line-height:1;position:absolute;right:-15px;bottom:-70px;opacity:.025;pointer-events:none}.contact-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:100px;position:relative;z-index:1}.contact h2{font-size:clamp(55px,6.5vw,92px);line-height:1.06;letter-spacing:-.06em}.contact .eyebrow{color:#aac8dc;font-size:10px}.contact-layout>div>p:not(.eyebrow){font-size:16px;line-height:1.85;color:#bad0de;max-width:450px;margin:25px 0 30px}.contact-details{display:flex;flex-direction:column;justify-content:center;gap:32px}.contact-details>div{border-top:1px solid #ffffff25;padding-top:19px}.contact-details span{display:block;font-size:9px;font-weight:650;letter-spacing:.13em;color:#93b3c9;margin-bottom:13px}.contact-details a{font-size:clamp(14px,1.4vw,20px);text-decoration:none;overflow-wrap:anywhere}.contact-details a:hover{text-decoration:underline}.contact-details p{font-size:14px;line-height:1.8;margin:0;color:#c6d9e5}footer{display:flex;gap:35px;align-items:center;padding-block:32px}footer img{width:92px;height:65px;object-fit:contain}footer p{font-size:11px;color:var(--muted);line-height:1.7}footer>span{margin-left:auto;font-size:10px;color:#70828e}.back-top{font-size:11px;text-decoration:none;margin-left:20px}.lightbox{border:0;background:var(--deep);padding:24px;color:white;max-width:95vw;max-height:95svh;width:fit-content;overflow:auto}.lightbox::backdrop{background:#02121ee8;backdrop-filter:blur(8px)}.lightbox>img{max-height:78svh;max-width:85vw;object-fit:contain;width:auto;height:auto}.lightbox>p{font-size:13px;margin:18px 45px 0 0}.close-photo{position:absolute;right:10px;top:8px;width:38px;height:38px;background:#fff;color:var(--navy);border:0;font-size:28px;line-height:1;z-index:1}.photo-open{overflow:hidden}
@media(min-width:1600px){.topbar{padding-inline:max(6%,calc((100% - 1320px)/2))}.hero-bottom{left:calc((100% - 1320px)/2)}}
@media(max-width:1100px){.topbar{gap:24px}.topbar nav{gap:22px}.nav-contact{padding-left:22px;gap:15px;font-size:11px}.topbar nav a{font-size:12px}.services-grid{grid-template-columns:repeat(2,1fr)}.service{padding:30px!important}.service:nth-child(2){border-right:0}.service:nth-child(-n+2){border-bottom:1px solid var(--line)}.service>p{min-height:0}.service h3{max-width:none}.method-layout,.contact-layout{gap:55px}.project-image{height:240px}.project-wide .project-image,.project-image.portrait{height:330px}.current-grid article{padding:25px}.current-grid h3{font-size:20px}.current-grid p{font-size:13px}.about-layout{gap:50px}}
@media(max-width:800px){html{scroll-padding-top:88px}.section{padding-block:76px}.topbar{height:80px;padding-inline:6%;gap:20px}.brand,.brand img{width:94px}.brand img{height:65px}.nav-contact{margin-left:auto;border:0;padding:0}.menu{display:flex;flex-direction:column;justify-content:center;gap:6px;width:36px;height:38px;background:none;border:0;order:3;padding:5px}.menu span{width:24px;height:1.5px;background:var(--navy);transition:transform .2s}.menu[aria-expanded=true] span:first-child{transform:translateY(3.75px) rotate(45deg)}.menu[aria-expanded=true] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}.topbar nav{display:none;position:absolute;top:79px;left:0;right:0;margin:0;background:#fff;padding:25px 6% 32px;border-bottom:1px solid var(--line);gap:22px;box-shadow:0 15px 20px #082c4b12}.topbar nav.open{display:flex;flex-direction:column}.topbar nav a{font-size:16px}.hero{height:auto;min-height:730px}.hero-content{padding-block:75px 125px}.hero-photo{object-position:60% center}.hero-shade{background:linear-gradient(90deg,#041829f2,#041829b0 70%,#04182966),linear-gradient(0deg,#04182999,transparent)}h1{font-size:clamp(56px,8.6vw,76px)}.hero-lead{font-size:21px;max-width:500px}.hero-bottom span:last-child{display:none}.capability-strip>.wrap{flex-wrap:wrap;justify-content:center;font-size:11px;gap:14px;padding-block:22px}.capability-strip b{font-size:14px}.section-head{gap:25px;align-items:flex-start;flex-direction:column;margin-bottom:36px}.intro{max-width:570px;width:100%;font-size:14px}.eyebrow{margin-bottom:21px}h2{font-size:38px}.project-grid{grid-template-columns:repeat(2,1fr);gap:35px 20px}.project-wide{grid-column:span 2}.project-wide .project-image{height:370px}.project-image.portrait,.project-image{height:280px}.project h3,.project-wide h3{font-size:21px}.current-grid{grid-template-columns:1fr}.current-grid article{padding:28px}.current-grid h3{font-size:24px;margin:16px 0 12px}.current-grid p{font-size:14px}.current-bottom{font-size:11px}.method-layout{grid-template-columns:1fr;gap:45px}.method-heading>img{height:350px}.method-heading>p:not(.eyebrow){max-width:570px}.steps li:first-child{padding-top:28px}.about-layout{grid-template-columns:1fr;gap:30px}.about-layout h2{font-size:38px}.about-layout .about-lead{font-size:19px}.technologies>div{justify-content:flex-start;gap:20px 30px}.contact-layout{grid-template-columns:1fr;gap:55px}.contact h2{font-size:74px}.contact-details{gap:25px}.contact-details a{font-size:19px}footer{flex-wrap:wrap;gap:18px 25px}footer>span{margin:0}footer .back-top{margin-left:auto}}
@media(max-width:480px){.wrap{width:88%}.nav-contact{font-size:10px;gap:10px;max-width:155px}.nav-contact span{font-size:18px}.hero{min-height:715px}.hero-content{padding-block:62px 105px}.hero .eyebrow{font-size:9px;margin-bottom:28px}h1{font-size:54px}.hero-lead{font-size:19px;margin-top:27px}.hero-detail{font-size:13px;max-width:300px}.actions{flex-direction:column;align-items:flex-start;gap:16px;margin-top:28px}.button{font-size:12px;padding:16px 21px}.text-link{font-size:12px}.hero-bottom{bottom:23px;padding-top:18px;font-size:8px;letter-spacing:.1em}.capability-strip>.wrap{display:grid;grid-template-columns:1fr 1fr;gap:13px;text-align:center;font-size:10px}.capability-strip b{display:none}.section{padding-block:64px}h2{font-size:32px}.eyebrow{font-size:9px}.services-grid{grid-template-columns:1fr}.service{padding:28px 0!important;border-right:0;border-bottom:1px solid var(--line)!important}.service:last-child{border-bottom:0!important}.service-icon{float:left;margin:23px 20px 0 0;width:31px;height:31px}.service-no{font-size:10px}.service h3{font-size:22px;padding-top:20px;min-height:65px}.service>p{font-size:14px;margin:16px 0}.tags{gap:7px;font-size:11px}.project-grid{grid-template-columns:1fr;gap:35px}.project-wide{grid-column:auto}.project-wide .project-image,.project-image.portrait,.project-image{height:290px}.project-wide .project-image img{object-position:60% center}.project-image.portrait img{object-position:50% 35%}.project-info{padding-top:17px}.project h3,.project-wide h3{font-size:22px}.project-info>p:last-child{font-size:13px}.method-heading>img{height:250px}.steps h3{font-size:20px}.steps li{gap:20px;padding:25px 0}.steps p{font-size:13px}.about-layout h2{font-size:32px}.about-layout .about-lead{font-size:18px}.sectors{margin-top:40px}.sectors>p,.technologies>p{font-size:9px;line-height:1.8}.sectors span{font-size:11px;padding:10px 13px}.technologies span{font-size:15px}.contact h2{font-size:62px}.contact .eyebrow{font-size:9px}.contact-details a{font-size:16px}footer{gap:14px 22px}footer p{font-size:10px}footer>span{font-size:9px}footer .back-top{font-size:10px}.lightbox{padding:12px}.lightbox>img{max-width:86vw}.lightbox>p{font-size:12px;line-height:1.6}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.modern-brand{margin-top:48px;padding:28px;background:var(--paper);border:1px solid var(--line)}.modern-brand img{width:min(100%,760px);height:auto;margin:auto}@media(max-width:480px){.modern-brand{padding:12px;margin-top:32px}}
