:root{--bg-gradient:linear-gradient(90deg,#0b1120,#1e3a8a);--bg-elevated:#0f172af2;--card-bg:#0f172ae6;--accent:#0ea5e9;--accent-soft:#0ea5e92e;--accent-hover:#0284c7;--text-main:#e5e7eb;--text-muted:#9ca3af;--border-subtle:#94a3b866;--shadow-soft:0 18px 45px #0f172ad9;--radius-md:0.75rem;--radius-lg:1.25rem;--navbar-height:64px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:radial-gradient(circle at top,#1d4ed8 0,#0000 55%),linear-gradient(90deg,#0b1120,#1e3a8a);background:radial-gradient(circle at top,#1d4ed8 0,#0000 55%),var(--bg-gradient);color:#e5e7eb;color:var(--text-main);font-family:Segoe UI,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;line-height:1.6;min-height:100vh}img{display:block;max-width:100%}a{color:inherit}header,section{scroll-margin-top:80px;scroll-margin-top:calc(var(--navbar-height) + 16px)}.skip-link{background:#0ea5e9;background:var(--accent);border-radius:.75rem;border-radius:var(--radius-md);color:#0f172a;font-weight:600;left:1rem;padding:.75rem 1.25rem;position:absolute;text-decoration:none;top:-100px;transition:top .2s ease;z-index:9999}.skip-link:focus{outline:2px solid #e5e7eb;outline-offset:3px;top:1rem}.navbar{align-items:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(90deg,#0f172afa,#1e40affa);box-shadow:0 12px 30px #0f172ad9;display:flex;height:64px;height:var(--navbar-height);justify-content:space-between;left:0;padding:0 1.75rem;position:fixed;right:0;top:0;z-index:1000}.logo a{align-items:center;font-size:1.35rem;font-weight:700;gap:.5rem;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;transition:transform .25s ease,color .25s ease,text-shadow .25s ease}.logo a,.logo-icon{color:#0ea5e9;color:var(--accent);display:inline-flex}.logo-icon{font-size:1.5rem;transition:color .25s ease,transform .25s ease}.logo a:hover .logo-icon{color:#e0f2fe;transform:scale(1.08)}.logo a:hover{color:#e0f2fe;text-shadow:0 0 18px #38bdf8cc;transform:scale(1.05)}.nav-links{align-items:center;display:flex;gap:1.75rem;list-style:none}.nav-links a{color:#9ca3af;color:var(--text-muted);font-size:.95rem;letter-spacing:.14em;padding-bottom:4px;position:relative;text-decoration:none;text-transform:uppercase;transition:color .2s ease}.nav-links a:after{background:linear-gradient(90deg,#38bdf8,#22c55e);border-radius:999px;bottom:0;content:"";height:2px;left:0;position:absolute;transition:width .2s ease;width:0}.nav-links a:hover{color:#f9fafb}.nav-links a:hover:after{width:100%}.nav-toggle{background:#0000;border:none;cursor:pointer;display:none;flex-direction:column;gap:5px;justify-content:center}.nav-toggle:focus-visible{outline:2px solid #0ea5e9;outline:2px solid var(--accent);outline-offset:3px}.hamburger{background-color:#e5e7eb;border-radius:999px;height:2px;width:24px}.hero{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:calc(64px + 3rem) 1.5rem 4rem;padding:calc(var(--navbar-height) + 3rem) 1.5rem 4rem;text-align:center}.profile-pic{border:3px solid #0ea5e9;border:3px solid var(--accent);border-radius:999px;box-shadow:0 16px 40px #0f172ae6;cursor:pointer;height:140px;margin-bottom:1.5rem;object-fit:cover;transition:transform .25s ease,box-shadow .25s ease;width:140px}.profile-pic:hover{box-shadow:0 22px 45px #0f172af2;transform:translateY(-4px) scale(1.03)}.image-modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172ad9;display:flex;inset:0;justify-content:center;position:fixed;z-index:1100}.image-modal-content{border:1px solid #94a3b880;border-radius:1.25rem;border-radius:var(--radius-lg);box-shadow:0 24px 70px #0f172afa;max-height:80vh;max-width:min(90vw,480px);overflow:hidden;position:relative}.image-modal-content img{display:block;height:auto;width:100%}.image-modal-close{align-items:center;background:#0f172abf;border:1px solid #94a3b899;border-radius:999px;color:#e5e7eb;cursor:pointer;display:flex;font-size:1.2rem;height:28px;justify-content:center;line-height:1;padding:0;position:absolute;right:.6rem;top:.4rem;width:28px}.image-modal-close:hover{background:#0f172af2}.hero h1{animation:fadeIn 1s ease forwards;font-size:2.1rem;letter-spacing:.03em;margin-bottom:.35rem}.hero h2{animation:fadeIn 1.2s ease forwards;color:#0ea5e9;color:var(--accent);font-size:1.3rem;font-weight:500;letter-spacing:.22em;margin-bottom:1rem;text-transform:uppercase}.hero p{animation:fadeIn 1.4s ease forwards;color:#9ca3af;color:var(--text-muted);font-size:.98rem;margin-bottom:1.75rem;max-width:560px}.hero-buttons{animation:fadeIn 1.6s ease forwards;flex-wrap:wrap;gap:.8rem}.hero-buttons,.hero-scene{display:flex;justify-content:center}.hero-scene{align-items:center;animation:fadeIn 1.8s ease forwards;margin-top:2.5rem}.hero-illustration{border:1px solid #94a3b859;border-radius:1.25rem;border-radius:var(--radius-lg);box-shadow:0 24px 48px #0f172ad9,0 0 0 1px #0ea5e926;display:block;height:auto;max-width:min(90vw,380px);object-fit:cover;object-position:center}@media (min-width:769px){.hero-illustration{max-width:420px}}.btn{align-items:center;background:#0ea5e9;background:var(--accent);border:1px solid #0000;border-radius:999px;box-shadow:0 12px 30px #082f4999;color:#020617;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:.5rem;justify-content:center;padding:.7rem 1.6rem;text-decoration:none;transition:background .2s ease,transform .15s ease,box-shadow .15s ease,border-color .2s ease,color .2s ease}.btn:hover{background:#0284c7;background:var(--accent-hover);box-shadow:0 16px 40px #082f49cc;transform:translateY(-1px)}.btn:active{box-shadow:0 8px 22px #082f49b3;transform:translateY(0)}.btn.secondary{background:#0000;border-color:#0ea5e92e;border-color:var(--accent-soft);box-shadow:none;color:#e5e7eb;color:var(--text-main)}.btn.secondary:hover{background:#0ea5e92e;background:var(--accent-soft)}.btn i{font-size:1rem}.section{margin:0 auto;max-width:1100px;padding:4.5rem 1.5rem;text-align:center}.section h2{color:#e0f2fe;font-size:2.1rem;letter-spacing:.08em;margin-bottom:1.75rem;text-transform:uppercase}.section p{color:#9ca3af;color:var(--text-muted);font-size:.98rem}.skills-container{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-top:1.5rem}.skill-card{align-items:center;background:#0f172ae6;background:var(--card-bg);border:1px solid #0f766e59;border-radius:.75rem;border-radius:var(--radius-md);box-shadow:0 10px 25px #0f172acc;display:flex;gap:.75rem;padding:.9rem 1.1rem;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}.skill-card:hover{background:radial-gradient(circle at top,#1d4ed8 0,#0000 70%),#0f172ae6;background:radial-gradient(circle at top,#1d4ed8 0,#0000 70%),var(--card-bg);border-color:#2dd4bf99;box-shadow:0 16px 40px #0f172af2;transform:translateY(-3px)}.skill-icon{flex-shrink:0;font-size:1.8rem}.skill-name{font-size:.98rem}.portfolio-grid{grid-gap:1.6rem;display:grid;gap:1.6rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:1.5rem}.portfolio-item{background:#0f172ae6;background:var(--card-bg);border:1px solid #94a3b866;border:1px solid var(--border-subtle);border-radius:1.25rem;border-radius:var(--radius-lg);box-shadow:0 18px 45px #0f172ad9;box-shadow:var(--shadow-soft);padding:1.6rem 1.7rem;text-align:left;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.portfolio-item:hover{border-color:#38bdf8a6;box-shadow:0 24px 60px #0f172afa;transform:translateY(-4px)}.portfolio-item h3{color:#e0f2fe;font-size:1.1rem;margin-bottom:.65rem}.portfolio-item p{font-size:.95rem;margin-bottom:.75rem}.portfolio-item a{color:#0ea5e9;color:var(--accent);font-size:.92rem;font-weight:500;text-decoration:none}.portfolio-item a:hover{text-decoration:underline}.contact-form{background:#0f172ae6;background:var(--card-bg);border:1px solid #94a3b866;border:1px solid var(--border-subtle);border-radius:1.25rem;border-radius:var(--radius-lg);box-shadow:0 18px 45px #0f172ad9;box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:1rem;margin-left:auto;margin-right:auto;margin-top:1.5rem;max-width:640px;padding:1.8rem 1.75rem}.contact-form input,.contact-form textarea{background:#0f172ae6;border:1px solid #94a3b899;border-radius:.6rem;color:#e5e7eb;color:var(--text-main);font-size:.95rem;outline:none;padding:.75rem .9rem;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;width:100%}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#94a3b8b3}.contact-form input:focus,.contact-form textarea:focus{background:#0f172afa;border-color:#38bdf8e6;box-shadow:0 0 0 1px #38bdf8b3}.contact-form textarea{min-height:130px;resize:vertical}.contact-form button{align-self:flex-end}.contact-info{color:#9ca3af;color:var(--text-muted);margin-top:1.5rem}.contact-info p{margin:.25rem 0}.contact-info a{color:#0ea5e9;color:var(--accent);text-decoration:none}.contact-info a:hover{text-decoration:underline}.back-to-top{background:#0f172ae6;background:var(--card-bg);border:1px solid #94a3b866;border:1px solid var(--border-subtle);border-radius:50%;bottom:2rem;box-shadow:0 18px 45px #0f172ad9;box-shadow:var(--shadow-soft);color:#0ea5e9;color:var(--accent);cursor:pointer;font-size:1.25rem;height:48px;position:fixed;right:2rem;transition:transform .2s ease,background .2s ease,color .2s ease;width:48px;z-index:900}.back-to-top:hover{background:#0ea5e92e;background:var(--accent-soft);transform:translateY(-2px)}.back-to-top:focus-visible{outline:2px solid #0ea5e9;outline:2px solid var(--accent);outline-offset:3px}@media (max-width:768px){.back-to-top{bottom:1.25rem;font-size:1.1rem;height:44px;right:1.25rem;width:44px}}footer{background:linear-gradient(90deg,#0f172afa,#111827fa);border-top:1px solid #1e40afcc;color:#9ca3af;color:var(--text-muted);font-size:.85rem;margin-top:2rem;padding:2rem 1.5rem 2.5rem;text-align:center}.footer-social{display:flex;gap:1.25rem;justify-content:center;margin-bottom:1.25rem}.footer-social-link{align-items:center;background:#94a3b826;border:1px solid #94a3b84d;border-radius:50%;color:#9ca3af;color:var(--text-muted);display:inline-flex;font-size:1.1rem;height:40px;justify-content:center;transition:color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease;width:40px}.footer-social-link:hover{background:#0ea5e92e;background:var(--accent-soft);border-color:#0ea5e980;color:#0ea5e9;color:var(--accent);transform:translateY(-2px)}.footer-social-link:focus-visible{outline:2px solid #0ea5e9;outline:2px solid var(--accent);outline-offset:3px}@keyframes fadeIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.nav-toggle{display:flex}.nav-links{align-items:flex-start;background:#0f172af2;background:var(--bg-elevated);border-bottom-left-radius:1.25rem;box-shadow:0 18px 40px #0f172af2;flex-direction:column;gap:.9rem;height:auto;max-width:260px;padding:1.25rem 1.4rem 1.4rem;position:fixed;right:0;top:64px;top:var(--navbar-height);transform:translateX(100%);transition:transform .25s ease-out;width:70%;z-index:999}.nav-links.active{transform:translateX(0)}.hero h1,.hero h2,.hero p,.hero-buttons,.hero-scene{position:relative;z-index:998}.hero .profile-pic{position:relative;z-index:1001}.hero{padding:calc(64px + 2.5rem) 1.25rem 3.5rem;padding:calc(var(--navbar-height) + 2.5rem) 1.25rem 3.5rem}.hero h1{font-size:1.9rem}.hero h2{font-size:1.15rem;letter-spacing:.16em}.section{padding:3.5rem 1.25rem}}@media (min-width:769px) and (max-width:1024px){.hero h1{font-size:2.4rem}.hero h2{font-size:1.25rem}.section{padding:4.5rem 2.25rem}}@media (min-width:1025px){.hero{padding-top:calc(64px + 5rem);padding-top:calc(var(--navbar-height) + 5rem)}.hero h1{font-size:2.8rem}.hero h2{font-size:1.35rem}.section{padding:5rem 2.5rem}}
/*# sourceMappingURL=main.655ddbf0.css.map*/