@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(./space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(./space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2)format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(./space-grotesk-latin-wght-normal-BhU9QXUp.woff2)format("woff2-variations");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}:root{--bg:#05060a;--bg-2:#080a12;--panel:#ffffff06;--line:#ffffff14;--line-strong:#ffffff2b;--text:#eceef4;--body:#c6c9d6;--muted:#8b90a3;--muted-2:#62687c;--accent:#6d9bff;--accent-2:#9db9ff;--font-body:"Inter Variable", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif;--font-display:"Space Grotesk Variable", "Inter Variable", "PingFang SC", "Microsoft YaHei", sans-serif;--ease:cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:16px;line-height:1.6;overflow-x:hidden}body:after{content:"";z-index:2000;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}img,svg,canvas,video{display:block}a{color:inherit}::selection{background:var(--accent);color:#06070d}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{border:2px solid var(--bg);background:#161926;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#20243a}h1,h2,h3,h4{font-weight:640}section{scroll-margin-top:84px}.particles-global{z-index:0;pointer-events:none;position:fixed;inset:0}.particle-field{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}main{z-index:1;position:relative}.container{width:100%;max-width:1700px;margin-inline:auto;padding-inline:clamp(24px,4vw,64px)}.eyebrow{font-family:var(--font-display);letter-spacing:.3em;text-transform:uppercase;color:var(--accent);align-items:center;gap:14px;font-size:13px;font-weight:600;display:flex}.eyebrow:before{content:"";background:var(--accent);flex:none;width:36px;height:1px}.section-head{justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:clamp(48px,6vh,72px);display:flex}.section-head h2{font-family:var(--font-display);letter-spacing:.005em;margin-top:18px;font-size:clamp(38px,4.2vw,62px);line-height:1.1}.section-note{color:var(--muted);text-align:right;max-width:460px;font-size:14.5px;line-height:1.9}.chip{border:1px solid var(--line);color:var(--muted);letter-spacing:.02em;white-space:nowrap;background:#ffffff05;border-radius:999px;align-items:center;padding:6px 13px;font-size:12.5px;display:inline-flex}.btn{letter-spacing:.02em;cursor:pointer;transition:transform .3s var(--ease), box-shadow .3s var(--ease), background .3s, border-color .3s, color .3s;border:1px solid #0000;border-radius:999px;align-items:center;gap:10px;padding:15px 30px;font-family:inherit;font-size:15px;font-weight:550;text-decoration:none;display:inline-flex}.btn-primary{background:var(--accent);color:#06070d}.btn-primary:hover{background:#7da8ff;transform:translateY(-2px);box-shadow:0 10px 34px #6d9bff66}.btn-ghost{color:var(--text);background:#ffffff05;border-color:#ffffff2e}.btn-ghost:hover{background:#ffffff0d;border-color:#ffffff73;transform:translateY(-2px)}[data-reveal]{opacity:0}[data-reveal].is-visible{opacity:1;animation:.55s cubic-bezier(.2,1.15,.35,1) backwards rv-rise;animation-delay:var(--d,0s)}[data-reveal=pop].is-visible{animation-name:rv-pop}[data-reveal=flip].is-visible{animation-name:rv-flip}[data-reveal=wipe].is-visible{animation-name:rv-wipe;animation-timing-function:cubic-bezier(.77,0,.18,1)}[data-reveal=slide-left].is-visible{animation-name:rv-slide-left}[data-reveal=giant].is-visible{animation-name:rv-giant;animation-duration:.9s}[data-reveal=mask]{opacity:1}.mask-line{margin-bottom:-.06em;padding-bottom:.06em;display:block;overflow:hidden}[data-reveal=mask]:not(.is-visible) .mask-line-inner{opacity:0;transform:translateY(115%)}[data-reveal=mask].is-visible .mask-line-inner{animation:.6s cubic-bezier(.77,0,.18,1) backwards rv-mask;animation-delay:var(--d,0s)}@keyframes rv-rise{0%{opacity:0;transform:translateY(56px)}to{opacity:1;transform:none}}@keyframes rv-pop{0%{opacity:0;transform:translateY(40px)scale(.88)}to{opacity:1;transform:none}}@keyframes rv-flip{0%{opacity:0;transform:perspective(900px)rotateX(14deg)translateY(48px)}to{opacity:1;transform:none}}@keyframes rv-wipe{0%{opacity:0;clip-path:inset(0 100% 0 0);transform:translate(-24px)}to{opacity:1;clip-path:inset(0);transform:none}}@keyframes rv-slide-left{0%{opacity:0;transform:translate(-64px)}to{opacity:1;transform:none}}@keyframes rv-mask{0%{opacity:0;transform:translateY(115%)}to{opacity:1;transform:none}}@keyframes rv-giant{0%{opacity:0;transform:translateY(36%)}to{opacity:1;transform:none}}.timeline.is-visible:before{transform-origin:0;animation:rv-draw .8s var(--ease) backwards}@keyframes rv-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.nav{z-index:100;border-bottom:1px solid #0000;transition:background .35s,border-color .35s;position:fixed;inset:0 0 auto}.nav.is-scrolled{-webkit-backdrop-filter:blur(18px)saturate(1.3);border-bottom-color:var(--line);background:#05060ab8}.nav-inner{justify-content:space-between;align-items:center;height:76px;display:flex}.nav-logo{align-items:center;gap:12px;text-decoration:none;display:flex}.nav-mark{width:38px;height:38px;font-family:var(--font-display);color:#06070d;background:linear-gradient(135deg, var(--accent-2), var(--accent));border-radius:10px;place-items:center;font-size:19px;font-weight:700;display:grid;box-shadow:0 0 24px #6d9bff59}.nav-logo-text{letter-spacing:.02em;flex-direction:column;font-size:16px;font-weight:600;line-height:1.2;display:flex}.nav-logo-text em{font-style:normal;font-family:var(--font-display);letter-spacing:.28em;color:var(--muted);font-size:10.5px}.nav-links{align-items:center;gap:36px;display:flex}.nav-link{color:var(--muted);align-items:baseline;gap:8px;font-size:15px;text-decoration:none;transition:color .25s;display:flex}.nav-num{font-family:var(--font-display);color:var(--muted-2);letter-spacing:.08em;font-size:11px;transition:color .25s}.nav-link:hover{color:var(--text)}.nav-link:hover .nav-num{color:var(--accent)}.nav-cta{margin-left:12px;padding:11px 24px;font-size:14.5px}.nav-cta.btn-primary{color:#06070d;background:#eceef4}.nav-cta.btn-primary:hover{background:#fff;box-shadow:0 8px 24px #ffffff1a}.nav-burger{display:none}.hero{background:var(--bg);flex-direction:column;min-height:100svh;display:flex;position:relative;overflow:hidden}.hero-grid{z-index:2;opacity:.32;background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-size:72px 72px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(75% 65% at 50% 40%,#000 0%,#0000 72%);mask-image:radial-gradient(75% 65% at 50% 40%,#000 0%,#0000 72%)}.hero-inner{z-index:4;flex-direction:column;flex:1;justify-content:center;padding-top:110px;padding-bottom:90px;display:flex;position:relative}.hero-eyebrow{font-family:var(--font-display);letter-spacing:.34em;color:var(--muted);text-transform:uppercase;align-items:center;gap:16px;margin-bottom:36px;font-size:13px;display:flex}.hero-eyebrow:before{content:"";background:var(--muted-2);width:44px;height:1px}.hero-title{font-family:var(--font-display);color:var(--text);line-height:1}.hero-line{letter-spacing:-.03em;font-size:clamp(64px,9vw,190px);font-weight:700;line-height:.98;display:block}.hero-line-text{background:linear-gradient(100deg,#e8ebf4 0% 36%,#c3d4ff 50%,#e8ebf4 64% 100%) 0 0/250% 100%;color:#0000;-webkit-background-clip:text;background-clip:text;animation:6.5s ease-in-out infinite text-sheen;display:block}@keyframes text-sheen{0%{background-position:115% 0}to{background-position:-85% 0}}.hero-sub{border-top:1px solid var(--line);color:var(--muted);flex-direction:column;gap:6px;max-width:640px;margin-top:40px;padding-top:22px;font-size:clamp(15.5px,1.35vw,19px);line-height:1.8;display:flex}.hero-ctas{flex-wrap:wrap;gap:14px;margin-top:42px;display:flex}.hero .btn{border-radius:4px}.hero .btn-primary{color:#06070d;background:#eceef4}.hero .btn-primary:hover{background:#fff;box-shadow:0 12px 32px #ffffff14}.hero .btn-ghost{-webkit-backdrop-filter:blur(10px);border-color:#ffffff42}.hero .btn-ghost:hover{border-color:#fff9}.hero-particles{z-index:3}.hero-title{transform:translate3d(calc(var(--mx,0) * -22px), calc(var(--my,0) * -14px), 0);will-change:transform;transition:transform .45s ease-out}.hero-line-float{will-change:transform;display:block}.hero-line-float-a{animation:6.5s ease-in-out infinite alternate hero-line-float-a}.hero-line-float-b{animation:8s ease-in-out -4s infinite alternate hero-line-float-b}.hero-line-float-c{animation:9.5s ease-in-out -3s infinite alternate hero-line-float-c}@keyframes hero-line-float-a{to{transform:translateY(-16px)}}@keyframes hero-line-float-b{to{transform:translateY(-12px)}}@keyframes hero-line-float-c{to{transform:translateY(-9px)}}.hero-aurora{z-index:2;pointer-events:none;filter:blur(44px);background:radial-gradient(38% 32% at 22% 30%,#5c7aff2b,#0000 70%),radial-gradient(44% 38% at 78% 64%,#46a0ff24,#0000 70%);animation:16s ease-in-out infinite alternate aurora-drift;position:absolute;inset:-20%}@keyframes aurora-drift{0%{transform:translate(-2.5%,-1.5%)scale(1)}to{transform:translate(3.5%,2.5%)scale(1.14)}}.hero-spot{z-index:2;pointer-events:none;background:radial-gradient(380px circle at calc(50% + var(--mx,0) * 36%) calc(50% + var(--my,0) * 30%), #96b4ff33, transparent 68%);position:absolute;inset:0}.hero-eyebrow:after{content:"_";color:var(--muted-2);margin-left:3px;animation:1.2s step-end infinite caret-blink}@keyframes caret-blink{50%{opacity:0}}.hero .btn-primary{animation:3.4s ease-in-out infinite btn-breathe}@keyframes btn-breathe{0%,to{box-shadow:0 0 #eceef400}50%{box-shadow:0 0 44px 3px #eceef442}}.hero-bg{z-index:0;position:absolute;inset:0;overflow:hidden}.hero-bg-move{transform:translate3d(calc(var(--mx,0) * 24px), calc(var(--my,0) * 16px + var(--sy,0px)), 0);will-change:transform;justify-content:center;align-items:flex-end;transition:transform .45s ease-out;display:flex;position:absolute;inset:0}.hero-bg-float{will-change:transform;width:100%;animation:8s ease-in-out infinite alternate hero-float}@keyframes hero-float{0%{transform:translateY(0)}to{transform:translateY(-16px)}}.hero-bg-img{margin-inline:-3%;filter:saturate(.92)contrast(1.05)brightness(.9);width:106%;max-width:none;height:auto;margin-bottom:-24px;display:block;-webkit-mask-image:linear-gradient(#0000 0%,#000 7% 100%);mask-image:linear-gradient(#0000 0%,#000 7% 100%)}.hero-bg-shade{z-index:1;background:linear-gradient(90deg, #05060af0 0%, #05060acc 34%, #05060a80 62%, #05060a5c 100%), linear-gradient(180deg, #05060a8c 0%, #05060a24 28%, #05060a57 76%, var(--bg) 100%), radial-gradient(130% 100% at 50% 50%, transparent 55%, #05060a8c 100%);position:absolute;inset:0}.hero-scroll{color:var(--muted-2);font-family:var(--font-display);letter-spacing:.3em;align-items:center;gap:14px;margin-top:76px;font-size:11px;display:flex}.hero-scroll-line{background:linear-gradient(var(--accent), transparent);width:1px;height:44px;animation:scroll-pulse 2.4s var(--ease) infinite}@keyframes scroll-pulse{0%{transform-origin:top;transform:scaleY(0)}50%{transform-origin:top;transform:scaleY(1)}50.1%{transform-origin:bottom}to{transform-origin:bottom;transform:scaleY(0)}}.about,.strengths{padding:clamp(110px,13vh,170px) 0}.about-grid{grid-template-columns:400px minmax(0,1fr);align-items:start;gap:clamp(48px,5vw,96px);display:grid}.portrait-card{border:1px solid var(--line);background:linear-gradient(165deg,#10131e 0%,#0a0c14 55%,#080a11 100%);border-radius:24px;flex-direction:column;gap:26px;padding:30px;display:flex;position:sticky;top:110px;overflow:hidden;box-shadow:0 30px 80px #00000073}.portrait-card:before{content:"";pointer-events:none;background:radial-gradient(60% 40% at 80% 0,#6d9bff29,#0000 70%);position:absolute;inset:0}.portrait-corners i{border:1px solid #9db9ff80;width:14px;height:14px;position:absolute}.portrait-corners i:first-child{border-bottom:0;border-right:0;top:14px;left:14px}.portrait-corners i:nth-child(2){border-bottom:0;border-left:0;top:14px;right:14px}.portrait-corners i:nth-child(3){border-top:0;border-right:0;bottom:14px;left:14px}.portrait-corners i:nth-child(4){border-top:0;border-left:0;bottom:14px;right:14px}.portrait-top{z-index:1;justify-content:flex-start;display:flex;position:relative}.status-badge{letter-spacing:.12em;color:var(--muted);border:1px solid var(--line);background:#ffffff05;border-radius:999px;align-items:center;gap:8px;padding:7px 14px;font-size:12px;display:inline-flex}.status-dot{background:#46d39a;border-radius:50%;width:7px;height:7px;animation:2s infinite status-pulse;box-shadow:0 0 10px #46d39a}@keyframes status-pulse{50%{opacity:.35}}.portrait-monogram-wrap{place-items:center;padding:34px 0;display:grid;position:relative}.portrait-monogram{font-family:var(--font-display);letter-spacing:.08em;color:#0000;-webkit-text-stroke:1.5px #a5bcffd9;font-size:clamp(96px,7.5vw,128px);font-weight:700;line-height:1}.portrait-avatar{z-index:1;object-fit:cover;object-position:center 30%;filter:contrast(1.04)saturate(.96);border:1px solid #9db9ff59;border-radius:50%;width:236px;height:236px;position:relative;box-shadow:0 20px 60px #00000080,0 0 44px #6d9bff29}.portrait-orbit{border:1px dashed #6d9bff40;border-radius:50%;width:236px;height:236px;animation:44s linear infinite orbit-spin;position:absolute}.portrait-orbit:before{content:"";background:var(--accent);width:6px;height:6px;box-shadow:0 0 12px var(--accent);border-radius:50%;position:absolute;top:-3px;left:50%}@keyframes orbit-spin{to{transform:rotate(360deg)}}.portrait-bottom{z-index:1;position:relative}.portrait-name{font-family:var(--font-display);font-size:26px}.portrait-role{color:var(--accent);margin-top:6px;font-size:14px}.portrait-loc{color:var(--muted);align-items:center;gap:8px;margin-top:10px;font-size:13px;display:flex}.portrait-loc-icon{color:var(--muted-2);display:inline-flex}.portrait-tags{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.about-paras{flex-direction:column;gap:18px;display:flex}.about-paras p{color:var(--body);max-width:860px;font-size:clamp(15.5px,1.15vw,17.5px);line-height:2}.contact-mini{border-top:1px solid var(--line);flex-wrap:wrap;gap:44px;margin-top:40px;padding-top:30px;display:flex}.contact-mini-item{color:var(--text);align-items:center;gap:14px;text-decoration:none;display:flex}.contact-mini-icon{border:1px solid var(--line);width:40px;height:40px;color:var(--accent);background:#6d9bff12;border-radius:11px;flex:none;place-items:center;display:grid}.contact-mini-text{flex-direction:column;gap:3px;font-size:14.5px;display:flex}.contact-mini-text em{font-style:normal;font-family:var(--font-display);letter-spacing:.24em;color:var(--muted-2);font-size:10.5px}a.contact-mini-item:hover .contact-mini-text{color:var(--accent)}.stats{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin-top:48px;display:grid}.stat{padding:28px 24px 0 0}.stat+.stat{border-left:1px solid var(--line);padding-left:28px}.stat-num{font-family:var(--font-display);color:var(--text);letter-spacing:.01em;font-size:clamp(42px,3.6vw,58px);font-weight:660;line-height:1.1}.stat-suffix{color:var(--accent);margin-left:4px;font-size:.55em;font-weight:600}.stat-label{color:var(--muted);letter-spacing:.04em;margin-top:10px;font-size:13px}.timeline{border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:40px;margin-top:clamp(64px,8vh,96px);padding-top:40px;display:grid;position:relative}.timeline:before{content:"";background:linear-gradient(90deg, var(--accent), transparent 45%);opacity:.5;width:100%;height:1px;position:absolute;top:-1px;left:0}.timeline-item{position:relative}.timeline-dot{background:var(--bg-2);border:2px solid var(--accent);border-radius:50%;width:9px;height:9px;position:absolute;top:-45px;left:0;box-shadow:0 0 14px #6d9bff80}.timeline-period{font-family:var(--font-display);letter-spacing:.14em;color:var(--accent);font-size:12.5px}.timeline-title{font-family:var(--font-display);color:var(--text);margin-top:12px;font-size:17.5px;font-weight:600}.timeline-note{color:var(--muted);margin-top:6px;font-size:13.5px;line-height:1.7}.projects{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:0 0;padding:clamp(110px,13vh,170px) 0}.project-card{--tint:var(--accent)}.project-featured{border:1px solid var(--line);background:linear-gradient(#ffffff08,#ffffff03);border-radius:24px;flex-direction:column;margin-bottom:28px;transition:border-color .35s;display:flex;overflow:hidden}.project-featured:hover{border-color:var(--line-strong)}.project-featured .project-art{border:none;border-bottom:1px solid var(--line);aspect-ratio:auto;background:radial-gradient(60% 90% at 50% 30%, color-mix(in srgb, var(--tint) 16%, transparent), transparent 70%), linear-gradient(180deg, #0c0f1a, #070910);border-radius:0;width:100%;height:clamp(500px,60vh,740px)}.project-featured .project-body{text-align:center;align-items:center;padding:clamp(36px,5vw,68px) clamp(24px,6vw,96px) clamp(40px,5vw,68px)}.project-featured .project-meta{justify-content:center}.project-featured .project-title{font-size:clamp(30px,3.2vw,46px)}.project-featured .project-desc{max-width:880px;margin-left:auto;margin-right:auto;font-size:15.5px}.project-featured .project-results{justify-content:center;gap:12px 44px}.project-featured .project-results li{font-size:14.5px}.project-featured .project-demo-link{margin-top:36px;padding:16px 38px;font-size:16px}.project-featured .project-index{letter-spacing:.18em;color:#def2e6eb;background:#070c0a9e;border-color:#46d39a4d;align-items:center;gap:8px;display:inline-flex;top:18px;left:18px}.project-live-dot{width:7px;height:7px;animation:live-pulse 2.2s var(--ease) infinite;background:#46d39a;border-radius:50%;flex:none;box-shadow:0 0 10px #46d39a}@keyframes live-pulse{0%,to{opacity:1;box-shadow:0 0 10px #46d39a}50%{opacity:.35;box-shadow:0 0 2px #46d39a}}.project-art{aspect-ratio:16/10;border:1px solid var(--line);background:radial-gradient(90% 90% at 50% 0%, color-mix(in srgb, var(--tint) 14%, transparent), transparent 70%), linear-gradient(180deg, #0c0f1a, #070910);border-radius:18px;position:relative;overflow:hidden}.project-art:after{content:"";pointer-events:none;background-image:linear-gradient(#ffffff09 1px,#0000 1px),linear-gradient(90deg,#ffffff09 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 70% at 50% 45%,#000,#0000);mask-image:radial-gradient(70% 70% at 50% 45%,#000,#0000)}.art-svg{width:100%;height:100%;transition:transform .7s var(--ease);position:absolute;inset:0}.project-featured:hover .art-svg{transform:scale(1.025)}.project-art-img{object-fit:cover;width:100%;height:100%;transition:transform .7s var(--ease);position:absolute;inset:0}.project-grid .project-card:hover .project-art-img,.project-featured:hover .project-art-img{transform:scale(1.045)}.project-art-split{grid-template-columns:1fr 1fr;gap:12px;padding:12px;display:grid;position:absolute;inset:0}.split-item{background:radial-gradient(80% 80% at 50% 20%, color-mix(in srgb, var(--tint) 10%, transparent), transparent 70%), #0a0d16;border:1px solid var(--line);border-radius:12px;position:relative;overflow:hidden}.split-media{object-fit:contain;width:100%;height:100%;display:block;position:absolute;inset:0}.split-tag{z-index:2;font-family:var(--font-display);letter-spacing:.2em;color:#e8ecf7cc;border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);background:#05060a8c;border-radius:999px;padding:5px 11px;font-size:10.5px;position:absolute;top:10px;right:10px}.video-controls{z-index:3;border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);opacity:0;background:#05060a8c;border-radius:10px;align-items:center;gap:12px;padding:8px 12px;transition:opacity .3s;display:flex;position:absolute;bottom:12px;left:12px;right:12px}.split-video:hover .video-controls,.split-video:focus-within .video-controls{opacity:1}.video-play-btn{cursor:pointer;width:26px;height:26px;color:var(--text);background:0 0;border:none;flex:none;place-items:center;transition:color .25s;display:grid}.video-play-btn:hover{color:var(--tint)}.video-progress{cursor:pointer;background:#ffffff29;border-radius:999px;flex:1;height:4px;overflow:hidden}.video-progress-fill{background:var(--tint);pointer-events:none;border-radius:999px;height:100%}.art-glow{fill:var(--tint);opacity:.09}.art-line{stroke:#e8ecf780;stroke-width:1.6px;fill:none;stroke-linecap:round;stroke-linejoin:round}.art-line-dim{stroke:#e8ecf738;stroke-width:1.4px;fill:none;stroke-linecap:round}.art-dim{stroke:#e8ecf72e;stroke-width:1.3px;fill:none;stroke-dasharray:5 6}.art-ray{stroke:var(--tint);stroke-width:1.5px;stroke-dasharray:6 7;fill:none;opacity:.8}.art-ghost{stroke:var(--tint);stroke-width:1.5px;stroke-dasharray:3 6;fill:none;opacity:.45}.art-accent-stroke{stroke:var(--tint);stroke-width:1.6px;fill:none;opacity:.9}.art-accent-fill{fill:var(--tint);opacity:.9}.art-axis{fill:var(--tint);font-family:var(--font-display);opacity:.85;font-size:11px}.art-label{fill:#e8ecf757;font-family:var(--font-display);letter-spacing:.32em;font-size:13px}.art-link{stroke:#e8ecf799;stroke-width:7px;stroke-linecap:round}.art-halo{fill:var(--tint);opacity:.07}.art-resume-card{filter:drop-shadow(0 0 22px color-mix(in srgb, var(--tint) 40%, transparent)) drop-shadow(0 0 48px color-mix(in srgb, var(--tint) 16%, transparent))}.art-card-line{stroke:#e8ecf78c;stroke-width:1.5px;fill:#0a0d16e6}.art-spark{fill:var(--tint);opacity:.85}.art-spark-dot{fill:var(--tint);opacity:.55}.project-index{z-index:2;font-family:var(--font-display);letter-spacing:.2em;color:#e8ecf773;border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);background:#05060a80;border-radius:999px;padding:6px 12px;font-size:11px;position:absolute;top:14px;left:14px}.project-body{flex-direction:column;display:flex}.project-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;display:flex}.project-org{color:var(--text);letter-spacing:.02em;font-weight:600}.project-dot{background:var(--tint);border-radius:50%;width:4px;height:4px}.project-title{font-family:var(--font-display);letter-spacing:.005em;margin-top:16px;font-size:clamp(24px,2.2vw,34px);font-weight:640;line-height:1.3}.project-desc{color:#b6bac9;margin-top:14px;font-size:15px;line-height:1.95}.project-tags{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.project-results{flex-wrap:wrap;gap:10px 26px;margin-top:20px;list-style:none;display:flex}.project-results li{color:#cfd3e0;align-items:center;gap:8px;font-size:13.5px;display:inline-flex}.project-results svg{color:var(--tint);flex:none}.project-grid{grid-template-columns:repeat(2,1fr);gap:28px;display:grid}.project-grid .project-card{border:1px solid var(--line);transition:transform .4s var(--ease), border-color .4s, box-shadow .4s;background:#ffffff05;border-radius:20px;flex-direction:column;padding:18px;display:flex}.project-grid .project-card:hover{border-color:var(--line-strong);transform:translateY(-6px);box-shadow:0 24px 60px #00000080}.project-grid .project-art{aspect-ratio:16/10;margin-bottom:20px}.project-grid .project-card:hover .art-svg{transform:scale(1.045)}.project-grid .project-title{margin-top:12px;font-size:21px}.project-grid .project-desc{margin-top:10px;font-size:14px}.project-grid .project-meta{font-size:12px}.project-grid .project-results{gap:8px 16px;margin-top:16px}.project-grid .project-results li{font-size:12.5px}.project-demo-link{align-self:flex-start;margin-top:24px}.project-grid .project-demo-link{margin-top:18px;padding:10px 20px;font-size:13.5px}.strength-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.strength-card{border:1px solid var(--line);transition:transform .4s var(--ease), border-color .4s, box-shadow .4s;background:linear-gradient(#ffffff07,#ffffff02);border-radius:20px;padding:32px 30px;position:relative;overflow:hidden}.strength-card:before{content:"";opacity:0;pointer-events:none;background:radial-gradient(50% 40% at 85% 0,#6d9bff1a,#0000 70%);transition:opacity .45s;position:absolute;inset:0}.strength-card:hover{border-color:var(--line-strong);transform:translateY(-6px);box-shadow:0 24px 60px #00000080}.strength-card:hover:before{opacity:1}.strength-top{justify-content:space-between;align-items:flex-start;display:flex;position:relative}.strength-icon{width:48px;height:48px;color:var(--accent);background:#6d9bff12;border:1px solid #6d9bff47;border-radius:13px;place-items:center;display:grid}.strength-num{font-family:var(--font-display);letter-spacing:.2em;color:var(--muted-2);font-size:15px}.strength-title{font-family:var(--font-display);margin-top:22px;font-size:20px;font-weight:640;position:relative}.strength-desc{color:var(--muted);margin-top:12px;font-size:14.5px;line-height:1.9;position:relative}.contact{background:radial-gradient(60% 50% at 50% 100%,#6d9bff1a,#0000 70%);flex-direction:column;min-height:100svh;padding-top:clamp(100px,12vh,150px);display:flex;position:relative;overflow:hidden}.contact-giant{font-family:var(--font-display);letter-spacing:.05em;color:#0000;-webkit-text-stroke:1px #ffffff0e;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:clamp(120px,15.5vw,280px);font-weight:700;line-height:1;position:absolute;bottom:-.14em;left:50%;transform:translate(-50%)}.contact-inner{z-index:1;text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding-bottom:60px;display:flex;position:relative}.contact-eyebrow:before{display:none}.contact-title{font-family:var(--font-display);letter-spacing:.01em;margin-top:26px;font-size:clamp(44px,5.6vw,88px);font-weight:650;line-height:1.14}.contact-accent{color:#0000;background:linear-gradient(120deg, #a9c3ff, var(--accent) 60%, #4f7fe8);-webkit-background-clip:text;background-clip:text;display:block}.contact-sub{color:var(--muted);margin-top:22px;font-size:clamp(15px,1.3vw,18px)}.contact-mail{font-family:var(--font-display);color:var(--text);letter-spacing:.01em;align-items:center;gap:20px;margin-top:52px;padding-bottom:12px;font-size:clamp(22px,2.8vw,42px);font-weight:640;text-decoration:none;transition:color .3s;display:inline-flex;position:relative}.contact-mail:after{content:"";background:var(--accent);transform-origin:0;width:100%;height:2px;transition:transform .5s var(--ease);opacity:.9;position:absolute;bottom:0;left:0;transform:scaleX(.35)}.contact-mail:hover{color:var(--accent)}.contact-mail:hover:after{transform:scaleX(1)}.contact-mail svg{color:var(--accent);transition:transform .4s var(--ease)}.contact-mail:hover svg{transform:translate(6px)}.contact-rows{flex-wrap:wrap;justify-content:center;gap:48px;margin-top:56px;display:flex}.contact-row{color:var(--text);flex-direction:column;align-items:center;gap:8px;font-size:15.5px;text-decoration:none;transition:color .3s;display:flex}.contact-row em{font-style:normal;font-family:var(--font-display);letter-spacing:.3em;color:var(--muted-2);font-size:11px}a.contact-row:hover{color:var(--accent)}.footer{z-index:1;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);background:#05060a99;padding:26px 0;position:relative}.footer-inner{color:var(--muted-2);letter-spacing:.06em;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;font-size:12.5px;display:flex}.footer-mid{font-family:var(--font-display);letter-spacing:.24em;text-transform:uppercase;font-size:11px}.to-top{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:8px;padding:9px 18px;font-family:inherit;font-size:13px;transition:all .3s;display:inline-flex}.to-top:hover{color:var(--text);border-color:var(--line-strong)}.portrait-card,.project-featured,.project-grid .project-card,.strength-card{-webkit-backdrop-filter:blur(16px)saturate(1.2);background:linear-gradient(165deg,#ffffff0f,#ffffff05);border-color:#ffffff1a;box-shadow:inset 0 1px #ffffff0f,0 24px 60px #00000059}.status-badge,.chip{-webkit-backdrop-filter:blur(8px);background:#ffffff09}@media (width<=1280px){.about-grid{grid-template-columns:1fr}.portrait-card{flex-direction:row;align-items:center;gap:30px;position:static}.portrait-top{position:absolute;top:22px;right:26px}.portrait-bottom{flex:1}.portrait-monogram-wrap{padding:20px 0}.portrait-orbit{width:190px;height:190px}.portrait-monogram{font-size:84px}.project-grid{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr);row-gap:24px}.stat:nth-child(3){border-left:none;padding-left:0}.strength-grid{grid-template-columns:repeat(2,1fr)}.timeline{grid-template-columns:repeat(2,1fr);gap:40px}}@media (width<=900px){.nav-links{border-bottom:1px solid var(--line);background:#05060af7;flex-direction:column;align-items:flex-start;gap:8px;padding:28px clamp(24px,4vw,40px) 36px;display:none;position:fixed;inset:76px 0 auto}.nav-links.is-open{display:flex}.nav-link{padding:10px 0;font-size:18px}.nav-cta{margin:14px 0 0}.nav-burger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:6px;padding:8px;display:flex}.nav-burger span{background:var(--text);width:22px;height:1.6px;transition:transform .3s var(--ease)}.nav-burger.is-open span:first-child{transform:translateY(3.8px)rotate(45deg)}.nav-burger.is-open span:last-child{transform:translateY(-3.8px)rotate(-45deg)}.portrait-card{flex-direction:column;align-items:stretch}.project-grid,.strength-grid{grid-template-columns:1fr}.section-head{flex-direction:column;align-items:flex-start;gap:16px}.section-note{text-align:left}.footer-inner{text-align:center;flex-direction:column;gap:14px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[data-reveal],[data-reveal=mask] .mask-line-inner{opacity:1;transform:none}html{scroll-behavior:auto}}
