/* =========================================================================
   NoPanic — «Игры для iOS», авторская версия (v2)
   Другая модель страницы в той же палитре и шрифтах:
   тёмный премиальный канвас, техническо-редакторская сетка на тонких линиях
   с нумерацией секций, карточка в стиле App Store, вертикальный таймлайн,
   один жёлтый «удар». Самодостаточная: свои шапка, футер и форма.
   Дисциплина устойчивости та же: minmax(0,1fr), clamp(), без фикс-высот.
   ========================================================================= */

@font-face{font-family:Benzin;src:url("assets/fonts/benzin-bold.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:Atyp;src:url("assets/fonts/atyp-text-regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Atyp;src:url("assets/fonts/atyp-text-semibold.woff2") format("woff2");font-weight:600;font-display:swap}

:root{
  --yellow:#ffea00;--yellow-2:#ffdf00;--ink:#171717;--blue:#24aeeb;--paper:#f4f1e8;
  --ink-2:#1e1e1e;--muted:#9b9b95;--hair:rgba(244,241,232,.14);--hair-strong:rgba(244,241,232,.32);
  --display:Benzin,Impact,sans-serif;--text:Atyp,Arial,sans-serif;
  --gutter:clamp(20px,5vw,72px);
  --container:1220px;
  --sec-y:clamp(60px,5vw,84px);
  --fs-display:clamp(52px,9vw,132px);
  --fs-title:clamp(42px,5vw,84px);   /* единый размер всех заголовков (не крупнее главного экрана главной) */
  --fs-h2:clamp(30px,4.4vw,60px);
  --fs-h3:clamp(19px,1.7vw,24px);
  --fs-body:clamp(16px,1.15vw,19px);
  --fs-lead:clamp(18px,1.5vw,23px);
  --fs-label:clamp(10px,.85vw,12px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;hyphens:none;-webkit-hyphens:none}
body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--text);font-size:var(--fs-body);line-height:1.55;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3{margin:0;font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:-.03em;line-height:.92;overflow-wrap:normal;word-break:normal;hyphens:none}
p{margin:0}

/* Слова всегда остаются цельными; односимвольные предлоги связывает JS. */
p,a,span,li,button,label,summary,small,strong,b{overflow-wrap:normal;word-break:normal;hyphens:none;-webkit-hyphens:none}

.v-wrap{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.v-label{display:inline-flex;align-items:center;gap:10px;font-family:var(--display);font-size:var(--fs-label);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.v-label:before{content:"";width:22px;height:2px;background:var(--yellow)}
.v-accent{color:var(--yellow)}
.v-blue{color:var(--blue)}

/* Кнопки */
/* Система кнопок: голубая подложка-смещение, анимация сдвига при наведении */
.v-btn{display:inline-flex;align-items:center;gap:12px;min-height:56px;padding:0 26px;font-family:var(--display);font-size:13px;letter-spacing:.02em;text-transform:uppercase;border:2px solid transparent;cursor:pointer;transition:transform .18s,box-shadow .18s,background .18s,color .18s,border-color .18s}
.v-btn-solid{background:var(--yellow);color:var(--ink)}
.v-btn-solid:hover,.v-btn-solid:focus-visible{transform:translate(-3px,-3px);box-shadow:7px 7px 0 var(--blue)}
.v-btn-ghost{border-color:var(--hair-strong);color:var(--paper)}
.v-btn-ghost:hover,.v-btn-ghost:focus-visible{border-color:var(--yellow);color:var(--yellow);transform:translate(-3px,-3px);box-shadow:8px 8px 0 var(--blue)}
.v-btn svg{width:16px;height:22px;fill:currentColor}

/* Заголовок секции с индексом и линией */
.v-head{padding-top:clamp(20px,2vw,28px)}
.v-head .v-num{display:none}
.v-head h2{font-size:var(--fs-title)}
.v-head h2 span{color:var(--blue)}
.v-head .v-sub{max-width:60ch;margin-top:18px;color:var(--muted);font-size:var(--fs-lead);line-height:1.45}

/* =========================================================================
   ШАПКА
   ========================================================================= */
.v-header{position:sticky;top:0;z-index:40;background:rgba(23,23,23,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--hair)}
.v-header-in{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:70px}
.v-logo{display:flex;align-items:center;gap:11px;font-family:var(--display);font-size:13px;text-transform:uppercase;letter-spacing:.02em}
.v-logo .bolt{width:16px;height:26px;fill:var(--yellow)}
.v-nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,36px)}
.v-nav a{font-family:var(--display);font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);transition:color .18s}
.v-nav a:hover,.v-nav a[aria-current]{color:var(--paper)}
.v-header>.v-wrap>.v-btn-solid{min-height:44px;padding:0 18px}
/* Мобильное меню на <details> — без JS */
.v-menu{display:none;position:relative}
.v-menu summary{list-style:none;min-height:44px;padding:0 16px}
.v-menu summary::-webkit-details-marker{display:none}
.v-menu-panel{position:absolute;right:0;top:calc(100% + 10px);display:grid;gap:2px;min-width:180px;padding:10px;background:var(--ink-2);border:1px solid var(--hair-strong);box-shadow:0 24px 50px rgba(0,0,0,.5)}
.v-menu-panel a{padding:12px 14px;font-family:var(--display);font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}
.v-menu-panel a:hover{color:var(--paper);background:rgba(255,255,255,.04)}
@media(max-width:820px){
  .v-nav{display:none}
  .v-menu{display:block}
  .v-header>.v-wrap>.v-btn-solid{display:none}
}

/* =========================================================================
   ГЕРОЙ + карточка App Store
   ========================================================================= */
