@keyframes astroFadeInOut {
	from {
		opacity: 1;
	}
	to {
		opacity: 0;
	}
}

@keyframes astroFadeIn {
	from {
		opacity: 0;
		mix-blend-mode: plus-lighter;
	}
	to {
		opacity: 1;
		mix-blend-mode: plus-lighter;
	}
}

@keyframes astroFadeOut {
	from {
		opacity: 1;
		mix-blend-mode: plus-lighter;
	}
	to {
		opacity: 0;
		mix-blend-mode: plus-lighter;
	}
}

@keyframes astroSlideFromRight {
	from {
		transform: translateX(100%);
	}
}

@keyframes astroSlideFromLeft {
	from {
		transform: translateX(-100%);
	}
}

@keyframes astroSlideToRight {
	to {
		transform: translateX(100%);
	}
}

@keyframes astroSlideToLeft {
	to {
		transform: translateX(-100%);
	}
}

@media (prefers-reduced-motion) {
	::view-transition-group(*),
	::view-transition-old(*),
	::view-transition-new(*) {
		animation: none !important;
	}

	[data-astro-transition-scope] {
		animation: none !important;
	}
}
@font-face {
  font-family: 'Inter Tight';
  src: url('/fonts/inter-tight-latin-ext.woff2') format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: 'Inter Tight';
  src: url('/fonts/inter-tight-latin.woff2') format('woff2');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --home-background: #060606;
  --home-artwork-overlay: rgb(0 0 0 / 50%);
  --home-foreground: #fff;
  --home-font: 'Inter Tight', sans-serif;
  --home-weight: 700;
  --home-intro-weight: 400;
  --home-tracking: -0.02em;
  --home-intro-size: clamp(20px, 2.9709vw, 35.651px);
    --home-intro-width: 752.246px;
    --home-intro-leading: 1.3;
  --home-intro-x: 50%;
  --home-intro-y: 50%;
  --home-scene-half-width: 600px;
  --home-scene-half-height: 349.5px;
  --home-scene-mobile-shift: -8px;
  --home-artwork-scale: 0.95;
  --home-artwork-spacing: 1.03;
  --home-header-width: 288.116px;
  --home-header-height: 30.496px;
  --home-header-top: 21.188px;
  --home-header-inset: 12.028px;
  --home-header-size: 12.561px;
  --home-menu-height: 372.332px;
  --home-menu-expand-duration: 0.5s;
  --home-menu-links-duration: 0.2s;
  --home-menu-links-start: 0.15s;
  --home-menu-link-offset: 16px;
  --home-menu-motion-ease: power3.out;
  --home-menu-top: 48px;
  --home-menu-inset: 14.125px;
  --home-menu-primary-size: 40.7px;
  --home-menu-primary-leading: 44.484px;
  --home-menu-secondary-size: 21.409px;
  --home-menu-secondary-leading: 30.15px;
  --home-menu-group-gap: 44px;
  --home-menu-vertical-gutter: 16px;
  --home-touch-target: 44px;
  --home-border-width: 0.84px;
  --home-radius: 4px;
  --home-glass-tint: rgb(0 0 0 / 10%);
  --home-glass-border: rgb(255 255 255 / 18%);
  --home-glass-blur: 14px;
  --home-glass-shadow: inset 0 0 12px rgb(255 255 255 / 8%);
  --home-focus-width: 2px;
  --home-focus-offset: 4px;
  --home-focus-radius: 2px;
  --home-underline-width: 1px;
  --home-underline-offset: 0.12em;
  /* Inter Tight: (1984 ascent - 494 descent) / (2 * 2048 units). */
  --home-font-baseline-offset: 0.36376953125em;
  --home-underline-duration: 0.3s;
  --home-underline-ease: ease;
  --home-stagger: 0.025s;
  --home-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --home-motion-drift-x: -1.25;
  --home-motion-drift-y: -0.75;
  --home-motion-damping: 0.065;
  --home-motion-response: 0.08;
  --home-motion-parallax: 6;
  --home-motion-key-step: 90;
  --scroll-lerp: 0.1;
  --scroll-driver-size: 1px;
  --scroll-driver-extent: 100001px;
  --work-color: #fffffa;
  --work-menu-glass-tint: rgb(0 0 0 / 68%);
  --work-font-size: 44.243px;
  --work-mobile-font-size: 34.808px;
  --work-leading: 1.3;
  --work-angle: -22.93deg;
  --work-step: 60.73;
  --work-mobile-step: 47.77;
  /* Release velocity is px/s; friction is per second; sampling window is ms. */
  --work-swipe-friction: 3.5;
  --work-swipe-max-speed: 6000;
  --work-swipe-stop-speed: 12;
  --work-swipe-sample-window: 90;
  --work-origin-x: -324.51px;
  --work-origin-y: -344.87px;
  --work-mobile-origin-y: -347.762px;
  --work-inactive-opacity: 0.1;
  --work-fade-duration: 0.3s;
  --work-preview-width: 469.523px;
  --work-preview-ratio: 355.027 / 197.399;
  --work-preview-left: 35.685px;
  --work-preview-bottom: 33.96px;
  --work-preview-radius: 8.346px;
  --work-card-background: #131313;
  --work-card-inset: 24px;
  --work-preview-card-size: 32px;
  --project-title-size: clamp(28px, 5vw, 64px);
  --project-title-leading: 1.05;
  --project-preview-max-width: 860px;
  --project-preview-top: 96px;
  --project-preview-gap: 24px;
  --project-preview-inset: 24px;
  --project-back-size: 14px;
  --project-column-width: min(87.1287vw, 1400px);
  /* Titles fill the same share of the page on every project; the font size follows. */
  --project-title-width: 39.1667vw;
  /* Titles start at the same height on every project; media starts a set gap below the title's last baseline. */
  --project-title-top: 71.21px;
  --project-media-gap: 20px;
  --project-media-bottom: 120px;
  --project-media-radius: 8px;
  --project-media-background: #101010;
  --project-title-fallback-size: 86.077px;
  --project-fit-title-leading: 0.9;
  --project-title-baseline-gap: 66.15px;
  /* Inter Tight at 0.9 leading: half the line box plus its font baseline offset. */
  --project-title-baseline: 0.81376953125;
  --project-title-fade-distance: 180;
  --project-title-dim-opacity: 0.2;
  --project-controls-bottom: 34.766px;
  --project-controls-gap: 25.674px;
  --project-control-inset: 12.028px;
  --project-neighbor-width: 71.537px;
  --project-info-control-width: 95.494px;
  --project-control-hover: rgb(0 0 0 / 28%);
  --project-play-background: rgb(0 0 0 / 75%);
  --project-small-gap: 8px;
  --project-info-width: 733.354px;
  --project-info-mobile-width: 302.877px;
  --project-info-mobile-gutter: 32px;
  --project-info-top: 140.35px;
  --project-info-bottom: 160px;
  --project-info-size: 25px;
  --project-info-leading: 1.4;
  --project-info-tracking: 0;
  /* One empty line between paragraphs, as in Figma. */
  --project-info-paragraph-gap: 1.4em;
  --project-info-fade-height: 170.859px;
  --project-info-blur: 4px;
  --project-info-mask-stop: 70%;
  --project-fade-transparent: rgb(6 6 6 / 0%);
  --project-info-motion-offset: 8;
  --project-info-motion-duration: 0.3;
  --project-info-ease: power2.out;
  --project-divider-height: 48px;
  --project-divider-before: 22.05px;
  --project-divider-after: 14.82px;
  --project-divider-amplitude: 24;
  --project-metadata-gap: 0px;
  --project-mobile-metadata-gap: 16px;
  --project-metadata-columns: 274.19px minmax(0, 1fr);
  --project-metadata-size: 25px;
  --project-metadata-heading-size: 16px;
  --project-metadata-weight: 400;
  --project-metadata-leading: 1.4;
  --project-metadata-heading-leading: 1.4;
  --project-metadata-heading-gap: 8.68px;
  --project-metadata-underline-offset: 0.08em;
  --project-mobile-column-width: 100%;
  --project-mobile-gutter: 16px;
  --project-mobile-title-top: 69.4px;
  --project-mobile-media-gap: 13.594px;
  --project-mobile-title-baseline-gap: 42.1px;
  --project-mobile-title-width: 74.4898vw;
  --project-mobile-title-size: 60px;
  --project-mobile-info-top: 72.902px;
  --project-mobile-info-size: 15.49px;
  --project-mobile-info-leading: 1.5;
  --project-mobile-info-paragraph-gap: 23.235px;
  --project-mobile-metadata-size: 16px;
  --project-mobile-metadata-heading-leading: 1.25;
  --project-mobile-metadata-heading-gap: 11.08px;
  --project-mobile-divider-before: 0px;
  --project-mobile-divider-after: 0px;
  --about-weight: 400;
  --about-top-inset: 101.2px;
  --about-bottom-inset: 38.33px;
  --about-left-inset: clamp(24px, 3.8133vw, 96px);
  --about-right-inset: clamp(20px, 3.2333vw, 84px);
  --about-eye-width: 51.2137vw;
  --about-eye-max-width: 1628px;
  /* At 1200 × 699 the eyes fill 50.55% of the space above the text, as in Figma. */
  --about-eye-height-share: 50.55cqh;
  --about-eye-ratio: 3.30894;
  --about-eye-min-height: 120px;
  --about-intro-width: 551.867px;
  --about-body-width: 540.439px;
  --about-bio-top: 4.1px;
  --about-bio-gap: 8.37px;
  --about-directory-top: 1.59px;
  --about-row-gap: 48px;
  --about-body-size: 16px;
  --about-bio-leading: 1.35;
  --about-tracking: 0;
  --about-label-leading: 1.25;
  --about-secondary-color: rgb(255 255 255 / 30%);
  --about-services-width: 133.08px;
  --about-features-width: 170.38px;
  --about-directory-gap: 0px;
  --about-label-size: 12px;
  --about-label-underline-offset: 0.07em;
  --about-list-size: 12px;
  --about-list-leading: 1.35;
  --about-list-gap: 14.08px;
  --about-client-column-width: 109.84px;
  --about-client-gap: 0px;
  --about-divider-height: 48px;
  --about-divider-width: 100%;
  --about-divider-offset: 0px;
  --about-divider-before: 0px;
  --about-divider-after: 0px;
  --about-divider-amplitude: 18;
  --about-mobile-body-size: 22px;
  --about-mobile-label-size: 18px;
  --about-mobile-list-size: 17px;
  --about-mobile-services-width: 119px;
  --about-mobile-directory-gap: clamp(24px, calc(26.27vw - 245px), 70.236px);
  --about-mobile-client-column-width: 136px;
  --about-mobile-list-gap: 8.58px;
  --about-mobile-divider-amplitude: 38;
  --about-mobile-width: 296.963px;
  --about-mobile-offset: 1.736px;
  --about-mobile-gutter: 24px;
  --about-mobile-top: 230.619px;
  --about-mobile-bottom: 22px;
  --about-mobile-eye-top: 118.149px;
  --about-mobile-eye-left: 8.315px;
  --about-mobile-eye-width: 117.232px;
  --about-mobile-eye-height: 35.429px;
  --about-mobile-intro-width: 314.002px;
  --about-mobile-intro-height: 120px;
  --about-mobile-bio-gap: 18.08px;
  --about-mobile-divider-height: 76px;
  --about-mobile-divider-before: -0.288px;
  --about-mobile-divider-after: 2.985px;
  --about-mobile-directory-offset: 1.315px;
  --about-mobile-features-top: 28.744px;
  --about-mobile-features-after: 41.475px;
  --about-tablet-directory-gap: 32px;
  --about-mobile-client-gap: 30.607px;
  --about-tablet-width: 560px;
  --about-tablet-gutter: 50px;
  /* Page transition (Codrops/Barba example 3): curve covers, then reveals. */
  --page-transition-color: #000;
  /* Above everything, including the header. */
  --page-transition-layer: 100;
  --page-transition-cover-duration: 0.48s;
  --page-transition-cover-overlap: 0.24;
  --page-transition-cover-ease: sine;
  --page-transition-reveal-duration: 0.28s;
  --page-transition-reveal-overlap: 0.28;
  --page-transition-reveal-ease: sine.in;
  /* 404 (Figma 27:6314, 1200 × 699). */
  --notfound-mark-width: 666.501px;
  --notfound-gutter: 24px;
  --notfound-offset: 37.65px;
  --notfound-weight: 400;
  --notfound-size: 22px;
  --notfound-leading: 1.25;
  --notfound-copy-width: 487.691px;
  --notfound-copy-gap: 69.94px;
  --notfound-link-gap: 5.5px;
  --notfound-handle-color: #fff;
  --notfound-handle-fill: #060606;
  --notfound-handle-active: #ff150e;
  --notfound-handle-size: 5;
  --divider-color: #fff;
  --divider-weight: 1;
  --divider-frequency: 2.6;
  --divider-damping: 0.72;
  --divider-sensitivity: 1;
  --divider-max-amplitude: 38;
  --divider-attack-duration: 0.09;
  --divider-attack-ease: sine.out;
  --divider-ring-taus: 4.5;
  --divider-reduced-gain: 0.4;
  --divider-reduced-duration: 0.6;
}

