@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";:root{--bg-base: #050508;--bg-surface: #0a0a14;--bg-card: #0d0d1f;--bg-card-hover: #111128;--blue: #0066ff;--blue-bright: #3d8bff;--blue-neon: #00b4ff;--blue-dim: rgba(0, 102, 255, .15);--white: #ffffff;--gray-200: #e2e8f0;--gray-400: #94a3b8;--gray-600: #475569;--border: rgba(255, 255, 255, .06);--border-blue: rgba(0, 102, 255, .25);--border-card: rgba(255, 255, 255, .07);--glow-sm: 0 0 20px rgba(0, 102, 255, .25);--glow-md: 0 0 40px rgba(0, 102, 255, .35);--glow-lg: 0 0 80px rgba(0, 102, 255, .2);--shadow-card: 0 4px 24px rgba(0, 0, 0, .4);--shadow-deep: 0 8px 48px rgba(0, 0, 0, .6);--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--font: "Inter", system-ui, -apple-system, sans-serif;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-smooth: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .6s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font);background:var(--bg-base);color:var(--white);overflow-x:hidden;line-height:1.6}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font-family:var(--font)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{background:var(--blue);border-radius:2px}.display-1{font-size:clamp(2.8rem,6vw,5.5rem);font-weight:900;line-height:1.05;letter-spacing:-.03em}.display-2{font-size:clamp(2rem,4.5vw,4rem);font-weight:800;line-height:1.1;letter-spacing:-.025em}.display-3{font-size:clamp(1.5rem,3vw,2.5rem);font-weight:700;line-height:1.2;letter-spacing:-.02em}.heading-1{font-size:clamp(1.25rem,2vw,1.75rem);font-weight:700;line-height:1.3}.body-lg{font-size:clamp(1rem,1.5vw,1.125rem);line-height:1.7;color:var(--gray-400)}.body-sm{font-size:.875rem;line-height:1.6;color:var(--gray-600)}.accent{color:var(--blue-bright)}.label{font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-bright)}.btn-primary{display:inline-flex;align-items:center;gap:10px;padding:14px 32px;background:var(--blue);color:var(--white);font-size:.9375rem;font-weight:600;letter-spacing:.01em;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.1);box-shadow:0 0 20px #06f6,inset 0 1px #ffffff26;transition:all var(--transition-smooth);position:relative;overflow:hidden;white-space:nowrap}.btn-primary:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.1) 0%,transparent 50%);opacity:0;transition:opacity var(--transition-fast)}.btn-primary:hover{background:var(--blue-bright);box-shadow:0 0 35px #06f9,0 4px 16px #0000004d;transform:translateY(-1px)}.btn-primary:hover:before{opacity:1}.btn-primary:active{transform:translateY(0)}.btn-ghost{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;background:transparent;color:var(--white);font-size:.9375rem;font-weight:600;border-radius:var(--radius-md);border:1px solid var(--border-blue);transition:all var(--transition-smooth)}.btn-ghost:hover{background:var(--blue-dim);border-color:var(--blue);box-shadow:var(--glow-sm)}.container{max-width:1200px;margin:0 auto;padding:0 24px}.section{padding:100px 0}.section-sm{padding:64px 0}.section-header{margin-bottom:64px}.section-header .label{margin-bottom:16px;display:block}.divider{width:48px;height:2px;background:linear-gradient(90deg,var(--blue),transparent);margin-top:20px}.card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);padding:32px;transition:all var(--transition-smooth);position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-lg);background:linear-gradient(135deg,rgba(0,102,255,.04) 0%,transparent 60%);opacity:0;transition:opacity var(--transition-smooth)}.card:hover{border-color:var(--border-blue);box-shadow:var(--glow-sm),var(--shadow-card);transform:translateY(-2px)}.card:hover:before{opacity:1}.glow-blob{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(0,102,255,.15) 0%,transparent 70%);pointer-events:none;filter:blur(40px)}.topbar{position:fixed;top:0;left:0;right:0;z-index:100;padding:0 24px;height:68px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:#050508bf;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border);transition:opacity .5s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1)}.topbar.hidden{opacity:0;pointer-events:none;transform:translateY(-100%)}.topbar.visible{opacity:1;pointer-events:all;transform:translateY(0)}.topbar__logo{height:36px;width:auto;object-fit:contain}.topbar__nav{display:flex;align-items:center;gap:36px;justify-self:center}.topbar__cta{grid-column:3;justify-self:end;opacity:0;transform:translateY(-8px) scale(.96);pointer-events:none;transition:opacity .45s cubic-bezier(.22,1,.36,1),transform .45s cubic-bezier(.22,1,.36,1)}.topbar__cta--visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.topbar__link{font-size:.875rem;font-weight:500;color:var(--gray-400);transition:color var(--transition-fast);letter-spacing:.01em}.topbar__link:hover{color:var(--white)}.hero-intro{position:relative;width:100%;height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-intro__bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;background-repeat:no-repeat}.hero-intro__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#050508b8,#05050866,#050508a6)}.hero-intro__content{position:relative;z-index:10;max-width:780px;padding:0 24px;text-align:center;will-change:transform,opacity}.hero-intro__eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:28px;padding:6px 16px;background:#0066ff1f;border:1px solid rgba(0,102,255,.3);border-radius:100px}.hero-intro__eyebrow-dot{width:6px;height:6px;border-radius:50%;background:var(--blue-bright);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.hero-intro__title{font-size:clamp(3rem,7vw,6rem);font-weight:900;line-height:1.03;letter-spacing:-.035em;margin-bottom:24px}.hero-intro__subtitle{font-size:clamp(1rem,1.8vw,1.2rem);color:var(--gray-400);line-height:1.7;margin-bottom:40px;max-width:560px}.hero-intro__actions{display:flex;align-items:center;justify-content:flex-start;gap:16px;flex-wrap:wrap}.hero-intro__scroll-hint{position:absolute;bottom:32px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--gray-600);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;animation:bounce 2.5s infinite}.hero-intro__scroll-arrow{width:1px;height:32px;background:linear-gradient(180deg,var(--gray-600),transparent)}@keyframes bounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(6px)}}.scroll-transition{position:relative}.scroll-transition__sticky{position:sticky;top:0;width:100%;height:100vh;overflow:hidden}.scroll-transition__canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.scroll-transition__hero2-reveal{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;pointer-events:none;will-change:opacity}.hero-main{position:relative;width:100%;min-height:100vh;display:flex;align-items:center;overflow:hidden}.hero-main__bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center}.hero-main__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#050508d9,#0505088c,#0505084d)}.hero-main__content{position:relative;z-index:2;max-width:640px;padding:100px 24px 80px;margin-left:max(40px,5vw)}.hero-main__tag{display:inline-block;margin-bottom:24px;padding:5px 14px;border:1px solid var(--border-blue);border-radius:100px;font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-bright);background:#0066ff14}.hero-main__title{font-size:clamp(2.4rem,5vw,4.2rem);font-weight:900;line-height:1.08;letter-spacing:-.03em;margin-bottom:24px}.hero-main__desc{font-size:clamp(1rem,1.6vw,1.125rem);color:var(--gray-400);line-height:1.75;margin-bottom:40px;max-width:500px}.hero-main__stats{display:flex;gap:40px;margin-top:56px;padding-top:40px;border-top:1px solid var(--border);flex-wrap:wrap}.hero-main__stat-value{font-size:2rem;font-weight:800;color:var(--white);letter-spacing:-.04em;line-height:1}.hero-main__stat-label{font-size:.8125rem;color:var(--gray-600);margin-top:4px;font-weight:500}.hero2-content-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#050508d9,#0505088c,#0505084d);opacity:0;transition:opacity .45s ease}.hero2-item{opacity:0;transform:translateY(22px)}.hero2-content-wrapper.hero2-visible .hero2-content-overlay{opacity:1}.hero2-content-wrapper.hero2-visible .hero2-item{animation:hero2-slide-up .65s cubic-bezier(.22,1,.36,1) var(--delay, 0s) both}@keyframes hero2-slide-up{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.services{background:var(--bg-surface);position:relative;overflow:hidden}.services__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);padding:36px 28px;transition:all var(--transition-smooth);position:relative;overflow:hidden;cursor:default}.service-card:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--blue),var(--blue-neon),transparent);transform:scaleX(0);transform-origin:left;transition:transform var(--transition-smooth)}.service-card:hover{border-color:var(--border-blue);box-shadow:var(--glow-sm),var(--shadow-card);transform:translateY(-3px)}.service-card:hover:after{transform:scaleX(1)}.service-card__icon{width:48px;height:48px;border-radius:var(--radius-md);background:#0066ff1f;border:1px solid rgba(0,102,255,.2);display:flex;align-items:center;justify-content:center;margin-bottom:24px;font-size:1.375rem;transition:all var(--transition-smooth)}.service-card:hover .service-card__icon{background:#06f3;box-shadow:var(--glow-sm)}.service-card__title{font-size:1.0625rem;font-weight:700;margin-bottom:10px;letter-spacing:-.01em}.service-card__desc{font-size:.875rem;color:var(--gray-400);line-height:1.65}.projects{background:var(--bg-base);position:relative}.projects__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.projects__grid .project-card:first-child{grid-column:1 / -1}.project-card{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-card);background:var(--bg-card);transition:all var(--transition-smooth);cursor:default;position:relative}.project-card:hover{border-color:var(--border-blue);box-shadow:var(--glow-sm),var(--shadow-deep);transform:translateY(-3px)}.project-card__visual{height:240px;position:relative;overflow:hidden}.project-card:first-child .project-card__visual{height:320px}.project-card__bg{position:absolute;top:0;right:0;bottom:0;left:0;transition:transform .6s cubic-bezier(.4,0,.2,1)}.project-card:hover .project-card__bg{transform:scale(1.03)}.project-card__badge{position:absolute;top:16px;left:16px;padding:4px 12px;background:#050508d9;border:1px solid var(--border-blue);border-radius:100px;font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--blue-bright);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.project-card__info{padding:24px 28px}.project-card__category{font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-bright);margin-bottom:8px}.project-card__title{font-size:1.125rem;font-weight:700;margin-bottom:8px;letter-spacing:-.01em}.project-card__desc{font-size:.875rem;color:var(--gray-400);line-height:1.6}.about{background:var(--bg-surface);position:relative;overflow:hidden}.about__inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.about__features{display:flex;flex-direction:column;gap:28px;margin-top:40px}.about__feature{display:flex;gap:16px;align-items:flex-start}.about__feature-icon{width:40px;height:40px;min-width:40px;border-radius:var(--radius-sm);background:#0066ff1a;border:1px solid rgba(0,102,255,.2);display:flex;align-items:center;justify-content:center;font-size:1.125rem;margin-top:2px}.about__feature-title{font-weight:700;font-size:.9375rem;margin-bottom:4px}.about__feature-desc{font-size:.875rem;color:var(--gray-400);line-height:1.6}.about__visual{position:relative;height:500px}.about__visual-card{position:absolute;background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);padding:24px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.about__visual-card--main{top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0a0a1a,#0d1230);overflow:hidden}.about__visual-badge{position:absolute;background:#050508e6;border:1px solid var(--border-blue);border-radius:var(--radius-md);padding:14px 20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;gap:12px;white-space:nowrap}.about__visual-badge--bottom{bottom:24px;left:-20px;box-shadow:var(--glow-sm)}.about__visual-badge--top{top:40px;right:-20px}.about__badge-icon{font-size:1.5rem}.about__badge-number{font-size:1.25rem;font-weight:800;line-height:1}.about__badge-label{font-size:.75rem;color:var(--gray-400)}.blog{background:var(--bg-base)}.blog__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.blog-card{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition-smooth);cursor:default;display:flex;flex-direction:column}.blog-card:hover{border-color:var(--border-blue);box-shadow:var(--glow-sm),var(--shadow-card);transform:translateY(-3px)}.blog-card__visual{height:180px;position:relative;overflow:hidden}.blog-card__meta{padding:24px 24px 0;display:flex;align-items:center;gap:12px}.blog-card__tag{font-size:.6875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--blue-bright);padding:3px 10px;background:#0066ff1a;border-radius:100px;border:1px solid rgba(0,102,255,.2)}.blog-card__date{font-size:.75rem;color:var(--gray-600)}.blog-card__body{padding:16px 24px 28px;flex:1;display:flex;flex-direction:column}.blog-card__title{font-size:1rem;font-weight:700;line-height:1.4;margin-bottom:10px;letter-spacing:-.01em}.blog-card__excerpt{font-size:.875rem;color:var(--gray-400);line-height:1.65;flex:1}.blog-card__read-more{margin-top:16px;font-size:.8125rem;font-weight:600;color:var(--blue-bright);display:flex;align-items:center;gap:6px;transition:gap var(--transition-fast)}.blog-card:hover .blog-card__read-more{gap:10px}.contact{background:var(--bg-surface);position:relative;overflow:hidden}.contact__inner{text-align:center;max-width:660px;margin:0 auto;position:relative;z-index:2}.contact__glow{position:absolute;width:600px;height:600px;left:50%;top:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(0,102,255,.12) 0%,transparent 70%);pointer-events:none;filter:blur(60px)}.contact__title{font-size:clamp(2rem,4vw,3.5rem);font-weight:900;letter-spacing:-.03em;line-height:1.1;margin-bottom:20px}.contact__desc{font-size:clamp(1rem,1.5vw,1.125rem);color:var(--gray-400);line-height:1.75;margin-bottom:40px}.contact__btn-wrapper{display:flex;justify-content:center}.footer{background:var(--bg-base);border-top:1px solid var(--border);padding:56px 0 32px}.footer__top{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:40px;border-bottom:1px solid var(--border);gap:40px;flex-wrap:wrap}.footer__logo img{height:32px;width:auto;object-fit:contain}.footer__tagline{font-size:.875rem;color:var(--gray-600);margin-top:10px;max-width:220px;line-height:1.6}.footer__links{display:flex;gap:56px;flex-wrap:wrap}.footer__col-title{font-size:.8125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-400);margin-bottom:16px}.footer__col-links{list-style:none;display:flex;flex-direction:column;gap:10px}.footer__col-links a{font-size:.875rem;color:var(--gray-600);transition:color var(--transition-fast)}.footer__col-links a:hover{color:var(--white)}.footer__bottom{display:flex;justify-content:space-between;align-items:center;padding-top:28px;flex-wrap:wrap;gap:12px}.footer__copy{font-size:.8125rem;color:var(--gray-600)}.footer__copy span{color:var(--blue-bright)}.footer__social{display:flex;gap:12px}.footer__social-link{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--bg-card);border:1px solid var(--border-card);display:flex;align-items:center;justify-content:center;font-size:.875rem;color:var(--gray-600);transition:all var(--transition-smooth)}.footer__social-link:hover{color:var(--white);border-color:var(--border-blue);background:var(--blue-dim)}@media (max-width: 1024px){.services__grid{grid-template-columns:repeat(2,1fr)}.about__inner{grid-template-columns:1fr;gap:48px}.about__visual{height:360px}}@media (max-width: 768px){.section{padding:72px 0}.topbar__nav{display:none}.scroll-transition__hero2-reveal{background-position:70% center}.topbar .btn-primary{width:auto;padding:9px 16px;font-size:.8rem}.services__grid{grid-template-columns:1fr;gap:16px}.projects__grid{grid-template-columns:1fr}.projects__grid .project-card:first-child{grid-column:1}.blog__grid{grid-template-columns:1fr;gap:16px}.hero-main__content{margin-left:0;padding:100px 24px 60px;max-width:100%}.hero-main__stats{gap:24px}.footer__top{flex-direction:column;gap:32px}.footer__links{gap:32px}.footer__bottom{flex-direction:column;align-items:flex-start}.about__visual{display:none}}@media (max-width: 480px){.container{padding:0 16px}.hero-intro__actions{flex-direction:column;align-items:stretch}.btn-primary,.btn-ghost{width:100%;justify-content:center}.hero-main__stats{flex-direction:column;gap:20px}}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-up{animation:fadeUp .7s cubic-bezier(.4,0,.2,1) both}.animate-fade-up:nth-child(2){animation-delay:.1s}.animate-fade-up:nth-child(3){animation-delay:.2s}.animate-fade-up:nth-child(4){animation-delay:.3s}
