@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url('/fonts/manrope-cyrillic.woff2') format('woff2');
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url('/fonts/manrope-latin.woff2') format('woff2');
}

:root {
  --r-3: 16px;
  --r-4: 20px;
  --r-5: 32px;
  --r-pill: 999px;
  --s2: 8px;
  --s3: 12px;
  --s5: 20px;
  --t-cap: 11px;
  --t-sm: 13px;
  --t-md: 15px;
  --t-fact: 14px;
  --t-key: 17px;
  --t-micro: 10px;
  --ls-cap: 0.08em;
  --ls-eyebrow: 0.14em;
  --fact-gap: 8px;
  --key-gap: 8px;
  --f: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --dur-sweep: 7.5s;
  --dur-sweep-key: 6.4s;
  --ease: cubic-bezier(0.4, 0, 0.2, 1);
  --tbar-bg: rgba(11, 10, 8, 0.72);
  --sheet-bg: rgba(11, 10, 8, 0.98);
  --bg: #0b0a08;
  --surf: rgba(255, 250, 240, 0.045);
  --surf-2: rgba(255, 250, 240, 0.085);
  --surf-3: rgba(255, 250, 240, 0.13);
  --hair: rgba(255, 250, 240, 0.075);
  --hair-0: rgba(255, 250, 240, 0);
  --edge: rgba(255, 250, 240, 0.12);
  --ink: #f5f2ea;
  --ink-2: #b9b3a6;
  --ink-3: #999386;
  --ink-4: #5b564c;
  --on-plate: #1a1002;
  --on-plate-2: #2e1d04;
  --on-plate-3: #332105;
  --on-key: #1a1002;
  --plate-hair: rgba(26, 16, 2, 0.22);
  --plate-scrim: rgba(26, 16, 2, 0.14);
  --plate-edge: rgba(26, 16, 2, 0.18);
  --key-tsh: 0 1px 0 rgba(255, 246, 214, 0.4);
  --grad-plate: linear-gradient(100deg, #ffd96a 0%, #ffc93d 20%, #fbb524 42%, #f5a01d 62%, #f08a1a 82%, #e8731c 100%);
  --grad-action: linear-gradient(96deg, #ffe071 0%, #ffc233 28%, #f5a01d 62%, #ee7a1d 100%);
  --grad-text: linear-gradient(96deg, #ffe9a8 0%, #ffc233 42%, #f08a1a 100%);
  --grad-money: linear-gradient(96deg, #ffe071 0%, #ffc233 55%, #f5a01d 100%);
  --halo-hot:
    radial-gradient(48% 74% at 22% 38%, rgba(255, 194, 51, 0.28) 0%, rgba(255, 194, 51, 0) 72%),
    radial-gradient(52% 78% at 72% 60%, rgba(238, 122, 29, 0.22) 0%, rgba(238, 122, 29, 0) 74%),
    radial-gradient(30% 60% at 96% 84%, rgba(217, 72, 30, 0.16) 0%, rgba(217, 72, 30, 0) 72%);
  --shine: linear-gradient(102deg, rgba(255,255,255,0) 26%, rgba(255,255,255,0.03) 38%, rgba(255,255,255,0.09) 45%, rgba(255,255,255,0.18) 50%, rgba(255,255,255,0.09) 55%, rgba(255,255,255,0.03) 62%, rgba(255,255,255,0) 74%);
  --shine-key: linear-gradient(100deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.03) 18%, rgba(255,255,255,0.08) 34%, rgba(255,255,255,0.16) 50%, rgba(255,255,255,0.08) 66%, rgba(255,255,255,0.03) 82%, rgba(255,255,255,0) 100%);
  --sh-plate: inset 0 1px 0 rgba(255, 246, 214, 0.45), inset 0 0 0 1px rgba(90, 52, 6, 0.14), 0 20px 40px -22px rgba(0, 0, 0, 0.9);
  --sh-group: inset 0 0 0 1px rgba(255, 250, 240, 0.05);
  --sh-key: inset 0 1px 0 rgba(255, 246, 214, 0.4), 0 14px 30px -14px rgba(238, 122, 29, 0.45);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; }
body { margin: 0; overflow-x: hidden; background: var(--bg); color: var(--ink); font-family: var(--f); }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; }

.page-sky::before {
  content: '';
  position: fixed;
  inset: -20% 0 auto 0;
  height: 72vh;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(56% 70% at 18% 8%, rgba(255, 194, 51, 0.12) 0%, rgba(255, 194, 51, 0) 70%),
    radial-gradient(48% 60% at 88% 0%, rgba(238, 122, 29, 0.08) 0%, rgba(238, 122, 29, 0) 68%);
}
.page-sky > * { position: relative; z-index: 1; }

.wrap { width: min(1160px, calc(100% - 40px)); margin-inline: auto; }
.wrap-s { width: min(920px, calc(100% - 40px)); margin-inline: auto; }

.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--ink); }
.brand b { font-size: 17px; font-weight: 800; letter-spacing: -0.03em; line-height: 1; }

.topbar {
  position: fixed; top: 0; left: 0; right: 0; z-index: 50;
  background: var(--tbar-bg);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: inset 0 -1px 0 var(--hair);
}
.topbar-in { display: flex; align-items: center; justify-content: space-between; height: 68px; }
.topbar-links { display: none; align-items: center; gap: 28px; }
.topbar-links a { font-size: 13px; font-weight: 700; letter-spacing: -0.01em; color: var(--ink-3); }
.topbar-links a:hover { color: var(--ink); }
.topbar-cta { display: flex; align-items: center; gap: 16px; }
.topbar-cta > a { font-size: 13px; font-weight: 700; color: var(--ink-3); }
.topbar-cta > a:hover { color: var(--ink); }
.topbar-cta .key { min-height: 40px; padding: 0 16px; font-size: 13px; border-radius: 12px; color: var(--on-key); text-shadow: var(--key-tsh); }
.topbar-cta .key:hover { color: var(--on-key); }
.nav-burger { display: none; background: transparent; border: none; color: var(--ink); font-size: 22px; padding: 8px; cursor: pointer; }
.nav-sheet { display: none; flex-direction: column; gap: 14px; padding: 16px 20px 22px; background: var(--sheet-bg); box-shadow: inset 0 1px 0 var(--hair); }
.nav-sheet a { font-size: 15px; font-weight: 700; color: var(--ink-2); }
.topbar-mob { display: none; align-items: center; gap: 8px; }
@media (max-width: 767px) {
  .topbar-links, .topbar-cta { display: none; }
  .topbar-mob { display: flex; }
  .nav-burger { display: block; }
  .nav-sheet.is-open { display: flex; }
  .hero-split { padding-top: 96px; }
  .stage { display: none; }
}
@media (min-width: 768px) { .topbar-links { display: flex; } }

.promo {
  display: flex; flex-wrap: wrap; align-items: baseline; justify-content: center; gap: 6px 12px;
  padding: 10px 16px; text-align: center;
  background: var(--grad-plate); color: var(--on-plate);
  box-shadow: inset 0 -1px 0 var(--plate-hair);
}
.promo b { font-size: 13px; font-weight: 800; letter-spacing: -0.02em; }
.promo span { font-size: 12px; font-weight: 700; color: var(--on-plate-2); }

.theme-btn {
  width: 40px; height: 40px; border: none; border-radius: 12px; cursor: pointer;
  background: var(--surf-2); color: var(--ink); box-shadow: inset 0 0 0 1px var(--edge);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%23f5f2ea' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='9' cy='9' r='3'/%3E%3Cpath d='M9 2v2M9 14v2M2 9h2M14 9h2M3.8 3.8l1.4 1.4M12.8 12.8l1.4 1.4M3.8 14.2l1.4-1.4M12.8 5.2l1.4-1.4'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: center;
}
:root[data-theme='light'] .theme-btn {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%2316130d' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M15 10.5A6.5 6.5 0 1 1 7.5 3a5 5 0 0 0 7.5 7.5z'/%3E%3C/svg%3E");
}
.hero-split { display: grid; gap: 36px 48px; align-items: center; padding: 108px 0 40px; }
@media (min-width: 960px) { .hero-split { grid-template-columns: 1.05fr 0.95fr; padding: 120px 0 56px; } }
.hero-copy h1 { margin: 18px 0 0; font-size: clamp(40px, 5.4vw, 68px); font-weight: 800; letter-spacing: -0.048em; line-height: 0.98; }
.hero-copy .dek { margin: 18px 0 0; max-width: 440px; font-size: 16px; font-weight: 600; line-height: 1.55; color: var(--ink-2); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.trust { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 22px; font-size: 12px; font-weight: 700; color: var(--ink-3); }
.trust span + span::before { content: '·'; margin-right: 18px; color: var(--ink-4); }

.rail { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; }
.rail i {
  display: inline-flex; align-items: center; height: 30px; padding: 0 12px;
  border-radius: var(--r-pill); font-size: 12px; font-weight: 800; font-style: normal;
  letter-spacing: -0.01em; color: var(--ink-2); background: var(--surf);
  box-shadow: inset 0 0 0 1px var(--edge);
}

.band { padding: 96px 0 48px; }
.band-kicker {
  margin: 0 0 12px;
  font-size: 12px; font-weight: 800; letter-spacing: 0.2em;
  text-transform: uppercase; color: #ffd96a;
}
.band-head { max-width: 640px; margin-bottom: 40px; }
.band-head h2 { margin: 0; font-size: clamp(36px, 5vw, 64px); font-weight: 800; letter-spacing: -0.046em; line-height: 0.98; }
.band-head p { margin: 14px 0 0; font-size: 15px; font-weight: 600; line-height: 1.5; color: var(--ink-2); }
.plan-note { margin: 28px 0 0; font-size: 13px; font-weight: 600; color: var(--ink-3); }

.step-grid { display: grid; gap: 0 48px; }
@media (min-width: 800px) { .step-grid { grid-template-columns: 1fr 1fr 1fr; } }
.step {
  padding: 22px 0 0; border-radius: 0;
  background: none; box-shadow: none;
  border-top: 1px solid rgba(255, 194, 51, 0.22);
}
.step em {
  display: block; font-style: normal; font-size: 13px; font-weight: 800;
  letter-spacing: 0.16em; line-height: 1; color: #ffd96a;
  background: none; -webkit-text-fill-color: #ffd96a;
}
.step h3 { margin: 14px 0 8px; font-size: 24px; font-weight: 800; letter-spacing: -0.035em; }
.step p { margin: 0; font-size: 14px; font-weight: 600; line-height: 1.5; color: var(--ink-3); }

.plan-grid { display: grid; gap: 10px; }
@media (min-width: 860px) { .plan-grid { grid-template-columns: repeat(4, 1fr); } }
.plan {
  display: flex; flex-direction: column; padding: 22px 20px 20px; border-radius: var(--r-4);
  background: var(--surf); box-shadow: var(--sh-group); color: inherit; min-height: 220px;
  transition: transform 0.15s var(--ease), background 0.15s var(--ease);
}
.plan:hover { background: var(--surf-2); transform: translateY(-2px); }
.plan.is-hit { background: transparent; box-shadow: none; padding: 0; }
.plan.is-hit .hero::after { display: none; }
.plan.is-hit .plate { border-radius: var(--r-4); height: 100%; }
.plan.is-hit .pin { display: flex; flex-direction: column; height: 100%; min-height: 220px; padding: 2px; }
.plan-kicker { font-size: 11px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-3); }
.plan.is-hit .plan-kicker { color: var(--on-plate-2); }
.plan h3 { margin: 10px 0 0; font-size: 22px; font-weight: 800; letter-spacing: -0.035em; }
.plan.is-hit h3 { color: var(--on-plate); }
.plan .sum { margin-top: 8px; font-size: 13px; font-weight: 600; line-height: 1.45; color: var(--ink-3); }
.plan.is-hit .sum { color: var(--on-plate-2); }
.plan .amt {
  margin-top: auto; padding-top: 22px; font-size: 28px; font-weight: 800; letter-spacing: -0.04em;
  background: var(--grad-money); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent;
}
.plan.is-hit .amt { background: none; color: var(--on-plate); -webkit-text-fill-color: var(--on-plate); }
.plan .amt small {
  display: block; margin-top: 2px; font-size: 12px; font-weight: 700; letter-spacing: 0;
  color: var(--ink-3); -webkit-text-fill-color: var(--ink-3); background: none;
}
.plan.is-hit .amt small { color: var(--on-plate-3); -webkit-text-fill-color: var(--on-plate-3); }
.plan .amt s {
  display: block; margin-bottom: 2px; font-size: 13px; font-weight: 700; letter-spacing: 0;
  color: var(--ink-3); -webkit-text-fill-color: var(--ink-3); background: none; text-decoration: line-through;
}
.plan.is-hit .amt s { color: var(--on-plate-3); -webkit-text-fill-color: var(--on-plate-3); }

