:root{--bg: #FAFAFB;--bg-elevated: #FFFFFF;--bg-sunken: #F1F2F5;--text-primary: #14151A;--text-secondary:#5B5F6B;--text-tertiary: #8B8E98;--border: #E6E7EC;--border-strong: #D6D8DF;--accent: #4C5FFF;--accent-soft: #4C5FFF1A;--accent-2: #8B5CF6;--accent-grad: linear-gradient(135deg, #4C5FFF 0%, #8B5CF6 100%);--shadow-sm: 0 1px 2px rgba(20,20,35,.04), 0 1px 1px rgba(20,20,35,.03);--shadow-md: 0 8px 24px rgba(20,20,35,.07), 0 2px 6px rgba(20,20,35,.04);--shadow-lg: 0 24px 48px rgba(20,20,35,.1), 0 6px 16px rgba(20,20,35,.05);--glass-bg: rgba(255,255,255,.62);--glass-border: rgba(255,255,255,.5);--font-display: "Sora", "Inter", sans-serif;--font-body: "Inter", sans-serif;--font-mono: "JetBrains Mono", monospace;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 24px;--radius-pill: 999px;--container: 1160px;--section-pad: 140px;--ease: cubic-bezier(.16,1,.3,1);--speed-fast: .2s;--speed-med: .45s;--speed-slow: .8s}[data-theme=dark]{--bg: #0B0C10;--bg-elevated: #15171D;--bg-sunken: #0F1014;--text-primary: #EEEFF3;--text-secondary:#9A9DA8;--text-tertiary: #6C6F7A;--border: #232631;--border-strong: #2F323F;--accent: #7C8CFF;--accent-soft: #7C8CFF22;--accent-2: #B98CFF;--accent-grad: linear-gradient(135deg, #7C8CFF 0%, #B98CFF 100%);--shadow-sm: 0 1px 2px rgba(0,0,0,.5);--shadow-md: 0 12px 28px rgba(0,0,0,.45);--shadow-lg: 0 28px 56px rgba(0,0,0,.55);--glass-bg: rgba(21,23,29,.55);--glass-border: rgba(255,255,255,.08)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}body{background:var(--bg);color:var(--text-primary);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;transition:background var(--speed-med) var(--ease),color var(--speed-med) var(--ease);overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul{list-style:none}button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;line-height:1.1;color:var(--text-primary)}.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 32px}section{position:relative;padding:var(--section-pad) 0}section[id]{scroll-margin-top:100px}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:18px}.eyebrow:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent-grad)}.section-head{max-width:640px;margin-bottom:64px}.section-head h2{font-size:clamp(28px,3.4vw,40px);margin-bottom:14px}.section-head p{color:var(--text-secondary);font-size:17px}.text-secondary{color:var(--text-secondary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 26px;border-radius:var(--radius-pill);font-family:var(--font-body);font-weight:600;font-size:14.5px;letter-spacing:-.01em;transition:transform var(--speed-fast) var(--ease),box-shadow var(--speed-fast) var(--ease),background var(--speed-fast) var(--ease),border-color var(--speed-fast) var(--ease);white-space:nowrap}.btn:active{transform:scale(.97)}.btn--primary{background:var(--text-primary);color:var(--bg);box-shadow:var(--shadow-sm)}.btn--primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn--accent{background:var(--accent-grad);color:#fff;box-shadow:0 8px 20px var(--accent-soft)}.btn--accent:hover{transform:translateY(-2px);box-shadow:0 14px 28px var(--accent-soft)}.btn--ghost{background:transparent;color:var(--text-primary);border:1.5px solid var(--border-strong)}.btn--ghost:hover{border-color:var(--accent);color:var(--accent)}.btn--sm{padding:9px 18px;font-size:13px}.btn--icon{width:42px;height:42px;padding:0;border-radius:50%}.glass{background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%)}.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:20px 0;transition:padding var(--speed-fast) var(--ease),background var(--speed-fast) var(--ease),box-shadow var(--speed-fast) var(--ease)}.nav.is-scrolled{padding:12px 0;box-shadow:var(--shadow-sm)}.nav.is-scrolled .nav-inner{background:var(--glass-bg);border-color:var(--glass-border)}.nav-inner{display:flex;align-items:center;justify-content:space-between;border-radius:var(--radius-pill);border:1px solid transparent;padding:10px 14px 10px 22px;transition:background var(--speed-fast) var(--ease),border-color var(--speed-fast) var(--ease)}.nav.is-scrolled .nav-inner{backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%)}.logo{font-family:var(--font-display);font-weight:700;font-size:17px;letter-spacing:-.01em;display:flex;align-items:center;gap:10px}.logo-mark{width:28px;height:28px;flex-shrink:0}.nav-links{display:flex;align-items:center;gap:30px;font-size:14.5px;font-weight:500}.nav-links a{color:var(--text-secondary);position:relative;transition:color var(--speed-fast) var(--ease)}.nav-links a:hover,.nav-links a.is-active{color:var(--text-primary)}.nav-actions{display:flex;align-items:center;gap:10px}.nav-toggle{display:none;width:38px;height:38px;align-items:center;justify-content:center;border-radius:50%}.theme-toggle{width:52px;height:30px;border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--bg-sunken);position:relative;flex-shrink:0;transition:background var(--speed-fast) var(--ease)}.theme-toggle .knob{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--accent-grad);display:flex;align-items:center;justify-content:center;color:#fff;transition:transform var(--speed-med) var(--ease)}[data-theme=dark] .theme-toggle .knob{transform:translate(20px)}.theme-toggle svg{width:13px;height:13px}.hero{padding-top:calc(var(--section-pad) + 60px);padding-bottom:100px;min-height:92vh;display:flex;align-items:center;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}.hero-kicker{font-family:var(--font-mono);font-size:13px;color:var(--text-tertiary);letter-spacing:.04em;margin-bottom:22px;display:flex;align-items:center;gap:10px}.hero-kicker .dot{width:7px;height:7px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px #22c55e22}.hero h1{font-size:clamp(38px,5.6vw,64px);margin-bottom:20px}.hero h1 .accent-text{background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p.tagline{font-size:18px;color:var(--text-secondary);max-width:480px;margin-bottom:36px}.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:48px}.hero-meta{display:flex;gap:32px;padding-top:28px;border-top:1px solid var(--border)}.hero-meta .meta-item{display:flex;flex-direction:column;gap:4px}.hero-meta .meta-num{font-family:var(--font-display);font-size:24px;font-weight:700}.hero-meta .meta-label{font-size:12.5px;color:var(--text-tertiary)}.hero-art{position:relative;height:460px;display:flex;align-items:center;justify-content:center}.fold-wrap{width:100%;height:100%;transform-style:preserve-3d;animation:floatY 7s ease-in-out infinite}@keyframes floatY{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-16px) rotate(1deg)}}.hero-art svg{width:100%;height:100%}.fold-shape{transition:transform .4s var(--ease)}.about-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:80px;align-items:start}.about-bio p{font-size:17px;color:var(--text-secondary);margin-bottom:18px}.about-bio p:first-child{font-size:20px;color:var(--text-primary);font-weight:500}.focus-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.focus-chip{padding:8px 16px;border-radius:var(--radius-pill);border:1px solid var(--border);font-size:13.5px;font-weight:500;color:var(--text-secondary);background:var(--bg-elevated)}.about-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border)}.stat-card{background:var(--bg-elevated);padding:32px 28px}.stat-card .num{font-family:var(--font-display);font-size:36px;font-weight:700;background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent;display:block;margin-bottom:6px}.stat-card .label{font-size:13.5px;color:var(--text-secondary)}.skills-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.skill-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:26px 24px;transition:transform var(--speed-fast) var(--ease),border-color var(--speed-fast) var(--ease),box-shadow var(--speed-fast) var(--ease)}.skill-card:hover{transform:translateY(-4px);border-color:var(--border-strong);box-shadow:var(--shadow-md)}.skill-icon{width:40px;height:40px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent);margin-bottom:18px}.skill-icon svg{width:20px;height:20px}.skill-card h3{font-size:16px;margin-bottom:8px}.skill-card p{font-size:13.5px;color:var(--text-secondary);line-height:1.55}.projects-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:44px}.filter-btn{padding:9px 18px;border-radius:var(--radius-pill);border:1px solid var(--border);font-size:13.5px;font-weight:500;color:var(--text-secondary);background:var(--bg-elevated);transition:all var(--speed-fast) var(--ease)}.filter-btn:hover{border-color:var(--border-strong);color:var(--text-primary)}.filter-btn.is-active{background:var(--text-primary);color:var(--bg);border-color:var(--text-primary)}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}.project-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:transform var(--speed-med) var(--ease),box-shadow var(--speed-med) var(--ease),border-color var(--speed-med) var(--ease);display:flex;flex-direction:column}.project-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--border-strong)}.project-thumb{position:relative;aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;overflow:hidden}.project-thumb .mark{font-family:var(--font-display);font-weight:800;font-size:42px;color:#ffffffeb;letter-spacing:-.02em}.project-thumb:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0000 40%,#0000002e)}.project-status{position:absolute;top:14px;right:14px;font-family:var(--font-mono);font-size:11px;padding:5px 10px;border-radius:var(--radius-pill);background:#ffffff2e;color:#fff;backdrop-filter:blur(6px);z-index:1}.project-body{padding:26px 26px 24px;display:flex;flex-direction:column;flex:1}.project-body h3{font-size:19px;margin-bottom:10px}.project-body p{font-size:14px;color:var(--text-secondary);line-height:1.6;margin-bottom:18px;flex:1}.project-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:20px}.tag{font-family:var(--font-mono);font-size:11.5px;padding:5px 10px;border-radius:6px;background:var(--bg-sunken);color:var(--text-secondary)}.project-links{display:flex;gap:10px}.project-links a{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:9px 14px;border-radius:var(--radius-pill);border:1px solid var(--border);transition:all var(--speed-fast) var(--ease)}.project-links a:hover{border-color:var(--accent);color:var(--accent)}.project-links svg{width:14px;height:14px}.projects-empty{text-align:center;padding:80px 20px;color:var(--text-secondary)}.timeline{position:relative;max-width:780px}.timeline:before{content:"";position:absolute;left:7px;top:6px;bottom:6px;width:1.5px;background:var(--border)}.timeline-item{position:relative;padding-left:46px;padding-bottom:52px}.timeline-item:last-child{padding-bottom:0}.timeline-dot{position:absolute;left:0;top:4px;width:16px;height:16px;border-radius:50%;background:var(--bg);border:2px solid var(--accent)}.timeline-dot:after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--accent-grad)}.timeline-date{font-family:var(--font-mono);font-size:12.5px;color:var(--accent);margin-bottom:8px;display:block}.timeline-item h3{font-size:19px;margin-bottom:4px}.timeline-item .role-meta{font-size:14px;color:var(--text-tertiary);margin-bottom:14px}.timeline-item ul{display:flex;flex-direction:column;gap:9px}.timeline-item li{font-size:14.5px;color:var(--text-secondary);line-height:1.6;padding-left:18px;position:relative}.timeline-item li:before{content:"";position:absolute;left:0;top:9px;width:5px;height:5px;border-radius:50%;background:var(--border-strong)}.testimonial-track-wrap{position:relative;overflow:hidden}.testimonial-track{display:flex;gap:24px;transition:transform var(--speed-slow) var(--ease)}.testimonial-card{flex:0 0 100%;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:44px}.testimonial-card .quote-mark{font-family:var(--font-display);font-size:48px;line-height:1;background:var(--accent-grad);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:18px;display:block}.testimonial-card p.quote{font-size:18px;color:var(--text-primary);line-height:1.6;margin-bottom:28px}.testimonial-author{display:flex;align-items:center;gap:14px}.author-avatar{width:46px;height:46px;border-radius:50%;background:var(--accent-grad);display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--font-display);font-weight:700;font-size:15px}.author-name{font-size:14.5px;font-weight:600}.author-role{font-size:13px;color:var(--text-tertiary)}.testimonial-nav{display:flex;justify-content:center;gap:10px;margin-top:32px}.testimonial-dot{width:8px;height:8px;border-radius:50%;background:var(--border-strong);transition:all var(--speed-fast) var(--ease)}.testimonial-dot.is-active{width:22px;border-radius:4px;background:var(--accent-grad)}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.contact-info p{color:var(--text-secondary);margin-bottom:32px;max-width:380px}.contact-channels{display:flex;flex-direction:column;gap:18px}.contact-channel{display:flex;align-items:center;gap:14px;font-size:15px;font-weight:500}.contact-channel .icon-box{width:42px;height:42px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border:1px solid var(--border);flex-shrink:0}.contact-channel .icon-box svg{width:18px;height:18px;color:var(--accent)}.contact-channel:hover .icon-box{border-color:var(--accent)}.social-row{display:flex;gap:10px;margin-top:36px}.social-row a{width:40px;height:40px;border-radius:50%;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;transition:all var(--speed-fast) var(--ease)}.social-row a:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.social-row svg{width:17px;height:17px}.form-group{margin-bottom:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group label{display:block;font-size:13px;font-weight:600;margin-bottom:8px;color:var(--text-secondary)}.form-group input,.form-group textarea{width:100%;padding:14px 16px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14.5px;color:var(--text-primary);transition:border-color var(--speed-fast) var(--ease),box-shadow var(--speed-fast) var(--ease)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.form-group textarea{resize:vertical;min-height:130px}.form-note{font-size:12.5px;color:var(--text-tertiary);margin-top:14px}.form-status{font-size:13.5px;margin-top:14px;display:none}.form-status.is-visible{display:block}.footer{border-top:1px solid var(--border);padding:36px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.footer-left{display:flex;align-items:center;gap:20px;font-size:13.5px;color:var(--text-tertiary)}.footer-right{display:flex;align-items:center;gap:18px}.footer-social{display:flex;gap:14px}.footer-social a{color:var(--text-tertiary);transition:color var(--speed-fast) var(--ease)}.footer-social a:hover{color:var(--accent)}.footer-social svg{width:17px;height:17px}.ambient-bg{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.blob{position:absolute;width:560px;height:560px;border-radius:50%;filter:blur(110px);opacity:.16;background:var(--accent-grad)}[data-theme=dark] .blob{opacity:.14}.blob--1{top:-180px;left:-120px}.blob--2{top:30%;right:-200px;background:linear-gradient(135deg,#8b5cf6,#4c5fff)}.blob--3{bottom:-220px;left:30%}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-stagger>*{transition-delay:calc(var(--i,0) * 70ms)}.loader{position:fixed;inset:0;z-index:9999;background:var(--bg);display:flex;align-items:center;justify-content:center;transition:opacity .5s var(--ease),visibility .5s var(--ease)}.loader.is-hidden{opacity:0;visibility:hidden}.loader-mark{width:54px;height:54px;animation:spin 1.1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.page-header{padding-top:calc(var(--section-pad) + 60px);padding-bottom:60px}.page-header h1{font-size:clamp(32px,4.6vw,48px);margin-bottom:16px}.page-header p{color:var(--text-secondary);font-size:17px;max-width:560px}.back-link{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--text-secondary);margin-bottom:28px}.back-link:hover{color:var(--accent)}.back-link svg{width:15px;height:15px}@media(max-width:1024px){:root{--section-pad:100px}.hero-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:48px}.hero-art{height:320px;order:-1}.skills-grid{grid-template-columns:repeat(2,1fr)}.projects-grid{grid-template-columns:1fr}.nav-links{display:none}.nav-toggle{display:flex}}@media(max-width:640px){:root{--section-pad:80px}.container{padding:0 20px}.hero{min-height:auto;padding-top:130px}.hero-cta{flex-direction:column;align-items:stretch}.hero-cta .btn{width:100%}.hero-meta{flex-wrap:wrap;gap:24px}.skills-grid{grid-template-columns:1fr 1fr}.about-stats,.form-row{grid-template-columns:1fr}.footer-inner{flex-direction:column;text-align:center}.testimonial-card{padding:30px 26px}.nav-links.is-open{display:flex;position:absolute;top:calc(100% + 10px);left:0;right:0;flex-direction:column;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:18px;gap:6px;box-shadow:var(--shadow-lg)}.nav-links.is-open a{padding:10px 6px;width:100%}}
