@font-face{font-family:"Gilroy";src:url(fonts/Gilroy-Regular.woff) format("woff");font-weight:400;font-display:swap}
@font-face{font-family:"Gilroy";src:url(fonts/Gilroy-Medium.woff) format("woff");font-weight:500;font-display:swap}
@font-face{font-family:"Gilroy";src:url(fonts/Gilroy-SemiBold.woff) format("woff");font-weight:600;font-display:swap}
@font-face{font-family:"Gilroy";src:url(fonts/Gilroy-Bold.woff) format("woff");font-weight:700;font-display:swap}
/* Pixel-perfect rebuild of the current pixel-studio.com.ua design.
   Desktop geometry measured on the live site at 1425px content width; --u scales it 1:1 down to tablet. */
:root{
  --bg:#fff;--ink:#1a1a1a;--ink-2:#373737;--btn-ink:#303030;--blue:#1677d1;--blue-2:#176cbb;--blue-d:#0f63b0;--line:#e6e9ef;
  --font:"Gilroy",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --u:min(1px, calc(100vw / 1425));
  color-scheme:light;
}
*{box-sizing:border-box}
html{overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:20px;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--ink);font:400 calc(18*var(--u))/1.65 var(--font);-webkit-font-smoothing:antialiased;overflow-x:hidden}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
img,video{max-width:100%;display:block}
a{color:inherit}
p{margin:0}
h1,h2,h3,h4{margin:0;font-weight:400}
b,strong{font-weight:700}
:focus-visible{outline:2.5px solid var(--blue);outline-offset:3px;border-radius:8px}
/* containers: A = hero/services (x83..1373), B = cases..contacts (x88..1338) */
.wA{max-width:calc(1400*var(--u));margin:0 auto;padding-left:max(16px,calc(70*var(--u)));padding-right:max(16px,calc(40*var(--u)))}
.wB{max-width:calc(1250*var(--u));margin:0 auto;padding-left:max(16px, env(safe-area-inset-left, 0px));padding-right:max(16px, env(safe-area-inset-right, 0px))}
@media (min-width:1025px){.wB{padding-left:0;padding-right:0}}
.h80{font-size:calc(80*var(--u));line-height:calc(120*var(--u));letter-spacing:1px}
.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:#fff;font:400 calc(22*var(--u))/1 var(--font);text-decoration:none;border:0;cursor:pointer;border-radius:calc(20*var(--u));padding:calc(35*var(--u)) calc(60*var(--u));transition:background .2s}
.btn:hover{background:var(--blue-d)}
.stat{text-align:right;display:grid;gap:calc(18*var(--u));margin-left:auto}
.stat b{color:var(--blue);font-size:calc(36*var(--u));font-weight:700;line-height:1}
.stat span{font-size:calc(22*var(--u));font-weight:500;color:#292929;line-height:1}

/* header */
.hdr{height:calc(110*var(--u));position:relative;z-index:50;background:#fff}
.hdr .wA{display:flex;align-items:center;height:100%;padding-left:max(16px,calc(75*var(--u)))}
.logo img{width:calc(163*var(--u));height:auto}
.nav{display:flex;margin-left:calc(48*var(--u))}
.nav a{text-decoration:none;font-size:calc(18*var(--u));line-height:1.6;padding:0 calc(18*var(--u)) 0 calc(45*var(--u))}
.nav a:hover{color:var(--blue)}
/* socials in the desktop header: small round icons, same style as the phone menu */
.hsoc{display:flex;gap:calc(10*var(--u));margin-left:auto}
.hsoc a{width:calc(38*var(--u));height:calc(38*var(--u));min-width:30px;min-height:30px;border:1.5px solid var(--ink);border-radius:50%;display:grid;place-items:center;color:var(--ink);transition:background .2s,color .2s,border-color .2s}
.hsoc a:hover{background:var(--blue);border-color:var(--blue);color:#fff;--ic-in:var(--blue)}
.hsoc svg{width:calc(17*var(--u));height:calc(17*var(--u));min-width:14px;min-height:14px}
.lang{display:flex;border:1px solid var(--line);border-radius:999px;padding:3px;margin-left:calc(28*var(--u))}
.lang a,.lang button{text-decoration:none;border:0;background:transparent;font:600 12px/1 var(--font);padding:7px 10px;border-radius:999px;cursor:pointer;color:#6b6b6b;letter-spacing:.06em}
.lang a[aria-current="true"],.lang button[aria-pressed="true"]{background:var(--blue);color:#fff}
.burger{display:none;width:44px;height:44px;border:0;background:transparent;cursor:pointer;margin:0 -8px 0 8px;padding:0}
.burger span{display:block;width:24px;height:2px;background:var(--ink);margin:5px auto;border-radius:2px;transition:transform .3s,opacity .3s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mnav{display:none}
/* compact language dropdown (phone header) */
.lang-dd{display:none;position:relative;margin-left:auto}
.lang-dd summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:4px;height:36px;padding:0 10px 0 12px;border:1px solid var(--line);border-radius:999px;font:600 13px/1 var(--font);letter-spacing:.04em;user-select:none}
.lang-dd summary::-webkit-details-marker{display:none}
.lang-dd summary svg{width:12px;height:12px;transition:transform .2s}
.lang-dd[open] summary svg{transform:rotate(180deg)}
.lang-dd-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:150px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.12);padding:6px;z-index:60}
.lang-dd-menu a{display:flex;align-items:baseline;gap:8px;padding:10px 12px;border-radius:8px;font-size:14px;font-weight:600;text-decoration:none}
.lang-dd-menu a span{font-weight:400;color:#6b6b6b;font-size:13px}
.lang-dd-menu a[aria-current="true"]{background:#f1f5fb;color:var(--blue)}

/* hero */
main{overflow-x:clip}
.hero{position:relative;height:calc(735*var(--u))}
.hero .wA{position:relative;height:100%}
.hero h1{position:absolute;left:max(16px,calc(70*var(--u)));top:calc(90*var(--u));font-size:calc(120*var(--u));line-height:calc(120*var(--u));letter-spacing:1px;margin:0;z-index:1}
.hero h1 .last{display:flex;align-items:flex-end;gap:calc(34*var(--u))}
.hero h1 small{display:block;font-size:calc(20*var(--u));line-height:calc(26*var(--u));font-weight:500;letter-spacing:1px;width:calc(250*var(--u));padding-bottom:calc(22*var(--u))}
/* English title is longer: smaller so it never runs into the video */
@media (min-width:1025px){
html[lang="en"] .hero h1{font-size:calc(94*var(--u));line-height:calc(104*var(--u));top:calc(110*var(--u))}
html[lang="en"] .hero h1 small{width:calc(240*var(--u));padding-bottom:calc(16*var(--u))}
}
.hero-media{position:absolute;left:calc(790*var(--u));top:calc(20*var(--u));width:calc(660*var(--u))}
.hero-media video{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:#fff}
.hero .btn{position:absolute;left:max(16px,calc(70*var(--u)));top:calc(547*var(--u))}
.hero-p{position:absolute;left:calc(840*var(--u));top:calc(535*var(--u));width:calc(540*var(--u));font-size:calc(18*var(--u));line-height:1.65;font-weight:500}

/* services */
.svc-sec{position:relative}
.svc-sec{padding-top:calc(100*var(--u))}
.svc-head{position:relative;height:calc(339*var(--u))}
.svc-head h2{position:absolute;left:0;top:0}
.svc-head .lead{position:absolute;left:calc(5*var(--u));top:calc(160*var(--u));width:calc(605*var(--u));font-size:calc(18*var(--u));line-height:1.65;font-weight:500}
.svc-head .wm{position:absolute;left:calc(771*var(--u));top:calc(50*var(--u));width:calc(478*var(--u))}
.svc{position:relative;display:grid;grid-template-columns:repeat(2,calc(605*var(--u)));column-gap:calc(80*var(--u));row-gap:calc(70*var(--u))}
.card{position:relative;height:calc(442*var(--u));border-radius:calc(30*var(--u));background:var(--c);color:#fff}
.card .txt{position:absolute;left:calc(50*var(--u));top:calc(40*var(--u));width:calc(301*var(--u));z-index:1}
.card h3{font-size:calc(30*var(--u));line-height:calc(39*var(--u));font-weight:600}
.card .term{margin-top:calc(20*var(--u));font-size:calc(16*var(--u));line-height:calc(26.4*var(--u))}
.card .term b{font-weight:700}
.card h4{margin-top:calc(36*var(--u));font-size:calc(22*var(--u));line-height:calc(28.6*var(--u));font-weight:600}
.card ul{margin:calc(16*var(--u)) 0 0;padding:0;list-style:none;display:grid;row-gap:calc(12*var(--u));font-size:calc(16*var(--u));line-height:calc(26.4*var(--u))}
.card li{position:relative;padding-left:calc(20*var(--u))}
.card li::before{content:"";position:absolute;left:0;top:calc(10*var(--u));width:calc(6*var(--u));height:calc(6*var(--u));background:#fff}
.card .cbtn{position:absolute;left:calc(53*var(--u));top:calc(345*var(--u));z-index:1;background:#fff;color:var(--btn-ink);border:0;cursor:pointer;border-radius:calc(20*var(--u));padding:calc(20*var(--u)) calc(30*var(--u)) calc(17*var(--u));font:500 calc(16*var(--u))/1 var(--font);transition:transform .2s}
.card .cbtn:hover{transform:translateY(-2px)}
.card .dev{position:absolute;left:calc(var(--x)*var(--u));top:calc(var(--y)*var(--u));width:calc(var(--w)*var(--u));max-width:none;pointer-events:none}

/* cases */
.cases-sec{padding-top:calc(130*var(--u))}
.row-head{position:relative;display:flex;align-items:flex-start;padding-left:calc(25*var(--u));padding-right:calc(-23*var(--u))}
.row-head .more{display:inline-flex;align-items:center;gap:calc(12*var(--u));margin-left:calc(89*var(--u));margin-top:calc(50*var(--u));font-size:calc(20*var(--u));font-weight:500;letter-spacing:1px;text-decoration:none;line-height:1.2}
.row-head .more svg{width:calc(20*var(--u));height:calc(20*var(--u))}
.row-head .more:hover{color:var(--blue)}
.cases-head .stat{margin-top:calc(18*var(--u));margin-right:calc(-23*var(--u))}
.cases{display:grid;grid-auto-flow:column;grid-auto-columns:calc(393*var(--u));column-gap:calc(35*var(--u));width:calc(1259*var(--u));margin-top:calc(52*var(--u));padding-left:calc(10*var(--u));overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-left:calc(10*var(--u));scrollbar-width:none;overscroll-behavior-x:contain}
.cases::-webkit-scrollbar{display:none}
.cases.drag{scroll-snap-type:none;cursor:grabbing}.cases.drag *{pointer-events:none}
.case{scroll-snap-align:start}
/* carousel controls: arrows with page dots between them */
.car-nav{display:flex;align-items:center;justify-content:center;gap:calc(22*var(--u));margin-top:calc(36*var(--u))}
.car-arr{width:calc(52*var(--u));height:calc(52*var(--u));border-radius:50%;border:1.5px solid var(--ink);background:none;color:var(--ink);display:grid;place-items:center;cursor:pointer;padding:0;transition:background .2s,color .2s,border-color .2s,opacity .2s;-webkit-tap-highlight-color:transparent}
.car-arr svg{width:calc(22*var(--u));height:calc(22*var(--u))}
@media (hover:hover){.car-arr:hover{background:var(--blue);border-color:var(--blue);color:#fff}}
.car-arr:disabled{opacity:.3;cursor:default;pointer-events:none}
.car-dots{display:flex;gap:calc(8*var(--u))}
.car-dots button{width:calc(9*var(--u));height:calc(9*var(--u));border-radius:50%;border:0;padding:0;background:#c9d3e0;cursor:pointer;transition:width .25s,background .25s;-webkit-tap-highlight-color:transparent}
.car-dots button[aria-current="true"]{width:calc(26*var(--u));border-radius:calc(5*var(--u));background:var(--blue)}
.case{position:relative;height:calc(577*var(--u));overflow:hidden;border-radius:calc(30*var(--u));color:#fff;text-decoration:none;display:block}
.case img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.case .in{position:absolute;left:calc(35*var(--u));right:calc(20*var(--u));top:71.7%;bottom:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.case b{display:block;font-size:calc(20*var(--u));line-height:calc(26*var(--u));font-weight:600}
.case span{display:block;margin-top:calc(10*var(--u));font-size:calc(15*var(--u));line-height:calc(19.5*var(--u))}
.case i{display:inline-block;margin-top:calc(20*var(--u));font-style:normal;background:#fff;color:var(--ink);border-radius:calc(15*var(--u));padding:calc(12*var(--u)) calc(24*var(--u));font-size:calc(14*var(--u));line-height:1;font-weight:600;transition:transform .2s}
.case:hover i{transform:translateY(-2px)}

/* reviews */
.rev-sec{padding-top:calc(130*var(--u))}
.rev-head h2{width:calc(560*var(--u));font-size:calc(80*var(--u));line-height:calc(90*var(--u));letter-spacing:0}
.rev-head .stat{margin-top:calc(51*var(--u));margin-right:calc(9*var(--u))}
.revs{display:grid;grid-template-columns:repeat(3,calc(383*var(--u)));column-gap:calc(40*var(--u));margin-top:calc(60*var(--u));padding-left:calc(10*var(--u))}
.rev{display:block;text-decoration:none}
.rev .pv{height:calc(383*var(--u));border-radius:calc(20*var(--u));overflow:hidden}
.rev .pv img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.rev:hover .pv img{transform:scale(1.03)}
.rev span{display:block;margin-top:calc(31*var(--u));font-size:calc(26*var(--u));line-height:calc(33.8*var(--u));font-weight:500;color:var(--ink-2)}
.rev-btn{display:flex;justify-content:center;margin-top:calc(80*var(--u))}
.rev-btn .btn{padding:calc(28*var(--u)) calc(60*var(--u))}

/* why */
.why{padding-top:calc(140*var(--u))}
.why h2{text-align:center;font-size:calc(80*var(--u));line-height:calc(90*var(--u))}
.why h2 em{font-style:normal;font-weight:500;color:var(--blue-2)}
.why-grid{display:grid;grid-template-columns:calc(393*var(--u)) calc(677*var(--u));column-gap:calc(90*var(--u));margin-top:calc(80*var(--u));padding-left:calc(45*var(--u));align-items:center}
.why-grid img{width:100%;height:calc(535*var(--u));object-fit:cover;border-radius:calc(20*var(--u))}
.why-txt{display:grid;gap:calc(29*var(--u));color:var(--ink-2);font-size:calc(18*var(--u));line-height:calc(29.7*var(--u));font-weight:500}
.why-txt .lead{font-size:calc(24*var(--u));line-height:calc(31.2*var(--u));font-weight:600}
.why-txt .sig{font-weight:600;line-height:calc(23.4*var(--u))}

/* contacts */
.contacts{margin-top:calc(95*var(--u));height:calc(600*var(--u));background:url(img/contacts-bg.webp) center top/cover no-repeat}
.c-grid{display:grid;grid-template-columns:calc(560*var(--u)) calc(320*var(--u)) auto;padding-left:calc(45*var(--u));padding-top:calc(70*var(--u))}
.c-col{display:flex;flex-direction:column;align-items:flex-start}
.c-col h2{font-size:calc(80*var(--u));line-height:calc(90*var(--u))}
.c-col h3{font-size:calc(30*var(--u));line-height:calc(39*var(--u));font-weight:600;color:var(--ink-2);margin-top:calc(114*var(--u))}
.c-links{display:flex;flex-direction:column;margin-top:calc(20*var(--u))}
.c-links a,.c-links span{display:flex;align-items:center;gap:calc(12*var(--u));font-size:calc(20*var(--u));line-height:calc(55*var(--u));font-weight:500;color:var(--ink-2);text-decoration:none}
.c-col:not(:first-child) .c-links{margin-top:calc(23*var(--u))}
.c-col:not(:first-child) .c-links a{line-height:calc(50*var(--u))}
.c-links a:hover{color:var(--blue)}
.c-links svg{width:calc(24*var(--u));height:calc(24*var(--u));flex:none}
.c-col .btn{margin-top:calc(22*var(--u));font-size:calc(18*var(--u));padding:calc(25*var(--u)) calc(35*var(--u)) calc(23*var(--u))}

/* footer */
.ftr{background:var(--blue);color:#fff}
.ftr .wB{display:flex;align-items:center;height:calc(131*var(--u));padding-left:calc(50*var(--u))}
.ftr img{width:calc(140*var(--u));height:auto}
.ftr nav{display:flex;gap:calc(108*var(--u));margin-left:auto;margin-right:calc(80*var(--u))}
.ftr a{text-decoration:none;font-size:calc(18*var(--u))}
.ftr a:hover{text-decoration:underline}
.to-top{position:fixed;right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));width:44px;height:44px;border-radius:4px;background:var(--blue);color:#fff;display:grid;place-items:center;border:0;cursor:pointer;z-index:40;opacity:0;pointer-events:none;transition:opacity .3s,background .25s,color .25s}
.to-top.inv{background:#fff;color:var(--blue)}
.to-top.on{opacity:1;pointer-events:auto}
.to-top svg{width:22px;height:22px}

/* ============ tablet + phone: same look, reflowed ============ */
@media (max-width:1024px){
  :root{--u:1px}
  body{font-size:16px}
  .hdr{height:76px;position:sticky;top:env(safe-area-inset-top,0px);box-shadow:0 1px 0 var(--line)}
  .hdr .wA{padding-left:max(16px, env(safe-area-inset-left, 0px));padding-right:max(16px, env(safe-area-inset-right, 0px))}
  .logo img{width:130px}
  .nav,.hdr .wA>.lang,.hsoc{display:none}
  .lang-dd{display:block}
  .burger{display:block}
  /* mobile menu: full screen under the header, like Rent Car */
  .mnav{display:flex;flex-direction:column;position:fixed;left:0;right:0;top:calc(76px + env(safe-area-inset-top,0px));bottom:0;background:#fff;z-index:49;overflow-y:auto;overscroll-behavior:contain;padding:16px max(20px, env(safe-area-inset-right, 0px)) calc(28px + env(safe-area-inset-bottom,0px)) max(20px, env(safe-area-inset-left, 0px))}
  .mnav[hidden]{display:none}
  .mnav-links{display:grid}
  .mnav-links a{padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none;font-size:22px;font-weight:500}
  .mnav-links a:active{color:var(--blue)}
  .mnav-soc{display:flex;gap:12px;margin-top:26px}
  .mnav-soc a{width:52px;height:52px;border:1.5px solid var(--ink);border-radius:50%;display:grid;place-items:center;color:var(--ink)}
  .mnav-soc svg{width:24px;height:24px}
  .mnav-lang{align-self:flex-start;margin:22px 0 0}
  .mnav-lang a{min-width:52px;padding:12px 14px;font-size:14px;text-align:center}
  .mnav .btn{margin-top:auto;font-size:18px;padding:22px 30px}
  .mnav .mnav-lang+.btn{margin-top:28px}
  body.menu-open{overflow:hidden}
  body.menu-open .to-top,body.menu-open .cookie-bar{display:none}
  .wA{padding-left:max(16px, env(safe-area-inset-left, 0px));padding-right:max(16px, env(safe-area-inset-right, 0px));max-width:860px}
  .wB{max-width:860px}
  .h80,.rev-head h2,.why h2,.c-col h2{font-size:clamp(38px,7vw,64px);line-height:1.12;letter-spacing:0;width:auto}
  /* hero */
  .hero{height:auto;padding-block:28px 56px}
  .hero .wA{display:grid;gap:22px}
  .hero h1,.hero-media,.hero .btn,.hero-p{position:static;width:auto}
  .hero h1{font-size:clamp(46px,10vw,96px);line-height:1}
  .hero h1 .last{flex-wrap:wrap;gap:14px 24px}
  .hero h1 small{font-size:clamp(16px,2.4vw,20px);line-height:1.35;width:auto;max-width:16em;padding-bottom:.4em}
  .hero-media{width:min(100%,560px);justify-self:center}
  .hero-p{font-size:17px;max-width:34em}
  .hero .btn{justify-self:start;font-size:19px;padding:26px 44px}
  /* services */
  .svc-sec{padding-top:0}
  .svc-head{height:auto;display:grid;gap:18px;margin-bottom:36px}
  .svc-head h2,.svc-head .lead{position:static;width:auto}
  .svc-head .lead{font-size:17px;max-width:34em}
  .svc-head .wm{display:none}
  .svc{grid-template-columns:1fr;row-gap:24px}
  .card{height:auto;min-height:400px;overflow:hidden}
  .card .txt{position:relative;left:auto;top:auto;width:58%;padding:36px 0 110px 36px}
  .card h3{font-size:28px;line-height:1.3}
  .card .term,.card ul{font-size:16px;line-height:1.65}
  .card h4{font-size:21px;line-height:1.3;margin-top:28px}
  .card ul{row-gap:8px}
  .card li{padding-left:20px}
  .card li::before{width:6px;height:6px;top:10px}
  .card .cbtn{left:36px;top:auto;bottom:36px;font-size:16px;padding:20px 30px 17px;border-radius:20px}
  .card .dev{left:auto;right:-4%;top:50%;transform:translateY(-50%);width:min(52%,400px)}
  .card .dev.tall{width:min(34%,280px);right:4%}
  /* cases + reviews: swipe rows */
  .cases-sec,.rev-sec{padding-top:72px}
  .row-head{flex-wrap:wrap;align-items:flex-end;gap:10px 24px;padding:0}
  .row-head h2{flex:1 1 100%}
  .row-head .more{margin:0;font-size:18px;letter-spacing:0}
  .row-head .more svg{width:20px;height:20px}
  .cases-head .stat,.rev-head .stat{margin:0 0 0 auto}
  .stat{gap:8px}.stat b{font-size:32px}.stat span{font-size:18px}
  .cases{width:auto;scroll-padding-left:0}
  .car-nav{gap:16px;margin-top:22px}.car-arr{display:none}
  .car-dots{gap:8px}.car-dots button{width:8px;height:8px}.car-dots button[aria-current="true"]{width:24px;border-radius:4px}
  .cases,.revs{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(260px,42%);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--gutter-r,16px) 10px 0;margin-top:32px;margin-right:calc(-1*max(16px, env(safe-area-inset-right, 0px)))}
  .case,.rev{scroll-snap-align:start}
  .case{height:auto;aspect-ratio:393/577;border-radius:30px}
  .case .in{left:9%;right:6%}
  .case b{font-size:16px;line-height:1.3}.case span{font-size:13px;line-height:1.35;margin-top:4px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.case i{font-size:12px;padding:9px 16px;border-radius:12px;margin-top:10px}
  .rev .pv{height:auto;aspect-ratio:1;border-radius:20px}
  .rev span{margin-top:14px;font-size:20px;line-height:1.3}
  .rev-btn{margin-top:36px}
  .rev-btn .btn,.c-col .btn{font-size:18px;padding:22px 40px}
  /* why */
  .why{padding-top:72px}
  .why-grid{grid-template-columns:minmax(0,.7fr) minmax(0,1fr);gap:32px;padding:0;margin-top:40px}
  .why-grid img{height:auto;aspect-ratio:393/535}
  .why-txt{gap:18px;font-size:16px;line-height:1.65}
  .why-txt .lead{font-size:20px;line-height:1.35}
  /* contacts */
  .contacts{height:auto;margin-top:72px;padding-block:56px 64px;background-size:180% auto;background-position:30% 0}
  .c-grid{grid-template-columns:1fr 1fr;gap:28px 24px;padding:0}
  .c-grid>.c-col:first-child{grid-column:1/-1}
  .c-col h3{margin-top:0;font-size:24px}
  .c-links,.c-col:not(:first-child) .c-links{margin-top:12px}
  .c-links a,.c-links span,.c-col:not(:first-child) .c-links a{font-size:18px;line-height:2.4}
  .c-links svg{width:22px;height:22px}
  /* footer */
  .ftr .wB{height:auto;flex-wrap:wrap;gap:18px 32px;padding-block:28px;padding-left:max(16px, env(safe-area-inset-left, 0px))}
  .ftr img{width:140px}
  .ftr nav{gap:12px 40px;flex-wrap:wrap}
  .ftr a{font-size:16px}
}
@media (max-width:640px){
  .logo img{width:120px}
  .hdr{height:68px}
  .mnav{top:calc(68px + env(safe-area-inset-top,0px))}
  /* hero as in the original: centered, text → video → button */
  .hero .wA{text-align:center;justify-items:center}
  .hero h1 .last{justify-content:center}
  .hero h1 small{margin-inline:auto}
  .hero h1{order:1;font-size:min(13.5vw,58px)}.hero-media{order:2;margin-block:-30px -26px}.hero-p{order:3}.hero .btn{order:4;justify-self:stretch;width:100%;justify-content:center}
  /* services: swipe carousel, image big and centered, button under the image */
  .svc{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:88%;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(-1*max(16px, env(safe-area-inset-left, 0px))) calc(-1*max(16px, env(safe-area-inset-right, 0px)));padding-inline:max(16px, env(safe-area-inset-left, 0px))}
  .svc::-webkit-scrollbar{display:none}
  .card{min-height:0;display:flex;flex-direction:column;align-items:center;scroll-snap-align:center;padding-bottom:28px}
  .card .txt{width:100%;padding:28px 24px 0}
  /* every service picture sits in the same square box, full card width */
  .card .devbox{display:block;order:2;position:relative;width:calc(100% - 24px);aspect-ratio:1;margin:34px 12px 0}
  .card .devbox .dev,.card .devbox .dev.tall{position:absolute;transform:none;right:auto;bottom:auto;left:var(--ml,0%);top:var(--mt,0%);width:var(--mw,100%);max-width:none;height:auto;margin:0;padding:0}
  .card .txt{order:1}
  .card .cbtn{order:3;position:relative;left:auto;bottom:auto;margin:34px auto 0}
  .svc-dots{display:flex;justify-content:center;gap:8px;margin-top:18px}
  .svc-dots button{width:8px;height:8px;border-radius:50%;border:0;padding:0;background:#c9d3e0;cursor:pointer;transition:width .25s,background .25s}
  .svc-dots button[aria-current="true"]{width:24px;border-radius:4px;background:var(--blue)}
  .cases,.revs{grid-auto-columns:78%}
  .why-grid{grid-template-columns:1fr}
  .why-grid img{max-width:400px}
  .c-grid{grid-template-columns:1fr}
  .ftr nav{margin-left:0;flex-direction:column;gap:10px;width:100%}
}

br.d{display:inline}
@media (max-width:1024px){br.d{display:none}}
/* popup */
dialog{border:0;border-radius:24px;padding:0;width:min(520px,calc(100% - 32px));color:var(--ink);background:#fff}
dialog::backdrop{background:rgba(10,18,40,.55);backdrop-filter:blur(3px)}
.pop{padding:clamp(24px,5vw,44px);display:grid;gap:18px;position:relative;font-size:16px}
.pop h2{font-size:min(26px,4.9vw);font-weight:600;padding-right:40px;line-height:1.2;white-space:nowrap}
.pop label{display:grid;gap:8px;font-size:15px;font-weight:500}
.pop input,.pop select{width:100%;height:54px;border:1.5px solid var(--line);border-radius:12px;padding:0 16px;font:500 16px/1 var(--font);color:var(--ink);background:#fff}
.pop input:focus,.pop select:focus{outline:none;border-color:var(--blue)}
.pop select{appearance:none;-webkit-appearance:none;padding-right:52px;cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 18px center/20px 20px}
.pop select:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231677d1' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}
.pop .btn{width:100%;font-size:18px;padding:20px}
.pop .x{position:absolute;top:16px;right:16px;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:22px;cursor:pointer;line-height:1;color:var(--ink)}
.pop .note{font-size:12px;color:#6b6b6b}
.pop .msg{font-weight:600}
.pop .msg.err{color:#c0352b}.pop .msg.ok{color:#13804a}
@media (max-width:360px){.cases{grid-auto-columns:88%}}

/* video review modal */
dialog.vid{background:transparent;padding:0;border:0;width:fit-content;height:fit-content;max-width:none;max-height:none;margin:auto;overflow:visible}
dialog.vid::backdrop{background:rgba(8,12,24,.86);backdrop-filter:blur(4px)}
.vbox{height:min(86vh,820px);aspect-ratio:9/16;max-width:calc(100vw - 32px);border-radius:20px;overflow:hidden;background:#000 center/cover no-repeat;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.vbox iframe{width:100%;height:100%;border:0;display:block}
.vx{position:absolute;top:-6px;right:-58px;width:46px;height:46px;border-radius:50%;border:0;background:#fff;color:#1a1a1a;font-size:26px;line-height:1;cursor:pointer}
.vyt{position:absolute;left:0;right:0;bottom:-38px;text-align:center;color:rgba(255,255,255,.75);font-size:14px;text-decoration:none}
.vyt:hover{color:#fff}
@media (max-width:640px){.vx{top:-56px;right:0}.vbox{height:auto;width:calc(100vw - 32px)}}

/* cookie consent bar (admin → Маркетинг) */
.cookie-bar{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;max-width:760px;margin:0 auto;background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.14);padding:16px 18px;display:flex;gap:14px 20px;align-items:center;flex-wrap:wrap;font:400 14px/1.45 var(--font)}
.cookie-bar p{margin:0;flex:1 1 320px}
.cookie-bar a{color:var(--blue)}
.cookie-bar__btns{display:flex;gap:10px;flex-wrap:wrap}
.cookie-bar .btn{font-size:15px;padding:13px 22px;border-radius:12px}
.cookie-bar .btn.ghost{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}
.cookie-bar .btn.ghost:hover{background:#f4f6fa}

.svc-dots{display:none}
.devbox{display:contents}
@media (max-width:640px){.svc-dots{display:flex}}
@media (max-width:640px){html[lang="en"] .hero h1{font-size:min(11vw,48px)}html[lang="en"] .hero h1>span:not(.last){white-space:nowrap}}
