@font-face{font-family:Doppio One;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5975bbedfb6feea3-s.07unokqp8z4nx.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Doppio One;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b9721701219222b2-s.p.08iaebkdpu6ri.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Doppio One Fallback;src:local(Arial);ascent-override:94.97%;descent-override:23.05%;line-gap-override:0.0%;size-adjust:105.91%}.doppio_one_6352fd85-module__ejywWG__className{font-family:Doppio One,Doppio One Fallback;font-style:normal;font-weight:400}.doppio_one_6352fd85-module__ejywWG__variable{--font-navbar:"Doppio One", "Doppio One Fallback"}
@font-face{font-family:PP Neue Montreal;src:url(/fonts/ppneuemontreal-bold.woff)format("woff");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:PP Neue Montreal;src:url(/fonts/ppneuemontreal-book.woff)format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Switzer Variable;src:url(/fonts/Variable/Switzer-Variable.ttf)format("truetype");font-weight:100 900;font-style:normal;font-display:swap}
:root{--color-background:#fff;--color-primary-text:#1b2028;--color-accent-purple:#62b6cb;--color-accent-gold:#ffb800;--color-black:#000;--color-gray-dark:#4c4c4c;--color-accent-teal:#62b6cb;--color-grid-line:#e5e5e5;--color-text-muted:#1b202880;--color-text-muted-strong:#1b2028cc;--wf-teal:var(--color-accent-teal);--wf-red:#da3036;--wf-orange:#ff990a;--wf-green:#93b99e;--wf-gold:var(--color-accent-gold);--highlight-strong:linear-gradient(transparent 78%, var(--color-accent-purple) 78%, var(--color-accent-purple) 96%, transparent 96%);--font-primary:"PP Neue Montreal", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-navbar:"Doppio One", sans-serif;--font-size-hero:clamp(48px, 16vw, 24vw);--font-size-nav:clamp(14px, 1.5vw, 20px);--font-size-tagline:clamp(14px, 1.5vw, 20px);--font-size-works:12px;--font-size-skills:clamp(16px, 2.5vw, 31px);--font-size-menu:clamp(56px, 16vh, 200px);--spacing-nav-top:clamp(16px, 3vw, 33px);--spacing-nav-side:clamp(20px, 5vw, 74px);--canvas-max-width:1512px;--canvas-min-height:100vh;--radius-portrait:clamp(20px, 3vw, 42px);--read-col:64ch;--paper:#f4f1eb;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-out-quart:cubic-bezier(.25, 1, .5, 1);--ease-in-out-quart:cubic-bezier(.76, 0, .24, 1);--duration-fast:.2s;--duration-normal:.4s;--duration-slow:.8s;--duration-slower:1.2s;--frame-margin:clamp(4px, .85vw, 8px);--frame-radius:clamp(20px, 1.8vw, 30px);--color-screen-bezel:#0d0e12;--color-screen-border:transparent;--z-base:1;--z-above:10;--z-nav:100;--z-modal:200;--z-transition:300;--z-cursor:9999}:root[data-theme=dark]{--color-background:#171717;--color-primary-text:#fff;--color-grid-line:#2a2a2a;--color-gray-dark:#b3b3b3;--color-text-muted:#ffffff80;--color-text-muted-strong:#fffc;--paper:#1f1c17;--color-screen-bezel:#08090c;--color-screen-border:transparent}
@keyframes scroll-skills-seamless{0%{transform:translate(0)}to{transform:translateX(calc(var(--scroll-width,-50%) * -1))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;min-height:100%;overflow-x:hidden}@media (hover:hover) and (pointer:fine){body{cursor:none}}html{-ms-overflow-style:none;scrollbar-width:none}body{font-family:var(--font-primary);background-color:var(--color-background);color:var(--color-primary-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;transition:background-color var(--duration-slow) var(--ease-out-quart), color var(--duration-slow) var(--ease-out-quart);-webkit-user-select:text;user-select:text}input,textarea{-webkit-user-select:text;user-select:text}.text-purple{color:var(--color-accent-purple)}.text-dark{color:var(--color-primary-text)}.text-black{color:var(--color-black)}a{color:inherit;text-decoration:none}img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none;max-width:100%;height:auto;display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--color-accent-purple);outline-offset:2px}:focus:not(:focus-visible){outline:none}::-webkit-scrollbar{width:0;height:0;display:none}::-webkit-scrollbar-track{display:none}::-webkit-scrollbar-thumb{display:none}::-webkit-scrollbar-corner{display:none}*{-ms-overflow-style:none;scrollbar-width:none}
.CustomCursor-module__xzEvzG__cursor{pointer-events:none;width:50px;height:50px;z-index:var(--z-cursor);will-change:transform;backface-visibility:hidden;background-color:#fff;border-radius:50%;position:fixed;top:0;left:0;transform:translate(0,0)}.CustomCursor-module__xzEvzG__cursorWrapper{pointer-events:none;width:100%;height:100%;z-index:var(--z-cursor);mix-blend-mode:exclusion;isolation:isolate;contain:layout style paint;position:fixed;top:0;left:0}.CustomCursor-module__xzEvzG__trailContainer{pointer-events:none;width:100%;height:100%;z-index:calc(var(--z-cursor) - 1);contain:layout style;position:fixed;top:0;left:0}.CustomCursor-module__xzEvzG__trailSphere{pointer-events:none;will-change:transform;backface-visibility:hidden;contain:layout style;border-radius:50%;position:fixed;top:0;left:0;transform:translate(-50%,-50%)translateZ(0);box-shadow:0 0 2px}@media (hover:none) and (pointer:coarse){.CustomCursor-module__xzEvzG__cursor,.CustomCursor-module__xzEvzG__cursorWrapper,.CustomCursor-module__xzEvzG__trailContainer,.CustomCursor-module__xzEvzG__trailSphere{display:none!important}}@media (prefers-reduced-motion:reduce){.CustomCursor-module__xzEvzG__cursor,.CustomCursor-module__xzEvzG__cursorWrapper,.CustomCursor-module__xzEvzG__trailContainer,.CustomCursor-module__xzEvzG__trailSphere{transition:none!important}.CustomCursor-module__xzEvzG__trailSphere{display:none!important}}.CustomCursor-module__xzEvzG__arcadeCursor{background-color:#0000!important;border-radius:0!important;width:64px!important;height:64px!important}.CustomCursor-module__xzEvzG__arcadeWrapper{mix-blend-mode:normal!important}.CustomCursor-module__xzEvzG__pulseLed{transform-origin:50%;animation:2s ease-in-out infinite CustomCursor-module__xzEvzG__ledPulse}@keyframes CustomCursor-module__xzEvzG__ledPulse{0%,to{opacity:.6;fill:#0072ff}50%{opacity:1;fill:#00f0ff}}
.ThemeToggle-module__abZ39G__toggle{z-index:150;border:1.5px solid var(--color-primary-text);background-color:var(--color-background);width:44px;height:44px;color:var(--color-primary-text);cursor:pointer;transition:background-color var(--duration-normal) var(--ease-out-quart), color var(--duration-normal) var(--ease-out-quart), border-color var(--duration-normal) var(--ease-out-quart), transform var(--duration-fast) var(--ease-out-quart), opacity var(--duration-fast) var(--ease-out-quart);border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;bottom:24px;right:24px}.ThemeToggle-module__abZ39G__toggle:hover{transform:scale(1.1)}.ThemeToggle-module__abZ39G__toggle:focus-visible{outline:2px solid var(--color-accent-purple);outline-offset:4px}.ThemeToggle-module__abZ39G__toggle:active{transform:scale(.95)}@media (prefers-reduced-motion:reduce){.ThemeToggle-module__abZ39G__toggle{transition:none}}@media (max-width:480px){.ThemeToggle-module__abZ39G__toggle{bottom:max(16px, env(safe-area-inset-bottom));width:40px;height:40px;right:16px}}
.BackToTop-module__AWkMIW__sentinel{pointer-events:none;visibility:hidden;width:1px;position:absolute;top:0;left:0}.BackToTop-module__AWkMIW__button{z-index:150;border:1.5px solid var(--color-primary-text);background-color:var(--color-background);width:44px;height:44px;color:var(--color-primary-text);cursor:pointer;opacity:0;pointer-events:none;transition:opacity var(--duration-normal) var(--ease-out-quart), transform var(--duration-normal) var(--ease-out-quart), background-color var(--duration-normal) var(--ease-out-quart), color var(--duration-normal) var(--ease-out-quart), border-color var(--duration-normal) var(--ease-out-quart);border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;bottom:136px;right:24px;transform:translateY(8px)}.BackToTop-module__AWkMIW__button[data-visible=true]{opacity:1;pointer-events:auto;transform:translateY(0)}.BackToTop-module__AWkMIW__button:hover{transform:translateY(0)scale(1.1)}.BackToTop-module__AWkMIW__button:focus-visible{outline:2px solid var(--color-accent-purple);outline-offset:4px}.BackToTop-module__AWkMIW__button:active{transform:translateY(0)scale(.95)}@media (prefers-reduced-motion:reduce){.BackToTop-module__AWkMIW__button{transition:opacity var(--duration-fast) linear;transform:none}.BackToTop-module__AWkMIW__button:hover,.BackToTop-module__AWkMIW__button:active{transform:none}}@media (max-width:480px){.BackToTop-module__AWkMIW__button{bottom:max(16px, env(safe-area-inset-bottom));width:40px;height:40px;right:112px}}
.MobileBlockOverlay-module__0eymFa__overlay{display:none}@media (max-width:1024px),(max-height:500px) and (max-width:1180px){:is(html,body){width:100vw!important;height:100vh!important;position:fixed!important;overflow:hidden!important}.MobileBlockOverlay-module__0eymFa__overlay{background-color:var(--color-background,#0b0d0e);width:100vw;height:100vh;color:var(--color-primary-text,#f4f0e8);z-index:999999999;box-sizing:border-box;font-family:var(--font-sans,"PP Neue Montreal", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);flex-direction:column;justify-content:space-between;padding:32px 28px;position:fixed;inset:0;overflow:hidden;display:flex!important}.MobileBlockOverlay-module__0eymFa__header{justify-content:space-between;align-items:center;width:100%;max-width:520px;margin:0 auto;display:flex}.MobileBlockOverlay-module__0eymFa__statusBadge{font-family:var(--font-navbar), monospace;letter-spacing:.12em;text-transform:uppercase;color:#f4f0e899;align-items:center;gap:8px;font-size:11px;display:inline-flex}.MobileBlockOverlay-module__0eymFa__dot{background-color:#f34;border-radius:50%;width:6px;height:6px;display:inline-block}.MobileBlockOverlay-module__0eymFa__metaInfo{font-family:var(--font-navbar), monospace;letter-spacing:.1em;color:#f4f0e859;font-size:11px}.MobileBlockOverlay-module__0eymFa__content{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:480px;margin:0 auto;display:flex}.MobileBlockOverlay-module__0eymFa__quoteCard{box-sizing:border-box;background:#ffffff06;border:1px solid #ffffff12;border-radius:12px;width:100%;margin-bottom:36px;padding:32px 28px}.MobileBlockOverlay-module__0eymFa__quoteText{color:var(--color-primary-text,#f4f0e8);letter-spacing:-.01em;margin:0;font-size:clamp(16px,4.5vw,20px);font-weight:400;line-height:1.55}.MobileBlockOverlay-module__0eymFa__actionGroup{flex-direction:column;align-items:center;gap:16px;width:100%;display:flex}.MobileBlockOverlay-module__0eymFa__subtext{color:#f4f0e880;letter-spacing:-.01em;margin:0;font-size:13px}.MobileBlockOverlay-module__0eymFa__button{color:#0b0d0e;font-family:var(--font-navbar), monospace;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;box-sizing:border-box;background-color:#f4f0e8;border:none;border-radius:6px;justify-content:center;align-items:center;gap:10px;width:100%;max-width:280px;padding:16px 36px;font-size:12px;font-weight:700;transition:transform .2s cubic-bezier(.16,1,.3,1),background-color .2s,opacity .2s;display:inline-flex}.MobileBlockOverlay-module__0eymFa__button:hover,.MobileBlockOverlay-module__0eymFa__button:focus-visible{background-color:#fff;transform:translateY(-2px)}.MobileBlockOverlay-module__0eymFa__button:active{opacity:.9;transform:translateY(0)scale(.98)}.MobileBlockOverlay-module__0eymFa__arrow{flex-shrink:0;transition:transform .2s}.MobileBlockOverlay-module__0eymFa__button:hover .MobileBlockOverlay-module__0eymFa__arrow{transform:translate(2px,-2px)}.MobileBlockOverlay-module__0eymFa__footer{font-family:var(--font-navbar), monospace;letter-spacing:.14em;color:#f4f0e84d;text-transform:uppercase;justify-content:center;align-items:center;gap:8px;width:100%;font-size:10px;display:flex}:is(.global-cursor-wrapper,.global-trail-container,.customCursor,.cursorWrapper,.trailContainer){opacity:0!important;visibility:hidden!important;display:none!important}}
.ViewportFrame-module__zXBXla__frameContainer{pointer-events:none;z-index:9980;position:fixed;inset:0;overflow:hidden}.ViewportFrame-module__zXBXla__frameInner{inset:var(--frame-margin,clamp(4px, .85vw, 8px));border-radius:var(--frame-radius,clamp(28px, 2.5vw, 38px));box-shadow:0 0 0 200vmax var(--color-screen-bezel,#0d0e12), 0 0 16px #0000004d;pointer-events:none;transition:box-shadow var(--duration-slow) var(--ease-out-quart), border-color var(--duration-slow) var(--ease-out-quart);will-change:opacity, transform;position:absolute}@media (max-width:768px){.ViewportFrame-module__zXBXla__frameContainer{--frame-margin:0px;--frame-radius:0px;display:none}}