.v-hero{position:relative;min-height:100dvh;display:grid;align-content:center;padding:132px 0 clamp(56px,7vw,90px);overflow:hidden}
@media(max-width:900px){.v-hero{padding-top:104px}}
@media(max-width:620px){.v-hero{padding-top:92px}}
.v-hero:before{content:"";position:absolute;inset:0;z-index:-1;
  background-image:linear-gradient(var(--hair) 1px,transparent 1px),linear-gradient(90deg,var(--hair) 1px,transparent 1px);
  background-size:clamp(60px,7vw,96px) clamp(60px,7vw,96px);
  -webkit-mask-image:radial-gradient(120% 100% at 15% 0,#000,transparent 70%);mask-image:radial-gradient(120% 100% at 15% 0,#000,transparent 70%);opacity:.7}
.v-hero-grid{display:grid;grid-template-columns:1fr;gap:clamp(44px,5vw,64px);align-items:center}
.v-hero-copy{min-width:0}
.v-hero .v-label{margin-bottom:clamp(20px,2.4vw,30px)}
.v-hero h1{font-size:var(--fs-title)}
/* Единый шрифт/трекинг всех заголовков — как на hero-блоке главной (Benzin 700, −.055em) */
.v-hero h1,.v-head h2,.v-punch h2{letter-spacing:-.055em}
.v-hero h1 span{color:var(--blue)}
.v-hero-lead{max-width:46ch;margin:clamp(22px,2.6vw,32px) 0 clamp(30px,3vw,38px);font-size:var(--fs-lead);color:#d7d7d1;line-height:1.45}
.v-hero-actions{display:flex;flex-wrap:wrap;gap:16px}
.v-hero-media{display:flex;justify-content:center;align-items:center;min-width:0}
.v-hero-media img{width:auto;max-width:100%;height:auto;max-height:clamp(440px,68vh,780px);filter:drop-shadow(0 30px 60px rgba(0,0,0,.5))}
@media(max-width:960px){.v-hero-media img{max-height:clamp(340px,54vh,540px)}}

@media(min-width:960px){
  .v-hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}
}

/* Hero сохраняет безопасные поля и устойчивую область изображения. */
.v-hero-grid{width:min(100%,var(--container));overflow:visible}
.v-hero-copy{max-width:100%;padding-left:2px}
.v-hero-media{min-height:clamp(360px,56vh,680px)}
.v-hero-media img{display:block;visibility:visible;opacity:1}
@media(max-width:959px){.v-hero-media{min-height:320px}}

/* --- Карточка App Store --- */
.as-card{background:var(--paper);color:var(--ink);border-radius:26px;padding:clamp(20px,2.4vw,30px);box-shadow:0 40px 80px rgba(0,0,0,.45);max-width:460px;width:100%;margin-inline:auto}
.as-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px}
.as-icon{width:clamp(64px,8vw,84px);aspect-ratio:1;border-radius:22%;background:var(--ink);display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}
.as-icon svg{width:38%;height:auto;fill:var(--yellow)}
.as-meta{min-width:0}
.as-meta h3{font-family:var(--display);font-size:clamp(16px,1.4vw,20px);letter-spacing:-.02em;text-transform:none;color:var(--ink)}
.as-meta p{color:#6d6d67;font-size:14px;text-transform:none}
.as-get{align-self:center;padding:9px 22px;border-radius:999px;background:var(--blue);color:#fff;font-family:var(--display);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.as-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:22px;padding:16px 0;border-top:1px solid rgba(23,23,23,.12);border-bottom:1px solid rgba(23,23,23,.12)}
.as-stats div{text-align:center;border-right:1px solid rgba(23,23,23,.12)}
.as-stats div:last-child{border-right:0}
.as-stats b{display:block;font-family:var(--display);font-size:clamp(15px,1.4vw,19px);color:var(--ink)}
.as-stats b .star{color:var(--blue)}
.as-stats span{font-size:11px;color:#6d6d67;text-transform:uppercase;letter-spacing:.04em}
.as-shots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}
.as-shot{aspect-ratio:9/16;border-radius:14px;overflow:hidden;background:var(--s,linear-gradient(180deg,#24aeeb,#8fd8f4 46%,#ffd23f 47%,#ffb800));position:relative}
.as-shot:before{content:"";position:absolute;top:12%;left:18%;width:26%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#fff6c4,#ffdd55)}
.as-shot:after{content:"";position:absolute;left:0;right:0;bottom:0;height:32%;background:var(--ink);clip-path:polygon(0 45%,22% 18%,44% 48%,66% 14%,100% 40%,100% 100%,0 100%)}

/* Полоса статов под героем */
.v-stripe{border-top:1px solid var(--hair-strong);border-bottom:1px solid var(--hair-strong)}
.v-stripe-in{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,3vw,40px);padding-block:clamp(22px,2.6vw,32px)}
.v-stripe div{display:flex;align-items:baseline;gap:12px;min-width:0}
.v-stripe b{font-family:var(--display);font-size:clamp(26px,2.6vw,38px);color:var(--yellow);line-height:1;white-space:nowrap}
.v-stripe span{color:var(--muted);font-size:clamp(12px,1vw,14px)}
@media(max-width:640px){.v-stripe-in{grid-template-columns:1fr;gap:14px}.v-stripe div{justify-content:space-between;padding-block:10px;border-bottom:1px solid var(--hair)}.v-stripe div:last-child{border-bottom:0}}

/* =========================================================================
   ЧТО ЗАКРЫВАЕМ — спец-индекс на линиях
   ========================================================================= */
.v-section{padding-block:var(--sec-y)}
/* Карточки возможностей: 2 ряда по 3 */
.v-spec{margin-top:clamp(34px,4vw,56px);padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,22px)}
.v-spec-row{min-width:0;overflow:hidden;display:flex;flex-direction:column;gap:20px;padding:clamp(28px,2.2vw,36px);background:var(--ink-2);border:1px solid var(--hair);border-top:3px solid var(--blue);transition:transform .2s,border-color .2s}
.v-spec-row:hover{transform:translateY(-6px);border-top-color:var(--yellow)}
.v-spec-n{font-family:var(--display);font-size:clamp(28px,2.6vw,42px);color:var(--blue);line-height:1;transition:color .2s}
.v-spec-row:hover .v-spec-n{color:var(--yellow)}
.v-spec-icon{width:64px;height:64px;object-fit:contain;object-position:left center;display:block;flex:none;transform-origin:center;will-change:transform,filter;transition:filter .25s ease}
.v-spec-row:hover .v-spec-icon{filter:drop-shadow(0 0 8px rgba(36,174,235,.28))}
.v-spec-row:nth-child(1):hover .v-spec-icon{animation:v-icon-controller .62s cubic-bezier(.2,.7,.2,1)}
.v-spec-row:nth-child(2):hover .v-spec-icon{animation:v-icon-port .68s cubic-bezier(.2,.7,.2,1)}
.v-spec-row:nth-child(3):hover .v-spec-icon{animation:v-icon-gauge .66s cubic-bezier(.2,.7,.2,1)}
.v-spec-row:nth-child(4):hover .v-spec-icon{animation:v-icon-coin .62s cubic-bezier(.2,.7,.2,1)}
.v-spec-row:nth-child(5):hover .v-spec-icon{animation:v-icon-rocket .7s cubic-bezier(.2,.7,.2,1)}
.v-spec-row:nth-child(6):hover .v-spec-icon{animation:v-icon-liveops .72s cubic-bezier(.2,.7,.2,1)}
@keyframes v-icon-controller{0%,100%{transform:translateY(0) rotate(0)}45%{transform:translateY(-5px) rotate(-2deg)}72%{transform:translateY(-2px) rotate(1deg)}}
@keyframes v-icon-port{0%,100%{transform:translateX(0)}42%{transform:translateX(7px)}70%{transform:translateX(3px)}}
@keyframes v-icon-gauge{0%,100%{transform:rotate(0) scale(1)}45%{transform:rotate(5deg) scale(1.06)}72%{transform:rotate(-2deg) scale(1.02)}}
@keyframes v-icon-coin{0%,100%{transform:translateY(0) scale(1)}38%{transform:translateY(-5px) scale(1.07)}68%{transform:translateY(-2px) scale(.99)}}
@keyframes v-icon-rocket{0%,100%{transform:translateY(0)}38%{transform:translateY(-8px)}65%{transform:translateY(-4px)}82%{transform:translateY(-6px)}}
@keyframes v-icon-liveops{0%,100%{transform:rotate(0)}42%{transform:rotate(12deg)}72%{transform:rotate(-4deg)}}
.v-spec-body,.v-spec-body>div{min-width:0}.v-spec-body{display:flex;flex-direction:column;gap:20px;flex:1}
.v-spec-body h3{max-width:100%;font-size:clamp(17px,1.35vw,22px);line-height:1.14;margin:0 0 14px;text-wrap:balance}
.v-spec-body p{color:var(--muted);font-size:var(--fs-body);line-height:1.5;margin:0}
.v-spec-tag{align-self:flex-start;margin-top:auto;font-family:var(--display);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--paper);white-space:nowrap;border:1px solid var(--hair-strong);padding:7px 12px;border-radius:999px}
@media(max-width:900px){.v-spec{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.v-spec{grid-template-columns:1fr}}

/* =========================================================================
   ЖЁЛТЫЙ «УДАР» — единственный светлый блок
   ========================================================================= */
.v-punch{background:var(--yellow-2);color:var(--ink);position:relative;overflow:hidden}
.v-punch-in{position:relative;z-index:1;padding-block:clamp(60px,5vw,84px);max-width:var(--container)}
.v-punch h2{font-size:clamp(42px,3.85vw,54px);letter-spacing:-.055em;margin:0}
.v-punch h2 span{color:var(--blue)}
.v-adv-top{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(20px,2vw,34px);align-items:center;margin-bottom:clamp(38px,4.5vw,62px)}
.v-adv-head{min-width:0;max-width:720px;margin:0}
.v-adv-head p{max-width:60ch;margin-top:clamp(18px,2vw,26px);font-size:var(--fs-lead);line-height:1.45;color:rgba(23,23,23,.8)}
.v-adv-visual{min-width:0;margin:clamp(-18px,-1.2vw,-8px) clamp(-34px,-2vw,-12px) clamp(-24px,-1.5vw,-10px) 0;position:relative;overflow:visible;background:transparent;border:0;box-shadow:none}
.v-adv-visual img{width:112%;max-width:none;height:auto;display:block;object-fit:contain;filter:none;mix-blend-mode:normal}
.v-adv-visual img[src$="ios-advantages-racing-phone-v2.png"]{width:88%;margin-inline:auto}
.v-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:3px solid var(--ink);border-left:1px solid rgba(23,23,23,.28)}
.v-stats>div{min-width:0;min-height:190px;padding:clamp(20px,2.4vw,32px);display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid rgba(23,23,23,.28);border-bottom:1px solid rgba(23,23,23,.28);position:relative}
.v-stats b{font-family:var(--display);font-size:clamp(34px,4vw,58px);line-height:.9;letter-spacing:-.06em;color:var(--blue);white-space:nowrap}
.v-stats span{max-width:18ch;font-family:var(--display);font-size:clamp(11px,1vw,15px);font-weight:600;line-height:1.2;text-transform:uppercase}
@media(max-width:900px){.v-adv-top{grid-template-columns:1fr}.v-adv-head{max-width:760px}.v-adv-visual{width:min(760px,100%);max-width:760px;margin:0 auto}.v-adv-visual img{width:100%}}
@media(max-width:760px){.v-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.v-stats>div{min-height:150px}}
@media(max-width:420px){.v-stats{grid-template-columns:1fr}.v-stats>div{min-height:118px}}
.v-adv-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(22px,2.6vw,44px)}
.v-adv{display:flex;flex-direction:column;gap:12px;border-top:3px solid var(--ink);padding-top:20px}
.v-adv-bolt{width:20px;height:28px;flex:none;background:var(--blue);-webkit-mask:url("assets/favicon.svg") center/contain no-repeat;mask:url("assets/favicon.svg") center/contain no-repeat}
.v-adv h3{margin:0 0 4px;font-family:var(--display);text-transform:uppercase;letter-spacing:-.02em;font-size:clamp(18px,1.4vw,22px);line-height:1.14;color:var(--ink)}
.v-adv p{margin:0;color:rgba(23,23,23,.72);font-size:var(--fs-body);line-height:1.5}
.v-punch .v-btn-solid{background:var(--ink);color:var(--paper);margin-top:clamp(42px,5vw,62px)}
.v-punch .v-btn-solid:hover,.v-punch .v-btn-solid:focus-visible{background:#000;transform:translate(-3px,-3px);box-shadow:7px 7px 0 var(--blue)}
@media(max-width:900px){.v-adv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.v-adv-grid{grid-template-columns:1fr}}

/* =========================================================================
   УСТРОЙСТВА И СТЕК
   ========================================================================= */
.v-stack-grid{display:grid;grid-template-columns:1fr;gap:clamp(40px,5vw,72px);align-items:center;margin-top:clamp(34px,4vw,54px)}
@media(min-width:900px){.v-stack-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}}
.v-devices{display:flex;justify-content:center;align-items:flex-end;gap:clamp(14px,2vw,26px);min-width:0}
.v-phone{flex:none;background:var(--ink-2);border:1px solid var(--hair-strong);border-radius:clamp(24px,2.6vw,38px);padding:clamp(7px,.8vw,10px);box-shadow:0 30px 60px rgba(0,0,0,.4)}
.v-phone-screen{width:clamp(128px,15vw,190px);aspect-ratio:9/19;border-radius:clamp(18px,2vw,30px);overflow:hidden;position:relative;background:var(--s,linear-gradient(180deg,#5b3df2,#a06bff 46%,#ff8a3d 47%,#ffd23f))}
.v-phone--tablet .v-phone-screen{width:clamp(190px,24vw,300px);aspect-ratio:3/4}
.v-phone-screen:before{content:"";position:absolute;top:9%;left:18%;width:26%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#fff6c4,#ffdd55)}
.v-phone-screen:after{content:"";position:absolute;left:0;right:0;bottom:0;height:33%;background:var(--ink);clip-path:polygon(0 44%,20% 18%,40% 48%,60% 12%,80% 42%,100% 16%,100% 100%,0 100%)}
.v-island{position:absolute;top:9px;left:50%;transform:translateX(-50%);width:32%;height:14px;border-radius:999px;background:#000;z-index:2}
.v-phone--tablet .v-island{display:none}
@media(max-width:640px){.v-phone--tablet{display:none}}

.v-device-section{position:relative;overflow:hidden;background:radial-gradient(55% 55% at 20% 58%,rgba(0,135,220,.13),transparent 72%),var(--ink)}
.v-device-pills{width:100%;max-width:100%;min-width:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px;margin-top:clamp(34px,4vw,54px)}
.v-device-pills>span{min-width:0;min-height:44px;padding:0 12px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--hair-strong);border-radius:999px;background:rgba(255,255,255,.018);font-size:12px;line-height:1;color:#d4d4ce;white-space:nowrap;text-align:center}
.v-device-pills>span b{flex:none;font:inherit;font-size:15px;line-height:1;color:var(--blue)}
@media(max-width:1050px){.v-device-pills{grid-template-columns:repeat(3,minmax(0,1fr))}}
.v-device-section .v-stack-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:18px;align-items:stretch;margin-top:24px}
.v-device-visual{min-width:0;margin:0;display:flex;align-items:center;justify-content:center;position:relative;background:transparent;overflow:visible}
.v-device-visual>img{width:100%;height:auto;min-height:0;display:block;object-fit:contain;object-position:center;background:transparent}
.v-device-visual>img[src*="ios-exploded-iphone-game.png"]{width:auto;max-width:75%;max-height:450px;margin-inline:auto}
.v-device-visual figcaption{position:absolute;right:18px;bottom:18px;z-index:2;max-width:245px;padding:15px 17px;display:flex;align-items:center;gap:14px;background:rgba(10,12,14,.88);border:1px solid rgba(255,234,0,.48);box-shadow:0 14px 36px rgba(0,0,0,.38);backdrop-filter:blur(10px)}
.v-device-visual figcaption>b{font-family:var(--display);font-size:22px;color:var(--blue)}.v-device-visual figcaption span{display:grid;gap:4px;font-size:12px;color:var(--muted)}.v-device-visual figcaption strong{font-family:var(--display);font-size:11px;text-transform:uppercase;color:var(--paper)}
.v-stack-panel{display:grid;border:1px solid var(--hair-strong);border-top:2px solid var(--blue);box-shadow:0 18px 50px rgba(0,0,0,.3)}
.v-stack-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));height:126px;border-bottom:1px solid var(--hair-strong)}.v-stack-row:last-child{border-bottom:0}
.v-stack-row>strong,.v-stack-row>span{min-width:0;height:100%;padding:12px 7px;display:grid;grid-template-rows:54px minmax(28px,auto);place-items:center;align-content:center;text-align:center;font-family:var(--text);font-weight:600;text-transform:none}
.v-stack-row>strong{position:relative;color:var(--blue);font-size:20px;background:rgba(36,174,235,.08);box-shadow:inset -2px 0 0 rgba(36,174,235,.55)}.v-stack-row>strong small,.v-stack-row>span{font-size:clamp(11px,.82vw,13px);line-height:1.22}.v-stack-row>strong small{min-height:2.44em;display:flex;align-items:center;justify-content:center;color:var(--paper);font-weight:600}
.v-stack-row>span{border-left:1px solid var(--hair)}
.v-stack-row>span img{width:44px;height:44px;display:block;object-fit:contain}
.v-device-benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:24px;border:1px solid var(--hair-strong);background:rgba(255,255,255,.018)}
.v-device-benefits article{min-width:0;min-height:128px;padding:22px 20px;display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;column-gap:16px;border-right:1px solid var(--hair-strong)}.v-device-benefits article:last-child{border-right:0}
.v-device-benefits article>b{width:48px;display:grid;place-items:center;flex:none;font-size:30px;line-height:1;color:var(--blue)}.v-device-benefits article:nth-child(even)>b{color:var(--yellow)}
.v-device-benefits article>div{min-width:0;display:grid;align-content:center}.v-device-benefits h3{min-height:2.4em;margin:0 0 9px;display:flex;align-items:flex-end;font-size:12px;line-height:1.2;text-transform:uppercase;text-wrap:balance}.v-device-benefits p{margin:0;color:var(--muted);font-size:13px;line-height:1.45;text-wrap:pretty}
@media(max-width:1050px){.v-device-section .v-stack-grid{grid-template-columns:1fr}.v-device-visual>img{min-height:0;aspect-ratio:676/468}.v-stack-panel{grid-column:auto}.v-stack-row{min-height:110px}.v-device-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}.v-device-benefits article:nth-child(2){border-right:0}.v-device-benefits article:nth-child(-n+2){border-bottom:1px solid var(--hair-strong)}}
@media(max-width:620px){.v-device-pills{grid-template-columns:repeat(2,minmax(0,1fr))}.v-device-pills>span{font-size:10px;padding-inline:8px}.v-device-section .v-stack-grid{grid-template-columns:1fr;gap:18px}.v-stack-panel{grid-column:auto}.v-stack-row{grid-template-columns:repeat(4,minmax(0,1fr));height:100px}.v-stack-row>strong,.v-stack-row>span{grid-template-rows:40px minmax(24px,auto);padding:8px 3px}.v-stack-row>strong{font-size:16px}.v-stack-row>strong small,.v-stack-row>span{font-size:10px}.v-stack-row>span img{width:34px;height:34px}.v-device-benefits{grid-template-columns:1fr}.v-device-benefits article{min-height:94px;border-right:0;border-bottom:1px solid var(--hair-strong)}.v-device-benefits article:last-child{border-bottom:0}}

.v-chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));border-top:1px solid var(--hair-strong);border-left:1px solid var(--hair-strong)}
.v-chips span{padding:clamp(15px,1.6vw,20px) clamp(12px,1.4vw,18px);border-bottom:1px solid var(--hair-strong);border-right:1px solid var(--hair-strong);font-family:var(--display);font-size:clamp(12px,1.05vw,15px);letter-spacing:-.01em;text-transform:uppercase;transition:background .18s,color .18s}
.v-chips span:hover{background:var(--yellow);color:var(--ink)}

