.border-glow-card{--edge-proximity: 0;--cursor-angle: 45deg;--edge-sensitivity: 30;--color-sensitivity: calc(var(--edge-sensitivity) + 20);--border-radius: 28px;--glow-padding: 40px;--cone-spread: 25;position:relative;border-radius:var(--border-radius);isolation:isolate;transform:translateZ(.01px);display:grid;border:1px solid rgb(255 255 255 / 15%);background:var(--card-bg, #120F17);overflow:visible;box-shadow:#0000001a 0 1px 2px,#0000001a 0 2px 4px,#0000001a 0 4px 8px,#0000001a 0 8px 16px,#0000001a 0 16px 32px,#0000001a 0 32px 64px}.border-glow-card--light{border-color:#18181b1f;box-shadow:#18181b0a 0 1px 2px,#18181b0d 0 8px 24px}.border-glow-card--light:after,.border-glow-card--light>.edge-light{mix-blend-mode:normal}.border-glow-card:before,.border-glow-card:after,.border-glow-card>.edge-light{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;transition:opacity .25s ease-out;z-index:-1}.border-glow-card:not(:hover):not(.sweep-active):before,.border-glow-card:not(:hover):not(.sweep-active):after,.border-glow-card:not(:hover):not(.sweep-active)>.edge-light{opacity:0;transition:opacity .75s ease-in-out}.border-glow-card:before{border:1px solid transparent;background:linear-gradient(var(--card-bg, #120F17) 0 100%) padding-box,linear-gradient(#fff0,#fff0) border-box,var(--gradient-one, radial-gradient(at 80% 55%, hsla(268, 100%, 76%, 1) 0px, transparent 50%)) border-box,var(--gradient-two, radial-gradient(at 69% 34%, hsla(349, 100%, 74%, 1) 0px, transparent 50%)) border-box,var(--gradient-three, radial-gradient(at 8% 6%, hsla(136, 100%, 78%, 1) 0px, transparent 50%)) border-box,var(--gradient-four, radial-gradient(at 41% 38%, hsla(192, 100%, 64%, 1) 0px, transparent 50%)) border-box,var(--gradient-five, radial-gradient(at 86% 85%, hsla(186, 100%, 74%, 1) 0px, transparent 50%)) border-box,var(--gradient-six, radial-gradient(at 82% 18%, hsla(52, 100%, 65%, 1) 0px, transparent 50%)) border-box,var(--gradient-seven, radial-gradient(at 51% 4%, hsla(12, 100%, 72%, 1) 0px, transparent 50%)) border-box,var(--gradient-base, linear-gradient(#c299ff 0 100%)) border-box;opacity:calc((var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));-webkit-mask-image:conic-gradient(from var(--cursor-angle) at center,black calc(var(--cone-spread) * 1%),transparent calc((var(--cone-spread) + 15) * 1%),transparent calc((100 - var(--cone-spread) - 15) * 1%),black calc((100 - var(--cone-spread)) * 1%));mask-image:conic-gradient(from var(--cursor-angle) at center,black calc(var(--cone-spread) * 1%),transparent calc((var(--cone-spread) + 15) * 1%),transparent calc((100 - var(--cone-spread) - 15) * 1%),black calc((100 - var(--cone-spread)) * 1%))}.border-glow-card:after{border:1px solid transparent;background:var(--gradient-one, radial-gradient(at 80% 55%, hsla(268, 100%, 76%, 1) 0px, transparent 50%)) padding-box,var(--gradient-two, radial-gradient(at 69% 34%, hsla(349, 100%, 74%, 1) 0px, transparent 50%)) padding-box,var(--gradient-three, radial-gradient(at 8% 6%, hsla(136, 100%, 78%, 1) 0px, transparent 50%)) padding-box,var(--gradient-four, radial-gradient(at 41% 38%, hsla(192, 100%, 64%, 1) 0px, transparent 50%)) padding-box,var(--gradient-five, radial-gradient(at 86% 85%, hsla(186, 100%, 74%, 1) 0px, transparent 50%)) padding-box,var(--gradient-six, radial-gradient(at 82% 18%, hsla(52, 100%, 65%, 1) 0px, transparent 50%)) padding-box,var(--gradient-seven, radial-gradient(at 51% 4%, hsla(12, 100%, 72%, 1) 0px, transparent 50%)) padding-box,var(--gradient-base, linear-gradient(#c299ff 0 100%)) padding-box;-webkit-mask-image:linear-gradient(to bottom,#000,#000),radial-gradient(ellipse at 50% 50%,black 40%,transparent 65%),radial-gradient(ellipse at 66% 66%,black 5%,transparent 40%),radial-gradient(ellipse at 33% 33%,black 5%,transparent 40%),radial-gradient(ellipse at 66% 33%,black 5%,transparent 40%),radial-gradient(ellipse at 33% 66%,black 5%,transparent 40%),conic-gradient(from var(--cursor-angle) at center,transparent 5%,black 15%,black 85%,transparent 95%);mask-image:linear-gradient(to bottom,#000,#000),radial-gradient(ellipse at 50% 50%,black 40%,transparent 65%),radial-gradient(ellipse at 66% 66%,black 5%,transparent 40%),radial-gradient(ellipse at 33% 33%,black 5%,transparent 40%),radial-gradient(ellipse at 66% 33%,black 5%,transparent 40%),radial-gradient(ellipse at 33% 66%,black 5%,transparent 40%),conic-gradient(from var(--cursor-angle) at center,transparent 5%,black 15%,black 85%,transparent 95%);-webkit-mask-composite:source-out,source-over,source-over,source-over,source-over,source-over;mask-composite:subtract,add,add,add,add,add;opacity:calc(var(--fill-opacity, .5) * (var(--edge-proximity) - var(--color-sensitivity)) / (100 - var(--color-sensitivity)));mix-blend-mode:soft-light}.border-glow-card>.edge-light{inset:calc(var(--glow-padding) * -1);pointer-events:none;z-index:1;-webkit-mask-image:conic-gradient(from var(--cursor-angle) at center,black 2.5%,transparent 10%,transparent 90%,black 97.5%);mask-image:conic-gradient(from var(--cursor-angle) at center,black 2.5%,transparent 10%,transparent 90%,black 97.5%);opacity:calc((var(--edge-proximity) - var(--edge-sensitivity)) / (100 - var(--edge-sensitivity)));mix-blend-mode:plus-lighter}.border-glow-card>.edge-light:before{content:"";position:absolute;inset:var(--glow-padding);border-radius:inherit;box-shadow:inset 0 0 0 1px var(--glow-color, hsl(40deg 80% 80% / 100%)),inset 0 0 1px 0 var(--glow-color-60, hsl(40deg 80% 80% / 60%)),inset 0 0 3px 0 var(--glow-color-50, hsl(40deg 80% 80% / 50%)),inset 0 0 6px 0 var(--glow-color-40, hsl(40deg 80% 80% / 40%)),inset 0 0 15px 0 var(--glow-color-30, hsl(40deg 80% 80% / 30%)),inset 0 0 25px 2px var(--glow-color-20, hsl(40deg 80% 80% / 20%)),inset 0 0 50px 2px var(--glow-color-10, hsl(40deg 80% 80% / 10%)),0 0 1px 0 var(--glow-color-60, hsl(40deg 80% 80% / 60%)),0 0 3px 0 var(--glow-color-50, hsl(40deg 80% 80% / 50%)),0 0 6px 0 var(--glow-color-40, hsl(40deg 80% 80% / 40%)),0 0 15px 0 var(--glow-color-30, hsl(40deg 80% 80% / 30%)),0 0 25px 2px var(--glow-color-20, hsl(40deg 80% 80% / 20%)),0 0 50px 2px var(--glow-color-10, hsl(40deg 80% 80% / 10%))}.border-glow-inner{display:flex;flex-direction:column;position:relative;overflow:auto;z-index:1}.grainient-container{position:relative;width:100%;height:100%;overflow:hidden}.noise{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;pointer-events:none;opacity:.02;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.6'/%3E%3C/svg%3E")}.page-grainient{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.page-grainient:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#07070bbf}main,.footer{position:relative;z-index:1}.nav{position:fixed;top:0;left:0;right:0;z-index:100;height:78px;display:flex;align-items:center;padding-inline:0;transition:height .45s cubic-bezier(.2,.8,.2,1),padding .45s cubic-bezier(.2,.8,.2,1)}.nav--scrolled{height:80px;padding-inline:20px}.nav-inner{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:space-between;gap:32px;border-radius:16px;transition:padding .45s cubic-bezier(.2,.8,.2,1)}.nav-inner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:inherit;border:1px solid rgba(255,255,255,.1);background:#0d0d1485;-webkit-backdrop-filter:blur(26px) saturate(180%);backdrop-filter:blur(26px) saturate(180%);box-shadow:0 18px 44px -30px #000000f2;opacity:0;transition:opacity .6s ease;pointer-events:none}.nav--scrolled .nav-inner{padding:10px clamp(22px,2.4vw,38px)}.nav--scrolled .nav-inner:before{opacity:1}.brand{display:flex;align-items:center;gap:10px}.brand-mark{display:grid;place-items:center}.brand-name{font-weight:600;letter-spacing:.04em;font-size:16px}.nav-links{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:36px}.nav-links a{color:var(--text-2);font-size:14px;letter-spacing:.03em;position:relative;transition:color .3s ease}.nav-links a:after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:var(--accent);transition:width .3s ease}.nav-links a:hover{color:var(--text)}.nav-links a:hover:after{width:100%}.nav-cta{padding:10px 21px;border-radius:100px;font-size:14px;letter-spacing:.03em;transition:background .3s ease,color .3s ease}.nav-cta:hover{background:var(--text);color:#08080b}.nav-burger{display:none;flex-direction:column;gap:5px;padding:6px}.nav-burger span{width:20px;height:1.5px;background:var(--text)}.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:center;overflow:hidden}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:linear-gradient(180deg,var(--bg) 0%,var(--bg) 56%,rgba(7,7,11,.72) 74%,rgba(7,7,11,.32) 89%,rgba(7,7,11,0) 100%)}.hero-canvas,.hero-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.hero-video{object-fit:cover}.hero-blob{position:absolute;border-radius:50%;filter:blur(90px);opacity:.55}.hero-blob--a{width:52vw;height:52vw;left:-10vw;top:-22vw;background:radial-gradient(circle,rgba(91,110,255,.55),transparent 70%)}.hero-blob--b{width:42vw;height:42vw;right:-8vw;bottom:-18vw;background:radial-gradient(circle,rgba(150,90,255,.42),transparent 70%)}.hero-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 0%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 0%,transparent 75%)}.hero-content{position:relative;z-index:2;padding-top:40px}.cover-grid{display:grid;grid-template-columns:400px 1fr;gap:clamp(48px,6vw,110px);align-items:center}.cover-portrait{position:relative}.cover-photo{position:relative;aspect-ratio:4 / 5;overflow:hidden;border:1px solid var(--border);border-radius:24px;background:var(--surface);box-shadow:0 40px 80px -40px #000000e6}.cover-photo img{width:100%;height:100%;object-fit:cover}.cover-photo:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 58%,rgba(7,7,11,.5))}.cover-tag{position:absolute;right:-22px;bottom:36px;z-index:2;display:inline-flex;align-items:center;gap:10px;padding:9px 20px 9px 12px;border-radius:100px;background:linear-gradient(135deg,#4f6bff,#9b6cff);color:#fff;font-size:14px;font-weight:500;letter-spacing:.02em;white-space:nowrap;box-shadow:0 16px 40px -14px #5b7bffd9}.cover-tag:before{content:"";position:absolute;left:-5px;top:-5px;width:15px;height:15px;border-radius:3px;background:linear-gradient(135deg,#4f6bff,#9b6cff);clip-path:polygon(0 0,100% 0,0 100%)}.cover-tag-avatar{display:block;width:26px;height:26px;overflow:hidden;border:1.5px solid rgba(255,255,255,.75);border-radius:50%}.cover-tag-avatar img{width:100%;height:100%;object-fit:cover}.cover-body{max-width:880px}.cover-statement{margin:0;font-size:clamp(28px,3.2vw,52px);font-weight:700;line-height:1.34;letter-spacing:-.01em}.cover-statement-mask{overflow:hidden;margin-bottom:28px}.cover-highlight{display:inline;padding:2px 12px;border-radius:8px;background:linear-gradient(135deg,#4f6bff,#8b5cf6);color:#fff;-webkit-box-decoration-break:clone;box-decoration-break:clone}.cover-paragraph{margin:0;max-width:640px;color:var(--text-2);font-size:16.5px;line-height:1.9}.about-resume-btn{margin-top:22px}.btn{display:inline-flex;align-items:center;gap:14px;padding:11px 11px 11px 26px;border-radius:100px;font-size:15px;letter-spacing:.02em;transition:box-shadow .3s ease,transform .3s ease,border-color .3s ease,color .3s ease,background-color .3s ease}.btn-arrow{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#07070bd9;color:#fff;font-size:13px;line-height:1}.btn--primary{background:linear-gradient(135deg,#4f6bff,#8b5cf6);color:#fff;font-weight:500}.btn--primary:hover{background:var(--text);color:#08080b;transform:translateY(-2px);box-shadow:0 18px 44px -16px #5b7bfff2}.btn--primary:hover .btn-arrow{background:#08080b;color:var(--text)}.btn--ghost{border:1px solid var(--border-strong);color:var(--text)}.btn--ghost:hover{background:var(--text);border-color:var(--text);color:#08080b;transform:translateY(-2px)}.btn--ghost:hover .btn-arrow{background:#08080b;color:var(--text)}.btn--ghost .btn-arrow{background:#ffffff1a;color:var(--text)}.hero-meta{position:absolute;left:50%;bottom:40px;transform:translate(-50%);z-index:2;display:flex;align-items:center;gap:0}.hero-meta span{padding:0 24px;font-size:11px;letter-spacing:.22em;color:var(--text-3);text-transform:uppercase}.hero-meta span+span{border-left:1px solid var(--border)}.hero-scroll{position:absolute;right:var(--gutter);bottom:42px;z-index:2;display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(255,255,255,.14);border-radius:50%;background:#0d0d1461;-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);color:var(--text-2);animation:scrollBob 2.4s ease-in-out infinite;transition:border-color .3s ease,background-color .3s ease,color .3s ease}.hero-scroll:hover{border-color:var(--text);background:var(--text);color:#08080b}@keyframes scrollBob{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.section{position:relative;padding:150px 0}.section-head{margin-bottom:78px}.eyebrow{display:inline-flex;align-items:center;gap:14px;font-size:clamp(16px,1.9vw,28px);letter-spacing:.16em;text-transform:uppercase;color:var(--text-3)}.eyebrow:before{content:"";width:clamp(28px,3vw,56px);height:1px;background:var(--accent)}.section-title-mask{overflow:hidden;margin-top:18px;padding-bottom:.08em}.section-head h2{margin:0;font-size:clamp(34px,4.5vw,60px);font-weight:700;letter-spacing:-.01em;line-height:1.18}.about-grid{display:grid;grid-template-columns:minmax(200px,300px) 1fr;gap:clamp(48px,6vw,120px);align-items:start}.about-name{margin:0;font-size:clamp(28px,3vw,40px);font-weight:700;letter-spacing:.02em}.about-role{margin:8px 0 0;color:var(--accent);font-size:15px;letter-spacing:.06em}.about-intro p{margin:0 0 16px;max-width:760px;color:var(--text-2);font-size:16.5px}.about-contact{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:30px 0 0;padding:20px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.about-contact a{color:var(--text);font-size:15px;transition:color .3s ease}.about-contact a:hover{color:var(--accent)}.about-contact .dot{width:4px;height:4px;border-radius:50%;background:var(--text-3)}.about-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:60px}.stat{padding:24px 22px}.stat-glow .border-glow-inner{overflow:visible}.stat-value{display:block;font-size:clamp(26px,3vw,42px);font-weight:700;line-height:1}.stat-label{display:block;margin-top:10px;color:var(--text-3);font-size:12.5px}.about-timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:90px;padding-top:42px;border-top:1px solid var(--border)}.timeline-item{display:flex;flex-direction:column;gap:10px;padding:0 8px}.timeline-type{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}.timeline-role{font-size:17px;font-weight:600}.timeline-org{color:var(--text-2);font-size:14.5px}.timeline-period{color:var(--text-3);font-size:13px;letter-spacing:.04em}.skill-block{display:flex;flex-wrap:wrap;gap:40px 80px;margin-top:60px;padding-top:34px;border-top:1px solid var(--border)}.skill-group{display:flex;align-items:flex-start;gap:22px}.skill-label{min-width:82px;padding-top:6px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--text-3)}.skill-tags{display:flex;flex-wrap:wrap;gap:10px}.skill-tag{padding:7px 15px;border:1px solid var(--border);border-radius:100px;font-size:13px;color:var(--text-2);transition:background-color .3s ease,border-color .3s ease,color .3s ease}.skill-tag:hover{background:var(--text);border-color:var(--text);color:#08080b}.works-list{display:flex;flex-direction:column;gap:120px}.work{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(40px,5vw,96px);align-items:center}.work--flip .work-media{order:2}.work--flip .work-info{order:1}.project-visual{--pv-c1: 124, 155, 255;--pv-c2: 177, 140, 255;position:relative;aspect-ratio:16 / 10;overflow:hidden;border:1px solid var(--border);border-radius:6px;background:var(--surface);transition:border-color .5s ease}.project-visual:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 120% at 15% 0%,rgba(var(--pv-c1),.3),transparent 52%),radial-gradient(120% 120% at 100% 100%,rgba(var(--pv-c2),.26),transparent 55%)}.pv-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,#000 0%,transparent 80%);mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,#000 0%,transparent 80%)}.pv-shape{position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:50%;transition:transform .7s cubic-bezier(.2,.8,.2,1)}.pv-shape--a{width:46%;aspect-ratio:1;right:-6%;top:-10%}.pv-shape--b{width:60%;aspect-ratio:1;left:-14%;bottom:-22%}.pv-index{position:absolute;left:26px;top:16px;font-size:clamp(64px,8vw,130px);font-weight:700;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.18)}.pv-en{position:absolute;left:28px;bottom:24px;font-size:11px;letter-spacing:.26em;color:#ffffff8c;text-transform:uppercase}.pv-note{position:absolute;right:22px;bottom:22px;padding:6px 12px;border:1px solid rgba(255,255,255,.12);border-radius:100px;font-size:11px;letter-spacing:.06em;color:#ffffff59}.work:hover .project-visual{border-color:rgba(var(--pv-c1),.5)}.work:hover .pv-shape--a{transform:translate(-8px,-6px)}.work:hover .pv-shape--b{transform:translate(8px,6px)}.work-id{font-size:13px;color:var(--accent);letter-spacing:.2em}.work-title{margin:14px 0 6px;font-size:clamp(28px,3.6vw,48px);font-weight:700;line-height:1.15}.work-subtitle{margin:0 0 22px;color:var(--text-2);font-size:17px}.work-desc{margin:0 0 26px;color:var(--text-2);font-size:15.5px;line-height:1.9}.work-tags{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:22px}.work-tags span{padding:6px 13px;border:1px solid var(--border);border-radius:100px;font-size:12.5px;color:var(--text-2)}.work-meta{font-size:12px;letter-spacing:.08em;color:var(--text-3)}.strengths-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.strength-card{position:relative;padding:34px 30px;border:1px solid var(--border);border-radius:6px;background:linear-gradient(180deg,rgba(255,255,255,.02),transparent 60%);overflow:hidden;transition:border-color .4s ease}.strength-card:before{content:"";position:absolute;left:0;top:0;width:100%;height:1px;background:linear-gradient(90deg,var(--accent),transparent);opacity:0;transition:opacity .4s ease}.strength-card:hover{border-color:var(--border-strong)}.strength-card:hover:before{opacity:1}.strength-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.strength-id{font-size:13px;letter-spacing:.2em;color:var(--text-3)}.strength-plus{font-size:20px;color:var(--text-3);transition:color .3s ease}.strength-card:hover .strength-plus{color:var(--accent)}.strength-card h3{margin:0 0 12px;font-size:20px;font-weight:600}.strength-card p{margin:0;color:var(--text-2);font-size:14.5px;line-height:1.85}.footer{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:120px 0 40px;border-top:1px solid var(--border)}.footer-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.footer-glow{position:absolute;left:50%;top:30%;transform:translate(-50%,-50%);width:70vw;height:70vw;border-radius:50%;background:radial-gradient(circle,rgba(124,155,255,.18),transparent 65%);filter:blur(60px)}.footer-inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center}.footer-title{margin:24px 0 26px;font-size:clamp(44px,7vw,108px);font-weight:700;line-height:1.05;letter-spacing:-.02em}.footer-title span{background:linear-gradient(120deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.footer-sub{margin:0 0 46px;max-width:560px;color:var(--text-2);font-size:17px}.footer-contact{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:104px;width:100%;max-width:1120px;margin:0 auto;text-align:left}.footer-fields{display:flex;flex-direction:column;gap:36px}.footer-field{display:flex;flex-direction:column;gap:12px}.footer-field-label{color:var(--text-3);font-size:11px;letter-spacing:.2em;text-transform:uppercase}.footer-field-value{font-size:clamp(18px,1.9vw,30px);font-weight:600;letter-spacing:.01em;transition:color .3s ease}.footer-field:hover .footer-field-value{color:var(--accent)}.footer-qr{display:flex;flex-direction:column;gap:14px;width:236px}.footer-qr-frame{position:relative;padding:16px;border-radius:20px;background:linear-gradient(160deg,#fff,#e9edf6);box-shadow:0 0 0 1px #ffffff24,0 0 60px -16px #7c9bff8c,0 34px 70px -26px #000000e6;transition:transform .7s cubic-bezier(.22,1,.36,1),box-shadow .7s ease}.footer-qr-frame:after{content:"";position:absolute;top:-9px;right:-9px;bottom:-9px;left:-9px;border:1px solid rgba(124,155,255,.3);border-radius:28px;opacity:.7;pointer-events:none;transition:opacity .6s ease,transform .7s cubic-bezier(.22,1,.36,1)}.footer-qr-frame img{display:block;width:100%;height:auto;aspect-ratio:1 / 1;border-radius:8px}.footer-qr:hover .footer-qr-frame{transform:translateY(-6px);box-shadow:0 0 0 1px #fff3,0 0 90px -12px #7c9bffcc,0 42px 80px -28px #000000f2}.footer-qr:hover .footer-qr-frame:after{opacity:1;transform:scale(1.02)}.footer-qr-hint{color:var(--text-3);font-size:12.5px;letter-spacing:.04em}.footer-links{display:flex;gap:34px;margin-top:52px}.footer-links a{color:var(--text-3);font-size:13.5px;letter-spacing:.06em;transition:color .3s ease}.footer-links a:hover{color:var(--text)}.footer-bar{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;margin-top:90px;padding-top:26px;border-top:1px solid var(--border);color:var(--text-3);font-size:13px}.to-top{display:flex;align-items:center;gap:8px;color:var(--text-2);font-size:13px;transition:color .3s ease}.to-top:hover{color:var(--text)}@media (max-width: 1100px){.about-grid{grid-template-columns:1fr}.about-stats{grid-template-columns:repeat(2,1fr)}.about-timeline{grid-template-columns:1fr}.strengths-grid{grid-template-columns:repeat(2,1fr)}.work{grid-template-columns:1fr}.work--flip .work-media,.work--flip .work-info{order:0}.footer-contact{grid-template-columns:1fr;justify-items:center;gap:56px;max-width:420px;text-align:center}.footer-fields{align-items:center;gap:30px}.footer-field{align-items:center}.footer-qr{width:214px}}@media (max-width: 720px){.nav-links{display:none}.nav-burger{display:flex}.nav-links.is-open{display:flex;position:absolute;top:78px;left:0;right:0;transform:none;flex-direction:column;gap:18px;padding:20px var(--gutter);background:#0a0a10;border-bottom:1px solid var(--border)}.nav-cta{display:none}.strengths-grid{grid-template-columns:1fr}.hero-meta,.hero-scroll{display:none}}.work-media{position:relative}.project-visual--photo:before{content:none}.project-visual--photo img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .9s cubic-bezier(.2,.8,.2,1)}.work:hover .project-visual--photo img{transform:scale(1.04)}.project-visual--photo:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#07070b73,#07070b0d 26%,#07070b0d 58%,#07070bc7)}.project-visual--photo .pv-en{color:#ffffffd9;text-shadow:0 2px 14px rgba(0,0,0,.6)}.work-media-btn{position:relative;display:block;width:100%;padding:0;text-align:left;border-radius:6px}.work-media-glow .border-glow-inner{overflow:visible}.work-media-glow .project-visual{border:0;border-radius:calc(var(--border-radius, 12px) - 1px)}.work-media-hint{position:absolute;right:20px;bottom:20px;z-index:2;display:inline-flex;align-items:center;gap:10px;padding:9px 16px;border:1px solid rgba(255,255,255,.16);border-radius:100px;background:#0a0a10b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:13px;color:var(--text);transition:border-color .3s ease,transform .3s ease}.work-media-btn:hover .work-media-hint{background:var(--text);border-color:var(--text);color:#08080b;transform:translateY(-2px)}.work-media-btn:hover .work-media-count{color:#08080b9e;border-left-color:#08080b33}.work-media-count{padding-left:10px;border-left:1px solid rgba(255,255,255,.16);font-size:12px;color:#ffffff8c}.work-actions{display:flex;align-items:center;gap:16px;margin-top:24px}.work-link{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:1px solid var(--border-strong);border-radius:100px;font-size:14px;color:var(--text);transition:border-color .3s ease,color .3s ease,background-color .3s ease}.work-link:after{content:"→";transition:transform .3s ease}.work-link:hover{background:var(--text);border-color:var(--text);color:#08080b}.work-link:hover:after{transform:translate(3px)}.work-assets{font-size:12px;letter-spacing:.06em;color:var(--text-3)}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;display:flex;align-items:center;justify-content:center;padding:40px}.lightbox-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#040407d6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.lightbox-panel{position:relative;z-index:1;display:flex;flex-direction:column;width:100%;max-width:1180px;max-height:calc(100vh - 80px);border:1px solid var(--border-strong);border-radius:10px;background:#0a0a10;overflow:hidden}.lightbox-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:24px 28px;border-bottom:1px solid var(--border)}.lightbox-eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--text-3)}.lightbox-title h3{margin:8px 0 4px;font-size:22px;font-weight:700}.lightbox-title p{margin:0;font-size:13px;color:var(--text-3)}.lightbox-actions{display:flex;align-items:center;gap:12px}.lightbox-pdf{padding:9px 18px;border:1px solid var(--border-strong);border-radius:100px;font-size:13px;white-space:nowrap;transition:border-color .3s ease,color .3s ease,background-color .3s ease}.lightbox-pdf:hover{background:var(--text);border-color:var(--text);color:#08080b}.lightbox-close{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 18px;border:1px solid var(--border);border-radius:100px;font-size:13.5px;color:var(--text);transition:border-color .3s ease,color .3s ease,background-color .3s ease}.lightbox-close-icon{font-size:12px;line-height:1}.lightbox-close:hover{background:var(--text);border-color:var(--text);color:#08080b}.lightbox-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 28px;border-top:1px solid var(--border);background:#0a0a10eb}.lightbox-foot>:only-child{margin-inline:auto}.lightbox-nav{padding:11px 20px;border:1px solid var(--border-strong);border-radius:100px;font-size:13.5px;color:var(--text-2);white-space:nowrap;transition:background-color .3s ease,color .3s ease,border-color .3s ease}.lightbox-nav:hover{background:var(--text);border-color:var(--text);color:#08080b}.lightbox-nav--exit{color:var(--text)}.lightbox-body{display:flex;flex-direction:column;gap:26px;padding:28px;overflow-y:auto}.lightbox-item{margin:0}.lightbox-item img{display:block;width:100%;height:auto;border:1px solid var(--border);border-radius:6px}.lightbox-item figcaption{margin-top:10px;font-size:12px;letter-spacing:.12em;color:var(--text-3)}@media (max-width: 720px){.lightbox{padding:0}.lightbox-panel{height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;border:0;border-radius:0}.lightbox-head{flex-direction:column;align-items:stretch;gap:12px;padding:14px 16px}.lightbox-eyebrow{display:none}.lightbox-title h3{margin:0 0 2px;font-size:19px;line-height:1.3}.lightbox-title p{font-size:12px;line-height:1.4}.lightbox-actions{justify-content:space-between;gap:10px}.lightbox-pdf,.lightbox-close{height:44px;padding:0 20px}.lightbox-body{flex:1;min-height:0;gap:20px;padding:18px;-webkit-overflow-scrolling:touch}.lightbox-foot{padding:12px 14px;gap:8px}.lightbox-nav{flex:1;padding:13px 10px;font-size:12.5px;text-align:center}}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2500;display:flex;align-items:center;justify-content:center;padding:40px}.overlay-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#040407db;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.overlay-panel{position:relative;z-index:1;display:flex;flex-direction:column;width:100%;max-width:1080px;max-height:calc(100vh - 80px);border:1px solid var(--border-strong);border-radius:12px;background:#0a0a10;overflow:hidden}.overlay-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:26px 30px;border-bottom:1px solid var(--border)}.overlay-eyebrow{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--text-3)}.overlay-head h3{margin:10px 0 0;font-size:22px;font-weight:700}.overlay-sub{margin:6px 0 0;font-size:13px;color:var(--text-3)}.overlay-close{display:grid;place-items:center;flex:none;width:36px;height:36px;border:1px solid var(--border);border-radius:50%;font-size:13px;color:var(--text-2);transition:border-color .3s ease,color .3s ease}.overlay-close:hover{background:var(--text);border-color:var(--text);color:#08080b}.overlay-actions{display:flex;align-items:center;gap:12px;flex:none}.overlay-link{padding:9px 18px;border:1px solid var(--border-strong);border-radius:100px;font-size:13px;white-space:nowrap;transition:border-color .3s ease,color .3s ease,background-color .3s ease}.overlay-link:hover{background:var(--text);border-color:var(--text);color:#08080b}.overlay-body{padding:30px;overflow-y:auto}.resume-contact{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-bottom:34px;padding-bottom:22px;border-bottom:1px solid var(--border)}.resume-contact a{font-size:15px;color:var(--text);transition:color .3s ease}.resume-contact a:hover{color:var(--accent)}.resume-section{margin-bottom:36px}.resume-section:last-child{margin-bottom:0}.resume-section h4{margin:0 0 20px;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--accent)}.resume-item{margin-bottom:22px;padding-left:18px;border-left:1px solid var(--border)}.resume-item:last-child{margin-bottom:0}.resume-item-head{display:flex;align-items:baseline;justify-content:space-between;gap:18px;flex-wrap:wrap}.resume-item-title{font-size:16px;font-weight:600}.resume-item-period{font-size:13px;letter-spacing:.04em;color:var(--text-3)}.resume-item-role{display:block;margin-top:4px;font-size:13.5px;color:var(--text-2)}.resume-item ul,.resume-summary{margin:10px 0 0;padding-left:18px;color:var(--text-2);font-size:14.5px;line-height:1.85}.resume-item li+li,.resume-summary li+li{margin-top:8px}.resume-skills{display:flex;align-items:flex-start;gap:20px;margin-bottom:16px}.resume-skills-label{min-width:76px;padding-top:6px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-3)}.portfolio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.portfolio-card{display:block;text-align:left;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#ffffff05;transition:border-color .3s ease,transform .3s ease}.portfolio-card:hover{border-color:#ffffff59;transform:translateY(-3px)}.portfolio-cover{display:block;aspect-ratio:16 / 10;overflow:hidden}.portfolio-cover img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1)}.portfolio-card:hover .portfolio-cover img{transform:scale(1.05)}.portfolio-info{display:block;padding:16px 18px 20px}.portfolio-id{font-size:12px;letter-spacing:.2em;color:var(--accent)}.portfolio-title{display:block;margin-top:8px;font-size:17px;font-weight:600}.portfolio-meta{display:block;margin-top:6px;font-size:12.5px;color:var(--text-3)}@media (max-width: 1100px){.cover-grid{grid-template-columns:1fr;gap:48px}.cover-portrait{width:min(360px,100%)}.cover-tag{right:-10px}}@media (max-width: 720px){.overlay{padding:0}.overlay-panel{height:100vh;max-height:100vh;border:0;border-radius:0}.overlay-head,.overlay-body{padding:20px}.portfolio-grid{grid-template-columns:1fr}.cover-statement{font-size:26px}.resume-skills{flex-direction:column;gap:10px}}.section-note{display:inline-flex;align-items:center;gap:10px;margin:18px 0 0;font-size:14px;letter-spacing:.04em;color:var(--text-2)}.section-note:before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px #7c9bff2e}.draw-cover-wrap{max-width:920px}.draw-cover-glow .border-glow-inner{overflow:visible}.draw-cover{position:relative;display:block;width:100%;padding:0;overflow:hidden;text-align:left;border:0;border-radius:calc(var(--border-radius, 12px) - 1px);background:#ffffff05}.draw-cover-media{display:block;overflow:hidden;background:var(--surface)}.draw-cover-media img{display:block;width:100%;height:auto;transition:transform .9s cubic-bezier(.2,.8,.2,1)}.draw-cover:hover .draw-cover-media img{transform:scale(1.04)}.draw-cover-info{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 26px;border-top:1px solid var(--border)}.draw-cover-text{display:flex;flex-direction:column;gap:6px}.draw-cover-title{font-size:18px;font-weight:600;color:var(--text)}.draw-cover-sub{font-size:13.5px;color:var(--text-2)}.draw-cover-cta{display:inline-flex;align-items:center;gap:10px;flex:none;font-size:14px;color:var(--text-2);transition:color .3s ease}.draw-cover:hover .draw-cover-cta{color:var(--text)}.draw-cover-arrow{color:var(--text-3);transition:transform .3s ease,color .3s ease}.draw-cover:hover .draw-cover-arrow{color:var(--text);transform:translate(4px)}@media (max-width: 680px){.draw-cover-info{flex-direction:column;align-items:flex-start;gap:14px}}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(./space-grotesk-latin-BhU9QXUp.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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-weight:300 700;font-display:swap;src:url(./space-grotesk-latin-ext-D9tNdqV9.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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}:root{--bg: #07070b;--bg-soft: #0c0c12;--surface: #101018;--surface-2: #14141f;--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .16);--text: #ececf2;--text-2: #b0b0be;--text-3: #8d8d9d;--accent: #7c9bff;--accent-2: #b18cff;--glow: rgba(124, 155, 255, .35);--font-sans: "Space Grotesk", "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--max: 1700px;--gutter: clamp(24px, 5vw, 88px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px;overflow-x:hidden;overflow-x:clip}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden;overscroll-behavior-x:none}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}::selection{background:#7c9bff4d;color:#fff}.container{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#07070b}::-webkit-scrollbar-thumb{background:#22222e;border-radius:10px;border:2px solid #07070b}::-webkit-scrollbar-thumb:hover{background:#33334a}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}.reveal{opacity:1!important;transform:none!important}}
