@import "https://fonts.googleapis.com/css2?family=Syne:wght@400;600;700;800&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;1,9..40,400&display=swap";:root{--bg:#eef2f7;--surface:#fff;--surface2:#f4f7fb;--accent:#2563eb;--accent2:#0ea5e9;--accent3:#14b8a6;--text:#1e293b;--muted:#64748b;--border:#cbd5e1;--nav-bg:#fffffff2;--nav-bg-unscrolled:#eef2f7cc;--hero-grad:linear-gradient(160deg,#eef2f7 0%,#e8f0fe 55%,#f0fafa 100%);--mail-color:var(--text);--phone-color:var(--text);--wa-color:var(--text);--pin-color:var(--text);--contact-label-color:var(--muted);--section-title-color:#f33;--card-glow-default:0 8px 24px -4px #2563eb40, 0 0 16px #2563eb26;--card-glow-hover:0 16px 40px -10px #2563eb73, 0 0 32px 4px #2563eb4d;--ring1-color:#2563ebbf;--ring2-color:#0ea5e999}:root.dark{--bg:#0f172a;--surface:#1e293b;--surface2:#334155;--accent:#3b82f6;--accent2:#38bdf8;--accent3:#2dd4bf;--text:#f1f5f9;--muted:#94a3b8;--border:#334155;--nav-bg:#1e293bf2;--nav-bg-unscrolled:#0f172acc;--hero-grad:linear-gradient(160deg,#0f172a 0%,#1e293b 55%,#334155 100%);--mail-color:#3b82f6;--phone-color:#2dd4bf;--wa-color:#4ade80;--pin-color:#fbbf24;--contact-label-color:#fff;--section-title-color:#fff;--card-glow-default:0 8px 24px -4px #38bdf814, 0 0 10px #38bdf80a;--card-glow-hover:0 16px 40px -10px #38bdf840, 0 0 24px 2px #38bdf826;--ring1-color:#38bdf866;--ring2-color:#2dd4bf4d}.footer-copyright{font-weight:700}:root.dark .footer-copyright{font-weight:400}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:DM Sans,sans-serif;overflow-x:hidden}h1,h2,h3,h4,h5{font-family:Syne,sans-serif}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-thumb{background:var(--accent);border-radius:3px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes spinRev{to{transform:rotate(-360deg)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;will-change:opacity, transform;transition:opacity .6s cubic-bezier(.2,.8,.2,1),transform .6s cubic-bezier(.2,.8,.2,1);transform:translateY(60px)}.section-header-wrap.reveal{transition:opacity 1.2s cubic-bezier(.2,.8,.2,1),transform 1.2s cubic-bezier(.2,.8,.2,1);transform:translateY(100px)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-float{animation:4s ease-in-out infinite float}.ring1{border:2px dashed var(--ring1-color);pointer-events:none;border-radius:50%;animation:20s linear infinite spin;position:absolute;inset:-28px}.ring2{border:2px dashed var(--ring2-color);pointer-events:none;border-radius:50%;animation:28s linear infinite spinRev;position:absolute;inset:-56px}.blob{filter:blur(90px);opacity:.16;pointer-events:none;border-radius:50%;position:absolute}.grad-text{background:linear-gradient(135deg,#2563eb,#0ea5e9,#14b8a6);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.reveal{opacity:0;transition:opacity .5s,transform .5s;transform:translateY(24px)}.reveal.visible{opacity:1;transform:none}.active-link{color:#f33!important;font-weight:800!important}.nav-link{color:var(--text);cursor:pointer;letter-spacing:.05em;text-transform:uppercase;flex-direction:column;align-items:center;font-family:Syne,sans-serif;font-size:.78rem;font-weight:700;text-decoration:none;transition:all .15s;display:inline-flex;position:relative}.nav-link:before{content:attr(data-text);visibility:hidden;-webkit-user-select:none;user-select:none;pointer-events:none;height:0;font-weight:800;display:block;overflow:hidden}.nav-link:after{content:"";background:var(--accent);border-radius:2px;width:0;height:2px;transition:width .3s;position:absolute;bottom:-4px;left:0}.nav-link:hover{color:var(--accent)}.nav-link:hover:after{width:100%}.btn-primary{background:var(--accent);color:#fff;letter-spacing:.02em;cursor:pointer;border:none;border-radius:50px;align-items:center;gap:8px;padding:12px 28px;font-family:Syne,sans-serif;font-size:.875rem;font-weight:700;text-decoration:none;transition:all .25s;display:inline-flex;position:relative;box-shadow:0 4px 20px #2563eb52}.btn-primary:after,.btn-outline:after{content:"";z-index:1;position:absolute;inset:-8px}.btn-primary:active,.btn-outline:active{transform:translateY(0)}.btn-primary:hover{background:#1d4ed8;transform:translateY(-2px);box-shadow:0 8px 30px #2563eb73}.btn-outline{color:var(--accent);border:2px solid var(--accent);cursor:pointer;background:0 0;border-radius:50px;align-items:center;gap:8px;padding:11px 28px;font-family:Syne,sans-serif;font-size:.875rem;font-weight:700;text-decoration:none;transition:all .25s;display:inline-flex;position:relative}.btn-outline:hover{transform:translateY(-2px);box-shadow:0 8px 30px #2563eb33;background:var(--accent)!important;color:#fff!important}.card{background:var(--surface);border:1px solid var(--border);border-radius:20px;transition:all .3s;box-shadow:0 2px 20px #2563eb0d}.card:hover{border-color:#2563eb33;transform:translateY(-4px);box-shadow:0 12px 40px #2563eb1f}.glass{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffb8;border:1px solid #ffffffd9}.section-label{background:var(--surface2);border:1px solid var(--border);color:var(--accent);letter-spacing:.15em;text-transform:uppercase;border-radius:50px;align-items:center;gap:10px;margin:0 auto 20px;padding:8px 26px;font-family:Syne,sans-serif;font-size:.75rem;font-weight:700;display:inline-flex;box-shadow:0 4px 12px #00000008}.accent-line{background:linear-gradient(90deg, var(--accent), var(--accent2));border-radius:2px;width:60px;height:4px}.tech-badge{color:var(--accent);background:#2563eb14;border-radius:50px;align-items:center;gap:5px;padding:4px 10px;font-family:Syne,sans-serif;font-size:.72rem;font-weight:600;display:inline-flex}@keyframes sweepDynamic{0%,to{border-color:var(--border);box-shadow:0 8px 24px #0000}25%{box-shadow:0 8px 24px var(--cx-sh);border-color:var(--cx-br);transform:translateY(-2px)}50%{border-color:var(--border);transform:translateY(0);box-shadow:0 8px 24px #0000}}@keyframes sweepChroma{0%,to{border-color:var(--border);box-shadow:0 8px 24px #0000}20%{border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 8px 24px #3b82f666}40%{border-color:#10b981;transform:translateY(-2px);box-shadow:0 8px 24px #10b98166}60%{border-color:#ec4899;transform:translateY(-2px);box-shadow:0 8px 24px #ec489966}80%{border-color:var(--border);transform:translateY(0);box-shadow:0 8px 24px #0000}}.animated-glow{animation:15s ease-in-out infinite sweepDynamic}.skills-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:14px;display:grid}.skill-card{background:var(--surface);border:1px solid var(--border);cursor:default;border-radius:16px;flex-direction:column;align-items:center;gap:10px;padding:18px 12px;transition:transform .3s,box-shadow 2s,border-color 2s;display:flex}.skill-icon{object-fit:contain;width:40px;height:40px}.skill-label{text-align:center;color:var(--text);font-family:Syne,sans-serif;font-size:.75rem;font-weight:700}.skill-card:hover{border-color:#2563eb40;transform:translateY(-4px);box-shadow:0 8px 24px #2563eb1f}.filter-tab{border:1px solid var(--border);letter-spacing:.05em;cursor:pointer;background:var(--surface);color:var(--muted);border-radius:50px;padding:8px 24px;font-family:Syne,sans-serif;font-size:.82rem;font-weight:600;transition:all .15s}.filter-tab.active,.filter-tab:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;transition:all .3s;overflow:hidden}.project-card:hover{border-color:#2563eb40;transform:translateY(-6px);box-shadow:0 16px 48px #2563eb24}.social-icon{border:1.5px solid var(--border);width:44px;height:44px;color:var(--text);opacity:.8;border-radius:50%;justify-content:center;align-items:center;text-decoration:none;transition:all .25s;display:flex}.social-icon:hover{border-color:var(--accent);background:var(--accent);color:#fff;transform:translateY(-3px)}.input-field{background:var(--surface2);border:1.5px solid var(--border);letter-spacing:.04em;width:100%;color:var(--text);border-radius:12px;outline:none;padding:12px 20px;font-family:DM Sans,sans-serif;font-size:1rem;line-height:1.5;transition:all .2s}.input-field::placeholder{opacity:.6;font-size:.88rem;font-weight:400}.input-field:focus{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 4px #2563eb14}.timeline-dot{background:var(--accent);border:3px solid var(--bg);border-radius:50%;flex-shrink:0;width:14px;height:14px;margin-top:4px;box-shadow:0 0 0 3px #2563eb33}@keyframes pulseActive{0%{box-shadow:0 0 #2563ebf2}70%{box-shadow:0 0 0 16px #2563eb00}to{box-shadow:0 0 #2563eb00}}@keyframes pulseActiveDark{0%{box-shadow:0 0 #38bdf8f2}70%{box-shadow:0 0 0 16px #38bdf800}to{box-shadow:0 0 #38bdf800}}.timeline-dot.active{animation:1.1s ease-out infinite pulseActive}:root.dark .timeline-dot.active{animation:1.1s ease-out infinite pulseActiveDark}.modal-bg{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:500;background:#0f172a99;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.edu-card{border:1px solid var(--border);box-shadow:var(--card-glow-default);transition:all .3s cubic-bezier(.4,0,.2,1)}.edu-card:hover{border-color:var(--accent);box-shadow:var(--card-glow-hover);transform:translateY(-5px)}@keyframes servicePulsate{0%,to{border-color:var(--border);box-shadow:0 4px 15px #0000}50%{box-shadow:0 0 12px var(--service-color);border-color:var(--service-color)}}.service-card-anim{animation:5s ease-in-out infinite servicePulsate}.card.service-card-anim:hover{transform:none}.hide-scrollbar::-webkit-scrollbar{display:none}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.alert-box{text-align:left;border-radius:12px;align-items:center;gap:14px;padding:16px 20px;font-family:DM Sans,sans-serif;font-size:.95rem;font-weight:500;line-height:1.5;animation:.4s ease-out fadeUp;display:flex}.alert-warning{color:#b45309;background:linear-gradient(135deg,#d977061f,#d977060a);border:1px solid #d9770640}:root.dark .alert-warning{color:#facc15;background:linear-gradient(135deg,#facc1526,#facc150d);border:1px solid #facc154d}.alert-success{color:#15803d;background:linear-gradient(135deg,#16a34a1f,#16a34a0a);border:1px solid #16a34a40}:root.dark .alert-success{color:#4ade80;background:linear-gradient(135deg,#4ade8026,#4ade800d);border:1px solid #4ade804d}.alert-error{color:#b91c1c;background:linear-gradient(135deg,#dc26261f,#dc26260a);border:1px solid #dc262640}:root.dark .alert-error{color:#f87171;background:linear-gradient(135deg,#f8717126,#f871710d);border:1px solid #f871714d}.project-filter-wrap{margin-bottom:40px}@media (width<=768px){html{font-size:14.5px}section{padding:64px 20px!important}#home{padding-top:140px!important;padding-bottom:80px!important}.project-filter-wrap{margin-bottom:20px!important}.card,.edu-card{padding:24px!important}.skills-grid{grid-template-columns:repeat(auto-fill,minmax(65px,1fr))!important;gap:10px!important}.skill-card{gap:8px!important;padding:10px 6px!important}.skill-icon{width:28px!important;height:28px!important}.skill-label{font-size:.65rem!important}.section-label{margin:0 auto 16px;padding:6px 20px;font-size:.72rem}}
