.navbar{align-items:center;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background-color:color-mix(in srgb,var(--bg-base) 70%,#0000);border-bottom:1px solid #0000;display:flex;gap:16px;left:0;padding:14px 24px;position:fixed;right:0;top:0;transition:background-color var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base);z-index:1000}.navbar.scrolled{background-color:color-mix(in srgb,var(--bg-base) 88%,#0000);border-bottom-color:var(--surface-border);box-shadow:var(--shadow-sm)}.navbar-brand{align-items:center;display:flex;flex:0 0 auto}.logo{color:var(--text-primary);font-family:Orbitron,sans-serif;font-size:19px;font-weight:700;letter-spacing:.5px;text-decoration:none;white-space:nowrap}.logo .highlight{color:var(--accent);font-weight:900;text-shadow:0 0 12px rgba(var(--accent-rgb),.5)}.navbar-actions{align-items:center;display:flex;flex:0 0 auto;gap:8px}.theme-toggle{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;display:inline-grid;height:38px;place-items:center;transition:transform var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);width:38px}.theme-toggle:hover{border-color:rgba(var(--accent-rgb),.4);color:var(--accent);transform:translateY(-1px)}.toggle{align-items:center;background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;display:none;justify-content:center;padding:7px;transition:all var(--transition-fast)}.toggle:hover{border-color:rgba(var(--accent-rgb),.4);color:var(--accent)}.navbar-links{align-items:center;display:flex;flex:1 1 auto;flex-wrap:nowrap;gap:4px;justify-content:center;min-width:0}.navbar-links a{color:var(--text-secondary);font-size:.92rem;font-weight:500;padding:6px 10px;position:relative;text-decoration:none;transition:color var(--transition-fast);white-space:nowrap}.navbar-links a:after{background:var(--accent);bottom:0;content:"";height:2px;left:10px;position:absolute;right:10px;transform-origin:left;transition:width var(--transition-base);width:0}.navbar-links a:hover{color:var(--text-primary)}.navbar-links a:hover:after{width:calc(100% - 20px)}.navbar-links a.active{color:var(--accent)}.navbar-links a.active:after{width:calc(100% - 20px)}.scroll-progress{background:var(--accent);bottom:0;height:2px;left:0;position:absolute;right:0;transform-origin:left}@media (max-width:1024px){.toggle{display:inline-grid;height:38px;place-items:center;position:relative;width:38px;z-index:1100}.navbar-links{align-items:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background-color:color-mix(in srgb,var(--bg-base) 92%,#0000);border-bottom:1px solid var(--surface-border);border-radius:0 0 16px 16px;display:none;flex:0 0 auto;flex-direction:column;left:0;padding:.75rem 0;position:absolute;top:100%;width:100%}.navbar-links.open{display:flex}.navbar-links a:after{display:none}}.landing{align-items:center;background:var(--bg-base);display:flex;justify-content:center;min-height:100vh;overflow:hidden;position:relative}.landing-backdrop{inset:0;position:absolute;z-index:0}.landing-orb{background:radial-gradient(circle,rgba(var(--accent-rgb),.55),#0000 70%);border-radius:50%;filter:blur(90px);opacity:.35;position:absolute}.orb-a{animation:drift-a 26s ease-in-out infinite;height:46vw;left:-10%;top:-12%;width:46vw}.orb-b{animation:drift-b 30s ease-in-out infinite;bottom:-14%;height:38vw;right:-8%;width:38vw}@keyframes drift-a{0%,to{transform:translate(0)}50%{transform:translate(6%,8%)}}@keyframes drift-b{0%,to{transform:translate(0)}50%{transform:translate(-6%,-6%)}}.landing-floater{animation:floater-drift ease-in-out infinite;border:1px solid rgba(var(--accent-rgb),.3);border-radius:50%;position:absolute}.floater-1{animation-duration:16s;height:64px;left:16%;top:22%;width:64px}.floater-2{animation-delay:-4s;animation-duration:12s;height:32px;left:80%;top:68%;width:32px}.floater-3{animation-delay:-8s;animation-duration:20s;height:90px;left:10%;top:78%;width:90px}@keyframes floater-drift{0%,to{transform:translate(0) rotate(0deg)}50%{transform:translate(14px,-20px) rotate(12deg)}}.landing-glitter{inset:0;position:absolute}.glitter-dot{animation-iteration-count:infinite;animation-name:glitter-twinkle;animation-timing-function:ease-in-out;background:var(--accent);border-radius:50%;box-shadow:0 0 6px rgba(var(--accent-rgb),.9);opacity:0;position:absolute}@keyframes glitter-twinkle{0%,to{opacity:0}50%{opacity:.85}}.landing-grain{background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%27120%27 height=%27120%27><filter id=%27n%27><feTurbulence type=%27fractalNoise%27 baseFrequency=%270.9%27 numOctaves=%272%27 stitchTiles=%27stitch%27/></filter><rect width=%27100%25%27 height=%27100%25%27 filter=%27url%28%23n%29%27/></svg>");inset:0;mix-blend-mode:overlay;opacity:.05;position:absolute}.landing-content{max-width:900px;padding:2rem;position:relative;text-align:center;z-index:1}.landing-eyebrow{color:var(--accent);display:inline-block;font-family:var(--font-accent);font-size:.8rem;font-weight:600;letter-spacing:.35em;margin-bottom:var(--space-3);text-transform:uppercase}.landing-name{background:linear-gradient(135deg,var(--text-primary),var(--accent) 75%);-webkit-background-clip:text;background-clip:text;color:#0000;font-family:var(--font-display);font-size:clamp(2.75rem,10vw,6.5rem);font-weight:600;letter-spacing:-.02em;line-height:1.05;margin:0 0 var(--space-2)}.landing-letter{display:inline-block}.landing-role{color:var(--text-secondary);font-family:var(--font-accent);font-size:clamp(1rem,2.4vw,1.3rem);margin:0 0 var(--space-5)}.landing-enter{align-items:center;background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-pill);color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:.6rem;padding:.9rem 1.9rem;transition:border-color var(--transition-fast),color var(--transition-fast),background var(--transition-fast)}.landing-enter:focus-visible,.landing-enter:hover{background:rgba(var(--accent-rgb),.08);border-color:rgba(var(--accent-rgb),.5);color:var(--accent);outline:none}@media (max-width:480px){.landing-content{padding:1.5rem}}.portfolio-agent{bottom:20px;display:flex;flex-direction:column;font-family:var(--font-body);position:fixed;right:20px;z-index:9999}.portfolio-agent.closed{height:66px;width:66px}.portfolio-agent.open{animation:fadeIn .3s var(--ease) forwards;-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);background:var(--bg-elevated);border:1px solid var(--surface-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:flex;flex-direction:column;height:500px;overflow:hidden;width:360px}.floating-bubble{align-items:center;background:var(--accent);border-radius:50%;box-shadow:var(--shadow-md),0 0 0 0 rgba(var(--accent-rgb),.5);color:var(--accent-contrast);cursor:pointer;display:flex;font-size:1.6rem;height:66px;justify-content:center;transition:transform var(--transition-fast),box-shadow var(--transition-fast);width:66px}.floating-bubble:hover{box-shadow:var(--shadow-md),0 0 24px rgba(var(--accent-rgb),.5);transform:scale(1.08)}.chat-header{align-items:center;background:var(--accent);border:none;color:var(--accent-contrast);cursor:pointer;display:flex;font-size:1rem;font-weight:700;justify-content:space-between;padding:14px 16px}.chat-header:hover{filter:brightness(1.05)}.chat-window{display:flex;flex:1 1;flex-direction:column;gap:10px;overflow-y:auto;padding:12px;scrollbar-width:thin}.chat-message{word-wrap:break-word;animation:messageFade .3s var(--ease) forwards;border-radius:var(--radius-md);font-size:.95rem;line-height:1.4;max-width:85%;padding:8px 14px}.chat-message.ai{align-self:flex-start;background:var(--surface);border:1px solid var(--surface-border);color:var(--text-primary)}.chat-message.user{align-self:flex-end;background:var(--accent);color:var(--accent-contrast);font-weight:500}.chat-input{background:var(--bg-elevated);border-top:1px solid var(--surface-border);display:flex;gap:8px;padding:10px}.chat-input input{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-md);color:var(--text-primary);flex:1 1;font-size:.95rem;padding:10px 12px;transition:border-color var(--transition-fast)}.chat-input input:focus{border-color:var(--accent);outline:none}.chat-input button{background:var(--accent);border:none;border-radius:var(--radius-sm);color:var(--accent-contrast);cursor:pointer;font-size:1.1rem;padding:0 14px;transition:transform var(--transition-fast)}.chat-input button:hover{transform:scale(1.06)}.voice-wrap{align-items:center;display:inline-flex;gap:6px}.voice-wrap button{align-items:center;background:var(--surface);border:1px solid var(--surface-border);border-radius:50%;color:var(--text-primary);cursor:pointer;display:flex;font-size:1.05rem;height:40px;justify-content:center;transition:box-shadow var(--transition-fast),transform var(--transition-fast);width:40px}.voice-wrap button:hover{border-color:rgba(var(--accent-rgb),.5)}.voice-wrap button.listening{animation:pulseGlow 1.4s infinite;background:var(--accent);color:var(--accent-contrast)}.voice-hint{color:var(--text-tertiary);font-size:.78rem;-webkit-user-select:none;user-select:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes messageFade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 0 0 rgba(var(--accent-rgb),.5)}50%{box-shadow:0 0 0 8px rgba(var(--accent-rgb),0)}}@media (max-width:1024px){.portfolio-agent.open{bottom:15px;height:60%;right:10%;width:80%}}@media (max-width:768px){.portfolio-agent.open{bottom:10px;height:60%;right:2.5%;width:95%}}@media (max-width:480px){.portfolio-agent.open{bottom:5px;height:55%;right:1%;width:98%}}.quick-chips{background:var(--bg-elevated);border-top:1px solid var(--surface-border);bottom:64px;display:flex;gap:10px;overflow-x:auto;overscroll-behavior-inline:contain;padding:10px 16px;position:-webkit-sticky;position:sticky;scrollbar-width:none}.quick-chips::-webkit-scrollbar{display:none}.quick-chips .chip{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-pill);color:var(--text-primary);cursor:pointer;flex:0 0 auto;font-size:.85rem;font-weight:600;padding:8px 14px;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast);white-space:nowrap}.quick-chips .chip:focus-visible,.quick-chips .chip:hover{background:var(--accent);border-color:#0000;color:var(--accent-contrast);outline:none;transform:translateY(-2px)}.quick-chips .chip:active{transform:scale(.96)}.home-hero{align-items:center;display:flex;justify-content:center;min-height:92vh;padding-top:70px;position:relative}.home-container .hero-content{margin:0 auto;max-width:920px;padding:40px 40px 24px;position:relative;text-align:center;width:100%;z-index:1}.home-container .agent-console-wrap{margin-bottom:var(--space-4)}.agent-console{background:var(--bg-elevated);border:1px solid var(--surface-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md),0 0 60px rgba(var(--accent-rgb),.16);font-family:var(--font-mono);overflow:hidden;text-align:left}.agent-console-titlebar{align-items:center;background:var(--surface);border-bottom:1px solid var(--surface-border);display:flex;gap:7px;padding:10px 14px}.agent-console-dot{border-radius:50%;flex:0 0 auto;height:10px;width:10px}.agent-console-dot.red{background:#ff5f57}.agent-console-dot.yellow{background:#febc2e}.agent-console-dot.green{background:#28c840}.agent-console-title{color:var(--text-secondary);font-family:var(--font-mono);font-size:clamp(.72rem,1.6vw,.85rem);margin-left:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-console-body{min-height:210px;padding:clamp(20px,3vw,34px)}.agent-console-line{color:var(--text-primary);font-size:clamp(.85rem,1.7vw,1.05rem);line-height:1.9;white-space:pre-wrap;word-break:break-word}.agent-console-line .prefix{color:var(--accent);margin-right:10px}.agent-console-cursor{animation:console-blink 1s step-end infinite;background:var(--accent);display:inline-block;height:1em;margin-left:2px;vertical-align:text-bottom;width:8px}@keyframes console-blink{0%,to{opacity:1}50%{opacity:0}}.home-container .hero-cta{justify-content:center;margin-bottom:var(--space-5);margin-top:0}.home-container .social-links{margin-top:var(--space-1)}.home-container .social-icon{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-sm);height:46px;width:46px}.home-container .social-icon svg{font-size:1.2rem}.hero-decor{display:none;inset:0;pointer-events:none;position:absolute}.hero-decor-icon{animation:decor-float 6s ease-in-out infinite;background:var(--surface);border:1px solid var(--surface-border);border-radius:50%;color:var(--accent);display:grid;font-size:1.3rem;height:46px;opacity:.5;place-items:center;position:absolute;width:46px}@keyframes decor-float{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}@media (min-width:1200px){.hero-decor{display:block}}.home-marquee{background:var(--surface);border-bottom:1px solid var(--surface-border);border-top:1px solid var(--surface-border);-webkit-mask-image:linear-gradient(90deg,#0000,#000 8%,#000 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8%,#000 92%,#0000);overflow:hidden;padding:var(--space-3) 0;position:relative;z-index:1}.marquee-track{animation:marquee-scroll 32s linear infinite;display:flex;gap:2.5rem;width:-webkit-max-content;width:max-content}.marquee-item{align-items:center;color:var(--text-secondary);display:inline-flex;font-family:var(--font-accent);font-size:.95rem;font-weight:600;gap:.5rem;white-space:nowrap}.marquee-item svg{color:var(--accent);font-size:1.1rem}@keyframes marquee-scroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.home-featured{padding:var(--space-6) 40px;position:relative;z-index:1}.home-featured-inner{margin:0 auto;max-width:1100px;text-align:center}.home-featured-grid{grid-gap:var(--space-3);display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin:var(--space-4) 0 var(--space-4)}.home-featured-card{color:inherit;display:block;height:100%;text-align:left;text-decoration:none}.home-featured-card h3{color:var(--text-primary);font-family:var(--font-display);font-size:1.15rem;margin:0 0 8px}.home-featured-card p{color:var(--text-secondary);font-size:.9rem;line-height:1.6;margin:0 0 var(--space-2)}.home-featured-link{align-items:center;color:var(--accent);display:inline-flex;font-size:.85rem;font-weight:600;gap:6px}.home-featured-cta{display:inline-flex}@media (max-width:900px){.home-hero{padding-top:60px}.home-container .hero-content{padding:30px 24px 20px}.home-featured{padding:var(--space-5) 20px}}@media (prefers-reduced-motion:reduce){.home-container .social-icon{transition:none!important}.agent-console-cursor,.hero-decor-icon,.marquee-track{animation:none!important}}.experience-container{padding:120px 40px 60px;width:100%}.journey-flow{margin:40px auto 0;max-width:1000px;position:relative;z-index:1}.journey-flow-track{align-items:stretch;display:flex;gap:var(--space-2);justify-content:center}.journey-flow-node{align-items:center;display:flex;flex:1 1 150px;flex-direction:column;gap:6px;max-width:190px;padding:var(--space-3) var(--space-2);text-align:center}.journey-flow-node.emphasis{border-color:rgba(var(--accent-rgb),.5);box-shadow:var(--shadow-md),0 0 40px rgba(var(--accent-rgb),.25);transform:scale(1.08)}.journey-flow-icon{color:var(--accent);height:28px;margin-bottom:4px;width:28px}.journey-flow-label{color:var(--text-primary);font-family:var(--font-display);font-size:1rem;font-weight:600}.journey-flow-desc{color:var(--text-secondary);font-size:.78rem;line-height:1.4}.journey-flow-connector{align-self:center;background:var(--surface-border);flex:1 1 50px;height:2px;min-width:30px;position:relative}.journey-flow-dot{animation:journey-flow-dot-x 2.4s linear infinite;background:var(--accent);border-radius:50%;box-shadow:0 0 8px rgba(var(--accent-rgb),.8);height:6px;left:0;opacity:0;position:absolute;top:50%;transform:translateY(-50%);width:6px}.journey-flow-dot:nth-child(2){animation-delay:.8s}.journey-flow-dot:nth-child(3){animation-delay:1.6s}@keyframes journey-flow-dot-x{0%{left:0;opacity:0}10%{opacity:1}90%{opacity:1}to{left:100%;opacity:0}}@media (max-width:700px){.journey-flow-track{align-items:center;flex-direction:column}.journey-flow-node{max-width:260px;width:100%}.journey-flow-node.emphasis{transform:none}.journey-flow-connector{flex:0 0 auto;height:32px;min-width:0;width:2px}.journey-flow-dot{animation-name:journey-flow-dot-y;left:50%;top:0;transform:translateX(-50%)}}@keyframes journey-flow-dot-y{0%{opacity:0;top:0}10%{opacity:1}90%{opacity:1}to{opacity:0;top:100%}}@media (prefers-reduced-motion:reduce){.journey-flow-dot{animation:none!important;opacity:.6}}.experience-list{display:flex;flex-direction:column;gap:var(--space-3);margin:var(--space-5) auto 0;max-width:800px;position:relative;z-index:1}.experience-card{align-items:flex-start;display:flex;gap:var(--space-2)}.experience-icon{background:rgba(var(--accent-rgb),.1);border:1px solid var(--surface-border);border-radius:var(--radius-sm);color:var(--accent);display:grid;flex:0 0 auto;height:46px;place-items:center;width:46px}.experience-body{flex:1 1;min-width:0}.experience-heading{align-items:baseline;display:flex;flex-wrap:wrap;gap:var(--space-1);justify-content:space-between}.experience-heading h3{color:var(--text-primary);font-family:var(--font-display);font-size:1.2rem;margin:0}.experience-heading .at{color:var(--accent);font-weight:400}.company-link{align-items:center;border-bottom:1px solid #0000;color:inherit;display:inline-flex;gap:4px;text-decoration:none;transition:border-color var(--transition-fast)}.company-link:focus-visible,.company-link:hover{border-bottom-color:initial}.experience-heading .period{color:var(--text-secondary);font-family:var(--font-accent);font-size:.85rem;white-space:nowrap}.experience-summary{color:var(--text-secondary);line-height:1.6;margin:var(--space-1) 0}.experience-highlights{color:var(--text-secondary);line-height:1.7;margin:var(--space-1) 0 0;padding-left:1.1rem}.experience-highlights li::marker{color:var(--accent)}@media (max-width:768px){.experience-container{padding:100px 20px 40px}.experience-heading{flex-direction:column;gap:4px}}.about-container{overflow-x:hidden;padding:120px 20px 60px}.about-content-wrapper{grid-gap:var(--space-6);display:grid;gap:var(--space-6);grid-template-columns:1fr 1fr;margin:0 auto;max-width:1200px;position:relative;z-index:1}.about-left{justify-content:center}.about-left,.about-right{display:flex;flex-direction:column}.about-right{align-items:center}.animated-text{display:flex;flex-wrap:wrap;font-family:var(--font-display);font-size:clamp(2.25rem,6vw,3.5rem);font-weight:600;justify-content:center;letter-spacing:-.02em;line-height:1.15;margin-bottom:var(--space-2)}@media (min-width:1025px){.animated-text{justify-content:flex-start}}.word-wrapper{background:linear-gradient(120deg,var(--text-primary),var(--accent) 85%);-webkit-background-clip:text;background-clip:text;color:#0000;display:inline-block;margin-right:.28em}.personal-quote{color:var(--accent);font-family:var(--font-accent);font-size:1.25rem;font-style:italic;margin:var(--space-1) 0 var(--space-2);min-height:1.75rem}.bio-text{color:var(--text-secondary);font-size:1.05rem;line-height:1.75;max-width:52ch}.profile-image-container{height:clamp(180px,42vw,280px);margin:0 auto var(--space-3);position:relative;width:clamp(180px,42vw,280px)}.profile-image-wrapper{background:linear-gradient(135deg,var(--accent),var(--accent-deep));border-radius:50%;box-shadow:0 0 0 1px var(--surface-border),var(--shadow-md);height:100%;overflow:hidden;padding:4px;transition:box-shadow var(--transition-base);width:100%}.profile-image-wrapper:hover{box-shadow:0 0 0 1px var(--surface-border),0 0 32px rgba(var(--accent-rgb),.35)}.profile-image{border-radius:50%;display:block;height:100%;object-fit:cover;object-position:center 20%;width:100%}.achievements-grid{grid-gap:var(--space-2);display:grid;gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.achievement-card{align-items:center;display:flex;gap:var(--space-2);padding:var(--space-2)}.achievement-icon{color:var(--accent);flex-shrink:0;font-size:1.6rem}.achievement-text h3{color:var(--text-primary);font-size:.95rem;margin:0 0 2px}.achievement-text p{color:var(--text-secondary);font-size:.85rem;margin:0}@media (max-width:1024px){.about-content-wrapper{gap:var(--space-4);grid-template-columns:1fr;text-align:center}.about-left{align-items:center}.bio-text{max-width:60ch}.cta-buttons{justify-content:center}}@media (max-width:768px){.about-container{padding:100px 20px 40px}.achievements-grid{grid-template-columns:1fr}}.projects-container{padding:120px 40px 60px;width:100%}.projects-container .projects-filters,.projects-container .projects-grid,.projects-container .projects-header{margin:0 auto;max-width:1200px;position:relative;z-index:1}.projects-container .projects-header{margin-bottom:24px;text-align:center}.projects-container .projects-filters{display:flex;flex-wrap:wrap;gap:14px 18px;justify-content:center;margin-top:18px}.projects-container .search-bar{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-md);color:var(--text-secondary);display:inline-flex;gap:10px;min-width:min(100%,380px);padding:12px 16px;transition:border-color var(--transition-fast)}.projects-container .search-bar:focus-within,.projects-container .search-bar:hover{border-color:rgba(var(--accent-rgb),.5)}.projects-container .search-bar input{background:#0000;border:0;color:var(--text-primary);flex:1 1;font-size:1rem;min-width:0;outline:0}.projects-container .search-bar svg{color:var(--text-secondary);flex:0 0 auto;font-size:1.1rem}.projects-container .category-filters{display:inline-flex;flex-wrap:wrap;gap:10px}.projects-container .filter-btn{background:#0000;border:1px solid rgba(var(--accent-rgb),.4);border-radius:var(--radius-sm);color:var(--accent);cursor:pointer;font-weight:600;letter-spacing:.2px;padding:8px 14px;transition:transform var(--transition-fast),background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.projects-container .filter-btn:hover{background:rgba(var(--accent-rgb),.08);transform:translateY(-1px)}.projects-container .filter-btn.active{background:var(--accent);border-color:#0000;color:var(--accent-contrast)}.projects-container .filter-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.no-results{color:var(--text-secondary);margin-top:24px;position:relative;text-align:center;z-index:1}.projects-container .projects-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,360px);justify-content:center;margin-top:28px}.projects-container .project-card-wrap{display:flex;width:360px}.projects-container .project-card{display:flex;flex-direction:column;height:100%;overflow:hidden;padding:20px;position:relative;transition:box-shadow var(--transition-base),border-color var(--transition-base);width:100%}.projects-container .project-card:hover{box-shadow:0 16px 40px rgba(var(--accent-rgb),.18)}.projects-container .project-card.featured{border-color:rgba(var(--accent-rgb),.5)}.projects-container .project-content{display:flex;flex-direction:column;height:100%}.projects-container .project-title{color:var(--text-primary);font-family:var(--font-display);font-size:clamp(1.05rem,2.2vw,1.35rem);line-height:1.2;margin:0 0 8px}.projects-container .project-description{color:var(--text-secondary);font-size:clamp(.92rem,1.5vw,1rem);line-height:1.55;margin-bottom:12px}.projects-container .tech-stack{display:flex;flex-wrap:wrap;gap:10px 12px;margin:10px 0 14px}.projects-container .tech-icon-wrapper{align-items:center;background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-sm);color:var(--accent);cursor:default;display:inline-flex;height:36px;justify-content:center;position:relative;transition:transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast);width:36px}.projects-container .tech-icon-wrapper:focus-visible,.projects-container .tech-icon-wrapper:hover{background:rgba(var(--accent-rgb),.08);border-color:rgba(var(--accent-rgb),.6);outline:none;transform:translateY(-2px)}.projects-container .tech-icon{font-size:1.25rem}.projects-container .tech-tooltip{background:var(--bg-elevated);border:1px solid var(--surface-border);border-radius:var(--radius-sm);bottom:-28px;color:var(--text-secondary);font-size:.75rem;left:50%;opacity:0;padding:4px 8px;pointer-events:none;position:absolute;transform:translateX(-50%);transition:opacity var(--transition-fast);white-space:nowrap}.projects-container .tech-icon-wrapper:focus-visible .tech-tooltip,.projects-container .tech-icon-wrapper:hover .tech-tooltip{opacity:1}.projects-container .project-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:auto}.projects-container .project-button{align-items:center;border:1px solid rgba(var(--accent-rgb),.4);border-radius:var(--radius-sm);color:var(--accent);display:inline-flex;font-weight:600;gap:8px;letter-spacing:.2px;padding:10px 14px;text-decoration:none;transition:transform var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.projects-container .project-button:focus-visible,.projects-container .project-button:hover{background:var(--accent);color:var(--accent-contrast);outline:none;transform:translateY(-2px)}.projects-container .button-icon{font-size:1.05rem}@media (max-width:920px){.projects-container{padding:100px 24px 48px}}@media (max-width:640px){.projects-container .projects-grid{grid-template-columns:1fr}.projects-container .project-card-wrap{width:100%}.projects-container .search-bar{min-width:100%}}.skills-container{padding:120px 40px 60px;width:100%}.skills-inner{margin:0 auto;max-width:1200px;position:relative;z-index:1}.skills-container .filter-buttons{-webkit-overflow-scrolling:touch;display:flex;flex-wrap:nowrap;gap:10px;justify-content:center;margin:16px 0 6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.skills-container .filter-buttons::-webkit-scrollbar{display:none}.skills-container .filter-btn{background:#0000;border:1px solid rgba(var(--accent-rgb),.4);border-radius:var(--radius-sm);color:var(--accent);cursor:pointer;flex:0 0 auto;font-weight:600;letter-spacing:.2px;padding:8px 14px;transition:transform var(--transition-fast),background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);white-space:nowrap}.skills-container .filter-btn:hover{background:rgba(var(--accent-rgb),.08);transform:translateY(-1px)}.skills-container .filter-btn.active{background:var(--accent);border-color:#0000;color:var(--accent-contrast)}.skills-container .filter-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skills-container .skills-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,250px);justify-content:center;margin-top:22px}.skills-container .skill-card{border-radius:var(--radius-md);display:flex;flex-direction:column;min-height:120px;overflow:hidden;padding:18px 16px;position:relative;transition:box-shadow var(--transition-base),border-color var(--transition-base);width:250px}.skills-container .skill-card:focus-visible,.skills-container .skill-card:hover{border-color:rgba(var(--accent-rgb),.4);box-shadow:0 12px 32px rgba(var(--accent-rgb),.16);outline:none}.skills-container .skill-top{align-items:center;display:flex;gap:10px}.skills-container .skill-icon{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-sm);color:var(--accent);display:grid;flex:0 0 auto;height:38px;place-items:center;width:38px}.skills-container .skill-icon svg{font-size:1.35rem}.skills-container .skill-name{color:var(--text-primary);font-size:clamp(.98rem,2vw,1.05rem);font-weight:700;margin:0}.skills-container .skill-tooltip{background:var(--bg-elevated);border:1px solid var(--surface-border);border-radius:var(--radius-sm);bottom:12px;color:var(--text-secondary);font-size:.85rem;left:16px;padding:8px 10px;position:absolute;right:16px}@media (max-width:900px){.skills-container{padding:100px 24px 48px}}@media (max-width:560px){.skills-container .skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skills-container .skill-card{width:auto}}@media (max-width:380px){.skills-container .skills-grid{grid-template-columns:1fr}}.certifications-container{padding:120px 40px 60px;width:100%}.certifications-container>*{margin-left:auto;margin-right:auto;max-width:1200px;position:relative;z-index:1}.certifications-container .certificates-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,300px);justify-content:center;margin-top:30px}.certifications-container .certificate-card{display:flex;flex-direction:column;overflow:hidden;padding:20px;position:relative;text-align:center;transition:transform var(--transition-base),box-shadow var(--transition-base);width:300px}.certifications-container .certificate-card:hover{box-shadow:0 16px 36px rgba(var(--accent-rgb),.2);transform:translateY(-4px)}.certifications-container .certificate-card.featured{border-color:rgba(var(--accent-rgb),.5)}.certifications-container .featured-badge{background:var(--accent);border-radius:var(--radius-pill);color:var(--accent-contrast);font-size:.72rem;font-weight:600;left:12px;letter-spacing:.5px;padding:4px 10px;position:absolute;text-transform:uppercase;top:12px;z-index:1}.certifications-container .certificate-thumbnail{aspect-ratio:16/9;background:var(--surface);border-radius:var(--radius-sm);margin-bottom:15px;object-fit:contain;width:100%}.certifications-container .certificate-title{color:var(--text-primary);font-family:var(--font-display);font-size:clamp(1.05rem,2.2vw,1.4rem);line-height:1.2;margin-bottom:8px}.certifications-container .certificate-title .year{color:var(--text-secondary);font-size:.9em;font-weight:500}.certifications-container .certificate-description{color:var(--text-secondary);font-size:clamp(.9rem,1.4vw,.95rem);line-height:1.5;margin-bottom:12px}.certifications-container .skills-badges{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:15px}.certifications-container .skill-badge{background:rgba(var(--accent-rgb),.08);border:1px solid rgba(var(--accent-rgb),.35);border-radius:var(--radius-pill);color:var(--accent);font-size:.8rem;padding:4px 10px;transition:background var(--transition-fast),transform var(--transition-fast)}.certifications-container .skill-badge:hover{background:rgba(var(--accent-rgb),.16);transform:translateY(-1px)}.certifications-container .certificate-links{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:auto}.certifications-container .certificate-button{align-items:center;background:#0000;border:1px solid rgba(var(--accent-rgb),.4);border-radius:var(--radius-sm);color:var(--accent);display:inline-flex;font-size:.9rem;font-weight:600;gap:6px;padding:10px 14px;text-decoration:none;transition:transform var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.certifications-container .certificate-button:focus-visible,.certifications-container .certificate-button:hover{background:var(--accent);color:var(--accent-contrast);outline:none;transform:translateY(-2px)}.certifications-container .certificate-button.primary{background:var(--accent);border-color:#0000;color:var(--accent-contrast)}.certifications-container .certificate-button.secondary{background:#0000;border-color:rgba(var(--accent-rgb),.4);color:var(--accent)}@media (max-width:768px){.certifications-container{padding:100px 20px 40px}.certifications-container .certificates-grid{grid-template-columns:1fr}.certifications-container .certificate-card{max-width:400px;width:100%}}.contact-container{box-sizing:border-box;isolation:isolate;min-height:100vh;overflow-x:hidden;padding:96px 20px 60px;position:relative}.contact-container *,.contact-container :after,.contact-container :before{box-sizing:inherit}.contact-content{margin:0 auto;max-width:800px;padding:0 8px;position:relative;z-index:1}.contact-wrapper{margin-top:24px;padding:24px;width:100%}.form-group{margin-bottom:24px;position:relative}.form-group input,.form-group textarea{background:var(--surface);border:1px solid var(--surface-border);border-radius:var(--radius-md);color:var(--text-primary);font-size:16px;line-height:1.4;outline:none;padding:18px 16px 12px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast);width:100%}.form-group textarea{min-height:160px;resize:none}.form-group input:focus,.form-group textarea:focus{background:var(--surface-strong);border-color:rgba(var(--accent-rgb),.6);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.14)}.form-group label{background:#0000;color:var(--text-secondary);font-size:.95rem;left:14px;padding:0 4px;pointer-events:none;position:absolute;top:14px;transform-origin:left center;transition:transform .18s ease,color .18s ease,background-color .18s ease}.form-group input:focus~label,.form-group label.active,.form-group textarea:focus~label{background:var(--bg-base);border-radius:6px;color:var(--accent);transform:translateY(-12px) scale(.86)}.char-counter{color:var(--accent);right:6px}.char-counter,.error-message{bottom:-18px;font-size:.8rem;position:absolute}.error-message{color:#f46;left:0}.form-group.error input,.form-group.error textarea{border-color:#f46;box-shadow:0 0 0 3px #ff446629}.form-group.error label{color:#ff889e}.submit-button{background:var(--accent);border:none;border-radius:var(--radius-md);color:var(--accent-contrast);cursor:pointer;font-weight:700;letter-spacing:.2px;min-height:48px;overflow:hidden;padding:14px 18px;position:relative;transition:transform var(--transition-fast),box-shadow var(--transition-fast);width:100%}.submit-button:hover{box-shadow:0 10px 24px rgba(var(--accent-rgb),.25);transform:translateY(-2px)}.submit-button.sending{animation:pulse 1.5s infinite;pointer-events:none}.submit-button.success{background:#17c964;color:#04140a}.check-icon{margin-left:8px}.submit-error{color:#ff6b81;font-size:.85rem;margin:10px 0 0;text-align:center}.alternative-contact{border-top:1px solid var(--surface-border);margin-top:24px;padding-top:24px}.email-copy{align-items:center;display:flex;gap:12px;justify-content:center;margin-bottom:12px}.email-copy button{background:#0000;border:none;color:var(--accent);cursor:pointer;padding:8px}.contact-container .social-links{display:flex;gap:20px;justify-content:center;margin-top:12px}.contact-container .social-links a{color:var(--text-primary);font-size:1.5rem;transition:transform .18s ease,color .18s ease,text-shadow .18s ease}.contact-container .social-links a:hover{color:var(--accent);text-shadow:0 0 10px var(--accent);transform:translateY(-2px)}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@media (max-width:768px){.contact-container{padding:88px 16px 56px}.contact-content{padding:0}.contact-wrapper{margin-top:20px;padding:16px}.form-group{margin-bottom:22px}.form-group input,.form-group textarea{padding:18px 14px 12px}.form-group label{left:12px;top:13px}.char-counter,.error-message{bottom:-16px}}@media (max-width:420px){.contact-container{padding:84px 12px 48px}.contact-wrapper{padding:14px}}input:-webkit-autofill,textarea:-webkit-autofill{-webkit-text-fill-color:var(--text-primary);-webkit-box-shadow:0 0 0 1000px var(--surface) inset;-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s}@media (prefers-reduced-motion:reduce){.contact-container .social-links a,.submit-button{animation:none!important;transition:none!important}}@font-face{font-display:swap;font-family:ClashDisplay;src:url(/static/media/ClashDisplay-Variable.27b50dcdd5ced9f74da0.woff2) format("woff2")}.app{font-family:var(--font-body);min-height:100vh}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em}.page-container{background:var(--bg-base);min-height:100vh;overflow:hidden;position:relative}.page-container:before{background:radial-gradient(circle at 12% 10%,rgba(var(--accent-rgb),.22),#0000 48%),radial-gradient(circle at 88% 78%,rgba(var(--accent-rgb),.16),#0000 55%),radial-gradient(circle at 50% 50%,rgba(var(--accent-rgb),.05),#0000 70%);content:"";inset:0;pointer-events:none;position:absolute}.gradient-heading{background:linear-gradient(120deg,var(--text-primary),var(--accent) 85%);-webkit-background-clip:text;background-clip:text;color:#0000;font-family:var(--font-display);font-size:clamp(2rem,5vw,3rem);font-weight:600;margin-bottom:var(--space-3);text-align:center}.glassmorphism{backdrop-filter:blur(26px) saturate(200%);-webkit-backdrop-filter:blur(26px) saturate(200%);background:linear-gradient(160deg,var(--surface-strong),var(--surface));border:1px solid var(--surface-border);border-radius:var(--radius-lg);border-top-color:var(--surface-highlight);box-shadow:var(--shadow-md),inset 0 1px 0 #ffffff1f;padding:var(--space-4);transition:border-color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base)}.glassmorphism:hover{border-color:rgba(var(--accent-rgb),.45);box-shadow:var(--shadow-md),0 0 32px rgba(var(--accent-rgb),.12),inset 0 1px 0 #ffffff29}.cta-buttons{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.cta-button{align-items:center;border:1px solid #0000;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.8rem 1.75rem;position:relative;text-decoration:none;transition:transform var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.cta-button.primary{background:var(--accent);color:var(--accent-contrast)}.cta-button.primary:hover{box-shadow:0 10px 24px rgba(var(--accent-rgb),.3);transform:translateY(-2px)}.cta-button.secondary{background:#0000;border-color:var(--accent);color:var(--accent)}.cta-button.secondary:hover{background:rgba(var(--accent-rgb),.1);transform:translateY(-2px)}@media (max-width:768px){.cta-buttons{align-items:stretch;flex-direction:column}.cta-button{justify-content:center}}.social-links{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center}.social-icon{border-radius:var(--radius-sm);color:var(--text-primary);display:inline-grid;font-size:1.4rem;padding:.6rem;place-items:center;position:relative;transition:color var(--transition-fast),transform var(--transition-fast)}.icon-tooltip{background:var(--bg-elevated);border:1px solid var(--surface-border);border-radius:var(--radius-sm);bottom:-1.9rem;color:var(--text-secondary);font-size:.75rem;left:50%;opacity:0;padding:.25rem .7rem;pointer-events:none;position:absolute;transform:translateX(-50%);transition:opacity var(--transition-fast);white-space:nowrap}.social-icon:focus-visible,.social-icon:hover{color:var(--accent);transform:translateY(-2px)}.social-icon:focus-visible .icon-tooltip,.social-icon:hover .icon-tooltip{opacity:1}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}*{box-sizing:border-box}:root{--font-display:"ClashDisplay","Space Grotesk",sans-serif;--font-accent:"Space Grotesk",sans-serif;--font-body:"Poppins",sans-serif;--font-mono:ui-monospace,"SF Mono","SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;--space-1:0.5rem;--space-2:1rem;--space-3:1.5rem;--space-4:2rem;--space-5:3rem;--space-6:4rem;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-pill:999px;--ease:cubic-bezier(0.16,1,0.3,1);--transition-fast:0.2s var(--ease);--transition-base:0.35s var(--ease)}:root,:root[data-theme=dark]{--bg-base:#0a0d12;--bg-elevated:#10141b;--surface:#ffffff17;--surface-strong:#ffffff26;--surface-border:#fff3;--surface-highlight:#ffffff52;--text-primary:#f3f6f8;--text-secondary:#93a1ad;--text-tertiary:#5f6b76;--accent:#22e5ff;--accent-deep:#0891b2;--accent-rgb:34,229,255;--accent-contrast:#04141a;--shadow-sm:0 2px 10px #00000059;--shadow-md:0 10px 30px #0006}:root[data-theme=light]{--bg-base:#f5f7f9;--bg-elevated:#fff;--surface:#0a141a12;--surface-strong:#0a141a1f;--surface-border:#0a141a2e;--surface-highlight:#ffffffbf;--text-primary:#10151c;--text-secondary:#4c5763;--text-tertiary:#7c8792;--accent:#0891b2;--accent-deep:#0e7490;--accent-rgb:8,145,178;--accent-contrast:#fff;--shadow-sm:0 2px 10px #10151c0f;--shadow-md:0 10px 30px #10151c14}html{color-scheme:dark}:root[data-theme=light]{color-scheme:light}body{background:#0a0d12;background:var(--bg-base);color:#f3f6f8;color:var(--text-primary);font-family:Poppins,sans-serif;font-family:var(--font-body);margin:0;transition:background-color .35s cubic-bezier(.16,1,.3,1),color .35s cubic-bezier(.16,1,.3,1);transition:background-color var(--transition-base),color var(--transition-base)}::selection{background:#22e5ff59;background:rgba(var(--accent-rgb),.35);color:#f3f6f8;color:var(--text-primary)}:focus-visible{outline:2px solid #22e5ff;outline:2px solid var(--accent);outline-offset:2px}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#ffffff26;background:var(--surface-strong);border-radius:999px;border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:#22e5ff66;background:rgba(var(--accent-rgb),.4)}