@media (max-width: 600px) {
  :root {
    --home-artwork-scale: 0.8;
    --home-artwork-spacing: 0.8;
  }
}
/* Route announcer */
	.astro-route-announcer {
		position: absolute;
		left: 0;
		top: 0;
		clip: rect(0 0 0 0);
		clip-path: inset(50%);
		overflow: hidden;
		white-space: nowrap;
		width: 1px;
		height: 1px;
	}.home-header[data-astro-cid-mo2gie5g] {
  position: fixed;
  z-index: 10;
  top: max(var(--home-header-top), env(safe-area-inset-top));
  left: 50%;
  width: min(var(--home-header-width), calc(100% - var(--home-menu-vertical-gutter) * 2));
  transform: translateX(-50%);
  letter-spacing: var(--home-tracking);
}

.home-header[data-astro-cid-mo2gie5g][data-backdrop="text"] {
  --home-glass-tint: var(--work-menu-glass-tint);
}

.menu-surface[data-astro-cid-mo2gie5g] {
  position: absolute;
  top: 0;
  inset-inline: 0;
  box-sizing: border-box;
  height: var(--home-header-height);
  border-radius: var(--home-radius);
  background: var(--home-glass-tint);
  border: var(--home-border-width) solid var(--home-glass-border);
  box-shadow: var(--home-glass-shadow);
  backdrop-filter: blur(var(--home-glass-blur));
  -webkit-backdrop-filter: blur(var(--home-glass-blur));
}

