/* Forest / river / stone. One material palette across every page. */
:root{--ink:#173b36;--teal:#376c52;--muted:#50665c;--paper:#e9e8df;--pale:#d9ded1;--line:#b4c1b2;--forest:#153b30;--river:#112e37;--lichen:#aac2a1;--sand:#c5b58b;--gutter:max(5vw,calc((100vw - 1440px)/2));--section-space:clamp(64px,6.1vw,96px)}
body{background:var(--paper);font-size:15px}h1,h2{font-weight:700;text-wrap:balance}h2{font-size:clamp(34px,3.4vw,54px);line-height:1.16;letter-spacing:-.025em}h3{font-weight:700}p{line-height:1.8}.section{padding:var(--section-space) var(--gutter)}.section-marker{margin-bottom:34px;font-size:10px;letter-spacing:1.6px;color:#536a5a}.section-marker .line{background:var(--line)}.section-head{gap:40px;margin-bottom:34px}.section-head>p{font-size:14px}.eyebrow{font-size:10px;letter-spacing:1.5px}.text-link{font-weight:700;font-size:13px;min-height:44px}.button{font-weight:700;min-height:52px;font-size:13px}.small-label{font-size:10px}.teal{color:var(--teal)}
/* Entry: timber sign, quiet mineral background, framed river-blue film. */
header{background:#102b31;border-bottom:1px solid #446052;height:84px;padding:0 var(--gutter)}header nav{font-size:12px;gap:clamp(20px,2.5vw,36px)}header nav a{color:#e3e8dc}header .service-plaque{background:#24473c;border-color:#61765d;border-left:3px solid var(--sand);box-shadow:none;min-height:56px;min-width:230px}.service-plaque .service-icon{color:#b1c1a7}.service-plaque .service-plaque-title{font-size:10px;letter-spacing:1.1px}.service-plaque:hover{background:#315947}.menu i{background:#cbd8c8}.brand-intro{background:#dadfd3;padding:24px var(--gutter) 22px}.brand-lockup{width:min(520px,58vw)}.brand-tagline{font-size:9px;color:#405d50;letter-spacing:1.8px;margin-top:12px}.film-section{margin:0;max-width:none;padding:26px var(--gutter) 24px;background:#112e37}.film-frame{padding:7px;border:1px solid #738477;background:linear-gradient(135deg,#5b6c60,#243e3d 45%,#47605a);box-shadow:0 15px 32px #04191955;border-radius:0}.film-toolbar{padding:17px 0 12px;border-color:#46605e}.film-caption{font-size:10px;color:#e0e6db}.film-duration,.film-note{color:#b0c1b7}.film-note{font-size:10px;letter-spacing:.4px;margin-top:11px}.film-controls button{min-height:44px;min-width:36px}.film-controls{gap:16px}.film-start{background:#173b38;color:#edf3e7}#video-time{color:#c4d2c7}
/* Process: a readable technical exhibit. */
.treatment{background:#173f33;color:#f1f2e6}.treatment .section-marker{color:#bad0b9}.treatment .section-marker .line{background:#5a7860}.treatment-heading{gap:50px;margin-bottom:32px}.treatment-heading h2{font-size:clamp(34px,3.4vw,54px)}.treatment .teal{color:#b0cc9f}.treatment-heading p{font-size:14px;color:#c2d2bf}.treatment-console{background:#122e32;border-color:#5b7767}.drop-lab{background:radial-gradient(ellipse at 50% 40%,#36564a,#122e32 75%);border-color:#5b7767}.lab-top{font-size:10px;color:#c0d4c3}.treatment-details{padding:32px 36px 24px}.treatment-details h3{font-size:clamp(25px,2.3vw,34px);letter-spacing:-.7px}.stage-summary{font-size:14px;min-height:50px}.stage-kicker{font-size:10px;color:#b1cc9f}.treatment-details dd{font-size:13px;line-height:1.75;color:#d0ddce}.treatment-details dt{font-size:9px;color:#aec9a4}.treatment-details dl>div{border-color:#456054;padding:15px 0}.stage-controls button{height:44px;width:46px}.stage-controls span{font-size:11px}.treatment-stages{gap:7px;margin-top:18px}.treatment-stages button{font-size:11px;line-height:1.45;min-height:104px;padding:14px 11px;background:#214637;border-color:#59735b}.treatment-stages button[aria-pressed=true]{background:#bacbad;border-color:#bacbad;color:#193b2d}.treatment-stages button.is-done{border-top-color:#b1c89c}.treatment-footnote{font-size:11px;line-height:1.8;color:#b4c9b7;margin-top:22px;max-width:1100px}
/* Solutions: stone and industrial photography, no decorative diagrams. */
.solutions-section{background:#dce0d3;color:var(--ink)}.solution-editorial{gap:20px;grid-template-columns:1.05fr 1fr}.solution-major{min-height:500px}.solution-side{gap:20px}.solution-minor{min-height:240px;background:#c5d0bf}.modular{background:#b9c8ba}.minor-copy{padding:28px}.minor-copy .small-label{font-size:9px;color:#3f5b48}.minor-copy h3{font-size:26px;line-height:1.22;max-width:70%;margin:25px 0 22px}.minor-link{font-size:11px;max-width:60%;display:block;line-height:1.6;color:#344e40}.solution-minor>img{width:43%;opacity:.83;mask-image:linear-gradient(90deg,transparent,#000 60%)}.major-caption{left:32px;bottom:32px;right:32px}.major-caption h3{font-size:clamp(30px,2.7vw,42px)}.major-caption .small-label{font-size:10px}.major-caption p{font-size:14px}.image-shade{background:linear-gradient(0deg,#092b2bee,#153a3055 50%,transparent)}.round-arrow{border-color:#b9c8b4}.module-art,.draft-lines,.water-mark{display:none}
/* Work: graphite and steel, with a clear list of disciplines. */
.services-section{background:#122e34;color:#eff0e4}.services-section .section-marker{color:#b5c8b8}.services-section .line{background:#4c665b}.services-layout{grid-template-columns:.85fr 1.4fr;gap:clamp(40px,7vw,110px)}.services-intro h2{font-size:clamp(38px,3.8vw,59px)}.services-intro>p{font-size:14px;line-height:1.85;color:#c2d0c1;max-width:330px;margin:24px 0}.services-intro .text-link{color:#e1ead8;border-color:#8ca488}.services-intro .text-link span{color:#b9cba7}.service-list>a{padding:25px 0;gap:24px;border-color:#4b655c}.service-list>a:last-child{border-color:#4b655c}.service-list h3{font-size:22px;font-weight:700;margin-bottom:7px}.service-list p{font-size:13px;color:#b8caba}.service-number{color:#b5c69f;font-size:11px}.service-arrow{color:#b2c8a3}.service-list>a:hover{color:#c6d8ad;padding-left:6px}
/* Design: an honest drawing desk on warm stone. */
.precision-section{background:#e8e5d9;gap:clamp(35px,6vw,90px)}.precision-visual{background:#d2d8c7;border:1px solid #a4b49e;min-height:440px;padding:45px 22px 35px}.precision-visual>.small-label{font-size:9px;left:24px;color:#3b5742}.drawing-label{font-size:8px;letter-spacing:1px;color:#456048}.precision-copy h2{font-size:clamp(34px,3.1vw,49px)}.precision-copy>p:not(.eyebrow){font-size:14px;color:#4b6254}.precision-copy .eyebrow{font-size:10px}.lab-link{margin-top:30px;padding-top:24px;border-color:#a7b59f;gap:20px}.lab-link h3{font-size:17px;line-height:1.4}.lab-link p{font-size:13px;color:#4c6455}.lab-link a{font-size:12px;font-weight:700;color:#315e45}.lab-symbol{font-size:37px;color:#315e45}
/* Applications: forest green, strong divisions, practical destinations. */
.industries-section{background:#234635;color:#eff0e5}.industries-section .section-marker{color:#c3d1b7}.industries-section .line{background:#688061}.industries-section .section-head p{color:#c9d5c1}.industry-grid{border-color:#75906b}.industry{border-color:#75906b;min-height:185px;padding:25px 24px}.industry:first-child{padding-left:24px}.industry>span,.industries-section .industry>span{color:#c0d0a8;font-size:11px}.industry h3{font-size:21px;font-weight:700;line-height:1.4;max-width:230px}.industry:hover,.industries-section .industry:hover{background:#305640}
/* Responsibility: the landscape carries the message. */
.landscape-section{height:auto;min-height:560px;display:flex;align-items:center}.landscape-section>img{inset:0;filter:saturate(.75) brightness(.85);object-position:50% 55%}.landscape-section:after{background:linear-gradient(90deg,#092d2bed,#102f2d9c 55%,#0b2d2d22)}.landscape-content{padding:76px var(--gutter) 100px;width:100%}.landscape-content .eyebrow{font-size:10px;letter-spacing:1.5px;color:#d8e2cc}.landscape-content h2{font-size:clamp(38px,3.8vw,60px);line-height:1.15;margin-bottom:20px;max-width:820px}.landscape-statement{font-size:16px;line-height:1.85;color:#e0e7d5;max-width:550px;margin:0 0 27px}.landscape-content .button{background:#d5dec9;border-color:#d5dec9;color:#183e33}.landscape-foot{font-size:9px;letter-spacing:1.8px;color:#c0d0b7;bottom:28px}
/* Evidence and contact: useful content takes the space it needs. */
.projects-preview{background:#dadbce}.projects-preview .project-note{color:#52624e;font-size:14px;border-left:3px solid #798d63;padding-left:20px;max-width:720px;margin-bottom:0}.cta{background:#142f34;color:#f0f1e5;gap:clamp(35px,7vw,110px)}.cta h2{font-size:clamp(40px,4vw,62px)}.cta .eyebrow{color:#c3d1b2}.cta .eyebrow:before{background:#b8c99e}.cta>div>p:not(.eyebrow){font-size:14px;color:#c4d1c1;max-width:410px}.form{gap:19px}.form input,.form textarea,.form select{font-size:14px;min-height:52px;color:#eaf0df;border-color:#718575;padding:14px 0}.form input::placeholder,.form textarea::placeholder{color:#c5d0bf}.form small{font-size:11px;color:#b9c9b7}.form select option{background:#142f34}.form .button{background:#becba8;border-color:#becba8;color:#17372c;min-height:54px}.form .button:hover{background:#d1dbbd;border-color:#d1dbbd}.form-status{color:#d7e4cd}.form :focus-visible{outline-color:#c2d3ae}footer{background:#0d2428;color:#e0e7d8;border-color:#3f574b;padding-top:48px}footer img{width:245px;filter:grayscale(.45) brightness(1.8)}footer p,footer small{color:#b3c1ae}footer p,footer a{font-size:13px}footer small{border-color:#43574a;font-size:10px}.footer-signature{color:#c0cdaa;font-size:18px}
/* Inner pages share the same scale, colours and reading rhythm. */
.page-banner{background:#193c34;padding:36px var(--gutter) 54px;border-bottom:1px solid #667d60}.page-banner h1{font-size:clamp(40px,4.7vw,72px);line-height:1.16;max-width:1050px;letter-spacing:-.025em}.page-banner .crumbs{color:#b7cab5;font-size:11px;line-height:1.6;margin-bottom:28px}.page-banner>.eyebrow{color:#bdcea8}.page-banner .eyebrow:before{background:#bbcc9f}.page-banner>p:not(.eyebrow){font-size:15px;color:#d0dcc6;max-width:700px}.pale{background:#d7ddce}.feature{gap:clamp(35px,6vw,85px)}.feature h2{font-size:clamp(32px,3vw,48px)}.feature p,.prose p{font-size:15px;color:#4d6354;line-height:1.85}.feature img{max-height:440px}.service{padding:25px 0;gap:22px}.service h3{font-size:22px;line-height:1.4}.service-grid{gap:0 50px}.grid{gap:26px}.solution>img{height:240px}.card-body h3{font-size:24px}.card-body p{font-size:14px}.card-top{font-size:10px;color:#51694f}.steps{gap:26px}.step{border-top:2px solid #92a387}.step h3{font-size:21px;line-height:1.4}.step p{font-size:14px;line-height:1.8}.step:before{font-size:11px}.notice{background:#d5ddca;border-left:3px solid #647d56;color:#3b5540}.prose{max-width:850px}:focus-visible{outline-color:#8caa72;outline-offset:4px}
@media(min-width:1800px){.film-section{max-width:none}.film-frame,.film-toolbar,.film-note{max-width:1600px;margin-left:auto;margin-right:auto}}
@media(max-width:1100px){header nav{gap:18px}.treatment-stages{grid-template-columns:repeat(4,1fr)}.treatment-stages button{min-height:86px}.treatment-details{padding:27px}.solution-major{min-height:475px}.minor-copy{padding:24px}.minor-copy h3{font-size:23px}.services-layout{gap:40px}.service-list h3{font-size:20px}.precision-visual{min-height:400px}.industry h3{font-size:18px}.industry{padding:22px 18px;min-height:170px}}
@media(max-width:980px){:root{--gutter:5vw;--section-space:64px}header{height:76px}header nav{background:#102b31;top:75px;border-color:#4c6659}header nav.open{display:grid;gap:8px}header nav a{font-size:16px;padding:12px 0}.brand-lockup{width:min(520px,75vw)}.treatment-heading{gap:28px}.treatment-details dd{font-size:13px}.solution-editorial{gap:14px}.solution-side{gap:14px}.minor-link{font-size:10px}.major-caption{left:25px;right:25px;bottom:25px}.major-caption h3{font-size:30px}.precision-section{gap:36px}.landscape-section{min-height:510px}.landscape-content{padding-top:65px;padding-bottom:85px}.cta{gap:38px}.service-list p{font-size:12px}.feature{gap:35px}.steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){:root{--gutter:22px;--section-space:50px}html{scroll-padding-top:22px}header{height:70px;gap:15px}header nav{top:69px;padding:18px var(--gutter) 25px}header .service-plaque{min-width:205px;min-height:49px;padding:8px 12px;gap:11px}.service-plaque .service-plaque-title{font-size:9px}.brand-intro{padding:25px 18px 22px;background:#dadfd3}.brand-lockup{width:100%;max-width:430px}.brand-tagline{font-size:7px;letter-spacing:1px;margin-top:14px}.film-section{padding:20px 14px}.film-frame{padding:4px}.film-toolbar{padding:15px 0 10px;gap:10px}.film-caption{font-size:8px}.film-controls{gap:7px}.film-controls button{min-width:40px;min-height:44px}#video-time{font-size:10px}#video-sound{font-size:10px}.film-note{font-size:9px;line-height:1.7;letter-spacing:0}.section-marker{margin-bottom:26px;font-size:9px;gap:18px}.section-head{margin-bottom:26px}.section-head h2,h2{font-size:34px;line-height:1.18}.section-head>p{font-size:14px;margin-top:18px}.text-link{font-size:13px;min-height:46px}.treatment-heading{gap:17px;margin-bottom:26px}.treatment-heading h2{font-size:34px}.treatment-heading p{font-size:13px}.treatment-console{grid-template-columns:1fr}.drop-lab{padding:20px;border-right:0;border-bottom:1px solid #5b7767}.process-drop{height:240px;width:225px}.lab-top{font-size:9px}.water-state{font-size:15px}.drop-lab>p{font-size:10px}.treatment-details{padding:25px 20px}.treatment-details h3{font-size:27px}.stage-summary{font-size:14px;min-height:0}.treatment-details dd{font-size:13px}.treatment-details dt{font-size:9px}.stage-kicker{font-size:9px;letter-spacing:1px;line-height:1.6}.treatment-stages{grid-template-columns:repeat(2,1fr);gap:7px;margin-top:14px}.treatment-stages button{min-height:82px;padding:12px;font-size:12px}.treatment-stages button>span{margin-bottom:6px}.treatment-footnote{font-size:11px;line-height:1.8}.solution-editorial{grid-template-columns:1fr;gap:14px}.solution-major{min-height:360px}.major-caption h3{font-size:32px}.major-caption p{font-size:13px}.solution-minor{min-height:220px}.minor-copy{padding:25px}.minor-copy h3{font-size:25px;max-width:78%;margin:23px 0}.minor-copy .small-label{font-size:9px}.minor-link{font-size:11px;max-width:65%}.services-layout{grid-template-columns:1fr;gap:28px}.services-intro h2{font-size:39px;line-height:1.14}.services-intro>p{max-width:100%;font-size:14px;margin:20px 0 10px}.service-list>a{padding:22px 0;gap:16px}.service-list h3{font-size:19px;line-height:1.4}.service-list p{font-size:12px}.service-number{font-size:10px}.precision-section{grid-template-columns:1fr;gap:30px}.precision-visual{min-height:0;padding:46px 16px 40px;aspect-ratio:1/1.08}.precision-visual>img{max-height:100%;object-fit:contain}.precision-visual>.small-label{font-size:8px;left:18px;top:19px}.drawing-label{font-size:7px;left:18px;bottom:18px}.precision-copy h2{font-size:34px}.precision-copy>p:not(.eyebrow){font-size:14px;margin:20px 0}.precision-copy .eyebrow{font-size:9px}.lab-link{margin-top:26px;gap:15px}.lab-symbol{font-size:30px;padding-right:0}.lab-link h3{font-size:16px}.lab-link p{font-size:13px}.lab-link a{font-size:12px}.industry-grid{grid-template-columns:1fr 1fr}.industry{min-height:160px;padding:20px 15px!important;border-color:#75906b!important}.industry h3{font-size:17px;line-height:1.35;margin-top:25px}.industry>span{font-size:10px}.landscape-section{min-height:530px}.landscape-section>img{object-position:62% center}.landscape-section:after{background:linear-gradient(90deg,#092d2be3,#102f2d80),linear-gradient(0deg,#102f2d9c,transparent)}.landscape-content{padding:53px var(--gutter) 75px}.landscape-content .eyebrow{font-size:8px;line-height:1.7;letter-spacing:1px;max-width:280px}.landscape-content h2{font-size:35px;line-height:1.16;margin-bottom:22px}.landscape-statement{font-size:14px;line-height:1.85;max-width:340px;margin-bottom:25px}.landscape-foot{font-size:8px;letter-spacing:1.2px;bottom:22px}.project-note,.projects-preview .project-note{font-size:14px;padding-left:17px}.cta{grid-template-columns:1fr;gap:30px}.cta h2{font-size:41px}.cta .eyebrow{font-size:9px;line-height:1.7;letter-spacing:1px}.cta>div>p:not(.eyebrow){font-size:14px;margin-top:20px}.form{gap:16px}.form input,.form textarea,.form select{font-size:16px;min-height:54px}.form input[name=name],.form input[name=contact]{grid-column:1/-1}.form small{font-size:11px}.form .button{font-size:14px;min-height:54px}footer{padding:38px var(--gutter) 25px;gap:22px}footer img{width:230px}footer p,footer a{font-size:13px}footer a{padding:5px 0;margin-bottom:10px}footer small{display:block;font-size:10px;line-height:1.8}.footer-signature{display:block;font-size:17px;margin-top:12px}.page-banner{padding:26px var(--gutter) 37px}.page-banner h1{font-size:37px;line-height:1.15;overflow-wrap:normal;hyphens:auto}.page-banner .crumbs{font-size:10px;margin-bottom:26px}.page-banner>.eyebrow{font-size:9px}.page-banner>p:not(.eyebrow){font-size:14px}.feature{grid-template-columns:1fr;gap:27px}.feature h2{font-size:32px}.feature p,.prose p{font-size:14px}.feature>img{max-height:340px;min-height:0!important}.grid{gap:28px}.solution>img{height:230px}.card-body h3{font-size:24px}.card-body p{font-size:14px}.service-grid{grid-template-columns:1fr}.service h3{font-size:20px}.service{padding:24px 0;gap:18px}.steps{grid-template-columns:1fr;gap:24px;margin-top:30px}.step{padding-top:16px}.step h3{font-size:21px;margin:10px 0}.step p{font-size:14px;margin:0}.notice{padding:20px;font-size:13px}}
@media(max-width:360px){:root{--gutter:18px}.brand-tagline{font-size:6px}header .service-plaque{min-width:194px}.section-head h2,.treatment-heading h2{font-size:31px}.minor-copy h3{font-size:23px}.industry h3{font-size:16px}.landscape-content h2{font-size:31px}.page-banner h1{font-size:33px}}
/* Long Russian headings must wrap within their column at every width. */
main h1,main h2,main h3{overflow-wrap:anywhere;hyphens:auto}.section>*,.service>*,.service-list>a>*,.treatment-console>*,.services-layout>*,.feature>*{min-width:0}.service>span,.service>b,.service-number,.service-arrow{flex-shrink:0}
.industry:hover{color:#f0f2e5}.industry:hover>span{color:#c0d0a8}
@media(max-width:360px){.film-controls{gap:3px;min-width:0}.film-controls button{padding:5px 3px;min-width:32px}#video-play{width:32px}#video-seek{min-width:35px;width:35px;flex:1}#video-time{width:28px;flex-shrink:0}#video-sound{font-size:9px}#video-full{font-size:21px}.film-caption{min-width:0}}
/* Principal partnership: visible in the opening composition, below the owner brand. */
.principal-partner{display:grid;grid-template-columns:250px 1fr auto;gap:35px;align-items:center;padding:22px var(--gutter);background:#203f37;color:#eceddf;border-top:1px solid #68806b;border-bottom:1px solid #536c5d}.partner-identity{border-right:1px solid #647b66;padding-right:30px}.partner-identity>p{font-size:9px;letter-spacing:2px;font-weight:700;color:#c1cda9;margin:0 0 10px}.partner-identity>a{display:inline-flex;min-height:44px;align-items:center}.partner-identity img{width:190px;height:auto;display:block}.partner-description>p{font-size:16px;font-weight:600;line-height:1.5;margin:0 0 8px;color:#edf0e2}.partner-description>span{font-size:11px;color:#b7c7b2;line-height:1.6;display:block}.partner-website{display:grid;grid-template-columns:1fr auto;gap:5px 28px;font-size:13px;font-weight:700;align-items:center;padding:10px 0;min-height:50px}.partner-website>span[aria-hidden]{font-size:23px;line-height:1;color:#c2d0a9}.partner-domain{grid-column:1/-1;font-size:10px;font-weight:400;letter-spacing:.6px;color:#b6c7b0}.partner-website:hover{color:#c8d9b7}.partner-identity a:focus-visible,.partner-website:focus-visible{outline-color:#d6e1bc}
@media(max-width:980px){.principal-partner{grid-template-columns:210px 1fr auto;gap:24px;padding-top:20px;padding-bottom:20px}.partner-identity img{width:172px}.partner-description>p{font-size:14px}.partner-description>span{font-size:10px}.partner-website{gap:5px 15px;font-size:12px}}
@media(max-width:680px){.principal-partner{grid-template-columns:minmax(0,1fr) auto;gap:17px 20px;padding:21px var(--gutter) 22px}.partner-identity{border:0;padding:0}.partner-identity>p{font-size:8px;letter-spacing:1.7px;margin-bottom:8px}.partner-identity img{width:163px}.partner-website{grid-column:2;grid-row:1;font-size:12px;gap:5px 12px}.partner-description{grid-column:1/-1;border-top:1px solid #58725f;padding-top:14px}.partner-description>p{font-size:14px;margin-bottom:7px}.partner-description>p br{display:none}.partner-description>span{font-size:10px}.partner-domain{font-size:9px}}
@media(max-width:360px){.partner-identity img{width:148px}.principal-partner{gap:16px 12px}.partner-website{font-size:11px;gap:4px 8px}}
.brand-drop-placeholder {
  position: absolute;
  left: 6.9%;
  top: 22.8%;
  width: 14.7%;
  height: 74.5%;
  pointer-events: none;
}
