/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/Inter-cyrillic-ext-705d6250.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/Inter-cyrillic-9f73b2f4.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/Inter-latin-ext-cf3eb50f.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/Inter-latin-f11d729b.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/Inter-cyrillic-ext-705d6250.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/Inter-cyrillic-9f73b2f4.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/Inter-latin-ext-cf3eb50f.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/Inter-latin-f11d729b.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/Inter-cyrillic-ext-705d6250.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/Inter-cyrillic-9f73b2f4.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/Inter-latin-ext-cf3eb50f.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/Inter-latin-f11d729b.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/Inter-cyrillic-ext-705d6250.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/Inter-cyrillic-9f73b2f4.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/Inter-latin-ext-cf3eb50f.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/Inter-latin-f11d729b.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/Montserrat-cyrillic-ext-9f10d294.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/Montserrat-cyrillic-520cd39b.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/Montserrat-latin-ext-a63797c1.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/Montserrat-latin-a5ec5492.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/Montserrat-cyrillic-ext-9f10d294.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/Montserrat-cyrillic-520cd39b.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/Montserrat-latin-ext-a63797c1.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/Montserrat-latin-a5ec5492.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/Montserrat-cyrillic-ext-9f10d294.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/Montserrat-cyrillic-520cd39b.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/Montserrat-latin-ext-a63797c1.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/Montserrat-latin-a5ec5492.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Migrant-law.ru — оформление по макету K «Чёрное золото»: глубокий чёрный, металлическое золото,
   Montserrat в заголовках, Inter в тексте. Фемида с вращающимся глобусом, блок Migrant AI с 3D-роботом Spline. */
