.v2{--paper:#e9e9e6;--line:#c4c5c3}.v2 .header{background:#181515;color:white;border:0}.v2 .brand{background:white;justify-content:center;width:100px;padding:7px 12px;align-self:center;height:94px}.v2 .brand img{height:82px;width:80px}.v2 .head-inner{height:108px}.v2 .nav{gap:20px;font-size:11px}.v2 .contact-link{border-color:#777}.v2 .nav a:after{background:white}.v2 .menu-button{color:white}.v2 .footer{background:#181515;color:white}.v2 .footer p,.v2 .footer a{color:#c5c5c5}.v2 .footer-bottom{border-color:#555}.full-hero{position:relative;height:660px;background:#181515;color:white;overflow:hidden}.full-hero>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 52%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,12,15,.76),rgba(10,12,15,.06) 85%),linear-gradient(0deg,rgba(10,12,15,.45),transparent 65%)}.hero-content{position:relative;z-index:1;padding-top:85px;padding-bottom:55px}.hero-content h1{font-size:clamp(54px,6.5vw,96px);margin:28px 0;max-width:1000px}.hero-content p{font-size:18px;max-width:560px;color:#eee}.hero-content .button{margin-top:18px}.territory{background:#181515;color:#ccc;padding:20px 0}.territory .wrap{display:flex;justify-content:space-between;gap:25px;font-size:10px;letter-spacing:.1em}.sector-tiles{display:grid;grid-template-columns:repeat(3,1fr)}.sector-tile{height:510px;position:relative;overflow:hidden;color:white;background:#181515}.sector-tile>img{height:100%;width:100%;object-fit:cover;transition:transform .5s}.sector-tile:hover>img{transform:scale(1.04)}.sector-tile:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#181515 0%,#18151555 70%,#18151533)}.sector-tile.tp:after{background:linear-gradient(0deg,#951927 0%,#95192766 70%,#18151533)}.sector-tile.tce:after{background:linear-gradient(0deg,#1f2c54 0%,#1f2c5466 70%,#18151533)}.sector-tile>div{position:absolute;z-index:1;bottom:40px;left:36px;right:30px}.sector-tile h2{font-size:42px;margin:22px 0}.sector-tile p{font-size:13px;min-height:42px}.tile-link{display:block;border-top:1px solid #ffffff77;padding-top:17px;font-size:12px}.dark-section{background:#252525;color:#fff}.dark-section .body-copy p,.dark-section .muted,.dark-section .project p,.dark-section .project .tag{color:#c7c7c7}.dark-section .project h3{color:white}.dark-section .section-head .text-link{color:#ccc}.v2 .project figure{aspect-ratio:1.5}.v2 .projects{gap:42px 30px}.phase-note{font-size:12px;margin-top:10px!important}.team-banner{position:relative;min-height:490px;background:#181515;display:grid;grid-template-columns:1.2fr 1fr;color:white}.team-banner>img{width:100%;height:100%;object-fit:cover}.team-banner>div{padding:70px 50px;align-self:center}.team-banner h2{font-size:44px;margin:24px 0 30px}.news-row{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.news-row>a{border-top:3px solid var(--blue);padding:25px 0}.news-row h3{font-size:27px;margin:25px 0}.news-row span:last-child{font-size:12px}.tp-hero .hero-shade{background:linear-gradient(90deg,#5b071de8,#1815152b 90%)}.tce-hero .hero-shade{background:linear-gradient(90deg,#1f2c54eb,#18151511 95%)}.trade-strip{background:var(--red);color:white;padding:26px 30px;text-align:center;font-size:13px;font-weight:bold;letter-spacing:.07em}.trade-strip span{padding:0 20px}.service-photo{width:100%;height:420px;object-fit:cover;margin-top:30px}.irve{background:#d7d8d7}.v2 .cg-hero img,.v2 .sector.cg img{filter:none}.short-hero{height:510px}.short-hero h1{font-size:clamp(43px,5.5vw,76px)}.case-hero{height:520px}.case-hero h1{font-size:clamp(45px,5.5vw,75px)}.case-hero p{max-width:750px}.stage-filters,.news-filters{display:flex;gap:12px;flex-wrap:wrap;margin:45px 0}.stage-filter,.news-filter{padding:12px 22px;border:1px solid #999;background:transparent;color:#333}.stage-filter.active,.news-filter.active{background:var(--accent);color:#fff;border-color:var(--accent)}.case-stage{margin:55px 0 75px}.stage-heading{display:flex;align-items:center;gap:40px;border-top:1px solid #b4b4b4;padding-top:26px;margin-bottom:30px}.stage-heading h2{font-size:35px;margin:0}.case-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.gallery-photo{border:0;padding:0;background:#d9d9d7;position:relative;text-align:left;overflow:hidden}.gallery-photo img{width:100%;height:390px;object-fit:cover}.gallery-photo span{display:block;padding:13px 18px;font-size:12px}.gallery-photo:hover img{filter:brightness(.9)}.timeline article{display:grid;grid-template-columns:240px 1fr;gap:50px;padding:45px 0;border-top:1px solid #bcbcbc}.timeline .year{font-size:45px;letter-spacing:-.04em;color:var(--red)}.timeline h2{font-size:36px}.timeline p{color:#535353;max-width:75ch}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:45px}.team-grid img{width:100%;height:285px;object-fit:cover}.team-grid h3{font-size:26px;margin:23px 0 15px}.team-grid p{font-size:14px;color:#ccc}.team-hero>img{object-position:center 40%}.team-hero .hero-shade{background:linear-gradient(90deg,#181515bb,#18151511),linear-gradient(0deg,#18151577,transparent)}.team-moments{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:55px}.team-moments img{width:100%;height:280px;object-fit:cover}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.news-card{background:#f5f5f3}.news-card img{height:240px;width:100%;object-fit:cover}.news-card>div{padding:30px}.news-card h3{font-size:28px;margin:20px 0}.news-card p{font-size:14px;color:#666}.news-card span:last-child{font-size:12px}.article-content{max-width:850px}.article-content h2{font-size:35px;margin-top:55px}.article-content p{font-size:18px;line-height:1.8;max-width:80ch}.photo-dialog{border:0;padding:20px;background:#181515;color:white;width:90vw;max-width:1250px;max-height:95vh}.photo-dialog::backdrop{background:#000d}.photo-dialog img{max-height:80vh;width:100%;object-fit:contain}.photo-dialog p{margin:15px 0 0;font-size:13px}.photo-close{position:absolute;top:15px;right:15px;width:44px;height:44px;background:white;border:0;font-size:28px}.v2 .contact-form{background:#d8d9d8}.v2 .cta{background:var(--accent)}
@media(max-width:1200px){.v2 .nav{gap:12px;font-size:10px}.sector-tile>div{left:25px;right:25px}.sector-tile h2{font-size:35px}.news-grid{gap:20px}}
@media(max-width:1000px){.v2 .nav{display:none;position:absolute;top:108px;left:0;right:0;padding:25px 32px;background:#181515;color:white;flex-direction:column;align-items:stretch;font-size:14px;gap:6px}.v2 .nav.open{display:flex}.v2 .menu-button{display:block}.full-hero{height:610px}.timeline article{grid-template-columns:170px 1fr}.sector-tile h2{font-size:32px}.team-banner{grid-template-columns:1fr 1fr}.team-banner>div{padding:40px 30px}.team-banner h2{font-size:36px}.news-grid{grid-template-columns:1fr 1fr}.team-grid{grid-template-columns:1fr 1fr}.case-gallery img{height:300px}}
@media(max-width:650px){.v2 .head-inner{height:88px}.v2 .brand{height:78px;width:78px;padding:6px}.v2 .brand img{height:68px;width:65px}.v2 .nav{top:88px}.full-hero{height:590px}.hero-content{padding-top:65px}.hero-content h1{font-size:50px}.hero-content p{font-size:16px}.hero-shade{background:linear-gradient(90deg,#181515cc,#18151544)}.territory .wrap{display:block;font-size:9px}.territory span{display:block;margin:5px 0}.sector-tiles{grid-template-columns:1fr}.sector-tile{height:430px}.sector-tile h2{font-size:42px}.sector-tile>div{left:25px;bottom:30px}.team-banner{display:block}.team-banner>img{height:320px}.team-banner>div{padding:40px 25px}.news-row,.news-grid,.team-grid,.team-moments{grid-template-columns:1fr}.trade-strip{font-size:10px;line-height:2.2;padding:16px}.trade-strip span{padding:0 8px}.service-photo{height:310px}.short-hero,.case-hero{height:490px}.short-hero h1,.case-hero h1{font-size:44px}.case-gallery{grid-template-columns:1fr}.case-gallery img{height:330px}.stage-heading{display:block}.stage-heading h2{font-size:30px;margin-top:12px}.timeline article{grid-template-columns:1fr;gap:20px;padding:35px 0}.timeline .year{font-size:38px}.timeline h2{font-size:30px}.team-grid img{height:320px}.team-moments img{height:320px}.stage-filter,.news-filter{font-size:12px;padding:10px 15px}.article-content p{font-size:16px}.photo-dialog{width:96vw;padding:12px}.v2 .wrap{width:calc(100% - 40px)}}
