@font-face{font-family:Unbounded;src:url(../fonts/unbounded-latin-500-normal.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Unbounded;src:url(../fonts/unbounded-latin-700-normal.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(../fonts/ibm-plex-sans-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(../fonts/ibm-plex-sans-latin-500-normal.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(../fonts/ibm-plex-sans-latin-600-normal.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(../fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(../fonts/jetbrains-mono-latin-500-normal.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(../fonts/jetbrains-mono-latin-700-normal.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(../fonts/jetbrains-mono-latin-800-normal.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Unbounded;src:url(../fonts/unbounded-latin-800-normal.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}:root{--blue:#1A12AD;--paper:#FBFBFB;--black:#000000;--line:color-mix(in srgb, var(--black) 16%, transparent);--line-inv:color-mix(in srgb, var(--paper) 30%, transparent);--mute:color-mix(in srgb, var(--black) 62%, transparent);--mute-inv:color-mix(in srgb, var(--paper) 78%, transparent);--f-display:"Unbounded","Arial Black",system-ui,sans-serif;--f-body:"IBM Plex Sans",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;--f-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--pad:clamp(1.25rem,4vw,3.5rem);--max:80rem;--sec:clamp(4.5rem,10vw,9rem);--header-h: calc(4rem + env(safe-area-inset-top,0px)) ;--ease:cubic-bezier(.16,1,.3,1)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:var(--header-h)}main>section[id]{scroll-margin-top:calc(var(--header-h) * -1)}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{margin:0;background:var(--paper);color:var(--black);font-family:var(--f-body);font-size:1rem;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,svg{display:block;max-width:100%}a{color:inherit}h1,h2,h3,p,ul,ol{margin:0}ul,ol{padding:0;list-style:none}button,input,textarea{font:inherit;color:inherit}::selection{background:var(--blue);color:var(--paper)}:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.on-blue :focus-visible,.footer :focus-visible{outline-color:var(--paper)}.skip{position:absolute;left:var(--pad);top:-4rem;z-index:100;background:var(--blue);color:var(--paper);padding:.6rem 1rem;font-family:var(--f-mono);font-size:.8rem;text-decoration:none}.skip:focus{top:.75rem}.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--pad)}.wrap--full{max-width:none}.mono{font-family:var(--f-mono)}.label{font-family:var(--f-mono);font-weight:500;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.section{padding-block:var(--sec)}.on-blue{background:var(--blue);color:var(--paper)}.preloader{display:none}html.is-loading{overflow:hidden}@media(scripting:enabled)and (prefers-reduced-motion:no-preference){.preloader{position:fixed;inset:0;z-index:300;display:grid;place-items:center;background:var(--blue);color:var(--paper);animation:pl-failsafe .01s 12s forwards;transition:opacity .55s ease .25s,visibility 0s .8s}.preloader.is-done{opacity:0;visibility:hidden;pointer-events:none}.preloader__stack{display:grid;justify-items:center;gap:clamp(.9rem,2.4vw,1.5rem);transition:opacity .45s ease,transform .6s var(--ease)}.preloader.is-done .preloader__stack{opacity:0;transform:translateY(-1.2rem) scale(.96)}.preloader__mark{display:block;width:clamp(54px,8.5vw,84px);fill:currentColor;transform-origin:50% 100%;animation:pl-drop 1.25s linear both}.preloader__word{margin:0;font-family:var(--f-display);font-weight:700;font-size:clamp(2rem,7.5vw,4.2rem);line-height:1.05;letter-spacing:-.05em;overflow:hidden;padding:0 .07em .08em 0;white-space:nowrap}.preloader__word .pl-ch{display:inline-block;transform:translateY(115%);animation:pl-rise .7s var(--ease) both}.preloader__word .pl-ch:nth-child(1){animation-delay:1.05s}.preloader__word .pl-ch:nth-child(2){animation-delay:1.095s}.preloader__word .pl-ch:nth-child(3){animation-delay:1.14s}.preloader__word .pl-ch:nth-child(4){animation-delay:1.185s}.preloader__word .pl-ch:nth-child(5){animation-delay:1.23s}.preloader__word .pl-ch:nth-child(6){animation-delay:1.275s}.preloader__word .pl-ch:nth-child(7){animation-delay:1.32s}.preloader__word .pl-ch:nth-child(8){animation-delay:1.365s}.preloader__word .pl-ch:nth-child(9){animation-delay:1.41s}.preloader__word .pl-ch:nth-child(10){animation-delay:1.455s}.preloader__bar{width:100%;height:2px;background:var(--line-inv);overflow:hidden;opacity:0;animation:fade .4s 1.2s ease forwards}.preloader__bar span{display:block;height:100%;background:var(--paper);transform:scaleX(0);transform-origin:left}.preloader__pct{margin:0;width:100%;text-align:right;font-family:var(--f-mono);font-weight:500;font-size:.75rem;letter-spacing:.08em;font-variant-numeric:tabular-nums;opacity:0;animation:fade .4s 1.2s ease forwards}html:not(.is-ready) .hero__title .ch,html:not(.is-ready) .hero__lead{animation-play-state:paused}}@keyframes pl-rise{0%{transform:translateY(115%)}to{transform:none}}@keyframes pl-failsafe{to{opacity:0;visibility:hidden;pointer-events:none}}@keyframes pl-drop{0%{transform:translateY(-75vh) scale(1);animation-timing-function:cubic-bezier(.55,0,1,.45)}38%{transform:translateY(0) scale(1)}44%{transform:translateY(0) scale(1.28,.72);animation-timing-function:cubic-bezier(.2,.7,.3,1)}58%{transform:translateY(-58%) scale(.92,1.12);animation-timing-function:cubic-bezier(.6,0,.8,.4)}72%{transform:translateY(0) scale(1.12,.86);animation-timing-function:ease-out}84%{transform:translateY(-12%) scale(.98,1.03);animation-timing-function:ease-in}to{transform:translateY(0) scale(1)}}.about,.services,.projects,.contact,.faq,.footer{position:relative}.stop{position:absolute;pointer-events:none;visibility:hidden;aspect-ratio:4/5}.stop--hero{right:var(--pad);bottom:6rem;height:min(21vh,12.5rem)}.stop--about{right:max(var(--pad),calc((100% - var(--max)) / 2 + var(--pad)));top:50%;height:min(46vh,27rem);translate:0 -50%}.stop--services{right:max(var(--pad),calc((100% - var(--max)) / 2 + var(--pad)));top:calc(var(--sec) - .5rem);height:6.5rem}.stop--projects{right:calc(max(var(--pad),(100% - var(--max)) / 2 + var(--pad)) + 11rem);top:calc(var(--sec) - 2rem);height:5.5rem}.stop--contact{left:max(var(--pad),calc((100% - var(--max)) / 2 + var(--pad)));bottom:var(--sec);height:min(36vh,21rem)}.stop--faq{left:max(var(--pad),calc((100% - var(--max)) / 2 + var(--pad)));top:calc(var(--sec) + 10rem);height:15rem}.stop--faq2{left:max(var(--pad),calc((100% - var(--max)) / 2 + var(--pad)));bottom:var(--sec);height:9rem}.stop--footer{right:var(--pad);top:1.4rem;height:4.4rem}.traveler{display:none}@media(prefers-reduced-motion:no-preference)and (scripting:enabled){.traveler{display:block;position:fixed;left:0;top:0;z-index:40;pointer-events:none;opacity:0;will-change:transform}html.is-ready .traveler{opacity:1;transition:opacity .7s ease .5s}.traveler .mk{display:block;width:100%;height:100%;fill:currentColor;animation:bob 5s ease-in-out infinite}}@media(max-width:900px){.stop--faq2{display:none}.stop--hero{right:var(--pad);bottom:calc(4.3rem + clamp(0px,(100svh - 640px) * .25,3.5rem));height:min(18vh,9rem)}.hero__inner{padding-bottom:calc(2.05rem + clamp(0px,(100svh - 640px) * .25,3.5rem) + min(18vh,9rem))}.stop--about,.stop--services,.stop--projects,.stop--contact,.stop--faq{left:auto;bottom:auto;right:calc(var(--pad) + .25rem);top:3.6rem;height:4.2rem;translate:none}.stop--footer{right:calc(var(--pad) + .25rem);top:2.6rem;height:4rem}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.header{position:fixed;inset:0 0 auto;z-index:50;height:var(--header-h);padding-top:env(safe-area-inset-top,0px);background:var(--paper);transition:background .35s var(--ease),transform .45s var(--ease)}.header.is-hidden{transform:translateY(-101%)}.header:has(:focus-visible){transform:none}@media(prefers-reduced-motion:reduce){.header{transition:background .35s}}.header__in{height:100%;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.logo{display:inline-flex;align-items:center;text-decoration:none;color:var(--blue);line-height:1;font-size:1.15rem}.logo__mark{display:block;width:2.1rem;height:auto;fill:currentColor;margin-right:.55rem;flex:none;transition:transform .5s var(--ease)}.logo:hover .logo__mark,.logo:focus-visible .logo__mark{transform:rotate(-14deg) scale(1.08)}.logo__w{font-family:var(--f-display);font-weight:700;letter-spacing:0;font-kerning:none;white-space:nowrap}.nav{display:flex;align-items:center;gap:clamp(1rem,2.4vw,2.2rem)}.nav a{font-family:var(--f-mono);font-weight:500;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;padding-block:.4rem;border-bottom:1px solid transparent;transition:border-color .25s}.nav a:hover{border-color:var(--blue);color:var(--blue)}.nav a[aria-current=true]{font-weight:800}.nav .btn{border:1px solid var(--blue);color:var(--blue);padding:.55rem 1rem;border-radius:999px;transition:background .25s,color .25s}.nav .btn:hover{background:var(--blue);color:var(--paper)}.menu-btn{display:none;background:none;border:1px solid var(--blue);color:var(--blue);border-radius:999px;padding:.5rem .95rem;font-family:var(--f-mono);font-weight:500;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}@media(max-width:760px){.nav{position:fixed;inset:0;z-index:2;padding-top:var(--header-h);flex-direction:column;align-items:flex-start;justify-content:center;gap:1.2rem;padding:var(--header-h) var(--pad) var(--pad);background:var(--blue);visibility:hidden;opacity:0;transition:opacity .3s,visibility 0s .3s}.nav a{font-family:var(--f-display);font-weight:500;font-size:clamp(1.6rem,8vw,2.4rem);letter-spacing:-.02em;text-transform:none;color:var(--paper);border:0}.nav a:hover{color:var(--paper);text-decoration:underline;text-underline-offset:.2em}.nav a[aria-current=true]{color:var(--paper)}.nav .btn{border:1px solid var(--paper);color:var(--paper);padding:.7rem 1.4rem;font-size:clamp(1.2rem,6vw,1.6rem)}.nav .btn:hover{background:var(--paper);color:var(--blue)}.menu-open .nav{visibility:visible;opacity:1;transition:opacity .3s}.menu-btn{display:inline-block;position:relative;z-index:3}.menu-open .header{background:var(--blue);border-color:var(--blue)}.menu-open .logo,.menu-open .menu-btn{color:var(--paper);border-color:var(--paper)}.menu-open{overflow:hidden}}@media(max-width:760px)and (scripting:none){.nav,.menu-btn{display:none}}.logo,.nav a,.nav .btn,.menu-btn{transition:color .35s var(--ease),border-color .35s var(--ease),background .25s}.header.is-blue{background:var(--blue)}.header.is-dark{background:var(--black)}.header.is-blue .logo,.header.is-dark .logo,.header.is-blue .nav a,.header.is-dark .nav a{color:var(--paper)}.header.is-blue .nav a:hover,.header.is-dark .nav a:hover{border-color:var(--paper);color:var(--paper)}.header.is-blue .nav .btn,.header.is-dark .nav .btn{border-color:var(--paper)}.header.is-blue .nav .btn:hover,.header.is-dark .nav .btn:hover{background:var(--paper);color:var(--blue)}.header.is-blue .menu-btn,.header.is-dark .menu-btn{border-color:var(--paper);color:var(--paper)}.hero{min-height:100svh;display:flex;flex-direction:column;padding-top:var(--header-h)}.hero__inner{flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:3rem;padding-block:clamp(2rem,6vw,4.5rem) clamp(2rem,5vw,3.5rem)}.hero__title{font-family:var(--f-display);font-weight:700;text-transform:uppercase;color:var(--paper);font-size:min(calc((min(100vw,var(--max)) - 2 * var(--pad)) / 10.7),9rem);line-height:.98;letter-spacing:-.015em}.hero__title .line{display:block;overflow:hidden;padding:.14em .08em .06em 0;margin-top:-.14em;white-space:nowrap}.hero__title .ch{display:inline-block;transition:translate .5s var(--ease)}.hero__title .ch--sp{width:.26em}@media(max-width:900px){.hero__title{font-size:calc((min(100vw,var(--max)) - 2 * var(--pad)) / 12.4)}}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.nw{white-space:nowrap}.hero__main{margin-block:auto;display:grid;gap:clamp(.9rem,1.8vw,1.5rem);max-width:100%}.hero__lead{font-size:clamp(1.1rem,1.6vw,1.4rem);line-height:1.4;font-weight:500;max-width:34rem}.hero{position:relative;overflow:hidden;background:var(--blue);color:var(--paper)}.hero__inner,.ticker{position:relative;z-index:1}@media(hover:hover){.hero__title .ch:not(.ch--sp):hover{translate:0 -.08em}.hero__title .ch:not(.ch--sp):hover+.ch,.hero__title .ch:has(+.ch:not(.ch--sp):hover){translate:0 -.035em}}@media(prefers-reduced-motion:no-preference){.hero__title .ch{animation:rise 1.05s var(--ease) both}.hero__lead{opacity:0;animation:fade .9s .9s ease forwards}.hero__title .sr+.line .ch:nth-child(1){animation-delay:95ms}.hero__title .line+.line .ch:nth-child(1){animation-delay:.345s}.hero__title .sr+.line .ch:nth-child(2){animation-delay:.14s}.hero__title .line+.line .ch:nth-child(2){animation-delay:.39s}.hero__title .sr+.line .ch:nth-child(3){animation-delay:.185s}.hero__title .line+.line .ch:nth-child(3){animation-delay:.435s}.hero__title .sr+.line .ch:nth-child(4){animation-delay:.23s}.hero__title .line+.line .ch:nth-child(4){animation-delay:.48s}.hero__title .sr+.line .ch:nth-child(5){animation-delay:.275s}.hero__title .line+.line .ch:nth-child(5){animation-delay:.525s}.hero__title .sr+.line .ch:nth-child(6){animation-delay:.32s}.hero__title .line+.line .ch:nth-child(6){animation-delay:.57s}.hero__title .sr+.line .ch:nth-child(7){animation-delay:.365s}.hero__title .line+.line .ch:nth-child(7){animation-delay:.615s}.hero__title .sr+.line .ch:nth-child(8){animation-delay:.41s}.hero__title .line+.line .ch:nth-child(8){animation-delay:.66s}.hero__title .sr+.line .ch:nth-child(9){animation-delay:.455s}.hero__title .line+.line .ch:nth-child(9){animation-delay:.705s}.hero__title .sr+.line .ch:nth-child(10){animation-delay:.5s}.hero__title .line+.line .ch:nth-child(10){animation-delay:.75s}.hero__title .sr+.line .ch:nth-child(11){animation-delay:.545s}.hero__title .line+.line .ch:nth-child(11){animation-delay:.795s}}@keyframes rise{0%{transform:translateY(112%) rotate(7deg)}to{transform:none}}@keyframes fade{to{opacity:1}}.ticker{border-top:1px solid var(--line-inv);overflow:hidden;background:var(--blue);color:var(--paper)}.ticker__track{display:flex;width:max-content;font-family:var(--f-mono);font-weight:500;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.ticker__group{display:flex}.ticker__track span,.ticker__track a{padding:1rem 1.6rem;white-space:nowrap}.ticker__track a{text-decoration:none;transition:opacity .2s}.ticker__track a:hover{text-decoration:underline;text-underline-offset:.35em;text-decoration-thickness:1px}.ticker__track a:focus-visible{outline-offset:-4px}@media(prefers-reduced-motion:no-preference){.ticker__track{animation:ticker 38s linear infinite}.ticker:hover .ticker__track{animation-play-state:paused}}@keyframes ticker{to{transform:translate(-50%)}}.about{background:var(--paper);color:var(--black)}.about__statement{margin-top:1.75rem;font-weight:500;font-size:clamp(1.7rem,4.2vw,3.7rem);line-height:1.1;letter-spacing:-.025em;max-width:22ch}.about__statement b{font-family:var(--f-display);font-weight:500;letter-spacing:-.04em;color:var(--blue)}.about__cols{margin-top:clamp(2.5rem,6vw,5rem);max-width:34rem}.about__cols p{font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.5}.about__statement .w{transition:opacity .25s linear}.services__head{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem;margin-bottom:clamp(2rem,5vw,4rem)}.h2{font-family:var(--f-display);font-weight:500;font-size:clamp(1.5rem,3.6vw,3.2rem);line-height:1.08;letter-spacing:-.03em;color:var(--blue)}.services__head .h2{text-wrap:balance;max-width:19em}@media(max-width:760px){.services__head .h2{max-width:11.5em}}.on-blue .h2{color:var(--paper)}.services__list{border-top:1px solid var(--black)}.service{border-bottom:1px solid var(--line)}.service{scroll-margin-top:calc(var(--header-h) + 1rem)}.services__head{scroll-margin-top:calc(var(--header-h) + 1.25rem)}.service__btn{width:100%;display:grid;grid-template-columns:3.2rem minmax(0,1fr) 2.5rem;align-items:center;gap:1rem;padding:clamp(1.1rem,2.4vw,1.8rem) 0;background:none;border:0;text-align:left;cursor:pointer}.service__num{font-size:.8rem;font-weight:500;color:var(--mute);transition:color .25s}.service__title{font-weight:500;font-size:clamp(1.2rem,2.5vw,2.15rem);line-height:1.15;letter-spacing:-.02em;transition:color .25s,transform .5s var(--ease)}.service__icon{position:relative;width:1.6rem;height:1.6rem;justify-self:end}.service__icon:before,.service__icon:after{content:"";position:absolute;left:50%;top:50%;width:100%;height:2px;background:currentColor;transform:translate(-50%,-50%);transition:transform .45s var(--ease)}.service__icon:after{transform:translate(-50%,-50%) rotate(90deg)}.service__btn[aria-expanded=true] .service__title,.service__btn[aria-expanded=true] .service__num{color:var(--blue)}@media(hover:hover){.service__btn:hover .service__title,.service__btn:hover .service__num{color:var(--blue)}.service__btn:hover .service__title{transform:translate(.35rem)}}.service__btn[aria-expanded=true] .service__icon{color:var(--blue)}.service__btn[aria-expanded=true] .service__icon:after{transform:translate(-50%,-50%) rotate(0)}.service__panel{display:grid;grid-template-rows:1fr}.service__inner{min-height:0;overflow:hidden}.service__body{display:grid;grid-template-columns:3.2rem minmax(0,38rem);gap:1rem;padding-bottom:clamp(1.5rem,3vw,2.5rem)}.service__body>div{grid-column:2}.service__body p{font-size:1.05rem;line-height:1.6;color:var(--black)}.tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem}.tags li{font-family:var(--f-mono);font-weight:500;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;color:var(--blue);border:1px solid var(--blue);border-radius:999px;padding:.35rem .8rem}@media(scripting:enabled){.service__panel{grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .55s var(--ease),visibility 0s .55s}.service.is-open .service__panel{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .55s var(--ease),visibility 0s}}@media(max-width:640px){.service__btn{grid-template-columns:2.2rem minmax(0,1fr) 1.8rem;gap:.6rem}.service__body{grid-template-columns:1fr}.service__body>div{grid-column:1}}.projects{background:var(--paper);color:var(--black)}.projects__head{display:flex;justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:clamp(2rem,5vw,4rem)}@media(max-width:760px){.projects__head .h2{max-width:8.5em;text-wrap:balance}}.projects__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.75rem,1.6vw,1.5rem)}.project{position:relative;display:flex;flex-direction:column;background:var(--blue);color:var(--paper);text-decoration:none;border:1px solid var(--blue);overflow:hidden;transition:background .35s var(--ease),color .35s var(--ease)}a.project:hover,a.project:focus-visible{background:var(--paper);color:var(--blue)}.project__media{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:var(--black)}.project__media img{position:absolute;left:0;top:-7%;width:100%;height:114%;object-fit:cover;display:block;translate:0 var(--py,0px);transition:scale 1s var(--ease)}a.project:hover .project__media img{scale:1.06}.project__top{position:absolute;left:.9rem;right:.9rem;top:.9rem;display:flex;justify-content:flex-end;font-family:var(--f-mono);font-weight:500;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.project__top span{background:var(--paper);color:var(--blue);padding:.25rem .55rem}.project__go{position:absolute;left:.9rem;bottom:.9rem;background:var(--paper);color:var(--blue);padding:.5rem .8rem;font-family:var(--f-mono);font-weight:500;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.project__go i{font-style:normal}.project__cap{display:block;padding:clamp(1rem,1.8vw,1.4rem) clamp(1rem,1.8vw,1.4rem) clamp(1.1rem,2vw,1.6rem)}.project__name{display:block;font-family:var(--f-display);font-weight:700;font-size:clamp(1.5rem,2.6vw,2.4rem);line-height:1;letter-spacing:-.04em;text-transform:uppercase}.project__meta{display:block;margin-top:.9rem;font-family:var(--f-mono);font-size:.78rem;line-height:1.5;color:inherit;opacity:.8}.project--soon{background:transparent;color:var(--blue);border:1px dashed var(--blue)}.project--soon .project__top span{background:transparent;color:var(--paper)}.carousel__ctrl,.carousel__bar{display:none}@media(min-width:901px){.projects__grid{display:flex;gap:clamp(1rem,1.6vw,1.5rem);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;position:relative;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.projects__grid::-webkit-scrollbar{display:none}.projects__grid>.project{flex:0 0 calc((100% - clamp(1rem,1.6vw,1.5rem)) / 1.75);scroll-snap-align:start}.projects__grid .project__media{aspect-ratio:4/3}.projects__grid .project__media img{object-position:50% 38%}.projects{overflow-x:clip}@media(scripting:enabled){.projects__grid{margin-right:calc((100% - 100vw)/2);padding-right:calc((100vw - 100%)/2)}}.projects__grid.is-drag{scroll-snap-type:none;cursor:grabbing;user-select:none}.projects__grid.is-drag .project{pointer-events:none}.projects__grid img{-webkit-user-drag:none;user-select:none}@media(scripting:enabled){.carousel__ctrl{display:flex;gap:.6rem}.carousel__bar{display:block;margin-top:clamp(1.25rem,2.4vw,2rem);height:2px;background:var(--line);position:relative;overflow:hidden}.carousel__bar span{position:absolute;left:0;top:0;height:100%;width:40%;background:var(--blue);transform-origin:left}}}@media(max-width:900px)and (scripting:enabled){.projects{overflow-x:clip}.projects__grid{display:flex;grid-template-columns:none;max-width:none;gap:1rem;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;margin-right:calc(var(--pad) * -1);padding-right:var(--pad)}.projects__grid::-webkit-scrollbar{display:none}.projects__grid>.project{flex:0 0 82%;scroll-snap-align:start}.carousel__ctrl{display:none}.carousel__bar{display:block;margin-top:1.25rem;height:2px;background:var(--line);position:relative;overflow:hidden}.carousel__bar span{position:absolute;left:0;top:0;height:100%;width:40%;background:var(--blue);transform-origin:left}}.carousel__btn{width:3.1rem;height:3.1rem;border-radius:50%;border:1px solid var(--blue);background:transparent;color:var(--blue);display:grid;place-items:center;cursor:pointer;transition:background .25s,color .25s,opacity .25s}.carousel__btn--prev svg{transform:scaleX(-1)}.carousel__btn:hover:not(:disabled){background:var(--blue);color:var(--paper)}.carousel__btn:disabled{opacity:.28;cursor:default}.tv-bubble{display:none}@media(prefers-reduced-motion:no-preference)and (scripting:enabled){.tv-bubble{display:block;position:fixed;left:0;top:0;z-index:41;width:0;height:0;pointer-events:none}.tv-bubble__b{position:absolute;top:0;left:calc(var(--r,40px) + 14px);translate:0 -50%;display:block;width:max-content;max-width:min(var(--bmax,17rem),56vw);white-space:normal;line-height:1.5;background:var(--blue);color:var(--paper);border:2px solid var(--paper);padding:calc(.7rem - 2px) calc(1.05rem - 2px);border-radius:1rem;font-family:var(--f-mono);font-weight:500;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;scale:.4;opacity:0;transform-origin:0 50%;transition:scale .38s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1)}.tv-bubble__b i{font-style:normal}.tv-bubble__b{--tail:var(--blue)}.tv-bubble__b:before,.tv-bubble__b:after{content:"";position:absolute;top:50%;width:0;height:0;border-style:solid;border-color:transparent}.tv-bubble__b:before{left:-13px;margin-top:-8px;border-width:8px 13px 8px 0;border-right-color:var(--paper)}.tv-bubble__b:after{left:-9.5px;margin-top:-10.7px;border-width:10.7px 17.5px 10.7px 0;border-right-color:var(--tail)}.tv-bubble.is-left .tv-bubble__b{left:auto;right:calc(var(--r,40px) + 14px);transform-origin:100% 50%}.tv-bubble.is-left .tv-bubble__b:before{left:auto;right:-13px;border-width:8px 0 8px 13px;border-right-color:transparent;border-left-color:var(--paper)}.tv-bubble.is-left .tv-bubble__b:after{left:auto;right:-9.5px;border-width:10.7px 0 10.7px 17.5px;border-right-color:transparent;border-left-color:var(--tail)}.tv-bubble.is-on .tv-bubble__b{scale:1;opacity:1;transition:scale .42s cubic-bezier(.34,1.56,.64,1),opacity .16s linear}.tv-bubble.is-paper .tv-bubble__b{background:var(--paper);color:var(--blue);border-color:var(--paper);--tail:var(--paper)}.tv-bubble.is-paper .tv-bubble__b:before{margin-top:-12.9px;border-width:12.9px 21px 12.9px 0}.tv-bubble.is-paper.is-left .tv-bubble__b:before{margin-top:-12.9px;border-width:12.9px 0 12.9px 21px}html.has-cursor .project__go{display:none}}.magnetic{transition:translate .35s var(--ease),background .25s,color .25s,border-color .25s}.is-resizing .nav,.is-resizing .nav *{transition:none!important}.btn.magnetic,.btn-submit.magnetic{will-change:translate;backface-visibility:hidden;-webkit-backface-visibility:hidden}@media(max-width:900px){.projects__grid{grid-template-columns:1fr;max-width:34rem}}.contact__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(2.5rem,7vw,7rem);align-items:start}.contact__title{font-family:var(--f-display);font-weight:700;color:var(--blue);font-size:clamp(1.9rem,5vw,4.6rem);line-height:1;letter-spacing:-.04em;text-transform:uppercase}.contact__lead{margin-top:1.5rem;font-size:clamp(1.05rem,1.4vw,1.25rem);max-width:28rem}.contact__links{margin-top:2.25rem;display:grid;gap:.5rem;font-family:var(--f-mono);font-size:.85rem}.contact__links a{width:fit-content;text-decoration:none;border-bottom:1px solid var(--line);transition:border-color .25s,color .25s}.contact__links a:hover{color:var(--blue);border-color:var(--blue)}.form{display:grid;gap:1.6rem}.form__title{font-family:var(--f-mono);font-weight:500;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}.form__row{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}.field{display:grid;gap:.4rem}.field label{font-family:var(--f-mono);font-weight:500;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.field input,.field textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--black);border-radius:0;padding:.55rem 0;font-size:1.05rem;transition:border-color .25s}.field textarea{min-height:7rem;resize:vertical}.field input:focus,.field textarea:focus{outline:none;border-bottom-color:var(--blue);box-shadow:0 1px 0 0 var(--blue)}.field input:focus-visible,.field textarea:focus-visible{outline:none}.check{display:grid;grid-template-columns:1.1rem 1fr;gap:.75rem;align-items:start;font-size:.85rem;line-height:1.45;color:var(--mute)}.check input{width:1.1rem;height:1.1rem;margin:.15rem 0 0;accent-color:var(--blue)}.check a{color:var(--blue)}.btn-submit{justify-self:start;background:var(--blue);color:var(--paper);border:1px solid var(--blue);border-radius:999px;padding:.95rem 2rem;font-family:var(--f-mono);font-weight:500;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .25s,border-color .25s}.btn-submit:hover{background:var(--black);border-color:var(--black)}.btn-submit[disabled]{opacity:.6;cursor:progress}.form__status{font-size:.95rem}.form__status:empty{display:none}.form__submit{display:flex}.form__req{margin-top:-.8rem}.form__status.is-ok{color:var(--blue);font-weight:500}.form__status.is-err{color:var(--black);font-weight:500}.form__req{font-size:.8rem;color:var(--mute)}@media(max-width:860px){.contact__grid{grid-template-columns:1fr}}@media(max-width:520px){.form__row{grid-template-columns:1fr}}.footer{--footer-bg:var(--black);background:var(--footer-bg);color:var(--paper);padding-block:clamp(3.5rem,7vw,6rem) calc(1.75rem + env(safe-area-inset-bottom,0px))}.footer__mark{display:block;font-family:var(--f-display);font-weight:700;letter-spacing:0;font-kerning:none;line-height:.9;white-space:nowrap;color:var(--paper);font-size:min(calc((100vw - 2 * var(--pad)) / 6.6),25rem);margin-left:-.04em}.footer__mark i,.logo__w i{font-style:normal}.footer__mark .dot,.logo__w .dot{font-weight:500}.footer__mark i:nth-child(1),.logo__w i:nth-child(1){margin-right:-.053em}.footer__mark i:nth-child(2),.logo__w i:nth-child(2){margin-right:.002em}.footer__mark i:nth-child(3),.logo__w i:nth-child(3){margin-right:.0008em}.footer__mark i:nth-child(4),.logo__w i:nth-child(4){margin-left:-.28em;margin-right:.05em}.footer__mark i:nth-child(5),.logo__w i:nth-child(5){margin-right:.0133em}.footer__mark i:nth-child(6),.logo__w i:nth-child(6){margin-right:-.0255em}.footer__mark i:nth-child(7),.logo__w i:nth-child(7){margin-right:-.012em}.footer__mark i:nth-child(8),.logo__w i:nth-child(8){margin-right:-.0067em}.footer__mark i:nth-child(9),.logo__w i:nth-child(9){margin-right:-.0195em}.footer__cols{margin-top:clamp(2.5rem,6vw,5rem);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem;border-top:1px solid var(--line-inv);padding-top:1.75rem}.footer__cols h3{font-family:var(--f-mono);font-weight:500;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mute-inv);margin-bottom:.9rem}.footer__cols li+li{margin-top:.35rem}.footer__cols a{text-decoration:none;font-size:.95rem;border-bottom:1px solid transparent;transition:border-color .25s}.footer__cols a:hover{border-color:var(--paper)}.footer__bottom{margin-top:clamp(2.5rem,6vw,4.5rem);display:flex;justify-content:space-between;gap:1rem;font-family:var(--f-mono);font-size:.75rem;color:var(--mute-inv)}@media(max-width:760px){.footer .wrap--full{display:flex;flex-direction:column}.footer__cols{order:1;margin-top:0;display:flex;flex-direction:column;gap:2rem;text-align:center;border-top:0;padding-top:0}.fc-contatti{order:1}.fc-social{order:2}.fc-nav{order:3}.fc-legal{order:4}.footer__mark{order:2;margin-top:clamp(2.5rem,12vw,4rem);text-align:center}.footer__bottom{order:3;margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--line-inv);flex-wrap:nowrap;justify-content:center;white-space:nowrap}}.faq__head{display:grid;gap:1.25rem;margin-bottom:clamp(2rem,5vw,4rem)}@media(min-width:901px){.faq .wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);column-gap:clamp(2rem,5vw,5rem);align-items:start}.faq__head{grid-column:1;grid-row:1 / 3;margin-bottom:0}.faq__list{grid-column:2;grid-row:1}.faq__more{grid-column:2;grid-row:2}}.faq__list{border-top:1px solid var(--black)}.faq__item{border-bottom:1px solid var(--line);scroll-margin-top:calc(var(--header-h) + 1rem)}.faq__btn{width:100%;display:grid;grid-template-columns:3.2rem minmax(0,1fr) 2.5rem;align-items:center;gap:1rem;padding:clamp(1.1rem,2.4vw,1.8rem) 0;background:none;border:0;text-align:left;cursor:pointer;color:inherit}.faq__num{font-size:.8rem;font-weight:500;color:var(--mute);transition:color .25s}.faq__q{font-weight:500;font-size:clamp(1.1rem,2.1vw,1.75rem);line-height:1.2;letter-spacing:-.02em;text-wrap:balance;transition:color .25s,transform .5s var(--ease)}.faq__icon{position:relative;width:1.6rem;height:1.6rem;justify-self:end}.faq__icon:before,.faq__icon:after{content:"";position:absolute;left:50%;top:50%;width:100%;height:2px;background:currentColor;transform:translate(-50%,-50%);transition:transform .45s var(--ease)}.faq__icon:after{transform:translate(-50%,-50%) rotate(90deg)}.faq__btn[aria-expanded=true] .faq__q,.faq__btn[aria-expanded=true] .faq__num,.faq__btn[aria-expanded=true] .faq__icon{color:var(--blue)}.faq__btn[aria-expanded=true] .faq__icon:after{transform:translate(-50%,-50%) rotate(0)}@media(hover:hover){.faq__btn:hover .faq__num{color:var(--blue)}}.faq__q{justify-self:start;padding-inline:.25em;margin-inline:-.25em;box-decoration-break:clone;-webkit-box-decoration-break:clone}.faq__panel{display:grid;grid-template-rows:1fr}.faq__inner{min-height:0;overflow:hidden}.faq__body{display:grid;grid-template-columns:3.2rem minmax(0,38rem);gap:1rem;padding-bottom:clamp(1.5rem,3vw,2.5rem)}.faq__body>div{grid-column:2}.faq__body p{font-size:1.05rem;line-height:1.6;color:var(--black)}.faq__more{margin-top:clamp(1.75rem,4vw,3rem);font-size:1.05rem;line-height:1.5}.faq__more a{color:var(--blue);font-weight:500;border-bottom:1px solid currentColor;padding-bottom:1px}@media(hover:hover){.faq__more a:hover{background:var(--blue);color:var(--paper);border-bottom-color:var(--blue)}}@media(scripting:enabled){.faq__panel{grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .55s var(--ease),visibility 0s .55s}.faq__item.is-open .faq__panel{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .55s var(--ease),visibility 0s}}@media(max-width:640px){.faq__btn{grid-template-columns:2.2rem minmax(0,1fr) 1.8rem;gap:.6rem}.faq__body{grid-template-columns:1fr}.faq__body>div{grid-column:1}}.services-pick{border:0;padding:0;margin:0;min-width:0}.services-pick legend{padding:0;margin-bottom:.7rem;font-family:var(--f-mono);font-weight:500;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.services-pick .hint{text-transform:none;letter-spacing:0;opacity:.75}.chips{display:flex;flex-wrap:nowrap;gap:.55rem;overflow-x:auto;scrollbar-width:none;overscroll-behavior-x:contain;cursor:grab;padding:.6rem;margin:-.6rem;-webkit-overflow-scrolling:touch}.chips::-webkit-scrollbar{display:none}.chips.is-drag{cursor:grabbing;user-select:none}.chip{position:relative;cursor:pointer;flex:0 0 auto}.chip input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.chip span{display:block;white-space:nowrap;font-family:var(--f-mono);font-weight:500;font-size:.74rem;letter-spacing:.03em;border:1px solid currentColor;border-radius:999px;padding:.5rem .95rem;transition:background .2s,color .2s,border-color .2s}.chip span{transition:background .25s,color .25s,border-color .25s,transform .3s var(--ease)}@media(hover:hover){.chip:hover span{background:var(--paper);color:var(--blue);border-color:var(--paper);transform:translateY(-2px)}}.chip:active span{transform:translateY(0) scale(.97)}.chip input:checked+span{background:var(--paper);color:var(--blue);border-color:var(--paper)}.chip input:checked+span:before{content:"\2713\a0"}.chip input:focus-visible+span{outline:2px solid var(--paper);outline-offset:3px}.services.on-blue .service__num,.services .service__btn:hover .service__num,.services .service__btn[aria-expanded=true] .service__num{color:var(--mute-inv)}.services .service__btn[aria-expanded=true] .service__title,.services .service__btn[aria-expanded=true] .service__icon,.services .service__btn[aria-expanded=true] .service__num{color:var(--paper)}@media(hover:hover){.services .service__btn:hover .service__title,.services .service__btn:hover .service__num{color:var(--paper)}}.services__list{border-top-color:var(--paper)}.services .service{border-bottom-color:var(--line-inv)}.services .service__body p{color:var(--paper)}.services .tags li{color:var(--paper);border-color:var(--paper)}.contact__title{color:var(--paper)}.contact__links a{border-bottom-color:var(--line-inv)}.contact__links a:hover{color:var(--paper);border-color:var(--paper)}.contact .form__title,.contact .check,.contact .form__req{color:var(--mute-inv)}.contact .services-pick legend,.contact .chip{color:var(--paper)}.contact .services-pick .hint{color:var(--mute-inv);opacity:1}.contact .field input,.contact .field textarea{border-bottom-color:var(--paper)}.contact .field input:focus,.contact .field textarea:focus{border-bottom-color:var(--paper);box-shadow:0 1px 0 0 var(--paper)}.contact .check a{color:var(--paper)}.contact .check input{accent-color:var(--paper)}.contact .btn-submit{background:var(--paper);color:var(--blue);border-color:var(--paper)}.contact .btn-submit:hover{background:var(--blue);color:var(--paper);border-color:var(--paper)}.contact .form__status.is-ok,.contact .form__status.is-err{color:var(--paper)}.service__media{display:none}@media(min-width:901px){.service__body{grid-template-columns:3.2rem minmax(0,38rem) minmax(0,1fr)}.service__body>.service__media{display:block;grid-column:3;grid-row:1;justify-self:end;align-self:start;position:relative;isolation:isolate;width:min(100%,13rem);aspect-ratio:1/1;overflow:hidden;background:var(--paper);margin-top:.4rem}.service__media img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08)}.service__media:after{content:"";position:absolute;inset:0;background:var(--blue);mix-blend-mode:lighten;pointer-events:none}}@media(max-width:900px){.service__body>.service__media{display:block;grid-column:2;grid-row:auto;justify-self:start;position:relative;isolation:isolate;width:min(100%,15rem);aspect-ratio:1/1;overflow:hidden;background:var(--paper);margin-top:.4rem}.service__media img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.08)}.service__media:after{content:"";position:absolute;inset:0;background:var(--blue);mix-blend-mode:lighten;pointer-events:none}}@media(max-width:640px){.service__body>.service__media{grid-column:1}}@media(prefers-reduced-motion:no-preference)and (scripting:enabled){.service__body>.service__media{clip-path:inset(100% 0 0 0);transition:clip-path .8s var(--ease) .12s}.service__media img{transform:scale(1.25);transition:transform 1.1s var(--ease) .12s}.service.is-open .service__media{clip-path:inset(0 0 0 0)}.service.is-open .service__media img{transform:none}}@media(scripting:enabled)and (prefers-reduced-motion:no-preference){[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease)}[data-reveal].is-in{opacity:1;transform:none}[data-reveal="1"]{transition-delay:.08s}[data-reveal="2"]{transition-delay:.16s}[data-reveal="3"]{transition-delay:.24s}[data-reveal="4"]{transition-delay:.32s}[data-reveal="5"]{transition-delay:.4s}.project[data-reveal]{transition:opacity .9s var(--ease),transform .9s var(--ease),background .35s var(--ease),color .35s var(--ease)}.project__media{clip-path:inset(0 0 100% 0);transition:clip-path 1.3s var(--ease) .15s}.project__media img{scale:1.25}.project.is-in .project__media{clip-path:inset(0)}.project.is-in .project__media img{scale:1}a.project.is-in:hover .project__media img{scale:1.06}.project__media img{transition:scale 1.4s var(--ease)}a.project.is-in:hover .project__media img{transition-duration:1s}}:root{--sel-bg:var(--blue);--sel-fg:var(--paper)}.on-blue,.header.is-blue{--sel-bg:var(--paper);--sel-fg:var(--blue)}.footer,.header.is-dark{--sel-bg:var(--paper);--sel-fg:var(--black)}@media(max-width:900px){.header .nav{--sel-bg:var(--paper);--sel-fg:var(--blue)}}.header .nav a:not(.btn),.contact__links a,.footer__cols a,.service__title{box-decoration-break:clone;-webkit-box-decoration-break:clone;padding-inline:.3em;margin-inline:-.3em}.header .nav a:not(.btn){padding-block:.25rem}.ticker__track a{padding:.2rem .4em;margin:.8rem 1.3rem}.service__title{padding-inline:.25em;margin-inline:-.25em;justify-self:start}@media(hover:hover){.header .nav a:not(.btn):hover,.ticker__track a:hover,.contact__links a:hover,.footer__cols a:hover,.services .service__btn:hover .service__title,.faq__btn:hover .faq__q,.service__btn:hover .service__title{background:var(--sel-bg);color:var(--sel-fg);border-color:transparent;text-decoration:none;transition:none;translate:none;transform:none}.header .nav a:not(.btn):hover{border-bottom-color:transparent}}.header .nav a:not(.btn):focus-visible,.ticker__track a:focus-visible,.contact__links a:focus-visible,.footer__cols a:focus-visible{background:var(--sel-bg);color:var(--sel-fg);outline:0}body{cursor:default;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}a,button,label,summary,[role=button]{cursor:pointer}input,textarea{-webkit-user-select:text;user-select:text;cursor:text}input[type=checkbox],input[type=radio]{cursor:pointer}img,svg{-webkit-user-drag:none}:root{--grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='a' x='0' y='0' width='100%25' height='100%25'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' seed='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2.6 0 0 0 -1.15'/></filter><filter id='b' x='0' y='0' width='100%25' height='100%25'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' seed='11' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 2.6 0 0 0 -1.15'/></filter><rect width='100%25' height='100%25' filter='url(%23a)'/><rect width='100%25' height='100%25' filter='url(%23b)'/></svg>")}body{position:relative}body:after,.header:after{content:"";position:absolute;inset:0;pointer-events:none;background-image:var(--grain);background-size:240px 240px;opacity:.16}body:after{z-index:35}.header:after{z-index:1}@media(min-width:901px)and (prefers-reduced-motion:no-preference){.header:after{animation:grain .9s steps(1) infinite}body:after{position:fixed;inset:-150px;will-change:transform;animation:grain-t .9s steps(1) infinite}}@keyframes grain-t{0%{transform:translateZ(0)}17%{transform:translate3d(-90px,60px,0)}33%{transform:translate3d(70px,-110px,0)}50%{transform:translate3d(-130px,-40px,0)}67%{transform:translate3d(110px,90px,0)}83%{transform:translate3d(-40px,130px,0)}to{transform:translateZ(0)}}@keyframes grain{0%{background-position:0 0}17%{background-position:-90px 60px}33%{background-position:70px -110px}50%{background-position:-130px -40px}67%{background-position:110px 90px}83%{background-position:-40px 130px}to{background-position:0 0}}@media print{body:after,.header:after{display:none}}[hidden]{display:none!important}.form__thanks{display:grid;gap:1.4rem;align-content:center;justify-items:start;min-height:min(70vh,34rem)}.thanks__label{font-family:var(--f-mono);font-weight:500;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mute-inv)}.thanks__title{font-family:var(--f-display);font-weight:700;text-transform:uppercase;letter-spacing:-.04em;line-height:1;font-size:clamp(2.4rem,6.2vw,5.4rem);color:var(--paper);overflow-wrap:anywhere;outline:0}.thanks__text{font-size:clamp(1.05rem,1.5vw,1.3rem);line-height:1.5;max-width:30rem;color:var(--paper)}.form__thanks .btn-submit{margin-top:.6rem}@media(prefers-reduced-motion:no-preference){.form__thanks:not([hidden]){animation:thanks-in .7s var(--ease) both}@keyframes thanks-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}}html{-webkit-tap-highlight-color:transparent}[tabindex="-1"]:focus{outline:0}.header .nav a:not(.btn).is-tap,.ticker__track a.is-tap,.footer__cols a.is-tap{background:var(--sel-bg);color:var(--sel-fg);border-color:transparent;text-decoration:none;transition:none}.header .nav a:not(.btn).is-tap{border-bottom-color:transparent}@keyframes vibe{0%{translate:0 0}15%{translate:-4px 1px}30%{translate:4px -1px}45%{translate:-3px 1px}60%{translate:3px 0}80%{translate:-1px 0}to{translate:0 0}}@media(prefers-reduced-motion:no-preference){.is-vibe{animation:vibe .38s var(--ease)}}@media(max-width:760px){.header,.header.is-blue,.header.is-dark{background:transparent;pointer-events:none}.header:after{display:none}.header .logo,.header .menu-btn{pointer-events:auto}.header .logo{transition:color .25s}.header .menu-btn{background:var(--blue);color:var(--paper);border-color:var(--blue)}.header.is-blue .menu-btn{background:var(--paper);color:var(--blue);border-color:var(--paper)}.header.is-dark .menu-btn{background:var(--paper);color:var(--black);border-color:var(--paper)}.menu-open .header,.menu-open .header.is-blue,.menu-open .header.is-dark{background:var(--blue)}.menu-open .header .menu-btn,.menu-open .header.is-blue .menu-btn,.menu-open .header.is-dark .menu-btn{background:var(--blue);color:var(--paper);border-color:var(--paper)}.menu-open .header .nav{pointer-events:auto}}.consent{position:fixed;z-index:60;left:var(--pad);bottom:var(--pad);width:min(24rem,calc(100vw - 2 * var(--pad)));background:var(--paper);color:var(--blue);border:2px solid var(--blue);border-radius:1.2rem;padding:1.1rem 1.2rem;translate:0 140%;opacity:0;transition:translate .5s var(--ease),opacity .4s}.consent.is-on{translate:0 0;opacity:1}.consent__t{font-family:var(--f-mono);font-size:.74rem;line-height:1.55;letter-spacing:.04em;margin:0 0 .9rem}.consent__t a{color:inherit;text-underline-offset:.2em}.consent{max-height:calc(100svh - 2 * var(--pad));overflow-y:auto;overscroll-behavior:contain}.consent__panel{margin:0 0 1rem;border-top:1px solid var(--blue)}.cs{padding:.7rem 0;border-bottom:1px solid var(--blue)}.cs__h{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;cursor:pointer}.cs__t{display:block;font-family:var(--f-mono);font-size:.72rem;line-height:1.5;letter-spacing:.03em}.cs__t b{display:block;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;margin-bottom:.15rem}.cs__t i{font-style:normal}.cs__d{margin-top:.45rem;font-family:var(--f-mono);font-size:.7rem;line-height:1.5;letter-spacing:.03em}.cs__d summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:.4rem;text-decoration:underline;text-underline-offset:.2em}.cs__d summary::-webkit-details-marker{display:none}.cs__d summary:before{content:"+";display:inline-block;width:.9em;text-align:center;font-weight:700;text-decoration:none}.cs__d[open] summary:before{content:"\2212"}.cs__d summary:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.cs__d p{margin:.5rem 0 0}.cs__d p b{font-weight:700}.cs input{appearance:none;-webkit-appearance:none;flex:none;position:relative;width:2.5rem;height:1.4rem;margin:.1rem 0 0;border:1.5px solid var(--blue);border-radius:999px;background:transparent;cursor:pointer;transition:background .2s}.cs input:after{content:"";position:absolute;top:2px;left:2px;width:calc(1.4rem - 7px);height:calc(1.4rem - 7px);border-radius:50%;background:var(--blue);transition:translate .2s var(--ease),background .2s}.cs input:checked{background:var(--blue)}.cs input:checked:after{translate:1.1rem 0;background:var(--paper)}.cs input:disabled{opacity:.55;cursor:default}.cs input:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.consent__b:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.consent__a{display:flex;gap:.6rem;flex-wrap:wrap}.consent__b{font-family:var(--f-mono);font-weight:500;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;background:transparent;color:var(--blue);border:1px solid var(--blue);border-radius:999px;padding:.55rem 1.1rem;cursor:pointer}.consent__b--y,.consent__b:hover{background:var(--blue);color:var(--paper)}.consent__b--y:hover{background:var(--black);border-color:var(--black)}@media(prefers-reduced-motion:reduce){.consent{transition:opacity .2s;translate:0 0}}@media print{.consent{display:none}}.page-hero{padding-top:calc(var(--header-h) + clamp(3rem,9vw,7rem));padding-bottom:clamp(3.5rem,9vw,7rem);min-height:min(78svh,48rem);display:flex;align-items:flex-end}.page-hero__in{display:grid;gap:clamp(1.2rem,2.5vw,2rem)}.page-hero__title{font-family:var(--f-display);font-weight:700;text-transform:uppercase;line-height:.98;letter-spacing:-.015em;font-size:clamp(2.6rem,min(11.5vw,12vh * 1.8),9rem);margin:0}.page-hero__lead{font-size:clamp(1.1rem,1.6vw,1.4rem);line-height:1.4;font-weight:500;max-width:34rem;margin:0}.jobs__title{font-family:var(--f-display);font-weight:500;letter-spacing:-.02em;line-height:1.1;font-size:clamp(1.6rem,3.6vw,3rem);max-width:30rem;margin:1rem 0 1.4rem}.jobs__text{font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.5;max-width:34rem;margin:0 0 2rem}a.btn-submit{display:inline-block;text-decoration:none}.pt-cover{position:fixed;inset:0;z-index:400;background:var(--blue);transform:translate3d(0,100%,0);will-change:transform;transition:transform .62s cubic-bezier(.76,0,.24,1)}.pt-cover.is-on{transform:translateZ(0)}html.pt-in:after{content:"";position:fixed;inset:0;z-index:400;background:var(--blue);pointer-events:none;will-change:transform;animation:pt-out .7s cubic-bezier(.76,0,.24,1) .22s both}@keyframes pt-out{0%{transform:translateZ(0)}to{transform:translate3d(0,-100%,0)}}@media(prefers-reduced-motion:reduce){.pt-cover{display:none}html.pt-in:after{display:none}}.apply{display:grid;grid-template-rows:0fr;transition:grid-template-rows .7s var(--ease)}.apply.is-open{grid-template-rows:1fr}.apply__in{overflow:hidden;min-height:0;visibility:hidden;transition:visibility 0s .7s}.apply.is-open .apply__in{visibility:visible;transition-delay:0s}.apply__form{padding-top:2.4rem;max-width:40rem}.check--piva{color:var(--black)}.field .hint{text-transform:none;letter-spacing:0;font-weight:400;color:var(--mute)}.file__zone{position:relative;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;border:1px dashed var(--blue);border-radius:1.1rem;padding:1.1rem 1.2rem;transition:background .25s,border-color .25s}.file__zone:hover,.file__zone:focus-within,.file__zone.is-drag{background:color-mix(in srgb,var(--blue) 7%,transparent);border-style:solid}.file__zone input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:0;padding:0;border:0}.file__btn{font-family:var(--f-mono);font-weight:500;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;background:var(--blue);color:var(--paper);border-radius:999px;padding:.55rem 1.1rem;flex:none}.file__name{font-size:.95rem;color:var(--mute);overflow-wrap:anywhere;min-width:0}.file__zone.has-file .file__name{color:var(--black);font-weight:500}.file__hint{margin:.1rem 0 0;font-size:.8rem;color:var(--mute)}.jobs .form__status.is-err{color:#b3261e}.jobs .thanks__label{color:var(--mute)}.jobs .thanks__title{color:var(--blue)}.jobs .thanks__text{color:var(--black)}.jobs .form__thanks{min-height:min(60vh,28rem);padding-top:2.4rem}.jobs .form__thanks a.btn-submit{text-decoration:none}@media(scripting:none){.apply{grid-template-rows:1fr}.apply__in{visibility:visible}#apply-toggle{display:none}}.pt-cover:after,html.pt-in:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:var(--grain);background-size:240px 240px;opacity:.16}html.pt-in:before{position:fixed;z-index:401;will-change:transform;animation:pt-out .7s cubic-bezier(.76,0,.24,1) .22s both}@media(prefers-reduced-motion:reduce){html.pt-in:before{display:none}}@media(prefers-reduced-motion:no-preference)and (scripting:enabled){.tv-bubble.is-whistle .tv-bubble__b{padding:calc(.55rem - 2px) calc(1rem - 2px)}.tv-bubble__t .nt{display:inline-block;font-family:system-ui,Segoe UI Symbol,Apple Symbols,sans-serif;font-size:1.3em;line-height:1;letter-spacing:.15em;animation:note-bob 1.1s ease-in-out infinite;animation-delay:calc(var(--i, 0) * .2s)}@keyframes note-bob{0%,to{translate:0 3px;opacity:.65}50%{translate:0 -5px;opacity:1}}.traveler.is-whistling .mk{animation:bob 5s ease-in-out infinite,whistle-sway 1.1s ease-in-out 3}@keyframes whistle-sway{0%,to{rotate:0deg}30%{rotate:-7deg}70%{rotate:7deg}}}.legal-hero{padding-top:calc(var(--header-h) + clamp(3rem,9vw,7rem));padding-bottom:clamp(2rem,5vw,3.5rem)}.legal-hero__in{display:grid;gap:clamp(1rem,2.2vw,1.6rem)}.legal-hero__title{font-family:var(--f-display);font-weight:700;text-transform:uppercase;line-height:.98;letter-spacing:-.03em;color:var(--blue);font-size:clamp(2.4rem,9.5vw,7rem);margin:0;overflow-wrap:anywhere}.legal-hero__date{font-family:var(--f-mono);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}.legal{padding-block:clamp(1rem,3vw,2rem) var(--sec)}.legal__body{max-width:46rem;border-top:1px solid var(--black);padding-top:clamp(1.6rem,3vw,2.4rem)}.legal__lead{font-size:clamp(1.1rem,1.6vw,1.3rem);line-height:1.5;font-weight:500;margin-bottom:1rem}.legal__body h2{display:flex;gap:.9rem;align-items:baseline;font-family:var(--f-display);font-weight:500;letter-spacing:-.02em;line-height:1.15;color:var(--blue);font-size:clamp(1.25rem,2.4vw,1.75rem);margin:clamp(2.4rem,5vw,3.4rem) 0 1rem}.legal__body h2 span{font-family:var(--f-mono);font-size:.75rem;letter-spacing:.08em;font-weight:500;color:var(--mute);flex:none}.legal__body h3{font-family:var(--f-mono);font-weight:500;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;margin:1.8rem 0 .7rem}.legal__body h3 small{font-size:inherit;text-transform:none;letter-spacing:.02em;color:var(--mute);margin-left:.5rem}.legal__body p{font-size:1.05rem;line-height:1.65;margin:0 0 1rem;max-width:42rem}.legal__body a{color:var(--blue);text-underline-offset:.2em}.legal__list{margin:0 0 1.1rem;display:grid;gap:.55rem}.legal__list li{position:relative;padding-left:1.4rem;font-size:1.05rem;line-height:1.6}.legal__list li:before{content:"\2014";position:absolute;left:0;top:0;color:var(--blue)}.ph{background:color-mix(in srgb,var(--blue) 10%,transparent);padding:0 .2em}.ctab{margin:.6rem 0 1.6rem;border-top:1px solid var(--black)}.ctab__r{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,2fr) minmax(0,1fr);gap:.4rem 1.4rem;padding:.95rem 0;border-bottom:1px solid var(--line);font-size:.95rem;line-height:1.5}.ctab__r b{font-family:var(--f-mono);font-weight:500;font-size:.8rem;overflow-wrap:anywhere}.ctab__d{color:var(--mute)}@media(max-width:700px){.ctab__r{grid-template-columns:minmax(0,1fr)}}.page-404{background:var(--blue);color:var(--paper)}.err{min-height:100svh;display:flex;flex-direction:column;padding-block:calc(var(--header-h) + .5rem) 2rem;position:relative}.err__in{width:100%;margin-block:auto;display:grid;justify-items:center;gap:clamp(.8rem,2svh,1.4rem);text-align:center}.err__stage{--fh:clamp(10rem,min(37svh,62vw * 1.25),28rem);position:relative;display:grid;justify-items:center}.err__face{position:relative;display:block;height:var(--fh);aspect-ratio:4/5;border:0;padding:0;background:none;color:var(--paper);cursor:pointer;-webkit-tap-highlight-color:transparent}.err__face svg{position:absolute;inset:0;width:100%;height:100%;fill:currentColor}.err__face:focus-visible{outline:2px solid var(--paper);outline-offset:8px;border-radius:50%}.err__title{font-family:var(--f-display);font-weight:800;text-transform:uppercase;letter-spacing:-.04em;line-height:1;margin:0;font-size:clamp(2.2rem,min(9vw,7svh),5rem)}.err__sub{margin:0;max-width:29rem;font-size:clamp(1rem,1.5vw,1.15rem);line-height:1.5;color:var(--paper)}@media(prefers-reduced-motion:no-preference){.err__face svg{animation:bob 5s ease-in-out infinite}.err__face.is-talk{animation:err-wob .6s cubic-bezier(.3,.6,.3,1)}@keyframes err-wob{0%{transform:scale(1) rotate(0)}25%{transform:scale(1.06,.94) rotate(-3deg)}55%{transform:scale(.97,1.04) rotate(2deg)}to{transform:scale(1) rotate(0)}}}.err__say{position:absolute;left:50%;bottom:calc(100% - .2rem);translate:-50% 0;margin:0;width:max-content;max-width:min(19rem,88vw);background:var(--paper);color:var(--blue);border-radius:1.3rem;padding:.9rem 1.2rem;font-family:var(--f-mono);font-weight:500;font-size:clamp(.72rem,2.3vw,.78rem);line-height:1.5;letter-spacing:.08em;text-transform:uppercase;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(10px) scale(.94);transform-origin:50% 100%;transition:opacity .45s cubic-bezier(.4,0,.2,1),transform .45s cubic-bezier(.4,0,.2,1),visibility 0s .45s}.err__say.is-on{opacity:1;visibility:visible;transform:none;transition:opacity .3s var(--ease),transform .5s var(--ease),visibility 0s}.err__say.is-chg{opacity:0;transition:opacity .12s}.err__say:before{content:"";position:absolute;left:50%;bottom:-10px;translate:-50% 0;width:20px;height:11px;background:var(--paper);clip-path:polygon(0 0,100% 0,50% 100%)}.err__stage{padding-top:4.6rem}@media(min-width:760px){.err__stage{padding-top:0}.err__say{left:auto;right:calc(50% + var(--fh) * .26 + 1rem);bottom:auto;top:calc(var(--fh) * .767 - 1.2rem - 10px);translate:0 0;text-align:left;max-width:min(19rem,calc(50vw - var(--fh) * .26 - 2rem));transform-origin:100% 1.6rem;transform:translate(12px) scale(.94)}.err__say.is-on{transform:none}.err__say:before{left:auto;right:-10px;bottom:auto;top:1.2rem;translate:0 0;width:11px;height:20px;clip-path:polygon(0 0,100% 50%,0 100%)}}.err__go{justify-self:center;margin-top:.3rem;display:inline-block;text-decoration:none;background:transparent;color:var(--paper);border-color:var(--paper);transition:background .25s,color .25s,border-color .25s}.err__go:focus-visible{background:var(--paper);color:var(--blue);border-color:var(--paper)}@media(hover:hover){.err__go:hover{background:var(--paper);color:var(--blue);border-color:var(--paper)}}.project--live{cursor:default}.project__flag{position:absolute;left:.9rem;bottom:.9rem;background:var(--blue);color:var(--paper);padding:.5rem .8rem;font-family:var(--f-mono);font-weight:500;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}@media(max-width:900px){.menu-open .traveler{opacity:0!important;transition:opacity .15s!important}}.page-hero--card{min-height:0;align-items:flex-end}.ccard__list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line);max-width:44rem}.ccard__row{display:grid;grid-template-columns:6.5rem 1fr auto;align-items:baseline;gap:1rem;padding:1.35rem 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--black);transition:color .25s,padding .35s var(--ease)}.ccard__k{font-family:var(--f-mono);font-weight:500;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}.ccard__v{font-family:var(--f-display);font-weight:500;font-size:clamp(1.05rem,3.6vw,1.5rem);letter-spacing:-.01em;overflow-wrap:anywhere}.ccard__row i{font-style:normal;font-size:1.2rem;color:var(--blue)}@media(hover:hover){.ccard__row:hover{color:var(--blue);padding-left:.6rem}}.ccard__row:focus-visible{color:var(--blue);outline:2px solid var(--blue);outline-offset:2px}.ccard__save{margin:2.2rem 0 0}.ccard__save .btn-submit{display:inline-block;text-decoration:none}@media(max-width:480px){.ccard__row{grid-template-columns:1fr auto;gap:.15rem 1rem}.ccard__k{grid-column:1/-1}}.projects__grid>.project:first-child .project__media img{object-position:50% 90%}.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}.redact{display:inline-block;filter:blur(.22em);opacity:.5;user-select:none;-webkit-user-select:none;pointer-events:none;line-height:.95;margin-top:.12em}.project__meta .redact{filter:blur(.26em);margin-top:0;line-height:1.5}.consent__x{position:absolute;top:.55rem;right:.55rem;width:2rem;height:2rem;display:grid;place-items:center;background:transparent;border:0;color:inherit;cursor:pointer;padding:0}.consent__x:hover{color:var(--blue)}.consent__x:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.consent__t{padding-right:1.8rem}@media(min-width:901px){.projects__head{margin-bottom:clamp(1rem,2.5svh,1.75rem)}.projects__head .h2{font-size:clamp(1.5rem,2.6vw,2.4rem)}.projects__grid>.project{flex:0 0 calc((100% - clamp(1rem,1.6vw,1.5rem)) / 2.35)}.projects__grid .project__media{aspect-ratio:auto;height:clamp(12rem,44svh,30rem)}.projects__grid .project__cap{padding:.9rem 1.1rem 1rem}.projects__grid .project__name{font-size:clamp(1.15rem,1.7vw,1.7rem)}.projects__grid .project__meta{margin-top:.5rem;font-size:.72rem}.contact__title{font-size:clamp(1.9rem,3.6vw,3.6rem)}.contact__lead{margin-top:1rem}.contact__links{margin-top:1.5rem}.contact .form,.contact .form__row{gap:1rem}.contact .field input,.contact .field textarea{padding:.4rem 0}.contact .field textarea{min-height:4.5rem;height:5rem}.contact .form__req{margin-top:-.4rem}.contact .btn-submit{padding:.8rem 1.8rem}}@media(min-width:901px){main>section.section{min-height:100vh;min-height:100svh}.services.section,.projects.section,.contact.section,.faq.section{--sec:clamp(4.5rem,10svh,7rem)}.about.section{display:flex;flex-direction:column;justify-content:center}.about.section>.wrap{width:100%}.projects.section{padding-block:var(--sec)}.projects__head{margin-bottom:clamp(.9rem,2.2svh,1.6rem)}.projects__head .h2{font-size:clamp(1.5rem,2.6vw,2.4rem)}.projects__grid .project__media{height:clamp(11rem,40svh,30rem)}.services__head{gap:.7rem;margin-bottom:clamp(1rem,3svh,2rem)}.services__head .h2{font-size:clamp(1.5rem,2.7vw,2.6rem)}.service__btn{padding:clamp(.5rem,1.9svh,1.2rem) 0}.service__title{font-size:clamp(1.1rem,3.8svh,2rem)}.contact.section{padding-block:var(--sec)}.contact__title{font-size:clamp(1.9rem,min(3.6vw,7svh),3.6rem)}.contact__lead{margin-top:clamp(.6rem,1.8svh,1rem)}.contact__links{margin-top:clamp(.8rem,2.4svh,1.5rem)}.contact .form,.contact .form__row{gap:clamp(.55rem,1.7svh,1rem)}.contact .field input,.contact .field textarea{padding:.4rem 0}.contact .field textarea{min-height:3rem;height:clamp(3.2rem,9svh,5rem)}.contact .form__req{margin-top:-.3rem}.contact .btn-submit{padding:.75rem 1.8rem}.stop--faq2{display:none}.faq__btn{padding:clamp(.5rem,1.7svh,1.1rem) 0}.faq__q{font-size:clamp(1rem,2.9svh,1.55rem)}.faq__more{margin-top:clamp(.9rem,2.4svh,1.6rem);font-size:1rem}}.project__vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity .6s var(--ease);pointer-events:none}.project__vid.is-on{opacity:1}@media(min-width:901px){.projects__grid{padding-bottom:3px}.projects__grid>.project:first-child .project__media img{object-position:50% 100%;transform-origin:50% 100%}}