.menu-bar[data-astro-cid-mo2gie5g] {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--home-header-height);
  padding-inline: var(--home-header-inset);
}

.home-name[data-astro-cid-mo2gie5g] {
  position: relative;
  color: inherit;
  text-decoration: none;
  font-size: var(--home-header-size);
  line-height: 1;
}

.menu-toggle[data-astro-cid-mo2gie5g] {
  position: relative;
  display: grid;
  align-items: center;
  justify-items: end;
  border: 0;
  background: none;
  padding: 0;
  color: inherit;
  font: inherit;
  font-size: var(--home-header-size);
  line-height: 1;
  letter-spacing: inherit;
  cursor: pointer;
}

.menu-toggle[data-astro-cid-mo2gie5g]:after {
  content: "";
  position: absolute;
  min-width: var(--home-touch-target);
  min-height: var(--home-touch-target);
}

.toggle-labels[data-astro-cid-mo2gie5g] {
  display: grid;
  justify-items: end;
}

.menu-label[data-astro-cid-mo2gie5g], .close-label[data-astro-cid-mo2gie5g] {
  position: relative;
  grid-area: 1 / 1;
}

.close-label[data-astro-cid-mo2gie5g] {
  visibility: hidden;
}

.menu-content[data-astro-cid-mo2gie5g] {
  position: absolute;
  top: var(--home-menu-top);
  inset-inline: var(--home-menu-inset);
  visibility: hidden;
}

