:root{--bg-color: #0f172a;--card-bg: #1e293b;--text-color: #e2e8f0;--accent-color: #38bdf8}*{margin:0;padding:0;box-sizing:border-box;font-family:Segoe UI,sans-serif;scroll-behavior:smooth}body{background-color:var(--bg-color);color:var(--text-color);overflow-x:hidden}.app-root{position:relative;z-index:1}.grainient-bg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.grainient-filter-def{position:absolute;width:0;height:0}.grainient-layer{position:absolute;inset:-12%}.grainient-overlay-one,.grainient-overlay-two,.grainient-noise{mix-blend-mode:screen}.grainient-noise{background-image:radial-gradient(circle at 20% 10%,rgba(255,255,255,.08) 0%,transparent 42%),radial-gradient(circle at 80% 90%,rgba(255,255,255,.06) 0%,transparent 45%);opacity:.5}.navbar{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 5%;position:fixed;width:100%;background:#0f172af2;z-index:1000;border-bottom:1px solid rgba(255,255,255,.05)}.logo{font-size:1.5rem;font-weight:700}.accent{color:var(--accent-color)}.nav-links{list-style:none;display:flex;gap:2rem}.nav-links a{text-decoration:none;color:#fff;transition:.3s}.nav-links a:hover{color:var(--accent-color)}.hamburger{display:none;cursor:pointer;font-size:1.5rem}.hero{height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;flex-direction:column}.hero h1{font-size:4rem;margin-bottom:.5rem}.hero h2{font-size:2.5rem;color:#94a3b8;margin-bottom:1.5rem}.txt-type>.txt{border-right:.2rem solid var(--accent-color)}.btn{padding:.8rem 2rem;border-radius:50px;text-decoration:none;background:var(--accent-color);color:#000;font-weight:700;transition:.3s}.btn:hover{transform:translateY(-3px);box-shadow:0 0 15px var(--accent-color)}.cta-buttons{margin-top:2rem}.container{padding:5rem 10%}.section-title{text-align:center;font-size:2.5rem;margin-bottom:3rem}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1.5rem}.skill-card{background:var(--card-bg);padding:2rem;text-align:center;border-radius:12px;transition:.3s;border:1px solid transparent}.skill-card:hover{border-color:var(--accent-color);transform:translateY(-5px)}.skill-card i{font-size:3rem;color:var(--accent-color);margin-bottom:1rem}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.project-card{background:var(--card-bg);border-radius:15px;overflow:hidden;transition:.3s}.project-card:hover{transform:translateY(-10px)}.card-image{height:180px;background:#334155;position:relative}.card-content{padding:1.5rem}.tags{display:flex;flex-wrap:wrap;gap:6px;row-gap:6px;max-height:66px;overflow:hidden}.tags span{background:#38bdf81a;color:var(--accent-color);font-size:.8rem;padding:4px 10px;border-radius:12px;white-space:nowrap}.status-badge{position:absolute;top:12px;right:12px;padding:6px 12px;border-radius:20px;font-size:.75rem;font-weight:700;display:flex;align-items:center;gap:4px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.status-done{background:#22c55ee6;color:#fff}.status-in-progress{background:#f97316e6;color:#fff}.cert-grid{max-width:900px;margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.cert-item{background:var(--card-bg);padding:1rem;border-radius:12px;border:1px solid rgba(56,189,248,.2);display:flex;flex-direction:column;align-items:center;text-align:center;gap:.85rem;text-decoration:none;color:var(--text-color);transition:transform .3s,border-color .3s,background .3s}.cert-item:hover{transform:translateY(-5px);border-color:var(--accent-color);background:#253146}.cert-image{width:100%;height:220px;object-fit:cover;border-radius:10px}.cert-info{display:flex;flex-direction:column;gap:.2rem}.cert-year{color:var(--accent-color);font-weight:700}.cert-issuer{color:#94a3b8}.contact-section{padding-top:2rem}.contact-grid{max-width:900px;margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.contact-item{background:var(--card-bg);border:1px solid rgba(56,189,248,.2);border-radius:12px;padding:1rem 1.25rem;text-decoration:none;color:var(--text-color);display:flex;align-items:center;gap:.9rem;transition:transform .3s,border-color .3s,background .3s}.contact-item i{font-size:1.3rem;color:var(--accent-color);min-width:22px}.contact-item h3{font-size:1rem;margin-bottom:.25rem}.contact-item p{color:#94a3b8;font-size:.95rem}.contact-item:hover{transform:translateY(-4px);border-color:var(--accent-color);background:#253146}.hidden{opacity:0;transform:translateY(30px);transition:all .8s ease-out}.show{opacity:1;transform:translateY(0)}@media(max-width:768px){.nav-links{position:absolute;right:0;top:70px;height:90vh;background:var(--card-bg);flex-direction:column;align-items:center;justify-content:center;width:50%;transform:translate(100%);transition:transform .4s ease-in}.nav-links.nav-active{transform:translate(0)}.hamburger{display:block}.hero h1{font-size:2.5rem}.cert-grid,.contact-grid{grid-template-columns:1fr}}.card-swap-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center center;perspective:900px;overflow:visible}.card{position:absolute;top:50%;left:50%;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:#1e293b;transform-style:preserve-3d;will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 16px 40px #00000059;overflow:hidden}@media(max-width:768px){.card-swap-container{transform:translate(-50%,-50%) scale(.85)}}@media(max-width:480px){.card-swap-container{transform:translate(-50%,-50%) scale(.7)}}.logo-loop{position:relative;width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent,black 8%,black 92%,transparent);mask-image:linear-gradient(to right,transparent,black 8%,black 92%,transparent)}.logo-loop-track{display:flex;align-items:stretch;gap:1rem;width:max-content;animation:logoLoopScroll linear infinite}.logo-loop-item{min-width:180px;padding:1.1rem 1.4rem;border-radius:12px;border:1px solid rgba(56,189,248,.25);background:#1e293bd9;display:flex;align-items:center;gap:.8rem;color:#e2e8f0}.logo-loop-item i{font-size:1.4rem;color:#38bdf8}.logo-loop-item span{font-weight:600;white-space:nowrap}@keyframes logoLoopScroll{0%{transform:translate(0)}to{transform:translate(calc(-50% - .5rem))}}@media(prefers-reduced-motion:reduce){.logo-loop-track{animation:none}}