.faq-stack { border-radius: var(--r-4); overflow: hidden; background: var(--surf); box-shadow: var(--sh-group); }
.faq-item { margin: 0; border-radius: 0; background: transparent; box-shadow: none; }
.faq-item + .faq-item { box-shadow: inset 0 1px 0 var(--hair); }
.faq-item > summary {
  list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 16px 18px; color: var(--ink); font-size: 15px; font-weight: 800; cursor: pointer; letter-spacing: -0.02em;
}
.faq-item > summary::-webkit-details-marker { display: none; }
.faq-plus { flex: none; color: var(--ink-3); font-size: 22px; font-weight: 400; line-height: 1; transition: transform 0.2s var(--ease); }
.faq-item[open] > summary .faq-plus { transform: rotate(45deg); color: #ffc247; }
.faq-item p { font-size: 14px; font-weight: 600; line-height: 1.55; color: var(--ink-2); margin: 0; padding: 0 18px 16px; }

.foot-slim {
  padding: 28px 0 48px; text-align: center;
  font-size: 12px; font-weight: 600; color: var(--ink-3);
  box-shadow: inset 0 1px 0 rgba(255, 194, 51, 0.16);
}
.foot-slim .wrap { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; }
.foot-slim a { color: var(--ink-3); }
.foot-slim a:hover { color: #ffd96a; }
.foot-slim span + span::before { content: '·'; margin: 0 8px; color: var(--ink-4); }

.hero { position: relative; isolation: isolate; }
.hero::after {
  content: ''; position: absolute; left: -4%; right: -4%; top: 36%; bottom: -28px; z-index: -1;
  background: var(--halo-hot); opacity: 0.85; pointer-events: none;
}
.plate {
  position: relative; overflow: hidden; border-radius: var(--r-5); padding: var(--s5); box-shadow: var(--sh-plate);
}
.lay { position: absolute; inset: 0; pointer-events: none; }
.lay-bg { background: var(--grad-plate); }
.lay-shine { background: var(--shine); transform: translateX(-120%); animation: sweep var(--dur-sweep) var(--ease) infinite; }
@keyframes sweep { 0%, 58% { transform: translateX(-120%); } 86%, 100% { transform: translateX(120%); } }
.pin { position: relative; z-index: 2; }
.eyebrow { font-size: var(--t-cap); font-weight: 800; letter-spacing: var(--ls-eyebrow); text-transform: uppercase; color: var(--on-plate-2); }
.crow { display: flex; align-items: center; justify-content: space-between; gap: var(--s2); }
.pill {
  flex: none; display: inline-flex; align-items: center; height: 24px; padding: 0 10px;
  border-radius: var(--r-pill); font-size: var(--t-cap); font-weight: 800; color: var(--on-plate);
  background: var(--plate-scrim); box-shadow: inset 0 0 0 1px var(--plate-edge);
}
.display { margin-top: var(--s3); font-size: clamp(32px, 6vw, 44px); line-height: 0.96; font-weight: 800; letter-spacing: -0.045em; color: var(--on-plate); }
.display small { font-size: var(--t-md); font-weight: 800; letter-spacing: -0.01em; color: var(--on-plate-2); margin-left: 8px; }
.lead { margin-top: var(--s2); font-size: var(--t-sm); font-weight: 600; line-height: 1.5; color: var(--on-plate-2); }
.lead b { font-weight: 800; color: var(--on-plate); }
.facts { display: flex; margin: var(--s5) calc(var(--s5) * -1) calc(var(--s5) * -1); padding: var(--s3) var(--s5) 16px; border-top: 1px solid var(--plate-hair); }
.facts > div { flex: 1; min-width: 0; padding-right: var(--fact-gap); }
.facts > div + div { padding-left: var(--fact-gap); border-left: 1px solid var(--plate-hair); }
.facts b { display: block; font-size: var(--t-fact); font-weight: 800; letter-spacing: -0.03em; color: var(--on-plate); }
.facts span { display: block; margin-top: 3px; font-size: var(--t-micro); font-weight: 800; letter-spacing: var(--ls-cap); text-transform: uppercase; color: var(--on-plate-3); }

.key {
  position: relative; overflow: hidden; display: inline-flex; align-items: center; justify-content: center;
  gap: var(--key-gap); min-height: 52px; padding: 0 22px; border-radius: var(--r-3);
  color: var(--on-key); font-size: var(--t-key); font-weight: 800; letter-spacing: -0.015em;
  background: var(--grad-action); text-shadow: var(--key-tsh); box-shadow: var(--sh-key); border: none; cursor: pointer;
}
.key span { position: relative; z-index: 2; }
.key::after {
  content: ''; position: absolute; top: -70%; bottom: -70%; left: 0; width: 38%;
  background: var(--shine-key); transform: translateX(-160%); animation: sweepk var(--dur-sweep-key) var(--ease) infinite;
}
@keyframes sweepk { 0%, 58% { transform: translateX(-160%); } 86%, 100% { transform: translateX(420%); } }
.key:hover { filter: brightness(1.04); }
.key:active { transform: translateY(1px); }
.key:disabled { opacity: 0.55; cursor: not-allowed; }

.btn-ghost {
  display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 20px;
  border-radius: var(--r-3); font-size: var(--t-md); font-weight: 800; color: var(--ink);
  background: var(--surf-2); box-shadow: inset 0 0 0 1px var(--edge);
}
.btn-ghost:hover { background: var(--surf-3); }

.feat-grid { display: grid; gap: 10px; }
@media (min-width: 720px) { .feat-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1080px) { .feat-grid { grid-template-columns: 1fr 1fr 1fr 1fr; } }
.feat { padding: 22px; border-radius: var(--r-4); background: var(--surf); box-shadow: var(--sh-group); min-height: 150px; }
.feat h3 { margin: 0 0 8px; font-size: 16px; font-weight: 800; letter-spacing: -0.025em; }
.feat p { margin: 0; font-size: 13px; font-weight: 600; line-height: 1.5; color: var(--ink-3); }

.cta-band { padding: 28px 0 56px; text-align: center; }
.cta-band h2 { margin: 0 0 10px; font-size: clamp(24px, 3vw, 34px); font-weight: 800; letter-spacing: -0.035em; }
.cta-band p { margin: 0 0 22px; font-size: 15px; font-weight: 600; color: var(--ink-2); }
.cta-band .hero-actions { justify-content: center; }

.auth-stage { min-height: 100svh; }
.auth-stage::after {
  background: linear-gradient(90deg, rgba(11,10,8,.58) 0%, rgba(11,10,8,.22) 34%, rgba(11,10,8,.5) 58%, #0b0a08 78%);
}
.auth-stage .hero-bolt img { object-position: 6% 48%; }
.auth-in {
  display: grid;
  grid-template-columns: minmax(0, 1fr) min(400px, 100%);
  align-items: center;
  gap: 32px 48px;
  min-height: 100svh;
  justify-content: stretch;
}
.auth-aside {
  position: relative; z-index: 2; max-width: 540px; padding-top: 8px;
  text-shadow: 0 10px 36px rgba(11, 10, 8, 0.75);
}
.aside-kicker {
  margin: 0;
  font-size: 12px; font-weight: 800; letter-spacing: 0.22em;
  text-transform: uppercase; color: #ffd96a;
}
.aside-line {
  margin: 10px 0 0;
  font-size: 13px; font-weight: 700; letter-spacing: 0.08em;
  text-transform: uppercase; color: #f5a01d;
}
.aside-big {
  margin: 16px 0 0;
  font-size: clamp(52px, 6.4vw, 92px);
  font-weight: 800; letter-spacing: -0.055em; line-height: 0.88; color: #fff;
}
.aside-big i { font-style: normal; font-size: 0.38em; }
.aside-facts { margin: 16px 0 0; font-size: 15px; font-weight: 600; color: var(--ink-2); }
.aside-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 22px 0 0;
  padding: 0;
  max-width: 360px;
  list-style: none;
}
.aside-list li { padding: 10px 0 0; }
.aside-list li + li { border-top: 1px solid rgba(255, 194, 51, 0.22); margin-top: 10px; }
.aside-list b { display: block; font-size: 18px; font-weight: 800; letter-spacing: -0.03em; color: #fff; }
.aside-list span {
  display: block; margin-top: 5px;
  font-size: 11px; font-weight: 700; letter-spacing: 0.06em;
  text-transform: uppercase; color: var(--ink-3);
}
#soc-box { display: flex; flex-direction: column; gap: 10px; margin: 4px 0 18px; }
#soc-box[hidden], .agree[hidden], #form-email[hidden], #pane-otp[hidden], #tg-wait[hidden] { display: none !important; }
.soc-or a { color: inherit; }
.soc-row { display: flex; flex-direction: column; gap: 10px; margin: 8px 0 6px; }
.soc {
  display: flex; align-items: center; justify-content: flex-start; gap: 10px;
  width: 100%; min-height: 52px; padding: 0 16px;
  border: none; border-radius: 16px;
  font-family: inherit; font-size: 16px; font-weight: 800; cursor: pointer;
}
.soc svg { flex: none; }
.soc-tg { background: #2aabee; color: #fff; box-shadow: inset 0 0 0 1px rgba(255,255,255,.18); }
.soc-g { background: rgba(255,250,240,.08); color: #f5f2ea; box-shadow: inset 0 0 0 1px rgba(255,250,240,.14); }
.soc-gmark { width: 18px; font-size: 18px; font-weight: 800; color: #4285f4; line-height: 1; }
.soc:hover { filter: brightness(1.06); }
.soc-or {
  display: flex; align-items: center; gap: 10px; margin: 4px 0 0;
  font-size: 12px; font-weight: 700; color: var(--ink-3);
}
.soc-or::before, .soc-or::after { content: ''; flex: 1; height: 1px; background: var(--hair); }
.auth-card {
  width: min(400px, 100%);
  padding: 0;
  background: none;
  box-shadow: none;
  border-radius: 0;
}
.auth-kicker {
  margin: 0 0 10px;
  font-size: 12px; font-weight: 800; letter-spacing: 0.2em;
  text-transform: uppercase; color: #ffd96a;
}
.auth-card h1 { margin: 0; font-size: clamp(40px, 5.4vw, 62px); font-weight: 800; letter-spacing: -0.05em; line-height: 0.92; text-align: left; }
.auth-card .offer-rule { margin: 18px 0 0; }
.auth-card .sub { margin: 16px 0 28px; text-align: left; font-size: 15px; font-weight: 600; color: var(--ink-2); }
.auth-tabs { display: none; }
.auth-tab { display: none; }
.otp-row { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; margin: 8px 0 16px; }
.otp-row input {
  text-align: center; padding: 12px 4px; font-size: 22px; font-weight: 800;
  border: 1px solid rgba(255, 194, 51, 0.28); background: rgba(11, 10, 8, 0.45);
}
.field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; }
.field label { font-size: 11px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-3); }
.input {
  width: 100%; min-height: 56px; padding: 0;
  border: none; border-bottom: 1px solid rgba(255, 194, 51, 0.28);
  border-radius: 0; background: transparent; color: var(--ink);
  font-family: inherit; font-size: 18px; font-weight: 600;
}
.input:focus { outline: none; box-shadow: none; border-bottom-color: #ffc233; }
.auth-card .key { width: 100%; margin-top: 8px; }
.auth-card .btn-ghost { width: 100%; margin-top: 8px; background: none; box-shadow: inset 0 -1px 0 rgba(255, 194, 51, 0.2); }
.auth-card .foot-auth { text-align: left; }
.linkish { display: block; margin: 12px auto 0; background: none; border: none; color: var(--ink-3); font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.foot-auth { text-align: center; margin: 16px 0 0; font-size: 13px; font-weight: 600; color: var(--ink-3); }
.foot-auth a { color: #ffc247; }
.hint { font-size: 13px; font-weight: 600; line-height: 1.5; color: var(--ink-2); margin: 0 0 14px; }
.hint a, .hint code { color: #ffc247; }
.err { display: none; margin-bottom: 12px; padding: 10px 12px; border-radius: 10px; font-size: 13px; font-weight: 700; color: #ffd7d7; background: rgba(239,68,68,.14); }
.err.show { display: block; }
.agree { display: flex; gap: 10px; align-items: flex-start; margin: 0 0 14px; font-size: 12px; font-weight: 600; color: var(--ink-3); }
.agree a { color: #ffc247; }
#toast {
  position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%) translateY(12px);
  padding: 10px 16px; border-radius: 12px; background: var(--surf-2); color: var(--ink);
  font-size: 13px; font-weight: 700; opacity: 0; pointer-events: none; transition: .2s;
}
#toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }

.chip {
  display: inline-flex; align-items: center; height: 30px; padding: 0 12px;
  border-radius: var(--r-pill); font-size: 12px; font-weight: 800;
  color: var(--on-plate); background: var(--grad-plate); box-shadow: var(--sh-key);
}
.stage { display: flex; justify-content: center; }
.phone {
  width: min(320px, 100%); padding: 10px 10px 14px; border-radius: 36px;
  background: #16130e; box-shadow: 0 36px 70px -28px rgba(0,0,0,.85), inset 0 0 0 1px rgba(255,250,240,.08);
}
.phone-bar { display: flex; justify-content: center; padding: 8px 0 10px; }
.phone-bar i { width: 72px; height: 5px; border-radius: 99px; background: #2c2822; }
.phone-screen { border-radius: 26px; background: #0b0a08; padding: 16px 14px 18px; }
.phone .plate { margin-bottom: 10px; }
.phone .display { font-size: 36px; }
.mini-list { border-radius: 16px; overflow: hidden; background: rgba(255,250,240,.045); box-shadow: inset 0 0 0 1px rgba(255,250,240,.06); }
.mini-list > div { display: flex; justify-content: space-between; gap: 12px; padding: 12px 14px; }
.mini-list > div + div { box-shadow: inset 0 1px 0 rgba(255,250,240,.06); }
.mini-list b { font-size: 14px; font-weight: 800; color: #f5f2ea; }
.mini-list span { font-size: 12px; font-weight: 700; color: #999386; }

.plist {
  display: grid; gap: 0 40px;
  background: none; border-radius: 0; box-shadow: none; overflow: visible;
}
@media (min-width: 560px) { .plist { grid-template-columns: 1fr 1fr; } }
@media (min-width: 800px) { .plist { grid-template-columns: repeat(4, 1fr); } }
.pli {
  display: flex; flex-direction: column; align-items: flex-start;
  padding: 20px 0 8px; color: inherit;
  border-top: 1px solid rgba(255, 194, 51, 0.2);
  transition: border-color 0.2s var(--ease);
}
.pli + .pli { box-shadow: none; }
.pli:hover { background: none; border-top-color: #ffc233; }
.pli.hit { background: none; box-shadow: none; border-top: 3px solid #ffc233; padding-top: 18px; }
.pli-k { display: none; }
.pli-n {
  order: 2; margin-top: 14px;
  font-size: 13px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-2);
}
.pli-s { order: 3; grid-column: auto; font-size: 13px; font-weight: 600; color: var(--ink-3); margin-top: 6px; }
.pli-p {
  order: 1; grid-row: auto; align-self: flex-start;
  font-size: clamp(40px, 4.6vw, 56px); font-weight: 800; letter-spacing: -0.05em; line-height: 0.9;
  text-align: left; color: #fff; background: none; -webkit-text-fill-color: #fff;
}
.pli-p s { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 700; color: var(--ink-3); -webkit-text-fill-color: var(--ink-3); background: none; text-decoration: line-through; }
.pli.hit .pli-n { color: #ffd96a; }
.pli.hit .pli-p { color: #fff; background: none; -webkit-text-fill-color: #fff; }
.pli.hit .pli-s, .pli.hit .pli-p s { color: var(--ink-3); -webkit-text-fill-color: var(--ink-3); }

.hero-stage {
  position: relative;
  overflow: hidden;
  min-height: min(100svh, 900px);
}
.hero-stage::after {
  content: '';
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(90deg, rgba(11,10,8,0) 38%, rgba(11,10,8,.42) 62%, #0b0a08 78%);
}
.hero-bolt {
  position: absolute; inset: -10% -4% -12% -8%;
  z-index: 0; pointer-events: none;
}
.hero-bolt img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: 16% 48%;
  animation: bolt-breathe 7.5s ease-in-out infinite;
}
.hero-glow, .hero-flash, .hero-rings {
  position: absolute; inset: 0; pointer-events: none;
}
.hero-glow {
  background: radial-gradient(36% 42% at 28% 50%, rgba(255, 194, 51, 0.42) 0%, rgba(238, 122, 29, 0.1) 40%, transparent 70%);
  mix-blend-mode: screen;
  animation: bolt-glow 3.6s ease-in-out infinite;
}
.hero-flash {
  background: radial-gradient(22% 18% at 30% 42%, rgba(255, 246, 214, 0.85) 0%, rgba(255, 194, 51, 0.2) 34%, transparent 68%);
  mix-blend-mode: screen;
  animation: bolt-flash 4.4s ease-in-out infinite;
}
.hero-rings i {
  position: absolute; left: 28%; top: 50%;
  width: 14%; aspect-ratio: 1; border-radius: 50%;
  border: 1.5px solid rgba(255, 217, 107, 0.55);
  box-shadow: 0 0 24px rgba(255, 194, 51, 0.28);
  transform: translate(-50%, -50%) scale(0.35);
  opacity: 0;
  animation: ring-out 3.2s ease-out infinite;
}
.hero-rings i:nth-child(2) { animation-delay: 1.05s; }
.hero-rings i:nth-child(3) { animation-delay: 2.1s; }

.hero-in {
  position: relative; z-index: 2;
  display: flex; justify-content: flex-end; align-items: center;
  min-height: inherit;
  padding: 120px 0 64px;
}
.hero-in.auth-in {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) min(380px, 100%);
  justify-content: stretch;
  align-items: center;
  gap: 28px 40px;
  min-height: 100svh;
  padding: 120px 0 64px;
}
.auth-stage .hero-rings { display: none; }
.offer {
  width: min(460px, 100%);
  margin: 0; padding: 0;
  background: none; box-shadow: none;
}
.offer:not(.is-luxe) { animation: offer-in 0.8s var(--ease) both; }
.offer-kicker {
  margin: 0;
  font-size: 12px; font-weight: 800; letter-spacing: 0.22em;
  text-transform: uppercase; color: #ffd96a;
}
.offer-line {
  margin: 10px 0 0;
  font-size: 13px; font-weight: 700; letter-spacing: 0.08em;
  text-transform: uppercase; color: #f5a01d;
}
.offer h1 {
  margin: 18px 0 0;
  font-size: clamp(34px, 4.8vw, 54px);
  font-weight: 800; letter-spacing: -0.046em; line-height: 1.02; color: #fff;
}
.offer-sub { margin: 22px 0 0; font-size: 13px; font-weight: 700; color: var(--ink-3); }
.offer-sub[hidden], .timer[hidden] { display: none !important; }
.offer-price { margin-top: 22px; }
.offer-price s {
  display: block; font-size: 16px; font-weight: 700; color: var(--ink-3);
}
.offer-price b {
  display: block; margin-top: 2px;
  font-size: clamp(84px, 11vw, 128px);
  font-weight: 800; letter-spacing: -0.06em; line-height: 0.86; color: #fff;
}
.offer-price b i { font-style: normal; font-size: 0.36em; margin-left: 0.06em; }
.offer-rule {
  display: block; width: 88px; height: 3px; margin: 18px 0 0;
  background: linear-gradient(90deg, #ffd96b, #ee7a1d);
  animation: rule-draw 1.1s var(--ease) both;
}
.timer {
  display: flex; align-items: flex-end; gap: 22px;
  margin-top: 14px; padding: 0; background: none;
}
.tbox { flex: none; min-width: 0; text-align: left; padding: 0; background: none; box-shadow: none; }
.tbox b {
  display: block; font-size: 28px; font-weight: 800;
  letter-spacing: -0.04em; line-height: 1; font-variant-numeric: tabular-nums; color: #fff;
}
.tbox span {
  display: block; margin-top: 4px; font-size: 10px; font-weight: 800;
  letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-4);
}
.offer-go {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 54px; margin-top: 28px; padding: 0 28px; border-radius: 16px;
  font-size: 16px; font-weight: 800; color: var(--on-key);
  background: var(--grad-action);
  box-shadow: 0 14px 30px -12px rgba(238, 122, 29, 0.75), inset 0 1px 0 rgba(255,255,255,0.35);
  border: none; cursor: pointer; text-decoration: none;
  animation: cta-pulse 2.2s ease-in-out infinite;
}
.offer-go:hover { filter: brightness(1.06); }
.offer-go:active { transform: translateY(1px); }

@keyframes bolt-breathe {
  0%, 100% { transform: scale(1); filter: brightness(1); }
  50% { transform: scale(1.045); filter: brightness(1.12); }
}
@keyframes bolt-glow {
  0%, 100% { opacity: 0.35; }
  50% { opacity: 1; }
}
@keyframes bolt-flash {
  0%, 68%, 100% { opacity: 0; }
  72% { opacity: 1; }
  78% { opacity: 0.12; }
  82% { opacity: 0.7; }
  90% { opacity: 0; }
}
@keyframes ring-out {
  0% { opacity: 0.7; transform: translate(-50%, -50%) scale(0.3); }
  75% { opacity: 0; transform: translate(-50%, -50%) scale(3.8); }
  100% { opacity: 0; transform: translate(-50%, -50%) scale(3.8); }
}
@keyframes offer-in {
  from { opacity: 0; transform: translateY(22px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes rule-draw {
  from { width: 0; opacity: 0; }
  to { width: 88px; opacity: 1; }
}
@keyframes cta-pulse {
  0%, 100% { box-shadow: 0 14px 30px -12px rgba(238, 122, 29, 0.5), inset 0 1px 0 rgba(255,255,255,0.35); }
  50% { box-shadow: 0 18px 40px -10px rgba(255, 194, 51, 0.8), inset 0 1px 0 rgba(255,255,255,0.5); }
}

@media (max-width: 899px) {
  .hero-stage { min-height: 100svh; }
  .hero-stage::after {
    background: linear-gradient(180deg, rgba(11,10,8,.15) 0%, rgba(11,10,8,.55) 42%, #0b0a08 68%);
  }
  .hero-bolt img { object-position: 22% 36%; }
  .hero-in { align-items: flex-end; justify-content: flex-start; padding: 88px 0 36px; }
  .hero-rings i { left: 50%; top: 32%; }
  .auth-stage::after {
    background: linear-gradient(180deg, rgba(11,10,8,.2) 0%, rgba(11,10,8,.55) 38%, #0b0a08 66%);
  }
  .auth-stage .hero-bolt img { object-position: 18% 34%; }
  .hero-in.auth-in { display: flex; flex-direction: column; justify-content: flex-end; gap: 22px; padding: 96px 0 36px; }
  .auth-aside .aside-big { font-size: 48px; }
  .aside-list { margin-top: 18px; }
  .aside-list b { font-size: 15px; }
  .aside-facts { font-size: 13px; }
  .wrap { width: min(1160px, calc(100% - 28px)); }
}
@media (max-width: 520px) {
  .offer-go { width: 100%; }
  .timer { gap: 16px; }
  .offer-price b { font-size: 86px; }
}

@media (prefers-reduced-motion: reduce) {
  .lay-shine, .key::after { animation: none; opacity: 0; }
  .hero-bolt img, .hero-glow, .hero-flash, .hero-rings i, .offer, .offer-go, .offer-rule { animation: none; }
}

:root[data-theme='light'] {
  color-scheme: light;
  --bg: #f6f4f0;
  --surf: #ffffff;
  --surf-2: rgba(26, 20, 8, 0.055);
  --surf-3: rgba(26, 20, 8, 0.1);
  --hair: rgba(26, 20, 8, 0.1);
  --edge: rgba(26, 20, 8, 0.12);
  --ink: #16130d;
  --ink-2: #4e4a42;
  --ink-3: #676359;
  --ink-4: #a29c92;
  --tbar-bg: rgba(246, 244, 240, 0.86);
  --sheet-bg: #f6f4f0;
  --grad-text: linear-gradient(96deg, #8a4e08 0%, #a05f0a 40%, #8f3f12 100%);
  --grad-money: linear-gradient(96deg, #a05f0a 0%, #8f4f08 55%, #8a3f12 100%);
  --halo-hot:
    radial-gradient(48% 74% at 22% 38%, rgba(255, 194, 51, 0.28) 0%, rgba(255, 194, 51, 0) 72%),
    radial-gradient(52% 78% at 72% 60%, rgba(238, 122, 29, 0.22) 0%, rgba(238, 122, 29, 0) 74%),
    radial-gradient(30% 60% at 96% 84%, rgba(217, 72, 30, 0.16) 0%, rgba(217, 72, 30, 0) 72%);
  --sh-group: inset 0 0 0 1px rgba(26, 20, 8, 0.08);
  --sh-plate:
    inset 0 1px 0 rgba(255, 246, 214, 0.5),
    inset 0 0 0 1px rgba(90, 52, 6, 0.14),
    0 18px 36px -20px rgba(90, 52, 6, 0.35);
}
:root[data-theme='light'] .page-sky::before {
  background:
    radial-gradient(56% 70% at 18% 8%, rgba(255, 183, 45, 0.18) 0%, rgba(255, 183, 45, 0) 70%),
    radial-gradient(48% 60% at 88% 0%, rgba(240, 138, 26, 0.10) 0%, rgba(240, 138, 26, 0) 68%);
}
:root[data-theme='light'] .faq-item[open] > summary .faq-plus { color: #a05f0a; }
:root[data-theme='light'] .foot-auth a,
:root[data-theme='light'] .hint a,
:root[data-theme='light'] .agree a { color: #8a4e08; }


/* site25 design fix: depth + contrast, keep promo */
:root {
  --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
}
.page-sky::after {
  content: "";
  position: fixed; inset: 0; z-index: 80; pointer-events: none;
  background-image: var(--grain); background-size: 160px 160px;
  opacity: 0.045; mix-blend-mode: overlay;
}
.step, .plist, .btn-ghost {
  box-shadow: 0 1px 0 rgba(255,250,240,0.04), 0 8px 24px -16px rgba(0,0,0,0.85), 0 28px 48px -28px rgba(0,0,0,0.7);
}
.pli:hover { transform: translateY(-1px); }
.topbar {
  box-shadow: inset 0 -1px 0 rgba(255,250,240,0.06), 0 10px 30px -20px rgba(0,0,0,0.8);
}

/* ── дорогое движение ─────────────────────────────────────────── */
:root { --lux: cubic-bezier(0.16, 1, 0.3, 1); }

.page-sky::before {
  animation: halo-drift 18s ease-in-out infinite alternate;
}
@keyframes halo-drift {
  from { transform: translate3d(-2%, -1%, 0) scale(1); }
  to { transform: translate3d(3%, 2%, 0) scale(1.06); }
}

.topbar { animation: bar-in 1.1s var(--lux) both; }
@keyframes bar-in {
  from { opacity: 0; transform: translateY(-12px); }
  to { opacity: 1; transform: none; }
}

.hero-bolt { will-change: transform; transition: transform 0.7s var(--lux); }
.hero-sheen {
  position: absolute; inset: -30% -10%;
  background: linear-gradient(118deg,
    transparent 28%,
    rgba(255,246,214,0) 40%,
    rgba(255,246,214,.22) 49%,
    rgba(255,217,107,.08) 52%,
    transparent 62%);
  mix-blend-mode: screen;
  animation: sheen-sweep 7.2s ease-in-out infinite;
}
@keyframes sheen-sweep {
  0% { transform: translateX(-38%) rotate(8deg); opacity: 0; }
  18% { opacity: 1; }
  42% { transform: translateX(38%) rotate(8deg); opacity: 0; }
  100% { transform: translateX(38%) rotate(8deg); opacity: 0; }
}

.hero-orbs i {
  position: absolute; border-radius: 50%;
  background: radial-gradient(circle, rgba(255,217,107,.55) 0%, rgba(238,122,29,0) 70%);
  filter: blur(18px);
  mix-blend-mode: screen;
  animation: orb-float 9s ease-in-out infinite;
}
.hero-orbs i:nth-child(1) { width: 180px; height: 180px; left: 18%; top: 28%; animation-duration: 11s; }
.hero-orbs i:nth-child(2) { width: 120px; height: 120px; left: 36%; top: 58%; animation-duration: 8s; animation-delay: -3s; }
.hero-orbs i:nth-child(3) { width: 90px; height: 90px; left: 8%; top: 62%; animation-duration: 13s; animation-delay: -6s; }
@keyframes orb-float {
  0%, 100% { transform: translate(0, 0) scale(1); opacity: .45; }
  50% { transform: translate(18px, -22px) scale(1.15); opacity: .85; }
}

.offer.is-luxe > * {
  animation: lux-rise 1.15s var(--lux) both;
}
.offer.is-luxe .offer-kicker { animation-delay: .08s; }
.offer.is-luxe .offer-line { animation-delay: .22s; }
.offer.is-luxe h1 { animation-delay: .36s; }
.offer.is-luxe .offer-price { animation-delay: .55s; }
.offer.is-luxe .offer-rule { animation-delay: .7s; }
.offer.is-luxe .offer-go { animation-delay: .86s; }
.offer.is-luxe h1 span {
  display: inline-block;
  animation: lux-word 1.05s var(--lux) both;
}
.offer.is-luxe h1 span:nth-child(1) { animation-delay: .36s; }
.offer.is-luxe h1 span:nth-child(2) { animation-delay: .46s; }
.offer.is-luxe h1 span:nth-child(3) { animation-delay: .56s; }
.offer.is-luxe h1 span:nth-child(4) { animation-delay: .66s; }
@keyframes lux-rise {
  from { opacity: 0; transform: translate3d(0, 28px, 0); filter: blur(8px); }
  to { opacity: 1; transform: none; filter: none; }
}
@keyframes lux-word {
  from { opacity: 0; transform: translateY(18px); filter: blur(6px); }
  to { opacity: 1; transform: none; filter: none; }
}

.offer-go {
  position: relative;
  overflow: hidden;
  transition: transform .35s var(--lux), filter .35s var(--lux), box-shadow .35s var(--lux);
}
.offer-go::after {
  content: '';
  position: absolute; top: -80%; bottom: -80%; left: 0; width: 42%;
  background: var(--shine-key);
  transform: translateX(-160%);
  animation: sweepk 5.6s var(--ease) infinite;
}
.offer-go:hover {
  transform: translateY(-2px) scale(1.02);
  filter: brightness(1.08);
}

[data-reveal] {
  opacity: 0;
  transform: translate3d(0, 36px, 0);
  filter: blur(10px);
  transition: opacity 1.05s var(--lux), transform 1.05s var(--lux), filter 1.05s var(--lux);
}
[data-reveal].is-in {
  opacity: 1;
  transform: none;
  filter: none;
}
.plist .pli {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .8s var(--lux), transform .8s var(--lux), border-color .25s var(--ease);
}
[data-reveal].is-in .pli { opacity: 1; transform: none; }
[data-reveal].is-in .pli:nth-child(1) { transition-delay: .05s; }
[data-reveal].is-in .pli:nth-child(2) { transition-delay: .12s; }
[data-reveal].is-in .pli:nth-child(3) { transition-delay: .19s; }
[data-reveal].is-in .pli:nth-child(4) { transition-delay: .26s; }
[data-reveal].is-in .pli:nth-child(5) { transition-delay: .33s; }

.step {
  transition: transform .45s var(--lux), border-color .35s var(--ease);
}
.step:hover { transform: translateY(-4px); border-top-color: #ffc233; }
.step em {
  background: var(--grad-text);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.brand svg { transition: transform .6s var(--lux), filter .6s var(--lux); }
.brand:hover svg { transform: rotate(-12deg) scale(1.08); filter: drop-shadow(0 0 10px rgba(255,194,51,.55)); }

@media (prefers-reduced-motion: reduce) {
  .page-sky::before, .hero-sheen, .hero-orbs i, .topbar, .offer.is-luxe > *, .offer.is-luxe h1 span, .offer-go::after {
    animation: none !important;
  }
  [data-reveal], .plist .pli { opacity: 1; transform: none; filter: none; }
}

/* ── главная v23: раскол, не плашка поверх болта ── */
.page-home {
  --bg: #070604;
  background: #070604;
}
.page-home.page-sky::before { display: none; }
.page-home .home-hero {
  display: grid;
  min-height: 100svh;
  background: #070604;
}
@media (min-width: 900px) {
  .page-home .home-hero { grid-template-columns: minmax(420px, 1fr) minmax(380px, 1.05fr); }
}
.page-home .home-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 560px;
  margin: 0;
  padding: 120px 40px 72px max(24px, calc((100vw - 1160px) / 2));
}
.page-home .home-kicker {
  margin: 0;
  font-size: 13px;
  font-weight: 700;
  color: #c9a24a;
}
.page-home .home-copy h1 {
  margin: 14px 0 0;
  font-size: clamp(44px, 6.2vw, 84px);
  font-weight: 800;
  letter-spacing: -0.055em;
  line-height: 0.92;
  color: #f7f1e4;
}
.page-home .home-dek {
  margin: 22px 0 0;
  max-width: 34ch;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.5;
  color: #9c9486;
}
.page-home .home-buy {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 22px 32px;
  margin-top: 36px;
}
.page-home .offer-price { margin-top: 0; }
.page-home .offer-price b {
  font-size: clamp(52px, 6vw, 72px);
  letter-spacing: -0.055em;
  line-height: 0.88;
  color: #f7f1e4;
}
.page-home .offer-price s {
  font-size: 14px;
  color: #6e675c;
}
.page-home .offer-go {
  margin-top: 0;
  min-height: 52px;
  padding: 0 26px;
  border-radius: 4px;
  animation: none;
  box-shadow: none;
}
.page-home .offer-go::after { display: none; }
.page-home .offer-go:hover {
  transform: none;
  filter: brightness(1.05);
}
.page-home .home-slab {
  margin: 0;
  min-height: 42vh;
  overflow: hidden;
  background: #0b0906;
  border-left: 1px solid rgba(201, 162, 74, 0.22);
}
.page-home .home-slab img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  object-position: 28% 46%;
}
@media (min-width: 900px) {
  .page-home .home-slab { min-height: 100svh; }
}
.page-home .home-marks {
  border-top: 1px solid rgba(201, 162, 74, 0.18);
  border-bottom: 1px solid rgba(201, 162, 74, 0.18);
}
.page-home .home-marks-in {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 36px;
  padding: 22px 0;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #c9b89a;
}
.page-home .home-sheet { padding: 88px 0 24px; }
.page-home .home-sheet-last { padding-bottom: 72px; }
.page-home .home-sheet-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px 24px;
  margin-bottom: 8px;
}
.page-home .home-sheet-head h2 {
  margin: 0;
  font-size: clamp(32px, 4vw, 48px);
  font-weight: 800;
  letter-spacing: -0.045em;
}
.page-home .home-sheet-head p,
.page-home .plan-note {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: #8a8274;
}
.page-home .plan-note { margin-top: 22px; }
.page-home .plist {
  display: block;
  background: none;
  box-shadow: none;
}
.page-home .pli {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 12px 20px;
  padding: 20px 0;
  border-top: 1px solid rgba(201, 162, 74, 0.16);
  box-shadow: none;
  flex-direction: unset;
}
.page-home .pli:hover {
  background: none;
  transform: none;
  border-top-color: #e2b64a;
}
.page-home .pli.hit {
  border-top-width: 1px;
  padding-top: 20px;
  box-shadow: none;
}
.page-home .pli-n,
.page-home .pli-s,
.page-home .pli-p {
  order: 0;
  margin: 0;
  background: none;
  -webkit-text-fill-color: unset;
}
.page-home .pli-n {
  font-size: 16px;
  font-weight: 800;
  letter-spacing: -0.025em;
  text-transform: none;
  color: #f7f1e4;
}
.page-home .pli-s { font-size: 14px; color: #8a8274; }
.page-home .pli-p {
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1;
  color: #f7f1e4;
}
.page-home .pli.hit .pli-n,
.page-home .pli.hit .pli-p { color: #e2b64a; }
.page-home .home-way {
  display: grid;
  gap: 0;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 800px) {
  .page-home .home-way { grid-template-columns: 1fr 1fr 1fr; gap: 0 48px; }
}
.page-home .home-way li {
  padding: 18px 0 0;
  border-top: 1px solid rgba(201, 162, 74, 0.18);
}
.page-home .home-way b {
  display: block;
  font-size: 22px;
  letter-spacing: -0.03em;
}
.page-home .home-way span {
  display: block;
  margin-top: 8px;
  font-size: 14px;
  font-weight: 600;
  color: #8a8274;
}
.page-home .foot-slim { box-shadow: inset 0 1px 0 rgba(201, 162, 74, 0.16); }
.page-home [data-reveal] { filter: none; transform: translate3d(0, 16px, 0); }
.page-home [data-reveal].is-in { transform: none; }
.page-home .plist .pli { opacity: 1; transform: none; }

@media (max-width: 899px) {
  .page-home .home-hero { min-height: 0; }
  .page-home .home-slab {
    order: -1;
    min-height: 46vh;
    border-left: 0;
    border-bottom: 1px solid rgba(201, 162, 74, 0.22);
  }
  .page-home .home-copy {
    width: min(1160px, calc(100% - 28px));
    margin: 0 auto;
    padding: 36px 0 48px;
  }
  .page-home .home-buy {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }
  .page-home .offer-go { width: min(100%, 280px); }
  .page-home .pli {
    grid-template-columns: 1fr auto;
  }
  .page-home .pli-s { grid-column: 1 / -1; }
}


/* ===== overrides ===== */
/* ===== Этап 1: золото мини-аппа, эффекты героя, токены вместо латуни =====
   Дописывается в конец home.css — поздние правила побеждают, вёрстка не меняется. */

/* --- токены «Плиты» 1:1 с frontend/src/index.css (имена совпадают с home.css) --- */
:root{
  --bg:#0b0a08;--bg-lift:#141210;--surf:rgba(255,250,240,.045);--surf-2:rgba(255,250,240,.085);--surf-3:rgba(255,250,240,.13);
  --surf-hit:rgba(255,250,240,.05);
  --hair:rgba(255,250,240,.075);--hair-0:rgba(255,250,240,0);--edge:rgba(255,250,240,.12);
  --ink:#f5f2ea;--ink-2:#b9b3a6;--ink-3:#999386;--ink-4:#5b564c;--danger:#ff9c8a;--placeholder:#6d685c;
  --on-plate:#1a1002;--on-plate-2:#2e1d04;--on-plate-3:#332105;--on-key:#1a1002;--on-light:#2a1a02;
  --plate-hair:rgba(26,16,2,.22);--plate-scrim:rgba(26,16,2,.14);--plate-edge:rgba(26,16,2,.18);--plate-btn:#fff;
  --grad-plate:radial-gradient(118% 96% at 4% 0%,#ffd96b 0%,rgba(255,217,107,0) 58%),radial-gradient(96% 92% at 98% 2%,#ffc233 0%,rgba(255,194,51,0) 60%),radial-gradient(110% 108% at 76% 106%,#f2891c 0%,rgba(242,137,28,0) 56%),radial-gradient(56% 58% at 100% 100%,rgba(217,72,30,.3) 0%,rgba(217,72,30,0) 52%),linear-gradient(154deg,#ffc73a 0%,#fbb427 38%,#f49a1d 74%,#ee7a1d 100%);
  --grad-action:linear-gradient(96deg,#ffd254 0%,#fbb42a 26%,#f5a41f 50%,#f59a1e 74%,#ee7a1d 100%);
  --grad-text:linear-gradient(96deg,#ffe07a 0%,#ffc247 38%,#ffa73d 68%,#ff8f4d 100%);
  --grad-money:linear-gradient(96deg,#ffd97a 0%,#f7b32b 55%,#ee9a22 100%);
  --grad-accent:linear-gradient(140deg,#2f6be0 0%,#3a58dd 50%,#6350ea 100%);
  --logo-1:#ffe071;--logo-2:#ffb61e;--logo-3:#f08a0c;--sel:rgba(247,179,43,.85);--focus:rgba(255,196,60,.95);
  --tile-blue:linear-gradient(140deg,#4a8df0,#2a5cd0);--tile-green:linear-gradient(140deg,#2ca05e,#157345);--tile-violet:linear-gradient(140deg,#8b5cf6,#6533d6);
  --tile-orange:linear-gradient(140deg,#e0761a,#bc5410);--tile-pink:linear-gradient(140deg,#f0568f,#c92e6b);--tile-gold:linear-gradient(140deg,#ffd24a,#f0a81e);--tile-ink:#fff;--tile-ink-gold:#2a1a02;
  --halo-hot:radial-gradient(48% 74% at 22% 38%,rgba(255,183,45,.42) 0%,rgba(255,183,45,0) 72%),radial-gradient(52% 78% at 72% 60%,rgba(240,138,26,.36) 0%,rgba(240,138,26,0) 74%),radial-gradient(30% 60% at 96% 84%,rgba(217,72,30,.26) 0%,rgba(217,72,30,0) 72%);
  --shine:linear-gradient(102deg,rgba(255,255,255,0) 26%,rgba(255,255,255,.03) 38%,rgba(255,255,255,.09) 45%,rgba(255,255,255,.18) 50%,rgba(255,255,255,.09) 55%,rgba(255,255,255,.03) 62%,rgba(255,255,255,0) 74%);
  --shine-key:linear-gradient(100deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.03) 18%,rgba(255,255,255,.08) 34%,rgba(255,255,255,.16) 50%,rgba(255,255,255,.08) 66%,rgba(255,255,255,.03) 82%,rgba(255,255,255,0) 100%);
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='128' height='128' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
  --sh-plate:inset 0 1px 0 rgba(255,246,214,.5),inset 0 0 0 1px rgba(90,52,6,.14),0 20px 40px -22px rgba(0,0,0,.9);
  --sh-key:inset 0 1px 0 rgba(255,246,214,.45),0 14px 30px -14px rgba(240,146,26,.7);--sh-group:inset 0 0 0 1px rgba(255,250,240,.05);
  --sh-edge:inset 0 0 0 1px var(--edge);--sh-sel:inset 0 0 0 1.5px var(--sel);--sh-tile:inset 0 1px 0 rgba(255,255,255,.24);--sh-light:0 8px 20px -12px rgba(26,16,2,.5);
  --r-1:8px;--r-tile:10px;--r-2:12px;--r-3:16px;--r-4:20px;--r-5:32px;--r-pill:999px;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s7:32px;
  --t-micro:10px;--t-cap:11px;--t-sm:13px;--t-md:15px;--t-lg:17px;--t-xl:20px;--t-h1:26px;--t-display:40px;--t-input:16px;
  --f-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --dur-sweep:7.5s;--dur-sweep-key:6.4s;--ease:cubic-bezier(.4,0,.2,1);--ease-out:cubic-bezier(.16,1,.3,1);
}
.tnum{font-variant-numeric:tabular-nums}
.gt,.gs{display:inline-block;white-space:nowrap;background-image:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.gs{background-image:var(--grad-money)}

/* --- латунь → токены (те же селекторы, что в блоке «главная v23») --- */
.page-home{--bg:#0b0a08;background:var(--bg)}
.page-home .home-hero{background:var(--bg)}
.page-home .home-kicker{color:var(--ink-3);font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.page-home .home-copy h1{color:var(--ink)}
.page-home .home-dek{color:var(--ink-2)}
.page-home .offer-price b{color:var(--ink)}
.page-home .offer-price s{color:var(--ink-4)}
.page-home .home-slab{background:var(--bg-lift);border-left:1px solid var(--hair)}
.page-home .home-sheet-head p,.page-home .plan-note,.page-home .home-way span{color:var(--ink-3)}
.page-home .pli{border-top-color:var(--hair)}
.page-home .pli:hover{border-top-color:var(--edge)}
.page-home .pli-n,.page-home .pli-p{color:var(--ink)}
.page-home .pli-s{color:var(--ink-3)}
.page-home .pli.hit .pli-n,.page-home .pli.hit .pli-p{color:var(--ink);background-image:var(--grad-money);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.page-home .home-way li{border-top-color:var(--hair)}
.page-home .foot-slim{box-shadow:inset 0 1px 0 var(--hair)}
.topbar-cta .key{box-shadow:var(--sh-key)}

/* --- герой: построчное появление, кнопка с блеском, свет на болте, параллакс --- */
.page-home .home-copy h1 span{display:inline-block;animation:lux-word 1.05s var(--lux) both}
.page-home .home-copy h1 span:nth-child(1){animation-delay:.12s}
.page-home .home-copy h1 span:nth-child(3){animation-delay:.28s}
.page-home .home-kicker{animation:lux-rise 1s var(--lux) both}
.page-home .home-dek{animation:lux-rise 1.05s var(--lux) .42s both}
.page-home .home-buy{animation:lux-rise 1.05s var(--lux) .56s both}
.page-home .offer-go{
  position:relative;overflow:hidden;border-radius:var(--r-3);min-height:54px;padding:0 30px;
  color:var(--on-key);text-shadow:0 1px 0 rgba(255,246,214,.4);background:var(--grad-action);
  box-shadow:var(--sh-key);animation:none;
  transition:transform .35s var(--lux),filter .35s var(--lux),box-shadow .35s var(--lux);
}
.page-home .offer-go::before{content:'';position:absolute;inset:0;background:var(--grain) 0 0/128px 128px;opacity:.09;pointer-events:none}
.page-home .offer-go::after{
  content:'';display:block;position:absolute;top:-70%;bottom:-70%;left:0;width:38%;
  background:var(--shine-key);transform:translateX(-160%);animation:sweepk var(--dur-sweep-key) var(--ease) infinite;pointer-events:none;
}
.page-home .offer-go:hover{transform:translateY(-1px);filter:brightness(1.04);box-shadow:inset 0 1px 0 rgba(255,246,214,.5),0 18px 36px -14px rgba(240,146,26,.8)}
.page-home .offer-go:active{transform:translateY(1px);filter:brightness(.96)}
.page-home .home-buy-sub{
  width:100%;flex-basis:auto;margin:0;font-size:13px;font-weight:700;color:var(--ink-3);
  animation:lux-rise 1.05s var(--lux) .7s both;
}
.page-home .home-slab{position:relative;isolation:isolate}
.page-home .home-slab img{will-change:transform;transform:translate3d(0,0,0) scale(1.06);transition:transform .9s var(--lux)}
.page-home .home-slab .home-sheen{
  position:absolute;inset:-30% -10%;z-index:1;pointer-events:none;mix-blend-mode:screen;
  background:linear-gradient(118deg,transparent 28%,rgba(255,246,214,0) 40%,rgba(255,246,214,.2) 49%,rgba(255,217,107,.07) 52%,transparent 62%);
  animation:sheen-sweep 7.2s ease-in-out infinite;
}
.page-home .home-slab::after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:var(--grain) 0 0/128px 128px;opacity:.05;mix-blend-mode:overlay}
.page-home .timer{display:none!important}

/* строка «3 дня бесплатно» над ценами */
.page-home .plist-trial{margin:0 0 6px;font-size:14px;font-weight:700;color:var(--ink-2)}
.page-home .plist-trial b{background-image:var(--grad-money);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

@media (prefers-reduced-motion:reduce){
  .page-home .home-copy h1 span,.page-home .home-kicker,.page-home .home-dek,.page-home .home-buy,.page-home .home-buy-sub,.page-home .home-slab .home-sheen,.page-home .offer-go::after{animation:none}
  .page-home .home-slab img{transform:none}
}

/* ===== герой: молния слева, текст справа и крупнее ===== */
@media (min-width:900px){
  /* колонки меняются местами: слева металл, справа воздух и текст */
  .page-home .home-hero{grid-template-columns:minmax(380px,1.02fr) minmax(460px,1fr)}
  .page-home .home-slab{order:-1;border-left:0;border-right:1px solid var(--hair)}
  .page-home .home-slab img{object-position:34% 48%}
  .page-home .home-copy{
    max-width:none;
    padding:120px max(24px,calc((100vw - 1160px) / 2)) 72px 64px;
    align-items:flex-start;
  }
  .page-home .home-dek{max-width:28ch}
}
/* текст крупнее: заголовок, подзаголовок, цена */
.page-home .home-copy h1{font-size:clamp(48px,7.2vw,104px);letter-spacing:-.058em;line-height:.9}
.page-home .home-dek{font-size:clamp(17px,1.35vw,20px);line-height:1.45;margin-top:26px}
.page-home .home-kicker{font-size:12px}
.page-home .offer-price b{font-size:clamp(56px,6.6vw,86px);white-space:nowrap}
.page-home .offer-price b i{font-size:.34em;margin-left:.08em}
.page-home .home-buy{margin-top:40px;gap:24px 36px}
.page-home .offer-go{min-height:58px;padding:0 34px;font-size:17px}
.page-home .home-buy-sub{font-size:13.5px;white-space:nowrap}
@media (max-width:899px){
  .page-home .home-copy h1{font-size:clamp(40px,11.5vw,60px)}
  .page-home .home-dek{font-size:17px;max-width:34ch}
  .page-home .offer-price b{font-size:clamp(48px,14vw,64px)}
}
/* мобильный герой: болт не должен съедать первый экран */
@media (max-width:899px){
  .page-home .home-slab{min-height:38svh}
  .page-home .home-slab img{object-position:30% 42%}
  .page-home .home-copy{padding:28px 0 44px}
  .page-home .home-buy{margin-top:28px;gap:18px}
  .page-home .home-buy-sub{white-space:normal}
}


/* ===== plita components ===== */
/* plita-site.css — дизайн-система «Плита» для boltproxy.net (лендинг / auth / кабинет).
   Источник правды: frontend/src/index.css мини-аппа, тёмная тема, значения 1:1. Ни одного цвета мимо var(). */

.gt,.gs{display:inline-block;white-space:nowrap;background-image:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}.gs{background-image:var(--grad-money)}
/* типографика страницы (вне плиты): один display-заголовок на экран, подзаголовки 800 с отрицательным трекингом */
.h-display{margin:0;font-size:clamp(40px,5.4vw,64px);font-weight:800;letter-spacing:-.048em;line-height:.98}
.h-2{margin:0;font-size:clamp(26px,3vw,36px);font-weight:800;letter-spacing:-.035em;line-height:1.05}
.dek{margin:var(--s4) 0 0;max-width:46ch;font-size:16px;font-weight:600;line-height:1.55;color:var(--ink-2)}
.kicker{font-size:var(--t-cap);font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
/* ПЛИТА — одна на экран: золото, зерно, блеск-свип, тёмные чернила; halo даёт обёртка .hero */
.hero{position:relative;isolation:isolate}
.hero::after{content:'';position:absolute;left:-2%;right:-2%;top:40%;bottom:-24px;z-index:-1;background:var(--halo-hot);opacity:.85}
.plate{position:relative;overflow:hidden;border-radius:var(--r-5);padding:var(--s5);background:var(--grad-plate);color:var(--on-plate);box-shadow:var(--sh-plate)}
.plate::before{content:'';position:absolute;inset:0;background:var(--grain) 0 0/128px 128px;opacity:.1;pointer-events:none}
.plate::after{content:'';position:absolute;inset:0;background:var(--shine);transform:translateX(-120%);will-change:transform;animation:sweep var(--dur-sweep) var(--ease) infinite;pointer-events:none}
.plate>*{position:relative;z-index:2}
.plate .crow{display:flex;align-items:center;justify-content:space-between;gap:var(--s2)}
.plate .eyebrow{font-size:var(--t-cap);font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--on-plate-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plate .display{margin-top:var(--s3);font-size:var(--t-display);line-height:.96;font-weight:800;letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.plate .display small{font-size:var(--t-md);font-weight:800;letter-spacing:-.01em;color:var(--on-plate-2);margin-left:8px;white-space:nowrap}
.plate .h1c{margin:var(--s3) 0 0;font-size:var(--t-h1);font-weight:800;letter-spacing:-.035em;line-height:1.1}
.plate .lead{margin:var(--s2) 0 0;font-size:var(--t-sm);font-weight:600;line-height:1.5;color:var(--on-plate-2)}.plate .lead b{color:var(--on-plate)}
.plate .pill{flex:none;display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:var(--r-pill);font-size:var(--t-cap);font-weight:800;background:var(--plate-scrim);box-shadow:inset 0 0 0 1px var(--plate-edge)}
.plate .pill i{width:6px;height:6px;border-radius:50%;background:var(--on-plate);box-shadow:0 0 0 3px var(--plate-scrim);animation:beat 2.6s ease-in-out infinite}
.plate .gauge{margin-top:var(--s4);height:8px;border-radius:var(--r-pill);background:var(--gauge-track);overflow:hidden;box-shadow:inset 0 0 0 1px var(--plate-edge)}
.plate .gauge i{display:block;width:100%;height:100%;border-radius:var(--r-pill);background:var(--gauge-fill);transform-origin:left;transition:transform .4s var(--ease)}
.plate .facts{display:flex;margin:var(--s5) calc(var(--s5)*-1) calc(var(--s5)*-1);padding:var(--s3) var(--s5) var(--s4);border-top:1px solid var(--plate-hair)}
.plate .facts>div{flex:1;min-width:0;padding-right:var(--s2)}.plate .facts>div+div{padding-left:var(--s2);border-left:1px solid var(--plate-hair)}
.plate .facts b{display:block;font-size:14px;letter-spacing:-.03em;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plate .facts span{display:block;margin-top:3px;font-size:var(--t-micro);font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--on-plate-3)}
@keyframes sweep{0%,58%{transform:translateX(-120%)}86%,100%{transform:translateX(120%)}}
@keyframes sweepk{0%,58%{transform:translateX(-160%)}86%,100%{transform:translateX(420%)}}
@keyframes beat{0%,100%{opacity:1}50%{opacity:.4}}
/* КНОПКИ: primary — ЕДИНСТВЕННАЯ градиентная на экран; ghost — вторичная; light — белая пилюля НА плите. Выключено = другой сплав, не opacity */
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);height:52px;padding:0 var(--s5);border-radius:var(--r-3);font-size:var(--t-lg);font-weight:800;letter-spacing:-.015em;white-space:nowrap;cursor:pointer;text-decoration:none;transition:transform .12s ease,filter .12s ease,background .12s ease}
.btn-primary{background:var(--grad-action);color:var(--on-key);text-shadow:0 1px 0 rgba(255,246,214,.4);box-shadow:var(--sh-key)}
.btn-primary::before{content:'';position:absolute;inset:0;background:var(--grain) 0 0/128px 128px;opacity:.09}
.btn-primary::after{content:'';position:absolute;top:-70%;bottom:-70%;left:0;width:38%;background:var(--shine-key);transform:translateX(-160%);animation:sweepk var(--dur-sweep-key) var(--ease) infinite}
.btn>*{position:relative;z-index:2}.btn-primary:hover{filter:brightness(1.04)}.btn:active{transform:translateY(1px);filter:brightness(.95)}
.btn-primary[disabled]{background:var(--key-off-bg);color:var(--key-off-ink);text-shadow:none;box-shadow:inset 0 0 0 1px var(--hair);pointer-events:none}.btn-primary[disabled]::before,.btn-primary[disabled]::after{display:none}
.btn-ghost{background:var(--surf-2);color:var(--ink);box-shadow:var(--sh-edge)}.btn-ghost:hover{background:var(--surf-3)}.btn-ghost.is-danger{color:var(--danger)}
.btn-light{height:44px;border-radius:var(--r-2);background:var(--plate-btn);color:var(--on-light);font-size:var(--t-sm);box-shadow:var(--sh-light)}
.btn-block{display:flex;width:100%}.btn-sm{height:46px;font-size:var(--t-md)}.btn svg{width:20px;height:20px;flex:none}
.btn-sub{margin:10px 0 0;text-align:center;font-size:var(--t-sm);font-weight:600;color:var(--ink-3);line-height:1.4}
/* СЕКЦИЯ + ГРУППА + СТРОКИ ДЕЙСТВИЙ: hairline вместо рамок, плитка-иконка 30×30 цветом по смыслу, разделитель отбит на 55px */
.sec{display:flex;align-items:center;gap:var(--s3);margin:var(--s6) 0 var(--s2);font-size:var(--t-cap);font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3)}
.sec::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,var(--hair),var(--hair-0))}
.group{border-radius:var(--r-4);background:var(--surf);overflow:hidden;box-shadow:var(--sh-group)}.group+.group{margin-top:var(--s2)}
.row{position:relative;display:flex;align-items:center;gap:var(--s3);width:100%;padding:10px var(--s3);text-align:left;color:inherit;text-decoration:none}
.row+.row::before{content:'';position:absolute;left:55px;right:0;top:0;height:1px;background:var(--hair)}
a.row:hover,button.row:hover{background:var(--surf-hit)}.row:active{background:var(--surf-2)}.row.is-accent{box-shadow:inset 0 0 0 1.5px var(--sel)}
.row-ic{flex:none;width:30px;height:30px;border-radius:var(--r-tile);display:grid;place-items:center;color:var(--tile-ink);box-shadow:var(--sh-tile)}.row-ic svg{width:16px;height:16px}
.ic-blue{background:var(--tile-blue)}.ic-green{background:var(--tile-green)}.ic-violet{background:var(--tile-violet)}.ic-orange{background:var(--tile-orange)}.ic-pink{background:var(--tile-pink)}
.ic-gold{background:var(--tile-gold);color:var(--tile-ink-gold)}.ic-mute{background:var(--surf-2);color:var(--ink-2);box-shadow:none}
.row-t{flex:1;min-width:0}.row-t b{display:block;font-size:var(--t-md);font-weight:700;letter-spacing:-.01em;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row-t>span{display:block;margin-top:2px;font-size:var(--t-sm);color:var(--ink-3);line-height:1.35}
.row-v{flex:none;font-size:var(--t-sm);font-weight:800;color:var(--ink-2);font-variant-numeric:tabular-nums}.row-v.is-gold{background-image:var(--grad-money);-webkit-background-clip:text;background-clip:text;color:transparent}
.row-ch{flex:none;width:14px;height:14px;color:var(--ink-4)}
.badge{display:inline-block;margin:0 0 0 6px;padding:2px 6px 3px;border-radius:6px;font-size:var(--t-micro);font-weight:800;letter-spacing:.06em;color:var(--tile-ink);background:var(--grad-accent);vertical-align:1px}.badge.is-star{background:var(--tile-gold);color:var(--tile-ink-gold)}
.trust{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s1) var(--s2);margin-top:var(--s5);font-size:var(--t-sm);font-weight:700;color:var(--ink-3)}.trust span+span::before{content:'·';margin-right:var(--s2);color:var(--ink-4)}
/* ПОЛЕ ВВОДА (auth): заливка --surf, контур-hairline, фокус — золотой контур 1,5px, ошибка — красный; 16px, чтобы iOS не зумил */
.field{margin-top:var(--s3)}.field>label{display:block;margin-bottom:6px;font-size:var(--t-cap);font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.field input{width:100%;height:48px;padding:0 var(--s3);border-radius:var(--r-3);background:var(--surf);box-shadow:var(--sh-edge);font-size:var(--t-input);font-weight:700;outline:none;box-sizing:border-box}
.field input::placeholder{color:var(--placeholder);font-weight:600}.field input:focus{box-shadow:var(--sh-sel)}
.field.is-err input{background:var(--danger-bg);box-shadow:inset 0 0 0 1.5px var(--danger)}.field .msg{margin-top:6px;font-size:var(--t-sm);color:var(--ink-3)}.field.is-err .msg{color:var(--danger)}
.field input.is-code{font-size:var(--t-xl);letter-spacing:.32em;text-align:center;font-variant-numeric:tabular-nums}
.mono{padding:var(--s3);border-radius:var(--r-2);background:var(--surf);box-shadow:var(--sh-group);font:600 var(--t-sm)/1.5 var(--f-mono);color:var(--ink-2);word-break:break-all}
/* HAIRLINE и ДВИЖЕНИЕ: разделитель без рамок; появление блоков — blur-rise (.is-in ставит plita-site.js из IntersectionObserver); [data-count] — count-up */
.hair{height:1px;border:0;margin:var(--s4) 0;background:var(--hair)}.hair.is-fade{background:linear-gradient(90deg,var(--hair),var(--hair-0))}
.reveal{opacity:0;transform:translateY(14px);filter:blur(6px);transition:opacity var(--dur-in) var(--ease-out),transform .7s var(--ease-out),filter var(--dur-in) var(--ease-out)}
.reveal.is-in{opacity:1;transform:none;filter:none}.reveal[data-delay="1"]{transition-delay:.08s}.reveal[data-delay="2"]{transition-delay:.16s}.reveal[data-delay="3"]{transition-delay:.24s}
@media (prefers-reduced-motion:reduce){.plate::after,.btn-primary::after,.plate .pill i{animation:none;opacity:0}.reveal{opacity:1;transform:none;filter:none;transition:none}}


/* ===== geo ===== */
/* geo.css — секция «Где мы» (карта серверов). Префикс .home-geo, цвета только var() из plita-site.css.
   Исключение — палитра национальных флагов ниже: её нельзя выразить токенами бренда, она объявлена
   локально на .home-geo и больше нигде не используется.
   Reveal-появление даёт home.js (data-reveal → .is-in). Пульс маркеров крутится только при .home-geo.is-live (geo.js).
   Зум/пан меняют viewBox карты (geo.js); --mk-inv компенсирует масштаб маркеров, чтобы они не росли. */
.home-geo{padding:88px 0 40px;--mk-inv:1}
.home-geo-head{margin-bottom:22px}
.home-geo-kicker{margin:0 0 10px;font-size:var(--t-cap);font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.home-geo-title{margin:0;font-size:clamp(32px,4vw,48px);font-weight:800;letter-spacing:-.045em;line-height:1.02;color:var(--ink)}
.home-geo-dek{margin:12px 0 0;font-size:var(--t-md);font-weight:600;line-height:1.5;color:var(--ink-2)}

/* палитра флагов: единственные литеральные цвета в секции, приглушены под тёмный фон */
.home-geo{--fl-white:#f3f0e8;--fl-black:#2b2724;--fl-red:#d8323c;--fl-navy:#2c4687;--fl-sea:#17699f;--fl-gold:#ffcf2e}

/* карточка карты */
.home-geo-map{position:relative;isolation:isolate;overflow:hidden;padding:26px 18px 18px;border-radius:var(--r-5);
  background:radial-gradient(58% 70% at 54% 24%,var(--sky-hot) 0%,var(--sky-0) 70%),var(--surf);box-shadow:var(--sh-edge)}
.home-geo-map::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:var(--grain) 0 0/128px 128px;opacity:.06}
.home-geo-stage{position:relative;z-index:0;touch-action:pan-y}
.home-geo-world{display:block;width:100%;height:auto}
.home-geo-pins{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:hidden}

/* SVG: мир, золото, штриховка, дуги */
.home-geo-land{fill:var(--bg-lift);stroke:var(--hair);stroke-width:1;stroke-linejoin:round}
.home-geo-st1{stop-color:var(--logo-1)}.home-geo-st2{stop-color:var(--logo-2)}.home-geo-st3{stop-color:var(--logo-3)}
.home-geo-hatch-bg{fill:var(--bg-lift)}.home-geo-hatch-ln{fill:var(--logo-2)}
.home-geo-glow{opacity:.5;pointer-events:none}.home-geo-glow use,.home-geo-glow circle{fill:var(--logo-2)}
.home-geo-hl{fill:url(#home-geo-gold);stroke:var(--logo-1);stroke-width:.8;stroke-opacity:.5;cursor:pointer;transition:opacity .3s var(--ease)}
.home-geo-hl.is-ai{fill:url(#home-geo-hatch);stroke-opacity:.85}
.home-geo-hl.is-dot{fill-opacity:.55;stroke-opacity:.7}
.home-geo-arc{fill:none;stroke:var(--logo-2);stroke-opacity:.26;stroke-width:1;stroke-dasharray:5 7;stroke-linecap:round;pointer-events:none}

/* маркеры (отдельный слой, чтобы пульс не перерисовывал мир).
   --mk-base — крупность под брейкпоинт, --mk-inv = 1/зум (ставит geo.js), врезка от зума изолирована */
.home-geo-mk{cursor:pointer;transition:opacity .3s var(--ease)}
.home-geo-pins-main{--mk-base:1}
.home-geo-inset{--mk-base:1;--mk-inv:1}
.home-geo-mk-s{transform:scale(calc(var(--mk-base,1) * var(--mk-inv,1)))}
.home-geo-hit{fill:transparent}
.home-geo-soft{fill:var(--logo-2);opacity:.2}
.home-geo-core{fill:var(--logo-1);stroke:var(--on-plate);stroke-width:1.2}
.home-geo-ring{fill:none;stroke:var(--logo-1);stroke-width:1.2;opacity:0;transform-box:fill-box;transform-origin:center;
  animation:home-geo-pulse 2.6s var(--ease) infinite;animation-play-state:paused}
.home-geo-mk:nth-child(2) .home-geo-ring{animation-delay:-.37s}.home-geo-mk:nth-child(3) .home-geo-ring{animation-delay:-.74s}
.home-geo-mk:nth-child(4) .home-geo-ring{animation-delay:-1.11s}.home-geo-mk:nth-child(5) .home-geo-ring{animation-delay:-1.48s}
.home-geo-mk:nth-child(6) .home-geo-ring{animation-delay:-1.85s}.home-geo-mk:nth-child(7) .home-geo-ring{animation-delay:-2.22s}
.home-geo-mk .home-geo-ring.is-2{animation-delay:-1.3s}
.home-geo-mk:nth-child(2) .home-geo-ring.is-2{animation-delay:-1.67s}.home-geo-mk:nth-child(3) .home-geo-ring.is-2{animation-delay:-2.04s}
.home-geo-mk:nth-child(4) .home-geo-ring.is-2{animation-delay:-2.41s}.home-geo-mk:nth-child(5) .home-geo-ring.is-2{animation-delay:-.18s}
.home-geo-mk:nth-child(6) .home-geo-ring.is-2{animation-delay:-.55s}.home-geo-mk:nth-child(7) .home-geo-ring.is-2{animation-delay:-.92s}
.home-geo.is-live .home-geo-ring{animation-play-state:running}
@keyframes home-geo-pulse{0%{transform:scale(1);opacity:.8}100%{transform:scale(3.6);opacity:0}}
.home-geo-mk.is-on .home-geo-core{stroke:var(--ink)}
.home-geo-map.is-hl .home-geo-hl:not(.is-on){opacity:.5}
.home-geo-map.is-hl .home-geo-mk:not(.is-on){opacity:.45}

/* курсор и перетаскивание (только когда есть куда двигать) */
.home-geo-map.is-pan .home-geo-stage{touch-action:none;cursor:grab}
.home-geo-map.is-grab{user-select:none;-webkit-user-select:none}
.home-geo-map.is-grab .home-geo-stage,.home-geo-map.is-grab .home-geo-mk,.home-geo-map.is-grab .home-geo-hl{cursor:grabbing}

/* кнопки масштаба */
.home-geo-zoom{position:absolute;right:12px;bottom:12px;z-index:4;display:flex;flex-direction:column;gap:6px}
.home-geo-zb{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius:var(--r-tile);
  background:var(--surf-2);color:var(--ink);box-shadow:var(--sh-edge);cursor:pointer;-webkit-appearance:none;appearance:none;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background .18s var(--ease),color .18s var(--ease)}
.home-geo-zb:hover{background:var(--surf-3)}
.home-geo-zb:active{transform:translateY(1px)}
.home-geo-zb[disabled]{background:var(--ghost-fill);color:var(--ink-4);box-shadow:inset 0 0 0 1px var(--hair);cursor:default}
.home-geo-zb svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* легенда + врезка «Европа» (при зуме врезка не нужна — гаснет) */
.home-geo-legend{position:absolute;right:22px;top:18px;z-index:2;display:flex;gap:14px;margin:0;padding:0;list-style:none;
  font-size:var(--t-cap);font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);pointer-events:none}
.home-geo-legend li{display:inline-flex;align-items:center;gap:6px}
.home-geo-legend i{width:12px;height:12px;border-radius:3px;background:var(--tile-gold);box-shadow:var(--sh-tile)}
.home-geo-legend i.is-ai{background:repeating-linear-gradient(45deg,var(--logo-2) 0 2px,var(--bg-lift) 2px 5px);box-shadow:var(--sh-edge)}
.home-geo-inset{position:absolute;left:3%;bottom:6%;z-index:2;width:23%;aspect-ratio:1;overflow:hidden;border-radius:var(--r-4);
  background:var(--bg);background:color-mix(in srgb,var(--bg) 82%,transparent);box-shadow:var(--sh-edge);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  transition:opacity .34s var(--ease),transform .34s var(--ease)}
.home-geo-inset svg{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:hidden}
.home-geo-inset-cap{position:absolute;left:14px;top:12px;font-size:var(--t-cap);font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
@media (min-width:821px){
  .home-geo-map.is-zoomed .home-geo-inset{opacity:0;transform:scale(.94);pointer-events:none}
}

/* тултип-плита */
.home-geo-tip{position:absolute;left:0;top:0;z-index:5;pointer-events:none;opacity:0;white-space:nowrap;padding:8px 12px;border-radius:var(--r-2);
  background:var(--grad-plate);color:var(--on-plate);box-shadow:var(--sh-plate);font-size:var(--t-sm);font-weight:800;letter-spacing:-.01em;line-height:1.2;
  transform:translate(-50%,calc(-100% - 12px)) scale(.96);transition:opacity .18s var(--ease),transform .22s var(--ease)}
.home-geo-tip::after{content:'';position:absolute;left:50%;bottom:-5px;width:10px;height:10px;border-radius:2px;background:var(--logo-2);transform:translateX(-50%) rotate(45deg)}
.home-geo-tip.is-below{transform:translate(-50%,14px) scale(.96)}.home-geo-tip.is-below::after{bottom:auto;top:-5px}
.home-geo-tip.is-on{opacity:1;transform:translate(-50%,calc(-100% - 12px)) scale(1)}.home-geo-tip.is-on.is-below{transform:translate(-50%,14px) scale(1)}
.home-geo-tip span{color:var(--on-plate-2);font-variant-numeric:tabular-nums}
.home-geo-tip i{display:inline-block;margin-left:7px;padding:2px 7px;border-radius:var(--r-pill);background:var(--plate-scrim);box-shadow:inset 0 0 0 1px var(--plate-edge);
  font-size:var(--t-micro);font-style:normal;letter-spacing:.06em;text-transform:uppercase;vertical-align:1px}

/* флаги: inline-SVG из <defs> карты, без эмодзи и внешних картинок */
.home-geo-fl,.home-geo-tip-fl{position:relative;display:inline-block;overflow:hidden;background:var(--bg-lift)}
.home-geo-fl>svg,.home-geo-tip-fl>svg{display:block;width:100%;height:100%}
.home-geo-fl::after,.home-geo-tip-fl::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none}
.home-geo-fl{grid-area:ic;width:26px;height:17px;border-radius:4px}
.home-geo-fl::after{box-shadow:inset 0 0 0 1px var(--hair),inset 0 1px 0 var(--surf-3)}
.home-geo-tip-fl{width:19px;height:13px;margin-right:8px;border-radius:3px;vertical-align:-2px}
.home-geo-tip-fl::after{box-shadow:inset 0 0 0 1px var(--plate-edge)}

/* чипы стран */
.home-geo-chips{display:grid;grid-template-columns:repeat(7,auto);gap:8px;margin:16px 0 0;padding:0;list-style:none}
.home-geo-chips li{display:flex;min-width:0;margin:0;padding:0}
.home-geo-chip{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"ic name" "ic city" "ic ms";column-gap:10px;row-gap:2px;align-items:center;
  flex:1 1 auto;width:100%;margin:0;padding:10px 12px;border:0;border-radius:var(--r-3);background:var(--surf);box-shadow:var(--sh-group);color:var(--ink);font-family:inherit;text-align:left;cursor:pointer;
  -webkit-appearance:none;appearance:none;transition:background .2s var(--ease),box-shadow .2s var(--ease)}
.home-geo-chip:hover{background:var(--surf-2)}
.home-geo-chip.is-on{background:var(--surf-2);box-shadow:var(--sh-sel)}
.home-geo-chip-n{grid-area:name;font-size:var(--t-sm);font-weight:800;letter-spacing:-.02em;line-height:1.2;white-space:nowrap}
.home-geo-chip-c{grid-area:city;font-size:var(--t-cap);font-weight:600;line-height:1.2;color:var(--ink-3)}
.home-geo-chip-ms{grid-area:ms;font-family:var(--f-mono);font-size:12px;font-weight:600;letter-spacing:-.01em;line-height:1.2;font-variant-numeric:tabular-nums;color:var(--ink-2);transition:color .2s var(--ease)}
.home-geo-chip:hover .home-geo-chip-ms,.home-geo-chip.is-on .home-geo-chip-ms{color:var(--logo-2)}
.home-geo-chip .badge{margin-left:6px;text-transform:uppercase}
.home-geo-note{margin:14px 0 0;font-size:var(--t-sm);font-weight:600;line-height:1.45;color:var(--ink-3)}

@media (max-width:1199px){
  .home-geo-chips{grid-template-columns:repeat(4,1fr)}
  .home-geo-chip .badge{display:block;width:max-content;margin:3px 0 0}
}
@media (max-width:820px){
  .home-geo{padding:56px 0 24px}
  .home-geo-head{margin-bottom:18px}
  .home-geo-map{padding:14px 8px 8px;border-radius:var(--r-4)}
  .home-geo-pins-main .home-geo-mk.is-eu{display:none}
  .home-geo-map.is-zoomed .home-geo-pins-main .home-geo-mk.is-eu{display:block}
  .home-geo-pins-main{--mk-base:1.7}
  .home-geo-inset{--mk-base:1.3}
  .home-geo-zoom{flex-direction:row;right:8px;bottom:8px;gap:6px}
  .home-geo-zb{width:34px;height:34px}
  /* карта коротка — при зуме врезка «Европа» складывается, чтобы не дублировать вид */
  .home-geo-inset{position:relative;left:auto;bottom:auto;width:auto;aspect-ratio:2/1;max-height:340px;margin:8px 2px 2px;border-radius:var(--r-3);background:var(--surf);-webkit-backdrop-filter:none;backdrop-filter:none;
    transition:max-height .34s var(--ease),margin .34s var(--ease),opacity .26s var(--ease)}
  .home-geo-map.is-zoomed .home-geo-inset{max-height:0;margin-top:0;margin-bottom:0;opacity:0;pointer-events:none}
  .home-geo-legend{position:static;justify-content:center;padding:10px 0 4px}
  .home-geo-chips{grid-template-columns:1fr 1fr;gap:6px}
  .home-geo-chip{padding:10px}
  .home-geo-chip .badge{display:inline-block;width:auto;margin:0 0 0 6px}
}
@media (max-width:600px){
  .home-geo-pins-main{--mk-base:2.2}
  .home-geo-inset{aspect-ratio:16/9}
  .home-geo-chip .badge{display:block;width:max-content;margin:3px 0 0}
}
@media (prefers-reduced-motion:reduce){
  .home-geo-ring{animation:none;opacity:.35}.home-geo-ring.is-2{display:none}
  .home-geo-tip,.home-geo-chip,.home-geo-hl,.home-geo-mk,.home-geo-inset,.home-geo-zb{transition:none}
}


/* ===== why ===== */
/* ── why: «Почему мы» — 6 плит-групп 3×2 (планшет 2, ≤820px 1) ─────────────── */
.page-home .home-why { padding: 88px 0 24px; }
.page-home .home-why-kicker {
  margin: 0 0 10px;
  font-size: var(--t-cap); font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
  color: var(--ink-3);
}
.page-home .home-why .home-sheet-head { margin-bottom: 28px; }
.page-home .home-why-grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s3);
  margin: 0; padding: 0; list-style: none;
}
.page-home .home-why-item {
  display: flex; flex-direction: column; min-height: 0;
  padding: var(--s5); border-radius: var(--r-4);
  background: var(--surf); box-shadow: var(--sh-group);
}
.page-home .home-why-top { display: flex; align-items: center; justify-content: space-between; gap: var(--s3); }
.page-home .home-why-ic {
  flex: none; width: 30px; height: 30px; border-radius: var(--r-tile);
  display: grid; place-items: center; color: var(--tile-ink); box-shadow: var(--sh-tile);
}
.page-home .home-why-ic svg { width: 16px; height: 16px; }
.page-home .home-why-ic.ic-blue { background: var(--tile-blue); }
.page-home .home-why-ic.ic-green { background: var(--tile-green); }
.page-home .home-why-ic.ic-violet { background: var(--tile-violet); }
.page-home .home-why-ic.ic-orange { background: var(--tile-orange); }
.page-home .home-why-ic.ic-pink { background: var(--tile-pink); }
.page-home .home-why-ic.ic-gold { background: var(--tile-gold); color: var(--tile-ink-gold); }
.page-home .home-why-num {
  font: 700 var(--t-sm)/1 var(--f-mono); letter-spacing: .04em; font-variant-numeric: tabular-nums;
  color: var(--ink-4);
}
.page-home .home-why-item h3 {
  margin: 28px 0 0; padding: 0;
  font-size: var(--t-xl); font-weight: 800; letter-spacing: -.03em; line-height: 1.1; color: var(--ink);
}
.page-home .home-why-item p {
  margin: 6px 0 0; max-width: 30ch;
  font-size: var(--t-sm); font-weight: 600; line-height: 1.45; color: var(--ink-3);
}
/* появление: секция едет через data-reveal (home.js), плиты — стаггер по nth-child */
.page-home .home-why .home-why-item {
  opacity: 0; transform: translateY(14px);
  transition: opacity var(--dur-in) var(--ease-out), transform .7s var(--ease-out);
}
.page-home .home-why.is-in .home-why-item { opacity: 1; transform: none; }
.page-home .home-why.is-in .home-why-item:nth-child(1) { transition-delay: .05s; }
.page-home .home-why.is-in .home-why-item:nth-child(2) { transition-delay: .13s; }
.page-home .home-why.is-in .home-why-item:nth-child(3) { transition-delay: .21s; }
.page-home .home-why.is-in .home-why-item:nth-child(4) { transition-delay: .29s; }
.page-home .home-why.is-in .home-why-item:nth-child(5) { transition-delay: .37s; }
.page-home .home-why.is-in .home-why-item:nth-child(6) { transition-delay: .45s; }
@media (max-width: 1023px) {
  .page-home .home-why-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
  .page-home .home-why { padding-top: 64px; }
  .page-home .home-why-grid { grid-template-columns: minmax(0, 1fr); gap: var(--s2); }
  .page-home .home-why-item { min-height: 0; padding: var(--s4) var(--s4) var(--s5); }
  .page-home .home-why-item h3 { margin-top: 18px; font-size: var(--t-lg); }
  .page-home .home-why-item p { max-width: none; }
}
@media (prefers-reduced-motion: reduce) {
  .page-home .home-why .home-why-item { opacity: 1; transform: none; transition: none; }
}


/* ===== pricing ===== */
/* ── pricing: строки #pricing в стиле Wallet-группы (.page-home). Разметка секции не меняется:
   window.bpRenderPlans(tariffs) из pricing.js рисует новые .pli и строку «3 дня бесплатно» над списком.
   Старые статичные .pli (до ответа каталога) тоже ложатся в эту сетку. ─────────────────────── */
.page-home .plist-trial {
  margin: 12px 0 14px;
  font-size: var(--t-md); font-weight: 700; letter-spacing: -.01em; color: var(--ink-2);
}
.page-home .plist {
  display: block; overflow: hidden;
  border-radius: var(--r-4); background: var(--surf); box-shadow: var(--sh-group);
}
.page-home .plist .pli {
  position: relative; display: flex; align-items: center; gap: var(--s3);
  padding: 14px var(--s4) 14px var(--s3); margin: 0;
  border: 0; border-radius: 0; background: none; box-shadow: none;
  opacity: 1; transform: none; color: inherit; text-decoration: none;
  transition: background .15s var(--ease);
}
.page-home .plist .pli + .pli::before {
  content: ''; position: absolute; left: 55px; right: 0; top: 0; height: 1px; background: var(--hair);
}
.page-home .plist .pli:hover { background: var(--surf-hit); transform: none; border-color: transparent; }
.page-home .plist .pli:active { background: var(--surf-2); }
.page-home .plist .pli.hit { border: 0; padding-top: 14px; box-shadow: none; }
/* плитка-иконка 30×30 */
.page-home .plist .pli-ic {
  flex: none; width: 30px; height: 30px; border-radius: var(--r-tile);
  display: grid; place-items: center; color: var(--tile-ink); box-shadow: var(--sh-tile);
}
.page-home .plist .pli-ic svg { width: 16px; height: 16px; }
.page-home .plist .pli-ic.ic-blue { background: var(--tile-blue); }
.page-home .plist .pli-ic.ic-green { background: var(--tile-green); }
.page-home .plist .pli-ic.ic-violet { background: var(--tile-violet); }
.page-home .plist .pli-ic.ic-orange { background: var(--tile-orange); }
.page-home .plist .pli-ic.ic-pink { background: var(--tile-pink); }
.page-home .plist .pli-ic.ic-gold { background: var(--tile-gold); color: var(--tile-ink-gold); }
/* текстовый столбец: название → факты → примечание */
.page-home .plist .pli-t { flex: 1; min-width: 0; display: block; }
.page-home .plist .pli-n {
  display: block; margin: 0; order: 0;
  font-size: var(--t-md); font-weight: 700; letter-spacing: -.01em; text-transform: none; color: var(--ink);
  background: none; -webkit-text-fill-color: unset;
}
.page-home .plist .pli-s {
  display: block; margin: 2px 0 0; order: 0; grid-column: auto;
  font-size: var(--t-sm); font-weight: 700; line-height: 1.35; color: var(--ink-2);
}
.page-home .plist .pli-s2 {
  display: block; margin: 1px 0 0;
  font-size: var(--t-sm); font-weight: 600; line-height: 1.35; color: var(--ink-3);
}
.page-home .plist .pli.hit .pli-n { color: var(--ink); }
.page-home .plist .pli-badge {
  display: inline-block; margin: 0 0 0 6px; padding: 2px 6px 3px; border-radius: 6px; vertical-align: 1px;
  font-size: var(--t-micro); font-weight: 800; letter-spacing: .06em; text-transform: uppercase; line-height: 1.1;
  color: var(--tile-ink); background: var(--grad-accent);
}
.page-home .plist .pli-badge.is-star { background: var(--tile-gold); color: var(--tile-ink-gold); }
/* цена: золотой текст, «/мес» и зачёркнутая базовая при скидке */
.page-home .plist .pli-p {
  flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: 3px; order: 0; margin: 0;
  font-size: var(--t-lg); font-weight: 800; letter-spacing: -.02em; line-height: 1;
  font-variant-numeric: tabular-nums; white-space: nowrap; color: var(--ink); background: none; -webkit-text-fill-color: unset;
}
.page-home .plist .pli-p-now { display: inline-flex; align-items: baseline; gap: 4px; }
.page-home .plist .pli-p b, .page-home .plist .pli-p .gs {
  display: inline-block; font-weight: 800;
  background-image: var(--grad-money); -webkit-background-clip: text; background-clip: text;
  color: transparent; -webkit-text-fill-color: transparent;
}
.page-home .plist .pli-p small { font-size: var(--t-cap); font-weight: 700; color: var(--ink-3); -webkit-text-fill-color: var(--ink-3); }
.page-home .plist .pli-p s {
  display: block; margin: 0; font-size: var(--t-sm); font-weight: 700; text-decoration: line-through;
  color: var(--ink-3); -webkit-text-fill-color: var(--ink-3); background: none;
}
.page-home .plist .pli.hit .pli-p { color: var(--ink); -webkit-text-fill-color: unset; }
.page-home .plist .pli-ch { flex: none; width: 14px; height: 14px; color: var(--ink-4); }
/* фолбэк для старой статичной разметки (.pli-n/.pli-s/.pli-p прямо в .pli) */
.page-home .plist .pli > .pli-n { flex: none; }
.page-home .plist .pli > .pli-s { flex: 1; min-width: 0; margin: 0; }
.page-home .plist .plan-note { margin-top: var(--s5); }
@media (max-width: 820px) {
  .page-home .plist .pli { grid-template-columns: none; padding: 12px var(--s3) 12px var(--s3); }
  .page-home .plist .pli-s { grid-column: auto; }
  .page-home .plist .pli-ch { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .page-home .plist .pli { transition: none; }
}


/* ===== how ===== */
/* ── how: «Как подключить» — 3 плиты в ряд + пилюли платформ ────────────────── */
.page-home .home-how { padding: 88px 0 24px; }
.page-home .home-how .home-sheet-head { margin-bottom: 28px; }
.page-home .home-how-steps {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s3);
  margin: 0; padding: 0; list-style: none; counter-reset: none;
}
.page-home .home-how-step {
  position: relative; display: flex; flex-direction: column; min-height: 0;
  padding: var(--s5); border-radius: var(--r-4);
  background: var(--surf); box-shadow: var(--sh-group);
}
.page-home .home-how-num {
  display: inline-flex; align-items: center; height: 24px; padding: 0 10px; align-self: flex-start;
  border-radius: var(--r-pill); background: var(--surf-2); box-shadow: var(--sh-edge);
  font: 800 var(--t-cap)/1 var(--f-mono); letter-spacing: .1em; font-variant-numeric: tabular-nums;
  color: var(--ink-2);
}
.page-home .home-how-step h3 {
  margin: 28px 0 0; padding: 0;
  font-size: var(--t-xl); font-weight: 800; letter-spacing: -.03em; line-height: 1.1; color: var(--ink);
}
.page-home .home-how-step p {
  margin: 6px 0 0; max-width: 30ch;
  font-size: var(--t-sm); font-weight: 600; line-height: 1.45; color: var(--ink-3);
}
.page-home .home-how-apps {
  display: flex; flex-wrap: wrap; align-items: center; gap: var(--s2);
  margin-top: var(--s5);
}
.page-home .home-how-apps-l {
  margin-right: var(--s1);
  font-size: var(--t-sm); font-weight: 700; color: var(--ink-3);
}
/* пилюля: полная запись, чтобы не зависеть от .btn/.btn-ghost из общих файлов */
.page-home .home-how-pill {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--s2);
  height: 46px; min-height: 46px; padding: 0 var(--s5); border-radius: var(--r-3);
  font-size: var(--t-md); font-weight: 800; letter-spacing: -.015em; white-space: nowrap;
  color: var(--ink); background: var(--surf-2); box-shadow: var(--sh-edge);
  text-decoration: none; transition: background .12s var(--ease);
}
.page-home .home-how-pill:hover { background: var(--surf-3); transform: none; }
.page-home .home-how-pill:active { background: var(--surf-3); transform: translateY(1px); }
/* стаггер плит внутри data-reveal */
.page-home .home-how .home-how-step,
.page-home .home-how .home-how-apps {
  opacity: 0; transform: translateY(14px);
  transition: opacity var(--dur-in) var(--ease-out), transform .7s var(--ease-out);
}
.page-home .home-how.is-in .home-how-step,
.page-home .home-how.is-in .home-how-apps { opacity: 1; transform: none; }
.page-home .home-how.is-in .home-how-step:nth-child(1) { transition-delay: .05s; }
.page-home .home-how.is-in .home-how-step:nth-child(2) { transition-delay: .13s; }
.page-home .home-how.is-in .home-how-step:nth-child(3) { transition-delay: .21s; }
.page-home .home-how.is-in .home-how-apps { transition-delay: .3s; }
@media (max-width: 820px) {
  .page-home .home-how { padding-top: 64px; }
  .page-home .home-how-steps { grid-template-columns: minmax(0, 1fr); gap: var(--s2); }
  .page-home .home-how-step { min-height: 0; padding: var(--s4) var(--s4) var(--s5); }
  .page-home .home-how-step h3 { margin-top: 18px; font-size: var(--t-lg); }
  .page-home .home-how-step p { max-width: none; }
  .page-home .home-how-apps { margin-top: var(--s4); }
  .page-home .home-how-apps-l { flex-basis: 100%; margin: 0 0 var(--s1); }
  .page-home .home-how-pill { flex: 1 1 calc(50% - var(--s2)); padding: 0 var(--s3); }
}
@media (prefers-reduced-motion: reduce) {
  .page-home .home-how .home-how-step, .page-home .home-how .home-how-apps { opacity: 1; transform: none; transition: none; }
}


/* ===== promo ===== */
/* ── promo: одна золотая плита (зерно + свип) — единственная .plate на странице ── */
.page-home .home-promo { padding: 56px 0 8px; }
.page-home .home-promo-halo { position: relative; isolation: isolate; }
.page-home .home-promo-halo::after {
  content: ''; position: absolute; left: -2%; right: -2%; top: 40%; bottom: -24px; z-index: -1;
  background: var(--halo-hot); opacity: .85; pointer-events: none;
}
/* плита записана полностью: работает и без .plate из общих файлов (у home.css .plate без фона) */
.page-home .home-promo-plate {
  position: relative; overflow: hidden; isolation: isolate;
  display: flex; align-items: center; justify-content: space-between; gap: var(--s6);
  padding: 28px 32px; border-radius: var(--r-5);
  background: var(--grad-plate); color: var(--on-plate); box-shadow: var(--sh-plate);
}
.page-home .home-promo-plate::before {
  content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background: var(--grain) 0 0 / 128px 128px; opacity: .1;
}
.page-home .home-promo-plate::after {
  content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: var(--shine); transform: translateX(-120%); will-change: transform;
  animation: sweep var(--dur-sweep) var(--ease) infinite;
}
.page-home .home-promo-plate > * { position: relative; z-index: 2; }
.page-home .home-promo-body { min-width: 0; }
.page-home .home-promo-eyebrow {
  margin: 0;
  font-size: var(--t-cap); font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
  color: var(--on-plate-2);
}
.page-home .home-promo-display {
  margin: var(--s3) 0 0;
  font-size: clamp(34px, 3.6vw, 48px); font-weight: 800; letter-spacing: -.045em; line-height: .96;
  font-variant-numeric: tabular-nums; color: var(--on-plate);
}
.page-home .home-promo-lead {
  margin: var(--s2) 0 0; max-width: 56ch;
  font-size: var(--t-md); font-weight: 600; line-height: 1.5; color: var(--on-plate-2);
}
.page-home .home-promo-btn {
  flex: none; display: inline-flex; align-items: center; justify-content: center;
  height: 44px; min-height: 44px; padding: 0 28px; border-radius: var(--r-2);
  background: var(--plate-btn); color: var(--on-light); box-shadow: var(--sh-light);
  font-size: var(--t-md); font-weight: 800; letter-spacing: -.015em; white-space: nowrap;
  text-decoration: none; text-shadow: none; animation: none;
  transition: transform .12s ease, filter .12s ease;
}
.page-home .home-promo-btn::before, .page-home .home-promo-btn::after { display: none; }
.page-home .home-promo-btn:hover { filter: brightness(.97); color: var(--on-light); }
.page-home .home-promo-btn:active { transform: translateY(1px); }
@media (max-width: 820px) {
  .page-home .home-promo { padding: 40px 0 8px; }
  .page-home .home-promo-plate { flex-direction: column; align-items: stretch; gap: var(--s5); padding: var(--s5); }
  .page-home .home-promo-display { font-size: clamp(32px, 9vw, 40px); }
  .page-home .home-promo-lead { font-size: var(--t-sm); }
  .page-home .home-promo-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .page-home .home-promo-plate::after { animation: none; opacity: 0; }
}


/* ===== faq ===== */
/* ── faq: аккордеон на details/summary в одной группе, плюс→крест поворотом 300 мс ── */
.page-home .home-faq { padding: 88px 0 72px; }
.page-home .home-faq .home-sheet-head { margin-bottom: 20px; }
.page-home .home-faq .home-sheet-head a { color: var(--ink-2); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--edge); }
.page-home .home-faq .home-sheet-head a:hover { color: var(--ink); }
/* группа записана полностью, чтобы не зависеть от .group из общих файлов */
.page-home .home-faq-group {
  border-radius: var(--r-4); background: var(--surf); box-shadow: var(--sh-group); overflow: hidden;
}
.page-home .home-faq-item { position: relative; }
.page-home .home-faq-item + .home-faq-item::before {
  content: ''; position: absolute; left: var(--s5); right: var(--s5); top: 0; height: 1px; background: var(--hair);
}
.page-home .home-faq-q {
  display: flex; align-items: center; justify-content: space-between; gap: var(--s4);
  padding: 18px var(--s5); cursor: pointer; list-style: none;
  font-size: var(--t-lg); font-weight: 700; letter-spacing: -.015em; line-height: 1.3; color: var(--ink);
  transition: background .15s var(--ease);
}
.page-home .home-faq-q::-webkit-details-marker { display: none; }
.page-home .home-faq-q::marker { content: ''; }
.page-home .home-faq-q:hover { background: var(--surf-hit); }
.page-home .home-faq-q:focus-visible { outline: 2px solid var(--focus); outline-offset: -2px; border-radius: var(--r-2); }
.page-home .home-faq-x {
  position: relative; flex: none; width: 18px; height: 18px; color: var(--ink-3);
  transition: transform .3s var(--ease), color .3s var(--ease);
}
.page-home .home-faq-x::before, .page-home .home-faq-x::after {
  content: ''; position: absolute; left: 50%; top: 50%; background: currentColor; border-radius: 2px;
}
.page-home .home-faq-x::before { width: 14px; height: 2px; transform: translate(-50%, -50%); }
.page-home .home-faq-x::after { width: 2px; height: 14px; transform: translate(-50%, -50%); }
.page-home .home-faq-item[open] .home-faq-x { transform: rotate(45deg); color: var(--ink); }
.page-home .home-faq-a { padding: 0 var(--s5) 20px; }
.page-home .home-faq-a p {
  margin: 0; max-width: 64ch;
  font-size: var(--t-md); font-weight: 600; line-height: 1.5; color: var(--ink-2);
}
/* мягкое появление ответа (только opacity/transform) — активно лишь когда faq.js подключён (.is-js) */
.page-home .home-faq.is-js .home-faq-a {
  opacity: 0; transform: translateY(-4px);
  transition: opacity .3s var(--ease), transform .3s var(--ease);
}
.page-home .home-faq.is-js .home-faq-item.is-open .home-faq-a { opacity: 1; transform: none; }
@media (max-width: 820px) {
  .page-home .home-faq { padding: 64px 0 56px; }
  .page-home .home-faq-q { padding: 16px var(--s4); font-size: var(--t-md); }
  .page-home .home-faq-item + .home-faq-item::before { left: var(--s4); right: var(--s4); }
  .page-home .home-faq-a { padding: 0 var(--s4) 18px; }
  .page-home .home-faq-a p { font-size: var(--t-sm); }
}
@media (prefers-reduced-motion: reduce) {
  .page-home .home-faq-x, .page-home .home-faq-q { transition: none; }
  .page-home .home-faq.is-js .home-faq-a { opacity: 1; transform: none; transition: none; }
}


/* ===== foot ===== */
/* ── foot: 3 колонки (Оплата / Документы / Поддержка), на мобиле одна ─────────── */
.page-home .home-foot {
  padding: 56px 0 40px;
  box-shadow: inset 0 1px 0 var(--hair);
  font-size: var(--t-sm); font-weight: 600; color: var(--ink-3);
}
.page-home .home-foot-grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s7) var(--s6);
}
.page-home .home-foot-k {
  margin: 0 0 var(--s3);
  font-size: var(--t-cap); font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-3);
}
.page-home .home-foot-pay { display: flex; flex-wrap: wrap; gap: var(--s2); color: var(--ink-2); }
.page-home .home-foot-pill { display: block; height: 28px; width: auto; flex: none; }
.page-home .home-foot-pill rect { fill: none; stroke: currentColor; stroke-width: 1.5; opacity: .55; }
.page-home .home-foot-pill text {
  fill: currentColor; font-family: var(--f); font-size: 11px; font-weight: 800; letter-spacing: .06em; text-anchor: middle;
}
.page-home .home-foot-note { margin: var(--s3) 0 0; font-size: var(--t-sm); font-weight: 600; color: var(--ink-3); }
.page-home .home-foot-links { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.page-home .home-foot-links a {
  font-size: var(--t-md); font-weight: 700; letter-spacing: -.01em; color: var(--ink-2); text-decoration: none;
  transition: color .15s var(--ease);
}
.page-home .home-foot-links a:hover { color: var(--ink); }
.page-home .home-foot-bottom {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s2) var(--s4);
  margin-top: var(--s7); padding-top: var(--s4);
  border-top: 1px solid var(--hair);
  font-size: var(--t-sm); font-weight: 600; color: var(--ink-3);
}
.page-home .home-foot-bottom a { color: var(--ink-3); text-decoration: none; }
.page-home .home-foot-bottom a:hover { color: var(--ink); }
@media (max-width: 820px) {
  .page-home .home-foot { padding: 40px 0 32px; }
  .page-home .home-foot-grid { grid-template-columns: minmax(0, 1fr); gap: var(--s6); }
  .page-home .home-foot-bottom { margin-top: var(--s6); }
}