:root {
  --bg: #060606;
  --surface: #0E0D0B;
  --card: #12110E;
  --line: rgba(232, 194, 122, .16);
  --line-2: rgba(232, 194, 122, .32);
  --line-n: rgba(255, 255, 255, .12);
  --text: #F5F2EC;
  --muted: #B8B3A9;
  --muted-2: #8C877D;
  --gold: #E8C27A;
  --gold-hi: #F3D58F;
  --gold-btn: linear-gradient(180deg, #F6DC9C 0%, #E2B865 55%, #C8933F 100%);
  --ink: #15100A;
  --urgent: #FF8A78;
  --urgent-text: #FFB4A8;
  --head: 'Montserrat', 'Inter', system-ui, sans-serif;
  --body: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --ease: cubic-bezier(.2, .8, .2, 1);
  --hh: 85px; /* высота шапки — для прокрутки к якорям */
  color-scheme: dark;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: var(--hh); }
body { margin: 0; font-family: var(--body); color: var(--text); background: var(--bg); font-size: 17px; line-height: 1.6; overflow-x: clip; }
a { color: var(--gold); }
a:hover { color: var(--gold-hi); }
img { max-width: 100%; }
button, input, textarea, select { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
h1, h2, h3 { margin: 0; text-wrap: balance; }
.skip { position: absolute; left: 12px; top: -60px; z-index: 80; padding: 10px 16px; background: var(--text); color: var(--bg); border-radius: 10px; text-decoration: none; }
.skip:focus { top: 12px; color: var(--bg); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.page { position: relative; overflow-x: clip; }
.bg { position: absolute; inset: 0 0 auto; height: 1100px; pointer-events: none; background: radial-gradient(900px 620px at 72% 320px, rgba(120, 92, 48, .22), transparent 70%), radial-gradient(700px 500px at 10% 120px, rgba(60, 60, 64, .32), transparent 70%), linear-gradient(180deg, #0B0B0C, var(--bg)); }
.wrap { position: relative; max-width: 1320px; margin: 0 auto; padding-left: max(32px, env(safe-area-inset-left, 0px)); padding-right: max(32px, env(safe-area-inset-right, 0px)); }
.gold { background: linear-gradient(100deg, #B27D34 0%, #F3D58F 22%, #FFF1C9 32%, #E2B865 46%, #B27D34 64%, #F3D58F 82%, #B27D34 100%); background-size: 200% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; font-weight: 700; animation: shimmer 9s linear infinite; }
@keyframes shimmer { to { background-position: 200% 50%; } }

/* ---------- Кнопки ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 56px; padding: 0 28px; border-radius: 999px; border: 1px solid transparent; font-weight: 600; font-size: 16px; text-decoration: none; cursor: pointer; white-space: nowrap; transition: transform .25s ease, box-shadow .25s ease, background .25s ease, border-color .25s ease; }
.btn-gold { background: var(--gold-btn); color: var(--ink); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .6), 0 10px 28px rgba(226, 184, 101, .22); }
.btn-gold:hover { color: var(--ink); transform: translateY(-2px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .6), 0 14px 40px rgba(226, 184, 101, .35); }
.btn-line { border-color: rgba(232, 194, 122, .6); background: rgba(10, 10, 10, .6); color: var(--text); font-weight: 500; }
.btn-line:hover { color: var(--text); border-color: var(--gold); background: rgba(232, 194, 122, .08); }
.btn-line svg { color: var(--gold); }
.btn-light { background: var(--text); color: var(--bg); }
.btn-light:hover { color: var(--bg); }
.btn-ink { background: var(--gold-btn); color: var(--ink); }
.btn-ink:hover { color: var(--ink); }
.btn-urgent { background: var(--urgent); color: #1A0805; }
.btn-urgent:hover { color: #1A0805; }
.btn-xl { min-height: 64px; padding: 0 34px; font-size: 18px; }
.shine { position: relative; overflow: hidden; }
.shine::after { content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 28%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .5), transparent); animation: sweep 4.8s ease-in-out infinite; pointer-events: none; }
@keyframes sweep { 0% { transform: translateX(-130%) skewX(-20deg); } 60%, 100% { transform: translateX(380%) skewX(-20deg); } }

/* ---------- Шапка ---------- */
.header { position: sticky; top: 0; z-index: 50; background: rgba(8, 8, 8, .55); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border-bottom: 1px solid rgba(232, 194, 122, .12); transition: background .25s ease; }
.header.scrolled { background: rgba(8, 8, 8, .86); }
.header-row { display: flex; align-items: center; gap: 26px; min-height: 84px; }
.logo { display: flex; align-items: center; gap: 14px; text-decoration: none; flex: none; }
.logo-emb { display: block; width: 56px; height: 56px; border-radius: 50%; box-shadow: 0 0 24px rgba(226, 184, 101, .22); }
.logo-name { position: relative; font-family: var(--head); font-weight: 700; font-size: 21px; letter-spacing: -0.01em; color: #F1EFEA; padding-bottom: 6px; white-space: nowrap; }
.logo-name::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: linear-gradient(90deg, #E2B865, rgba(226, 184, 101, 0)); }
.header-sep { width: 1px; height: 34px; background: rgba(255, 255, 255, .12); flex: none; }
.nav { display: flex; gap: 30px; font-size: 15px; font-weight: 500; }
.nav a { color: #D9D4CA; text-decoration: none; transition: color .2s; white-space: nowrap; }
.nav a:hover { color: var(--gold-hi); }
.header-actions { margin-left: auto; display: flex; align-items: center; gap: 20px; }
.header-phone { display: inline-flex; align-items: center; gap: 10px; color: #F1EFEA; text-decoration: none; font-weight: 600; font-size: 16px; white-space: nowrap; }
.header-phone svg { color: var(--gold); }
.header-phone:hover { color: var(--gold-hi); }
.header-call { min-height: 46px; padding: 0 24px; font-size: 15px; }
.header-call svg { display: none; }
.menu-btn { display: none; flex: none; width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--line-n); background: transparent; color: var(--text); cursor: pointer; align-items: center; justify-content: center; }
.menu-btn svg:last-child { display: none; }
.menu-btn[aria-expanded="true"] svg:first-child { display: none; }
.menu-btn[aria-expanded="true"] svg:last-child { display: block; }
.mnav { border-top: 1px solid rgba(232, 194, 122, .12); }
.mnav[hidden] { display: none; }
.mnav .wrap { display: flex; flex-direction: column; padding-top: 6px; padding-bottom: 20px; }
.mnav .wrap > a:not(.btn) { display: flex; align-items: center; min-height: 54px; color: var(--text); text-decoration: none; font-size: 18px; font-weight: 500; border-bottom: 1px solid rgba(255, 255, 255, .06); }
.mnav-call { margin-top: 14px; }

/* Языки */
.lang { position: relative; }
.lang-btn { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 14px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .16); background: rgba(255, 255, 255, .03); color: #F1EFEA; cursor: pointer; font-size: 14px; font-weight: 600; }
.lang-btn:hover { border-color: var(--line-2); }
.lang-menu { position: absolute; right: 0; top: calc(100% + 8px); z-index: 60; min-width: 200px; padding: 8px; border-radius: 16px; background: #0F0E0C; border: 1px solid rgba(232, 194, 122, .25); box-shadow: 0 24px 60px rgba(0, 0, 0, .7); display: flex; flex-direction: column; }
.lang-menu[hidden] { display: none; }
.lang-menu a { display: flex; justify-content: space-between; align-items: center; min-height: 44px; padding: 0 12px; border-radius: 10px; color: #E6E1D7; text-decoration: none; font-size: 15px; }
.lang-menu a:hover { background: rgba(255, 255, 255, .04); color: var(--text); }
.lang-menu a[aria-current="page"] { background: rgba(232, 194, 122, .12); color: var(--gold-hi); }
.lang-menu small { font-size: 12px; color: var(--muted-2); }

/* ---------- Первый экран: текст слева, большой вращающийся глобус справа ---------- */
:root { --teal: #5CE1E6; }
.hero { position: relative; z-index: 1; }
.hero-row { display: flex; align-items: center; min-height: clamp(600px, calc(100svh - var(--hh) - 36px), 820px); padding-top: 26px; padding-bottom: 26px; }
.hero-text { position: relative; z-index: 2; flex: 0 0 min(690px, 54%); max-width: 690px; }
.h1 { font-family: var(--head); font-weight: 600; font-size: clamp(40px, 3.7vw, 60px); line-height: 1.1; letter-spacing: -0.02em; color: #F7F5F0; }
.lead { margin: 22px 0 0; max-width: 640px; font-size: clamp(18px, 1.5vw, 22px); line-height: 1.45; color: #CFCAC0; }
.perks { list-style: none; margin: 30px 0 0; padding: 0; display: flex; }
.perks li { display: flex; align-items: center; gap: 13px; max-width: 220px; padding: 2px 22px; border-left: 1px solid rgba(255, 255, 255, .1); font-size: 15px; line-height: 1.35; font-weight: 500; color: #EDE9E0; }
.perks li:first-child { padding-left: 0; border-left: 0; }
.perks svg { flex: none; color: var(--gold); filter: drop-shadow(0 0 8px rgba(226, 184, 101, .35)); }
/* Три действия: золотая кнопка консультации и две карточки */
.acts { margin-top: 32px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; scroll-margin-top: calc(var(--hh) + 12px); }
.act-main { grid-column: 1 / -1; justify-self: start; min-width: min(340px, 100%); }
.act { --mx: 50%; --my: 0%; position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 8px; padding: 18px 20px 16px; border-radius: 20px; border: 1px solid rgba(232, 194, 122, .3); background: linear-gradient(180deg, rgba(27, 25, 21, .82), rgba(9, 9, 9, .86)); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); color: var(--text); text-decoration: none; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05), 0 18px 44px rgba(0, 0, 0, .45); transition: transform .3s var(--ease), border-color .25s ease, box-shadow .25s ease; transform-style: preserve-3d; will-change: transform; }
.act:hover { color: var(--text); border-color: rgba(243, 213, 143, .75); box-shadow: 0 0 0 1px rgba(243, 213, 143, .2), 0 22px 54px rgba(0, 0, 0, .55), 0 0 40px rgba(226, 184, 101, .14); }
.act-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.act-top b { font-family: var(--head); font-weight: 600; font-size: 17px; line-height: 1.25; letter-spacing: -0.01em; }
.act-top svg { flex: none; color: var(--gold); }
.act-self .act-top { flex-direction: column; gap: 4px; }
.act-go-ic { align-self: flex-end; width: 38px; height: 38px; padding: 0; justify-content: center; border-radius: 50%; border: 1px solid rgba(232, 194, 122, .6); transition: background .25s, color .25s; }
.act:hover .act-go-ic { background: var(--gold-btn); color: var(--ink); }
.act-price { flex: none; font-family: var(--head); font-weight: 700; font-size: 17px; line-height: 1.25; color: var(--gold-hi); white-space: nowrap; }
.act-x { font-size: 14px; line-height: 1.45; color: var(--muted); }
.act-go { margin-top: auto; padding-top: 6px; display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: var(--gold); }
.act-go svg { width: 17px; height: 17px; transition: transform .25s ease; }
.act:hover .act-go svg { transform: translateX(4px); }
/* Свет под курсором (по мотивам SpotlightCard) — на карточках действий, преимуществ и инструкций */
.act::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; background: radial-gradient(260px circle at var(--mx, 50%) var(--my, 0%), rgba(243, 213, 143, .16), transparent 70%); opacity: 0; transition: opacity .35s ease; }
.act:hover::after { opacity: 1; }
/* Глобус */
.hero-art { --gw: clamp(580px, 57vw, 900px); position: relative; z-index: 1; flex: 1 1 auto; min-width: 0; align-self: stretch; pointer-events: none; }
.hero-art > * { position: absolute; left: 50%; top: 50%; }
.hero-art .globe { width: var(--gw); height: var(--gw); transform: translate(-47%, -50%); }
.hero-halo { width: calc(var(--gw) * 1.05); height: calc(var(--gw) * 1.05); transform: translate(-47%, -50%); border-radius: 50%; background: radial-gradient(closest-side, rgba(226, 184, 101, .11), rgba(92, 225, 230, .035) 55%, transparent 72%); }
.hero-art::after { content: ""; position: absolute; left: 50%; top: 50%; width: calc(var(--gw) * .78); height: calc(var(--gw) * .09); transform: translate(-46%, calc(var(--gw) * .345)); border-radius: 50%; background: radial-gradient(closest-side, rgba(226, 184, 101, .34), rgba(92, 225, 230, .16) 55%, transparent 100%); filter: blur(14px); }
/* Мягкое «северное сияние» за первым экраном (по мотивам Aurora): три размытых пятна, движутся только transform */
.aurora { position: absolute; inset: -60px 0 -40px; overflow: hidden; pointer-events: none; z-index: 0; }
.aurora i { position: absolute; border-radius: 50%; will-change: transform; }
/* Мягкие пятна — радиальные градиенты без filter: blur (размытие на движущихся слоях тяжело для слабых видеокарт) */
.aurora i:nth-child(1) { right: 2%; top: -4%; width: 680px; height: 560px; background: radial-gradient(closest-side, rgba(226, 184, 101, .10), rgba(226, 184, 101, .04) 55%, transparent); animation: drift1 22s ease-in-out infinite alternate; }
.aurora i:nth-child(2) { right: -10%; bottom: -8%; width: 620px; height: 520px; background: radial-gradient(closest-side, rgba(92, 225, 230, .08), rgba(92, 225, 230, .03) 55%, transparent); animation: drift2 27s ease-in-out infinite alternate; }
.aurora i:nth-child(3) { left: 26%; bottom: 0; width: 560px; height: 420px; background: radial-gradient(closest-side, rgba(178, 125, 52, .09), transparent); animation: drift3 31s ease-in-out infinite alternate; }
@keyframes drift1 { to { transform: translate3d(-90px, 50px, 0) scale(1.15); } }
@keyframes drift2 { to { transform: translate3d(-70px, -60px, 0) scale(1.2); } }
@keyframes drift3 { to { transform: translate3d(110px, -30px, 0) scale(.9); } }
@keyframes flicker { 0%, 100% { opacity: .5; } 45% { opacity: 1; } 60% { opacity: .7; } }
.hero-line { display: block; width: 100%; height: 70px; margin-top: -30px; position: relative; z-index: 1; }
.flick { animation: flicker 5s ease-in-out infinite; }
.in { animation: up .8s var(--ease) both; }
.in2 { animation-delay: .12s; }
.in3 { animation-delay: .24s; }
.in4 { animation-delay: .36s; }
@keyframes up { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
/* Плавное появление секций при прокрутке (по мотивам FadeContent); класс .rv ставит скрипт, без него всё видно сразу */
.rv { opacity: 0; transform: translateY(26px); transition: opacity .8s var(--ease), transform .8s var(--ease); }
.rv.rv-in { opacity: 1; transform: none; }

/* ---------- Общие секции ---------- */
.section { padding-top: 130px; }
.hero + .section { padding-top: 84px; }
.eyebrow { margin: 0 0 14px; font-size: 13px; letter-spacing: .2em; text-transform: uppercase; color: var(--gold); }
.h2 { font-family: var(--head); font-weight: 600; font-size: 46px; line-height: 1.1; letter-spacing: -0.02em; }
.sec-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-bottom: 40px; }
.sec-sub { margin: 0; max-width: 430px; color: #A9A397; }

/* ---------- Найти свой этап: ситуация → план ---------- */
.picker { display: grid; grid-template-columns: minmax(0, 480px) minmax(0, 1fr); gap: 28px; align-items: start; }
/* Страна: флаги над списком ситуаций */
.cty { margin-bottom: 24px; }
.cty-l { margin: 0 0 12px; font-size: 14px; color: #A9A397; }
.cty-note { min-height: 1.45em; margin: 12px 0 0; font-size: 15px; line-height: 1.45; color: var(--gold-hi); }
.cty-note:empty { display: none; }
.sits-list { display: flex; flex-direction: column; gap: 10px; }
.sit { display: flex; align-items: center; gap: 16px; width: 100%; min-height: 58px; padding: 8px 20px; border-radius: 16px; border: 1px solid rgba(232, 194, 122, .16); background: rgba(255, 255, 255, .025); color: #F1EFEA; text-align: left; cursor: pointer; font-size: 17px; line-height: 1.35; transition: background .2s, border-color .2s; }
.sit:hover { border-color: rgba(232, 194, 122, .45); }
.sit-n { flex: none; font-size: 13px; font-variant-numeric: tabular-nums; color: #6B6660; }
.sit-t { flex: 1; min-width: 0; }
.sit svg { flex: none; opacity: .4; }
.sit.urgent { color: var(--urgent-text); }
.sit[aria-checked="true"] { background: linear-gradient(180deg, #F6DC9C, #D9A955); color: var(--ink); border-color: #F3D58F; font-weight: 600; }
.sit[aria-checked="true"] .sit-n { color: #6B5428; }
.sit[aria-checked="true"] svg { opacity: .8; }
.sit.urgent[aria-checked="true"] { background: var(--urgent); border-color: var(--urgent); color: #1A0805; }
.plan { position: relative; overflow: hidden; border-radius: 28px; border: 1px solid rgba(232, 194, 122, .35); background: linear-gradient(180deg, #16140F, #0A0A09); box-shadow: 0 30px 80px rgba(0, 0, 0, .55); scroll-margin-top: calc(var(--hh) + 12px); }
.plan::before { content: ""; position: absolute; right: -120px; top: -120px; width: 360px; height: 360px; border-radius: 50%; background: radial-gradient(closest-side, rgba(226, 184, 101, .16), transparent); pointer-events: none; }
.plan.is-urgent { border-color: rgba(255, 138, 120, .55); background: linear-gradient(180deg, #1C0F0C, #0A0707); }
.plan.is-urgent::before { background: radial-gradient(closest-side, rgba(255, 138, 120, .14), transparent); }
.plan-in { position: relative; padding: 40px; display: flex; flex-direction: column; gap: 22px; }
.plan-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; flex-wrap: wrap; }
.plan-head > div:first-child { flex: 1 1 260px; min-width: 0; }
.plan-tag { margin: 0; font-size: 13px; letter-spacing: .18em; text-transform: uppercase; color: var(--gold); }
.is-urgent .plan-tag { color: var(--urgent); }
.plan-title { margin-top: 10px; font-family: var(--head); font-weight: 600; font-size: 32px; line-height: 1.15; letter-spacing: -0.02em; }
.plan-cost { flex: none; text-align: right; }
.plan-cost p { margin: 0; font-size: 13px; color: var(--muted-2); }
.plan-cost .plan-price { margin-top: 2px; font-family: var(--head); font-weight: 700; font-size: 34px; color: var(--gold-hi); white-space: nowrap; }
.plan-lead { margin: 0; color: #C2BDB2; max-width: 620px; }
.plan-steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.plan-steps li { display: flex; gap: 16px; align-items: flex-start; }
.plan-steps b { flex: none; width: 34px; height: 34px; border-radius: 50%; border: 1px solid rgba(232, 194, 122, .5); color: var(--gold-hi); display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 600; }
.plan-steps span { padding-top: 4px; }
.plan-bring { margin: 0; padding: 18px 20px; border-radius: 16px; background: rgba(0, 0, 0, .35); border: 1px solid rgba(255, 255, 255, .06); display: flex; gap: 14px; }
.plan-bring svg { flex: none; color: var(--gold); margin-top: 2px; }
.plan-bring b { font-weight: 400; color: var(--muted-2); }
.plan-bring-v { color: #E6E1D7; }
.plan-actions { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
.plan-all { margin-left: auto; font-size: 15px; text-decoration: none; }
.price-note { margin: 18px 0 0; font-size: 14px; color: var(--muted-2); }
.swap { animation: swapIn .45s var(--ease) both; }
.swap-2 { animation-delay: .08s; }
.swap-3 { animation-delay: .16s; }
@keyframes swapIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

@keyframes spin { to { transform: rotate(360deg); } }

/* ---------- Как работаем ---------- */

/* ---------- О нас ---------- */

/* ---------- Вопросы ---------- */
.q summary::-webkit-details-marker { display: none; }
.plus { flex: none; width: 36px; height: 36px; border-radius: 50%; border: 1px solid rgba(232, 194, 122, .5); display: flex; align-items: center; justify-content: center; color: var(--gold); font-size: 22px; transition: transform .25s; }

/* ---------- Заявка ---------- */
.contact { padding-bottom: 110px; }
.contact-card { position: relative; overflow: hidden; border-radius: 32px; padding: 56px; border: 1px solid rgba(232, 194, 122, .3); background: radial-gradient(600px 400px at 0% 0%, rgba(226, 184, 101, .14), transparent 70%), linear-gradient(180deg, #12110E, #080808); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; }
.contact-text { min-width: 0; display: flex; flex-direction: column; }
.contact-text .h2 { font-size: 44px; }
.contact-text > p { margin: 20px 0 0; color: var(--muted); max-width: 460px; }
.contact-phone { margin-top: 30px; font-family: var(--head); font-weight: 700; font-size: 34px; color: #F7F5F0; text-decoration: none; white-space: nowrap; }
.contact-phone:hover { color: var(--gold-hi); }
.contact-text .hours { margin: 4px 0 0; color: var(--muted-2); font-size: 15px; }
.pills { margin-top: 22px; display: flex; flex-wrap: wrap; gap: 10px; }
.pill { display: inline-flex; align-items: center; min-height: 48px; padding: 0 22px; border-radius: 999px; border: 1px solid rgba(232, 194, 122, .45); color: var(--text); text-decoration: none; font-size: 15px; }
.pill:hover { color: var(--text); border-color: var(--gold); background: rgba(232, 194, 122, .08); }
.form-slot { min-width: 0; }
.form { display: flex; flex-direction: column; gap: 12px; }
.field { display: flex; flex-direction: column; gap: 6px; font-size: 14px; color: #A9A397; }
.field input, .field textarea, .field select { min-height: 56px; padding: 0 18px; border-radius: 16px; border: 1px solid var(--line-n); background: rgba(0, 0, 0, .4); color: var(--text); font-size: 16px; transition: border-color .2s ease; }
.field textarea { min-height: 96px; max-height: 260px; padding: 14px 18px; line-height: 1.5; font-family: inherit; resize: vertical; }
.field textarea::placeholder { color: #8A8478; }
.field input:focus, .field textarea:focus { outline: none; border-color: var(--gold); }
.field input[readonly] { color: var(--gold-hi); border-color: rgba(232, 194, 122, .3); }
.field.invalid input { border-color: var(--urgent); }
.check { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; color: #A9A397; margin-top: 4px; }
.check input { flex: none; width: 20px; height: 20px; margin: 2px 0 0; accent-color: #E2B865; }
.check a, .consent a { color: var(--text); text-decoration: underline; text-underline-offset: 2px; }
.consent { margin: 0; font-size: 13px; color: var(--muted-2); }
.check-box { display: flex; flex-direction: column; gap: 4px; }
.check-box .consent { padding-left: 32px; }
.check-box.invalid .check { color: var(--urgent-text); }
.form-error { margin: 0; min-height: 1em; font-size: 14px; color: var(--urgent-text); }
.form-error:empty { display: none; }
.submit { margin-top: 6px; min-height: 60px; font-size: 17px; }
.submit:disabled { opacity: .7; cursor: default; transform: none; }
.done { border-radius: 24px; border: 1px solid rgba(232, 194, 122, .35); background: rgba(0, 0, 0, .35); padding: 32px; display: flex; flex-direction: column; gap: 10px; animation: swapIn .45s var(--ease) both; }
.done-mark { width: 52px; height: 52px; border-radius: 50%; background: var(--gold-btn); color: var(--ink); display: flex; align-items: center; justify-content: center; }
.done h3 { font-family: var(--head); font-weight: 600; font-size: 28px; }
.done p { margin: 0; color: var(--muted); }
.done-no { color: var(--gold-hi); font-weight: 600; }

/* ---------- Подвал ---------- */
.footer { position: relative; border-top: 1px solid rgba(232, 194, 122, .14); }
.footer { scroll-margin-top: var(--hh); }
.footer-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 32px; padding-bottom: 22px; border-bottom: 1px solid rgba(255, 255, 255, .07); }
.footer-logo .logo-emb { width: 52px; height: 52px; }
.footer-contact { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 26px; }
.footer-phone { font-family: var(--head); font-weight: 700; font-size: 22px; color: #F7F5F0; text-decoration: none; white-space: nowrap; }
.footer-phone:hover { color: var(--gold-hi); }
.socials { display: flex; gap: 12px; }
.soc { display: block; width: 44px; height: 44px; border-radius: 50%; transition: transform .25s ease, box-shadow .25s ease; }
.soc svg { display: block; width: 44px; height: 44px; border-radius: 50%; }
.soc[aria-label="MAX"], .soc[aria-label="MAX"] svg { border-radius: 13px; }
a.soc:hover { transform: translateY(-3px); box-shadow: 0 10px 26px rgba(0, 0, 0, .5), 0 0 22px rgba(226, 184, 101, .22); }
.footer-in { padding-top: 32px; padding-bottom: 48px; display: flex; flex-direction: column; gap: 14px; font-size: 14px; color: var(--muted-2); }
.footer-row { display: flex; flex-wrap: wrap; gap: 16px 24px; justify-content: space-between; align-items: center; }
.footer-brand { display: flex; align-items: center; gap: 12px; }
.footer-brand .logo-emb { width: 40px; height: 40px; box-shadow: none; }
.footer-docs { display: flex; flex-wrap: wrap; gap: 6px 20px; }
.footer-docs a { color: #A9A397; text-decoration: none; }
.footer-docs a:hover { color: var(--gold-hi); }
.footer-req { margin: 0; font-size: 13px; }

/* ---------- Уведомление о cookie ---------- */
.cookie { position: fixed; left: 16px; bottom: 16px; z-index: 65; max-width: 460px; display: flex; align-items: center; gap: 16px; padding: 14px 16px; background: #0F0E0C; border: 1px solid var(--line-2); border-radius: 18px; box-shadow: 0 20px 50px rgba(0, 0, 0, .6); font-size: 14px; color: var(--muted); }
.cookie[hidden] { display: none; }
.cookie p { margin: 0; flex: 1; }
.cookie a { color: var(--text); }
.cookie .btn { min-height: 44px; padding: 0 20px; flex: none; }

/* ---------- Документы и прайс ---------- */
.doc-header .header-row { min-height: 72px; }
.doc-header .logo-emb { width: 44px; height: 44px; }
.doc-header .logo-name { font-size: 18px; }
.doc-back { margin-left: auto; min-height: 44px; padding: 0 18px; font-size: 15px; }
.doc { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 48px; padding-top: 56px; padding-bottom: 96px; align-items: start; position: relative; z-index: 1; }
.doc-nav { position: sticky; top: 96px; display: flex; flex-direction: column; gap: 4px; }
.doc-nav a { padding: 10px 14px; border-radius: 12px; color: #CFCAC0; text-decoration: none; font-size: 15px; }
.doc-nav a:hover { background: rgba(255, 255, 255, .03); color: var(--text); }
.doc-nav a[aria-current="page"] { background: var(--gold-btn); color: var(--ink); }
.doc-body { max-width: 820px; font-size: 16px; line-height: 1.7; color: #DAD5CB; }
.doc-body h1 { font-family: var(--head); font-weight: 600; font-size: clamp(30px, 4vw, 46px); line-height: 1.1; letter-spacing: -0.02em; margin-bottom: 28px; color: var(--text); }
.doc-body h2 { font-family: var(--head); font-weight: 600; font-size: 21px; margin: 36px 0 12px; color: var(--text); }
.doc-body p { margin: 0 0 12px; }
.doc-body .card-line { padding: 14px 18px; background: var(--card); border: 1px solid var(--line); border-radius: 14px; }
.table-wrap { overflow-x: auto; }
.doc-body table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.5; }
.doc-body th, .doc-body td { text-align: left; vertical-align: top; padding: 10px 12px; border: 1px solid var(--line); }
.doc-body th { background: var(--card); color: var(--text); }
.req { margin: 0; display: flex; flex-direction: column; }
.req div { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.req dt { color: var(--muted-2); }
.req dd { margin: 0; font-weight: 600; color: var(--text); }
mark.todo { background: #3A2E12; color: var(--gold-hi); padding: 0 4px; border-radius: 4px; font-weight: 600; }
.wform { display: flex; flex-direction: column; gap: 16px; margin-top: 20px; padding: 28px; background: var(--card); border: 1px solid var(--line); border-radius: 22px; }
.wkind { border: 0; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.wkind legend { font-size: 14px; font-weight: 600; margin-bottom: 8px; color: var(--text); }
.wkind label { display: flex; gap: 10px; align-items: center; font-size: 15px; }
.wkind input { width: 20px; height: 20px; accent-color: #E2B865; }
.wdone { padding: 16px 18px; background: #14231B; color: #9FE2BC; border-radius: 14px; font-weight: 600; }
.lead-doc { font-size: 17px; color: var(--muted); }
.pblock { border: 1px solid var(--line); border-radius: 18px; background: var(--card); margin: 0 0 10px; scroll-margin-top: calc(var(--hh) + 12px); }
.pblock summary { display: flex; align-items: center; gap: 12px; min-height: 62px; padding: 0 20px; cursor: pointer; font-family: var(--head); font-weight: 600; font-size: 17px; color: var(--text); list-style: none; }
.pblock summary::-webkit-details-marker { display: none; }
.pblock summary small { margin-left: auto; font-family: var(--body); font-weight: 400; font-size: 13px; color: var(--muted-2); }
.pblock summary::after { content: "+"; flex: none; width: 30px; height: 30px; border-radius: 50%; border: 1px solid var(--line-2); display: flex; align-items: center; justify-content: center; font-family: var(--body); font-weight: 400; font-size: 18px; color: var(--gold); transition: transform .2s ease; }
.pblock[open] summary::after { transform: rotate(45deg); }
.plist { list-style: none; margin: 0; padding: 0 20px 12px; }
.plist li { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 8px 18px; padding: 12px 0; border-top: 1px solid var(--line); }
.pname { font-size: 15px; }
.pnote { display: block; margin-top: 4px; font-size: 13px; line-height: 1.5; color: var(--muted-2); max-width: 640px; }
.pprice { font-weight: 600; white-space: nowrap; color: var(--gold-hi); }
.doc-body .pask { font-size: 14px; font-weight: 500; color: var(--text); text-decoration: none; padding: 7px 14px; border: 1px solid var(--line-2); border-radius: 999px; white-space: nowrap; }
.doc-body .pask:hover { border-color: var(--gold); }

/* ---------- Ноутбук ---------- */
@media (max-width: 1240px) {
  .nav { gap: 22px; }
  .header-row { gap: 20px; }
  .header-phone span { display: none; }
  .hero-text { flex-basis: 56%; }
  .perks li { padding: 2px 14px; gap: 10px; font-size: 14px; }
  .perks svg { width: 26px; height: 26px; }
  .act { padding: 16px 16px 14px; }
}
/* ---------- Планшет ---------- */
@media (max-width: 1040px) {
  .nav, .header-sep, .header-phone { display: none; }
  .menu-btn { display: inline-flex; }
  .hero-row { flex-direction: column; align-items: stretch; min-height: 0; padding-top: 44px; padding-bottom: 0; }
  .hero-text { flex: none; max-width: 720px; }
  .hero-art { --gw: min(800px, 104vw); align-self: center; width: 100%; height: calc(var(--gw) * .8); flex: none; margin-top: 6px; }
  .hero-art .globe, .hero-halo { transform: translate(-50%, -50%); }
  .hero-art::after { transform: translate(-50%, calc(var(--gw) * .335)); }
  .hero-line { margin-top: -20px; }
  .hero + .section { padding-top: 64px; }
  .section { padding-top: 96px; }
  .sec-head { flex-direction: column; align-items: flex-start; gap: 14px; }
  .picker { grid-template-columns: minmax(0, 1fr); }
  .contact-card { grid-template-columns: minmax(0, 1fr); gap: 36px; padding: 40px; }
  .doc { grid-template-columns: minmax(0, 1fr); gap: 24px; padding-top: 32px; }
  .doc-nav { position: static; flex-direction: row; flex-wrap: wrap; }
  .doc-nav a { padding: 8px 12px; font-size: 13px; border: 1px solid var(--line); }
  .doc-nav-prices { display: none; }
}
/* ---------- Телефон ---------- */
@media (max-width: 760px) {
  :root { --hh: 61px; }
  body { font-size: 16px; line-height: 1.55; }
  .wrap { padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }
  .header-row { min-height: 60px; gap: 8px; }
  .logo { gap: 10px; flex: 1; min-width: 0; }
  .logo-emb { width: 44px; height: 44px; }
  .logo-name { font-size: 16px; padding-bottom: 0; }
  .logo-name::after { display: none; }
  .header-actions { gap: 8px; }
  .lang-btn { min-height: 40px; padding: 0 10px; gap: 4px; font-size: 13px; }
  .lang-btn svg:first-child { display: none; }
  .lang-menu { right: -96px; }
  .header-call { width: 40px; min-height: 40px; height: 40px; padding: 0; border-radius: 50%; }
  .header-call span { display: none; }
  .header-call svg { display: block; }
  .menu-btn { width: 40px; height: 40px; }
  .hero-row { display: flex; padding-top: 26px; }
  .hero-text { display: contents; }
  .hero-text, .acts { display: contents; }
  .h1 { order: 1; font-size: clamp(30px, 9vw, 36px); line-height: 1.12; }
  .lead { order: 2; margin-top: 14px; font-size: 17px; }
  .act-main { order: 3; z-index: 2; margin-top: 20px; width: 100%; min-width: 0; min-height: 58px; font-size: 17px; white-space: normal; text-align: center; scroll-margin-top: calc(var(--hh) + 12px); }
  .hero-art { order: 4; --gw: 128vw; width: calc(100% + 32px); margin: 0 -16px; height: 98vw; }
  .perks { order: 5; margin-top: 0; flex-direction: column; gap: 12px; }
  .perks li { max-width: none; padding: 0; border-left: 0; font-size: 15px; gap: 12px; }
  .perks svg { width: 24px; height: 24px; }
  .act { margin-top: 12px; padding: 16px; border-radius: 18px; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .act-self { order: 6; margin-top: 22px; }
  .act-stage { order: 7; }
  .act-go { min-height: 32px; }
  .hero-line { height: 40px; margin-top: 8px; }
  .hero + .section { padding-top: 48px; }
  .aurora i { opacity: .8; }
  .aurora i:nth-child(3) { display: none; }
  .section { padding-top: 72px; }
  .eyebrow { font-size: 12px; margin-bottom: 10px; }
  .h2, .contact-text .h2 { font-size: 30px; line-height: 1.12; }
  .sec-head { margin-bottom: 18px; gap: 10px; }
  .sec-sub { font-size: 15px; }
  .picker { gap: 16px; }
  .cty { margin-bottom: 18px; }
  .sits-list { gap: 8px; }
  .sit { min-height: 52px; padding: 8px 14px; gap: 12px; border-radius: 14px; font-size: 15px; }
  .plan { border-radius: 22px; }
  .plan-in { padding: 22px 18px; gap: 16px; }
  .plan-head { flex-direction: column; gap: 6px; }
  .plan-head > div:first-child { flex: none; }
  .plan-title { font-size: 24px; }
  .plan-cost { text-align: left; }
  .plan-cost .plan-price { font-size: 28px; }
  .plan-steps li { gap: 12px; font-size: 15px; }
  .plan-steps b { width: 28px; height: 28px; font-size: 13px; }
  .plan-bring { padding: 14px; font-size: 14px; }
  .plan-actions { flex-direction: column; align-items: stretch; gap: 10px; }
  .plan-actions .btn { width: 100%; white-space: normal; text-align: center; }
  .plan-all { margin: 4px 0 0; text-align: center; }
  .plus { width: 32px; height: 32px; font-size: 20px; }
  .contact { padding-bottom: 56px; }
  .contact-card { border-radius: 26px; padding: 24px 18px; gap: 22px; }
  .contact-text > p { font-size: 15px; margin-top: 12px; }
  .contact-phone { margin-top: 16px; font-size: 26px; }
  .pills { margin-top: 14px; }
  .pill { min-height: 46px; padding: 0 18px; }
  .field input { min-height: 52px; border-radius: 14px; }
  .submit { min-height: 58px; white-space: normal; text-align: center; }
  .footer-in { padding-bottom: 40px; }
  .footer-row { flex-direction: column; align-items: flex-start; }
  .footer-top { flex-direction: column; align-items: flex-start; }
  .footer-phone { font-size: 20px; }
  .soc, .soc svg { width: 48px; height: 48px; }
  .cookie { left: 12px; right: 12px; bottom: 12px; max-width: none; flex-direction: column; align-items: stretch; }
  .doc-header .header-row { min-height: 60px; }
  .doc-header .logo-emb { width: 40px; height: 40px; }
  .doc-header .logo-name { font-size: 16px; }
  .doc-back { padding: 0 14px; font-size: 14px; }
  .req div { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .plist li { grid-template-columns: minmax(0, 1fr) auto; }
  .pname { grid-column: 1 / -1; }
}
@media (max-width: 370px) {
  .logo-name { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .gold, .shine::after, .flick, .in, .swap, .done, .aurora i { animation: none !important; }
  .act, .btn, .soc, .rv, .cty-fw, .ic, .ic path, .how-step, .how-step::after, .shop-card { transition: none !important; }
  .cty-flag, .cty-fw::after, .ic, .ic path, .how-node { animation: none !important; }
  .rv { opacity: 1; transform: none; }
}

/* ---------- «Оформите документы самостоятельно» ---------- */
.shop-inc-t { margin: 6px 0 0; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--gold); }
.shop-inc { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.shop-note { margin: 0; padding: 12px 14px; border-radius: 14px; border: 1px solid var(--line); background: rgba(255, 255, 255, .02); font-size: 14px; line-height: 1.5; color: var(--muted); }
.shop-help { display: flex; flex-direction: column; gap: 8px; padding: 18px 18px 16px; border-radius: 18px; border: 1px solid rgba(232, 194, 122, .5); background: linear-gradient(180deg, rgba(232, 194, 122, .1), rgba(232, 194, 122, .03)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04); }
.shop-help p { margin: 0; font-size: 14px; line-height: 1.5; color: #DAD5CC; }
.shop-help .shop-help-t { display: flex; align-items: center; gap: 10px; font-family: var(--head); font-weight: 700; font-size: 14px; letter-spacing: .08em; text-transform: uppercase; color: var(--gold); }
.shop-help-ico { flex: none; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; color: var(--gold); border: 1px solid rgba(232, 194, 122, .55); background: rgba(232, 194, 122, .08); }
.shop-help .shop-help-note { padding-top: 8px; border-top: 1px solid var(--line); color: var(--muted); }
.shop-help .shop-help-scope { color: var(--muted); font-style: italic; }
.shop-get { border-radius: 16px; border: 1px solid var(--line); }
.shop-get > summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px 12px 16px; font-weight: 600; font-size: 15px; line-height: 1.35; }
.shop-get > summary::-webkit-details-marker { display: none; }
.shop-get ol { margin: 0; padding: 0 16px 14px 36px; display: flex; flex-direction: column; gap: 6px; font-size: 14px; line-height: 1.5; color: #DAD5CC; }
.shop-get li::marker { color: var(--gold); font-weight: 600; }
.shop-disc p { margin: 0; }
.shop-disc p + p { margin-top: 2px; }
.shop-disc-t { margin: 0 0 6px !important; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--gold); }
.shop-inc li, .cmp-col li { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; line-height: 1.45; color: #E4E0D8; }
.shop-inc svg, .cmp-col li svg { flex: none; width: 16px; height: 16px; margin-top: 3px; color: var(--gold); }
.shop-fmt { margin: 0; font-size: 13px; line-height: 1.45; color: var(--muted-2); text-align: center; }

.cmp-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.cmp-col { display: flex; flex-direction: column; gap: 10px; padding: 20px; border-radius: 18px; border: 1px solid var(--line-n); background: rgba(255, 255, 255, .02); }
.cmp-law { border-color: rgba(232, 194, 122, .4); background: rgba(232, 194, 122, .05); }
.cmp-name { margin: 0; font-family: var(--head); font-weight: 600; font-size: 20px; }
.cmp-price { margin: 0; font-family: var(--head); font-weight: 700; font-size: 22px; color: var(--gold-hi); }
.cmp-col ul { list-style: none; margin: 4px 0 8px; padding: 0; display: flex; flex-direction: column; gap: 9px; flex: 1; }
.cmp-btn { align-self: flex-start; }
.shop-disc { margin: 16px 0 0; padding: 14px 18px; border-radius: 16px; border: 1px solid rgba(232, 194, 122, .22); background: rgba(232, 194, 122, .05); font-size: 14px; line-height: 1.55; color: #CFC9BD; }

/* Окно: анкета → результат → оформление заказа */
.shop-dlg { width: min(560px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); padding: 0; border-radius: 26px; border: 1px solid rgba(232, 194, 122, .4); background: linear-gradient(180deg, #16140F, #0A0A09); color: var(--text); box-shadow: 0 40px 100px rgba(0, 0, 0, .7); }
.shop-dlg::backdrop { background: rgba(0, 0, 0, .72); backdrop-filter: blur(4px); }
.shop-dlg[open] { animation: swapIn .35s var(--ease) both; }
.dlg-in { position: relative; padding: 32px; display: flex; flex-direction: column; gap: 16px; }
.dlg-x { position: absolute; top: 14px; right: 14px; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--line-n); background: rgba(255, 255, 255, .04); color: var(--text); display: grid; place-items: center; cursor: pointer; }
.dlg-x:hover { border-color: var(--gold); }
.dlg-prod { margin: 0; padding-right: 48px; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--gold); }
.dlg-prod b { color: var(--gold-hi); }
.dlg-step { display: flex; flex-direction: column; gap: 16px; }
.dlg-step[hidden] { display: none; }
.dlg-h { margin: 0; font-family: var(--head); font-weight: 600; font-size: 24px; line-height: 1.2; }
.dlg-sub { margin: -6px 0 0; font-size: 14px; color: var(--muted-2); }
.qz { margin: 0; padding: 0; border: 0; display: flex; flex-direction: column; gap: 10px; }
.qz legend { padding: 0; margin-bottom: 10px; font-size: 16px; line-height: 1.45; color: #F1EFEA; }
.qz-row { display: flex; flex-wrap: wrap; gap: 8px; }
.qz-opt { position: relative; }
.qz-opt input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.qz-opt span { display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border-radius: 999px; border: 1px solid rgba(232, 194, 122, .25); background: rgba(255, 255, 255, .03); font-size: 15px; cursor: pointer; transition: background .2s, border-color .2s; }
.qz-opt:hover span { border-color: rgba(232, 194, 122, .55); }
.qz-opt input:checked + span { background: var(--gold-btn); color: var(--ink); border-color: #F3D58F; font-weight: 600; }
.qz-opt input:focus-visible + span { outline: 2px solid var(--gold); outline-offset: 2px; }
.dlg-next:disabled, .co-pay:disabled { opacity: .45; cursor: not-allowed; box-shadow: none; }
.res-x { margin: 0; color: var(--muted); }
[data-step="result"].is-risk .res-t { color: var(--urgent-text); }
.dlg-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.btn-text { border: 0; background: none; color: var(--muted); font-size: 15px; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; padding: 10px 6px; }
.btn-text:hover { color: var(--gold-hi); }
.co-note { margin: 0; font-size: 13px; line-height: 1.5; color: var(--muted-2); }
.co-off { margin: 0; padding: 14px 16px; border-radius: 14px; border: 1px solid rgba(232, 194, 122, .3); background: rgba(232, 194, 122, .06); font-size: 15px; color: var(--gold-hi); }
.co-off[hidden], .co-pay[hidden], .co-consult[hidden] { display: none; }

/* Страница заказа */
.order { display: flex; flex-direction: column; gap: 18px; align-items: flex-start; }
.order-no { margin: 0; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--gold); }
.order-msg { margin: 0; font-size: 18px; display: flex; gap: 12px; align-items: center; }
.order-ok { color: var(--gold-hi); }
.order-files { list-style: none; margin: 0; padding: 0; width: 100%; display: flex; flex-direction: column; gap: 10px; }
.order-files li { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 16px 14px 20px; border-radius: 16px; border: 1px solid var(--line-2); background: rgba(255, 255, 255, .02); }
.order-files span { min-width: 0; overflow-wrap: anywhere; }
.order-files .btn { min-height: 44px; flex: none; }
.order-save, .order-help { margin: 0; font-size: 15px; color: var(--muted); }
.spin { width: 18px; height: 18px; border-radius: 50%; border: 2px solid rgba(232, 194, 122, .3); border-top-color: var(--gold); animation: spin 1s linear infinite; flex: none; }
@keyframes spin { to { transform: rotate(360deg); } }

@media (max-width: 1040px) {
  .cmp-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
  .cmp-col { padding: 20px; }
  .cmp-btn { align-self: stretch; white-space: normal; text-align: center; }
  .dlg-in { padding: 24px 20px; }
  .dlg-h { font-size: 21px; }
  .dlg-actions .btn { width: 100%; white-space: normal; text-align: center; }
  .order-files li { flex-direction: column; align-items: stretch; }
}
@media (prefers-reduced-motion: reduce) {
  .shop-dlg[open] { animation: none; }
  .spin { animation: none; }
}
.cmp-note { margin: -6px 0 0; font-size: 14px; color: var(--muted-2); }
.doc:has(.order) { grid-template-columns: minmax(0, 1fr); max-width: 760px; }
.order { width: 100%; }
.dlg-prod b, .shop-price, .cmp-price { white-space: nowrap; }

/* ---------- Новые блоки из админ-панели ---------- */
.cb-in { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; align-items: center; }
.cblock.has-img .cb-in { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
.cblock-card .cb-in { padding: 48px; border-radius: 28px; border: 1px solid var(--line-2); background: radial-gradient(600px 400px at 0% 0%, rgba(226, 184, 101, .12), transparent 70%), linear-gradient(180deg, #12110E, #080808); }
.cb-text { display: flex; flex-direction: column; gap: 18px; max-width: 760px; }
.cb-text .h2 { margin: 0; }
.cb-body { color: var(--muted); }
.cb-body p { margin: 0 0 14px; }
.cb-body p:last-child { margin-bottom: 0; }
.cb-body b { color: var(--text); }
.cb-list { margin: 0 0 14px; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.cb-list li { position: relative; padding-left: 22px; }
.cb-list li::before { content: ''; position: absolute; left: 4px; top: .65em; width: 7px; height: 7px; border-radius: 50%; background: var(--gold); }
.cb-files { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.cb-files a { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; }
.cb-files svg { color: var(--gold); flex: none; }
.cb-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.cb-img { margin: 0; }
.cb-img img { display: block; width: 100%; height: auto; border-radius: 22px; border: 1px solid var(--line-2); }
@media (max-width: 1040px) { .cblock.has-img .cb-in { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 760px) {
  .cblock-card .cb-in { padding: 24px 20px; border-radius: 22px; }
  .cb-actions .btn { width: 100%; white-space: normal; text-align: center; }
}

/* Блоки конструктора из админ-панели */
.announce { position: relative; z-index: 40; padding: 9px 16px; text-align: center; font-size: 14px; background: var(--gold-btn); color: var(--ink); }
.announce a { color: inherit; text-underline-offset: 3px; }
.cpage-head { padding-top: 48px; }
.cpage-head .h2 { margin: 0; }
.cpage-langs { display: flex; gap: 10px; margin-left: auto; margin-right: 16px; font-size: 14px; }
.cpage-langs a { color: var(--muted); text-decoration: none; }
.cpage-langs a[aria-current] { color: var(--gold-hi); font-weight: 600; }
.cblock:not(.cblock-text) .cb-text { max-width: none; }
.cblock-cta .cb-text { align-items: center; text-align: center; max-width: 820px; margin: 0 auto; }
.cblock-cta .cb-actions { justify-content: center; }
.cb-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 16px; }
.cb-card { padding: 24px; border-radius: 20px; border: 1px solid var(--line); background: var(--card); display: flex; flex-direction: column; gap: 10px; }
.cb-card img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 12px; }
.cb-card h3, .cb-steps h3 { font-family: var(--head); font-size: 19px; font-weight: 600; }
.cb-steps { list-style: none; counter-reset: cb; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 20px; }
.cb-steps li { counter-increment: cb; position: relative; padding-left: 62px; min-height: 44px; }
.cb-steps li::before { content: counter(cb); position: absolute; left: 0; top: 0; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--line-2); color: var(--gold); font-weight: 600; }
.cb-faq details { border-bottom: 1px solid var(--line); padding: 16px 0; }
.cb-faq summary { cursor: pointer; font-weight: 600; }
.cb-faq .cb-body { margin-top: 10px; }
.cb-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(240px, 100%), 1fr)); gap: 14px; }
.cb-gallery figure { margin: 0; }
.cb-gallery img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 14px; border: 1px solid var(--line); }
.cb-gallery figcaption { margin-top: 6px; color: var(--muted); font-size: 14px; }
.cb-video { display: block; width: 100%; max-height: 70vh; border-radius: 18px; border: 1px solid var(--line-2); background: #000; }
.cb-table-wrap { overflow-x: auto; }
.cb-table { width: 100%; border-collapse: collapse; }
.cb-table th, .cb-table td { padding: 12px 14px; text-align: left; border-bottom: 1px solid var(--line); vertical-align: top; }
.cb-table th { font-weight: 500; }
.cb-table td { color: var(--gold-hi); white-space: nowrap; }
@media (max-width: 640px) { .cpage-langs { display: none; } .cb-table td { white-space: normal; } }


/* =====================================================================
   Выбор страны (второй экран): только флаг и название, без рамок.
   Наведение: флаг приподнимается, слегка «развевается», под названием — золотая линия.
   ===================================================================== */
.cty-list { display: flex; flex-wrap: wrap; gap: 6px 28px; }
.cty-b { position: relative; display: inline-flex; align-items: center; gap: 12px; min-height: 48px; padding: 8px 2px; border: 0; border-radius: 10px; background: none; color: #E9E5DD; font-size: 15px; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.cty-b:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
.cty-fw { position: relative; flex: none; display: block; width: 42px; height: 28px; border-radius: 5px; transform-origin: 30% 60%; transition: transform .38s var(--ease), box-shadow .38s var(--ease); box-shadow: 0 2px 6px rgba(0, 0, 0, .45), 0 0 0 1px rgba(255, 255, 255, .08); }
.cty-fw .cty-flag { display: block; width: 100%; height: 100%; border-radius: inherit; object-fit: cover; transform-origin: 0% 50%; }
.cty-fw::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; background: linear-gradient(105deg, transparent 20%, rgba(255, 255, 255, .38) 42%, transparent 62%); background-size: 260% 100%; background-position: 120% 0; opacity: 0; mix-blend-mode: soft-light; }
.cty-globe { display: grid; place-items: center; background: rgba(232, 194, 122, .1); color: var(--gold); box-shadow: inset 0 0 0 1px rgba(232, 194, 122, .35); }
.cty-n { position: relative; padding-bottom: 3px; transition: color .3s ease; }
.cty-n::after { content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 1.5px; border-radius: 2px; background: linear-gradient(90deg, #F3D58F, #C8933F); transform: scaleX(0); transform-origin: left; opacity: .8; transition: transform .38s var(--ease), opacity .3s ease, box-shadow .3s ease; }
@media (hover: hover) {
  .cty-b:hover .cty-fw { transform: translateY(-3px) scale(1.05); box-shadow: 0 11px 14px -7px rgba(0, 0, 0, .8), 0 0 0 1px rgba(255, 255, 255, .12), 0 6px 18px rgba(226, 184, 101, .12); }
  .cty-b:hover .cty-flag { animation: flagWave 1.1s ease-in-out both; }
  .cty-b:hover .cty-fw::after { animation: flagSheen 1.1s ease-in-out both; }
  .cty-b:hover .cty-n { color: #FFFFFF; }
  .cty-b:hover .cty-n::after { transform: scaleX(1); }
}
@keyframes flagWave { 0%, 100% { transform: perspective(140px) rotateY(0) skewY(0); } 30% { transform: perspective(140px) rotateY(-9deg) skewY(-1.2deg); } 65% { transform: perspective(140px) rotateY(6deg) skewY(.8deg); } }
@keyframes flagSheen { 0% { opacity: 0; background-position: 120% 0; } 25% { opacity: 1; } 100% { opacity: 0; background-position: -60% 0; } }
.cty-b[aria-pressed="true"] { color: var(--gold-hi); font-weight: 600; }
.cty-b[aria-pressed="true"] .cty-n::after { transform: scaleX(1); opacity: 1; box-shadow: 0 0 10px rgba(243, 213, 143, .55); }
.cty-b[aria-pressed="true"] .cty-fw { box-shadow: 0 2px 6px rgba(0, 0, 0, .45), 0 0 0 1px rgba(243, 213, 143, .55), 0 0 16px rgba(226, 184, 101, .3); }
.cty-b:active .cty-fw { transform: scale(.94); transition-duration: .12s; }
@media (max-width: 760px) {
  .cty-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 14px; }
  .cty-b { min-height: 46px; gap: 10px; font-size: 14px; }
  .cty-n { min-width: 0; overflow-wrap: anywhere; text-align: left; }
}

/* =====================================================================
   Нижние разделы (после «Что у вас сейчас?»): графит, холодный чёрно-синий и золото.
   ===================================================================== */
.lower {
  --gold: #D8AD61; --gold-hi: #F1D18E; --text: #F4F2F0; --muted: #B5BAC4; --muted-2: #8B93A1;
  --line: rgba(216, 173, 97, .2); --line-2: rgba(216, 173, 97, .38); --line-n: rgba(181, 186, 196, .14);
  --gold-btn: linear-gradient(180deg, #F4D899 0%, #D8AD61 55%, #B5863F 100%);
  --deep: #0C1420; --graphite: #10151E; --graphite-2: #202A39; --surface: #252D3B;
  position: relative; color: var(--text); padding-top: 24px;
  background: linear-gradient(180deg, var(--bg) 0, #0B0F16 140px, var(--graphite) 340px);
}
.lower > .section { position: relative; isolation: isolate; padding-top: 104px; padding-bottom: 104px; }
.lower > .section::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: calc(50% - 50vw); width: 100vw; pointer-events: none; background: var(--band, none); }
.lower > #how { --band: radial-gradient(900px 420px at 12% 0%, rgba(216, 173, 97, .07), transparent 70%), linear-gradient(180deg, rgba(12, 20, 32, 0) 0, var(--deep) 150px, var(--deep) calc(100% - 150px), rgba(12, 20, 32, 0)); }
.lower > #about { --band: radial-gradient(760px 460px at 92% 40%, rgba(216, 173, 97, .06), transparent 70%); }
.lower > #self { --band: linear-gradient(180deg, rgba(22, 29, 41, 0) 0, #161D29 150px, #161D29 calc(100% - 150px), rgba(22, 29, 41, 0)); }
.lower > #contact { --band: radial-gradient(820px 520px at 18% 45%, rgba(216, 173, 97, .08), transparent 70%), linear-gradient(180deg, rgba(12, 20, 32, 0) 0, var(--deep) 150px, var(--deep) calc(100% - 150px), rgba(12, 20, 32, 0)); }
.lower .h2 { font-size: clamp(34px, 3.3vw, 50px); line-height: 1.08; letter-spacing: -0.025em; color: #F7F5F2; }
.lower .gold { background-image: linear-gradient(100deg, #B98A45 0%, #F1D18E 22%, #FFF2D2 32%, #D8AD61 46%, #B98A45 64%, #F1D18E 82%, #B98A45 100%); }
.lower .eyebrow { display: flex; align-items: center; gap: 12px; color: var(--gold); }
.lower .eyebrow::before { content: ""; flex: none; width: 30px; height: 1px; background: linear-gradient(90deg, var(--gold), rgba(216, 173, 97, 0)); }
.lower .sec-head { margin-bottom: 48px; }
.lower .sec-sub { color: var(--muted); max-width: 470px; }
.lower .btn-line { border-color: rgba(216, 173, 97, .55); background: rgba(12, 20, 32, .5); }
.lower .cblock-card .cb-in { border-color: rgba(216, 173, 97, .26); background: radial-gradient(600px 400px at 0% 0%, rgba(216, 173, 97, .1), transparent 70%), linear-gradient(180deg, #1C2431, #121823); }
.footer { background: linear-gradient(180deg, #10151E, #090D13); border-top-color: rgba(216, 173, 97, .16); }

/* ---------- Контурные иконки и их микроанимации ---------- */
.ic { display: block; overflow: visible; transition: transform .4s var(--ease); transform-origin: center; }
.ic path { transform-box: fill-box; transform-origin: center; transition: transform .4s var(--ease), stroke .3s ease, stroke-width .3s ease, opacity .3s ease; }
.ic .i-check { stroke-dasharray: 1; stroke-dashoffset: 0; }
.ic .i-sweep { stroke: #FFF1CF; stroke-width: 2; stroke-dasharray: .16 .84; stroke-dashoffset: .16; opacity: 0; }
.ic .i-hand { transform-origin: 0% 69%; }
@media (hover: hover) {
  :is(.ict:hover, .ict:focus-visible, .ict-self:hover) .ic[data-ic="doc"] { transform: translateY(-3px); }
  :is(.ict:hover, .ict:focus-visible, .ict-self:hover) .ic[data-ic="doc"] .i-l1 { stroke: var(--gold-hi); stroke-width: 2.1; }
  :is(.ict:hover, .ict:focus-visible, .ict-self:hover) .ic[data-ic="shield"] .i-sweep { animation: icSweep .9s var(--ease) both; }
  :is(.ict:hover, .ict:focus-visible, .ict-self:hover) .ic[data-ic="shield"] .i-check { animation: icDraw .5s var(--ease) .1s both; stroke: var(--gold-hi); }
  :is(.ict:hover, .ict:focus-visible, .ict-self:hover) .ic[data-ic="chat"] .i-l1 { transform: translateX(1.6px); }
  :is(.ict:hover, .ict:focus-visible, .ict-self:hover) .ic[data-ic="chat"] .i-l2 { transform: translateX(-1.2px); stroke: var(--gold-hi); }
  :is(.ict:hover, .ict:focus-visible, .ict-self:hover) .ic[data-ic="calendar"] { transform: translateY(-3px); }
  :is(.ict:hover, .ict:focus-visible, .ict-self:hover) .ic[data-ic="calendar"] .i-top { stroke: var(--gold-hi); }
  :is(.ict:hover, .ict:focus-visible, .ict-self:hover) .ic[data-ic="check"] .i-check { animation: icDraw .45s var(--ease) both; stroke: var(--gold-hi); }
  :is(.ict:hover, .ict:focus-visible, .ict-self:hover) .ic[data-ic="arrow"] { animation: icNudge .45s var(--ease); }
  :is(.ict:hover, .ict:focus-visible, .ict-self:hover) .ic[data-ic="user"] .i-head { transform: translateY(-1px); stroke: var(--gold-hi); }
  :is(.ict:hover, .ict:focus-visible, .ict-self:hover) .ic[data-ic="phone"] { animation: icRing .5s ease-in-out; }
  :is(.ict:hover, .ict:focus-visible, .ict-self:hover) .ic[data-ic="pin"] { transform: translateY(-3px); }
  :is(.ict:hover, .ict:focus-visible, .ict-self:hover) .ic[data-ic="pin"] .i-dot { stroke: var(--gold-hi); }
  :is(.ict:hover, .ict:focus-visible, .ict-self:hover) .ic[data-ic="lock"] .i-shackle { transform: translateY(-1.6px); }
  :is(.ict:hover, .ict:focus-visible, .ict-self:hover) .ic[data-ic="lock"] .i-l1 { stroke: var(--gold-hi); }
  :is(.ict:hover, .ict:focus-visible, .ict-self:hover) .ic[data-ic="price"] .i-l2 { transform: translateX(1.5px); stroke: var(--gold-hi); }
  :is(.ict:hover, .ict:focus-visible, .ict-self:hover) .ic[data-ic="clock"] .i-hand { transform: rotate(40deg); stroke: var(--gold-hi); }
  :is(.ict:hover, .ict:focus-visible, .ict-self:hover) .ic[data-ic="mail"] .i-flap { transform: translateY(1px); stroke: var(--gold-hi); }
  :is(.ict:hover, .ict:focus-visible, .ict-self:hover) .ic[data-ic="home"] .i-roof { transform: translateY(-1.5px); stroke: var(--gold-hi); }
  :is(.ict:hover, .ict:focus-visible, .ict-self:hover) .ic[data-ic="home"] .i-door { stroke: var(--gold-hi); }
}
@keyframes icSweep { 0% { opacity: 0; stroke-dashoffset: .16; } 15% { opacity: 1; } 85% { opacity: 1; } 100% { opacity: 0; stroke-dashoffset: -.84; } }
@keyframes icDraw { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes icNudge { 50% { transform: translateX(4px); } }
@keyframes icRing { 20% { transform: rotate(-12deg); } 40% { transform: rotate(10deg); } 60% { transform: rotate(-6deg); } 80% { transform: rotate(3deg); } }
/* При появлении раздела контуры иконок прорисовываются один раз (класс .rv-in ставит app.js). */
.rv .ic path:not(.i-sweep) { stroke-dasharray: 1; stroke-dashoffset: 1; }
.rv.rv-in .ic path:not(.i-sweep) { stroke-dashoffset: 0; transition: stroke-dashoffset 1.1s var(--ease) .25s, stroke .3s ease, transform .4s var(--ease); }

/* ---------- Как мы работаем: этапы на одной линии ---------- */
.lower .how-grid { --gap: 28px; position: relative; list-style: none; margin: 0; padding: 0; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: var(--gap); }
.how-step:nth-child(2) { --i: 1; } .how-step:nth-child(3) { --i: 2; } .how-step:nth-child(4) { --i: 3; } .how-step:nth-child(5) { --i: 4; } .how-step:nth-child(6) { --i: 5; }
/* Соединительная линия: отрезок от иконки этапа до иконки следующего (без встроенных стилей — их запрещает CSP). */
.how-step:not(:last-child)::before, .how-step:not(:last-child)::after { content: ""; position: absolute; top: 36px; left: 72px; width: calc(100% + var(--gap) - 72px); height: 1px; }
.how-step:not(:last-child)::before { background: rgba(181, 186, 196, .14); }
.how-step:not(:last-child)::after { background: linear-gradient(90deg, #D8AD61, #F1D18E 50%, #D8AD61); box-shadow: 0 0 10px rgba(216, 173, 97, .35); transform-origin: left; }
.rv .how-step::after { transform: scaleX(0); }
.rv.rv-in .how-step::after { transform: scaleX(1); transition: transform .7s var(--ease); transition-delay: calc(.35s + var(--i, 0) * .35s); }
.lower .how-step { position: relative; display: flex; flex-direction: column; gap: 24px; }
.rv .how-step { opacity: 0; transform: translateY(16px); }
.rv.rv-in .how-step { opacity: 1; transform: none; transition: opacity .6s var(--ease), transform .6s var(--ease); transition-delay: calc(.15s + var(--i, 0) * .12s); }
.how-node { position: relative; z-index: 1; width: 72px; height: 72px; border-radius: 50%; display: grid; place-items: center; color: var(--gold); background: radial-gradient(circle at 35% 30%, #2A3446, #121924 72%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 0 0 1px rgba(216, 173, 97, .38), 0 0 0 9px var(--deep), 0 14px 30px rgba(0, 0, 0, .45); transition: box-shadow .4s ease; }
.rv.rv-in .how-node { animation: nodeGlow 1.4s ease both; animation-delay: calc(.5s + var(--i, 0) * .3s); }
@keyframes nodeGlow { 50% { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 0 0 1px rgba(241, 209, 142, .85), 0 0 0 9px var(--deep), 0 0 34px rgba(216, 173, 97, .35); } }
.how-step:hover .how-node { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 0 0 1px rgba(241, 209, 142, .8), 0 0 0 9px var(--deep), 0 0 30px rgba(216, 173, 97, .25); }
.how-body { display: flex; flex-direction: column; gap: 10px; }
.lower .how-n { font-family: var(--head); font-weight: 700; font-size: 56px; line-height: .95; letter-spacing: -0.03em; color: transparent; -webkit-text-stroke: 1px rgba(216, 173, 97, .6); transition: -webkit-text-stroke-color .3s ease; }
.how-step:hover .how-n { -webkit-text-stroke-color: #F1D18E; }
.lower .how-k { font-size: 12px; letter-spacing: .18em; text-transform: uppercase; color: var(--muted-2); }
.lower .how-step h3 { font-family: var(--head); font-weight: 600; font-size: 24px; line-height: 1.2; }
.lower .how-step p { margin: 0; color: var(--muted); }
.lower .how-get { margin-top: 6px; padding-top: 14px; border-top: 1px solid var(--line-n); display: flex; gap: 10px; font-size: 15px; color: var(--text); }
.how-get svg { flex: none; width: 16px; height: 16px; margin-top: 4px; color: var(--gold); }
.how-get-l { color: var(--muted-2); }

/* ---------- Преимущества: открытая сетка с тонкими разделителями ---------- */
.lower .about { display: grid; grid-template-columns: minmax(0, 400px) minmax(0, 1fr); gap: 64px; align-items: start; }
.about-body { display: flex; flex-direction: column; gap: 36px; min-width: 0; }
.lower .about-text > p:last-child { margin: 22px 0 0; color: var(--muted); max-width: 460px; }
.lower .facts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-bottom: 1px solid var(--line-n); }
.lower .fact { position: relative; display: grid; grid-template-columns: 54px minmax(0, 1fr); column-gap: 18px; row-gap: 6px; align-content: start; padding: 30px 28px 30px 0; border-top: 1px solid var(--line-n); }
.lower .fact:nth-child(even) { padding-left: 32px; padding-right: 0; border-left: 1px solid var(--line-n); }
.lower .fact::before { content: ""; position: absolute; left: 0; top: -1px; height: 1px; width: 56px; background: linear-gradient(90deg, var(--gold), rgba(216, 173, 97, 0)); opacity: .7; transition: width .45s var(--ease), opacity .3s ease; }
.lower .fact:nth-child(even)::before { left: 32px; }
.lower .fact:hover::before { width: 160px; opacity: 1; }
.fact-ic { grid-row: span 2; width: 54px; height: 54px; border-radius: 50%; display: grid; place-items: center; color: var(--gold); background: radial-gradient(circle at 35% 30%, rgba(216, 173, 97, .16), rgba(216, 173, 97, .02) 70%); box-shadow: inset 0 0 0 1px rgba(216, 173, 97, .28); transition: box-shadow .35s ease; }
.lower .fact:hover .fact-ic { box-shadow: inset 0 0 0 1px rgba(241, 209, 142, .6), 0 0 22px rgba(216, 173, 97, .16); }
.lower .fact b { font-family: var(--head); font-weight: 600; font-size: 20px; line-height: 1.25; transition: color .3s ease, text-shadow .3s ease; }
.lower .fact:hover b { color: #FFF8EA; text-shadow: 0 0 18px rgba(241, 209, 142, .22); }
.lower .fact > span:last-child { font-size: 15px; line-height: 1.5; color: var(--muted); }

/* ---------- Инструкции: направления слева, описание справа ---------- */
.shop-tabs { display: grid; grid-template-columns: minmax(0, 380px) minmax(0, 1fr); gap: 32px; align-items: start; }
.shop-list { position: sticky; top: calc(var(--hh) + 24px); display: flex; flex-direction: column; gap: 12px; }
.shop-tab { position: relative; display: flex; align-items: center; gap: 16px; width: 100%; padding: 18px; border-radius: 18px; border: 1px solid transparent; background: transparent; color: var(--text); text-align: left; cursor: pointer; transition: background .35s ease, border-color .35s ease, box-shadow .35s ease; }
.shop-tab[hidden] { display: none; }
.shop-tab:not(:last-child)::after { content: ""; position: absolute; left: 18px; right: 18px; bottom: -7px; height: 1px; background: var(--line-n); }
.shop-tab:hover { background: rgba(37, 45, 59, .45); }
.shop-tab:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.shop-tab[aria-selected="true"] { background: linear-gradient(100deg, rgba(216, 173, 97, .17), rgba(37, 45, 59, .6) 62%); border-color: rgba(216, 173, 97, .45); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05), 0 16px 36px rgba(0, 0, 0, .35), 0 0 30px rgba(216, 173, 97, .08); }
.shop-tab-ic { flex: none; width: 50px; height: 50px; border-radius: 15px; display: grid; place-items: center; color: var(--gold); background: rgba(255, 255, 255, .03); box-shadow: inset 0 0 0 1px rgba(216, 173, 97, .25); transition: background .35s ease, box-shadow .35s ease; }
.shop-tab[aria-selected="true"] .shop-tab-ic { background: rgba(216, 173, 97, .12); box-shadow: inset 0 0 0 1px rgba(241, 209, 142, .55), 0 0 18px rgba(216, 173, 97, .15); }
.shop-tab-t { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.shop-tab-name { font-family: var(--head); font-weight: 600; font-size: 17px; line-height: 1.25; }
.shop-tab-price { font-size: 14px; color: var(--gold); white-space: nowrap; }
.shop-tab-go { flex: none; color: var(--muted-2); transition: color .3s ease; }
.shop-tab[aria-selected="true"] .shop-tab-go { color: var(--gold-hi); }
.shop-panels { min-width: 0; }
.shop-card { display: none; flex-direction: column; gap: 20px; padding: 34px; border-radius: 26px; border: 1px solid rgba(216, 173, 97, .28); background: radial-gradient(560px 320px at 100% 0%, rgba(216, 173, 97, .1), transparent 70%), linear-gradient(180deg, #232B39, #19202B); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 30px 70px rgba(0, 0, 0, .45); }
.shop-card.is-active { display: flex; }
.shop-card[hidden] { display: none !important; }
.shop-card:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.shop-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px 20px; flex-wrap: wrap; }
.shop-head { display: flex; align-items: center; gap: 16px; min-width: 0; }
.shop-ico { flex: none; width: 60px; height: 60px; border-radius: 18px; display: grid; place-items: center; color: var(--gold); background: radial-gradient(circle at 35% 30%, rgba(216, 173, 97, .2), rgba(216, 173, 97, .03) 70%); box-shadow: inset 0 0 0 1px rgba(216, 173, 97, .4); }
.shop-title { margin: 0; font-family: var(--head); font-weight: 600; font-size: 28px; line-height: 1.15; letter-spacing: -0.015em; }
.shop-price { margin: 4px 0 0; font-family: var(--head); font-weight: 700; font-size: 34px; line-height: 1; letter-spacing: -0.01em; background: linear-gradient(180deg, #FBE6B4, #D8AD61 60%, #B5863F); -webkit-background-clip: text; background-clip: text; color: transparent; white-space: nowrap; }
.shop-short { margin: 0; max-width: 680px; font-size: 16px; line-height: 1.6; color: var(--muted); }
.shop-cols { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.shop-col { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.lower .shop-inc li { color: #E7E9EE; }
.lower .shop-note { border-color: var(--line-n); background: rgba(12, 20, 32, .35); color: var(--muted); }
.lower .shop-help { border-color: rgba(216, 173, 97, .32); background: linear-gradient(180deg, rgba(12, 20, 32, .55), rgba(12, 20, 32, .3)); }
.lower .shop-help p { color: #D9DCE2; }
.lower .shop-help .shop-help-note, .lower .shop-help .shop-help-scope { color: var(--muted); }
.lower .shop-help-ico { border-color: rgba(216, 173, 97, .45); }
.lower .shop-get { border-color: var(--line-n); background: rgba(12, 20, 32, .3); }
.lower .shop-get ol { color: #D9DCE2; }
.shop-actions { display: flex; align-items: center; gap: 14px 22px; flex-wrap: wrap; }
.shop-buy { min-width: 280px; }
.shop-buy svg, .submit svg { transition: transform .3s var(--ease); }
.shop-buy:hover svg, .submit:hover svg { transform: translateX(4px); }
.shop-actions .shop-fmt { flex: 1; min-width: 200px; text-align: left; }
.shop-cmp { margin-top: 28px; border-radius: 22px; border: 1px solid var(--line-n); background: rgba(12, 20, 32, .45); }
.cmp-sum { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 16px; padding: 20px 24px; border-radius: 22px; }
.cmp-sum::-webkit-details-marker { display: none; }
.cmp-sum:hover { background: rgba(216, 173, 97, .04); }
.cmp-sum:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.cmp-title { flex: 1; min-width: 0; font-family: var(--head); font-weight: 600; font-size: 22px; line-height: 1.2; letter-spacing: -0.01em; }
.cmp-from { flex: none; font-size: 15px; color: var(--gold); white-space: nowrap; }
.shop-cmp .cmp-grid { padding: 0 24px 24px; overflow: hidden; }
.lower .cmp-col { border-color: var(--line-n); background: rgba(37, 45, 59, .4); }
.lower .cmp-law { border-color: rgba(216, 173, 97, .4); background: rgba(216, 173, 97, .05); }
.lower .shop-disc { border-color: rgba(216, 173, 97, .2); background: rgba(216, 173, 97, .04); color: var(--muted); }

/* Плюс → минус (вопросы, «Что я получу», сравнение) */
.pm { flex: none; position: relative; width: 34px; height: 34px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(216, 173, 97, .5); transition: background .3s ease, box-shadow .3s ease; }
.pm i { position: absolute; left: 50%; top: 50%; width: 12px; height: 1.5px; margin: -.75px 0 0 -6px; border-radius: 2px; background: var(--gold); transition: transform .35s var(--ease); }
.pm i:last-child { transform: rotate(90deg); }
details[open]:not(.closing) > summary .pm i:last-child { transform: rotate(90deg) scaleX(0); }
summary:hover .pm { background: rgba(216, 173, 97, .1); box-shadow: inset 0 0 0 1px rgba(241, 209, 142, .8); }
.shop-get .pm { width: 30px; height: 30px; }

/* ---------- Форма консультации ---------- */
.lower .contact-card { border-radius: 30px; border-color: rgba(216, 173, 97, .26); background: radial-gradient(640px 420px at 0% 0%, rgba(216, 173, 97, .11), transparent 70%), linear-gradient(180deg, #1C2431, #121823); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 40px 90px rgba(0, 0, 0, .45); }
.lower .contact-text > p { color: var(--muted); }
.lower .contact-phone { display: inline-flex; align-items: center; gap: 14px; align-self: flex-start; color: #F7F5F2; }
.ct-ic { flex: none; width: 50px; height: 50px; border-radius: 50%; display: grid; place-items: center; color: var(--gold); background: rgba(216, 173, 97, .07); box-shadow: inset 0 0 0 1px rgba(216, 173, 97, .42); transition: box-shadow .3s ease; }
.contact-phone:hover .ct-ic { box-shadow: inset 0 0 0 1px rgba(241, 209, 142, .85), 0 0 20px rgba(216, 173, 97, .2); }
.lower .contact-text .hours { display: flex; align-items: center; gap: 8px; margin-top: 8px; padding-left: 64px; color: var(--muted-2); }
.hours .ic { flex: none; color: var(--gold); }
.lower .pill { gap: 10px; border-color: var(--line-n); background: rgba(255, 255, 255, .03); }
.lower .pill:hover { border-color: var(--gold); background: rgba(216, 173, 97, .07); }
.pill svg { flex: none; width: 22px; height: 22px; border-radius: 50%; }
.pill-mail svg { color: var(--gold); border-radius: 0; }
.lower .field { color: var(--muted); }
.lower .field input, .lower .field textarea { border: 1px solid rgba(181, 186, 196, .18); border-radius: 14px; background: rgba(10, 14, 21, .55); transition: border-color .25s ease, box-shadow .25s ease, background .25s ease; }
.lower .field input:hover, .lower .field textarea:hover { border-color: rgba(181, 186, 196, .3); }
.lower .field input:focus, .lower .field textarea:focus { border-color: rgba(216, 173, 97, .65); background: rgba(12, 18, 28, .85); box-shadow: inset 0 -2px 0 var(--gold), 0 0 0 4px rgba(216, 173, 97, .08); }
.lower .field input[readonly] { color: var(--gold-hi); border-color: rgba(216, 173, 97, .3); box-shadow: none; }
.lower .field.invalid input { border-color: var(--urgent); }
.lower .check a, .lower .consent a { color: var(--text); }
.lower .submit { gap: 12px; }
.lower .submit:hover { transform: translateY(-2px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .6), 0 16px 40px rgba(216, 173, 97, .32); }

/* ---------- Частые вопросы ---------- */
.lower .faq { max-width: 1320px; }
.lower .faq .h2 { margin-bottom: 30px; }
.faq-list { border-top: 1px solid var(--line-n); }
.lower .q { border-bottom: 1px solid var(--line-n); transition: background .3s ease; }
.lower .q summary { display: flex; align-items: center; gap: 22px; min-height: 80px; padding: 14px 10px; font-weight: 500; font-size: 19px; line-height: 1.4; cursor: pointer; list-style: none; }
.lower .q summary:focus-visible { outline: 2px solid var(--gold); outline-offset: -2px; border-radius: 10px; }
.q-n { flex: none; width: 28px; font-family: var(--head); font-weight: 600; font-size: 13px; letter-spacing: .08em; color: var(--gold); }
.q-t { flex: 1; min-width: 0; transition: color .3s ease; }
.q summary:hover .q-t { color: #FFF8EC; }
.lower .q[open] { background: linear-gradient(90deg, rgba(216, 173, 97, .05), transparent 65%); }
.q-a { overflow: hidden; }
.q-a p { margin: 0; padding: 0 66px 26px 60px; max-width: 900px; color: var(--muted); line-height: 1.65; }

/* ---------- Нижние разделы: планшет и телефон ---------- */
@media (max-width: 1040px) {
  .lower .about { grid-template-columns: minmax(0, 280px) minmax(0, 1fr); gap: 36px; }
  .shop-tabs { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .shop-list { position: static; }
}
@media (max-width: 1040px) {
  .lower .how-grid { --gap: 30px; grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: minmax(0, 1fr); }
  .how-step:not(:last-child)::before, .how-step:not(:last-child)::after { top: 72px; left: 36px; width: 1px; height: calc(100% + var(--gap) - 72px); }
  .how-step:not(:last-child)::after { background: linear-gradient(180deg, #D8AD61, #F1D18E 50%, #D8AD61); transform-origin: top; }
  .rv .how-step::after { transform: scaleY(0); }
  .rv.rv-in .how-step::after { transform: scaleY(1); }
  .lower .how-step { flex-direction: row; gap: 20px; }
  .how-node { flex: none; }
}
@media (max-width: 760px) {
  .lower > .section { padding-top: 64px; padding-bottom: 64px; }
  .lower .h2 { font-size: 30px; }
  .lower .sec-head { margin-bottom: 26px; }
  .how-step:not(:last-child)::before, .how-step:not(:last-child)::after { top: 56px; left: 28px; height: calc(100% + var(--gap) - 56px); }
  .how-node { width: 56px; height: 56px; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 0 0 1px rgba(216, 173, 97, .38), 0 0 0 7px var(--deep); }
  .how-node .ic { width: 24px; height: 24px; }
  .lower .how-n { font-size: 38px; }
  .lower .how-step h3 { font-size: 20px; }
  .lower .how-step p { font-size: 15px; }
  .lower .how-get { font-size: 14px; }
  .lower .facts { grid-template-columns: minmax(0, 1fr); }
  .lower .fact, .lower .fact:nth-child(even) { padding: 20px 0; border-left: 0; grid-template-columns: 46px minmax(0, 1fr); column-gap: 14px; }
  .lower .fact:nth-child(even)::before { left: 0; }
  .fact-ic { width: 46px; height: 46px; }
  .fact-ic .ic { width: 26px; height: 26px; }
  .lower .fact b { font-size: 17px; }
  .lower .fact > span:last-child { font-size: 14px; }
  .shop-list { gap: 8px; }
  .shop-tab { padding: 12px; gap: 12px; }
  .shop-tab:not(:last-child)::after { bottom: -5px; left: 12px; right: 12px; }
  .shop-tab-ic { width: 42px; height: 42px; border-radius: 12px; }
  .shop-tab-name { font-size: 16px; }
  .shop-card { padding: 20px 18px; border-radius: 22px; gap: 16px; }
  .shop-ico { width: 48px; height: 48px; border-radius: 14px; }
  .shop-title { font-size: 21px; }
  .shop-price { font-size: 26px; }
  .shop-short { font-size: 15px; }
  .shop-cols { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .shop-buy { width: 100%; min-width: 0; white-space: normal; text-align: center; }
  .shop-actions .shop-fmt { text-align: center; }
  .cmp-sum { padding: 16px; gap: 12px; flex-wrap: wrap; }
  .cmp-title { font-size: 19px; flex-basis: calc(100% - 50px); }
  .cmp-from { order: 3; }
  .shop-cmp .cmp-grid { padding: 0 14px 14px; }
  .lower .contact-phone { gap: 12px; }
  .ct-ic { width: 42px; height: 42px; }
  .lower .contact-text .hours { padding-left: 54px; }
  .lower .q summary { gap: 12px; min-height: 64px; padding: 12px 2px; font-size: 16px; }
  .q-n { width: 22px; font-size: 12px; }
  .pm { width: 30px; height: 30px; }
  .q-a p { padding: 0 0 20px 34px; font-size: 15px; }
}


/* =====================================================================
   Форматы помощи, прозрачные условия, фото юриста, пакет «с юристом» (ноябрь 2026)
   ===================================================================== */
.lower > #formats { --band: radial-gradient(760px 420px at 85% 0%, rgba(216, 173, 97, .07), transparent 70%); }
.lower > #terms { --band: linear-gradient(180deg, rgba(12, 20, 32, 0) 0, var(--deep) 150px, var(--deep) calc(100% - 150px), rgba(12, 20, 32, 0)); }
.lower .how-step h3 { font-size: 20px; }
.lower .how-n { font-size: 46px; }

/* Форматы помощи */
.fmt-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.fmt { position: relative; display: flex; flex-direction: column; gap: 14px; padding: 26px; border-radius: 22px; border: 1px solid rgba(181, 186, 196, .14); background: linear-gradient(180deg, #1D2532, #151B26); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05); transition: border-color .3s ease, box-shadow .3s ease; }
.fmt:hover { border-color: rgba(216, 173, 97, .45); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05), 0 18px 40px rgba(0, 0, 0, .35); }
.fmt-free { border-color: rgba(216, 173, 97, .5); background: radial-gradient(420px 220px at 100% 0%, rgba(216, 173, 97, .12), transparent 70%), linear-gradient(180deg, #232B39, #19202B); }
.fmt-head { display: grid; grid-template-columns: 48px minmax(0, 1fr); column-gap: 14px; row-gap: 2px; align-items: center; }
.fmt-ic { grid-row: span 2; width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; color: var(--gold); background: rgba(216, 173, 97, .08); box-shadow: inset 0 0 0 1px rgba(216, 173, 97, .32); }
.fmt-name { margin: 0; font-family: var(--head); font-weight: 600; font-size: 18px; line-height: 1.25; }
.fmt-price { margin: 0; font-family: var(--head); font-weight: 700; font-size: 22px; line-height: 1.2; color: var(--gold-hi); white-space: nowrap; }
.fmt-text { margin: 0; font-size: 15px; line-height: 1.55; color: var(--muted); }
.fmt-more { border-top: 1px solid var(--line-n); padding-top: 12px; }
.fmt-more > summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--gold); }
.fmt-more > summary::-webkit-details-marker, .shop-law > summary::-webkit-details-marker { display: none; }
.fmt-more-in { overflow: hidden; }
.fmt-pts { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.fmt-pts li { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; line-height: 1.45; color: #E7E9EE; }
.fmt-pts svg { flex: none; width: 16px; height: 16px; margin-top: 3px; color: var(--gold); }
.fmt-note { margin: 10px 0 0; font-size: 13px; line-height: 1.5; color: var(--muted-2); }
.fmt-btn { margin-top: auto; align-self: stretch; min-height: 52px; white-space: normal; text-align: center; }

/* Прозрачные условия */
.lower .terms { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.2fr); gap: 64px; align-items: start; }
.terms-head .h2 { font-size: clamp(30px, 2.8vw, 42px); }
.terms-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line-n); }
.terms-list li { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 18px; align-items: start; padding: 22px 0; border-bottom: 1px solid var(--line-n); }
.terms-list .ic { color: var(--gold); margin-top: 2px; }
.terms-list p { margin: 0; font-size: 17px; line-height: 1.6; color: #DDE0E6; }
.terms-emph p b { font-family: var(--head); font-weight: 600; font-size: 19px; color: var(--gold-hi); }

/* Фото юриста */
.lawyer { position: relative; margin: 0; display: flex; flex-direction: column; gap: 12px; }
.lawyer img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 24px; border: 1px solid rgba(216, 173, 97, .3); box-shadow: 0 30px 70px rgba(0, 0, 0, .45), 0 0 0 6px rgba(216, 173, 97, .04); }
.lawyer figcaption { display: flex; align-items: center; gap: 10px; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--gold); }
.lawyer figcaption::before { content: ""; width: 24px; height: 1px; background: var(--gold); }

/* Пакет «с юристом под ключ» в описании инструкции */
.shop-law { border-radius: 18px; border: 1px solid rgba(216, 173, 97, .3); background: rgba(12, 20, 32, .4); }
.shop-law > summary { list-style: none; display: flex; align-items: center; gap: 14px; padding: 16px 18px; }
.shop-law-ic { flex: none; width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; color: var(--gold); box-shadow: inset 0 0 0 1px rgba(216, 173, 97, .4); }
.shop-law-t { flex: 1; min-width: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; }
.shop-law-t b { font-family: var(--head); font-weight: 600; font-size: 17px; }
.shop-law-p { font-family: var(--head); font-weight: 700; font-size: 20px; color: var(--gold-hi); white-space: nowrap; }
.shop-law-in { overflow: hidden; padding: 0 18px 18px 74px; display: flex; flex-direction: column; gap: 10px; }
.shop-law-in p { margin: 0; font-size: 15px; line-height: 1.55; color: #DDE0E6; }
.shop-law-in .shop-law-note { font-size: 13px; color: var(--muted); }
.shop-law-btn { align-self: flex-start; min-height: 46px; padding: 0 22px; font-size: 15px; }

/* Раскрывашки .m-fold: на компьютере всегда открыты (заголовок — просто подпись), на телефоне сворачиваются */
@media (min-width: 761px) {
  .m-fold > summary { pointer-events: none; cursor: default; }
  .m-fold > summary .pm { display: none; }
}
@media (max-width: 760px) {
  .m-fold > summary { cursor: pointer; min-height: 44px; }
}

@media (max-width: 1040px) {
  .fmt-list { grid-template-columns: minmax(0, 1fr); max-width: 680px; }
  .lower .terms { grid-template-columns: minmax(0, 1fr); gap: 28px; }
}
@media (max-width: 760px) {
  .fmt-list { gap: 12px; }
  .fmt { padding: 18px 16px; gap: 10px; border-radius: 18px; }
  .fmt-head { grid-template-columns: 42px minmax(0, 1fr); column-gap: 12px; }
  .fmt-ic { width: 42px; height: 42px; border-radius: 12px; }
  .fmt-name { font-size: 17px; }
  .fmt-price { font-size: 20px; }
  .fmt-text { font-size: 14px; }
  .fmt-more { padding-top: 4px; }
  .terms-list li { grid-template-columns: 34px minmax(0, 1fr); gap: 12px; padding: 16px 0; }
  .terms-list p { font-size: 15px; }
  .terms-emph p b { font-size: 16px; }
  .lower .about { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .lawyer { flex-direction: row; align-items: flex-end; gap: 16px; }
  .lawyer img { width: 44%; max-width: 190px; border-radius: 18px; }
  .lawyer figcaption { font-size: 12px; }
  .about-body { gap: 20px; }
  .shop-law > summary { padding: 12px 14px; gap: 10px; }
  .shop-law-ic { width: 36px; height: 36px; }
  .shop-law-t b { font-size: 15px; }
  .shop-law-p { font-size: 18px; }
  .shop-law-in { padding: 0 14px 14px; }
  .shop-law-btn { align-self: stretch; }
  /* Длинный текст «Бесплатная помощь юриста» на телефоне сворачивается (юридическое уведомление раздела остаётся открытым) */
}
.shop-help > summary { list-style: none; }
.shop-help > summary::-webkit-details-marker { display: none; }
.shop-help-tt { flex: 1; min-width: 0; }
.shop-help-in { overflow: hidden; display: flex; flex-direction: column; gap: 8px; }
.shop-col > summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.shop-col > summary::-webkit-details-marker { display: none; }
.shop-col-in { overflow: hidden; display: flex; flex-direction: column; gap: 12px; }
@media (max-width: 760px) {
  .shop-col { display: block; border-radius: 16px; border: 1px solid var(--line-n); padding: 4px 14px; }
  .shop-col-in { margin-top: 4px; }
  .shop-col[open] { padding-bottom: 14px; }
  .shop-col > summary { margin: 0; min-height: 50px; }
}


/* =====================================================================
   Полный прайс на главной (раскрывается под карточкой плана)
   ===================================================================== */
.pl { margin-top: 28px; padding: 32px; border-radius: 28px; border: 1px solid rgba(232, 194, 122, .35); background: linear-gradient(180deg, #16140F, #0A0A09); box-shadow: 0 30px 80px rgba(0, 0, 0, .55); scroll-margin-top: calc(var(--hh) + 12px); }
.pl[hidden] { display: none; }
.pl.swap { animation: swapIn .45s var(--ease) both; }
.pl-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px 24px; flex-wrap: wrap; }
.pl-head > div { flex: 1 1 360px; min-width: 0; }
.pl-title { margin: 0; font-family: var(--head); font-weight: 600; font-size: 30px; line-height: 1.15; letter-spacing: -0.02em; }
.pl-lead { margin: 8px 0 0; color: #A9A397; font-size: 15px; max-width: 640px; }
.pl-close { flex: none; min-height: 46px; padding: 0 20px; font-size: 15px; gap: 8px; }
.pl-close svg { width: 16px; height: 16px; }
.pl-search { display: block; margin: 22px 0 16px; }
.pl-search input { width: 100%; min-height: 50px; padding: 0 18px; border-radius: 14px; border: 1px solid var(--line-n); background: rgba(0, 0, 0, .4); color: var(--text); font-size: 16px; }
.pl-search input:focus { outline: none; border-color: var(--gold); box-shadow: inset 0 -2px 0 var(--gold); }
.pl-blocks { border-top: 1px solid rgba(232, 194, 122, .18); }
.pl-b { border-bottom: 1px solid rgba(232, 194, 122, .18); }
.pl-b[hidden] { display: none; }
.pl-b > summary { list-style: none; display: flex; align-items: center; gap: 14px; min-height: 64px; padding: 10px 4px; cursor: pointer; }
.pl-b > summary::-webkit-details-marker { display: none; }
.pl-b > summary:focus-visible { outline: 2px solid var(--gold); outline-offset: -2px; border-radius: 10px; }
.pl-bt { flex: 1; min-width: 0; font-family: var(--head); font-weight: 600; font-size: 15px; letter-spacing: .06em; text-transform: uppercase; color: #F1EFEA; transition: color .25s ease; }
.pl-b > summary:hover .pl-bt, .pl-b[open] .pl-bt { color: var(--gold-hi); }
.pl-bn { flex: none; min-width: 32px; padding: 3px 9px; border-radius: 999px; background: rgba(232, 194, 122, .1); color: var(--gold); font-size: 13px; text-align: center; font-variant-numeric: tabular-nums; }
.pl-items { list-style: none; margin: 0; padding: 0 0 14px; overflow: hidden; }
.pl-items li { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 6px 18px; padding: 12px 4px; border-top: 1px solid rgba(255, 255, 255, .06); }
.pl-items li[hidden] { display: none; }
.pl-name { font-size: 15px; line-height: 1.45; color: #E6E1D7; }
.pl-price { font-family: var(--head); font-weight: 600; font-size: 15px; color: var(--gold-hi); white-space: nowrap; font-variant-numeric: tabular-nums; }
.pl-ask { display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px; border-radius: 999px; border: 1px solid rgba(232, 194, 122, .45); color: var(--text); font-size: 13px; text-decoration: none; white-space: nowrap; }
.pl-ask:hover { color: var(--text); border-color: var(--gold); background: rgba(232, 194, 122, .08); }
.pl-empty { margin: 16px 0 0; color: #A9A397; }
.pl-foot { margin: 18px 0 0; font-size: 14px; }
.pl-foot a { text-decoration: none; }
@media (max-width: 760px) {
  .pl { padding: 20px 14px; border-radius: 22px; margin-top: 18px; }
  .pl-title { font-size: 22px; }
  .pl-close { width: 100%; }
  .pl-b > summary { min-height: 58px; gap: 10px; }
  .pl-bt { font-size: 13px; }
  .pl-items li { grid-template-columns: minmax(0, 1fr) auto; padding: 12px 2px; }
  .pl-name { grid-column: 1 / -1; font-size: 14px; }
  .pl-ask { min-height: 40px; }
}
@media (prefers-reduced-motion: reduce) { .pl.swap { animation: none; } }

/* «Как мы работаем» на телефоне — короткие строки: иконка, название и пометка (бесплатно / до начала работы). */
@media (max-width: 760px) {
  .lower .how-grid { --gap: 10px; }
  .lower .how-step { align-items: center; gap: 14px; }
  .how-node { width: 44px; height: 44px; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 0 0 1px rgba(216, 173, 97, .38), 0 0 0 6px var(--deep); }
  .how-node .ic { width: 20px; height: 20px; }
  .how-body { flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; min-width: 0; }
  .lower .how-n, .lower .how-step p, .lower .how-get { display: none; }
  .lower .how-step h3 { order: 1; flex: 1 1 100%; font-size: 17px; line-height: 1.3; }
  .lower .how-k { order: 2; font-size: 11px; letter-spacing: .14em; color: var(--gold); }
  .how-step:not(:last-child)::before, .how-step:not(:last-child)::after { top: 44px; left: 22px; height: calc(100% + var(--gap) - 44px); }
}

/* Статическая версия (scripts/static-export.mjs): вместо формы — кнопки связи */
.static-contact { display: grid; gap: 12px; align-content: center; }
.static-contact .btn, .static-contact .pill { width: 100%; justify-content: center; min-height: 54px; overflow-wrap: anywhere; }

