.nav[data-astro-cid-dmqpwcec]{position:fixed;top:0;left:0;right:0;z-index:var(--z-nav);display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);mix-blend-mode:difference;color:var(--color-cream);pointer-events:none}.nav[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec]{pointer-events:auto}.nav__links[data-astro-cid-dmqpwcec]{display:flex;gap:var(--space-md)}.nav__link[data-astro-cid-dmqpwcec][aria-current=page]{color:var(--color-green)}@media(max-width:768px){.nav[data-astro-cid-dmqpwcec]{padding:var(--space-sm)}.nav__links[data-astro-cid-dmqpwcec]{gap:var(--space-sm)}}.footer[data-astro-cid-sz7xmlte]{position:relative;background-color:var(--color-black);padding:var(--space-xxl) var(--space-md) var(--space-lg);overflow:hidden;margin-top:var(--space-xxl)}.footer__watermark[data-astro-cid-sz7xmlte]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--font-display);font-size:var(--font-size-display-xxl);font-weight:400;line-height:.95;text-transform:uppercase;color:var(--color-grey-200);white-space:nowrap;user-select:none;pointer-events:none}.footer__colophon[data-astro-cid-sz7xmlte]{position:relative;z-index:1;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.35rem}.footer__title[data-astro-cid-sz7xmlte]{color:var(--color-grey-400);margin-bottom:var(--space-xs)}.footer__colophon[data-astro-cid-sz7xmlte] .caption[data-astro-cid-sz7xmlte]{color:var(--color-grey-400)}.footer__portfolio[data-astro-cid-sz7xmlte]{margin-top:var(--space-xs)}.footer__link[data-astro-cid-sz7xmlte]{font-family:var(--font-mono);font-size:var(--font-size-caption);color:var(--color-green);text-decoration:none;letter-spacing:.04em;transition:color .2s ease}.footer__link[data-astro-cid-sz7xmlte]:hover{color:var(--color-white)}.footer__year[data-astro-cid-sz7xmlte]{margin-top:var(--space-md);color:var(--color-green-dark)!important}.cursor[data-astro-cid-msvfyisy]{position:fixed;top:0;left:0;z-index:var(--z-cursor);pointer-events:none;will-change:transform}.cursor__dot[data-astro-cid-msvfyisy]{width:8px;height:8px;background-color:var(--color-green);border-radius:50%;transform:translate(-50%,-50%);will-change:width,height,background-color}.cursor__label[data-astro-cid-msvfyisy]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--font-mono);font-size:.625rem;text-transform:uppercase;letter-spacing:.08em;color:#fff;opacity:0;pointer-events:none;white-space:nowrap}@media(pointer:coarse){.cursor[data-astro-cid-msvfyisy]{display:none}}.transition-layer[data-astro-cid-aknfokio]{position:fixed;inset:0;z-index:var(--z-transition);background-color:var(--color-green-dark);transform:scaleY(0);transform-origin:bottom;pointer-events:none;will-change:transform;display:flex;align-items:center;justify-content:center}.transition-layer__logo[data-astro-cid-aknfokio]{width:clamp(96px,10vw,132px);aspect-ratio:1;padding:clamp(.5rem,.9vw,.8rem);border:1px solid rgba(107,138,173,.45);background:#02060c5c;box-shadow:0 18px 44px #0006;opacity:0}.transition-layer__logo[data-astro-cid-aknfokio] .transition-layer__logo-img{width:100%;height:100%;display:block;object-fit:contain;filter:none}.transition-layer__image[data-astro-cid-aknfokio]{position:absolute;inset:0;display:none;align-items:center;justify-content:center;overflow:hidden}.transition-layer__image[data-astro-cid-aknfokio].is-active{display:flex}.transition-layer__image-inner[data-astro-cid-aknfokio]{position:absolute;inset:-5%;background-size:cover;background-position:center;filter:blur(0px) saturate(.8) brightness(.7);transform:scale(1.1)}.transition-layer__image-overlay[data-astro-cid-aknfokio]{position:absolute;inset:0;background:linear-gradient(180deg,#1c2e4580,#1c2e454d 40%,#1c2e4599);opacity:0}.transition-layer__image-title[data-astro-cid-aknfokio]{position:relative;z-index:2;width:100%;font-family:var(--font-display);font-size:clamp(1.8rem,4vw,3.2rem);font-weight:400;line-height:1.15;letter-spacing:-.01em;color:var(--color-white);text-align:center;max-width:36rem;margin:0 auto;padding:0 var(--space-md);opacity:0}:root{--color-black: #06080e;--color-white: #c8cdd8;--color-cream: #0b0d14;--color-green: #6b8aad;--color-green-dim: #4a6a8a;--color-green-dark: #1c2e45;--color-grey-900: #0e1118;--color-grey-700: #1a2030;--color-grey-400: #3e4f6a;--color-grey-200: #1e2840;--color-halftone: rgba(107, 138, 173, .05);--font-size-display-xxl: clamp(6rem, 12vw, 14rem);--font-size-display-xl: clamp(4rem, 8vw, 9rem);--font-size-display-lg: clamp(2.5rem, 5vw, 5.5rem);--font-size-display-md: clamp(1.8rem, 3vw, 3rem);--font-size-body-lg: clamp(1.125rem, 1.4vw, 1.35rem);--font-size-body: clamp(1rem, 1.15vw, 1.15rem);--font-size-caption: clamp(.75rem, .9vw, .875rem);--font-size-overline: clamp(.65rem, .75vw, .75rem);--font-display: "Instrument Serif", "Georgia", serif;--font-accent: "Syne", "Trebuchet MS", sans-serif;--font-watermark: "Rubik Burned", "Georgia", serif;--font-body: "Inter", "Helvetica Neue", "Helvetica", sans-serif;--font-mono: "Special Elite", "Courier New", monospace;--space-xs: .5rem;--space-sm: 1rem;--space-md: 2rem;--space-lg: 4rem;--space-xl: 8rem;--space-xxl: 12rem;--z-content: 1;--z-nav: 100;--z-cursor: 500;--z-transition: 1000;--z-preloader: 2000;--duration-fast: .3s;--duration-normal: .6s;--duration-slow: 1.2s;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.76, 0, .24, 1)}@font-face{font-family:Rubik Burned;src:url(/fonts/RubikBurned-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Slackey;src:url(/fonts/Slackey-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Special Elite;src:url(/fonts/SpecialElite-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:auto}body{font-family:var(--font-body);font-size:var(--font-size-body);line-height:1.6;color:var(--color-white);background-color:var(--color-cream);overflow-x:hidden}*,*:before,*:after{cursor:none}@media(pointer:coarse){*,*:before,*:after{cursor:auto}}a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button{font:inherit;color:inherit;background:none;border:none}ul,ol{list-style:none}::selection{background-color:var(--color-green);color:var(--color-black)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.grain{position:fixed;inset:0;z-index:9999;pointer-events:none;mix-blend-mode:overlay}.display-xxl{font-family:var(--font-display);font-size:var(--font-size-display-xxl);font-weight:400;line-height:.95;letter-spacing:-.02em;text-transform:uppercase}.display-xl{font-family:var(--font-display);font-size:var(--font-size-display-xl);font-weight:400;line-height:.95;letter-spacing:-.02em;text-transform:uppercase}.display-lg{font-family:var(--font-accent);font-size:var(--font-size-display-lg);font-weight:700;line-height:1.05;letter-spacing:-.01em}.display-md{font-family:var(--font-accent);font-size:var(--font-size-display-md);font-weight:700;line-height:1.1;letter-spacing:-.01em}.body-lg{font-family:var(--font-body);font-size:var(--font-size-body-lg);font-weight:400;line-height:1.7;color:var(--color-green-dim)}.body{font-family:var(--font-body);font-size:var(--font-size-body);font-weight:400;line-height:1.65;color:var(--color-green-dim)}.overline{font-family:var(--font-mono);font-size:var(--font-size-overline);font-weight:400;text-transform:uppercase;letter-spacing:.12em;color:var(--color-grey-400)}.caption{font-family:var(--font-mono);font-size:var(--font-size-caption);font-weight:400;color:var(--color-grey-400)}.text-link{position:relative;display:inline-block}.text-link:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:1px;background-color:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease-out-expo)}.text-link:hover:after{transform:scaleX(1)}