/* =========================================================================
   ПРОЦЕСС — вертикальный таймлайн
   ========================================================================= */
.v-timeline{margin-top:clamp(34px,4vw,54px);list-style:none;padding:0;display:grid;gap:0}
.v-step{display:grid;grid-template-columns:clamp(52px,6vw,88px) minmax(0,1fr);gap:clamp(18px,2.4vw,40px);padding:clamp(26px,2.8vw,38px) 0;border-top:1px solid var(--hair);position:relative}
.v-step:first-child{border-top:0}
.v-step-n{font-family:var(--display);font-size:clamp(26px,3.4vw,52px);line-height:.85;color:var(--yellow);position:relative}
.v-step-n:after{content:"";position:absolute;left:50%;top:calc(100% + 6px);bottom:-40px;width:2px;background:var(--hair);transform:translateX(-50%)}
.v-step:last-child .v-step-n:after{display:none}
.v-step h3{font-size:var(--fs-h3);margin-bottom:10px}
.v-step p{color:var(--muted);max-width:64ch;font-size:var(--fs-body)}
@media(min-width:900px){
  .v-timeline{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(40px,5vw,90px)}
  .v-step{border-top:1px solid var(--hair)}
}

/* =========================================================================
   ФОРМАТЫ РАБОТЫ — карточки
   ========================================================================= */
