@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2bbd88c7cbebcb5b-s.1gbavwjfxk-ql.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:500;font-display:swap;src:url(../media/e3c10b17cdb86a23-s.170qlghoxphjg.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:500;font-display:swap;src:url(../media/612838607db3d51d-s.p.3rc77fqyyrg24.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e37557cf0085218d-s.323_pd8dkinxn.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(../media/146a3e5eadafdf83-s.3o5kmmd3ujeri.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(../media/d9b5d46d9a89ffe6-s.p.0rkprfbp4mv-a.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed Fallback;src:local(Arial);ascent-override:130.73%;descent-override:26.15%;line-gap-override:0.0%;size-adjust:76.49%}.barlow_condensed_ab8a6687-module__ROdtpW__className{font-family:Barlow Condensed,Barlow Condensed Fallback;font-style:normal}.barlow_condensed_ab8a6687-module__ROdtpW__variable{--font-barlow-condensed:"Barlow Condensed", "Barlow Condensed Fallback"}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_2fe1ab3d-module__-T-KAq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_2fe1ab3d-module__-T-KAq__variable{--font-inter:"Inter", "Inter Fallback"}
:root{--palette-primary:#20282b;--palette-accent:#00b5e2;--palette-ink:#101719;--palette-surface:#fff;--palette-line:#f4f5f3;--ground-dark-background:#20282b;--ground-dark-text:#fff;--ground-dark-muted:#f4f5f3;--ground-dark-line:#101719;--ground-dark-link:#00b5e2;--ground-light-background:#fff;--ground-light-text:#101719;--ground-light-muted:#20282b;--ground-light-line:#f4f5f3;--ground-light-link:#20282b;--signal-success:#2e7d4f;--signal-error:#c0392b;--type-page-title-size:112px;--type-page-title-family:"Barlow Condensed", "Arial Narrow", Arial, sans-serif;--type-page-title-weight:700;--type-section-heading-size:68px;--type-section-heading-family:"Barlow Condensed", "Arial Narrow", Arial, sans-serif;--type-section-heading-weight:700;--type-equipment-name-size:48px;--type-equipment-name-family:"Barlow Condensed", "Arial Narrow", Arial, sans-serif;--type-equipment-name-weight:700;--type-row-heading-size:28px;--type-row-heading-family:"Barlow Condensed", "Arial Narrow", Arial, sans-serif;--type-row-heading-weight:700;--type-body-size:17px;--type-body-family:Inter, "Helvetica Neue", Helvetica, Arial, sans-serif;--type-body-weight:400;--type-label-size:13px;--type-label-family:"Barlow Condensed", "Arial Narrow", Arial, sans-serif;--type-label-weight:500;--type-small-print-size:14px;--type-small-print-family:Inter, "Helvetica Neue", Helvetica, Arial, sans-serif;--type-small-print-weight:400;--button-primary-radius:0px;--button-primary-height:52px;--button-primary-weight:700;--button-primary-case:none;--button-primary-style:fill;--button-secondary-radius:0px;--button-secondary-height:52px;--button-secondary-weight:700;--button-secondary-case:none;--button-secondary-style:text;--button-quiet-radius:0px;--button-quiet-height:44px;--button-quiet-weight:700;--button-quiet-case:none;--button-quiet-style:text;--field-radius:0px;--field-border:1px;--card-radius:0px;--card-border:1px;--card-shadow:none;--rhythm-1:8px;--rhythm-2:16px;--rhythm-3:20px;--rhythm-4:32px;--rhythm-5:48px;--rhythm-6:64px;--rhythm-7:80px;--rhythm-8:112px;--motion-reveal:on;--motion-reveal-distance:12px;--motion-reveal-duration:.4s;--motion-hover:.16s;--motion-focus-ring:2px}@media (prefers-reduced-motion:reduce){:root{--motion-reveal-distance:0px;--motion-reveal-duration:0s;--motion-hover:0s}}
:root{--type-page-title-family:var(--font-barlow-condensed), "Arial Narrow", Arial, sans-serif;--type-section-heading-family:var(--font-barlow-condensed), "Arial Narrow", Arial, sans-serif;--type-equipment-name-family:var(--font-barlow-condensed), "Arial Narrow", Arial, sans-serif;--type-row-heading-family:var(--font-barlow-condensed), "Arial Narrow", Arial, sans-serif;--type-label-family:var(--font-barlow-condensed), "Arial Narrow", Arial, sans-serif;--type-body-family:var(--font-inter), "Helvetica Neue", Helvetica, Arial, sans-serif;--type-small-print-family:var(--font-inter), "Helvetica Neue", Helvetica, Arial, sans-serif}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:88px}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--palette-surface);color:var(--ground-light-text);font-family:var(--type-body-family);font-weight:var(--type-body-weight);font-size:var(--type-body-size);margin:0;line-height:1.6;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit}h1,h2,h3,h4,h5,h6{font-family:var(--type-section-heading-family);font-weight:var(--type-section-heading-weight);letter-spacing:0;text-wrap:balance;margin:0;line-height:1}h1{font-family:var(--type-page-title-family);font-weight:var(--type-page-title-weight);font-size:clamp(52px, 6.5vw, var(--type-page-title-size));line-height:.94}h2{font-size:clamp(38px, 4vw, var(--type-section-heading-size))}h3,h4{font-family:var(--type-row-heading-family);font-weight:var(--type-row-heading-weight);font-size:var(--type-row-heading-size);line-height:1.08}h5,h6{font-family:var(--type-label-family);font-weight:var(--type-label-weight);font-size:var(--type-label-size);letter-spacing:.14em;text-transform:uppercase;line-height:1.4}p,li{text-wrap:pretty}p{margin:0}strong,b{font-weight:700}small{font-family:var(--type-small-print-family);font-size:var(--type-small-print-size);font-weight:var(--type-small-print-weight)}code{background:var(--palette-line);padding:.1em .35em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}blockquote{padding-left:var(--rhythm-3);border-left:3px solid var(--palette-accent);font-family:var(--type-row-heading-family);font-weight:var(--type-row-heading-weight);font-size:var(--type-row-heading-size);margin:0;line-height:1.15}main ul:not([class]){padding-left:1.2em;list-style:square}main ul:not([class])>li::marker{color:var(--palette-accent)}main ol:not([class]){padding-left:1.6em}main ol:not([class])>li::marker{font-family:var(--type-label-family);font-weight:var(--type-row-heading-weight);color:var(--palette-primary)}main ul:not([class])>li+li,main ol:not([class])>li+li{margin-top:var(--rhythm-1)}main p a:not([class]),main li a:not([class]){color:var(--ground-light-link);text-underline-offset:3px;transition:text-decoration-thickness var(--motion-hover);text-decoration-thickness:1px}main p a:not([class]):hover,main li a:not([class]):hover{text-decoration-thickness:2px}.contact p a:not([class]){color:var(--ground-dark-link)}:focus-visible{outline:var(--motion-focus-ring) solid var(--palette-accent);outline-offset:2px}.skip{z-index:100;background:var(--palette-accent);color:var(--palette-ink);padding:12px 18px;font-weight:700;text-decoration:none;position:absolute;top:-60px;left:12px}.skip:focus{top:12px}.btn,.button,button:not([class]){min-height:var(--button-primary-height);background:var(--palette-accent);color:var(--palette-ink);font-family:var(--type-label-family);font-weight:var(--button-primary-weight);letter-spacing:.02em;border-radius:var(--button-primary-radius);cursor:pointer;transition:background-color var(--motion-hover), color var(--motion-hover);border:0;justify-content:center;align-items:center;gap:10px;padding:0 26px;font-size:20px;text-decoration:none;display:inline-flex}.btn:hover,.button:hover,button:not([class]):hover{background:var(--palette-surface)}.btn:disabled,button:not([class]):disabled{opacity:.55;cursor:default}.textlink,.button-secondary{min-height:var(--button-quiet-height);font-family:var(--type-label-family);font-weight:var(--button-secondary-weight);color:inherit;transition:border-color var(--motion-hover), color var(--motion-hover);border-bottom:2px solid #fff0;align-items:center;gap:10px;font-size:20px;text-decoration:none;display:inline-flex}.textlink:hover,.button-secondary:hover{border-bottom-color:currentColor}.button-secondary:after{content:"→"}.textlink svg,.btn svg{width:20px;height:20px}label{font-size:15px;font-weight:700}input:not([type=checkbox]):not([type=radio]),select,textarea{background:var(--palette-surface);width:100%;min-height:52px;color:var(--palette-ink);border:var(--field-border) solid var(--palette-primary);border-radius:var(--field-radius);font-family:var(--type-body-family);padding:12px 14px;font-size:16px}textarea{resize:vertical;min-height:140px}input:focus,select:focus,textarea:focus{outline:var(--motion-focus-ring) solid var(--palette-accent);outline-offset:2px}input[type=checkbox]{accent-color:var(--palette-accent);vertical-align:-4px;width:20px;height:20px}.card{padding:var(--rhythm-4);background:var(--palette-surface);border:var(--card-border) solid #00000024;border-radius:var(--card-radius);box-shadow:var(--card-shadow)}.card h3{margin-bottom:var(--rhythm-2)}[data-block=prose] h2{margin-bottom:var(--rhythm-3)}[data-block=prose] p{max-width:62ch}[data-block=quote]{margin:0}[data-block=quote] blockquote p:before{content:"“";color:var(--palette-accent)}[data-block=quote] blockquote p:after{content:"”";color:var(--palette-accent)}[data-block=quote] figcaption{margin-top:var(--rhythm-2);font-family:var(--type-label-family);font-weight:var(--type-label-weight);font-size:var(--type-label-size);letter-spacing:.14em;text-transform:uppercase}[data-block=stat]{gap:var(--rhythm-4) var(--rhythm-6);flex-wrap:wrap;margin:0;display:flex}[data-block=stat]>div{border-top:3px solid var(--palette-accent);padding-top:var(--rhythm-2);flex-direction:column-reverse;display:flex}[data-block=stat] dd{font-family:var(--type-equipment-name-family);font-weight:var(--type-equipment-name-weight);font-size:var(--type-equipment-name-size);margin:0;line-height:1}[data-block=stat] dt{margin-top:var(--rhythm-1);font-family:var(--type-label-family);font-weight:var(--type-label-weight);font-size:var(--type-label-size);letter-spacing:.14em;text-transform:uppercase}[data-block=figure]{margin:0}[data-block=figure] figcaption{margin-top:var(--rhythm-1);font-size:var(--type-small-print-size);color:var(--ground-light-muted)}[data-block=list] h2{margin-bottom:var(--rhythm-2)}.wrap{padding-left:min(4vw,80px);padding-right:min(4vw,80px)}.label{font-family:var(--type-label-family);font-weight:var(--type-label-weight);font-size:var(--type-label-size);letter-spacing:.14em;text-transform:uppercase}.h2{font-size:clamp(50px, 6vw, calc(var(--type-section-heading-size) * 1.5));line-height:.96}.blue{color:var(--palette-accent)}.measure{max-width:62ch}.i{flex:none}.site-head{z-index:50;background:var(--palette-surface);height:88px;color:var(--palette-ink);transition:opacity .36s,transform .42s cubic-bezier(.2,.8,.2,1);position:fixed;inset:0 0 auto;box-shadow:0 1px #0000001a}html:has(.hero) .site-head:not([data-solid]):not(.open){color:var(--palette-surface);box-shadow:none;background:#fff0}.site-head[data-gone]:not(.open){opacity:0;pointer-events:none;transform:translateY(-100%)}.site-head>header{justify-content:space-between;align-items:center;gap:24px;height:100%;display:flex}.brand{flex:none;line-height:0;display:block}.brand img{width:262px;height:auto;margin:-3px 0}.brand .on-dark,.brand .icon{display:none}html:has(.hero) .site-head:not([data-solid]):not(.open) .brand .on-dark{display:block}html:has(.hero) .site-head:not([data-solid]):not(.open) .brand .on-light{display:none}.nav>nav{align-items:center;gap:30px;display:flex}.nav ul{gap:28px;margin:0;padding:0;list-style:none;display:flex}.nav ul a{font-family:var(--type-label-family);font-weight:var(--type-label-weight);letter-spacing:.03em;transition:border-color var(--motion-hover);border-bottom:2px solid #fff0;padding:10px 0;font-size:19px;text-decoration:none}.nav ul a:hover{border-bottom-color:var(--palette-accent)}.head-phone{font-family:var(--type-label-family);font-weight:var(--type-label-weight);align-items:center;gap:8px;min-height:44px;font-size:19px;text-decoration:none;display:inline-flex}.head-phone svg{width:18px;height:18px;color:var(--palette-accent)}.nav .btn{min-height:48px;padding:0 20px;font-size:18px}.nav ul a,.nav .btn,.head-phone{white-space:nowrap}.menu-btn,.call-btn{width:44px;height:44px;color:inherit;cursor:pointer;background:#fff0;border:0;justify-content:center;align-items:center;padding:0;text-decoration:none;display:none}.menu-btn svg,.call-btn svg{width:26px;height:26px}.head-tools{align-items:center;gap:6px;display:none}html:not(:has(.hero)) main{padding-top:88px}.hero{z-index:0;background:var(--palette-ink);height:100svh;min-height:560px;color:var(--palette-surface);position:sticky;top:0;overflow:hidden}.hero-media{will-change:transform;position:absolute;inset:0}.slide{opacity:0;transition:opacity 1.6s cubic-bezier(.4,0,.2,1);position:absolute;inset:0}.slide.on{opacity:1}.slide img{object-fit:cover;transform-origin:50%;transform:scale(1.08)}.slide.s1 img{object-position:50% 45%}.slide.s2 img{object-position:62% 50%}.slide.s3 img{object-position:50% 50%}.hero:before{content:"";z-index:1;background:linear-gradient(#00000080 0,#0000 180px),linear-gradient(90deg,#000000b8 0,#00000080 42%,#0000 78%),linear-gradient(0deg,#0006 0,#0000 40%);position:absolute;inset:0}.hero-copy{z-index:2;text-align:left;will-change:transform, opacity;flex-direction:column;justify-content:center;align-items:flex-start;padding-top:88px;padding-bottom:88px;display:flex;position:absolute;inset:0}.hero.covered{visibility:hidden}.hero h1,.page-title{font-family:var(--type-page-title-family);font-weight:var(--type-page-title-weight);font-size:clamp(52px, 6.5vw, var(--type-page-title-size));text-transform:none;max-width:20ch;line-height:.94}.hero p{max-width:34ch;color:var(--palette-surface);margin:24px 0 0;font-size:clamp(18px,1.5vw,22px)}.hero-actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:14px 32px;margin-top:36px;display:flex}.hero .textlink{color:var(--palette-surface)}.lift{opacity:1}.js .lift{opacity:0;transition:opacity .5s,transform .5s;transform:translateY(16px)}.js .lift.in{opacity:1;transform:none}.sheet{z-index:1;background:var(--palette-surface);position:relative;box-shadow:0 -30px 60px #00000059}.experience{background:var(--palette-surface);position:relative}.exp-inner{grid-template-columns:56% 36%;justify-content:space-between;align-items:center;padding-top:112px;padding-bottom:112px;display:grid;position:relative}.exp-copy .lead{margin-top:32px;font-size:19px}.exp-copy .support{font-family:var(--type-label-family);font-weight:var(--type-label-weight);letter-spacing:.02em;color:var(--palette-primary);margin-top:22px;font-size:24px}.badge{width:240px;max-width:100%;margin-top:40px}.mast-stage{height:640px;position:relative;overflow:hidden}.mod{width:100%;max-width:520px;height:auto;margin:0 auto;position:absolute;left:0;right:0}.mod-bottom{top:50%}.mod-top{will-change:transform;bottom:50%}.exp-bg{opacity:.08;pointer-events:none;position:absolute;inset:0}.exp-bg img{object-fit:cover}.exp-copy,.mast-stage{z-index:1;position:relative}@media (min-width:1024px) and (min-height:700px) and (prefers-reduced-motion:no-preference){.experience{height:230svh}.experience .exp-inner{background:var(--palette-surface);height:calc(100svh - 88px);padding-top:0;padding-bottom:0;position:sticky;top:88px;overflow:hidden}.experience .mast-stage{height:100%}}.services{background:var(--palette-primary);color:var(--palette-surface);padding-top:112px;padding-bottom:112px}.svc-intro{color:var(--ground-dark-muted);margin-top:28px;font-size:19px}.svc-panels{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin:64px 0 0;padding:0;list-style:none;display:grid}.svc{background:var(--palette-ink);border-top:3px solid var(--palette-accent);flex-direction:column;gap:18px;padding:32px 24px 36px;display:flex}.svc svg.i{width:32px;height:32px;color:var(--palette-accent);flex:none}.svc h3{font-family:var(--type-row-heading-family);font-weight:var(--type-row-heading-weight);font-size:clamp(24px,1.9vw,30px);line-height:1.08}.svc p{color:var(--ground-dark-muted);font-size:16px;line-height:1.55}@media (max-width:1279px){.svc-panels{gap:12px}.svc{padding:28px 18px 30px}}.equipment{background:var(--palette-line);color:var(--palette-ink);padding-top:88px;padding-bottom:96px;overflow:hidden}.eq-head h2{font-size:clamp(40px,4.2vw,66px)}.eq-head p{margin-top:24px;font-size:19px}.track-wrap{margin-top:52px;overflow:hidden}.track{width:max-content;display:flex}.track-group{flex:none;display:flex}.eq{border-right:1px solid #00000024;flex-direction:column;flex:none;margin-right:64px;padding:0 64px 0 0;display:flex}.eq-mark{align-items:center;height:84px;display:flex}.eq-mark img{width:auto;height:var(--lh);max-width:none}.eq .label{margin-top:14px;display:block}.moving .track{animation:marquee var(--marquee-s,120s) linear infinite}.track-wrap:hover .track,.track-wrap:focus-within .track{animation-play-state:paused}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.work{background:var(--palette-surface);padding-top:112px;padding-bottom:112px}.work-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:72px;display:grid}.work-media{aspect-ratio:1;background:var(--palette-line);position:relative;overflow:hidden}.work-media figure{z-index:0;clip-path:inset(0 0 0 100%);margin:0;position:absolute;inset:0}.work-media figure.shown{z-index:1;clip-path:inset(0)}.work-media figure.entering{z-index:2;clip-path:inset(0)}.work-media img{object-fit:cover}.work-copy .lead{margin-top:28px;font-size:19px}.projects{border-top:1px solid #00000024;grid-template-columns:1fr;margin-top:52px;display:grid}.proj{text-align:left;width:100%;color:var(--palette-ink);font:inherit;cursor:pointer;background:#fff0;border:0;border-bottom:1px solid #00000024;padding:26px 0 24px;display:block;position:relative}@media (min-width:1360px){.projects{grid-template-columns:repeat(3,minmax(0,1fr))}.proj{border-bottom:0;padding:30px 20px 8px 0}.proj+.proj{border-left:1px solid #00000024;padding-left:20px}.projects .proj .name{font-size:28px}}.proj:before{content:"";background:var(--palette-accent);transform-origin:0;height:3px;transition:transform .7s cubic-bezier(.77,0,.18,1);position:absolute;top:-1px;left:0;right:0;transform:scaleX(0)}.proj[aria-selected=true]:before{transform:none}.proj .num{color:var(--palette-primary);display:block}.proj .name{font-family:var(--type-row-heading-family);font-weight:var(--type-row-heading-weight);margin-top:10px;font-size:clamp(30px,2.6vw,36px);line-height:1;display:block}.proj .desc{color:var(--ground-light-muted);margin-top:12px;font-size:16px;line-height:1.5;display:block}.proj .num,.proj .name,.proj .desc{opacity:.4;transition:opacity .5s,transform .5s cubic-bezier(.2,.8,.2,1)}.proj:hover .num,.proj:hover .name,.proj:hover .desc{opacity:.7}.proj[aria-selected=true] .num,.proj[aria-selected=true] .name,.proj[aria-selected=true] .desc{opacity:1}.proj[aria-selected=true] .name{transform:translate(2px)}.proj-note{display:none}.glimpse{background:var(--palette-primary);color:var(--palette-surface);padding-top:112px;padding-bottom:112px}.glimpse-head{justify-content:space-between;align-items:end;gap:24px;margin-bottom:56px;display:flex}.masonry{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:0 14px;display:grid}.masonry.packed{grid-auto-rows:4px;align-items:stretch}.tile{background:var(--palette-ink);cursor:zoom-in;border:0;margin:0 0 14px;padding:0;line-height:0;transition:opacity .6s,transform .7s cubic-bezier(.2,.8,.2,1);display:block;position:relative;overflow:hidden}.tile img{width:100%;height:auto;transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .4s}.tile:after{content:"";background:0 0;transition:background-color .4s;position:absolute;inset:0}.tile:hover img{transform:scale(1.045)}.tile:hover:after{background:#0000001f}.js .tile.pending{opacity:0;transform:translateY(24px)}.more-row{justify-content:center;margin-top:40px;display:flex}.more-row .btn{justify-content:center;min-width:220px}.lb{z-index:80;display:none;position:fixed;inset:0}.lb.open{display:block}.lb-back{opacity:0;background:#000000eb;transition:opacity .42s;position:absolute;inset:0}.lb.shown .lb-back{opacity:1}.lb-img{transform-origin:0 0;will-change:transform;background-position:50%;background-size:cover;transition:transform .56s cubic-bezier(.2,.8,.2,1),opacity .32s;position:absolute;top:0;left:0;box-shadow:0 30px 80px #00000080}.lb-img img{object-fit:cover}.lb-bar{color:var(--palette-surface);opacity:0;justify-content:space-between;align-items:center;padding:18px min(4vw,40px);transition:opacity .42s;display:flex;position:absolute;top:0;left:0;right:0}.lb.shown .lb-bar,.lb.shown .lb-nav{opacity:1}.lb-count{font-family:var(--type-label-family);font-weight:var(--type-label-weight);letter-spacing:.08em;font-size:18px}.lb button{width:52px;height:52px;color:var(--palette-surface);cursor:pointer;transition:background-color var(--motion-hover), border-color var(--motion-hover);background:#00000059;border:1px solid #ffffff4d;border-radius:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.lb button:hover{background:var(--palette-accent);border-color:var(--palette-accent);color:var(--palette-ink)}.lb button svg{width:24px;height:24px}.lb-nav{opacity:0;margin-top:-26px;transition:opacity .42s;position:absolute;top:50%}.lb-prev{left:min(3vw,32px)}.lb-next{right:min(3vw,32px)}.people{background:var(--palette-surface);position:relative;overflow:clip}.people-copy{z-index:2;background:var(--palette-surface);grid-template-columns:minmax(0,6fr) minmax(0,5fr);align-items:end;gap:64px;padding-top:96px;padding-bottom:96px;display:grid;position:relative}.people-copy p{font-size:19px}.people-frame{aspect-ratio:1448/760;background-color:var(--palette-ink);position:relative;overflow:visible;container-type:inline-size}.people-photo{object-fit:cover;object-position:50% 100%}.hook{z-index:1;--hook-travel:33.77cqw;will-change:transform;pointer-events:none;width:12.4cqw;max-width:none;height:auto;position:absolute;top:-72.8cqw;left:calc(min(4vw,80px) + 48.3281cqw - 1.09091*min(4vw,80px) - 14.9091px)}.contact{background:var(--palette-ink);color:var(--palette-surface);padding-top:112px;padding-bottom:112px;position:relative;overflow:hidden}.contact-tex{opacity:.1;position:absolute;inset:-12% 0}.contact-tex img{object-fit:cover}.contact-grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start;gap:80px;display:grid;position:relative}.contact .lead{color:var(--ground-dark-muted);margin-top:28px;font-size:19px}.person{border-top:1px solid #ffffff29;margin-top:48px;padding-top:28px}.person .name{font-family:var(--type-row-heading-family);font-weight:var(--type-row-heading-weight);font-size:30px;line-height:1.1}.person .role{color:var(--ground-dark-muted);margin-top:6px}.direct{gap:10px;margin-top:26px;display:grid}.direct a{min-height:44px;color:var(--palette-surface);align-items:center;gap:14px;font-size:20px;text-decoration:none;display:inline-flex}.direct a:hover{color:var(--palette-accent)}.direct svg{width:22px;height:22px;color:var(--palette-accent)}.enquiry form,.enquiry .form-sent{background:var(--palette-primary);border:1px solid #ffffff1f;padding:40px}.row2{grid-template-columns:1fr 1fr;gap:0 20px;display:grid}.field{margin-bottom:22px}.field label{margin-bottom:8px;font-size:15px;font-weight:700;display:block}.field label small{font-family:var(--type-body-family);color:var(--ground-dark-muted);font-size:.8em;font-weight:400}.contact .field input,.contact .field select,.contact .field textarea{border-color:var(--palette-surface)}.field .err{color:#ff8a80;margin-top:6px;font-size:14px}.field.bad input,.field.bad select,.field.bad textarea{border-color:#ff8a80}.enquiry .btn{justify-content:center;width:100%;min-height:56px;font-size:21px}.form-note{color:var(--ground-dark-muted);margin-top:16px;font-size:14px}.form-error{background:#00000040;border-left:3px solid #ff8a80;margin-bottom:18px;padding:14px 16px;font-size:15px}.form-error p+p{margin-top:6px}.form-error a{color:var(--palette-accent)}.enquiry .form-sent{font-family:var(--type-row-heading-family);font-weight:var(--type-row-heading-weight);font-size:var(--type-row-heading-size);border-left:3px solid #6fd39b;line-height:1.15}.site-foot{z-index:1;background:var(--palette-ink);color:var(--ground-dark-muted);border-top:1px solid #ffffff1a;padding-top:56px;padding-bottom:40px;font-size:15px;position:relative}.foot-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;display:flex}.foot-top img{width:240px;height:auto}.foot-links{flex-wrap:wrap;gap:12px 32px;margin:0;padding:0;list-style:none;display:flex}.foot-links a{align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.foot-links a:hover{color:var(--palette-accent)}.foot-base{border-top:1px solid #ffffff1a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 32px;margin-top:36px;padding-top:24px;font-size:14px;display:flex}.foot-base a{align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.foot-base a:hover{color:var(--palette-accent)}.js .rise,.js .rv{opacity:0;transform:translateY(var(--motion-reveal-distance));transition:opacity var(--motion-reveal-duration) ease, transform var(--motion-reveal-duration) ease;transition-delay:var(--d,0s)}.js .rise.in,.js .rv.in{opacity:1;transform:none}.js .rv.clip{opacity:1;clip-path:inset(0 0 100%);transition:clip-path calc(var(--motion-reveal-duration) * 2) cubic-bezier(.77, 0, .18, 1);transition-delay:var(--d,0s);transform:none}.js .rv.clip.in{clip-path:inset(0)}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.hero-media{animation:linear both hero-zoom;animation-timeline:scroll(root);animation-range:0 100vh}.hero-copy{animation:linear both hero-out;animation-timeline:scroll(root);animation-range:0 100vh}.experience{view-timeline-name:--exp}.work{view-timeline-name:--work}.work-media{animation:linear both float-up;animation-timeline:--work;animation-range:cover}.people-frame{view-timeline-name:--people}.people-photo{animation:linear both people-drift;animation-timeline:--people;animation-range:cover}.hook{animation:linear both hook-drop;animation-timeline:--people;animation-range:cover}.contact{view-timeline-name:--contact}.contact-tex{animation:linear both texture-drift;animation-timeline:--contact;animation-range:cover}}@media (min-width:1024px) and (min-height:700px) and (prefers-reduced-motion:no-preference){.experience .mod-top{animation:cubic-bezier(.33,1,.68,1) both mast-drop;animation-timeline:--exp;animation-range:contain 12% contain 72%}}}@keyframes hero-zoom{0%{transform:scale(1)}to{transform:scale(1.06)}}@keyframes hero-out{0%{opacity:1;transform:translate(0,0)}to{opacity:.1;transform:translateY(-60px)}}@keyframes mast-drop{0%{transform:translateY(calc(32px - 50vh))}to{transform:translate(0,0)}}@keyframes float-up{0%{transform:translateY(40px)}to{transform:translateY(-40px)}}@keyframes people-drift{0%{object-position:50% 100%}to{object-position:50% 0%}}@keyframes hook-drop{0%{transform:translate(0,0)}to{transform:translate3d(0, var(--hook-travel), 0)}}@keyframes texture-drift{0%{transform:translateY(-6%)}to{transform:translateY(6%)}}.g-open{background:var(--palette-surface)}.g-open-inner{padding-top:112px;padding-bottom:80px}.g-open .lead{margin-top:28px;font-size:19px}.nf .wrap{min-height:62svh;padding-top:112px;padding-bottom:112px}.nf .lead{margin-top:28px}.nf .textlink{color:var(--palette-ink)}.g-photos{background:var(--palette-primary);padding-top:64px;padding-bottom:112px}.g-rows{flex-direction:column;gap:16px;display:flex}.g-row{width:100%;max-width:min(100%, calc(var(--sum,9) * min(640px, 74svh) + 16px));gap:16px;display:flex}.g-row.g-first{max-width:min(100%, calc(var(--sum) * min(720px, 76svh)))}.g-row.g-left{margin-right:auto}.g-row.g-right{margin-left:auto}.g-row .tile{flex:var(--r) 1 0;min-width:0;margin:0}.g-row .tile img{object-fit:cover;width:100%;height:100%}@media (max-width:1180px){.nav>nav{gap:20px}.nav ul{gap:18px}.brand img{width:220px}.head-phone span{display:none}.masonry{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:1023px){.wrap{padding-left:32px;padding-right:32px}.nav{display:none}.head-tools{display:flex}.menu-btn,.call-btn{display:inline-flex}.site-head.open .nav{background:var(--palette-surface);color:var(--palette-ink);padding:36px 32px;display:block;position:fixed;inset:88px 0 0;overflow:auto}.site-head.open .nav>nav{flex-direction:column;align-items:flex-start;gap:28px}.site-head.open .nav ul{flex-direction:column;gap:6px}.site-head.open .head-phone span{display:inline}.site-head.open .nav ul a{font-size:30px;font-family:var(--type-section-heading-family);font-weight:700}.services,.work,.glimpse,.contact,.people-copy,.g-open-inner{padding-top:80px;padding-bottom:80px}.exp-inner{grid-template-columns:1fr;gap:48px;padding-top:80px;padding-bottom:0}.mast-stage{width:100%;max-width:420px;height:600px;margin:0 auto}.svc-panels{grid-template-columns:repeat(2,minmax(0,1fr))}.people-frame{overflow:clip}.hook{width:11.6cqw;top:-66.6cqw;left:60.1838cqw}.people-copy,.contact-grid{grid-template-columns:1fr;gap:40px}.work-grid{flex-direction:column;align-items:stretch;gap:0;display:flex}.work-copy{display:contents}.work-copy .h2{order:1}.work-copy .lead{order:2}.work-media{aspect-ratio:16/10;order:3;margin-top:40px}.projects{border-top:0;order:4;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}.proj{border-bottom:0;flex-direction:column;justify-content:flex-start;align-items:flex-start;padding:22px 14px 6px 0;display:flex}.proj+.proj{border-left:1px solid #00000024;padding-left:14px}.proj .desc{display:none}.projects .proj .name{font-size:28px}.proj-note{color:var(--ground-light-muted);border-top:1px solid #00000024;order:5;min-height:3em;margin-top:14px;padding-top:14px;font-size:16px;line-height:1.5;display:block}}@media (max-width:767px){body{font-size:16px}html{scroll-padding-top:72px}html:not(:has(.hero)) main{padding-top:72px}.wrap{padding-left:20px;padding-right:20px}.h2{font-size:min(11vw,57px)}.hero h1,.page-title{font-size:11vw}.site-head{height:72px}.site-head>header{gap:12px}.site-head.open .nav{padding:28px 20px;top:72px}.brand img{width:240px}.hero-copy{padding-top:72px;padding-bottom:72px}.hero p{font-size:17px}.hero-actions{gap:10px 24px}.exp-inner{gap:40px;padding-top:64px;padding-bottom:0}.exp-copy .lead,.work-copy .lead,.people-copy p,.contact .lead,.g-open .lead{font-size:17px}.mast-stage{max-width:300px;height:520px}.services,.work,.glimpse,.contact{padding-top:64px;padding-bottom:64px}.people-copy,.g-open-inner{padding-top:56px;padding-bottom:56px}.people-frame{aspect-ratio:16/10}.svc-intro,.eq-head p{font-size:17px}.svc-panels{grid-template-columns:1fr;gap:12px;margin-top:36px}.svc{gap:14px;padding:24px 20px 26px}.svc h3{font-size:26px}.hook{--hook-travel:18.75cqw;width:20cqw;top:-117cqw;left:55.972cqw}.equipment{padding-top:56px;padding-bottom:60px}.eq-head h2{font-size:40px}.eq-mark{height:58px}.eq-mark img{height:calc(var(--lh) * .68)}.eq .label{margin-top:10px}.eq{margin-right:40px;padding-right:40px}.projects{margin-top:0}.proj{padding:18px 8px 4px 0}.proj+.proj{padding-left:10px}.projects .proj .name{font-size:21px;line-height:1.05}.work-media{margin-top:32px}.glimpse-head{flex-direction:column;align-items:flex-start;margin-bottom:32px}.masonry{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:10px}.masonry .tile{margin-bottom:10px}.lb-nav{margin-top:0;top:auto;bottom:24px}.enquiry form,.enquiry .form-sent{padding:24px 20px}.row2{grid-template-columns:1fr}.foot-top{flex-direction:column;align-items:flex-start}.g-photos{padding-top:20px;padding-bottom:64px}.g-rows,.g-row{gap:12px}.g-row{flex-direction:column;max-width:none}.g-row .tile{flex:none}}@media (max-width:339px){.brand .on-dark,.brand .on-light{display:none!important}.brand .icon{width:40px;display:block}}@media (prefers-reduced-motion:reduce){.js .lift,.js .rise,.js .rv{opacity:1;clip-path:none;transition:none;transform:none}.slide,.slide img{transition:none;animation:none;transform:none}.moving .track{animation:none}.track{flex-wrap:wrap;width:auto}.track-group[aria-hidden]{display:none}.track-group{flex-wrap:wrap;row-gap:24px}.hero-media,.hero-copy,.mod-top{opacity:1!important;transform:none!important}.hook{transform:translate3d(0, calc(var(--hook-travel) / 2), 0)!important;animation:none!important}.people-photo{object-position:50% 50%!important;animation:none!important}.site-head,.proj:before,.proj .num,.proj .name,.proj .desc,.work-media figure,.work-media img,.tile,.tile img,.lb-back,.lb-img,.lb-bar,.lb-nav{transition:none}}.sg{gap:var(--rhythm-7);padding-top:112px;padding-bottom:112px;display:grid}.sg>section,.sg>[data-block]{gap:var(--rhythm-3);max-width:1100px;display:grid}.sg>section>h2:first-child{padding-top:var(--rhythm-4);border-top:1px solid #00000024}.sg form{gap:var(--rhythm-3);max-width:560px;display:grid}.sg form label{display:block}.sg .card+.card{margin-top:var(--rhythm-2)}
