@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/manrope-e67b0c8eaf.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/manrope-00a65a8efb.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/manrope-beeb7fd59d.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/manrope-b75124b804.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(fonts/manrope-a4492460f0.ttf) format('truetype');
}




:root{--bg:#0b0c10;--surface:#12141a;--raised:#191c24;--text:#f4f5f7;--muted:#b0b5c2;--line:#343944;--lime:#c8ff4d;--violet:#b59cff;--radius:26px;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,system-ui,sans-serif;font-size:16px;line-height:1.65;overflow-x:hidden}body:before{content:"";position:absolute;inset:0 0 auto;height:1100px;z-index:-1;background:radial-gradient(ellipse at 80% 15%,#9b7bff15,transparent 48%),radial-gradient(ellipse at 10% 40%,#c8ff4d09,transparent 40%)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.08;letter-spacing:-.055em}h1{font-size:clamp(46px,5.5vw,76px);margin-bottom:28px;max-width:850px}h2{font-size:clamp(34px,3.4vw,48px);margin-bottom:20px}h3{font-size:26px;margin-bottom:16px}p{margin-bottom:20px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--lime);outline-offset:5px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--lime);outline-offset:3px}.wrap{width:min(1160px,calc(100% - 64px));margin:auto}.muted{color:var(--muted)}.lime{color:var(--lime)}.eyebrow{font-size:14px;letter-spacing:.09em;text-transform:uppercase;color:var(--lime);font-weight:700;margin-bottom:22px}.eyebrow:before{content:"";display:inline-block;width:7px;height:7px;background:var(--lime);border-radius:50%;margin-right:10px;vertical-align:middle}.topbar{position:sticky;top:16px;z-index:20;margin-top:16px}.nav{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 18px;border:1px solid var(--line);border-radius:22px;background:#101217f5;backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:14px;line-height:1.25;letter-spacing:-.035em;flex-shrink:0;min-height:44px}.brand-mark{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:var(--lime);color:#111;transform:rotate(-7deg);font-size:21px}.brand small{display:block;color:var(--muted);font-size:12px;letter-spacing:.04em;margin-top:3px;font-weight:400}.navlinks{display:flex;align-items:center;gap:26px;font-size:14px}.navlinks a{display:flex;align-items:center;min-height:44px}.navlinks a:hover,.footer a:hover,.text-link:hover{color:var(--lime)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:14px;min-height:50px;padding:13px 22px;border:1px solid transparent;border-radius:999px;color:#11150a;background:var(--lime);font-size:15px;font-weight:700;line-height:1.4;text-align:center;transition:transform .2s,background .2s}.btn:hover{background:#d4ff79;transform:translateY(-2px)}.btn.secondary{background:transparent;color:var(--text);border-color:#727887}.btn.secondary:hover{border-color:var(--lime);color:var(--lime)}.btn.small{min-height:44px;padding:10px 17px;font-size:14px}.mobile-menu{display:none}.skip{position:fixed;top:-100px;left:20px;padding:12px 20px;background:var(--lime);color:#111;z-index:100;border-radius:10px}.skip:focus{top:12px}.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;padding:94px 0 76px}.hero-copy{max-width:570px;color:var(--muted);font-size:18px;line-height:1.65}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0 20px}.micro{color:var(--muted);font-size:14px;line-height:1.6}.hero-note{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:14px;margin-top:24px}.hero-note .line{width:32px;height:1px;background:var(--lime)}.hero-visual{position:relative;min-width:0;height:470px}.visual-glow{position:absolute;inset:30px 0;border-radius:50%;background:radial-gradient(ellipse,#9b7bff21,transparent 68%);pointer-events:none}.work-window{position:absolute;top:32px;left:0;right:25px;overflow:hidden;border:1px solid #4b515e;border-radius:22px;background:#15181e;transform:rotate(-5deg)}.window-bar{padding:12px 16px;display:flex;justify-content:space-between;gap:12px;color:#d6dae4;font-size:12px;border-bottom:1px solid var(--line);letter-spacing:.05em}.window-bar i{font-style:normal;color:var(--lime)}.work-window>img{width:100%;height:240px;object-fit:cover}.window-caption{padding:14px 16px;font-size:14px}.window-caption span{color:var(--muted);display:block;font-size:12px;margin-top:2px}.phone{position:absolute;right:-4px;bottom:0;width:156px;padding:7px;border:1px solid #656b77;border-radius:25px;background:#1c2028;box-shadow:0 20px 60px #0007;transform:rotate(7deg)}.phone img{width:100%;height:281px;object-fit:cover;object-position:top;border-radius:18px}.visual-label{position:absolute;left:-14px;bottom:27px;padding:15px 18px;background:#171a22;border:1px solid #515868;border-radius:17px;font-size:14px;max-width:245px}.visual-label strong{display:block;color:var(--lime);font-size:19px;letter-spacing:-.03em}.proof-strip{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;gap:24px}.proof-strip div{display:flex;align-items:center;gap:15px}.proof-strip strong{font-size:28px;letter-spacing:-.06em;line-height:1}.proof-strip span{font-size:14px;color:var(--muted);max-width:200px}.section{padding:88px 0}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:36px}.section-head>div{max-width:680px}.section-head>p{max-width:340px;color:var(--muted);margin-bottom:4px}.section-head .eyebrow{margin-bottom:16px}.section-head h2{margin-bottom:0}.services{display:grid;grid-template-columns:1fr 1fr;gap:24px}.service-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:34px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(140deg,#191c24,#101217);min-width:0}.card-no{color:var(--lime);font-size:14px;letter-spacing:.09em;margin-bottom:36px}.service-card:nth-child(2) .card-no{color:var(--violet)}.service-card p{color:var(--muted);max-width:450px}.service-card .text-link{margin-top:auto}.pills{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 28px}.pill{display:inline-flex;align-items:center;min-height:32px;padding:4px 11px;border:1px solid #535a69;border-radius:99px;color:#d7dce6;font-size:12px}.text-link{display:inline-flex;align-items:center;gap:16px;min-height:44px;color:var(--text);font-size:15px;font-weight:700}.text-link span{color:var(--lime)}.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.project-card{min-width:0;border:1px solid var(--line);border-radius:22px;background:#11141a;overflow:hidden}.project-image{position:relative;background:#1a1e27;height:215px;overflow:hidden}.project-image>img{width:100%;height:100%;object-fit:cover}.project-card.utility .project-image{background:radial-gradient(ellipse,#26324e,#131822)}.project-card.utility .project-image>img,.project-card.portrait .project-image>img{object-fit:contain}.project-tag{position:absolute;top:12px;left:12px;background:#11141af2;border:1px solid #616979;padding:4px 9px;border-radius:99px;color:#e6e9ef;font-size:12px}.project-copy{padding:24px}.project-copy h3{font-size:23px;letter-spacing:-.04em;line-height:1.2;margin-bottom:12px}.project-copy p{font-size:15px;color:var(--muted);min-height:49px;margin-bottom:16px}.project-copy .text-link{font-size:14px}.section-note{color:var(--muted);font-size:14px;margin-top:24px;max-width:760px}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.step{border-top:1px solid #646b79;padding-top:22px}.step .number{color:var(--lime);font-size:14px;margin-bottom:24px}.step h3{font-size:22px;line-height:1.2;margin-bottom:12px}.step p{font-size:15px;color:var(--muted);margin-bottom:0}.cost-panel{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding:44px;border:1px solid #505766;border-radius:var(--radius);background:radial-gradient(ellipse at 0 0,#c8ff4d0a,transparent 60%),#13161c}.cost-panel h2{font-size:36px}.cost-panel p{color:var(--muted);margin-bottom:0}.cost-list{margin:0;padding-left:22px;color:#d9dde6}.cost-list li+li{margin-top:10px}.brief-section{padding:60px 0 88px}.brief-panel{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;padding:48px;border:1px solid #525a69;border-radius:30px;background:radial-gradient(ellipse at 0 0,#9b7bff15,transparent 55%),#13161d}.brief-copy p{color:var(--muted)}.brief-copy .btn{margin:12px 0 16px}.contact-person{padding-top:28px;margin-top:28px;border-top:1px solid var(--line);font-size:15px}.contact-person strong{display:block;font-size:18px;color:var(--text);margin-bottom:5px}.brief-form{min-width:0}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;font-size:14px;color:#e4e7ef;margin-bottom:8px}select,textarea,input{width:100%;min-height:48px;border:1px solid #6d7585;background:#0d1015;color:var(--text);border-radius:12px;padding:12px 14px}select{padding-right:28px}textarea{resize:vertical;min-height:144px;line-height:1.6}.field{margin-bottom:18px;min-width:0}.form-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.form-actions .btn{flex:1;font-size:14px;padding-left:15px;padding-right:15px}.status{font-size:14px;color:var(--lime);margin-top:14px;min-height:24px}.brief-form .micro{margin-top:16px;margin-bottom:0}.requires-js{display:none}.js .requires-js{display:block}.copy-fallback{margin-top:16px}.copy-fallback[hidden]{display:none}.copy-fallback textarea{min-height:180px}#brief-output{font-size:14px}.faq{max-width:900px;margin:auto}details.faq-item{border-top:1px solid var(--line);padding:6px 0}details.faq-item:last-child{border-bottom:1px solid var(--line)}.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:24px;list-style:none;min-height:72px;padding:14px 0;font-size:18px;line-height:1.4;font-weight:600;cursor:pointer}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";color:var(--lime);font-size:26px;font-weight:400;flex-shrink:0}.faq-item[open] summary:after{content:"−"}.faq-item p{color:var(--muted);max-width:740px;padding:4px 0 16px;margin-bottom:0}.footer{border-top:1px solid var(--line);padding:28px 0 36px}.footer-row{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.footer-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:20px;font-size:14px}.footer-nav a{min-height:44px;display:inline-flex;align-items:center}.footer-meta{display:flex;justify-content:space-between;gap:24px;color:var(--muted);font-size:12px;margin-top:24px}.subhero{padding-top:66px}.breadcrumb{font-size:14px;color:var(--muted);display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px}.breadcrumb a{text-decoration:underline;text-underline-offset:4px}.subhero .hero{padding:0 0 68px}.subhero .hero-visual{height:420px}.scope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.scope-card{padding:28px;border:1px solid var(--line);border-radius:22px;background:#13161d;min-width:0}.scope-card h3{font-size:23px;line-height:1.2}.scope-card p{color:var(--muted);font-size:16px;margin-bottom:0}.scope-card .number{color:var(--lime);font-size:14px;margin-bottom:24px}.platform-note{padding:20px 24px;border-left:2px solid var(--violet);color:#c9cfda;font-size:15px;background:#17141f;margin-top:30px;border-radius:0 12px 12px 0}.single-case{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;padding:32px;border:1px solid var(--line);border-radius:var(--radius);background:#13161c;align-items:center}.single-case .app-shot{height:420px;max-width:100%;width:auto;margin:auto;border-radius:18px;border:1px solid #656d80}.single-case h3{font-size:32px}.single-case p{color:var(--muted)}.single-case ul{padding-left:20px;color:#d7dce5}.single-case li+li{margin-top:8px}.spacer-top{padding-top:0}
@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.navlinks{gap:16px}.hero{gap:28px}h1{font-size:58px}.hero-visual{height:440px}.phone{right:0;width:135px}.phone img{height:246px}.work-window{right:10px}.visual-label{left:0;max-width:215px}.brief-panel{gap:32px;padding:36px}.portfolio-grid{gap:16px}.project-copy{padding:20px}.project-copy h3{font-size:21px}.scope-grid{gap:16px}.scope-card{padding:24px}.steps{gap:18px}.step h3{font-size:20px}.footer-nav{gap:14px}}
@media(max-width:760px){.topbar{top:10px;margin-top:10px}.nav{min-height:66px;padding:9px 13px;gap:12px}.navlinks{display:none}.brand{font-size:13px}.brand small{font-size:11px}.nav>.btn{font-size:13px;padding:10px 14px;min-height:44px}.mobile-menu{display:block;margin-top:8px;border:1px solid var(--line);background:#101217fa;border-radius:15px;padding:0 14px}.mobile-menu summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;font-size:14px;list-style:none;cursor:pointer}.mobile-menu summary:after{content:"+";font-size:21px;color:var(--lime)}.mobile-menu[open] summary:after{content:"−"}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu nav{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line);padding:8px 0}.mobile-menu nav a{min-height:44px;display:flex;align-items:center;font-size:15px}.wrap{width:calc(100% - 36px)}html{scroll-padding-top:150px}.hero{grid-template-columns:1fr;padding:56px 0 44px;gap:25px}.hero h1{max-width:650px;font-size:clamp(44px,9vw,64px)}.hero-copy{font-size:17px}.hero-visual{height:440px;max-width:470px;width:100%;margin:0 auto}.work-window{left:8px;right:25px;top:25px}.work-window>img{height:230px}.phone{right:4px;width:142px}.phone img{height:263px}.visual-label{bottom:25px;left:4px;max-width:205px;padding:13px 15px}.proof-strip{gap:20px;padding:22px 0}.proof-strip div{display:block}.proof-strip strong{display:block;margin-bottom:8px;font-size:25px}.proof-strip span{font-size:12px;line-height:1.5;display:block}.section{padding:60px 0}.section-head{display:block;margin-bottom:28px}.section-head>p{margin-top:20px;max-width:600px}.services,.portfolio-grid,.scope-grid{grid-template-columns:1fr}.service-card{padding:28px}.card-no{margin-bottom:24px}.project-image{height:235px}.project-copy{padding:24px}.project-copy h3{font-size:25px}.project-copy p{min-height:0;font-size:16px}.steps{grid-template-columns:1fr 1fr;gap:28px 22px}.step .number{margin-bottom:18px}.cost-panel{grid-template-columns:1fr;padding:30px;gap:24px}.cost-panel h2{font-size:32px}.brief-section{padding:30px 0 60px}.brief-panel{grid-template-columns:1fr;padding:30px;gap:32px;border-radius:26px}.brief-copy h2{font-size:40px}.contact-person{padding-top:20px;margin-top:20px}.fields{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions .btn{width:100%}.faq-item summary{font-size:17px}.footer-row,.footer-meta{flex-direction:column}.footer-nav{justify-content:flex-start;gap:10px 20px}.footer-meta{margin-top:20px;gap:8px}.subhero{padding-top:38px}.subhero .hero{padding-bottom:40px}.subhero .hero-visual{height:430px}.single-case{grid-template-columns:1fr;padding:26px;gap:28px}.single-case .app-shot{height:380px}.scope-card{padding:26px}.scope-card h3{font-size:25px}.spacer-top{padding-top:0}}
@media(max-width:380px){.wrap{width:calc(100% - 30px)}.nav{gap:8px;padding:8px 10px}.brand{font-size:11px;gap:7px}.brand small{font-size:10px}.brand-mark{width:31px;height:31px}.nav>.btn{font-size:12px;padding:10px 12px}.hero h1{font-size:42px}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.hero-visual{height:395px}.work-window{right:18px}.work-window>img{height:205px}.phone{width:124px}.phone img{height:231px}.visual-label{max-width:170px;font-size:12px}.visual-label strong{font-size:17px}.proof-strip span{font-size:12px}.steps{grid-template-columns:1fr}.brief-panel{padding:24px}.brief-copy h2{font-size:36px}.cost-panel{padding:25px}.project-copy{padding:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Readable small text, including narrow screens. */
.brand small,.window-bar,.window-caption span,.pill,.project-tag,.footer-meta{font-size:14px}
.mobile-label{display:none}
@media(max-width:760px){
.nav>.brand{max-width:172px;min-width:0;flex-shrink:1}
.nav>.brand>span:last-child{min-width:0;font-size:14px}
.nav>.brand small{display:none}
.nav>.btn{font-size:14px;flex-shrink:0}
.nav .desktop-label{display:none}.nav .mobile-label{display:inline}
.proof-strip span,.visual-label{font-size:14px}
.brand small{font-size:14px}
}
@media(max-width:380px){
.nav>.brand{max-width:148px}
.nav>.brand>span:last-child{font-size:14px}
.nav>.btn,.visual-label,.proof-strip span,.brand small{font-size:14px}
}

.app-window>img{object-fit:contain;background:radial-gradient(ellipse,#242b40,#11151f)}

input::placeholder,textarea::placeholder{color:#a3abba;opacity:1}

/* Subtle interaction feedback, with no layout shifts. */
@media(prefers-reduced-motion:no-preference){
  .service-card,.project-card,.scope-card{transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
  .project-image>img{transition:transform .5s cubic-bezier(.22,1,.36,1)}
  .text-link span,.btn>span[aria-hidden]{transition:transform .2s ease}
  .brand-mark{transition:transform .25s ease}
  @media(hover:hover) and (pointer:fine){
    .service-card:hover,.project-card:hover,.scope-card:hover{transform:translateY(-4px);border-color:#727c91;box-shadow:0 12px 28px #0003}
    .project-card:hover .project-image>img{transform:scale(1.035)}
    .text-link:hover span{transform:translate(3px,-2px)}
    .brand:hover .brand-mark{transform:rotate(0)}
  }
  .btn:active{transform:translateY(0) scale(.98)}
  .faq-item[open] p{animation:faq-enter .25s ease-out}
}
@keyframes faq-enter{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}

/* Hero float: independent layers, like the game portfolio. */
@media(prefers-reduced-motion:no-preference){
  .hero-floating .work-window{animation:hero-window-float 7s ease-in-out infinite;animation-play-state:paused}
  .hero-floating .phone{animation:hero-phone-float 6s ease-in-out infinite;animation-play-state:paused}
  .hero-floating .visual-label{animation:hero-label-float 5s ease-in-out -2s infinite;animation-play-state:paused}
  .hero-floating .visual-glow{animation:hero-glow-float 7s ease-in-out infinite;animation-play-state:paused}
  .hero-motion-on .work-window,.hero-motion-on .phone,.hero-motion-on .visual-label,.hero-motion-on .visual-glow{animation-play-state:running}
}
@keyframes hero-window-float{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-12px) rotate(-3.5deg)}}
@keyframes hero-phone-float{0%,100%{transform:translateY(0) rotate(7deg)}50%{transform:translateY(-10px) rotate(4deg)}}
@keyframes hero-label-float{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}
@keyframes hero-glow-float{0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(1.04);opacity:1}}

/* Background-only mouse glow, matching zinchenkogames.ru. */
body{isolation:isolate}
.cursor-glow{position:fixed;left:0;top:0;width:320px;height:320px;border-radius:50%;background:#c8ff4d08;filter:blur(30px);pointer-events:none;z-index:-1;transform:translate3d(-400px,-400px,0);opacity:0;transition:opacity .2s ease}
.cursor-glow.is-visible{opacity:1}
.cursor-glow[hidden]{display:none}
@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){.cursor-glow{display:none!important}}
