@font-face{font-family:ABC Areal;src:url(/fonts/ABCAreal-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{font-size:100%;font:inherit;vertical-align:baseline;border:0;margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}a{color:inherit;text-decoration:none}:focus{outline:none}:focus-visible{outline-offset:2px;outline:2px solid #fff;box-shadow:0 0 0 4px #000}button{color:inherit;font:inherit;cursor:pointer;background:0 0}*,:after,:before{box-sizing:border-box}:root{--o1:cubic-bezier(.65, 1, .9, 1);--o2:cubic-bezier(.5, 1, .89, 1);--o3:cubic-bezier(.33, 1, .68, 1);--o4:cubic-bezier(.25, 1, .5, 1);--o5:cubic-bezier(.22, 1, .36, 1);--o6:cubic-bezier(.19, 1, .22, 1);--io1:cubic-bezier(.37, 0, .63, 1);--io2:cubic-bezier(.45, 0, .55, 1);--io3:cubic-bezier(.65, 0, .35, 1);--io4:cubic-bezier(.76, 0, .24, 1);--io5:cubic-bezier(.83, 0, .17, 1);--io6:cubic-bezier(.87, 0, .13, 1);--i1:cubic-bezier(.12, 0, .39, 0);--i2:cubic-bezier(.11, 0, .5, 0);--i3:cubic-bezier(.32, 0, .67, 0);--i4:cubic-bezier(.5, 0, .75, 0);--i5:cubic-bezier(.64, 0, .78, 0);--i6:cubic-bezier(.7, 0, .84, 0);--page-transition-duration:.4s;view-transition-name:root;--col:calc((min(100vw, var(--max-w)) - var(--pad) * 2 - (var(--cols) - 1) * var(--gap)) / var(--cols))}html{-webkit-tap-highlight-color:#0000;-webkit-text-size-adjust:none;-webkit-font-smoothing:antialiased;max-width:var(--max-w);scrollbar-gutter:stable;background:#fff;margin:0 auto;font-family:ABC Areal,Helvetica Neue,Helvetica,Arial,sans-serif;position:relative;overflow:hidden auto}body{background:#fff}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}::view-transition-old(root){animation-duration:var(--page-transition-duration);animation-timing-function:var(--io2)}::view-transition-new(root){animation-duration:var(--page-transition-duration);animation-timing-function:var(--io2)}@media (max-width:768px){::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}}@media (prefers-reduced-motion:reduce){::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:1000;color:#000;background:#fff;padding:.5rem 1rem;position:fixed;top:.5rem;left:.5rem;transform:translateY(-200%)}.skip-link:focus-visible{transform:none}#grid{max-width:var(--max-w);justify-content:space-between;gap:var(--gap);height:100%;padding:0 var(--pad);pointer-events:none;z-index:10000;margin:0 auto;display:flex;position:fixed;top:0;left:0;right:0}#grid .grid-col{background:var(--grid-color,red);height:100%;opacity:var(--grid-opacity,.15);transform-origin:top;flex:1 0 0;transform:scaleY(0)}html:has(#home){background:#000}html:has(#home) body{background:#000}#home{height:100svh;padding:var(--tile-pad);gap:var(--tile-gap);background:#000;flex-direction:column;display:flex;position:relative;overflow:hidden}#home .home-grid{justify-content:center;gap:var(--tile-gap);flex-direction:column;flex:1;width:100%;min-height:0;display:flex}#home .home-row{justify-content:center;gap:var(--tile-gap);display:flex}#home .home-tile{background:#000;flex:1 1 0;min-width:0;overflow:hidden}#home .home-tile a{cursor:pointer;width:100%;height:100%;display:block}#home .home-tile a:focus-visible{outline-offset:-3px;outline:3px solid #fff;box-shadow:inset 0 0 0 6px #000}#home .home-tile img{object-fit:contain;object-position:center;width:100%;height:100%;transition:filter .3s;display:block}@media (hover:hover) and (pointer:fine){#home .home-tile a:hover img{filter:brightness(1.1)}}#home .home-tile a:focus-visible img{filter:brightness(1.1)}@media (prefers-reduced-motion:reduce){#home .home-tile img{transition:none}}#home .home-footer{opacity:0;z-index:10;color:#fff;justify-content:space-between;align-items:center;font-size:.875rem;line-height:1.2;display:flex;position:relative}#home .home-footer .has-icon{align-items:center;display:flex}#home .home-footer .home-footer-group:has(.has-icon){gap:.25rem}#home .home-footer .home-footer-icon{filter:invert();width:2rem;height:2rem;display:block}#home .home-footer .home-footer-group{gap:var(--gap);display:flex}@media (max-width:768px){#home .home-footer .home-footer-group{flex-direction:column;gap:.25rem}#home .home-footer .home-footer-group:last-child{align-items:flex-end}}#home .home-footer .home-footer-label{align-items:center;min-height:2.75rem;display:inline-flex}#home .home-footer a{align-items:center;min-height:2.75rem;transition:opacity .2s;display:inline-flex}#home .home-footer a:hover{opacity:.6}#home .home-logo{z-index:5;pointer-events:none;opacity:0;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#home .home-logo img{width:calc((var(--col)*var(--logo-cols-d) + var(--gap)*(var(--logo-cols-d) - 1))*1.75);max-width:100%;height:auto}@media (max-width:768px){#home{height:auto;min-height:100svh;overflow:visible}#home .home-grid{flex:none}#home .home-tile{flex:none;width:100%}#home .home-logo img{width:calc((var(--col)*var(--logo-cols-m) + var(--gap)*(var(--logo-cols-m) - 1))*1.75)}}html:has(.project-hero){background:#000}html:has(.project-hero) body{background:#000}.project-hero{color:#fff;background:#000;height:100svh;position:relative;overflow:hidden}.project-hero .project-media{padding:calc(var(--pad)*2);background:#000;display:grid;position:absolute;inset:0}.project-hero .project-media img,.project-hero .project-media iframe{border:0;grid-area:1/1;width:100%;min-width:0;height:100%;min-height:0}.project-hero .project-media img{object-fit:contain}.project-hero .project-back{top:var(--pad);left:var(--pad);z-index:2;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff26;border-radius:50%;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;transition:background-color .2s;display:flex;position:absolute}.project-hero .project-back svg{width:1rem;height:1rem;transform:scaleX(-1)}.project-hero .project-back:hover{background:#ffffff4d}html:has(#not-found){background:#000}html:has(#not-found) body{background:#000}#not-found{width:100%;min-height:100svh;padding:var(--pad);color:#fff;text-align:center;background:#000;justify-content:center;align-items:center;display:flex}#not-found h1{letter-spacing:-.04em;margin:0;font-size:clamp(6rem,22vw,20rem);font-weight:400;line-height:1}html:has(#contact){background:#000}html:has(#contact) body{background:#000}#contact{height:100svh;padding:clamp(1rem,3svh,2rem) var(--pad);color:#fff;text-align:center;background:#000}#contact .contact-content{flex-direction:column;justify-content:center;align-items:center;gap:clamp(.5rem,1.8svh,1rem);width:min(100%,32rem);height:100%;margin:0 auto;display:flex}#contact .contact-content>:not(.contact-photo){flex-shrink:0}#contact h1{margin:0;font-size:clamp(.875rem,2svh,1.125rem);font-weight:400;line-height:1.3}#contact .contact-photo{object-fit:contain;flex:0 auto;width:100%;height:auto;min-height:0;display:block}#contact .contact-people{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;width:100%;display:grid}#contact .contact-person{flex-direction:column;gap:clamp(.25rem,1svh,.5rem);min-width:0;font-size:clamp(.75rem,1.6svh,.875rem);font-style:normal;line-height:1.35;display:flex}#contact .contact-email{overflow-wrap:anywhere}#contact .contact-phone{white-space:nowrap}#contact .contact-socials{justify-content:center;align-items:center;gap:.25rem;display:flex}#contact .contact-socials a{justify-content:center;align-items:center;width:2.75rem;height:2.75rem;display:flex}#contact .contact-socials img{object-fit:contain;filter:invert();width:1.5rem;height:1.5rem;display:block}#contact .contact-logo{width:8rem;max-width:100%;margin:0 auto;display:block}#contact .contact-logo img{width:100%;height:auto;display:block}#contact a{transition:opacity .2s}#contact a:hover{opacity:.65}@media (prefers-reduced-motion:reduce){#contact a{transition:none}}
