@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(../media/space-grotesk-vietnamese-400-normal.0n53nu9gf7tfh.woff2)format("woff2"),url(../media/space-grotesk-vietnamese-400-normal.2fpfelku-hv14.woff)format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(../media/space-grotesk-latin-ext-400-normal.1i9-l0cwy3xz4.woff2)format("woff2"),url(../media/space-grotesk-latin-ext-400-normal.2ktnj406brzmd.woff)format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(../media/space-grotesk-latin-400-normal.1c6pcavxma0qq.woff2)format("woff2"),url(../media/space-grotesk-latin-400-normal.1lv17ebb0doqy.woff)format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(../media/space-grotesk-vietnamese-500-normal.124hzgul_x378.woff2)format("woff2"),url(../media/space-grotesk-vietnamese-500-normal.2cc7ynremmr7q.woff)format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(../media/space-grotesk-latin-ext-500-normal.24vi-5kullur3.woff2)format("woff2"),url(../media/space-grotesk-latin-ext-500-normal.3byb4h5ei5vbt.woff)format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(../media/space-grotesk-latin-500-normal.33jdofnh71adk.woff2)format("woff2"),url(../media/space-grotesk-latin-500-normal.22aucsocraley.woff)format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(../media/space-grotesk-vietnamese-600-normal.0g_243fsrgopq.woff2)format("woff2"),url(../media/space-grotesk-vietnamese-600-normal.1_4h7s4i8qtw0.woff)format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(../media/space-grotesk-latin-ext-600-normal.2p6ts50jbut9s.woff2)format("woff2"),url(../media/space-grotesk-latin-ext-600-normal.3bl6yn-84ll6f.woff)format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(../media/space-grotesk-latin-600-normal.406z--bjzi1j-.woff2)format("woff2"),url(../media/space-grotesk-latin-600-normal.2n2gt4u-8z3ue.woff)format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(../media/space-grotesk-vietnamese-700-normal.3nrnz1jykp0-d.woff2)format("woff2"),url(../media/space-grotesk-vietnamese-700-normal.00qvn3e43vadl.woff)format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(../media/space-grotesk-latin-ext-700-normal.12edwf9le6tro.woff2)format("woff2"),url(../media/space-grotesk-latin-ext-700-normal.1m348sgz_lwrz.woff)format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(../media/space-grotesk-latin-700-normal.16tiaqjgzwdo4.woff2)format("woff2"),url(../media/space-grotesk-latin-700-normal.2f82em-z48vvn.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-cyrillic-ext-400-normal.09jq5v9-1wf71.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-ext-400-normal.2iaubq2jy0rx3.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-cyrillic-400-normal.0m1ahpdxrpokj.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-400-normal.2-z93d2j9-3s0.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-vietnamese-400-normal.3a7fs2yw914a9.woff2)format("woff2"),url(../media/ibm-plex-mono-vietnamese-400-normal.2kzc8ichkozg5.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-latin-ext-400-normal.1hjaitcyq2e2r.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-ext-400-normal.0nrwft7nlo5oa.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-mono-latin-400-normal.3xdfs0-p_zi4c.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-400-normal.2lhng2ntocry9.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-cyrillic-ext-500-normal.28wp48yubenc3.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-ext-500-normal.41yczc5zdkwdh.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-cyrillic-500-normal.26ox_itp_alxp.woff2)format("woff2"),url(../media/ibm-plex-mono-cyrillic-500-normal.1eaan1mch682e.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-vietnamese-500-normal.0s1z3n-ysad7w.woff2)format("woff2"),url(../media/ibm-plex-mono-vietnamese-500-normal.2g79xp9gzp1kn.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-latin-ext-500-normal.1cuq9_67cn48n.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-ext-500-normal.1tdw_l2v4yhc_.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-mono-latin-500-normal.11q3guvgd1r20.woff2)format("woff2"),url(../media/ibm-plex-mono-latin-500-normal.1fgk-kmy-32_a.woff)format("woff");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}
@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;--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}}@layer components;@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.relative{position:relative}.flex{display:flex}.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))}}:root{--ink:#090b0a;--ink-soft:#0e1110;--panel:#121614;--panel-bright:#171c19;--line:#edeee721;--line-bright:#edeee740;--paper:#edeee7;--muted:#949a93;--lime:#c8ff45;--cyan:#62e7f5;--font-sans:"Space Grotesk", Arial, sans-serif;--font-mono:"IBM Plex Mono", Consolas, monospace}*{box-sizing:border-box}html{background:var(--ink);scroll-behavior:smooth;scroll-padding-top:92px}body{background:radial-gradient(circle at 85% 8%, #62e7f509, transparent 28rem), var(--ink);color:var(--paper);font-family:var(--font-sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}body:before{z-index:100;pointer-events:none;content:"";opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.75'/%3E%3C/svg%3E");position:fixed;inset:0}body.menu-open{overflow:hidden}::selection{background:var(--lime);color:var(--ink)}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--lime);outline-offset:5px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.section-shell{width:min(100%,1540px);margin-inline:auto;padding-inline:clamp(24px,5vw,82px)}.scroll-progress{z-index:200;transform-origin:0;background:linear-gradient(90deg, var(--lime), var(--cyan));height:2px;position:fixed;top:0;left:0;right:0}.site-header{z-index:90;border-bottom:1px solid #0000;grid-template-columns:1fr auto 1fr;align-items:center;width:min(100%,1540px);height:82px;padding-inline:clamp(24px,5vw,82px);transition:background .25s,border-color .25s,-webkit-backdrop-filter .25s,backdrop-filter .25s;display:grid;position:fixed;top:0;left:50%;transform:translate(-50%)}.site-header.is-scrolled{border-color:var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#090b0ac2}.brand-mark{letter-spacing:-.06em;align-items:center;gap:9px;width:max-content;font-size:1rem;font-weight:700;display:inline-flex}.brand-mark i{background:var(--lime);width:6px;height:6px;box-shadow:0 0 14px #c8ff45cc}.desktop-nav{align-items:center;gap:clamp(22px,2.5vw,44px);display:flex}.desktop-nav a,.header-status{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;color:#c0c4bd;font-size:.67rem;position:relative}.desktop-nav a:after{content:"";transform-origin:100%;background:var(--lime);height:1px;transition:transform .22s;position:absolute;bottom:-8px;left:0;right:0;transform:scaleX(0)}.desktop-nav a:hover:after,.desktop-nav a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.header-status{color:var(--muted);justify-self:end;align-items:center;gap:9px;display:flex}.header-status span{background:var(--lime);border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 4px #c8ff4514,0 0 16px #c8ff458c}.menu-button,.mobile-nav-wrap{display:none}.hero{isolation:isolate;grid-template-columns:minmax(0,1.08fr) minmax(390px,.72fr);align-items:center;gap:clamp(48px,6vw,96px);min-height:100svh;padding-top:clamp(132px,16vh,184px);padding-bottom:clamp(76px,10vh,128px);display:grid;position:relative}.hero:before{z-index:-2;content:"";background-image:linear-gradient(#edeee709 1px,#0000 1px),linear-gradient(90deg,#edeee709 1px,#0000 1px);background-size:64px 64px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0%,#000000b3 70%,#0000 100%);mask-image:linear-gradient(#000 0%,#000000b3 70%,#0000 100%)}.hero-glow{z-index:-1;pointer-events:none;filter:blur(100px);border-radius:50%;position:absolute}.hero-glow-one{opacity:.09;background:var(--cyan);width:340px;height:340px;top:25%;right:7%}.hero-glow-two{opacity:.07;background:var(--lime);width:220px;height:220px;top:48%;left:12%}.hero-copy{z-index:2;min-width:0;position:relative}.eyebrow{color:#bdc1ba;font-family:var(--font-mono);letter-spacing:.16em;align-items:center;gap:18px;margin:0 0 28px;font-size:.7rem;display:flex}.eyebrow i{background:linear-gradient(90deg, var(--line-bright), transparent);width:74px;height:1px;display:block}.hero h1{letter-spacing:-.075em;margin:0;font-size:clamp(5rem,9.2vw,9.8rem);font-weight:600;line-height:.78}.hero h1 span,.section-heading h2 span,.contact-section h2 span{color:#0000;-webkit-text-stroke:1px #edeee780}.hero-intro{color:#aeb3ac;max-width:700px;margin:42px 0 0;font-size:clamp(1.08rem,1.45vw,1.38rem);line-height:1.55}.hero-intro em{color:var(--paper);font-style:normal}.hero-actions{align-items:center;gap:32px;margin-top:38px;display:flex}.primary-button{background:var(--lime);color:#11140e;min-height:54px;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;justify-content:center;align-items:center;gap:42px;padding:0 22px;font-size:.69rem;font-weight:500;transition:gap .22s,background .22s;display:inline-flex}.primary-button:hover{background:#d5ff72;gap:52px}.primary-button svg,.text-link svg,.project-link svg,.email-link svg{stroke:currentColor;stroke-width:1.6px;width:16px;height:16px}.text-link{border-bottom:1px solid var(--line-bright);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:10px;padding:12px 0;font-size:.69rem;transition:color .18s,border-color .18s;display:inline-flex}.text-link:hover{color:var(--cyan);border-color:var(--cyan)}.hero-deck-wrap{justify-self:end;width:min(100%,500px);min-width:0}.hero-project-deck{width:100%;position:relative}.hero-deck-heading{border-bottom:1px solid var(--line);min-height:54px;font-family:var(--font-mono);justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:14px;padding-bottom:15px;display:flex}.hero-deck-heading span{color:var(--muted);letter-spacing:.12em;margin-bottom:5px;font-size:.5rem;display:block}.hero-deck-heading h2{color:var(--paper);letter-spacing:.1em;margin:0;font-size:.68rem;font-weight:500}.hero-deck-status{color:#777e77;letter-spacing:.08em;flex:none;align-items:center;gap:8px;font-size:.47rem;display:flex}.hero-deck-status i{background:var(--lime);border-radius:50%;width:5px;height:5px;box-shadow:0 0 10px #c8ff457a}.hero-project-deck[data-auto-cycling=true][data-paused=false] .hero-deck-status i{animation:1.6s ease-in-out infinite deck-status-pulse}.hero-deck-cards{position:relative}.hero-deck-card{--deck-accent:var(--lime);z-index:1;border:1px solid var(--line);background:linear-gradient(115deg, var(--deck-accent), transparent 46%), #0c0f0eed;width:100%;min-height:62px;padding:0 22px;display:block;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.hero-deck-card{background:linear-gradient(115deg, color-mix(in srgb, var(--deck-accent) 3%, transparent), transparent 46%), #0c0f0eed}}.hero-deck-card{color:var(--paper);cursor:pointer;font:inherit;text-align:left;transition:min-height .42s cubic-bezier(.22,1,.36,1),transform .19s,border-color .24s,background .24s,box-shadow .24s}.hero-deck-card+.hero-deck-card{margin-top:-1px}.hero-deck-card.tone-cyan{--deck-accent:var(--cyan)}.hero-deck-card.tone-amber{--deck-accent:#ffbe5c}.hero-deck-card.tone-violet{--deck-accent:#9c8cff}.hero-deck-card:before{content:"";transform-origin:top;background:var(--deck-accent);width:3px;transition:transform .32s cubic-bezier(.22,1,.36,1);position:absolute;top:-1px;bottom:-1px;left:-1px;transform:scaleY(0)}.hero-deck-card:hover:not(.is-active){z-index:3;border-color:var(--deck-accent);transform:translate(-6px)}@supports (color:color-mix(in lab, red, red)){.hero-deck-card:hover:not(.is-active){border-color:color-mix(in srgb, var(--deck-accent) 46%, var(--line))}}.hero-deck-card.is-active{z-index:4;border-color:var(--deck-accent);min-height:248px}@supports (color:color-mix(in lab, red, red)){.hero-deck-card.is-active{border-color:color-mix(in srgb, var(--deck-accent) 58%, transparent)}}.hero-deck-card.is-active{background:radial-gradient(circle at 88% 18%, var(--deck-accent), transparent 36%), linear-gradient(120deg, var(--deck-accent), transparent 52%), #0e1210f7}@supports (color:color-mix(in lab, red, red)){.hero-deck-card.is-active{background:radial-gradient(circle at 88% 18%, color-mix(in srgb, var(--deck-accent) 13%, transparent), transparent 36%), linear-gradient(120deg, color-mix(in srgb, var(--deck-accent) 7%, transparent), transparent 52%), #0e1210f7}}.hero-deck-card.is-active{box-shadow:0 18px 46px #00000047, 0 0 34px var(--deck-accent)}@supports (color:color-mix(in lab, red, red)){.hero-deck-card.is-active{box-shadow:0 18px 46px #00000047, 0 0 34px color-mix(in srgb, var(--deck-accent) 5%, transparent)}}.hero-deck-card.is-active:before{transform:scaleY(1)}.hero-deck-card-top{min-height:60px;font-family:var(--font-mono);grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.hero-deck-card-top>span{color:var(--deck-accent);letter-spacing:.08em;font-size:.52rem}.hero-deck-card-top b{letter-spacing:.075em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.62rem;font-weight:500;overflow:hidden}.hero-deck-card-top i{border:1px solid var(--deck-accent);width:8px;height:8px;transform:rotate(45deg)}@supports (color:color-mix(in lab, red, red)){.hero-deck-card-top i{border:1px solid color-mix(in srgb, var(--deck-accent) 70%, transparent)}}.hero-deck-card-top i{transition:background .22s,box-shadow .22s}.hero-deck-card.is-active .hero-deck-card-top i{background:var(--deck-accent);box-shadow:0 0 14px var(--deck-accent)}@supports (color:color-mix(in lab, red, red)){.hero-deck-card.is-active .hero-deck-card-top i{box-shadow:0 0 14px color-mix(in srgb, var(--deck-accent) 58%, transparent)}}.hero-deck-card-body{opacity:0;flex-direction:column;max-height:0;padding:0;transition:max-height .42s cubic-bezier(.22,1,.36,1),padding .42s cubic-bezier(.22,1,.36,1),opacity .18s,transform .28s;display:flex;overflow:hidden;transform:translateY(8px)}.hero-deck-card.is-active .hero-deck-card-body{opacity:1;max-height:188px;padding:9px 0 20px 46px;transform:translateY(0)}.hero-deck-card-body>small{color:var(--deck-accent);font-family:var(--font-mono);letter-spacing:.11em;font-size:.46rem}.hero-deck-card-body>strong{letter-spacing:-.025em;margin-top:7px;font-size:clamp(1.08rem,1.4vw,1.3rem);font-weight:500;line-height:1.15}.hero-deck-card-body>span:not(.hero-deck-tags){color:#9ea49e;max-width:390px;margin-top:10px;font-size:.76rem;line-height:1.48}.hero-deck-tags{flex-wrap:wrap;gap:7px;margin-top:14px;display:flex}.hero-deck-tags em{border:1px solid var(--deck-accent);padding:5px 7px}@supports (color:color-mix(in lab, red, red)){.hero-deck-tags em{border:1px solid color-mix(in srgb, var(--deck-accent) 24%, var(--line))}}.hero-deck-tags em{color:#c9cdc7;font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;font-size:.45rem;font-style:normal}.hero-deck-progress{grid-template-columns:repeat(4,1fr);gap:6px;margin-top:15px;display:grid}.hero-deck-progress i{background:var(--line);height:2px;transition:background .22s,box-shadow .22s}.hero-deck-progress i.is-active{background:var(--lime);box-shadow:0 0 10px #c8ff4547}.work-section,.project-section,.skills-section,.about-section{padding-top:clamp(130px,16vw,230px);padding-bottom:clamp(90px,12vw,180px)}.work-section{padding-top:clamp(96px,10vw,154px)}.section-heading{grid-template-columns:minmax(150px,.38fr) 1.1fr minmax(280px,.52fr);align-items:end;gap:40px;display:grid}.section-label{color:var(--muted);font-family:var(--font-mono);letter-spacing:.12em;align-self:start;align-items:center;gap:16px;font-size:.62rem;display:flex}.section-label span{color:var(--lime)}.section-label p{margin:0}.section-heading h2{letter-spacing:-.065em;margin:0;font-size:clamp(3.5rem,6.4vw,7.2rem);font-weight:500;line-height:.93}.section-heading>p{max-width:430px;color:var(--muted);margin:0 0 7px;font-size:.98rem;line-height:1.65}.experience-layout{grid-template-columns:minmax(180px,.38fr) minmax(0,1.62fr);gap:70px;margin-top:clamp(90px,10vw,150px);display:grid}.experience-aside{height:max-content;color:var(--muted);font-family:var(--font-mono);position:sticky;top:118px}.experience-aside>span{letter-spacing:.12em;font-size:.6rem}.experience-line{background:var(--line);width:1px;height:170px;margin:22px 0;position:relative}.experience-line i{background:linear-gradient(var(--lime), transparent);width:5px;height:46%;position:absolute;top:0;left:-2px}.experience-aside p{max-width:200px;font-size:.62rem;line-height:1.7}.timeline{position:relative}.timeline:before{content:"";background:linear-gradient(var(--line-bright), var(--line) 75%, transparent);width:1px;position:absolute;top:0;bottom:0;left:31px}.timeline-entry{grid-template-columns:64px 190px 1fr;gap:32px;padding-bottom:110px;display:grid;position:relative}.timeline-entry:last-child{padding-bottom:0}.timeline-marker{z-index:2;border:1px solid var(--line-bright);background:var(--ink);width:64px;height:64px;color:var(--lime);font-family:var(--font-mono);justify-content:center;align-items:center;font-size:.57rem;display:flex;position:relative}.timeline-meta{font-family:var(--font-mono);padding-top:4px}.timeline-meta p{color:#d8dad4;margin:0 0 9px;font-size:.65rem;line-height:1.5}.timeline-meta span{color:var(--muted);font-size:.55rem;line-height:1.5}.company{color:var(--cyan);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;margin:0 0 15px;font-size:.63rem}.timeline-content h3{letter-spacing:-.04em;margin:0;font-size:clamp(1.8rem,3.2vw,3rem);font-weight:500}.role-summary{color:#b6bbb4;max-width:730px;margin:25px 0 32px;font-size:1.05rem;line-height:1.65}.timeline-content ul,.project-copy ul{gap:15px;max-width:780px;margin:0;padding:0;list-style:none;display:grid}.timeline-content li,.project-copy li{color:var(--muted);padding-left:21px;font-size:.88rem;line-height:1.6;position:relative}.timeline-content li:before,.project-copy li:before{content:"";background:var(--lime);width:7px;height:1px;position:absolute;top:.73em;left:0}.tag-list{flex-wrap:wrap;gap:8px;margin-top:32px;display:flex}.tag-list span{border:1px solid var(--line);color:#aeb4ac;font-family:var(--font-mono);letter-spacing:.04em;padding:8px 11px;font-size:.53rem}.project-section{background:#0d100f;width:100%;max-width:none;padding-left:max(clamp(24px,5vw,82px),50vw - 688px);padding-right:max(clamp(24px,5vw,82px),50vw - 688px);position:relative}.project-section:before{content:"";pointer-events:none;background-image:linear-gradient(90deg,#0000 49.9%,#edeee706 50%,#0000 50.1%);position:absolute;inset:0}.project-heading{grid-template-columns:minmax(150px,.38fr) 1.62fr}.project-card{border:1px solid var(--line);background:var(--panel);grid-template-columns:.92fr 1.08fr;min-height:650px;margin-top:clamp(70px,8vw,120px);display:grid;position:relative;overflow:hidden;box-shadow:0 50px 120px #00000038}.project-card:before{z-index:2;content:"";border-top:1px solid var(--lime);border-left:1px solid var(--lime);width:54px;height:54px;position:absolute;top:-1px;left:-1px}.project-copy{z-index:3;padding:clamp(38px,5vw,76px);position:relative}.project-kicker{color:var(--muted);font-family:var(--font-mono);letter-spacing:.09em;justify-content:space-between;margin-bottom:clamp(62px,8vw,112px);font-size:.56rem;display:flex}.project-kicker span:first-child{color:var(--lime)}.project-role{color:var(--cyan);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;margin:0 0 12px;font-size:.61rem}.project-copy h3{letter-spacing:-.07em;margin:0;font-size:clamp(3.5rem,6.5vw,7rem);font-weight:500;line-height:.95}.project-description{color:#bbc0b9;max-width:620px;margin:28px 0 32px;font-size:1.05rem;line-height:1.65}.project-tags{margin-top:34px}.project-link{border-bottom:1px solid var(--lime);width:max-content;color:var(--paper);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:36px;margin-top:45px;padding-bottom:10px;font-size:.66rem;transition:gap .22s,color .22s;display:flex}.project-link:hover{color:var(--lime);gap:46px}.project-visual-wrap{background:#0a0d0c;padding:clamp(28px,4vw,60px)}.run-visual{background:radial-gradient(circle at 50% 42%,#62e7f51a,#0000 37%),linear-gradient(145deg,#121917,#090d0c 70%);border:1px solid #62e7f538;height:100%;min-height:650px;position:relative;overflow:hidden;box-shadow:inset 0 0 70px #62e7f509}.run-visual-grid{opacity:.4;background-image:linear-gradient(#62e7f50f 1px,#0000 1px),linear-gradient(90deg,#62e7f50f 1px,#0000 1px);background-size:30px 30px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000,#0000 85%);mask-image:radial-gradient(circle,#000,#0000 85%)}.run-topbar{z-index:3;color:#84908a;height:52px;font-family:var(--font-mono);letter-spacing:.1em;background:#080c0bb3;border-bottom:1px solid #62e7f526;justify-content:space-between;align-items:center;padding:0 20px;font-size:.5rem;display:flex;position:absolute;top:0;left:0;right:0}.run-topbar span:last-child{color:var(--cyan);align-items:center;gap:7px;display:flex}.run-topbar i{background:var(--cyan);width:5px;height:5px;box-shadow:0 0 10px var(--cyan);border-radius:50%}.showcase-stage{z-index:2;position:absolute;inset:52px 0 94px;overflow:hidden}.showcase-stage:before{content:"";pointer-events:none;background:linear-gradient(90deg,#090d0ccc,#0000 25% 75%,#090d0ccc),radial-gradient(circle,#c8ff450d,#0000 50%);position:absolute;inset:0}.showcase-index{z-index:4;font-family:var(--font-mono);position:absolute;top:24px;left:22px}.showcase-index span{color:var(--lime);letter-spacing:.12em;font-size:.62rem;display:block}.showcase-index p{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin:8px 0 0;font-size:.45rem}.showcase-phone{--slide-accent:var(--lime);z-index:5;filter:drop-shadow(0 25px 35px #0000008c);width:clamp(178px,36%,220px);margin:0;position:absolute;top:50%;left:50%;translate:-50% -50%}.showcase-phone:before{z-index:-1;content:"";border:1px solid var(--slide-accent);position:absolute;inset:-12px}@supports (color:color-mix(in lab, red, red)){.showcase-phone:before{border:1px solid color-mix(in srgb, var(--slide-accent) 52%, transparent)}}.showcase-phone:before{box-shadow:0 0 38px var(--slide-accent);border-radius:29px}@supports (color:color-mix(in lab, red, red)){.showcase-phone:before{box-shadow:0 0 38px color-mix(in srgb, var(--slide-accent) 16%, transparent)}}.showcase-screen{aspect-ratio:1242/2688;background:#050706;border:5px solid #050706;border-radius:23px;position:relative;overflow:hidden}.showcase-screen img,.showcase-ghost img,.showcase-tab-thumb img{object-fit:cover}.showcase-phone figcaption{min-height:42px;color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:end;gap:15px;padding:0 4px;font-size:.46rem;display:flex}.showcase-phone figcaption span{color:var(--slide-accent)}.showcase-phone figcaption strong{color:var(--paper);text-overflow:ellipsis;white-space:nowrap;font-weight:400;overflow:hidden}.showcase-ghost{z-index:1;aspect-ratio:1242/2688;opacity:.29;filter:saturate(.75);cursor:pointer;background:#050706;border:1px solid #edeee72e;border-radius:19px;width:clamp(125px,27%,165px);padding:0;transition:opacity .22s,transform .22s,filter .22s;position:absolute;top:50%;overflow:hidden;transform:translateY(-50%)scale(.94)}.showcase-ghost:hover,.showcase-ghost:focus-visible{z-index:3;opacity:.57;filter:saturate()}.showcase-ghost-left{left:4%;transform:translateY(-50%)rotate(-5deg)scale(.94)}.showcase-ghost-left:hover,.showcase-ghost-left:focus-visible{transform:translateY(-50%)rotate(-3deg)scale(.98)}.showcase-ghost-right{right:4%;transform:translateY(-50%)rotate(5deg)scale(.94)}.showcase-ghost-right:hover,.showcase-ghost-right:focus-visible{transform:translateY(-50%)rotate(3deg)scale(.98)}.showcase-tabs{z-index:8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#060908e6;border-top:1px solid #62e7f529;grid-template-columns:repeat(4,minmax(0,1fr));height:94px;display:grid;position:absolute;bottom:0;left:0;right:0}.showcase-tabs>button{border:0;border-right:1px solid var(--line);min-width:0;color:var(--muted);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:10px;padding:12px;transition:background .18s,color .18s;display:flex;position:relative}.showcase-tabs>button:last-child{border-right:0}.showcase-tabs>button:before{content:"";background:var(--lime);height:2px;transition:transform .22s;position:absolute;top:-1px;left:0;right:0;transform:scaleX(0)}.showcase-tabs>button:hover,.showcase-tabs>button.is-active{color:var(--paper);background:#edeee709}.showcase-tabs>button.is-active:before{transform:scaleX(1)}.showcase-tab-thumb{aspect-ratio:1242/1600;border:1px solid var(--line-bright);opacity:.62;flex:0 0 32px;width:32px;display:block;position:relative;overflow:hidden}.showcase-tabs>button.is-active .showcase-tab-thumb{opacity:1}.showcase-tab-copy{min-width:0;font-family:var(--font-mono)}.showcase-tab-copy small,.showcase-tab-copy b{display:block}.showcase-tab-copy small{color:var(--lime);margin-bottom:5px;font-size:.43rem;font-weight:400}.showcase-tab-copy b{letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.52rem;font-weight:400;overflow:hidden}.skills-heading,.about-heading{grid-template-columns:minmax(150px,.38fr) 1.1fr minmax(280px,.52fr)}.skills-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin-top:clamp(74px,9vw,130px);display:grid}.skill-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#0e11107a;min-height:440px;padding:30px 28px;transition:background .3s,transform .3s;position:relative;overflow:hidden}.skill-card:after{content:"";border:1px solid #0000;border-radius:50%;width:120px;height:120px;transition:border-color .3s,transform .3s;position:absolute;bottom:-45px;right:-45px}.skill-card:hover{z-index:2;background:var(--panel-bright);transform:translateY(-7px)}.skill-card:hover:after{border-color:#c8ff4538;transform:scale(1.3)}.skill-card-top{color:var(--lime);font-family:var(--font-mono);justify-content:space-between;align-items:center;margin-bottom:64px;font-size:.56rem;display:flex}.skill-card-top i{border:1px solid var(--muted);width:6px;height:6px}.skill-card h3{letter-spacing:-.04em;max-width:210px;margin:0;font-size:1.55rem;font-weight:500;line-height:1.05}.skill-card>p{min-height:66px;color:var(--muted);margin:17px 0 30px;font-size:.79rem;line-height:1.55}.skill-list{flex-wrap:wrap;gap:8px;display:flex}.skill-list span{border:1px solid var(--line);color:#bec2bc;font-family:var(--font-mono);padding:7px 9px;font-size:.48rem}.about-section{padding-bottom:clamp(140px,16vw,230px)}.about-grid{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(380px,.7fr);gap:clamp(60px,10vw,160px);margin-top:clamp(76px,9vw,132px);padding-top:48px;display:grid}.about-statement{max-width:760px}.about-statement p{color:#c7cbc4;letter-spacing:-.025em;margin:0 0 27px;font-size:clamp(1.25rem,2.2vw,2rem);line-height:1.45}.about-statement p:last-child{color:var(--muted)}.education-card{border:1px solid var(--line);background:var(--panel);padding:30px;position:relative}.education-card:after{content:"";border-top:1px solid var(--cyan);border-right:1px solid var(--cyan);width:34px;height:34px;position:absolute;top:-1px;right:-1px}.education-top{color:var(--muted);font-family:var(--font-mono);letter-spacing:.09em;justify-content:space-between;margin-bottom:90px;font-size:.52rem;display:flex}.education-top span:first-child{color:var(--cyan)}.education-card h3{letter-spacing:-.05em;max-width:350px;margin:0 0 14px;font-size:clamp(1.8rem,3vw,2.65rem);font-weight:500;line-height:1}.education-card>p{color:var(--muted);margin:0;font-size:.82rem;line-height:1.6}.education-honors{flex-wrap:wrap;gap:9px;margin-top:42px;display:flex}.education-honors span{color:var(--lime);font-family:var(--font-mono);border:1px solid #c8ff4533;padding:8px 11px;font-size:.5rem}.contact-section{border-top:1px solid var(--line);background:radial-gradient(circle at 75%,#c8ff450f,#0000 32rem),#0d100f;min-height:760px;padding-top:clamp(110px,13vw,190px);padding-bottom:clamp(110px,13vw,180px);position:relative;overflow:hidden}.contact-overline{color:var(--muted);font-family:var(--font-mono);letter-spacing:.16em;margin:clamp(85px,10vw,145px) 0 24px;font-size:.58rem}.contact-section h2{z-index:2;letter-spacing:-.075em;margin:0;font-size:clamp(4rem,9.1vw,9rem);font-weight:600;line-height:.84;position:relative}.email-link{z-index:3;border-bottom:1px solid var(--lime);width:min(100%,780px);color:var(--paper);font-family:var(--font-mono);letter-spacing:.04em;justify-content:space-between;align-items:center;margin-top:70px;padding:0 0 18px;font-size:clamp(.8rem,1.4vw,1.05rem);transition:color .22s,padding-left .22s;display:flex;position:relative}.email-link:hover{color:var(--lime);padding-left:10px}.email-link svg{width:22px;height:22px}.contact-orbit{aspect-ratio:1;border:1px solid #edeee70f;border-radius:50%;width:min(66vw,900px);position:absolute;bottom:-22vw;right:-8vw}.contact-orbit:before,.contact-orbit:after{content:"";border:1px solid #edeee70f;border-radius:50%;position:absolute;inset:14%}.contact-orbit:after{inset:30%}.contact-orbit i{background:var(--lime);border-radius:50%;width:7px;height:7px;animation:3s ease-in-out infinite orbit-breathe;position:absolute;top:15%;left:21%;box-shadow:0 0 18px #c8ff45b3}.contact-orbit i:nth-child(2){background:var(--cyan);animation-delay:-1s;top:37%;left:75%;box-shadow:0 0 18px #62e7f5b3}.contact-orbit i:nth-child(3){animation-delay:-2s;top:72%;left:33%}.site-footer{border-top:1px solid var(--line);min-height:110px;color:var(--muted);font-family:var(--font-mono);letter-spacing:.07em;grid-template-columns:1fr auto auto 1fr;align-items:center;gap:clamp(20px,4vw,58px);font-size:.53rem;display:grid}.footer-mark{color:var(--paper)}.site-footer p{margin:0}.site-footer nav{gap:16px;display:flex}.back-to-top{justify-self:end;align-items:center;gap:12px;display:flex}.back-to-top span{color:var(--lime);font-size:.85rem}@keyframes orbit-breathe{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.8)}}@keyframes deck-status-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.72)}}@media (max-width:1180px){.hero{grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);gap:40px}.hero h1{font-size:clamp(4.8rem,8.8vw,8rem)}.section-heading,.skills-heading,.about-heading{grid-template-columns:150px 1fr}.section-heading>p{grid-column:2;margin-top:10px}.timeline-entry{grid-template-columns:64px 150px 1fr;gap:24px}.skills-grid{grid-template-columns:repeat(2,1fr)}.skill-card{min-height:370px}}@media (max-width:960px){.site-header{grid-template-columns:1fr auto}.desktop-nav,.header-status{display:none}.menu-button{z-index:3;border:1px solid var(--line);background:#090b0ab3;justify-content:center;align-items:center;width:42px;height:42px;padding:0;display:flex;position:relative}.menu-button span{background:var(--paper);width:16px;height:1px;transition:transform .24s,top .24s;position:absolute}.menu-button span:first-child{top:16px}.menu-button span:last-child{top:24px}.menu-button[aria-expanded=true] span:first-child{top:20px;transform:rotate(45deg)}.menu-button[aria-expanded=true] span:last-child{top:20px;transform:rotate(-45deg)}.mobile-nav-wrap{z-index:2;visibility:hidden;opacity:0;background:#090b0afa;flex-direction:column;justify-content:space-between;padding:118px 7vw 44px;transition:opacity .24s,visibility .24s;display:flex;position:fixed;inset:0}.mobile-nav-wrap.is-open{visibility:visible;opacity:1}.mobile-nav{flex-direction:column;display:flex}.mobile-nav a{border-bottom:1px solid var(--line);letter-spacing:-.055em;align-items:baseline;gap:22px;padding:17px 0;font-size:clamp(2.4rem,9vw,4rem);font-weight:500;display:flex}.mobile-nav a span{color:var(--lime);font-family:var(--font-mono);letter-spacing:0;font-size:.55rem}.mobile-nav-meta{color:var(--muted);font-family:var(--font-mono);justify-content:space-between;font-size:.56rem;display:flex}.hero{grid-template-columns:minmax(0,1fr);gap:72px;min-height:auto;padding-top:150px;padding-bottom:104px}.hero h1{font-size:clamp(5.8rem,18vw,10rem)}.hero-deck-wrap{justify-self:center;width:min(100%,680px)}.experience-layout{grid-template-columns:1fr}.experience-aside{display:none}.project-card{grid-template-columns:1fr}.project-kicker{margin-bottom:70px}.project-visual-wrap{min-height:630px}.about-grid{grid-template-columns:1fr}.education-card{max-width:620px}}@media (max-width:700px){html{scroll-padding-top:72px}.site-header{height:70px}.hero{gap:58px;padding-top:126px;padding-bottom:82px}.eyebrow{margin-bottom:24px;font-size:.58rem}.hero h1{font-size:clamp(4.25rem,21vw,7.2rem)}.hero-intro{margin-top:30px;font-size:1rem}.hero-actions{gap:22px;margin-top:30px}.primary-button{gap:24px}.hero-deck-heading{margin-bottom:10px}.hero-deck-card{padding-left:18px;padding-right:18px}.hero-deck-card.is-active{min-height:242px}.hero-deck-card.is-active .hero-deck-card-body{padding-left:42px}.section-heading,.skills-heading,.about-heading,.project-heading{grid-template-columns:minmax(0,1fr);gap:30px}.section-heading>*{min-width:0}.section-heading>p{grid-column:1;margin-top:0}.section-heading h2{font-size:clamp(3rem,14vw,5.8rem)}.experience-layout{margin-top:72px}.timeline:before{left:23px}.timeline-entry{grid-template-columns:48px 1fr;gap:20px;padding-bottom:86px}.timeline-marker{width:48px;height:48px}.timeline-meta{padding-top:3px}.timeline-content{grid-column:2}.timeline-content h3{font-size:1.8rem}.role-summary{font-size:.96rem}.project-copy{padding:34px 24px 50px}.project-copy h3{font-size:4rem}.project-kicker{gap:20px;margin-bottom:52px}.project-visual-wrap{min-height:620px;padding:18px}.run-visual{min-height:620px}.skills-grid{grid-template-columns:1fr}.skill-card{min-height:330px}.skill-card-top{margin-bottom:42px}.about-grid{grid-template-columns:1fr;gap:45px}.education-top{margin-bottom:66px}.contact-section{min-height:680px}.contact-section h2{font-size:clamp(3.8rem,18vw,6rem)}.contact-orbit{width:125vw;bottom:-20vw;right:-52vw}.site-footer{grid-template-columns:1fr 1fr;gap:24px;padding-top:28px;padding-bottom:28px}.site-footer>p:nth-of-type(2){text-align:right}.back-to-top{grid-column:2;justify-self:end}}@media (max-width:430px){.hero-actions{flex-direction:column;align-items:flex-start}.primary-button{justify-content:space-between;width:100%}.hero-deck-heading{align-items:flex-start}.hero-deck-status{padding-top:17px}.hero-deck-card{min-height:54px;padding-left:15px;padding-right:15px}.hero-deck-card.is-active{min-height:258px}.hero-deck-card-top{grid-template-columns:27px minmax(0,1fr) auto;gap:9px;min-height:52px}.hero-deck-card-top b{font-size:.56rem}.hero-deck-card.is-active .hero-deck-card-body{max-height:204px;padding:10px 0 18px}.hero-deck-card-body>strong{font-size:1.02rem}.hero-deck-card-body>span:not(.hero-deck-tags){font-size:.72rem}.project-copy h3{font-size:3.45rem}.project-kicker{flex-direction:column;align-items:flex-start}.project-visual-wrap{min-height:600px;padding:12px}.run-visual{min-height:600px}.showcase-phone{width:170px}.showcase-ghost{width:118px}.showcase-index{top:17px;left:14px}.showcase-index p,.showcase-tab-thumb{display:none}.showcase-tabs>button{text-align:center;justify-content:center;padding:10px 7px}.email-link{font-size:.7rem}.mobile-nav-meta{flex-direction:column;align-items:flex-start;gap:10px}}@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}}
