@charset "UTF-8";:root{--bg: #030712;--bg-elevated: #030712;--bg-panel: #020617;--border-subtle: rgba(148, 163, 184, .2);--border-strong: rgba(94, 234, 212, .7);--text: #e5e7eb;--text-muted: #9ca3af;--accent: #22d3ee;--accent-2: #a855f7;--danger: #f97373;--radius: 14px;--shadow-soft: 0 0 30px rgba(34, 211, 238, .12)}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;width:100%}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif;background:radial-gradient(circle at top,#0f172a 0,#020617 55% 100%);color:var(--text);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.app-root{min-height:100vh;display:flex;flex-direction:column}.app-main{flex:1;width:100%;max-width:1120px;margin:0 auto;padding:1.5rem 1rem 3rem}.app-footer{border-top:1px solid var(--border-subtle);padding:1rem;text-align:center;font-size:.85rem;color:var(--text-muted);background:#020617e6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.navbar{width:100%;position:sticky;top:0;z-index:20;display:flex;justify-content:center;padding:.9rem 1.4rem;margin:0 auto;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(to right,#0f172af2,#0f172abf,#0f172af2);border-bottom:1px solid rgba(148,163,184,.35)}.navbar__inner{display:flex;justify-content:space-between;align-items:center;width:100%}.navbar__logo{font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:.85rem;display:flex;align-items:center;gap:.2rem}.logo-accent{color:var(--accent)}.navbar__nav{display:flex;align-items:center;gap:.8rem}.navbar__link{font-size:.9rem;padding:.4rem .8rem;border-radius:999px;color:var(--text-muted);transition:all .18s ease-out;border:1px solid transparent}.navbar__link.active{color:var(--accent);border-color:#22d3ee66;background:radial-gradient(circle at top left,rgba(34,211,238,.18),transparent);box-shadow:0 0 18px #22d3ee4d}.navbar__link:hover{color:var(--text);border-color:#94a3b84d;background:#0f172acc}.navbar__link--pill{border-color:#94a3b859}.navbar__hamburger{display:none;font-size:1.6rem;background:none;border:none;color:var(--text);cursor:pointer;padding:.4rem}.navbar__lang{position:relative}.navbar__lang-btn{font-size:.85rem;padding:.35rem .8rem;border-radius:999px;background:transparent;border:1px solid rgba(148,163,184,.35);color:var(--text-muted);cursor:pointer;transition:.15s ease-out}.navbar__lang-btn:hover{border-color:var(--accent);color:var(--accent)}.navbar__lang-menu{position:absolute;top:2.6rem;right:0;min-width:130px;display:flex;flex-direction:column;gap:.25rem;background:#0a0f1f;border:1px solid rgba(148,163,184,.3);border-radius:var(--radius);padding:.4rem;box-shadow:0 0 20px #22d3ee33}.navbar__lang-item{font-size:.85rem;background:transparent;border:none;color:var(--text);padding:.45rem .5rem;text-align:left;border-radius:var(--radius);cursor:pointer;transition:.15s}.navbar__lang-item:hover{color:var(--accent);background:#22d3ee26}.page{margin-top:1.6rem}.page-header{margin-bottom:1.6rem}.page-header h1{font-size:2rem;margin-bottom:.4rem}.page-header p{color:var(--text-muted);max-width:640px}.page-header__eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;color:var(--accent)}.page-header__highlight{color:var(--accent-2);margin-bottom:.5rem}.page-header__meta{display:flex;gap:.6rem;font-size:.85rem;color:var(--text-muted)}.page-header__meta span:before{content:"• "}.page-header__meta span:first-child:before{content:""}.section{margin-top:2.5rem}.section__title{font-size:1.3rem;margin-bottom:.3rem}.section__subtitle{color:var(--text-muted);font-size:.92rem}.section__cta{margin-top:1.2rem}.hero{display:grid;grid-template-columns:3fr 2fr;gap:2.4rem;align-items:center}.hero__eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;color:var(--text-muted);margin-bottom:.5rem}.hero__title{font-size:2.6rem;margin:0 0 .3rem}.hero__subtitle{font-size:1.15rem;margin:0 0 .8rem;color:var(--text-muted)}.hero__description{max-width:32rem;color:var(--text-muted);font-size:.95rem}.hero__actions{margin-top:1rem;display:flex;gap:.8rem}.hero__side{justify-self:center;display:flex;flex-direction:column;align-items:center;gap:.9rem}.hero__glow-orbit{width:220px;height:220px;border-radius:999px;position:relative;display:grid;place-items:center;background:radial-gradient(circle,rgba(34,211,238,.15),transparent);box-shadow:0 0 40px #22d3ee66}.hero__orbit-ring{position:absolute;border-radius:999px;border:1px dashed rgba(148,163,184,.45)}.hero__orbit-ring--outer{width:180px;height:180px;animation:spin 22s linear infinite}.hero__orbit-ring--inner{width:120px;height:120px;animation:spin 14s linear infinite reverse}.hero__core-dot{width:26px;height:26px;border-radius:999px;background:radial-gradient(circle,var(--accent),#0f172a);box-shadow:0 0 25px #22d3eee6}.hero__labels{display:flex;gap:.8rem;font-size:.8rem;color:var(--text-muted)}.hero__labels span{padding:.25rem .6rem;border-radius:999px;border:1px solid rgba(148,163,184,.4);background:#0f172ab3}.neon-text{background:linear-gradient(120deg,var(--accent),var(--accent-2));-webkit-background-clip:text;color:transparent}.btn{border-radius:999px;padding:.55rem 1.1rem;font-size:.9rem;border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;transition:all .18s ease-out}.btn-primary{background:radial-gradient(circle at top left,var(--accent),#0ea5e9);color:#020617;font-weight:600;box-shadow:0 0 25px #22d3ee80}.btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px)}.btn-secondary{border-color:#94a3b866;background:#0f172acc;color:var(--text-muted)}.btn-secondary:hover{color:var(--text);border-color:#94a3b8cc}.btn-ghost{border-color:#94a3b833;color:var(--text-muted);background:transparent}.btn-ghost:hover{border-color:#94a3b8b3;color:var(--text)}.skills-grid{margin-top:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.skills-card{padding:1rem;border-radius:var(--radius);border:1px solid rgba(148,163,184,.35);background:radial-gradient(circle at top left,#0f172a,#020617);box-shadow:var(--shadow-soft)}.skills-card h3{margin-top:0;margin-bottom:.6rem;font-size:1rem}.skills-tags{display:flex;flex-wrap:wrap;gap:.4rem}.tag{font-size:.75rem;padding:.18rem .55rem;border-radius:999px;border:1px solid rgba(148,163,184,.4);background:#0f172acc}.projects-grid{margin-top:1.2rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.project-card{border-radius:var(--radius);border:1px solid rgba(148,163,184,.4);padding:.9rem 1rem;background:radial-gradient(circle at top,#020617,#020617);box-shadow:0 0 #0000;transition:all .18s ease-out;display:flex;flex-direction:column;gap:.4rem}.project-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-soft);transform:translateY(-2px)}.project-card__category{font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;color:var(--accent)}.project-card__title{margin:.1rem 0;font-size:1.05rem}.project-card__description{margin:0;font-size:.9rem;color:var(--text-muted)}.project-card__tags{margin-top:.3rem}.project-card__cta{margin-top:.4rem;font-size:.8rem;color:var(--accent)}.filter-bar{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1rem}.filter-pill{border-radius:999px;padding:.3rem .9rem;font-size:.82rem;background:#0f172acc;border:1px solid rgba(148,163,184,.4);color:var(--text-muted);cursor:pointer;transition:all .16s ease-out}.filter-pill--active{color:var(--accent);border-color:var(--border-strong);box-shadow:0 0 14px #22d3ee66}.filter-pill:hover{color:var(--text)}.project-detail{border-radius:var(--radius);border:1px solid rgba(148,163,184,.4);background:radial-gradient(circle at top,#020617,#000);padding:1.1rem 1.2rem;box-shadow:var(--shadow-soft)}.project-detail section+section{margin-top:1rem}.project-detail h2{margin-top:0;margin-bottom:.4rem;font-size:1.05rem}.project-detail p{margin:0;color:var(--text-muted)}.links-list{display:flex;flex-wrap:wrap;gap:.5rem}.link-pill{font-size:.8rem;border-radius:999px;padding:.25rem .8rem;border:1px solid var(--accent);color:var(--accent);background:#082f4999}.timeline{display:grid;gap:1.2rem;border-left:2px solid var(--accent);padding-left:1.4rem}.timeline__item{position:relative}.timeline__year{font-size:1.1rem;color:var(--accent);font-weight:600;margin-bottom:.2rem}.timeline__item:before{content:"";position:absolute;left:-1.7rem;top:.45rem;width:10px;height:10px;background:var(--accent);border-radius:50%;box-shadow:0 0 10px var(--accent)}.timeline__content{color:var(--text-muted);font-size:.95rem}.about-heatmap{width:100%;max-width:680px;border-radius:var(--radius);border:1px solid var(--border-subtle);box-shadow:var(--shadow-soft);margin-top:.8rem}.contact-grid{display:grid;grid-template-columns:2fr 1fr;gap:2rem}.contact-form{display:flex;flex-direction:column;gap:1rem;padding:1.2rem;border-radius:var(--radius);border:1px solid rgba(148,163,184,.3);background:radial-gradient(circle at top left,#0f172a,#020617);box-shadow:var(--shadow-soft)}.contact-form label{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem}.contact-form input,.contact-form textarea{background:#0f172acc;color:var(--text);border:1px solid rgba(148,163,184,.4);padding:.6rem .8rem;border-radius:var(--radius);resize:none;transition:.15s ease}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 10px #22d3ee66}.contact-success{margin-top:.4rem;color:var(--accent);font-size:.9rem}.contact-error{margin-top:.4rem;color:var(--danger);font-size:.9rem}.contact-alt{padding:1.2rem;border-radius:var(--radius);border:1px solid rgba(148,163,184,.3);background:#0f172a80}.contact-links{margin-top:1rem;display:flex;flex-direction:column;gap:.4rem}.contact-links a{color:var(--accent);text-decoration:none}.contact-links a:hover{text-decoration:underline}.page-not-found{text-align:center;position:relative;overflow:hidden;height:73vh}.page-not-found h1{font-size:3rem}.page-not-found p{color:var(--text-muted)}.neon{filter:drop-shadow(0 0 2px #0ea5e9);opacity:.9}.empty-state{margin-top:1rem;color:var(--text-muted)}.absolute{position:absolute;pointer-events:none}@media(max-width:768px){.hero{grid-template-columns:1fr}.navbar__inner{justify-content:space-between}.navbar__hamburger{display:block}.navbar__nav{position:absolute;top:60px;left:0;width:100%;flex-direction:column;gap:.6rem;background:#0f172af2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border-subtle);padding:1rem 0;display:none}.navbar__nav.open{display:flex}.navbar__nav .navbar__link{width:100%;text-align:center;border-radius:0;padding:.9rem .5rem;font-size:1rem}.navbar__lang{z-index:50}.app-main{padding-inline:1rem}.contact-grid{grid-template-columns:1fr}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
