*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--black:#000000;--dark-900:#0a0a0a;--dark-800:#1a1a1a;--dark-700:#2a2a2a;--dark-600:#3a3a3a;--purple-900:#1a0a2e;--purple-800:#2d1b4e;--purple-700:#4a2c6d;--purple-600:#6b21a8;--purple-500:#7c3aed;--purple-400:#9333ea;--purple-300:#a855f7;--purple-200:#c084fc;--purple-100:#e9d5ff;--fuchsia-500:#d946ef;--fuchsia-400:#e879f9;--gray-900:#18181b;--gray-800:#27272a;--gray-700:#3f3f46;--gray-600:#52525b;--gray-500:#71717a;--gray-400:#a1a1aa;--gray-300:#d4d4d8;--gray-200:#e4e4e7;--white:#ffffff;--gradient-purple:linear-gradient(135deg,#6b21a8,#9333ea 50%,#a855f7);--gradient-fuchsia:linear-gradient(135deg,#9333ea,#d946ef 50%,#e879f9);--gradient-dark:linear-gradient(180deg,#000000,#1a0a2e);--accent-ice:#7dd3fc;--accent-ice-dim:#38bdf8;--accent-ice-soft:rgba(125,211,252,0.55);--glass-bg:rgba(255,255,255,0.04);--glass-bg-hover:rgba(255,255,255,0.07);--glass-border:rgba(255,255,255,0.08);--glass-border-hover:rgba(125,211,252,0.35);--glass-blur:28px;--text-starlight:rgba(255,255,255,0.96);--text-mist:rgba(255,255,255,0.74);--text-fog:rgba(255,255,255,0.48);--container-max:1280px;--section-padding:120px;--transition-fast:0.2s ease;--transition-normal:0.3s ease;--transition-slow:0.5s ease}html{scroll-behavior:smooth;scroll-padding-top:80px}body,html{overflow-x:clip}body{font-family:var(--font-space),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.6;background:var(--black);color:var(--gray-200)}h1,h2,h3,h4,h5,h6{font-family:var(--font-archivo),var(--font-space),-apple-system,sans-serif;line-height:1.2;font-weight:700;color:var(--white)}a{text-decoration:none;color:inherit;transition:var(--transition-normal)}:focus-visible{outline:2px solid var(--accent-ice);outline-offset:2px;border-radius:4px}.skip-link{position:fixed;top:8px;left:8px;z-index:10000;padding:10px 16px;border-radius:8px;background:var(--glass-bg-hover);border:1px solid var(--accent-ice);backdrop-filter:blur(20px) saturate(140%);color:var(--text-starlight);font-weight:600;font-size:14px;transform:translateY(-150%);transition:transform .2s ease}.skip-link:focus{transform:translateY(0);outline:2px solid var(--accent-ice);outline-offset:2px}.container{max-width:var(--container-max);margin:0 auto;padding:0 24px}section{padding:var(--section-padding) 0;position:relative;z-index:1}header{position:fixed;top:0;left:0;right:0;z-index:1000;background:transparent;backdrop-filter:none;border-bottom:none;transition:background .5s ease,backdrop-filter .5s ease}header:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.18) 70%,transparent);pointer-events:none;z-index:-1;mask-image:linear-gradient(180deg,black 60%,transparent)}header.scrolled{background:rgba(4,7,15,.55);backdrop-filter:blur(24px) saturate(140%);border-bottom:1px solid var(--glass-border);box-shadow:0 1px 0 rgba(255,255,255,.03),0 8px 40px rgba(0,0,0,.5)}.header-content{justify-content:space-between;padding:20px 24px;max-width:var(--container-max);margin:0 auto}.header-content,.logo-holder{display:flex;align-items:center}.logo-holder{gap:12px;font-weight:600;color:var(--text-starlight)}.logo-holder:hover{opacity:.85}.logo{width:44px;height:44px;background:var(--glass-bg-hover);border:1px solid var(--accent-ice-soft);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:600;color:var(--accent-ice);letter-spacing:.04em;backdrop-filter:blur(14px) saturate(140%);box-shadow:0 0 0 1px rgba(125,211,252,.1),inset 0 0 14px rgba(125,211,252,.08)}.logo-text{font-size:18px}nav ul{display:flex;list-style:none;gap:8px;align-items:center}nav li .nav-ai-link,nav li a{padding:8px 16px;border-radius:8px;color:var(--text-mist);font-weight:500}nav li .nav-ai-link:hover,nav li a:hover{color:var(--accent-ice);background:rgba(125,211,252,.06)}.nav-ai-link{background:none;border:none;cursor:pointer;font-family:inherit;font-size:inherit;line-height:inherit;transition:var(--transition-normal)}nav li a.button{background:var(--glass-bg-hover);border:1px solid var(--accent-ice-soft);color:var(--text-starlight);padding:9px 22px;border-radius:10px;backdrop-filter:blur(16px) saturate(140%);box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 4px 18px rgba(0,0,0,.35)}nav li a.button:hover{border-color:var(--accent-ice);background:rgba(125,211,252,.1);box-shadow:0 0 0 1px rgba(125,211,252,.18),inset 0 0 18px rgba(125,211,252,.1)}.mobile-toggle{display:none;background:none;border:none;color:var(--text-mist);cursor:pointer;padding:10px;border-radius:8px;min-width:44px;min-height:44px;align-items:center;justify-content:center}.mobile-toggle:hover{background:rgba(125,211,252,.08);color:var(--accent-ice)}.button{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;border-radius:12px;font-weight:600;cursor:pointer;font-size:16px;position:relative;overflow:hidden;transition:background .25s ease,border-color .25s ease,box-shadow .3s ease,color .25s ease;backdrop-filter:blur(20px) saturate(140%)}.button.primary{background:var(--glass-bg-hover);border:1px solid var(--accent-ice);color:var(--text-starlight);box-shadow:0 0 0 1px rgba(125,211,252,.1),0 8px 28px rgba(0,0,0,.45)}.button.primary:hover{background:rgba(125,211,252,.1);border-color:var(--accent-ice);box-shadow:0 0 0 1px rgba(125,211,252,.3),inset 0 0 24px rgba(125,211,252,.15),0 10px 36px rgba(0,0,0,.5)}.button.secondary{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-mist)}.button.secondary:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);color:var(--text-starlight);box-shadow:inset 0 0 18px rgba(125,211,252,.08)}.reveal{opacity:0;transform:translateY(40px);transition:opacity .7s cubic-bezier(.23,1,.32,1),transform .7s cubic-bezier(.23,1,.32,1)}.reveal.from-left{transform:translateX(-50px)}.reveal.from-right{transform:translateX(50px)}.reveal.scale-in{transform:scale(.92) translateY(20px)}.reveal.visible{opacity:1;transform:none}.hero-modern{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;position:relative;padding:120px 24px 80px;background:transparent;overflow:hidden}.hero-modern:before{display:none}.hero-content{max-width:1320px;margin:0 auto;min-width:0;position:relative;z-index:1;width:100%;text-align:left}.hero-title{font-size:clamp(40px,10vw,152px);font-weight:800;line-height:.95;letter-spacing:-.035em;margin-bottom:24px;overflow:visible;overflow-wrap:normal}.hero-word-group{display:inline-block;white-space:nowrap}.name-highlight{color:var(--text-starlight);display:inline-block;transform-origin:center;animation:name-breath 30s ease-in-out infinite;will-change:opacity,filter,transform}@keyframes name-breath{0%,85%,to{opacity:.85;transform:scale(1);filter:drop-shadow(0 0 0 rgba(125,211,252,0))}93%{opacity:1;transform:scale(1.008);filter:drop-shadow(0 0 32px rgba(125,211,252,.45))}}.hero-text{position:relative}.hero-letter{display:inline-block;opacity:0;animation:letter-assemble 1s cubic-bezier(.22,1,.36,1) forwards}@keyframes letter-assemble{0%{opacity:0;transform:translate(var(--lx),var(--ly)) scale(.4) rotate(var(--lr));filter:blur(8px)}55%{opacity:.92;filter:blur(.4px)}70%{opacity:.96;transform:translate(0) scale(1.012) rotate(0deg);filter:blur(0)}82%{opacity:1;transform:translate(0) scale(.998) rotate(0deg);filter:blur(0)}to{opacity:1;transform:translate(0) scale(1) rotate(0deg);filter:blur(0)}}.hero-subtitle{font-size:clamp(20px,2.3vw,30px);color:var(--accent-ice);margin-bottom:28px;font-weight:500;letter-spacing:.01em;border-right:2px solid rgba(125,211,252,.7);white-space:nowrap;overflow:hidden;width:0;animation:cursor-blink .9s step-end infinite;transition:width .05s}.hero-subtitle.typing-done{border-right-color:transparent;animation:none;width:auto;white-space:normal}@keyframes cursor-blink{0%,to{border-right-color:rgba(125,211,252,.7)}50%{border-right-color:transparent}}.hero-word{display:inline-block;opacity:0;filter:blur(6px);animation:word-reveal .5s cubic-bezier(.22,1,.36,1) forwards}@keyframes word-reveal{0%{opacity:0;filter:blur(6px);transform:translateY(10px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}.hero-description{font-size:18px;color:var(--text-mist);max-width:640px;margin-bottom:36px;line-height:1.75}.hero-cta{margin-bottom:40px;flex-wrap:wrap}.hero-cta,.hero-social{display:flex;gap:16px}.hero-social a{width:48px;height:48px;border-radius:12px;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(140%);border:1px solid var(--glass-border);display:flex;align-items:center;justify-content:center;color:var(--text-mist);transition:background .25s ease,border-color .25s ease,color .25s ease,box-shadow .3s ease}.hero-social a:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);color:var(--accent-ice);box-shadow:inset 0 0 18px rgba(125,211,252,.1)}.section-header{text-align:center;margin-bottom:60px}.section-label{display:inline-block;font-family:var(--font-space),monospace;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.22em;color:var(--text-fog);border-bottom:1px solid var(--glass-border);padding:0 0 6px;margin-bottom:18px}.section-title{font-size:56px;font-weight:700;color:var(--text-starlight);-webkit-background-clip:initial;-webkit-text-fill-color:initial;background:none;letter-spacing:-.02em}.about-section{background:transparent;padding-top:80px}.about-content{max-width:820px;margin:0 auto}.about-text h3{font-size:32px;margin-bottom:24px;color:var(--text-starlight);font-weight:600}.about-text p{color:var(--text-mist);font-size:16px;line-height:1.8;margin-bottom:20px}.about-stack{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:32px 0 8px;padding:18px 22px;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(140%);border:1px solid var(--glass-border);border-radius:16px}.about-stack-label{font-family:var(--font-space),monospace;font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--text-fog);white-space:nowrap}.about-stack-tags{display:flex;flex-wrap:wrap;gap:8px}.about-stack-tag{padding:5px 12px;background:var(--glass-bg-hover);border:1px solid var(--glass-border);border-radius:14px;color:var(--text-mist);font-size:13px;font-weight:500;white-space:nowrap}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}.stat-card{text-align:center;padding:28px 24px;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(140%);border:1px solid var(--glass-border);border-radius:16px;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease}.stat-card:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);box-shadow:inset 0 0 24px rgba(125,211,252,.06)}.stat-card h4{font-size:36px;font-weight:300;color:var(--accent-ice);letter-spacing:-.02em;margin-bottom:8px}.stat-card p{color:var(--text-fog);font-size:12px;font-family:var(--font-space),monospace;text-transform:uppercase;letter-spacing:.16em;margin:0}.experience-section{background:transparent}.timeline{max-width:900px;margin:0 auto;position:relative}.timeline:before{content:"";position:absolute;left:30px;top:0;bottom:0;width:1px;background:linear-gradient(180deg,transparent,rgba(125,211,252,.35) 15%,rgba(125,211,252,.5) 50%,rgba(125,211,252,.25) 85%,transparent)}.timeline-item{position:relative;padding-left:80px;margin-bottom:60px}.timeline-dot{position:absolute;left:21px;top:0;width:20px;height:20px;border-radius:50%;background:var(--accent-ice);border:4px solid rgba(0,0,0,.6);box-shadow:0 0 18px rgba(125,211,252,.55),0 0 0 1px rgba(125,211,252,.25)}.timeline-content{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(140%);border:1px solid var(--glass-border);border-radius:20px;padding:32px;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease}.timeline-content:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);box-shadow:inset 0 0 24px rgba(125,211,252,.06)}.timeline-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:20px;gap:20px}.timeline-header h3{font-size:22px;color:var(--text-starlight);margin-bottom:6px;font-weight:600}.timeline-header h4{font-size:15px;color:var(--accent-ice);letter-spacing:.04em}.timeline-date,.timeline-header h4{font-weight:500;font-family:var(--font-space),monospace}.timeline-date{padding:5px 14px;background:var(--glass-bg-hover);border:1px solid var(--glass-border);border-radius:20px;color:var(--text-mist);font-size:12px;letter-spacing:.06em;white-space:nowrap}.timeline-list{list-style:none;padding:0}.timeline-list li{padding-left:24px;margin-bottom:10px;color:var(--text-mist);position:relative}.timeline-list li:before{content:"→";position:absolute;left:0;color:var(--accent-ice);font-weight:600}.projects-section{background:transparent}.projects-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:22px}.project-card.size-lg{grid-column:span 2;grid-row:span 2}.project-card.size-wide{grid-column:span 2;grid-row:span 1}.project-card.size-sm{grid-column:span 1;grid-row:span 1}.project-card.size-lg .project-content{padding:36px}.project-card.size-lg h3{font-size:28px}.project-card.size-lg p{font-size:16px}.project-card.size-lg .project-index{font-size:96px;top:8px;right:24px}.project-card.size-lg:before{background:radial-gradient(40% 60% at 80% 70%,hsla(var(--hue,170),55%,60%,.18),transparent 72%),radial-gradient(40% 60% at 18% 22%,hsla(calc(var(--hue,170) + 30),55%,60%,.12),transparent 72%)}.project-card.size-wide .project-content{padding:28px}.project-card.size-wide h3{font-size:22px}.project-card{position:relative;display:flex;overflow:hidden;border-radius:22px;border:1px solid var(--glass-border);background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(140%);transition:background .3s ease,border-color .3s ease,box-shadow .3s ease}.project-card:before{inset:-35%;background:radial-gradient(46% 52% at 22% 22%,hsla(var(--hue,170),55%,60%,.18),transparent 70%),radial-gradient(50% 56% at 82% 80%,hsla(calc(var(--hue,170) + 32),55%,60%,.14),transparent 72%);filter:blur(24px);opacity:.7;transition:opacity .5s ease}.project-card:after,.project-card:before{content:"";position:absolute;z-index:0;pointer-events:none}.project-card:after{inset:0;background:linear-gradient(180deg,rgba(255,255,255,.04),transparent 28%),linear-gradient(180deg,transparent 50%,rgba(0,0,0,.22))}@keyframes aurora-drift{0%{transform:translate3d(-4%,-3%,0) rotate(0deg) scale(1)}to{transform:translate3d(5%,4%,0) rotate(8deg) scale(1.14)}}.project-card:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);box-shadow:inset 0 0 28px rgba(125,211,252,.06)}.project-card:hover:before{opacity:1;animation:aurora-drift 16s ease-in-out infinite alternate}.project-index{position:absolute;top:16px;right:22px;z-index:1;font-size:46px;font-weight:300;line-height:1;letter-spacing:-1px;color:rgba(255,255,255,.1);pointer-events:none}.project-content{position:relative;z-index:1;display:flex;flex-direction:column;width:100%;height:100%;padding:26px}.project-badge{align-self:flex-start;margin-bottom:14px;padding:4px 12px;border-radius:20px;font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-ice);background:rgba(125,211,252,.08);border:1px solid var(--glass-border)}.project-tags{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}.project-tags span{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500;color:var(--text-mist);background:var(--glass-bg-hover);border:1px solid var(--glass-border)}.project-content h3{font-size:21px;margin-bottom:10px;color:var(--text-starlight)}.project-content p{color:var(--text-mist);margin-bottom:16px;line-height:1.7;font-size:15px}.project-github{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:6px;color:var(--accent-ice);font-weight:500;font-size:14px;transition:color .25s ease,transform .25s ease}.project-github:hover{color:var(--text-starlight);transform:translateX(4px)}.contact-section{background:transparent}.contact-content{max-width:720px;margin:0 auto}.contact-info h3{font-size:30px;margin-bottom:14px;color:var(--text-starlight);font-weight:600}.contact-info p{color:var(--text-mist);margin-bottom:14px;line-height:1.8}.contact-methods{display:flex;flex-direction:column;gap:14px;margin-top:28px}.contact-method{display:flex;align-items:center;gap:16px;padding:18px;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(140%);border:1px solid var(--glass-border);border-radius:16px;transition:background .3s ease,border-color .3s ease,box-shadow .3s ease}.contact-method:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);box-shadow:inset 0 0 22px rgba(125,211,252,.06)}.contact-method svg{flex-shrink:0;color:var(--accent-ice)}.contact-method h4{font-size:15px;margin-bottom:3px;color:var(--text-starlight);font-weight:600}.contact-method p{font-size:13px;color:var(--text-mist);margin:0}.contact-method .contact-method-body{flex:1;min-width:0}.email-copy-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:8px;background:var(--glass-bg-hover);border:1px solid var(--glass-border-hover);color:var(--text-starlight);font-family:inherit;font-size:12px;font-weight:500;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease}.email-copy-btn:hover{background:rgba(125,211,252,.12);border-color:var(--accent-ice)}.email-copy-btn svg{color:currentColor}.email-copy-btn[aria-label="Email copied"]{background:rgba(22,101,52,.55);border-color:rgba(34,197,94,.65);color:var(--white)}.contact-cta{margin:28px 0 32px;font-size:16px}.chat-avatar{width:40px;height:40px;background:rgba(255,255,255,.14);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-starlight)}.message{display:flex;gap:10px;align-items:flex-start}.message.user{flex-direction:row-reverse}.message-avatar{width:34px;height:34px;border-radius:50%;background:var(--glass-bg-hover);border:1px solid var(--glass-border);display:flex;align-items:center;justify-content:center;color:var(--accent-ice);flex-shrink:0}.message.user .message-avatar{background:rgba(125,211,252,.18);border-color:var(--accent-ice-soft);color:var(--text-starlight)}.message-content{max-width:72%;padding:11px 15px;border-radius:12px;background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(14px) saturate(140%)}.message.user .message-content{background:rgba(125,211,252,.12);border:1px solid var(--accent-ice-soft)}.message-content p{color:var(--text-mist);margin:0;font-size:14px;line-height:1.6}.message.user .message-content p{color:var(--text-starlight)}.message-content>*+*{margin-top:8px}.message-content ol,.message-content ul{margin:0;padding-left:18px}.message-content li{color:var(--text-mist);font-size:14px;line-height:1.6;margin:2px 0}.message.user .message-content li{color:var(--text-starlight)}.message-content .md-heading,.message-content strong{font-weight:700;color:var(--text-starlight)}.message-content .md-heading{font-size:14.5px}.message-content code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;background:rgba(255,255,255,.06);padding:1px 5px;border-radius:5px}.typing-indicator{display:flex;gap:5px;align-items:center;padding:4px 0}.typing-dot{width:7px;height:7px;background:var(--accent-ice);border-radius:50%;animation:typing 1.2s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typing{0%,to{transform:translateY(0);opacity:.5}50%{transform:translateY(-6px);opacity:1}}.float-chat-input input:disabled{opacity:.6;cursor:not-allowed}.float-send:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.prompt-chips{display:flex;flex-wrap:wrap;gap:8px;padding:0 20px 16px;background:transparent}.prompt-chip{padding:7px 14px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:16px;color:var(--text-mist);font-size:13px;font-weight:500;font-family:inherit;line-height:1.2;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.prompt-chip:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);color:var(--accent-ice)}.float-prompt-chips{padding:0 16px 12px;background:transparent}#float-chat-btn{position:fixed;bottom:24px;right:24px;z-index:9000;width:52px;height:52px;border-radius:50%;background:var(--glass-bg-hover);backdrop-filter:blur(20px) saturate(140%);box-shadow:0 4px 18px rgba(0,0,0,.45),0 0 0 1px var(--glass-border);border:1px solid var(--glass-border);cursor:pointer;color:var(--accent-ice);display:flex;align-items:center;justify-content:center;opacity:.82;transition:box-shadow .3s ease,background .25s ease,border-color .25s ease,opacity .25s ease,color .25s ease}#float-chat-btn:hover{opacity:1;background:rgba(125,211,252,.12);border-color:var(--accent-ice);color:var(--text-starlight);box-shadow:0 8px 36px rgba(125,211,252,.3),inset 0 0 18px rgba(125,211,252,.1)}#float-chat-btn:focus-visible{opacity:1;border-color:var(--accent-ice);box-shadow:0 6px 28px rgba(125,211,252,.3)}#float-chat-panel{position:fixed;bottom:108px;right:32px;z-index:8999;width:360px;height:480px;background:rgba(8,12,22,.55);backdrop-filter:blur(28px) saturate(140%);border:1px solid var(--glass-border);border-radius:20px;display:flex;flex-direction:column;box-shadow:0 30px 80px rgba(0,0,0,.7),0 0 0 1px rgba(125,211,252,.08);transform:translateY(30px) scale(.92);opacity:0;pointer-events:none;transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .3s ease}#float-chat-panel.open{transform:translateY(0) scale(1);opacity:1;pointer-events:all}.float-chat-header{padding:16px 20px;background:linear-gradient(180deg,rgba(125,211,252,.1),rgba(125,211,252,.02));border-bottom:1px solid var(--glass-border);border-radius:20px 20px 0 0;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.float-chat-header-left{display:flex;align-items:center;gap:10px}.float-chat-header h4{color:var(--text-starlight);font-size:15px;margin:0;font-weight:600}.float-chat-close{width:36px;height:36px;border-radius:50%;border:1px solid var(--glass-border);cursor:pointer;background:var(--glass-bg);color:var(--text-mist);display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s,border-color .2s;font-size:14px}.float-chat-close:hover{background:var(--glass-bg-hover);color:var(--text-starlight);border-color:var(--glass-border-hover)}.float-chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;scrollbar-width:thin;scrollbar-color:var(--accent-ice-soft) transparent}.float-chat-messages::-webkit-scrollbar{width:5px}.float-chat-messages::-webkit-scrollbar-track{background:transparent}.float-chat-messages::-webkit-scrollbar-thumb{background:var(--accent-ice-soft);border-radius:3px}.float-chat-input{padding:12px 16px;border-top:1px solid var(--glass-border);background:transparent;display:flex;gap:10px;flex-shrink:0}.float-chat-input input{flex:1;padding:10px 14px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;color:var(--text-starlight);font-size:13px;outline:none;font-family:inherit;transition:border-color .2s,background .2s}.float-chat-input input:focus{border-color:var(--accent-ice);background:var(--glass-bg-hover)}.float-chat-input input::placeholder{color:var(--text-fog)}.float-send{width:38px;height:38px;background:var(--glass-bg-hover);border:1px solid var(--accent-ice-soft);border-radius:10px;color:var(--accent-ice);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease;flex-shrink:0}.float-send:hover{background:rgba(125,211,252,.16);border-color:var(--accent-ice);color:var(--text-starlight);box-shadow:inset 0 0 14px rgba(125,211,252,.18)}.footer{background:linear-gradient(180deg,transparent,rgba(2,4,10,.72) 30%);backdrop-filter:blur(8px);border-top:1px solid var(--glass-border);padding:80px 0 30px;position:relative;z-index:1}.footer-content{display:grid;grid-template-columns:2fr 3fr;gap:60px;margin-bottom:40px}.footer-left{display:flex;flex-direction:column;gap:16px}.footer-logo{display:flex;align-items:center;gap:12px;margin-bottom:8px}.footer-logo .logo{width:40px;height:40px;font-size:16px}.footer-logo span{font-size:20px;font-weight:700;color:var(--text-starlight)}.footer-left p{color:var(--text-mist);max-width:300px}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.footer-column{display:flex;flex-direction:column;gap:10px}.footer-column h4{color:var(--text-fog);font-size:11px;margin-bottom:6px;font-family:var(--font-space),monospace;text-transform:uppercase;letter-spacing:.22em;font-weight:500}.footer-column a{color:var(--text-mist);font-size:14px;transition:color .25s ease}.footer-column a:hover{color:var(--accent-ice)}.footer-bottom{padding-top:28px;border-top:1px solid var(--glass-border);display:flex;justify-content:space-between;align-items:center;color:var(--text-fog);font-size:13px;font-family:var(--font-space),monospace;letter-spacing:.04em}@media (max-width:1024px){:root{--section-padding:80px}.section-title{font-size:40px}.projects-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:200px}.project-card.size-lg{grid-column:span 2;grid-row:span 2}.project-card.size-wide{grid-column:span 2}.project-card.size-sm{grid-column:span 1}.footer-content{grid-template-columns:1fr}.footer-links{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){:root{--section-padding:60px}nav ul{display:none;position:fixed;top:72px;left:0;right:0;background:rgba(4,7,15,.92);flex-direction:column;padding:20px;backdrop-filter:blur(20px) saturate(140%);border-bottom:1px solid var(--glass-border)}nav ul.active{display:flex}.mobile-toggle{display:block}.hero-cta{flex-direction:column;align-items:stretch}.hero-cta .button{justify-content:center}.section-title{font-size:30px}.stats-grid{grid-template-columns:1fr;gap:14px}.projects-grid{grid-template-columns:1fr;grid-auto-rows:auto}.project-card.size-lg,.project-card.size-sm,.project-card.size-wide{grid-column:1;grid-row:auto;min-height:200px}.project-card.size-lg{min-height:280px}.project-card.size-lg .project-content{padding:26px}.project-card.size-lg h3{font-size:22px}.project-card.size-lg .project-index{font-size:72px;top:4px;right:18px}.project-card.size-wide .project-content{padding:22px}.timeline-header{flex-direction:column;align-items:flex-start;gap:10px}.timeline-date{align-self:flex-start}.footer-bottom{flex-direction:column;gap:12px;text-align:center}#float-chat-panel{width:calc(100vw - 32px);right:16px;bottom:100px}#float-chat-btn{bottom:24px;right:16px}}@media (max-width:480px){:root{--section-padding:48px}.container{padding:0 16px}.header-content{padding:16px}.logo,.logo-text{font-size:16px}.logo{width:40px;height:40px}.hero-modern{padding:100px 16px 56px}.section-title{font-size:26px}.section-label{font-size:12px;padding:6px 14px}.section-header{margin-bottom:36px}.timeline:before{left:18px}.timeline-dot{left:9px;width:18px;height:18px;border-width:3px}.timeline-item{padding-left:44px;margin-bottom:32px}.timeline-content{padding:20px;border-radius:16px}.timeline-header h3{font-size:18px}.timeline-header h4{font-size:15px}.timeline-list li{padding-left:18px;font-size:14px}.about-text h3{font-size:24px}.about-stack{padding:14px 16px;gap:10px}.about-stack-label{font-size:11px}.about-stack-tag{font-size:12px;padding:4px 10px}.stat-card{padding:18px;border-radius:14px}.stat-card h4{font-size:36px}.contact-info h3{font-size:24px}.contact-method{padding:14px;gap:12px;border-radius:14px}.contact-method h4{font-size:14px}.contact-method p{font-size:12px}.footer-links{grid-template-columns:1fr;gap:24px}.footer{padding:56px 0 24px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important}}@font-face{font-family:Archivo;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b06b356f834173cc-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Archivo;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/23d669af23d19c95-s.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}@font-face{font-family:Archivo;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/_next/static/media/1a4aa50920b5315c-s.p.woff2) format("woff2");unicode-range:u+00??,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:Archivo;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b06b356f834173cc-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Archivo;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/23d669af23d19c95-s.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}@font-face{font-family:Archivo;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/_next/static/media/1a4aa50920b5315c-s.p.woff2) format("woff2");unicode-range:u+00??,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:Archivo;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b06b356f834173cc-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Archivo;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/23d669af23d19c95-s.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}@font-face{font-family:Archivo;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/_next/static/media/1a4aa50920b5315c-s.p.woff2) format("woff2");unicode-range:u+00??,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:Archivo;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b06b356f834173cc-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Archivo;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/23d669af23d19c95-s.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}@font-face{font-family:Archivo;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(/_next/static/media/1a4aa50920b5315c-s.p.woff2) format("woff2");unicode-range:u+00??,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:Archivo;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b06b356f834173cc-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Archivo;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/23d669af23d19c95-s.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}@font-face{font-family:Archivo;font-style:normal;font-weight:800;font-stretch:100%;font-display:swap;src:url(/_next/static/media/1a4aa50920b5315c-s.p.woff2) format("woff2");unicode-range:u+00??,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:Archivo Fallback;src:local("Arial");ascent-override:88.96%;descent-override:21.28%;line-gap-override:0.00%;size-adjust:98.70%}.__className_9b68a8{font-family:Archivo,Archivo Fallback;font-style:normal}.__variable_9b68a8{--font-archivo:"Archivo","Archivo Fallback"}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.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}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,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:400;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.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}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,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:500;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.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}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,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:600;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.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}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,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:700;font-display:swap;src:url(/_next/static/media/e1aab0933260df4d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b7387a63dd068245-s.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}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/36966cca54120369-s.p.woff2) format("woff2");unicode-range:u+00??,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 Fallback;src:local("Arial");ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.00%;size-adjust:109.69%}.__className_c22fe1{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.__variable_c22fe1{--font-space:"Space Grotesk","Space Grotesk Fallback"}