.debug-outline{outline:1px solid red}.debug-outline>*{outline:1px solid blue}.debug-outline>*>*{outline:1px solid green}.navbar[data-astro-cid-o5wx45wj]{position:fixed;top:0;left:0;width:100%;height:80px;border:1px solid #ffffff;z-index:100;overflow:hidden;background:#000;transition:height .5s cubic-bezier(.33,1,.68,1)}.navbar[data-astro-cid-o5wx45wj].open{height:100vh}.nav-grid[data-astro-cid-o5wx45wj]{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:80px 0px 0px;width:100%;height:100%;background:#000;transition:grid-template-rows .5s cubic-bezier(.33,1,.68,1)}.nav-grid[data-astro-cid-o5wx45wj].row2-open{grid-template-rows:80px calc(100vh - 160px) 0px}.nav-grid[data-astro-cid-o5wx45wj].row3-open{grid-template-rows:80px calc(100vh - 160px) 80px}.cell[data-astro-cid-o5wx45wj]{background:#000;padding:0 24px;overflow:hidden}.cell-row2[data-astro-cid-o5wx45wj]{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);background:#000;padding:0}.nav-empty[data-astro-cid-o5wx45wj]{background:#000}.nav-card[data-astro-cid-o5wx45wj]{display:flex;align-items:center;justify-content:center;background:#000;overflow:hidden;color:#fff;transition:background .4s ease;font-family:Parabolica,sans-serif;font-size:clamp(2.5rem,10vw,72px);text-transform:uppercase;text-decoration:none;height:100%}.cell-1[data-astro-cid-o5wx45wj],.cell-2[data-astro-cid-o5wx45wj],.cell-3[data-astro-cid-o5wx45wj],.cell-7[data-astro-cid-o5wx45wj],.cell-8[data-astro-cid-o5wx45wj],.cell-9[data-astro-cid-o5wx45wj]{display:flex;align-items:center;color:#fff;text-decoration:none}.cell-1[data-astro-cid-o5wx45wj]{justify-content:flex-start;border-right:1px solid #ffffff;border-bottom:1px solid #ffffff}.cell-2[data-astro-cid-o5wx45wj]{justify-content:center;cursor:pointer;border-right:1px solid #ffffff;border-bottom:1px solid #ffffff}.cell-3[data-astro-cid-o5wx45wj]{justify-content:flex-end;border-bottom:1px solid #ffffff}.cell-7[data-astro-cid-o5wx45wj]{justify-content:flex-start;border-right:1px solid #ffffff;border-top:1px solid #ffffff}.cell-8[data-astro-cid-o5wx45wj]{justify-content:center;border-right:1px solid #ffffff;border-top:1px solid #ffffff}.cell-9[data-astro-cid-o5wx45wj]{justify-content:flex-end;border-top:1px solid #ffffff}.cell-row2[data-astro-cid-o5wx45wj]>[data-astro-cid-o5wx45wj]:not(:nth-child(3n)){border-right:1px solid #ffffff}.cell-row2[data-astro-cid-o5wx45wj]>[data-astro-cid-o5wx45wj]:nth-child(-n+6){border-bottom:1px solid #ffffff}.nav-card[data-astro-cid-o5wx45wj] span[data-astro-cid-o5wx45wj],.cell-7[data-astro-cid-o5wx45wj] span[data-astro-cid-o5wx45wj],.cell-8[data-astro-cid-o5wx45wj] span[data-astro-cid-o5wx45wj],.cell-9[data-astro-cid-o5wx45wj] span[data-astro-cid-o5wx45wj]{opacity:0;transition:opacity 80ms ease}.navbar[data-astro-cid-o5wx45wj].open .nav-card[data-astro-cid-o5wx45wj]{background:#00f;transition:background .4s ease .25s}.navbar[data-astro-cid-o5wx45wj].open .nav-card[data-astro-cid-o5wx45wj]:hover{background:red;transition:background .35s ease}.navbar[data-astro-cid-o5wx45wj].open .cell-9[data-astro-cid-o5wx45wj] span[data-astro-cid-o5wx45wj]{opacity:1;transition:opacity .22s ease .18s}.navbar[data-astro-cid-o5wx45wj].open .cell-8[data-astro-cid-o5wx45wj] span[data-astro-cid-o5wx45wj]{opacity:1;transition:opacity .22s ease .22s}.navbar[data-astro-cid-o5wx45wj].open .cell-7[data-astro-cid-o5wx45wj] span[data-astro-cid-o5wx45wj]{opacity:1;transition:opacity .22s ease .26s}.navbar[data-astro-cid-o5wx45wj].open .cell-row2[data-astro-cid-o5wx45wj]>[data-astro-cid-o5wx45wj]:nth-child(9) span[data-astro-cid-o5wx45wj]{opacity:1;transition:opacity .22s ease .55s}.navbar[data-astro-cid-o5wx45wj].open .cell-row2[data-astro-cid-o5wx45wj]>[data-astro-cid-o5wx45wj]:nth-child(5) span[data-astro-cid-o5wx45wj]{opacity:1;transition:opacity .22s ease .71s}.navbar[data-astro-cid-o5wx45wj].open .cell-row2[data-astro-cid-o5wx45wj]>[data-astro-cid-o5wx45wj]:nth-child(1) span[data-astro-cid-o5wx45wj]{opacity:1;transition:opacity .22s ease .87s}.site-footer[data-astro-cid-mh6itkc3]{width:100%;border-top:1px solid #1a1a1a;padding:32px 40px;display:flex;flex-direction:column;align-items:center;gap:8px}.footer-email[data-astro-cid-mh6itkc3]{font-size:var(--text-body);color:#ededed;text-decoration:none;transition:opacity .15s ease}.footer-email[data-astro-cid-mh6itkc3]:hover{opacity:.6}.footer-copy[data-astro-cid-mh6itkc3]{font-size:var(--text-caption);letter-spacing:var(--text-caption-tracking);color:#333;text-transform:uppercase;text-align:center}@keyframes panelSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes panelSlideDown{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes tintSweepUp{0%{transform:translateY(100%);opacity:1}25%{transform:translateY(0);opacity:1}to{transform:translateY(0);opacity:0}}#project-lightbox[data-astro-cid-mb6mxxkp]{position:fixed;inset:0;z-index:10000;pointer-events:none}#project-lightbox[data-astro-cid-mb6mxxkp].open{pointer-events:all}.backdrop[data-astro-cid-mb6mxxkp]{position:absolute;inset:0;background:transparent;cursor:pointer;opacity:0;transition:opacity .3s ease}#project-lightbox[data-astro-cid-mb6mxxkp].open .backdrop[data-astro-cid-mb6mxxkp]{opacity:1}.lightbox-black-overlay[data-astro-cid-mb6mxxkp]{position:fixed;inset:0;pointer-events:none;z-index:1;background:#000000e6;opacity:0;transition:opacity .2s cubic-bezier(0,0,.2,1)}#project-lightbox[data-astro-cid-mb6mxxkp].open .lightbox-black-overlay[data-astro-cid-mb6mxxkp]{opacity:1}#project-lightbox[data-astro-cid-mb6mxxkp].closing .lightbox-black-overlay[data-astro-cid-mb6mxxkp]{opacity:0;transition:opacity .3s ease}.tint-sweep[data-astro-cid-mb6mxxkp]{position:fixed;bottom:0;left:0;width:100vw;height:100dvh;background:linear-gradient(to top,var(--sweep-tint, transparent) 0%,transparent 80%);transform:translateY(100%);pointer-events:none;z-index:99;opacity:0}#project-lightbox[data-astro-cid-mb6mxxkp].open .tint-sweep[data-astro-cid-mb6mxxkp]{animation:tintSweepUp 1.2s cubic-bezier(0,0,.2,1) forwards}#project-lightbox[data-astro-cid-mb6mxxkp].closing .tint-sweep[data-astro-cid-mb6mxxkp]{animation:panelSlideDown .3s ease-in forwards}.panel[data-astro-cid-mb6mxxkp]{position:fixed;bottom:0;left:0;width:100vw;height:100dvh;z-index:100;background:#000;padding-top:16px;display:flex;flex-direction:column;transform:translateY(100%);overscroll-behavior:contain}#project-lightbox[data-astro-cid-mb6mxxkp].open .panel[data-astro-cid-mb6mxxkp]{animation:panelSlideUp 1.2s cubic-bezier(.22,1,.36,1) forwards}.panel[data-astro-cid-mb6mxxkp]:before{content:"";position:absolute;top:0;left:0;right:0;height:300px;background:linear-gradient(to bottom,color-mix(in srgb,var(--sweep-tint, transparent) 10%,transparent),transparent);pointer-events:none;z-index:101}#project-lightbox[data-astro-cid-mb6mxxkp].closing .panel[data-astro-cid-mb6mxxkp]{animation:panelSlideDown .3s ease-in forwards}#project-lightbox[data-astro-cid-mb6mxxkp].closing{pointer-events:none}#project-lightbox[data-astro-cid-mb6mxxkp].closing .backdrop[data-astro-cid-mb6mxxkp]{opacity:0}iframe[data-astro-cid-mb6mxxkp]{flex:1;width:100%;border:none;display:block;opacity:1;background:#0000;padding:32px 32px 0}@media(max-width:640px){iframe[data-astro-cid-mb6mxxkp]{padding:8px}}html.in-lightbox{height:100%;width:100%;overflow:hidden;background:none}html.in-lightbox #navbar{display:none}html.in-lightbox body{padding:0;margin:0;height:100%;width:100%;overflow:hidden;background:#000}html.in-lightbox #contact{display:none}html.in-lightbox main{padding-bottom:4px;margin:0;width:100%;display:flex;flex-direction:column;height:100%;overflow:hidden;overscroll-behavior:none;background:transparent}html.in-lightbox .project-page{width:100%;max-width:100%;overflow:hidden;overscroll-behavior:scroll;display:flex;flex-direction:column;gap:16px;background:transparent}html.in-lightbox .header-bg{display:none}html.in-lightbox .header{flex:0 0 auto;min-height:0;overflow:hidden;background:#000}html.in-lightbox .scrollBlock{flex:1 1 0;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;background:transparent;padding-top:32px;overscroll-behavior:none;border:.2px solid rgba(255,255,255,.1)}html.in-lightbox .scrollBlock::-webkit-scrollbar{display:none}html.in-lightbox,html.in-lightbox body{scrollbar-width:none}html.in-lightbox::-webkit-scrollbar,html.in-lightbox body::-webkit-scrollbar{display:none}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{overflow-x:clip;background:#000}html{scroll-padding-top:96px;color-scheme:dark}@view-transition{navigation:auto}::view-transition-old(root){animation:vt-out .22s ease forwards}::view-transition-new(root){animation:vt-in .32s ease .12s both}@keyframes vt-out{to{opacity:0}}@keyframes vt-in{0%{opacity:0}}:root{--text-display: clamp(64px, 8vw, 96px);--text-display-weight: 800;--text-display-tracking: -.03em;--text-display-lh: .98;--text-h1: clamp(40px, 5vw, 64px);--text-h1-weight: 800;--text-h1-tracking: -.02em;--text-h1-lh: 1;--text-h2: clamp(24px, 3vw, 36px);--text-h2-weight: 700;--text-h2-tracking: -.01em;--text-h2-lh: 1.15;--text-h3: 22px;--text-h3-weight: 600;--text-h3-tracking: 0em;--text-h3-lh: 1.2;--text-body: 16px;--text-body-weight: 400;--text-body-tracking: 0em;--text-body-lh: 1.65;--text-body-max-width: 60ch;--text-eyebrow: 12px;--text-eyebrow-weight: 500;--text-eyebrow-tracking: .12em;--text-eyebrow-lh: 1.3;--text-caption: 11px;--text-caption-weight: 500;--text-caption-tracking: .1em;--text-caption-lh: 1.3}body{background-color:#000;color:#ededed;font-family:Parabolica,sans-serif;font-size:var(--text-body);font-weight:var(--text-body-weight);line-height:var(--text-body-lh);-webkit-font-smoothing:antialiased}.text-display{font-size:var(--text-display);font-weight:var(--text-display-weight);letter-spacing:var(--text-display-tracking);line-height:var(--text-display-lh);text-transform:uppercase}.text-h1{font-size:var(--text-h1);font-weight:var(--text-h1-weight);letter-spacing:var(--text-h1-tracking);line-height:var(--text-h1-lh);text-transform:uppercase}.text-h2{font-size:var(--text-h2);font-weight:var(--text-h2-weight);letter-spacing:var(--text-h2-tracking);line-height:var(--text-h2-lh)}.text-h3{font-size:var(--text-h3);font-weight:var(--text-h3-weight);letter-spacing:var(--text-h3-tracking);line-height:var(--text-h3-lh)}.text-eyebrow{font-size:var(--text-eyebrow);font-weight:var(--text-eyebrow-weight);letter-spacing:var(--text-eyebrow-tracking);line-height:var(--text-eyebrow-lh);text-transform:uppercase}.text-caption{font-size:var(--text-caption);font-weight:var(--text-caption-weight);letter-spacing:var(--text-caption-tracking);line-height:var(--text-caption-lh);text-transform:uppercase}h1{font-size:var(--text-h1);font-weight:var(--text-h1-weight);letter-spacing:var(--text-h1-tracking);line-height:var(--text-h1-lh);text-transform:uppercase}h2{font-size:var(--text-h2);font-weight:var(--text-h2-weight);letter-spacing:var(--text-h2-tracking);line-height:var(--text-h2-lh)}h3{font-size:var(--text-h3);font-weight:var(--text-h3-weight);letter-spacing:var(--text-h3-tracking);line-height:var(--text-h3-lh)}p,li,span{font-size:var(--text-body);font-weight:var(--text-body-weight);letter-spacing:var(--text-body-tracking);line-height:var(--text-body-lh)}small{font-size:var(--text-caption);font-weight:var(--text-caption-weight);letter-spacing:var(--text-caption-tracking);line-height:var(--text-caption-lh)}#navbar{transform:translateY(-100%);pointer-events:none;transition:transform .3s ease}#navbar.visible{transform:translateY(0);pointer-events:auto}.cursor-glow{position:fixed;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.08) 0%,rgba(255,255,255,.04) 40%,transparent 100%);pointer-events:none;z-index:1;transform:translate(-50%,-50%);will-change:left,top;filter:blur(40px)}
