@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";:root{--bg-color: #0a0a0a;--bg-secondary: #111111;--bg-elevated: #1a1a1a;--text-color: #ffffff;--text-secondary: rgba(255, 255, 255, .65);--text-tertiary: rgba(255, 255, 255, .45);--accent-primary: #0066ff;--accent-hover: #0052cc;--accent-light: #3385ff;--border-color: rgba(255, 255, 255, .06);--border-hover: rgba(255, 255, 255, .12);--card-bg: rgba(255, 255, 255, .02);--card-hover-bg: rgba(255, 255, 255, .04);--font-main: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--container-width: 1400px;--section-padding: 120px;--transition-smooth: cubic-bezier(.16, 1, .3, 1);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .12);--shadow-md: 0 4px 12px rgba(0, 0, 0, .15);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .25)}*{margin:0;padding:0;box-sizing:border-box}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-scrolling iframe{pointer-events:none}body{background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-main);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}a{text-decoration:none;color:inherit}ul{list-style:none}.container{max-width:var(--container-width);margin:0 auto;padding:0 40px}@media(max-width:768px){.container{padding:0 20px}}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.1;letter-spacing:-.03em}h1{font-size:clamp(3rem,8vw,7rem);font-weight:800;letter-spacing:-.04em}h2{font-size:clamp(2.5rem,5vw,4.5rem);margin-bottom:1rem;font-weight:700}h3{font-size:clamp(1.5rem,3vw,2rem);font-weight:600}p{font-size:1.1rem;line-height:1.7;color:var(--text-secondary)}.section-intro{font-size:1.25rem;color:var(--text-tertiary);max-width:600px;margin:0 auto 4rem;text-align:center}.text-gradient{color:var(--accent-primary);font-weight:800}.btn{display:inline-block;padding:1.1rem 2.5rem;background:var(--text-color);color:var(--bg-color);font-weight:600;border-radius:8px;transition:all .4s var(--transition-smooth);text-transform:uppercase;letter-spacing:.1em;border:2px solid var(--text-color);font-size:.9rem;cursor:pointer}.btn:hover{background:transparent;color:var(--text-color);transform:translateY(-2px);box-shadow:0 10px 30px #00f3ff4d}.btn-outline{background:transparent;color:var(--text-color);border:2px solid rgba(255,255,255,.3)}.btn-outline:hover{border-color:var(--accent-primary);background:#0066ff1a;box-shadow:0 10px 30px #06f3}section{padding:var(--section-padding) 0;position:relative}@media(max-width:768px){section{padding:80px 0}}header{position:fixed;top:0;left:0;width:100%;padding:20px 0;z-index:1000;background:#0a0a0af2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);transition:all .3s var(--transition-smooth)}header.scrolled{background:#0a0a0afa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:15px 0;border-bottom:1px solid var(--border-hover)}header .container{display:flex;justify-content:space-between;align-items:center}.logo-text{font-size:1.5rem;font-weight:800;letter-spacing:-.05em}.logo-accent{color:var(--accent-primary)}nav ul{display:flex;gap:3rem}nav a{font-size:.95rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;opacity:.7;transition:opacity .3s;position:relative}nav a:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:2px;background:var(--accent-primary);transition:width .3s var(--transition-smooth)}nav a:hover{opacity:1}nav a:hover:after{width:100%}@media(max-width:768px){nav ul{gap:1.5rem}nav a{font-size:.85rem}}footer{padding:60px 0;border-top:1px solid var(--card-border);text-align:center}.footer-tagline{margin-top:.5rem;font-size:.9rem;color:var(--text-tertiary)}[data-scroll]{opacity:0;transform:translateY(40px);transition:opacity 1s var(--transition-smooth),transform 1s var(--transition-smooth)}[data-scroll].is-visible{opacity:1;transform:translateY(0)}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding-top:120px;position:relative}.hero-bg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1}.hero-bg:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,#0a0a0f4d,#0a0a0fe6)}.hero-bg img{width:100%;height:100%;object-fit:cover;opacity:.6}.hero-content{text-align:center;max-width:1000px;padding:0 20px}.hero-content p{font-size:1.4rem;margin:2rem 0 3rem;color:var(--text-secondary);max-width:700px;margin-left:auto;margin-right:auto}.hero-cta{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}.reveal-text{opacity:0;transform:translateY(60px);animation:reveal 1s var(--transition-smooth) forwards}.delay-1{animation-delay:.2s}.delay-2{animation-delay:.4s}@keyframes reveal{to{opacity:1;transform:translateY(0)}}.services{background:var(--bg-secondary)}.services h2{text-align:center;margin-bottom:1rem}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2.5rem;margin-top:4rem}.service-card{background:var(--card-bg);border:1px solid var(--card-border);padding:3rem 2.5rem;border-radius:16px;transition:all .4s var(--transition-smooth);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;overflow:hidden}.service-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:var(--accent-primary);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--transition-smooth)}.service-card:hover:before{transform:scaleX(1)}.service-card:hover{transform:translateY(-8px);background:var(--card-hover-bg);border-color:var(--border-hover);box-shadow:var(--shadow-lg)}.service-number{font-size:.85rem;font-weight:700;color:var(--accent-primary);letter-spacing:.15em;margin-bottom:1.5rem;opacity:.7}.service-card .icon{width:60px;height:60px;margin-bottom:2rem}.service-card .icon svg{width:100%;height:100%}.service-card h3{margin-bottom:1rem;font-size:1.6rem}.service-card p{margin-bottom:1.5rem;line-height:1.8}.tech-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem}.tech-tags span{padding:.4rem 1rem;background:#0066ff14;border:1px solid rgba(0,102,255,.2);border-radius:20px;font-size:.85rem;font-weight:500;color:var(--accent-light)}.process h2{text-align:center}.process-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:3rem;margin-top:5rem}.step{position:relative;padding-top:2.5rem}.step:before{content:"";position:absolute;top:0;left:0;width:60px;height:3px;background:var(--accent-primary)}.step-number{font-size:4rem;font-weight:900;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.1);position:absolute;top:-1rem;right:0;line-height:1;-webkit-user-select:none;user-select:none}.step h3{margin-bottom:1rem;color:var(--text-color);font-size:1.8rem}.step p{margin-bottom:1.5rem}.step-details{list-style:none;padding-left:0}.step-details li{padding-left:1.5rem;position:relative;margin-bottom:.5rem;color:var(--text-tertiary);font-size:.95rem}.step-details li:before{content:"→";position:absolute;left:0;color:var(--accent-primary)}@media(max-width:768px){.process-steps{grid-template-columns:1fr;gap:3rem}}.portfolio{background:var(--bg-secondary)}.portfolio h2{text-align:center}.portfolio-showcase{max-width:1200px;margin:4rem auto;border-radius:20px;overflow:hidden;box-shadow:0 30px 80px #00000080}.portfolio-showcase img{width:100%;height:auto;display:block}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2.5rem;margin-top:4rem}.portfolio-card{background:var(--card-bg);border:1px solid var(--card-border);padding:2.5rem;border-radius:16px;transition:all .4s var(--transition-smooth)}.portfolio-card:hover{transform:translateY(-5px);border-color:var(--border-hover);box-shadow:var(--shadow-lg)}.portfolio-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.15em;color:var(--accent-primary);font-weight:600;margin-bottom:1rem}.portfolio-card h3{margin-bottom:1rem;font-size:1.6rem}.portfolio-card p{margin-bottom:1.5rem}.tech h2{text-align:center}.tech-categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:3rem;margin-top:4rem}.tech-category h3{font-size:1.3rem;margin-bottom:1.5rem;color:var(--text-color);font-weight:600}.tech-grid{display:flex;flex-wrap:wrap;gap:.8rem}.tech-item{padding:.8rem 1.5rem;border:1px solid var(--card-border);border-radius:30px;font-weight:600;font-size:.9rem;transition:all .3s var(--transition-smooth);background:var(--card-bg)}.tech-item:hover{background:#0066ff14;border-color:var(--accent-primary);color:var(--accent-primary);transform:translateY(-2px)}.about{background:var(--bg-secondary)}.about-content{max-width:900px;margin:0 auto}.about h2{margin-bottom:2rem}.about .lead{font-size:1.6rem;color:var(--text-color);margin-bottom:2rem;font-weight:500;line-height:1.4}.about p{font-size:1.15rem;margin-bottom:1.5rem}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:3rem;margin-top:4rem;padding-top:3rem;border-top:1px solid var(--card-border)}.stat{text-align:center}.stat .number{font-size:3.5rem;font-weight:800;color:var(--accent-primary);display:block;line-height:1;margin-bottom:.5rem}.stat .label{text-transform:uppercase;font-size:.85rem;letter-spacing:.15em;color:var(--text-tertiary);font-weight:600}.cta{text-align:center;padding:150px 0;position:relative;overflow:hidden}.cta:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(0,102,255,.05) 0%,transparent 70%);border-radius:50%;pointer-events:none}.cta-content{position:relative;z-index:1}.cta h2{margin-bottom:1.5rem}.cta p{font-size:1.3rem;margin-bottom:3rem;max-width:600px;margin-left:auto;margin-right:auto}.contact{background:var(--bg-secondary)}.contact h2{text-align:center}.contact-wrapper{display:grid;grid-template-columns:1.5fr 1fr;gap:5rem;margin-top:4rem;max-width:1200px;margin-left:auto;margin-right:auto}.contact-form{display:flex;flex-direction:column;gap:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.9rem;font-weight:600;color:var(--text-color);letter-spacing:.05em;text-transform:uppercase}.form-group input,.form-group select,.form-group textarea{width:100%;padding:1.1rem 1.3rem;background:#141414f2;border:1px solid var(--border-color);color:#fff;font-family:inherit;border-radius:8px;font-size:1rem;transition:all .3s var(--transition-smooth)}.form-group select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}.form-group select option{background:#1a1a1a;color:#fff;padding:.5rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-primary);background:#1e1e1ef2;box-shadow:0 0 0 3px #0066ff1a}.form-group textarea{resize:vertical;min-height:120px}.contact-form .btn{align-self:flex-start;margin-top:1rem}.form-message{padding:1rem;border-radius:8px;font-weight:500;display:none}.form-message.success{display:block;background:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:#22c55e}.form-message.error{display:block;background:#ff00641a;border:1px solid rgba(255,0,100,.3);color:#ff0064}.contact-info{display:flex;flex-direction:column;gap:2rem}.contact-info h3{font-size:1.8rem;margin-bottom:.5rem}.contact-info>p{color:var(--text-tertiary);margin-bottom:1rem}.contact-methods{display:flex;flex-direction:column;gap:1rem}.contact-link{display:flex;align-items:center;gap:1rem;padding:1.2rem 1.5rem;background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;font-size:1.1rem;font-weight:500;transition:all .3s var(--transition-smooth)}.contact-link svg{width:24px;height:24px;flex-shrink:0}.contact-link:hover{background:#0066ff0d;border-color:var(--accent-primary);color:var(--accent-primary);transform:translate(5px)}@media(max-width:1024px){.contact-wrapper{grid-template-columns:1fr;gap:4rem}.form-row{grid-template-columns:1fr}}@media(max-width:768px){h1{font-size:3rem}.hero-content p,.section-intro{font-size:1.1rem}.stats{gap:2rem}.stat .number{font-size:2.5rem}}