.primary-links[data-astro-cid-mo2gie5g] {
  display: flex;
  flex-direction: column;
  font-size: var(--home-menu-primary-size);
  line-height: var(--home-menu-primary-leading);
}

.secondary-links[data-astro-cid-mo2gie5g] {
  display: flex;
  flex-direction: column;
  margin-top: var(--home-menu-group-gap);
  padding-bottom: var(--home-menu-vertical-gutter);
  font-size: var(--home-menu-secondary-size);
  line-height: var(--home-menu-secondary-leading);
}

.menu-link[data-astro-cid-mo2gie5g] {
  position: relative;
  width: fit-content;
  max-width: 100%;
  color: inherit;
  text-decoration: none;
  opacity: 0;
  transform: translateY(var(--home-menu-link-offset));
}

.menu-link[data-astro-cid-mo2gie5g]:after, .home-name[data-astro-cid-mo2gie5g]:after, .menu-label[data-astro-cid-mo2gie5g]:after, .close-label[data-astro-cid-mo2gie5g]:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: calc(50% + var(--home-font-baseline-offset) + var(--home-underline-offset));
  height: var(--home-underline-width);
  background: currentColor;
  pointer-events: none;
  transform: scaleX(0);
  transform-origin: 100%;
  transition: transform var(--home-underline-duration) var(--home-underline-ease);
}

