:root{--bg: #14151a;--bg-elev: #1c1d24;--bg-card: #191a21;--ink: #ebe9e2;--ink-dim: #9a968c;--ink-mute: #646058;--line: #2a2b33;--line-hot: #3a3b45;--accent: #d4ff3a;--accent-soft: rgba(212, 255, 58, .12);--cyan: #5eead4;--cyan-soft: rgba(94, 234, 212, .12);--coral: #ff7b5a;--coral-soft: rgba(255, 123, 90, .12);--violet: #c4a7f5;--violet-soft: rgba(196, 167, 245, .12);--amber: #fbbf6e;--warn: #ff6b4a;--mono: "JetBrains Mono", ui-monospace, monospace;--serif: "Fraunces", "Times New Roman", serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--mono);font-size:14px;line-height:1.6;font-weight:300;letter-spacing:.01em;overflow-x:hidden;position:relative}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.9 0 0 0 0 0.9 0 0 0 0 0.9 0 0 0 0.06 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");pointer-events:none;z-index:100;opacity:.4;mix-blend-mode:overlay}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 85% 10%,rgba(212,255,58,.08) 0%,transparent 40%),radial-gradient(circle at 10% 30%,rgba(94,234,212,.07) 0%,transparent 45%),radial-gradient(circle at 70% 80%,rgba(255,123,90,.06) 0%,transparent 40%),radial-gradient(circle at 20% 95%,rgba(196,167,245,.05) 0%,transparent 40%);pointer-events:none;z-index:0;filter:blur(60px)}nav{position:fixed;top:0;left:0;right:0;z-index:50;padding:20px 40px;display:flex;justify-content:space-between;align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#14151ab3;border-bottom:1px solid var(--line)}.nav-logo{font-family:var(--serif);font-size:18px;font-weight:500;font-style:italic;letter-spacing:-.02em}.nav-logo span{color:var(--accent)}.nav-links{display:flex;gap:28px;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.nav-links a{color:var(--ink-dim);text-decoration:none;transition:color .2s;position:relative}.nav-links a:hover{color:var(--accent)}.nav-links a:before{content:attr(data-num);color:var(--accent);margin-right:6px;font-size:10px}.hero{min-height:100vh;padding:120px 40px 80px;position:relative;display:flex;flex-direction:column;justify-content:center;max-width:1400px;margin:0 auto}.hero-meta{display:flex;justify-content:space-between;font-size:11px;color:var(--ink-mute);text-transform:uppercase;letter-spacing:.15em;margin-bottom:60px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0}.hero-meta .status{color:var(--accent);display:flex;align-items:center;gap:8px}.hero-meta .status:before{content:"";width:6px;height:6px;background:var(--accent);border-radius:50%;box-shadow:0 0 10px var(--accent);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.hero-main{display:grid;grid-template-columns:1fr auto;gap:60px;align-items:center}.hero-photo{position:relative;width:260px;height:260px;flex-shrink:0}.hero-photo-ring{position:absolute;top:-14px;right:-14px;bottom:-14px;left:-14px;border-radius:50%;background:conic-gradient(from 0deg,var(--accent),var(--cyan),var(--violet),var(--coral),var(--accent));opacity:.7;animation:spin 12s linear infinite;-webkit-mask:radial-gradient(circle,transparent 62%,black 63%,black 64%,transparent 65%);mask:radial-gradient(circle,transparent 62%,black 63%,black 64%,transparent 65%)}.hero-photo-ring:before{content:"";position:absolute;top:-4px;left:50%;transform:translate(-50%);width:10px;height:10px;background:var(--accent);border-radius:50%;box-shadow:0 0 16px var(--accent),0 0 32px var(--accent)}@keyframes spin{to{transform:rotate(360deg)}}.hero-photo img{width:100%;height:100%;border-radius:50%;object-fit:cover;filter:grayscale(20%) contrast(1.05);transition:filter .5s;border:1px solid var(--line-hot)}.hero-photo:hover img{filter:grayscale(0%) contrast(1)}.hero-photo-label{position:absolute;bottom:-8px;right:-20px;background:var(--bg);border:1px solid var(--accent);color:var(--accent);font-family:var(--mono);font-size:10px;padding:4px 10px;text-transform:uppercase;letter-spacing:.15em;z-index:2}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(52px,8vw,130px);line-height:.92;letter-spacing:-.04em;margin-bottom:40px}.hero h1 .italic{font-style:italic;background:linear-gradient(135deg,var(--accent) 0%,var(--cyan) 50%,var(--coral) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:300;background-size:200% 200%;animation:gradient-shift 8s ease infinite}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.hero h1 .outline{-webkit-text-stroke:1px var(--ink);color:transparent}.hero-sub{display:grid;grid-template-columns:1fr 2fr;gap:40px;margin-top:60px;padding-top:40px;border-top:1px solid var(--line)}.hero-sub .label{font-size:11px;color:var(--ink-mute);text-transform:uppercase;letter-spacing:.15em;margin-bottom:12px}.hero-sub .bio{font-family:var(--serif);font-size:20px;line-height:1.5;color:var(--ink);font-weight:300;max-width:640px}.hero-sub .bio em{color:var(--accent);font-style:italic}.hero-contact{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px;padding-top:32px;border-top:1px solid var(--line)}.hero-contact-item{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;background:var(--bg-card);border:1px solid var(--line);color:var(--ink-dim);text-decoration:none;font-family:var(--mono);font-size:12px;letter-spacing:.02em;transition:all .3s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.hero-contact-item:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--contact-glow, var(--accent-soft));opacity:0;transition:opacity .3s;pointer-events:none}.hero-contact-item:hover{color:var(--ink);border-color:var(--contact-color, var(--accent));transform:translateY(-2px)}.hero-contact-item:hover:before{opacity:1}.hero-contact-item:hover .contact-icon{color:var(--contact-color, var(--accent));transform:scale(1.1)}.hero-contact-item:hover .contact-arrow{transform:translate(2px,-2px);color:var(--contact-color, var(--accent))}.hero-contact-item:nth-child(1){--contact-color: var(--accent);--contact-glow: var(--accent-soft)}.hero-contact-item:nth-child(2){--contact-color: var(--cyan);--contact-glow: var(--cyan-soft)}.hero-contact-item:nth-child(3){--contact-color: var(--coral);--contact-glow: var(--coral-soft)}.hero-contact-item:nth-child(4){--contact-color: var(--violet);--contact-glow: var(--violet-soft)}.hero-contact-item:nth-child(5){--contact-color: var(--amber);--contact-glow: rgba(251, 191, 110, .12)}.contact-icon{width:16px;height:16px;color:var(--ink-mute);transition:all .3s;position:relative;z-index:1;flex-shrink:0}.contact-text{position:relative;z-index:1}.contact-arrow{font-size:10px;color:var(--ink-mute);transition:all .3s;position:relative;z-index:1}.hero-marquee{position:absolute;bottom:20px;left:0;right:0;overflow:hidden;white-space:nowrap;border-top:1px solid var(--line);padding:12px 0;font-size:11px;color:var(--ink-mute);text-transform:uppercase;letter-spacing:.2em}.marquee-track{display:inline-block;animation:marquee 40s linear infinite}.marquee-track span{margin-right:40px}.marquee-track .dot{color:var(--accent);margin-right:40px}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}section{padding:120px 40px;max-width:1400px;margin:0 auto;position:relative;z-index:1}.section-head{display:grid;grid-template-columns:1fr 2fr;gap:40px;margin-bottom:80px;padding-bottom:24px;border-bottom:1px solid var(--line)}.section-num{font-size:11px;color:var(--accent);text-transform:uppercase;letter-spacing:.2em}.section-title{font-family:var(--serif);font-size:clamp(36px,5vw,64px);line-height:1;font-weight:400;letter-spacing:-.03em}.section-title em{font-style:italic;color:var(--accent);font-weight:300}#work .section-title em{color:var(--accent)}#skills .section-title em{color:var(--cyan)}#projects .section-title em{color:var(--coral)}#education .section-title em{color:var(--violet)}#work .section-num{color:var(--accent)}#skills .section-num{color:var(--cyan)}#projects .section-num{color:var(--coral)}#education .section-num{color:var(--violet)}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.skill-card{background:var(--bg-card);border:1px solid var(--line);padding:32px 28px;transition:all .4s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:340px}.skill-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 85% 0%,var(--skill-glow, var(--accent-soft)) 0%,transparent 55%);opacity:0;transition:opacity .4s;pointer-events:none}.skill-card:after{content:"";position:absolute;top:24px;right:24px;width:8px;height:8px;border-radius:50%;background:var(--skill-color, var(--accent));box-shadow:0 0 14px var(--skill-color, var(--accent));opacity:.9;transition:transform .4s}.skill-card:nth-child(1){--skill-color: var(--accent);--skill-glow: var(--accent-soft)}.skill-card:nth-child(2){--skill-color: var(--cyan);--skill-glow: var(--cyan-soft)}.skill-card:nth-child(3){--skill-color: var(--coral);--skill-glow: var(--coral-soft)}.skill-card:nth-child(4){--skill-color: var(--violet);--skill-glow: var(--violet-soft)}.skill-card:nth-child(5){--skill-color: var(--amber);--skill-glow: rgba(251, 191, 110, .12)}.skill-card:nth-child(6){--skill-color: var(--accent);--skill-glow: var(--accent-soft)}.skill-card:hover{border-color:var(--skill-color, var(--line-hot));transform:translateY(-4px);box-shadow:0 20px 40px -24px var(--skill-glow, transparent)}.skill-card:hover:before{opacity:1}.skill-card:hover:after{transform:scale(1.4)}.skill-card:hover .skill-number{color:var(--skill-color)}.skill-number{font-family:var(--mono);font-size:11px;color:var(--ink-mute);letter-spacing:.2em;margin-bottom:24px;transition:color .3s}.skill-icon{font-family:var(--mono);font-size:10px;color:var(--ink-mute);margin-bottom:12px;letter-spacing:.15em;text-transform:uppercase;display:none}.skill-title{font-family:var(--serif);font-size:26px;margin-bottom:8px;font-weight:400;letter-spacing:-.02em;line-height:1.1;position:relative;z-index:1}.skill-subtitle{font-size:11px;color:var(--ink-mute);text-transform:uppercase;letter-spacing:.18em;margin-bottom:24px;padding-bottom:20px;border-bottom:1px dashed var(--line);position:relative;z-index:1}.skill-list{list-style:none;font-size:13px;color:var(--ink-dim);line-height:1.8;margin-top:auto;position:relative;z-index:1}.skill-list li{display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-bottom:none;gap:12px}.skill-list li:not(:last-child){border-bottom:1px solid rgba(255,255,255,.03)}.skill-list li span{color:var(--ink-mute);font-size:10px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;padding:2px 8px;border:1px solid var(--line);border-radius:2px;flex-shrink:0}.skill-list li[data-level=advanced] span{color:var(--skill-color, var(--accent));border-color:var(--skill-color, var(--accent));opacity:.8}.timeline{position:relative;padding-left:32px;margin-top:40px}.timeline:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:1px;background:linear-gradient(180deg,var(--accent) 0%,var(--cyan) 35%,var(--coral) 70%,var(--line-hot) 100%)}.timeline-item{position:relative;padding:24px 0 24px 40px;border-bottom:1px dashed var(--line);transition:all .3s}.timeline-item:last-child{border-bottom:none}.timeline-item:before{content:"";position:absolute;left:-37px;top:34px;width:11px;height:11px;border-radius:50%;background:var(--bg);border:1px solid var(--accent);transition:all .3s}.timeline-item:hover:before{background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.timeline-item.current:before{background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);animation:pulse-dot 2.4s infinite}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 4px var(--accent-soft)}50%{box-shadow:0 0 0 8px #d4ff3a0a}}.timeline-date{font-family:var(--mono);font-size:11px;color:var(--accent);text-transform:uppercase;letter-spacing:.15em;margin-bottom:8px;display:flex;align-items:center;gap:12px}.timeline-date .divider{flex:1;height:1px;background:var(--line);max-width:40px}.timeline-date .location{color:var(--ink-mute);font-size:10px}.timeline-role{font-family:var(--serif);font-size:26px;font-weight:400;line-height:1.2;margin-bottom:4px;letter-spacing:-.01em}.timeline-company{font-size:12px;color:var(--ink-dim);letter-spacing:.05em;display:flex;align-items:center;gap:8px}.timeline-company .tag{font-family:var(--mono);font-size:10px;color:var(--ink-mute);border:1px solid var(--line-hot);padding:2px 8px;text-transform:uppercase;letter-spacing:.1em}.projects{display:grid;grid-template-columns:1fr 1fr;gap:24px}.project-card{background:var(--bg-card);border:1px solid var(--line);padding:40px 32px;position:relative;overflow:hidden;transition:all .4s;cursor:default}.project-card:nth-child(3n+1){grid-column:span 2}.project-card:nth-child(5n+1){--proj-color: var(--accent);--proj-soft: var(--accent-soft)}.project-card:nth-child(5n+2){--proj-color: var(--cyan);--proj-soft: var(--cyan-soft)}.project-card:nth-child(5n+3){--proj-color: var(--coral);--proj-soft: var(--coral-soft)}.project-card:nth-child(5n+4){--proj-color: var(--violet);--proj-soft: var(--violet-soft)}.project-card:nth-child(5n+5){--proj-color: var(--amber);--proj-soft: rgba(251, 191, 110, .12)}.project-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,var(--proj-color, var(--accent)),transparent);transform:translate(-100%);transition:transform .8s}.project-card:after{content:"";position:absolute;top:0;left:0;width:40px;height:2px;background:var(--proj-color, var(--accent))}.project-card:hover:before{transform:translate(100%)}.project-card:hover{border-color:var(--proj-color, var(--line-hot));background:var(--bg-elev);box-shadow:0 10px 40px -20px var(--proj-soft, transparent)}.project-card:hover .project-date{color:var(--proj-color, var(--accent))}.project-card:hover .project-title{color:var(--proj-color, var(--ink));transition:color .3s}.project-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:20px;border-bottom:1px dashed var(--line)}.project-index{font-family:var(--mono);font-size:11px;color:var(--ink-mute);letter-spacing:.15em}.project-date{font-family:var(--mono);font-size:11px;color:var(--accent);letter-spacing:.1em}.project-title{font-family:var(--serif);font-size:32px;font-weight:400;line-height:1.1;margin-bottom:16px;letter-spacing:-.02em}.project-card:nth-child(3n+1) .project-title{font-size:44px}.project-desc{font-size:13px;color:var(--ink-dim);line-height:1.7;margin-bottom:24px}.project-stack{display:flex;flex-wrap:wrap;gap:6px}.stack-tag{font-family:var(--mono);font-size:10px;padding:4px 10px;border:1px solid var(--line-hot);color:var(--ink-dim);letter-spacing:.1em;text-transform:uppercase;transition:all .2s}.stack-tag:hover{color:var(--accent);border-color:var(--accent)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:80px}.stat{background:var(--bg);padding:40px 32px;text-align:left;position:relative;overflow:hidden;transition:background .3s}.stat:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 100% 0%,var(--stat-glow, var(--accent-soft)) 0%,transparent 60%);opacity:.6;pointer-events:none}.stat:hover{background:var(--bg-elev)}.stat:nth-child(1){--stat-color: var(--accent);--stat-glow: var(--accent-soft)}.stat:nth-child(2){--stat-color: var(--cyan);--stat-glow: var(--cyan-soft)}.stat:nth-child(3){--stat-color: var(--coral);--stat-glow: var(--coral-soft)}.stat:nth-child(4){--stat-color: var(--violet);--stat-glow: var(--violet-soft)}.stat-value{font-family:var(--serif);font-size:56px;font-weight:400;color:var(--stat-color, var(--accent));line-height:1;letter-spacing:-.03em;position:relative}.stat-value em{font-style:italic;font-size:40px;color:var(--ink-dim)}.stat-label{margin-top:12px;font-size:11px;color:var(--ink-mute);text-transform:uppercase;letter-spacing:.15em;line-height:1.5;position:relative}.education{display:grid;grid-template-columns:1fr 1fr;gap:24px}.edu-card{border:1px solid var(--line);padding:32px;background:var(--bg-card);position:relative;transition:all .3s;overflow:hidden}.edu-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:var(--edu-color, var(--accent));opacity:.6}.edu-card:nth-child(1){--edu-color: var(--cyan)}.edu-card:nth-child(2){--edu-color: var(--violet)}.edu-card:hover{border-color:var(--edu-color);transform:translateY(-2px)}.edu-badge{position:absolute;top:32px;right:32px;font-family:var(--mono);font-size:10px;color:var(--edu-color, var(--accent));border:1px solid var(--edu-color, var(--accent));padding:4px 8px;letter-spacing:.15em}.edu-degree{font-family:var(--serif);font-size:22px;font-weight:400;margin-bottom:8px;padding-right:80px}.edu-school{font-size:13px;color:var(--ink-dim);margin-bottom:4px}.edu-date{font-size:11px;color:var(--ink-mute);text-transform:uppercase;letter-spacing:.15em}.contact{padding:140px 40px;text-align:center;border-top:1px solid var(--line);position:relative}.contact-kicker{font-size:11px;color:var(--accent);text-transform:uppercase;letter-spacing:.2em;margin-bottom:32px}.contact-title{font-family:var(--serif);font-size:clamp(48px,8vw,120px);font-weight:400;line-height:.95;letter-spacing:-.03em;margin-bottom:48px}.contact-title em{font-style:italic;background:linear-gradient(135deg,var(--accent) 0%,var(--cyan) 40%,var(--coral) 80%,var(--violet) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;background-size:200% 200%;animation:gradient-shift 6s ease infinite}.contact-email{display:inline-block;font-family:var(--serif);font-size:28px;color:var(--ink);text-decoration:none;padding:16px 0;border-bottom:1px solid var(--ink);transition:all .3s;font-style:italic}.contact-email:hover{color:var(--accent);border-color:var(--accent);letter-spacing:.02em}.contact-links{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin-top:60px}.contact-links a{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;background:var(--bg-card);border:1px solid var(--line);color:var(--ink-dim);text-decoration:none;font-family:var(--mono);font-size:12px;letter-spacing:.05em;transition:all .3s cubic-bezier(.16,1,.3,1)}.contact-links a:hover{color:var(--ink);border-color:var(--link-color, var(--accent));transform:translateY(-2px)}.contact-links a:hover svg{color:var(--link-color, var(--accent))}.contact-links a:nth-child(1){--link-color: var(--accent)}.contact-links a:nth-child(2){--link-color: var(--cyan)}.contact-links a:nth-child(3){--link-color: var(--coral)}.contact-links a:nth-child(4){--link-color: var(--violet)}.contact-links svg{width:15px;height:15px;color:var(--ink-mute);transition:color .3s;flex-shrink:0}footer{padding:24px 40px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:10px;color:var(--ink-mute);text-transform:uppercase;letter-spacing:.2em}@media (max-width: 1100px){.skills-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 900px){nav{padding:16px 20px}.nav-links{gap:16px;font-size:10px}.hero{padding:100px 20px 80px}.hero-main{grid-template-columns:1fr;gap:40px}.hero-photo{width:180px;height:180px;margin:0 auto}.hero-sub{grid-template-columns:1fr;gap:20px}.hero-contact{gap:8px;margin-top:28px;padding-top:24px}.hero-contact-item{padding:8px 12px;font-size:11px}.hero-contact-item .contact-text{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}section{padding:80px 20px}.section-head{grid-template-columns:1fr;gap:20px;margin-bottom:48px}.skills-grid{grid-template-columns:1fr;gap:12px}.skill-card{min-height:auto}.projects{grid-template-columns:1fr}.project-card:nth-child(3n+1){grid-column:span 1}.project-card:nth-child(3n+1) .project-title{font-size:32px}.stats{grid-template-columns:repeat(2,1fr)}.education{grid-template-columns:1fr}.contact{padding:80px 20px}.contact-email{font-size:20px}.contact-links{gap:10px}footer{flex-direction:column;gap:8px;padding:20px;text-align:center}}.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:translateY(0)}
