/* Enigma Partner — дизайн-токены и компоненты.
   Брендбук: Turquoise #00FFFF, Blue #0066FF, White, Grey #3A4147, Black.
   Шрифты: Orbitron Black (знак/акцентные цифры), Mont Bold → временно Montserrat. */

:root {
  --c-turquoise: #00FFFF;
  --c-blue: #0066FF;
  --c-grey: #3A4147;
  --c-black: #000000;
  --c-white: #FFFFFF;

  /* светлая тема (по умолчанию) */
  --bg: #FFFFFF;
  --bg-soft: #F1F5F6;
  --surface: #FFFFFF;
  --surface-2: #F6F9FA;
  --text: #0A1013;
  --muted: #46535A;
  --border: #D5DEE2;
  --accent: var(--c-turquoise);
  --on-accent: #000000;
  --accent-text: #006870;
  --link: #0057DB;
  --focus: #0066FF;
  --media-bg: #05080A;
  --shadow: 0 1px 2px rgba(10, 16, 19, .06), 0 8px 24px rgba(10, 16, 19, .06);
  --logo-light: block;
  --logo-dark: none;

  --font: 'Montserrat', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-display: 'Orbitron', 'Montserrat', system-ui, sans-serif;
  --radius: 18px;
  --radius-sm: 12px;
  --wrap: 1200px;
  --gutter: 16px;
  --header-h: 64px;
  color-scheme: light;
}

:root[data-theme="dark"] {
  --bg: #05080A;
  --bg-soft: #0A1114;
  --surface: #0F171B;
  --surface-2: #131E23;
  --text: #F1F6F7;
  --muted: #A5B4BA;
  --border: #22313A;
  --accent: var(--c-turquoise);
  --on-accent: #000000;
  --accent-text: #00FFFF;
  --link: #66E8FF;
  --focus: #00FFFF;
  --media-bg: #000000;
  --shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 12px 32px rgba(0, 0, 0, .35);
  --logo-light: none;
  --logo-dark: block;
  color-scheme: dark;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #05080A; --bg-soft: #0A1114; --surface: #0F171B; --surface-2: #131E23;
    --text: #F1F6F7; --muted: #A5B4BA; --border: #22313A; --accent-text: #00FFFF;
    --link: #66E8FF; --focus: #00FFFF; --media-bg: #000000;
    --shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 12px 32px rgba(0, 0, 0, .35);
    --logo-light: none; --logo-dark: block; color-scheme: dark;
  }
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 16px); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
body { margin: 0; background: var(--bg); color: var(--text); font-family: var(--font); font-size: 16px; line-height: 1.6; overflow-x: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--link); text-underline-offset: 3px; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; border-radius: 6px; }
h1, h2, h3 { line-height: 1.15; margin: 0; letter-spacing: -0.01em; }
h1 { font-size: clamp(32px, 5vw, 56px); font-weight: 800; }
h2 { font-size: clamp(26px, 3.2vw, 40px); font-weight: 800; }
h3 { font-size: 19px; font-weight: 700; }
p { margin: 0; }
.wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gutter); }
@media (min-width: 768px) { :root { --gutter: 32px; --header-h: 72px; } }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: 16px; top: -100px; background: var(--accent); color: var(--on-accent); padding: 12px 16px; border-radius: 10px; z-index: 100; font-weight: 700; }
.skip:focus { top: 12px; }

