@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.00az9qtie3ho1.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.3j-a226dh71aj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.2gwoz23eiro2t.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0i3h3th1vs4m7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0zr6hhvz-h9nw.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:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.27spqqad3wyeo.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.3f4zuumv8svu0.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.34r5yzckw0h2s.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.2jyz_zw3a8jit.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.30bdpjkrtcces.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.1v5bejj26fx9h.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:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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-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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){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{.visible{visibility:visible}.block{display:block}.flex{display:flex}.hidden{display:none}.h-full{height:100%}.min-h-full{min-height:100%}.resize{resize:both}.flex-col{flex-direction:column}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}
:root{--background:#05070d;--foreground:#f5f7fb;--muted:#a8b0c2;--line:#ffffff24;--panel:#070b15e6;--panel-strong:#0a101ee6;--accent:#9fd2ff;--accent-strong:#f0c46a}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{min-height:100%}body{min-height:100vh;color:var(--foreground);background:#05070d;margin:0;font-family:Arial,Helvetica,sans-serif}body:before{z-index:-2;pointer-events:none;content:"";background:url(/assets/backgrounds/cold-night-sky.webp) 50%/cover no-repeat;position:fixed;inset:0}body:after{z-index:-1;pointer-events:none;content:"";background:linear-gradient(#05070d2e,#05070d38 46%,#05070d47 100%),radial-gradient(circle at 50% 0,#9fd2ff29,#0000 34%),linear-gradient(90deg,#05070d47,#0000 30% 70%,#05070d47);position:fixed;inset:0}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}.portfolio-shell{opacity:0;animation:.62s .64s both portfolio-fade-in}.portfolio-shell main{animation:.82s cubic-bezier(.2,.8,.2,1) .64s both portfolio-rise-in}.section{width:min(1180px,100% - 32px);margin:0 auto;padding:112px 0;scroll-margin-top:84px}.achievement-card,.compact-card,.skill-item{border:1px solid var(--line);background:var(--panel)}.project-meta,.compact-card span,.timeline-row time{color:var(--muted);font-size:13px;font-weight:700}@keyframes portfolio-fade-in{to{opacity:1}}@keyframes portfolio-rise-in{0%{opacity:0;transform:translateY(34px)}to{opacity:1;transform:translateY(0)}}
.intro-stars{z-index:50;pointer-events:none;background:#05070d6b;animation:.76s 1.54s forwards intro-overlay-out;position:fixed;inset:0;overflow:hidden}.intro-center-glow{filter:blur(4px);opacity:0;background:radial-gradient(circle,#f5f7fbb3,#9fd2ff42 36%,#0000 70%);border-radius:999px;width:140px;height:140px;animation:1.28s cubic-bezier(.2,.85,.22,1) forwards intro-center-pop;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.3)}.intro-star-field{width:1px;height:1px;animation:1.64s cubic-bezier(.2,.85,.22,1) forwards intro-field-spin;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.intro-star{width:var(--star-size);height:var(--star-size);opacity:0;transform:rotate(var(--star-angle)) translateX(0) scale(.35);animation:intro-star-burst var(--star-duration) cubic-bezier(.16, .85, .22, 1) var(--star-delay) forwards;background:#f5f7fbeb;border-radius:999px;position:absolute;top:0;left:0;box-shadow:0 0 12px #f5f7fbc7,0 0 22px #9fd2ffb8,0 0 34px #f5d99542}@keyframes intro-star-burst{0%{opacity:0;transform:rotate(var(--star-angle)) translateX(0) scale(.35)}18%{opacity:1}72%{opacity:.82}to{opacity:0;transform:rotate(calc(var(--star-angle) + 120deg)) translateX(var(--star-distance)) scale(1)}}@keyframes intro-field-spin{0%{transform:translate(-50%,-50%)rotate(0)scale(.75)}to{transform:translate(-50%,-50%)rotate(145deg)scale(1.05)}}@keyframes intro-center-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)}22%{opacity:.9}to{opacity:0;transform:translate(-50%,-50%)scale(2.1)}}@keyframes intro-overlay-out{to{opacity:0}}
.site-header{z-index:20;width:0;position:absolute;top:0;left:42px}.brand{color:#0000;letter-spacing:0;text-shadow:0 1px 18px #000000b3;background:linear-gradient(135deg,#fff 0%,#dcecff 38%,#f5d995 66%,#fff 100%);-webkit-background-clip:text;background-clip:text;font-size:24px;font-weight:800;transition:filter .18s,transform .18s;position:absolute;top:26px;left:0}.brand.is-active{filter:drop-shadow(0 0 16px #f5d9956b);transform:scale(1.08)}.mobile-menu-button,.mobile-menu-backdrop{display:none}.nav{top:var(--nav-top,50vh);z-index:19;background:0 0;align-items:start;gap:14px;transition:top 80ms linear;display:grid;position:fixed;left:42px}.nav a{background:var(--nav-gradient);color:#0000;white-space:nowrap;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;min-height:auto;padding:0;font-size:13px;font-weight:700;line-height:1.2;transition:opacity .16s,transform .16s;position:relative}.theme-toggle{border:1px solid color-mix(in srgb, var(--accent-strong) 42%, transparent);background:color-mix(in srgb, var(--panel) 48%, transparent);width:34px;height:34px;color:var(--accent-strong);cursor:pointer;font:inherit;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;place-items:center;margin-top:8px;padding:0;transition:background .18s,border-color .18s,color .18s,filter .18s,transform .18s;display:grid}.theme-toggle svg{fill:currentColor;width:18px;height:18px}.theme-toggle:hover{border-color:color-mix(in srgb, var(--accent-strong) 76%, transparent);background:color-mix(in srgb, var(--panel-strong) 68%, transparent);color:var(--foreground);filter:drop-shadow(0 0 16px #f5d99547);transform:scale(1.08)}.nav a:before{content:"";opacity:0;background:#f5d995;border-radius:999px;width:6px;height:6px;transition:opacity .18s,transform .18s;position:absolute;top:50%;left:-14px;transform:translateY(-50%)scale(.4);box-shadow:0 0 14px #f5d995b8,0 0 22px #9fd2ff52}.nav a:hover{opacity:.72;transform:translate(4px)}.nav a.is-active{opacity:1;transform:translate(7px)}.nav a.is-active:before{opacity:1;transform:translateY(-50%)scale(1)}main{overflow:hidden}@media (min-width:1920px){.site-header{left:56px}.brand{font-size:31px}.nav{gap:18px;left:56px}.nav a{font-size:16px}.nav a:before{width:7px;height:7px;left:-18px}}
.social-rail{z-index:18;flex-direction:column;align-items:center;gap:18px;display:flex;position:fixed;bottom:0;right:42px}.social-rail a{color:#f5f7fbe0;place-items:center;width:38px;height:38px;transition:color .16s,transform .16s;display:grid}.social-rail a:hover{color:#fff;transform:translateY(-3px)}.social-rail svg{fill:currentColor;filter:drop-shadow(0 6px 16px #00000073);width:22px;height:22px}.social-rail span{background:#f5f7fb9e;width:1px;height:177px;display:block}@media (min-width:1920px){.social-rail{gap:22px;right:56px}.social-rail a{width:46px;height:46px}.social-rail svg{width:27px;height:27px}.social-rail span{height:230px}}
.section-head{max-width:760px;margin-bottom:34px}.section-head h2{color:#0000;letter-spacing:0;-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#fff 0%,#dcecff 34%,#f5d995 62%,#fff 100%);-webkit-background-clip:text;background-clip:text;margin-bottom:0;font-size:clamp(34px,5vw,62px);font-weight:900;line-height:1.08}.section-head p{color:#f5f7fbb8;max-width:620px;margin:14px 0 0;font-size:16px;font-weight:600;line-height:1.7}
.hero{text-align:center;justify-content:center;align-items:center;min-height:100vh;padding-top:132px;display:flex}.hero-content{justify-items:center;display:grid}.eyebrow{color:var(--accent);letter-spacing:0;text-transform:uppercase;margin-bottom:16px;font-size:13px;font-weight:900;display:inline-block}h1,h2,h3,p{margin-top:0}.hero-title{color:#0000;letter-spacing:0;text-shadow:0 12px 46px #0000008c;background:linear-gradient(135deg,#fff 0%,#dcecff 34%,#f5d995 62%,#fff 100%);-webkit-background-clip:text;background-clip:text;gap:0;margin-bottom:0;padding-bottom:.2em;font-size:clamp(40px,7.45vw,96px);font-weight:900;line-height:1.08;display:grid}.hero-title span{padding-bottom:.04em;display:block}.hero-scroll-cue{cursor:pointer;background:0 0;border:0;justify-content:center;gap:2px;margin-top:42px;padding:0;display:grid}.hero-scroll-cue span{opacity:0;border-bottom:2px solid #f5f7fbd1;border-right:2px solid #f5f7fbd1;width:18px;height:18px;animation:1.9s cubic-bezier(.24,.82,.28,1) infinite hero-arrow-drop;display:block;translate:0 -12px;rotate:45deg}@keyframes hero-arrow-drop{0%{opacity:0;translate:0 -14px}24%{opacity:1;translate:0}38%{opacity:1;translate:0 6px}50%{opacity:1;translate:0 2px}78%{opacity:.9;translate:0 18px}to{opacity:0;translate:0 28px}}
.achievement-flow{gap:34px;padding:18px 0 8px;display:grid;position:relative}.achievement-flow:before{content:"";background:linear-gradient(#0000,#9fd2ff6b,#f5d9955c,#0000);width:1px;position:absolute;top:50px;bottom:70px;left:50%}.achievement-card{cursor:pointer;width:min(960px,100%);font:inherit;text-align:left;background:0 0;border:0;grid-template-columns:clamp(280px,30vw,360px) minmax(0,1fr);align-items:center;gap:30px;padding:18px 0;transition:transform .18s;display:grid;position:relative}.achievement-card:nth-child(2n){grid-template-columns:minmax(0,1fr) clamp(280px,30vw,360px);width:min(880px,100%);margin-left:auto;translate:58px}.achievement-card:nth-child(odd){width:min(880px,100%);translate:-36px}.achievement-card:before{content:"";background:linear-gradient(90deg,#f5d995ad,#9fd2ff00);width:64px;height:1px;position:absolute;top:50%;left:clamp(252px,27vw,332px)}.achievement-card:nth-child(2n):before{background:linear-gradient(270deg,#f5d995ad,#9fd2ff00);left:auto;right:clamp(252px,27vw,332px)}.achievement-card:hover{transform:translateY(-4px)translate(5px)}.achievement-card:nth-child(2n):hover{transform:translateY(-4px)translate(-5px)}.achievement-card strong{z-index:2;color:#0000;white-space:nowrap;-webkit-text-fill-color:transparent;text-shadow:0 16px 54px #0000007a;text-align:right;background:linear-gradient(135deg,#fff 0%,#dcecff 34%,#f5d995 70%,#fff 100%);-webkit-background-clip:text;background-clip:text;min-width:0;padding:0 8px;font-size:clamp(54px,7.2vw,92px);font-weight:900;line-height:.9;display:block;position:relative}.achievement-card:nth-child(2n) strong{text-align:left;grid-area:1/2}.achievement-card>div{z-index:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(90deg,#070b15e6,#070b1552 78%,#0000);border-left:1px solid #9fd2ff38;padding:24px 30px;position:relative}.achievement-card:nth-child(2n)>div{text-align:right;background:linear-gradient(270deg,#070b15e6,#070b1552 78%,#0000);border-left:0;border-right:1px solid #9fd2ff38;grid-area:1/1}.achievement-card h3,.compact-card h3,.skill-item h3{color:#fff;margin-bottom:10px;font-size:21px;font-weight:900;line-height:1.25}.achievement-card p,.compact-card p,.skill-item p,.contact-section p,.project-main p,.project-detail li{color:#f5f7fbc7;font-size:15px;line-height:1.72}.detail-hover-cue{color:var(--accent-strong);opacity:0;margin-top:14px;font-size:13px;font-weight:900;transition:opacity .18s,transform .18s;display:inline-block;transform:translateY(8px)}.achievement-card:hover .detail-hover-cue,.project-item:hover .detail-hover-cue,.compact-card:hover .detail-hover-cue{opacity:1;transform:translateY(0)}.hero-scroll-cue{cursor:pointer;background:0 0;border:0;justify-content:center;gap:2px;margin-top:42px;padding:0;display:grid}.hero-scroll-cue span{opacity:0;border-bottom:2px solid #f5f7fbd1;border-right:2px solid #f5f7fbd1;width:18px;height:18px;animation:1.9s cubic-bezier(.24,.82,.28,1) infinite hero-arrow-drop;display:block;translate:0 -12px;rotate:45deg}.achievement-modal-backdrop{z-index:60;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#05070db8;justify-content:center;align-items:flex-start;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.achievement-modal{background:0 0;width:min(980px,100%);margin:32px 0;padding:0;position:relative;overflow:visible;box-shadow:0 30px 90px #0006}.achievement-modal-scroll{padding:42px;overflow:visible}.achievement-modal span{color:var(--accent-strong);margin-bottom:16px;font-size:clamp(48px,7vw,86px);font-weight:900;line-height:1;display:block}.achievement-modal h3{color:#fff;margin-bottom:8px;font-size:clamp(30px,4.2vw,54px);font-weight:900;line-height:1.08}.achievement-modal p{color:#f5f7fbd1;margin-bottom:0;font-size:16px;line-height:1.8}.achievement-modal-kicker{text-transform:uppercase;font-weight:900;color:var(--accent)!important;font-size:14px!important}.achievement-project-jump{flex-wrap:wrap;align-items:center;gap:0;display:inline-flex}.achievement-project-jump button{color:#f5f7fbdb;cursor:pointer;font:inherit;background:0 0;border:0;margin-left:14px;padding:0;font-size:14px;font-weight:900;transition:color .16s,transform .16s}.achievement-project-jump button:hover{color:var(--accent-strong);transform:scale(1.1)}.achievement-note-block{border-top:1px solid #9fd2ff29;margin-top:32px;padding-top:24px}.achievement-note-block h4{color:#fff;margin:0 0 12px;font-size:20px;font-weight:900}.achievement-note-block ul{gap:12px;margin:0;padding-left:20px;display:grid}.achievement-note-block li{color:#f5f7fbcc;font-size:15px;line-height:1.75}.achievement-note-block li::marker{color:var(--accent)}.achievement-result-block{background:0 0;border:0;padding:0}.achievement-image-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:28px;display:grid}.achievement-image-grid figure{margin:0}.achievement-image-grid img{background:#ffffff0a;border:1px solid #ffffff1f;width:100%;height:auto}.achievement-image-grid figcaption{color:#f5f7fba8;margin-top:8px;font-size:13px;font-weight:800}.achievement-modal-back-button{z-index:70;color:#fff;cursor:pointer;font:inherit;background:0 0;border:0;padding:10px 0;font-size:14px;font-weight:900;transition:color .16s,transform .16s;position:fixed;top:28px;left:28px}.achievement-modal-back-button:hover{color:var(--accent-strong);transform:translate(-4px)}
.project-links{flex-wrap:wrap;gap:12px;display:flex}.project-links a{border:1px solid var(--line);color:#fff;background:#070b15e6;justify-content:center;align-items:center;min-height:46px;padding:0 18px;font-size:14px;font-weight:800;display:inline-flex}.project-list{gap:72px;display:grid}.project-item{cursor:pointer;background:0 0;border:1px solid;border-image:linear-gradient(135deg,#ffffffc7 0%,#dcecff6b 36%,#f5d99580 68%,#ffffff47 100%) 1;outline:0;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);align-items:start;gap:42px;width:min(1140px,100%);padding:22px;scroll-margin-top:120px;transition:filter .24s,transform .24s;display:grid;position:relative}.project-item:hover{transform:scale(1.018)}.project-item.is-project-focused{filter:drop-shadow(0 0 28px #9fd2ff5c)drop-shadow(0 0 42px #f5d99533);animation:1.6s cubic-bezier(.2,.8,.2,1) project-arrival-focus}.project-item:nth-child(2n){margin-left:auto}.project-item:nth-child(2) .project-main{grid-area:1/2}.project-item:nth-child(2) .project-detail{grid-area:1/1}.project-item:nth-child(2){grid-template-columns:minmax(0,1.28fr) minmax(260px,.72fr)}.project-main{padding:30px 0 26px;position:sticky;top:110px}.project-detail{background:0 0;margin-top:82px;padding:30px 34px}.project-title-row{align-items:center;gap:16px;margin-bottom:18px;display:flex}.project-title-row img{object-fit:contain;background:#ffffffeb;border-radius:50%;width:58px;height:58px}.project-title-row span{color:var(--accent);font-size:12px;font-weight:900}.project-title-row h3{color:#fff;margin:2px 0 0;font-size:38px;font-weight:900;line-height:1}.project-meta{gap:6px;margin:20px 0;display:grid}.stack-list,.metric-grid{flex-wrap:wrap;gap:8px;display:flex}.stack-list{margin-bottom:22px}.stack-list span,.metric-grid span{color:#f5f7fbe6;background:#070b155c;border:0;border-bottom:1px solid #9fd2ff3d;align-items:center;min-height:32px;padding:7px 10px;font-size:13px;font-weight:800;display:inline-flex}.project-detail ul{gap:12px;margin:0 0 22px;padding-left:18px;display:grid}.project-detail li::marker{color:var(--accent)}.metric-grid span{color:var(--accent-strong)}.other-projects{flex-wrap:wrap;gap:18px 28px;margin-top:22px;display:flex}.etc-project-section{max-width:720px;margin-top:84px}.etc-project-section h3{background:var(--title-gradient);color:#0000;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 10px;font-size:clamp(34px,4.8vw,58px);font-weight:900;line-height:1.05}.etc-project-section p{color:var(--text-body);margin:0;font-size:15px;font-weight:700;line-height:1.7}.compact-card{cursor:pointer;background:0 0;border:1px solid;border-image:linear-gradient(135deg,#ffffffb8 0%,#dcecff61 36%,#f5d99575 68%,#ffffff3d 100%) 1;flex:280px;min-height:180px;padding:22px;transition:filter .18s,transform .18s}.compact-card:hover{filter:drop-shadow(0 0 22px #9fd2ff2e);transform:scale(1.025)}.compact-card span{margin-top:18px;line-height:1.6;display:block}.compact-card .detail-hover-cue{margin-top:16px}.project-modal-backdrop{z-index:60;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#05070dc2;justify-content:center;align-items:flex-start;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.project-modal{background:linear-gradient(135deg,#070b15f5,#070b15b8 56%,#070b15e6),radial-gradient(circle at 80% 0,#9fd2ff29,#0000 34%);width:min(1040px,100%);margin:32px 0;padding:48px;box-shadow:0 34px 110px #00000075}.project-modal-back-button{z-index:70;color:#fff;cursor:pointer;font:inherit;background:0 0;border:0;padding:10px 0;font-size:14px;font-weight:900;transition:color .16s,transform .16s;position:fixed;top:28px;left:28px}.project-modal-back-button:hover{color:var(--accent-strong);transform:translate(-4px)}.project-modal-head span{color:var(--accent);font-size:14px;font-weight:900}.project-modal-head h2{color:#0000;-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#fff 0%,#dcecff 36%,#f5d995 70%,#fff 100%);-webkit-background-clip:text;background-clip:text;margin:12px 0 8px;padding-bottom:.24em;font-size:clamp(48px,8vw,104px);font-weight:900;line-height:1.08}.project-modal-head p,.project-modal-overview p,.project-modal-section li{color:#f5f7fbcc;font-size:16px;line-height:1.82}.project-modal-overview{gap:12px;margin-top:34px;padding-left:24px;display:grid}.project-modal-overview strong{color:var(--accent-strong);font-size:15px}.project-modal-stack{flex-wrap:wrap;gap:9px;margin-top:28px;display:flex}.project-modal-stack span{color:#f5f7fbe0;background:#070b1580;padding:7px 10px;font-size:13px;font-weight:900}.project-modal-section-list{gap:30px;margin-top:42px;display:grid}.project-modal-section h3,.project-modal-result h3{color:#fff;margin:0 0 14px;font-size:25px;font-weight:900}.project-modal-section ul{gap:12px;margin:0;padding-left:20px;display:grid}.project-modal-section li::marker{color:var(--accent)}.project-modal-result{margin-top:42px}.project-modal-result div{flex-wrap:wrap;gap:12px;display:flex}.project-modal-result strong{color:#fff;background:#f5d99512;align-items:center;min-height:42px;padding:10px 13px;font-size:14px;line-height:1.55;display:inline-flex}.project-modal-gallery{margin-top:50px}.project-modal-gallery h3{color:#fff;margin:0 0 18px;font-size:25px;font-weight:900}.project-modal-gallery>div{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;display:grid}.project-modal-gallery figure{margin:0}.project-modal-gallery figure:first-child{grid-column:1/-1}.project-modal-gallery button{cursor:pointer;background:0 0;border:0;width:100%;padding:0;transition:filter .18s,transform .18s;display:block}.project-modal-gallery button:hover{filter:drop-shadow(0 0 24px #9fd2ff38);transform:scale(1.012)}.project-modal-gallery img{object-fit:contain;background:#ffffff0a;width:100%;height:auto;max-height:640px;display:block;box-shadow:0 18px 54px #00000047}.project-modal-gallery figcaption{color:#f5f7fbad;margin-top:8px;font-size:13px;font-weight:800}.project-image-viewer{z-index:90;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#03050af0;place-items:center;padding:72px 34px 34px;display:grid;position:fixed;inset:0;overflow:auto}.project-image-back-button{z-index:100;color:#fff;cursor:pointer;font:inherit;background:0 0;border:0;padding:10px 0;font-size:14px;font-weight:900;transition:color .16s,transform .16s;position:fixed;top:28px;left:28px}.project-image-back-button:hover{color:var(--accent-strong);transform:translate(-4px)}.project-image-zoom-button{z-index:100;color:#fff;cursor:pointer;min-height:38px;font:inherit;background:#070b15b8;border:1px solid #9fd2ff52;padding:0 14px;font-size:13px;font-weight:900;transition:border-color .16s,color .16s,transform .16s;position:fixed;top:28px;right:28px}.project-image-zoom-button:hover{color:var(--accent-strong);border-color:#f5d9957a;transform:scale(1.06)}.project-image-viewer-content{--zoom-x:50%;--zoom-y:50%;justify-items:center;width:min(1480px,100%);max-height:100%;display:grid}.project-image-zoom-target{cursor:zoom-in;background:0 0;border:0;padding:0;display:block}.project-image-viewer-content img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:calc(100vh - 150px);transform-origin:var(--zoom-x) var(--zoom-y);transition:transform .22s;display:block;box-shadow:0 28px 96px #00000070}.project-image-viewer-content.is-zoomed{overflow:hidden}.project-image-viewer-content.is-zoomed .project-image-zoom-target{cursor:zoom-in}.project-image-viewer-content.is-zoomed img{transform:scale(1.9)}.project-image-viewer-content p{color:#f5f7fbbd;margin:14px 0 0;font-size:14px;font-weight:800}@keyframes project-arrival-focus{0%{transform:translateY(18px)scale(.98)}38%{transform:translateY(-6px)scale(1.012)}to{transform:translateY(0)scale(1)}}
.split-section{position:relative}.split-section .section-head h2{color:#0000;-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#fff 0%,#dcecff 34%,#f5d995 62%,#fff 100%);-webkit-background-clip:text;background-clip:text}.skill-orbit{background:0 0;width:min(920px,100%);height:560px;margin:86px auto 0;padding:0;position:relative}.skill-orbit:before{display:none}.skill-item{color:#f5f7fbe6;cursor:pointer;width:auto;min-width:0;min-height:0;font:inherit;text-align:center;box-shadow:none;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;padding:0;transition:color .18s,filter .18s,transform .18s;display:inline-flex;position:absolute;transform:translate(-50%,-50%)}.skill-item:hover{color:#fff;filter:drop-shadow(0 0 24px #9fd2ff3d);transform:translate(-50%,-50%)scale(1.08)}.skill-item h3{color:#f5f7fbdb;text-shadow:0 14px 42px #0000007a;white-space:nowrap;margin:0;font-size:clamp(22px,3.4vw,42px);line-height:1.18}.skill-item:first-child{top:13%;left:18%}.skill-item:nth-child(2){top:16%;left:55%}.skill-item:nth-child(3){top:22%;left:82%}.skill-item:nth-child(4){top:38%;left:35%}.skill-item:nth-child(5){top:47%;left:68%}.skill-item:nth-child(6){top:62%;left:12%}.skill-item:nth-child(7){top:71%;left:48%}.skill-item:nth-child(8){top:75%;left:84%}.skill-item:nth-child(9){top:94%;left:30%}.skill-item:nth-child(10){top:92%;left:64%}.skill-modal-backdrop{z-index:60;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#05070dc2;justify-content:center;align-items:flex-start;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.skill-modal{background:linear-gradient(135deg,#070b15f5,#070b15ad 60%,#070b15e6),radial-gradient(circle at 16% 0,#f5d99526,#0000 36%);width:min(860px,100%);margin:32px 0;padding:46px;box-shadow:0 34px 110px #00000075}.skill-modal-back-button{z-index:70;color:#fff;cursor:pointer;font:inherit;background:0 0;border:0;padding:10px 0;font-size:14px;font-weight:900;transition:color .16s,transform .16s;position:fixed;top:28px;left:28px}.skill-modal-back-button:hover{color:var(--accent-strong);transform:translate(-4px)}.skill-modal-head span{color:var(--accent);font-size:13px;font-weight:900}.skill-modal-head h2{color:#0000;-webkit-text-fill-color:transparent;background:linear-gradient(135deg,#fff 0%,#dcecff 34%,#f5d995 68%,#fff 100%);-webkit-background-clip:text;background-clip:text;margin:12px 0 10px;padding-bottom:.18em;font-size:clamp(44px,7vw,88px);font-weight:900;line-height:1.08}.skill-modal-head p,.skill-modal-summary,.skill-modal-list li{color:#f5f7fbcc;font-size:16px;line-height:1.82}.skill-modal-summary{margin-top:28px}.skill-modal-projects{flex-wrap:wrap;gap:10px;margin-top:26px;display:flex}.skill-modal-projects strong{color:#fff;background:#f5d99514;padding:8px 11px;font-size:13px}.skill-modal-list{gap:13px;margin:32px 0 0;padding-left:20px;display:grid}.skill-modal-list li::marker{color:var(--accent)}
.activity-year-tabs{flex-wrap:wrap;gap:10px;margin:-10px 0 34px;display:flex}.activity-year-tabs button{border:1px solid var(--line);color:#f5f7fbc2;cursor:pointer;background:#070b15e6;min-width:82px;min-height:40px;font-size:14px;font-weight:900;transition:border-color .16s,color .16s,transform .16s}.activity-year-tabs button:hover,.activity-year-tabs button.is-active{color:#fff;border-color:#9fd2ff80;transform:translateY(-2px)}.timeline{border-top:1px solid var(--line)}.timeline-row{border-bottom:1px solid var(--line);grid-template-columns:220px minmax(0,1fr);align-items:start;gap:28px;min-height:96px;padding:22px 0;display:grid}.timeline-row p{color:#fff;margin:0;font-size:17px;font-weight:800;line-height:1.45}.timeline-badge{min-height:26px;color:var(--accent-strong);background:#070b15e6;border:1px solid #f0c46a52;align-items:center;margin-bottom:8px;padding:5px 9px;font-size:12px;font-weight:900;display:inline-flex}.timeline-badge.is-award{color:#7ddbff;border-color:#7ddbff61}.timeline-badge.is-license{color:#c7b7ff;border-color:#a58cff66}.timeline-row small{color:#f5f7fbad;max-width:720px;margin-top:8px;font-size:13px;line-height:1.72;display:block}
.contact-section{text-align:center;padding-bottom:220px;display:block}.contact-section .section-head{text-align:center;margin-left:auto;margin-right:auto}.contact-section .section-head p{margin-left:auto;margin-right:auto}.contact-section p{max-width:900px;margin-top:22px;margin-left:auto;margin-right:auto}.contact-list{justify-items:center;gap:20px;margin:30px 0 0;font-style:normal;display:grid;position:relative}.contact-list:before{content:"";background:linear-gradient(90deg,#f5d99594,#9fd2ff4d,#0000);width:min(280px,64%);height:1px;display:block;position:relative}.contact-email{color:#fff;overflow-wrap:anywhere;background:0 0;border:0;width:fit-content;padding:0;font-size:clamp(32px,4.4vw,64px);font-weight:900;line-height:1.18;transition:color .18s,filter .18s,transform .18s;display:inline-block;position:relative}.contact-email:hover{color:var(--accent-strong);filter:drop-shadow(0 0 24px #f5d99533);transform:translate(8px)}.contact-note{color:#f5f7fb9e;max-width:920px;margin:0;font-size:15px;font-weight:700;line-height:1.75}
[data-reveal]{opacity:0;filter:blur(9px);transition:opacity .9s cubic-bezier(.2,.8,.2,1),filter .9s cubic-bezier(.2,.8,.2,1),transform 1s cubic-bezier(.16,.84,.22,1);transition-delay:var(--reveal-delay,0s);will-change:opacity, filter, transform;transform:translateY(42px)scale(.985)}[data-reveal=left]{transform:translate(-58px,18px)scale(.985)}[data-reveal=right]{transform:translate(58px,18px)scale(.985)}[data-reveal=scale]{transform:translateY(28px)scale(.9)}[data-reveal=soft]{transform:translateY(26px)}[data-reveal].is-revealed{opacity:1;filter:blur();transform:translate(0,0)scale(1)}.achievement-card[data-reveal].is-revealed:hover{transform:translateY(-4px)translate(5px)}.achievement-card:nth-child(2n)[data-reveal].is-revealed:hover{transform:translateY(-4px)translate(-5px)}.project-item[data-reveal].is-revealed:hover{transform:scale(1.018)}.compact-card[data-reveal].is-revealed:hover{transform:scale(1.025)}.skill-item[data-reveal]{transform:translate(-50%,calc(34px - 50%))scale(.92)}.skill-item[data-reveal].is-revealed{transform:translate(-50%,-50%)scale(1)}.skill-item[data-reveal].is-revealed:hover{transform:translate(-50%,-50%)scale(1.08)}.section-head[data-reveal]{transition-duration:1.05s}.achievement-card:first-child,.project-item:first-child,.timeline-row:first-child{--reveal-delay:80ms}.achievement-card:nth-child(2),.project-item:nth-child(2),.timeline-row:nth-child(2){--reveal-delay:.17s}.achievement-card:nth-child(3),.project-item:nth-child(3),.timeline-row:nth-child(3){--reveal-delay:.26s}.compact-card:first-child,.skill-item:first-child,.timeline-row:nth-child(4){--reveal-delay:90ms}.compact-card:nth-child(2),.skill-item:nth-child(2),.timeline-row:nth-child(5){--reveal-delay:.15s}.compact-card:nth-child(3),.skill-item:nth-child(3),.timeline-row:nth-child(6){--reveal-delay:.21s}.skill-item:nth-child(4),.timeline-row:nth-child(7){--reveal-delay:.27s}.skill-item:nth-child(5),.timeline-row:nth-child(8){--reveal-delay:.33s}.skill-item:nth-child(6),.timeline-row:nth-child(9){--reveal-delay:.39s}.skill-item:nth-child(7){--reveal-delay:.45s}.skill-item:nth-child(8){--reveal-delay:.51s}.skill-item:nth-child(9){--reveal-delay:.57s}.skill-item:nth-child(10){--reveal-delay:.63s}.contact-list[data-reveal]{transition-delay:.14s}
@media (max-width:920px){.site-header{z-index:80;width:auto;position:fixed;top:0;left:0}.brand{opacity:0;pointer-events:none;font-size:21px;transition:opacity .18s,transform .18s,filter .18s;top:20px;left:20px;transform:translate(-12px)}.nav{z-index:82;opacity:0;pointer-events:none;background:linear-gradient(135deg,#070b15f0,#070b15bd),radial-gradient(circle at 0 0,#9fd2ff29,#0000 42%);-webkit-background-clip:border-box;background-clip:border-box;gap:15px;min-width:168px;padding:64px 22px 24px;transition:opacity .22s,transform .26s cubic-bezier(.2,.8,.2,1);left:20px;transform:translate(-120%);box-shadow:0 20px 70px #0000005c;top:78px!important}.nav a{background:linear-gradient(135deg,#fff 0%,#dcecff 42%,#f5d995 72%,#fff 100%);-webkit-background-clip:text;background-clip:text;width:fit-content;font-size:14px}.mobile-menu-button{z-index:84;cursor:pointer;background:#070b15ad;border:0;place-items:center;width:42px;height:42px;padding:10px;display:grid;position:fixed;top:18px;left:18px;box-shadow:0 14px 42px #00000052}.mobile-menu-button span{background:#f5f7fbeb;width:19px;height:2px;transition:opacity .18s,transform .18s;display:block}.mobile-menu-backdrop{z-index:79;opacity:0;pointer-events:none;background:#03050a29;border:0;transition:opacity .18s;display:block;position:fixed;inset:0}.site-header.is-menu-open .brand,.site-header.is-menu-open .nav{opacity:1;pointer-events:auto;transform:translate(0)}.site-header.is-menu-open .mobile-menu-backdrop{opacity:1;pointer-events:auto}.site-header.is-menu-open .mobile-menu-button span:first-child{transform:translateY(7px)rotate(45deg)}.site-header.is-menu-open .mobile-menu-button span:nth-child(2){opacity:0}.site-header.is-menu-open .mobile-menu-button span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.social-rail{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#070b159e;flex-direction:row;gap:10px;padding:7px 8px;bottom:14px;right:14px}.social-rail a{width:30px;height:30px}.social-rail svg{width:19px;height:19px}.social-rail span{display:none}.project-item,.contact-section,.project-item:nth-child(2){grid-template-columns:1fr}.project-main{position:static}.project-item:nth-child(2) .project-main,.project-item:nth-child(2) .project-detail{text-align:left;grid-area:auto;justify-self:stretch}.project-item:nth-child(2) .project-title-row{flex-direction:row;justify-content:flex-start}.project-item:nth-child(2) .project-meta,.project-item:nth-child(2) .stack-list,.project-item:nth-child(2) .project-links,.project-item:nth-child(2) .metric-grid{text-align:left;justify-content:flex-start;justify-items:start}.project-item:nth-child(2) .project-detail ul{padding-left:18px;padding-right:0;list-style-position:outside}.project-detail{margin-top:0;padding:24px 0 0 22px}.achievement-flow:before{left:0}.achievement-card,.achievement-card:nth-child(2n){grid-template-columns:1fr;gap:18px;width:100%;margin-left:0;translate:0}.achievement-card:nth-child(odd){width:100%;translate:0}.achievement-card:nth-child(2n) strong,.achievement-card:nth-child(2n)>div{text-align:left;grid-area:auto}.achievement-card:before{display:none}.achievement-card>div{padding:22px 0 22px 22px}.achievement-card:nth-child(2n)>div{background:linear-gradient(90deg,#070b15e6,#070b1552 78%,#0000);border-left:1px solid #9fd2ff38;border-right:0}.achievement-modal-scroll{padding:32px 24px}.achievement-modal-back-button{text-align:left;background:linear-gradient(#03050af0,#03050ab8,#0000);width:100%;padding:18px 24px 14px;top:0;left:0}.project-modal{margin:54px 0 22px;padding:34px 24px}.project-modal-back-button{text-align:left;background:linear-gradient(#03050af0,#03050ab8,#0000);width:100%;padding:18px 24px 14px;top:0;left:0}.hero{padding-top:112px}.skill-item,.skill-item:nth-child(2n),.skill-item:nth-child(3n),.skill-item:nth-child(3n+1),.skill-item:nth-child(3n+2),.skill-item[data-reveal],.skill-item[data-reveal].is-revealed,.skill-item[data-reveal].is-revealed:hover{text-align:center;width:auto;margin:0;position:static;transform:none}.skill-item[data-reveal].is-revealed:hover{transform:scale(1.06)}.skill-orbit{aspect-ratio:auto;background:0 0;grid-template-columns:repeat(2,minmax(0,1fr));justify-items:center;gap:22px 20px;width:min(540px,100%);height:auto;display:grid}.skill-item h3{font-size:clamp(21px,5.2vw,34px)}.skill-orbit:before{display:none}.skill-modal{padding:34px 24px}.skill-modal-back-button{text-align:left;background:linear-gradient(#03050af0,#03050ab8,#0000);width:100%;padding:18px 24px 14px;top:0;left:0}.contact-list a:before,.contact-list span:before{display:none}.timeline-row{grid-template-columns:1fr;gap:8px;padding:18px 0}}@media (max-width:560px){.section{width:min(100% - 24px,1180px);padding:84px 0}.nav{min-width:154px;left:14px;top:70px!important}.mobile-menu-button{width:40px;height:40px;top:14px;left:14px}.nav a{font-size:12px}.hero-title{font-size:40px}.skill-orbit{grid-template-columns:1fr 1fr;gap:19px 12px;margin-top:54px}.skill-item h3{font-size:clamp(19px,7vw,29px)}.contact-email{max-width:100%;font-size:clamp(21px,7.2vw,34px)}.project-detail,.achievement-card>div,.skill-item{padding-left:18px}.project-title-row h3{font-size:31px}}@media (min-width:921px) and (max-width:1440px){.site-header{z-index:80;width:auto;position:fixed;top:0;left:0}.brand{opacity:0;pointer-events:none;top:20px;left:20px;transform:translate(-12px)}.nav{z-index:82;opacity:0;pointer-events:none;background:linear-gradient(135deg,#070b15f0,#070b15bd),radial-gradient(circle at 0 0,#9fd2ff29,#0000 42%);-webkit-background-clip:border-box;background-clip:border-box;min-width:176px;padding:64px 22px 24px;transition:opacity .22s,transform .26s cubic-bezier(.2,.8,.2,1);left:20px;transform:translate(-120%);box-shadow:0 20px 70px #0000005c;top:78px!important}.nav a{background:linear-gradient(135deg,#fff 0%,#dcecff 42%,#f5d995 72%,#fff 100%);-webkit-background-clip:text;background-clip:text;width:fit-content;font-size:14px}.mobile-menu-button{z-index:84;cursor:pointer;background:#070b15ad;border:0;place-items:center;width:42px;height:42px;padding:10px;display:grid;position:fixed;top:18px;left:18px;box-shadow:0 14px 42px #00000052}.mobile-menu-button span{background:#f5f7fbeb;width:19px;height:2px;transition:opacity .18s,transform .18s;display:block}.mobile-menu-backdrop{z-index:79;opacity:0;pointer-events:none;background:#03050a29;border:0;transition:opacity .18s;display:block;position:fixed;inset:0}.site-header.is-menu-open .brand,.site-header.is-menu-open .nav{opacity:1;pointer-events:auto;transform:translate(0)}.site-header.is-menu-open .mobile-menu-backdrop{opacity:1;pointer-events:auto}.site-header.is-menu-open .mobile-menu-button span:first-child{transform:translateY(7px)rotate(45deg)}.site-header.is-menu-open .mobile-menu-button span:nth-child(2){opacity:0}.site-header.is-menu-open .mobile-menu-button span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}}@media (min-width:921px) and (max-width:1100px){.skill-orbit{transform:translate(42px)}}
:root{--text-strong:#fff;--text-body:#f5f7fbd1;--text-soft:#f5f7fbad;--surface-soft:#070b15e6;--surface-faint:#070b1580;--surface-line:#ffffff24;--modal-backdrop:#05070dc2;--modal-surface:linear-gradient(135deg, #070b15f5, #070b15b8 56%, #070b15e6);--title-gradient:linear-gradient(135deg, #fff 0%, #dcecff 34%, #f5d995 62%, #fff 100%);--nav-gradient:linear-gradient(135deg, #fff 0%, #dcecff 42%, #f5d995 72%, #fff 100%);--background-overlay:linear-gradient(180deg, #05070d2e, #05070d38 46%, #05070d47 100%), radial-gradient(circle at 50% 0%, #9fd2ff29, transparent 34%), linear-gradient(90deg, #05070d47, transparent 30%, transparent 70%, #05070d47)}:root[data-theme=light]{--background:#fff3df;--foreground:#21160f;--muted:#2a1b12c2;--line:#46271747;--panel:#713d1f24;--panel-strong:#69371c33;--accent:#78371f;--accent-strong:#a64d25;--text-strong:#21160f;--text-body:#1f140de6;--text-soft:#2f1f14c7;--surface-soft:#753f1f33;--surface-faint:#66361c29;--surface-line:#4d2a1957;--modal-backdrop:#482b195c;--modal-surface:linear-gradient(135deg, #fae1bff5, #e6ae7ab8 58%, #f7d5abe6);--title-gradient:linear-gradient(135deg, #21160f 0%, #6b2d18 34%, #a64d25 68%, #2d1a10 100%);--nav-gradient:linear-gradient(135deg, #21160f 0%, #6b2d18 44%, #a64d25 76%, #2d1a10 100%);--background-overlay:linear-gradient(180deg, #fff6e80a, #ffeed31f 48%, #ffe6c633 100%), radial-gradient(circle at 50% 0%, #fff4d652, transparent 34%), linear-gradient(90deg, #7342271f, transparent 30%, transparent 70%, #7342271f)}html,body,body:before,body:after,.brand,.nav a,.theme-toggle,.social-rail,.social-rail a,.social-rail span,.section-head h2,.section-head p,.hero-title,.hero-scroll-cue span,.achievement-card,.achievement-card strong,.achievement-card>div,.achievement-card h3,.achievement-card p,.project-item,.project-main p,.project-detail li,.project-title-row h3,.project-links a,.compact-card,.compact-card h3,.compact-card p,.stack-list span,.metric-grid span,.skill-item h3,.timeline-row p,.timeline-row small,.timeline-badge,.contact-email,.contact-note,.project-modal,.skill-modal,.achievement-modal,.project-modal-backdrop,.skill-modal-backdrop,.achievement-modal-backdrop,.project-image-viewer{transition:background .52s,background-color .52s,background-image .52s,border-color .52s,color .52s,opacity .26s,filter .52s,box-shadow .52s,text-shadow .52s,transform .18s}body{background:var(--background);color:var(--foreground)}body:before{opacity:1;background-image:url(/assets/backgrounds/cold-night-sky.webp);background-position:50%;background-repeat:no-repeat;background-size:cover}:root[data-theme=light] body:before{background-image:url(/assets/backgrounds/warm-sunset-sky.webp)}body:after{background:var(--background-overlay)}.brand,.nav a,.section-head h2,.hero-title,.achievement-card strong,.etc-project-section h3,.split-section .section-head h2,.skill-modal-head h2,.project-modal-head h2{background-image:var(--nav-gradient)}.section-head h2,.hero-title,.achievement-card strong,.split-section .section-head h2,.skill-modal-head h2,.project-modal-head h2{background-image:var(--title-gradient)}.section-head p,.achievement-card p,.project-main p,.project-detail li,.compact-card p,.etc-project-section p,.skill-modal-head p,.skill-modal-summary,.skill-modal-list li,.project-modal-head p,.project-modal-overview p,.project-modal-section li,.achievement-modal p,.achievement-note-block li,.contact-note,.timeline-row small{color:var(--text-body)}.achievement-card h3,.project-title-row h3,.compact-card h3,.etc-project-section h3,.project-modal-section h3,.project-modal-result h3,.project-modal-gallery h3,.skill-item h3,.skill-modal-projects strong,.timeline-row p,.contact-email,.project-links a,.project-modal-result strong,.achievement-note-block h4{color:var(--text-strong)}.project-meta,.compact-card span,.timeline-row time,.project-modal-gallery figcaption,.achievement-image-grid figcaption{color:var(--text-soft)}.project-links a,.stack-list span,.metric-grid span,.project-modal-stack span,.activity-year-tabs button,.timeline-badge,.skill-modal-projects strong{background:var(--surface-faint);border-color:var(--surface-line)}.achievement-card>div{background:linear-gradient(90deg, var(--surface-soft), color-mix(in srgb, var(--surface-soft) 32%, transparent) 78%, transparent)}.achievement-card:nth-child(2n)>div{background:linear-gradient(270deg, var(--surface-soft), color-mix(in srgb, var(--surface-soft) 32%, transparent) 78%, transparent)}.project-modal,.skill-modal{background:var(--modal-surface), radial-gradient(circle at 80% 0%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 34%)}.project-modal-backdrop,.skill-modal-backdrop,.achievement-modal-backdrop{background:var(--modal-backdrop)}:root[data-theme=light] .intro-stars{background:#ffedcf61}:root[data-theme=light] .intro-star{background:#fff7e5f0;box-shadow:0 0 12px #fff7e5c7,0 0 22px #ffb96fa3,0 0 34px #9b4c253d}:root[data-theme=light] .project-title-row img{background:#fffaf1e0}:root[data-theme=light] .project-title-row h3,:root[data-theme=light] .compact-card h3,:root[data-theme=light] .etc-project-section h3,:root[data-theme=light] .project-modal-section h3,:root[data-theme=light] .project-modal-result h3,:root[data-theme=light] .project-modal-gallery h3,:root[data-theme=light] .achievement-card h3,:root[data-theme=light] .timeline-row p,:root[data-theme=light] .contact-email{color:#5d2816;text-shadow:0 10px 28px #fff4e25c}:root[data-theme=light] .project-main p,:root[data-theme=light] .project-detail li,:root[data-theme=light] .compact-card p,:root[data-theme=light] .etc-project-section p,:root[data-theme=light] .project-modal-head p,:root[data-theme=light] .project-modal-overview p,:root[data-theme=light] .project-modal-section li,:root[data-theme=light] .achievement-card p,:root[data-theme=light] .section-head p,:root[data-theme=light] .timeline-row small,:root[data-theme=light] .contact-note{color:var(--text-body);font-weight:700}:root[data-theme=light] .project-title-row span,:root[data-theme=light] .project-modal-head span,:root[data-theme=light] .project-modal-overview strong,:root[data-theme=light] .detail-hover-cue{color:#7b3218}:root[data-theme=light] .stack-list span,:root[data-theme=light] .metric-grid span,:root[data-theme=light] .project-modal-stack span,:root[data-theme=light] .project-modal-result strong,:root[data-theme=light] .project-links a,:root[data-theme=light] .activity-year-tabs button,:root[data-theme=light] .timeline-badge,:root[data-theme=light] .skill-modal-projects strong{color:#26170f;background:#61341d29;border:1px solid #44251642;box-shadow:inset 0 1px #fff0d62e}:root[data-theme=light] .metric-grid span,:root[data-theme=light] .project-modal-result strong{color:#743018;background:#78371f33}:root[data-theme=light] .activity-year-tabs button:hover,:root[data-theme=light] .activity-year-tabs button.is-active{color:#21160f;background:#7133183d;border-color:#71331885}:root[data-theme=light] .timeline-badge{color:#5e2b18}:root[data-theme=light] .timeline-badge.is-award{color:#632714;background:#7e3a1c33;border-color:#7e3a1c70}:root[data-theme=light] .timeline-badge.is-license{color:#34295d;background:#50447e26;border-color:#50447e61}:root[data-theme=light] .achievement-card>div{background:linear-gradient(90deg,#713d1f38,#713d1f14 78%,#0000);border-left-color:#502b185c}:root[data-theme=light] .achievement-card:nth-child(2n)>div{background:linear-gradient(270deg,#713d1f38,#713d1f14 78%,#0000);border-right-color:#502b185c}:root[data-theme=light] .project-item,:root[data-theme=light] .compact-card{border-image:linear-gradient(135deg,#3e21149e 0%,#803e1e80 44%,#c8743e7a 72%,#3e211457 100%) 1}:root[data-theme=light] .project-modal,:root[data-theme=light] .skill-modal{box-shadow:0 34px 110px #45271847}:root[data-theme=light] .social-rail a,:root[data-theme=light] .project-image-back-button,:root[data-theme=light] .project-modal-back-button,:root[data-theme=light] .skill-modal-back-button,:root[data-theme=light] .achievement-modal-back-button{color:var(--text-strong)}:root[data-theme=light] .social-rail{background:0 0}:root[data-theme=light] .social-rail a{color:#5d2816}:root[data-theme=light] .social-rail a:hover{color:#21160f}:root[data-theme=light] .social-rail svg{filter:drop-shadow(0 6px 16px #552a1352)}:root[data-theme=light] .social-rail span{background:linear-gradient(#5d2816c2,#a64d2566,#5d2816b8)}:root[data-theme=light] .hero-scroll-cue span{border-color:color-mix(in srgb, var(--text-strong) 82%, transparent)}:root[data-theme=light] .project-image-viewer{background:#fff4e1f0}:root[data-theme=light] .mobile-menu-button{background:#fff4e1b8}:root[data-theme=light] .mobile-menu-button span{background:var(--text-strong)}