.v-process-main{padding-block:clamp(68px,5.5vw,92px);background:var(--ink);color:var(--paper);position:relative;overflow:hidden}
.v-process-main:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.14;background-image:radial-gradient(var(--yellow) 1px,transparent 1px);background-size:10px 10px;mask-image:linear-gradient(90deg,#000,transparent 38%,transparent 62%,#000)}
.v-process-main>.v-wrap{position:relative;z-index:1}
.v-process-head{display:flex;align-items:flex-end;justify-content:space-between;gap:clamp(50px,7vw,120px);margin-bottom:clamp(68px,7.5vw,112px)}
.v-process-head h2{margin:0;color:var(--yellow);font-size:clamp(58px,6.4vw,104px);line-height:.88;letter-spacing:-.06em}
.v-process-head h2 span{color:var(--blue)}
.v-process-head p{max-width:690px;margin:0 0 6px;font-size:clamp(18px,1.45vw,24px);line-height:1.48;color:var(--paper)}
.v-process-steps{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(22px,2.8vw,54px);margin:0;padding:0;list-style:none}
.v-process-steps:before{content:"";position:absolute;left:50px;right:50px;top:51px;height:2px;background:var(--yellow);opacity:.58}
.v-process-steps li{position:relative;min-width:0}
.v-process-marker{width:104px;height:104px;margin-bottom:34px;display:grid;place-items:center;position:relative;z-index:1;border:2px solid var(--yellow);border-radius:50%;background:var(--ink);color:var(--blue);font-family:var(--display);font-size:clamp(24px,2.1vw,34px);line-height:1}
.v-process-steps h3{margin:0 0 20px;font-size:clamp(17px,1.3vw,22px);line-height:1.04;text-transform:uppercase}
.v-process-steps p{max-width:265px;margin:0;color:#c4c1b9;font-size:clamp(15px,1.05vw,18px);line-height:1.58}
@media(max-width:1180px){
  .v-process-head{display:block}.v-process-head p{margin-top:30px}
  .v-process-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:52px 36px}.v-process-steps:before{display:none}
  .v-process-steps li{padding-bottom:28px;border-bottom:1px solid rgba(255,234,0,.35)}
}
@media(max-width:760px){.v-process-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){
  .v-process-main{padding-block:72px}.v-process-head{margin-bottom:38px}.v-process-head h2{font-size:clamp(43px,12.5vw,58px)}.v-process-head p{font-size:16px;margin-top:22px}
  .v-process-steps{grid-template-columns:1fr;gap:0}.v-process-steps li{display:grid;grid-template-columns:68px minmax(0,1fr);column-gap:18px;padding:24px 0}
  .v-process-marker{grid-row:1/3;width:62px;height:62px;margin:0;font-size:20px}.v-process-steps h3{font-size:19px;margin:0 0 10px}.v-process-steps p{font-size:14px;line-height:1.5}
}

.v-cards{margin-top:clamp(34px,4vw,54px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.v-card{min-width:0;min-height:620px;padding:clamp(24px,2.2vw,32px);display:grid;grid-template-rows:auto 58px 88px 1fr auto 54px;gap:18px;background:var(--yellow);color:var(--ink);border:1px solid var(--ink);border-top:3px solid var(--ink)}
.v-card.is-featured{background:var(--yellow);color:var(--ink);border-color:var(--ink);border-top-color:var(--ink)}
.v-card-top{display:flex;align-items:center;justify-content:space-between;gap:14px}.v-card-n,.v-card.is-featured .v-card-n{font-family:var(--display);font-size:clamp(24px,2.4vw,34px);line-height:1;color:var(--blue)}
.v-card-label,.v-card.is-featured .v-card-label{padding:6px 8px;border:1px solid var(--ink);font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.05em;color:var(--ink)}
.v-card h3{margin:0;color:var(--ink);font-size:clamp(17px,1.3vw,20px);line-height:1.05}.v-card p,.v-card.is-featured p{margin:0;color:rgba(23,23,23,.76);font-size:15px;line-height:1.5}
.v-card ul,.v-card.is-featured ul{margin:0;padding:0;display:grid;align-content:start;gap:11px;list-style:none;color:rgba(23,23,23,.84);font-size:14px;line-height:1.35}.v-card li{position:relative;padding-left:20px}.v-card li:before,.v-card.is-featured li:before{content:"✓";position:absolute;left:0;top:0;color:var(--blue);font-weight:700}
.v-card-meta,.v-card.is-featured .v-card-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:18px;border-top:1px solid rgba(23,23,23,.34)}.v-card-meta>span,.v-card.is-featured .v-card-meta>span{display:grid;gap:6px;color:rgba(23,23,23,.62);font-size:10px;text-transform:uppercase}.v-card-meta strong,.v-card.is-featured .v-card-meta strong{font-family:var(--text);font-size:13px;line-height:1.2;text-transform:none;letter-spacing:0;color:var(--ink)}
.v-card-cta,.v-card.is-featured .v-card-cta{min-width:0;min-height:54px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--ink);color:var(--paper);font-family:var(--display);font-size:11px;line-height:1.15;text-transform:uppercase;transition:transform .18s ease,background .18s ease,color .18s ease}.v-card-cta b{font-size:20px}.v-card-cta:hover,.v-card-cta:focus-visible{background:var(--blue);color:var(--ink);transform:translateY(-2px)}
/* Три формата — три цветовых режима одной карточной системы. */
.v-cards .v-card:nth-child(1){background:var(--ink-2);color:var(--paper);border-color:var(--hair-strong);border-top-color:var(--yellow)}
.v-cards .v-card:nth-child(1) h3,.v-cards .v-card:nth-child(1) .v-card-meta strong{color:var(--paper)}
.v-cards .v-card:nth-child(1) p,.v-cards .v-card:nth-child(1) ul{color:#cfcec8}
.v-cards .v-card:nth-child(1) .v-card-label,.v-cards .v-card:nth-child(1) .v-card-meta>span{color:var(--muted);border-color:var(--hair-strong)}
.v-cards .v-card:nth-child(1) .v-card-meta{border-color:var(--hair-strong)}
.v-cards .v-card:nth-child(1) .v-card-cta{background:var(--yellow);color:var(--ink)}
.v-cards .v-card:nth-child(1) .v-card-cta:hover,.v-cards .v-card:nth-child(1) .v-card-cta:focus-visible{background:var(--blue)}
.v-cards .v-card:nth-child(2){background:var(--blue);color:var(--ink);border-color:var(--ink);border-top-color:var(--ink)}
.v-cards .v-card:nth-child(2) .v-card-n{color:var(--yellow)}
.v-cards .v-card:nth-child(2) h3,.v-cards .v-card:nth-child(2) .v-card-meta strong{color:var(--ink)}
.v-cards .v-card:nth-child(2) p,.v-cards .v-card:nth-child(2) ul{color:rgba(23,23,23,.82)}
.v-cards .v-card:nth-child(2) li:before{color:var(--ink)}
.v-cards .v-card:nth-child(2) .v-card-label{color:var(--ink);border-color:var(--ink)}
.v-cards .v-card:nth-child(2) .v-card-meta{border-color:rgba(23,23,23,.34)}
.v-cards .v-card:nth-child(2) .v-card-meta>span{color:rgba(23,23,23,.62)}
.v-cards .v-card:nth-child(2) .v-card-cta{background:var(--ink);color:var(--paper)}
.v-cards .v-card:nth-child(2) .v-card-cta:hover,.v-cards .v-card:nth-child(2) .v-card-cta:focus-visible{background:var(--yellow);color:var(--ink)}
.v-cards .v-card:nth-child(3){background:var(--yellow);color:var(--ink);border-color:var(--ink);border-top-color:var(--ink)}
@media(max-width:980px){.v-cards{grid-template-columns:1fr}.v-card{min-height:0;grid-template-rows:auto auto auto auto auto 54px}.v-card h3{min-height:0}.v-card p{max-width:64ch}}

/* =========================================================================
   FAQ
   ========================================================================= */
.v-main-faq{scroll-margin-top:32px;padding:clamp(68px,5.5vw,92px) max(var(--gutter),calc((100% - var(--container))/2 + var(--gutter)));background:var(--yellow-2);color:var(--ink);display:grid;grid-template-columns:minmax(410px,.9fr) minmax(500px,1.1fr);gap:clamp(40px,5vw,82px);align-items:start;border-bottom:8px solid var(--ink)}
.v-main-faq>*{min-width:0}
.v-main-faq-heading{position:sticky;top:50px}
.v-main-faq-heading h2{margin:0;font-size:clamp(42px,3.7vw,62px);line-height:.9;letter-spacing:-.055em}.v-main-faq-heading h2 span{color:var(--blue)}
.v-main-faq-heading>p:last-child{max-width:540px;margin:36px 0 0;font-size:clamp(18px,1.35vw,23px);line-height:1.48}
.v-main-faq-list{border-top:3px solid var(--ink)}.v-main-faq-list details{border-bottom:2px solid var(--ink)}
.v-main-faq-list summary{min-height:108px;padding:27px 4px;display:grid;grid-template-columns:1fr 38px;gap:24px;align-items:center;list-style:none;cursor:pointer;font-family:var(--display);font-size:clamp(16px,1.3vw,21px);line-height:1.24;text-transform:uppercase}
.v-main-faq-list summary span{min-width:0;overflow-wrap:normal;word-break:normal}
.v-main-faq-list summary::-webkit-details-marker{display:none}.v-main-faq-list summary::marker{content:""}
.v-main-faq-list summary i{width:30px;height:30px;position:relative}.v-main-faq-list summary i:before,.v-main-faq-list summary i:after{content:"";position:absolute;left:2px;right:2px;top:14px;height:3px;background:var(--ink);transition:transform .22s ease,background .22s ease}.v-main-faq-list summary i:after{transform:rotate(90deg)}.v-main-faq-list details[open] summary i:after{transform:rotate(0)}
.v-main-faq-list summary:hover i:before,.v-main-faq-list summary:hover i:after{background:var(--blue)}
.v-main-faq-answer{max-width:780px;padding:0 72px 34px 4px;font-size:clamp(16px,1.15vw,20px);line-height:1.58}
@media(max-width:1050px){.v-main-faq{grid-template-columns:1fr;gap:70px}.v-main-faq-heading{position:relative;top:auto;max-width:720px}}
@media(max-width:620px){.v-main-faq{min-height:0;padding:72px var(--gutter) 62px;gap:48px}.v-main-faq-heading h2{font-size:clamp(40px,11vw,54px)}.v-main-faq-heading>p:last-child{margin-top:26px;font-size:16px}.v-main-faq-list summary{min-height:78px;padding:19px 2px;grid-template-columns:1fr 28px;gap:15px;font-size:15px}.v-main-faq-answer{padding:0 34px 24px 2px;font-size:15px}}

.v-faq-list{margin-top:clamp(30px,3.5vw,48px);border-top:1px solid var(--hair-strong)}
.v-faq-list details{border-bottom:1px solid var(--hair-strong)}
.v-faq-list summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;padding:clamp(20px,2.2vw,28px) 4px;font-family:var(--display);font-size:clamp(15px,1.4vw,20px);text-transform:uppercase;letter-spacing:-.01em;line-height:1.25}
.v-faq-list summary::-webkit-details-marker{display:none}
.v-faq-list summary:after{content:"+";font-family:var(--display);font-size:26px;color:var(--yellow);line-height:1}
.v-faq-list details[open] summary:after{content:"−"}
.v-faq-list summary:hover{color:var(--yellow)}
.v-faq-list p{margin:0 0 clamp(20px,2vw,26px);max-width:74ch;color:var(--muted);font-size:var(--fs-body)}

/* =========================================================================
   КОНТАКТ
   ========================================================================= */
.v-contact-grid{display:grid;grid-template-columns:1fr;gap:clamp(36px,4vw,64px);margin-top:clamp(34px,4vw,54px)}
@media(min-width:900px){.v-contact-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}}
.v-contact-copy p{color:var(--muted);max-width:44ch;font-size:var(--fs-lead)}
.v-contact-copy .as-card{max-width:100%;margin-top:32px;margin-inline:0}
.v-contact-copy .as-top{grid-template-columns:clamp(64px,7vw,84px) minmax(0,1fr);gap:18px}
.v-contact-copy .as-meta{width:100%;min-width:0;overflow:hidden}
.v-contact-copy .as-meta h3{margin:0 0 5px;font-size:clamp(14px,1.25vw,18px);line-height:1.1;white-space:nowrap}
.v-contact-copy .as-meta p{max-width:100%;margin:0;color:#85857f;font-size:clamp(9px,.78vw,12px);line-height:1.2;letter-spacing:-.015em;white-space:nowrap}
@media(max-width:420px){.v-contact-copy .as-card{padding:18px}.v-contact-copy .as-top{grid-template-columns:54px minmax(0,1fr);gap:12px}.v-contact-copy .as-icon{width:54px}.v-contact-copy .as-meta h3{font-size:13px}.v-contact-copy .as-meta p{font-size:9px}}
.v-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,2.4vw,32px)}
.v-field{display:flex;flex-direction:column;gap:10px;min-width:0}
.v-field-wide{grid-column:1/-1}
.v-field label{font-family:var(--display);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--yellow)}
.v-field input,.v-field select,.v-field textarea{width:100%;background:transparent;border:0;border-bottom:2px solid var(--hair-strong);padding:12px 0;color:var(--paper);outline:none;border-radius:0}
.v-field textarea{border:1px solid var(--hair-strong);padding:16px;resize:vertical;min-height:130px}
.v-field input::placeholder,.v-field textarea::placeholder{color:#6f6f69}
.v-field input:focus,.v-field select:focus,.v-field textarea:focus{border-color:var(--blue)}
.v-field select option{background:var(--ink)}
.v-form .v-btn{grid-column:1/-1;justify-content:center;background:var(--yellow);color:var(--ink);border:0}
.v-form-status{grid-column:1/-1;margin:0;min-height:20px;color:var(--blue)}
@media(max-width:640px){.v-form{grid-template-columns:1fr}.v-field-wide{grid-column:auto}}

/* =========================================================================
   ФУТЕР
   ========================================================================= */
.v-footer{border-top:1px solid var(--hair-strong)}
.v-footer-in{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding-block:clamp(32px,4vw,48px)}
.v-footer-nav{display:flex;flex-wrap:wrap;gap:clamp(16px,2vw,32px);font-family:var(--display);font-size:12px;text-transform:uppercase;color:var(--muted)}
.v-footer-nav a:hover{color:var(--paper)}
.v-footer small{color:#6f6f69;font-size:12px}

/* Мобильные уточнения: узкая номерная колонка в спец-строках даёт заголовкам
   полную ширину; статы в полосе могут переноситься. */
@media(max-width:640px){
  .v-hero h1,.v-head h2,.v-punch h2{font-size:clamp(30px,7.6vw,52px)}
}
/* Сверхузкие экраны: длинные слова в заглавном не помещаются при крупном кегле. */
@media(max-width:380px){
  .v-hero h1,.v-head h2,.v-punch h2{font-size:clamp(23px,7.4vw,40px)}
  .v-spec-body h3,.v-step h3,.v-card h3{font-size:clamp(16px,4.7vw,22px)}
  .as-icon{width:52px}
  .as-get{padding:8px 13px}
}

/* =========================================================================
   ПОЛИРОВКА: reveal-анимации, свечение героя, скролл-подсказка,
   гистограмма рейтинга, лента жанров, фокус-состояния.
   ========================================================================= */

/* Появление при скролле (включается только при JS через body.v-anim) */
.v-anim .v-reveal{opacity:0;transform:translateY(24px);transition:opacity .6s cubic-bezier(.2,.6,.2,1),transform .6s cubic-bezier(.2,.6,.2,1)}
.v-anim .v-reveal.in{opacity:1;transform:none}
.v-anim .v-stagger>*{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}
.v-anim .v-stagger.in>*{opacity:1;transform:none}
.v-anim .v-stagger.in>*:nth-child(2){transition-delay:.05s}
.v-anim .v-stagger.in>*:nth-child(3){transition-delay:.1s}
.v-anim .v-stagger.in>*:nth-child(4){transition-delay:.15s}
.v-anim .v-stagger.in>*:nth-child(5){transition-delay:.2s}
.v-anim .v-stagger.in>*:nth-child(6){transition-delay:.25s}

/* Свечение за карточкой App Store */
.v-hero-card{position:relative}
.v-hero-card:before{content:"";position:absolute;inset:-14% -10%;z-index:-1;
  background:radial-gradient(58% 60% at 62% 32%,rgba(36,174,235,.32),transparent 70%),radial-gradient(46% 50% at 30% 88%,rgba(255,234,0,.16),transparent 72%);
  filter:blur(18px);pointer-events:none}

/* Скролл-подсказка */
.v-scroll-cue{position:absolute;left:var(--gutter);bottom:clamp(18px,3vw,30px);display:inline-flex;align-items:center;gap:10px;color:var(--muted);font-family:var(--display);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.v-scroll-cue .chev{width:14px;height:14px;border-right:2px solid var(--yellow);border-bottom:2px solid var(--yellow);transform:rotate(45deg);animation:v-bob 1.6s ease-in-out infinite}
@keyframes v-bob{0%,100%{transform:rotate(45deg) translate(0,0)}50%{transform:rotate(45deg) translate(3px,3px)}}
@media(max-width:960px){.v-scroll-cue{display:none}}

/* Гистограмма рейтинга в карточке */
.as-bars{display:grid;gap:5px;margin-top:18px}
.as-bars i{height:6px;border-radius:3px;background:rgba(23,23,23,.12);position:relative;overflow:hidden}
.as-bars i:before{content:"";position:absolute;inset:0;width:var(--v,50%);background:var(--ink);border-radius:3px}

/* Лента жанров — контурный кинетический текст */
.v-genres{overflow:hidden;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);padding-block:clamp(22px,2.6vw,36px)}
.v-genres-track{display:flex;gap:0;width:max-content;min-width:max-content;will-change:transform;backface-visibility:hidden;transform:translate3d(0,0,0);animation:v-marq 42s linear infinite;animation-play-state:running}
.v-genres-track>span{display:flex;flex:none;align-items:center;gap:clamp(26px,3.4vw,60px);padding-right:clamp(26px,3.4vw,60px);white-space:nowrap;font-family:var(--display);font-size:clamp(26px,3.4vw,52px);text-transform:uppercase;letter-spacing:-.02em;color:#2c2c2c;backface-visibility:hidden}
.v-genres-track>span:after{content:"";width:.85em;height:1.3em;flex:none;background:#2c2c2c;-webkit-mask:url("assets/favicon.svg") center/contain no-repeat;mask:url("assets/favicon.svg") center/contain no-repeat}
.v-genres-track>span:after{display:block;width:.48em;min-width:.48em;height:.82em;opacity:1;visibility:visible;background:currentColor;-webkit-mask:none;mask:none;clip-path:polygon(60% 0,8% 58%,43% 58%,27% 100%,94% 38%,58% 38%)}
/* Лента не останавливается при наведении */
@keyframes v-marq{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}

/* Фокус-состояния для доступности */
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--blue);outline-offset:3px}

@media(prefers-reduced-motion:reduce){
  *{transition:none!important;scroll-behavior:auto}
  .v-anim .v-reveal,.v-anim .v-stagger>*{opacity:1!important;transform:none!important}
  .v-scroll-cue .chev{animation:none}
  .v-genres-track{animation:none}
  .v-spec-row:hover .v-spec-icon{animation:none!important;filter:none}
}

/* =========================================================================
   Шапка v2: мини-логотип слева, кнопка «Обсудить» справа (анимация как на главной)
   ========================================================================= */
/* Контент шапки выровнен по ширине контентного контейнера страницы (как блоки),
   а не по краям экрана: на широких — тот же отступ, что у .v-wrap. */
.site-header.is-dark{justify-content:space-between;gap:clamp(16px,3vw,40px);padding-inline:max(var(--gutter),calc((100% - var(--container)) / 2 + var(--gutter)))}
.site-header.is-dark .site-logo{flex:none;display:flex;align-items:center}
.site-header.is-dark .site-logo img{height:clamp(34px,3.6vw,48px);width:auto;display:block}
.site-header.is-dark .header-cta{flex:none;display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:0 20px;background:var(--yellow);color:var(--ink);border:0;font-family:var(--display);font-size:12px;letter-spacing:.02em;text-transform:uppercase;transition:transform .18s,box-shadow .18s}
.site-header.is-dark .header-cta:hover,.site-header.is-dark .header-cta:focus-visible{transform:translate(-3px,-3px);box-shadow:7px 7px 0 var(--blue)}
.site-header.is-dark .header-cta .button-bolt{width:14px;height:20px;flex:none;fill:var(--blue)}
@media(max-width:1050px){.site-header.is-dark .header-cta{display:none}}

/* Глобальная защита типографики: заголовки не вылетают из своих фреймов. */
h1,h2,h3,summary span{max-width:100%;text-wrap:balance;overflow-wrap:normal}
@media(max-width:620px){
  .v-head h2{font-size:clamp(34px,10.5vw,44px)}
  .v-punch h2{font-size:clamp(28px,8.4vw,32px)}
  .v-process-head h2{font-size:clamp(38px,11vw,46px)}
  .v-main-faq-heading h2{font-size:clamp(30px,8.8vw,34px)}
}

/* =========================================================================
   КЕЙСЫ, ЭТАПЫ ПОДКЛЮЧЕНИЯ, ПОЧЕМУ МЫ
   ========================================================================= */
.v-cases-section{position:relative;overflow:hidden}
.v-cases-section:before{content:"";position:absolute;z-index:2;top:0;left:0;width:100%;height:74px;background:url("assets/rough-divider-white.svg") center/100% 100% no-repeat;pointer-events:none}
@media(max-width:760px){.v-cases-section:before{height:46px}}
.v-case-viewport{margin-top:clamp(34px,4vw,56px);overflow:hidden}
.v-case-track{display:flex;gap:18px;transition:transform .45s cubic-bezier(.2,.7,.2,1);will-change:transform}
.v-case{flex:0 0 calc((100% - 54px)/4);min-width:0;min-height:470px;display:flex;flex-direction:column;color:var(--paper);text-decoration:none;background:var(--ink-2);border:1px solid var(--hair-strong);position:relative;overflow:hidden}
.v-case{box-shadow:inset 0 -1px 0 var(--hair-strong)}
.v-case:after{content:"";position:absolute;z-index:4;left:0;right:0;bottom:0;height:1px;background:var(--hair-strong);pointer-events:none}
.v-case-image{width:100%;height:auto;aspect-ratio:3/2;display:block;object-fit:cover;filter:saturate(.88) contrast(1.04);transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .3s}
.v-case:hover .v-case-image{transform:scale(1.045);filter:saturate(1.08) contrast(1.04)}
.v-case-content{min-width:0;display:flex;flex-direction:column;flex:1;padding:22px 22px 24px;position:relative;overflow:hidden;background:linear-gradient(180deg,#222220,#191918)}
.v-case-kicker{font-family:var(--display);font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:.72}
.v-case h3{width:100%;height:2.2em;max-width:100%;margin:20px 0 14px;font-size:clamp(16px,1.15vw,19px);line-height:1.08;letter-spacing:-.035em;overflow:hidden}
.v-case p{max-width:48ch;font-size:14px;line-height:1.48;opacity:.72}
.v-case dl{width:100%;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:auto 0 0;padding-top:22px}
.v-case dl div{min-width:0;display:grid;align-content:end;gap:8px;overflow:hidden}.v-case dt{min-width:0;font-size:10px;line-height:1.2;text-transform:uppercase;opacity:.62;overflow-wrap:anywhere}.v-case dd{min-width:0;max-width:100%;margin:0;font-family:var(--display);font-size:clamp(10px,.78vw,13px);line-height:1.08;letter-spacing:-.045em;white-space:normal;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.v-case:focus-visible{outline:3px solid var(--yellow);outline-offset:-3px}
.v-case-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:26px}
.v-case-controls{display:flex;gap:8px}.v-case-controls button{width:52px;height:52px;border:1px solid var(--hair-strong);background:transparent;color:var(--paper);font-size:24px;cursor:pointer;transition:background .18s,color .18s}.v-case-controls button:hover{background:var(--yellow);color:var(--ink)}
.v-case-actions .v-btn{min-height:52px}

.v-entry{background:var(--ink-2)}
.v-pipeline{margin-top:clamp(40px,5vw,70px)}
.v-pipeline-rail{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));position:relative;margin-bottom:28px}.v-pipeline-rail:before{content:"";position:absolute;left:7%;right:7%;top:21px;height:1px;background:var(--hair-strong)}
.v-pipeline-rail button{min-width:0;padding:0 10px 18px;display:grid;justify-items:center;gap:12px;position:relative;border:0;background:transparent;color:var(--muted);cursor:pointer}.v-pipeline-rail b{width:42px;height:42px;display:grid;place-items:center;position:relative;z-index:1;border:1px solid var(--hair-strong);border-radius:50%;background:var(--ink-2);color:var(--paper);font-family:var(--text);font-size:13px;font-variant-numeric:tabular-nums;transition:.2s}.v-pipeline-rail span{max-width:16ch;font-size:12px;line-height:1.25;text-align:center}.v-pipeline-rail button.is-active b{border-color:var(--yellow);background:var(--yellow);color:var(--ink)}.v-pipeline-rail button.is-active span{color:var(--paper)}
.v-pipeline-body{display:grid;grid-template-columns:minmax(230px,.34fr) minmax(0,1fr);gap:18px}
.v-pipeline-list{display:grid;grid-template-rows:repeat(6,minmax(64px,1fr));align-content:stretch;gap:6px}.v-pipeline-list button{width:100%;height:100%;min-height:64px;padding:12px 22px 12px 28px;display:grid;grid-template-columns:34px minmax(0,1fr) 18px;align-items:center;gap:10px;border:1px solid var(--hair-strong);background:var(--ink);color:var(--muted);font-size:14px;text-align:left;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s}.v-pipeline-list button b{font-family:var(--text);font-size:12px;color:var(--blue);font-variant-numeric:tabular-nums}.v-pipeline-list button i{font-style:normal;font-size:19px;opacity:0;transform:translateX(-5px);transition:.2s}.v-pipeline-list button:hover{border-color:var(--blue);color:var(--paper)}.v-pipeline-list button.is-active{border-color:var(--yellow);background:var(--yellow);color:var(--ink)}.v-pipeline-list button.is-active b{color:var(--ink)}.v-pipeline-list button.is-active i{opacity:1;transform:none}
.v-pipeline-panels{min-width:0}.v-stage-panel{min-height:414px;padding:clamp(26px,2.5vw,38px);display:flex;flex-direction:column;border:1px solid var(--hair-strong);background:var(--ink);color:var(--paper)}.v-stage-panel[hidden]{display:none}.v-stage-kicker{font-family:var(--display);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--yellow)}.v-stage-panel h3{max-width:780px;margin:16px 0 18px;font-size:clamp(22px,2vw,34px);line-height:1.02;text-wrap:balance}.v-stage-panel>p{max-width:72ch;margin:0;color:#c4c1b9;font-size:clamp(15px,1.05vw,18px);line-height:1.55}
.v-stage-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:clamp(28px,3vw,42px) 0;background:var(--hair-strong);border:1px solid var(--hair-strong)}.v-stage-details>div{min-width:0;padding:20px;background:var(--ink-2)}.v-stage-details b{display:block;margin-bottom:10px;color:var(--blue);font-family:var(--text);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.v-stage-details p{margin:0;color:#c4c1b9;font-size:13px;line-height:1.48}
.v-stage-panel footer{margin-top:auto;padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--hair-strong)}.v-stage-panel footer span{font-size:11px;line-height:1.35;text-transform:uppercase;color:var(--muted)}.v-stage-panel footer a{flex:none;padding:12px 16px;background:var(--yellow);color:var(--ink);font-family:var(--display);font-size:10px;text-transform:uppercase;transition:transform .18s,box-shadow .18s}.v-stage-panel footer a:hover,.v-stage-panel footer a:focus-visible{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--blue)}
@media(max-width:980px){.v-pipeline-rail{overflow-x:auto;grid-template-columns:repeat(6,minmax(120px,1fr));padding-bottom:6px}.v-pipeline-body{grid-template-columns:1fr}.v-pipeline-list{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(64px,auto))}.v-pipeline-list button{grid-template-columns:28px minmax(0,1fr)}.v-pipeline-list button i{display:none}}
@media(max-width:680px){.v-pipeline-rail{display:none}.v-pipeline-body{display:block}.v-pipeline-list{grid-template-columns:1fr;grid-template-rows:none;margin-bottom:12px}.v-pipeline-list button{min-height:54px}.v-pipeline-list button.is-active i{display:block}.v-stage-panel{min-height:0;padding:24px 20px}.v-stage-details{grid-template-columns:1fr}.v-stage-panel footer{align-items:flex-start;flex-direction:column}.v-stage-panel footer a{width:100%;text-align:center}}

