:root{--navy:#071b33;--blue:#0c4178;--paper:#f3f1ec;--white:#fff;--ink:#111820;--muted:#6f757a;--line:#d5d3cd;--ice:#dce8f2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.header{position:absolute;z-index:20;top:0;left:0;right:0;height:92px;padding:0 5.2vw;color:#fff;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.35);text-shadow:0 1px 10px rgba(0,12,28,.5)}.brand{display:block;width:230px;color:currentColor}.brand img{display:block;width:100%;max-height:51px}.header nav{display:flex;gap:34px;margin:auto}.header nav a{font-size:11px;font-weight:600;letter-spacing:.04em;opacity:1;color:#fff}.header nav a:hover{color:#c9e3f7}.header-tools{display:flex;align-items:center;gap:24px}.langs{display:flex}.langs button{border:0;background:none;color:#fff;opacity:.72;font-size:9px;font-weight:600;padding:6px;cursor:pointer}.langs button:hover,.langs button.active{opacity:1;color:#fff}.nav-cta{height:42px;border:1px solid rgba(255,255,255,.85);padding:0 16px;display:flex;align-items:center;gap:25px;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.09em;background:rgba(3,20,39,.22)}.nav-cta:hover{background:#fff;color:var(--navy);text-shadow:none}.nav-cta i{font-style:normal;font-size:15px}.menu{display:none;border:0;background:none}.menu span{display:block;width:26px;height:2px;background:#fff;margin:7px}
.hero{height:100vh;min-height:760px;color:#fff;position:relative;overflow:hidden;background:var(--navy)}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.6) contrast(1.04)}.hero-wash{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,18,36,.94) 0%,rgba(4,22,43,.72) 45%,rgba(4,22,43,.1) 80%),linear-gradient(0deg,rgba(4,16,31,.75),transparent 50%)}.hero-content{position:absolute;left:8.5vw;top:51%;transform:translateY(-46%);max-width:760px}.overline{display:flex;gap:25px;font-size:8px;letter-spacing:.2em;margin-bottom:33px;color:#c9d5df}.overline span{color:#fff}.hero h1,.section h2,.contact h2{font:600 clamp(70px,8.2vw,132px)/.84 Manrope;margin:0;letter-spacing:-.075em}.hero h1 em,.section h2 em,.contact h2 em{font-style:normal;color:#a9c8e1}.hero-content>p{font-size:15px;line-height:1.75;color:#ced6de;max-width:590px;margin:35px 0}.hero-links{display:flex;align-items:center;gap:34px}.button{height:58px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;min-width:220px;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.button.light{background:#fff;color:var(--navy)}.button i,.plain-link i{font-style:normal;font-size:16px}.plain-link{display:flex;gap:25px;padding:19px 0;border-bottom:1px solid rgba(255,255,255,.45);font-size:9px;text-transform:uppercase;letter-spacing:.1em}.hero-facts{position:absolute;right:5.2vw;bottom:0;display:grid;grid-template-columns:repeat(3,170px);background:rgba(5,24,46,.8);backdrop-filter:blur(15px)}.hero-facts div{height:116px;padding:25px;border-right:1px solid rgba(255,255,255,.15)}.hero-facts strong{display:block;font:600 30px Manrope;color:#fff}.hero-facts span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:#9db0c0;margin-top:7px}
.section{padding:125px 8.5vw;position:relative}.section-label{display:flex;gap:17px;align-items:center;font-size:8px;letter-spacing:.18em;margin-bottom:62px;color:#5d6368}.section-label span{color:var(--blue)}.section-label.inverse{color:#9aafc1}.section-label.inverse span{color:#fff}.manifesto-grid{display:grid;grid-template-columns:1.15fr .65fr;gap:9vw;align-items:start}.section h2,.contact h2{font-size:clamp(50px,5.4vw,84px);color:var(--navy)}.manifesto-copy{padding-top:10px}.manifesto-copy p{font-size:13px;line-height:1.85;color:var(--muted)}.manifesto-copy p.large{font:500 23px/1.5 Manrope;color:var(--ink);letter-spacing:-.025em;margin-top:0}.under-link{display:flex;justify-content:space-between;width:240px;border-bottom:1px solid var(--ink);padding:18px 0;margin-top:28px;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.under-link i{font-style:normal;font-size:15px}.metric-strip{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:100px}.metric-strip>div{padding:28px 25px 0 0;border-right:1px solid var(--line)}.metric-strip>div:not(:first-child){padding-left:25px}.metric-strip>div:last-child{border:0}.metric-strip span{font-size:7px;letter-spacing:.14em;color:var(--muted)}.metric-strip strong{display:block;font:600 38px Manrope;color:var(--navy);margin-top:13px}.metric-strip small{font:500 11px Inter;color:var(--muted)}
.expertise{background:#fff}.expertise-heading,.projects-heading{display:grid;grid-template-columns:1fr 330px;gap:8vw;align-items:end}.expertise-heading>p,.projects-heading>p{font-size:12px;line-height:1.8;color:var(--muted);margin:0 0 5px}.expertise-list{margin-top:75px;border-top:1px solid var(--line)}.expertise-list article{display:grid;grid-template-columns:55px 1.1fr .8fr 35px;gap:25px;align-items:center;min-height:118px;border-bottom:1px solid var(--line);transition:.25s}.expertise-list article:hover{padding-left:20px;background:var(--paper)}.expertise-list article>span{font-size:9px;color:#8e9397}.expertise-list h3{font:500 clamp(20px,2vw,29px) Manrope;margin:0;letter-spacing:-.035em}.expertise-list p{font-size:10px;line-height:1.65;color:var(--muted);max-width:310px}.expertise-list i{font-style:normal;font-size:18px;color:var(--blue)}
.projects{background:var(--navy);color:#fff}.projects h2{color:#fff}.projects-heading>p{color:#9aafc1}.project-grid{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:410px 410px;gap:14px;margin-top:75px}.project-card{position:relative;overflow:hidden;background:#102944}.project-card.road{grid-row:1/3}.project-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.75);transition:.7s}.project-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,17,33,.9),transparent 65%)}.project-card:hover img{transform:scale(1.035)}.project-copy{position:absolute;z-index:2;left:30px;right:30px;bottom:28px}.project-copy span{font-size:7px;letter-spacing:.18em;color:#bed0df}.project-copy h3{font:500 clamp(23px,2.2vw,34px)/1.15 Manrope;max-width:590px;letter-spacing:-.035em;margin:9px 0}.project-copy p{font-size:8px;letter-spacing:.12em;color:#afbecb;text-transform:uppercase}.project-card.road img{object-position:center}.project-card.industrial img{object-position:center}.project-card.residential img{object-position:center 65%}
.standard-grid{display:grid;grid-template-columns:1fr .8fr;gap:10vw}.standard-intro>p{font-size:13px;line-height:1.8;color:var(--muted);max-width:520px;margin-top:30px}.steps{border-top:1px solid var(--line)}.steps>div{display:grid;grid-template-columns:50px 1fr;padding:22px 0;border-bottom:1px solid var(--line)}.steps>div>b{font-size:8px;color:var(--blue)}.steps span{display:flex;justify-content:space-between;gap:20px}.steps strong{font:500 14px Manrope}.steps small{font-size:9px;line-height:1.5;color:var(--muted);max-width:220px;text-align:right}
.contact{background:#0a2a4d;color:#fff;padding:110px 8.5vw;display:grid;grid-template-columns:1fr .75fr;gap:10vw;align-items:center}.contact h2{color:#fff;font-size:clamp(55px,6vw,90px)}.contact h2 em{color:#a9c8e1}.contact-copy>p{font-size:13px;line-height:1.8;color:#acc0d0;max-width:520px;margin:28px 0 42px}.contacts{display:grid;grid-template-columns:1fr 1.4fr;gap:22px}.contacts>*{display:flex;flex-direction:column;border-top:1px solid rgba(255,255,255,.2);padding-top:13px}.contacts small{font-size:7px;letter-spacing:.16em;color:#8fa8bb;margin-bottom:8px}.contacts strong{font-size:10px;font-weight:500}.contact form{background:#fff;color:var(--ink);padding:42px}.contact form label{display:block;margin-bottom:25px}.contact form label span{display:block;font-size:8px;color:#777e84;margin-bottom:8px}.contact input,.contact textarea{border:0;border-bottom:1px solid #d5d7d8;width:100%;padding:8px 0;outline:none;resize:none}.contact input:focus,.contact textarea:focus{border-color:var(--blue)}.contact form button{height:58px;width:100%;background:var(--navy);color:#fff;border:0;padding:0 22px;display:flex;align-items:center;justify-content:space-between;font-size:9px;text-transform:uppercase;letter-spacing:.1em;cursor:pointer}.contact form button i{font-style:normal;font-size:17px}
footer{min-height:105px;background:#05182e;color:#fff;padding:25px 5.2vw;display:flex;align-items:center;justify-content:space-between;gap:25px}footer .brand{width:180px}footer>span,footer>a:last-child,footer small{font-size:8px;letter-spacing:.1em;color:#8197aa}footer small{font-weight:400}
@media(max-width:1050px){.header nav,.nav-cta{display:none}.menu{display:block}.hero-content{left:6vw}.hero-facts{right:0}.section{padding:100px 6vw}.contact{padding:90px 6vw;gap:6vw}.header nav.open{display:flex;position:absolute;top:92px;left:0;right:0;padding:30px;background:var(--navy);flex-direction:column;gap:22px}.header nav.open a{font-size:13px}}
@media(max-width:720px){.header{height:74px;padding:0 20px}.brand{width:170px}.header-tools{gap:12px}.langs button{padding:5px 3px}.hero{min-height:820px;height:100svh}.hero-image{object-position:58% center}.hero-wash{background:linear-gradient(90deg,rgba(4,18,36,.96),rgba(4,18,36,.45)),linear-gradient(0deg,rgba(4,18,36,.9),transparent)}.hero-content{left:24px;right:24px;top:43%;max-width:none}.hero h1{font-size:65px}.hero-content>p{font-size:12px;line-height:1.7}.hero-links{align-items:flex-start;flex-direction:column;gap:10px}.hero-facts{left:20px;right:20px;grid-template-columns:repeat(3,1fr)}.hero-facts div{height:95px;padding:16px 12px}.hero-facts strong{font-size:23px}.hero-facts span{font-size:6px}.section{padding:78px 24px}.section-label{margin-bottom:40px}.manifesto-grid,.expertise-heading,.projects-heading,.standard-grid,.contact{grid-template-columns:1fr;gap:45px}.section h2,.contact h2{font-size:45px}.manifesto-copy p.large{font-size:20px}.metric-strip{margin-top:60px;gap:10px}.metric-strip>div,.metric-strip>div:not(:first-child){padding:20px 10px 0 0}.metric-strip strong{font-size:27px}.metric-strip small{font-size:8px}.expertise-list{margin-top:45px}.expertise-list article{grid-template-columns:30px 1fr 25px;gap:12px;padding:24px 0}.expertise-list article:hover{padding-left:8px}.expertise-list p{display:none}.expertise-list h3{font-size:18px}.project-grid{grid-template-columns:1fr;grid-template-rows:430px 330px 330px;margin-top:45px}.project-card.road{grid-row:auto}.project-copy{left:22px;right:22px;bottom:20px}.steps span{display:block}.steps small{display:block;text-align:left;margin-top:8px}.contact{padding:75px 24px}.contacts{grid-template-columns:1fr}.contact form{padding:32px 24px}footer{flex-wrap:wrap;padding:32px 24px}footer small{width:100%;order:4}}
@media(max-width:400px){.brand{width:150px}.hero h1{font-size:57px}.section h2,.contact h2{font-size:40px}.hero-content{top:42%}.metric-strip span{font-size:6px}}

/* Interactive expertise */
.expertise-item{display:block!important;min-height:0!important;padding:0!important}
.expertise-toggle{width:100%;min-height:128px;display:grid;grid-template-columns:60px 1.1fr .8fr 38px;gap:28px;align-items:center;border:0;background:transparent;color:var(--ink);text-align:left;padding:0;cursor:pointer;transition:background .25s,padding .25s}
.expertise-toggle:focus{outline:none}.expertise-toggle:focus-visible{box-shadow:inset 0 0 0 2px var(--blue)}
.expertise-toggle:hover,.expertise-item.open .expertise-toggle{background:var(--paper);padding-left:22px}
.expertise-toggle>span{font-size:11px;color:#707980}
.expertise-toggle h3{font:500 clamp(22px,2.1vw,31px) Manrope;margin:0;letter-spacing:-.035em}
.expertise-toggle p{font-size:13px;line-height:1.65;color:#59636c;max-width:370px}
.expertise-toggle>i{font-style:normal;font-size:25px;color:var(--blue);transition:transform .3s}
.expertise-item.open .expertise-toggle>i{transform:rotate(45deg)}
.expertise-panel{max-height:0;overflow:hidden;background:var(--paper);transition:max-height .4s ease}
.expertise-item.open .expertise-panel{max-height:420px}
.expertise-detail{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:0 7%}
.expertise-item.open .expertise-detail{padding-top:28px;padding-bottom:24px}
.expertise-detail span{display:flex;gap:12px;font-size:13px;line-height:1.55;color:#37434d}
.expertise-detail span:before{content:"";width:7px;height:7px;flex:0 0 7px;margin-top:7px;background:var(--blue)}
.expertise-cta{margin:0 7% 28px auto;display:flex;align-items:center;gap:28px;width:max-content;padding:14px 0;border-bottom:1px solid var(--navy);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.expertise-cta i{font-style:normal;font-size:17px;color:var(--blue)}

/* Readable desktop typography */
@media(min-width:1051px){
  .header nav a{font-size:14px}.langs button{font-size:12px}.nav-cta{font-size:12px;height:48px}
  .overline{font-size:11px}.hero-content>p{font-size:19px;line-height:1.7;max-width:690px}
  .button{font-size:13px;min-width:250px;height:62px}.plain-link{font-size:12px}
  .hero-facts span{font-size:10px;line-height:1.4}.hero-facts strong{font-size:34px}
  .section-label{font-size:11px}.manifesto-copy p{font-size:17px;line-height:1.8}.manifesto-copy p.large{font-size:27px}
  .under-link{font-size:12px;width:285px}.metric-strip span{font-size:10px}.metric-strip small{font-size:14px}
  .expertise-heading>p,.projects-heading>p,.standard-intro>p{font-size:17px;line-height:1.75}
  .project-copy span{font-size:10px}.project-copy p{font-size:11px}.project-copy h3{font-size:36px}
  .steps strong{font-size:18px}.steps small{font-size:13px;max-width:280px}.steps>div>b{font-size:11px}
  .contact-copy>p{font-size:17px}.contacts small{font-size:10px}.contacts strong{font-size:14px}
  .contact form label span{font-size:12px}.contact input,.contact textarea{font-size:17px}.contact form button{font-size:12px}
  footer>span,footer>a:last-child,footer small{font-size:11px}
}

@media(max-width:720px){
  .header{position:relative;min-height:74px;height:auto;flex-wrap:wrap;background:var(--navy);border-bottom:1px solid rgba(255,255,255,.16)}
  .header-tools{margin-left:auto}
  .header nav.open{position:relative;top:auto;left:auto;right:auto;order:3;width:calc(100% + 40px);margin:0 -20px;padding:20px 24px 28px;background:#081f3b;border-top:1px solid rgba(255,255,255,.12);box-shadow:0 18px 35px rgba(2,14,28,.18)}
  .header nav.open a{display:flex;align-items:center;min-height:50px;padding:0 10px;border-bottom:1px solid rgba(255,255,255,.1);font-size:16px;letter-spacing:.02em}
  .header nav.open a:last-child{border-bottom:0}
  .menu{padding:9px 0 9px 10px}
  .menu:focus{outline:none}.menu:focus-visible{outline:2px solid #a9c8e1;outline-offset:3px}
  .menu span{transition:transform .25s,opacity .25s}
  .header.menu-open .menu span:first-child{transform:translateY(4px) rotate(45deg)}
  .header.menu-open .menu span:last-child{transform:translateY(-4px) rotate(-45deg)}
  .hero{height:calc(100svh - 74px)}
  .expertise-toggle{min-height:112px;grid-template-columns:32px 1fr 28px;gap:10px;padding:0}
  .expertise-toggle:hover,.expertise-item.open .expertise-toggle{padding-left:8px}
  .expertise-toggle h3{font-size:19px}.expertise-toggle p{display:none}.expertise-toggle>i{font-size:21px}
  .expertise-detail{grid-template-columns:1fr;padding:0 18px;gap:12px}
  .expertise-item.open .expertise-detail{padding-top:20px;padding-bottom:18px}
  .expertise-detail span{font-size:13px}.expertise-cta{margin:0 18px 24px auto;font-size:10px}
}
