@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a342834df7752944-s.bb140f9f.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.50575af1.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.78d1a7ae.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.247c8473.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.18d7c7dc.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.71e1367e.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:Manrope Fallback;src:local(Arial);ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.0%;size-adjust:103.19%}.manrope_7c709576-module__2F_rZa__className{font-family:Manrope,Manrope Fallback;font-style:normal}.manrope_7c709576-module__2F_rZa__variable{--font-body-loaded:"Manrope","Manrope Fallback"}
@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/150f724d70372c02-s.cfe419c8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/750c737482d9de2f-s.1c29fe1a.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/5f402bd2d8eef81a-s.p.b72f0478.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:Newsreader Fallback;src:local(Times New Roman);ascent-override:69.68%;descent-override:25.12%;line-gap-override:0.0%;size-adjust:105.48%}.newsreader_b4a1c321-module__QlXjXG__className{font-family:Newsreader,Newsreader Fallback;font-style:normal}.newsreader_b4a1c321-module__QlXjXG__variable{--font-display-loaded:"Newsreader","Newsreader Fallback"}
*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--font-geist-sans);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-geist-mono);font-feature-settings:normal;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}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.-bottom-4{bottom:-1rem}.-bottom-6{bottom:-1.5rem}.-left-12{left:-3rem}.-left-2{left:-.5rem}.-left-4{left:-1rem}.-left-48{left:-12rem}.-right-1{right:-.25rem}.-right-2{right:-.5rem}.-right-4{right:-1rem}.-right-48{right:-12rem}.-right-8{right:-2rem}.-top-1{top:-.25rem}.-top-4{top:-1rem}.-top-6{top:-1.5rem}.-top-8{top:-2rem}.bottom-0{bottom:0}.bottom-1\/3{bottom:33.3333%}.bottom-1\/4{bottom:25%}.bottom-8{bottom:2rem}.left-0{left:0}.left-1\/2{left:50%}.left-8{left:2rem}.right-0{right:0}.right-4{right:1rem}.right-8{right:2rem}.top-0{top:0}.top-1\/2{top:50%}.top-1\/3{top:33.3333%}.top-1\/4{top:25%}.top-32{top:8rem}.top-4{top:1rem}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.-mx-3{margin-left:-.75rem;margin-right:-.75rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-4{margin-top:1rem;margin-bottom:1rem}.-mt-0\.5{margin-top:-.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-20{margin-bottom:5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-72{height:18rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[1\.1em\]{height:1.1em}.h-\[400px\]{height:400px}.h-\[80vh\]{height:80vh}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.min-h-\[400px\]{min-height:400px}.min-h-\[44px\]{min-height:44px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\[10px\]{width:10px}.w-\[300px\]{width:300px}.w-\[700px\]{width:700px}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.max-w-2xl{max-width:42rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-xl{max-width:36rem}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.origin-left{transform-origin:0}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x:1;--tw-scale-y:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.scale-50{--tw-scale-x:.5;--tw-scale-y:.5;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}.animate-bounce{animation:1s infinite bounce}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem*var(--tw-space-x-reverse));margin-left:calc(.25rem*calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem*var(--tw-space-x-reverse));margin-left:calc(.75rem*calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*calc(1 - var(--tw-space-x-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-r-2{border-right-width:2px}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-\[var\(--glass-border\)\]{border-color:var(--glass-border)}.border-\[var\(--neon-cyan\)\]{border-color:var(--neon-cyan)}.border-\[var\(--neon-magenta\)\]{border-color:var(--neon-magenta)}.border-emerald-500{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity,1))}.border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.border-transparent{border-color:#0000}.border-white\/10{border-color:#ffffff1a}.border-white\/20{border-color:#fff3}.border-t-transparent{border-top-color:#0000}.bg-\[var\(--bg-elevated\)\]{background-color:var(--bg-elevated)}.bg-\[var\(--bg-panel\)\]{background-color:var(--bg-panel)}.bg-\[var\(--bg-void\)\]{background-color:var(--bg-void)}.bg-\[var\(--neon-amber\)\]{background-color:var(--neon-amber)}.bg-\[var\(--neon-cyan\)\]{background-color:var(--neon-cyan)}.bg-\[var\(--neon-lime\)\]{background-color:var(--neon-lime)}.bg-\[var\(--neon-magenta\)\]{background-color:var(--neon-magenta)}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/40{background-color:#0006}.bg-black\/50{background-color:#00000080}.bg-black\/90{background-color:#000000e6}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-emerald-500{--tw-bg-opacity:1;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.bg-emerald-500\/20{background-color:#10b98133}.bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.bg-gray-700\/50{background-color:#37415180}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.bg-gray-800\/50{background-color:#1f293780}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-transparent{background-color:#0000}.bg-\[repeating-linear-gradient\(0deg\,transparent\,transparent_2px\,rgba\(0\,240\,255\,0\.03\)_2px\,rgba\(0\,240\,255\,0\.03\)_4px\)\]{background-image:repeating-linear-gradient(0deg,#0000,#0000 2px,#00f0ff08 2px 4px)}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-\[var\(--bg-void\)\]{--tw-gradient-from:var(--bg-void)var(--tw-gradient-from-position);--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-\[var\(--neon-cyan\)\]{--tw-gradient-from:var(--neon-cyan)var(--tw-gradient-from-position);--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-black\/80{--tw-gradient-from:#000c var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-emerald-500{--tw-gradient-from:#10b981 var(--tw-gradient-from-position);--tw-gradient-to:#10b98100 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-emerald-500\/10{--tw-gradient-from:#10b9811a var(--tw-gradient-from-position);--tw-gradient-to:#10b98100 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-emerald-500\/20{--tw-gradient-from:#10b98133 var(--tw-gradient-from-position);--tw-gradient-to:#10b98100 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-transparent{--tw-gradient-from:transparent var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-white{--tw-gradient-from:#fff var(--tw-gradient-from-position);--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-white\/10{--tw-gradient-from:#ffffff1a var(--tw-gradient-from-position);--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-\[var\(--bg-deep\)\]{--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--bg-deep)var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-\[var\(--neon-cyan\)\]{--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--neon-cyan)var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-\[var\(--neon-magenta\)\]{--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--neon-magenta)var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-black\/50{--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#00000080 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-white\/30{--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#ffffff4d var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-\[var\(--bg-void\)\]{--tw-gradient-to:var(--bg-void)var(--tw-gradient-to-position)}.to-\[var\(--neon-lime\)\]{--tw-gradient-to:var(--neon-lime)var(--tw-gradient-to-position)}.to-gray-300{--tw-gradient-to:#d1d5db var(--tw-gradient-to-position)}.to-red-500{--tw-gradient-to:#ef4444 var(--tw-gradient-to-position)}.to-red-500\/10{--tw-gradient-to:#ef44441a var(--tw-gradient-to-position)}.to-red-500\/20{--tw-gradient-to:#ef444433 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.to-white\/5{--tw-gradient-to:#ffffff0d var(--tw-gradient-to-position)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-12{padding-bottom:3rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pl-4{padding-left:1rem}.pt-20{padding-top:5rem}.pt-28{padding-top:7rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-geist-mono)}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[9px\]{font-size:9px}.text-\[clamp\(2\.5rem\,8vw\,7rem\)\]{font-size:clamp(2.5rem,8vw,7rem)}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-\[0\.95\]{line-height:.95}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-\[0\.3em\]{letter-spacing:.3em}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[var\(--bg-void\)\]{color:var(--bg-void)}.text-\[var\(--neon-amber\)\]{color:var(--neon-amber)}.text-\[var\(--neon-cyan\)\]{color:var(--neon-cyan)}.text-\[var\(--neon-lime\)\]{color:var(--neon-lime)}.text-\[var\(--neon-magenta\)\]{color:var(--neon-magenta)}.text-\[var\(--text-muted\)\]{color:var(--text-muted)}.text-\[var\(--text-primary\)\]{color:var(--text-primary)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-emerald-300{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.text-emerald-400{--tw-text-opacity:1;color:rgb(52 211 153/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-transparent{color:#0000}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-gray-400::placeholder{--tw-placeholder-opacity:1;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.placeholder-gray-500::placeholder{--tw-placeholder-opacity:1;color:rgb(107 114 128/var(--tw-placeholder-opacity,1))}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow-\[0_0_12px_var\(--neon-cyan\)\]{--tw-shadow:0 0 12px var(--neon-cyan);--tw-shadow-colored:0 0 12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_12px_var\(--neon-magenta\)\]{--tw-shadow:0 0 12px var(--neon-magenta);--tw-shadow-colored:0 0 12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_8px_var\(--neon-cyan\)\]{--tw-shadow:0 0 8px var(--neon-cyan);--tw-shadow-colored:0 0 8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_8px_var\(--neon-lime\)\]{--tw-shadow:0 0 8px var(--neon-lime);--tw-shadow-colored:0 0 8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_8px_var\(--neon-magenta\)\]{--tw-shadow:0 0 8px var(--neon-magenta);--tw-shadow-colored:0 0 8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_4px_30px_rgba\(0\,240\,255\,0\.06\)\]{--tw-shadow:0 4px 30px #00f0ff0f;--tw-shadow-colored:0 4px 30px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.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)}.blur-3xl{--tw-blur:blur(64px);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)}.blur-xl{--tw-blur:blur(24px);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)}.drop-shadow-lg{--tw-drop-shadow:drop-shadow(0 10px 8px #0000000a)drop-shadow(0 4px 3px #0000001a);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)}.backdrop-blur-lg{--tw-backdrop-blur:blur(16px);-webkit-backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia)}.backdrop-blur-xl{--tw-backdrop-blur:blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur)var(--tw-backdrop-brightness)var(--tw-backdrop-contrast)var(--tw-backdrop-grayscale)var(--tw-backdrop-hue-rotate)var(--tw-backdrop-invert)var(--tw-backdrop-opacity)var(--tw-backdrop-saturate)var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}:root{--ink:#0b1832;--ink-soft:#2f405d;--muted:#5d6b80;--background:#eef4fb;--surface:#ffffff9e;--surface-strong:#ffffffd1;--surface-blue:#e4efffc2;--border:#6f89ae33;--border-strong:#52709a4d;--glass-edge:#ffffffc2;--accent:#2856d8;--accent-dark:#173a9d;--accent-light:#dbe7ff;--aqua:#2d9fc2;--success:#16845a;--night:#09162e;--night-soft:#122342;--night-muted:#b8c7df;--font-display:var(--font-display-loaded),Georgia,serif;--font-body:var(--font-body-loaded),"Helvetica Neue",sans-serif;--page-pad:clamp(1.25rem,4vw,4rem);--content-width:80rem;--radius-sm:12px;--radius:16px;--shadow-glass:0 28px 70px #21437321,0 6px 18px #21437312;--shadow-lift:0 34px 90px #173a712e,0 10px 24px #173a7114}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:var(--accent)#c5d6ee73;scrollbar-width:thin;scroll-padding-top:7rem}body{min-width:320px;color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background:linear-gradient(160deg,#f8fbff 0%,#edf4fc 42%,#e7f0fa 100%);margin:0;overflow-x:hidden}body::-webkit-scrollbar{width:10px}body::-webkit-scrollbar-track{background:#c5d6ee6b}body::-webkit-scrollbar-thumb{background:linear-gradient(var(--accent),var(--aqua));border:2px solid #eaf2fb;border-radius:10px}a,button,summary{cursor:pointer;-webkit-tap-highlight-color:transparent}a{color:inherit}button{color:inherit;font:inherit}img{color:#0000}::selection{color:#07142b;background:#a9dff2}:focus-visible{outline-offset:4px;outline:3px solid #177ea8}.site-shell{isolation:isolate;min-height:100vh;position:relative;overflow:clip}.site-shell>:not(.ambient-field,.skip-link){z-index:1;position:relative}.ambient-field{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.ambient-field:after{content:"";background:linear-gradient(#ffffff47,#e6f0fb29);position:absolute;inset:0}.ambient-orb{filter:blur(8px);opacity:.72;border-radius:50%;animation:18s cubic-bezier(.2,.7,.2,1) infinite alternate ambient-drift;display:block;position:absolute}.ambient-orb-one{background:#6ca2ff47;width:36rem;height:36rem;top:-12rem;right:-7rem}.ambient-orb-two{background:#69d6e133;width:44rem;height:44rem;animation-delay:-7s;top:35rem;left:-18rem}.ambient-orb-three{background:#717ce829;width:40rem;height:40rem;animation-delay:-12s;top:115rem;right:-16rem}@keyframes ambient-drift{0%{transform:translate(-2%,-2%)scale(.96)}to{transform:translate(4%,5%)scale(1.06)}}.section-shell,.header-inner,.hero-inner,.proof-strip,.footer-github-wrap,.footer-main,.footer-bottom{width:min(100% - (var(--page-pad)*2),var(--content-width));margin-inline:auto}.skip-link{z-index:300;color:#fff;background:var(--accent-dark);border-radius:var(--radius-sm);padding:.75rem 1rem;text-decoration:none;position:fixed;top:.75rem;left:.75rem;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:100;padding-block:.75rem .2rem;position:sticky;top:0}.header-inner{border:1px solid var(--glass-edge);border-radius:var(--radius);-webkit-backdrop-filter:blur(24px)saturate(145%);backdrop-filter:blur(24px)saturate(145%);background:#f9fcffa8;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;min-height:4.5rem;padding-inline:1rem;display:grid;box-shadow:0 18px 50px #2b4d7e17,inset 0 1px #ffffffdb}.brand{align-items:center;gap:.72rem;width:fit-content;text-decoration:none;display:inline-flex}.brand-monogram{color:#fff;width:2.35rem;height:2.35rem;font-family:var(--font-body);letter-spacing:-.02em;background:linear-gradient(145deg,#3262e4,#173b9d);border:1px solid #ffffff61;border-radius:50%;place-items:center;font-size:.67rem;font-weight:800;display:grid;box-shadow:0 7px 18px #204fbe40,inset 0 1px 1px #ffffff73}.brand>span:last-child{gap:.08rem;display:grid}.brand strong{color:var(--ink);font-size:.84rem;font-weight:760;line-height:1.1}.brand small{color:var(--muted);font-size:.68rem;line-height:1.1}.desktop-nav{align-items:center;gap:.2rem;display:flex}.desktop-nav a{min-height:2.55rem;color:var(--ink-soft);border-radius:10px;align-items:center;padding-inline:.72rem;font-size:.76rem;font-weight:680;text-decoration:none;transition:color .18s,background .18s;display:inline-flex;position:relative}.desktop-nav a:after{content:"";background:var(--accent);transform-origin:100%;height:1px;transition:transform .22s cubic-bezier(.16,1,.3,1);position:absolute;bottom:.35rem;left:.7rem;right:.7rem;transform:scaleX(0)}.desktop-nav a:hover,.desktop-nav a:focus-visible{color:var(--accent-dark);background:#ffffff94}.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.nav-cta{color:#fff;background:var(--ink);border-radius:var(--radius-sm);border:0;justify-self:end;align-items:center;gap:.5rem;min-height:2.7rem;padding:.65rem .9rem;font-size:.72rem;font-weight:720;text-decoration:none;transition:background .18s,transform .18s,box-shadow .18s;display:inline-flex;box-shadow:0 8px 20px #0b183229}.nav-cta:hover{background:var(--accent-dark);transform:translateY(-1px);box-shadow:0 12px 26px #173a9d38}.nav-cta svg,.button svg,.project-links svg,.text-link svg,.contact-mail svg,.footer-column svg,.footer-resume svg,.footer-email svg,.footer-bottom svg{stroke-width:1.8px;width:1rem;height:1rem}.menu-button,.mobile-nav{display:none}.hero-section{padding:.5rem 0 clamp(3.5rem,7vw,6rem);position:relative}.hero-inner{grid-template-columns:minmax(0,1.08fr) minmax(21rem,.78fr);align-items:center;gap:clamp(3rem,7vw,7rem);min-height:min(780px,100svh - 6rem);padding-block:clamp(4.5rem,9vw,7.5rem) clamp(3.5rem,6vw,5.5rem);display:grid}.hero-copy{max-width:50rem;animation:.85s cubic-bezier(.16,1,.3,1) both hero-reveal}.mobile-identity{display:none}@keyframes hero-reveal{0%{opacity:.2;filter:blur(7px);transform:translateY(18px)}to{opacity:1;filter:blur();transform:translateY(0)}}.hero-copy h1{max-width:12ch;font-family:var(--font-display);letter-spacing:-.04em;text-wrap:balance;margin:0;font-size:clamp(3.65rem,7.2vw,6rem);font-weight:520;line-height:.94}.hero-copy h1 span{color:var(--accent-dark);font-style:italic;font-weight:430;display:block}.hero-intro{max-width:42rem;color:var(--ink-soft);margin:2rem 0 0;font-size:clamp(1rem,1.45vw,1.14rem);line-height:1.78}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:2.15rem;display:flex}.button{border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:.65rem;min-height:3.25rem;padding:.82rem 1.1rem;font-size:.78rem;font-weight:740;text-decoration:none;transition:background .18s,color .18s,transform .18s,box-shadow .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{color:#fff;background:linear-gradient(145deg,#3263e4,#2049bd);box-shadow:0 14px 32px #2952c938,inset 0 1px 1px #ffffff4d}.button-primary:hover{background:linear-gradient(145deg,#244fca,#173a9d);box-shadow:0 18px 38px #2952c947,inset 0 1px 1px #ffffff3d}.button-secondary{color:var(--ink);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffff7a;border:1px solid #fffc;box-shadow:0 10px 26px #25487817,inset 0 1px #fffc}.button-secondary:hover{color:var(--accent-dark);background:#ffffffc7}.hero-signal-row{flex-wrap:wrap;align-items:center;gap:.85rem 1.25rem;margin-top:1.45rem;display:flex}.availability{color:var(--ink-soft);align-items:center;gap:.6rem;margin:0;font-size:.74rem;font-weight:680;display:inline-flex}.availability span{background:var(--success);box-sizing:content-box;border:3px solid #57d19d38;border-radius:50%;width:.5rem;height:.5rem;box-shadow:0 0 0 5px #57d19d14}.hero-proof{min-height:2.35rem;color:var(--accent-dark);background:#ffffff7a;border:1px solid #fffc;border-radius:10px;align-items:center;gap:.45rem;padding:.48rem .65rem;font-size:.72rem;font-weight:740;text-decoration:none;transition:background .18s,transform .18s;display:inline-flex;box-shadow:0 8px 22px #25487814,inset 0 1px #ffffffd1}.hero-proof:hover{background:#ffffffc7;transform:translateY(-1px)}.hero-proof svg{stroke-width:1.8px;width:.95rem;height:.95rem}.hero-details{gap:clamp(2rem,5vw,4.5rem);margin:clamp(3rem,6vw,5rem) 0 0;display:flex}.hero-details div{gap:.32rem;display:grid}.hero-details dt{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:730}.hero-details dd{color:var(--ink-soft);margin:0;font-size:.8rem;font-weight:670}.hero-portrait{border:1px solid var(--glass-edge);border-radius:var(--radius);width:100%;max-width:29rem;box-shadow:var(--shadow-lift),inset 0 1px 0 #ffffffe6;-webkit-backdrop-filter:blur(24px)saturate(145%);backdrop-filter:blur(24px)saturate(145%);background:#ffffff7a;justify-self:end;margin:0;padding:.85rem;position:relative}.hero-portrait:before{z-index:-1;content:"";-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#65b2ff47;border:1px solid #ffffffad;border-radius:50%;width:10rem;height:10rem;position:absolute;top:-3.5rem;right:-3.25rem;box-shadow:inset 18px 18px 34px #ffffff6b,0 22px 50px #275cb229}.portrait-frame{aspect-ratio:4/5;border-radius:var(--radius-sm);background:#d7e2ef;position:relative;overflow:hidden}.portrait-frame:after{content:"";pointer-events:none;background:linear-gradient(145deg,#ffffff29,#0000 35%,#07214b1f);position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff40}.portrait-frame img{object-fit:cover;object-position:center top;filter:saturate(.9)contrast(1.03)}.portrait-sheen{z-index:1;pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff5c,#0000);width:36%;animation:7s ease-in-out 1.5s infinite glass-sheen;position:absolute;top:-30%;bottom:-30%;left:-50%;transform:skew(-15deg)}@keyframes glass-sheen{0%,56%{opacity:0;left:-50%}61%{opacity:.75}76%{opacity:0;left:120%}to{opacity:0;left:120%}}.portrait-badge{z-index:2;color:#f7fbff;border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(18px)saturate(135%);backdrop-filter:blur(18px)saturate(135%);background:#0718349e;border:1px solid #ffffff3d;gap:.18rem;padding:.9rem 1rem;display:grid;position:absolute;bottom:1rem;left:1rem;right:1rem;box-shadow:0 18px 40px #05122833,inset 0 1px #ffffff24}.portrait-badge span{color:#b9c9e3;letter-spacing:.11em;text-transform:uppercase;font-size:.68rem;font-weight:700}.portrait-badge strong{font-family:var(--font-display);font-size:1.05rem;font-weight:520}.hero-portrait figcaption{color:var(--muted);justify-content:space-between;gap:1rem;padding:.75rem .35rem .05rem;font-size:.72rem;display:flex}.hero-portrait figcaption span:first-child{color:var(--ink);font-weight:720}.proof-strip{border:1px solid var(--glass-edge);border-radius:var(--radius);box-shadow:var(--shadow-glass),inset 0 1px 0 #ffffffe6;-webkit-backdrop-filter:blur(24px)saturate(140%);backdrop-filter:blur(24px)saturate(140%);background:#ffffff85;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.proof-strip>div{border-right:1px solid #5e7ca629;align-items:center;gap:1.15rem;min-height:8.25rem;padding:1.4rem clamp(1.25rem,3vw,2.4rem);display:flex}.proof-strip>div:last-child{border-right:0}.proof-strip strong{color:var(--accent-dark);font-family:var(--font-display);letter-spacing:-.035em;font-size:clamp(2.3rem,4vw,3.6rem);font-weight:520;line-height:1}.proof-strip span{color:var(--ink-soft);font-size:.74rem;font-weight:620;line-height:1.55}.work-section,.expertise-section,.about-section{padding-block:clamp(6rem,10vw,9rem)}.section-heading{grid-template-columns:minmax(max-content,.82fr) minmax(16rem,.52fr);align-items:end;gap:clamp(2rem,4.5vw,4.5rem);margin-bottom:clamp(2.75rem,5vw,4.25rem);display:grid}.section-heading>div:last-child{display:contents}.section-heading h2,.achievement-copy h2,.contact-inner h2{font-family:var(--font-display);letter-spacing:-.035em;text-wrap:balance;margin:0;font-weight:520;line-height:1}.section-heading h2{white-space:nowrap;font-size:clamp(2.45rem,4.1vw,4rem)}.achievement-copy h2,.contact-inner h2{font-size:clamp(3rem,5.4vw,5.4rem)}.section-heading>div:last-child>p{max-width:31rem;color:var(--muted);align-self:end;margin:0;font-size:.87rem;line-height:1.75}.featured-work{border-radius:var(--radius);box-shadow:var(--shadow-glass),inset 0 1px 0 #ffffffe6;-webkit-backdrop-filter:blur(22px)saturate(140%);backdrop-filter:blur(22px)saturate(140%);background:linear-gradient(135deg,#ffffff85,#e1efff52);border:1px solid #ffffffc2;gap:0;display:grid;overflow:hidden}.featured-project{border-bottom:1px solid var(--border);background:0 0;grid-template-columns:3.5rem minmax(0,1fr) minmax(16rem,.52fr);align-items:start;gap:clamp(1.25rem,4vw,4rem);padding:clamp(2rem,4vw,3.25rem);transition:background .22s,padding .22s cubic-bezier(.16,1,.3,1);display:grid;position:relative}.featured-project:after{content:"";background:linear-gradient(90deg,#0000,#fffffff2,#0000);height:1px;position:absolute;top:0;left:12%;right:12%}.featured-project:nth-child(2n){background:#ebf4ff40}.featured-project:nth-child(3n){background:#ebf9fa33}.featured-project:last-child{border-bottom:0}.featured-project:hover{background:#ffffff94;padding-inline:clamp(2.35rem,4.35vw,3.6rem)}.project-order,.index-id{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.72rem;font-weight:720}.project-category{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;font-weight:750}.project-summary h3,.index-row h3,.capability-list h3{font-family:var(--font-display);letter-spacing:-.025em;margin:0;font-weight:540}.project-summary h3{margin-top:.55rem;font-size:clamp(2rem,3.2vw,3rem);line-height:1.05}.project-summary p{max-width:42rem;color:var(--muted);margin:1rem 0 0;font-size:.9rem;line-height:1.75}.project-meta{gap:1.75rem;display:grid}.project-stack,.capability-tools{flex-wrap:wrap;gap:.42rem;display:flex}.project-stack span,.capability-tools span{color:var(--ink-soft);background:#e1ebf9bf;border:1px solid #ffffffb8;border-radius:8px;padding:.42rem .58rem;font-size:.7rem;font-weight:680}.project-links{flex-wrap:wrap;gap:.65rem 1.2rem;display:flex}.project-links a,.text-link{min-height:2.75rem;color:var(--ink);text-underline-offset:.3rem;align-items:center;gap:.45rem;font-size:.74rem;font-weight:750;text-decoration-color:#2856d866;transition:color .18s;display:inline-flex}.resume-text-button{background:0 0;border:0;padding:0}.project-links a:hover,.text-link:hover{color:var(--accent)}.project-archive{border:1px solid var(--glass-edge);border-radius:var(--radius);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffff61;margin-top:clamp(2rem,5vw,4rem);overflow:hidden;box-shadow:0 18px 48px #24457312,inset 0 1px #ffffffd1}.project-archive summary{min-height:5.4rem;font-family:var(--font-display);justify-content:space-between;align-items:center;gap:1rem;padding-inline:clamp(1.25rem,3vw,2rem);font-size:1.25rem;font-weight:560;list-style:none;display:flex}.project-archive summary::-webkit-details-marker{display:none}.project-archive summary span:last-child{color:var(--muted);font-family:var(--font-body);margin-left:auto;font-size:.72rem;font-weight:650}.project-archive summary:after{content:"";border-bottom:1.5px solid;border-right:1.5px solid;width:.55rem;height:.55rem;transition:transform .18s;transform:rotate(45deg)translateY(-.2rem)}.project-archive[open] summary:after{transform:rotate(225deg)translate(-.1rem,-.1rem)}.archive-body{padding:0 clamp(1.25rem,3vw,2rem) 1.5rem}.project-filters{border-top:1px solid var(--border);flex-wrap:wrap;gap:.5rem;padding:1.25rem 0 1.75rem;display:flex}.project-filters button{min-height:2.6rem;color:var(--muted);background:#ffffff61;border:1px solid #5c779d33;border-radius:2rem;padding:.5rem .85rem;font-size:.72rem;font-weight:700;transition:color .18s,background .18s,transform .18s}.project-filters button:hover,.project-filters button.active{color:#fff;background:var(--accent);transform:translateY(-1px)}.index-table{border-top:1px solid var(--border)}.index-row{border-bottom:1px solid var(--border);grid-template-columns:2.5rem minmax(13rem,1fr) minmax(12rem,.7fr) auto;align-items:center;gap:1.25rem;padding:1.2rem 0;display:grid}.index-row:last-child{border-bottom:0}.index-row h3{font-family:var(--font-body);font-size:.88rem;font-weight:720}.index-row>div:nth-child(2)>span{color:var(--accent);text-transform:uppercase;margin-top:.25rem;font-size:.68rem;font-weight:720;display:block}.index-tech{color:var(--muted);font-size:.7rem;line-height:1.5}.index-row .project-links a{min-height:2.5rem;font-size:.7rem}.expertise-section{padding-block:clamp(1.5rem,2.5vw,2.25rem)}.work-section{padding-bottom:clamp(2rem,3vw,2.75rem)}.expertise-section .section-heading{margin-bottom:clamp(1.5rem,2.8vw,2.25rem)}.capability-list{border:1px solid var(--glass-edge);border-radius:var(--radius);box-shadow:var(--shadow-glass),inset 0 1px 0 #ffffffe0;-webkit-backdrop-filter:blur(22px)saturate(135%);backdrop-filter:blur(22px)saturate(135%);background:#7893b833;grid-template-columns:minmax(0,1.16fr) repeat(2,minmax(0,1fr));display:grid;overflow:hidden}.capability-list article{border-right:1px solid var(--border);background:linear-gradient(145deg,#f8fcffe0,#ebf4ffb3);flex-direction:column;min-width:0;min-height:19rem;padding:clamp(1.5rem,2.5vw,2rem);display:flex}.capability-list article:first-child{background:radial-gradient(circle at 88% 8%,#4b85e629,#0000 13rem),linear-gradient(145deg,#ffffffeb,#ddeeffd1)}.capability-list article:nth-child(2){background:linear-gradient(150deg,#fafdffe6,#e8f3ffb8)}.capability-list article:last-child{background:linear-gradient(150deg,#f7fcffe6,#e8f6f8b8);border-right:0}.capability-top{justify-content:flex-start;align-items:center;display:flex}.capability-top svg{width:clamp(3.25rem,4.8vw,4.5rem);height:clamp(3.25rem,4.8vw,4.5rem);color:var(--accent);stroke-width:1.5px;background:#ffffffb8;border-radius:14px;padding:.82rem;box-shadow:0 16px 32px #284d7e24,inset 0 1px #fffffff0}.capability-list h3{margin-top:1.35rem;font-size:clamp(1.65rem,2.25vw,2.15rem);line-height:1.05}.capability-list article>p{min-height:0;color:var(--muted);margin:.7rem 0 1.25rem;font-size:.78rem;line-height:1.65}.capability-list .capability-tools{margin-top:auto}.capability-list article:first-child h3{max-width:12ch;margin-top:1.35rem;font-size:clamp(1.9rem,2.8vw,2.6rem)}.capability-list article:first-child>p{max-width:34rem}.skills-section{padding-block:clamp(2rem,3vw,2.75rem) clamp(6rem,10vw,9rem)}.skill-groups{border:1px solid var(--glass-edge);border-radius:var(--radius);box-shadow:var(--shadow-glass),inset 0 1px 0 #ffffffe0;-webkit-backdrop-filter:blur(22px)saturate(135%);backdrop-filter:blur(22px)saturate(135%);background:#ffffff75;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.skill-group{border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-width:0;padding:clamp(1.5rem,3vw,2.5rem)}.skill-group:first-child{background:linear-gradient(135deg,#ffffff7a,#e0f0ff5c);grid-column:span 2}.skill-group:nth-child(2){border-right:0}.skill-group:nth-child(3){border-bottom:0}.skill-group:last-child{background:linear-gradient(135deg,#e8f7fa61,#ffffff75);border-bottom:0;border-right:0;grid-column:span 2}.skill-group-heading{border-bottom:1px solid var(--border);grid-template-columns:2rem minmax(0,1fr);gap:1rem;padding-bottom:1.5rem;display:grid}.skill-group-heading>span{color:var(--accent);padding-top:.25rem;font-size:.72rem;font-weight:750}.skill-group-heading h3{font-family:var(--font-display);letter-spacing:-.025em;margin:0;font-size:clamp(1.55rem,2.2vw,2.1rem);font-weight:540}.skill-group-heading p{max-width:28rem;color:var(--muted);margin:.55rem 0 0;font-size:.76rem;line-height:1.6}.skill-list{grid-template-columns:repeat(2,minmax(0,1fr));margin:1.25rem 0 0;padding:0;list-style:none;display:grid}.skill-list li{border-bottom:1px solid var(--border);min-width:0;min-height:3.65rem;color:var(--ink-soft);align-items:center;gap:.75rem;padding:.65rem .75rem .65rem 0;font-size:.76rem;font-weight:680;line-height:1.35;display:flex}.skill-mark{background:#ffffff94;border:1px solid #ffffffd1;border-radius:9px;flex:none;place-items:center;width:2rem;height:2rem;transition:background .18s,transform .18s;display:grid;box-shadow:0 7px 18px #284d7e14,inset 0 1px #ffffffe6}.skill-mark img,.skill-mark svg{object-fit:contain;width:1.18rem;height:1.18rem}.skill-mark-concept{color:var(--accent)}.skill-list li:hover .skill-mark{background:#ffffffdb;transform:translateY(-1px)}.skills-note{max-width:60rem;color:var(--muted);margin:1.4rem 0 0;font-size:.7rem;line-height:1.65}.achievement-section{color:#f7fbff;background:radial-gradient(circle at 85% 8%,#4398e157,#0000 31rem),radial-gradient(circle at 8% 100%,#46c5cd33,#0000 28rem),linear-gradient(145deg,#07142b,#10284c 56%,#0d1c38);padding-block:clamp(6rem,10vw,9rem);position:relative;overflow:hidden}.achievement-section:before{content:"";border:1px solid #ffffff24;border-radius:50%;width:14rem;height:14rem;position:absolute;top:14%;left:7%;box-shadow:inset 20px 20px 45px #82caff1f,0 24px 60px #00000029}.achievement-inner{grid-template-columns:minmax(18rem,.7fr) minmax(0,1.3fr);align-items:start;gap:clamp(3rem,7vw,7rem);display:grid}.achievement-copy{position:sticky;top:8rem}.achievement-copy h2{max-width:9ch}.achievement-copy>p:not(.achievement-note){max-width:36rem;color:var(--night-muted);margin:1.55rem 0 0;font-size:.9rem;line-height:1.78}.achievement-note{color:#dce8f8;border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff14;border:1px solid #ffffff24;align-items:flex-start;gap:.65rem;margin:2rem 0 0;padding:1rem;font-size:.72rem;font-weight:650;line-height:1.55;display:flex;box-shadow:0 16px 40px #0000001f,inset 0 1px #ffffff1a}.achievement-note svg{color:#8ad8ec;flex:none;width:1rem;height:1rem}.achievement-gallery{border-radius:var(--radius);-webkit-backdrop-filter:blur(22px)saturate(130%);backdrop-filter:blur(22px)saturate(130%);background:#ffffff14;border:1px solid #ffffff26;grid-template-columns:minmax(0,1.25fr) minmax(12rem,.75fr);gap:1rem;padding:.8rem;display:grid;box-shadow:0 34px 80px #00000038,inset 0 1px #ffffff1a}.achievement-gallery figure{margin:0}.achievement-main .gallery-image{aspect-ratio:4/5}.achievement-pair{gap:1rem;display:grid}.achievement-pair .gallery-image{aspect-ratio:4/3}.gallery-image{background:#1b3150;border-radius:10px;position:relative;overflow:hidden}.gallery-image img{object-fit:cover;transition:transform .55s cubic-bezier(.16,1,.3,1),filter .55s}.achievement-gallery figure:hover img{filter:saturate(1.08);transform:scale(1.025)}.achievement-gallery figcaption{color:#b8c9e0;margin:.6rem .25rem .15rem;font-size:.72rem;font-weight:650}.about-section{padding-bottom:4rem}.about-grid{border-radius:var(--radius);box-shadow:var(--shadow-lift),inset 0 1px 0 #fffffff0,inset 0 -1px 0 #5f88b91f;-webkit-backdrop-filter:blur(22px)saturate(135%);backdrop-filter:blur(22px)saturate(135%);background:linear-gradient(115deg,#ffffffa3,#dcefff57 58%,#eefafb75);grid-template-columns:minmax(0,1.15fr) minmax(18rem,.65fr);gap:clamp(3rem,8vw,8rem);padding:clamp(2rem,4vw,3.5rem);display:grid;position:relative;overflow:hidden}.about-grid:before{content:"";pointer-events:none;border:1px solid #ffffffb8;border-radius:50%;width:20rem;height:20rem;position:absolute;top:-8rem;right:-5rem;box-shadow:inset 28px 28px 55px #ffffff4d,0 26px 60px #3876ae1f}.about-grid>*{z-index:1;position:relative}.about-lead{max-width:27ch;font-family:var(--font-display);letter-spacing:-.035em;margin:0;font-size:clamp(2.2rem,3.8vw,3.7rem);font-weight:500;line-height:1.08}.about-lead strong{color:var(--accent-dark);font-weight:540}.about-copy>p{color:var(--muted);margin:0;font-size:.86rem;line-height:1.8}.about-focus{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-top:1.5rem;display:grid}.about-focus>div{grid-template-columns:2.6rem minmax(0,1fr);align-items:center;gap:.85rem;padding-block:.9rem;display:grid}.about-focus>div+div{border-top:1px solid var(--border)}.about-focus svg{width:2.6rem;height:2.6rem;color:var(--accent);border-radius:var(--radius-sm);stroke-width:1.7px;background:#ffffff94;padding:.68rem;box-shadow:inset 0 1px #ffffffe6}.about-focus span{gap:.2rem;display:grid}.about-focus strong{color:var(--ink);font-family:var(--font-display);letter-spacing:-.02em;font-size:1rem;font-weight:560}.about-focus small{color:var(--muted);font-size:.7rem;line-height:1.55}.about-facts{border-bottom:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1rem;margin:1.5rem 0;padding-bottom:1.5rem;display:grid}.about-facts div{color:var(--ink-soft);align-items:center;gap:.7rem;font-size:.76rem;font-weight:620;display:flex}.about-facts svg{width:1rem;height:1rem;color:var(--accent);stroke-width:1.7px}.contact-section{width:min(100% - (var(--page-pad)*2),calc(var(--content-width) + 4rem));color:#fff;border-radius:var(--radius);background:radial-gradient(circle at 85% 20%,#3c9adf4d,#0000 24rem),linear-gradient(145deg,#102a53,#08152c 68%);border:1px solid #ffffff1f;margin:clamp(3rem,6vw,6rem) auto 0;padding-block:clamp(5rem,9vw,8rem);position:relative;overflow:hidden;box-shadow:0 36px 90px #0c224640,inset 0 1px #ffffff1f}.contact-section:after{content:"";border:1px solid #ffffff1f;border-radius:50%;width:26rem;height:26rem;position:absolute;top:-9rem;right:-6rem;box-shadow:inset 35px 35px 70px #77ceef1a}.contact-inner{grid-template-columns:minmax(0,1fr) minmax(18rem,.55fr);align-items:end;gap:1rem clamp(3rem,8vw,8rem);display:grid}.contact-inner h2{max-width:12ch}.contact-inner>p{max-width:42rem;color:var(--night-muted);grid-column:1;margin:1.25rem 0 0;font-size:.9rem;line-height:1.75}.contact-mail{color:#f6fbff;border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffff17;border:1px solid #ffffff29;grid-area:1/2/span 2;justify-content:space-between;align-items:center;gap:1rem;min-height:5.25rem;padding:1rem 1.15rem;font-size:clamp(.84rem,1.5vw,1rem);font-weight:650;text-decoration:none;transition:background .18s,transform .18s;display:flex;box-shadow:0 22px 50px #00000029,inset 0 1px #ffffff1f}.contact-mail:hover{background:#ffffff26;transform:translateY(-2px)}.contact-mail svg{color:#8ad8ec;flex:none;width:1.5rem;height:1.5rem}.site-footer{color:var(--ink-soft);background:radial-gradient(circle at 8% 18%,#5ba6dd29,#0000 28rem),linear-gradient(#eaf2fb 0%,#dfeaf7 100%);border-top:1px solid #fffc;margin-top:-1rem;padding-top:clamp(2.75rem,5vw,4.5rem)}.footer-github{color:#fff;border-radius:var(--radius);background:radial-gradient(circle at 88% 20%,#4899e157,#0000 18rem),linear-gradient(135deg,#07152d,#102d58);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(1rem,2.5vw,2rem);min-height:8.5rem;padding:clamp(1.25rem,2.8vw,2rem);text-decoration:none;transition:box-shadow .22s,transform .22s cubic-bezier(.16,1,.3,1);display:grid;overflow:hidden;box-shadow:0 28px 64px #183c6933}.footer-github:hover{transform:translateY(-3px);box-shadow:0 34px 78px #183c6945}.footer-github-icon{color:#d9f2ff;background:#ffffff1a;border-radius:15px;place-items:center;width:clamp(3.75rem,6vw,5rem);height:clamp(3.75rem,6vw,5rem);display:grid;box-shadow:inset 0 1px #ffffff29}.footer-github-icon svg{stroke-width:1.5px;width:48%;height:48%}.footer-github-copy{gap:.45rem;display:grid}.footer-github-copy strong{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(1.65rem,3vw,2.65rem);font-weight:520;line-height:1}.footer-github-copy>span{color:#b8cbe3;font-size:.75rem;line-height:1.5}.footer-github-cta{color:#0b1832;border-radius:var(--radius-sm);background:#f5faff;align-items:center;gap:.55rem;min-height:3rem;padding:.75rem 1rem;font-size:.72rem;font-weight:760;display:inline-flex}.footer-github-cta svg{width:1rem;height:1rem}.footer-main{grid-template-columns:minmax(0,1.35fr) minmax(10rem,.45fr) minmax(11rem,.5fr);gap:clamp(2.5rem,7vw,7rem);padding-block:clamp(3rem,5vw,4.5rem);display:grid}.footer-intro{justify-items:start;display:grid}.footer-brand{color:var(--ink);align-items:center;gap:.75rem;font-size:.72rem;font-weight:700;text-decoration:none;display:inline-flex}.footer-mark{color:#fff;background:linear-gradient(145deg,#3568ed,#1f47b8);border:1px solid #ffffff38;border-radius:50%;place-items:center;width:2.4rem;height:2.4rem;font-size:.66rem;font-weight:800;display:grid;box-shadow:inset 0 1px 1px #ffffff3d}.footer-intro h2{max-width:18ch;color:var(--ink);font-family:var(--font-display);letter-spacing:-.03em;text-wrap:balance;margin:1.75rem 0 0;font-size:clamp(2rem,3.4vw,3.2rem);font-weight:500;line-height:1.05}.footer-intro>p{max-width:34rem;color:var(--muted);margin:1.15rem 0 0;font-size:.8rem;line-height:1.72}.footer-actions{flex-wrap:wrap;gap:.65rem;margin-top:1.75rem;display:flex}.footer-resume,.footer-email{border-radius:var(--radius-sm);border:0;align-items:center;gap:.6rem;min-height:3rem;padding:.75rem 1rem;font-size:.7rem;font-weight:700;text-decoration:none;transition:background .18s,color .18s,transform .18s;display:inline-flex}.footer-resume{color:#fff;background:var(--accent-dark)}.footer-email{color:var(--ink);background:#ffffff94}.footer-resume:hover,.footer-email:hover{transform:translateY(-2px)}.footer-resume:hover{background:var(--accent)}.footer-email:hover{background:#ffffffe6}.footer-column{align-content:start;gap:.25rem;display:grid}.footer-column>span{color:var(--accent-dark);letter-spacing:.12em;text-transform:uppercase;margin-bottom:1rem;font-size:.7rem;font-weight:750}.footer-column a{min-height:2.75rem;color:var(--ink-soft);border-bottom:1px solid #4d6c9729;justify-content:space-between;align-items:center;gap:1rem;font-size:.73rem;font-weight:600;text-decoration:none;transition:color .18s,border-color .18s;display:flex}.footer-column a:hover{color:var(--accent-dark);border-color:#2856d873}.footer-column svg{color:var(--accent)}.footer-bottom{min-height:5.25rem;color:var(--muted);border-top:1px solid #4d6c9729;justify-content:space-between;align-items:center;gap:2rem;font-size:.7rem;display:flex}.footer-bottom p{margin:0}.footer-bottom a{min-height:2.75rem;color:var(--ink-soft);align-items:center;gap:.45rem;text-decoration:none;display:inline-flex}.footer-bottom a:hover{color:var(--accent-dark)}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.header-inner,.proof-strip,.featured-project,.project-archive,.capability-list,.skill-groups,.about-grid,.button-secondary{background:#f8fbfff5}.portrait-badge,.achievement-gallery,.achievement-note,.contact-mail{background:#0a1c3af0}}@media (max-width:68rem){.header-inner{grid-template-columns:1fr auto}.desktop-nav{display:none}.nav-cta{margin-left:auto}.section-heading{grid-template-columns:1fr;align-items:start}.section-heading>div:last-child{grid-column:1;grid-template-columns:1fr;gap:1.5rem;display:grid}.section-heading h2{white-space:normal}.featured-project{grid-template-columns:3rem minmax(0,1fr)}.project-meta{grid-column:2}.contact-inner{grid-template-columns:1fr}.contact-mail{grid-area:auto/1;max-width:34rem;margin-top:2rem}}@media (max-width:53.75rem){:root{--page-pad:clamp(1rem,5vw,2.5rem)}.site-header{padding-top:.55rem}.header-inner{min-height:4rem}.nav-cta{display:none}.menu-button{border-radius:var(--radius-sm);background:#ffffff73;border:1px solid #ffffffc2;place-items:center;width:2.65rem;height:2.65rem;padding:0;display:grid;box-shadow:inset 0 1px #ffffffd1}.menu-button svg{width:1.2rem;height:1.2rem}.mobile-nav{width:min(100% - (var(--page-pad)*2),var(--content-width));border:1px solid var(--glass-edge);border-radius:var(--radius);box-shadow:var(--shadow-glass);-webkit-backdrop-filter:blur(24px)saturate(145%);backdrop-filter:blur(24px)saturate(145%);background:#f9fcffdb;margin:.4rem auto 0;padding:.7rem 1rem 1rem;display:grid}.mobile-nav a,.mobile-nav button{width:100%;min-height:3.2rem;color:var(--ink-soft);border:0;border-bottom:1px solid var(--border);text-align:left;background:0 0;align-items:center;padding:0;font-size:.82rem;font-weight:680;text-decoration:none;display:flex}.mobile-nav>:last-child{border-bottom:0}.hero-inner{grid-template-columns:1fr;min-height:0;padding-block:4.5rem 3rem}.hero-copy h1{max-width:13ch}.hero-portrait{justify-self:start;max-width:35rem}.hero-portrait:before{width:8rem;height:8rem;top:-2.5rem;right:-1.25rem}.proof-strip{grid-template-columns:1fr}.proof-strip>div{border-right:0;border-bottom:1px solid var(--border);min-height:6.3rem}.proof-strip>div:last-child{border-bottom:0}.section-heading{grid-template-columns:1fr;gap:1.5rem}.section-heading>div:last-child{grid-column:1}.capability-list{grid-template-rows:auto;grid-template-columns:1fr}.capability-list article{border-right:0;border-bottom:1px solid var(--border);min-height:15rem;padding:1.25rem}.capability-list article:first-child{grid-row:auto}.capability-list article:last-child{border-bottom:0}.capability-list h3{margin-top:1.1rem}.capability-list article:first-child h3{max-width:none;margin-top:1.1rem;font-size:clamp(1.7rem,4vw,2.25rem)}.capability-list article>p{min-height:0}.skill-groups{grid-template-columns:1fr}.skill-group,.skill-group:first-child,.skill-group:nth-child(2),.skill-group:nth-child(3),.skill-group:last-child{border-right:0;border-bottom:1px solid var(--border);grid-column:auto}.skill-group:last-child{border-bottom:0}.achievement-inner{grid-template-columns:1fr}.achievement-copy{position:static}.achievement-copy h2{max-width:12ch}.about-grid{grid-template-columns:1fr}.about-lead{max-width:34ch}.index-row{grid-template-columns:2rem 1fr auto}.index-tech{display:none}.contact-section{width:calc(100% - (var(--page-pad)*2))}.footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem 2rem;padding-block:4rem}.footer-intro{grid-column:1/-1}.footer-bottom{flex-wrap:wrap;gap:.5rem 2rem;padding-block:1.25rem}.footer-bottom p:first-child{width:100%}}@media (min-width:36.01rem) and (max-width:53.75rem){.hero-inner{grid-template-columns:minmax(0,1.08fr) minmax(15rem,.72fr);gap:2.25rem;min-height:calc(100svh - 5rem);padding-block:3.5rem 3rem}.hero-copy h1{font-size:clamp(3rem,6.8vw,4.4rem)}.hero-intro{font-size:.88rem;line-height:1.65}.hero-actions{gap:.5rem}.button{min-height:3rem;padding-inline:.85rem}.hero-details{margin-top:2.5rem}.hero-portrait{opacity:1;filter:none;justify-self:end;max-width:20rem;animation:none}.portrait-frame img{filter:saturate(.96)contrast(1.08);opacity:1!important}.portrait-badge{padding:.75rem;bottom:.65rem;left:.65rem;right:.65rem}.portrait-badge strong{font-size:.9rem}.proof-strip{grid-template-columns:repeat(3,1fr)}.proof-strip>div{border-right:1px solid var(--border);border-bottom:0;min-height:7rem;padding:1.1rem}.proof-strip>div:last-child{border-right:0}.proof-strip strong{font-size:2.3rem}.proof-strip span{font-size:.68rem}.section-heading{grid-template-columns:minmax(0,.78fr) minmax(15rem,.52fr)}.section-heading>div:last-child{display:contents}.featured-project{grid-template-columns:2.5rem minmax(0,1fr) minmax(13rem,.5fr);padding:1.65rem}.project-meta{grid-column:auto}.capability-list{grid-template-rows:auto;grid-template-columns:repeat(2,minmax(0,1fr))}.capability-list article:first-child{border-right:0;border-bottom:1px solid var(--border);grid-area:auto/1/auto/-1}.capability-list article:nth-child(2){border-right:1px solid var(--border);border-bottom:0}.capability-list article:first-child h3{max-width:none;margin-top:1.2rem;font-size:clamp(2rem,4.2vw,2.6rem)}.skill-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-group:first-child,.skill-group:nth-child(2),.skill-group:nth-child(3),.skill-group:last-child{border-right:1px solid var(--border);border-bottom:1px solid var(--border);grid-column:auto}.skill-group:nth-child(2n){border-right:0}.skill-group:nth-last-child(-n+2){border-bottom:0}.achievement-inner{grid-template-columns:minmax(15rem,.72fr) minmax(0,1.28fr);gap:2.5rem}.achievement-copy h2{font-size:clamp(2.65rem,5.8vw,4rem)}.about-grid{grid-template-columns:minmax(0,1fr) minmax(16rem,.72fr);gap:2.5rem}}@media (max-width:36rem){.about-facts{grid-template-columns:1fr}.footer-github{grid-template-columns:auto minmax(0,1fr)}.footer-github-cta{grid-column:2;width:fit-content}.footer-main{grid-template-columns:1fr;gap:2.5rem}.footer-intro{grid-column:auto}.header-inner{padding-inline:.75rem}.brand small{display:none}.hero-inner{padding-block:2.25rem 2rem}.mobile-identity{align-items:center;gap:.75rem;margin-bottom:1.35rem;display:flex}.mobile-identity img{object-fit:cover;object-position:center top;border:3px solid #ffffffb8;border-radius:50%;width:3.5rem;height:3.5rem;box-shadow:0 10px 24px #1e427724}.mobile-identity div{gap:.2rem;display:grid}.mobile-identity strong{color:var(--ink);font-size:.78rem;font-weight:760}.mobile-identity span{color:var(--muted);font-size:.7rem;font-weight:620}.hero-copy h1{font-size:clamp(2.9rem,14vw,4rem)}.hero-intro{font-size:.94rem}.hero-actions{display:grid}.button{width:100%}.availability{align-items:flex-start;line-height:1.45}.availability span{margin-top:.15rem}.hero-signal-row{gap:.75rem;display:grid}.hero-proof{width:fit-content}.hero-details{gap:1.25rem;margin-top:2.25rem;display:grid}.hero-portrait{display:none}.featured-project,.featured-project:hover{grid-template-columns:1fr;gap:1rem;padding:1.5rem}.project-meta{grid-column:auto}.achievement-gallery{grid-template-columns:1fr}.achievement-main .gallery-image{aspect-ratio:4/3}.achievement-pair{grid-template-columns:1fr 1fr}.achievement-pair .gallery-image{aspect-ratio:1}.project-archive summary span:last-child{display:none}.index-row{grid-template-columns:1.75rem 1fr;align-items:start}.index-row .project-links{grid-column:2}.skill-list{grid-template-columns:1fr}.about-grid{padding:1.5rem}.contact-section{border-radius:var(--radius-sm)}.contact-mail{align-items:flex-start}.contact-mail span{overflow-wrap:anywhere}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.hover\:-translate-y-1:hover{--tw-translate-y:-.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.hover\:border-\[var\(--neon-cyan\)\]:hover{border-color:var(--neon-cyan)}.hover\:border-\[var\(--neon-lime\)\]:hover{border-color:var(--neon-lime)}.hover\:border-\[var\(--neon-magenta\)\]:hover{border-color:var(--neon-magenta)}.hover\:border-emerald-500\/50:hover{border-color:#10b98180}.hover\:border-white\/20:hover{border-color:#fff3}.hover\:bg-\[var\(--bg-panel\)\]:hover{background-color:var(--bg-panel)}.hover\:bg-\[var\(--neon-cyan\)\]:hover{background-color:var(--neon-cyan)}.hover\:bg-black\/80:hover{background-color:#000c}.hover\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.hover\:text-\[var\(--bg-void\)\]:hover{color:var(--bg-void)}.hover\:text-\[var\(--neon-cyan\)\]:hover{color:var(--neon-cyan)}.hover\:text-\[var\(--text-primary\)\]:hover{color:var(--text-primary)}.hover\:text-emerald-300:hover{--tw-text-opacity:1;color:rgb(110 231 183/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-\[0_0_16px_rgba\(0\,240\,255\,0\.4\)\]:hover{--tw-shadow:0 0 16px #00f0ff66;--tw-shadow-colored:0 0 16px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-\[0_0_16px_var\(--neon-cyan\)\]:hover{--tw-shadow:0 0 16px var(--neon-cyan);--tw-shadow-colored:0 0 16px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus\:border-emerald-500:focus{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity,1))}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-emerald-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(16 185 129/var(--tw-ring-opacity,1))}.active\:cursor-grabbing:active{cursor:grabbing}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y))rotate(var(--tw-rotate))skewX(var(--tw-skew-x))skewY(var(--tw-skew-y))scaleX(var(--tw-scale-x))scaleY(var(--tw-scale-y))}.group:hover .group-hover\:bg-\[var\(--neon-cyan\)\]{background-color:var(--neon-cyan)}.group:hover .group-hover\:text-\[var\(--bg-void\)\]{color:var(--bg-void)}.group:hover .group-hover\:text-\[var\(--neon-cyan\)\]{color:var(--neon-cyan)}.group:hover .group-hover\:text-\[var\(--neon-magenta\)\]{color:var(--neon-magenta)}.group:hover .group-hover\:opacity-0{opacity:0}.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:opacity-30{opacity:.3}.group:hover .group-hover\:opacity-60{opacity:.6}@media (min-width:640px){.sm\:-left-6{left:-1.5rem}.sm\:-right-6{right:-1.5rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:h-80{height:20rem}.sm\:w-80{width:20rem}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}}@media (min-width:768px){.md\:col-span-3{grid-column:span 3/span 3}.md\:col-span-4{grid-column:span 4/span 4}.md\:col-span-5{grid-column:span 5/span 5}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:p-10{padding:2.5rem}.md\:py-28{padding-top:7rem;padding-bottom:7rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}}@media (min-width:1024px){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:mx-0{margin-left:0;margin-right:0}.lg\:block{display:block}.lg\:h-\[22rem\]{height:22rem}.lg\:w-\[22rem\]{width:22rem}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:justify-start{justify-content:flex-start}.lg\:gap-20{gap:5rem}.lg\:px-10{padding-left:2.5rem;padding-right:2.5rem}.lg\:text-left{text-align:left}.lg\:text-3xl{font-size:1.875rem;line-height:2.25rem}.lg\:text-7xl{font-size:4.5rem;line-height:1}.lg\:text-8xl{font-size:6rem;line-height:1}}