.v-why{background:var(--blue);color:var(--ink);padding-block:var(--sec-y);position:relative;overflow:hidden}.v-why:after{content:"";position:absolute;z-index:0;left:0;right:0;bottom:-1px;height:74px;background:url("assets/rough-divider-white-dark-bottom.svg") center/100% 100% no-repeat;pointer-events:none}

@media(max-width:620px){
  .v-device-visual>img[src*="ios-exploded-iphone-game.png"]{
    width:auto;
    max-width:88%;
    max-height:480px;
    aspect-ratio:auto;
    margin-inline:auto;
  }
}

@media(max-width:760px){
  .v-cases-section:before,.v-why:after{
    height:74px;
    background-size:1920px 74px;
    background-position:center;
    background-repeat:no-repeat;
  }
}
.v-why-in{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(48px,5.5vw,82px);align-items:start;position:relative;z-index:1}
.v-why-copy{align-self:start;position:sticky;top:110px}.v-why-copy .v-num{color:var(--ink)}
.v-why h2{font-size:clamp(52px,5vw,76px);line-height:.9;letter-spacing:-.055em;margin:18px 0 28px}.v-why h2 span{color:var(--yellow)}
.v-why-copy>p{max-width:35ch;font-size:clamp(17px,1.25vw,21px);line-height:1.52;color:rgba(23,23,23,.78)}
.v-why-copy .v-btn{margin-top:34px;background:var(--ink);color:var(--paper)}
.v-why-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;border-top:2px solid var(--ink);border-left:1px solid rgba(23,23,23,.3)}
.v-why-grid article{min-width:0;min-height:300px;padding:clamp(26px,2.3vw,34px);border-right:1px solid rgba(23,23,23,.3);border-bottom:1px solid rgba(23,23,23,.3);display:grid;grid-template-rows:48px minmax(58px,auto) 1fr;align-content:start;row-gap:16px}.v-why-icon{width:46px;height:46px;fill:none;stroke:currentColor;stroke-width:2.25;stroke-linecap:square;stroke-linejoin:miter;transition:transform .22s ease}.v-why-grid article:hover .v-why-icon{transform:translateY(-3px)}
.v-why-grid h3{min-width:0;margin:0;display:flex;align-items:flex-start;font-size:clamp(15px,1.22vw,19px);line-height:1.04}.v-why-grid p{margin:0;align-self:start;color:rgba(23,23,23,.72);font-size:clamp(15px,1.08vw,18px);line-height:1.55}

