.site-footer{position:relative;background:var(--color-rust);color:var(--color-ink);overflow:hidden}.site-footer__topline{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;grid-gap:2rem;gap:2rem;margin-top:3.75rem;padding:0 var(--page-gutter)}.site-footer__cta{display:inline-flex;flex-direction:column;width:max-content;padding:calc(.035em / var(--display-scale)) 0 calc(.055em / var(--display-scale));font-family:var(--font-display);font-size:calc(var(--type-footer-cta) * var(--display-scale));font-weight:900;line-height:calc(.78 / var(--display-scale));text-decoration:none;cursor:pointer;transition:color .24s var(--ease-settle)}.site-footer__cta-word{display:inline-block;width:max-content}.site-footer__cta-line{display:inline-flex;align-items:baseline;gap:.08em}.site-footer__cta-arrow{position:relative;top:-.03em;display:block;width:.44em;height:.44em;background:currentColor;-webkit-mask:url(/brand/arrow.svg) center/contain no-repeat;mask:url(/brand/arrow.svg) center/contain no-repeat;transform:rotate(45deg);transition:transform .3s var(--ease-settle)}.site-footer:has(.site-footer__wordmark-wrap:hover) .site-footer__cta,.site-footer__cta:focus-visible,.site-footer__cta:hover{color:var(--color-paper)}.site-footer:has(.site-footer__wordmark-wrap:hover) .site-footer__cta-arrow,.site-footer__cta:focus-visible .site-footer__cta-arrow,.site-footer__cta:hover .site-footer__cta-arrow{transform:translate(.08em,.08em) rotate(45deg)}.site-footer:has(.site-footer__cta:hover,.site-footer__cta:focus-visible) .site-footer__wordmark,.site-footer__wordmark-wrap:hover .site-footer__wordmark{color:var(--color-paper)}.site-footer__cta:focus-visible{outline:2px solid currentColor;outline-offset:.12em}.site-footer__nav{display:flex;align-items:flex-start;gap:clamp(1.5rem,3.25vw,3rem);font-family:var(--font-mono);font-size:var(--type-meta);text-transform:uppercase;letter-spacing:.06em}.site-footer__nav a{text-decoration:none;transition:color var(--interaction-response) var(--ease-response)}.site-footer__nav a:focus-visible,.site-footer__nav a:hover{color:var(--color-paper)}.site-footer__wordmark-wrap{container-type:inline-size;display:block;width:calc(100% - (var(--page-gutter) * 2));margin:clamp(3rem,5.5vw,5.5rem) var(--page-gutter) clamp(2rem,2.35vw,2.125rem)}.site-footer__wordmark{display:block;width:100%;padding-bottom:.196em;font-family:var(--font-display);font-size:calc(100cqw / 3.034);font-weight:900;line-height:.738;text-align:left;text-indent:-.025em;white-space:nowrap;color:var(--color-ink);transition:color .24s var(--ease-settle)}.site-footer__legal{position:absolute;right:var(--page-gutter);bottom:1rem;left:var(--page-gutter);z-index:1;display:flex;justify-content:space-between;align-items:baseline;gap:1.5rem;font-family:var(--font-mono);font-size:var(--type-meta);line-height:1;text-transform:uppercase;letter-spacing:.06em}.site-footer__copyright{margin:0}.site-footer__legal-links{white-space:nowrap}.site-footer__legal-links a{padding-block:.35rem;text-decoration:none;transition:color var(--interaction-response) var(--ease-response)}.site-footer__legal-links a:focus-visible,.site-footer__legal-links a:hover{color:var(--color-paper)}@media (max-width:800px){.site-footer__topline{grid-template-columns:1fr;gap:2rem;margin-top:2.5rem}.site-footer__nav{order:-1;flex-wrap:wrap;gap:.75rem 1.5rem}.site-footer__nav a{display:inline-flex;align-items:center;min-height:var(--touch-target)}.site-footer__legal{flex-direction:column;align-items:flex-start;gap:.5rem}.site-footer__wordmark-wrap{margin-top:calc(7vw - .8rem);margin-bottom:calc(2rem + var(--type-meta) + .5rem)}}.site-header{position:fixed;top:0;left:0;z-index:70;display:flex;justify-content:space-between;align-items:center;width:100%;padding:1rem var(--page-gutter);pointer-events:none;color:var(--color-paper);--mark-color:var(--color-rust);transition:color var(--header-color-duration,.4s) var(--header-color-ease,var(--ease-settle)),opacity .6s var(--ease-settle),transform .34s var(--ease-settle);will-change:transform}.site-header[data-tone=light],.site-header[data-tone=rust]{color:var(--color-ink)}.site-header[data-tone=rust] :focus-visible{outline-color:currentColor}.site-header[data-mark-tone=rust]{--mark-color:var(--color-ink)}html:has(.home-theme-root) .site-header[data-tone=light]{--header-color-duration:0.8s;--header-color-ease:cubic-bezier(0.22,1,0.44,1);color:var(--home-page-foreground)}.site-header[data-hidden=true]{transform:translateY(-120%)}.site-header a{pointer-events:auto}.site-header__mark{position:relative;z-index:1;display:grid;place-items:center;min-width:var(--touch-target);min-height:var(--touch-target)}.site-header__mark-art{display:block;height:clamp(1.375rem,2vw,1.75rem);aspect-ratio:1701/343;background:var(--mark-color);-webkit-mask:url(/brand/graaft-logo.svg) center/contain no-repeat;mask:url(/brand/graaft-logo.svg) center/contain no-repeat;transition:background-color var(--header-color-duration,.4s) var(--header-color-ease,var(--ease-settle))}.site-header__nav{display:flex;gap:clamp(.75rem,2vw,1.8rem);font-family:var(--font-mono);font-size:var(--type-meta);text-transform:uppercase;letter-spacing:.06em}.site-header__nav a{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-target);padding:0 .1rem}.site-header__nav a:after{content:"";position:absolute;left:0;bottom:32%;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:100% 50%;transition:transform .36s var(--ease-expressive)}.site-header__nav a:focus-visible:after,.site-header__nav a:hover:after{transform:scaleX(1);transform-origin:0 50%}.site-header__nav a[aria-current]{color:var(--mark-color)}.site-header__nav a[aria-current]:after{transform:scaleX(1)}@media not all and (max-width:800px){.site-header__nav a[aria-current]{transition:color var(--header-color-duration,.4s) var(--header-color-ease,var(--ease-settle))}}.site-header__menu-button{display:none}@media (max-width:800px){.site-header__menu-button{position:relative;z-index:1;display:grid;place-items:center;width:var(--touch-target);height:var(--touch-target);margin-right:calc((var(--touch-target) - 1.5rem) / -2);padding:0;border:0;background:none;color:inherit;cursor:pointer;pointer-events:auto}.site-header__menu-icon{position:relative;display:block;width:1.5rem;height:.5rem}.site-header__menu-icon:after,.site-header__menu-icon:before{content:"";position:absolute;left:0;width:100%;height:1.5px;background:currentColor;transition:top .4s var(--ease-settle),transform .4s var(--ease-settle)}.site-header__menu-icon:before{top:0}.site-header__menu-icon:after{top:calc(100% - 1.5px)}.site-header[data-menu-open=true] .site-header__menu-icon:after,.site-header[data-menu-open=true] .site-header__menu-icon:before{top:calc(50% - .75px)}.site-header[data-menu-open=true] .site-header__menu-icon:before{transform:rotate(45deg)}.site-header[data-menu-open=true] .site-header__menu-icon:after{transform:rotate(-45deg)}.site-header__nav{position:absolute;top:0;left:0;flex-direction:column;gap:0;width:100%;height:100vh;height:100dvh;padding:calc(1rem + var(--touch-target) + clamp(2rem, 8svh, 4rem)) var(--page-gutter) 2rem;overflow-y:auto;background:var(--color-ink);color:var(--color-paper);font-family:var(--font-display);font-size:calc(var(--type-display-md) * var(--display-scale));font-weight:900;letter-spacing:0;text-transform:none;opacity:0;visibility:hidden;pointer-events:none}.site-header[data-menu-closing=true] .site-header__nav{transition:opacity .4s var(--ease-settle),visibility 0s linear .4s}.site-header[data-menu-open=true] .site-header__nav{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .4s var(--ease-settle)}.site-header__nav a{justify-content:flex-start;min-height:0;flex-shrink:0;padding:.18em 0 .22em;border-bottom:1px solid color-mix(in srgb,currentColor 30%,transparent);line-height:1;opacity:0;transform:translateY(.35em);transition:opacity .3s var(--ease-settle),transform .5s var(--ease-settle)}.site-header[data-menu-open=true] .site-header__nav a{opacity:1;transform:none;transition-delay:calc(.08s + var(--menu-index, 0) * .05s)}.site-header__nav a:after{content:none}.site-header__nav a[aria-current]{color:var(--color-rust);text-decoration:underline;text-decoration-thickness:max(1px,.04em);text-underline-offset:.12em}}.site-header[data-revealed=false] .site-header__mark-art,.site-header[data-revealed=false] .site-header__menu-button,.site-header[data-revealed=false] .site-header__nav a{opacity:0}.site-header[data-revealed=true] .site-header__menu-button{animation:hero-header-links-reveal 1.15s var(--ease-settle) both}.site-header[data-revealed=true] .site-header__mark-art{animation:hero-header-mark-bloom 1.15s var(--ease-settle) both}.site-header[data-revealed=true] .site-header__nav a{animation:hero-header-links-reveal 1.15s var(--ease-settle) both;animation-delay:calc(var(--menu-index, 0) * .06s)}@keyframes hero-header-mark-bloom{0%,75.61%{opacity:0;filter:blur(7px)}to{opacity:1;filter:blur(0)}}@keyframes hero-header-links-reveal{0%,48%{opacity:0;transform:translateY(-.35rem)}to{opacity:1;transform:translateY(0)}}@media (max-width:800px){.site-header[data-revealed=true] .site-header__nav a{animation:none}}@media (forced-colors:active){.site-header__mark-art,.site-header__menu-icon:after,.site-header__menu-icon:before{background:CanvasText}.site-header__nav a[aria-current]{text-decoration:underline}}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent-horizontal],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}@font-face{font-family:satoshi;src:url(/_next/static/media/d9396795aa5ec363-s.p.woff2) format("woff2");font-display:swap;font-weight:100 900;font-style:normal}@font-face{font-family:satoshi Fallback;src:local("Arial");ascent-override:92.36%;descent-override:21.95%;line-gap-override:9.14%;size-adjust:109.35%}.__className_259004{font-family:satoshi,satoshi Fallback;font-style:normal}.__variable_259004{--font-satoshi:"satoshi","satoshi Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_a3cc63{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_a3cc63{--font-jetbrains-mono:"JetBrains Mono","JetBrains Mono Fallback"}:root{--color-rust:#c0612a;--color-paper:#f2ebda;--color-ink:#1a1410;--color-mid:#6b5f54;--color-plate:#3f2e22;--color-paper-muted:color-mix(in srgb,var(--color-paper) 70%,transparent);--color-paper-light:color-mix(in srgb,var(--color-paper) 35%,#fff);--home-page-background:var(--color-ink);--home-page-foreground:var(--color-paper);--home-client-heading-foreground:var(--color-paper);--home-client-wall-foreground:var(--color-paper-muted);--type-meta:clamp(0.625rem,0.72vw,0.6875rem);--type-small:clamp(0.75rem,0.9vw,0.8125rem);--type-body:clamp(0.875rem,1.2vw,1rem);--leading-body:1.3;--display-scale:0.69;--type-display-caption:clamp(1.25rem,1.55vw,1.75rem);--type-work-filter:clamp(1.875rem,3.6vw,3.5rem);--type-display-xs:clamp(2.25rem,3vw,3rem);--type-display-sm:clamp(2.75rem,6.4vw,6.5rem);--type-display-md:clamp(4rem,10.4vw,11rem);--type-display-lg:clamp(4.8rem,13.5vw,14rem);--type-display-hero:clamp(5rem,min(18.4vw,28svh),17rem);--type-display-mobile-route:clamp(5.5rem,24vw,10.75rem);--type-footer-cta:clamp(5rem,7.05vw,6.375rem);--type-loader-label:6.5093cqw;--type-loader-meta:0.5625rem;--page-gutter:clamp(1rem,2.4vw,2.25rem);--safe-gutter-left:max(var(--page-gutter),env(safe-area-inset-left));--safe-gutter-right:max(var(--page-gutter),env(safe-area-inset-right));--touch-target:2.75rem;--ease-travel:cubic-bezier(0.77,0,0.175,1);--ease-response:cubic-bezier(0.23,1,0.32,1);--ease-expressive:cubic-bezier(0.76,0,0.24,1);--ease-settle:cubic-bezier(0.22,1,0.36,1);--interaction-response:0.18s;--interaction-press-in:0.1s;--interaction-press-out:0.16s;--interaction-press-scale:0.985;--interaction-label-travel:6px;--reel-morph-duration:0.72s;--reel-morph-controls-duration:0.12s}@media (max-width:800px){:root{--type-display-hero:clamp(4.4rem,18vw,8.6rem);--type-display-lg:clamp(4.8rem,18vw,9rem);--type-footer-cta:clamp(4rem,16vw,5.5rem)}}@media (max-width:520px){:root{--page-gutter:0.75rem;--type-display-caption:clamp(1.25rem,7vw,1.75rem);--type-display-xs:clamp(2.35rem,12vw,3.25rem);--type-display-sm:clamp(3rem,12vw,4.25rem);--type-display-md:clamp(3.1rem,16vw,5.2rem);--type-display-lg:clamp(4rem,19vw,6.6rem);--type-display-hero:clamp(3.75rem,19vw,6.4rem);--type-footer-cta:clamp(3.75rem,18vw,4.75rem)}}@media (prefers-reduced-motion:reduce){:root{--reel-morph-duration:0.01ms}}:root{--font-display:var(--font-satoshi),system-ui,sans-serif;--font-body:var(--font-satoshi),system-ui,sans-serif;--font-mono:var(--font-jetbrains-mono),ui-monospace,monospace}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scrollbar-gutter:stable}html.lenis{scroll-behavior:auto}body{margin:0;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-weight:400;font-size:var(--type-body);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}dl,figure,h1,h2,h3,h4,ol,p,ul{margin:0;padding:0}ol,ul{list-style:none}img,svg,video{display:block;max-width:100%}picture{display:contents}a{text-decoration:none}a,button{color:inherit}button{background:none;border:0;padding:0;cursor:pointer}button,input,select,textarea{font:inherit}:focus-visible{outline:2px solid var(--color-rust);outline-offset:3px}main:focus-visible{outline:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}.pill-button{--pill-fg:var(--color-ink);--pill-bg:var(--color-paper);--pill-outline:100%;display:inline-flex;align-items:center;gap:.625rem;min-height:3.5rem;padding:1.125rem 1.75rem;border:1.5px solid color-mix(in srgb,var(--pill-fg) var(--pill-outline),transparent);border-radius:999px;color:var(--pill-fg);font-family:var(--font-display);font-size:.9375rem;font-weight:600;line-height:1.5;letter-spacing:-.01em;text-decoration:none;white-space:nowrap;transition:background-color .2s cubic-bezier(.2,.8,.2,1),border-color .2s cubic-bezier(.2,.8,.2,1),color .2s cubic-bezier(.2,.8,.2,1)}.pill-button:focus-visible,.pill-button:hover{border-color:var(--pill-fg);background:var(--pill-fg);color:var(--pill-bg)}.pill-button:focus-visible{outline:2px solid var(--pill-fg);outline-offset:3px}.pill-button__arrow{flex:none;width:1rem;height:1rem;transition:transform .42s cubic-bezier(.34,1.56,.64,1)}.pill-button:focus-visible .pill-button__arrow,.pill-button:hover .pill-button__arrow{transform:translateX(5px)}.pill-button__arrow--back{transform:rotate(180deg)}.pill-button:focus-visible .pill-button__arrow--back,.pill-button:hover .pill-button__arrow--back{transform:rotate(180deg) translateX(5px)}.grain{position:fixed;inset:-12%;z-index:60;pointer-events:none;opacity:.1;background-image:url(/textures/grain.svg);background-size:9rem 9rem;animation:grain-shift .7s step-end infinite;will-change:transform}@keyframes grain-shift{0%{transform:translateZ(0)}12.5%{transform:translate3d(-3%,-5%,0)}25%{transform:translate3d(-8%,4%,0)}37.5%{transform:translate3d(4%,-8%,0)}50%{transform:translate3d(-2%,7%,0)}62.5%{transform:translate3d(6%,2%,0)}75%{transform:translate3d(-7%,-3%,0)}87.5%{transform:translate3d(2%,6%,0)}to{transform:translateZ(0)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.grain{animation:none}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}