.hero{background:linear-gradient(135deg,#0d1b2e 0%,#060e1a 100%);align-items:center;min-height:100vh;padding-top:70px;display:flex;position:relative;overflow:hidden}.hero-particles{pointer-events:none;position:absolute;inset:0;overflow:hidden}.particle{width:3px;height:3px;left:calc(var(--i) * 5.8%);animation:floatUp calc(6s + var(--i) * .4s) calc(var(--i) * .3s) infinite ease-in;background:#2a6fc999;border-radius:50%;position:absolute;bottom:-10px}.particle:nth-child(2n){background:#4d8fd966;width:2px;height:2px}@keyframes floatUp{0%{opacity:0;transform:translateY(0)translate(0)}10%{opacity:1}90%{opacity:.3}to{transform:translateY(-100vh) translateX(calc(sin(var(--i)) * 60px));opacity:0}}.hero-content{z-index:1;width:100%;padding:3rem 0;position:relative}.hero .container{justify-content:center;align-items:center;display:flex}.hero-text{text-align:center;max-width:700px}.hero-buttons,.hero-stats{justify-content:center}.hero-badge{color:#4d8fd9;letter-spacing:.05em;background:#2a6fc926;border:1px solid #2a6fc966;border-radius:2rem;margin-bottom:1.5rem;padding:.45rem 1.2rem;font-size:.8rem;font-weight:600;animation:.7s ease-out fadeInDown;display:inline-block}.hero-text h1{color:var(--text-light);margin-bottom:1.5rem;font-size:3.5rem;line-height:1.15;animation:.7s ease-out .1s both fadeInDown}.typed-line{color:#4d8fd9;min-height:1.2em;display:block}.cursor{color:var(--accent);margin-left:2px;font-weight:300;animation:.75s step-end infinite blink;display:inline-block}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.accent-line{color:var(--text-light);display:block}.hero-text p{color:#8a9bb0;margin-bottom:2rem;font-size:1.1rem;line-height:1.8;animation:.7s ease-out .2s both fadeInDown}.hero-text p strong{color:#4d8fd9}.hero-buttons{flex-wrap:wrap;gap:1rem;margin-bottom:2.5rem;animation:.7s ease-out .3s both fadeInDown;display:flex}.hero-stats{align-items:center;gap:1.5rem;animation:.7s ease-out .4s both fadeInDown;display:flex}.stat{flex-direction:column;gap:.2rem;display:flex}.stat strong{color:var(--text-light);font-size:1.4rem;font-weight:700}.stat span{color:#8a9bb0;font-size:.78rem}.stat-divider{background:#2a6fc94d;width:1px;height:40px}.hero-image{justify-content:center;animation:.9s ease-out .2s both fadeInRight;display:flex}.hero-image-wrapper{width:440px;position:relative}.hero-image-wrapper img:first-child{object-fit:cover;border-radius:1.5rem;width:100%;height:520px;transition:transform .4s;box-shadow:0 30px 80px #2a6fc940,0 0 0 1px #2a6fc91a}.hero-image-wrapper:hover img:first-child{transform:scale(1.02)}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@media (width<=1100px){.hero .container{grid-template-columns:1fr;gap:3rem}.hero-image{order:-1}.hero-image-wrapper{width:320px}.hero-image-wrapper img:first-child{height:380px}.hero-text h1{font-size:2.8rem}}@media (width<=600px){.hero{padding-top:80px}.hero-text h1{font-size:2rem}.hero-image-wrapper{width:100%}.hero-image-wrapper img:first-child{height:300px}.hero-buttons{flex-direction:column}.hero-stats{gap:1rem}.stat strong{font-size:1.1rem}}.services{background:#060e1a;padding:5rem 0}.section-header{text-align:center;opacity:0;margin-bottom:4rem;transition:opacity .7s,transform .7s;transform:translateY(24px)}.section-header.animate-in{opacity:1;transform:translateY(0)}.section-header h2{color:var(--text-light);margin-bottom:1rem}.section-header p{color:#8a9bb0;max-width:500px;margin:0 auto;font-size:1.1rem}.services-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;display:grid}.services-grid .service-card{opacity:0;transition:opacity .6s ease var(--delay,0s), transform .6s ease var(--delay,0s), box-shadow .3s ease, border-color .3s ease;transform:translateY(30px)}.services-grid.animate-in .service-card{opacity:1;transform:translateY(0)}.service-card{background:#112240;border:1px solid #2a6fc933;border-radius:1rem;flex-direction:column;padding:2.5rem;display:flex}.services-grid.animate-in .service-card:hover{border-color:var(--accent);box-shadow:0 12px 40px #2a6fc933;transform:translateY(-8px)!important}.service-icon{margin-bottom:1.5rem;font-size:2.5rem}.service-card h3{color:var(--text-light);margin-bottom:.5rem}.subtitle{color:#4d8fd9;margin-bottom:1rem;font-size:.9rem;font-weight:600}.description{color:#8a9bb0;margin-bottom:2rem;font-size:.95rem;line-height:1.7}.features{flex-grow:1;margin-bottom:2.5rem}.feature{color:#c0cfe0;align-items:center;gap:.75rem;margin-bottom:.9rem;font-size:.95rem;display:flex}.check{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.75rem;font-weight:700;display:inline-flex}.service-footer{border-top:1px solid #2a6fc933;justify-content:space-between;align-items:center;gap:1rem;padding-top:1.5rem;display:flex}.price{color:var(--text-light);white-space:nowrap;font-size:1.3rem;font-weight:700}.service-footer .btn{flex-grow:1;padding:.6rem 1.2rem;font-size:.9rem}@media (width<=768px){.services{padding:3rem 0}.services-grid{grid-template-columns:1fr;gap:1.5rem}.service-card{padding:2rem}.service-footer{flex-direction:column}.service-footer .btn{width:100%}}.about{background:#0d1b2e;padding:6rem 0;overflow:hidden}.about-wrapper{opacity:0;grid-template-columns:1fr 1fr;align-items:center;gap:5rem;transition:opacity .8s,transform .8s;display:grid;transform:translateY(40px)}.about-wrapper.animate-in{opacity:1;transform:translateY(0)}.about-image-col{justify-content:center;display:flex}.about-image-frame{width:400px;position:relative}.about-image-frame img:first-child{object-fit:cover;border-radius:1.5rem;width:100%;height:500px;box-shadow:0 24px 60px #2a6fc933,0 0 0 1px #2a6fc91f}.about-image-frame:before{content:"";pointer-events:none;border:2px solid #2a6fc940;border-radius:1.8rem;position:absolute;inset:-12px 12px 12px -12px}.about-logo-pill{white-space:nowrap;background:#112240;border:1px solid #2a6fc94d;border-radius:3rem;align-items:center;gap:.75rem;padding:.75rem 1.25rem;animation:4s ease-in-out infinite floatY;display:flex;position:absolute;bottom:-20px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0006}.about-logo-pill img{object-fit:contain;border-radius:.3rem;width:36px;height:36px}.about-logo-pill strong{color:var(--text-light);font-size:.95rem;display:block}.about-logo-pill span{color:#8a9bb0;font-size:.7rem;display:block}@keyframes floatY{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-6px)}}.section-tag{color:#4d8fd9;letter-spacing:.05em;background:#2a6fc926;border:1px solid #2a6fc959;border-radius:2rem;margin-bottom:1.25rem;padding:.35rem 1rem;font-size:.78rem;font-weight:600;display:inline-block}.about-text-col h2{color:var(--text-light);margin-bottom:1.5rem;line-height:1.25}.name-highlight{color:#4d8fd9}.about-text-col p{color:#8a9bb0;margin-bottom:1.2rem;font-size:1rem;line-height:1.8}.about-text-col p strong{color:#c0cfe0}.skills{flex-direction:column;gap:1.1rem;margin:2rem 0 2.5rem;display:flex}.skill-row{flex-direction:column;gap:.4rem;display:flex}.skill-label{color:#c0cfe0;justify-content:space-between;font-size:.88rem;font-weight:500;display:flex}.skill-bar{background:#2a6fc91a;border-radius:3px;width:100%;height:6px;overflow:hidden}.skill-fill{width:0;height:100%;animation:growBar 1s ease-out var(--animationDelay,.2s) forwards;animation-delay:var(--animationDelay,.2s);background:linear-gradient(90deg,#2a6fc9,#4d8fd9);border-radius:3px}.about-wrapper.animate-in .skill-fill{animation:1s ease-out forwards growBar}@keyframes growBar{0%{width:0}to{width:var(--target)}}@media (width<=1024px){.about-wrapper{grid-template-columns:1fr;gap:4rem}.about-image-col{order:-1}.about-image-frame{width:320px}.about-image-frame img:first-child{height:380px}}@media (width<=600px){.about{padding:4rem 0}.about-image-frame{width:100%}.about-image-frame img:first-child{height:300px}.about-text-col h2{font-size:1.8rem}}.portfolio{background:#0d1b2e;padding:5rem 0}.portfolio .section-header{margin-bottom:4rem}.portfolio .section-header h2{color:var(--text-light)}.portfolio .section-header p{color:#8a9bb0}.portfolio-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;display:grid}.portfolio-grid .portfolio-item{opacity:0;transition:opacity .5s ease var(--delay,0s), transform .5s ease var(--delay,0s), box-shadow .3s ease, border-color .3s ease, transform .3s ease;transform:translateY(30px)}.portfolio-grid.animate-in .portfolio-item{opacity:1;transform:translateY(0)}.portfolio-item{background:#112240;border:1px solid #2a6fc926;border-radius:1rem;flex-direction:column;display:flex;overflow:hidden}.portfolio-grid.animate-in .portfolio-item:hover{border-color:var(--accent);box-shadow:0 12px 32px #2a6fc933;transform:translateY(-6px)!important}.portfolio-placeholder{background:linear-gradient(135deg,#0d1b2e,#1a3560);border-bottom:1px solid #2a6fc91a;justify-content:center;align-items:center;width:100%;height:160px;display:flex}.placeholder-icon{opacity:.6;font-size:3rem}.portfolio-content{flex-direction:column;flex-grow:1;padding:1.75rem;display:flex}.category{color:#4d8fd9;background:#2a6fc933;border:1px solid #2a6fc94d;border-radius:.3rem;width:fit-content;margin-bottom:.75rem;padding:.3rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.portfolio-content h3{color:var(--text-light);margin-bottom:.5rem;font-size:1.1rem}.portfolio-content p{color:#8a9bb0;flex-grow:1;margin-bottom:1.5rem;font-size:.9rem;line-height:1.6}.tech-stack{flex-wrap:wrap;gap:.4rem;display:flex}.tech-tag{color:#8ab4d9;background:#2a6fc91a;border:1px solid #2a6fc926;border-radius:.3rem;padding:.3rem .7rem;font-size:.75rem;font-weight:500;display:inline-block}@media (width<=768px){.portfolio{padding:3rem 0}.portfolio-grid{grid-template-columns:1fr;gap:1.25rem}.portfolio-content{padding:1.5rem}}.contact{background:#060e1a;padding:5rem 0 0}.contact-wrapper{grid-template-columns:1fr 1fr;align-items:start;gap:4rem;margin-bottom:5rem;display:grid}.contact-info h2{color:var(--text-light);margin-bottom:1.5rem}.contact-info>p{color:#8a9bb0;margin-bottom:2.5rem;font-size:1.05rem;line-height:1.8}.contact-details{flex-direction:column;gap:2rem;display:flex}.detail-item{align-items:flex-start;gap:1rem;display:flex}.detail-item .icon{background:#2a6fc926;border:1px solid #2a6fc940;border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.25rem;display:flex}.detail-item .label{color:var(--text-light);margin-bottom:.25rem;font-size:.9rem;font-weight:600}.detail-item a,.detail-item p{color:#8a9bb0;margin:0;font-size:1rem;text-decoration:none}.detail-item a:hover{color:var(--accent-light)}.contact-form{background:#112240;border:1px solid #2a6fc933;border-radius:1rem;padding:2.5rem}.form-group{margin-bottom:1.5rem}.form-group label{color:var(--text-light);margin-bottom:.5rem;font-size:.95rem;font-weight:600;display:block}.form-group input,.form-group textarea{width:100%;color:var(--text-light);background:#0d1b2e;border:1px solid #2a6fc940;border-radius:.5rem;padding:.75rem;font-family:inherit;font-size:1rem;transition:border-color .3s}.form-group input::placeholder,.form-group textarea::placeholder{color:#4a5f75}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #2a6fc926}.form-group textarea{resize:vertical;min-height:120px}.contact-form .btn{width:100%}.success-message{background:var(--success);color:#fff;border-radius:.5rem;margin-bottom:1.5rem;padding:1rem;font-weight:500;animation:.3s ease-out slideDown}.error-message{color:#fff;background:#c0392b;border-radius:.5rem;margin-bottom:1.5rem;padding:1rem;font-weight:500}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.footer{color:var(--text-light);background:#040b14;border-top:1px solid #2a6fc926;padding:2.5rem 0}.footer .container{justify-content:space-between;align-items:center;gap:2rem;display:flex}.footer p{color:#8a9bb0;margin:0}.social-links{gap:2rem;display:flex}.social-link{color:#8a9bb0;font-size:.95rem;text-decoration:none;transition:color .3s}.social-link:hover{color:var(--accent-light)}@media (width<=1024px){.contact-wrapper{grid-template-columns:1fr;gap:3rem}}@media (width<=768px){.contact{padding:3rem 0 0}.contact-info h2{font-size:2rem}.contact-form{padding:1.5rem}.contact-details{gap:1.5rem}.footer .container{text-align:center;flex-direction:column}.social-links{justify-content:center}}.nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;background:#060e1af7;border-bottom:1px solid #2a6fc933;padding:1rem 0;position:fixed;top:0;left:0;right:0}.nav-container{justify-content:space-between;align-items:center;display:flex}.nav-logo h3{color:var(--accent);margin:0;font-size:1.5rem}.nav-menu{gap:2rem;list-style:none;display:flex}.nav-menu button{color:var(--text-light);cursor:pointer;background:0 0;border:none;padding:.5rem 0;font-size:1rem;font-weight:500;transition:color .3s;position:relative}.nav-menu button:hover{color:var(--accent)}.nav-menu button:after{content:"";background:var(--accent);width:0;height:2px;transition:width .3s;position:absolute;bottom:-5px;left:0}.nav-menu button:hover:after{width:100%}.nav-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:6px;display:none}.nav-toggle span{background:var(--accent);border-radius:2px;width:25px;height:3px;transition:all .3s}@media (width<=768px){.nav-toggle{display:flex}.nav-menu{background:var(--primary-dark);flex-direction:column;gap:0;max-height:0;transition:max-height .3s;position:absolute;top:70px;left:0;right:0;overflow:hidden}.nav-menu.active{max-height:400px}.nav-menu li{border-bottom:1px solid #f4b8601a}.nav-menu button{text-align:left;width:100%;padding:1rem 2rem;display:block}.nav-menu button:after{display:none}}#root{width:100%}section{scroll-margin-top:80px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#1a1a1a;background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}:root{--primary:#0d1b2e;--primary-dark:#060e1a;--primary-mid:#112240;--accent:#2a6fc9;--accent-light:#4d8fd9;--text-light:#f0f4f8;--text-dark:#1a1a1a;--border:#e5e5e5;--success:#10b981;--shadow:0 4px 6px #00000026;--shadow-lg:0 20px 25px #0003}h1{margin-bottom:1rem;font-size:4rem;font-weight:700;line-height:1.1}h2{margin-bottom:1rem;font-size:2.5rem;font-weight:700;line-height:1.2}h3{margin-bottom:.75rem;font-size:1.5rem;font-weight:600;line-height:1.3}p{color:#555;font-size:1rem;line-height:1.6}.btn{cursor:pointer;text-align:center;border:none;border-radius:.5rem;padding:.75rem 2rem;font-size:1rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-block}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-light);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-secondary{color:var(--text-light);border:2px solid var(--accent);background:0 0}.btn-secondary:hover{background:var(--accent);color:#fff;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.container{max-width:1200px;margin:0 auto;padding:0 2rem}@media (width<=768px){h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.25rem}.container{padding:0 1rem}}