/* Кнопки */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 12px 22px; border-radius: 14px; font-weight: 700; font-size: 16px; text-decoration: none; border: 2px solid transparent; cursor: pointer; font-family: inherit; line-height: 1.2; transition: transform .15s ease, background-color .15s ease; }
.btn:hover { text-decoration: none; transform: translateY(-1px); }
.btn-primary { background: var(--accent); color: var(--on-accent); }
.btn-primary:hover { background: #5CFFFF; }
.btn-secondary { background: transparent; color: var(--text); border-color: var(--text); }
.btn-ghost { background: var(--surface-2); color: var(--text); border-color: var(--border); }
.btn svg { width: 20px; height: 20px; flex: none; }

/* Шапка */
.site-header { position: sticky; top: 0; z-index: 50; background: color-mix(in srgb, var(--bg) 92%, transparent); backdrop-filter: saturate(140%) blur(10px); border-bottom: 1px solid var(--border); }
.header-row { display: flex; align-items: center; gap: 12px; min-height: var(--header-h); }
.logo { display: flex; align-items: center; flex: none; }
.logo img { height: 44px; width: auto; }
@media (min-width: 768px) { .logo img { height: 54px; } }
.logo .on-light { display: var(--logo-light); }
.logo .on-dark { display: var(--logo-dark); }
.main-nav { display: none; }
.header-tools { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.header-phone { display: none; font-weight: 700; color: var(--text); text-decoration: none; white-space: nowrap; padding: 10px 4px; }
@media (min-width: 1100px) {
  .main-nav { display: flex; gap: 4px; margin-left: 16px; }
  .main-nav { align-items: center; }
  .main-nav > a, .nav-cities > summary { color: var(--text); text-decoration: none; font-weight: 600; font-size: 15px; padding: 10px 10px; border-radius: 10px; white-space: nowrap; cursor: pointer; }
  .main-nav > a:hover, .nav-cities > summary:hover { background: var(--surface-2); }
  .nav-cities .dropdown-panel { left: 0; right: auto; }
  .main-nav a[aria-current="page"] { color: var(--accent-text); }
  .menu-toggle { display: none !important; }
}
.login-text { display: none; }
@media (min-width: 1280px) { .header-phone { display: inline-block; } .login-text { display: inline; } }

/* Иконочные кнопки и выпадающие меню */
.icon-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 44px; min-height: 44px; padding: 0 10px; border-radius: 12px; border: 1px solid var(--border); background: var(--surface); color: var(--text); font: inherit; font-weight: 600; font-size: 14px; cursor: pointer; }
.icon-btn svg { width: 20px; height: 20px; }
.dropdown { position: relative; }
.dropdown > summary { list-style: none; }
.dropdown > summary::-webkit-details-marker { display: none; }
.dropdown-panel { position: absolute; right: 0; top: calc(100% + 8px); min-width: 200px; background: var(--surface); border: 1px solid var(--border); border-radius: 14px; box-shadow: var(--shadow); padding: 6px; z-index: 60; }
.dropdown-panel a, .dropdown-panel button { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 44px; padding: 8px 12px; border-radius: 10px; color: var(--text); text-decoration: none; background: none; border: 0; font: inherit; font-size: 15px; text-align: left; cursor: pointer; }
.dropdown-panel a:hover, .dropdown-panel button:hover { background: var(--surface-2); }
.dropdown-panel [aria-current="true"], .dropdown-panel [aria-pressed="true"] { font-weight: 700; color: var(--accent-text); }
.lang-code { text-transform: uppercase; }
.login-link { display: none; }
@media (min-width: 768px) { .login-link { display: inline-flex; } }

/* Переключатель Такси | Доставка: две ссылки с плашкой */
.segment-bar { border-top: 1px solid var(--border); }
.segment-bar .wrap { display: flex; justify-content: center; padding-top: 8px; padding-bottom: 8px; }
.segment { position: relative; display: inline-grid; grid-template-columns: 1fr 1fr; padding: 4px; border-radius: 999px; background: var(--surface-2); border: 1px solid var(--border); isolation: isolate; }
.segment a { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; min-width: 120px; padding: 6px 16px; border-radius: 999px; color: var(--text); text-decoration: none; font-weight: 700; font-size: 15px; }
.segment a svg { width: 18px; height: 18px; }
.segment a[aria-current="page"], .segment a[aria-current="true"] { color: var(--on-accent); }
.segment-plate { position: absolute; z-index: 0; top: 4px; bottom: 4px; left: 4px; width: calc(50% - 4px); border-radius: 999px; background: var(--accent); transition: transform .25s ease; }
.segment[data-active="delivery"] .segment-plate { transform: translateX(100%); }

/* Мобильное меню */
.mobile-menu { display: none; border-top: 1px solid var(--border); padding: 8px 0 16px; }
.mobile-menu.open { display: block; }
.mobile-menu a { display: flex; min-height: 48px; align-items: center; padding: 0 var(--gutter); color: var(--text); text-decoration: none; font-weight: 600; }
.mobile-menu a:hover { background: var(--surface-2); }

/* Секции */
section { padding: 56px 0; }
@media (min-width: 768px) { section { padding: 80px 0; } }
.section-soft { background: var(--bg-soft); }
.section-head { display: flex; flex-direction: column; gap: 12px; margin-bottom: 32px; max-width: 760px; }
.section-head p { color: var(--muted); font-size: 17px; }
.eyebrow { display: inline-flex; align-self: flex-start; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 999px; background: var(--surface-2); border: 1px solid var(--border); font-size: 13px; font-weight: 700; color: var(--muted); }
.badge { display: inline-flex; align-items: center; padding: 4px 10px; border-radius: 999px; background: var(--accent); color: var(--on-accent); font-size: 12px; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; }
.todo { display: inline-block; padding: 2px 8px; border-radius: 6px; border: 1px dashed var(--muted); color: var(--muted); font-size: 13px; font-weight: 600; }

/* Первый экран */
.hero { padding: 40px 0 56px; background: var(--bg-soft); }
@media (min-width: 768px) { .hero { padding: 64px 0 80px; } }
.hero-grid { display: grid; gap: 32px; align-items: center; }
@media (min-width: 960px) { .hero-grid { grid-template-columns: 1.05fr 1fr; gap: 48px; } }
.hero-copy { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.hero-copy h1 .accent { color: var(--accent-text); }
.hero-lead { font-size: 18px; color: var(--muted); max-width: 560px; }
.hero-ctas { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; color: var(--muted); font-size: 15px; font-weight: 600; }
.hero-meta svg { width: 18px; height: 18px; color: var(--accent-text); }
.city-pick { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.city-pick legend, .city-pick .label { font-size: 14px; font-weight: 700; color: var(--muted); margin-right: 4px; }
.chip { display: inline-flex; }
.chip input { position: absolute; opacity: 0; pointer-events: none; }
.chip span { display: inline-flex; align-items: center; min-height: 40px; padding: 6px 14px; border-radius: 999px; border: 1px solid var(--border); background: var(--surface); font-weight: 600; font-size: 15px; cursor: pointer; }
.chip input:checked + span { border-color: var(--text); box-shadow: inset 0 0 0 1px var(--text); }
.chip input:focus-visible + span { outline: 3px solid var(--focus); outline-offset: 2px; }
.hero-media { position: relative; border-radius: 24px; overflow: hidden; background: var(--media-bg); aspect-ratio: 16 / 11; box-shadow: var(--shadow); }
.hero-media img { width: 100%; height: 100%; object-fit: cover; }
.platform-row { display: flex; flex-wrap: wrap; gap: 8px; }
.platform { display: inline-flex; align-items: center; min-height: 36px; padding: 4px 12px; border-radius: 10px; background: var(--surface); border: 1px solid var(--border); font-weight: 700; font-size: 14px; }

/* Ключевые условия */
.terms-grid { display: grid; gap: 16px; }
@media (min-width: 768px) { .terms-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .terms-grid { grid-template-columns: 1.4fr 1fr 1fr; } }
.card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 24px; display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.card h3 { font-size: 17px; }
.card p { color: var(--muted); }
.fee-card { gap: 16px; }
.fee-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.fee-list li { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 12px 14px; border-radius: 12px; background: var(--surface-2); flex-wrap: wrap; }
.fee-list .mode { font-weight: 600; }
.fee { font-family: var(--font-display); font-weight: 900; font-size: 26px; color: var(--text); white-space: nowrap; }
.fee small { font-family: var(--font); font-size: 14px; font-weight: 600; color: var(--muted); margin-left: 4px; }
.terms-stack { display: grid; gap: 16px; }
.terms-note { margin-top: 20px; color: var(--muted); font-size: 14px; display: flex; flex-wrap: wrap; gap: 6px 16px; }

/* Что входит */
.grid-4 { display: grid; gap: 16px; }
@media (min-width: 640px) { .grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .grid-4 { grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr)); } }
.feature-icon { width: 48px; height: 48px; border-radius: 14px; background: var(--accent); color: var(--on-accent); display: flex; align-items: center; justify-content: center; }
.feature-icon svg { width: 24px; height: 24px; }

/* Расчёт */
.calc-grid { display: grid; gap: 24px; align-items: start; }
@media (min-width: 960px) { .calc-grid { grid-template-columns: 1fr 1fr; gap: 48px; } }
.calc-table { width: 100%; border-collapse: collapse; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; }
.calc-table caption { text-align: left; padding: 0 0 12px; }
.calc-table th, .calc-table td { padding: 14px 18px; border-bottom: 1px solid var(--border); text-align: left; font-weight: 500; }
.calc-table td { text-align: right; white-space: nowrap; font-weight: 700; font-variant-numeric: tabular-nums; }
.calc-table tr:last-child th, .calc-table tr:last-child td { border-bottom: 0; background: var(--surface-2); font-weight: 800; }
.calc-table .minus td { color: var(--muted); }

/* Шаги */
.steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; counter-reset: step; }
@media (min-width: 768px) { .steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .steps { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.steps li { counter-increment: step; position: relative; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 22px; display: flex; flex-direction: column; gap: 10px; }
.steps li::before { content: "0" counter(step); font-family: var(--font-display); font-weight: 900; font-size: 22px; display: inline-flex; align-self: flex-start; padding: 6px 12px; border-radius: 12px; background: var(--text); color: var(--bg); }
.steps p { color: var(--muted); font-size: 15px; }

/* Документы */
.doc-card { align-items: center; text-align: center; }
.doc-card .doc-img { background: var(--media-bg); border-radius: 14px; padding: 12px; width: 100%; display: flex; justify-content: center; }
.doc-card img { width: 100%; max-width: 260px; aspect-ratio: 1.1 / 1; object-fit: contain; }

/* Приложение */
.app-grid { display: grid; gap: 32px; align-items: center; }
@media (min-width: 960px) { .app-grid { grid-template-columns: 1fr 1fr; gap: 56px; } }
.app-media { background: var(--media-bg); border-radius: 24px; padding: 24px; position: relative; }
.app-media img { margin: 0 auto; max-width: 440px; width: 100%; }
.app-media .badge { position: absolute; top: 16px; left: 16px; }
.check-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.check-list li { display: flex; gap: 12px; align-items: flex-start; font-weight: 600; }
.check-list svg { width: 22px; height: 22px; flex: none; color: var(--accent-text); margin-top: 1px; }

/* Офисы */
.office-grid { display: grid; gap: 16px; }
@media (min-width: 768px) { .office-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.office-card .city { font-weight: 800; font-size: 22px; }
.office-card dl { margin: 0; display: grid; gap: 8px; }
.office-card dt { font-size: 13px; color: var(--muted); font-weight: 600; }
.office-card dd { margin: 0; font-weight: 600; }

/* FAQ */
.faq { display: grid; gap: 12px; max-width: 880px; }
.faq details { background: var(--surface); border: 1px solid var(--border); border-radius: 14px; }
.faq summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 16px; align-items: center; padding: 18px 20px; font-weight: 700; font-size: 17px; min-height: 56px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary svg { width: 20px; height: 20px; flex: none; transition: transform .2s ease; }
.faq details[open] summary svg { transform: rotate(45deg); }
.faq .answer { padding: 0 20px 20px; color: var(--muted); }

/* Форма */
.form-wrap { display: grid; gap: 32px; }
@media (min-width: 960px) { .form-wrap { grid-template-columns: 0.9fr 1.1fr; gap: 56px; align-items: start; } }
.lead-form { background: var(--surface); border: 1px solid var(--border); border-radius: 24px; padding: 24px; display: grid; gap: 20px; box-shadow: var(--shadow); }
@media (min-width: 768px) { .lead-form { padding: 32px; } }
.form-progress { display: flex; justify-content: space-between; align-items: center; font-weight: 700; font-size: 14px; color: var(--muted); }
.form-progress .bar { flex: 1; height: 6px; margin-left: 16px; border-radius: 999px; background: var(--surface-2); overflow: hidden; }
.form-progress .bar span { display: block; height: 100%; width: 50%; background: var(--accent); transition: width .25s ease; }
.lead-form[data-step="2"] .form-progress .bar span { width: 100%; }
.form-step { display: grid; gap: 18px; border: 0; margin: 0; padding: 0; min-width: 0; }
.form-step[hidden] { display: none; }
.field { display: grid; gap: 8px; }
.field > label, .field > legend, .field-label { font-weight: 700; font-size: 15px; padding: 0; }
fieldset.field { border: 0; margin: 0; padding: 0; min-width: 0; }
.options { display: flex; flex-wrap: wrap; gap: 8px; }
.input { width: 100%; min-height: 48px; padding: 10px 14px; border-radius: 12px; border: 1.5px solid var(--border); background: var(--bg); color: var(--text); font: inherit; font-size: 16px; }
.input:focus-visible { outline: 3px solid var(--focus); outline-offset: 1px; border-color: transparent; }
.hint { font-size: 13px; color: var(--muted); }
.error { font-size: 14px; color: #C4002B; font-weight: 600; }
:root[data-theme="dark"] .error { color: #FF7A90; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .error { color: #FF7A90; } }
.input[aria-invalid="true"] { border-color: #C4002B; }
.consent { font-size: 13px; color: var(--muted); }
.check { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; }
.check input { width: 20px; height: 20px; margin: 2px 0 0; flex: none; accent-color: var(--c-blue); }
.form-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; }
.form-status { padding: 14px 16px; border-radius: 12px; background: var(--surface-2); border: 1px solid var(--border); font-weight: 600; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.contact-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.contact-list a { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; color: var(--text); text-decoration: none; min-height: 44px; }
.contact-list svg { width: 22px; height: 22px; color: var(--accent-text); }

/* Подвал */
.site-footer { background: #05080A; color: #DDE6E9; padding: 48px 0 calc(96px + env(safe-area-inset-bottom)); }
@media (min-width: 768px) { .site-footer { padding-bottom: 48px; } }
.site-footer a { color: #DDE6E9; text-decoration: none; }
.site-footer a:hover { color: #00FFFF; text-decoration: underline; }
.footer-grid { display: grid; gap: 32px; }
@media (min-width: 768px) { .footer-grid { grid-template-columns: 1.4fr 1fr 1fr 1fr; } }
.footer-grid h2 { font-size: 15px; font-weight: 700; color: #FFFFFF; margin-bottom: 12px; }
.footer-grid ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.footer-grid li a { display: inline-flex; min-height: 36px; align-items: center; }
.footer-logo img { height: 64px; width: auto; }
.footer-bottom { margin-top: 32px; padding-top: 24px; border-top: 1px solid #22313A; display: flex; flex-wrap: wrap; gap: 8px 24px; font-size: 14px; color: #A5B4BA; }

/* Липкая мобильная панель */
.mobile-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; padding: 8px 12px calc(8px + env(safe-area-inset-bottom)); background: var(--surface); border-top: 1px solid var(--border); box-shadow: 0 -6px 20px rgba(0, 0, 0, .08); }
.mobile-bar .btn { flex-direction: column; gap: 2px; min-height: 52px; padding: 6px 4px; font-size: 13px; border-radius: 12px; }
.mobile-bar .btn span { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (min-width: 768px) { .mobile-bar { display: none; } }

/* Заглушки страниц */
.stub { min-height: 50vh; display: flex; align-items: center; }
.stub .card { max-width: 640px; }

/* ===== v0.2: собственная графика и новые блоки ===== */
:root { --ink: #05080A; --ink-2: #0E171B; --ink-line: rgba(0, 255, 255, .16); --accent-soft: rgba(0, 255, 255, .14); }

.hero-points { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.hero-points li { display: flex; gap: 10px; align-items: flex-start; font-weight: 600; }
.hero-points svg { width: 22px; height: 22px; flex: none; color: var(--accent-text); }
.hero-meta a { color: inherit; }

/* Тёмная «карта» с дорогами — одинакова в обеих темах, как в брендбуке */
.hero-visual, .app-visual { position: relative; min-height: 440px; border-radius: 28px; overflow: hidden; background: var(--ink); display: flex; align-items: center; justify-content: center; padding: 32px 16px; isolation: isolate; max-width: 100%; }
.map { position: absolute; inset: 0; z-index: -1;
  background-image:
    radial-gradient(60% 50% at 70% 40%, rgba(0, 255, 255, .22), transparent 70%),
    linear-gradient(var(--ink-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--ink-line) 1px, transparent 1px);
  background-size: 100% 100%, 56px 56px, 56px 56px; }
.road { position: absolute; height: 18px; background: #0A1215; border-top: 2px solid var(--c-turquoise); border-bottom: 2px solid var(--c-turquoise); box-shadow: 0 0 24px rgba(0, 255, 255, .35); transform-origin: left center; }
.road::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 2px; margin-top: -1px; background: repeating-linear-gradient(90deg, rgba(0, 255, 255, .8) 0 14px, transparent 14px 30px); }
.r1 { width: 140%; left: -20%; top: 72%; transform: rotate(-24deg); }
.r2 { width: 120%; left: -10%; top: 18%; transform: rotate(14deg); opacity: .5; }
.r3 { width: 10px; height: 120%; top: -10%; left: 22%; border: 0; border-left: 2px solid var(--c-turquoise); border-right: 2px solid var(--c-turquoise); opacity: .35; }
.r3::after { display: none; }
.pin-dot { position: absolute; right: 14%; top: 16%; width: 18px; height: 18px; border-radius: 50%; background: var(--c-turquoise); box-shadow: 0 0 0 8px rgba(0, 255, 255, .18), 0 0 0 18px rgba(0, 255, 255, .08); }

/* Макет экрана приложения */
.phone { margin: 0; width: 272px; max-width: 100%; border-radius: 38px; padding: 10px; background: linear-gradient(160deg, #2A3439, #0B1114); box-shadow: 0 30px 60px rgba(0, 0, 0, .55), 0 0 0 1px rgba(255, 255, 255, .06); transform: rotate(-3deg); }
.phone-lg { width: 300px; transform: rotate(2deg); }
.phone-screen { border-radius: 30px; background: #0B1316; color: #EAF6F7; padding: 20px 18px 22px; display: grid; gap: 8px; font-size: 13px; }
.phone-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.phone-brand { font-family: var(--font-display); font-weight: 900; letter-spacing: .06em; font-size: 15px; }
.badge-dark { background: rgba(0, 255, 255, .16); color: #7DFFFF; }
.phone-label { color: #8FA3A9; font-size: 12px; font-weight: 600; }
.phone-balance { font-family: var(--font-display); font-weight: 900; font-size: 30px; line-height: 1.1; font-variant-numeric: tabular-nums; }
.phone-balance span { font-size: 14px; color: #8FA3A9; }
.phone-updated { display: flex; align-items: center; gap: 8px; color: #7DFFFF; font-size: 12px; font-weight: 600; }
.pulse { width: 8px; height: 8px; border-radius: 50%; background: var(--c-turquoise); box-shadow: 0 0 0 4px rgba(0, 255, 255, .2); animation: pulse 2s ease-in-out infinite; }
@keyframes pulse { 50% { box-shadow: 0 0 0 7px rgba(0, 255, 255, 0); } }
.phone-btn { margin: 8px 0 6px; border-radius: 14px; background: var(--c-turquoise); color: #000; font-weight: 800; font-size: 15px; text-align: center; padding: 12px; display: grid; gap: 2px; }
.phone-btn small { font-size: 11px; font-weight: 600; opacity: .7; }
.phone-week { margin-top: 4px; }
.phone-rows { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.phone-rows li { display: flex; justify-content: space-between; padding: 10px 12px; border-radius: 12px; background: #131E22; font-weight: 600; }
.phone-rows b { color: #7DFFFF; font-variant-numeric: tabular-nums; }
.float-chip { position: absolute; padding: 10px 14px; border-radius: 16px; background: rgba(10, 18, 21, .85); border: 1px solid rgba(0, 255, 255, .35); color: #EAF6F7; font-weight: 700; font-size: 14px; backdrop-filter: blur(6px); }
.float-chip b { font-family: var(--font-display); font-size: 22px; color: var(--c-turquoise); margin-right: 4px; }
.chip-a { left: 6%; top: 14%; }
.chip-b { right: 6%; bottom: 12%; }
@media (max-width: 520px) { .float-chip { display: none; } .hero-visual { min-height: 0; } }

/* Полоса платформ */
.platforms-strip { padding: 20px 0; border-block: 1px solid var(--border); }
.platforms-strip .wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
.strip-title { font-size: 13px; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .06em; }
.strip-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 22px; }
.strip-list li { font-weight: 800; font-size: 18px; letter-spacing: -.01em; }

/* Преимущества: бенто-сетка */
.bento { display: grid; gap: 16px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 720px) { .bento { grid-template-columns: repeat(2, minmax(0, 1fr)); } .bento-legal, .bento-payouts { grid-column: span 2; } }
@media (min-width: 1100px) { .bento { grid-template-columns: repeat(12, minmax(0, 1fr)); } .bento-legal { grid-column: span 7; } .bento-payouts { grid-column: span 5; } .bento-stat, .bento-control { grid-column: span 3; } }
.bento-card { border-radius: 24px; padding: 28px; display: flex; flex-direction: column; gap: 12px; border: 1px solid var(--border); background: var(--surface); min-width: 0; }
.bento-card h3 { font-size: 20px; }
.bento-card p { color: var(--muted); }
.bento-legal { background: var(--ink); color: #EAF6F7; border-color: transparent; background-image: radial-gradient(70% 90% at 100% 0%, rgba(0, 255, 255, .18), transparent 60%); }
.bento-legal p { color: #A8BCC1; }
.doc-chips { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 10px; }
@media (min-width: 560px) { .doc-chips { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.doc-chips li { display: flex; gap: 10px; align-items: center; padding: 12px 14px; border-radius: 14px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(0, 255, 255, .22); font-weight: 600; font-size: 15px; }
.doc-chips svg { width: 20px; height: 20px; flex: none; color: var(--c-turquoise); }
.bento-payouts { background: var(--c-turquoise); color: #000; border-color: transparent; }
.bento-payouts p { color: #0A2A2C; }
.payout-types { list-style: none; margin: auto 0 0; padding: 0; display: grid; gap: 10px; }
.payout-types li { display: flex; align-items: center; gap: 14px; padding: 12px 14px; border-radius: 14px; background: rgba(0, 0, 0, .08); font-weight: 800; font-size: 17px; }
.payout-types li:last-child { background: #000; color: var(--c-turquoise); }
.pt-num { font-family: var(--font-display); font-weight: 900; width: 32px; height: 32px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, .12); flex: none; }
.payout-types li:last-child .pt-num { background: var(--c-turquoise); color: #000; }
.stat-row { display: flex; align-items: baseline; gap: 6px; }
.stat-num { font-family: var(--font-display); font-weight: 900; font-size: 52px; line-height: 1; color: var(--text); }
.stat-unit { font-weight: 800; font-size: 20px; color: var(--accent-text); }
.perks-title { margin: 40px 0 16px; font-size: 20px; }
.perks { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); }
.perk { display: flex; gap: 14px; align-items: flex-start; padding: 16px; border-radius: 18px; background: var(--surface-2); border: 1px solid var(--border); }
.perk strong { display: block; font-size: 16px; }
.perk > span:last-child > span { color: var(--muted); font-size: 14px; }
.perk-icon { width: 44px; height: 44px; flex: none; border-radius: 12px; background: var(--ink); color: var(--c-turquoise); display: inline-flex; align-items: center; justify-content: center; }
.perk-icon svg { width: 22px; height: 22px; }
.perk-icon b { font-family: var(--font-display); font-size: 14px; }

/* Тарифы */
.tabs { display: inline-flex; gap: 4px; padding: 4px; border-radius: 999px; background: var(--surface); border: 1px solid var(--border); margin-bottom: 28px; }
.tabs button { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 20px; border-radius: 999px; border: 0; background: none; color: var(--text); font: inherit; font-weight: 700; cursor: pointer; }
.tabs button svg { width: 18px; height: 18px; }
.tabs button[aria-selected="true"] { background: var(--text); color: var(--bg); }
.tab-heading { display: none; }
.no-js .tab-heading { display: block; margin: 24px 0 12px; }
.tab-panel[data-inactive] { display: none; }
.no-js .tab-panel[data-inactive] { display: block; }
.plans { display: grid; gap: 16px; align-items: stretch; }
@media (min-width: 900px) { .plans { grid-template-columns: 1fr 1.12fr 1fr; align-items: center; } }
.plan { position: relative; display: flex; flex-direction: column; gap: 16px; padding: 28px; border-radius: 24px; background: var(--surface); border: 1px solid var(--border); min-width: 0; }
.plan h3 { font-size: 19px; }
.plan-price { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.plan-price .num { font-family: var(--font-display); font-weight: 900; font-size: 48px; line-height: 1; }
.plan-price .per { font-weight: 700; color: var(--muted); }
.plan-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; flex: 1; }
.plan-list li { display: flex; gap: 10px; align-items: flex-start; font-weight: 500; }
.plan-list svg { width: 20px; height: 20px; flex: none; color: var(--accent-text); margin-top: 2px; }
.plan .btn { width: 100%; }
.plan-featured { background: var(--ink); color: #EAF6F7; border: 2px solid var(--c-turquoise); box-shadow: 0 24px 60px rgba(0, 160, 170, .25); padding-block: 40px; background-image: radial-gradient(80% 60% at 50% 0%, rgba(0, 255, 255, .16), transparent 70%); }
.plan-featured .per { color: #A8BCC1; }
.plan-featured .plan-list svg { color: var(--c-turquoise); }
.plan-featured .plan-price .num { color: var(--c-turquoise); }
.plan-badge { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); white-space: nowrap; padding: 6px 14px; border-radius: 999px; background: var(--c-turquoise); color: #000; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.rules { margin-top: 8px; }
.rules-grid { display: grid; gap: 16px; }
@media (min-width: 720px) { .rules-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .rules-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.tax-table { margin: 4px 0 0; display: grid; gap: 6px; }
.tax-table div { display: flex; justify-content: space-between; gap: 12px; padding: 8px 12px; border-radius: 10px; background: var(--surface-2); }
.tax-table dt { color: var(--muted); font-weight: 600; }
.tax-table dd { margin: 0; font-weight: 800; font-variant-numeric: tabular-nums; }

/* Документы */
.docs-grid { display: grid; gap: 16px; }
@media (min-width: 900px) { .docs-grid { grid-template-columns: 1.4fr 1fr; } }
.doc-list { list-style: none; margin: 0; padding: 0; display: grid; }
.doc-list li { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--border); }
.doc-list li:last-child { border-bottom: 0; }
.doc-list span { display: flex; gap: 10px; align-items: flex-start; font-weight: 600; }
.doc-list svg { width: 20px; height: 20px; flex: none; color: var(--accent-text); margin-top: 2px; }
.doc-list b { white-space: nowrap; font-variant-numeric: tabular-nums; }
.docs-we { background: var(--ink); color: #EAF6F7; border-color: transparent; }
.docs-we .check-list svg { color: var(--c-turquoise); }

/* Приложение */
.app-visual { min-height: 520px; }

/* Реферальная полоса */
.referral-band { padding: 0; }
.referral { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; padding: 32px; border-radius: 28px; background: var(--c-turquoise); color: #000; }
.referral-icon { width: 64px; height: 64px; border-radius: 18px; background: #000; color: var(--c-turquoise); display: flex; align-items: center; justify-content: center; flex: none; }
.referral-icon svg { width: 32px; height: 32px; }
.referral-copy { flex: 1 1 320px; min-width: 0; display: grid; gap: 6px; }
.referral-copy h2 { font-size: clamp(22px, 2.6vw, 30px); }
.btn-dark { background: #000; color: var(--c-turquoise); }
.btn-dark:hover { background: #10191D; }

.platform-logo { height: 28px; width: auto; display: block; }
.strip-list { align-items: center; }

/* ===== v0.3: названия приложений и страницы платформ ===== */
.wm { color: var(--wm-l); font-weight: 800; letter-spacing: -.02em; font-size: 20px; line-height: 1; white-space: nowrap; }
:root[data-theme="dark"] .wm { color: var(--wm-d); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .wm { color: var(--wm-d); } }
.wm-on-dark, :root .wm-on-dark { color: var(--wm-d); }
.wm-heavy { font-weight: 900; }
.wm-italic { font-weight: 900; font-style: italic; letter-spacing: -.03em; }
.wm-caps { font-weight: 900; text-transform: uppercase; letter-spacing: .01em; }
.wm-plain { font-weight: 800; }
.wm-lg { font-size: 30px; }
.wm-xl { font-size: clamp(40px, 6vw, 64px); }
.wm-link { display: inline-flex; align-items: center; min-height: 44px; padding: 0 4px; border-radius: 10px; text-decoration: none; transition: transform .15s ease; }
.wm-link:hover { transform: translateY(-2px); }
.strip-list { gap: 4px 28px; }

/* Выбор приложения */
.app-cards { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
.app-card { position: relative; display: flex; flex-direction: column; gap: 14px; height: 100%; padding: 28px 24px 22px; border-radius: 24px; background: var(--surface); border: 1px solid var(--border); color: var(--text); text-decoration: none; overflow: hidden; isolation: isolate; transition: transform .15s ease, border-color .15s ease; }
.app-card::before { content: ""; position: absolute; inset: auto -30% -60% auto; width: 220px; height: 220px; border-radius: 50%; background: var(--glow); opacity: .12; z-index: -1; filter: blur(20px); }
.app-card:hover { transform: translateY(-3px); border-color: var(--glow); }
.app-card-note { font-weight: 700; color: var(--muted); }
.app-card-more { margin-top: auto; display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: var(--text); }
.app-card-more svg { width: 18px; height: 18px; }

/* Страница платформы */
.crumbs { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 16px; padding-bottom: 16px; font-size: 14px; color: var(--muted); }
.crumbs a { color: var(--muted); }
.plat-hero { background: var(--ink); color: #EAF6F7; position: relative; overflow: hidden; isolation: isolate; padding: 56px 0 64px; }
.plat-hero::before { content: ""; position: absolute; inset: -40% -10% auto auto; width: 70%; height: 140%; background: radial-gradient(closest-side, var(--glow), transparent); opacity: .28; z-index: -1; }
.plat-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background-image: linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px); background-size: 56px 56px; }
.plat-hero .hero-lead { color: #B9CACE; }
.plat-hero-grid { display: grid; gap: 32px; align-items: center; }
@media (min-width: 960px) { .plat-hero-grid { grid-template-columns: 1.3fr 1fr; gap: 56px; } }
.plat-wm { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 18px; }
.plat-wm img { height: 64px; width: auto; }
@media (max-width: 520px) { .plat-wm img { height: 48px; } }
.plat-x { font-size: 28px; color: #7C9096; font-weight: 300; }
.plat-facts { margin: 0; display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.plat-facts div { padding: 18px; border-radius: 18px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .12); display: grid; gap: 6px; min-width: 0; }
.plat-facts dt { font-size: 13px; color: #9FB3B8; font-weight: 600; }
.plat-facts dd { margin: 0; font-weight: 800; font-size: 18px; color: #FFFFFF; }
.btn-outline-light { border-color: rgba(255, 255, 255, .7); color: #FFFFFF; }
.plat-page .btn-primary { background: var(--glow); color: #000; }
.plat-page .btn-primary:hover { filter: brightness(1.08); background: var(--glow); }
.plat-page .plan-featured { border-color: var(--glow); box-shadow: 0 24px 60px color-mix(in srgb, var(--glow) 25%, transparent); background-image: radial-gradient(80% 60% at 50% 0%, color-mix(in srgb, var(--glow) 18%, transparent), transparent 70%); }
.plat-page .plan-featured .plan-price .num, .plat-page .plan-featured .plan-list svg { color: var(--glow); }
.plat-page .plan-badge { background: var(--glow); }
.two-col { display: grid; gap: 24px; align-items: start; }
@media (min-width: 900px) { .two-col { grid-template-columns: 1fr 1fr; gap: 40px; } }
.plat-role h2, .plat-cond h2 { font-size: clamp(22px, 2.4vw, 28px); }
.plat-cond { display: grid; gap: 18px; }
.plans-single { grid-template-columns: minmax(0, 520px) !important; justify-content: center; }
.plans-single .plan p { color: #B9CACE; }

/* Кнопки магазинов приложений */
.store-btns { display: flex; flex-wrap: wrap; gap: 12px; }
.store-btn { display: inline-flex; align-items: center; gap: 12px; min-height: 56px; padding: 8px 18px 8px 14px; border-radius: 14px; background: var(--ink); color: #FFFFFF; text-decoration: none; border: 1px solid rgba(0, 255, 255, .35); transition: transform .15s ease, border-color .15s ease; }
.store-btn:hover { transform: translateY(-1px); border-color: var(--c-turquoise); text-decoration: none; }
.store-btn svg { width: 26px; height: 26px; color: var(--c-turquoise); flex: none; }
.store-btn span { display: grid; line-height: 1.15; font-weight: 800; font-size: 16px; }
.store-btn small { font-size: 12px; font-weight: 600; color: #A8BCC1; }

/* ===== v0.7: страница приложения ===== */
.nav-app { position: relative; color: var(--accent-text) !important; font-weight: 800 !important; }
.nav-dot { position: absolute; top: 8px; right: 2px; width: 7px; height: 7px; border-radius: 50%; background: var(--c-turquoise); box-shadow: 0 0 0 3px rgba(0, 255, 255, .25); }
.more-link { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: var(--text); min-height: 44px; }
.more-link svg { width: 18px; height: 18px; }

.ref-steps { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; counter-reset: rs; }
.ref-steps li { counter-increment: rs; display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border-radius: 12px; background: rgba(0, 0, 0, .1); font-weight: 700; font-size: 14px; }
.ref-steps li::before { content: counter(rs); width: 22px; height: 22px; border-radius: 7px; background: #000; color: var(--c-turquoise); display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 900; }
.ref-note { font-weight: 600; margin-top: 6px; }

.app-hero { position: relative; overflow: hidden; isolation: isolate; background: var(--ink); color: #EAF6F7; padding: 64px 0 72px; }
.app-hero > .map { z-index: -1; opacity: .9; }
.app-hero-grid { display: grid; gap: 40px; align-items: center; }
@media (min-width: 960px) { .app-hero-grid { grid-template-columns: 1.15fr 1fr; gap: 56px; } }
.app-hero h1 { font-size: clamp(34px, 5vw, 60px); }
.app-hero h1 .accent { display: block; color: var(--c-turquoise); }
.app-hero .hero-lead { color: #B9CACE; }
.app-hero-visual { display: flex; justify-content: center; }
.eyebrow-dark { background: rgba(0, 255, 255, .1); border-color: rgba(0, 255, 255, .35); color: #7DFFFF; }
.app-chips { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.app-chips li { padding: 14px; border-radius: 16px; background: rgba(255, 255, 255, .06); border: 1px solid rgba(0, 255, 255, .22); display: grid; gap: 4px; min-width: 0; }
.app-chips b { font-family: var(--font-display); font-weight: 900; font-size: 30px; line-height: 1; color: var(--c-turquoise); }
.app-chips small { font-family: var(--font); font-size: 14px; margin-left: 3px; }
.app-chips span { font-size: 13px; color: #B9CACE; font-weight: 600; }
@media (max-width: 480px) { .app-chips { grid-template-columns: 1fr; } }

.flow { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; counter-reset: fl; }
@media (min-width: 860px) { .flow { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.flow li { counter-increment: fl; position: relative; padding: 28px; border-radius: 24px; background: var(--surface); border: 1px solid var(--border); display: grid; gap: 10px; align-content: start; }
.flow li::after { content: "0" counter(fl); position: absolute; top: 22px; right: 24px; font-family: var(--font-display); font-weight: 900; font-size: 28px; color: var(--border); }
.flow p { color: var(--muted); }
.flow-icon, .free-icon { width: 52px; height: 52px; border-radius: 16px; background: var(--c-turquoise); color: #000; display: flex; align-items: center; justify-content: center; }
.flow-icon svg, .free-icon svg { width: 26px; height: 26px; }

.section-ink { background: var(--ink); color: #EAF6F7; background-image: radial-gradient(60% 80% at 100% 0%, rgba(0, 255, 255, .14), transparent 60%); }
.free-grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
.free-grid li { padding: 24px; border-radius: 20px; background: rgba(255, 255, 255, .05); border: 1px solid rgba(0, 255, 255, .2); display: grid; gap: 10px; align-content: start; }
.free-grid p { color: #A8BCC1; }

.feat-grid { display: grid; gap: 16px; }
@media (min-width: 720px) { .feat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .feat-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.feat-card { display: grid; gap: 12px; align-content: start; min-width: 0; }
.feat-card p { color: var(--muted); }
.feat-visual { border-radius: 22px; background: var(--ink); padding: 18px; min-height: 290px; display: flex; align-items: center; justify-content: center; background-image: radial-gradient(70% 60% at 50% 0%, rgba(0, 255, 255, .16), transparent 70%); }
.mini-screen { width: 100%; max-width: 240px; border-radius: 18px; background: #0B1316; border: 1px solid rgba(255, 255, 255, .08); padding: 16px; color: #EAF6F7; display: grid; gap: 10px; font-size: 12px; }
.ms-label { color: #8FA3A9; font-weight: 700; font-size: 12px; }
.donut { width: 120px; height: 120px; border-radius: 50%; margin: 4px auto; display: flex; align-items: center; justify-content: center; }
.donut span { width: 84px; height: 84px; border-radius: 50%; background: #0B1316; display: grid; place-content: center; text-align: center; }
.donut b { font-weight: 800; font-size: 15px; font-variant-numeric: tabular-nums; }
.donut small { font-size: 9px; color: #8FA3A9; }
.legend { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 10px; font-size: 10px; color: #B9CACE; }
.legend i { display: inline-block; width: 7px; height: 7px; border-radius: 50%; margin-right: 4px; }
.ms-row { display: flex; justify-content: space-between; gap: 8px; padding: 10px; border-radius: 10px; background: #131E22; }
.ms-strong b { color: var(--c-turquoise); font-variant-numeric: tabular-nums; }
.ms-sync { color: #7DFFFF; font-size: 10px; }
.ms-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.ms-list li { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 9px 10px; border-radius: 10px; background: #131E22; font-weight: 600; }
.ms-list li.on { outline: 1px solid var(--c-turquoise); }
.ms-list b { font-variant-numeric: tabular-nums; white-space: nowrap; }
.ms-list b.neg { color: #FF7A90; }
.ms-list svg, .ms-secure svg { width: 16px; height: 16px; color: var(--c-turquoise); }
.ms-avatar { width: 56px; height: 56px; border-radius: 50%; margin: 0 auto; background: #131E22; display: flex; align-items: center; justify-content: center; color: #8FA3A9; }
.ms-avatar svg { width: 28px; height: 28px; }
.ms-secure { display: flex; align-items: center; justify-content: center; gap: 6px; color: #7DFFFF; font-weight: 700; }

.e100 { display: grid; gap: 32px; align-items: center; }
@media (min-width: 860px) { .e100 { grid-template-columns: 0.9fr 1.1fr; gap: 56px; } }
.e100-card { aspect-ratio: 1.586; max-width: 420px; width: 100%; margin: 0 auto; border-radius: 22px; padding: 26px; background: linear-gradient(135deg, #0B1316 0%, #0F2A2E 55%, #00A8B0 140%); color: #FFFFFF; position: relative; box-shadow: 0 30px 60px rgba(0, 0, 0, .35), inset 0 0 0 1px rgba(0, 255, 255, .3); transform: rotate(-4deg); }
.e100-card b { position: absolute; right: 26px; top: 22px; font-family: var(--font-display); font-weight: 900; font-size: 34px; color: var(--c-turquoise); }
.e100-chip { position: absolute; left: 26px; top: 40%; width: 46px; height: 34px; border-radius: 8px; background: linear-gradient(135deg, #D9E4E6, #8FA3A9); }
.e100-name { position: absolute; left: 26px; bottom: 22px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; font-size: 13px; color: #CFE3E6; }
.e100-copy { display: grid; gap: 14px; justify-items: start; }
.e100-copy p { color: var(--muted); font-size: 17px; }

.table-wrap { overflow-x: auto; border-radius: 20px; border: 1px solid var(--border); background: var(--surface); }
.cmp { width: 100%; min-width: 640px; border-collapse: collapse; }
.cmp th, .cmp td { padding: 16px 18px; border-bottom: 1px solid var(--border); text-align: left; font-variant-numeric: tabular-nums; }
.cmp tbody tr:last-child th, .cmp tbody tr:last-child td { border-bottom: 0; }
.cmp thead th { font-size: 15px; }
.cmp tbody th { font-weight: 600; color: var(--muted); }
.cmp td { font-weight: 700; }
.cmp .cmp-hl { background: var(--accent-soft); color: var(--text); }
.cmp thead .cmp-hl { background: var(--c-turquoise); color: #000; }

.access-grid { display: grid; gap: 16px; }
@media (min-width: 900px) { .access-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.access-card { position: relative; }
.access-num { font-family: var(--font-display); font-weight: 900; font-size: 22px; width: 44px; height: 44px; border-radius: 12px; background: var(--text); color: var(--bg); display: inline-flex; align-items: center; justify-content: center; }
.access-hl { border: 2px solid var(--c-turquoise); }
.access-cta { margin-top: auto; padding-top: 8px; }
.store-btns-sm .store-btn { min-height: 48px; padding: 6px 14px 6px 10px; }

/* ===== v0.8: разные фоны в фирменном стиле ===== */
.map.bg-route, .map.bg-map, .map.bg-contours { background-size: cover; background-position: center; background-repeat: no-repeat; }
.map.bg-route { background-image: radial-gradient(50% 45% at 80% 40%, rgba(0, 255, 255, .18), transparent 70%), url("../img/bg/route.svg"); }
.map.bg-map { background-image: radial-gradient(55% 50% at 75% 35%, rgba(0, 255, 255, .2), transparent 70%), url("../img/bg/map.svg"); }
.map.bg-contours { background-image: radial-gradient(45% 55% at 82% 30%, rgba(0, 255, 255, .2), transparent 70%), url("../img/bg/contours.svg"); }

/* Страница приложения: декор справа, текст на спокойном фоне */
.app-hero > .map { z-index: -2; }
.app-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, var(--ink) 0%, rgba(5, 8, 10, .96) 38%, rgba(5, 8, 10, .55) 62%, rgba(5, 8, 10, 0) 85%); }
@media (max-width: 959px) { .app-hero::before { background: linear-gradient(180deg, rgba(5, 8, 10, .97) 0%, rgba(5, 8, 10, .92) 60%, rgba(5, 8, 10, .6) 100%); } }
.app-hero h1 { letter-spacing: -.015em; line-height: 1.08; }
.app-hero h1 .accent { margin-top: 6px; }
.app-hero .hero-lead { color: #D2E0E3; font-size: 18px; max-width: 560px; }
.app-chips li { background: #0C1619; border-color: rgba(0, 255, 255, .28); }
.app-chips span { color: #C6D6D9; }

/* Платформы: карта или маршрут вместо сетки */
.plat-hero::after { display: none; }
.plat-hero > .map { z-index: -2; opacity: .85; }
.plat-hero::before { z-index: -1; }
.plat-hero .hero-copy { position: relative; }
.plat-hero .hero-lead { color: #D2E0E3; }
.doc-addr { display: flex; align-items: center; gap: 6px; margin-top: 4px; font-size: 13px; font-weight: 500; color: var(--muted); }
.doc-addr svg { width: 14px !important; height: 14px !important; margin: 0 !important; }
.doc-list span > span { display: block; }

/* ===== v0.9: реферальная «дорога» ===== */
.ref { position: relative; overflow: hidden; isolation: isolate; border-radius: 28px; padding: clamp(24px, 4vw, 44px); background: var(--ink); color: #EAF6F7; display: grid; gap: 32px;
  background-image: radial-gradient(50% 70% at 100% 100%, rgba(0, 255, 255, .22), transparent 70%), url("../img/bg/map.svg"); background-size: cover; }
.ref-head { display: flex; flex-wrap: wrap; gap: 24px; justify-content: space-between; align-items: flex-end; }
.ref-copy { flex: 1 1 380px; min-width: 0; display: grid; gap: 8px; }
.ref-copy h2 { font-size: clamp(26px, 3vw, 38px); }
.ref-copy p { color: #C6D6D9; max-width: 560px; }
.ref-amounts { display: flex; flex-wrap: wrap; gap: 12px; }
.ref-amounts > div { padding: 14px 18px; border-radius: 18px; background: rgba(0, 255, 255, .08); border: 1px solid rgba(0, 255, 255, .35); display: grid; gap: 4px; min-width: 160px; }
.ref-amounts b { font-family: var(--font-display); font-weight: 900; font-size: 40px; line-height: 1; color: var(--c-turquoise); }
.ref-amounts small { font-size: 18px; margin-left: 4px; }
.ref-amounts span { display: flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 700; color: #C6D6D9; }
.ref-amounts svg { width: 16px; height: 16px; color: var(--c-turquoise); }

.ref-road { position: relative; --pin: 44px; }
.ref-track { position: absolute; left: 0; right: 0; top: calc(var(--pin) / 2 - 11px); height: 22px; border-radius: 11px; background: #0A1215; border-block: 2px solid var(--c-turquoise); box-shadow: 0 0 22px rgba(0, 255, 255, .35); }
.ref-track::after { content: ""; position: absolute; left: 12px; right: 12px; top: 50%; height: 2px; margin-top: -1px; background: repeating-linear-gradient(90deg, rgba(0, 255, 255, .85) 0 14px, transparent 14px 28px); }
.ref-car { position: absolute; top: 50%; left: 0; width: 34px; height: 34px; margin-top: -17px; border-radius: 10px; background: var(--c-turquoise); color: #000; display: flex; align-items: center; justify-content: center; box-shadow: 0 0 18px rgba(0, 255, 255, .7); z-index: 1; animation: drive 7s ease-in-out infinite; }
.ref-car svg { width: 20px; height: 20px; }
@keyframes drive { 0% { left: 0; } 80%, 100% { left: calc(100% - 34px); } }
.ref-steps { position: relative; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.ref-steps li { display: grid; justify-items: center; gap: 14px; text-align: center; position: relative; z-index: 2; }
.ref-pin { width: var(--pin); height: var(--pin); border-radius: 50%; background: #0B1316; border: 3px solid var(--c-turquoise); color: var(--c-turquoise); font-family: var(--font-display); font-weight: 900; font-size: 18px; display: flex; align-items: center; justify-content: center; box-shadow: 0 0 0 6px rgba(0, 255, 255, .12); }
.ref-label { font-weight: 700; font-size: 15px; line-height: 1.35; max-width: 190px; }
.ref-finish .ref-label { display: grid; gap: 2px; font-size: 14px; color: #C6D6D9; }
.ref-finish small { text-transform: uppercase; letter-spacing: .1em; font-size: 12px; font-weight: 800; color: var(--c-turquoise); }
.ref-sum { font-family: var(--font-display); font-weight: 900; font-size: 34px; color: #FFFFFF; text-shadow: 0 0 24px rgba(0, 255, 255, .6); }
.ref-flag { width: var(--pin); height: var(--pin); border-radius: 12px; border: 3px solid #FFFFFF; box-shadow: 0 0 0 6px rgba(255, 255, 255, .12), 0 0 24px rgba(0, 255, 255, .5);
  background: conic-gradient(#000 25%, #fff 0 50%, #000 0 75%, #fff 0) 0 0 / 14px 14px; }
.ref-bills { position: absolute; inset: -40px -10px auto; height: 120px; pointer-events: none; }
.bill { position: absolute; bottom: 0; width: 34px; height: 20px; border-radius: 4px; background: linear-gradient(135deg, #7DFFB5, #2FBF71); color: #064026; font-size: 10px; font-weight: 900; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 10px rgba(0, 0, 0, .35); opacity: 0; animation: fly 3.2s ease-out infinite; }
.b1 { left: 10%; animation-delay: 0s; } .b2 { left: 30%; animation-delay: .5s; } .b3 { left: 50%; animation-delay: 1s; } .b4 { left: 70%; animation-delay: 1.5s; }
.b5 { left: 20%; animation-delay: 2s; } .b6 { left: 60%; animation-delay: 2.4s; } .b7 { left: 85%; animation-delay: 2.8s; }
@keyframes fly { 0% { transform: translateY(40px) rotate(0); opacity: 0; } 15% { opacity: 1; } 100% { transform: translateY(-70px) rotate(var(--r, 25deg)); opacity: 0; } }
.b2, .b5 { --r: -30deg; } .b4, .b7 { --r: 40deg; }
@media (prefers-reduced-motion: reduce) { .bill { opacity: .9; animation: none; } .b1 { transform: translateY(-10px) rotate(-12deg); } .b3 { transform: translateY(-40px) rotate(18deg); } .b6 { transform: translateY(-20px) rotate(-20deg); } .ref-car { left: 60%; } }
.ref-foot { display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; align-items: center; padding-top: 8px; border-top: 1px solid rgba(255, 255, 255, .1); }
.ref-foot p { font-weight: 700; }

/* Телефон: дорога вертикально */
@media (max-width: 760px) {
  .ref-track { top: 0; bottom: 0; left: calc(var(--pin) / 2 - 11px); right: auto; width: 22px; height: auto; border-block: 0; border-inline: 2px solid var(--c-turquoise); }
  .ref-track::after { left: 50%; right: auto; top: 12px; bottom: 12px; width: 2px; height: auto; margin: 0 0 0 -1px; background: repeating-linear-gradient(180deg, rgba(0, 255, 255, .85) 0 14px, transparent 14px 28px); }
  .ref-car { left: 50%; top: 0; margin: 0 0 0 -17px; animation: drive-v 7s ease-in-out infinite; }
  @keyframes drive-v { 0% { top: 0; } 80%, 100% { top: calc(100% - 34px); } }
  .ref-steps { grid-template-columns: 1fr; gap: 22px; }
  .ref-steps li { grid-template-columns: var(--pin) 1fr; justify-items: start; align-items: center; text-align: left; gap: 16px; }
  .ref-label { max-width: none; }
  .ref-bills { inset: -30px 0 auto 60px; }
  .ref-amounts > div { min-width: 0; flex: 1 1 140px; }
}

/* сброс старых стилей шагов реферала */
.ref .ref-steps { display: grid; flex-wrap: nowrap; margin: 0; }
.ref .ref-steps li { padding: 0; background: none; border-radius: 0; font-size: inherit; display: grid; }
.ref .ref-steps li::before { content: none; display: none; }
@media (max-width: 760px) { .ref .ref-steps li { display: grid; } }
.ref .ref-steps li { align-content: start; }
.ref .ref-label { position: relative; z-index: 2; }
.ref-bills { z-index: 1; }
.bill { filter: saturate(.9); }
@media (max-width: 760px) { .ref .ref-steps li { align-content: center; } }

/* ===== v0.9.1: блок «Три типа выплат» ===== */
.bento-payouts { background: var(--surface); color: var(--text); border: 1px solid var(--border); gap: 18px; }
.bento-payouts p { color: var(--muted); }
.pay-head { display: grid; gap: 6px; }
.pay-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.pay-item { position: relative; display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 16px; background: var(--surface-2); border: 1px solid var(--border); }
.pay-icon { width: 44px; height: 44px; border-radius: 12px; background: var(--bg); border: 1px solid var(--border); color: var(--accent-text); display: flex; align-items: center; justify-content: center; }
.pay-icon svg { width: 22px; height: 22px; }
.pay-text { display: grid; gap: 2px; min-width: 0; }
.pay-text strong { font-size: 17px; font-weight: 800; line-height: 1.25; }
.pay-text span { font-size: 14px; color: var(--muted); line-height: 1.4; }
.pay-meter { display: inline-flex; gap: 3px; align-items: flex-end; }
.pay-meter i { width: 5px; border-radius: 3px; background: var(--border); }
.pay-meter i:nth-child(1) { height: 8px; } .pay-meter i:nth-child(2) { height: 11px; } .pay-meter i:nth-child(3) { height: 14px; } .pay-meter i:nth-child(4) { height: 17px; } .pay-meter i:nth-child(5) { height: 20px; }
.pay-meter i.on { background: var(--accent-text); }
.pay-hl { background: var(--ink); border: 2px solid var(--c-turquoise); color: #FFFFFF; box-shadow: 0 14px 34px rgba(0, 160, 170, .25); padding-top: 22px; }
.pay-hl .pay-icon { background: var(--c-turquoise); border-color: transparent; color: #000; }
.pay-hl .pay-text span { color: #C6D6D9; }
.pay-hl .pay-meter i { background: rgba(255, 255, 255, .18); }
.pay-hl .pay-meter i.on { background: var(--c-turquoise); box-shadow: 0 0 8px rgba(0, 255, 255, .6); }
.pay-tag { position: absolute; top: -11px; left: 16px; padding: 3px 10px; border-radius: 999px; background: var(--c-turquoise); color: #000; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
@media (max-width: 400px) { .pay-item { grid-template-columns: 40px minmax(0, 1fr); } .pay-meter { grid-column: 2; } }

/* ===== v0.9.2: шапка и мобильное меню ===== */
.header-stores { display: none; gap: 6px; }
.hs-btn { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 12px; border-radius: 12px; background: var(--ink); color: #FFFFFF; border: 1px solid rgba(0, 255, 255, .35); text-decoration: none; font-weight: 700; font-size: 13px; white-space: nowrap; }
.hs-btn:hover { border-color: var(--c-turquoise); text-decoration: none; }
.hs-btn svg { width: 18px; height: 18px; color: var(--c-turquoise); flex: none; }
.hs-btn span { display: none; }
@media (min-width: 768px) { .header-stores { display: inline-flex; } }
@media (min-width: 1360px) { .hs-btn span { display: inline; } }
.header-phone { display: none !important; }
@media (min-width: 1500px) { .header-phone { display: inline-block !important; } }

.mobile-menu { display: block; position: absolute; left: 0; right: 0; top: 100%; background: var(--bg); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); box-shadow: 0 24px 40px rgba(0, 0, 0, .25); max-height: calc(100vh - var(--header-h)); overflow-y: auto; padding: 0; }
.mobile-menu[hidden] { display: none !important; }
@media (min-width: 1100px) { .mobile-menu { display: none !important; } }
.mm-inner { display: grid; gap: 16px; padding-top: 16px; padding-bottom: 20px; }
.mobile-menu a { padding: 0; min-height: 0; }
.mm-app { display: grid !important; grid-template-columns: 48px minmax(0, 1fr) 20px; align-items: center; gap: 14px; padding: 14px 16px !important; border-radius: 18px; background: var(--ink); border: 2px solid var(--c-turquoise); color: #FFFFFF !important; text-decoration: none; box-shadow: 0 10px 28px rgba(0, 160, 170, .25); }
.mm-app-icon { width: 48px; height: 48px; border-radius: 14px; background: var(--c-turquoise); color: #000; display: flex; align-items: center; justify-content: center; }
.mm-app-icon svg { width: 24px; height: 24px; }
.mm-app strong { display: block; font-size: 18px; color: var(--c-turquoise); }
.mm-app small { display: block; font-size: 13px; color: #C6D6D9; font-weight: 600; }
.mm-app > svg { width: 20px; height: 20px; color: var(--c-turquoise); }
.mm-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.mm-links a { display: flex !important; align-items: center; min-height: 48px !important; padding: 0 14px !important; border-radius: 12px; background: var(--surface-2); border: 1px solid var(--border); color: var(--text); font-weight: 700; text-decoration: none; }
.mm-links a[aria-current="page"] { border-color: var(--c-turquoise); color: var(--accent-text); }
.mm-stores { gap: 8px; }
.mm-stores .store-btn { flex: 1 1 150px; }
.mm-phone { display: inline-flex !important; align-items: center; gap: 10px; min-height: 48px !important; font-weight: 800; font-size: 17px; color: var(--text); text-decoration: none; }
.mm-phone svg { width: 22px; height: 22px; color: var(--accent-text); flex: none; }
.site-header { position: sticky; }
.site-header .header-row { position: relative; }
.main-nav > a.nav-app { background: var(--accent-soft); border-radius: 10px; }
.main-nav > a.nav-app[aria-current="page"] { background: var(--c-turquoise); color: #000 !important; }
.main-nav > a.nav-app[aria-current="page"] .nav-dot { background: #000; box-shadow: none; }

/* ===== v0.9.3: тарифы доставки по приложениям ===== */
.dp { display: grid; gap: 20px; }
.dp-modes { justify-self: center; display: inline-flex; flex-wrap: wrap; justify-content: center; gap: 4px; padding: 4px; border-radius: 999px; background: var(--surface); border: 1px solid var(--border); }
.dp-modes button { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 18px; border-radius: 999px; border: 0; background: none; color: var(--text); font: inherit; font-weight: 700; cursor: pointer; }
.dp-modes button svg { width: 18px; height: 18px; }
.dp-modes button[aria-checked="true"] { background: var(--text); color: var(--bg); }
.dp-cards { display: grid; gap: 16px; }
@media (min-width: 860px) { .dp-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.dp-card { display: flex; flex-direction: column; gap: 14px; padding: 28px; border-radius: 24px; background: var(--ink); color: #EAF6F7; border: 1px solid rgba(255, 255, 255, .08); min-width: 0; }
.dp-card-hl { border: 2px solid var(--c-turquoise); box-shadow: 0 24px 60px rgba(0, 160, 170, .22); background-image: radial-gradient(80% 60% at 50% 0%, rgba(0, 255, 255, .12), transparent 70%); }
.dp-tag { align-self: flex-start; padding: 5px 12px; border-radius: 999px; background: rgba(255, 255, 255, .1); color: #FFFFFF; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.dp-tag-hl { background: var(--c-turquoise); color: #000; }
.dp-tiles { display: flex; flex-wrap: wrap; gap: 8px; }
.app-tile { display: inline-flex; align-items: center; justify-content: center; min-width: 64px; height: 56px; padding: 0 12px; border-radius: 14px; background: #121C20; border: 1px solid color-mix(in srgb, var(--glow) 45%, transparent); box-shadow: inset 0 0 18px color-mix(in srgb, var(--glow) 14%, transparent); }
.app-tile .wm { color: var(--wm-d) !important; font-size: 17px; }
.dp-names { font-size: 13px; color: #9FB3B8; font-weight: 600; }
.dp-price { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; margin-top: 4px; }
.dp-amount { font-family: var(--font-display); font-weight: 900; font-size: clamp(44px, 6vw, 60px); line-height: 1; color: #FFFFFF; }
.dp-card-hl .dp-amount { color: var(--c-turquoise); }
.dp-per { font-weight: 700; color: #9FB3B8; }
.dp-num[hidden], .dp-hint[hidden] { display: none !important; }
.dp-hint { display: inline-flex; align-items: center; gap: 6px; align-self: flex-start; padding: 6px 12px; border-radius: 999px; background: rgba(0, 255, 255, .12); color: #7DFFFF; font-weight: 700; font-size: 13px; }
.dp-hint svg { width: 16px; height: 16px; }
.dp-body { display: grid; gap: 12px; padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, .1); flex: 1; align-content: start; }
.dp-body p { color: #C6D6D9; }
.dp-card .tax-table div { background: rgba(255, 255, 255, .06); }
.dp-card .tax-table dt { color: #9FB3B8; }
.dp-small { font-size: 13px; color: #9FB3B8 !important; }
.dp-notes { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: 14px; color: #C6D6D9; }
.dp-notes li { padding-left: 16px; position: relative; }
.dp-notes li::before { content: ""; position: absolute; left: 0; top: .55em; width: 6px; height: 6px; border-radius: 50%; background: var(--c-turquoise); }
.btn-light { background: #FFFFFF; color: #000; }
.dp-card .btn { width: 100%; }
.dp-foot { display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; align-items: center; color: var(--muted); font-size: 14px; }
.dp-foot .btn svg { width: 18px; height: 18px; }

/* приоритет режима «Через приложение» */
.dp-modes { padding-top: 4px; overflow: visible; }
.dp-modes button.dp-mode-app { position: relative; color: var(--accent-text); border: 1.5px solid var(--c-turquoise); background: var(--accent-soft); }
.dp-modes button.dp-mode-app[aria-checked="true"] { background: var(--c-turquoise); color: #000; border-color: var(--c-turquoise); box-shadow: 0 0 0 4px rgba(0, 255, 255, .18), 0 10px 28px rgba(0, 200, 210, .35); }
.dp-modes button.dp-mode-app svg { color: inherit; }
.dp-mode-badge { position: absolute; top: -12px; left: 50%; transform: translateX(-50%); white-space: nowrap; padding: 2px 9px; border-radius: 999px; background: #000; color: var(--c-turquoise); border: 1px solid var(--c-turquoise); font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; line-height: 1.5; }
.dp-modes { margin-top: 10px; }
@media (min-width: 560px) { .doc-chips-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.bento-legal { border: 1px solid rgba(0, 255, 255, .22) !important; }

/* Glovo/Pyszne — только недельные выплаты */
.dp-card-zero { position: relative; }
.dp-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.dp-tag-week { display: inline-flex; align-items: center; gap: 6px; background: rgba(255, 194, 68, .14); color: #FFD27A; border: 1px solid rgba(255, 194, 68, .4); }
.dp-tag-week svg { width: 14px; height: 14px; }
.dp-unavail { position: absolute; inset: 0; z-index: 3; border-radius: inherit; background: rgba(5, 8, 10, .86); backdrop-filter: blur(3px); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 28px; text-align: center; }
.dp-unavail[hidden] { display: none !important; }
.dp-unavail strong { font-size: 20px; color: #FFFFFF; }
.dp-unavail p { color: #C6D6D9; max-width: 320px; }
.dp-unavail .btn { width: auto !important; margin-top: 6px; }
.dp-unavail .btn svg { width: 18px; height: 18px; }

/* ===== v0.9.7: пошаговый процесс в стиле Enigma ===== */
.process { position: relative; overflow: hidden; isolation: isolate; background: var(--ink); color: #EAF6F7; }
.process > .map { z-index: -1; opacity: .7; }
.process .section-head p { color: #B9CACE; }
.proc { position: relative; list-style: none; margin: 8px 0 0; padding: 0; display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr)); gap: 16px; --node: 64px; --dur: 2.6s; }
.proc-line { position: absolute; left: calc(100% / var(--n) / 2); right: calc(100% / var(--n) / 2); top: calc(var(--node) / 2 - 2px); height: 4px; border-radius: 2px; background: rgba(0, 255, 255, .14); overflow: visible; }
.proc-fill { position: absolute; inset: 0; transform-origin: left center; transform: scaleX(1); border-radius: inherit; background: linear-gradient(90deg, rgba(0, 255, 255, .4), var(--c-turquoise)); box-shadow: 0 0 14px rgba(0, 255, 255, .55); }
.proc-spark { position: absolute; top: 50%; left: 0; width: 70px; height: 4px; margin-top: -2px; border-radius: 2px; background: linear-gradient(90deg, transparent, #FFFFFF, transparent); opacity: 0; }
.proc-step { position: relative; display: grid; gap: 18px; justify-items: center; align-content: start; }
.proc-node { position: relative; width: var(--node); height: var(--node); border-radius: 18px; transform: rotate(45deg); background: #0B1316; border: 2px solid var(--c-turquoise); display: flex; align-items: center; justify-content: center; box-shadow: 0 0 0 6px rgba(0, 255, 255, .08), 0 0 24px rgba(0, 255, 255, .35); z-index: 1; }
.proc-node svg { width: 26px; height: 26px; color: var(--c-turquoise); transform: rotate(-45deg); }
.proc-ring { position: absolute; inset: -10px; border-radius: 22px; border: 1px solid rgba(0, 255, 255, .5); opacity: 0; }
.proc-card { position: relative; width: 100%; padding: 22px 20px 20px; border-radius: 20px; background: rgba(12, 22, 25, .92); border: 1px solid rgba(0, 255, 255, .18); display: grid; gap: 8px; align-content: start; min-height: 100%; overflow: hidden; }
.proc-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 2px; background: linear-gradient(90deg, transparent, var(--c-turquoise), transparent); opacity: .5; }
.proc-num { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #7FA0A6; }
.proc-num b { font-family: var(--font-display); font-weight: 900; color: var(--c-turquoise); letter-spacing: .04em; }
.proc-card h3 { font-size: 18px; color: #FFFFFF; font-variant-numeric: tabular-nums; }
.proc-card p { color: #B9CACE; font-size: 15px; }
.proc-tag { justify-self: start; display: inline-flex; align-items: center; gap: 6px; margin-top: 4px; padding: 5px 10px; border-radius: 999px; background: var(--c-turquoise); color: #000; font-weight: 800; font-size: 12px; }
.proc-tag svg { width: 14px; height: 14px; }

/* Анимация: линия заполняется, узлы загораются по очереди */
.process.is-run .proc-fill { animation: proc-fill var(--dur) cubic-bezier(.6, .05, .3, 1) both; }
.process.is-run .proc-spark { animation: proc-spark var(--dur) cubic-bezier(.6, .05, .3, 1) both; }
.process.is-run .proc-node { animation: proc-node .7s ease-out both; animation-delay: calc(var(--i) * (var(--dur) / (var(--n) - 1)) - .1s); }
.process.is-run .proc-ring { animation: proc-ring 1.2s ease-out both; animation-delay: calc(var(--i) * (var(--dur) / (var(--n) - 1))); }
.process.is-run .proc-card { animation: proc-card .7s ease-out both; animation-delay: calc(var(--i) * (var(--dur) / (var(--n) - 1)) + .05s); }
.process.is-run .proc-card::before { animation: proc-scan 1.4s ease-out both; animation-delay: calc(var(--i) * (var(--dur) / (var(--n) - 1)) + .1s); }
@keyframes proc-fill { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes proc-spark { 0% { left: 0; opacity: 0; } 10% { opacity: 1; } 90% { opacity: 1; } 100% { left: calc(100% - 70px); opacity: 0; } }
@keyframes proc-node { 0% { border-color: rgba(0, 255, 255, .25); box-shadow: 0 0 0 6px rgba(0, 255, 255, .03); } 60% { box-shadow: 0 0 0 10px rgba(0, 255, 255, .2), 0 0 40px rgba(0, 255, 255, .8); } 100% { } }
@keyframes proc-ring { 0% { opacity: .9; transform: scale(.8); } 100% { opacity: 0; transform: scale(1.5); } }
@keyframes proc-card { 0% { transform: translateY(10px); border-color: rgba(0, 255, 255, .06); } 100% { transform: none; } }
@keyframes proc-scan { 0% { opacity: 1; transform: translateX(-100%); } 100% { opacity: .5; transform: none; } }
/* постоянная мягкая пульсация последнего шага */
.proc-step:last-child .proc-node { animation: proc-glow 2.4s ease-in-out infinite; }
.process.is-run .proc-step:last-child .proc-node { animation: proc-node .7s ease-out both, proc-glow 2.4s ease-in-out infinite; animation-delay: calc(var(--i) * (var(--dur) / (var(--n) - 1)) - .1s), calc(var(--dur) + .5s); }
@keyframes proc-glow { 50% { box-shadow: 0 0 0 10px rgba(0, 255, 255, .14), 0 0 36px rgba(0, 255, 255, .7); } }

/* Планшет и телефон: вертикальная схема */
@media (max-width: 960px) {
  .proc { grid-template-columns: 1fr; gap: 18px; --node: 52px; }
  .proc-line { left: calc(var(--node) / 2 - 2px); right: auto; top: calc(var(--node) / 2); bottom: calc(var(--node) / 2); width: 4px; height: auto; }
  .proc-fill { transform-origin: center top; transform: scaleY(1); }
  .process.is-run .proc-fill { animation-name: proc-fill-v; }
  @keyframes proc-fill-v { from { transform: scaleY(0); } to { transform: scaleY(1); } }
  .proc-spark { display: none; }
  .proc-step { grid-template-columns: var(--node) minmax(0, 1fr); justify-items: stretch; align-items: start; gap: 16px; }
  .proc-node { border-radius: 14px; }
  .proc-node svg { width: 22px; height: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .process *, .process *::before { animation: none !important; }
}
@media (max-width: 960px) { .proc-node { margin-left: 6px; } .proc-line { left: calc(var(--node) / 2 + 4px); } .proc-step { grid-template-columns: calc(var(--node) + 12px) minmax(0, 1fr); } }

/* ===== v0.9.8: «Дополнительно для партнёров» с анимацией ===== */
.perks { grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: 14px; }
.perk { position: relative; padding: 0; overflow: hidden; isolation: isolate; background: var(--surface); transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.perk > .perk-link, .perk > .perk-icon { }
.perk-link { display: flex; gap: 14px; align-items: flex-start; color: inherit; text-decoration: none; width: 100%; height: 100%; padding: 18px; }
.perk:not(:has(.perk-link)) { display: flex; gap: 14px; align-items: flex-start; padding: 18px; }
.perk::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(120px 80px at 0% 0%, rgba(0, 255, 255, .16), transparent 70%); opacity: 0; transition: opacity .3s ease; }
.perk::after { content: ""; position: absolute; top: 0; left: -60%; width: 50%; height: 100%; z-index: -1; background: linear-gradient(100deg, transparent, rgba(0, 255, 255, .12), transparent); transform: skewX(-18deg); }
.perk:hover { transform: translateY(-4px); border-color: var(--c-turquoise); box-shadow: 0 16px 36px rgba(0, 160, 170, .18); }
.perk:hover::before { opacity: 1; }
.perk:hover::after { animation: perk-sheen .9s ease; }
@keyframes perk-sheen { to { left: 120%; } }
.perk-text { display: grid; gap: 4px; min-width: 0; }
.perk-text strong { font-size: 16px; line-height: 1.3; }
.perk-text > span { color: var(--muted); font-size: 14px; line-height: 1.45; }
.perk-icon { width: 48px; height: 48px; border-radius: 14px; position: relative; box-shadow: inset 0 0 0 1px rgba(0, 255, 255, .25); }
.perk-icon svg { width: 22px; height: 22px; }
.perk-icon-num { flex-direction: row; align-items: baseline; justify-content: center; gap: 1px; padding-top: 4px; }
.perk-icon-num b { font-family: var(--font-display); font-weight: 900; font-size: 15px; color: var(--c-turquoise); line-height: 1; font-variant-numeric: tabular-nums; }
.perk-icon-num small { font-size: 10px; font-weight: 800; color: var(--c-turquoise); }
.perk-support .perk-icon-num b { font-size: 12px; }
.perk-support .perk-icon::after { content: ""; position: absolute; top: -3px; right: -3px; width: 10px; height: 10px; border-radius: 50%; background: #2BE38A; box-shadow: 0 0 0 3px var(--surface); animation: live 1.8s ease-in-out infinite; }
@keyframes live { 50% { box-shadow: 0 0 0 3px var(--surface), 0 0 0 7px rgba(43, 227, 138, .25); } }
.perk-go { margin-left: auto; align-self: center; width: 32px; height: 32px; border-radius: 10px; display: flex; align-items: center; justify-content: center; background: var(--c-turquoise); color: #000; flex: none; transition: transform .25s ease; }
.perk-go svg { width: 16px; height: 16px; }
.perk:hover .perk-go { transform: translateX(3px); }
.perk-app { border-color: rgba(0, 255, 255, .55); background: linear-gradient(135deg, var(--surface), color-mix(in srgb, var(--c-turquoise) 10%, var(--surface))); }
.perk-vat { border-color: rgba(0, 255, 255, .35); }

/* появление по очереди */
.perks.will-reveal .perk { opacity: 0; transform: translateY(18px) scale(.98); }
.perks.is-in .perk { animation: perk-in .6s cubic-bezier(.2, .7, .2, 1) both; animation-delay: calc(var(--i) * 80ms); }
.perks.is-in .perk .perk-icon { animation: perk-glow 1.4s ease-out both; animation-delay: calc(var(--i) * 80ms + 250ms); }
.perks.is-in .perk::after { animation: perk-sheen 1.1s ease both; animation-delay: calc(var(--i) * 80ms + 200ms); }
@keyframes perk-in { from { opacity: 0; transform: translateY(18px) scale(.98); } to { opacity: 1; transform: none; } }
@keyframes perk-glow { 0% { box-shadow: inset 0 0 0 1px rgba(0, 255, 255, .25); } 40% { box-shadow: inset 0 0 0 1px var(--c-turquoise), 0 0 22px rgba(0, 255, 255, .55); } 100% { box-shadow: inset 0 0 0 1px rgba(0, 255, 255, .25); } }
@media (prefers-reduced-motion: reduce) { .perks .perk, .perks .perk *, .perks .perk::after { animation: none !important; opacity: 1 !important; transform: none !important; } }

/* иконки по центру */
.perk .perk-icon { display: flex; align-items: center; justify-content: center; padding: 0; flex: none; align-self: center; }
.perk .perk-icon svg { display: block; margin: 0; }
.perk-link, .perk:not(:has(.perk-link)) { align-items: center !important; }

/* ===== v1.0: тематика такси и доставки ===== */
/* Карта города вместо сеток, контуров и неоновых линий */
.map.bg-city { background: url("../img/bg/city.svg") center / cover no-repeat; opacity: 1; }
.map.bg-city::after { content: ""; position: absolute; inset: 0; background: radial-gradient(60% 60% at 75% 30%, rgba(0, 255, 255, .10), transparent 70%); }
.hero-visual .road, .hero-visual .pin-dot { display: none; }

/* Сцена первого экрана: маршрут A→B, телефон, машина/скутер */
.scene { min-height: 460px; }
.route-svg { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; }
.route-path { stroke-dasharray: 1400; stroke-dashoffset: 1400; animation: route-draw 2.4s ease-out .3s forwards; }
@keyframes route-draw { to { stroke-dashoffset: 0; } }
.scene .phone { position: relative; z-index: 2; width: 236px; margin-left: 30%; transform: rotate(-2deg); }
.scene-vehicle { position: absolute; z-index: 3; left: 3%; bottom: 6%; width: 48%; max-width: 300px; animation: drive-in 1.2s cubic-bezier(.2, .7, .2, 1) both; }
.scene-vehicle.is-scooter { width: 40%; max-width: 230px; }
.scene-vehicle-2 { position: absolute; z-index: 3; right: 3%; bottom: 4%; width: 26%; max-width: 160px; animation: drive-in 1.2s cubic-bezier(.2, .7, .2, 1) .25s both; }
.car-svg, .scooter-svg { width: 100%; height: auto; display: block; filter: drop-shadow(0 10px 18px rgba(0, 0, 0, .45)); }
@keyframes drive-in { from { transform: translateX(-40px); opacity: 0; } to { transform: none; opacity: 1; } }
.scene .chip-a { left: auto; right: 5%; top: 8%; }
.scene .chip-b { right: auto; left: 5%; top: 8%; bottom: auto; }
@media (max-width: 520px) { .scene { min-height: 400px; } .scene .phone { margin-left: 18%; width: 210px; } .scene-vehicle { width: 58%; } }
@media (prefers-reduced-motion: reduce) { .route-path { stroke-dashoffset: 0; animation: none; } .scene-vehicle, .scene-vehicle-2 { animation: none; } }

/* Меньше «неона»: спокойнее свечения */
.phone { box-shadow: 0 24px 50px rgba(0, 0, 0, .5), 0 0 0 1px rgba(255, 255, 255, .06); }
.plan-featured, .dp-card-hl { box-shadow: 0 18px 44px rgba(0, 120, 130, .18); }
.ref-track { box-shadow: none; }

/* Кнопки магазинов в шапке — «бейджи» */
.hs-btn { min-height: 46px; padding: 0 14px 0 12px; border-radius: 999px; background: #000; border: 1px solid rgba(255, 255, 255, .22); gap: 9px; }
.hs-btn svg { width: 22px; height: 22px; color: #FFFFFF; }
.hs-btn:hover { border-color: var(--c-turquoise); }
.hs-btn:hover svg { color: var(--c-turquoise); }
.hs-txt { display: none; line-height: 1.05; font-size: 15px; font-weight: 800; color: #FFFFFF; }
.hs-txt small { display: block; font-size: 10px; font-weight: 600; color: #C6D6D9; letter-spacing: .01em; }
@media (min-width: 1360px) { .hs-txt { display: grid; } }
.hs-btn span:not(.hs-txt) { display: none; }

/* Шаги как точки маршрута: маркеры вместо ромбов */
.proc-node { transform: none; border-radius: 50%; background: transparent; border: 0; box-shadow: none; }
.proc-pin { width: var(--node); height: var(--node); border-radius: 50% 50% 50% 6px; transform: rotate(-45deg); background: #0B1316; border: 3px solid var(--c-turquoise); display: flex; align-items: center; justify-content: center; }
.proc-pin svg { width: 24px; height: 24px; transform: rotate(45deg); color: var(--c-turquoise); }
.proc-ring { border-radius: 50%; }
.proc-line { height: 10px; top: calc(var(--node) / 2 - 5px); background: #0F1A1E; border-block: 2px solid rgba(0, 255, 255, .3); }
.proc-line::after { content: ""; position: absolute; left: 8px; right: 8px; top: 50%; height: 2px; margin-top: -1px; background: repeating-linear-gradient(90deg, rgba(255, 255, 255, .5) 0 10px, transparent 10px 22px); }
.proc-fill { opacity: .55; }
.process.is-run .proc-node, .proc-step:last-child .proc-node, .process.is-run .proc-step:last-child .proc-node { animation: none; }
.process.is-run .proc-pin { animation: pin-drop .6s cubic-bezier(.3, 1.4, .5, 1) both; animation-delay: calc(var(--i) * (var(--dur) / (var(--n) - 1)) - .1s); }
@keyframes pin-drop { from { transform: rotate(-45deg) translate(-10px, -10px) scale(.6); opacity: 0; } to { transform: rotate(-45deg); opacity: 1; } }
.proc-step:last-child .proc-pin { background: var(--c-turquoise); }
.proc-step:last-child .proc-pin svg { color: #000; }
@media (max-width: 960px) { .proc-line { width: 10px; height: auto; left: calc(var(--node) / 2 + 1px); border-block: 0; border-inline: 2px solid rgba(0, 255, 255, .3); } .proc-line::after { left: 50%; right: auto; top: 8px; bottom: 8px; width: 2px; height: auto; margin: 0 0 0 -1px; background: repeating-linear-gradient(180deg, rgba(255, 255, 255, .5) 0 10px, transparent 10px 22px); } }
.scene { justify-content: flex-end; }
.scene .phone { margin-left: 0; margin-right: 4%; }
.scene .chip-a { left: 5%; right: auto; top: 24%; }
.scene .chip-b { left: 5%; top: 8%; }
.scene-vehicle { width: 44%; }
.process > .map, .ref, .plat-hero > .map, .app-hero > .map { }
.process > .map.bg-city, .plat-hero > .map.bg-city, .app-hero > .map.bg-city { opacity: .38; }
.ref { background-image: radial-gradient(50% 70% at 100% 100%, rgba(0, 255, 255, .16), transparent 70%), linear-gradient(rgba(5, 8, 10, .62), rgba(5, 8, 10, .62)), url("../img/bg/city.svg"); }
@media (max-width: 520px) { .scene .phone { margin-right: 2%; } .scene-vehicle { width: 52%; } .scene .chip-a, .scene .chip-b { display: none; } }

/* ===== v1.0: аренда авто ===== */
.wm-sm { font-size: 13px; margin-right: 8px; }
.rent-scene { justify-content: center; align-items: flex-end; }
.rent-cars { position: relative; z-index: 2; width: 92%; height: 240px; }
.rc { position: absolute; bottom: 0; animation: drive-in 1.2s cubic-bezier(.2, .7, .2, 1) both; }
.rc1 { left: 0; width: 56%; } .rc2 { right: 0; width: 56%; bottom: -14px; animation-delay: .2s; }
.demo-note { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 12px; background: var(--surface-2); border: 1px dashed var(--border); font-size: 14px !important; font-weight: 600; }
.demo-note svg { width: 18px; height: 18px; color: var(--accent-text); flex: none; }
.cat-layout { display: grid; gap: 24px; align-items: start; }
@media (min-width: 1100px) { .cat-layout { grid-template-columns: 290px minmax(0, 1fr); } }
.cat-filters { display: grid; gap: 18px; padding: 22px; border-radius: 22px; background: var(--surface); border: 1px solid var(--border); }
@media (min-width: 1100px) { .cat-filters { position: sticky; top: calc(var(--header-h) + 72px); max-height: calc(100vh - var(--header-h) - 92px); overflow-y: auto; } }
.cf-head { display: flex; justify-content: space-between; align-items: center; }
.cf-title { display: flex; align-items: center; gap: 8px; font-size: 18px; }
.cf-title svg { width: 20px; height: 20px; color: var(--accent-text); }
.cf-close { display: none; font-size: 24px; }
.cf-group { border: 0; margin: 0; padding: 0; display: grid; gap: 10px; min-width: 0; }
.cf-group legend, .cf-label { font-weight: 700; font-size: 14px; padding: 0; display: flex; justify-content: space-between; gap: 8px; }
.cf-label output { color: var(--accent-text); font-variant-numeric: tabular-nums; }
.cf-row { grid-template-columns: 1fr 1fr; }
.cf-row > div { display: grid; gap: 8px; }
.cf-range { display: flex; justify-content: space-between; font-size: 12px; color: var(--muted); }
input[type="range"] { width: 100%; accent-color: var(--c-turquoise); min-height: 32px; }
.fchips { display: flex; flex-wrap: wrap; gap: 6px; }
.fchip input, .fcheck input { position: absolute; opacity: 0; pointer-events: none; }
.fchip span { display: inline-flex; align-items: center; min-height: 38px; padding: 4px 12px; border-radius: 999px; border: 1px solid var(--border); background: var(--surface-2); font-weight: 600; font-size: 14px; cursor: pointer; }
.fchip input:checked + span { background: var(--c-turquoise); border-color: var(--c-turquoise); color: #000; }
.fchip input:focus-visible + span, .fcheck input:focus-visible + span { outline: 3px solid var(--focus); outline-offset: 2px; }
.fchecks { display: grid; gap: 4px; }
.fcheck { position: relative; display: flex; align-items: center; gap: 10px; min-height: 38px; padding: 0 10px; border-radius: 10px; cursor: pointer; font-weight: 600; }
.fcheck:hover { background: var(--surface-2); }
.fcheck span::before { content: ""; display: inline-block; vertical-align: -3px; width: 18px; height: 18px; margin-right: 10px; border-radius: 5px; border: 2px solid var(--border); background: var(--bg); }
.fcheck input:checked + span::before { background: var(--c-turquoise); border-color: var(--c-turquoise); box-shadow: inset 0 0 0 3px var(--bg); }
.fcheck small { margin-left: auto; color: var(--muted); font-weight: 600; }
.cf-actions { display: flex; gap: 8px; }
.cf-actions .btn { flex: 1; padding-inline: 10px; }
.cf-apply { display: none; }
.cat-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 16px; }
.cat-found { margin-right: auto; color: var(--muted); font-weight: 600; }
.cat-found b { color: var(--text); }
.cat-sort { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 14px; }
.cat-sort .input { min-height: 44px; width: auto; }
.cf-open { display: none; }
.cf-count { display: inline-flex; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px; background: var(--c-turquoise); color: #000; font-size: 12px; align-items: center; justify-content: center; }
.cf-count[hidden] { display: none; }
@media (max-width: 1099px) {
  .cf-open { display: inline-flex; }
  .cat-filters { position: fixed; z-index: 70; inset: 0 0 0 auto; width: min(100%, 380px); border-radius: 0; overflow-y: auto; transform: translateX(100%); transition: transform .25s ease; box-shadow: -20px 0 40px rgba(0, 0, 0, .3); align-content: start; padding-bottom: calc(22px + env(safe-area-inset-bottom)); }
  .cat-filters.open { transform: none; }
  .cf-close { display: inline-flex; }
  .cf-apply { display: inline-flex; }
}
.car-grid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); }
.car-card { display: flex; flex-direction: column; border-radius: 22px; background: var(--surface); border: 1px solid var(--border); overflow: hidden; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.car-card[hidden] { display: none; }
.car-card:hover { transform: translateY(-3px); border-color: var(--c-turquoise); box-shadow: 0 16px 36px rgba(0, 120, 130, .15); }
.car-media { position: relative; padding: 46px 18px 14px; background: linear-gradient(180deg, #0B1316, #14232A); background-image: linear-gradient(rgba(11, 19, 22, .78), rgba(20, 35, 42, .9)), url("../img/bg/city.svg"); background-size: cover; }
.car-media .car-svg { max-width: 260px; margin: 0 auto; }
.car-status { position: absolute; top: 12px; left: 12px; padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 800; }
.st-available { background: rgba(43, 227, 138, .16); color: #5DF2A8; border: 1px solid rgba(43, 227, 138, .4); }
.st-soon { background: rgba(255, 194, 68, .14); color: #FFD27A; border: 1px solid rgba(255, 194, 68, .4); }
.st-booked { background: rgba(255, 255, 255, .1); color: #C6D6D9; border: 1px solid rgba(255, 255, 255, .2); }
.car-hit { position: absolute; top: 12px; right: 12px; display: inline-flex; align-items: center; gap: 4px; padding: 4px 10px; border-radius: 999px; background: var(--c-turquoise); color: #000; font-size: 12px; font-weight: 800; }
.car-hit svg { width: 13px; height: 13px; }
.car-cat { position: absolute; bottom: 10px; right: 12px; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #9FB3B8; }
.car-body { display: flex; flex-direction: column; gap: 12px; padding: 18px; flex: 1; }
.car-body h3 { font-size: 20px; }
.car-brand { color: var(--muted); font-weight: 700; }
.car-specs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 6px 10px; }
.car-specs li { display: flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; }
.car-specs svg { width: 16px; height: 16px; color: var(--accent-text); flex: none; }
.car-plat { font-size: 12px; color: var(--muted); display: flex; flex-wrap: wrap; align-items: center; gap: 2px 0; }
.car-plat > span:first-child { margin-right: 8px; }
.car-price { margin-top: auto; padding-top: 12px; border-top: 1px solid var(--border); display: grid; gap: 8px; }
.car-num { font-family: var(--font-display); font-weight: 900; font-size: 32px; line-height: 1; }
.car-per { font-weight: 700; color: var(--muted); }
.car-price dl { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.car-price dl div { padding: 8px 10px; border-radius: 10px; background: var(--surface-2); }
.car-price dt { font-size: 12px; color: var(--muted); font-weight: 600; }
.car-price dd { margin: 0; font-weight: 800; font-variant-numeric: tabular-nums; }
.car-cta { width: 100%; }
.cat-empty { text-align: center; padding: 48px 20px; border-radius: 22px; border: 1px dashed var(--border); display: grid; gap: 10px; justify-items: center; }
.cat-empty > svg { width: 44px; height: 44px; color: var(--accent-text); }
.cat-empty[hidden] { display: none; }
.rent-why { grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); }
.h-sm { font-size: clamp(20px, 2.2vw, 26px); }
.two-col .card { gap: 16px; }
.own-car { display: grid; gap: 24px; align-items: center; }
@media (min-width: 860px) { .own-car { grid-template-columns: 320px 1fr; } }
.own-car > div:last-child { display: grid; gap: 12px; justify-items: start; }
.own-car p { color: var(--muted); }
.own-media { border-radius: 22px; padding: 30px 20px 18px; background: var(--ink); background-image: linear-gradient(rgba(5, 8, 10, .6), rgba(5, 8, 10, .6)), url("../img/bg/city.svg"); background-size: cover; }
html.menu-open { overflow: hidden; }
@media (min-width: 1100px) { html.menu-open { overflow: auto; } }

.car-media { background-image: radial-gradient(55% 60% at 50% 62%, rgba(160, 230, 235, .22), transparent 70%), linear-gradient(rgba(11, 19, 22, .78), rgba(20, 35, 42, .9)), url("../img/bg/city.svg"); }
.car-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); }

/* ===== v1.1: официальные логотипы, лента платформ, реальный телефон ===== */
.logo-uber{--l:url(../img/platforms/uber-l.png);--d:url(../img/platforms/uber-d.png);aspect-ratio:2.875;--h:35.4px}
.logo-bolt{--l:url(../img/platforms/bolt-l.png);--d:url(../img/platforms/bolt-d.png);aspect-ratio:1.703;--h:40.0px}
.logo-freenow{--l:url(../img/platforms/freenow-l.png);--d:url(../img/platforms/freenow-d.png);aspect-ratio:5.625;--h:30px}
.logo-wolt{--l:url(../img/platforms/wolt-l.png);--d:url(../img/platforms/wolt-d.png);aspect-ratio:2.766;--h:36.1px}
.logo-uber-eats{--l:url(../img/platforms/uber-eats-l.png);--d:url(../img/platforms/uber-eats-d.png);aspect-ratio:6.188;--h:26px}
.logo-bolt-food{--l:url(../img/platforms/bolt-food-l.png);--d:url(../img/platforms/bolt-food-d.png);aspect-ratio:4.125;--h:29.5px}
.logo-glovo{--l:url(../img/platforms/glovo-l.png);--d:url(../img/platforms/glovo-d.png);aspect-ratio:3.047;--h:34.4px}
.logo-pyszne{--l:url(../img/platforms/pyszne-l.png);--d:url(../img/platforms/pyszne-d.png);aspect-ratio:3.727;--h:31.1px}
.logo { display: inline-block; height: calc(var(--h, 30px) * var(--k, 1)); width: auto; background: var(--l) left center / contain no-repeat; vertical-align: middle; flex: none; }
:root[data-theme="dark"] .logo { background-image: var(--d); }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .logo { background-image: var(--d); } }
.logo.wm-on-dark, .app-tile .logo { background-image: var(--d); }
.logo.wm-sm { --k: .5; margin-right: 10px; }
.logo.wm-lg { --k: 1.1; }
.logo.wm-xl { --k: 1.9; }
.app-tile .logo { --k: .8; }

/* Лента логотипов */
.platforms-strip { padding: 24px 0 28px; overflow: hidden; }
.platforms-strip .wrap { display: block; }
.strip-title { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; }
.marquee { position: relative; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }
.marquee-track { display: flex; width: max-content; animation: marquee calc(var(--n, 8) * 3.2s) linear infinite; }
.marquee:hover .marquee-track, .marquee:focus-within .marquee-track { animation-play-state: paused; }
.marquee .strip-list { display: flex; flex-wrap: nowrap; gap: 14px; padding: 10px 7px; margin: 0; list-style: none; }
.marquee .strip-list li { font-size: inherit; }
@keyframes marquee { to { transform: translateX(-50%); } }
.plat-pill { position: relative; display: flex; align-items: center; justify-content: center; height: 72px; min-width: 156px; padding: 0 28px; border-radius: 20px; background: var(--surface); border: 1px solid var(--border); text-decoration: none; overflow: hidden; isolation: isolate; transition: transform .3s cubic-bezier(.2, .7, .2, 1), border-color .3s, box-shadow .3s; }
.plat-pill::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(110deg, transparent 35%, color-mix(in srgb, var(--glow) 28%, transparent) 50%, transparent 65%); transform: translateX(-130%); animation: pill-shine 7.2s ease-in-out infinite; animation-delay: calc(var(--i) * .45s); }
.plat-pill::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; box-shadow: inset 0 0 0 1px var(--glow), 0 10px 30px -8px var(--glow); opacity: 0; animation: pill-glow 7.2s ease-in-out infinite; animation-delay: calc(var(--i) * .45s); }
@keyframes pill-shine { 0%, 55% { transform: translateX(-130%); } 75%, 100% { transform: translateX(130%); } }
@keyframes pill-glow { 0%, 50%, 100% { opacity: 0; } 66% { opacity: .85; } }
.plat-pill .logo { transition: transform .3s cubic-bezier(.2, .7, .2, 1); }
.plat-pill:hover, .plat-pill:focus-visible { transform: translateY(-4px); box-shadow: 0 14px 34px -12px var(--glow); }
.plat-pill:hover::after, .plat-pill:focus-visible::after { opacity: 1; animation: none; }
.plat-pill:hover .logo { transform: scale(1.07); }
@media (max-width: 520px) { .plat-pill { height: 60px; min-width: 128px; padding: 0 20px; } .plat-pill .logo { --k: .82; } }

/* Сцена с реальным телефоном — тёмная в обеих темах, как в постах бренда */
.map.bg-arc { z-index: 0; background:
  radial-gradient(circle at 92% 118%, transparent 0 44%, rgba(0, 255, 255, .55) 44.4%, rgba(0, 255, 255, .14) 46.5%, transparent 51%),
  radial-gradient(circle at 4% -28%, transparent 0 42%, rgba(0, 170, 210, .28) 42.4%, transparent 46%),
  radial-gradient(70% 60% at 70% 30%, rgba(0, 120, 150, .18), transparent 70%); filter: blur(.6px); }
.process > .map.bg-arc, .plat-hero > .map.bg-arc, .app-hero > .map.bg-arc, .referral > .map.bg-arc { opacity: .7; }
.stage { min-height: 560px; padding: 36px 16px; background: radial-gradient(120% 90% at 50% 100%, #052129 0%, #040A0D 55%, #020405 100%); border: 1px solid rgba(255, 255, 255, .06); }
.stage-glow { position: absolute; left: 50%; bottom: 2%; width: 70%; height: 34%; transform: translateX(-50%); background: radial-gradient(closest-side, rgba(0, 255, 255, .32), transparent); filter: blur(24px); z-index: 1; pointer-events: none; }
.device { position: relative; z-index: 2; margin: 0; width: min(300px, 64%); filter: drop-shadow(0 34px 44px rgba(0, 0, 0, .55)); animation: device-in 1s cubic-bezier(.2, .7, .2, 1) both, device-float 7s ease-in-out 1s infinite; }
.device img { display: block; width: 100%; height: auto; }
.device-lg { width: min(360px, 82%); }
@keyframes device-in { from { opacity: 0; transform: translateY(30px) scale(.97); } to { opacity: 1; transform: none; } }
@keyframes device-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -10px; } }
.glass-card { position: absolute; z-index: 3; display: flex; align-items: center; gap: 12px; padding: 12px 16px 12px 12px; border-radius: 16px; background: rgba(12, 22, 26, .6); -webkit-backdrop-filter: blur(14px) saturate(140%); backdrop-filter: blur(14px) saturate(140%); border: 1px solid rgba(255, 255, 255, .12); box-shadow: 0 18px 40px rgba(0, 0, 0, .45); color: #EAF6F7; max-width: 240px; animation: gc-in .8s cubic-bezier(.2, .7, .2, 1) both, gc-float 9s ease-in-out infinite; }
.gc-ic { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: rgba(0, 255, 255, .13); color: #00FFFF; }
.gc-ic svg { width: 20px; height: 20px; }
.glass-card b { display: block; font-family: var(--font-display); font-size: 18px; line-height: 1.1; white-space: nowrap; }
.glass-card small { display: block; margin-top: 3px; font-size: 12px; line-height: 1.3; font-weight: 600; color: #9DB2B8; }
.gc-a { left: 5%; top: 11%; animation-delay: .35s, 0s; }
.gc-b { right: 4%; top: 42%; animation-delay: .55s, -3s; }
.gc-c { left: 6%; bottom: 11%; animation-delay: .75s, -6s; }
@keyframes gc-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes gc-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -6px; } }
.app-hero-visual { position: relative; display: flex; justify-content: center; align-items: center; min-height: 480px; }
@media (max-width: 520px) {
  .stage { min-height: 470px; }
  .device { width: min(250px, 70%); }
  .glass-card { padding: 9px 12px 9px 9px; gap: 9px; max-width: 170px; }
  .gc-ic { width: 32px; height: 32px; } .glass-card b { font-size: 15px; } .glass-card small { font-size: 11px; }
  .gc-a { left: 3%; top: 6%; } .gc-b { right: 3%; top: 46%; } .gc-c { display: none; }
}

/* Аренда: машина «в студии» вместо мультяшной сцены */
.rent-stage { align-items: center; }
.rent-car { position: relative; z-index: 2; width: 88%; max-width: 480px; animation: device-in 1s cubic-bezier(.2, .7, .2, 1) both; }
.rent-floor { position: absolute; left: 6%; right: 6%; bottom: -6%; height: 22%; background: radial-gradient(closest-side, rgba(0, 255, 255, .22), transparent); filter: blur(10px); z-index: -1; }
.rent-stage .gc-a { top: 10%; }

@media (prefers-reduced-motion: reduce) {
  .marquee { -webkit-mask-image: none; mask-image: none; }
  .marquee-track { animation: none; width: auto; }
  .marquee .strip-list { flex-wrap: wrap; justify-content: center; }
  .marquee .strip-list[aria-hidden="true"] { display: none; }
  .plat-pill::before, .plat-pill::after, .device, .glass-card, .rent-car { animation: none; }
}
.car-media { background: radial-gradient(70% 55% at 50% 78%, rgba(150, 215, 225, .16), transparent 70%), linear-gradient(180deg, #1A2429 0%, #0D1417 62%, #080C0E 100%); }
.car-media::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 26%; background: linear-gradient(180deg, rgba(255, 255, 255, .03), transparent); border-top: 1px solid rgba(255, 255, 255, .05); pointer-events: none; }
.own-media { background: radial-gradient(70% 55% at 50% 78%, rgba(150, 215, 225, .16), transparent 70%), linear-gradient(180deg, #1A2429, #080C0E); }

/* v1.1 правки раскладки */
.stage:not(.rent-stage) { justify-content: flex-end; padding-right: 9%; }
.stage .glass-card { max-width: 215px; }
.stage .gc-a { left: 4%; top: 13%; } .stage .gc-b { left: 9%; right: auto; top: 44%; } .stage .gc-c { left: 4%; bottom: 13%; }
@media (max-width: 520px) { .stage:not(.rent-stage) { padding-right: 4%; } .stage .gc-a { left: 3%; top: 7%; } .stage .gc-b { left: 3%; top: auto; bottom: 9%; } }
.car-plat { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; }
.car-plat > span:not(.logo) { flex-basis: 100%; }
.car-plat .logo { --k: .55; margin-right: 0; }
.car-media { padding-bottom: 36px; }
.car-media .car-svg { max-width: 230px; }

/* ===================== v2: «надёжно и по-человечески» ===================== */
:root { --font-display: 'Montserrat', system-ui, -apple-system, 'Segoe UI', sans-serif; --warm: #FFB400; --warm-soft: #FFF4D6; --warm-ink: #6B4500; }
body[data-seg="delivery"] { --warm: #FF7A1A; --warm-soft: #FFEBDD; --warm-ink: #7A3300; }
:root[data-theme="dark"] { --warm-soft: rgba(255, 180, 0, .14); --warm-ink: #FFD27A; }
:root[data-theme="dark"] body[data-seg="delivery"] { --warm-soft: rgba(255, 122, 26, .16); --warm-ink: #FFB27A; }
@media (prefers-color-scheme: dark) { :root:not([data-theme]) { --warm-soft: rgba(255, 180, 0, .14); --warm-ink: #FFD27A; } }
.stat-num, .plan-price .num, .dp-amount, .car-num, .ref-amounts b, .app-chips b, .fee, .ref-sum, .e100-card b { letter-spacing: -.02em; font-weight: 800; }
.ref-sum { text-shadow: none; }
.btn svg:last-child:not(:first-child) { transition: transform .2s ease; }
.btn:hover svg:last-child:not(:first-child) { transform: translateX(3px); }

/* Первый экран */
.hero2 { padding: 36px 0 64px; background: linear-gradient(180deg, var(--bg-soft), var(--bg)); }
.hero2-grid { display: grid; gap: 28px; align-items: center; }
@media (min-width: 960px) { .hero2-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.02fr); gap: 56px; } }
.hero2-eyebrow { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 16px; padding: 6px 14px 6px 10px; border-radius: 999px; background: var(--warm-soft); color: var(--warm-ink); font-size: 14px; font-weight: 700; }
.hero2-eyebrow .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--warm); box-shadow: 0 0 0 4px color-mix(in srgb, var(--warm) 25%, transparent); }
.hero2 h1 { font-size: clamp(34px, 5.2vw, 62px); line-height: 1.04; letter-spacing: -.025em; margin: 0 0 18px; }
.hero2 h1 span { display: block; }
.hero2 h1 .hl { width: fit-content; background: linear-gradient(transparent 60%, color-mix(in srgb, var(--warm) 60%, transparent) 60%, color-mix(in srgb, var(--warm) 60%, transparent) 92%, transparent 92%); }
.hero2 .hero-lead { font-size: 19px; line-height: 1.55; color: var(--muted); margin: 0 0 28px; max-width: 540px; }
.hero2-ctas { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px; margin-bottom: 26px; }
.btn-xl { min-height: 60px; padding: 14px 30px; font-size: 18px; font-weight: 800; border-radius: 16px; box-shadow: 0 10px 24px -10px rgba(0, 160, 170, .7); }
.hero2-msg { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.hero2-or { color: var(--muted); font-size: 14px; font-weight: 600; margin-right: 2px; }
.msg-btn { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding: 8px 16px; border-radius: 14px; border: 1px solid var(--border); background: var(--surface); color: var(--text); font-weight: 700; text-decoration: none; transition: border-color .2s, transform .2s; }
.msg-btn:hover { text-decoration: none; transform: translateY(-1px); }
.msg-btn svg { width: 20px; height: 20px; }
.msg-tg svg { color: #229ED9; } .msg-tg:hover { border-color: #229ED9; }
.msg-wa svg { color: #1FAF57; } .msg-wa:hover { border-color: #1FAF57; }
.hero2-badges { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 22px; font-size: 14px; font-weight: 600; color: var(--muted); }
.hero2-badges li { display: inline-flex; align-items: center; gap: 8px; }
.hero2-badges svg { width: 18px; height: 18px; color: var(--accent-text); flex: none; }
.hero2-media { position: relative; }
.hero2-media img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 28px; box-shadow: 0 30px 60px -30px rgba(10, 20, 25, .45); }
.hero2-card { position: absolute; left: -18px; bottom: -22px; display: flex; align-items: center; gap: 12px; padding: 14px 18px 14px 14px; border-radius: 18px; background: var(--surface); border: 1px solid var(--border); box-shadow: 0 18px 40px -16px rgba(10, 20, 25, .35); max-width: 300px; animation: gc-in .8s .3s cubic-bezier(.2, .7, .2, 1) both; }
.h2c-ic { flex: none; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: #0B1316; color: var(--c-turquoise); }
.h2c-ic svg { width: 22px; height: 22px; }
.hero2-card b { display: block; font-size: 15px; line-height: 1.25; }
.hero2-card small { display: block; color: var(--muted); font-size: 13px; font-weight: 600; margin-top: 2px; }
@media (max-width: 959px) {
  .hero2 { padding: 16px 0 40px; }
  .hero2-media { order: -1; }
  .hero2-media img { aspect-ratio: 16 / 10; border-radius: 20px; }
  .hero2-card { left: 12px; bottom: -18px; padding: 10px 14px 10px 10px; max-width: 260px; }
  .hero2-card small { display: none; }
  .hero2-copy { padding-top: 14px; }
}
@media (max-width: 520px) {
  .hero2 .hero-lead { font-size: 17px; margin-bottom: 22px; }
  .hero2-ctas .btn-xl { width: 100%; }
  .hero2-msg { width: 100%; } .msg-btn { flex: 1; justify-content: center; }
  .hero2-or { width: 100%; }
  .hero2-badges { gap: 8px; flex-direction: column; }
}

/* Блок доверия */
.trust2 { padding: 64px 0 56px; }
.stats2 { list-style: none; margin: 0 0 32px; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (min-width: 860px) { .stats2 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.stats2 li { position: relative; padding: 22px; border-radius: 20px; background: var(--surface); border: 1px solid var(--border); display: flex; flex-direction: column; gap: 6px; }
.stats2 b { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: clamp(34px, 4vw, 46px); font-weight: 800; line-height: 1; letter-spacing: -.02em; }
.stats2 span { color: var(--muted); font-weight: 600; font-size: 15px; }
.stats2 .is-todo { border-style: dashed; }
.stats2 .is-todo b { color: var(--muted); }
.todo-tag { position: absolute; top: 12px; right: 12px; font-style: normal; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; padding: 3px 8px; border-radius: 999px; background: var(--warm-soft); color: var(--warm-ink); }
.stars { display: inline-flex; gap: 2px; }
.stars svg { width: 20px; height: 20px; fill: var(--warm); stroke: var(--warm); }
.trust2 .platforms-strip { border: 0; padding: 0 0 36px; }
.trust2 .strip-title { display: none; }
.trust2 .plat-pill { height: 84px; min-width: 176px; }
.trust2 .plat-pill .logo { --k: 1.1; }
.reviews-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.reviews-head h3 { display: inline-flex; align-items: center; gap: 10px; font-size: 22px; margin: 0; }
.reviews-head h3 svg { width: 22px; height: 22px; fill: var(--warm); stroke: var(--warm); }
.reviews { display: grid; gap: 14px; }
@media (min-width: 860px) { .reviews { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.review { padding: 22px; border-radius: 20px; background: var(--surface); border: 1px solid var(--border); display: flex; flex-direction: column; gap: 14px; }
.review.is-todo { border-style: dashed; }
.review p { margin: 0; color: var(--muted); font-size: 15px; }
.rv-top { display: flex; align-items: center; gap: 12px; }
.rv-ava { width: 44px; height: 44px; border-radius: 50%; background: var(--surface-2); border: 1px solid var(--border); flex: none; }
.rv-lines { display: grid; gap: 6px; flex: 1; } .rv-lines i { display: block; height: 8px; border-radius: 4px; background: var(--surface-2); } .rv-lines i:last-child { width: 60%; }
.review .stars svg { width: 16px; height: 16px; }
.link-arrow { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: var(--link); }
.link-arrow svg { width: 18px; height: 18px; }

/* Калькулятор */
.calc-sec { padding: 64px 0; background: var(--bg-soft); }
.calc { display: grid; gap: 20px; align-items: stretch; }
@media (min-width: 960px) { .calc { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 28px; } }
.calc-in { padding: 8px 0; }
.calc-in h2 { font-size: clamp(32px, 4.4vw, 48px); margin: 0 0 8px; letter-spacing: -.02em; }
.calc-lead { color: var(--muted); font-size: 18px; margin: 0 0 24px; }
.calc-kinds { border: 0; padding: 0; margin: 0 0 26px; display: flex; flex-wrap: wrap; gap: 8px; }
.calc-kinds legend { font-weight: 700; margin-bottom: 10px; padding: 0; }
.calc-kinds .fchip span { min-height: 46px; padding: 6px 16px; gap: 8px; font-size: 15px; background: var(--surface); }
.calc-kinds .fchip span svg { width: 18px; height: 18px; }
.calc-kinds .fchip input:checked + span { background: var(--text); color: var(--bg); border-color: var(--text); }
.calc-kinds .fchip input:focus-visible + span { outline: 3px solid var(--focus); outline-offset: 2px; }
.calc-range { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 10px 16px; padding: 22px; border-radius: 20px; background: var(--surface); border: 1px solid var(--border); }
.calc-range label { font-weight: 700; }
.calc-range output { font-weight: 800; font-size: 22px; }
.calc-range input { grid-column: 1 / -1; width: 100%; height: 32px; margin: 0; -webkit-appearance: none; appearance: none; background: transparent; cursor: pointer; }
.calc-range input::-webkit-slider-runnable-track { height: 10px; border-radius: 6px; background: linear-gradient(90deg, var(--warm) var(--p, 60%), var(--surface-2) var(--p, 60%)); border: 1px solid var(--border); }
.calc-range input::-moz-range-track { height: 10px; border-radius: 6px; background: linear-gradient(90deg, var(--warm) var(--p, 60%), var(--surface-2) var(--p, 60%)); border: 1px solid var(--border); }
.calc-range input::-webkit-slider-thumb { -webkit-appearance: none; width: 30px; height: 30px; margin-top: -11px; border-radius: 50%; background: #fff; border: 3px solid #111; box-shadow: 0 4px 12px rgba(0, 0, 0, .25); }
.calc-range input::-moz-range-thumb { width: 26px; height: 26px; border-radius: 50%; background: #fff; border: 3px solid #111; }
.calc-range input:focus-visible { outline: 3px solid var(--focus); outline-offset: 4px; border-radius: 8px; }
.calc-rate { grid-column: 1 / -1; margin: 0; color: var(--muted); font-size: 14px; font-weight: 600; }
.calc-out { padding: 30px; border-radius: 26px; background: #0B1316; color: #EEF5F6; display: flex; flex-direction: column; gap: 14px; }
.co-label { margin: 0; color: #A9BCC1; font-weight: 700; }
.co-big { margin: 0; font-size: clamp(48px, 6vw, 68px); font-weight: 900; line-height: 1; letter-spacing: -.03em; }
.co-big span { color: var(--warm); }
.co-list { margin: 6px 0 4px; display: grid; gap: 0; }
.co-list div { display: flex; justify-content: space-between; gap: 12px; padding: 12px 0; border-top: 1px solid rgba(255, 255, 255, .1); }
.co-list dt { color: #A9BCC1; font-weight: 600; }
.co-list dd { margin: 0; font-weight: 800; white-space: nowrap; }
.co-left dd { color: var(--c-turquoise); font-size: 20px; }
.calc-note { margin: 0; color: #8FA3A9; font-size: 13px; line-height: 1.5; }

/* Тарифы проще */
.plan h3 small { display: block; margin-top: 4px; font-size: 14px; font-weight: 600; color: inherit; opacity: .75; }
.plan-one { display: flex; align-items: flex-start; gap: 10px; margin: 0; font-weight: 600; font-size: 16px; flex: 1; }
.plan-one svg { width: 20px; height: 20px; flex: none; margin-top: 2px; color: var(--accent-text); }
.plan-featured .plan-one svg { color: inherit; }

/* Офисы с фото */
.office-grid2 { display: grid; gap: 14px; }
@media (min-width: 860px) { .office-grid2 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.office-card2 { padding: 0; overflow: hidden; gap: 0; }
.office-photo { aspect-ratio: 16 / 9; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; background: repeating-linear-gradient(135deg, var(--surface-2) 0 12px, var(--surface) 12px 24px); border-bottom: 1px dashed var(--border); color: var(--muted); font-size: 13px; font-weight: 700; }
.office-photo svg { width: 28px; height: 28px; color: var(--warm); }
.office-body { padding: 22px; display: flex; flex-direction: column; gap: 8px; }
.office-addr { margin: 0; font-size: 18px; font-weight: 700; }
.office-hours { margin: 0; display: inline-flex; align-items: center; gap: 8px; color: var(--muted); font-weight: 600; }
.office-hours svg { width: 18px; height: 18px; }
.office-contact { background: var(--bg-soft); }
.hero2 h1 { font-size: clamp(32px, 4.6vw, 56px); }
.hero2 h1 .hl { display: inline; width: auto; -webkit-box-decoration-break: clone; box-decoration-break: clone; padding: 0 .06em; }
@media (min-width: 960px) { .hero2-media img { aspect-ratio: 4 / 3.4; } }
@media (max-width: 859px) {
  .todo-tag { position: static; align-self: flex-start; order: -1; }
  .reviews { grid-auto-flow: column; grid-auto-columns: 84%; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 6px; }
  .review { scroll-snap-align: start; }
}

/* v2.1: команда, цифры, фото офиса */
.stats2 b small { font-size: .42em; font-weight: 700; color: var(--muted); align-self: flex-end; margin-bottom: .2em; letter-spacing: 0; }
.stats2 li:nth-child(-n+2) b { color: var(--text); }
.stats2 li:nth-child(-n+2) { background: var(--warm-soft); border-color: transparent; }
.team-block { display: grid; gap: 22px; align-items: start; margin-bottom: 22px; }
@media (min-width: 960px) { .team-block { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 36px; align-items: center; } }
.team-group { margin: 0; }
.team-group img { display: block; width: 100%; height: auto; border-radius: 24px; aspect-ratio: 1080 / 620; object-fit: cover; }
.team-title { font-size: clamp(24px, 3vw, 32px); margin: 0 0 6px; }
.team-lead { color: var(--muted); margin: 0 0 18px; }
.team-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
@media (min-width: 600px) { .team-list { grid-template-columns: 1fr 1fr; } }
.team-list li { display: flex; gap: 12px; align-items: flex-start; padding: 12px; border-radius: 16px; background: var(--surface); border: 1px solid var(--border); }
.team-list img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; flex: none; }
.team-list b { display: block; font-size: 16px; }
.team-list em { display: block; font-style: normal; font-size: 13px; font-weight: 700; color: var(--accent-text); margin: 1px 0 4px; }
.team-list small { display: block; font-size: 13px; line-height: 1.4; color: var(--muted); }
.reviews-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; padding: 18px 22px; border-radius: 20px; background: var(--bg-soft); border: 1px solid var(--border); }
.reviews-cta p { display: inline-flex; align-items: center; gap: 10px; margin: 0; font-size: 18px; }
.reviews-cta p svg { width: 22px; height: 22px; fill: var(--warm); stroke: var(--warm); }
.reviews-cta div { display: flex; flex-wrap: wrap; gap: 8px; }
.reviews-cta .msg-btn svg { color: #EA4335; }
.office-photos { display: grid; grid-template-columns: minmax(0, .62fr) minmax(0, 1fr); gap: 14px; margin-bottom: 14px; }
.office-photos img { display: block; width: 100%; height: clamp(220px, 34vw, 420px); object-fit: cover; border-radius: 22px; }
.office-photos img:first-child { object-position: 50% 62%; }

/* v2.2: лента отзывов, крупные карточки команды, фото в карточке Познани */
.reviews2 { padding: 4px 0 40px; }
.reviews2 .reviews-head { margin-bottom: 14px; }
.rv-sums { display: flex; flex-wrap: wrap; gap: 8px; }
.rv-sum { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding: 6px 16px; border-radius: 14px; border: 1px solid var(--border); background: var(--surface); color: var(--text); text-decoration: none; }
.rv-sum b { font-size: 20px; font-weight: 800; }
.rv-sum span:last-child { color: var(--muted); font-weight: 600; font-size: 14px; }
.rv-sum:hover { text-decoration: none; border-color: var(--warm); }
.rv-marquee .marquee-track { animation-duration: calc(var(--n, 6) * 7s); }
.rv-list { display: flex; gap: 14px; padding: 6px 7px 10px; margin: 0; list-style: none; }
.rv-card { margin: 0; width: 340px; height: 100%; display: flex; flex-direction: column; gap: 12px; padding: 22px; border-radius: 20px; background: var(--surface); border: 1px solid var(--border); box-shadow: var(--shadow); }
.rv-card blockquote { margin: 0; flex: 1; font-size: 15px; line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden; }
.rv-card figcaption { display: flex; align-items: center; gap: 10px; }
.rv-av { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--warm-soft); color: var(--warm-ink); font-weight: 800; flex: none; }
.rv-card figcaption b { display: block; font-size: 15px; }
.rv-card figcaption small { display: block; color: var(--muted); font-size: 13px; }
.rv-g { margin-left: auto; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; font-weight: 800; font-size: 15px; color: #4285F4; background: var(--bg-soft); border: 1px solid var(--border); }
.rv-card .stars svg { width: 18px; height: 18px; }
@media (max-width: 520px) { .rv-card { width: 280px; } }
.team-head { margin-bottom: 18px; }
.team-cards { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 960px) { .team-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.team-card { border-radius: 22px; overflow: hidden; background: var(--surface); border: 1px solid var(--border); display: flex; flex-direction: column; transition: transform .25s ease, box-shadow .25s ease; }
.team-card:hover { transform: translateY(-4px); box-shadow: 0 18px 36px -18px rgba(10, 20, 25, .35); }
.team-card img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; background: #EEF2F3; }
.team-card div { padding: 16px 18px 20px; }
.team-card b { display: block; font-size: 20px; font-weight: 800; }
.team-card em { display: inline-block; font-style: normal; font-size: 13px; font-weight: 700; margin: 6px 0 8px; padding: 3px 10px; border-radius: 999px; background: var(--warm-soft); color: var(--warm-ink); }
.team-card p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.5; }
@media (max-width: 520px) { .team-card div { padding: 12px 12px 16px; } .team-card b { font-size: 17px; } .team-card p { font-size: 13px; } }
.office-grid2 { grid-template-columns: 1fr; }
@media (min-width: 860px) { .office-grid2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .office-card2.has-photos { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); align-items: center; } }
.office-card2 .office-photos { margin: 0; gap: 8px; padding: 8px; }
.office-card2 .office-photos img { height: clamp(200px, 26vw, 340px); border-radius: 16px; }
@media (prefers-reduced-motion: reduce) { .rv-list[aria-hidden="true"] { display: none; } .rv-list { flex-wrap: wrap; justify-content: center; } }
.rv-marquee .marquee-track { animation-duration: calc(var(--n, 6) * 6s); }
.rv-rev .marquee-track { animation-direction: reverse; }
.rv-marquee + .rv-marquee { margin-top: 4px; }
.rv-card { width: 320px; }
@media (max-width: 520px) { .rv-card { width: 270px; } }
@media (prefers-reduced-motion: reduce) { .rv-rev { display: none; } }

/* v2.4: калькулятор */
.calc-sec .section-head { margin-bottom: 22px; }
.cx { display: grid; gap: 18px; align-items: start; }
@media (min-width: 1000px) { .cx { grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); gap: 24px; } .cx-out { position: sticky; top: calc(var(--header-h) + 64px); } }
.cx-in { display: flex; flex-direction: column; gap: 20px; padding: 26px; border-radius: 26px; background: var(--surface); border: 1px solid var(--border); }
.cx-in fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.cx-in legend { font-weight: 800; font-size: 15px; margin-bottom: 10px; padding: 0; }
.cx-in legend small { display: block; font-weight: 500; font-size: 13px; color: var(--muted); margin-top: 2px; }
.cx-top { display: grid; gap: 20px; }
@media (min-width: 640px) { .cx-top { grid-template-columns: 1.2fr 1fr; } }
.cx-seg { display: flex; gap: 4px; padding: 4px; border-radius: 16px; background: var(--surface-2); border: 1px solid var(--border); }
.cx-seg label { flex: 1; min-width: 0; }
.cx-seg input, .cx-app input { position: absolute; opacity: 0; pointer-events: none; }
.cx-seg label > span { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 6px 10px; border-radius: 12px; font-weight: 700; font-size: 15px; cursor: pointer; text-align: center; transition: background .2s, color .2s, box-shadow .2s; }
.cx-seg span svg { width: 18px; height: 18px; flex: none; }
.cx-seg input:checked + span { background: var(--text); color: var(--bg); box-shadow: 0 6px 16px -8px rgba(0, 0, 0, .5); }
.cx-seg input:focus-visible + span, .cx-app input:focus-visible + span { outline: 3px solid var(--focus); outline-offset: 2px; }
.cx-seg input:disabled + span { opacity: .35; cursor: not-allowed; }
.cx-seg-lg span { min-height: 52px; font-size: 16px; }
.cx-seg-mode input[value="app"]:checked + span { background: var(--c-turquoise); color: #000; }
.cx-app-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(132px, 1fr)); gap: 8px; }
.cx-app > span { position: relative; display: flex; align-items: center; justify-content: center; height: 64px; padding: 0 14px; border-radius: 16px; border: 2px solid var(--border); background: var(--surface); cursor: pointer; transition: border-color .2s, box-shadow .2s, transform .2s; filter: grayscale(1); opacity: .55; }
.cx-app span .logo { --k: .78; }
.cx-app input:checked + span { filter: none; opacity: 1; border-color: var(--glow); box-shadow: 0 8px 20px -12px var(--glow); }
.cx-app input:checked + span::after { content: ""; position: absolute; top: 6px; right: 6px; width: 16px; height: 16px; border-radius: 50%; background: var(--glow) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center / 10px no-repeat; }
.cx-app > span:hover { transform: translateY(-2px); opacity: 1; }
.cx [data-for] { display: none; }
.cx[data-dir="taxi"] [data-for="taxi"], .cx[data-dir="delivery"] [data-for="delivery"] { display: grid; }
.cx[data-dir="taxi"] div[data-for="taxi"]:not(.cx-app-grid), .cx[data-dir="delivery"] div[data-for="delivery"]:not(.cx-app-grid) { display: block; }
.cx-sliders { display: grid; gap: 14px; }
@media (min-width: 640px) { .cx-sliders { grid-template-columns: 1fr 1fr; } }
.cx-slider { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 6px 10px; padding: 16px 18px 12px; border-radius: 18px; background: var(--bg-soft); border: 1px solid var(--border); }
.cx-slider label { font-weight: 800; font-size: 15px; }
.cx-slider output { font-weight: 800; font-size: 20px; }
.cx-slider input { grid-column: 1 / -1; width: 100%; height: 32px; margin: 0; -webkit-appearance: none; appearance: none; background: transparent; cursor: pointer; }
.cx-slider input::-webkit-slider-runnable-track { height: 8px; border-radius: 6px; background: linear-gradient(90deg, var(--warm) var(--p, 50%), var(--border) var(--p, 50%)); }
.cx-slider input::-moz-range-track { height: 8px; border-radius: 6px; background: linear-gradient(90deg, var(--warm) var(--p, 50%), var(--border) var(--p, 50%)); }
.cx-slider input::-webkit-slider-thumb { -webkit-appearance: none; width: 28px; height: 28px; margin-top: -10px; border-radius: 50%; background: #fff; border: 4px solid var(--warm); box-shadow: 0 3px 10px rgba(0, 0, 0, .25); }
.cx-slider input::-moz-range-thumb { width: 22px; height: 22px; border-radius: 50%; background: #fff; border: 4px solid var(--warm); }
.cx-slider input:focus-visible { outline: 3px solid var(--focus); outline-offset: 4px; border-radius: 8px; }
.cx-ticks { grid-column: 1 / -1; display: flex; justify-content: space-between; padding: 0 6px; font-size: 12px; font-weight: 700; color: var(--muted); }
.cx-warn { display: flex; align-items: center; gap: 8px; margin: 10px 0 0; padding: 10px 12px; border-radius: 12px; background: var(--warm-soft); color: var(--warm-ink); font-size: 14px; font-weight: 600; }
.cx-warn svg { width: 18px; height: 18px; flex: none; }
.cx-warn[hidden] { display: none; }
.cx-out { padding: 24px; border-radius: 26px; background: #0B1316; color: #EEF5F6; display: flex; flex-direction: column; gap: 14px; }
.cx-sum-line { margin: 0; align-self: flex-start; padding: 6px 12px; border-radius: 999px; background: rgba(255, 255, 255, .08); font-size: 13px; font-weight: 700; color: #C9D6DA; }
.cx-hero { padding: 22px; border-radius: 20px; background: #FFFFFF; color: #0B1316; }
.cx-label { margin: 0; font-weight: 700; color: #4A5A60; }
.cx-big { margin: 4px 0 6px; font-size: clamp(46px, 6vw, 64px); font-weight: 900; line-height: 1; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.cx-sub { margin: 0 0 14px; font-size: 13px; color: #5B6B71; }
.cx-sub b { color: #0B1316; }
.cx-bar { display: flex; height: 12px; border-radius: 6px; overflow: hidden; gap: 2px; background: #E7ECEE; }
.cx-bar i { display: block; flex: 0 0 0; flex-grow: 0; transition: flex-grow .35s ease; min-width: 0; }
.cx-bar [data-bar="net"] { background: var(--warm); } .cx-bar [data-bar="fee"] { background: #00C2C7; } .cx-bar [data-bar="zus"] { background: #7A8A90; } .cx-bar [data-bar="rent"] { background: #3B6EF5; } .cx-bar [data-bar="fuel"] { background: #FF6B6B; }
.cx-list { margin: 0; display: grid; }
.cx-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 11px 2px; border-top: 1px solid rgba(255, 255, 255, .1); }
.cx-row[hidden] { display: none; }
.cx-row dt { color: #B5C4C9; font-weight: 600; font-size: 15px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.cx-row dt::before { content: ""; width: 10px; height: 10px; border-radius: 3px; background: var(--dot, #fff); flex: none; }
.cx-row[data-row="fee"] { --dot: #00C2C7; } .cx-row[data-row="zus"] { --dot: #7A8A90; } .cx-row[data-row="rent"] { --dot: #3B6EF5; } .cx-row[data-row="fuel"] { --dot: #FF6B6B; } .cx-income { --dot: transparent; }
.cx-income dt::before { display: none; }
.cx-income dd { color: #FFFFFF; }
.cx-row dd { margin: 0; font-weight: 800; white-space: nowrap; font-variant-numeric: tabular-nums; }
.cx-row em { font-style: normal; font-size: 12px; font-weight: 700; padding: 2px 8px; border-radius: 999px; background: rgba(0, 255, 255, .14); color: #7DFFFF; }
.cx-row em:empty { display: none; }
.cx-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.cx-tiles div { padding: 14px 16px; border-radius: 16px; background: rgba(255, 255, 255, .06); }
.cx-tiles div > span { display: block; font-size: 13px; color: #A9BCC1; font-weight: 600; }
.cx-tiles b { display: block; font-size: 22px; font-weight: 800; margin-top: 2px; }
.cx-ctas { display: flex; flex-wrap: wrap; gap: 8px; }
.cx-ctas .btn { flex: 1 1 auto; }
.cx-ctas .msg-btn { background: transparent; color: #EEF5F6; border-color: rgba(255, 255, 255, .2); flex: 1 1 auto; justify-content: center; }
@media (max-width: 520px) {
  .cx-in { padding: 18px; border-radius: 22px; }
  .cx-out { padding: 18px; }
  .cx-app-grid { grid-template-columns: 1fr 1fr; }
  .cx-seg span { font-size: 14px; padding: 6px; }
}

.cx { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1000px) { .cx { grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); } }
.cx > *, .cx-top > *, .cx-sliders > * { min-width: 0; }
.cx-top { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 640px) { .cx-top { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); } .cx-sliders { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.cx-app > span .logo { --k: .78; transition: none; }
:root[data-theme="dark"] .cx-app[style*="#1B1F22"] { --glow: #FFFFFF !important; }
@media (max-width: 520px) { .cx-seg-mode label > span svg { display: none; } .cx-seg-mode label > span { font-size: 13px; line-height: 1.2; } }
.cx[data-dir="delivery"] .cx-veh2 { display: grid; gap: 8px; }
@media (min-width: 640px) { .cx[data-dir="delivery"] .cx-veh2 { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); } }
.cx-row em[data-o="fuelN"] { background: rgba(255, 255, 255, .08); color: #B5C4C9; }
.reviews-sec { padding: 56px 0 24px; }
.reviews-sec .reviews2 { padding-bottom: 16px; }
.reviews-sec .reviews-head h3 { font-size: clamp(24px, 3vw, 32px); }
.trust2 { padding-bottom: 40px; }

/* v2.7: живые цифры доверия */
.stats3 { list-style: none; margin: 0 0 34px; padding: 0; display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 900px) { .stats3 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.st { position: relative; overflow: hidden; isolation: isolate; padding: 22px 22px 24px; border-radius: 24px; background: var(--surface); border: 1px solid var(--border); display: flex; flex-direction: column; gap: 6px; min-height: 196px; transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s, border-color .35s; }
.st::before { content: ""; position: absolute; inset: 0; z-index: -2; background: radial-gradient(120% 90% at 100% 0%, color-mix(in srgb, var(--c) 22%, transparent), transparent 60%); opacity: .9; }
.st::after { content: ""; position: absolute; inset: -1px; border-radius: inherit; z-index: -1; pointer-events: none; background: linear-gradient(115deg, transparent 30%, color-mix(in srgb, var(--c) 35%, transparent) 50%, transparent 70%); transform: translateX(-120%); }
.stats3.is-in .st::after { animation: st-shine 1.6s cubic-bezier(.2, .7, .2, 1) both; animation-delay: calc(var(--i) * .12s + .2s); }
@keyframes st-shine { to { transform: translateX(120%); } }
.st:hover { transform: translateY(-6px); border-color: color-mix(in srgb, var(--c) 60%, transparent); box-shadow: 0 22px 44px -22px color-mix(in srgb, var(--c) 70%, transparent); }
.st-ic { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: var(--c); color: #0B1316; box-shadow: 0 10px 22px -10px var(--c); margin-bottom: 10px; }
.st-ic svg { width: 22px; height: 22px; }
.st-bg { position: absolute; right: -18px; bottom: -22px; z-index: -1; color: var(--c); opacity: .1; transform: rotate(-12deg); transition: transform .6s cubic-bezier(.2, .7, .2, 1), opacity .4s; }
.st-bg svg { width: 140px; height: 140px; stroke-width: 1.4; }
.st:hover .st-bg { transform: rotate(-4deg) scale(1.08); opacity: .16; }
.st-num { display: flex; align-items: baseline; gap: 8px; font-size: clamp(42px, 4.6vw, 58px); font-weight: 900; line-height: 1; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.st-num small { font-size: .36em; font-weight: 800; letter-spacing: 0; color: var(--c); }
.st-l { color: var(--muted); font-weight: 600; font-size: 15px; line-height: 1.35; max-width: 220px; }
.st-line { position: absolute; left: 22px; right: 22px; bottom: 14px; height: 3px; border-radius: 3px; background: var(--c); transform: scaleX(0); transform-origin: left; opacity: .85; }
.stats3.is-in .st-line { transition: transform 1.3s cubic-bezier(.2, .7, .2, 1); transition-delay: calc(var(--i) * .12s); transform: scaleX(1); }
.stats3 .st { opacity: 0; transform: translateY(18px); }
.stats3.is-in .st { opacity: 1; transform: none; transition: opacity .6s ease, transform .6s cubic-bezier(.2, .7, .2, 1), box-shadow .35s, border-color .35s; transition-delay: calc(var(--i) * .1s), calc(var(--i) * .1s), 0s, 0s; }
.stats3.is-in .st:hover { transform: translateY(-6px); transition-delay: 0s; }
.no-js .stats3 .st { opacity: 1; transform: none; }
@media (max-width: 520px) { .st { min-height: 170px; padding: 18px 16px 22px; border-radius: 20px; } .st-ic { width: 40px; height: 40px; } .st-l { font-size: 14px; } .st-bg svg { width: 110px; height: 110px; } }
@media (prefers-reduced-motion: reduce) { .stats3 .st { opacity: 1; transform: none; } .st-line { transform: none; } .st::after { display: none; } }
.st-num { gap: 0; }
.st-num small { margin-left: 8px; }
.cx-app[style*="#1B1F22"] input:checked + span::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E"); }
/* калькулятор: логотип всегда по центру и с запасом до краёв и галочки */
.cx-app-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
.cx-app > span { padding: 0 26px; }
.cx-app > span .logo { max-width: 100%; background-position: center; }
.logo-freenow.logo { --k: .9; }
.cx-app > span .logo-freenow { --k: .66; }
@media (max-width: 520px) { .cx-app-grid { grid-template-columns: 1fr 1fr; } .cx-app > span { padding: 0 22px; } }
.cx-app > span { padding: 0 30px; }
@media (max-width: 520px) { .cx-app > span { padding: 0 28px; } .cx-app > span .logo-freenow { --k: .6; } }
:root[data-theme="dark"] .cx-app[style*="#1B1F22"] input:checked + span::after { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E"); }

/* v3.0: живые кнопки скачивания приложения */
.store-btns { gap: 12px; }
.store-btn { position: relative; overflow: hidden; isolation: isolate; display: inline-flex; align-items: center; gap: 12px; min-height: 64px; padding: 9px 10px 9px 10px; border-radius: 18px; background: #FFFFFF; color: #0B1316; border: 0; text-decoration: none; box-shadow: 0 0 0 1px rgba(0, 255, 255, .45), 0 12px 30px -12px rgba(0, 255, 255, .55); transition: transform .25s cubic-bezier(.2, .7, .2, 1), box-shadow .25s; }
.store-btn::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(110deg, transparent 35%, rgba(0, 255, 255, .35) 50%, transparent 65%); transform: translateX(-130%); animation: sb-shine 5s ease-in-out infinite; }
.store-btn[data-os="android"]::before { animation-delay: 2.5s; }
@keyframes sb-shine { 0%, 70% { transform: translateX(-130%); } 90%, 100% { transform: translateX(130%); } }
.store-btn:hover, .store-btn:focus-visible { transform: translateY(-3px); text-decoration: none; box-shadow: 0 0 0 2px var(--c-turquoise), 0 18px 36px -12px rgba(0, 255, 255, .75); }
.store-btn:active { transform: translateY(0) scale(.98); }
.sb-ic { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 13px; background: #0B1316; color: var(--c-turquoise); flex: none; }
.store-btn .sb-ic svg { width: 24px; height: 24px; color: inherit; }
.sb-txt { display: grid; line-height: 1.1; padding-right: 4px; }
.store-btn .sb-txt small { font-size: 12px; font-weight: 700; color: #5B6B71; }
.sb-txt b { font-size: 19px; font-weight: 900; letter-spacing: -.01em; }
.sb-dl { display: grid; place-items: center; width: 38px; height: 38px; margin-left: 6px; border-radius: 50%; background: var(--c-turquoise); color: #000; flex: none; }
.store-btn .sb-dl svg { width: 20px; height: 20px; color: inherit; stroke-width: 2.6; }
.store-btn:hover .sb-dl svg { animation: sb-drop .7s cubic-bezier(.2, .7, .2, 1) infinite; }
@keyframes sb-drop { 0% { transform: translateY(-3px); } 50% { transform: translateY(3px); } 100% { transform: translateY(-3px); } }
.store-btn.is-mine { background: var(--c-turquoise); box-shadow: 0 0 0 0 rgba(0, 255, 255, .6), 0 14px 34px -12px rgba(0, 255, 255, .8); animation: sb-pulse 2.4s ease-out infinite; }
.store-btn.is-mine .sb-dl { background: #0B1316; color: var(--c-turquoise); }
.store-btn.is-mine .sb-txt small { color: #0B4A4E; }
@keyframes sb-pulse { 0% { box-shadow: 0 0 0 0 rgba(0, 255, 255, .55), 0 14px 34px -12px rgba(0, 255, 255, .8); } 70%, 100% { box-shadow: 0 0 0 14px rgba(0, 255, 255, 0), 0 14px 34px -12px rgba(0, 255, 255, .8); } }
.store-btns-sm .store-btn { min-height: 56px; padding: 7px 8px; }
.store-btns-sm .sb-ic { width: 40px; height: 40px; } .store-btns-sm .sb-txt b { font-size: 17px; } .store-btns-sm .sb-dl { width: 32px; height: 32px; }
@media (max-width: 520px) { .store-btns .store-btn { flex: 1 1 100%; } .sb-dl { margin-left: auto; } }
@media (prefers-reduced-motion: reduce) { .store-btn::before, .store-btn.is-mine, .store-btn:hover .sb-dl svg { animation: none; } }

/* ===================== v3.1: ночная сцена на главной ===================== */
.hero-night { position: relative; overflow: hidden; isolation: isolate; min-height: clamp(680px, 92vh, 860px); background: radial-gradient(120% 70% at 70% 0%, #0A1A24 0%, #04080B 55%, #020405 100%); color: #F1F6F7; display: flex; align-items: flex-start; }
.hn-scene { position: absolute; inset: 0; z-index: -1; }
.hn-stars { position: absolute; inset: 0 0 45% 0; background-image: radial-gradient(1px 1px at 12% 18%, #fff8, transparent), radial-gradient(1px 1px at 32% 8%, #fff6, transparent), radial-gradient(1.5px 1.5px at 58% 22%, #fff7, transparent), radial-gradient(1px 1px at 76% 12%, #fff5, transparent), radial-gradient(1px 1px at 88% 30%, #fff6, transparent), radial-gradient(1px 1px at 46% 34%, #fff4, transparent); animation: hn-twinkle 6s ease-in-out infinite alternate; }
@keyframes hn-twinkle { from { opacity: .5; } to { opacity: 1; } }
.hn-city { position: absolute; left: -6%; right: -6%; bottom: 30%; display: flex; justify-content: center; animation: hn-pan 70s linear infinite alternate; }
.hn-city img { display: block; width: max(112%, 1400px); max-width: none; height: auto; opacity: .95; filter: saturate(1.15); }
@keyframes hn-pan { from { transform: translateX(-3%); } to { transform: translateX(3%); } }
.hn-fog { position: absolute; left: 0; right: 0; bottom: 26%; height: 22%; background: linear-gradient(180deg, transparent, rgba(4, 8, 11, .85) 70%, #04080B); }
.hn-fog::after { content: ""; position: absolute; left: 0; right: 0; bottom: 18%; height: 2px; background: linear-gradient(90deg, transparent, rgba(0, 255, 255, .55), transparent); filter: blur(1px); }
.hn-road { position: absolute; left: 0; right: 0; bottom: 0; height: 30%; background: linear-gradient(180deg, #0B1114 0%, #070B0D 60%, #040607 100%); overflow: hidden; }
.hn-edge { position: absolute; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, transparent 0%, #00FFFF 20%, #00FFFF 80%, transparent 100%); box-shadow: 0 0 14px 2px rgba(0, 255, 255, .55); opacity: .85; }
.hn-edge-t { top: 12%; opacity: .35; height: 2px; }
.hn-edge-b { bottom: 18%; }
.hn-lane { position: absolute; left: -200px; right: -200px; top: 52%; height: 4px; background: repeating-linear-gradient(90deg, rgba(255, 255, 255, .75) 0 70px, transparent 70px 150px); animation: hn-lane .42s linear infinite; }
@keyframes hn-lane { to { transform: translateX(150px); } }
.hn-streak { position: absolute; left: -30%; height: 2px; width: 22%; border-radius: 2px; background: linear-gradient(90deg, transparent, rgba(0, 255, 255, .9)); filter: drop-shadow(0 0 6px #00FFFF); animation: hn-streak 1.6s linear infinite; }
.hn-streak.s1 { top: 30%; animation-delay: 0s; } .hn-streak.s2 { top: 70%; animation-delay: .5s; width: 30%; } .hn-streak.s3 { top: 42%; animation-delay: .9s; width: 16%; opacity: .6; } .hn-streak.s4 { top: 86%; animation-delay: 1.2s; } .hn-streak.s5 { top: 20%; animation-delay: .25s; opacity: .4; }
@keyframes hn-streak { to { transform: translateX(600%); } }
.hn-car { position: absolute; right: max(-2vw, -40px); bottom: 7%; width: min(62vw, 1000px); animation: hn-drive-in 2.2s cubic-bezier(.16, .8, .24, 1) both; }
@keyframes hn-drive-in { from { transform: translateX(70vw); } to { transform: none; } }
.hn-body { position: relative; animation: hn-bob .32s ease-in-out infinite alternate; }
@keyframes hn-bob { from { transform: translateY(0); } to { transform: translateY(-1.5px); } }
.hn-car-img { display: block; width: 100%; height: auto; position: relative; z-index: 1; filter: drop-shadow(0 10px 18px rgba(0, 0, 0, .6)); }
.hn-wheel { position: absolute; z-index: 2; animation: hn-spin .5s linear infinite; }
.hn-wf { left: calc(12.163% - 10.682% / 2); top: calc(73.854% - 10.682% * 3.211 / 2); width: 10.682%; }
.hn-wr { left: calc(70.703% - 11.951% / 2); top: calc(75.722% - 11.951% * 3.211 / 2); width: 11.951%; }
@keyframes hn-spin { to { transform: rotate(-360deg); } }
.hn-shadow { position: absolute; left: 4%; right: 2%; bottom: -3%; height: 12%; background: radial-gradient(closest-side, rgba(0, 0, 0, .85), transparent); z-index: 0; }
.hn-beam { position: absolute; z-index: 0; right: 97%; top: 30%; width: 70%; height: 46%; background: radial-gradient(100% 60% at 100% 50%, rgba(220, 245, 255, .45), rgba(0, 255, 255, .12) 40%, transparent 72%); clip-path: polygon(100% 38%, 0 0, 0 100%, 100% 62%); filter: blur(4px); animation: hn-flick 3s ease-in-out infinite; }
@keyframes hn-flick { 0%, 100% { opacity: .9; } 50% { opacity: .75; } }
.hn-tail { position: absolute; z-index: 3; left: 83%; top: 31%; width: 12%; height: 10%; border-radius: 50%; background: radial-gradient(closest-side, rgba(255, 40, 60, .55), transparent); filter: blur(6px); mix-blend-mode: screen; }
.hn-copy { position: relative; z-index: 2; padding-top: clamp(40px, 7vh, 80px); padding-bottom: 300px; }
.hn-copy > * { max-width: 560px; }
.hero-night h1 { font-size: clamp(34px, 4.8vw, 60px); line-height: 1.04; letter-spacing: -.025em; margin: 0 0 18px; color: #FFFFFF; }
.hero-night h1 .hl { color: #0B1316; background: none; position: relative; z-index: 0; padding: 0 .12em; -webkit-box-decoration-break: clone; box-decoration-break: clone; background: linear-gradient(var(--warm), var(--warm)) 0 58% / 100% 82% no-repeat; }
.hero-night .hero-lead { color: #B9C9CE; font-size: 19px; line-height: 1.55; margin: 0 0 28px; }
.hn-eyebrow { background: rgba(255, 180, 0, .14); color: #FFD27A; }
.hero-night .msg-btn { background: rgba(255, 255, 255, .06); color: #F1F6F7; border-color: rgba(255, 255, 255, .18); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.hero-night .hero2-or { color: #9DB2B8; }
.hero-night .hero2-badges { color: #C3D2D6; }
.hero-night .hero2-badges svg { color: var(--c-turquoise); }
.hero-night .btn-xl { box-shadow: 0 0 0 0 rgba(0, 255, 255, .5), 0 12px 30px -10px rgba(0, 255, 255, .7); }
@media (min-width: 1100px) { .hn-copy { padding-bottom: 120px; } .hn-copy > * { max-width: 520px; } }
@media (max-width: 1099px) { .hero-night { min-height: 0; } .hn-car { width: 92vw; right: 4vw; bottom: 5%; } .hn-copy { padding-bottom: calc(92vw * .31 + 90px); } .hn-city { bottom: calc(92vw * .14 + 6%); } .hn-road { height: calc(92vw * .2 + 6%); } .hn-fog { bottom: calc(92vw * .14 + 2%); } }
@media (max-width: 520px) { .hero-night .hero-lead { font-size: 17px; } .hn-copy { padding-top: 28px; } .hn-city img { width: 900px; } .hero-night .hero2-ctas .btn-xl { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .hn-city, .hn-lane, .hn-streak, .hn-car, .hn-body, .hn-wheel, .hn-stars, .hn-beam { animation: none; } .hn-streak { display: none; } }
/* раскладка ночной сцены */
.hero-night { display: block; min-height: 0; }
.hn-copy { width: 100%; }
.hn-city img { mix-blend-mode: screen; -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
@media (min-width: 1100px) {
  .hero-night { height: clamp(640px, calc(100vh - 140px), 780px); }
  .hn-copy { padding-top: clamp(36px, 6vh, 70px); padding-bottom: 40px; }
  .hn-copy > * { max-width: 500px; }
  .hn-city { left: 30%; right: -8%; bottom: 27%; justify-content: flex-start; }
  .hn-city img { width: 1300px; }
  .hn-car { width: min(54vw, 900px); right: max(-1vw, -20px); bottom: 8%; }
  .hn-road { height: 27%; }
  .hn-fog { bottom: 24%; height: 18%; }
}
@media (max-width: 1099px) {
  .hn-copy { padding-bottom: calc(92vw * .31 + 70px); }
}
.hn-city { mix-blend-mode: screen; }
.hn-city img { mix-blend-mode: normal; -webkit-mask-image: radial-gradient(70% 90% at 50% 100%, #000 55%, transparent 100%); mask-image: radial-gradient(70% 90% at 50% 100%, #000 55%, transparent 100%); }
@media (min-width: 1100px) {
  .hero-night { height: clamp(700px, calc(100vh - 140px), 820px); }
  .hn-road { height: 24%; -webkit-mask-image: linear-gradient(90deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.25) 30%, #000 52%); mask-image: linear-gradient(90deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.25) 30%, #000 52%); }
  .hn-fog { bottom: 21%; }
  .hn-city { bottom: 24%; }
  .hn-car { bottom: 6%; }
  .hn-copy { padding-top: 40px; }
}
@media (min-width: 1100px) { .hn-city { left: 24%; } .hn-city img { width: 1650px; } }

/* v3.2: выделение в заголовках — обводка букв вместо плашки */
:root { --hl-stroke: #E3A000; }
body[data-seg="delivery"] { --hl-stroke: #F26B00; }
:root[data-theme="dark"] { --hl-stroke: var(--warm); }
@media (prefers-color-scheme: dark) { :root:not([data-theme]) { --hl-stroke: var(--warm); } }
.hero2 h1 .hl, .hero-night h1 .hl {
  background: none !important; padding: 0; color: transparent;
  -webkit-text-stroke: clamp(1.5px, .045em, 2.6px) var(--hl-stroke);
  paint-order: stroke fill;
  letter-spacing: .005em;
}
.hero-night h1 .hl { -webkit-text-stroke-color: var(--warm); filter: drop-shadow(0 0 14px color-mix(in srgb, var(--warm) 45%, transparent)); }
@supports not (-webkit-text-stroke: 1px black) { .hero2 h1 .hl, .hero-night h1 .hl { color: var(--hl-stroke); } }
/* v3.3: белые буквы с оранжевой обводкой — везде */
.hero2 h1 .hl, .hero-night h1 .hl {
  color: #FFFFFF;
  -webkit-text-stroke: clamp(4px, .09em, 6px) #FF7A1A;
  -webkit-text-stroke-color: #FF7A1A;
  paint-order: stroke fill;
  filter: drop-shadow(0 6px 16px rgba(255, 122, 26, .35));
}
@supports not (-webkit-text-stroke: 1px black) { .hero2 h1 .hl, .hero-night h1 .hl { color: #FF7A1A; } }
/* v3.4: только жёлтый внешний контур букв (заливка = цвет фона, поэтому внутренние стыки глифов не видны) */
.hero2 h1 .hl, .hero-night h1 .hl {
  filter: none;
  paint-order: stroke fill;
  -webkit-text-stroke: clamp(4px, .085em, 5.5px) var(--hl-c, #FFB400);
  -webkit-text-stroke-color: var(--hl-c, #FFB400);
}
.hero-night h1 .hl { color: #05090C; --hl-c: #FFB400; filter: drop-shadow(0 0 12px rgba(255, 180, 0, .35)); }
.hero2 h1 .hl { color: var(--bg-soft); --hl-c: #E8A200; }
:root[data-theme="dark"] .hero2 h1 .hl { --hl-c: #FFB400; }
@media (prefers-color-scheme: dark) { :root:not([data-theme]) .hero2 h1 .hl { --hl-c: #FFB400; } }
@supports not (-webkit-text-stroke: 1px black) { .hero2 h1 .hl, .hero-night h1 .hl { color: #E8A200; } }
/* курьеры — оранжевая обводка */
body[data-seg="delivery"] .hero2 h1 .hl { --hl-c: #F26B00; }
:root[data-theme="dark"] body[data-seg="delivery"] .hero2 h1 .hl { --hl-c: #FF7A1A; }
@media (prefers-color-scheme: dark) { :root:not([data-theme]) body[data-seg="delivery"] .hero2 h1 .hl { --hl-c: #FF7A1A; } }

/* v3.7: первый экран аренды — фото автопарка с элементами Enigma */
.rent-photo { padding: 0; min-height: 0; aspect-ratio: 16 / 10.5; background: #000; border: 1px solid rgba(255, 255, 255, .06); }
.rp-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 60% 60%; animation: rp-zoom 14s ease-in-out infinite alternate; }
@keyframes rp-zoom { from { transform: scale(1.02); } to { transform: scale(1.08) translateX(-1%); } }
.rp-stripe { position: absolute; left: -10%; right: -10%; top: 22%; height: 34px; transform: rotate(-11deg); background: linear-gradient(90deg, transparent, #0066FF 25%, #00FFFF 70%, transparent); opacity: .55; mix-blend-mode: screen; filter: blur(.5px); z-index: 1; animation: rp-sweep 6s ease-in-out infinite; }
.rp-stripe-2 { top: 31%; height: 8px; opacity: .8; animation-delay: -3s; }
@keyframes rp-sweep { 0%, 100% { transform: rotate(-11deg) translateX(-3%); } 50% { transform: rotate(-11deg) translateX(3%); } }
.rp-logo { position: absolute; left: 6%; top: 7%; width: 30%; max-width: 210px; height: auto; z-index: 2; filter: drop-shadow(0 4px 14px rgba(0, 0, 0, .6)); }
.rent-photo::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(0, 0, 0, .45) 0%, transparent 30%, transparent 70%, rgba(0, 0, 0, .35) 100%); pointer-events: none; }
.rp-price { left: auto; right: 5%; top: auto; bottom: 7%; z-index: 3; }
@media (prefers-reduced-motion: reduce) { .rp-img, .rp-stripe { animation: none; } }

/* ===================== v3.9: страница «Тарифы и выплаты» ===================== */
.pc-hero { padding: 28px 0 40px; background: linear-gradient(180deg, var(--bg-soft), var(--bg)); }
.crumbs { display: flex; gap: 8px; align-items: center; font-size: 14px; color: var(--muted); margin-bottom: 18px; }
.crumbs a { color: var(--muted); }
.pc-hero h1 { font-size: clamp(34px, 5vw, 60px); line-height: 1.05; letter-spacing: -.025em; margin: 0 0 16px; }
.pc-hero h1 .hl { color: var(--bg-soft); paint-order: stroke fill; -webkit-text-stroke: clamp(4px, .085em, 5.5px) #E8A200; }
:root[data-theme="dark"] .pc-hero h1 .hl { -webkit-text-stroke-color: #FFB400; }
.pc-hero .hero-lead { max-width: 640px; font-size: 19px; color: var(--muted); margin: 0 0 20px; }
.pc-chips { list-style: none; margin: 0 0 26px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.pc-chips li { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; background: var(--surface); border: 1px solid var(--border); font-weight: 700; font-size: 14px; }
.pc-chips svg { width: 18px; height: 18px; color: var(--accent-text); }
.pc-jump { display: flex; gap: 6px; flex-wrap: wrap; padding: 6px; border-radius: 18px; background: var(--surface); border: 1px solid var(--border); width: fit-content; max-width: 100%; position: sticky; top: calc(var(--header-h) + 8px); z-index: 5; }
.pc-jump a { padding: 10px 16px; border-radius: 12px; font-weight: 700; font-size: 14px; color: var(--text); text-decoration: none; white-space: nowrap; }
.pc-jump a:hover { background: var(--surface-2); text-decoration: none; }
@media (max-width: 640px) { .pc-jump { flex-wrap: nowrap; overflow-x: auto; width: 100%; } }
.pc-sec { padding: 64px 0; scroll-margin-top: calc(var(--header-h) + 20px); }
.pc-sec-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 24px; }
.pc-sec-head h2 { margin: 0 0 6px; font-size: clamp(28px, 3.4vw, 40px); }
.pc-sec-head p { margin: 0; color: var(--muted); font-size: 17px; max-width: 620px; }
.pc-logos { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; }
.pc-logos .logo { --k: .72; margin: 0; }
.pc-group { margin: 8px 0 14px; padding: 12px 16px; border-radius: 16px; background: var(--surface); border: 1px solid var(--border); width: fit-content; }
.pc-grid { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); margin-bottom: 22px; }
.pc-card { position: relative; display: flex; flex-direction: column; gap: 14px; padding: 24px; border-radius: 24px; background: var(--surface); border: 1px solid var(--border); transition: transform .25s, box-shadow .25s; }
.pc-card:hover { transform: translateY(-4px); box-shadow: 0 20px 40px -24px rgba(10, 20, 25, .45); }
.pc-card.is-top { background: #0B1316; color: #EEF5F6; border-color: rgba(0, 255, 255, .45); box-shadow: 0 0 0 1px rgba(0, 255, 255, .25), 0 24px 50px -24px rgba(0, 255, 255, .55); }
.pc-badge { position: absolute; top: -12px; right: 18px; display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 999px; background: var(--c-turquoise); color: #000; font-weight: 800; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }
.pc-badge svg { width: 14px; height: 14px; }
.pc-head { display: flex; align-items: center; gap: 12px; }
.pc-head h4 { margin: 0; font-size: 20px; }
.pc-head small { display: block; color: var(--muted); font-weight: 600; font-size: 13px; }
.pc-card.is-top .pc-head small { color: #A9BCC1; }
.pc-ic { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: var(--surface-2); color: var(--text); }
.pc-ic svg { width: 22px; height: 22px; }
.pc-card.is-top .pc-ic, .pc-ic-hot { background: var(--c-turquoise); color: #000; }
.pc-price { display: flex; align-items: baseline; gap: 8px; margin: 0; }
.pc-price b { font-size: clamp(44px, 5vw, 56px); font-weight: 900; line-height: 1; letter-spacing: -.03em; }
.pc-price span { color: var(--muted); font-weight: 700; }
.pc-card.is-top .pc-price span { color: #A9BCC1; }
.pc-vat { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; background: var(--warm-soft); color: var(--warm-ink); font-size: 13px; font-weight: 800; }
.pc-card.is-top .pc-vat { background: rgba(255, 180, 0, .16); color: #FFD27A; }
.pc-vat svg { width: 14px; height: 14px; }
.pc-lines { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; flex: 1; }
.pc-lines li { display: flex; gap: 8px; font-weight: 600; font-size: 15px; }
.pc-lines svg { width: 18px; height: 18px; flex: none; margin-top: 2px; color: var(--accent-text); }
.pc-card.is-top .pc-lines svg { color: var(--c-turquoise); }
.pc-card .btn { justify-content: center; }
.pc-card.is-top .btn-secondary { color: #EEF5F6; }
.pc-note { display: flex; align-items: center; gap: 10px; margin: 0; color: var(--muted); font-size: 14px; }
.pc-note svg { width: 18px; height: 18px; flex: none; }
.pc-zero { display: grid; gap: 16px; align-items: center; padding: 24px; border-radius: 24px; background: var(--surface); border: 2px dashed color-mix(in srgb, var(--warm) 60%, transparent); margin-bottom: 18px; }
@media (min-width: 860px) { .pc-zero { grid-template-columns: 1fr 1fr; } }
.pc-zero-main { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.pc-zero-main h4 { margin: 0 0 4px; font-size: 20px; }
.pc-zero-main p { margin: 0; display: flex; align-items: center; gap: 8px; color: var(--muted); font-weight: 600; }
.pc-zero-main p svg { width: 18px; height: 18px; }
.pc-tax { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.pc-tax li { padding: 12px; border-radius: 14px; background: var(--bg-soft); display: flex; flex-direction: column; gap: 2px; }
.pc-tax span { font-size: 13px; color: var(--muted); font-weight: 600; }
.pc-tax b { font-size: 22px; font-weight: 900; }
.pc-rules { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.pc-rules div { padding: 18px; border-radius: 18px; background: var(--surface); border: 1px solid var(--border); }
.pc-rules h4 { margin: 0 0 6px; }
.pc-rules p { margin: 0; color: var(--muted); font-size: 15px; }
/* как удерживается комиссия */
.how-grid { display: grid; gap: 14px; }
@media (min-width: 960px) { .how-grid { grid-template-columns: 1fr 1fr 1.6fr; } }
.how-card { padding: 24px; border-radius: 24px; background: var(--surface); border: 1px solid var(--border); }
.how-card h3 { margin: 14px 0 8px; font-size: 20px; }
.how-card p { margin: 0; color: var(--muted); }
.how-ex { padding: 24px; border-radius: 24px; background: #0B1316; color: #EEF5F6; display: flex; flex-direction: column; gap: 14px; }
.how-ex-t { margin: 0; font-weight: 800; }
.ex-chart { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; align-items: end; height: 190px; }
.ex-chart li { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 6px; height: 100%; }
.ex-bar { position: relative; width: 100%; max-width: 46px; height: var(--h); border-radius: 10px 10px 6px 6px; background: var(--c-turquoise); overflow: hidden; transform-origin: bottom; }
.ex-fee { position: absolute; left: 0; right: 0; bottom: 0; height: var(--p); background: #FFB400; }
.ex-chart b { font-size: 13px; }
.ex-chart small { font-size: 12px; font-weight: 700; color: #A9BCC1; white-space: nowrap; }
.ex-chart li:nth-child(-n+2) small { color: #FFD27A; }
.ex-chart[data-reveal] .ex-bar { transform: scaleY(0); }
.ex-chart.is-in .ex-bar { transform: scaleY(1); transition: transform .8s cubic-bezier(.2, .7, .2, 1); transition-delay: calc(var(--i) * .08s); }
.no-js .ex-chart .ex-bar { transform: none; }
.ex-legend { display: flex; flex-wrap: wrap; gap: 16px; margin: 0; font-size: 13px; font-weight: 700; color: #A9BCC1; }
.ex-legend span { display: inline-flex; align-items: center; gap: 6px; }
.ex-legend i { width: 12px; height: 12px; border-radius: 4px; display: inline-block; }
.lg-fee { background: #FFB400; } .lg-you { background: var(--c-turquoise); }
.ex-ok { display: flex; align-items: center; gap: 8px; margin: 0; padding: 10px 12px; border-radius: 12px; background: rgba(0, 255, 255, .1); color: #7DFFFF; font-weight: 700; font-size: 14px; }
.ex-ok svg { width: 18px; height: 18px; flex: none; }
/* график выплат */
.sch-grid { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.sch-card { display: flex; flex-direction: column; gap: 14px; padding: 24px; border-radius: 24px; background: var(--surface); border: 1px solid var(--border); }
.sch-card header { display: flex; align-items: center; gap: 12px; }
.sch-card h3 { margin: 0; font-size: 20px; }
.sch-card header small { color: var(--muted); font-weight: 600; }
.wk { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.wk li { display: grid; place-items: center; height: 38px; border-radius: 10px; background: var(--bg-soft); border: 1px solid var(--border); font-size: 12px; font-weight: 800; color: var(--muted); }
.wk .w-work { background: color-mix(in srgb, var(--c-turquoise) 14%, var(--surface)); border-color: color-mix(in srgb, var(--c-turquoise) 40%, transparent); color: var(--text); }
.wk .w-pay { background: #FFB400; border-color: #FFB400; color: #000; }
.wk .w-pay.w-pko { background: #003574; border-color: #003574; color: #fff; }
.sch-banks { margin: 0; display: grid; gap: 0; }
.sch-banks div { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 0; border-top: 1px solid var(--border); }
.sch-banks dt { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; }
.sch-banks dt svg { width: 18px; height: 18px; color: var(--accent-text); }
.sch-banks dd { margin: 0; font-weight: 800; text-align: right; }
.sch-banks i { width: 12px; height: 12px; border-radius: 4px; display: inline-block; }
.dot-pko { background: #003574; } .dot-oth { background: #FFB400; } .dot-app { background: var(--c-turquoise); }
.sch-note { display: flex; gap: 8px; margin: 0; padding: 10px 12px; border-radius: 12px; background: var(--warm-soft); color: var(--warm-ink); font-size: 14px; font-weight: 600; }
.sch-note svg { width: 18px; height: 18px; flex: none; margin-top: 1px; }
.sch-app { background: #0B1316; color: #EEF5F6; border-color: rgba(0, 255, 255, .35); }
.sch-app header small, .sch-app .sch-banks dt { color: #C9D6DA; }
.sch-app .sch-banks div { border-color: rgba(255, 255, 255, .1); }
.sch-app .sch-banks dd { color: #7DFFFF; }
.tl { position: relative; height: 38px; margin: 6px 0 14px; border-radius: 10px; background: rgba(255, 255, 255, .07); }
.tl-on { position: absolute; top: 0; bottom: 0; left: calc(7 / 24 * 100%); right: 0; border-radius: 10px; background: linear-gradient(90deg, rgba(0, 255, 255, .25), rgba(0, 255, 255, .65)); }
.tl-dot { position: absolute; top: 50%; width: 14px; height: 14px; margin-top: -7px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 4px rgba(0, 255, 255, .5); left: calc(7 / 24 * 100%); animation: tl-run 6s linear infinite; }
@keyframes tl-run { to { left: calc(100% - 14px); } }
.tl i { position: absolute; top: 100%; margin-top: 4px; transform: translateX(-50%); font-style: normal; font-size: 11px; font-weight: 700; color: #A9BCC1; }
.tl i:first-of-type { transform: none; } .tl i:last-of-type { transform: translateX(-100%); }
.sch-legend { margin-top: 16px; color: var(--muted); }
.lg-work { background: color-mix(in srgb, var(--c-turquoise) 30%, var(--surface)); } .lg-pay { background: #FFB400; }
/* важно знать */
.know-grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
.know-grid li { padding: 22px; border-radius: 22px; background: var(--surface); border: 1px solid var(--border); }
.know-grid h3 { margin: 14px 0 6px; font-size: 18px; }
.know-grid p { margin: 0; color: var(--muted); font-size: 15px; }
@media (prefers-reduced-motion: reduce) { .tl-dot { animation: none; } .ex-chart[data-reveal] .ex-bar { transform: none; } }
.ex-bar, .ex-fee { display: block; }
.wk-label { margin: 0 0 -6px; font-size: 12px; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }
/* плашка логотипов на странице тарифов — одинаковые высоты и отступы */
.pc-group { display: flex; align-items: center; padding: 14px 24px; }
.pc-logos { display: flex; flex-wrap: nowrap; align-items: center; gap: 28px; }
.pc-logos .logo { display: block; --k: 1; margin: 0; background-position: center; }
.pc-logos .logo-uber { height: 24px; }
.pc-logos .logo-bolt { height: 31px; transform: translateY(3px); }
.pc-logos .logo-freenow { height: 25px; transform: translateY(-2px); }
.pc-logos .logo-wolt { height: 30px; }
.pc-logos .logo-uber-eats { height: 23px; }
.pc-logos .logo-bolt-food { height: 26px; transform: translateY(2px); }
.pc-logos .logo-glovo { height: 30px; }
.pc-logos .logo-pyszne { height: 26px; }
@media (max-width: 520px) { .pc-logos { gap: 18px; } .pc-logos .logo { zoom: .8; } }

/* v4.2: интро автопарка такси на странице аренды */
.fleet { position: relative; overflow: hidden; isolation: isolate; padding: 0; min-height: 0; aspect-ratio: 16 / 10.5; border-radius: 28px; background: radial-gradient(90% 70% at 60% 30%, #0C2230 0%, #050A0D 60%, #020405 100%); border: 1px solid rgba(255, 255, 255, .06); }
.fl-stripe { position: absolute; left: -15%; right: -15%; top: 20%; height: 44px; transform: rotate(-12deg); background: linear-gradient(90deg, transparent, #0066FF 30%, #00FFFF 75%, transparent); opacity: .5; filter: blur(1px); z-index: 0; animation: fl-stripe-in 1.2s cubic-bezier(.2, .7, .2, 1) both, rp-sweep 7s ease-in-out 1.2s infinite; }
.fl-stripe-2 { top: 30%; height: 7px; opacity: .85; animation-delay: .15s, 1.4s; }
@keyframes fl-stripe-in { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }
.fl-floor { position: absolute; left: 0; right: 0; bottom: 0; height: 46%; z-index: 0; background: linear-gradient(180deg, rgba(0, 255, 255, .06), rgba(0, 0, 0, .6) 70%), repeating-linear-gradient(90deg, transparent 0 120px, rgba(255, 255, 255, .03) 120px 122px); border-top: 1px solid rgba(0, 255, 255, .25); }
.fl-car { position: absolute; animation: fl-drive 1.7s cubic-bezier(.12, .8, .2, 1) both; }
.fl-img { position: relative; z-index: 1; display: block; width: 100%; height: auto; filter: drop-shadow(0 14px 16px rgba(0, 0, 0, .6)); }
.fl-car .fl-wheel { animation: hn-spin .45s linear 4 both; }
.fl-refl { position: absolute; left: 0; top: 96%; width: 100%; height: auto; transform: scaleY(-1); opacity: .16; filter: blur(2px); -webkit-mask-image: linear-gradient(0deg, #000 0%, transparent 45%); mask-image: linear-gradient(0deg, #000 0%, transparent 45%); z-index: 0; }
.fl-taxi { position: absolute; z-index: 2; left: 47%; top: -7%; padding: .35em .7em; border-radius: .4em .4em .2em .2em; background: #FFC21A; color: #111; font: 900 clamp(8px, 1.1vw, 13px)/1 var(--font-display); letter-spacing: .12em; box-shadow: 0 0 18px rgba(255, 194, 26, .65); animation: fl-sign 2.6s ease-in-out infinite; }
@keyframes fl-sign { 0%, 100% { box-shadow: 0 0 12px rgba(255, 194, 26, .45); } 50% { box-shadow: 0 0 26px rgba(255, 194, 26, .9); } }
.fl-beam { position: absolute; z-index: 0; right: 96%; top: 32%; width: 55%; height: 40%; background: radial-gradient(100% 60% at 100% 50%, rgba(220, 245, 255, .55), rgba(0, 255, 255, .12) 45%, transparent 72%); clip-path: polygon(100% 38%, 0 0, 0 100%, 100% 62%); filter: blur(3px); opacity: 0; animation: fl-flash 1.6s ease-out both; }
@keyframes fl-flash { 0% { opacity: 0; } 35% { opacity: 1; } 50% { opacity: .2; } 65% { opacity: 1; } 100% { opacity: .55; } }
@keyframes fl-drive { from { transform: translateX(var(--from, 140%)); } to { transform: none; } }
/* глубина: дальняя меньше и темнее */
.fl-c3 { width: 50%; right: 3%; bottom: 44%; z-index: 1; animation-delay: .2s; }
.fl-c3 .fl-img, .fl-c3 .fl-wheel { filter: brightness(.55) saturate(.8); }
.fl-c3 .fl-wheel, .fl-c3 .fl-beam { animation-delay: .2s, 1.7s; }
.fl-c2 { width: 62%; right: 12%; bottom: 27%; z-index: 2; animation-delay: .65s; }
.fl-c2 .fl-img, .fl-c2 .fl-wheel { filter: brightness(.78); }
.fl-c1 { width: 78%; left: 2%; bottom: 7%; z-index: 3; animation-delay: 1.1s; --from: 160%; }
.fl-c3 .fl-wheel { animation-delay: .2s; } .fl-c2 .fl-wheel { animation-delay: .65s; } .fl-c1 .fl-wheel { animation-delay: 1.1s; }
.fl-c3 .fl-beam { animation-delay: 1.9s; } .fl-c2 .fl-beam { animation-delay: 2.35s; } .fl-c1 .fl-beam { animation-delay: 2.8s; }
.fl-logo { z-index: 4; animation: gc-in .8s 1.6s cubic-bezier(.2, .7, .2, 1) both; }
.fl-price { z-index: 5; animation: gc-in .8s 2.4s cubic-bezier(.2, .7, .2, 1) both, gc-float 9s ease-in-out 3.2s infinite; }
@media (max-width: 520px) { .fleet { border-radius: 20px; } .fl-taxi { font-size: 7px; } }
@media (prefers-reduced-motion: reduce) { .fl-car, .fl-car .fl-wheel, .fl-stripe, .fl-beam, .fl-taxi, .fl-logo, .fl-price { animation: none; } .fl-beam { opacity: .5; } }
.fl-c3 { width: 46%; right: -5%; bottom: 47%; }
.fl-c2 { width: 58%; right: 6%; bottom: 30%; }
.fl-c1 { width: 76%; left: -1%; bottom: 6%; }
.fleet .fl-c3 .fl-img { filter: brightness(.42) saturate(.7) drop-shadow(0 10px 12px rgba(0, 0, 0, .6)); }
.fleet .fl-c2 .fl-img { filter: brightness(.68) drop-shadow(0 12px 14px rgba(0, 0, 0, .6)); }
.fleet .fl-c3 .fl-wheel { filter: brightness(.42); } .fleet .fl-c2 .fl-wheel { filter: brightness(.68); }
.fleet .fl-c3 .fl-taxi { opacity: .75; } .fleet .fl-c3 .fl-refl, .fleet .fl-c2 .fl-refl { opacity: .08; }

/* ===================== v4.3: ночной таксопарк на странице аренды ===================== */
.rent-night { position: relative; overflow: hidden; isolation: isolate; min-height: clamp(660px, calc(100vh - 140px), 820px); background: radial-gradient(120% 80% at 70% 10%, #0B1E2A 0%, #04080B 55%, #020405 100%); color: #F1F6F7; }
.rn-scene { position: absolute; inset: 0; z-index: -1; }
.rn-sky { position: absolute; inset: 0 0 45% 0; background-image: radial-gradient(1px 1px at 14% 20%, #fff8, transparent), radial-gradient(1px 1px at 38% 10%, #fff6, transparent), radial-gradient(1.5px 1.5px at 62% 26%, #fff7, transparent), radial-gradient(1px 1px at 80% 14%, #fff5, transparent), radial-gradient(1px 1px at 92% 34%, #fff6, transparent); animation: hn-twinkle 6s ease-in-out infinite alternate; }
.rn-skyline { position: absolute; left: 0; right: 0; bottom: 44%; height: 160px; opacity: .55;
  background:
    linear-gradient(#0D1B23, #0D1B23) 8% 100% / 4% 55% no-repeat, linear-gradient(#0B171E, #0B171E) 13% 100% / 3% 80% no-repeat,
    linear-gradient(#0E1C24, #0E1C24) 21% 100% / 5% 40% no-repeat, linear-gradient(#0A161C, #0A161C) 33% 100% / 2.5% 95% no-repeat,
    linear-gradient(#0D1A22, #0D1A22) 38% 100% / 6% 50% no-repeat, linear-gradient(#0B171E, #0B171E) 52% 100% / 3.5% 70% no-repeat,
    linear-gradient(#0E1C24, #0E1C24) 60% 100% / 5% 45% no-repeat, linear-gradient(#0A161C, #0A161C) 71% 100% / 3% 88% no-repeat,
    linear-gradient(#0D1A22, #0D1A22) 79% 100% / 6% 58% no-repeat, linear-gradient(#0B171E, #0B171E) 90% 100% / 4% 76% no-repeat;
  -webkit-mask-image: linear-gradient(180deg, #000 0, #000 70%, transparent); mask-image: linear-gradient(180deg, #000 0, #000 70%, transparent); }
.rn-skyline::after { content: ""; position: absolute; inset: 0; background-image: radial-gradient(1.5px 1.5px, rgba(255, 210, 120, .75) 60%, transparent 61%); background-size: 22px 18px; -webkit-mask-image: inherit; mask-image: linear-gradient(90deg, transparent 6%, #000 8% 17%, transparent 19% 33%, #000 34% 36%, transparent 37% 51%, #000 52% 56%, transparent 57% 70%, #000 71% 74%, transparent 75% 89%, #000 90% 94%, transparent 95%); opacity: .5; }
.rn-horizon { position: absolute; left: 0; right: 0; bottom: 44%; height: 2px; background: linear-gradient(90deg, transparent, #00FFFF 30%, #3D8BFF 70%, transparent); box-shadow: 0 0 22px 4px rgba(0, 255, 255, .45); }
.rn-floor { position: absolute; left: -30%; right: -30%; bottom: 0; height: 44%; perspective: 520px; overflow: hidden; }
.rn-grid { position: absolute; inset: -60% 0 0 0; transform: rotateX(62deg); transform-origin: 50% 100%;
  background-image: linear-gradient(rgba(0, 255, 255, .55) 1.5px, transparent 1.5px), linear-gradient(90deg, rgba(0, 255, 255, .35) 1.5px, transparent 1.5px);
  background-size: 80px 80px; animation: rn-grid .9s linear infinite;
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 45%); mask-image: linear-gradient(180deg, transparent 0%, #000 45%); }
@keyframes rn-grid { to { background-position: 0 80px, 0 0; } }
.rn-beam { position: absolute; top: 0; bottom: 0; width: 18%; left: -20%; background: linear-gradient(90deg, transparent, rgba(0, 255, 255, .14), transparent); transform: skewX(-18deg); z-index: 4; animation: rn-scan 6s ease-in-out 3s infinite; mix-blend-mode: screen; }
@keyframes rn-scan { 0% { left: -20%; } 55%, 100% { left: 110%; } }
.rn-car { position: absolute; animation: rn-drive 1.8s cubic-bezier(.12, .8, .2, 1) both; }
.rn-car .neon-taxi { display: block; width: 100%; height: auto; overflow: visible; filter: drop-shadow(0 0 10px rgba(0, 255, 255, .45)); }
.rn-c2 .neon-taxi { filter: drop-shadow(0 0 10px rgba(61, 139, 255, .5)); }
.rn-car .nt-wheel { transform-box: fill-box; transform-origin: center; animation: hn-spin .4s linear 5; }
.rn-car .nt-sign { opacity: .15; animation: rn-sign .9s steps(1) both; }
@keyframes rn-sign { 0% { opacity: .15; } 30% { opacity: 1; } 45% { opacity: .2; } 60%, 100% { opacity: 1; } }
.rn-car .nt-sign rect { filter: drop-shadow(0 0 8px #FFC21A); }
.rn-trail { position: absolute; left: 92%; top: 52%; width: 70%; height: 4px; border-radius: 4px; background: linear-gradient(90deg, rgba(255, 51, 85, .9), transparent); filter: blur(1.5px); opacity: 0; animation: rn-trail 1.8s ease-out both; }
@keyframes rn-trail { 0% { opacity: 1; width: 120%; } 70% { opacity: .5; } 100% { opacity: 0; width: 10%; } }
@keyframes rn-drive { from { transform: translateX(110vw); } to { transform: none; } }
.rn-c3 { width: min(28vw, 420px); right: 4%; bottom: 40%; z-index: 1; opacity: .7; animation-delay: .1s; }
.rn-c2 { width: min(36vw, 540px); right: 14%; bottom: 23%; z-index: 2; opacity: .88; animation-delay: .55s; }
.rn-c1 { width: min(48vw, 720px); right: -2%; bottom: 3%; z-index: 3; animation-delay: 1s; }
.rn-c3 .nt-wheel { animation-delay: .1s; } .rn-c2 .nt-wheel { animation-delay: .55s; } .rn-c1 .nt-wheel { animation-delay: 1s; }
.rn-c3 .nt-sign { animation-delay: 1.9s; } .rn-c2 .nt-sign { animation-delay: 2.3s; } .rn-c1 .nt-sign { animation-delay: 2.7s; }
.rn-c3 .rn-trail { animation-delay: .1s; } .rn-c2 .rn-trail { animation-delay: .55s; } .rn-c1 .rn-trail { animation-delay: 1s; }
.rn-price { left: auto; right: 6%; top: 12%; z-index: 5; animation: gc-in .8s 2.9s cubic-bezier(.2, .7, .2, 1) both, gc-float 9s ease-in-out 3.7s infinite; }
.rn-copy { position: relative; z-index: 6; padding-top: clamp(40px, 7vh, 80px); padding-bottom: 60px; }
.rn-copy > * { max-width: 540px; }
.rent-night h1 { font-size: clamp(36px, 5vw, 64px); line-height: 1.03; letter-spacing: -.025em; margin: 0 0 18px; color: #fff; }
.rent-night .hero-lead { color: #B9C9CE; font-size: 19px; line-height: 1.55; margin: 0 0 22px; }
.rent-night .hero2-badges { color: #C3D2D6; margin-bottom: 28px; flex-direction: column; gap: 10px; }
.rent-night .hero2-badges svg { color: var(--c-turquoise); }
.rent-night .msg-btn { background: rgba(255, 255, 255, .06); color: #F1F6F7; border-color: rgba(255, 255, 255, .2); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
@media (max-width: 1099px) {
  .rent-night { min-height: 0; }
  .rn-copy { padding-bottom: calc(92vw * .42 + 60px); }
  .rn-c1 { width: 80vw; right: 2vw; bottom: 3%; } .rn-c2 { width: 58vw; right: 22vw; bottom: calc(92vw * .14); } .rn-c3 { width: 44vw; right: 4vw; bottom: calc(92vw * .25); }
  .rn-horizon, .rn-skyline { bottom: calc(92vw * .36); } .rn-floor { height: calc(92vw * .36); }
  .rn-price { top: auto; bottom: calc(92vw * .40); right: 4%; }
}
@media (max-width: 520px) { .rent-night .hero-lead { font-size: 17px; } .rent-night .hero2-ctas .btn-xl { width: 100%; } .rn-price { display: none; } }
@media (prefers-reduced-motion: reduce) { .rn-car, .rn-car .nt-wheel, .rn-car .nt-sign, .rn-trail, .rn-grid, .rn-beam, .rn-sky, .rn-price { animation: none; } .rn-car .nt-sign { opacity: 1; } .rn-trail { display: none; } }
.rent-night::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; background: linear-gradient(90deg, rgba(3, 6, 8, .92) 0%, rgba(3, 6, 8, .75) 30%, rgba(3, 6, 8, 0) 52%); }
@media (min-width: 1100px) {
  .rent-night { min-height: 0; height: clamp(620px, calc(100vh - 140px), 760px); }
  .rn-horizon, .rn-skyline { bottom: 48%; } .rn-floor { height: 48%; }
  .rn-c3 { width: min(26vw, 400px); right: 3%; bottom: 44%; }
  .rn-c2 { width: min(34vw, 520px); right: 15%; bottom: 26%; }
  .rn-c1 { width: min(44vw, 660px); right: 1%; bottom: 5%; }
  .rn-copy { padding-top: 44px; }
}
@media (max-width: 1099px) {
  .rn-c1 { width: 84vw; right: 3vw; bottom: 2%; }
  .rn-c2 { width: 62vw; right: 30vw; bottom: calc(84vw * .2); }
  .rn-c3 { width: 46vw; right: 2vw; bottom: calc(84vw * .3); }
  .rn-copy { padding-bottom: calc(84vw * .5 + 50px); }
  .rn-horizon, .rn-skyline { bottom: calc(84vw * .42); } .rn-floor { height: calc(84vw * .42); }
  .rent-night::before { background: linear-gradient(180deg, rgba(3, 6, 8, .85) 0%, rgba(3, 6, 8, .6) 45%, transparent 62%); }
}
/* v4.4: страница приложения — бирюзовый контур вместо заливки, как в такси и доставке */
.app-hero h1 .accent { color: #05090C; paint-order: stroke fill; -webkit-text-stroke: clamp(4px, .085em, 5.5px) var(--c-turquoise); filter: drop-shadow(0 0 12px rgba(0, 255, 255, .35)); }
@supports not (-webkit-text-stroke: 1px black) { .app-hero h1 .accent { color: var(--c-turquoise); } }
/* только внешний бирюзовый контур, внутри прозрачно (SVG-фильтр, без внутренних стыков букв) */
.app-hero h1 .accent { color: #FFFFFF; -webkit-text-stroke: 0; filter: url(#hl-ring) drop-shadow(0 0 10px rgba(0, 255, 255, .45)); }

/* ===== v4.6: заголовок приложения — снова сплошной бирюзовый; собственный анимированный мокап ===== */
.app-hero h1 .accent { color: var(--c-turquoise); -webkit-text-stroke: 0; filter: none; }
.mk { position: relative; width: min(520px, 100%); aspect-ratio: 1 / 1.08; display: grid; place-items: center; perspective: 1400px; }
.mk-tilt { --rx: 4deg; --ry: -14deg; transform-style: preserve-3d; transform: rotateX(var(--rx)) rotateY(var(--ry)); transition: transform .5s cubic-bezier(.2, .7, .2, 1); animation: mk-float 7s ease-in-out infinite; }
@keyframes mk-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -12px; } }
.mk-phone { position: relative; width: 272px; aspect-ratio: 9 / 19.2; padding: 11px; border-radius: 48px; background: linear-gradient(145deg, #5C6B72, #1A2226 30%, #0B1013 60%, #3A474D); box-shadow: 0 0 0 1px rgba(255, 255, 255, .12) inset, 0 40px 80px -20px rgba(0, 0, 0, .8), 0 0 60px -10px rgba(0, 255, 255, .45); opacity: 0; transform: translateY(40px) scale(.94); transition: opacity .9s ease, transform 1.1s cubic-bezier(.2, .7, .2, 1); }
.mk.is-in .mk-phone { opacity: 1; transform: none; }
.mk-phone::before, .mk-phone::after { content: ""; position: absolute; width: 3px; border-radius: 2px; background: #2C373C; }
.mk-phone::before { left: -3px; top: 22%; height: 9%; box-shadow: 0 60px 0 #2C373C; } .mk-phone::after { right: -3px; top: 28%; height: 14%; }
.mk-screen { position: relative; height: 100%; border-radius: 38px; overflow: hidden; padding: 12px 16px 16px; display: flex; flex-direction: column; gap: 12px; color: #EEF6F7;
  background: radial-gradient(120% 60% at 50% 0%, #0D2A33 0%, #070D10 55%, #04080A 100%); }
.mk-screen::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(115deg, rgba(255, 255, 255, .09), transparent 30%, transparent 70%, rgba(255, 255, 255, .04)); }
.mk-status { display: flex; justify-content: space-between; align-items: center; font-size: 12px; height: 26px; }
.mk-island { width: 86px; height: 24px; border-radius: 14px; background: #000; }
.mk-sig { display: flex; gap: 2px; align-items: flex-end; } .mk-sig i { width: 3px; background: #EEF6F7; border-radius: 1px; } .mk-sig i:nth-child(1) { height: 4px; } .mk-sig i:nth-child(2) { height: 6px; } .mk-sig i:nth-child(3) { height: 8px; } .mk-sig i:nth-child(4) { height: 10px; }
.mk-head { display: flex; justify-content: space-between; align-items: center; }
.mk-brand { font-weight: 900; letter-spacing: .08em; font-size: 15px; }
.mk-live { display: inline-flex; align-items: center; gap: 6px; padding: 4px 9px; border-radius: 999px; background: rgba(0, 255, 255, .12); color: #7DFFFF; font-size: 11px; font-weight: 800; }
.mk-live i { width: 7px; height: 7px; border-radius: 50%; background: #00FFFF; animation: mk-blink 1.4s ease-in-out infinite; }
@keyframes mk-blink { 50% { opacity: .25; } }
.mk-ring { position: relative; width: 86%; margin: 4px auto 0; }
.mk-ring svg { display: block; width: 100%; transform: rotate(-90deg); filter: drop-shadow(0 0 10px rgba(0, 255, 255, .45)); }
.mk-ring-fg { stroke-dasharray: 0 100; transition: stroke-dasharray 2s cubic-bezier(.2, .7, .2, 1) .3s; }
.mk.is-in .mk-ring-fg { stroke-dasharray: 72 100; }
.mk-ring-dot { transform-origin: 60px 60px; transform: rotate(0deg); transition: transform 2s cubic-bezier(.2, .7, .2, 1) .3s; filter: drop-shadow(0 0 6px #00FFFF); }
.mk.is-in .mk-ring-dot { transform: rotate(259deg); }
.mk-ring-c { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.mk-ring-c small { font-size: 11px; color: #9DB2B8; font-weight: 700; }
.mk-ring-c b { font-size: 30px; font-weight: 900; letter-spacing: -.02em; font-variant-numeric: tabular-nums; line-height: 1.1; }
.mk-ring-c em { font-style: normal; font-size: 14px; color: #9DB2B8; margin-left: 3px; }
.mk-delta { margin-top: 4px; padding: 2px 8px; border-radius: 999px; background: rgba(0, 255, 255, .14); color: #7DFFFF; font-size: 11px; font-weight: 800; opacity: 0; }
.mk-delta.pop { animation: mk-pop 2.4s ease both; }
@keyframes mk-pop { 0% { opacity: 0; transform: translateY(6px); } 15%, 70% { opacity: 1; transform: none; } 100% { opacity: 0; transform: translateY(-6px); } }
.mk-week { padding: 12px; border-radius: 18px; background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .07); }
.mk-week p { display: flex; justify-content: space-between; margin: 0 0 8px; font-size: 12px; color: #9DB2B8; font-weight: 700; } .mk-week p b { color: #fff; }
.mk-week ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(7, 1fr); gap: 5px; height: 64px; align-items: end; }
.mk-week li { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; gap: 3px; }
.mk-week li i { width: 100%; height: var(--h); border-radius: 5px 5px 3px 3px; background: linear-gradient(180deg, #00FFFF, #0066FF); transform: scaleY(0); transform-origin: bottom; transition: transform .7s cubic-bezier(.2, .7, .2, 1); transition-delay: calc(.9s + var(--i) * .07s); }
.mk-week li:last-child i { background: linear-gradient(180deg, #FFD27A, #FFB400); }
.mk.is-in .mk-week li i { transform: none; }
.mk-week small { font-size: 9px; color: #6E848A; font-weight: 700; }
.mk-slide { position: relative; height: 48px; margin-top: auto; border-radius: 999px; background: rgba(0, 255, 255, .1); border: 1px solid rgba(0, 255, 255, .3); overflow: hidden; display: flex; align-items: center; justify-content: center; }
.mk-slide-t { font-size: 13px; font-weight: 800; color: #BFF; background: linear-gradient(90deg, #4C8F95, #EFFFFF, #4C8F95); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: mk-shimmer 2.2s linear infinite; }
@keyframes mk-shimmer { to { background-position: -200% 0; } }
.mk-knob { position: absolute; left: 4px; top: 4px; width: 40px; height: 40px; border-radius: 50%; background: #00FFFF; color: #000; display: grid; place-items: center; box-shadow: 0 0 16px rgba(0, 255, 255, .7); z-index: 2; animation: mk-knob 7.6s cubic-bezier(.6, 0, .2, 1) 2s infinite; }
.mk-knob svg { width: 20px; height: 20px; }
.mk-slide::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, #00FFFF, #3D8BFF); transform: scaleX(0); transform-origin: left; animation: mk-fill 7.6s cubic-bezier(.6, 0, .2, 1) 2s infinite; }
.mk-slide-done { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 13px; font-weight: 900; color: #001417; opacity: 0; z-index: 3; animation: mk-done 7.6s ease 2s infinite; }
.mk-slide-done svg { width: 18px; height: 18px; }
@keyframes mk-knob { 0%, 8% { transform: none; } 22%, 50% { transform: translateX(196px); opacity: 1; } 56% { opacity: 0; transform: translateX(196px); } 57%, 100% { opacity: 1; transform: none; } }
@keyframes mk-fill { 0%, 8% { transform: scaleX(0); } 22%, 52% { transform: scaleX(1); } 60%, 100% { transform: scaleX(0); } }
@keyframes mk-done { 0%, 21% { opacity: 0; } 25%, 50% { opacity: 1; } 56%, 100% { opacity: 0; } }
.mk-toast { position: absolute; left: 12px; right: 12px; top: 44px; z-index: 5; display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 16px; background: rgba(20, 32, 37, .85); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, .12); box-shadow: 0 14px 30px rgba(0, 0, 0, .5); transform: translateY(-120%); opacity: 0; }
.mk-toast.show { animation: mk-toast 3.2s cubic-bezier(.2, .7, .2, 1) both; }
@keyframes mk-toast { 0% { transform: translateY(-120%); opacity: 0; } 12%, 78% { transform: none; opacity: 1; } 100% { transform: translateY(-120%); opacity: 0; } }
.mk-toast-ic { width: 32px; height: 32px; border-radius: 10px; background: #00FFFF; color: #000; display: grid; place-items: center; flex: none; } .mk-toast-ic svg { width: 18px; height: 18px; }
.mk-toast b { display: block; font-size: 14px; color: #7DFFFF; } .mk-toast small { font-size: 11px; color: #9DB2B8; font-weight: 600; }
/* орбита логотипов */
.mk-orbit { position: absolute; inset: 4%; border-radius: 50%; border: 1px dashed rgba(0, 255, 255, .18); animation: mk-orbit 40s linear infinite; }
@keyframes mk-orbit { to { transform: rotate(360deg); } }
.mk-chip { position: absolute; left: 50%; top: 50%; transform: rotate(var(--a)) translateY(-50%) translateY(calc(-1 * min(250px, 48vw))) rotate(calc(-1 * var(--a))); margin: -22px 0 0 -58px; }
.mk-chip-in { display: flex; align-items: center; justify-content: center; width: 116px; height: 44px; border-radius: 14px; background: rgba(12, 22, 26, .72); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); border: 1px solid rgba(255, 255, 255, .12); box-shadow: 0 10px 24px rgba(0, 0, 0, .4); animation: mk-counter 40s linear infinite; }
@keyframes mk-counter { to { transform: rotate(-360deg); } }
.mk-chip-in .logo { --k: .55; }
.mk-bubbles { position: absolute; inset: 0; pointer-events: none; }
.mk-bub { position: absolute; left: calc(14% + var(--i) * 22%); bottom: 18%; padding: 5px 10px; border-radius: 999px; background: rgba(0, 255, 255, .16); border: 1px solid rgba(0, 255, 255, .4); color: #7DFFFF; font-weight: 800; font-size: 13px; opacity: 0; animation: mk-bub 3.8s ease-out infinite; animation-delay: calc(2.2s + var(--i) * .95s); }
@keyframes mk-bub { 0% { opacity: 0; transform: translateY(20px) scale(.8); } 15% { opacity: 1; } 70% { opacity: 1; } 100% { opacity: 0; transform: translateY(-160px) scale(1); } }
.app-hero-visual { min-height: 560px; }
@media (max-width: 960px) { .mk { width: min(440px, 100%); } .mk-chip { transform: rotate(var(--a)) translateY(calc(-1 * min(200px, 44vw))) rotate(calc(-1 * var(--a))); } }
@media (max-width: 520px) { .mk-phone { width: 236px; } .mk-chip-in { width: 92px; height: 36px; } .mk-chip { margin: -18px 0 0 -46px; } .app-hero-visual { min-height: 480px; } @keyframes mk-knob { 0%, 8% { transform: none; } 22%, 50% { transform: translateX(164px); opacity: 1; } 56% { opacity: 0; transform: translateX(164px); } 57%, 100% { opacity: 1; transform: none; } } }
@media (prefers-reduced-motion: reduce) { .mk-tilt, .mk-orbit, .mk-chip-in, .mk-knob, .mk-slide::before, .mk-slide-done, .mk-bub, .mk-slide-t, .mk-live i { animation: none; } .mk-bub { display: none; } }
.mk-screen { gap: 10px; }
.mk-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.mk-list li { display: flex; align-items: center; justify-content: space-between; padding: 8px 12px; border-radius: 12px; background: rgba(255, 255, 255, .04); border: 1px solid rgba(255, 255, 255, .06); opacity: 0; transform: translateX(16px); transition: opacity .5s, transform .6s cubic-bezier(.2, .7, .2, 1); transition-delay: calc(1.5s + var(--i) * .12s); }
.mk.is-in .mk-list li { opacity: 1; transform: none; }
.mk-list b { font-size: 12px; color: #7DFFFF; font-variant-numeric: tabular-nums; }
.mk-li-logo .logo { --k: .42; }
.mk-ring { width: 78%; }
@media (max-width: 520px) {
  .mk { width: 100%; }
  .mk-chip { transform: rotate(var(--a)) translateY(calc(-1 * min(170px, 40vw))) rotate(calc(-1 * var(--a))); margin: -15px 0 0 -38px; }
  .mk-chip-in { width: 76px; height: 30px; border-radius: 10px; } .mk-chip-in .logo { --k: .4; }
  .mk-bub { font-size: 11px; }
}
.mk-ring { width: 70%; margin-top: 0; }
.mk-ring-c b { font-size: 26px; }
.mk-week { padding: 10px; } .mk-week ol { height: 50px; }
.mk-list li { padding: 6px 10px; } .mk-list li:nth-child(3) { display: none; }
.mk-li-logo .logo { height: 14px !important; --k: 1; }
.mk-slide { flex: none; height: 44px; } .mk-knob { width: 36px; height: 36px; }
.mk-slide-t { padding-left: 40px; font-size: 15px; font-weight: 900; letter-spacing: .01em; }

/* v4.8: аренда — реальная сцена такси, едущих на зрителя */
.rn-photo { background: #020405; }
.rnp-img { position: absolute; inset: 0; overflow: hidden; }
.rnp-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 70% 55%; transform-origin: 68% 62%; animation: rnp-approach 2.6s cubic-bezier(.15, .75, .2, 1) both, rnp-drift 14s ease-in-out 2.6s infinite alternate; }
@keyframes rnp-approach { from { transform: scale(.82) translateY(-2%); filter: brightness(.25) blur(2px); } to { transform: scale(1.02); filter: none; } }
@keyframes rnp-drift { from { transform: scale(1.02); } to { transform: scale(1.09) translateX(-1%); } }
.rnp-flare { position: absolute; width: 18vw; height: 18vw; max-width: 280px; max-height: 280px; border-radius: 50%; background: radial-gradient(closest-side, rgba(220, 250, 255, .55), rgba(0, 255, 255, .12) 45%, transparent 70%); mix-blend-mode: screen; transform: translate(-50%, -50%); animation: rnp-flare 3.2s ease-in-out infinite; pointer-events: none; }
.rnp-flare.f1 { left: 57%; top: 62%; animation-delay: 1.4s; } .rnp-flare.f2 { left: 69%; top: 62%; animation-delay: 1.6s; } .rnp-flare.f3 { left: 47%; top: 58%; width: 9vw; height: 9vw; animation-delay: 2s; }
@keyframes rnp-flare { 0%, 100% { opacity: .55; } 50% { opacity: .9; } }
.rnp-rain { position: absolute; inset: 0; background-image: repeating-linear-gradient(100deg, transparent 0 22px, rgba(180, 240, 255, .06) 22px 23px); animation: rnp-rain .5s linear infinite; mix-blend-mode: screen; opacity: .7; }
@keyframes rnp-rain { to { background-position: -40px 60px; } }
.rn-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(2, 4, 5, .35), transparent 25%, transparent 70%, rgba(2, 4, 5, .8)); pointer-events: none; }
@media (max-width: 1099px) { .rnp-img { top: auto; height: calc(92vw * .62); } .rnp-img img { object-position: 80% 60%; } .rnp-flare { display: none; } .rn-copy { padding-bottom: calc(92vw * .55 + 40px); } }
@media (prefers-reduced-motion: reduce) { .rnp-img img, .rnp-flare, .rnp-rain { animation: none; } }
.rnp-img img { object-position: 60% 60%; }
.rnp-flare.f1 { left: 53%; top: 64%; width: 12vw; height: 12vw; } .rnp-flare.f2 { left: 70%; top: 63%; width: 12vw; height: 12vw; } .rnp-flare.f3 { left: 38%; top: 59%; width: 6vw; height: 6vw; }
@media (max-width: 1099px) { .rnp-img { height: 96vw; } .rnp-img img { object-position: 72% 62%; } .rn-copy { padding-bottom: calc(96vw - 40px); } .rn-photo::after { background: linear-gradient(180deg, rgba(2, 4, 5, .9) 0%, rgba(2, 4, 5, .5) 55%, transparent 70%, rgba(2, 4, 5, .5)); } }

/* v5.4: живой стартовый блок на страницах приложений */
.ph-live { position: relative; overflow: hidden; isolation: isolate; min-height: clamp(560px, calc(100vh - 160px), 720px); display: flex; align-items: center; background: #020405; }
.ph-live > .map { display: none; }
.ph-scene { position: absolute; inset: 0; z-index: -1; }
.ph-img { position: absolute; inset: 0; overflow: hidden; }
.ph-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 70% 50%; transform-origin: 72% 55%; animation: ph-in 2.4s cubic-bezier(.15, .75, .2, 1) both, rnp-drift 16s ease-in-out 2.4s infinite alternate; }
@keyframes ph-in { from { transform: scale(1.14) translateX(4%); filter: brightness(.2) blur(3px); } to { transform: scale(1.02); filter: none; } }
.ph-scene::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(2, 4, 5, .95) 0%, rgba(2, 4, 5, .8) 32%, rgba(2, 4, 5, .15) 60%, transparent 75%), linear-gradient(180deg, transparent 70%, rgba(2, 4, 5, .7)); }
.ph-flare { position: absolute; right: 8%; top: 20%; width: 34vw; height: 34vw; max-width: 520px; max-height: 520px; border-radius: 50%; background: radial-gradient(closest-side, color-mix(in srgb, var(--glow) 40%, transparent), transparent 70%); mix-blend-mode: screen; filter: blur(10px); animation: rnp-flare 4s ease-in-out infinite; }
.ph-enigma { position: absolute; right: 4%; bottom: 7%; z-index: 2; display: flex; align-items: center; padding: 10px 16px; border-radius: 14px; background: rgba(4, 10, 12, .55); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); border: 1px solid rgba(0, 255, 255, .3); box-shadow: 0 0 24px rgba(0, 255, 255, .25); animation: gc-in .8s 1.8s cubic-bezier(.2, .7, .2, 1) both; }
.ph-enigma img { width: 120px; height: auto; display: block; }
.ph-live .plat-hero-grid { position: relative; z-index: 1; width: 100%; }
.ph-live .hero-copy { max-width: 560px; }
.ph-live .plat-facts { align-self: end; }
.ph-live .plat-facts > div { background: rgba(6, 12, 14, .62); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); animation: gc-in .7s cubic-bezier(.2, .7, .2, 1) both; }
.ph-live .plat-facts > div:nth-child(1) { animation-delay: 1.2s; } .ph-live .plat-facts > div:nth-child(2) { animation-delay: 1.35s; } .ph-live .plat-facts > div:nth-child(3) { animation-delay: 1.5s; }
@media (min-width: 1000px) { .ph-live .plat-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, .8fr); align-items: end; } .ph-live .plat-facts { grid-template-columns: 1fr 1fr 1fr; margin-bottom: 70px; } }
@media (max-width: 999px) {
  .ph-live { display: block; min-height: 0; padding-top: 24px; }
  .ph-img { top: auto; height: 74vw; } .ph-img img { object-position: 78% 50%; }
  .ph-scene::after { background: linear-gradient(180deg, rgba(2, 4, 5, 1) 0%, rgba(2, 4, 5, .85) 50%, rgba(2, 4, 5, .1) 72%, rgba(2, 4, 5, .5)); }
  .ph-live .plat-hero-grid { padding-bottom: calc(74vw - 40px); }
  .ph-live .plat-facts { display: none; }
  .ph-enigma { bottom: 4%; } .ph-enigma img { width: 90px; }
}
@media (prefers-reduced-motion: reduce) { .ph-img img, .ph-flare, .ph-enigma, .ph-live .plat-facts > div { animation: none; } }
@media (max-width: 520px) { .ph-live .plat-wm .logo { --k: 1.1; } .ph-live .plat-wm img { width: 110px; height: auto; } }
.ph-live .plat-hero-grid { grid-template-columns: 1fr; }
.ph-live .hero-copy { max-width: 600px; }
.ph-live .plat-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 8px; margin: 26px 0 0; max-width: 600px; }
.ph-live .plat-facts > div { padding: 12px 14px; }
.ph-live .plat-facts dd { font-size: 15px; }
.ph-img img { object-position: 70% 62%; }
@media (min-width: 1000px) { .ph-live { min-height: clamp(620px, calc(100vh - 160px), 760px); } .ph-live .plat-facts { margin-bottom: 0; } }
@media (max-width: 999px) { .ph-live .plat-facts { display: grid; grid-template-columns: 1fr 1fr; } }
.ph-live[data-p="uber"] .ph-img img { object-position: 70% 88%; }
.ph-live[data-p="freenow"] .ph-img img, .ph-live[data-p="bolt"] .ph-img img { object-position: 70% 72%; }
/* головы не обрезаются: кадр привязан к верху, зум от верхней точки */
.ph-img img { object-position: 70% 0% !important; transform-origin: 70% 0%; }
.ph-live[data-p="uber"] .ph-img img, .ph-live[data-p="bolt"] .ph-img img, .ph-live[data-p="freenow"] .ph-img img { object-position: 70% 25% !important; transform-origin: 70% 25%; }
@keyframes ph-in { from { transform: scale(1.08); filter: brightness(.2) blur(3px); } to { transform: scale(1); filter: none; } }
@keyframes rnp-drift { from { transform: scale(1); } to { transform: scale(1.05) translateX(-1%); } }

/* v5.7: выпадающие списки приложений в шапке */
.nav-drop { position: relative; }
.nav-drop > a { display: inline-flex; align-items: center; gap: 4px; }
.nav-drop > a svg { width: 14px; height: 14px; transition: transform .2s; }
.nav-drop:hover > a svg, .nav-drop:focus-within > a svg { transform: rotate(180deg); }
.nd-panel { position: absolute; left: -12px; top: 100%; z-index: 60; min-width: 300px; margin-top: 8px; padding: 10px; border-radius: 18px; background: var(--surface); border: 1px solid var(--border); box-shadow: 0 24px 50px -20px rgba(0, 0, 0, .45); opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .18s, transform .18s, visibility 0s .18s; }
.nd-panel::before { content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px; }
.nav-drop:hover .nd-panel, .nav-drop:focus-within .nd-panel { opacity: 1; visibility: visible; transform: none; transition: opacity .18s, transform .18s; }
.main-nav .nd-all { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 12px; text-decoration: none; color: var(--text); }
.nd-all svg { width: 22px; height: 22px; color: var(--accent-text); }
.nd-all b { display: block; font-size: 15px; } .nd-all small { display: block; color: var(--muted); font-size: 12px; font-weight: 600; }
.main-nav .nd-all:hover { background: var(--surface-2); }
.nd-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-top: 6px; padding-top: 8px; border-top: 1px solid var(--border); }
.main-nav .nd-app { display: flex; align-items: center; justify-content: center; height: 52px; padding: 0 12px; border-radius: 12px; border: 1px solid var(--border); background: var(--bg-soft); transition: border-color .2s, transform .2s, box-shadow .2s; }
.main-nav .nd-app:hover, .main-nav .nd-app[aria-current="page"] { border-color: var(--glow); transform: translateY(-2px); box-shadow: 0 8px 20px -12px var(--glow); }
.nd-app .logo { --k: .62; }
.mm-apps { display: flex; flex-wrap: wrap; gap: 6px; padding: 2px 0 10px 12px; }
.mm-apps a { display: inline-flex; align-items: center; height: 38px; padding: 0 12px; border-radius: 10px; border: 1px solid var(--border); background: var(--surface); }
.mm-apps .logo { --k: .5 !important; margin: 0 !important; }
@media (min-width: 1100px) {
  .main-nav .nav-drop > a { color: var(--text); text-decoration: none; font-weight: 600; font-size: 15px; padding: 10px 8px 10px 10px; border-radius: 10px; white-space: nowrap; }
  .main-nav .nav-drop > a:hover, .nav-drop:focus-within > a { background: var(--surface-2); }
  .main-nav .nav-drop > a[aria-current="page"] { color: var(--accent-text); }
}
.mm-links .mm-apps { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; padding: 0 0 6px; }
.mm-links .mm-apps a { justify-content: center; min-height: 44px !important; padding: 0 8px !important; background: var(--surface); }
.mm-links > a:has(+ .mm-apps) { grid-column: 1 / -1; }

/* v5.8: страница отзывов */
.rv-hero { padding: 28px 0 40px; background: radial-gradient(90% 80% at 80% 0%, rgba(0, 255, 255, .08), transparent 60%), var(--bg); }
.rv-hero h1 { font-size: clamp(34px, 5vw, 60px); line-height: 1.05; letter-spacing: -.025em; margin: 0 0 16px; }
.rv-hero h1 .hl { color: var(--c-turquoise); }
.rv-hero .hero-lead { max-width: 640px; color: var(--muted); font-size: 18px; margin: 0 0 28px; }
.rvp-sum { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.rvp-office { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 22px; border-radius: 22px; background: var(--surface); border: 1px solid var(--border); color: var(--text); text-decoration: none; transition: transform .25s, border-color .25s, box-shadow .25s; }
a.rvp-office:hover { transform: translateY(-4px); border-color: #FFB400; box-shadow: 0 18px 40px -22px rgba(255, 180, 0, .6); text-decoration: none; }
.rvp-city { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: var(--muted); } .rvp-city svg { width: 16px; height: 16px; }
.rvp-office b { font-size: 56px; font-weight: 900; line-height: 1; letter-spacing: -.03em; }
.rvp-office .stars svg { width: 22px; height: 22px; }
.rvp-office small { color: var(--muted); font-weight: 600; }
.rvp-go { margin-top: 6px; display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: var(--accent-text); } .rvp-go svg { width: 16px; height: 16px; }
.rvp-total { background: linear-gradient(135deg, rgba(0, 255, 255, .1), var(--surface)); }
.rvp-g { position: absolute; top: 18px; right: 18px; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; font-weight: 900; font-size: 20px; color: #4285F4; background: #fff; }
.rvp-list-sec { padding: 20px 0 64px; }
.rvp-grid { list-style: none; margin: 0 0 28px; padding: 0; columns: 3 300px; column-gap: 14px; }
.rvp-grid li { break-inside: avoid; margin-bottom: 14px; opacity: 0; transform: translateY(14px); animation: gc-in .6s cubic-bezier(.2, .7, .2, 1) both; animation-delay: calc(var(--i) * .04s); }
.rvp-grid .rv-card { width: auto; height: auto; }
.rvp-grid blockquote { -webkit-line-clamp: unset; display: block; }
.rvp-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding: 24px; border-radius: 24px; background: var(--surface); border: 1px solid var(--border); }
.rvp-cta p { margin: 0; font-size: 22px; font-weight: 800; }
.rvp-cta > div { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.rvp-cta .msg-btn svg { color: #FFB400; fill: #FFB400; }
@media (prefers-reduced-motion: reduce) { .rvp-grid li { animation: none; opacity: 1; transform: none; } }

/* v5.9: контакты и соцсети в подвале */
.fc h2 { margin-bottom: 14px; }
.fc-phone { display: inline-flex; align-items: center; gap: 10px; font-size: 22px; font-weight: 800; color: #fff; text-decoration: none; letter-spacing: -.01em; }
.fc-phone svg { width: 22px; height: 22px; color: var(--c-turquoise); }
.fc-phone:hover { color: var(--c-turquoise); text-decoration: none; }
.fc-msg { display: flex; gap: 8px; margin: 12px 0 16px; }
.fc-chip { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 14px; border-radius: 12px; border: 1px solid rgba(255, 255, 255, .14); background: rgba(255, 255, 255, .04); color: #EAF2F4; font-weight: 700; font-size: 14px; text-decoration: none; transition: border-color .2s, transform .2s; }
.fc-chip svg { width: 18px; height: 18px; }
.fc-tg svg { color: #2AABEE; } .fc-wa svg { color: #25D366; }
.fc-tg:hover { border-color: #2AABEE; transform: translateY(-2px); text-decoration: none; } .fc-wa:hover { border-color: #25D366; transform: translateY(-2px); text-decoration: none; }
.fc-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.fc-list li, .fc-list a { display: flex; gap: 10px; align-items: flex-start; color: #A9BCC1; font-size: 14px; text-decoration: none; }
.fc-list a:hover b { color: var(--c-turquoise); }
.fc-list svg { width: 18px; height: 18px; flex: none; margin-top: 2px; color: var(--c-turquoise); }
.fc-list b { display: block; color: #EAF2F4; font-size: 14px; }
.footer-social { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-top: 32px; padding: 20px 0; border-top: 1px solid rgba(255, 255, 255, .08); }
.fs-group { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.fs-label { color: #8FA3A9; font-weight: 700; font-size: 13px; text-transform: uppercase; letter-spacing: .06em; margin-right: 6px; }
.fs-btn { position: relative; overflow: hidden; isolation: isolate; display: inline-flex; align-items: center; gap: 10px; height: 52px; padding: 0 16px 0 8px; border-radius: 16px; border: 1px solid rgba(255, 255, 255, .12); background: rgba(255, 255, 255, .03); color: #fff; text-decoration: none; transition: transform .25s, border-color .25s, box-shadow .25s; }
.fs-btn svg { width: 36px; height: 36px; padding: 8px; border-radius: 11px; color: #fff; flex: none; }
.fs-ig svg { background: radial-gradient(circle at 30% 110%, #FDD15A 0%, #F46A35 35%, #D6297A 60%, #8D3AC6 90%); }
.fs-tt svg { background: #000; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .15), -2px 0 0 #25F4EE inset, 2px 0 0 #FE2C55 inset; }
.fs-tg svg { background: #2AABEE; }
.fs-btn b { display: block; font-size: 14px; line-height: 1.1; } .fs-btn small { display: block; font-size: 12px; color: #8FA3A9; font-weight: 600; }
.fs-btn:hover { transform: translateY(-3px); text-decoration: none; }
.fs-ig:hover { border-color: #D6297A; box-shadow: 0 12px 26px -14px #D6297A; }
.fs-tt:hover { border-color: #25F4EE; box-shadow: 0 12px 26px -14px #FE2C55; }
.fs-tg:hover { border-color: #2AABEE; box-shadow: 0 12px 26px -14px #2AABEE; }
@media (max-width: 640px) { .fs-group { width: 100%; } .fs-btn { flex: 1 1 100%; } .fs-label { width: 100%; } .fs-stores .store-btn { flex: 1 1 100%; } }
footer .store-btn, footer .store-btn:hover { color: #0B1316; text-decoration: none; }
footer .store-btn .sb-txt b { color: #0B1316; } footer .store-btn .sb-txt small { color: #5B6B71; }
footer .store-btn.is-mine .sb-txt small { color: #0B4A4E; }
.rv-trn { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: -4px 0 0; font-size: 12px; color: #8FA3A9; font-weight: 600; }
.rv-trn span { display: inline-flex; align-items: center; gap: 5px; } .rv-trn svg { width: 13px; height: 13px; }
.rv-trn button { padding: 0; border: 0; background: none; color: var(--accent-text); font: inherit; font-weight: 700; cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
blockquote[hidden] { display: none !important; }
/* v6.1: колёса по точным центрам колпаков */
.hn-wheel { transform-origin: 50% 50%; will-change: transform; }
.hn-wf { left: 6.663%; top: 59.843%; width: 10.999%; height: 32.756%; }
.hn-wr { left: 64.622%; top: 60.000%; width: 12.057%; height: 35.906%; }
@media (min-width: 900px) { .stats3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
/* v6.4: логотип в шапке — чёткий и внутри шапки */
.site-header .logo { display: flex; align-items: center; flex: none; padding: 6px 0; }
.site-header .logo img { height: 40px; width: auto; image-rendering: auto; }
@media (min-width: 768px) { .site-header .logo img { height: 46px; } }
/* вкладка «Приложение»: без фона, только цвет и живая точка */
.main-nav > a.nav-app, .main-nav > a.nav-app:hover { background: none; padding-right: 18px; }
.main-nav > a.nav-app:hover { text-shadow: 0 0 14px rgba(0, 255, 255, .55); }
.main-nav > a.nav-app[aria-current="page"] { background: none; color: var(--c-turquoise) !important; text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 2px; }
.nav-app .nav-dot { top: 9px; right: 4px; width: 8px; height: 8px; background: #00FFFF; box-shadow: 0 0 8px #00FFFF; animation: nav-dot 1.8s ease-out infinite; }
.main-nav > a.nav-app[aria-current="page"] .nav-dot { background: #00FFFF; box-shadow: 0 0 8px #00FFFF; }
@keyframes nav-dot { 0% { box-shadow: 0 0 0 0 rgba(0, 255, 255, .7), 0 0 8px #00FFFF; } 70% { box-shadow: 0 0 0 9px rgba(0, 255, 255, 0), 0 0 8px #00FFFF; } 100% { box-shadow: 0 0 0 0 rgba(0, 255, 255, 0), 0 0 8px #00FFFF; } }
@media (prefers-reduced-motion: reduce) { .nav-app .nav-dot { animation: none; } }

/* v6.5 — Viber */
.msg-vb svg { color: #8B7BFF; } .msg-vb:hover { border-color: #7360F2; }
.fc-vb svg { color: #8B7BFF; }
.fc-vb:hover { border-color: #7360F2; transform: translateY(-2px); text-decoration: none; }
.hero2-msg { flex-wrap: wrap; }
.fc-msg { flex-wrap: wrap; }
.dp-card { display: flex; flex-direction: column; }
.dp-card > .btn { margin-top: auto; }
.dp-card-hl .dp-hint { margin-bottom: 24px; }

/* v6.6 — шифр Enigma в шагах */
.proc-card .enc { color: var(--c-turquoise); text-shadow: 0 0 10px rgba(0, 255, 255, .55); font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; letter-spacing: -.01em; font-size: .9em; }
.proc-card p .enc { opacity: .75; }

/* ============ v7.0 — Блог / Poradnik ============ */
.bl-t-start { --tc: #00FFFF; } .bl-t-money { --tc: #2BE38F; } .bl-t-docs { --tc: #5B9BFF; } .bl-t-tax { --tc: #FFB020; }
.bl-t-apps { --tc: #9C8CFF; } .bl-t-vehicle { --tc: #FF7A3D; } .bl-t-tips { --tc: #FF5FA2; }
.bl-h { display: flex; align-items: center; gap: 10px; font-size: 22px; margin: 0 0 16px; letter-spacing: -.01em; }
.bl-h svg { width: 22px; height: 22px; color: var(--c-turquoise); }

.bl-hero { position: relative; padding: 8px 0 36px; background: radial-gradient(70% 90% at 85% 0%, rgba(0, 255, 255, .10), transparent 60%), radial-gradient(50% 70% at 0% 100%, rgba(0, 102, 255, .08), transparent 60%), var(--bg); overflow: hidden; }
.bl-hero::after { content: "QWERTZUIO ASDFGHJK PYXCVBNML"; position: absolute; right: -2%; top: 18%; font-family: ui-monospace, Menlo, monospace; font-size: 15px; letter-spacing: .6em; color: rgba(0, 255, 255, .10); width: 340px; line-height: 3.2; white-space: normal; pointer-events: none; }
.bl-hero .eyebrow { margin-bottom: 16px; }
.bl-hero h1 { font-size: clamp(32px, 5vw, 58px); line-height: 1.06; letter-spacing: -.025em; margin: 0 0 16px; max-width: 900px; }
.bl-hero h1 .hl { color: var(--c-turquoise); }
.bl-hero .hero-lead { max-width: 680px; color: var(--muted); font-size: 18px; margin: 0 0 24px; }
.bl-search { position: relative; max-width: 720px; z-index: 5; }
.bl-search-box { display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 0 18px; border-radius: 20px; background: var(--surface); border: 1px solid rgba(0, 255, 255, .28); box-shadow: 0 0 0 6px rgba(0, 255, 255, .05), 0 20px 50px -20px rgba(0, 0, 0, .8); transition: border-color .2s, box-shadow .2s; }
.bl-search-box:focus-within { border-color: var(--c-turquoise); box-shadow: 0 0 0 6px rgba(0, 255, 255, .12), 0 20px 50px -20px rgba(0, 0, 0, .8); }
.bl-search-box svg { width: 22px; height: 22px; color: var(--c-turquoise); flex: none; }
.bl-search-box input { flex: 1; min-width: 0; height: 60px; border: 0; background: none; color: var(--text); font: inherit; font-size: 17px; outline: none; }
.bl-search-box input::placeholder { color: #6F8288; }
.bl-search-box kbd { font: 600 12px ui-monospace, Menlo, monospace; color: var(--muted); border: 1px solid var(--border); border-radius: 6px; padding: 2px 7px; }
.bl-suggest { position: absolute; left: 0; right: 0; top: calc(100% + 8px); list-style: none; margin: 0; padding: 8px; border-radius: 18px; background: #0D1519; border: 1px solid var(--border); box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .9); }
.bl-suggest a { display: grid; grid-template-columns: auto 1fr; gap: 2px 12px; padding: 10px 12px; border-radius: 12px; color: var(--text); text-decoration: none; }
.bl-suggest a:hover, .bl-suggest a[aria-selected="true"] { background: rgba(0, 255, 255, .08); }
.bl-suggest i { grid-row: span 2; align-self: center; width: 10px; height: 10px; border-radius: 50%; background: var(--tc); box-shadow: 0 0 10px var(--tc); }
.bl-suggest b { font-size: 15px; } .bl-suggest small { color: var(--muted); font-size: 13px; }
.bl-suggest mark { background: none; color: var(--c-turquoise); }
.bl-suggest .bl-sg-all { display: block; text-align: center; color: var(--c-turquoise); font-weight: 700; font-size: 14px; }
.bl-qs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 16px 0 0; color: var(--muted); font-size: 14px; }
.bl-qs button { min-height: 36px; padding: 4px 14px; border-radius: 999px; border: 1px solid var(--border); background: var(--surface-2); color: var(--text); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; transition: border-color .2s, color .2s; }
.bl-qs button:hover { border-color: var(--c-turquoise); color: var(--c-turquoise); }

.bl-who-sec { padding: 28px 0 8px; }
.bl-who { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.bl-who-btn { display: flex; align-items: center; gap: 14px; min-height: 84px; padding: 14px 18px; border-radius: 20px; border: 1px solid var(--border); background: var(--surface); color: var(--text); font: inherit; text-align: left; cursor: pointer; transition: border-color .2s, background .2s, transform .2s; }
.bl-who-btn svg { width: 44px; height: 44px; padding: 10px; border-radius: 14px; background: var(--surface-2); color: var(--muted); flex: none; transition: background .2s, color .2s; }
.bl-who-btn span { display: grid; } .bl-who-btn b { font-size: 17px; } .bl-who-btn small { color: var(--muted); font-size: 13px; }
.bl-who-btn:hover { transform: translateY(-2px); border-color: rgba(0, 255, 255, .45); }
.bl-who-btn[aria-pressed="true"] { border-color: var(--c-turquoise); background: linear-gradient(135deg, rgba(0, 255, 255, .12), rgba(0, 255, 255, .02)); box-shadow: 0 0 0 1px var(--c-turquoise) inset, 0 14px 40px -18px rgba(0, 255, 255, .5); }
.bl-who-btn[aria-pressed="true"] svg { background: var(--c-turquoise); color: #031012; }

.bl-top { padding: 32px 0 8px; }
.bl-top-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.bl-feat-card { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); border-radius: 24px; overflow: hidden; background: var(--surface); border: 1px solid var(--border); color: var(--text); text-decoration: none; transition: border-color .2s, transform .25s; }
.bl-feat-card + .bl-feat-card { margin-top: 0; }
.bl-feat-card:hover { border-color: rgba(0, 255, 255, .45); transform: translateY(-3px); text-decoration: none; }
.bl-feat-body { display: grid; gap: 10px; align-content: start; padding: 24px; }
.bl-feat-body > b { font-size: 24px; line-height: 1.2; letter-spacing: -.01em; }
.bl-feat-body > span:not(.btn):not(.bl-meta) { color: var(--muted); }
.bl-feat-body ul { list-style: none; padding: 0; margin: 4px 0 8px; display: grid; gap: 8px; font-size: 14px; color: #CFDCE0; }
.bl-feat-body li { display: flex; gap: 8px; } .bl-feat-body li svg { width: 18px; height: 18px; color: var(--c-turquoise); flex: none; margin-top: 2px; }
.bl-feat-body .btn { justify-self: start; }

.bl-pop { padding: 22px; border-radius: 24px; background: var(--surface); border: 1px solid var(--border); }
.bl-pop ol { list-style: none; margin: 0; padding: 0; counter-reset: pop; display: grid; }
.bl-pop li { counter-increment: pop; border-top: 1px solid var(--border); }
.bl-pop li:first-child { border-top: 0; }
.bl-pop a { display: flex; gap: 14px; align-items: flex-start; padding: 12px 0; color: var(--text); text-decoration: none; }
.bl-pop a:hover b { color: var(--c-turquoise); }
.bl-pop-n::before { content: counter(pop, decimal-leading-zero); font-family: var(--font-display); font-weight: 900; font-size: 22px; line-height: 1; color: transparent; -webkit-text-stroke: 1px var(--c-turquoise); }
.bl-pop b { display: block; font-size: 15px; line-height: 1.35; transition: color .2s; } .bl-pop small { color: var(--muted); font-size: 13px; }

.bl-path { margin-top: 28px; padding: 24px; border-radius: 24px; background: linear-gradient(120deg, rgba(0, 255, 255, .08), rgba(0, 102, 255, .05)); border: 1px solid rgba(0, 255, 255, .22); }
.bl-path-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 20px; }
.bl-path-head p { margin: 0 0 16px; color: var(--muted); }
.bl-path-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; position: relative; }
.bl-path-list a { position: relative; display: grid; gap: 8px; align-content: start; height: 100%; padding: 16px; border-radius: 16px; background: rgba(5, 8, 10, .6); border: 1px solid var(--border); color: var(--text); text-decoration: none; transition: border-color .2s, transform .2s; }
.bl-path-list a:hover { border-color: var(--c-turquoise); transform: translateY(-2px); }
.bl-path-list li:not(:last-child) a::after { content: ""; position: absolute; right: -12px; top: 30px; width: 12px; height: 2px; background: var(--c-turquoise); opacity: .5; }
.bl-path-n { font-family: var(--font-display); font-weight: 900; color: var(--c-turquoise); font-size: 14px; letter-spacing: .1em; }
.bl-path-list b { font-size: 15px; line-height: 1.35; }
.bl-path-list small { display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: 13px; } .bl-path-list small svg { width: 14px; height: 14px; }

.bl-all { padding: 48px 0 56px; }
.bl-all-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 4px; }
.bl-all-head .bl-h { margin: 0; }
.bl-found { color: var(--muted); font-size: 14px; }
.bl-topics { display: flex; gap: 8px; overflow-x: auto; padding: 14px 0 20px; scrollbar-width: none; }
.bl-topics::-webkit-scrollbar { display: none; }
.bl-topics button { flex: none; display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 6px 14px; border-radius: 999px; border: 1px solid var(--border); background: var(--surface); color: var(--text); font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; transition: border-color .2s, background .2s; }
.bl-topics button svg { width: 16px; height: 16px; color: var(--muted); }
.bl-topics i { font-style: normal; font-size: 12px; min-width: 22px; padding: 1px 6px; border-radius: 999px; background: var(--surface-2); color: var(--muted); text-align: center; }
.bl-topics button:hover { border-color: rgba(0, 255, 255, .45); }
.bl-topics button[aria-pressed="true"] { background: var(--c-turquoise); border-color: var(--c-turquoise); color: #031012; }
.bl-topics button[aria-pressed="true"] svg, .bl-topics button[aria-pressed="true"] i { color: #031012; background: rgba(0, 0, 0, .12); }

.bl-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.bl-card a { display: flex; flex-direction: column; height: 100%; border-radius: 22px; overflow: hidden; background: var(--surface); border: 1px solid var(--border); color: var(--text); text-decoration: none; transition: border-color .2s, transform .25s, box-shadow .25s; }
.bl-card a:hover { transform: translateY(-4px); border-color: color-mix(in srgb, var(--tc, #00FFFF) 55%, transparent); box-shadow: 0 24px 50px -28px color-mix(in srgb, var(--tc, #00FFFF) 60%, transparent); }
.bl-card { --tc: #00FFFF; }
.bl-card[data-topic="money"] { --tc: #2BE38F; } .bl-card[data-topic="docs"] { --tc: #5B9BFF; } .bl-card[data-topic="tax"] { --tc: #FFB020; } .bl-card[data-topic="apps"] { --tc: #9C8CFF; } .bl-card[data-topic="vehicle"] { --tc: #FF7A3D; } .bl-card[data-topic="tips"] { --tc: #FF5FA2; }
.bl-body { display: flex; flex-direction: column; gap: 10px; padding: 18px 20px 20px; flex: 1; }
.bl-title { font-size: 18px; line-height: 1.3; letter-spacing: -.01em; }
.bl-ex { color: var(--muted); font-size: 14px; line-height: 1.5; flex: 1; }
.bl-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 4px; }
.bl-go { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: 14px; color: var(--tc, #00FFFF); }
.bl-go svg { width: 16px; height: 16px; transition: transform .2s; } .bl-card a:hover .bl-go svg { transform: translateX(4px); }
.bl-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; font-size: 13px; color: var(--muted); }
.bl-meta > span:last-child { display: inline-flex; align-items: center; gap: 5px; } .bl-meta svg { width: 14px; height: 14px; }
.bl-topic { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 800; letter-spacing: .02em; color: var(--tc); background: color-mix(in srgb, var(--tc) 14%, transparent); border: 1px solid color-mix(in srgb, var(--tc) 35%, transparent); }
.bl-topic svg { width: 14px; height: 14px; }
.bl-aud { font-size: 12px; font-weight: 700; padding: 3px 10px; border-radius: 999px; background: var(--surface-2); color: var(--muted); border: 1px solid var(--border); }
.bl-aud-taxi { color: #FFD43B; border-color: rgba(255, 212, 59, .35); } .bl-aud-delivery { color: #FF9F45; border-color: rgba(255, 159, 69, .35); }

.bl-cover { position: relative; display: block; aspect-ratio: 16 / 8; overflow: hidden; background: radial-gradient(120% 120% at 85% 15%, color-mix(in srgb, var(--tc) 45%, transparent), transparent 55%), linear-gradient(160deg, #0B1418, #060A0C); border-bottom: 1px solid color-mix(in srgb, var(--tc) 25%, transparent); }
.bl-cover::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(color-mix(in srgb, var(--tc) 40%, transparent) 1px, transparent 1.4px); background-size: 16px 16px; opacity: .35; -webkit-mask: linear-gradient(90deg, transparent, #000 70%); mask: linear-gradient(90deg, transparent, #000 70%); }
.bl-cipher { position: absolute; left: 18px; top: 16px; right: 40%; font: 700 12px/1.7 ui-monospace, Menlo, monospace; letter-spacing: .28em; color: color-mix(in srgb, var(--tc) 70%, transparent); word-break: break-all; opacity: .8; }
.bl-ic { position: absolute; right: 20px; bottom: 18px; display: grid; place-items: center; width: 72px; height: 72px; border-radius: 22px; background: color-mix(in srgb, var(--tc) 16%, #071013); border: 1px solid color-mix(in srgb, var(--tc) 55%, transparent); box-shadow: 0 0 34px -6px color-mix(in srgb, var(--tc) 70%, transparent), inset 0 0 18px -6px var(--tc); color: var(--tc); transition: transform .35s; }
.bl-ic svg { width: 34px; height: 34px; }
.bl-card a:hover .bl-ic, .bl-feat-card:hover .bl-ic { transform: rotate(-8deg) scale(1.06); }
.bl-cover-lg { aspect-ratio: auto; height: 100%; min-height: 280px; border-bottom: 0; border-right: 1px solid color-mix(in srgb, var(--tc) 25%, transparent); }
.bl-cover-lg .bl-ic { width: 96px; height: 96px; right: 28px; bottom: 28px; } .bl-cover-lg .bl-ic svg { width: 44px; height: 44px; }
.bl-cover-lg .bl-cipher { right: 18px; font-size: 13px; }

.bl-empty { display: grid; justify-items: center; gap: 8px; text-align: center; padding: 40px 20px; border-radius: 24px; border: 1px dashed var(--border); background: var(--surface); }
.bl-empty b { font-size: 20px; } .bl-empty p { margin: 0 0 8px; color: var(--muted); }
.bl-empty div { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }

.bl-gloss-sec { padding: 56px 0; background: var(--bg-soft); }
.bl-gloss { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.bl-gloss details, .ar-faq details { border-radius: 16px; background: var(--surface); border: 1px solid var(--border); transition: border-color .2s; }
.bl-gloss details[open], .ar-faq details[open] { border-color: rgba(0, 255, 255, .4); }
.bl-gloss summary, .ar-faq summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 56px; padding: 12px 18px; cursor: pointer; font-weight: 700; }
.bl-gloss summary::-webkit-details-marker, .ar-faq summary::-webkit-details-marker { display: none; }
.bl-gloss summary b { font-family: ui-monospace, Menlo, monospace; letter-spacing: .02em; color: #DFFFFF; }
.bl-gloss summary svg, .ar-faq summary svg { width: 18px; height: 18px; color: var(--c-turquoise); flex: none; transition: transform .25s; }
.bl-gloss details[open] summary svg, .ar-faq details[open] summary svg { transform: rotate(45deg); }
.bl-gloss p, .ar-faq p { margin: 0; padding: 0 18px 16px; color: var(--muted); }

.bl-help { padding: 48px 0; }
.bl-help-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 20px; }
.bl-help-card { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; padding: 24px; border-radius: 24px; background: var(--surface); border: 1px solid var(--border); color: var(--text); text-decoration: none; }
.bl-help-card > div:not(.bl-help-btns) { flex: 1 1 220px; } .bl-help-card b { font-size: 18px; } .bl-help-card p { margin: 4px 0 0; color: var(--muted); font-size: 15px; }
.bl-help-ic { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 18px; background: rgba(0, 255, 255, .1); color: var(--c-turquoise); flex: none; } .bl-help-ic svg { width: 28px; height: 28px; }
.bl-help-btns { display: flex; flex-wrap: wrap; gap: 8px; width: 100%; }
.bl-channel { background: linear-gradient(135deg, rgba(42, 171, 238, .16), rgba(0, 255, 255, .04)); border-color: rgba(42, 171, 238, .4); }
.bl-channel:hover { text-decoration: none; border-color: #2AABEE; }

/* ---- статья ---- */
.ar-progress { position: fixed; left: 0; right: 0; top: 0; height: 3px; z-index: 60; pointer-events: none; }
.ar-progress span { display: block; height: 100%; width: 100%; transform-origin: 0 50%; transform: scaleX(var(--p, 0)); background: linear-gradient(90deg, var(--c-turquoise), #5B9BFF); box-shadow: 0 0 12px rgba(0, 255, 255, .7); }
.ar-hero { padding: 4px 0 36px; background: radial-gradient(70% 100% at 90% 0%, color-mix(in srgb, var(--tc) 16%, transparent), transparent 60%), var(--bg); border-bottom: 1px solid var(--border); }
.ar-hero-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 32px; align-items: center; }
.ar-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.ar-hero h1 { font-size: clamp(30px, 4.4vw, 50px); line-height: 1.08; letter-spacing: -.025em; margin: 0 0 14px; }
.ar-hero .hero-lead { color: var(--muted); font-size: 18px; margin: 0 0 18px; max-width: 640px; }
.ar-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin: 0; color: var(--muted); font-size: 14px; }
.ar-meta span { display: inline-flex; align-items: center; gap: 6px; } .ar-meta svg { width: 16px; height: 16px; }
.ar-share { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 4px 12px; border-radius: 999px; border: 1px solid var(--border); background: var(--surface); color: var(--text); font: inherit; font-weight: 700; font-size: 13px; cursor: pointer; }
.ar-share svg { transform: rotate(-45deg); }
.bl-cover-hero { aspect-ratio: 4 / 3; border-radius: 28px; border: 1px solid color-mix(in srgb, var(--tc) 35%, transparent); }
.bl-cover-hero .bl-ic { width: 120px; height: 120px; right: 50%; bottom: 50%; transform: translate(50%, 50%); border-radius: 34px; } .bl-cover-hero .bl-ic svg { width: 56px; height: 56px; }
.bl-cover-hero .bl-cipher { right: 18px; font-size: 14px; }
.ar-layout { display: grid; grid-template-columns: 260px minmax(0, 760px); justify-content: center; gap: 48px; padding-top: 40px; padding-bottom: 40px; }
.ar-aside { position: relative; }
.ar-toc, .ar-aside-cta { position: sticky; top: 96px; }
.ar-toc { padding: 18px; border-radius: 20px; background: var(--surface); border: 1px solid var(--border); }
.ar-toc b { display: block; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin-bottom: 10px; }
.ar-toc ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; counter-reset: toc; }
.ar-toc a { position: relative; display: block; padding: 8px 10px 8px 14px; border-radius: 10px; color: var(--muted); text-decoration: none; font-size: 14px; line-height: 1.35; transition: color .2s, background .2s; }
.ar-toc a::before { content: ""; position: absolute; left: 0; top: 8px; bottom: 8px; width: 2px; border-radius: 2px; background: var(--border); transition: background .2s; }
.ar-toc a:hover { color: var(--text); }
.ar-toc a.is-on { color: var(--text); background: rgba(0, 255, 255, .06); } .ar-toc a.is-on::before { background: var(--c-turquoise); box-shadow: 0 0 8px var(--c-turquoise); }
.ar-aside-cta { top: auto; margin-top: 14px; display: flex; align-items: center; gap: 10px; padding: 14px 16px; border-radius: 16px; background: rgba(0, 255, 255, .08); border: 1px solid rgba(0, 255, 255, .3); color: var(--c-turquoise); font-weight: 700; font-size: 14px; text-decoration: none; }
.ar-aside-cta svg { width: 20px; height: 20px; }
.ar-body { min-width: 0; font-size: 17px; line-height: 1.7; }
.ar-tldr { padding: 22px 24px; border-radius: 22px; background: linear-gradient(135deg, rgba(0, 255, 255, .1), rgba(0, 255, 255, .02)); border: 1px solid rgba(0, 255, 255, .35); margin-bottom: 36px; }
.ar-tldr > b { display: flex; align-items: center; gap: 8px; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--c-turquoise); }
.ar-tldr > b svg { width: 18px; height: 18px; }
.ar-tldr ul { margin: 12px 0 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.ar-tldr li { position: relative; padding-left: 26px; color: #E3EEF0; }
.ar-tldr li::before { content: ""; position: absolute; left: 4px; top: .62em; width: 10px; height: 10px; border-radius: 3px; background: var(--c-turquoise); transform: rotate(45deg); box-shadow: 0 0 10px rgba(0, 255, 255, .6); }
.ar-sec { scroll-margin-top: 100px; margin-bottom: 36px; }
.ar-sec h2 { display: flex; align-items: center; gap: 14px; font-size: clamp(22px, 2.6vw, 28px); line-height: 1.25; letter-spacing: -.015em; margin: 0 0 14px; }
.ar-n { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; font-family: var(--font-display); font-weight: 900; font-size: 14px; color: var(--c-turquoise); background: rgba(0, 255, 255, .08); border: 1px solid rgba(0, 255, 255, .3); }
.ar-sec p { margin: 0 0 14px; color: #CBD8DC; }
.ar-list { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 10px; }
.ar-list li { display: flex; gap: 12px; align-items: flex-start; padding: 12px 16px; border-radius: 14px; background: var(--surface); border: 1px solid var(--border); }
.ar-list svg { width: 20px; height: 20px; color: var(--c-turquoise); flex: none; margin-top: 4px; }
.ar-tip { margin: 6px 0 0; padding: 16px 18px; border-radius: 16px; border-left: 3px solid var(--warm, #FFC400); background: rgba(255, 196, 0, .07); }
.ar-tip b { display: flex; align-items: center; gap: 8px; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--warm, #FFC400); }
.ar-tip b svg { width: 16px; height: 16px; } .ar-tip p { margin: 6px 0 0; color: #E8E1C8; }
.ar-faq { display: grid; gap: 10px; }
.ar-helpful { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 20px; border-radius: 18px; border: 1px solid var(--border); background: var(--surface); margin: 8px 0 24px; }
.ar-helpful > div { display: flex; gap: 8px; }
.ar-helpful button { min-height: 42px; padding: 4px 16px; border-radius: 12px; border: 1px solid var(--border); background: var(--surface-2); color: var(--text); font: inherit; font-weight: 700; cursor: pointer; transition: border-color .2s, transform .15s; }
.ar-helpful button:hover { border-color: var(--c-turquoise); transform: translateY(-1px); }
.ar-helpful p { width: 100%; margin: 0; color: var(--c-turquoise); font-size: 15px; }
.ar-helpful.is-voted > div { display: none; }
.ar-cta { display: grid; gap: 16px; padding: 26px; border-radius: 24px; background: radial-gradient(80% 120% at 100% 0%, rgba(0, 255, 255, .16), transparent 60%), #0B1417; border: 1px solid rgba(0, 255, 255, .3); margin-bottom: 20px; }
.ar-cta b { font-size: 22px; } .ar-cta p { margin: 4px 0 0; color: var(--muted); }
.ar-cta-btns { display: flex; flex-wrap: wrap; gap: 10px; }
.ar-next { display: grid; grid-template-columns: 1fr auto; gap: 2px 16px; align-items: center; padding: 18px 22px; border-radius: 18px; border: 1px solid var(--border); background: var(--surface); color: var(--text); text-decoration: none; transition: border-color .2s; }
.ar-next small { color: var(--muted); font-size: 13px; text-transform: uppercase; letter-spacing: .08em; } .ar-next b { grid-column: 1; font-size: 17px; }
.ar-next svg { grid-row: 1 / 3; grid-column: 2; width: 22px; height: 22px; color: var(--c-turquoise); transition: transform .2s; }
.ar-next:hover { border-color: var(--c-turquoise); text-decoration: none; } .ar-next:hover svg { transform: translateX(4px); }
.ar-related { background: var(--bg-soft); }

@media (max-width: 1080px) {
  .bl-top-grid { grid-template-columns: 1fr; }
  .bl-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bl-path-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .bl-path-list li a::after { display: none; }
  .ar-layout { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .ar-aside { display: none; }
  .ar-hero-grid { grid-template-columns: 1fr; } .bl-cover-hero { display: none; }
}
@media (max-width: 720px) {
  .bl-who { grid-template-columns: 1fr; gap: 10px; } .bl-who-btn { min-height: 68px; }
  .bl-feat-card { grid-template-columns: 1fr; } .bl-cover-lg { min-height: 0; aspect-ratio: 16 / 8; border-right: 0; border-bottom: 1px solid color-mix(in srgb, var(--tc) 25%, transparent); }
  .bl-cover-lg .bl-ic { width: 72px; height: 72px; right: 20px; bottom: 18px; }
  .bl-grid, .bl-path-list, .bl-gloss, .bl-help-grid { grid-template-columns: 1fr; }
  .bl-search-box kbd, .bl-hero::after { display: none; }
  .ar-body { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) { .bl-card a, .bl-ic, .bl-who-btn { transition: none; } }
.ar-hero h1 .enc { color: var(--tc, #00FFFF); text-shadow: 0 0 14px color-mix(in srgb, var(--tc, #00FFFF) 60%, transparent); font-family: ui-monospace, Menlo, Consolas, monospace; font-size: .86em; letter-spacing: -.02em; }
.bl-card[hidden], .bl-pop li[hidden], .bl-feat-card[hidden] { display: none !important; }
.bl-path-list[hidden], .bl-empty[hidden], .bl-suggest[hidden], .ar-helpful p[hidden] { display: none !important; }
.ar-sec { padding: 0; background: none; }
@media (max-width: 720px) {
  .bl-who { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .bl-who-btn { flex-direction: column; justify-content: center; text-align: center; gap: 8px; min-height: 96px; padding: 12px 6px; }
  .bl-who-btn small { display: none; } .bl-who-btn b { font-size: 14px; line-height: 1.25; }
  .bl-who-btn svg { width: 40px; height: 40px; padding: 9px; }
}
/* v7.1 — темы переносятся, номера популярного ровные */
.bl-topics { flex-wrap: wrap; overflow: visible; }
.bl-topics button[hidden] { display: none; }
@media (max-width: 720px) { .bl-topics { flex-wrap: nowrap; overflow-x: auto; margin-right: calc(-1 * var(--gutter, 16px)); padding-right: var(--gutter, 16px); } }
.bl-pop-n { flex: none; width: 40px; display: flex; justify-content: flex-start; padding-top: 1px; }
.bl-pop-n::before { font-family: var(--font-display); font-weight: 900; font-size: 20px; line-height: 1.1; font-variant-numeric: tabular-nums; color: rgba(0, 255, 255, .45); -webkit-text-stroke: 0; text-shadow: none; }
.bl-pop li.is-top .bl-pop-n::before { color: var(--c-turquoise); text-shadow: 0 0 12px rgba(0, 255, 255, .45); }
.bl-pop ol { overflow: hidden; } .bl-pop li, .bl-pop li:first-child { border-top: 1px solid var(--border); margin-top: -1px; }
/* v7.2 — статьи: шаги, таблицы, предупреждения, калькулятор */
.ar-steps { list-style: none; counter-reset: st; margin: 0 0 14px; padding: 0; display: grid; gap: 10px; }
.ar-steps li { counter-increment: st; position: relative; padding: 14px 16px 14px 60px; border-radius: 14px; background: var(--surface); border: 1px solid var(--border); color: #DCE7EA; }
.ar-steps li::before { content: counter(st); position: absolute; left: 14px; top: 12px; width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; background: var(--c-turquoise); color: #031012; font-family: var(--font-display); font-weight: 900; font-size: 14px; }
.ar-steps li:not(:last-child)::after { content: ""; position: absolute; left: 29px; top: 46px; bottom: -12px; width: 2px; background: rgba(0, 255, 255, .25); }
.ar-tb { margin: 4px 0 14px; overflow-x: auto; border-radius: 16px; border: 1px solid var(--border); }
.ar-tb table { width: 100%; border-collapse: collapse; font-size: 15px; min-width: 420px; }
.ar-tb th { text-align: left; padding: 12px 16px; background: rgba(0, 255, 255, .08); color: var(--c-turquoise); font-size: 13px; letter-spacing: .06em; text-transform: uppercase; }
.ar-tb td { padding: 12px 16px; border-top: 1px solid var(--border); color: #DCE7EA; vertical-align: top; }
.ar-tb td:last-child { font-weight: 700; color: var(--text); }
.ar-tb-sum tbody tr:last-child td { background: rgba(0, 255, 255, .08); color: var(--c-turquoise); font-weight: 800; }
.ar-warn { margin: 6px 0 12px; padding: 16px 18px; border-radius: 16px; border-left: 3px solid #FF6B5B; background: rgba(255, 107, 91, .08); }
.ar-warn b { display: flex; align-items: center; gap: 8px; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: #FF8A7D; }
.ar-warn b svg { width: 16px; height: 16px; } .ar-warn p { margin: 6px 0 0; color: #F1D6D2; }
.ar-hub details p { padding-bottom: 8px; }
.ar-more { display: inline-flex; align-items: center; gap: 6px; margin: 0 18px 16px; font-size: 14px; font-weight: 700; color: var(--c-turquoise); text-decoration: none; }
.ar-more svg { width: 16px; height: 16px; flex: none; }
.ar-calc-card { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin: 0 0 36px; padding: 20px 22px; border-radius: 20px; background: linear-gradient(120deg, rgba(0, 255, 255, .14), rgba(0, 102, 255, .08)); border: 1px solid rgba(0, 255, 255, .45); color: var(--text); text-decoration: none; transition: transform .2s, box-shadow .2s; }
.ar-calc-card:hover { transform: translateY(-2px); box-shadow: 0 18px 40px -20px rgba(0, 255, 255, .6); text-decoration: none; }
.ar-calc-card > span:nth-child(2) { flex: 1 1 240px; display: grid; gap: 2px; } .ar-calc-card b { font-size: 18px; } .ar-calc-card small { color: var(--muted); font-size: 14px; }
.ar-calc-ic { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; background: var(--c-turquoise); color: #031012; flex: none; } .ar-calc-ic svg { width: 26px; height: 26px; }
.ar ~ .calc-sec { scroll-margin-top: 90px; }
@media (max-width: 720px) { .ar-tb table { min-width: 0; font-size: 14px; } .ar-tb th, .ar-tb td { padding: 10px 12px; } .ar-steps li { padding-left: 54px; } }
/* v7.3 — якоря: отступ = реальная высота шапки */
html { scroll-padding-top: 0; }
[id], .ar-sec, .pc-sec, .ar ~ .calc-sec { scroll-margin-top: calc(var(--sticky-h, var(--header-h)) + 16px); }
.bl-more-wrap { display: flex; justify-content: center; margin-top: 24px; }
.bl-more[hidden] { display: none; }
.bl-more { min-width: 260px; }

/* v7.5 — акции для старта */
.promo-band { padding: 28px 0 8px; }
.promo-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.promo-head .btn { min-height: 44px; padding: 8px 18px; font-size: 15px; }
.promo-grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); }
.promo-n2 { --n: 2; } .promo-n3 { --n: 3; } .promo-n4 { --n: 4; }
@media (max-width: 1180px) { .promo-n4 { --n: 2; } }
.promo-card { position: relative; display: flex; gap: 14px; align-items: flex-start; padding: 18px; border-radius: 20px; background: linear-gradient(135deg, color-mix(in srgb, var(--pc) 16%, transparent), transparent 70%), var(--surface); border: 1px solid color-mix(in srgb, var(--pc) 40%, transparent); overflow: hidden; }
.promo-card::after { content: ""; position: absolute; right: -40px; top: -40px; width: 120px; height: 120px; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--pc) 35%, transparent), transparent 70%); pointer-events: none; }
.promo-week { --pc: #00FFFF; } .promo-bolt { --pc: #34D186; } .promo-ref { --pc: #FFC400; } .promo-food { --pc: #FF8A3D; }
.promo-ic { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; flex: none; color: var(--pc); background: color-mix(in srgb, var(--pc) 14%, #071013); border: 1px solid color-mix(in srgb, var(--pc) 45%, transparent); box-shadow: 0 0 22px -6px var(--pc); }
.promo-ic svg { width: 24px; height: 24px; }
.promo-txt { display: grid; gap: 2px; }
.promo-txt b { font-family: var(--font-display); font-weight: 900; font-size: 24px; line-height: 1.1; color: var(--pc); }
.promo-txt strong { font-size: 15px; }
.promo-txt small { color: var(--muted); font-size: 13px; line-height: 1.45; margin-top: 2px; }
.promo-note { margin: 10px 0 0; color: var(--muted); font-size: 12px; }
@media (max-width: 860px) { .promo-grid { grid-template-columns: 1fr; } .promo-txt b { font-size: 22px; } }
/* v7.5 — оглавление и кнопка калькулятора липнут вместе, без наложения */
.ar-toc, .ar-aside-cta { position: static; }
.ar-aside { position: sticky; top: calc(var(--sticky-h, var(--header-h)) + 16px); align-self: start; max-height: calc(100vh - var(--sticky-h, 72px) - 32px); overflow-y: auto; scrollbar-width: none; }
.ar-aside::-webkit-scrollbar { display: none; }

/* ===== v7.6: фото статей ===== */
.bl-cover.has-ph { background: #071013; }
.bl-cover.has-ph > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.bl-cover.has-ph::before { z-index: 1; opacity: .18; }
.bl-cover.has-ph::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(4,8,10,.05) 30%, rgba(4,8,10,.55)), linear-gradient(120deg, color-mix(in srgb, var(--tc) 22%, transparent), transparent 45%); }
.bl-cover.has-ph .bl-cipher { z-index: 2; top: auto; bottom: 12px; left: 14px; right: auto; max-width: 60%; padding: 4px 8px; border-radius: 8px; background: rgba(4,8,10,.55); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); color: color-mix(in srgb, var(--tc) 80%, #fff); font-size: 10px; letter-spacing: .22em; opacity: .9; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bl-cover.has-ph .bl-ic { z-index: 2; width: 44px; height: 44px; right: 12px; bottom: 12px; border-radius: 14px; background: rgba(4,8,10,.6); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.bl-cover.has-ph .bl-ic svg { width: 22px; height: 22px; }
.bl-card a:hover .bl-cover.has-ph > img, .bl-feat-card:hover .bl-cover.has-ph > img { transform: scale(1.05); }
.bl-cover-lg.has-ph .bl-ic { width: 56px; height: 56px; right: 18px; bottom: 18px; } .bl-cover-lg.has-ph .bl-ic svg { width: 28px; height: 28px; }
.bl-cover-lg.has-ph .bl-cipher { bottom: 18px; left: 18px; }
.bl-cover-hero.has-ph { aspect-ratio: 16 / 11; box-shadow: 0 30px 60px -30px rgba(0,0,0,.7), 0 0 0 1px color-mix(in srgb, var(--tc) 30%, transparent); }
.bl-cover-hero.has-ph .bl-ic { width: 64px; height: 64px; right: 18px; bottom: 18px; transform: none; border-radius: 18px; } .bl-cover-hero.has-ph .bl-ic svg { width: 30px; height: 30px; }
.bl-cover-hero.has-ph .bl-cipher { bottom: 22px; left: 20px; font-size: 11px; }
@media (max-width: 900px) { .ar-hero-grid .bl-cover-hero.has-ph { display: block; aspect-ratio: 16 / 9; border-radius: 20px; margin-top: 8px; } }

/* ===== v7.6: страницы городов ===== */
.ct-hero { position: relative; isolation: isolate; overflow: hidden; padding: 8px 0 56px; min-height: min(78vh, 680px); display: flex; align-items: flex-end; color: #F1F6F7; background: #05080A; }
.ct-hero-bg { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; animation: ct-zoom 22s ease-out both; }
.ct-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(5,8,10,.55) 0%, rgba(5,8,10,.15) 30%, rgba(5,8,10,.7) 68%, #05080A 100%), linear-gradient(90deg, rgba(5,8,10,.75), transparent 65%); }
@keyframes ct-zoom { from { transform: scale(1.08); } to { transform: scale(1); } }
.ct-hero-in { width: 100%; }
.ct-hero .crumbs, .ct-hero .crumbs a { color: rgba(241,246,247,.75); }
.ct-hero h1 { font-size: clamp(36px, 6vw, 72px); line-height: 1.02; letter-spacing: -.03em; margin: 16px 0 16px; max-width: 900px; color: #fff; text-shadow: 0 4px 30px rgba(0,0,0,.4); }
.ct-hero h1 .hl { color: var(--c-turquoise); display: inline-block; }
.ct-hero .hero-lead { color: rgba(241,246,247,.88); max-width: 640px; font-size: 18px; margin: 0 0 26px; }
.btn-glass { background: rgba(255,255,255,.1); color: #fff; border: 1px solid rgba(255,255,255,.28); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); box-shadow: none; }
.btn-glass:hover { background: rgba(255,255,255,.18); }
.btn-glass svg { width: 20px; height: 20px; }
.ct-chips { list-style: none; padding: 0; margin: 26px 0 0; display: flex; flex-wrap: wrap; gap: 8px; }
.ct-chips li, .ct-chips a { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 6px 14px; border-radius: 999px; background: rgba(5,8,10,.55); border: 1px solid rgba(255,255,255,.16); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); font-size: 14px; font-weight: 600; color: #E8F0F2; text-decoration: none; }
.ct-chips svg { width: 16px; height: 16px; color: var(--c-turquoise); }
.ct-chips .ct-chip-rate { padding: 0; border: 0; background: none; }
.ct-chips .ct-chip-rate a { border-color: rgba(255,180,0,.45); }
.ct-chips .ct-chip-rate svg { color: #FFB400; fill: #FFB400; }

.ct-facts { padding: 0; margin-top: -28px; position: relative; z-index: 2; }
.ct-facts-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.ct-facts-grid li { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 14px; align-items: center; padding: 18px 20px; border-radius: var(--radius); background: var(--surface); border: 1px solid var(--border); box-shadow: 0 20px 40px -28px rgba(0,0,0,.6); animation: ct-up .6s calc(var(--i) * 80ms) both; }
.ct-f-ic { grid-row: span 2; display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: rgba(0,255,255,.1); color: var(--accent-text); }
.ct-f-ic svg { width: 24px; height: 24px; }
.ct-facts-grid b { font-size: 28px; font-weight: 900; line-height: 1.1; letter-spacing: -.02em; }
.ct-facts-grid b small { font-size: 15px; font-weight: 700; color: var(--muted); }
.ct-facts-grid li > span:last-child { font-size: 13px; color: var(--muted); line-height: 1.3; }
@keyframes ct-up { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

.ct-visit-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 20px; align-items: start; }
.ct-office, .ct-map { background: var(--surface); border: 1px solid var(--border); border-radius: 24px; padding: 24px; min-width: 0; }
.ct-o-addr { display: flex; gap: 14px; align-items: flex-start; padding-bottom: 18px; border-bottom: 1px solid var(--border); }
.ct-o-pin { flex: none; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; background: var(--accent); color: var(--on-accent); box-shadow: 0 0 30px -6px rgba(0,255,255,.6); }
.ct-o-pin svg { width: 26px; height: 26px; }
.ct-o-addr > span:not(.ct-o-pin) { display: flex; flex-direction: column; }
.ct-o-addr small, .ct-o-label { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); }
.ct-o-addr b { font-size: 24px; font-weight: 800; line-height: 1.2; }
.ct-o-list { margin: 14px 0 6px; display: grid; gap: 2px; }
.ct-o-list > div { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px dashed var(--border); }
.ct-o-list dt { display: inline-flex; align-items: center; gap: 8px; color: var(--muted); font-weight: 600; }
.ct-o-list dt svg { width: 18px; height: 18px; }
.ct-o-list dd { margin: 0; font-weight: 700; text-align: right; }
.ct-o-label { margin: 18px 0 10px; }
.ct-o-msg { display: flex; flex-wrap: wrap; gap: 8px; }
.ct-transit { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.ct-transit li { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border-radius: 12px; background: var(--surface-2); font-size: 15px; }
.ct-transit svg { flex: none; width: 20px; height: 20px; color: var(--accent-text); margin-top: 1px; }
.ct-remote { display: flex; gap: 8px; align-items: flex-start; margin: 16px 0 0; font-size: 14px; color: var(--muted); }
.ct-remote svg { flex: none; width: 18px; height: 18px; color: var(--accent-text); }
.ct-map { display: flex; flex-direction: column; gap: 14px; }
.ct-map-top .ct-o-label { margin-top: 0; }
.ct-from, .ct-modes { display: flex; flex-wrap: wrap; gap: 8px; }
.ct-from button, .ct-modes button { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 8px 14px; border-radius: 12px; border: 1px solid var(--border); background: var(--surface-2); color: var(--text); font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; transition: border-color .2s, background .2s, color .2s; }
.ct-from button svg, .ct-modes button svg { width: 18px; height: 18px; }
.ct-from button:hover, .ct-modes button:hover { border-color: var(--accent); }
.ct-from button[aria-pressed="true"] { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.ct-modes { margin-top: 10px; padding: 4px; border-radius: 14px; background: var(--surface-2); border: 1px solid var(--border); display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; }
.ct-modes[hidden] { display: none; }
.ct-modes button { justify-content: center; border: 0; background: transparent; min-height: 38px; padding: 6px 8px; }
.ct-modes button[aria-pressed="true"] { background: var(--surface); color: var(--accent-text); box-shadow: 0 2px 10px -4px rgba(0,0,0,.4); }
.ct-frame { position: relative; border-radius: 18px; overflow: hidden; aspect-ratio: 16 / 10; background: radial-gradient(circle at 50% 50%, rgba(0,255,255,.12), transparent 60%), var(--surface-2); border: 1px solid var(--border); }
.ct-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
:root[data-theme="dark"] .ct-frame iframe { filter: invert(.9) hue-rotate(180deg) saturate(.8) contrast(.92); }
.ct-frame-pin { position: absolute; left: 12px; top: 12px; display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: 10px; background: rgba(5,8,10,.75); color: #fff; font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; pointer-events: none; }
.ct-frame-pin svg { width: 14px; height: 14px; color: var(--c-turquoise); }
.ct-own { display: flex; gap: 8px; align-items: center; padding: 6px 6px 6px 14px; border-radius: 16px; background: var(--surface-2); border: 1px solid var(--border); }
.ct-own:focus-within { border-color: var(--accent); }
.ct-own-ic svg { width: 18px; height: 18px; color: var(--muted); display: block; }
.ct-own input { flex: 1; min-width: 0; min-height: 44px; border: 0; background: transparent; color: var(--text); font: inherit; font-size: 16px; outline: none; }
.ct-own .btn { flex: none; min-height: 44px; }
.ct-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.ct-act { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding: 8px 14px; border-radius: 12px; border: 1px solid var(--border); background: var(--surface); color: var(--text); font-size: 14px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.ct-act svg { width: 18px; height: 18px; }
.ct-act:hover { border-color: var(--accent); }
.ct-act-main { border-color: color-mix(in srgb, var(--accent) 60%, transparent); color: var(--accent-text); }
.ct-map-note { margin: 0; font-size: 13px; color: var(--muted); }
.ct-photos { margin-top: 28px; }
.ct-photos h3 { font-size: 20px; margin-bottom: 14px; }
.ct-photos-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 14px; }
.ct-photos-grid figure { position: relative; margin: 0; border-radius: 20px; overflow: hidden; height: 440px; }
.ct-photos-grid img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ct-photos-grid figcaption { position: absolute; left: 12px; bottom: 12px; padding: 6px 12px; border-radius: 10px; background: rgba(5,8,10,.7); color: #fff; font-size: 13px; font-weight: 700; }

.ct-why { background: var(--bg-soft); }
.ct-why-grid { list-style: none; margin: 0 0 22px; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.ct-why-grid li { padding: 22px; border-radius: var(--radius); background: var(--surface); border: 1px solid var(--border); }
.ct-why-ic { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: rgba(0,255,255,.1); color: var(--accent-text); margin-bottom: 14px; }
.ct-why-ic svg { width: 24px; height: 24px; }
.ct-why-grid b { display: block; font-size: 18px; margin-bottom: 6px; }
.ct-why-grid p { margin: 0; color: var(--muted); font-size: 15px; }
.ct-work { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.ct-work-card { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 10px; padding: 26px; border-radius: 24px; border: 1px solid var(--border); background: var(--surface); color: var(--text); text-decoration: none; transition: transform .25s, border-color .25s; }
.ct-work-card::after { content: ""; position: absolute; right: -60px; top: -60px; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, var(--wc), transparent 70%); opacity: .25; pointer-events: none; }
.ct-w-taxi { --wc: #FFB400; } .ct-w-del { --wc: #FF7A1A; }
.ct-work-card:hover { transform: translateY(-3px); border-color: var(--wc); }
.ct-w-top { display: inline-flex; align-items: center; gap: 10px; font-size: 20px; }
.ct-w-top svg { width: 26px; height: 26px; color: var(--wc); }
.ct-w-rate { font-size: 40px; font-weight: 900; letter-spacing: -.03em; line-height: 1; }
.ct-w-rate small { font-size: 15px; font-weight: 700; color: var(--muted); letter-spacing: 0; }
.ct-w-d { color: var(--muted); }
.ct-w-apps { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.ct-w-apps .logo { height: 22px; }
.ct-w-go { display: inline-flex; align-items: center; gap: 6px; font-weight: 800; color: var(--link); margin-top: auto; }
.ct-w-go svg { width: 18px; height: 18px; }

.ct-ver-in { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 28px; align-items: center; }
.ct-ver h2 { font-size: clamp(24px, 3vw, 34px); margin-bottom: 10px; }
.ct-ver p { color: var(--muted); margin: 0 0 10px; }
.ct-ver-note { font-size: 14px; }
.ct-ver-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ct-ver-list li { display: grid; grid-template-columns: 120px 1fr auto; gap: 14px; align-items: center; padding: 16px 18px; border-radius: 18px; background: var(--surface); border: 1px solid var(--border); }
.ct-ver-wm .logo { height: 24px; }
.ct-ver-ad { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; }
.ct-ver-ad svg { flex: none; width: 18px; height: 18px; color: var(--accent-text); }
.ct-ver-go { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: var(--surface-2); border: 1px solid var(--border); color: var(--accent-text); }
.ct-ver-go svg { width: 18px; height: 18px; }

.ct-rev-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; margin-bottom: 20px; }
.ct-rev-head h2 { font-size: clamp(24px, 3vw, 34px); margin-bottom: 8px; }
.ct-rev-sum { display: inline-flex; align-items: center; gap: 10px; color: var(--text); text-decoration: none; }
.ct-rev-sum b { font-size: 30px; font-weight: 900; }
.ct-rev-sum span:last-child { color: var(--muted); font-size: 14px; }
.ct-rev-sum .stars svg { color: #FFB400; fill: #FFB400; }

.ct-other { padding-top: 0; }
.ct-other-card { position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; min-height: 200px; padding: 32px; border-radius: 28px; color: #fff; text-decoration: none; }
.ct-other-card > img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.ct-other-card::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(5,8,10,.88), rgba(5,8,10,.35)); }
.ct-other-card:hover > img { transform: scale(1.04); }
.ct-other-txt { display: flex; flex-direction: column; gap: 6px; }
.ct-other-txt small { font-size: 13px; text-transform: uppercase; letter-spacing: .08em; color: rgba(255,255,255,.7); font-weight: 700; }
.ct-other-txt b { font-size: clamp(22px, 3vw, 32px); font-weight: 900; }
.ct-other-txt span { display: inline-flex; align-items: center; gap: 6px; color: rgba(255,255,255,.85); }
.ct-other-txt svg { width: 16px; height: 16px; color: var(--c-turquoise); }
.office-links { display: flex; flex-wrap: wrap; gap: 8px 18px; }

@media (max-width: 1000px) {
  .ct-facts-grid { grid-template-columns: repeat(2, 1fr); }
  .ct-visit-grid, .ct-ver-in { grid-template-columns: 1fr; }
  .ct-why-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .ct-hero { min-height: 560px; padding-bottom: 48px; }
  .ct-hero .hero2-ctas .btn { width: 100%; justify-content: center; }
  .ct-facts-grid li { padding: 14px; column-gap: 10px; }
  .ct-f-ic { width: 40px; height: 40px; } .ct-facts-grid b { font-size: 22px; }
  .ct-why-grid, .ct-work { grid-template-columns: 1fr; }
  .ct-why-grid li { display: grid; grid-template-columns: auto 1fr; gap: 2px 14px; padding: 16px; } .ct-why-ic { grid-row: span 2; margin: 0; }
  .ct-office, .ct-map { padding: 18px; border-radius: 20px; }
  .ct-modes span { display: none; }
  .ct-frame { aspect-ratio: 4 / 5; }
  .ct-own { flex-wrap: wrap; padding: 8px; } .ct-own .btn { width: 100%; justify-content: center; }
  .ct-ver-list li { grid-template-columns: 1fr auto; } .ct-ver-wm { grid-column: 1 / -1; }
  .ct-photos-grid { grid-template-columns: 1fr; } .ct-photos-grid figure { height: 300px; } .ct-photos-grid figure:last-child { height: 460px; }
  .ct-other-card { padding: 24px; }
  .ct-act { flex: 1 1 calc(50% - 4px); min-width: 0; white-space: normal; text-align: center; }
  .ct-act-main { flex-basis: 100%; }
}
@media (prefers-reduced-motion: reduce) { .ct-hero-bg, .ct-facts-grid li { animation: none; } .bl-cover.has-ph > img, .ct-work-card, .ct-other-card > img { transition: none; } }

/* ===== v7.7: статичная карта, офисные карточки ===== */
.ct-static { position: absolute; inset: 0; display: block; }
.ct-static img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.ct-static:hover img { transform: scale(1.03); }
.ct-live { position: absolute; left: 12px; bottom: 12px; display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 12px; background: rgba(5,8,10,.82); border: 1px solid rgba(0,255,255,.45); color: #fff; font-size: 14px; font-weight: 800; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.ct-live svg { width: 18px; height: 18px; color: var(--c-turquoise); }
.ct-frame.is-live .ct-static { display: none; }
.ct-ver-wm { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.ct-ver-tag { font-style: normal; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; padding: 3px 8px; border-radius: 999px; background: rgba(0,255,255,.12); color: var(--accent-text); }

.oc3-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; }
.oc3 { position: relative; display: flex; flex-direction: column; overflow: hidden; border-radius: 24px; border: 1px solid var(--border); background: var(--surface); color: var(--text); text-decoration: none; transition: transform .25s, border-color .25s, box-shadow .25s; }
a.oc3:hover { transform: translateY(-4px); border-color: color-mix(in srgb, var(--accent) 70%, transparent); box-shadow: 0 24px 50px -30px rgba(0,255,255,.45); }
.oc3-map { position: relative; height: 170px; overflow: hidden; background: #0b1114; }
.oc3-map img { width: 100%; height: 100%; object-fit: cover; display: block; transform: scale(1.15); transition: transform .8s cubic-bezier(.2,.7,.2,1); }
a.oc3:hover .oc3-map img { transform: scale(1.22); }
.oc3-map::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, var(--surface)); }
.oc3-chip { position: absolute; left: 16px; top: 16px; z-index: 1; display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; background: rgba(5,8,10,.8); border: 1px solid rgba(255,255,255,.14); color: #fff; font-size: 13px; font-weight: 800; }
.oc3-chip svg { width: 15px; height: 15px; color: #FFB400; fill: #FFB400; }
.oc3-body { display: flex; flex-direction: column; gap: 10px; padding: 4px 22px 22px; flex: 1; }
.oc3-city { font-size: 28px; font-weight: 900; letter-spacing: -.02em; line-height: 1.1; }
.oc3-addr { display: flex; gap: 8px; align-items: flex-start; font-weight: 700; }
.oc3-addr svg, .oc3-meta svg { flex: none; width: 18px; height: 18px; color: var(--accent-text); margin-top: 2px; }
.oc3-meta { display: flex; gap: 8px; align-items: center; color: var(--muted); font-size: 14px; }
.oc3-meta svg { margin-top: 0; }
.oc3-go { margin-top: auto; display: inline-flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 16px; border-radius: 14px; background: var(--surface-2); border: 1px solid var(--border); font-weight: 800; color: var(--accent-text); transition: background .25s, color .25s; }
.oc3-go svg { width: 18px; height: 18px; transition: transform .25s; }
a.oc3:hover .oc3-go { background: var(--accent); color: var(--on-accent); border-color: var(--accent); }
a.oc3:hover .oc3-go svg { transform: translateX(4px); }
.oc3-contact { padding: 22px; gap: 14px; background: radial-gradient(120% 80% at 100% 0%, rgba(0,255,255,.1), transparent 60%), var(--surface); }
.oc3-contact .oc3-city { font-size: 22px; }
.oc3-cl { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.oc3-cl a { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 12px; background: var(--surface-2); border: 1px solid var(--border); color: var(--text); text-decoration: none; font-weight: 700; transition: border-color .2s; }
.oc3-cl a:hover { border-color: var(--accent); }
.oc3-cl svg { width: 20px; height: 20px; color: var(--accent-text); }
.oc3-dl { margin: 4px 0 0; display: grid; gap: 8px; font-size: 14px; }
.oc3-dl div { display: flex; justify-content: space-between; gap: 10px; padding-top: 8px; border-top: 1px dashed var(--border); }
.oc3-dl dt { color: var(--muted); } .oc3-dl dd { margin: 0; font-weight: 700; text-align: right; }
@media (max-width: 1000px) { .oc3-grid { grid-template-columns: 1fr 1fr; } .oc3-contact { grid-column: 1 / -1; } }
@media (max-width: 640px) { .oc3-grid { grid-template-columns: 1fr; } .oc3-map { height: 140px; } }
@media (prefers-reduced-motion: reduce) { .oc3, .oc3-map img, .ct-static img { transition: none; } }

/* v7.8: без карточки «баланс» — две статистики + контроль в ряду */
@media (min-width: 720px) { .bento-control { grid-column: span 2; } }
@media (min-width: 1100px) { .bento-stat, .bento-control { grid-column: span 4; } }
.dp-foot { justify-content: flex-end; }

/* v7.9: график выплат без разбивки по банкам */
.dot-pay { display: inline-block; width: 12px; height: 12px; border-radius: 4px; background: #FFB400; }
.sch-when { display: flex; flex-direction: column; gap: 8px; padding: 22px; border-radius: 18px; background: radial-gradient(120% 100% at 0% 0%, rgba(0,255,255,.18), transparent 70%), var(--surface-2); border: 1px solid color-mix(in srgb, var(--accent) 40%, transparent); }
.sch-when b { font-size: clamp(28px, 3vw, 38px); font-weight: 900; letter-spacing: -.02em; line-height: 1.05; color: var(--accent-text); }
.sch-when span { color: var(--muted); }
.sch-banks dd { white-space: nowrap; }

/* v7.10: график выплат — адаптив под любые ширины */
.sch-grid { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 760px) { .sch-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .sch-grid .sch-app { grid-column: 1 / -1; } }
@media (min-width: 1200px) { .sch-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .sch-grid .sch-app { grid-column: auto; } }
.sch-card { container-type: inline-size; min-width: 0; }
.sch-card header .pc-ic { flex: none; }
.sch-card header > div { min-width: 0; }
.sch-card h3 { font-size: clamp(18px, 6cqi, 22px); line-height: 1.2; }
.sch-banks div { flex-wrap: wrap; row-gap: 4px; }
.sch-banks dt { flex: 1 1 auto; min-width: 0; }
.sch-banks dd { white-space: normal; margin-left: auto; }
.sch-banks i { flex: none; }
.wk li { min-width: 0; overflow: hidden; }
@container (max-width: 380px) { .wk { gap: 3px; } .wk li { height: 34px; font-size: 11px; border-radius: 8px; } }
@container (max-width: 300px) { .wk li { font-size: 10px; letter-spacing: -.02em; } }
.sch-when b { font-size: clamp(26px, 9cqi, 38px); }
.sch-app { display: flex; }
@media (min-width: 760px) and (max-width: 1199px) { .sch-app .sch-when { flex-direction: row; align-items: baseline; gap: 16px; flex-wrap: wrap; } }

/* v7.11: кнопки App Store / Google Play — тёмные, читаемые везде (включая мобильное меню и футер) */
a.store-btn, .mobile-menu a.store-btn, footer a.store-btn {
  background: linear-gradient(#0B1316, #0B1316) padding-box, linear-gradient(120deg, rgba(0,255,255,.9), rgba(0,255,255,.15) 45%, rgba(0,255,255,.6)) border-box;
  border: 1.5px solid transparent; color: #F2F8F9; min-height: 64px; padding: 9px 12px 9px 9px; border-radius: 18px;
  box-shadow: 0 14px 30px -18px rgba(0,255,255,.7);
}
a.store-btn .sb-ic { background: var(--c-turquoise); color: #05080A; }
a.store-btn .sb-txt b, .mobile-menu a.store-btn .sb-txt b, footer a.store-btn .sb-txt b { color: #FFFFFF; }
a.store-btn .sb-txt small, .mobile-menu a.store-btn .sb-txt small, footer a.store-btn .sb-txt small { color: #9FB4B9; }
a.store-btn .sb-dl { margin-left: auto; background: rgba(0,255,255,.12); color: var(--c-turquoise); border: 1px solid rgba(0,255,255,.45); }
a.store-btn::before { background: linear-gradient(110deg, transparent 35%, rgba(0,255,255,.18) 50%, transparent 65%); }
a.store-btn:hover, a.store-btn:focus-visible { color: #FFFFFF; box-shadow: 0 0 0 2px var(--c-turquoise), 0 18px 36px -14px rgba(0,255,255,.75); }
a.store-btn:hover .sb-dl { background: var(--c-turquoise); color: #05080A; }
a.store-btn.is-mine, .mobile-menu a.store-btn.is-mine, footer a.store-btn.is-mine { background: var(--c-turquoise); border-color: var(--c-turquoise); }
a.store-btn.is-mine .sb-ic { background: #05080A; color: var(--c-turquoise); }
a.store-btn.is-mine .sb-txt b { color: #05080A; } a.store-btn.is-mine .sb-txt small { color: #0B4A4E; }
a.store-btn.is-mine .sb-dl { background: #05080A; color: var(--c-turquoise); border-color: #05080A; }
.mm-stores .store-btn { flex: 1 1 200px; }

/* v7.15: ссылки в статьях и документы для скачивания */
.ar-body a.ar-lnk, .ar-body a.ar-ext { color: var(--link); font-weight: 700; text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 3px; text-decoration-color: color-mix(in srgb, var(--link) 45%, transparent); }
.ar-body a.ar-lnk:hover, .ar-body a.ar-ext:hover { text-decoration-color: currentColor; }
.ar-body a.ar-ext::after { content: "↗"; font-size: .8em; margin-left: 2px; text-decoration: none; display: inline-block; }
.ar-dl { margin: 0 0 28px; padding: 18px; border-radius: 20px; border: 1px solid color-mix(in srgb, var(--accent) 40%, transparent); background: radial-gradient(120% 120% at 0% 0%, rgba(0,255,255,.1), transparent 60%), var(--surface); }
.ar-dl > b { display: flex; align-items: center; gap: 8px; font-size: 13px; text-transform: uppercase; letter-spacing: .08em; color: var(--accent-text); margin-bottom: 12px; }
.ar-dl > b svg { width: 18px; height: 18px; }
.ar-dl ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ar-dl a { display: flex; align-items: center; gap: 14px; padding: 12px 14px; border-radius: 16px; background: var(--surface-2); border: 1px solid var(--border); color: var(--text); text-decoration: none; transition: border-color .2s, transform .2s; }
.ar-dl a:hover { border-color: var(--accent); transform: translateY(-2px); }
.ar-dl-ic { position: relative; flex: none; display: grid; place-items: center; width: 46px; height: 52px; border-radius: 10px; background: #0B1316; color: var(--c-turquoise); border: 1px solid rgba(0,255,255,.35); }
.ar-dl-ic svg { width: 20px; height: 20px; margin-top: -8px; }
.ar-dl-ic i { position: absolute; bottom: 5px; font-style: normal; font-size: 9px; font-weight: 900; letter-spacing: .08em; color: #FFFFFF; }
.ar-dl a > span:nth-child(2) { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.ar-dl strong { font-size: 15px; line-height: 1.3; }
.ar-dl small { color: var(--muted); font-size: 13px; }
.ar-dl-go { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--accent); color: var(--on-accent); }
.ar-dl-go svg { width: 18px; height: 18px; }

/* v7.16 urgent help note */
.urg{display:block;margin-top:3px;font-size:.82em;font-weight:500;line-height:1.35;color:var(--accent-text)}

/* v7.17: иконка в чипе приложения, налоги Glovo/Pyszne, живой блок «Мгновенная выплата» */
.app-chips b.chip-ic { display: inline-flex; align-items: center; height: 30px; }
.app-chips b.chip-ic svg { width: 34px; height: 34px; stroke-width: 2.2; }
.app-chips b.chip-ic small { display: none; }
.pc-taxw { display: grid; gap: 10px; min-width: 0; }
.pc-tax-t { margin: 0; display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: var(--text); }
.pc-tax-t svg { width: 18px; height: 18px; flex: none; color: var(--warm, #FFB400); }
.pc-zero { margin-bottom: 0; }

.sch-app { position: relative; overflow: hidden; isolation: isolate; gap: 16px;
  background: radial-gradient(90% 70% at 100% 0%, rgba(0,255,255,.16), transparent 60%), radial-gradient(70% 60% at 0% 100%, rgba(0,180,200,.12), transparent 60%), #0B1316; }
.sch-app::before { content: ''; position: absolute; inset: -40% -20% auto auto; width: 70%; aspect-ratio: 1; border-radius: 50%; z-index: -1;
  background: radial-gradient(circle, rgba(0,255,255,.22), transparent 65%); animation: slGlow 6s ease-in-out infinite; }
@keyframes slGlow { 0%,100% { transform: translate(0,0) scale(1); opacity: .7; } 50% { transform: translate(-12%, 10%) scale(1.15); opacity: 1; } }
.sch-app .sch-when { background: linear-gradient(135deg, rgba(0,255,255,.16), rgba(0,255,255,.03)); border-color: rgba(0,255,255,.4); color: #EEF5F6; }
.sch-app .sch-when b { color: #7DFFFF; text-shadow: 0 0 24px rgba(0,255,255,.35); }
.sch-app .sch-when span { color: #C9D6DA; }
.sl-flow { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; position: relative; }
.sl-flow::before { content: ''; position: absolute; left: 21px; top: 22px; bottom: 22px; width: 2px; border-radius: 2px;
  background: linear-gradient(rgba(0,255,255,.15), rgba(0,255,255,.15)); }
.sl-flow::after { content: ''; position: absolute; left: 18px; top: 22px; width: 8px; height: 8px; border-radius: 50%;
  background: #7DFFFF; box-shadow: 0 0 12px 3px rgba(0,255,255,.7); animation: slDot 3.6s cubic-bezier(.6,0,.4,1) infinite; }
@keyframes slDot { 0% { top: 22px; opacity: 0; } 8% { opacity: 1; } 85% { opacity: 1; } 100% { top: calc(100% - 30px); opacity: 0; } }
.sl-flow li { position: relative; display: flex; align-items: center; gap: 12px; padding: 8px 12px 8px 0; min-width: 0; }
.sl-ic { flex: none; width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; background: #13242A; border: 1px solid rgba(0,255,255,.3); color: #7DFFFF; position: relative; z-index: 1;
  animation: slStep 3.6s ease-in-out infinite; animation-delay: calc(var(--i) * 1.1s); }
.sl-ic svg { width: 20px; height: 20px; }
@keyframes slStep { 0%,100% { background: #13242A; color: #7DFFFF; box-shadow: none; } 12%,30% { background: #00FFFF; color: #00262A; box-shadow: 0 0 22px rgba(0,255,255,.55); } }
.sl-tx { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; min-width: 0; }
.sl-tx b { font-weight: 800; font-size: 16px; color: #EEF5F6; }
.sl-tx small { font-size: 13px; font-weight: 700; color: #7DFFFF; padding: 2px 8px; border-radius: 999px; background: rgba(0,255,255,.1); }
.sl-flow li:first-child small { color: #FFD266; background: rgba(255,180,0,.12); }
.sl-pills { list-style: none; margin: auto 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.sl-pills li { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: 999px; font-size: 13px; font-weight: 700; color: #DDF2F4; background: rgba(255,255,255,.05); border: 1px solid rgba(0,255,255,.22); }
.sl-pills svg { width: 15px; height: 15px; color: #7DFFFF; }
@media (min-width: 760px) and (max-width: 1199px) {
  .sch-app .sl-flow { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
  .sch-app .sl-flow::before, .sch-app .sl-flow::after { display: none; }
  .sch-app .sl-flow li { flex-direction: column; align-items: flex-start; padding: 14px; border-radius: 16px; background: rgba(255,255,255,.03); border: 1px solid rgba(0,255,255,.14); }
}
@media (prefers-reduced-motion: reduce) { .sch-app::before, .sl-flow::after, .sl-ic { animation: none; } }

/* v7.19: мобильное меню — не пропадает при прокрутке, страница под ним заблокирована */
html.menu-open .site-header { position: fixed; top: 0; left: 0; right: 0; z-index: 200; }
.mobile-menu { height: calc(100vh - var(--sticky-h, var(--header-h))); height: calc(100dvh - var(--sticky-h, var(--header-h))); max-height: none; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; touch-action: pan-y; }
html.menu-open { overflow: visible; }
html.panel-open body { overflow: hidden; }
@media (min-width: 1100px) { html.panel-open body { overflow: visible; } }

/* v7.20: страницы документов и центр помощи */
.lg-hero, .hp-hero { padding-bottom: 28px; }
.lg-badge { display: inline-flex; align-items: center; gap: 8px; margin: 18px 0 6px; padding: 6px 12px; border-radius: 999px; font-size: 13px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--accent-text); background: var(--accent-soft, rgba(0,255,255,.1)); border: 1px solid color-mix(in srgb, var(--accent) 35%, transparent); }
.lg-badge svg { width: 16px; height: 16px; }
.lg-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: center; margin: 6px 0 16px; color: var(--muted); font-weight: 600; font-size: 14px; }
.lg-meta span { display: inline-flex; align-items: center; gap: 6px; }
.lg-meta svg { width: 16px; height: 16px; }
.lg-print { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; border: 1px solid var(--border); background: var(--surface); color: var(--text); font: inherit; font-weight: 700; cursor: pointer; }
.lg-print:hover { border-color: var(--accent); }
.lg-print svg { width: 16px; height: 16px; }
.lg-todo { display: inline-block; padding: 0 8px; border-radius: 6px; font-size: .9em; font-weight: 700; color: #7A5200; background: #FFE7A8; }
:root[data-theme="dark"] .lg-todo { color: #FFD266; background: rgba(255,180,0,.14); }
.lg-sec .ar-tb td b { font-weight: 800; }
.lg-sec code { font-size: .88em; padding: 2px 6px; border-radius: 6px; background: var(--surface-2); border: 1px solid var(--border); white-space: nowrap; }
.lg-sec p a, .lg-sec li a { color: var(--accent-text); font-weight: 700; }
.lg-others { margin-top: 28px; display: grid; gap: 12px; }
.lg-others > b { font-size: 18px; }
.lg-others > div { display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.lg-others a { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: 16px; background: var(--surface); border: 1px solid var(--border); color: var(--text); text-decoration: none; font-weight: 800; transition: border-color .2s, transform .2s; }
.lg-others a:hover { border-color: var(--accent); transform: translateY(-2px); }
.lg-others a > svg { width: 18px; height: 18px; margin-left: auto; color: var(--accent-text); flex: none; }
.lg-oic { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: var(--surface-2); color: var(--accent-text); flex: none; }
.lg-oic svg { width: 20px; height: 20px; }
@media print {
  .site-header, .site-footer, .ar-aside, .ar-cta, .lg-others, .lg-print, .ar-progress, .pc-chips, .lead-sec { display: none !important; }
  .ar-layout { display: block !important; padding: 0 !important; }
  body { background: #fff !important; color: #000 !important; }
  .lg-sec { break-inside: avoid-page; }
}

.hp-search { display: flex; align-items: center; gap: 10px; max-width: 640px; margin: 18px 0 16px; padding: 0 18px; min-height: 58px; border-radius: 18px; background: var(--surface); border: 2px solid color-mix(in srgb, var(--accent) 45%, var(--border)); box-shadow: 0 10px 30px rgba(0,160,170,.12); }
.hp-search:focus-within { border-color: var(--accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 20%, transparent); }
.hp-search svg { width: 22px; height: 22px; color: var(--accent-text); flex: none; }
.hp-search input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--text); font: inherit; font-size: 17px; font-weight: 600; padding: 14px 0; }
.hp-cats { display: flex; flex-wrap: wrap; gap: 8px; }
.hp-cats button { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--border); background: var(--surface); color: var(--text); font: inherit; font-weight: 700; cursor: pointer; }
.hp-cats button svg { width: 18px; height: 18px; color: var(--accent-text); }
.hp-cats button small { font-size: 12px; font-weight: 800; padding: 1px 7px; border-radius: 999px; background: var(--surface-2); color: var(--muted); }
.hp-cats button[aria-pressed="true"] { background: var(--c-turquoise); border-color: var(--c-turquoise); color: #00262A; }
.hp-cats button[aria-pressed="true"] svg, .hp-cats button[aria-pressed="true"] small { color: #00262A; background: transparent; }
@media (max-width: 640px) { .hp-cats { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-right: calc(-1 * var(--gutter, 16px)); padding-right: var(--gutter, 16px); } .hp-cats button { flex: none; } }
.hp-layout { display: grid; gap: 28px; }
@media (min-width: 1000px) { .hp-layout { grid-template-columns: minmax(0, 1fr) 340px; align-items: start; } .hp-aside { position: sticky; top: calc(var(--sticky-h, var(--header-h)) + 16px); } }
.hp-groups { display: grid; gap: 28px; min-width: 0; }
.hp-group h2 { display: flex; align-items: center; gap: 12px; margin: 0 0 12px; font-size: clamp(20px, 2.4vw, 26px); }
.hp-group h2 .pc-ic { flex: none; }
.hp-empty { display: flex; align-items: center; gap: 10px; padding: 18px; border-radius: 16px; background: var(--surface); border: 1px dashed var(--border); font-weight: 700; }
.hp-empty svg { width: 20px; height: 20px; color: var(--accent-text); }
.hp-aside { display: grid; gap: 12px; }
.hp-contact { display: grid; gap: 12px; padding: 22px; border-radius: 24px; color: #EEF5F6; border: 1px solid rgba(0,255,255,.35);
  background: radial-gradient(100% 80% at 100% 0%, rgba(0,255,255,.18), transparent 60%), #0B1316; }
.hp-contact > b { font-size: 20px; }
.hp-contact > p { margin: 0; color: #C9D6DA; font-size: 15px; }
.hp-contact .btn { justify-content: center; }
.hp-msg { display: flex; flex-wrap: wrap; gap: 8px; }
.hp-msg .msg-btn { flex: 1 1 90px; justify-content: center; }
.hp-offices { list-style: none; margin: 4px 0 0; padding: 0; display: grid; gap: 8px; }
.hp-offices a { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border-radius: 14px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); color: #EEF5F6; text-decoration: none; }
.hp-offices a:hover { border-color: rgba(0,255,255,.4); }
.hp-offices svg { width: 18px; height: 18px; color: #7DFFFF; flex: none; margin-top: 3px; }
.hp-offices b { display: block; }
.hp-offices small { color: #B9CACE; font-size: 13px; }
.lg-hero h1, .hp-hero h1 { font-size: clamp(30px, 7.4vw, 64px); overflow-wrap: anywhere; hyphens: auto; }
.lg-hero h1 .hl { overflow-wrap: anywhere; }
.pc-sec.hp-body { padding-top: 12px; }
.lg-sec .ar-tb td:last-child { font-weight: 400; }
.lg-sec .ar-tb td b { font-weight: 800; }
.hp-contact .btn { white-space: nowrap; font-size: 15px; padding-inline: 14px; }
.lg-others > div { grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); }
.lg-others a { min-width: 0; font-size: 16px; line-height: 1.3; }
.lg-others a > span:not(.lg-oic) { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; hyphens: auto; }

/* v7.22: видео-отзывы на странице «Отзывы» */
.vr-sec { position: relative; padding: clamp(48px, 7vw, 96px) 0; overflow: hidden; isolation: isolate; }
.vr-sec::before { content: ''; position: absolute; inset: 0; z-index: -1; background: radial-gradient(60% 50% at 50% 0%, rgba(0,255,255,.10), transparent 70%), radial-gradient(40% 40% at 90% 80%, rgba(255,180,0,.06), transparent 70%); }
.vr-head { max-width: 760px; margin: 0 auto 36px; text-align: center; display: grid; justify-items: center; gap: 12px; }
.vr-head h2 { margin: 0; font-size: clamp(30px, 4.4vw, 52px); line-height: 1.08; letter-spacing: -.02em; }
.vr-head p { margin: 0; color: var(--muted); font-size: clamp(16px, 1.6vw, 19px); }
.vr-eyebrow { display: inline-flex; align-items: center; gap: 10px; padding: 7px 14px; border-radius: 999px; font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--accent-text); background: var(--surface); border: 1px solid color-mix(in srgb, var(--accent) 40%, transparent); }
.vr-rec { width: 9px; height: 9px; border-radius: 50%; background: #FF4D5E; box-shadow: 0 0 0 0 rgba(255,77,94,.6); animation: vrRec 1.6s ease-out infinite; }
@keyframes vrRec { 0% { box-shadow: 0 0 0 0 rgba(255,77,94,.55); } 100% { box-shadow: 0 0 0 10px rgba(255,77,94,0); } }
.vr-trust { list-style: none; margin: 6px 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.vr-trust li { display: inline-flex; align-items: center; gap: 7px; padding: 7px 12px; border-radius: 999px; background: var(--surface); border: 1px solid var(--border); font-size: 14px; font-weight: 700; }
.vr-trust svg { width: 16px; height: 16px; color: var(--accent-text); }

.vr-grid { list-style: none; margin: 0 auto; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2.4vw, 32px); max-width: 1120px; align-items: start; }
.vr-item { min-width: 0; }
@media (min-width: 901px) { .vr-item:nth-child(2) { margin-top: 40px; } }
.vr-card { margin: 0; display: grid; gap: 14px; }
.vr-frame { position: relative; aspect-ratio: 9 / 16; border-radius: 30px; overflow: hidden; background: #0B1316; isolation: isolate;
  border: 1px solid rgba(0,255,255,.28); box-shadow: 0 30px 60px -20px rgba(0,0,0,.55), 0 0 0 6px color-mix(in srgb, var(--surface) 70%, transparent); transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s; }
.vr-card:hover .vr-frame { transform: translateY(-6px); box-shadow: 0 40px 70px -24px rgba(0,0,0,.6), 0 0 0 6px color-mix(in srgb, var(--accent) 18%, transparent), 0 0 40px rgba(0,255,255,.18); }
.vr-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; background: #0B1316; }
.vr-ov { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: space-between; padding: 14px; pointer-events: none; transition: opacity .3s;
  background: linear-gradient(180deg, rgba(0,0,0,.45) 0%, transparent 22%, transparent 52%, rgba(0,0,0,.82) 100%); }
.vr-card.is-playing .vr-ov { opacity: 0; }
.vr-top { display: flex; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
.vr-chip { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: 999px; font-size: 12.5px; font-weight: 800; color: #fff; background: rgba(10,18,20,.55); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border: 1px solid rgba(255,255,255,.16); }
.vr-chip svg { width: 13px; height: 13px; }
.vr-chip-taxi svg, .vr-chip-client svg { color: #7DFFFF; }
.vr-play { pointer-events: auto; position: absolute; left: 50%; top: 50%; width: 78px; height: 78px; margin: -39px 0 0 -39px; border-radius: 50%; border: 0; cursor: pointer; display: grid; place-items: center;
  background: rgba(0,255,255,.92); color: #00262A; box-shadow: 0 12px 30px rgba(0,0,0,.35), 0 0 0 8px rgba(0,255,255,.18); transition: transform .25s, background .25s; }
.vr-play svg { width: 30px; height: 30px; margin-left: 4px; fill: currentColor; }
.vr-play:hover { transform: scale(1.08); background: #00FFFF; }
.vr-play:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.vr-ring { position: absolute; inset: -8px; border-radius: 50%; border: 2px solid rgba(0,255,255,.55); animation: vrRing 2.2s ease-out infinite; }
@keyframes vrRing { 0% { transform: scale(.9); opacity: .9; } 100% { transform: scale(1.45); opacity: 0; } }
.vr-card.is-playing .vr-play { display: none; }
.vr-bot { display: grid; gap: 6px; color: #fff; }
.vr-bot b { font-size: clamp(18px, 1.8vw, 22px); line-height: 1.2; font-weight: 900; text-shadow: 0 2px 12px rgba(0,0,0,.5); }
.vr-stars { display: inline-flex; gap: 2px; color: #FFB400; }
.vr-stars svg { width: 15px; height: 15px; fill: currentColor; }
.vr-cap { position: relative; margin: 0; padding: 18px 18px 16px; border-radius: 22px; background: var(--surface); border: 1px solid var(--border); display: grid; gap: 12px; }
.vr-qm { position: absolute; top: -18px; left: 16px; font-family: Georgia, serif; font-size: 64px; line-height: 1; color: var(--c-turquoise); }
.vr-cap p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--text); }
.vr-who { display: flex; align-items: center; gap: 10px; padding-top: 10px; border-top: 1px solid var(--border); }
.vr-av { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; background: var(--surface-2); color: var(--accent-text); flex: none; }
.vr-av svg { width: 18px; height: 18px; }
.vr-who b { display: block; font-size: 15px; }
.vr-who small { display: inline-flex; align-items: center; gap: 4px; font-size: 12.5px; font-weight: 700; color: var(--accent-text); }
.vr-who small svg { width: 13px; height: 13px; }
.vr-dots { display: none; }
.vr-cta { margin: 36px auto 0; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 20px; text-align: center; }
.vr-cta b { font-size: 18px; }
@media (max-width: 900px) {
  .vr-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px; padding: 4px var(--gutter, 16px) 12px; margin: 0 calc(-1 * var(--gutter, 16px)); scrollbar-width: none; max-width: none; }
  .vr-grid::-webkit-scrollbar { display: none; }
  .vr-item { flex: 0 0 min(78%, 340px); scroll-snap-align: center; }
  .vr-dots { display: flex; justify-content: center; gap: 6px; margin-top: 10px; }
  .vr-dots i { width: 8px; height: 8px; border-radius: 999px; background: var(--border); transition: width .25s, background .25s; }
  .vr-dots i.on { width: 22px; background: var(--c-turquoise); }
}
@media (prefers-reduced-motion: reduce) { .vr-rec, .vr-ring { animation: none; } .vr-frame { transition: none; } }

/* v7.25: всплывающее окно заявки и «Перезвоните мне» */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.form-ok { display: flex; align-items: center; gap: 8px; color: var(--accent-text); border-color: color-mix(in srgb, var(--accent) 45%, transparent); }
.form-ok svg { width: 18px; height: 18px; flex: none; }
.form-err { color: var(--text); border-color: rgba(255, 90, 90, .45); background: rgba(255, 90, 90, .08); }
.form-err a { color: var(--accent-text); font-weight: 800; }
.form-status[hidden] { display: none !important; }
.cb-fab { position: fixed; left: 20px; bottom: 20px; z-index: 45; display: none; align-items: center; gap: 10px; min-height: 52px; padding: 0 20px 0 14px; border-radius: 999px; border: 1px solid rgba(0,255,255,.45); cursor: pointer;
  background: #0B1316; color: #EEF5F6; font: inherit; font-weight: 800; font-size: 15px; box-shadow: 0 14px 34px rgba(0,0,0,.35), 0 0 0 6px rgba(0,255,255,.08); transition: transform .2s, box-shadow .2s; }
.cb-fab svg { width: 20px; height: 20px; padding: 8px; box-sizing: content-box; border-radius: 50%; background: var(--c-turquoise); color: #00262A; animation: cbRing 2.4s ease-in-out infinite; }
.cb-fab:hover { transform: translateY(-2px); box-shadow: 0 18px 40px rgba(0,0,0,.4), 0 0 0 8px rgba(0,255,255,.14); }
@keyframes cbRing { 0%, 70%, 100% { transform: rotate(0); } 75% { transform: rotate(-14deg); } 80% { transform: rotate(12deg); } 85% { transform: rotate(-8deg); } 90% { transform: rotate(6deg); } }
@media (min-width: 768px) { .cb-fab { display: inline-flex; } }
html.pop-open { overflow: hidden; }
.pop { position: fixed; inset: 0; z-index: 300; display: grid; place-items: center; padding: 16px; }
.pop[hidden] { display: none; }
.pop-back { position: absolute; inset: 0; background: rgba(2,6,8,.62); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); opacity: 0; transition: opacity .2s; }
.pop-card { position: relative; width: min(100%, 460px); max-height: calc(100dvh - 32px); overflow-y: auto; padding: 28px 24px 22px; border-radius: 28px; color: #EEF5F6; border: 1px solid rgba(0,255,255,.38);
  background: radial-gradient(120% 70% at 100% 0%, rgba(0,255,255,.18), transparent 60%), #0B1316; box-shadow: 0 40px 90px rgba(0,0,0,.55); transform: translateY(16px) scale(.98); opacity: 0; transition: transform .25s cubic-bezier(.2,.8,.2,1), opacity .2s; }
.pop.is-in .pop-back { opacity: 1; }
.pop.is-in .pop-card { transform: none; opacity: 1; }
.pop-x { position: absolute; top: 14px; right: 14px; width: 40px; height: 40px; border-radius: 12px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.04); color: #EEF5F6; cursor: pointer; display: grid; place-items: center; }
.pop-x svg { width: 20px; height: 20px; transform: rotate(45deg); }
.pop-ic { width: 56px; height: 56px; border-radius: 18px; display: grid; place-items: center; background: var(--c-turquoise); color: #00262A; box-shadow: 0 0 0 8px rgba(0,255,255,.12); margin-bottom: 16px; }
.pop-ic svg { width: 26px; height: 26px; }
.pop-card h2 { margin: 0 44px 8px 0; font-size: clamp(22px, 5.6vw, 28px); line-height: 1.15; }
.pop-d { margin: 0 0 18px; color: #C9D6DA; font-size: 15px; }
.pop-form { display: grid; gap: 12px; }
.pop-phone { display: flex; align-items: center; gap: 10px; padding: 0 16px; min-height: 58px; border-radius: 16px; background: rgba(255,255,255,.05); border: 2px solid rgba(0,255,255,.4); }
.pop-phone:focus-within { border-color: #00FFFF; box-shadow: 0 0 0 4px rgba(0,255,255,.18); }
.pop-phone svg { width: 20px; height: 20px; color: #7DFFFF; flex: none; }
.pop-phone .input { flex: 1; min-width: 0; border: 0; background: transparent; color: #fff; font-size: 19px; font-weight: 700; padding: 14px 0; outline: 0; box-shadow: none; }
.pop-row { border: 0; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.pop-row legend { width: 100%; margin-bottom: 6px; font-size: 13px; font-weight: 700; color: #B9CACE; }
.pop-row[hidden] { display: none; }
.pop-card .chip span { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.16); color: #EEF5F6; }
.pop-card .chip input:checked + span { background: var(--c-turquoise); border-color: var(--c-turquoise); color: #00262A; }
.pop-form .btn { justify-content: center; width: 100%; }
.pop-consent { margin: 0; font-size: 12.5px; color: #9FB4B9; }
.pop-consent a { color: #7DFFFF; }
.pop-form .error { color: #FF8A8A; font-size: 13px; font-weight: 700; }
.pop-form.is-sent .pop-phone, .pop-form.is-sent .pop-row, .pop-form.is-sent .btn { display: none; }
.pop-card .form-status { background: rgba(255,255,255,.05); color: #EEF5F6; }
@media (max-width: 560px) { .pop { place-items: end center; padding: 0; } .pop-card { width: 100%; border-radius: 26px 26px 0 0; padding-bottom: calc(22px + env(safe-area-inset-bottom)); transform: translateY(40px); } }
@media (prefers-reduced-motion: reduce) { .cb-fab svg { animation: none; } .pop-card, .pop-back { transition: none; } }

/* v7.26: окно «Заявка отправлена», мессенджеры в первом экране */
.ty-card { text-align: center; display: grid; justify-items: center; gap: 10px; padding: 34px 26px 26px; }
.ty-ic { width: 76px; height: 76px; border-radius: 50%; display: grid; place-items: center; background: var(--c-turquoise); color: #00262A; box-shadow: 0 0 0 10px rgba(0,255,255,.14), 0 0 40px rgba(0,255,255,.35); animation: tyPop .5s cubic-bezier(.2,1.4,.4,1) both; }
.ty-ic svg { width: 40px; height: 40px; stroke-width: 2.4; }
@keyframes tyPop { from { transform: scale(.4); opacity: 0; } to { transform: none; opacity: 1; } }
.ty-card h2 { margin: 8px 0 0; font-size: clamp(24px, 6vw, 30px); }
.ty-card p { margin: 0 0 8px; color: #C9D6DA; max-width: 360px; }
.ty-btns { display: grid; gap: 8px; width: 100%; grid-template-columns: 1fr 1fr; }
.ty-btns .btn { grid-column: 1 / -1; justify-content: center; }
.ty-btns .msg-btn { justify-content: center; background: rgba(255,255,255,.05); color: #EEF5F6; border-color: rgba(255,255,255,.16); font-size: 14px; padding: 8px 10px; }
.lead-form [type="submit"]:disabled, .pop-form [type="submit"]:disabled { opacity: .75; cursor: default; }
@media (min-width: 560px) { .hero2-msg { flex-wrap: nowrap; } .hero2-msg .msg-btn { padding: 8px 12px; min-height: 44px; white-space: nowrap; } }
@media (prefers-reduced-motion: reduce) { .ty-ic { animation: none; } }
