@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.3p2_lha1f2xer.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.390ncx5urfkfu.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.21jp631_3pja2.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.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:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_4932f9da-module__Hp4EYa__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_4932f9da-module__Hp4EYa__variable{--font-geist:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.31988l_ccedte.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.1rgnod-3esatf.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.0r6juujl39pe6.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:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8f04fc5a-module__ZGwrmq__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8f04fc5a-module__ZGwrmq__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
:root{--bg:#0d0e10;--bg-raised:#131417;--bg-hover:#17181b;--text:#f5f5f2;--text-2:#a5a7aa;--text-3:#75777b;--border:#25272b;--border-strong:#35383d;--accent:#a6d85a;--accent-hover:#b7e273;--accent-ink:#0d0e10;--error:#f08a7a;--font-sans:var(--font-geist), ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:var(--font-geist-mono), ui-monospace, "SF Mono", Menlo, monospace;--container:1240px;--gutter:clamp(1.25rem, .6rem + 2.6vw, 2.5rem);--gap:clamp(1rem, .5rem + 1.5vw, 2rem);--header-h:76px;--space-section:clamp(5rem, 3.5rem + 5.5vw, 8.5rem);--radius-sm:3px;--radius:4px;--radius-md:6px;--ease:cubic-bezier(.22, 1, .36, 1);--t-fast:.2s;--t-base:.4s}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scroll-padding-top:calc(var(--header-h) + 1.5rem)}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);margin:0;font-size:1.0625rem;line-height:1.65;overflow-x:clip}h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote,fieldset{margin:0;padding:0}ul,ol{list-style:none}fieldset{border:0;min-width:0}a{color:inherit;text-decoration:none}img,svg{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.skip-link{z-index:1000;background:var(--accent);color:var(--accent-ink);border-radius:var(--radius);padding:.65rem 1rem;font-weight:500;position:fixed;top:-100px;left:1rem}.skip-link:focus{top:1rem}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.container{width:100%;max-width:calc(var(--container) + var(--gutter) * 2);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--space-section)}.section--border{border-top:1px solid var(--border)}.split{gap:2.5rem var(--gap);grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;display:grid}.split__a{grid-column:1/span 5}.split__b{grid-column:7/span 6}@media (max-width:959px){.split__a,.split__b{grid-column:1/-1}}.button-row{flex-wrap:wrap;gap:.75rem;display:flex}@media (max-width:559px){.button-row{flex-direction:column}.button-row .btn{width:100%}}.stack{gap:1.25rem;display:grid}.h-display,.h1,.h2,.h3{color:var(--text);text-wrap:balance;font-weight:600}.h-display{letter-spacing:-.045em;font-size:clamp(2.6rem,1.4rem + 4.2vw,5rem);line-height:1.02}.h1{letter-spacing:-.042em;font-size:clamp(2.5rem,1.6rem + 3.4vw,4.25rem);line-height:1.04}.h2{letter-spacing:-.035em;font-size:clamp(1.9rem,1.35rem + 2.1vw,3.1rem);line-height:1.1}.h3{letter-spacing:-.022em;font-size:clamp(1.3rem,1.1rem + .7vw,1.65rem);font-weight:500;line-height:1.25}.lead{color:var(--text-2);text-wrap:pretty;font-size:clamp(1.1rem,1rem + .35vw,1.3rem);line-height:1.6}.text-2{color:var(--text-2)}p{text-wrap:pretty}.label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);font-size:.75rem;font-weight:400;line-height:1.4}.rl-label{align-items:center;gap:.75rem;display:inline-flex}.rl-label:before{content:"";background:var(--accent);flex:none;width:1.75rem;height:1px}@media (prefers-reduced-motion:no-preference){.js [data-reveal]{opacity:0;transition:opacity .7s var(--ease), transform .7s var(--ease);transition-delay:var(--d,0s);transform:translateY(14px)}.js [data-reveal].is-in{opacity:1;transform:none}.hero-in{animation:heroIn .8s var(--ease) both;animation-delay:var(--d,0s)}.page{animation:pageIn .5s var(--ease) both}html[data-leaving] .page{opacity:0;transition:opacity .22s,transform .22s;transform:translateY(-6px)}}@keyframes heroIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes pageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
.logo{align-items:center;gap:.75rem;display:inline-flex}.logo__mark{width:34px;height:auto;color:var(--text);flex:none}.logo__text{letter-spacing:.16em;font-size:.78rem;font-weight:600;line-height:1.15;display:grid}.logo__text span:last-child{color:var(--text-2);font-weight:500}.btn{border-radius:var(--radius);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;height:3rem;transition:background-color var(--t-fast) ease, border-color var(--t-fast) ease, color var(--t-fast) ease;border:1px solid #0000;justify-content:center;align-items:center;gap:.65rem;padding:0 1.3rem;font-size:.875rem;font-weight:500;display:inline-flex;position:relative}.btn__arrow{transition:transform var(--t-fast) var(--ease);display:inline-block}.btn:hover .btn__arrow{transform:translate(4px)}.btn--primary{background:var(--accent);color:var(--accent-ink)}.btn--primary:hover{background:var(--accent-hover)}.btn--secondary{border-color:var(--border-strong);color:var(--text);overflow:hidden}.btn--secondary:after{content:"";background:var(--accent);transform-origin:0;height:1px;transition:transform .35s var(--ease);position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.btn--secondary:hover{background:var(--bg-raised);border-color:#4a4d52}.btn--secondary:hover:after{transform:scaleX(1)}.btn--sm{height:2.5rem;padding:0 1rem;font-size:.8rem}.btn--block{width:100%}.btn:disabled{opacity:.6;cursor:progress}.text-link{letter-spacing:.04em;text-transform:uppercase;color:var(--text);align-items:center;gap:.5rem;padding-bottom:.3rem;font-size:.875rem;font-weight:500;display:inline-flex;position:relative}.text-link:before,.text-link:after{content:"";height:1px;position:absolute;bottom:0;left:0}.text-link:before{background:var(--border-strong);right:0}.text-link:after{background:var(--accent);width:1.5rem;transition:width .4s var(--ease)}.text-link__arrow{transition:transform var(--t-fast) var(--ease)}.text-link:hover:after,a:hover>.text-link:after{width:100%}.text-link:hover .text-link__arrow,a:hover .text-link__arrow{transform:translate(4px)}.navbar{z-index:100;border-bottom:1px solid #0000;transition:background-color .3s,border-color .3s;position:sticky;top:0}.navbar[data-scrolled=true],.navbar[data-open=true]{-webkit-backdrop-filter:blur(12px)saturate(1.2);border-bottom-color:var(--border);background:#0d0e10db}.navbar[data-open=true]{background:var(--bg)}.navbar__inner{height:var(--header-h);transition:height .3s var(--ease);align-items:center;gap:2.5rem;display:flex}.navbar[data-scrolled=true] .navbar__inner{height:64px}.navbar__links{align-items:center;gap:2rem;margin-left:auto;display:flex}.navbar__link{color:var(--text-2);transition:color var(--t-fast) ease;padding:.5rem 0;font-size:.9rem;display:block;position:relative}.navbar__link:after{content:"";background:var(--accent);transform-origin:0;height:1px;transition:transform .35s var(--ease);position:absolute;bottom:.15rem;left:0;right:0;transform:scaleX(0)}.navbar__link:hover,.navbar__link[aria-current=page]{color:var(--text)}.navbar__link[aria-current=page]:after{transform:scaleX(1)}.navbar__toggle{justify-content:center;align-items:center;width:44px;height:44px;margin-left:auto;margin-right:-10px;display:none}.navbar__toggle svg{width:22px;height:22px}.navbar__toggle line{transition:transform .3s var(--ease), opacity .2s ease;transform-box:fill-box;transform-origin:50%}.navbar[data-open=true] .navbar__toggle .l1{transform:translateY(4px)rotate(45deg)}.navbar[data-open=true] .navbar__toggle .l2{transform:translateY(-4px)rotate(-45deg)}.mobile-menu{z-index:90;padding:calc(var(--header-h) + 1rem) var(--gutter) 2rem;background:var(--bg);opacity:0;visibility:hidden;transition:opacity .3s var(--ease), transform .3s var(--ease), visibility 0s linear .3s;flex-direction:column;display:flex;position:fixed;inset:0;transform:translateY(-8px)}.mobile-menu[data-open=true]{opacity:1;visibility:visible;transition:opacity .3s var(--ease), transform .3s var(--ease), visibility 0s;transform:none}.mobile-menu__links li{border-bottom:1px solid var(--border);opacity:0;transition:opacity .3s ease, transform .4s var(--ease);transform:translateY(6px)}.mobile-menu[data-open=true] .mobile-menu__links li{opacity:1;transition-delay:calc(60ms + var(--i) * 40ms);transform:none}.mobile-menu__links a{letter-spacing:-.02em;justify-content:space-between;align-items:center;padding:1.1rem 0;font-size:1.6rem;font-weight:500;display:flex}.mobile-menu__links a[aria-current=page]{color:var(--accent)}.mobile-menu__foot{gap:1.25rem;margin-top:auto;display:grid}.mobile-menu__contact{color:var(--text-2);flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;font-size:.9rem;display:flex}@media (max-width:959px){.navbar__nav,.navbar__cta{display:none}.navbar__toggle{display:inline-flex}}@media (min-width:960px){.mobile-menu{display:none}}.section-header{align-items:end;gap:1.5rem var(--gap);grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);margin-bottom:clamp(2.5rem,2rem + 2vw,4rem);display:grid}.section-header__main{gap:1.1rem;max-width:40rem;display:grid}.section-header__side{justify-items:start;gap:1.5rem;display:grid}.section-header__side:only-child{grid-column:2}@media (max-width:959px){.section-header{grid-template-columns:1fr}}.rushline{background:var(--border);height:1px;position:relative}.rushline:after{content:"";background:var(--accent);transform-origin:0;width:7rem;height:1px;transition:transform .9s var(--ease) .15s;position:absolute;top:0;left:0;transform:scaleX(0)}.rushline.is-in:after,html:not(.js) .rushline:after{transform:scaleX(1)}.js .rushline[data-reveal]{opacity:1;transform:none}.service-list{border-bottom:1px solid var(--border)}.service-row{align-items:baseline;gap:1rem var(--gap);border-top:1px solid var(--border);grid-template-columns:5rem minmax(0,1fr) minmax(0,1.1fr) 2.5rem;padding:2.1rem 0;display:grid;position:relative}.service-row:before{content:"";background:var(--accent);transform-origin:0;height:1px;transition:transform .5s var(--ease);position:absolute;top:-1px;left:0;right:0;transform:scaleX(0)}.service-row__num{font-family:var(--font-mono);color:var(--text-2);transition:transform var(--t-fast) var(--ease), color var(--t-fast) ease;font-size:.8rem}.service-row__title{letter-spacing:-.03em;font-size:clamp(1.5rem,1.1rem + 1.4vw,2.25rem);font-weight:500;line-height:1.15}.service-row__desc{color:var(--text-2);opacity:.7;transition:opacity .3s ease, transform .4s var(--ease), color .3s ease;transform:translate(-6px)}.service-row__arrow{color:var(--text-2);transition:transform var(--t-fast) var(--ease), color var(--t-fast) ease;justify-self:end}.service-row:hover:before,.service-row:focus-visible:before{transform:scaleX(1)}.service-row:hover .service-row__num{color:var(--accent);transform:translate(6px)}.service-row:hover .service-row__desc{opacity:1;color:var(--text);transform:none}.service-row:hover .service-row__arrow{color:var(--accent);transform:translate(4px)}@media (max-width:759px){.service-row{grid-template-columns:2.5rem minmax(0,1fr);gap:.5rem .75rem;padding:1.6rem 0}.service-row__desc{opacity:1;grid-column:2;transform:none}.service-row__arrow{display:none}}.project-card__link{gap:1.5rem;display:grid}.project-card__media{aspect-ratio:16/10;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-raised);position:relative;overflow:hidden}.project-card__media>*{transition:transform .7s var(--ease)}.project-card__link:hover .project-card__media>*{transform:scale(1.025)}.project-card__body{justify-items:start;gap:.6rem;display:grid}.project-card__meta{gap:.9rem;display:flex}.project-card__index{color:var(--accent)}.project-card__title{letter-spacing:-.03em;font-size:clamp(1.5rem,1.2rem + 1vw,2rem);font-weight:500;line-height:1.15}.project-card__services{color:var(--text);font-size:.95rem}.project-card__summary{color:var(--text-2);max-width:36rem}.project-card__body .text-link{margin-top:.75rem}.project-card--feature .project-card__link{gap:var(--gap);grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end}.project-card--feature .project-card__body{padding-bottom:.5rem}.project-card--feature .project-card__title{font-size:clamp(1.9rem,1.4rem + 1.8vw,2.75rem)}@media (max-width:959px){.project-card--feature .project-card__link{grid-template-columns:1fr;gap:1.5rem}}.dev-badge{border:1px dashed var(--border-strong);border-radius:var(--radius-sm);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);margin-top:.5rem;padding:.25rem .5rem;font-size:.7rem;display:inline-block}.preview{background-color:#111215;background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-position:-1px -1px;background-size:40px 40px;position:absolute;inset:0;container-type:inline-size}.preview-img{object-fit:cover}.preview__bar{border-bottom:1px solid var(--border);background:#16171a;align-items:center;gap:1rem;height:2.25rem;padding:0 .9rem;display:flex;position:absolute;inset:0 0 auto}.preview__dots{gap:5px;display:flex}.preview__dots i{background:#2f3236;border-radius:50%;width:7px;height:7px}.preview__url{border-radius:var(--radius-sm);max-width:16rem;font-family:var(--font-mono);color:var(--text-3);text-align:center;white-space:nowrap;text-overflow:ellipsis;background:#1d1f22;flex:1;margin:0 auto;padding:.15rem .75rem;font-size:.68rem;overflow:hidden}.preview__nav{color:var(--text-3);white-space:nowrap;border-bottom:1px solid #ffffff0d;justify-content:center;gap:1.5rem;padding:.9rem 1rem;font-size:max(.62rem,1.35cqi);display:flex;position:absolute;top:2.25rem;left:0;right:0;overflow:hidden}@container (max-width:520px){.preview__nav{display:none}}.preview__center{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.9rem;padding:1.5rem;display:flex;position:absolute;inset:2.25rem 0 0}.preview__label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);font-size:.7rem}.preview__name{letter-spacing:-.04em;font-size:clamp(1.4rem,5.2cqi,3.25rem);font-weight:600;line-height:1.05}.preview__rule{background:var(--accent);width:3rem;height:1px}.preview__note{font-family:var(--font-mono);color:var(--text-3);font-size:.68rem}.hero-visual{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-raised);position:relative;overflow:hidden}.hero-visual__bar{border-bottom:1px solid var(--border);justify-content:space-between;padding:.85rem 1.1rem;display:flex}.hero-visual__bar--bottom{border-bottom:0;border-top:1px solid var(--border)}.hero-visual svg{width:100%;height:auto}.hv-base{fill:none;stroke:var(--border-strong);stroke-width:1.5px}.hv-pulse{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linecap:round;stroke-dasharray:.1 1.2;stroke-dashoffset:.1px;animation:6s linear infinite hvPulse}@keyframes hvPulse{0%{stroke-dashoffset:.1px}75%,to{stroke-dashoffset:-1px}}.hv-ring{fill:var(--bg-raised);stroke:var(--border-strong);stroke-width:1.5px}.hv-dot{fill:var(--accent);opacity:0;animation:6s linear infinite hvNode;animation-delay:var(--delay)}@keyframes hvNode{0%{opacity:.2}3%{opacity:1}38%{opacity:1}55%,to{opacity:.2}}.hv-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;fill:var(--text-2);font-size:11px}@media (prefers-reduced-motion:reduce){.hv-pulse{stroke-dasharray:none;opacity:.6;animation:none!important}.hv-dot{opacity:1;animation:none!important}}.cta{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-raised);gap:1.75rem;padding:clamp(2.5rem,1.5rem + 5vw,6rem);display:grid;position:relative;overflow:hidden}.cta__line{background:var(--accent);transform-origin:0;height:2px;transition:transform 1.1s var(--ease) .2s;position:absolute;top:-1px;left:0;right:0;transform:scaleX(0)}.cta.is-in .cta__line,html:not(.js) .cta__line{transform:scaleX(1)}@media (prefers-reduced-motion:reduce){.cta__line{transform:scaleX(1)}}.cta__title{letter-spacing:-.042em;text-wrap:balance;max-width:18ch;font-size:clamp(2.2rem,1.4rem + 3vw,4rem);font-weight:600;line-height:1.05}.cta__row{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1.5rem 3rem;display:flex}.cta__row .lead{max-width:36rem}@media (max-width:559px){.cta__row .btn{width:100%}}.footer{border-top:1px solid var(--border)}.footer__grid{gap:3rem var(--gap);grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);padding-block:clamp(3.5rem,2.5rem + 3vw,5rem);display:grid}.footer__brand{align-content:start;gap:1.25rem;display:grid}.footer__brand p{max-width:22rem;color:var(--text-2)}.footer__col h2{margin-bottom:1.1rem}.footer__col ul{gap:.55rem;display:grid}.footer__col a{color:var(--text-2);transition:color var(--t-fast) ease;overflow-wrap:anywhere}.footer__col a:hover{color:var(--text)}.footer__bottom{border-top:1px solid var(--border);color:var(--text-2);flex-wrap:wrap;justify-content:space-between;gap:.5rem 2rem;padding-block:1.5rem 2rem;font-size:.875rem;display:flex;position:relative}.footer__bottom:before{content:"";background:var(--accent);width:7rem;height:1px;position:absolute;top:-1px;left:0}@media (max-width:759px){.footer__grid{grid-template-columns:1fr 1fr}.footer__brand{grid-column:1/-1}}.placeholder{border:1px dashed var(--border-strong);border-radius:var(--radius);font-family:var(--font-mono);color:var(--text-2);padding:1.1rem 1.25rem;font-size:.8rem;line-height:1.6}.placeholder strong{color:var(--accent);font-weight:500}.form{gap:3rem;display:grid}.form-section{border-top:1px solid var(--border);gap:1.5rem;padding-top:2rem;display:grid}.form-section__legend{float:left;width:100%;margin-bottom:1.5rem;padding:0}.form-section__legend+*{clear:both}.form-grid{grid-template-columns:1fr 1fr;gap:1.5rem 1.25rem;display:grid}.form-grid__full{grid-column:1/-1}@media (max-width:639px){.form-grid{grid-template-columns:1fr}}.field{align-content:start;gap:.5rem;display:grid}.field__label{font-size:.925rem;font-weight:500}.field__label .opt{color:var(--text-2);font-weight:400}.field__label .req{color:var(--accent)}.field__input{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);width:100%;min-height:3.1rem;transition:border-color var(--t-fast) ease, box-shadow var(--t-fast) ease, background-color var(--t-fast) ease;padding:.8rem .95rem;font-size:1rem}.field__input::placeholder{color:var(--text-3)}.field__input:hover{border-color:var(--border-strong)}.field__input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #a6d85a29}textarea.field__input{resize:vertical;min-height:10rem;line-height:1.55}select.field__input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1.5 6 6.5l5-5' stroke='%23A5A7AA' stroke-width='1.5'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;padding-right:2.75rem}.field[data-invalid=true] .field__input{border-color:var(--error)}.field__error{color:var(--error);font-size:.85rem}.options{grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr));gap:.6rem;display:grid}.option{cursor:pointer;display:block;position:relative}.option input{opacity:0;width:1px;height:1px;position:absolute}.option__box{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);min-height:3.25rem;transition:border-color var(--t-fast) ease, background-color var(--t-fast) ease;align-items:center;gap:.8rem;padding:.75rem 1rem;font-size:.95rem;display:flex}.option__check{border:1px solid var(--border-strong);width:16px;height:16px;transition:background-color var(--t-fast) ease, border-color var(--t-fast) ease;border-radius:2px;flex:none;place-items:center;display:grid}.option__check svg{width:10px;height:10px;color:var(--accent-ink);opacity:0;transition:opacity var(--t-fast) ease}.option:hover .option__box{border-color:var(--border-strong)}.option input:checked+.option__box{border-color:var(--accent);background:#a6d85a0f}.option input:checked+.option__box .option__check{background:var(--accent);border-color:var(--accent)}.option input:checked+.option__box .option__check svg{opacity:1}.option input:focus-visible+.option__box{outline:2px solid var(--accent);outline-offset:2px}.form__submit{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem;padding-top:2rem;display:flex}.form__submit p{color:var(--text-2);font-size:.9rem}@media (max-width:559px){.form__submit .btn{width:100%}}.form__alert{border-radius:var(--radius);color:var(--error);border:1px solid #f08a7a66;padding:1rem 1.1rem;font-size:.95rem}.form__alert a{text-decoration:underline}.hp{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.form-success{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-raised);justify-items:start;gap:1.25rem;padding:clamp(2rem,1.5rem + 3vw,3.5rem);display:grid;position:relative;overflow:hidden}.form-success:before{content:"";background:var(--accent);transform-origin:0;height:2px;animation:lineIn .9s var(--ease) both;position:absolute;top:-1px;left:0;right:0}@keyframes lineIn{0%{transform:scaleX(0)}}.form-success ol{counter-reset:s;gap:.6rem;margin:.5rem 0 1rem;display:grid}.form-success li{color:var(--text-2);counter-increment:s;gap:.9rem;display:flex}.form-success li:before{content:"0" counter(s);font-family:var(--font-mono);color:var(--accent);padding-top:.2rem;font-size:.8rem}.timeline{position:relative}.t-step{gap:1rem var(--gap);grid-template-columns:minmax(0,5fr) minmax(0,7fr);padding:0 0 clamp(3rem,2rem + 3vw,4.5rem) 3.25rem;display:grid;position:relative}.t-step:before,.t-step:after{content:"";background:var(--border);width:1px;position:absolute;top:1.1rem;bottom:-1.1rem;left:5px}.t-step:after{background:var(--accent);transform-origin:top;transition:transform .7s var(--ease);transform:scaleY(0)}.t-step:last-child:before,.t-step:last-child:after{display:none}.t-step[data-state=passed]:after{transform:scaleY(1)}.t-step__dot{border:1px solid var(--border-strong);background:var(--bg);border-radius:50%;width:11px;height:11px;transition:background-color .3s,border-color .3s,box-shadow .3s;position:absolute;top:.75rem;left:0}.t-step[data-state=active] .t-step__dot,.t-step[data-state=passed] .t-step__dot{background:var(--accent);border-color:var(--accent)}.t-step[data-state=active] .t-step__dot{box-shadow:0 0 0 5px #a6d85a24}.t-step__head{align-content:start;gap:.4rem;display:grid}.t-step__num{font-family:var(--font-mono);color:var(--text-2);font-size:.8rem;transition:color .3s}.t-step__title{letter-spacing:-.035em;color:var(--text-3);font-size:clamp(1.8rem,1.3rem + 1.8vw,2.75rem);font-weight:500;line-height:1.1;transition:color .4s}.t-step__body{align-content:start;gap:1.25rem;padding-top:.35rem;display:grid}.t-step__text{color:var(--text-2);font-size:1.15rem}.t-step__outcome{border-top:1px solid var(--border);gap:.35rem;padding-top:1rem;font-size:.95rem;display:grid}.t-step[data-state=active] .t-step__num,.t-step[data-state=passed] .t-step__num{color:var(--accent)}.t-step[data-state=active] .t-step__title,.t-step[data-state=passed] .t-step__title,.timeline[data-static=true] .t-step__title{color:var(--text)}@media (max-width:759px){.t-step{grid-template-columns:1fr;padding-left:2.25rem}}
.page-hero{border-bottom:1px solid var(--border);padding-block:clamp(4rem,2.5rem + 6vw,8rem) clamp(3.5rem,2.5rem + 4vw,6rem);position:relative}.page-hero:after{content:"";background:var(--accent);transform-origin:0;width:min(22vw,14rem);height:1px;animation:lineIn 1.1s var(--ease) .25s both;position:absolute;bottom:-1px;left:0}.page-hero__inner{gap:1.5rem;display:grid}.page-hero__title{max-width:18ch}.page-hero__intro{max-width:40rem}.home-hero{padding-block:clamp(3.5rem,2rem + 5vw,7rem) clamp(4.5rem,3rem + 5vw,8rem)}.home-hero__grid{gap:3rem var(--gap);grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;display:grid}.home-hero__copy{grid-column:1/span 7;justify-items:start;gap:1.75rem;display:grid}.home-hero__copy .h-display{max-width:14ch}.home-hero__copy .lead{max-width:36rem}.home-hero__copy .button-row{margin-top:.5rem}.home-hero__visual{grid-column:8/span 5}@media (max-width:1023px){.home-hero__copy,.home-hero__visual{grid-column:1/-1}.home-hero__visual{max-width:560px}}@media (max-width:559px){.home-hero__visual{display:none}.home-hero__copy .button-row{width:100%}}.trust__body{gap:1.25rem;display:grid}.facts{gap:0 var(--gap);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(3rem,2rem + 3vw,4.5rem);display:grid}.facts>div{border-top:1px solid var(--border);gap:.6rem;padding-top:1.25rem;display:grid}.facts dd{font-size:1.05rem}@media (max-width:759px){.facts{grid-template-columns:1fr;gap:1.5rem}}.steps-4{gap:2.5rem var(--gap);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.steps-4 li{border-top:1px solid var(--border);align-content:start;gap:.75rem;padding-top:1.5rem;display:grid;position:relative}.steps-4 li:before{content:"";background:var(--accent);width:2rem;height:1px;position:absolute;top:-1px;left:0}.steps-4__num{font-family:var(--font-mono);color:var(--accent);font-size:.8rem}.steps-4 h3{letter-spacing:-.02em;font-size:1.35rem;font-weight:500}.steps-4 p{color:var(--text-2)}@media (max-width:959px){.steps-4{grid-template-columns:1fr 1fr}}@media (max-width:559px){.steps-4{grid-template-columns:1fr;gap:2rem}}.work-list{gap:clamp(4rem,3rem + 3vw,6rem);display:grid}.work-grid{gap:clamp(3rem, 2rem + 3vw, 4.5rem) var(--gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (max-width:759px){.work-grid{grid-template-columns:1fr}}.service-index{border-top:1px solid var(--border);margin-top:2.5rem;display:grid}.service-index a{border-bottom:1px solid var(--border);color:var(--text-2);transition:color var(--t-fast) ease;align-items:center;gap:1.25rem;padding:1rem 0;display:flex}.service-index a span:first-child{font-family:var(--font-mono);color:var(--text-3);transition:color var(--t-fast) ease;font-size:.8rem}.service-index a span:last-child{transition:transform var(--t-fast) var(--ease);margin-left:auto}.service-index a:hover{color:var(--text)}.service-index a:hover span:first-child{color:var(--accent)}.service-index a:hover span:last-child{transform:translateY(3px)}.service-detail{gap:2rem var(--gap);grid-template-columns:repeat(12,minmax(0,1fr));padding-block:clamp(4rem,3rem + 4vw,6.5rem);display:grid}.service-detail__aside{top:calc(var(--header-h) + 2rem);grid-column:1/span 5;align-self:start;gap:1rem;display:grid;position:sticky}.service-detail__main{grid-column:7/span 6;justify-items:start;gap:1.5rem;display:grid}.service-detail__intro{letter-spacing:-.01em;font-size:clamp(1.2rem,1.05rem + .5vw,1.45rem);line-height:1.5}.service-detail__points{width:100%;margin-top:1rem}.point-list{border-top:1px solid var(--border);margin-top:1rem}.point-list li{border-bottom:1px solid var(--border);align-items:baseline;gap:1rem;padding:.95rem 0;display:flex}.point-list li:before{content:"";background:var(--accent);flex:none;width:.9rem;height:1px;transform:translateY(-.3rem)}.service-detail__main .text-link{margin-top:1rem}@media (max-width:959px){.service-detail__aside,.service-detail__main{grid-column:1/-1}.service-detail__aside{position:static}}.focus-list{border-top:1px solid var(--border);counter-reset:f}.focus-list li{border-bottom:1px solid var(--border);counter-increment:f;grid-template-columns:3rem 1fr;padding:1rem 0;display:grid}.focus-list li:before{content:counter(f, decimal-leading-zero);font-family:var(--font-mono);color:var(--accent);padding-top:.2rem;font-size:.8rem}.principles{border-top:1px solid var(--border);border-left:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.principle{border-right:1px solid var(--border);border-bottom:1px solid var(--border);align-content:start;gap:.9rem;padding:clamp(1.75rem,1.25rem + 2vw,3rem);transition:background-color .3s;display:grid}.principle:hover{background:var(--bg-raised)}.principle__num{font-family:var(--font-mono);color:var(--accent);font-size:.8rem}.principle p{color:var(--text-2);max-width:32rem}@media (max-width:759px){.principles{grid-template-columns:1fr}}.project-head{padding-block:clamp(3rem,2rem + 4vw,6rem) clamp(2.5rem,2rem + 2vw,3.5rem)}.breadcrumb{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-2);flex-wrap:wrap;gap:.6rem;margin-bottom:2rem;font-size:.75rem;display:flex}.breadcrumb a:hover,.breadcrumb [aria-current]{color:var(--text)}.project-head__inner{justify-items:start;gap:1.5rem;display:grid}.project-head__inner .lead{max-width:44rem}.project-facts{gap:1.5rem var(--gap);border-top:1px solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(2.5rem,2rem + 2vw,3.5rem);padding-top:1.5rem;display:grid}.project-facts>div{align-content:start;gap:.45rem;display:grid}.project-facts dd{font-size:1rem}.project-facts a{color:var(--accent)}.project-facts a:hover{text-underline-offset:3px;text-decoration:underline}@media (max-width:759px){.project-facts{grid-template-columns:1fr 1fr}}.project-media{aspect-ratio:16/9;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-raised);position:relative;overflow:hidden}@media (max-width:559px){.project-media{aspect-ratio:4/3}}.case-section{gap:1rem var(--gap);border-top:1px solid var(--border);grid-template-columns:repeat(12,minmax(0,1fr));padding-block:clamp(2.5rem,2rem + 2vw,3.5rem);display:grid}.case-section:first-child{border-top:0}.case-section__label{grid-column:1/span 4}.case-section__body{grid-column:5/span 8}.case-section__body p{color:var(--text-2);max-width:44rem;font-size:clamp(1.1rem,1rem + .35vw,1.3rem);line-height:1.6}@media (max-width:759px){.case-section__label,.case-section__body{grid-column:1/-1}}.gallery{gap:var(--gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.gallery__item{aspect-ratio:4/3;border:1px solid var(--border);border-radius:var(--radius-md);position:relative;overflow:hidden}.gallery__item img{object-fit:cover}@media (max-width:559px){.gallery{grid-template-columns:1fr}}.next-project{border-top:1px solid var(--border);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:2rem;padding-block:clamp(2.5rem,2rem + 3vw,4rem);display:flex}.next-project__name{letter-spacing:-.04em;transition:color var(--t-fast) ease;margin-top:.75rem;font-size:clamp(1.8rem,1.2rem + 2.4vw,3.25rem);font-weight:500;line-height:1.1;display:block}.next-project__arrow{color:var(--text-2);transition:transform var(--t-fast) var(--ease), color var(--t-fast) ease;font-size:clamp(1.5rem,1rem + 2vw,2.5rem)}.next-project:hover .next-project__arrow{color:var(--accent);transform:translate(6px)}.contact-layout{gap:3rem var(--gap);grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;display:grid}.contact-layout__form{grid-column:1/span 8}.contact-aside{top:calc(var(--header-h) + 2rem);grid-column:10/span 3;gap:2.25rem;display:grid;position:sticky}.contact-aside__block{border-top:1px solid var(--border);gap:.6rem;padding-top:1.25rem;display:grid}.contact-aside__block a{transition:color var(--t-fast) ease;overflow-wrap:anywhere;font-size:1.05rem}.contact-aside__block a:hover{color:var(--accent)}.contact-aside ol{counter-reset:c;gap:.75rem;display:grid}.contact-aside li{color:var(--text-2);counter-increment:c;grid-template-columns:2rem 1fr;font-size:.95rem;display:grid}.contact-aside li:before{content:"0" counter(c);font-family:var(--font-mono);color:var(--accent);padding-top:.15rem;font-size:.78rem}@media (max-width:1023px){.contact-layout__form,.contact-aside{grid-column:1/-1}.contact-aside{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));position:static}}.not-found{align-content:center;min-height:60vh;display:grid}
