:root{color-scheme:dark;--bg:#101214;--panel:#171a1d;--text:#f3f4f5;--muted:#a4a9b0;--line:#363b41;--accent:#b5c7d9;--red:#b8414a;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-synthesis:none;scroll-behavior:smooth}
.experience-disclosure>summary{padding-block:1rem 2rem;border-bottom:1px solid var(--line)}.experience-disclosure>summary>span{font-size:2.5rem;color:var(--accent)}.experience-content{padding-top:3rem}.experience-content .heading-row h3{font-size:clamp(1.8rem,3vw,2.7rem)}.former-projects{margin-top:2rem;grid-template-columns:repeat(3,minmax(0,1fr))}.current-apartments{padding:2rem 0;margin-top:2.5rem;border-block:1px solid var(--line)}.current-apartments>span{font-size:.875rem;color:var(--muted);letter-spacing:.07em}.current-apartments h3{margin-top:.7rem;font-size:1.8rem}.project-note{color:var(--muted);margin-top:.6rem}.equipment-grid article{border-top:1px solid var(--line);padding-top:1.5rem}@media(max-width:42rem){.former-projects{grid-template-columns:1fr}.experience-content{padding-top:2rem}}@media print{.experience-disclosure::details-content{display:block}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:1rem;line-height:1.6}a{color:inherit;text-decoration:none}summary,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}img{display:block;max-width:100%;height:auto}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3{line-height:1.12;font-weight:550;letter-spacing:-.035em}p{overflow-wrap:break-word}h2{font-size:clamp(2.1rem,4.1vw,3.8rem)}h3{font-size:1.45rem}.frame{width:min(84rem,calc(100% - 6rem));margin-inline:auto}.section{padding-block:7rem}section[id],main{scroll-margin-top:2rem}a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:7px}.skip{position:fixed;top:-7rem;left:1rem;padding:1rem;background:#fff;color:#111;z-index:10}.skip:focus{top:1rem}.muted{color:var(--muted)}.header{border-bottom:1px solid var(--line);background:var(--bg)}.header-row{min-height:6.4rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:flex;align-items:center;gap:.9rem;flex-shrink:0}.brand img{object-fit:contain}.brand>span{font-size:1.3rem;font-weight:700;letter-spacing:.015em;line-height:1.2}.brand small{display:block;font-size:.75rem;letter-spacing:.015em;font-weight:400;color:var(--muted);margin-top:.5rem}.navigation{display:flex;gap:1.6rem;font-size:.875rem}.navigation a,.header-phone{padding-block:.7rem}.navigation a:hover,.header-phone:hover{color:var(--accent)}.header-phone{font-size:1rem;font-weight:550;white-space:nowrap;font-variant-numeric:tabular-nums}.mobile-menu{display:none}.hero{position:relative;isolation:isolate;overflow:hidden;background:#141a22}.hero-photo{position:absolute;inset:0 0 0 29%;z-index:-2}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:42% center}.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#101214 0%,#101214ed 20%,#10121482 49%,#1012140d 85%),linear-gradient(0deg,#101214f5 0%,transparent 36%)}.hero-content{padding-top:4rem;min-height:46rem;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:.75rem;letter-spacing:.13em;font-weight:550;display:flex;gap:1rem;align-items:center}.line{height:2px;width:2.3rem;background:var(--red)}h1{font-size:clamp(3rem,6.5vw,6.25rem);line-height:1.02;letter-spacing:-.03em;font-weight:650;margin-top:2.4rem}h1>span{color:var(--accent)}.hero-description{font-size:1.05rem;max-width:28rem;color:#d4d8dd;margin-top:1.7rem;line-height:1.65}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:3.5rem;background:#d7e1e9;color:#101820;padding:1rem 1.4rem;min-height:3.7rem;font-weight:600;margin-top:2rem;transition:background .2s}.button:hover{background:white}.button span{font-size:1.4rem}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;width:100%;margin-top:auto;padding-block:3.5rem 2rem;font-size:.875rem}.hero-bottom>a{display:flex;gap:2rem;align-items:center;min-height:2.75rem}.hero-bottom p{text-align:right}.hero-bottom small{display:block;color:#b6bdc5;font-size:.75rem;margin-top:.3rem}.section-label{display:flex;justify-content:space-between;gap:2rem;color:var(--muted);font-size:.75rem;letter-spacing:.1em;padding-bottom:1.6rem;border-bottom:1px solid var(--line);margin-bottom:3rem}.section-label a{letter-spacing:0;font-size:.875rem}.heading-row{display:grid;grid-template-columns:1.2fr 1fr;gap:5rem;align-items:end;margin-bottom:3.5rem}.heading-row p{color:var(--muted);max-width:31rem}.projects{display:grid;grid-template-columns:1.15fr 1fr;gap:3.3rem 3rem;align-items:start}.project{min-width:0}.project-offset{padding-top:7rem}.project-image{overflow:hidden;background:var(--panel)}.project-image img{width:100%;aspect-ratio:1.43;object-fit:cover;filter:saturate(.65);transition:filter .3s}.project:hover img{filter:saturate(1)}.project-offset img{aspect-ratio:1.25}.project figcaption{padding-top:1.2rem;display:flex;justify-content:space-between;gap:1rem}.project figcaption div>span{font-size:.75rem;letter-spacing:.07em;color:var(--muted)}.project h3{font-size:1.8rem;margin-top:.5rem}.project-index{font-size:.875rem;color:var(--muted);font-variant-numeric:tabular-nums}.clients-intro{display:flex;justify-content:space-between;gap:3rem;margin-top:5rem;align-items:baseline}.clients-intro h3{font-size:1.25rem;white-space:nowrap}.clients-intro p{color:var(--muted);font-size:.875rem;max-width:31rem}.client-names{display:grid;grid-template-columns:repeat(3,1fr);margin-top:2rem;border-top:1px solid var(--line);border-left:1px solid var(--line)}.client-names span{display:flex;justify-content:center;align-items:center;text-align:center;padding:2rem 1rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:clamp(1rem,1.6vw,1.45rem);font-weight:650;letter-spacing:.03em}.client-details,.equipment-details{border-bottom:1px solid var(--line);margin-top:1.5rem}summary{cursor:pointer;list-style:none;min-height:3.75rem;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;font-size:.875rem}summary::-webkit-details-marker{display:none}summary>span{font-size:1.5rem;font-weight:300}details[open]>summary>span{transform:rotate(45deg)}.client-sectors{display:grid;grid-template-columns:1fr 1fr;gap:2rem 3rem;padding:1rem 0 2rem}.client-sectors h4{font-size:1rem;font-weight:550;margin-bottom:.5rem}.client-sectors p{font-size:1rem;color:var(--muted)}.services{background:var(--panel)}.services-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:6rem}.services-heading p{max-width:24rem;color:var(--muted);margin-top:1.8rem}.text-link{display:inline-flex;align-items:center;gap:2rem;border-bottom:1px solid #7d8894;margin-top:1.8rem;padding-block:.5rem;min-height:2.75rem}.text-link:hover{color:var(--accent)}.service-list article{display:grid;grid-template-columns:2.5rem 1fr;gap:1.5rem;padding-block:2rem;border-bottom:1px solid var(--line)}.service-list article:first-child{padding-top:0}.number{font-size:.875rem;color:var(--muted);font-variant-numeric:tabular-nums;padding-top:.2rem}.service-list h3{font-size:1.55rem}.service-list p{color:var(--muted);margin-top:.8rem;font-size:1rem}.statement{font-size:clamp(2.5rem,5.3vw,5rem);max-width:68rem}.company-copy{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin:3rem 0 4rem 25%;color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;border-top:1px solid var(--line);padding-top:2.4rem}.steps article{min-width:0}.steps span{font-size:.75rem;letter-spacing:.06em;color:var(--accent)}.steps h3{margin-top:2.4rem;margin-bottom:1rem;font-size:1.35rem}.steps p{color:var(--muted)}.equipment{background:var(--panel)}.equipment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.equipment-grid article{min-width:0}.equipment-image{background:#e3e6e8;height:16rem;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;padding:1.6rem}.equipment-image img{object-fit:contain;max-height:100%;max-width:100%;mix-blend-mode:multiply}.equipment-grid article>span{font-size:.75rem;color:var(--muted);letter-spacing:.08em}.equipment-grid h3{font-size:1.35rem;margin-block:.6rem .8rem}.equipment-grid p{color:var(--muted);font-size:1rem}.equipment-details{margin-top:2.5rem}.equipment-details>div{display:grid;grid-template-columns:1.4fr 1fr;gap:3rem;padding:1rem 0 2rem;color:var(--muted)}.license{background:#dce2e7;color:#182028;padding-block:5rem;--line:#aeb7c1}.license-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:7rem}.license h2{font-size:clamp(2rem,3vw,2.8rem);margin-top:1.5rem}.license-grid>div>p:not(.eyebrow):not(.license-number){max-width:28rem;margin-top:1.5rem;color:#48545f}.license-link{display:inline-grid;grid-template-columns:auto 2rem;column-gap:2rem;align-items:center;margin-top:2rem;padding-block:.5rem;font-weight:600;min-height:3rem}.license-link span{font-size:1.5rem}.license-link small{grid-column:1 / -1;color:#52606b;font-size:.75rem;font-weight:400;margin-top:.4rem}.license-link:hover{text-decoration:underline}.license-data{border-left:1px solid var(--line);padding-left:3rem;align-self:center}.license-data>span{font-size:.75rem;letter-spacing:.08em}.license-number{font-size:clamp(1.5rem,2.3vw,2.1rem);font-weight:550;line-height:1.35;margin-block:1rem 1.8rem;overflow-wrap:anywhere}.license dl{margin:0}.license dl>div{display:flex;justify-content:space-between;gap:1.5rem;padding-block:.8rem;border-top:1px solid var(--line);font-size:.875rem}.license dd{margin:0;font-weight:600}.license dt{color:#48545f}.license .license-date{font-size:.75rem}.contacts h2{font-size:clamp(3rem,7vw,6.6rem)}.contacts-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:7rem;margin-top:3rem}.contacts-grid>p{max-width:24rem;color:var(--muted)}.contact-label{display:block;font-size:.75rem;letter-spacing:.1em;color:var(--muted)}.contact-phone{display:block;font-size:clamp(1.4rem,3.4vw,3rem);line-height:1.3;font-weight:500;letter-spacing:-.03em;min-height:2.75rem;margin-block:.7rem 1.5rem;font-variant-numeric:tabular-nums}.contact-phone:hover,.contact-email:hover{color:var(--accent)}.contact-email{display:inline-flex;gap:2rem;border-bottom:1px solid var(--line);padding-block:.5rem;font-size:1.15rem;min-height:2.75rem}address{font-style:normal;color:var(--muted);margin-top:2rem}.footer{border-top:1px solid var(--line);padding-block:2.5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.footer p,.footer>span{font-size:.75rem;color:var(--muted)}
.former-projects .project-image img{aspect-ratio:1.9}.former-projects h3{font-size:1.55rem}@media(max-width:62rem){.former-projects{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:42rem){.former-projects{grid-template-columns:1fr}}
@media(min-width:110rem){.hero-content{min-height:51rem}.hero-photo{left:35%}}
@media(max-width:75rem){.frame{width:calc(100% - 4rem)}.navigation{gap:1rem}.header-row{gap:1rem}.brand>span{font-size:1.1rem}.brand img{width:44px}.header-phone{font-size:.9rem}.heading-row,.services-layout,.license-grid,.contacts-grid{gap:3rem}.company-copy{margin-left:15%}.hero-content{min-height:43rem}}
@media(max-width:62rem){.navigation{display:none}.mobile-menu{display:block;position:relative}.mobile-menu>summary{gap:1rem;min-height:3rem}.mobile-menu nav{position:absolute;right:0;top:100%;width:15rem;z-index:5;background:#1d2329;border:1px solid var(--line);padding:.75rem 1.2rem;max-height:70dvh;overflow:auto}.mobile-menu nav a{display:block;padding:.7rem 0;border-bottom:1px solid var(--line);font-size:1rem}.header-phone{margin-left:auto}.hero-photo{left:15%}.hero:after{background:linear-gradient(90deg,#101214f5,#101214a6 45%,#10121438),linear-gradient(0deg,#101214,transparent 60%)}.hero-content{min-height:42rem}.section{padding-block:5rem}.projects{gap:2.5rem 2rem}.project-offset{padding-top:4rem}.heading-row{gap:2.5rem}.services-layout{grid-template-columns:1fr;gap:3rem}.services-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:3rem}.services-heading p{margin-top:0}.services-heading .text-link{justify-self:start}.service-list article{grid-template-columns:3rem 1fr}.service-list article:first-child{padding-top:2rem;border-top:1px solid var(--line)}.company-copy{margin-left:0}.steps{gap:2rem}.equipment-grid{gap:1rem}.equipment-image{height:12rem;padding:1.2rem}.equipment-grid h3{font-size:1.2rem}.license-grid{gap:2rem}.license-data{padding-left:2rem}.contacts-grid{gap:3rem}.footer{flex-wrap:wrap}.footer>span{width:100%}.section-label>span+span{display:none}}
@media(max-width:42rem){.frame{width:calc(100% - 2.5rem)}.header-row{min-height:5.3rem}.brand>span{font-size:1rem}.brand small{font-size:.75rem;letter-spacing:0;max-width:12rem}.brand{gap:.6rem}.brand img{width:38px;height:38px}.header-phone{display:none}.hero-content{padding-top:2.8rem;min-height:43rem}.hero-photo{inset:0}.hero-photo img{object-position:47% center}.hero:after{background:linear-gradient(90deg,#101214e0,#10121459),linear-gradient(0deg,#101214,transparent 60%,#10121438)}h1{font-size:clamp(1.85rem,9vw,3.8rem);margin-top:2.3rem;line-height:1.08}.hero .eyebrow{font-size:.75rem;letter-spacing:.06em;gap:.6rem}.line{width:1.3rem;flex-shrink:0}.hero-description{font-size:1rem;max-width:24rem;margin-top:1.5rem}.hero-description br{display:none}.hero-bottom{align-items:flex-start;gap:1rem;padding-top:3rem}.hero-bottom p{max-width:12rem;font-size:.75rem}.hero-bottom>a{gap:1rem;font-size:.875rem}.hero-bottom small{font-size:.75rem}.section{padding-block:3.8rem}.section-label{margin-bottom:2rem;padding-bottom:1.2rem}.heading-row{grid-template-columns:1fr;gap:1.5rem;margin-bottom:2.5rem}.projects{grid-template-columns:1fr;gap:2.2rem}.project-offset{padding-top:0}.project-image img,.project-offset img{aspect-ratio:1.43}.project h3{font-size:1.55rem}.project figcaption{padding-top:1rem}.clients-intro{display:block;margin-top:3rem}.clients-intro p{margin-top:.8rem}.client-names{grid-template-columns:repeat(2,1fr)}.client-names span{font-size:.875rem;padding:1.5rem .6rem;letter-spacing:0}.client-sectors{grid-template-columns:1fr;gap:1.5rem}.services-heading{display:block}.services-heading p{margin-top:1.4rem}.service-list article{gap:.8rem;grid-template-columns:2rem 1fr;padding-block:1.6rem}.service-list h3{font-size:1.35rem}.statement{font-size:clamp(2.05rem,7.5vw,3rem)}.statement br{display:none}.company-copy{grid-template-columns:1fr;gap:1.2rem;margin-block:2rem 2.5rem}.steps{grid-template-columns:1fr;padding-top:0;gap:0}.steps article{padding-block:1.6rem;border-bottom:1px solid var(--line)}.steps h3{margin-top:.8rem;margin-bottom:.6rem}.equipment-grid{grid-template-columns:1fr;gap:2rem}.equipment-image{height:15rem;max-width:100%}.equipment-grid h3{font-size:1.4rem}.equipment-details>div{grid-template-columns:1fr;gap:1.3rem}.license{padding-block:3.8rem}.license-grid{grid-template-columns:1fr;gap:3rem}.license-data{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:2rem}.license-number{font-size:1.65rem}.license dl>div{flex-wrap:wrap;gap:.5rem}.contacts h2{font-size:clamp(3rem,11vw,4.5rem)}.contacts-grid{grid-template-columns:1fr;gap:2rem;margin-top:2rem}.contact-phone{font-size:clamp(1.6rem,7vw,2.4rem)}.footer{align-items:flex-start;gap:1.5rem}.footer .brand,.footer p{width:100%}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important}}@media(prefers-contrast:more){:root{--muted:#cbd0d5;--line:#777f87}}@media print{body{background:white;color:black}.header,.hero-photo,.hero:after,.mobile-menu,.button,.skip{display:none}.frame{width:100%}.section,.license{padding-block:2rem}.hero-content{min-height:0}.muted,p{color:#333!important}.hero{background:white}.projects{grid-template-columns:1fr 1fr}.project-offset{padding:0}a{color:inherit}}

.header-row>*,.heading-row>*,.services-layout>*,.company-copy>*,.contacts-grid>*,.license-grid>*{min-width:0}h1{overflow-wrap:anywhere}.license a:focus-visible{outline-color:#182028}@media(max-width:22rem){.brand small{max-width:10rem}.header-row{gap:.5rem}.brand>span{font-size:.875rem}.mobile-menu>summary{gap:.5rem}.button{gap:2rem}.hero-bottom{flex-wrap:wrap}.hero-bottom p{text-align:left;max-width:none}}@media(max-width:42rem){.hero .eyebrow{flex-wrap:wrap}.license-link{column-gap:1rem}}
