:root{--paper: #f5f4f2;--plaster: #eceae6;--stone: #dedbd6;--limestone: #c9c5bf;--concrete: #8e8a84;--slate: #4a4744;--graphite: #35332f;--soot: #2a2826;--charcoal: #1f1e1c;--muted-l: #6b6864;--muted-d: #a8a49e;--ink: var(--charcoal);--bg: var(--paper);--fg: var(--ink);--line: var(--limestone);--muted: var(--muted-l);--develop-from: var(--concrete);--shell: 1200px;--gutter: clamp(16px, 4vw, 48px);--gap: 32px;--section: clamp(72px, 10vw, 144px);--bleed: max(var(--gutter), (100vw - var(--shell)) / 2);--header-h: 76px;--display: "Jost", "Futura", system-ui, sans-serif;--text: "Work Sans", system-ui, sans-serif;--fs-h1: clamp(2.6rem, 1.2rem + 4.4vw, 4.9rem);--fs-h2: clamp(1.9rem, 1.1rem + 2.8vw, 3.4rem);--fs-big: clamp(2rem, 1.2rem + 3vw, 3.8rem);--fs-lead: clamp(1.125rem, 1rem + .5vw, 1.375rem);--fs-body: 1.09375rem;--fs-small: .9375rem;--fs-caps: .8125rem;--track-caps: .18em;--ease: cubic-bezier(.2, .7, .2, 1);--dur: .6s}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--header-h)}body{margin:0;background:var(--bg);color:var(--fg);font:400 var(--fs-body)/1.6 var(--text);font-feature-settings:"kern";text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}body,main{overflow-x:clip}img,svg{display:block;max-width:100%}h1,h2,h3,.big{font-family:var(--display);font-weight:300;letter-spacing:-.01em;margin:0}h1{font-size:var(--fs-h1);line-height:1.02}h2{font-size:var(--fs-h2);line-height:1.08}h3{font-size:var(--fs-lead);font-weight:400;line-height:1.3}.big{font-size:var(--fs-big);line-height:1.05}p{margin:0;max-width:62ch}.lead{font-size:var(--fs-lead);line-height:1.5}.muted{color:var(--muted)}a{color:inherit}.caps{font:400 var(--fs-caps)/1 var(--display);letter-spacing:var(--track-caps);text-transform:uppercase}.btn{display:inline-flex;align-items:center;gap:.6em;padding:1rem 1.4rem;border:1px solid var(--fg);background:var(--fg);color:var(--bg);text-decoration:none;cursor:pointer;font:400 var(--fs-caps)/1 var(--display);letter-spacing:var(--track-caps);text-transform:uppercase;white-space:nowrap;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.btn:hover{background:transparent;color:var(--fg)}.btn:disabled{opacity:.5;cursor:default}.link{color:inherit;text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:3px;transition:border-color var(--dur) var(--ease)}.link:hover{border-color:currentColor}:focus-visible{outline:2px solid var(--fg);outline-offset:3px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.section{position:relative;padding:var(--section) var(--gutter);border-top:1px solid var(--line);background:var(--bg);color:var(--fg)}.shell{max-width:var(--shell);margin:0 auto}.dark{--fg: var(--paper);--line: var(--slate);--muted: var(--muted-d);--develop-from: var(--slate);color:var(--fg)}.tone-paper{--bg: var(--paper)}.tone-plaster{--bg: var(--plaster)}.tone-stone{--bg: var(--stone);--muted: var(--slate)}.tone-limestone{--bg: var(--limestone);--muted: var(--slate)}.tone-concrete{--bg: var(--concrete);--develop-from: var(--limestone)}.tone-slate{--bg: var(--slate);--develop-from: var(--graphite)}.tone-graphite{--bg: var(--graphite)}.tone-soot{--bg: var(--soot)}.tone-charcoal{--bg: var(--charcoal)}gs-contact .section,gs-footer .section{border-top:0}.placeholder-note{font:500 .75rem/1.4 var(--text);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}@supports (animation-timeline: view()){@media(prefers-reduced-motion:no-preference){.develop{animation:develop-ink linear both;animation-timeline:view();animation-range:entry 0% cover 45%}.plate__media{animation:develop-tone linear both;animation-timeline:view();animation-range:entry 0% cover 50%}.develop-rule:after{animation:develop-rule linear both;animation-timeline:view();animation-range:entry 0% cover 30%}.develop-load .plate__media{animation-timeline:auto}}}@keyframes develop-ink{0%{color:var(--develop-from)}}@keyframes develop-tone{0%{filter:contrast(0) brightness(1.08)}}@keyframes develop-rule{0%{transform:scaleX(0)}}@media(prefers-reduced-motion:no-preference){.rise{clip-path:inset(-.1em 0 -.3em 0)}.build-mark .mark-g rect,.build-mark .mark-s rect{transform-box:fill-box;transform-origin:0 0}.build-mark .wordmark,.build-mark .subline{transform-box:fill-box;transform-origin:0 50%}.is-loading .hero__line{transform:translateY(130%);color:var(--develop-from)}.is-loading .fade-up{opacity:0;transform:translateY(14px)}.is-loading .build-mark .mark-g .h,.is-loading .build-mark .mark-s .h{transform:scaleX(0)}.is-loading .build-mark .mark-g .v,.is-loading .build-mark .mark-s .v{transform:scaleY(0)}.is-loading .build-mark .mark-s path{clip-path:inset(100% 0 0 0)}.is-loading .build-mark .wordmark,.is-loading .build-mark .subline{opacity:0;transform:scaleX(.94)}.is-loading .develop-load .plate__media{filter:contrast(0) brightness(1.08)}.is-loading .develop-load .plate__tag,.is-loading .develop-load .plate:before,.is-loading .develop-load .plate:after,.is-loading .develop-load .plate__ticks:before,.is-loading .develop-load .plate__ticks:after{opacity:0}.is-loading .scale__item{opacity:0;transform:translate(10px)}.is-loading .header__list>li,.is-loading .header__cta,.is-loading .header__menu{opacity:0;transform:translateY(-6px)}.is-ready .header__list>li:nth-child(1){animation:drop-in .5s var(--ease) both;animation-delay:1.2s}.is-ready .header__list>li:nth-child(2){animation:drop-in .5s var(--ease) both;animation-delay:1.27s}.is-ready .header__list>li:nth-child(3){animation:drop-in .5s var(--ease) both;animation-delay:1.34s}.is-ready .header__list>li:nth-child(4){animation:drop-in .5s var(--ease) both;animation-delay:1.41s}.is-ready .header__list>li:nth-child(5){animation:drop-in .5s var(--ease) both;animation-delay:1.48s}.is-ready .header__list>li:nth-child(6){animation:drop-in .5s var(--ease) both;animation-delay:1.55s}.is-ready .header__cta{animation:drop-in .5s var(--ease) both;animation-delay:1.55s}.is-ready .header__menu{animation:drop-in .5s var(--ease) both;animation-delay:1.2s}.is-ready .build-mark .mark-g>:nth-child(1).h{animation:draw-x .45s var(--ease) both;animation-delay:.05s}.is-ready .build-mark .mark-g>:nth-child(1).v{animation:draw-y .45s var(--ease) both;animation-delay:.05s}.is-ready .build-mark .mark-g>:nth-child(2).h{animation:draw-x .45s var(--ease) both;animation-delay:.105s}.is-ready .build-mark .mark-g>:nth-child(2).v{animation:draw-y .45s var(--ease) both;animation-delay:.105s}.is-ready .build-mark .mark-g>:nth-child(3).h{animation:draw-x .45s var(--ease) both;animation-delay:.16s}.is-ready .build-mark .mark-g>:nth-child(3).v{animation:draw-y .45s var(--ease) both;animation-delay:.16s}.is-ready .build-mark .mark-g>:nth-child(4).h{animation:draw-x .45s var(--ease) both;animation-delay:.215s}.is-ready .build-mark .mark-g>:nth-child(4).v{animation:draw-y .45s var(--ease) both;animation-delay:.215s}.is-ready .build-mark .mark-g>:nth-child(5).h{animation:draw-x .45s var(--ease) both;animation-delay:.27s}.is-ready .build-mark .mark-g>:nth-child(5).v{animation:draw-y .45s var(--ease) both;animation-delay:.27s}.is-ready .build-mark .mark-g>:nth-child(6).h{animation:draw-x .45s var(--ease) both;animation-delay:.325s}.is-ready .build-mark .mark-g>:nth-child(6).v{animation:draw-y .45s var(--ease) both;animation-delay:.325s}.is-ready .build-mark .mark-g>:nth-child(7).h{animation:draw-x .45s var(--ease) both;animation-delay:.38s}.is-ready .build-mark .mark-g>:nth-child(7).v{animation:draw-y .45s var(--ease) both;animation-delay:.38s}.is-ready .build-mark .mark-g>:nth-child(8).h{animation:draw-x .45s var(--ease) both;animation-delay:.435s}.is-ready .build-mark .mark-g>:nth-child(8).v{animation:draw-y .45s var(--ease) both;animation-delay:.435s}.is-ready .build-mark .mark-g>:nth-child(9).h{animation:draw-x .45s var(--ease) both;animation-delay:.49s}.is-ready .build-mark .mark-g>:nth-child(9).v{animation:draw-y .45s var(--ease) both;animation-delay:.49s}.is-ready .build-mark .mark-g>:nth-child(10).h{animation:draw-x .45s var(--ease) both;animation-delay:.545s}.is-ready .build-mark .mark-g>:nth-child(10).v{animation:draw-y .45s var(--ease) both;animation-delay:.545s}.is-ready .build-mark .mark-g>:nth-child(11).h{animation:draw-x .45s var(--ease) both;animation-delay:.6s}.is-ready .build-mark .mark-g>:nth-child(11).v{animation:draw-y .45s var(--ease) both;animation-delay:.6s}.is-ready .build-mark .mark-g>:nth-child(12).h{animation:draw-x .45s var(--ease) both;animation-delay:.655s}.is-ready .build-mark .mark-g>:nth-child(12).v{animation:draw-y .45s var(--ease) both;animation-delay:.655s}.is-ready .build-mark .mark-g>:nth-child(13).h{animation:draw-x .45s var(--ease) both;animation-delay:.71s}.is-ready .build-mark .mark-g>:nth-child(13).v{animation:draw-y .45s var(--ease) both;animation-delay:.71s}.is-ready .build-mark .mark-g>:nth-child(14).h{animation:draw-x .45s var(--ease) both;animation-delay:.765s}.is-ready .build-mark .mark-g>:nth-child(14).v{animation:draw-y .45s var(--ease) both;animation-delay:.765s}.is-ready .build-mark .mark-g>:nth-child(15).h{animation:draw-x .45s var(--ease) both;animation-delay:.82s}.is-ready .build-mark .mark-g>:nth-child(15).v{animation:draw-y .45s var(--ease) both;animation-delay:.82s}.is-ready .build-mark .mark-g>:nth-child(16).h{animation:draw-x .45s var(--ease) both;animation-delay:.875s}.is-ready .build-mark .mark-g>:nth-child(16).v{animation:draw-y .45s var(--ease) both;animation-delay:.875s}.is-ready .build-mark .mark-s path{animation:build-up .7s var(--ease) both;animation-delay:.85s}.is-ready .build-mark .mark-s .h{animation:draw-x .35s var(--ease) both;animation-delay:1.45s}.is-ready .build-mark .mark-s .v{animation:draw-y .35s var(--ease) both;animation-delay:1.45s}.is-ready .build-mark .wordmark{animation:settle .8s var(--ease) both;animation-delay:1.1s}.is-ready .build-mark .subline{animation:settle .8s var(--ease) both;animation-delay:1.3s}.is-ready .hero__line{animation:rise 1s var(--ease) both;animation-delay:var(--delay, 0s)}.is-ready .fade-up{animation:fade-up .8s var(--ease) both;animation-delay:var(--delay, .6s)}.is-ready .develop-load .plate:before,.is-ready .develop-load .plate:after,.is-ready .develop-load .plate__ticks:before,.is-ready .develop-load .plate__ticks:after{animation:fade-in .4s var(--ease) both;animation-delay:.3s}.is-ready .develop-load .plate__media{animation:develop-tone 1.6s var(--ease) both;animation-delay:.5s}.is-ready .develop-load .plate__tag{animation:fade-in .5s var(--ease) both;animation-delay:2s}.is-ready .scale__item:nth-child(1){animation:stack-in .5s var(--ease) both;animation-delay:1s}.is-ready .scale__item:nth-child(2){animation:stack-in .5s var(--ease) both;animation-delay:1.06s}.is-ready .scale__item:nth-child(3){animation:stack-in .5s var(--ease) both;animation-delay:1.12s}.is-ready .scale__item:nth-child(4){animation:stack-in .5s var(--ease) both;animation-delay:1.18s}.is-ready .scale__item:nth-child(5){animation:stack-in .5s var(--ease) both;animation-delay:1.24s}.is-ready .scale__item:nth-child(6){animation:stack-in .5s var(--ease) both;animation-delay:1.3s}.is-ready .scale__item:nth-child(7){animation:stack-in .5s var(--ease) both;animation-delay:1.36s}.is-ready .scale__item:nth-child(8){animation:stack-in .5s var(--ease) both;animation-delay:1.42s}.is-ready .scale__item:nth-child(9){animation:stack-in .5s var(--ease) both;animation-delay:1.48s}}@keyframes rise{0%{transform:translateY(130%);color:var(--develop-from)}}@keyframes fade-up{0%{opacity:0;transform:translateY(14px)}}@keyframes fade-in{0%{opacity:0}}@keyframes settle{0%{opacity:0;transform:scaleX(.94)}}@keyframes draw-x{0%{transform:scaleX(0)}}@keyframes draw-y{0%{transform:scaleY(0)}}@keyframes build-up{0%{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}@keyframes drop-in{0%{opacity:0;transform:translateY(-6px)}}@keyframes panel-in{0%{opacity:0;transform:translateY(-8px)}}@keyframes stack-in{0%{opacity:0;transform:translate(10px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}.plate{position:relative;margin:0;background:var(--develop-from);color:var(--paper);--tick: 18px}.plate:before,.plate:after,.plate .plate__ticks:before,.plate .plate__ticks:after{content:"";position:absolute;width:var(--tick);height:var(--tick);background:linear-gradient(var(--fg),var(--fg)) center/1px 100% no-repeat,linear-gradient(var(--fg),var(--fg)) center/100% 1px no-repeat;pointer-events:none}.plate:before{left:calc(var(--tick) / -2);top:calc(var(--tick) / -2)}.plate:after{right:calc(var(--tick) / -2);top:calc(var(--tick) / -2)}.plate .plate__ticks:before{left:calc(var(--tick) / -2);bottom:calc(var(--tick) / -2)}.plate .plate__ticks:after{right:calc(var(--tick) / -2);bottom:calc(var(--tick) / -2)}.plate__media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.plate__placeholder{position:absolute;inset:0;display:grid;place-items:center;padding:16px;text-align:center}.plate__label{font:500 .6875rem/1.5 var(--text);letter-spacing:.1em;text-transform:uppercase;padding:10px 14px;border:1px dashed var(--slate);color:var(--charcoal);background:color-mix(in srgb,var(--paper) 85%,transparent)}.plate__tag{position:absolute;left:12px;bottom:12px;padding:6px 9px;font:500 .625rem/1.3 var(--text);letter-spacing:.1em;text-transform:uppercase;color:var(--charcoal);background:color-mix(in srgb,var(--paper) 88%,transparent);border:1px solid var(--limestone);pointer-events:none}
