@font-face{font-family:inter;src:url(../media/Inter_Regular-s.p.0vig85~_2mxl3.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:inter;src:url(../media/Inter_Bold-s.p.17~mssnzv.d-8.woff2)format("woff2");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:inter Fallback;src:local(Arial);ascent-override:89.79%;descent-override:22.36%;line-gap-override:0.0%;size-adjust:107.89%}.inter_a07fd925-module___mwJIa__className{font-family:inter,inter Fallback}.inter_a07fd925-module___mwJIa__variable{--font-inter:"inter", "inter Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{box-sizing:border-box;margin:0;padding:0}html{background:#09090b}body{color:#f8f9fa;font-family:var(--font-inter), -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#09090b;min-height:100vh;overflow-x:hidden}body:has(.scroll-root){height:100dvh;overflow:hidden}a,button,[role=button],.nav-link,.project-link,.cv-download-btn,.craft-card-primary-btn,.craft-card-secondary-btn,.scroll-indicator{cursor:pointer}}@layer components;@layer utilities{.\!visible{visibility:visible!important}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}}:root{--scroll-progress:0}.scroll-root{scroll-behavior:auto;-webkit-overflow-scrolling:touch;width:100vw;height:100dvh;position:relative;overflow:hidden auto}.scroll-root::-webkit-scrollbar{display:none}.scroll-root{scrollbar-width:none}@media (pointer:coarse){.scroll-root{scroll-snap-type:y proximity;scroll-behavior:smooth}}.hero-section{background:#f8f9fa;width:100%;height:100vh;position:relative;overflow:hidden}@media (pointer:coarse){.hero-section{scroll-snap-align:start}}.hero-canvas-wrap{z-index:0;will-change:opacity;transition:opacity .1s linear;position:absolute;inset:0}.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}.scroll-indicator{z-index:40;cursor:pointer;pointer-events:auto;opacity:.5;flex-direction:column;align-items:center;gap:8px;transition:opacity .4s;display:flex;position:absolute;bottom:36px;left:50%;transform:translate(-50%)}.scroll-indicator:hover{opacity:1}.scroll-indicator-text{font-family:var(--font-inter), sans-serif;letter-spacing:.25em;color:#18181b80;font-size:10px;font-weight:600}.scroll-indicator-line{background:#18181b4d;width:1px;height:28px;animation:2s ease-in-out infinite scroll-pulse}@keyframes scroll-pulse{0%,to{opacity:.3;transform:scaleY(.6)}50%{opacity:1;transform:scaleY(1)}}.datum-header{box-sizing:border-box;-webkit-user-select:none;user-select:none;background:#f8f9fae0;justify-content:space-between;align-items:center;width:100%;height:52px;padding:0 clamp(16px,3.5vw,44px);display:flex;position:relative}@supports (color:color-mix(in lab, red, red)){.datum-header{background:color-mix(in oklch, #f8f9fae0 calc((1 - var(--scroll-progress,0)) * 100%), #09090be0)}}.datum-header{-webkit-backdrop-filter:blur(18px)saturate(180%);border-bottom:1px solid #18181b14}@supports (color:color-mix(in lab, red, red)){.datum-header{border-bottom:1px solid color-mix(in oklch, #18181b14 calc((1 - var(--scroll-progress,0)) * 100%), #ffffff14)}}.datum-header{color:#18181b}@supports (color:color-mix(in lab, red, red)){.datum-header{color:color-mix(in oklch, #18181b calc((1 - var(--scroll-progress,0)) * 100%), #f4f4f5)}}.datum-header{transition:background .25s cubic-bezier(.16,1,.3,1),border-color .25s,color .25s}.datum-zone{align-items:center;display:flex}.datum-brand{flex:none}.datum-brand-link{color:inherit;align-items:center;gap:8px;text-decoration:none;display:flex}.datum-monogram{letter-spacing:.16em;color:inherit;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;font-weight:700}.datum-coord-tag{letter-spacing:.06em;opacity:.55;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10.5px;font-weight:500}.coord-dot{opacity:.35;margin-right:2px}.datum-nav{flex:auto;justify-content:center;height:52px}.datum-nav-list{align-items:center;gap:4px;height:100%;margin:0;padding:0;list-style:none;display:flex}.datum-nav-item{align-items:center;height:100%;display:flex;position:relative}.datum-nav-link{letter-spacing:.12em;color:#18181b8c;align-items:center;gap:6px;height:100%;padding:0 16px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11.5px;font-weight:600;text-decoration:none;display:flex}@supports (color:color-mix(in lab, red, red)){.datum-nav-link{color:color-mix(in oklch, #18181b8c calc((1 - var(--scroll-progress,0)) * 100%), #ffffff73)}}.datum-nav-link{transition:color .18s}.datum-nav-link:hover,.datum-nav-link.active{color:#18181b}@supports (color:color-mix(in lab, red, red)){.datum-nav-link:hover,.datum-nav-link.active{color:color-mix(in oklch, #18181b calc((1 - var(--scroll-progress,0)) * 100%), #fff)}}.datum-nav-index{opacity:.5;font-size:9.5px;font-weight:500}.datum-nav-label{position:relative}.datum-key-hint{opacity:0;border:1px solid;border-radius:3px;padding:1px 4px;font-size:8.5px;font-weight:600;transition:opacity .18s,transform .18s;transform:translate(-2px)}.datum-nav-item:hover .datum-key-hint{opacity:.5;transform:translate(0)}.datum-laser-notch{background:#18181b;height:2px;position:absolute;bottom:0;left:14px;right:14px}@supports (color:color-mix(in lab, red, red)){.datum-laser-notch{background:color-mix(in oklch, #18181b calc((1 - var(--scroll-progress,0)) * 100%), #bfff00)}}.datum-laser-notch{box-shadow:0 -1px 6px #18181b40}@supports (color:color-mix(in lab, red, red)){.datum-laser-notch{box-shadow:0 -1px 6px color-mix(in oklch, #18181b40 calc((1 - var(--scroll-progress,0)) * 100%), #bfff0099)}}.datum-laser-notch{border-radius:1px}.datum-telemetry{flex:none;align-items:center;gap:16px;display:flex}.datum-status-pill{letter-spacing:.1em;opacity:.8;align-items:center;gap:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px;font-weight:600;display:flex}.status-led-pulse{background:#10b981;border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite datum-led-pulse;box-shadow:0 0 8px #10b981b3}@keyframes datum-led-pulse{0%,to{opacity:.5;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}.datum-clock{letter-spacing:.06em;opacity:.55;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10.5px;font-weight:500}.datum-quick-action{background:0 0;border:1px solid #18181b40}@supports (color:color-mix(in lab, red, red)){.datum-quick-action{border:1px solid color-mix(in oklch, #18181b40 calc((1 - var(--scroll-progress,0)) * 100%), #ffffff40)}}.datum-quick-action{color:inherit;letter-spacing:.1em;cursor:pointer;border-radius:4px;padding:4px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1)}.datum-quick-action:hover{background:#18181b}@supports (color:color-mix(in lab, red, red)){.datum-quick-action:hover{background:color-mix(in oklch, #18181b calc((1 - var(--scroll-progress,0)) * 100%), #fff)}}.datum-quick-action:hover{color:#fff}@supports (color:color-mix(in lab, red, red)){.datum-quick-action:hover{color:color-mix(in oklch, #fff calc((1 - var(--scroll-progress,0)) * 100%), #09090b)}}html.has-custom-cursor,html.has-custom-cursor *,html.has-custom-cursor a,html.has-custom-cursor button,html.has-custom-cursor [role=button],html.has-custom-cursor input,html.has-custom-cursor select,html.has-custom-cursor textarea,html.has-custom-cursor .nav-link,html.has-custom-cursor .project-link,html.has-custom-cursor .cv-download-btn,html.has-custom-cursor .craft-card-primary-btn,html.has-custom-cursor .craft-card-secondary-btn,html.has-custom-cursor .scroll-indicator{cursor:none!important}.custom-cursor{z-index:999999;will-change:transform, opacity;backface-visibility:hidden;justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0;transform:translateZ(0);pointer-events:none!important}.cursor-dot{background-color:#bfff00;border-radius:50%;width:10px;height:10px;transition:transform .15s cubic-bezier(.16,1,.3,1),opacity .15s;box-shadow:0 0 10px #bfff0099,0 0 2px #bfff00e6;pointer-events:none!important}.cursor-ring{z-index:999998;box-sizing:border-box;mix-blend-mode:difference;will-change:transform, width, height, opacity;backface-visibility:hidden;border:1.5px solid #ffffff80;border-radius:50%;position:fixed;top:0;left:0;transform:translateZ(0);pointer-events:none!important}.cursor-ring.is-hovered{border-width:2px;border-color:#ffffffe6}.cursor-ring.is-craft-image{-webkit-backdrop-filter:blur(8px);background:#bfff001f;border-width:1.5px;border-color:#bfff00b3;justify-content:center;align-items:center;display:flex}.cursor-ring.is-craft-image:after{content:"VIEW";font-family:var(--font-inter), sans-serif;letter-spacing:.16em;color:#ffffffe6;mix-blend-mode:difference;pointer-events:none;font-size:9px;font-weight:700}.cursor-label{z-index:999999;mix-blend-mode:difference;will-change:transform, opacity;backface-visibility:hidden;position:fixed;top:0;left:0;transform:translateZ(0);pointer-events:none!important}.cursor-label-inner{flex-direction:column;align-items:center;display:flex;transform:translate(-50%)}.cursor-text-hold{font-family:var(--font-inter), sans-serif;text-transform:uppercase;letter-spacing:.14em;color:#f8f9fa;pointer-events:none;white-space:nowrap;font-size:10px;font-weight:650;line-height:1.2}.cursor-underline-track{background-color:#ffffff59;border-radius:9999px;width:36px;height:2px;margin-top:5px;position:relative;overflow:hidden}.cursor-underline-progress{transform-origin:0;will-change:transform;background-color:#f8f9fa;width:100%;height:100%;position:absolute;top:0;left:0;transform:scaleX(0)}@media (hover:none) and (pointer:coarse){.custom-cursor,.cursor-ring,.cursor-label{display:none!important}}.hover-arc-container{pointer-events:none;z-index:5;will-change:transform, opacity;width:280px;height:280px;position:fixed;top:0;left:0}.hover-arc{transform-origin:50%;width:100%;height:100%;animation:28s linear infinite spin-clockwise}@keyframes spin-clockwise{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.craft-section{background:#09090b;width:100%;height:300vh;position:relative}.craft-container{box-sizing:border-box;flex-direction:column;width:100%;height:100vh;padding:8vh 10% 6vh 18%;display:flex;position:sticky;top:0;overflow:hidden}.craft-header{border-bottom:1px solid #ffffff0f;flex-shrink:0;justify-content:space-between;align-items:flex-end;width:100%;padding-bottom:20px;display:flex}.craft-header-left{flex-direction:column;align-items:flex-start;display:flex}.craft-title-wrap{align-items:baseline;gap:18px;display:flex}.craft-title{letter-spacing:-.04em;color:#f8f9fa;font-size:clamp(2.5rem,6vw,5rem);font-weight:850;line-height:.95;font-family:var(--font-inter), sans-serif}.craft-header-counter{color:#ffffff73;align-items:baseline;gap:2px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;font-weight:500;display:flex}.craft-header-counter .current{color:#f8f9fa;font-size:19px;font-weight:600}.craft-header-counter .sep{color:#fff3}.craft-subtitle-meta{letter-spacing:.13em;color:#ffffff85;align-items:center;gap:8px;margin-top:10px;font-size:11px;font-weight:500;display:flex}.craft-sep{color:#ffffff26}.craft-track-wrapper{flex-grow:1;align-items:flex-start;width:100%;margin-top:24px;display:flex;position:relative;overflow:hidden}.craft-track{will-change:transform;flex-direction:column;width:100%;height:300%;display:flex;position:relative}.project-card{box-sizing:border-box;background:#09090b;grid-template-columns:1.15fr 1.35fr;align-items:center;gap:8%;width:100%;height:33.333%;display:grid;position:relative;overflow:hidden}.project-meta-col{text-align:left;flex-direction:column;align-items:flex-start;display:flex}.meta-category-year{letter-spacing:.14em;color:#ffffffbf;text-transform:uppercase;align-items:center;gap:8px;font-size:10px;font-weight:600;display:flex}.dot-divider{background-color:#ffffff40;border-radius:50%;width:4px;height:4px}.meta-category-year .year{color:#fff6}.project-title{color:#f8f9fa;letter-spacing:-.02em;margin:12px 0 20px;font-size:clamp(2rem,4.2vw,3.8rem);font-weight:800;line-height:1}.project-desc{color:#ffffffa6;max-width:420px;margin-bottom:24px;font-size:clamp(13px,1vw,15px);font-weight:300;line-height:1.6}.project-tech-stack{letter-spacing:.05em;margin-bottom:32px;font-size:11px;line-height:1.5}.project-tech-stack .stack-label{color:#ffffff59;margin-right:6px;font-weight:650}.project-tech-stack .tech-tags{color:#fff9;font-weight:400}.project-link{letter-spacing:.12em;color:#f8f9fa;border-bottom:1.5px solid #ffffff40;align-items:center;gap:8px;padding-bottom:4px;font-size:12px;font-weight:600;text-decoration:none;transition:border-color .2s cubic-bezier(.16,1,.3,1),color .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.project-link:hover{color:#f8f9fa;border-color:#f8f9fa}.project-link .arrow{transition:transform .2s cubic-bezier(.16,1,.3,1);display:inline-block}.project-link:hover .arrow{transform:translate(2px,-2px)}.project-frame-col{justify-content:center;align-items:center;width:100%;height:100%;display:flex;overflow:hidden}.project-image-wrap{aspect-ratio:16/10;background:0 0;border:4px solid #ffffff13;border-radius:20px;width:100%;transition:border-color .5s cubic-bezier(.16,1,.3,1),box-shadow .6s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;box-shadow:0 2px 20px #00000059,inset 0 0 0 1px #ffffff0a}.project-image-wrap:hover{border-color:#bfff002e;box-shadow:0 8px 40px #bfff0014,0 4px 24px #0006,0 0 80px #bfff000a,inset 0 0 0 1px #bfff000f}.project-image{object-fit:contain;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.craft-bottom-bar{z-index:10;border-top:1px solid #ffffff0f;flex-shrink:0;justify-content:flex-end;align-items:center;width:100%;margin-top:24px;padding-top:20px;display:flex}.mobile-snap-container{display:none}@media (pointer:coarse){.mobile-snap-container{pointer-events:none;z-index:0;width:100%;height:100%;display:block;position:absolute;top:0;left:0}.mobile-snap-anchor{scroll-snap-align:start;height:100vh}}@media (max-width:1200px){.craft-container{padding-left:10%}}@media (max-width:1024px){.craft-container{padding:8vh 6% 6vh}.project-card{grid-template-columns:1fr;gap:4vh;padding:0}.project-desc{max-width:100%}.project-frame-col{width:100%;max-height:45vh}.project-image-wrap{height:auto}}@media (max-width:640px){.craft-header{padding-bottom:12px}}.snake-screen-overlay{z-index:10000;pointer-events:auto;-webkit-user-select:none;user-select:none;opacity:1;will-change:opacity, transform, filter;background-color:#050507;flex-direction:column;justify-content:center;align-items:center;transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1),filter 1s cubic-bezier(.16,1,.3,1),visibility 1s;display:flex;position:fixed;inset:0}.snake-screen-overlay.fade-out{opacity:0;filter:blur(4px);visibility:hidden;pointer-events:none;transform:scale(1.02)translateY(-8px)}.snake-screen-overlay,.snake-screen-overlay *{cursor:default!important}.snake-loader-container{flex-direction:column;align-items:stretch;gap:20px;width:90%;max-width:290px;animation:.8s cubic-bezier(.16,1,.3,1) forwards container-enter;display:flex}@keyframes container-enter{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.snake-grid{background:#09090b;border:1px solid #ffffff0a;border-radius:8px;flex-direction:column;gap:2px;padding:8px;display:flex;box-shadow:0 16px 48px #000000a6,inset 0 0 0 1px #ffffff05}.grid-row{gap:2px;display:flex}.grid-cell{box-sizing:border-box;background:#ffffff04;border:1px solid #ffffff06;border-radius:3px;width:20px;height:20px;transition:background .35s cubic-bezier(.4,0,.2,1),border-color .35s cubic-bezier(.4,0,.2,1),box-shadow .4s cubic-bezier(.4,0,.2,1),opacity .35s cubic-bezier(.4,0,.2,1);animation:.6s cubic-bezier(.16,1,.3,1) backwards cell-appear}@keyframes cell-appear{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.loader-info{letter-spacing:.14em;color:#ffffff4d;text-transform:uppercase;justify-content:space-between;align-items:center;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px;font-weight:500;animation:.6s cubic-bezier(.16,1,.3,1) .4s backwards info-enter;display:flex}@keyframes info-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.status-text{transition:opacity .3s}.scroll-root.booting-locked{pointer-events:none!important;overflow-y:hidden!important}.page-transition-wrapper{width:100%;height:100%}.page-entering{opacity:0}.page-visible{opacity:1;animation:.35s cubic-bezier(.16,1,.3,1) forwards page-fade-in}@keyframes page-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.about-section{color:#f8f9fa;content-visibility:auto;contain-intrinsic-size:1000px;background:#09090b;width:100%;position:relative}.about-divider{align-items:center;gap:20px;padding:48px 10% 48px 18%;display:flex}.about-divider-line{background:#ffffff0f;flex:1;height:1px}.about-divider-label{letter-spacing:.2em;color:#ffffff40;text-transform:uppercase;font-size:10px;font-weight:650}.about-inner{padding:0 10% 60px 18%}.about-header{margin-bottom:60px}.about-header-left{flex-direction:column;align-items:flex-start;display:flex}.about-grid{grid-template-columns:1.5fr 1fr;gap:60px;margin-bottom:80px;display:grid}.about-section-label{color:#bfff00;letter-spacing:.15em;text-transform:uppercase;margin-bottom:24px;font-size:12px;font-weight:650}.about-bio-main{color:#ffffffd9;margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.7}.about-bio-sub{color:#fff9;margin-bottom:20px;font-size:14px;font-weight:300;line-height:1.7}.about-contact-card{background:#ffffff03;border:1px solid #ffffff0a;border-radius:16px;flex-direction:column;justify-content:space-between;padding:32px;display:flex}.about-contact-label{color:#ffffff73;letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px;font-size:12px;font-weight:650}.about-contact-links{flex-direction:column;gap:12px;display:flex}.about-location{border-top:1px solid #ffffff0f;margin-top:32px;padding-top:24px}.about-location-label{color:#ffffff4d;margin-bottom:4px;font-size:10px;display:block}.about-location-value{color:#f8f9fa;font-size:14px;font-weight:400}.about-skills-wrapper{flex-wrap:wrap;gap:14px;display:flex}.about-skill-tag{color:#fffc;background:#ffffff08;border:1px solid #ffffff0f;border-radius:12px;align-items:center;gap:10px;padding:10px 18px;font-size:13px;font-weight:500;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 4px 20px #0003}.about-skill-tag:hover{color:#bfff00;background:#bfff0014;border-color:#bfff004d;transform:translateY(-2px);box-shadow:0 8px 24px #bfff001a}.about-skill-icon{font-size:18px;transition:color .3s,transform .3s}.about-skill-tag:hover .about-skill-icon{color:inherit;transform:scale(1.1)}.site-footer{background:#09090b;border-top:1px solid #ffffff0f;width:100%;margin-top:80px}.footer-inner{padding:48px 10% 36px 18%}.footer-top{justify-content:space-between;align-items:flex-start;margin-bottom:40px;display:flex}.footer-brand{flex-direction:column;gap:6px;display:flex}.footer-name{letter-spacing:-.02em;color:#f8f9fa;font-size:16px;font-weight:800}.footer-tagline{color:#ffffff59;font-size:12px;font-weight:400}.footer-links{gap:24px;display:flex}.footer-link{color:#ffffff73;letter-spacing:.05em;font-size:12px;font-weight:500;text-decoration:none;transition:color .3s}.footer-link:hover{color:#bfff00}.footer-bottom{border-top:1px solid #ffffff0a;justify-content:space-between;align-items:center;padding-top:20px;display:flex}.footer-copyright,.footer-location{color:#fff3;font-size:11px;font-weight:400}.coming-soon-static{opacity:.85}@media (max-width:1024px){.about-divider,.about-inner{padding-left:6%;padding-right:6%}.about-grid{grid-template-columns:1fr;gap:32px}.footer-inner{padding-left:6%;padding-right:6%}}@media (max-width:640px){.footer-top{flex-direction:column;gap:24px}.footer-bottom{text-align:center;flex-direction:column;gap:8px}}@media (max-width:768px){.datum-header{height:48px;padding:0 14px}.datum-coord-tag,.datum-clock{display:none}.datum-nav-link{gap:4px;padding:0 8px;font-size:10.5px}.datum-nav-index,.datum-key-hint,.datum-quick-action{display:none}.datum-laser-notch{left:6px;right:6px}.scroll-indicator{bottom:calc(80px + env(safe-area-inset-bottom,12px))}.hero-section{height:100dvh}.craft-section{height:auto}.craft-container{height:auto;padding:6vh 5% 80px;position:relative;overflow:visible}.craft-track-wrapper{margin-top:16px;overflow:visible}.craft-track{height:auto;transform:none!important}.project-card{border-bottom:1px solid #ffffff0f;grid-template-columns:1fr;gap:3vh;height:auto;min-height:auto;padding:32px 0}.project-card:last-child{border-bottom:none}.project-title{margin:8px 0 14px;font-size:clamp(1.4rem,6vw,2.2rem)}.project-desc{max-width:100%;margin-bottom:16px;font-size:13px}.project-tech-stack{margin-bottom:20px}.project-frame-col{max-height:35vh}.project-image-wrap{border-width:2px;border-radius:12px}.craft-title{font-size:clamp(1.8rem,8vw,3rem)}.craft-header{flex-direction:column;align-items:flex-start;gap:12px}.craft-subtitle-meta{flex-wrap:wrap;gap:6px;font-size:9px}.craft-header-counter .current{font-size:15px}.craft-header-counter{font-size:11px}.craft-bottom-bar{margin-top:16px;padding-top:14px}.mobile-snap-container{display:none!important}.about-section{scroll-snap-align:start}.about-divider{gap:12px;padding:32px 5%}.about-inner{padding:0 5% 40px}.about-header{margin-bottom:36px}.about-grid{grid-template-columns:1fr;gap:24px;margin-bottom:48px}.about-bio-main{font-size:15px}.about-bio-sub{font-size:13px}.about-contact-card{border-radius:12px;padding:24px}.about-skills-wrapper{gap:10px}.about-skill-tag{border-radius:10px;gap:8px;padding:8px 14px;font-size:12px}.about-skill-icon{font-size:16px}.about-section-label{margin-bottom:20px;font-size:11px}.site-footer{padding-bottom:calc(84px + env(safe-area-inset-bottom,12px));margin-top:48px}.footer-inner{padding:32px 5% 24px}.footer-top{flex-direction:column;gap:20px}.footer-bottom{text-align:center;flex-direction:column;gap:8px}}h1,h2,h3,.craft-title,.project-title,.cv-title,.craft-card-title,.lab-card-title{text-wrap:balance}p,.project-desc,.about-bio-main,.about-bio-sub,.cv-point-item,.craft-card-desc,.lab-card-desc{text-wrap:pretty}button,a.project-link,a.cv-download-btn,a.craft-card-secondary-btn,.footer-link{-webkit-tap-highlight-color:transparent}a.cv-download-btn:active,a.craft-card-secondary-btn:active,a.project-link:active{transform:scale(.96)}.subpage-root{color:#f8f9fa;background:#09090b;min-height:100vh;padding:8vh 8% 10vh 18%;position:relative;overflow-x:hidden}.cv-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:56px;display:flex}.cv-header-left{flex-direction:column;display:flex}.cv-title{letter-spacing:-.04em;color:#f8f9fa;margin:0;font-size:clamp(2.5rem,5vw,4.2rem);font-weight:850;line-height:.95}.cv-subtitle-meta{letter-spacing:.15em;color:#ffffff73;text-transform:uppercase;align-items:center;gap:8px;margin-top:12px;font-size:11px;font-weight:600;display:flex}.cv-download-btn{color:#f8f9fa;letter-spacing:.08em;background:#ffffff14;border:1px solid #ffffff29;border-radius:9999px;align-items:center;gap:8px;min-height:44px;padding:10px 22px;font-size:12px;font-weight:600;text-decoration:none;transition:background-color .2s cubic-bezier(.16,1,.3,1),border-color .2s cubic-bezier(.16,1,.3,1),color .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 2px 10px #0003}.cv-download-btn:hover,.craft-card-primary-btn:hover{color:#09090b;background:#f8f9fa;border-color:#f8f9fa;transform:translateY(-1px);box-shadow:0 6px 20px #ffffff2e}.craft-card-primary-btn{color:#f8f9fa;letter-spacing:.08em;background:#ffffff14;border:1px solid #ffffff29;border-radius:9999px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 22px;font-size:12px;font-weight:600;text-decoration:none;transition:background-color .2s cubic-bezier(.16,1,.3,1),border-color .2s cubic-bezier(.16,1,.3,1),color .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 2px 10px #0003}.cv-section{margin-bottom:56px}.cv-section-title{color:#ffffffb3;letter-spacing:.15em;text-transform:uppercase;border-bottom:1px solid #ffffff0f;margin-bottom:28px;padding-bottom:12px;font-size:12px;font-weight:650}.cv-list{flex-direction:column;gap:36px;display:flex}.cv-entry-grid{grid-template-columns:260px 1fr;gap:28px;display:grid}.cv-entry-meta{flex-direction:column;display:flex}.cv-role{color:#f8f9fa;margin-bottom:4px;font-size:18px;font-weight:700}.cv-company{color:#ffffff80;font-size:13px}.cv-period{color:#ffffff59;margin-top:6px;font-family:monospace;font-size:11px}.cv-points{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.cv-point-item{color:#ffffffad;align-items:baseline;gap:8px;font-size:14px;font-weight:350;line-height:1.6;display:flex}.cv-bullet{color:#bfff00;flex-shrink:0;font-size:12px}.cv-skills-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;display:grid}.cv-skill-category{background:#ffffff05;border:1px solid #ffffff0f;border-radius:14px;padding:20px}.cv-skill-cat-title{color:#ffffffe6;letter-spacing:.06em;margin-bottom:12px;font-size:12px;font-weight:700}.cv-skill-pill-list{flex-wrap:wrap;gap:8px;display:flex}.cv-skill-pill{color:#ffffffa6;background:#ffffff0a;border:1px solid #ffffff0f;border-radius:6px;padding:5px 10px;font-family:monospace;font-size:12px}.craft-filter-badge{letter-spacing:.12em;color:#ffffffb3;white-space:nowrap;background:#ffffff0a;border:1px solid #ffffff14;border-radius:9999px;align-items:center;gap:8px;padding:8px 16px;font-size:11px;font-weight:600;display:inline-flex}.craft-badge-dot{background:#ffffff80;border-radius:50%;width:5px;height:5px}.craft-showcase-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:32px;display:grid}.craft-showcase-card{background:#ffffff05;border:1px solid #ffffff0f;border-radius:20px;flex-direction:column;transition:border-color .3s,box-shadow .3s,transform .3s;display:flex;overflow:hidden}.craft-showcase-card:hover{border-color:#fff3;transform:translateY(-2px);box-shadow:0 16px 40px #00000080,inset 0 0 0 1px #ffffff0f}.craft-card-media-wrap{aspect-ratio:16/10;background:#000;border-bottom:1px solid #ffffff0f;width:100%;position:relative;overflow:hidden}.craft-card-media{object-fit:contain;width:100%;height:100%}.craft-card-placeholder{color:#ffffff4d;justify-content:center;align-items:center;width:100%;height:100%;font-size:14px;display:flex}.craft-card-overlay-badge{-webkit-backdrop-filter:blur(12px);letter-spacing:.08em;color:#f8f9fa;text-transform:uppercase;background:#000000a6;border:1px solid #ffffff1a;border-radius:9999px;padding:4px 10px;font-size:10px;font-weight:600;position:absolute;top:14px;left:14px}.craft-category-badge-inline{letter-spacing:.08em;color:#ffffffd9;text-transform:uppercase;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:9999px;align-items:center;padding:4px 10px;font-size:10px;font-weight:600;display:inline-flex}.craft-card-body{flex-direction:column;flex:1;padding:24px;display:flex}.craft-card-meta-line{color:#fff6;align-items:center;gap:8px;margin-bottom:8px;font-family:monospace;font-size:11px;display:flex}.craft-card-id{color:#ffffff80;font-weight:700}.craft-card-title{color:#f8f9fa;margin-bottom:10px;font-size:22px;font-weight:700}.craft-card-desc{color:#fff9;margin-bottom:18px;font-size:13px;line-height:1.6}.craft-card-highlights{background:#ffffff05;border:1px solid #ffffff0a;border-radius:10px;flex-direction:column;gap:8px;margin-bottom:20px;padding:12px;display:flex}.craft-card-highlight-item{color:#ffffffb3;gap:8px;font-size:12px;line-height:1.4;display:flex}.craft-card-tech-list{flex-wrap:wrap;gap:6px;margin-top:auto;margin-bottom:22px;display:flex}.craft-card-tech-pill{color:#fff9;background:#ffffff0a;border-radius:6px;padding:4px 8px;font-family:monospace;font-size:11px}.craft-card-actions{align-items:center;gap:10px;display:flex}.craft-card-secondary-btn{color:#fffc;letter-spacing:.08em;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:9999px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:10px 16px;font-size:12px;font-weight:650;text-decoration:none;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.craft-card-secondary-btn:hover{color:#f8f9fa;background:#ffffff1a;border-color:#fff3}.lab-game-minimal{width:100%;max-width:640px}.lab-minimal-hud{justify-content:space-between;align-items:center;margin-bottom:14px;padding:0 4px;display:flex}.lab-hud-item{align-items:baseline;gap:8px;display:flex}.lab-hud-key{letter-spacing:.12em;color:#ffffff59;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:600}.lab-hud-val{color:#f8f9fa;font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;font-weight:700}.lab-hud-lives{align-items:center;gap:5px;display:flex}.lab-hud-heart{background:#ffffff26;border-radius:1px;width:6px;height:6px;transition:background .2s,box-shadow .2s}.lab-hud-heart.active{background:#38bdf8;box-shadow:0 0 6px #38bdf899}.lab-canvas-viewport{aspect-ratio:4/3;touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair;background:#09090b;border:1px solid #ffffff14;border-radius:10px;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.lab-game-canvas{width:100%;height:100%;display:block}.lab-game-overlay{-webkit-backdrop-filter:blur(6px);z-index:10;background:#09090bcc;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:absolute;inset:0}.lab-game-overlay-title{color:#f8f9fa;letter-spacing:.04em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:22px;font-weight:750}.lab-game-btn{color:#09090b;letter-spacing:.1em;cursor:pointer;background:#f8f9fa;border:none;border-radius:9999px;min-height:38px;padding:8px 24px;font-size:11px;font-weight:700;transition:transform .15s,opacity .15s}.lab-game-btn:hover{opacity:.9;transform:scale(1.02)}.lab-game-btn:active{transform:scale(.96)}@media (max-width:768px){.subpage-root{padding:4vh 5% calc(88px + env(safe-area-inset-bottom,12px)) 5%!important}.cv-header{flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:36px}.cv-title{font-size:clamp(2rem,8vw,3rem)}.cv-download-btn{justify-content:center;width:100%;min-height:48px}.cv-entry-grid{grid-template-columns:1fr;gap:14px}.cv-skills-grid{grid-template-columns:1fr}.craft-showcase-grid{grid-template-columns:1fr;gap:24px}.lab-showcase-grid{grid-template-columns:1fr;gap:20px}.lab-card{padding:20px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
.Layout-module__RycRXW__site .subpage-root{padding-top:128px}@media (max-width:768px){.Layout-module__RycRXW__site .subpage-root{padding-top:104px!important}}