@media(max-width:900px){.v-why-in{grid-template-columns:1fr}.v-why-copy{position:relative;top:auto}.v-why-copy>p{max-width:60ch}}
@media(max-width:760px){.v-why:after{height:46px}}
@media(max-width:1020px){.v-case{flex-basis:calc((100% - 36px)/3)}.v-case dl{grid-template-columns:1fr;gap:8px}.v-case dl div{grid-template-columns:minmax(0,1fr) auto;align-items:end}.v-case dd{text-align:right}}
@media(max-width:760px){.v-case{flex-basis:calc((100% - 18px)/2)}}
@media(max-width:560px){.v-case{flex-basis:88vw;min-height:440px}.v-why-grid{grid-template-columns:1fr}.v-why-grid article{min-height:250px;grid-template-rows:44px minmax(48px,auto) 1fr}.v-why-icon{width:42px;height:42px}}

@media(max-width:560px){
  .v-hero{min-height:auto;padding-bottom:58px}
  .v-hero-grid{grid-template-columns:minmax(0,1fr);gap:24px}
  .v-hero-copy{display:contents}
  .v-hero h1{grid-row:1;margin:0}
  .v-hero-media{grid-row:2;width:100%;min-height:0;margin:0;justify-content:center}
  .v-hero-media img,.v-hero-media--porting img{width:auto;max-width:100%;max-height:360px;transform:none}
  .v-hero-lead{grid-row:3;max-width:100%;margin:0}
  .v-hero-actions{grid-row:4;width:100%}
  .v-hero-actions .v-btn{flex:1 1 100%;width:100%;min-width:0}
  .v-case-viewport{width:100%;max-width:100%}
  .v-case{flex:0 0 100%;width:100%;max-width:100%;min-height:0}
  .v-case-track{max-width:none}
  .v-case-actions{flex-wrap:wrap;align-items:stretch}
  .v-case-actions .v-btn{flex:1 1 180px;min-width:0;text-align:center}
}

