@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/af21ab248943f479-s.0z23a3hpu8ttr.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:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/4ae66b896b591e96-s.02aqyp7acl16b.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:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(../media/21ca8f3f56c22ca2-s.p.14a9xpaqsbppk.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:Archivo Fallback;src:local(Arial);ascent-override:88.96%;descent-override:21.28%;line-gap-override:0.0%;size-adjust:98.7%}._CSDRq_className{font-family:Archivo,Archivo Fallback;font-style:normal}._CSDRq_variable{--font-archivo:"Archivo", "Archivo Fallback"}
:root{--bg:#16131a;--ink:#eceef0;--muted:#c3c7d1;--line:#eceef024;--glass:#16131a8c;--glass-edge:#eceef01f;--pearl:linear-gradient(115deg, #c9f1ff 0%, #d2c9ff 34%, #ffcbe9 66%, #ffe7c2 100%);--irid:linear-gradient(115deg, #6fe3ff 0%, #8f7bff 34%, #ff7ccf 66%, #ffcf7a 100%);--focus:#c9f1ff;--radius-lg:18px;--radius-sm:8px;--max:1720px;--gutter:clamp(16px, 4.5vw, 88px);--header-h:91px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--font-archivo), system-ui, sans-serif;-webkit-font-smoothing:antialiased;margin:0;font-size:1.0625rem;line-height:1.55}a{color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}.wrap{max-width:var(--max);padding:0 var(--gutter);margin:0 auto}.js .reveal{opacity:0;transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s);transform:translateY(48px)}.js .reveal.from-top{transition-delay:var(--dr,0s);transform:translateY(-48px)}.js .from-top .reveal-line>span{transition-delay:var(--dr,0s);transform:translateY(-.55em)}.js .reveal.in{opacity:1;transform:none}.js .reveal-line{vertical-align:top;display:inline-block}.js .reveal-line>span{opacity:0;transition:transform .9s cubic-bezier(.2,.7,.2,1),opacity .6s;transition-delay:var(--d,0s);display:inline-block;transform:translateY(.55em)}.js .in .reveal-line>span{opacity:1;transform:none}.js .reveal.glass,.js .lean-grid>.reveal{transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1),--spot .45s,translate .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s,background-size .5s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s), var(--d,0s), 0s, 0s, 0s, 0s}.js .reveal.glass.from-top,.js .lean-grid>.reveal.from-top{transition-delay:var(--dr,0s), var(--dr,0s), 0s, 0s, 0s, 0s}.display{letter-spacing:-.025em;margin:0;font-weight:800;font-stretch:125%;line-height:.98}header.nav{padding:22px 0}header.nav .wrap{justify-content:space-between;align-items:center;gap:24px;display:flex}.logo{letter-spacing:-.01em;align-items:center;gap:10px;font-size:1.05rem;font-weight:800;font-stretch:125%;text-decoration:none;display:flex}.logo-mark{flex:none;width:40px;height:40px}nav.links{align-items:center;gap:28px;display:flex}nav.links a{color:var(--muted);font-weight:500;text-decoration:none}nav.links a:hover{color:var(--ink)}.btn{background:var(--pearl);color:var(--bg);border:0;border-radius:999px;align-items:center;gap:8px;padding:16px 28px;font-size:1.02rem;font-weight:700;text-decoration:none;transition:translate .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s,filter .25s,background-color .2s,color .2s;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff59,0 12px 32px -10px #8f7bffa6,0 0 28px -8px #6fe3ff8c}.btn:hover{filter:brightness(1.06)saturate(1.2);translate:0 -3px;box-shadow:inset 0 0 0 1px #ffffff80,0 18px 40px -10px #8f7bffd9,0 0 40px -6px #6fe3ffbf}.btn:active{translate:0 -1px}.btn.ghost{color:var(--ink);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#eceef012;box-shadow:inset 0 0 0 1.5px #eceef0a6}.btn.ghost:hover{background:var(--ink);color:var(--bg);filter:none;box-shadow:0 14px 34px -12px #eceef08c}nav.links .btn{color:var(--bg);padding:11px 22px}nav.links a:not(.btn){padding:4px 0;transition:color .2s;position:relative}nav.links a:not(.btn):after{content:"";background:var(--irid);transform-origin:0;border-radius:2px;height:2px;transition:transform .35s cubic-bezier(.2,.7,.2,1);position:absolute;bottom:-2px;left:0;right:0;transform:scaleX(0)}nav.links a:not(.btn):hover:after{transform:scaleX(1)}@media (min-width:900.02px){:root{--header-h:113px}header.nav{padding:28px 0}.logo{gap:12px;font-size:1.3rem}.logo-mark{width:50px;height:50px}nav.links{gap:40px}nav.links a{font-size:1.2rem}nav.links .btn{padding:14px 30px;font-size:1.15rem}}.hero{min-height:calc(100vh - var(--header-h));align-items:center;padding:clamp(32px,5vw,80px) 0 clamp(80px,9vw,160px);display:flex}.hero .wrap{grid-template-columns:1.15fr 1fr;align-items:center;gap:clamp(40px,5vw,120px);width:100%;display:grid}.hero h1{font-size:clamp(2.7rem,5.4vw,7rem)}.hero p.lede{color:var(--muted);max-width:36ch;margin:32px 0 40px;font-size:clamp(1.15rem,1.3vw,1.5rem)}.hero .ctas{flex-wrap:wrap;gap:12px;display:flex}.page-fluid{pointer-events:none;z-index:-1;width:100vw;height:100vh;position:fixed;inset:0}@property --spot{syntax:"<number>";inherits:false;initial-value:0}.glass{--spotlight:radial-gradient(520px circle at var(--mx,50%) var(--my,50%), rgba(190, 230, 255, calc(var(--spot) * .14)), rgba(255, 124, 207, calc(var(--spot) * .05)) 35%, transparent 60%);background:var(--spotlight), var(--glass);-webkit-backdrop-filter:blur(24px)saturate(160%);backdrop-filter:blur(24px)saturate(160%);border:1px solid var(--glass-edge);transition:--spot .45s,translate .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s;position:relative;box-shadow:inset 0 1px #ffffff14}.glass:hover{--spot:1;translate:0 -5px;box-shadow:inset 0 1px #ffffff24,0 40px 80px -40px #8f7bff8c,0 0 60px -30px #6fe3ff73}.lean.glass:hover{translate:none}.glass:before,.glass:after{content:"";border-radius:inherit;-webkit-mask-composite:xor;pointer-events:none;padding:1px;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.glass.featured:before{background:var(--irid);opacity:.75}.glass:after{background:radial-gradient(440px circle at var(--mx,50%) var(--my,50%), #fff, #c9f1ff 14%, #a99cff 30%, #ff9ad8 44%, transparent 64%);opacity:0;padding:2px;transition:opacity .35s}.glass:hover:after{opacity:1}.system{border-radius:var(--radius-lg);min-width:0;padding:22px 22px 18px}.system svg{width:100%;height:auto;display:block}.node rect{fill:#e9ece50f;stroke:#e9ece538;stroke-width:1.5px}.node .t{font:600 15px var(--font-archivo), sans-serif;fill:var(--ink)}.node .s{font:400 12.5px var(--font-archivo), sans-serif;fill:var(--muted)}.node.result rect{fill:url(#pearl);stroke:none}.node.result .t,.node.result .s{fill:var(--bg)}.edge{fill:none;stroke:#eceef04d;stroke-width:2px;stroke-dasharray:4 5}.pulse{fill:#fff;filter:drop-shadow(0 0 6px #c9f1ffe6)}.log{border-top:1px solid var(--line);color:var(--muted);font-variant-numeric:tabular-nums;margin:14px 4px 0;padding:12px 0 0;font-size:.9rem;overflow:hidden;container-type:inline-size}.log div{gap:12px;min-height:1.55em;display:flex}@container (max-width:399px){.log div{min-height:3.1em}}.log span{min-width:0}.log time{color:var(--ink);font-weight:600}.log div:first-child{color:var(--ink)}section{padding:clamp(80px,9vw,168px) 0}.section-head{grid-template-columns:1.3fr 1fr;align-items:end;gap:clamp(32px,5vw,120px);margin-bottom:clamp(48px,5vw,96px);display:grid}.section-head h2{font-size:clamp(2.2rem,5vw,6rem)}.section-head p{color:var(--muted);max-width:44ch;margin:0;font-size:clamp(1.1rem,1.2vw,1.4rem)}.service{border-top:2px solid var(--ink);grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,96px);padding:clamp(36px,4vw,64px) 0;display:grid}.service:last-child{border-bottom:2px solid var(--ink)}.service h3{font-size:clamp(2.2rem,4.6vw,6rem);transition:translate .55s cubic-bezier(.2,.7,.2,1)}.service h3 .name{padding-right:.06em}.service:hover h3 .name{background:var(--pearl);color:#0000;-webkit-box-decoration-break:clone;box-decoration-break:clone;-webkit-background-clip:text;background-clip:text;animation:none}.service:hover h3{translate:16px}.service .kind{color:var(--muted);margin-top:10px;font-weight:500;display:block}.service p{max-width:38ch;margin:0}.service ul{margin:0;padding:0;list-style:none}.service li{border-bottom:1px solid var(--line);padding:9px 0;transition:translate .3s cubic-bezier(.2,.7,.2,1),color .3s}.service li:hover{color:#c9f1ff;translate:8px}.service li:first-child{padding-top:0}.lean{border-radius:clamp(20px,2vw,36px);margin:0 clamp(8px,1.2vw,24px)}.lean-grid{grid-template-columns:repeat(3,1fr);gap:40px;display:grid}.lean-grid h3{margin:0 0 10px;font-size:clamp(1.3rem,1.6vw,1.9rem);font-weight:700}.lean-grid p{color:var(--muted);margin:0;font-size:clamp(1rem,1.1vw,1.25rem)}.lean-grid>div{background:linear-gradient(var(--line), var(--line)) top left / 100% 1px no-repeat, var(--irid) top left / 0% 2px no-repeat;padding-top:22px;transition:background-size .5s cubic-bezier(.2,.7,.2,1)}.lean-grid>div:hover{background-size:100% 1px,100% 2px}.work-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:20px;display:grid}.project{grid-area:span 3/span 5;grid-template-rows:subgrid;border-radius:var(--radius-lg);row-gap:32px;padding:clamp(24px,2.4vw,44px);display:grid}.project>.tag{grid-row:2;align-self:end}.project>div{grid-row:3}.project.wide{background:var(--spotlight), radial-gradient(120% 80% at 0% 0%, #6fe3ff24, transparent 55%), radial-gradient(120% 80% at 100% 100%, #ff7ccf1f, transparent 55%), var(--glass);grid-column:span 7}.project .shot{grid-row:1;min-width:0;position:relative}.project .shot:before{content:"";padding-top:56.25%;display:block}.project .shot img{object-fit:contain}.flow{flex-wrap:wrap;gap:8px;margin:22px 0 0;padding:0;list-style:none;display:flex}.flow li{background:#eceef00d;border:1px solid #eceef033;border-radius:999px;padding:6px 13px;font-size:.9rem;font-weight:550;transition:translate .3s cubic-bezier(.2,.7,.2,1),color .3s,border-color .3s;position:relative}.flow li:hover{color:#c9f1ff;border-color:#c9f1ff8c;translate:0 -3px}.flow li:last-child{background:var(--pearl);color:var(--bg);border-color:#0000;font-weight:650}.project:hover h3{translate:16px}.project:hover h3 .name{background:var(--pearl);color:#0000;-webkit-box-decoration-break:clone;box-decoration-break:clone;-webkit-background-clip:text;background-clip:text}.project .tag{color:var(--muted);font-size:.95rem;font-weight:600}.project h3{letter-spacing:-.015em;margin:0 0 10px;font-size:1.7rem;font-weight:750;font-stretch:112%;line-height:1.1}.project.wide h3{font-size:clamp(2rem,3.4vw,2.8rem)}.project p{max-width:42ch;margin:0}.steps{counter-reset:step;grid-template-columns:repeat(4,1fr);gap:0;display:grid}.step{padding:0 24px 0 0;position:relative}.step .n{background:var(--pearl);color:#0000;font-variant-numeric:tabular-nums;-webkit-background-clip:text;background-clip:text;margin-bottom:18px;font-size:clamp(3.4rem,6vw,7rem);font-weight:800;font-stretch:125%;line-height:1;transition:translate .45s cubic-bezier(.2,.7,.2,1),filter .45s;display:inline-block}.step:hover .n{filter:drop-shadow(0 0 22px #c9f1ff99);translate:0 -8px}.step h3{margin:0 0 8px;font-size:1.3rem}.step p{color:var(--muted);margin:0}.step:before{content:"";background:var(--ink);height:2px;transition:background .3s;position:absolute;top:-28px;left:0;right:0}.step:hover:before{background:var(--irid)}.steps{padding-top:28px}.cta{text-align:left}.cta .box{background:var(--spotlight), radial-gradient(90% 120% at 100% 0%, #8f7bff38, transparent 60%), radial-gradient(70% 90% at 0% 100%, #6fe3ff24, transparent 60%), var(--glass);border-radius:clamp(20px,2vw,36px);grid-template-columns:1.5fr 1fr;align-items:end;gap:clamp(32px,4vw,96px);padding:clamp(36px,6vw,120px);display:grid}.cta h2{font-size:clamp(2.2rem,5.6vw,7rem)}.cta .box:hover{translate:0 -3px}.cta p{color:var(--muted);margin:0 0 24px;font-size:1.15rem}.cta-art{--bleed-l:min(15%, calc(clamp(32px, 4vw, 96px) - 12px));--bleed-r:min(18%, calc(clamp(36px, 6vw, 120px) - 8px));width:calc(100% + var(--bleed-l) + var(--bleed-r));max-width:none;height:auto;margin:clamp(-60px, -3vw, -18px) calc(-1 * var(--bleed-r)) 44px calc(-1 * var(--bleed-l));display:block}@media (max-width:900px){.cta-art{width:100%;margin:0 0 24px}}footer{color:var(--muted);padding:40px 0 56px;font-size:.95rem}footer .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.footer-links{flex-wrap:wrap;gap:24px;display:flex}@media (max-width:900px){.footer-links{row-gap:0}.footer-links a{padding:10px 0}}.logo,nav.links .btn{white-space:nowrap}@media (max-width:480px){header.nav .wrap{gap:10px}.logo{gap:8px;padding:8px 0;font-size:.88rem}.logo-mark{width:32px;height:32px}nav.links .btn{padding:10px 14px;font-size:.9rem}}@media (max-width:374px){.logo{gap:6px;font-size:.78rem}.logo-mark{width:28px;height:28px}nav.links .btn{padding:10px 12px;font-size:.82rem}}.display .reveal-line>span,.service h3 .name,.step h3,.next-steps h3{color:color-mix(in oklab, var(--ink), #fff calc(var(--p,0) * 100%));mix-blend-mode:screen}.hero p.lede,.section-head p,.step p,.service .kind,.contact-intro p.lede,.next-steps p{color:color-mix(in oklab, var(--muted), #fff calc(var(--p,0) * 90%));mix-blend-mode:screen}.service p,.service li{color:color-mix(in oklab, var(--ink), #fff calc(var(--p,0) * 90%));mix-blend-mode:screen}.lean-grid p,.project p{color:color-mix(in oklab, var(--muted), #fff calc(var(--p,0) * 90%))}.lean-grid h3,.project h3{color:color-mix(in oklab, var(--ink), #fff calc(var(--p,0) * 100%))}.service li:hover{color:#c9f1ff}.display .reveal-line>span{translate:0 calc(var(--p,0) * -6px);scale:calc(1 + var(--p,0) * .03)}.hero p.lede,.section-head p,.step p,.service .kind,.service p,.service li,.lean-grid p,.project p,.contact-intro p.lede,.next-steps p{translate:0 calc(var(--p,0) * -2px)}.step h3,.lean-grid h3,.project h3{transition:translate .55s cubic-bezier(.2,.7,.2,1)}.js .display .reveal-line>span{transition:transform .9s cubic-bezier(.2,.7,.2,1),opacity .6s,translate .3s cubic-bezier(.2,.7,.2,1),scale .3s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s), var(--d,0s), 0s, 0s}.js .display.from-top .reveal-line>span{transition-delay:var(--dr,0s), var(--dr,0s), 0s, 0s}.display .reveal-line>span{margin:-.1em -.06em -.16em 0;padding:.1em .06em .16em 0}.display{transition:translate .55s cubic-bezier(.2,.7,.2,1)}.display:hover,.step:hover h3,.next-steps li:hover h3{translate:16px}.next-steps h3{transition:translate .55s cubic-bezier(.2,.7,.2,1)}.display:hover .reveal-line>span,.step:hover h3,.next-steps li:hover h3{background:var(--pearl);color:#0000;-webkit-background-clip:text;background-clip:text}.btn .icon{flex:none;width:20px;height:20px}.cta-actions{flex-wrap:wrap;gap:12px;display:flex}.more-link{color:#c9f1ff;border-bottom:1px solid #c9f1ff66;margin-top:18px;padding-bottom:2px;font-weight:600;text-decoration:none;transition:border-color .3s;display:inline-block}.more-link:hover{border-color:#c9f1ff}.svc-hero{padding:clamp(24px,4vw,64px) 0 clamp(64px,7vw,128px)}.svc-hero h1{max-width:17ch;font-size:clamp(2.6rem,5.4vw,6.6rem)}.svc-hero p.lede{color:var(--muted);max-width:46ch;margin:32px 0 40px;font-size:clamp(1.15rem,1.3vw,1.5rem)}.svc-hero .ctas{flex-wrap:wrap;gap:12px;display:flex}.crumbs{color:var(--muted);flex-wrap:wrap;gap:4px 10px;margin-bottom:28px;font-weight:500;display:flex}.crumbs a{text-decoration:none;transition:color .3s}.crumbs a:hover{color:#c9f1ff}.crumbs [aria-current]{color:var(--ink)}.included{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(36px,4vw,64px) clamp(32px,5vw,96px);display:grid}.included>div{border-top:2px solid var(--ink);padding-top:22px}.included h3{letter-spacing:-.015em;margin:0 0 12px;font-size:clamp(1.4rem,2vw,2.1rem);font-weight:750;font-stretch:112%;line-height:1.15}.included p{color:var(--muted);max-width:46ch;margin:0;font-size:clamp(1rem,1.1vw,1.2rem)}.scope-section{padding-top:0}.scope{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(40px,4vw,64px) clamp(32px,5vw,96px);display:grid}.scope h3{letter-spacing:-.015em;margin:0 0 14px;font-size:clamp(1.3rem,1.7vw,1.8rem);font-weight:750;font-stretch:112%}.scope ul{border-top:2px solid var(--ink);margin:0;padding:0;list-style:none}.scope li{border-bottom:1px solid var(--line);padding:14px 0;font-size:clamp(1rem,1.05vw,1.1rem)}.signs{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(32px,5vw,96px);margin:0;padding:0;list-style:none;display:grid}.signs li{border-top:1px solid var(--line);padding:22px 0 22px 40px;font-size:clamp(1.1rem,1.4vw,1.5rem);position:relative}.signs li:before{content:"";background:var(--irid);width:20px;height:2px;position:absolute;top:calc(22px + .7em);left:0}.example{display:grid}.example .project,.example .project.wide{grid-column:1;max-width:880px}.faq{border-bottom:1px solid var(--line);max-width:980px}.faq details{border-top:1px solid var(--line)}.faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary h3{margin:0;font-size:clamp(1.15rem,1.5vw,1.5rem);font-weight:650;transition:color .3s}.faq summary:hover h3{color:#c9f1ff}.faq summary:after{content:"+";color:#c9f1ff;flex:none;font-size:1.9rem;line-height:1;transition:rotate .3s cubic-bezier(.2,.7,.2,1)}.faq details[open] summary:after{rotate:45deg}.faq details p{max-width:70ch;color:var(--muted);margin:0 0 28px;font-size:clamp(1rem,1.1vw,1.2rem)}.section-head p a{color:#c9f1ff}.more-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.more-card{border-radius:var(--radius-lg);gap:8px;padding:clamp(24px,2.4vw,40px);text-decoration:none;display:grid}.more-card .name{font-size:clamp(1.8rem,2.6vw,2.8rem);font-weight:800;font-stretch:125%;line-height:1.05}.more-card .kind{color:var(--muted);font-weight:500}.more-card .kind:after{content:" →"}@media (max-width:900px){.svc-hero{padding-top:24px}.included,.signs,.more-grid,.scope{grid-template-columns:1fr}}.not-found{align-items:center;min-height:70vh;display:flex}.not-found .wrap{width:100%}.not-found h1{max-width:14ch}.not-found-code{color:var(--muted);letter-spacing:.08em;margin:0 0 16px;font-weight:600}.legal{padding-top:clamp(24px,4vw,64px)}.legal-body{max-width:calc(72ch + 2 * var(--gutter))}.legal h1{font-size:clamp(2.6rem,5vw,5rem)}.legal-updated{color:var(--muted);margin:20px 0 48px}.legal h2{margin:48px 0 12px;font-size:clamp(1.3rem,1.6vw,1.6rem);font-weight:750;font-stretch:125%}.legal p,.legal li{line-height:1.7}.legal ul{padding-left:1.2em}.legal a{color:#c9f1ff}.contact{padding-top:clamp(24px,4vw,64px)}.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:start;gap:clamp(40px,6vw,120px);display:grid}.contact-intro h1{font-size:clamp(2.6rem,5vw,6rem)}.contact-intro p.lede{max-width:40ch;margin:28px 0 40px;font-size:clamp(1.1rem,1.3vw,1.4rem)}.contact-ways{gap:12px;margin-bottom:clamp(40px,5vw,64px);display:grid}.way{border-radius:16px;align-items:center;gap:18px;padding:18px 22px;text-decoration:none;display:flex}.way .icon{color:#c9f1ff;flex:none;width:26px;height:26px}.way small{color:var(--muted);font-size:.9rem;display:block}.way strong{font-size:clamp(1.05rem,1.2vw,1.25rem);font-weight:650}.next-steps{counter-reset:step;gap:22px;margin:0;padding:0;list-style:none;display:grid}.next-steps li{grid-template-columns:2.6rem 1fr;column-gap:14px;display:grid}.next-steps li:before{counter-increment:step;content:counter(step);background:var(--pearl);color:#0000;-webkit-background-clip:text;background-clip:text;grid-row:span 2;font-size:1.7rem;font-weight:800;font-stretch:125%;line-height:1.05}.next-steps h3{margin:0 0 4px;font-size:1.15rem}.next-steps p{margin:0}.form-panel{border-radius:clamp(20px,2vw,32px);padding:clamp(24px,3.4vw,52px)}.form-panel.glass:hover{translate:none}.form-panel h2{letter-spacing:-.015em;margin:0 0 6px;font-size:clamp(1.5rem,2vw,2rem);font-weight:750;font-stretch:112%}.form-panel .hint{color:var(--muted);margin:0 0 28px}.field{gap:8px;margin-bottom:20px;display:grid}.field[hidden]{display:none}.field-row{grid-template-columns:1fr 1fr;column-gap:16px;display:grid}.field label,.form-panel legend{font-size:.95rem;font-weight:600}.optional{color:var(--muted);font-weight:400}.form-panel input[type=text],.form-panel input[type=email],.form-panel input[type=tel],.form-panel textarea{width:100%;font:inherit;color:var(--ink);background:#eceef00d;border:1px solid #eceef02e;border-radius:12px;padding:14px 16px;transition:border-color .2s,background .2s,box-shadow .2s}.form-panel textarea{resize:vertical;min-height:150px}.form-panel ::placeholder{color:#c3c7d18c}.form-panel input:hover,.form-panel textarea:hover{border-color:#eceef057}.form-panel input:focus,.form-panel textarea:focus{background:#eceef014;border-color:#c9f1ff;outline:none;box-shadow:0 0 0 3px #c9f1ff2e}.form-panel fieldset{border:0;margin:0 0 22px;padding:0}.form-panel legend{margin-bottom:10px;padding:0}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{cursor:pointer;position:relative}.chip input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.chip span{background:#eceef00a;border:1px solid #eceef038;border-radius:999px;padding:9px 16px;font-weight:500;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.chip:hover span{border-color:#eceef080}.chip input:checked+span{background:var(--pearl);color:var(--bg);border-color:#0000;font-weight:650}.chip input:focus-visible+span{outline:3px solid var(--focus);outline-offset:2px}.form-panel .btn{justify-content:center;width:100%;margin-top:4px}.form-note{color:var(--muted);text-align:center;margin:0 0 14px;font-size:.9rem}.form-status{background:#c9f1ff14;border:1px solid #c9f1ff40;border-radius:12px;margin:16px 0 0;padding:14px 16px}.form-status a{color:#c9f1ff}.form-status.error{background:#ff7c9614;border-color:#ff7c9659}.target-status{display:none}.target-status:target{display:block}.js .field-phone:not(.needed){display:none}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}@media (max-width:900px){.contact-grid,.field-row{grid-template-columns:1fr}nav.links a:not(.btn){display:none}.hero .wrap,.section-head,.service,.cta .box{grid-template-columns:1fr}.lean-grid,.steps{grid-template-columns:1fr;gap:32px}.step:before{top:-14px}.hero{padding-top:24px}section{padding:72px 0}.service-list,.work-grid{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 calc(-1 * var(--gutter));padding:0 var(--gutter) 4px;scroll-padding-inline:var(--gutter);grid-auto-columns:min(84%,440px);grid-auto-flow:column;gap:16px;display:grid;overflow-x:auto}.service-list::-webkit-scrollbar{display:none}.work-grid::-webkit-scrollbar{display:none}.service-list>*,.work-grid>*{scroll-snap-align:start}.js .service-list>.reveal,.js .work-grid>.reveal{opacity:1;transform:none}.service{align-content:start;gap:18px}.service:last-child{border-bottom:0}.work-grid{grid-template-rows:repeat(3,auto);grid-template-columns:none}.project,.project.wide{grid-column:auto;min-height:0}}@media (max-width:480px){:root{--gutter:16px}.lean{margin:0 8px}}@media (prefers-reduced-motion:reduce){.pulse{display:none}html{scroll-behavior:auto}.js .reveal,.js .reveal.from-top,.js .reveal-line>span,.js .from-top .reveal-line>span{opacity:1;transition:none;transform:none}.display .reveal-line>span{translate:none;scale:none}}
