:root{--bg-primary:#0a0e27;--bg-secondary:#0f1535;--bg-tertiary:#16203f;--text-primary:#e8e8e8;--text-secondary:#f0f0f0;--accent-cyan:#00d4ff;--accent-blue:#08f;--accent-purple:#7c3aed;--border-color:#1a2449;--code-bg:#0d1a2e}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;color:var(--text-primary);background:linear-gradient(135deg,var(--bg-primary) 0,var(--bg-secondary) 100%);background-attachment:fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary)}h1,h2,h3,h4,h5,h6{line-height:1.2;font-weight:700;margin-bottom:1rem;color:#fff;text-shadow:0 0 20px rgba(0,212,255,.1)}h1{font-size:2.5rem;font-weight:800;background:linear-gradient(135deg,var(--accent-cyan) 0,var(--accent-blue) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}h2{font-size:2rem;color:var(--accent-cyan);font-weight:700}h3{font-size:1.5rem;color:#fff}p{margin-bottom:1rem;color:var(--text-secondary)}a{color:var(--accent-cyan);text-decoration:none;transition:all .2s ease;position:relative}a:hover{color:var(--accent-blue);text-shadow:0 0 10px rgba(0,212,255,.5)}button{font-family:inherit;cursor:pointer}body{display:flex;flex-direction:column;min-height:100vh}main{flex:1 1}section{padding:6rem 2rem;border-bottom:1px solid var(--border-color)}.container{max-width:1200px;margin:0 auto;width:100%;padding:0 1.5rem}.hero{display:flex;align-items:center;justify-content:center;min-height:80vh;text-align:center;background:radial-gradient(circle at center,rgba(0,212,255,.05) 0,transparent 70%);border-bottom:2px solid var(--border-color)}.hero h1{font-size:3.5rem;margin-bottom:1.5rem;letter-spacing:-1px}.hero .subtitle{font-size:1.3rem;color:var(--accent-cyan);margin-bottom:1rem;font-weight:600;text-shadow:0 0 20px rgba(0,212,255,.3)}.hero .description{font-size:1.1rem;color:var(--text-secondary);max-width:700px;margin:0 auto;line-height:1.8}.grid{display:grid;grid-gap:2rem;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:2rem}.grid.col-2{grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.card{background:rgba(15,21,53,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:2rem;border-radius:8px;border:1px solid var(--border-color);transition:all .3s ease}.card:hover{border-color:var(--accent-cyan);box-shadow:0 0 30px rgba(0,212,255,.2),inset 0 0 30px rgba(0,212,255,.05);transform:translateY(-4px)}.card h3{color:var(--accent-cyan)}.card h3,.card p{margin-bottom:1rem}.card p{color:var(--text-secondary)}.tech-group{margin-bottom:2rem}.tech-group h4{font-size:.95rem;color:var(--accent-cyan);text-transform:uppercase;letter-spacing:1px;margin-bottom:.75rem;font-weight:700}.tech-list{display:flex;flex-wrap:wrap;gap:.75rem}.tech-tag{display:inline-block;background:rgba(0,212,255,.1);color:var(--accent-cyan);padding:.5rem 1rem;border-radius:4px;font-size:.9rem;border:1px solid rgba(0,212,255,.3);transition:all .2s ease;font-weight:600}.tech-tag:hover{background:rgba(0,212,255,.2);box-shadow:0 0 15px rgba(0,212,255,.3);border-color:var(--accent-cyan)}.project{padding:2rem;background:rgba(15,21,53,.6);border-radius:8px;border:1px solid var(--border-color);border-left:4px solid var(--accent-cyan);margin-bottom:2rem;transition:all .3s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.project:hover{background:rgba(15,21,53,.8);box-shadow:0 0 25px rgba(0,212,255,.15);border-color:var(--accent-cyan)}.project h3{color:var(--accent-cyan);margin-bottom:1rem}.project-meta{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.5rem;gap:1.5rem;margin:1.5rem 0}.project-meta strong{display:block;color:var(--accent-blue);font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem;font-weight:700}.project-meta p{margin:0;color:var(--text-secondary)}.project-tech{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.project-tech span{font-size:.85rem;color:var(--accent-cyan);background:rgba(0,212,255,.1);padding:.4rem .8rem;border-radius:3px;border:1px solid rgba(0,212,255,.2)}.workflow-step{margin-bottom:2rem;padding-left:1rem;border-left:3px solid var(--accent-blue)}.workflow-step strong{display:block;color:var(--accent-cyan);font-size:1rem;margin-bottom:.5rem}.workflow-step p{color:var(--text-secondary);margin:0;line-height:1.8}.contact-links{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap;margin-top:2rem}.contact-link{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:1px solid var(--border-color);border-radius:6px;transition:all .3s ease;color:var(--text-primary);text-decoration:none;background:rgba(0,212,255,.05);font-weight:600}.contact-link:hover{border-color:var(--accent-cyan);background:rgba(0,212,255,.15);color:var(--accent-cyan);box-shadow:0 0 20px rgba(0,212,255,.25);transform:translateY(-2px)}footer{padding:2rem;border-top:1px solid var(--border-color);text-align:center;color:var(--text-secondary);font-size:.95rem;background:rgba(10,14,39,.5)}footer a{color:var(--accent-cyan)}header{padding:1.5rem 2rem;border-bottom:1px solid var(--border-color);background:rgba(10,14,39,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:-webkit-sticky;position:sticky;top:0;z-index:100}nav{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.logo{font-weight:800;font-size:1.2rem;color:var(--accent-cyan);text-shadow:0 0 15px rgba(0,212,255,.5)}.nav-menu{display:flex;list-style:none;gap:2rem}.nav-menu a{font-size:.95rem;color:var(--text-secondary);transition:all .2s ease;cursor:pointer}.nav-menu a.active,.nav-menu a:hover{color:var(--accent-cyan);text-shadow:0 0 10px rgba(0,212,255,.5)}@media (max-width:768px){h1{font-size:2rem}h2{font-size:1.5rem}.hero h1{font-size:2rem}.hero .subtitle{font-size:1.1rem}section{padding:4rem 1rem}.grid.col-2,.project-meta{grid-template-columns:1fr}.contact-links{flex-direction:column;gap:1rem}.contact-link{justify-content:center}.nav-menu{gap:1rem;font-size:.9rem}}@media (max-width:480px){h1{font-size:1.5rem}h2{font-size:1.3rem}.hero{min-height:60vh}.hero h1{font-size:1.8rem}.nav-menu{flex-direction:column;gap:.5rem}section{padding:2.5rem 1rem}.container{padding:0 1rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .6s ease-in-out forwards}.text-center{text-align:center}.mt-2{margin-top:2rem}.mb-0{margin-bottom:0}