/* Ownership: единый флаг без дополнительной галочки на iOS-странице. */
.v-why-grid article:nth-child(3) .v-why-icon path{display:none}
.v-why-grid article:nth-child(3) .v-why-icon{background:currentColor;stroke:none;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M11 43V6h3v4h25v18H14v15h-3Zm3-18h22V13H14v12Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M11 43V6h3v4h25v18H14v15h-3Zm3-18h22V13H14v12Z'/%3E%3C/svg%3E") center/contain no-repeat}

/* Полноценный навигационный футер */
.v-footer{background:#10100f}
.v-footer-grid{display:grid;grid-template-columns:minmax(250px,1.35fr) repeat(3,minmax(150px,1fr));gap:clamp(34px,5vw,72px);padding-block:clamp(54px,7vw,92px)}
.v-footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:22px}.v-footer-brand p{max-width:30ch;color:var(--muted);line-height:1.5}.v-footer-brand>a:last-child{color:var(--yellow);font-weight:600}
.v-footer-grid nav{display:flex;flex-direction:column;align-items:flex-start;gap:13px}.v-footer-grid nav h2{margin:0 0 8px;font-family:var(--display);font-size:12px;text-transform:uppercase;color:var(--paper)}.v-footer-grid nav a{color:var(--muted);font-size:14px}.v-footer-grid nav a:hover,.v-footer-grid nav a[aria-current="page"]{color:var(--yellow)}
.v-footer-legal{padding-block:22px 30px;border-top:1px solid var(--hair);display:flex;justify-content:space-between;gap:18px;color:#777770;font-size:12px}.v-footer-legal a:hover{color:var(--paper)}
@media(max-width:900px){.v-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v-footer-brand{grid-column:1/-1}}
@media(max-width:520px){.v-footer-grid{grid-template-columns:1fr}.v-footer-brand{grid-column:auto}.v-footer-legal{flex-direction:column}}

/* Final mobile containment for iOS and solution-page variants. */
@media(max-width:620px){
  .v-wrap,.v-hero-grid,.v-hero-copy,.v-hero-media,.v-head,.v-adv-top,
  .v-adv-head,.v-device-section,.v-entry,.v-pipeline,.v-contact-grid,
  .v-contact-copy,.v-form,.v-main-faq-heading{min-width:0;max-width:100%}
  .v-hero-media img{max-width:100%;transform:none}
  .v-hero h1,.v-head h2{font-size:clamp(30px,8.4vw,36px);text-wrap:balance}
  .v-punch h2{font-size:clamp(25px,7vw,30px);text-wrap:balance}
  .v-why h2,.v-main-faq-heading h2{font-size:clamp(34px,9vw,42px);text-wrap:balance}
}

@media(max-width:360px){
  .v-hero h1,.v-head h2{font-size:26px}
  .v-punch h2{font-size:24px}
  .v-why h2,.v-main-faq-heading h2{font-size:32px}
}

/* Final mobile scale: preserve the original divider geometry. */
@media(max-width:760px){
  .v-cases-section:before,.v-why:after{
    height:74px;
    background-size:1920px 74px;
    background-position:center;
    background-repeat:no-repeat;
  }
}
