@font-face{font-family:CQ Mono;src:url(/fonts/cq-mono.woff2)format("woff2");font-display:swap}@font-face{font-family:Big Shoulders Display;src:url(/fonts/big-shoulders-display-900.woff2)format("woff2");font-weight:900;font-display:swap}@font-face{font-family:Instrument Serif;src:url(/fonts/instrument-serif-italic.woff2)format("woff2");font-style:italic;font-weight:400;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/fonts/space-grotesk-600.woff2)format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Gloock;src:url(/fonts/gloock.woff2)format("woff2");font-weight:400;font-display:swap}:root{--grey1:#050505;--grey2:#161616;--grey3:#262626;--grey4:#555;--white:#fff;--muted:#b4b4b4;--green:#aeff00;--glass:#0000004d;--glass-hover:#fff3;--s:8px;--m:16px;--l:32px;--xl:clamp(48px, 7vw, 120px);--gutter:clamp(16px, 2.5vw, 32px);--after-hero:var(--l);--radius:16px;--max:2560px;--font-mono:"CQ Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--font-display:"Big Shoulders Display", "Arial Narrow", sans-serif;--display-optical-shift:.027em;--ease:cubic-bezier(.2, .7, .2, 1);color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:160px;overflow-x:clip}::-webkit-scrollbar{width:var(--s);height:var(--s)}::-webkit-scrollbar-track{background:#242424}::-webkit-scrollbar-thumb{background:var(--grey4);border-radius:var(--s)}::-webkit-scrollbar-thumb:hover{background:var(--white)}@supports not selector(::-webkit-scrollbar){html{scrollbar-width:thin;scrollbar-color:var(--grey4) #242424}}body{background:var(--grey2);min-height:100dvh;color:var(--white);font-family:var(--font-mono);text-transform:uppercase;-webkit-tap-highlight-color:transparent;flex-direction:column;margin:0;font-size:1rem;line-height:1.4;display:flex}main{flex-direction:column;flex:1;display:flex}main>:last-child{flex-grow:1}::selection{background:var(--green);color:var(--grey1)}img,svg{-webkit-user-select:none;user-select:none;max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}p{margin:0 0 1em}h1,h2,h3{margin:0;font-weight:400}:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:var(--s)}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip-link{top:var(--m);left:var(--m);z-index:100;padding:var(--m);border-radius:var(--s);background:var(--green);color:var(--grey1);position:fixed;transform:translateY(-200%)}.skip-link:focus{transform:none}.btn{justify-content:center;align-items:center;gap:var(--s);padding:var(--m);border-radius:var(--s);background:var(--glass);color:var(--white);font:inherit;text-transform:uppercase;cursor:pointer;border:0;line-height:normal;transition:background-color .2s,color .2s;display:inline-flex}.btn:hover{background:var(--glass-hover)}.btn[aria-current=page],.btn--solid{background:var(--green);color:var(--grey1)}.btn--outline{box-shadow:inset 0 0 0 2px var(--green);color:var(--green)}.btn--outline:hover{background:var(--green);color:var(--grey1)}.btn--dark{background:#00000080}.hero .btn{backdrop-filter:blur(var(--s))}.chip{padding:var(--s) 12px;border-radius:var(--s);background:var(--glass);line-height:normal;display:inline-block}.chip--green{background:var(--green);color:var(--grey1)}.chip--outline{background:var(--glass);box-shadow:inset 0 0 0 2px var(--green);color:var(--green)}.chip--light{backdrop-filter:blur(8px);background:#fff3}.chips{flex-wrap:wrap;gap:4px;margin:0;padding:0;list-style:none;display:flex}.noise{z-index:2147483647;pointer-events:none;opacity:.09;position:fixed;inset:0;overflow:hidden}.noise:before{content:"";background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='256' height='256'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1.4 -.35'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:.8s steps(6,end) infinite grain;position:absolute;inset:-100%}@keyframes grain{0%{transform:translate(0)}20%{transform:translate(-7%,4%)}40%{transform:translate(5%,-6%)}60%{transform:translate(-3%,8%)}80%{transform:translate(8%,2%)}to{transform:translate(-5%,-4%)}}.cursor,.cursor-ring{display:none}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){*,:before,:after{cursor:none!important}.cursor,.cursor-ring{z-index:70;pointer-events:none;backdrop-filter:invert()grayscale();opacity:0;transition:opacity .2s;display:block;position:fixed;top:0;left:0}.cursor{width:var(--m);height:var(--m);transition:opacity .2s, scale .2s var(--ease);border-radius:50%;margin:-8px 0 0 -8px}.cursor-ring{width:74px;height:74px;margin:-37px 0 0 -37px;-webkit-mask:url(/images/click-me.svg) 50%/contain no-repeat;mask:url(/images/click-me.svg) 50%/contain no-repeat}.cursor.is-visible{opacity:1}.cursor.is-active{scale:2.5}.cursor-ring.is-active{opacity:1;animation:10s linear infinite spin}.cursor.is-active,.cursor-ring.is-active{backdrop-filter:invert(1) grayscale(1) brightness(.6) sepia(1) saturate(4) hue-rotate(var(--accent-rotate,36deg)) brightness(1.2)}}@keyframes spin{to{rotate:360deg}}.marquee{z-index:40;background:var(--grey1);align-items:center;height:48px;display:flex;position:fixed;inset:0 0 auto;overflow:hidden}.marquee__track{white-space:nowrap;flex-shrink:0;animation:60s linear infinite marquee;display:flex}.marquee:hover .marquee__track{animation-play-state:paused}@keyframes marquee{to{transform:translate(-50%)}}.marquee__track span{padding:0 12px}.marquee__sep{color:var(--green)}.marquee__live{align-items:center;gap:var(--s);color:var(--green);display:inline-flex}.marquee__live i{background:var(--green);width:8px;height:8px;box-shadow:0 0 0 0 color-mix(in srgb, var(--green) 60%, transparent);border-radius:50%;animation:1.6s ease-out infinite live-pulse;translate:0 -.5px}@keyframes live-pulse{70%{box-shadow:0 0 0 8px color-mix(in srgb, var(--green) 0%, transparent)}to{box-shadow:0 0 0 0 color-mix(in srgb, var(--green) 0%, transparent)}}.marquee__clock{font-weight:inherit;color:var(--green)}.header{z-index:30;padding:0 calc(var(--gutter) + 16px);pointer-events:none;justify-content:center;display:flex;position:fixed;top:64px;left:0;right:0}.header__bar{pointer-events:auto;justify-content:space-between;align-items:center;gap:var(--m);width:100%;max-width:calc(var(--max) - 2 * var(--l) - 32px);padding:var(--m);border-radius:var(--radius);background:var(--glass);backdrop-filter:blur(var(--s));transition:max-width .4s var(--ease), background-color .4s;display:flex}.header.is-scrolled .header__bar{max-width:712px}.brand{align-items:flex-start;gap:var(--s);line-height:1.05;display:flex}.brand span{padding:9px 0 0 1px}.brand{white-space:nowrap;flex-shrink:0}.brand svg{flex-shrink:0;width:50px;height:50px}.nav .btn{white-space:nowrap}.nav{gap:var(--s);display:flex}.nav-toggle{display:none}.nav-mobile{width:100%;max-width:none;height:100%;max-height:none;padding:var(--l);backdrop-filter:blur(12px);color:var(--white);background:#050505eb;border:0;margin:0;inset:0;overflow:clip}.nav-mobile .btn:not([aria-current=page]):not(.btn--outline){background:var(--grey3)}.nav-mobile:popover-open{justify-content:center;gap:var(--m);flex-direction:column;display:flex}.nav-mobile .btn{width:100%;font-size:1.25rem}@media (width<=1080px){.nav{display:none}.nav-toggle{box-sizing:border-box;width:50px;height:50px;padding:15px 10px 11px;line-height:normal;display:block}.nav-toggle svg{vertical-align:baseline;width:30px;height:20px;display:inline-block}.header.is-scrolled .header__bar{max-width:calc(var(--max) - 2 * var(--l) - 32px)}}@media (width<=480px){.marquee{height:var(--l)}.header{top:48px}}.wrap{width:100%;max-width:var(--max);padding:0 var(--gutter);margin:0 auto}.section{padding-block:64px 0}.section__head .section__title{margin-top:calc(-1 * (.04em + var(--display-optical-shift)))}.section__head{justify-content:space-between;align-items:end;gap:var(--m);margin-bottom:var(--l);flex-wrap:wrap;display:flex}@media (width<=480px){.section{padding-top:var(--l)}.section__head{margin-bottom:var(--m)}}.hero__title,.section__title,.service h3,.project-nav strong{top:var(--display-optical-shift);position:relative}.section__title{font-family:var(--font-display);letter-spacing:1px;font-size:clamp(2.5rem,6vw,7rem);font-weight:900;line-height:.92}.section__title em{color:var(--green);font-style:normal}.project-back{width:fit-content;margin-bottom:var(--l);display:flex}.panel{padding:var(--l);border-radius:var(--radius);background:var(--grey3)}.about-grid .panel h3,.legal h2{color:var(--green);border:0;margin:0;padding:0;font-size:1.75rem;line-height:normal}.about-grid .panel h3:after,.legal h2:after{content:"";background:var(--grey4);border-radius:8px;height:4px;margin-top:calc(.67em - 11px);margin-bottom:16px;display:block}@media (width<=480px){.panel{padding:var(--m)}.about-grid .panel h3,.legal h2{font-size:1.5rem}}.prose{text-transform:none;max-width:70ch;color:var(--muted);line-height:1.55}.prose strong{color:var(--white);font-weight:400}.hero{isolation:isolate;max-width:calc(var(--max) - 2 * var(--l));width:calc(100% - 2 * var(--gutter));border-radius:var(--radius);padding:clamp(var(--l), 5vw, 96px);padding-top:calc(clamp(var(--l), 5vw, 96px) + 142px);background-color:var(--grey1);margin:1px auto 0;position:relative;overflow:hidden}.hero__dither{z-index:-1;width:100%;height:100%;image-rendering:pixelated;pointer-events:none;position:absolute;inset:0}.hero.has-dither .hero__fx{display:none}.hero__dither-tint{z-index:-1;background:var(--green);mix-blend-mode:color;pointer-events:none;position:absolute;inset:0}.hero__topo{z-index:-1;opacity:.2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.hero__crosses{z-index:-1;pointer-events:none;background:var(--green);opacity:0;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Cpath d='M14 8.5v11M8.5 14h11' stroke='%23fff' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E"), radial-gradient(circle 340px at var(--mx,50%) var(--my,50%), #000 0%, #0009 25%, #00000040 55%, transparent 100%);mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Cpath d='M14 8.5v11M8.5 14h11' stroke='%23fff' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E"), radial-gradient(circle 340px at var(--mx,50%) var(--my,50%), #000 0%, #0009 25%, #00000040 55%, transparent 100%);-webkit-mask-composite:source-in;transition:opacity .4s;position:absolute;inset:0;-webkit-mask-position:-14px -14px,0 0;mask-position:-14px -14px,0 0;-webkit-mask-size:28px 28px,100% 100%;mask-size:28px 28px,100% 100%;-webkit-mask-repeat:repeat,no-repeat;mask-repeat:repeat,no-repeat;mask-composite:intersect}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.hero:hover .hero__crosses{opacity:.55}}@media (width<=480px){.hero{padding:var(--l);padding-top:calc(var(--l) + 126px)}.hero .hero__title{font-size:calc(13.6986vw - 17.2603px)}}.hero--centered{--hero-pad:clamp(var(--l), 5vw, 96px);padding-top:calc(145px + var(--hero-pad));padding-bottom:var(--hero-pad);flex-direction:column;justify-content:center;display:flex}@media (width<=480px){.hero--centered{--hero-pad:var(--l);padding-top:calc(129px + var(--hero-pad))}}.hero__fx{z-index:-1;opacity:.2;mix-blend-mode:screen;pointer-events:none;position:absolute;inset:0}.hero__fx span{position:absolute;inset:0}.hero__fx .fx-green{background:var(--green);mix-blend-mode:color;z-index:3}.hero__fx .fx-sweep{background:linear-gradient(70deg,#000 0%,#4b4b4b 50%,#000 100%) 0 0/400% 200%;animation:8s ease-in-out infinite hero-sweep}.hero__fx .fx-pulse{mix-blend-mode:color-dodge;z-index:2;background:radial-gradient(circle,#000 0% 16%,#969696 18%,#000 40%,#d7d7d7 50%,#000 100%);animation:8s ease-in-out infinite hero-pulse}@keyframes hero-sweep{50%{background-position:100%}}@keyframes hero-pulse{50%{transform:scale(1.25)}}.hero__title{font-family:var(--font-display);font-weight:900;font-size:clamp(2rem, 8vw, calc(var(--max) * .08));letter-spacing:1px;margin-bottom:var(--l);line-height:.9}.hero__title .accent{color:var(--green)}.is-cycling:is([data-font-cycle],[data-glitch]){white-space:nowrap;line-height:0;display:inline-grid}.is-cycling .fc-layer{white-space:pre;pointer-events:none;grid-area:1/1;align-self:baseline;line-height:0}.chip [data-glitch].is-cycling .fc-layer{justify-self:center}.is-cycling .fc-layer>span{display:inline-block}.is-cycling .fc-layer.is-hidden{opacity:0}.hero__lead{max-width:52ch;margin-bottom:var(--l);text-transform:none;color:#d9d9d9;font-size:clamp(1rem,1.3vw,1.25rem)}.hero__actions{gap:var(--s);flex-wrap:wrap;display:flex}@media (width<=480px){:root{--after-hero:var(--gutter)}}.gallery{padding-top:var(--after-hero);position:relative}.gallery__notes{top:calc(var(--after-hero) + 12px);left:calc(var(--gutter) + 17px);right:calc(var(--gutter) + 15px);z-index:3;pointer-events:none;justify-content:space-between;font-size:1rem;line-height:normal;display:flex;position:absolute}.gallery-note{color:var(--white);text-transform:uppercase;pointer-events:none;margin:0;font-size:1rem;line-height:normal}.gallery-note--right{text-align:right}@media (width<=480px){.gallery__notes{top:calc(var(--after-hero) + 13px)}}.card>.gallery-note{z-index:3;position:absolute;top:12px}.card>.gallery-note--left{left:17px}.card>.gallery-note--right{right:15px}@media (width<=480px){.card>.gallery-note{top:13px}}.grid{--cols:4;--grid-gap:8px;columns:var(--cols);column-gap:var(--grid-gap)}.grid>*{break-inside:avoid;margin-bottom:var(--grid-gap)}.grid>:last-child{margin-bottom:0}@media (width<=1600px){.grid{--cols:3}}@media (width<=1080px){.grid{--cols:2}}@media (width<=600px){.grid{--cols:1}}.grid.is-masonry{columns:auto;align-items:flex-start;gap:var(--grid-gap);display:flex}.grid.is-masonry>.grid__col{gap:var(--grid-gap);flex-direction:column;flex:1 1 0;min-width:0;margin:0;display:flex}.grid.is-masonry .card{margin:0}.grid.is-masonry .card img{object-fit:cover;height:100%}.card{border-radius:var(--radius);background:var(--grey3);will-change:transform;display:block;position:relative;overflow:hidden}.card img{width:100%;transition:transform .5s var(--ease), filter .5s var(--ease)}.card__slides{pointer-events:none;position:absolute;inset:0}.card__slides img{object-fit:cover;opacity:0;height:100%;transition:opacity 1.2s ease-in-out, transform .5s var(--ease), filter .5s var(--ease);position:absolute;inset:0}.card__slides img.is-on{opacity:1}.card__veil{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.card__veil image{transform-box:fill-box;transform-origin:50%;transition:transform .5s var(--ease)}html:not(.js-hover) .card.has-liquid:hover .card__veil image,.card.has-liquid.is-hover .card__veil image,html:not(.js-hover) .card.has-liquid:hover img,.card.has-liquid.is-hover img{filter:none;transform:scale(1.08)}.card.has-liquid .card__crosses{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Cpath d='M14 8.5v11M8.5 14h11' stroke='%23000' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E")}html:not(.js-hover) .card.has-liquid:hover .card__crosses,.card.has-liquid.is-hover .card__crosses{opacity:.9}.card.tilt-anim{transition:transform .3s cubic-bezier(.03,.98,.52,.99)}.tilt-glare{pointer-events:none;position:absolute;inset:0;overflow:hidden}.tilt-glare__inner{pointer-events:none;transform-origin:0 0;opacity:0;background-image:linear-gradient(#fff 0%,#fff0 100%);position:absolute;top:50%;left:50%;transform:rotate(180deg)translate(-50%,-50%)}.card.tilt-anim .tilt-glare__inner{transition:opacity .3s cubic-bezier(.03,.98,.52,.99)}.card__overlay{place-content:center;justify-items:center;gap:var(--s);padding:var(--l);text-align:center;display:grid;position:absolute;inset:0}.card__overlay p{text-transform:none;margin:0}.card__overlay .chips{justify-content:center}.card__foot{inset:auto var(--m) var(--m);justify-content:space-between;align-items:end;gap:var(--s);transition:opacity .4s var(--ease);display:flex;position:absolute}.card__foot svg{flex-shrink:0;width:34px;height:34px}.card__foot .chip{background:#00000080}.card__labels{flex-wrap:wrap;gap:4px;min-width:0;display:flex}html:not(.js-hover) .card:hover img,.card.is-hover img,.card:focus-visible img{filter:blur(4px)brightness(.45)grayscale();transform:scale(1.1)}html:not(.js-hover) .card:hover .card__arrow line,.card.is-hover .card__arrow line,html:not(.js-hover) .card:hover .card__arrow polyline,.card.is-hover .card__arrow polyline{animation:.3s ease-in-out move-out-in}@keyframes move-out-in{0%{opacity:1;transform:translate(0)}15%{opacity:0}25%{opacity:0;transform:translate(100%,-100%)}50%{opacity:0;transform:translate(100%,100%)}75%{opacity:0;transform:translate(-100%,100%)}85%{opacity:0}to{opacity:1;transform:translate(0)}}@media (width<=480px){.card__overlay{display:none}html:not(.js-hover) .card:hover img,.card.is-hover img{filter:none;transform:none}}.motion .grid .card{opacity:0}.motion .project-images figure{clip-path:inset(100% 0% 0% round 16px)}.motion [data-scramble-scroll]{clip-path:inset(0% 0% 100%)}.motion .services .service,.motion .about-grid .panel,.motion .avis__body,.motion .contact-panel,.motion .skills-ticker,.motion .project-nav:not(.lightbox__bar) a,.motion .project-cta .panel,.motion .legal,.motion .hero .hero__lead,.motion .hero .hero__actions>*,.motion .hero .project-head .chip,.motion .hero .project-back{opacity:0}.card__crosses{pointer-events:none;background:var(--green);opacity:0;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Cpath d='M14 8.5v11M8.5 14h11' stroke='%23fff' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E"), radial-gradient(circle 260px at var(--mx,50%) var(--my,50%), #000 0%, #0009 25%, #00000040 55%, transparent 100%);mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Cpath d='M14 8.5v11M8.5 14h11' stroke='%23fff' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E"), radial-gradient(circle 260px at var(--mx,50%) var(--my,50%), #000 0%, #0009 25%, #00000040 55%, transparent 100%);-webkit-mask-composite:source-in;transition:opacity .4s;position:absolute;inset:0;-webkit-mask-position:-14px -14px,0 0;mask-position:-14px -14px,0 0;-webkit-mask-size:28px 28px,100% 100%;mask-size:28px 28px,100% 100%;-webkit-mask-repeat:repeat,no-repeat;mask-repeat:repeat,no-repeat;mask-composite:intersect}html:not(.js-hover) .card:hover .card__crosses,.card.is-hover .card__crosses{opacity:.55}@media (width<=480px){.card__crosses{display:none}}.card .chip,.card .card__arrow{backdrop-filter:blur(var(--s))}.card .card__arrow{border-radius:8px}.card__overlay>*{transition:translate .5s var(--ease);translate:0 12px}.card__overlay>:not(.chips),.card__overlay .chips>*{opacity:0;transition:opacity .4s var(--ease), translate .5s var(--ease)}.card__overlay>:nth-child(2){transition-delay:50ms}.card__overlay>:nth-child(3),.card__overlay .chips>*{transition-delay:.1s}html:not(.js-hover) .card:hover .card__overlay>*,.card.is-hover .card__overlay>*,.card:focus-visible .card__overlay>*{translate:0}html:not(.js-hover) .card:hover .card__overlay>:not(.chips),.card.is-hover .card__overlay>:not(.chips),html:not(.js-hover) .card:hover .card__overlay .chips>*,.card.is-hover .card__overlay .chips>*,.card:focus-visible .card__overlay>:not(.chips),.card:focus-visible .card__overlay .chips>*{opacity:1}.services{gap:var(--s);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin:0;padding:0;list-style:none;display:grid}.service{isolation:isolate;gap:var(--m);min-height:260px;padding:var(--l);border-radius:var(--radius);background:var(--grey3);flex-direction:column;transition:color .35s;display:flex;position:relative;overflow:hidden}.service__liquid{z-index:-1;pointer-events:none;width:100%;height:100%;fill:var(--green);position:absolute;inset:0;overflow:visible}html:not(.js-hover) .service:not(.has-liquid):hover,.service:not(.has-liquid).is-hover,html:not(.js-hover) .project-nav a:not(.has-liquid):hover,.project-nav a:not(.has-liquid).is-hover{background:var(--green)}.service:after,.project-nav a:after,.about-stat:after{content:"";z-index:-1;opacity:0;-webkit-mask-image:radial-gradient(circle 260px at var(--mx,50%) var(--my,50%), #000 0%, #0009 25%, #00000040 55%, transparent 100%);mask-image:radial-gradient(circle 260px at var(--mx,50%) var(--my,50%), #000 0%, #0009 25%, #00000040 55%, transparent 100%);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Cpath d='M14 8.5v11M8.5 14h11' stroke='%23050505' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-position:-14px -14px;background-size:28px 28px;transition:opacity .4s;position:absolute;inset:0}html:not(.js-hover) .service:hover:after,.service.is-hover:after,html:not(.js-hover) .project-nav a:hover:after,.project-nav a.is-hover:after,html:not(.js-hover) .about-stat:hover:after,.about-stat.is-hover:after{opacity:.55}.service__num{color:var(--green);transition:color .35s}.service h3{font-family:var(--font-display);letter-spacing:1px;margin-top:auto;font-size:clamp(2rem,3vw,3rem);font-weight:900;line-height:.9}.service p{text-transform:none;color:var(--muted);margin:0;transition:color .35s}html:not(.js-hover) .service:hover,.service.is-hover{color:var(--grey1)}html:not(.js-hover) .service:hover,.service.is-hover,html:not(.js-hover) .service:hover .service__num,.service.is-hover .service__num,html:not(.js-hover) .service:hover p,.service.is-hover p{transition-delay:.1s}html:not(.js-hover) .service:hover .service__num,.service.is-hover .service__num,html:not(.js-hover) .service:hover p,.service.is-hover p{color:var(--grey1)}.about-grid{gap:var(--s);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=700px){.form--contact{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.form--contact .field--message,.form--contact .btn,.form--contact [data-form-status]{grid-column:1/-1}}.about-grid .chip{padding:16px}.about-grid .chips+h3{margin-top:20px}.about-grid .prose{text-align:justify;max-width:none;color:var(--white);line-height:1.4}@media (width<=480px){.about-grid .chip{padding:var(--s) 12px}.about-grid .prose{line-height:1.3}}.about-stat{isolation:isolate;justify-content:flex-end;gap:var(--s);flex-direction:column;transition:color .35s;display:flex;position:relative;overflow:hidden}.about-stat strong{font-family:var(--font-display);letter-spacing:1px;color:var(--green);font-size:clamp(2.75rem,4.5vw,5rem);font-weight:900;line-height:.9;transition:color .35s}.about-stat span{color:var(--muted);transition:color .35s}html:not(.js-hover) .about-stat:hover,.about-stat.is-hover,html:not(.js-hover) .about-stat:hover strong,.about-stat.is-hover strong,html:not(.js-hover) .about-stat:hover span,.about-stat.is-hover span{color:var(--grey1);transition-delay:.1s}html:not(.js-hover) .about-stat:not(.has-liquid):hover,.about-stat:not(.has-liquid).is-hover{background:var(--green)}.about-edito__statement{margin:0 0 var(--l);font-family:var(--font-display);letter-spacing:1px;text-transform:uppercase;font-size:clamp(2.25rem,4.6vw,5.5rem);font-weight:900;line-height:.92}.about-edito__statement em{color:var(--green);font-style:normal}.about-edito__sign{color:var(--muted);margin:0}.about-edito__stats{gap:var(--s);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.about-edito__stats .about-stat{min-height:200px}.skills-ticker{margin-top:var(--s);padding:var(--m) 0;overflow:hidden}.skills-ticker__track{width:max-content;animation:about-ticker var(--skills-duration,45s) linear infinite;gap:4px;padding-right:4px;display:flex}.skills-ticker:hover .skills-ticker__track{animation-play-state:paused}.skills-ticker .chip{padding:16px}@media (width<=480px){.skills-ticker .chip{padding:var(--s) 12px}}@keyframes about-ticker{to{transform:translate(-50%)}}.about-edito__text{margin-top:var(--l);columns:2;column-gap:var(--l)}.about-edito__row{gap:var(--s);grid-template-columns:auto minmax(0,1fr);display:grid}.about-edito__row.is-square .about-edito__lead{min-height:var(--sq)}.about-mark-panel{width:var(--sq,clamp(200px, 22vw, 400px));padding:var(--l);place-items:center;display:grid;overflow:hidden;container-type:size}.about-mark{aspect-ratio:644.86/566.93;width:100cqw;transform-style:preserve-3d;position:relative}.about-mark__spin{--depth:4cqw;transform-style:preserve-3d;animation:4s linear infinite about-mark-spin;position:absolute;inset:0}.about-mark__face{color:color-mix(in srgb, var(--green) calc(35% + 65% * var(--t) * var(--t) * var(--t)), #000);transform:translateZ(calc((var(--t) - 1) * var(--depth)));-webkit-backface-visibility:hidden;backface-visibility:hidden;position:absolute;inset:0}.about-mark__face svg{width:min(100cqw,100cqh);height:min(100cqw,100cqh);position:absolute;top:50%;left:50%;translate:-50% -50%}.about-mark__sigle{transform:rotateY(180deg) translateZ(calc((var(--t) - 1) * var(--depth)));-webkit-mask:var(--sigle) center / contain no-repeat;mask:var(--sigle) center / contain no-repeat;background:currentColor}.about-mark-panel{perspective:900px;position:relative}@keyframes about-mark-spin{0%{animation-timing-function:cubic-bezier(.4,.15,.75,.5);transform:rotateY(0)}25%{animation-timing-function:cubic-bezier(.25,.5,.6,.85);transform:rotateY(90deg)}50%{animation-timing-function:cubic-bezier(.4,.15,.75,.5);transform:rotateY(180deg)}75%{animation-timing-function:cubic-bezier(.25,.5,.6,.85);transform:rotateY(270deg)}to{transform:rotateY(360deg)}}@media (prefers-reduced-motion:reduce){.about-mark__spin{animation:none}}.about-edito__text p{break-inside:avoid}@media (width<=899px){.about-edito__row{grid-template-columns:minmax(0,1fr)}.about-mark-panel{width:auto;height:240px;padding:var(--l)}.about-mark{width:auto;height:100cqh}.about-edito__stats{grid-template-columns:minmax(0,1fr)}.about-edito__text{columns:1}}.avis__head{justify-content:space-between;align-items:flex-end;gap:var(--m);flex-wrap:wrap;display:flex}.avis__summary{align-items:center;gap:var(--s);flex-wrap:wrap;display:flex}.avis__score{align-items:center;gap:var(--s);padding:16px;display:inline-flex}.avis__score>svg:first-child{width:18px;height:18px;fill:var(--green)}.avis__score .card__arrow{width:24px;height:24px;margin:-4px -6px -4px 0}.avis__score .card__arrow-bg{display:none}.avis__score{transition:background-color .2s}.avis__score:hover{background:var(--glass-hover)}.avis__score:hover .card__arrow line,.avis__score:hover .card__arrow polyline{animation:.3s ease-in-out move-out-in}.avis-card{isolation:isolate;gap:var(--m);flex-direction:column;margin:0;transition:color .35s;display:flex;position:relative;overflow:hidden}.avis-card:after{content:"";z-index:-1;opacity:0;-webkit-mask-image:radial-gradient(circle 260px at var(--mx,50%) var(--my,50%), #000 0%, #0009 25%, #00000040 55%, transparent 100%);mask-image:radial-gradient(circle 260px at var(--mx,50%) var(--my,50%), #000 0%, #0009 25%, #00000040 55%, transparent 100%);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Cpath d='M14 8.5v11M8.5 14h11' stroke='%23050505' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-position:-14px -14px;background-size:28px 28px;transition:opacity .4s;position:absolute;inset:0}html:not(.js-hover) .avis-card:hover:after,.avis-card.is-hover:after{opacity:.55}html:not(.js-hover) .avis-card:not(.has-liquid):hover,.avis-card:not(.has-liquid).is-hover{background:var(--green)}.avis-card__top{justify-content:space-between;align-items:center;gap:var(--s);display:flex}.avis-card__top .card__arrow{flex-shrink:0;width:34px;height:34px;margin:-8px -8px 0 0}html:not(.js-hover) .avis-card:hover .card__arrow line,.avis-card.is-hover .card__arrow line,html:not(.js-hover) .avis-card:hover .card__arrow polyline,.avis-card.is-hover .card__arrow polyline{animation:.3s ease-in-out move-out-in}.avis-card__stars{gap:2px;display:flex}.avis-card__stars svg{width:20px;height:20px;fill:var(--grey4);transition:fill .35s}.avis-card__stars svg.is-on{fill:var(--green)}.avis-card__text{text-transform:none;margin:0;line-height:1.4}.avis-card__foot{justify-content:space-between;align-items:center;gap:var(--s);flex-wrap:wrap;margin-top:auto;display:flex}.avis-card__name{color:var(--muted);transition:color .35s}.avis-card .chip{transition:background-color .35s,color .35s}html:not(.js-hover) .avis-card:hover,.avis-card.is-hover,html:not(.js-hover) .avis-card:hover .avis-card__name,.avis-card.is-hover .avis-card__name{color:var(--grey1);transition-delay:.1s}html:not(.js-hover) .avis-card:hover .avis-card__stars svg.is-on,.avis-card.is-hover .avis-card__stars svg.is-on{fill:var(--grey1);transition-delay:.1s}html:not(.js-hover) .avis-card:hover .avis-card__stars svg:not(.is-on),.avis-card.is-hover .avis-card__stars svg:not(.is-on){fill:#0006}html:not(.js-hover) .avis-card:hover .chip,.avis-card.is-hover .chip{color:var(--grey1);background:#0006;transition-delay:.1s}.avis-card .card__arrow-bg{transition:fill-opacity .35s}html:not(.js-hover) .avis-card:hover .card__arrow-bg,.avis-card.is-hover .card__arrow-bg{fill-opacity:.4}.avis-card .card__arrow{transition:stroke .35s}html:not(.js-hover) .avis-card:hover .card__arrow,.avis-card.is-hover .card__arrow{stroke:var(--grey1);transition-delay:.1s}.avis__body{border-radius:var(--radius);overflow:hidden}.avis__track{gap:var(--s);width:max-content;padding-right:var(--s);animation:about-ticker var(--avis-duration,70s) linear infinite;display:flex}.avis__body:hover .avis__track{animation-play-state:paused}.avis-card{flex:none;width:clamp(280px,30vw,460px)}@media (prefers-reduced-motion:reduce){.avis__body{overflow-x:auto}.avis__track{animation:none}}.card__overlay .chip--green{margin-bottom:var(--m);font-family:var(--font-display);letter-spacing:1px;white-space:nowrap;padding:17px 16px 15px;font-size:clamp(1.75rem,2.4vw,2.5rem);font-weight:900;line-height:1}.form{gap:var(--m);display:grid}.field{gap:var(--s);display:grid}.field input,.field textarea{width:100%;padding:var(--m);border-radius:var(--s);background:var(--glass);color:var(--white);font:inherit;text-transform:none;border:0}.field input:hover,.field textarea:hover{background:#fff3}.field input:focus-visible,.field textarea:focus-visible{outline:2px solid var(--green);outline-offset:-2px}.field textarea{resize:none;min-height:160px}.field--trap{position:absolute;left:-9999px}.form .btn{width:100%}.form .btn[data-state=sending]{opacity:.6;cursor:progress}.form .btn[data-state=ok]{background:var(--green);color:var(--grey1)}.form .btn[data-state=error]{color:#ff6b6b;box-shadow:inset 0 0 0 2px #ff6b6b}.project-head .chips{justify-content:flex-start}.project-images{gap:var(--s);margin-top:var(--after-hero);display:grid}.project-images figure{border-radius:var(--radius);background:var(--grey3);margin:0;overflow:hidden}.project-media{isolation:isolate;background:var(--grey1);position:relative;overflow:hidden}.project-media img{object-fit:contain;width:100%;max-height:92vh;position:relative}.project-media .project-media__blur{z-index:-1;object-fit:cover;filter:blur(48px)brightness(.55)saturate(1.3);width:100%;height:100%;max-height:none;position:absolute;inset:0;transform:scale(1.3)}.project-media:after{content:"";z-index:-1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28'%3E%3Cpath d='M14 8.5v11M8.5 14h11' stroke='%23000' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-position:50%;background-size:28px 28px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 50%,#0000);mask-image:linear-gradient(90deg,#0000,#000 50%,#0000)}.project-images figcaption{padding:var(--m) var(--l);text-transform:none;color:var(--muted)}.project-nav{gap:var(--s);margin-top:var(--l);grid-template-columns:1fr 1fr;display:grid}.project-nav a{isolation:isolate;gap:var(--s);padding:var(--l);border-radius:var(--radius);background:var(--grey3);transition:background-color .3s,color .35s;display:grid;position:relative;overflow:hidden}.project-nav a:last-child{text-align:right}html:not(.js-hover) .project-nav a:hover,.project-nav a.is-hover{color:var(--grey1);transition-delay:.1s}.project-nav strong{font-family:var(--font-display);font-size:clamp(1.75rem,4vw,4rem);font-weight:900;line-height:.9}.project-nav span{font-size:.875rem}@media (width<=480px){.project-nav{margin-top:var(--m);grid-template-columns:1fr}.project-nav a{padding:var(--m)}}.section.project-cta{padding-top:32px}@media (width<=480px){.section.project-cta{padding-top:var(--m)}}.cta-panel{gap:var(--m);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}@media (width<=480px){.cta-panel{align-items:stretch;gap:var(--m);padding:14px var(--m) var(--m);flex-direction:column}.cta-panel .btn{width:100%}}.arrow-link{align-items:center;gap:var(--s);display:flex}html:not(.js-hover) .project-nav a:hover .card__arrow,.project-nav a.is-hover .card__arrow{stroke:var(--grey1)}.project-nav a:last-child .arrow-link{justify-content:flex-end}.arrow-link .card__arrow{flex-shrink:0;width:24px;height:24px}html:not(.js-hover) .project-nav a:hover .card__arrow line,.project-nav a.is-hover .card__arrow line,html:not(.js-hover) .project-nav a:hover .card__arrow polyline,.project-nav a.is-hover .card__arrow polyline{animation:.3s ease-in-out move-out-in}.lightbox{width:100%;max-width:none;height:100%;max-height:none;padding:var(--l);backdrop-filter:blur(var(--s));color:var(--white);background:#050505d9;border:0;margin:0;overflow:clip}.lightbox[open]{gap:var(--s);grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);display:grid}.lightbox::backdrop{background:0 0}.lightbox__stage{touch-action:pan-y;min-height:0;display:grid}.lightbox__media{border-radius:var(--radius);height:100%;min-height:0}.lightbox__media img:not(.project-media__blur){object-fit:contain;width:100%;height:100%;max-height:none}.lightbox__title{top:var(--m);left:var(--m);right:calc(var(--m) * 2 + 48px);z-index:2;gap:var(--s);min-width:0;height:48px;margin:0;display:flex;position:absolute}.lightbox__title .chip--green{min-width:0;height:48px;font-family:var(--font-display);letter-spacing:1px;white-space:nowrap;text-overflow:ellipsis;padding:10px 14px 0;font-size:1.75rem;font-weight:900;line-height:1;overflow:hidden}.lightbox__count{border-radius:var(--s);height:48px;backdrop-filter:blur(var(--s));background:#00000080;flex-shrink:0;padding:16px 14px 0;line-height:1}.lightbox__bar.project-nav{margin-top:0}.lightbox__bar.project-nav a{padding:var(--m)}.lightbox__bar.project-nav strong{white-space:nowrap;text-overflow:ellipsis;font-size:clamp(1.25rem,2.2vw,2.25rem);overflow:hidden}.close-btn{top:var(--m);right:var(--m);z-index:2;box-sizing:border-box;width:48px;height:48px;backdrop-filter:blur(var(--s));color:var(--white);font-family:var(--font-mono);text-transform:none;cursor:pointer;background:#00000080;border:0;border-radius:8px;padding:1px 0 1px 4px;font-size:48px;line-height:1;position:absolute}.close-btn:hover{background:var(--green);color:var(--grey1)}@media (width<=480px){.lightbox{padding:var(--m)}.lightbox__title{right:calc(var(--m) + 48px + var(--s));gap:4px}.lightbox__title .chip--green{padding:15px 10px 0;font-size:1.125rem}.lightbox__count{padding-inline:10px}.lightbox__bar.project-nav{grid-template-columns:1fr 1fr}.lightbox__bar.project-nav a{padding:var(--m)}.lightbox__bar.project-nav strong{display:none}.lightbox__bar .arrow-link{font-size:.75rem}}.footer{width:100%;max-width:var(--max);padding:0 var(--gutter);margin:64px auto 0}.footer a:hover{color:var(--green)}.footer-d__row svg{flex:none;width:24px;height:24px}.footer-hint{color:var(--muted);font-family:var(--font-mono);text-transform:uppercase;align-items:center;gap:8px;font-size:12px;line-height:1;display:inline-flex}.footer-hint:before{content:"";background:var(--green);border-radius:50%;width:6px;height:6px;animation:1.6s ease-out infinite live-pulse;translate:0 -.5px}.marquee__live i{transition:scale .3s var(--ease)}html.egg-hint .marquee__live i{scale:1.8}.footer-d{--word-size:20vw;padding:var(--l) var(--l) 0;border-radius:var(--radius) var(--radius) 0 0;background:var(--grey3);position:relative;overflow:hidden}.footer-d__row{justify-content:space-between;align-items:center;gap:var(--m) var(--l);font-family:var(--font-mono);text-transform:uppercase;flex-wrap:wrap;display:flex}.footer-d__nav,.footer-d__social{align-items:center;gap:var(--m) var(--l);flex-wrap:wrap;display:flex}.footer-d__social a{align-items:center;gap:var(--s);display:inline-flex}.footer-d__meta{justify-content:space-between;align-items:center;gap:var(--m) var(--l);margin-top:var(--m);color:var(--muted);font-family:var(--font-mono);text-transform:uppercase;flex-wrap:wrap;font-size:12px;display:flex}.footer-d__rule{height:1px;margin:27.6px calc(-1 * var(--l)) 0;background:#ffffff14;border:0}.footer-d__stage{margin:calc(32px - var(--word-size) * .06) calc(-1 * var(--l)) 0;padding:0 var(--l);height:calc(var(--word-size) * (.06 + .807 * .72));position:relative;overflow:hidden}.footer-d__word{font-family:var(--font-display);font-weight:900;font-size:var(--word-size);text-transform:uppercase;white-space:nowrap;color:#333;user-select:none;visibility:hidden;justify-content:center;margin:0;padding-top:.08em;line-height:.8;display:flex}.footer-d__marquee{position:absolute;inset:0}.footer-d__svg{max-width:none;animation:about-ticker var(--marquee-duration,30s) linear infinite;display:block;overflow:visible}.footer-d__svg text{font-family:var(--font-display);font-weight:900}.footer-d__text{fill:#333}.footer-d__liquid{fill:var(--green)}.footer-d__crosses{opacity:0;transition:opacity .4s}.is-on>.footer-d__crosses{opacity:.55}@media (width<=899px){.footer-d__row{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){.footer-d__svg{animation:none}}.legal h2{margin-top:var(--l);text-transform:uppercase}.reveal-email{color:var(--green);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.reveal-email:hover,.revealed-email:hover{color:var(--white)}.revealed-email{color:var(--green)}.legal .prose{max-width:none;color:var(--white)}.legal h2:first-child{margin-top:0}.legal ul{padding-left:1.2em}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.35s}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.noise,.cursor,.cursor-ring{display:none!important}}.tooltip{z-index:66;border-radius:var(--s);backdrop-filter:blur(8px);max-width:min(280px,100vw - 16px);color:var(--white);font-family:var(--font-mono);text-transform:uppercase;white-space:nowrap;pointer-events:none;opacity:0;transform-origin:0 0;transition:opacity .15s, scale .2s var(--ease);background:#050505d9;align-items:center;gap:8px;padding:6.5px 10px 5.5px;font-size:12px;line-height:1;display:flex;position:fixed;top:0;left:0;scale:.92;box-shadow:0 4px 16px #00000059}.tooltip:before{content:"";background:var(--green);border-radius:50%;flex:none;width:6px;height:6px}.tooltip.is-visible{opacity:1;scale:1}@media (prefers-reduced-motion:reduce){.tooltip{transition:none;scale:1}}.marquee__live i{cursor:pointer}.accent-veil{z-index:64;backdrop-filter:blur(4px);opacity:0;visibility:hidden;background:#0000008c;transition:opacity .3s,visibility 0s .3s;position:fixed;inset:0}.accent-veil.is-open{opacity:1;visibility:visible;transition:opacity .3s}.accent-picker{z-index:65;width:min(440px,100vw - 32px);padding:var(--l);border-radius:var(--radius);backdrop-filter:blur(12px);color:var(--white);opacity:0;visibility:hidden;transition:opacity .25s, translate .4s var(--ease), scale .4s var(--ease), visibility 0s .4s;background:#262626eb;position:fixed;top:50%;left:50%;translate:-50% calc(16px - 50%);scale:.97;box-shadow:0 24px 64px #00000080}.accent-picker.is-open{opacity:1;visibility:visible;transition:opacity .25s, translate .4s var(--ease), scale .4s var(--ease);translate:-50% -50%;scale:1}.accent-picker__kicker{margin:0 0 var(--m);color:var(--muted);font-family:var(--font-mono);text-transform:uppercase;align-items:center;gap:8px;font-size:12px;line-height:1;display:flex}.accent-picker__kicker:before{content:"";background:var(--green);border-radius:50%;width:6px;height:6px;translate:0 -.5px}.accent-picker__title{margin:0 0 var(--l);font-family:var(--font-display);text-transform:uppercase;padding-right:56px;font-size:2.75rem;font-weight:900;line-height:.92}.accent-picker__title em{color:var(--green);font-style:normal;transition:color .3s}.accent-picker__swatches{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.accent-picker__swatch{aspect-ratio:1;background:var(--c);transition:scale .25s var(--ease), box-shadow .25s;border:0;border-radius:50%;padding:0}.accent-picker__swatch:hover{scale:1.08}.accent-picker__swatch[aria-pressed=true]{box-shadow:0 0 0 3px #262626, 0 0 0 6px var(--c)}.accent-picker__hint{margin:var(--l) 0 0;color:var(--muted);font-family:var(--font-mono);font-size:12px;line-height:1.4}.accent-picker .close-btn{top:var(--m);right:var(--m)}@media (prefers-reduced-motion:reduce){.accent-picker,.accent-picker.is-open{transition:none;translate:-50% -50%;scale:1}}