.menu-link[data-astro-cid-mo2gie5g]:hover:after, .menu-link[data-astro-cid-mo2gie5g]:focus-visible:after, .home-name[data-astro-cid-mo2gie5g]:hover:after, .menu-toggle[data-astro-cid-mo2gie5g]:hover .menu-label[data-astro-cid-mo2gie5g]:after, .menu-toggle[data-astro-cid-mo2gie5g]:hover .close-label[data-astro-cid-mo2gie5g]:after {
  transform: scaleX(1);
  transform-origin: 0;
}

.home-name[data-astro-cid-mo2gie5g]:focus-visible, .menu-toggle[data-astro-cid-mo2gie5g]:focus-visible, .menu-link[data-astro-cid-mo2gie5g]:focus-visible {
  outline: var(--home-focus-width) solid var(--home-foreground);
  outline-offset: var(--home-focus-offset);
  border-radius: var(--home-focus-radius);
}

.menu-toggle[data-astro-cid-mo2gie5g][aria-expanded="true"] .menu-label[data-astro-cid-mo2gie5g] {
  visibility: hidden;
}

.menu-toggle[data-astro-cid-mo2gie5g][aria-expanded="true"] .close-label[data-astro-cid-mo2gie5g] {
  visibility: visible;
}

@media (height <= 430px) {
  .menu-content[data-astro-cid-mo2gie5g] {
    max-height: calc(100svh - var(--home-header-top) - var(--home-menu-top) - var(--home-menu-vertical-gutter));
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}

@media (prefers-reduced-motion: reduce) {
  .menu-link[data-astro-cid-mo2gie5g]:after, .home-name[data-astro-cid-mo2gie5g]:after, .menu-label[data-astro-cid-mo2gie5g]:after, .close-label[data-astro-cid-mo2gie5g]:after {
    transition: none;
  }
}
html {
  background: var(--home-background);
  color: var(--home-foreground);
}

body {
  margin: 0;
  font-family: var(--home-font);
  font-weight: var(--home-weight);
  -webkit-font-smoothing: antialiased;
}

main[data-astro-cid-jcctqigg] {
  position: relative;
  height: 100svh;
  overflow: hidden;
}

.page-transition[data-astro-cid-jcctqigg] {
  position: fixed;
  inset: 0;
  z-index: var(--page-transition-layer);
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}

.page-transition[data-astro-cid-jcctqigg] svg[data-astro-cid-jcctqigg] {
  display: block;
  width: 100%;
  height: 100%;
}

.page-transition[data-astro-cid-jcctqigg] path[data-astro-cid-jcctqigg] {
  fill: var(--page-transition-color);
}
