:root{--blue:#292a76;--navy:#16183e;--ink:#202439;--muted:#606676;--line:#dfe2ea;--paper:#f4f5f8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0;color:var(--ink);background:#fff;font:16px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-underline-offset:5px}button{font:inherit;cursor:pointer}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #797eff;outline-offset:5px}img{max-width:100%;display:block}figure{margin:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.1;letter-spacing:-.045em}h2{font-size:clamp(32px,3.4vw,50px);margin-bottom:24px}h3{font-size:24px;line-height:1.2;letter-spacing:-.025em}.wrap{width:min(1280px,88%);margin:auto}.header{position:sticky;top:0;z-index:20;background:#fffffffa;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{display:flex;justify-content:space-between;align-items:center;min-height:98px;gap:24px}.brand img{width:218px;height:auto}.header nav{display:flex;align-items:center;gap:30px}.header nav a{text-decoration:none;font-size:14px;font-weight:700}.header nav a:not(.button):hover{color:var(--blue);text-decoration:underline}.button{display:inline-flex;justify-content:center;align-items:center;gap:18px;background:var(--blue);color:#fff;padding:16px 25px;text-decoration:none;font-weight:700;font-size:14px;border:1px solid transparent;border-radius:3px;transition:background .2s}.button:hover{background:#424490}.button.small{padding:13px 18px}.button.white{background:white;color:var(--blue)}.button.white:hover{background:#e6e8ff}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:45% 55%;min-height:620px;background:var(--navy);color:white}.hero-copy{padding:76px max(36px,calc((100vw - 1280px)/2)) 38px;padding-right:42px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:700;color:var(--blue);margin-bottom:25px}.hero .eyebrow{color:#c2c5f3;font-size:10px;letter-spacing:.14em}h1{font-size:clamp(48px,5.3vw,78px);font-weight:600;margin-bottom:28px}.hero-intro{font-size:17px;line-height:1.75;max-width:440px;color:#d7d9e8;margin-bottom:30px}.hero-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.text-link{font-size:13px;font-weight:700}.hero-foot{font-size:11px;color:#bfc3da;margin:44px 0 0}.hero-photo{position:relative;min-height:100%;overflow:hidden}.hero-photo>img{height:100%;width:100%;object-fit:cover}.hero-photo:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#000b)}.hero-photo figcaption{position:absolute;bottom:34px;left:36px;right:28px;z-index:1;display:flex;flex-direction:column;gap:5px}.hero-photo figcaption span{font-size:10px;letter-spacing:.15em}.hero-photo strong{font-size:25px}.hero-photo small{font-size:12px;color:#eee}.sector-band{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:32px 0}.sector-band span{font-size:10px;letter-spacing:.12em;color:var(--muted)}.sector-band strong{font-size:14px;font-weight:500}.section{padding:96px 0}.services,.company{background:var(--paper)}.section-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:12%;align-items:end;margin-bottom:46px}.section-heading h2{margin-bottom:0}.section-heading>p{color:var(--muted);max-width:475px;margin:0;font-size:16px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service{background:#fff;border:1px solid var(--line);padding:30px 25px;display:flex;flex-direction:column}.number{font-size:13px;color:#777b9c;margin-bottom:40px}.service h3{font-size:23px;min-height:56px}.service>p{font-size:14px;color:var(--muted);margin-bottom:25px}.service details{margin-top:auto;font-size:13px;border-top:1px solid var(--line);padding-top:18px}.service summary{cursor:pointer;color:var(--blue);font-weight:700}.service ul{padding-left:17px;margin-bottom:0}.service li{margin-top:8px;color:var(--muted)}.filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:32px}.filters button{border:1px solid var(--line);background:white;padding:9px 20px;border-radius:30px;font-size:13px;color:var(--muted)}.filters button[aria-pressed=true]{background:var(--blue);color:white;border-color:var(--blue)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px 26px}.project[hidden]{display:none}.project-photo{width:100%;display:block;padding:0;border:0;position:relative;overflow:hidden;background:var(--paper);aspect-ratio:1.5;color:white;text-align:left}.project-photo img{width:100%;height:100%;object-fit:cover;transition:scale .3s}.project-photo:hover img{scale:1.04}.rotate{transform:rotate(180deg)}.photo-open{position:absolute;right:12px;bottom:12px;background:#16183ede;padding:5px 11px;font-size:11px;border-radius:3px}.project-meta{margin:19px 0 8px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--blue);font-weight:700}.project h3{font-size:22px;margin-bottom:9px;line-height:1.25}.project-location{font-size:12px;color:var(--muted);margin-bottom:10px}.project-scope{font-size:13px;line-height:1.65;color:var(--muted);margin:0;border-top:1px solid var(--line);padding-top:12px}.company-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.company figure img{width:100%;height:480px;object-fit:cover}.company figcaption{font-size:11px;color:var(--muted);padding-top:12px}.company p{color:var(--muted);font-size:14px}.company .eyebrow{color:var(--blue);font-size:11px}.company .lead{font-size:17px;color:var(--ink)}.values{border-top:1px solid var(--line);margin-top:28px}.values>div{padding:14px 0;border-bottom:1px solid var(--line)}.values strong{font-size:14px;display:block}.values span{font-size:12px;color:var(--muted)}.process{background:var(--navy);color:#fff}.process .eyebrow{color:#b9bceb}.process .section-heading>p{color:#c0c4da}.process-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin:52px 0 0}.process-grid li{border-top:1px solid #454760;padding-top:20px}.process-grid span{font-size:12px;color:#b9bceb}.process-grid h3{font-size:22px;margin:25px 0 13px}.process-grid p{font-size:14px;color:#c0c4da;max-width:300px;margin-bottom:0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:15%}.contact-grid>div>p:not(.eyebrow){max-width:430px;color:var(--muted)}address{font-style:normal;align-self:center}address>div{margin-bottom:26px}address span{display:block;font-size:10px;letter-spacing:.13em;color:var(--muted);margin-bottom:8px}address a{font-size:24px;letter-spacing:-.025em;text-decoration:none}address a:hover{text-decoration:underline}address p{font-size:14px;margin:0}footer{border-top:1px solid var(--line)}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:30px 0}.footer-inner .brand img{width:165px}.footer-inner p,.footer-inner>a:last-child{font-size:11px;color:var(--muted);margin:0}dialog{border:0;padding:0;max-width:960px;width:90vw;max-height:90vh;background:white;color:var(--ink);border-radius:6px}dialog::backdrop{background:#0c1025dc}dialog>img{width:100%;max-height:65vh;object-fit:contain;background:#121329}.dialog-close{position:sticky;top:0;float:right;margin:12px;background:#fff;border:0;padding:8px 15px;border-radius:3px;z-index:2}.dialog-copy{padding:26px}.dialog-copy h2{font-size:26px;margin-bottom:12px}.dialog-copy p{font-size:14px;margin:0}.sr-only,.skip{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip:focus{clip:auto;left:15px;top:15px;padding:10px;background:white;z-index:100;width:auto;height:auto}
@media(min-width:1600px){.hero-copy{padding-left:max(6vw,calc((100vw - 1280px)/2))}.hero{min-height:660px}}
@media(max-width:1100px){.header nav{gap:18px}.brand img{width:185px}.hero-copy{padding:50px 32px}.hero{min-height:570px}.hero-actions{gap:18px}.service-grid{grid-template-columns:repeat(2,1fr)}.service h3{min-height:0}.number{margin-bottom:25px}.project-grid{grid-template-columns:repeat(2,1fr)}.company-grid{gap:6%}.section{padding:75px 0}}
@media(max-width:760px){html{scroll-padding-top:86px}.wrap{width:88%}.header-inner{min-height:80px;position:relative}.brand img{width:175px}.menu-toggle{display:block;background:white;border:1px solid var(--line);border-radius:3px;padding:8px 13px;font-size:13px}.header nav{display:none;position:absolute;top:80px;left:-6.82%;right:-6.82%;padding:20px 6%;background:white;border-bottom:1px solid var(--line);align-items:stretch;box-shadow:0 8px 15px #16183e0d}.header nav.open{display:flex;flex-direction:column}.header nav a{padding:10px}.hero{grid-template-columns:1fr}.hero-copy{padding:47px 6% 38px}.hero .eyebrow{font-size:9px}.hero h1{font-size:56px}.hero-intro{font-size:16px;max-width:500px}.hero-foot{margin-top:27px}.hero-photo{height:330px}.hero-photo img{object-position:center}.hero-photo figcaption{left:6%;bottom:24px}.sector-band{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:26px 0}.sector-band span{grid-column:1/-1}.sector-band strong{font-size:13px}.section{padding:58px 0}.section-heading{grid-template-columns:1fr;gap:25px;margin-bottom:30px}.section-heading>p{font-size:15px}.eyebrow{margin-bottom:18px}.service-grid{gap:12px}.service{padding:23px 19px}.service h3{font-size:20px}.service>p{font-size:13px}.service details{font-size:12px}.company-grid,.contact-grid{grid-template-columns:1fr;gap:38px}.company figure img{height:300px}.company-grid>div{order:-1}.process-grid{grid-template-columns:repeat(2,1fr);gap:28px}.process-grid h3{font-size:20px}.process-grid p{font-size:13px}.project-grid{gap:30px 18px}.project h3{font-size:20px}.filters{gap:7px}.filters button{padding:8px 14px;font-size:12px}.footer-inner{flex-wrap:wrap}.footer-inner p{order:3;width:100%}.contact address a{font-size:23px}}
@media(max-width:460px){.service-grid,.project-grid{grid-template-columns:1fr}.service h3 br{display:none}.hero h1{font-size:49px}.hero-actions{gap:20px}.hero-photo{height:270px}.process-grid{gap:24px 20px}.project-photo{aspect-ratio:1.5}.hero-photo small{font-size:10px}.dialog-copy{padding:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
