*,*:before,*:after{box-sizing:border-box}body{margin:0;background:#0f172a;color:#e2e8f0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;scroll-behavior:smooth}h1,h2,h3{line-height:1.2;margin-top:0}.app{max-width:900px;margin:0 auto;padding:2rem 1.5rem 4rem}.navbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:.9rem 0;margin-bottom:1.5rem;background:#0f172ae6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(148,163,184,.2)}.navbar-brand{font-size:1.1rem;font-weight:600}.navbar-links a{margin-left:1rem;text-decoration:none;color:#94a3b8;font-size:.9rem}.navbar-links a:hover{color:#38bdf8}@media(max-width:480px){.navbar-links a{margin-left:.6rem;font-size:.8rem}.navbar-brand{font-size:1rem}}h2{font-size:1.8rem;margin-bottom:1rem;font-weight:600}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.hero{text-align:left;padding:2rem 1.5rem;margin-bottom:3rem;background:radial-gradient(circle at top left,#1d4ed8 0,#1e293b 45%,#020617);border-radius:1rem;box-shadow:0 18px 40px #0006;animation:fadeInUp .5s ease-out .05s both}@media(min-width:768px){.hero{padding:2.5rem}.hero-title{font-size:2.1rem}}.hero-kicker{font-size:.9rem;text-transform:uppercase;letter-spacing:.08em;color:#93c5fd;margin-bottom:.5rem}.hero-title{font-size:1.9rem;margin-bottom:.75rem;color:#e5e7eb}.hero-subtitle{font-size:.98rem;color:#cbd5f5;max-width:36rem;margin-bottom:1.5rem}.hero-actions{display:flex;gap:.75rem;flex-wrap:wrap}.btn{display:inline-block;padding:.55rem 1.1rem;border-radius:999px;font-size:.9rem;text-decoration:none;border:1px solid transparent;transition:background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}.btn-primary{background:#38bdf8;color:#020617;box-shadow:0 10px 25px #38bdf866}.btn-primary:hover{background:#0ea5e9;transform:translateY(-1px);box-shadow:0 16px 30px #38bdf880}.btn-secondary{background:transparent;color:#e5e7eb;border-color:#64748b}.btn-secondary:hover{background:#0f172acc;border-color:#e5e7eb}.projects-grid{display:grid;gap:1.5rem}@media(min-width:768px){.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.projects-grid article{background:#1e293b;padding:1.25rem 1.5rem;border-radius:.75rem;text-align:left;box-shadow:0 10px 15px #00000040;border:1px solid transparent;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}.projects-grid article:hover{transform:translateY(-4px);box-shadow:0 18px 35px #00000073;border-color:#94a3b899;background:#111827}.projects-grid h3{margin-top:0;margin-bottom:.5rem}.projects-grid p{margin:.25rem 0}.project-link{display:inline-block;margin-top:.5rem;font-size:.85rem;color:#38bdf8;text-decoration:none}.project-link:hover{text-decoration:underline}.project-image{width:100%;max-height:220px;object-fit:cover;border-radius:.6rem;margin-bottom:.75rem;display:block}.services-list{display:grid;gap:1.5rem}.services-list article{background:#1e293b;padding:1.25rem 1.5rem;border-radius:.75rem;box-shadow:0 10px 25px #0000004d;text-align:left}.services-list h3{margin-top:0;margin-bottom:.5rem}#skills ul{list-style:none;padding:0;margin:0}#skills li{background:#1e293b;padding:.5rem .75rem;border-radius:.5rem;margin:.35rem .4rem;display:inline-block;font-size:.9rem;border:1px solid rgba(148,163,184,.2);transition:background .18s ease,transform .18s ease,border-color .18s ease}#skills li:hover{background:#0f172a;transform:translateY(-2px);border-color:#94a3b8cc}.about-text{max-width:40rem;margin:.4rem auto;color:#cbd5f5;font-size:.98rem}#contact{text-align:center}.contact-text{color:#cbd5f5;margin-bottom:1rem}.contact-links{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.contact-links a{text-decoration:none;color:#e5e7eb;border-radius:999px;border:1px solid #64748b;padding:.4rem .9rem;font-size:.9rem;transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}.contact-links a:hover{border-color:#38bdf8;color:#38bdf8;background:#0f172ad9;transform:translateY(-1px)}.footer{margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(148,163,184,.25);text-align:center;font-size:.8rem;color:#94a3b8}
