@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/geist-mono-latin-400-normal.ao2e9zgx.woff2) format("woff2"),url(/_astro/geist-mono-latin-400-normal.CQcZBlNU.woff) format("woff")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/geist-mono-latin-500-normal.BVhiqmI_.woff2) format("woff2"),url(/_astro/geist-mono-latin-500-normal.CFjnXB2L.woff) format("woff")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/geist-mono-latin-700-normal.3h8dqSJy.woff2) format("woff2"),url(/_astro/geist-mono-latin-700-normal.6Y0jea9D.woff) format("woff")}@font-face{font-family:Geist Mono;font-style:normal;font-display:swap;font-weight:900;src:url(/_astro/geist-mono-latin-900-normal.C6ysQWWk.woff2) format("woff2"),url(/_astro/geist-mono-latin-900-normal.DIb-yZKL.woff) format("woff")}:root{--color-midnight: #001A11;--color-midnight-rgb: 0, 26, 17;--color-starlight: #E0E0E0;--color-starlight-rgb: 224, 224, 224;--color-treescape: #887850;--color-treescape-rgb: 136, 120, 80;--color-night-shine: #00BC44;--color-night-shine-rgb: 0, 188, 68;--color-background-translucent: #001A11CC;--color-background-opacity: .8}:root[data-theme=light]{--color-background: var(--color-starlight);--color-background-rgb: var(--color-starlight-rgb);--color-text: var(--color-midnight);--color-text-rgb: var(--color-midnight-rgb);--color-accent: var(--color-treescape);--color-accent-rgb: var(--color-treescape-rgb);--color-accent-secondary: var(--color-night-shine);--color-accent-secondary-rgb: var(--color-night-shine-rgb);--color-background-translucent: rgba(var(--color-starlight-rgb), var(--color-background-opacity))}:root[data-theme=dark]{--color-background: var(--color-midnight);--color-background-rgb: var(--color-midnight-rgb);--color-text: var(--color-starlight);--color-text-rgb: var(--color-starlight-rgb);--color-accent: var(--color-night-shine);--color-accent-rgb: var(--color-night-shine-rgb);--color-accent-secondary: var(--color-treescape);--color-accent-secondary-rgb: var(--color-treescape-rgb);--color-background-translucent: rgba(var(--color-midnight-rgb), var(--color-background-opacity))}.texture-layer{position:fixed;top:-512px;left:-512px;width:calc(100% + 1024px);height:calc(100% + 1024px);pointer-events:none;opacity:.25;z-index:1;background-image:url(/images/noise-mosaic.webp);background-repeat:repeat;background-size:512px 512px;mix-blend-mode:overlay;animation:noiseScroll 40s linear infinite}.content-layer{position:relative;z-index:2}.has-texture{position:relative;overflow:hidden}.has-texture:after{content:"";position:absolute;top:-512px;left:-512px;width:calc(100% + 1024px);height:calc(100% + 1024px);pointer-events:none;opacity:.08;background-image:url(/images/noise-mosaic.webp);background-repeat:repeat;background-size:512px 512px;mix-blend-mode:overlay;animation:noiseScroll 40s linear infinite;z-index:1}.has-texture-hover{position:relative;overflow:hidden}.has-texture-hover:after{content:"";position:absolute;top:-512px;left:-512px;width:calc(100% + 1024px);height:calc(100% + 1024px);pointer-events:none;opacity:0;background-image:url(/images/noise-mosaic.webp);background-repeat:repeat;background-size:512px 512px;mix-blend-mode:overlay;animation:noiseScroll 40s linear infinite;z-index:1;transition:opacity .3s ease}.has-texture-hover:hover:after{opacity:.07}.card.has-texture-hover:after{z-index:2}@keyframes noiseScroll{0%{transform:translate(0)}to{transform:translate(-512px,-512px)}}@keyframes slideUp{0%{opacity:0;transform:translateY(60px)}to{opacity:1;transform:translateY(0)}}@keyframes slideLeft{0%{opacity:0;transform:translate(-80px)}to{opacity:1;transform:translate(0)}}@keyframes slideRight{0%{opacity:0;transform:translate(80px)}to{opacity:1;transform:translate(0)}}@keyframes scaleReveal{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes wipeIn{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}@keyframes rotateIn{0%{opacity:0;transform:rotate(-10deg) scale(.9)}to{opacity:1;transform:rotate(0) scale(1)}}@keyframes drawLine{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-slide-up{animation:slideUp .8s cubic-bezier(.16,1,.3,1) forwards}.animate-slide-left{animation:slideLeft .8s cubic-bezier(.16,1,.3,1) forwards}.animate-slide-right{animation:slideRight .8s cubic-bezier(.16,1,.3,1) forwards}.animate-scale{animation:scaleReveal .6s cubic-bezier(.16,1,.3,1) forwards}.animate-wipe{animation:wipeIn .8s cubic-bezier(.16,1,.3,1) forwards}.animate-rotate{animation:rotateIn .6s cubic-bezier(.16,1,.3,1) forwards}.animate-fade{animation:fadeIn .5s ease-out forwards}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}.delay-4{animation-delay:.4s}.delay-5{animation-delay:.5s}.delay-6{animation-delay:.6s}.delay-7{animation-delay:.7s}.delay-8{animation-delay:.8s}.anim-ready{opacity:0}.smooth{transition:all .4s cubic-bezier(.16,1,.3,1)}.accent-bar{display:block;height:4px;background:var(--color-accent);transform-origin:left;animation:drawLine .6s cubic-bezier(.16,1,.3,1) forwards}.accent-bar-vertical{display:block;width:4px;background:var(--color-accent);transform-origin:top;animation:drawLine .6s cubic-bezier(.16,1,.3,1) forwards}.geo-circle{position:absolute;border-radius:50%;border:3px solid var(--color-accent);pointer-events:none}.geo-square{position:absolute;border:3px solid var(--color-accent-secondary);pointer-events:none;transform:rotate(45deg)}.hover-lift{transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1)}.hover-lift:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(var(--color-text-rgb),.15)}.hover-underline{position:relative}.hover-underline:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:3px;background:var(--color-accent);transform:scaleX(0);transform-origin:right;transition:transform .3s cubic-bezier(.16,1,.3,1)}.hover-underline:hover:after{transform:scaleX(1);transform-origin:left}:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.texture-layer{animation:none}}
