/* New art direction: machinery, materials and clear work specifications. */
:root{--canvas:#222a29;--panel:#2a3431;--text:#e7e8e0;--muted:#b9c2bb;--accent:#a8beb0;--line:rgba(231,232,224,.2)}
body:before{background:linear-gradient(120deg,#29342f22,transparent 60%)}.site-header.scrolled{background:#222a29f7;border-color:var(--line);border-radius:3px}.brand-mark{width:28px}.brand>span{letter-spacing:.23em}.nav-cta{border-radius:3px}.hero-visual{clip-path:inset(14% 4.6% 24% 45% round 0px);background:#2a3431}.hero-visual:after{background:linear-gradient(90deg,#15232044,transparent 40%,#15232011)}.hero-photo{object-position:69% center}.hero-content{top:23%}.hero-content>.eyebrow{max-width:300px;font-size:9px;line-height:1.8;letter-spacing:.13em;margin-bottom:35px}.hero h1{font-size:clamp(78px,8.2vw,140px);line-height:1.03;letter-spacing:-.065em}.hero-bottom{margin-top:33px;display:block}.hero-bottom p{font-size:12px;line-height:1.95;max-width:400px}.hero-catalog{position:absolute;left:var(--pad);right:var(--pad);bottom:12%;display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.hero-catalog a{display:flex;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:22px;font-size:13px}.hero-catalog a>.mono{color:var(--accent);font-size:10px}.hero-catalog a>span:nth-child(2){flex:1}.hero-catalog svg{width:17px;height:17px;transition:transform .4s var(--ease)}.hero-foot{bottom:4%}.hero-foot>.mono{font-size:8px}.hero-settle{background:#222a29e8;padding:25px 32px;border-left:1px solid var(--accent);bottom:12%}.hero-settle p{font-size:5.5vw}.intro{grid-template-columns:1fr 2fr}.intro h2{font-size:4.4vw}.section-heading{background:var(--canvas);padding-top:23px;padding-bottom:23px}.service-stage{background:var(--canvas)}.work-register{margin-top:85px;max-width:230px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.1em}.work-register div{display:flex;gap:30px;align-items:center}.work-register span{color:var(--accent);font-size:9px}.work-register i{display:block;margin:18px 0 18px 7px;height:40px;width:1px;background:var(--line)}.closing{height:auto;min-height:560px;background:var(--panel);display:grid;grid-template-columns:1.5fr 1fr;gap:40px;padding-top:95px;padding-bottom:95px;isolation:isolate;border-top:1px solid var(--line)}.closing-number{position:absolute;right:var(--pad);top:25px;font-size:260px;font-weight:200;line-height:1;letter-spacing:-.06em;color:#a8beb017;z-index:-1}.closing h2{font-size:clamp(60px,7.3vw,112px)}.closing-note{align-self:end;padding-bottom:8px;border-top:1px solid var(--line);padding-top:25px;max-width:320px;justify-self:end}.closing-note p{margin-top:20px;font-size:13px;line-height:1.9}.closing-note .mono{font-size:9px;color:var(--accent)}.site-footer{background:#202725}.contact-backdrop img{object-position:72% center}.contact-backdrop:after{background:linear-gradient(90deg,#1b2928eb,#1b2928ce)}.contact-panel{background:#2a3431f5;border-radius:4px}.contact-panel input,.contact-panel select,.contact-panel textarea{background:#222b28}.contact-intro h1 span{color:var(--accent)}.detail-photo,.approach-photo{border-radius:2px}.detail-photo img{object-position:60% center}.button{border-radius:3px}.page-heading h1{font-weight:200}.principles article{padding:40px 0}
@media(min-width:801px) and (min-height:560px){.motion-desktop .service-scene{display:block}.motion-desktop .scene-image{position:absolute;inset:0;height:100%;width:100%;grid-column:auto;grid-row:auto}.motion-desktop .scene-image img{object-position:65% center}.motion-desktop .scene-image:after{background:linear-gradient(0deg,#1c2928bb,transparent 50%)}.motion-desktop .scene-copy{position:absolute;bottom:65px;left:var(--pad);padding:28px 32px;max-width:850px;width:65%;display:grid;grid-template-columns:1.05fr 1fr;gap:0 35px;background:#222a29;align-self:auto;border-top:1px solid var(--accent)}.motion-desktop .scene-copy>.eyebrow{grid-column:1/-1;font-size:9px;margin-bottom:18px}.motion-desktop .scene-copy h3{grid-row:2/4;grid-column:1;font-size:clamp(38px,3.6vw,58px);margin:0;align-self:start}.motion-desktop .scene-copy>p{grid-row:2;grid-column:2;font-size:12px;line-height:1.85}.motion-desktop .scene-copy .service-list{grid-row:3/5;grid-column:2;margin:18px 0 0}.motion-desktop .scene-copy .service-list li{font-size:11px;padding:7px 0}.motion-desktop .scene-copy .text-link{grid-row:4;grid-column:1;align-self:end;justify-self:start;font-size:11px;margin-top:18px;padding:9px 0}.motion-desktop .scene-progress{left:var(--pad);bottom:28px;width:65%;max-width:850px}.motion-desktop .image-label{top:120px;right:var(--pad);bottom:auto}.motion-desktop .service-scene:after{content:attr(data-number);position:absolute;right:var(--pad);bottom:75px;font-size:115px;line-height:1;letter-spacing:-.08em;font-weight:200;text-shadow:0 1px 20px #14211edb;color:var(--text);pointer-events:none}.motion-desktop .service-scene[data-service=climate] .scene-image img{object-position:50% 40%}}
@media(max-width:1100px) and (min-width:801px){.hero h1{font-size:8.8vw}.hero-bottom p{font-size:11px;max-width:340px}.hero-catalog{gap:25px}.hero-catalog a{font-size:11px;gap:14px}.motion-desktop .scene-copy{width:76%;padding:25px}.motion-desktop .scene-copy h3{font-size:38px}.motion-desktop .scene-copy>p{font-size:11px}.motion-desktop .service-scene:after{font-size:80px;bottom:80px}.motion-desktop .scene-progress{width:76%}}
@media(max-width:800px){.hero-stage{min-height:760px}.hero-content{top:19%}.hero h1{font-size:11vw}.hero-content>.eyebrow{font-size:9px;max-width:270px}.hero-visual{clip-path:inset(16% 4.6% 29% 47% round 0px)}.hero-catalog{bottom:15%;gap:20px}.hero-catalog a{font-size:11px;gap:12px}.hero-bottom p{font-size:11px;max-width:330px}.hero-foot{bottom:6%}.intro{grid-template-columns:1fr}.intro h2{font-size:50px}.work-register{display:none}.scene-copy{border-left:1px solid var(--accent);margin-left:var(--pad);padding-left:24px}.scene-copy h3{font-size:49px}.scene-copy h3 br{display:block}.closing{grid-template-columns:1fr;gap:35px;padding-top:75px;padding-bottom:65px}.closing-number{font-size:230px}.closing-note{justify-self:start;max-width:100%;width:100%}.closing h2{font-size:70px}.contact-intro h1{font-size:70px}}
@media(max-width:600px){.hero-stage{min-height:800px;height:108svh;max-height:950px}.hero-content{top:15%;left:var(--pad);right:var(--pad)}.hero-content>.eyebrow{font-size:8px;max-width:250px;margin-bottom:24px}.hero h1{font-size:clamp(56px,15vw,85px);line-height:1.03}.hero-bottom{margin-top:23px}.hero-bottom p{font-size:10px;line-height:1.85;max-width:310px}.hero-visual{inset:43% var(--pad) 24%;clip-path:inset(0% 0% 0% 0% round 0px)}.hero-photo{object-position:65% center}.hero-catalog{bottom:7%;display:block}.hero-catalog a{padding:9px 0;font-size:10px;gap:16px}.hero-catalog a>.mono{font-size:8px}.hero-catalog svg{width:13px;height:13px}.hero-foot{bottom:2.8%}.hero-foot>.mono{font-size:6px}.hero-foot .scroll-cue span{font-size:17px}.intro h2{font-size:39px}.scene-image{height:300px}.scene-copy{margin-left:24px;padding:30px 24px 45px}.scene-copy h3{font-size:43px}.scene-copy>.eyebrow{font-size:8px}.scene-copy>p{font-size:13px}.image-label{font-size:8px}.closing{padding:65px var(--pad);min-height:0}.closing h2{font-size:58px}.closing-number{font-size:170px;top:40px}.closing-note{padding-top:20px}.contact-intro h1{font-size:54px}.contact-intro h1 br:nth-child(2){display:block}.principles h2{font-size:32px}html:not(.js) .menu-toggle{display:none}html:not(.js) .site-header{position:relative;flex-wrap:wrap;left:0;right:0;margin:0 24px}html:not(.js) .site-header nav{display:flex;position:static;flex-wrap:wrap;padding:10px;gap:20px;width:100%}html:not(.js) .site-header nav>a{font-size:12px}}
@media(max-height:760px) and (min-width:801px){.hero-content{top:22%}.hero h1{font-size:7.2vw}.hero-content>.eyebrow{margin-bottom:20px}.hero-bottom{margin-top:20px}.hero-visual{clip-path:inset(16% 4.6% 26% 45% round 0px)}.hero-catalog{bottom:11%}.hero-catalog a{padding-top:15px}.hero-foot{bottom:3%}.motion-desktop .scene-copy{bottom:60px;padding:20px 28px}.motion-desktop .scene-copy h3{font-size:40px}.motion-desktop .scene-copy>.eyebrow{margin-bottom:13px}.motion-desktop .scene-copy>p{font-size:11px}.motion-desktop .scene-copy .service-list{margin-top:12px}.motion-desktop .scene-copy .service-list li{padding:6px 0;font-size:10px}}

/* Keep pinned compositions inside the actual desktop viewport. */
@media(min-width:801px){.motion-desktop .hero-stage,.motion-desktop .service-stage{height:100svh;min-height:0}.hero-settle{max-width:calc(100% - var(--pad)*2);bottom:clamp(24px,10svh,88px);padding:clamp(18px,3svh,32px) clamp(22px,2.5vw,40px)}.hero-settle p{font-size:clamp(32px,min(5.5vw,8svh),88px);line-height:1.1}.hero-settle .eyebrow{font-size:clamp(8px,1.15svh,10px)}}
.hero-call{display:inline-flex;align-items:center;gap:12px;min-height:44px;margin-top:10px;border-bottom:1px solid var(--accent);font-size:11px;color:var(--text)}.hero-call svg{width:17px;height:17px;flex:none}.hero-call .mono{font-size:11px;margin-left:8px;white-space:nowrap}.footer-call{display:inline-flex;align-items:center;gap:10px;margin-top:14px;color:var(--text);white-space:nowrap}.footer-call svg{width:16px;height:16px}.contact-intro .contact-call{font-size:clamp(20px,2vw,27px);color:var(--text);white-space:nowrap}.service-choices button>.mono{flex:0 0 20px;width:20px}.service-choices .choice-check{display:none}.service-choices button[aria-pressed=true] .choice-arrow{display:none}.service-choices button[aria-pressed=true] .choice-check{display:block}.service-choices button[aria-pressed=true]>svg{color:var(--accent);transform:none}
@media(min-width:801px){.hero h1{font-size:clamp(56px,min(8.2vw,15svh),140px)}}
@media(max-width:600px){.hero-call{font-size:10px;gap:10px;margin-top:5px}.hero-call .mono{font-size:10px;margin-left:2px}.hero-call svg{width:15px;height:15px}.contact-intro .contact-call{font-size:23px}}
@media(max-width:600px) and (max-height:700px){.hero-bottom>p{display:none}.hero-call{margin-top:0}}
