/* ============================================================
   Richchanger — премиальная светлая тема «White & Emerald»
   Чистый белый фон + изумрудный акцент. Бизнес-логика
   (app.js) и структура DOM сохранены без изменений.
   ============================================================ */

/* ---------- Шрифты (self-hosted) ---------- */
@font-face { font-family:'Inter'; font-style:normal; font-weight:100 900; font-display:swap;
  src:local(''), url('assets/fonts/inter-cyrillic-ext.woff2') format('woff2');
  unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F; }
@font-face { font-family:'Inter'; font-style:normal; font-weight:100 900; font-display:swap;
  src:local(''), url('assets/fonts/inter-cyrillic.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Inter'; font-style:normal; font-weight:100 900; font-display:swap;
  src:local(''), url('assets/fonts/inter-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Inter'; font-style:normal; font-weight:100 900; font-display:swap;
  src:local(''), url('assets/fonts/inter-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

@font-face { font-family:'Geist'; font-style:normal; font-weight:100 900; font-display:swap;
  src:url('assets/fonts/geist-cyrillic.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Geist'; font-style:normal; font-weight:100 900; font-display:swap;
  src:url('assets/fonts/geist-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family:'Geist'; font-style:normal; font-weight:100 900; font-display:swap;
  src:url('assets/fonts/geist-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

@font-face { font-family:'JetBrains Mono'; font-style:normal; font-weight:400 600; font-display:swap;
  src:url('assets/fonts/jetbrains-mono-cyrillic.woff2') format('woff2');
  unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'JetBrains Mono'; font-style:normal; font-weight:400 600; font-display:swap;
  src:url('assets/fonts/jetbrains-mono-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

/* ============================================================
   Дизайн-токены
   ============================================================ */
:root {
  /* Фон — чистый светлый, мягкий мятно-белый подтон */
  --bg:        #ffffff;
  --bg-2:      #f5f9f7;
  --surface:   #ffffff;
  --surface-2: #f4f7f5;
  --card:      #ffffff;
  --card-2:    #f5f8f6;
  --border:    rgba(13,27,20,0.09);
  --border-2:  rgba(13,27,20,0.16);

  /* Текст — глубокий графит с зелёным подтоном */
  --text:   #0f1c16;
  --muted:  #5a6b62;
  --faint:  #93a29a;

  /* Акцент — изумруд (доверие, рост, деньги) */
  --accent:       #0a9d5f;   /* читаемый на белом — текст, иконки, ссылки */
  --accent-soft:  #0a854f;   /* hover / тёмнее */
  --accent-bright:#0bab66;   /* насыщенный — заливки, чипы */
  --accent-deep:  #066b43;
  --accent-line:  rgba(16,185,129,0.22);
  --accent-glow:  rgba(16,185,129,0.20);
  --gold-grad:    linear-gradient(135deg,#16c98a 0%,#0aa860 55%,#0a9456 100%); /* изумрудный градиент кнопок */

  /* Рост/успех */
  --up:   #0bab66;
  --down: #e5484d;

  --usdt: #26a17b;
  --danger: #e5484d;
  --warn: #c47d1a;

  /* Геометрия — крупные скругления */
  --r-sm: 12px;
  --r-md: 18px;
  --r-lg: 24px;
  --r-xl: 32px;
  --maxw: 1180px;

  /* Мягкие тени — лёгкие, как у топовых SaaS */
  --shadow-sm: 0 1px 2px rgba(16,24,40,0.06);
  --shadow-md: 0 12px 32px -14px rgba(16,24,40,0.14);
  --shadow-lg: 0 30px 70px -26px rgba(16,24,40,0.18);
  --shadow-gold: 0 16px 38px -16px rgba(11,171,102,0.40);

  --ease: cubic-bezier(0.22, 1, 0.36, 1);
}

/* ---------- Сброс ---------- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
/* Атрибут hidden всегда побеждает display из классов (модалки, панели, тосты) */
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }

body {
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  background: var(--bg);
  color: var(--text);
  line-height: 1.6;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
  min-height: 100vh;
}

h1,h2,h3,h4 { font-family:'Geist','Inter',sans-serif; font-weight:600; line-height:1.12; letter-spacing:-0.02em; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button { font-family: inherit; cursor: pointer; }
input, select, textarea { font-family: inherit; }
.mono { font-family:'JetBrains Mono', ui-monospace, monospace; font-variant-numeric: tabular-nums; }
::selection { background: var(--accent-glow); color: #fff; }

.container { width: 100%; max-width: var(--maxw); margin: 0 auto; padding: 0 22px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0; }

/* ---------- Фоновое свечение / сетка ---------- */
.bg-glow {
  position: fixed; inset: 0; z-index: -2; pointer-events: none;
  background:
    radial-gradient(680px 460px at 78% -8%, rgba(16,185,129,0.10), transparent 60%),
    radial-gradient(720px 520px at 8% 4%, rgba(11,171,102,0.07), transparent 62%),
    radial-gradient(900px 700px at 50% 120%, rgba(24,201,138,0.05), transparent 60%);
}
.bg-grid {
  position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .5;
  background-image:
    linear-gradient(rgba(13,27,20,0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(13,27,20,0.05) 1px, transparent 1px);
  background-size: 56px 56px;
  -webkit-mask-image: radial-gradient(circle at 50% 0%, #000 0%, transparent 70%);
          mask-image: radial-gradient(circle at 50% 0%, #000 0%, transparent 70%);
}

/* ============================================================
   Кнопки
   ============================================================ */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  border: 1px solid transparent; border-radius: 999px;
  padding: 11px 22px; font-size: .94rem; font-weight: 600;
  white-space: nowrap; transition: all .25s var(--ease); position: relative;
}
.btn-primary {
  color: #ffffff;
  background: var(--gold-grad);
  box-shadow: var(--shadow-gold), inset 0 1px 0 rgba(255,255,255,.35);
}
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 28px 70px -22px rgba(11,171,102,.6), inset 0 1px 0 rgba(255,255,255,.4); }
.btn-primary:active { transform: translateY(0); }
.btn-ghost {
  color: var(--text); background: var(--card); border-color: var(--border);
  backdrop-filter: blur(8px);
}
.btn-ghost:hover { border-color: var(--border-2); background: var(--card-2); }
.btn-block { width: 100%; padding: 15px 22px; font-size: 1rem; }
.btn[disabled] { opacity: .6; cursor: not-allowed; }

/* Спиннер в кнопке */
.btn-spinner { display:none; width:18px; height:18px; border:2px solid rgba(255,255,255,.45); border-top-color:#ffffff; border-radius:50%; animation:spin .7s linear infinite; }
.btn.is-loading .btn-label { visibility: hidden; }
.btn.is-loading .btn-spinner { display: inline-block; position: absolute; }
@keyframes spin { to { transform: rotate(360deg); } }

.btn-copy {
  padding: 7px 14px; font-size: .8rem; border-radius: 9px;
  background: var(--card-2); border:1px solid var(--border); color: var(--muted);
}
.btn-copy:hover { color: var(--text); border-color: var(--border-2); }
.btn-copy.is-copied { color: var(--up); border-color: rgba(24,201,138,.4); background: rgba(24,201,138,.08); }

/* ============================================================
   Шапка
   ============================================================ */
.site-header {
  position: sticky; top: 0; z-index: 100;
  background: rgba(255,255,255,0.82);
  backdrop-filter: saturate(160%) blur(18px);
  -webkit-backdrop-filter: saturate(160%) blur(18px);
  border-bottom: 1px solid var(--border);
}
.header-inner { display: flex; align-items: center; gap: 18px; height: 70px; }
.logo { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; }
.logo-mark img { border-radius: 9px; }
.logo-text { font-family:'Geist',sans-serif; font-size: 1.18rem; letter-spacing: -0.02em; }
.verified-badge { color: var(--accent); display: inline-flex; }
.header-nav { display: flex; gap: 4px; margin-left: 14px; }
.nav-link {
  color: var(--muted); font-size: .92rem; font-weight: 500;
  padding: 8px 13px; border-radius: 9px; transition: all .2s;
}
.nav-link:hover { color: var(--text); background: var(--card); }
.header-actions { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.header-cta { padding: 10px 20px; }

.nav-toggle { display:none; flex-direction:column; gap:5px; width:42px; height:42px; align-items:center; justify-content:center; background:var(--card); border:1px solid var(--border); border-radius:11px; }
.nav-toggle span { width:18px; height:2px; background:var(--text); border-radius:2px; transition:.25s; }
.nav-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

.mobile-menu { border-bottom:1px solid var(--border); background:var(--bg-2); }
.mobile-menu-inner { display:flex; flex-direction:column; gap:4px; padding:14px 22px 20px; }
.mobile-menu-link { display:flex; align-items:center; gap:10px; padding:13px 14px; border-radius:12px; color:var(--text); font-weight:500; }
.mobile-menu-link:hover { background:var(--card); }

/* Баннер активной заявки */
.active-order-banner { background: rgba(16,185,129,.08); border-bottom: 1px solid var(--accent-line); padding: 10px 0; }
.active-order-inner { display:flex; align-items:center; gap:12px; justify-content:center; flex-wrap:wrap; font-size:.875rem; }
.active-order-link { background: var(--gold-grad); color:#ffffff; font-size:.8rem; padding:5px 14px; border-radius:8px; font-weight:600; }
.active-order-close { background:none; border:none; color:var(--muted); font-size:1.1rem; padding:2px 6px; line-height:1; }

/* ============================================================
   Hero
   ============================================================ */
.hero { padding: 72px 0 40px; position: relative; }
.hero-grid { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 56px; align-items: center; }
.hero-grid > * { min-width: 0; }
.hero-copy { min-width: 0; }

.eyebrow {
  display: inline-flex; align-items: center; gap: 9px;
  font-size: .82rem; font-weight: 600; color: var(--accent-bright);
  background: rgba(16,185,129,.07); border: 1px solid var(--accent-line);
  padding: 7px 15px; border-radius: 999px; letter-spacing: .01em;
}
.eyebrow .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 0 var(--accent-glow); animation: pulse 2.4s infinite; }
@keyframes pulse { 0%{ box-shadow:0 0 0 0 var(--accent-glow);} 70%{ box-shadow:0 0 0 10px transparent;} 100%{ box-shadow:0 0 0 0 transparent;} }

.hero-title { font-size: clamp(2rem, 4.6vw, 3.5rem); margin: 22px 0 18px; letter-spacing: -0.035em; overflow-wrap: anywhere; }
.grad { background: var(--gold-grad); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero-sub { color: var(--muted); font-size: 1.08rem; max-width: 520px; }

.hero-stats { list-style: none; display: flex; gap: 32px; margin: 32px 0 24px; flex-wrap: wrap; }
.hero-stats li { display: flex; flex-direction: column; }
.hero-stats strong { font-family:'Geist',sans-serif; font-size: 1.6rem; font-weight: 600; }
.hero-stats span { color: var(--faint); font-size: .82rem; }

.hero-trust { display: flex; align-items: center; gap: 14px; color: var(--muted); font-size: .85rem; flex-wrap: wrap; }
.hero-trust-badge { display: inline-flex; align-items: center; gap: 7px; color: var(--accent); font-weight: 600; }
.hero-trust-sep { width: 1px; height: 14px; background: var(--border-2); }

/* ============================================================
   Калькулятор
   ============================================================ */
.calc-card {
  position: relative;
  background: var(--surface);
  border: 1px solid var(--border-2);
  border-radius: var(--r-xl);
  padding: 26px 24px 24px;
  box-shadow: var(--shadow-lg);
  backdrop-filter: blur(6px);
}
.calc-card::before {
  content:""; position:absolute; inset:0; border-radius:inherit; padding:1px;
  background: linear-gradient(160deg, rgba(16,185,129,.45), rgba(16,185,129,0) 38%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude; pointer-events:none;
}
.badge-247 {
  position:absolute; top:-12px; right: 22px;
  display:inline-flex; align-items:center; gap:6px;
  font-size:.72rem; font-weight:600; color:var(--accent-bright);
  background:#ecfdf5; border:1px solid var(--accent-line); padding:5px 12px; border-radius:999px;
}
.badge-247-dot { width:6px; height:6px; border-radius:50%; background:var(--up); box-shadow:0 0 8px var(--up); }
.calc-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:18px; flex-wrap:wrap; }
.calc-title { font-size:1.18rem; }
.rate-pill {
  display:inline-flex; align-items:center; gap:7px;
  font-size:.8rem; color:var(--muted); font-family:'JetBrains Mono',monospace;
  background:var(--card); border:1px solid var(--border); padding:6px 12px; border-radius:999px;
}
.rate-dot { width:6px; height:6px; border-radius:50%; background:var(--up); box-shadow:0 0 8px var(--up); }
.rate-pill.is-stale .rate-dot { background:var(--warn); box-shadow:0 0 8px var(--warn); }
.rate-pill.is-loading { opacity:.7; }
.rate-refresh-cd { color:var(--faint); }

/* Поля ввода */
.field { display:block; margin-bottom:14px; }
.field-label { display:flex; align-items:center; flex-wrap:wrap; gap:4px 8px; font-size:.82rem; color:var(--muted); margin-bottom:8px; font-weight:500; }
.net-badge { font-size:.68rem; color:var(--accent-bright); background:rgba(16,185,129,.08); border:1px solid var(--accent-line); padding:2px 8px; border-radius:6px; }
.req { margin-left:auto; font-size:.7rem; color:var(--faint); text-transform:uppercase; letter-spacing:.05em; }
.field-row {
  display:flex; align-items:center; gap:10px;
  background:var(--surface); border:1px solid var(--border);
  border-radius:var(--r-md); padding:4px 6px 4px 16px; transition:border-color .2s, box-shadow .2s;
}
.field-row:focus-within { border-color: var(--accent-soft); box-shadow: 0 0 0 4px var(--accent-glow); }
.field-row input {
  flex:1; min-width:0; background:transparent; border:none; outline:none;
  color:var(--text); font-size:1.22rem; font-family:'JetBrains Mono',monospace; padding:12px 0; font-weight:500;
}
.field-row input::placeholder { color:var(--faint); }
.field-row input[readonly] { color:var(--text); }
.field.has-error .field-row { border-color: var(--danger); }
.field-error { display:block; color:var(--danger); font-size:.78rem; margin-top:6px; min-height:1px; }

.token { display:inline-flex; align-items:center; gap:7px; font-weight:600; font-size:.9rem; padding:9px 14px; border-radius:12px; background:var(--card-2); border:1px solid var(--border); }
.token-usdt { color:var(--text); }
.token-coin-img { border-radius:50%; }

/* Свап-разделитель */
.swap-divider { display:flex; justify-content:center; margin:-6px 0; position:relative; z-index:2; }
.swap-ico {
  width:40px; height:40px; border-radius:13px; display:grid; place-items:center;
  background:var(--surface-2); border:1px solid var(--border-2); color:var(--accent);
  transition:transform .4s var(--ease), border-color .2s;
}
.swap-ico:hover { border-color:var(--accent-soft); transform:rotate(180deg); }
.swap-ico.is-reversed { transform:rotate(180deg); }

/* Кастомный дропдаун выбора монеты */
.ci-wrap { position:relative; }
.ci-btn {
  display:inline-flex; align-items:center; gap:8px; padding:9px 12px; border-radius:12px;
  background:var(--card-2); border:1px solid var(--border); color:var(--text); font-weight:600;
  transition:border-color .2s;
}
.ci-btn:hover { border-color:var(--border-2); }
.ci-img { border-radius:50%; }
.ci-code { font-size:.92rem; }
.ci-chg { font-size:.72rem; font-family:'JetBrains Mono',monospace; }
.ci-chg.is-up, .ci-itm-chg.is-up { color:var(--up); }
.ci-chg.is-dn, .ci-itm-chg.is-dn { color:var(--down); }
.ci-caret { color:var(--muted); transition:transform .2s; }
.ci-btn[aria-expanded="true"] .ci-caret { transform:rotate(180deg); }

.ci-panel {
  position:absolute; top:calc(100% + 8px); right:0; width:330px; max-height:340px; overflow-y:auto;
  background:var(--surface); border:1px solid var(--border-2); border-radius:var(--r-md);
  box-shadow:var(--shadow-lg); padding:6px; z-index:50;
}
.ci-list { display:flex; flex-direction:column; gap:2px; }
.ci-itm {
  display:flex; align-items:center; gap:11px; padding:9px 10px; border-radius:11px;
  background:transparent; border:none; color:var(--text); text-align:left; width:100%; transition:background .15s;
}
.ci-itm:hover { background:var(--card-2); }
.ci-itm[aria-selected="true"] { background:rgba(16,185,129,.08); }
.ci-itm-img { border-radius:50%; }
.ci-itm-info { display:flex; flex-direction:column; min-width:0; }
.ci-itm-code { font-weight:600; font-size:.9rem; display:flex; align-items:center; gap:6px; }
.ci-itm-net { font-size:.66rem; color:var(--faint); background:var(--card-2); padding:1px 6px; border-radius:5px; }
.ci-itm-name { font-size:.76rem; color:var(--muted); }
.ci-itm-right { margin-left:auto; display:flex; align-items:center; gap:8px; }
.ci-itm-chg { font-size:.74rem; font-family:'JetBrains Mono',monospace; }
.ci-spark { width:72px; height:28px; }
.ci-spark-ph { width:72px; height:28px; display:inline-block; }
.ci-overlay { position:fixed; inset:0; background:rgba(0,0,0,.6); z-index:40; }

.min-hint { font-size:.82rem; color:var(--muted); margin:6px 0 14px; }
.min-hint b { color:var(--text); }
.speed-hint { display:flex; align-items:center; justify-content:center; gap:7px; color:var(--muted); font-size:.82rem; margin-top:13px; }
.speed-hint svg { color:var(--accent); }
.speed-hint b { color:var(--text); }
.form-note { text-align:center; font-size:.85rem; margin-top:10px; min-height:1px; }
.form-note.is-error { color:var(--danger); }
.form-note.is-ok { color:var(--up); }

/* Скелетон загрузки курсов */
.calc-card.rates-loading .field-row input { color:transparent; }
.is-recalc { animation: recalcFlash .5s var(--ease); }
@keyframes recalcFlash { 0%{ color:var(--accent-bright);} 100%{ color:var(--text);} }

/* ============================================================
   Лента последних обменов
   ============================================================ */
.live-feed { overflow:hidden; border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:13px 0; -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); }
.live-feed-track { display:inline-flex; gap:38px; white-space:nowrap; animation:marquee 48s linear infinite; }
@keyframes marquee { from{ transform:translateX(0);} to{ transform:translateX(-50%);} }
.live-feed-item { display:inline-flex; align-items:center; gap:9px; color:var(--muted); font-size:.84rem; }
.live-feed-item b { color:var(--text); }
.live-feed-icon { width:22px; height:22px; border-radius:50%; display:grid; place-items:center; font-size:.72rem; font-weight:700; color:#0a0a0a; }
.live-feed-time { color:var(--faint); }

/* ============================================================
   Полоса резервов
   ============================================================ */
.reserves-bar-wrap { padding: 22px 0; }
.reserves-bar {
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  background: linear-gradient(120deg, rgba(16,185,129,.07), rgba(255,255,255,.02));
  border:1px solid var(--accent-line); border-radius:var(--r-lg); padding:16px 24px; transition:border-color .2s;
}
.reserves-bar:hover { border-color:var(--accent-soft); }
.reserves-bar-main { display:inline-flex; align-items:center; gap:11px; }
.reserves-bar-dot { width:9px; height:9px; border-radius:50%; background:var(--up); box-shadow:0 0 10px var(--up); }
.reserves-bar-label { color:var(--muted); font-size:.92rem; }
.reserves-bar-num { font-family:'Geist',sans-serif; font-size:1.4rem; font-weight:600; color:var(--accent-bright); }
.reserves-bar-meta { display:inline-flex; align-items:center; gap:16px; font-size:.82rem; color:var(--faint); }
.reserves-bar-link { color:var(--accent); font-weight:600; }

/* ============================================================
   Полоса доверия
   ============================================================ */
.trust-strip { padding: 6px 0 12px; }
.trust-strip-inner { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.trust-item { display:flex; align-items:center; gap:10px; color:var(--muted); font-size:.86rem; padding:14px 16px; background:var(--card); border:1px solid var(--border); border-radius:var(--r-md); }
.trust-item svg { color:var(--accent); flex-shrink:0; }
.trust-item-link:hover { border-color:var(--border-2); color:var(--text); }

/* ============================================================
   Секции
   ============================================================ */
.section { padding: 72px 0; }
.section-head { text-align:center; max-width:640px; margin:0 auto 48px; }
.section-kicker { display:inline-block; font-size:.78rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--accent); margin-bottom:14px; }
.section-title { font-size: clamp(1.7rem, 3.2vw, 2.5rem); margin-bottom:12px; }
.section-lead { color:var(--muted); font-size:1.04rem; }
.section-lead b, .reserves-total-num { color:var(--accent-bright); }

/* Шаги «как это работает» */
.steps { display:flex; align-items:stretch; gap:14px; }
.step-card { flex:1; background:var(--card); border:1px solid var(--border); border-radius:var(--r-lg); padding:28px 24px; position:relative; transition:transform .3s var(--ease), border-color .3s; }
.step-card:hover { transform:translateY(-4px); border-color:var(--border-2); }
.step-num { position:absolute; top:18px; right:22px; font-family:'Geist',sans-serif; font-size:2.2rem; font-weight:700; color:rgba(11,171,102,.13); }
.step-ico { width:54px; height:54px; border-radius:16px; display:grid; place-items:center; color:var(--accent); background:rgba(16,185,129,.08); border:1px solid var(--accent-line); margin-bottom:18px; }
.step-card h3 { font-size:1.18rem; margin-bottom:8px; }
.step-card p { color:var(--muted); font-size:.92rem; }
.step-meta { display:inline-flex; align-items:center; gap:7px; margin-top:16px; font-size:.78rem; color:var(--accent-bright); background:rgba(16,185,129,.06); padding:5px 11px; border-radius:8px; }
.step-connector { display:flex; align-items:center; width:48px; flex-shrink:0; }
.step-connector svg { width:48px; height:48px; }

/* Bento «почему мы» */
.bento { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.trust-card { background:var(--card); border:1px solid var(--border); border-radius:var(--r-lg); padding:28px 26px; transition:transform .3s var(--ease), border-color .3s; }
.trust-card:hover { transform:translateY(-4px); border-color:var(--border-2); }
.trust-card.span-2 { grid-column:span 2; }
.trust-ico { width:56px; height:56px; border-radius:16px; display:grid; place-items:center; color:var(--accent); background:rgba(16,185,129,.08); border:1px solid var(--accent-line); margin-bottom:18px; }
.trust-card h3 { font-size:1.22rem; margin-bottom:8px; }
.trust-card p { color:var(--muted); font-size:.94rem; }

/* Резервы */
.reserves-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(220px,1fr)); gap:14px; }
.reserve-card { background:var(--card); border:1px solid var(--border); border-radius:var(--r-md); padding:18px; transition:border-color .25s, transform .25s; }
.reserve-card:hover { border-color:var(--border-2); transform:translateY(-2px); }
.reserve-card-top { display:flex; align-items:center; gap:11px; margin-bottom:14px; }
.reserve-ico { border-radius:50%; }
.reserve-names { display:flex; flex-direction:column; }
.reserve-code { font-weight:700; font-size:.95rem; }
.reserve-name { font-size:.76rem; color:var(--muted); }
.reserve-amount { font-size:1.16rem; font-weight:600; }
.reserve-unit { font-size:.78rem; color:var(--muted); font-weight:500; }
.reserve-usd { font-size:.84rem; color:var(--accent-bright); margin:4px 0 12px; }
.reserve-bar { height:5px; border-radius:99px; background:rgba(13,27,20,.07); overflow:hidden; }
.reserve-bar span { display:block; height:100%; border-radius:99px; background:var(--gold-grad); }
.reserves-note { text-align:center; color:var(--faint); font-size:.84rem; margin-top:24px; display:flex; align-items:center; justify-content:center; gap:8px; }
.reserves-live-dot { width:7px; height:7px; border-radius:50%; background:var(--up); box-shadow:0 0 8px var(--up); animation:pulse 2.4s infinite; }

/* Гарантии */
.section-guarantee { padding-top:24px; }
.guarantee-hero { text-align:center; max-width:840px; margin:0 auto; background:linear-gradient(180deg, rgba(16,185,129,.06), rgba(255,255,255,.015)); border:1px solid var(--accent-line); border-radius:var(--r-xl); padding:54px 36px; box-shadow:var(--shadow-md); }
.guarantee-badge { width:78px; height:78px; border-radius:22px; display:grid; place-items:center; color:var(--accent); background:rgba(16,185,129,.1); border:1px solid var(--accent-line); margin:0 auto 22px; }
.guarantee-title { font-size:clamp(1.7rem,3.4vw,2.6rem); margin-bottom:14px; }
.guarantee-sub { color:var(--muted); font-size:1.04rem; max-width:560px; margin:0 auto 34px; }
.guarantee-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; text-align:left; }
.guarantee-card { background:var(--surface); border:1px solid var(--border); border-radius:var(--r-md); padding:22px; }
.guarantee-card-ico { width:46px; height:46px; border-radius:13px; display:grid; place-items:center; color:var(--accent); background:rgba(16,185,129,.08); margin-bottom:14px; }
.guarantee-card h3 { font-size:1.04rem; margin-bottom:6px; }
.guarantee-card p { color:var(--muted); font-size:.88rem; }

/* Отзывы */
.reviews-rating { color:var(--accent); font-weight:600; }
.reviews-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.review-card { background:var(--card); border:1px solid var(--border); border-radius:var(--r-lg); padding:24px; transition:border-color .25s, transform .25s; }
.review-card:hover { border-color:var(--border-2); transform:translateY(-3px); }
.review-head { display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.review-avatar { width:42px; height:42px; border-radius:50%; display:grid; place-items:center; font-weight:700; color:#ffffff; background:var(--gold-grad); }
.review-meta { display:flex; flex-direction:column; }
.review-name { font-weight:600; font-size:.94rem; }
.review-stars { color:var(--accent); font-size:.8rem; letter-spacing:1px; }
.review-text { color:var(--text); font-size:.92rem; opacity:.9; }
.review-date { display:block; margin-top:14px; color:var(--faint); font-size:.78rem; }

/* FAQ */
.faq-wrap { max-width:780px; }
.faq-list { display:flex; flex-direction:column; gap:10px; }
.faq-item { background:var(--card); border:1px solid var(--border); border-radius:var(--r-md); overflow:hidden; transition:border-color .2s; }
.faq-item[open] { border-color:var(--border-2); }
.faq-item summary { list-style:none; cursor:pointer; padding:18px 22px; font-weight:600; font-size:.98rem; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:""; width:10px; height:10px; border-right:2px solid var(--muted); border-bottom:2px solid var(--muted); transform:rotate(45deg); transition:transform .25s; flex-shrink:0; }
.faq-item[open] summary::after { transform:rotate(-135deg); color:var(--accent); }
.faq-body { padding:0 22px 20px; color:var(--muted); font-size:.92rem; }
.faq-body b { color:var(--text); }

/* ============================================================
   Подвал
   ============================================================ */
.site-footer { border-top:1px solid var(--border); padding:54px 0 28px; margin-top:40px; background:var(--bg-2); }
.footer-inner { display:flex; justify-content:space-between; gap:40px; flex-wrap:wrap; }
.footer-logo { display:flex; align-items:center; gap:10px; font-weight:700; }
.footer-logo .logo-text { font-family:'Geist',sans-serif; font-size:1.15rem; }
.footer-badges { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0; }
.footer-badge { font-size:.74rem; color:var(--muted); background:var(--card); border:1px solid var(--border); padding:5px 11px; border-radius:8px; }
.footer-partners-title { font-size:.74rem; color:var(--faint); text-transform:uppercase; letter-spacing:.08em; }
.partner-logos { display:flex; flex-wrap:wrap; align-items:center; gap:18px; margin-top:12px; max-width:420px; }
.partner-logo img { height:26px; width:auto; opacity:.7; filter:grayscale(1); transition:opacity .2s, filter .2s; }
.partner-logo:hover img { opacity:1; filter:grayscale(0); }
.partner-logo-text { color:var(--muted); font-weight:600; font-size:.9rem; }
.partner-links { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:16px; max-width:440px; }
.partner-links a { position:relative; color:var(--muted); font-size:.86rem; font-weight:500; transition:color .2s; }
.partner-links a::after { content:""; position:absolute; left:0; right:0; bottom:-2px; height:1px; background:var(--accent); transform:scaleX(0); transform-origin:left; transition:transform .25s var(--ease); }
.partner-links a:hover { color:var(--accent); }
.partner-links a:hover::after { transform:scaleX(1); }
.footer-links { display:flex; flex-direction:column; gap:10px; }
.footer-link { color:var(--muted); font-size:.9rem; }
.footer-link:hover { color:var(--accent); }
.footer-bottom { margin-top:38px; padding-top:22px; border-top:1px solid var(--border); color:var(--faint); font-size:.82rem; }

/* ============================================================
   Модалка
   ============================================================ */
.modal-overlay { position:fixed; inset:0; z-index:200; background:rgba(4,4,6,.78); backdrop-filter:blur(6px); display:grid; place-items:center; padding:20px; overflow-y:auto; animation:fadeIn .2s; }
@keyframes fadeIn { from{ opacity:0;} to{ opacity:1;} }
.modal-card { position:relative; width:100%; max-width:460px; background:var(--surface); border:1px solid var(--border-2); border-radius:var(--r-xl); padding:34px 28px 28px; box-shadow:var(--shadow-lg); animation:modalUp .35s var(--ease); }
@keyframes modalUp { from{ opacity:0; transform:translateY(24px) scale(.97);} to{ opacity:1; transform:none;} }
.modal-close { position:absolute; top:16px; right:16px; width:36px; height:36px; border-radius:11px; display:grid; place-items:center; background:var(--card-2); border:1px solid var(--border); color:var(--muted); }
.modal-close:hover { color:var(--text); border-color:var(--border-2); }
.modal-badge { width:60px; height:60px; border-radius:18px; display:grid; place-items:center; color:var(--accent); background:rgba(16,185,129,.1); border:1px solid var(--accent-line); margin-bottom:16px; }
.modal-title { font-size:1.4rem; margin-bottom:8px; }
.modal-sub { color:var(--muted); font-size:.9rem; margin-bottom:20px; }
.modal-sub b { color:var(--text); }

.pay-block { margin-bottom:12px; }
.pay-label { display:block; font-size:.76rem; color:var(--muted); margin-bottom:7px; }
.copy-row { display:flex; align-items:center; gap:10px; background:var(--surface-2); border:1px solid var(--border); border-radius:var(--r-sm); padding:11px 14px; }
.copy-value { flex:1; min-width:0; font-size:.92rem; word-break:break-all; }

.timer-block { display:flex; align-items:center; justify-content:space-between; background:rgba(16,185,129,.06); border:1px solid var(--accent-line); border-radius:var(--r-sm); padding:13px 16px; margin:14px 0; }
.timer-label { font-size:.82rem; color:var(--muted); }
.timer { font-family:'JetBrains Mono',monospace; font-size:1.3rem; font-weight:600; color:var(--accent-bright); }
.timer.is-expired { color:var(--danger); }

.modal-summary { margin:16px 0; display:flex; flex-direction:column; gap:1px; border:1px solid var(--border); border-radius:var(--r-sm); overflow:hidden; }
.modal-summary .row, .order-summary .row { display:flex; justify-content:space-between; gap:14px; padding:11px 14px; background:var(--surface-2); font-size:.86rem; }
.modal-summary .row span:first-child, .order-summary .row span:first-child { color:var(--muted); }
.modal-summary .row span:last-child, .order-summary .row span:last-child { text-align:right; word-break:break-all; max-width:60%; }

/* Прогресс-трекер */
.progress-track { display:flex; align-items:flex-start; margin:20px 0; }
.p-step { display:flex; flex-direction:column; align-items:center; gap:8px; flex-shrink:0; width:60px; }
.p-icon { width:38px; height:38px; border-radius:50%; display:grid; place-items:center; background:var(--surface-2); border:1px solid var(--border); color:var(--muted); transition:.25s var(--ease); }
.p-label { font-size:.66rem; color:var(--faint); text-align:center; }
.p-step.is-active .p-icon { color:var(--accent); border-color:var(--accent-soft); background:rgba(16,185,129,.1); box-shadow:0 0 0 4px var(--accent-glow); }
.p-step.is-active .p-label { color:var(--text); }
.p-step.is-done .p-icon { color:var(--up); border-color:rgba(24,201,138,.45); background:rgba(24,201,138,.1); }
.p-step.is-done .p-label { color:var(--muted); }
.p-line { flex:1; height:2px; background:var(--border); margin-top:18px; border-radius:2px; position:relative; overflow:hidden; }
.p-line.is-done { background:rgba(24,201,138,.5); }
.p-line.is-active::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent,var(--accent),transparent); animation:flowLine 1.4s linear infinite; }
@keyframes flowLine { from{ transform:translateX(-100%);} to{ transform:translateX(100%);} }

.status-block { display:flex; gap:10px; padding:13px 15px; border-radius:var(--r-sm); font-size:.84rem; margin:14px 0; }
.status-block.is-warn { background:rgba(240,169,62,.08); border:1px solid rgba(240,169,62,.25); color:var(--warn); }
.status-icon-warn { flex-shrink:0; }
.status-text { color:var(--muted); }

/* ============================================================
   Sticky CTA / Toast / TG widget / Social proof
   ============================================================ */
.sticky-cta { position:fixed; bottom:0; left:0; right:0; z-index:90; padding:12px 16px calc(12px + env(safe-area-inset-bottom)); background:linear-gradient(180deg,transparent,var(--bg) 40%); transform:translateY(120%); transition:transform .3s var(--ease); pointer-events:none; }
.sticky-cta.is-visible { transform:none; pointer-events:auto; }
.sticky-cta-btn { width:100%; }

.toast { position:fixed; bottom:26px; left:50%; transform:translateX(-50%) translateY(20px); z-index:300; background:var(--surface-2); border:1px solid var(--border-2); color:var(--text); padding:12px 22px; border-radius:999px; font-size:.88rem; box-shadow:var(--shadow-lg); opacity:0; transition:opacity .3s, transform .3s; }
.toast.show { opacity:1; transform:translateX(-50%) translateY(0); }

.tg-widget { position:fixed; bottom:24px; right:24px; z-index:95; }
.tg-fab { position:relative; width:60px; height:60px; border-radius:50%; display:grid; place-items:center; color:#ffffff; background:var(--gold-grad); border:none; box-shadow:var(--shadow-gold); transition:transform .25s; }
.tg-fab:hover { transform:scale(1.06); }
.tg-fab-ring { position:absolute; inset:0; border-radius:50%; border:2px solid var(--accent); animation:fabRing 2.4s ease-out infinite; }
@keyframes fabRing { 0%{ transform:scale(1); opacity:.6;} 100%{ transform:scale(1.5); opacity:0;} }
.tg-fab-ico-close { display:none; }
.tg-fab.is-open .tg-fab-ico-open { display:none; }
.tg-fab.is-open .tg-fab-ico-close { display:block; }
.tg-fab-badge { position:absolute; top:-2px; right:-2px; width:20px; height:20px; border-radius:50%; background:var(--danger); color:#fff; font-size:.7rem; font-weight:700; display:grid; place-items:center; }
.tg-fab-badge.is-hidden { display:none; }
.tg-card { position:absolute; bottom:74px; right:0; width:300px; background:var(--surface); border:1px solid var(--border-2); border-radius:var(--r-lg); box-shadow:var(--shadow-lg); overflow:hidden; animation:modalUp .3s var(--ease); }
.tg-card-close { position:absolute; top:10px; right:10px; width:28px; height:28px; border-radius:8px; background:rgba(13,27,20,.05); border:none; color:var(--muted); display:grid; place-items:center; }
.tg-card-head { display:flex; align-items:center; gap:11px; padding:18px 18px 14px; background:linear-gradient(120deg, rgba(16,185,129,.1), transparent); }
.tg-card-avatar img { border-radius:50%; }
.tg-card-name { font-weight:600; display:block; }
.tg-card-status { font-size:.76rem; color:var(--up); display:flex; align-items:center; gap:6px; }
.tg-online-dot { width:7px; height:7px; border-radius:50%; background:var(--up); box-shadow:0 0 7px var(--up); }
.tg-card-body { padding:14px 18px; }
.tg-message p { font-size:.86rem; color:var(--muted); margin-bottom:6px; }
.tg-card-btn { display:flex; align-items:center; justify-content:center; gap:8px; margin:0 16px 16px; padding:12px; border-radius:12px; background:var(--gold-grad); color:#ffffff; font-weight:600; font-size:.9rem; }

.sp-popup { position:fixed; bottom:24px; left:24px; z-index:94; display:flex; align-items:center; gap:12px; max-width:320px; background:var(--surface); border:1px solid var(--border-2); border-radius:var(--r-md); padding:13px 15px; box-shadow:var(--shadow-lg); animation:spIn .35s var(--ease); }
.sp-popup.is-hiding { animation:spOut .26s var(--ease) forwards; }
@keyframes spIn { from{ opacity:0; transform:translateX(-20px);} to{ opacity:1; transform:none;} }
@keyframes spOut { to{ opacity:0; transform:translateX(-20px);} }
.sp-ico { width:38px; height:38px; border-radius:50%; display:grid; place-items:center; font-weight:700; flex-shrink:0; }
.sp-text { font-size:.84rem; }
.sp-meta { font-size:.74rem; color:var(--faint); margin-top:2px; }
.sp-close { margin-left:auto; width:24px; height:24px; border-radius:7px; background:transparent; border:none; color:var(--faint); display:grid; place-items:center; align-self:flex-start; }
.sp-close:hover { color:var(--text); }

/* ============================================================
   Reveal-анимации
   ============================================================ */
.reveal { opacity:0; transform:translateY(22px); transition:opacity .7s var(--ease), transform .7s var(--ease); transition-delay:var(--reveal-delay,0ms); }
.reveal.in { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){ .reveal { opacity:1; transform:none; transition:none; } .live-feed-track { animation:none; } }

/* ============================================================
   Страницы заявки / успеха (order.html, success.html)
   ============================================================ */
.page-narrow { padding: 56px 0 80px; min-height: 70vh; }
.page-narrow .container { max-width: 520px; }
.order-card { background:var(--surface); border:1px solid var(--border-2); border-radius:var(--r-xl); padding:32px 28px 28px; box-shadow:var(--shadow-lg); }
.order-head { text-align:center; margin-bottom:22px; }
.order-head .modal-badge { margin:0 auto 16px; }
.order-title { font-size:1.5rem; margin-bottom:8px; }
.order-sub { color:var(--muted); font-size:.92rem; }
.order-sub b { color:var(--text); }
.qr-block { margin:16px 0; text-align:center; }
.qr-box { width:160px; height:160px; margin:10px auto 0; padding:12px; background:#fff; border-radius:var(--r-md); }
.qr-box svg { width:100%; height:100%; }

.success-card { text-align:center; }
.success-burst { width:78px; height:78px; border-radius:50%; display:grid; place-items:center; color:var(--up); background:rgba(24,201,138,.12); border:1px solid rgba(24,201,138,.35); margin:0 auto 20px; animation:burst .5s var(--ease); box-shadow:0 0 0 8px rgba(24,201,138,.06); }
@keyframes burst { from{ transform:scale(.6); opacity:0;} to{ transform:scale(1); opacity:1;} }
.success-card .order-summary { text-align:left; }
.tx-block { margin:18px 0 6px; }
.register-prompt { margin-top:18px; padding:16px; border:1px dashed var(--border-2); border-radius:var(--r-md); color:var(--muted); font-size:.88rem; }

/* ============================================================
   Статичные контентные страницы (правила, блог)
   ============================================================ */
.doc-wrap { max-width:780px; margin:0 auto; }
.doc-wrap h1 { font-size:clamp(1.8rem,3.4vw,2.6rem); margin-bottom:10px; }
.doc-lead { color:var(--muted); margin-bottom:34px; }
.doc-section { background:var(--card); border:1px solid var(--border); border-radius:var(--r-lg); padding:26px 28px; margin-bottom:16px; }
.doc-section h2 { font-size:1.2rem; margin-bottom:12px; color:var(--accent-bright); }
.doc-section p, .doc-section li { color:var(--muted); font-size:.95rem; margin-bottom:8px; }
.doc-section ul { padding-left:20px; }

/* ============================================================
   Адаптив
   ============================================================ */
@media (max-width: 980px) {
  .hero-grid { grid-template-columns:1fr; gap:32px; }
  .hero { padding:48px 0 28px; }
  .bento, .guarantee-cards, .reviews-grid { grid-template-columns:1fr 1fr; }
  .trust-card.span-2 { grid-column:span 2; }
  .trust-strip-inner { grid-template-columns:1fr 1fr; }
  .calc-card { max-width:520px; margin:0 auto; width:100%; }
}
@media (max-width: 860px) {
  .header-nav, .header-support { display:none; }
  .nav-toggle { display:flex; }
  .header-cta { display:none; }
  .steps { flex-direction:column; }
  .step-connector { width:100%; height:34px; justify-content:center; transform:rotate(90deg); }
}

/* ---------- Премиальный мобильный (≤640px) ---------- */
@media (max-width: 640px) {
  .container { padding:0 16px; }
  .section { padding:48px 0; }
  .section-head { margin-bottom:30px; }

  /* Шапка компактнее */
  .header-inner { height:60px; gap:12px; }
  .logo-text { font-size:1.08rem; }

  /* Hero */
  .hero { padding:30px 0 22px; }
  .hero-title { font-size:clamp(1.85rem, 8.5vw, 2.4rem); margin:16px 0 14px; }
  .hero-sub { font-size:1rem; }

  /* Статистика — аккуратная карточка с разделителями */
  .hero-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin:26px 0 22px;
    background:var(--card); border:1px solid var(--border); border-radius:var(--r-md); padding:16px 6px; box-shadow:var(--shadow-sm); }
  .hero-stats li { align-items:center; text-align:center; position:relative; padding:0 4px; }
  .hero-stats li + li::before { content:""; position:absolute; left:0; top:50%; transform:translateY(-50%); width:1px; height:62%; background:var(--border); }
  .hero-stats strong { font-size:1.32rem; }
  .hero-stats span { font-size:.72rem; }
  .hero-trust { justify-content:center; }

  /* Калькулятор */
  .calc-card { padding:22px 16px 18px; border-radius:var(--r-lg); }
  .field-row { padding:4px 5px 4px 14px; }
  .field-row input { font-size:1.12rem; padding:13px 0; }
  .badge-247 { right:16px; }

  /* Сетки в одну колонку */
  .bento, .guarantee-cards, .reviews-grid, .trust-strip-inner { grid-template-columns:1fr; }
  .trust-card.span-2 { grid-column:auto; }
  .guarantee-hero { padding:36px 20px; }
  .step-card, .trust-card, .review-card { padding:24px 20px; }

  /* Выбор монеты — нижний лист */
  .ci-panel { position:fixed; left:0; right:0; bottom:0; top:auto; width:100%; max-height:74vh; border-radius:var(--r-lg) var(--r-lg) 0 0; padding:10px 10px calc(10px + env(safe-area-inset-bottom)); }

  /* Резервы / FAQ */
  .reserves-bar { flex-direction:column; align-items:flex-start; gap:10px; padding:16px 18px; }
  .reserves-grid { grid-template-columns:1fr 1fr; }
  .faq-item summary { padding:16px 18px; font-size:.94rem; }
  .faq-body { padding:0 18px 18px; }

  /* Модалка — как нативный лист, на всю ширину */
  .modal-overlay { padding:0; align-items:flex-end; }
  .modal-card { max-width:none; border-radius:var(--r-xl) var(--r-xl) 0 0; padding:28px 18px calc(20px + env(safe-area-inset-bottom)); max-height:94vh; overflow-y:auto; animation:sheetUp .35s var(--ease); }
  @keyframes sheetUp { from{ transform:translateY(100%);} to{ transform:none;} }

  /* Прогресс-трекер заявки */
  .p-step { width:auto; flex:1; }
  .p-label { font-size:.6rem; }
  .p-icon { width:34px; height:34px; }

  /* Футер */
  .footer-inner { gap:30px; }
  .footer-links { flex-direction:row; flex-wrap:wrap; gap:10px 18px; }
  .partner-logos { gap:14px; }

  /* Плавающие элементы */
  .tg-fab { width:54px; height:54px; }
  .tg-card { width:min(300px, calc(100vw - 32px)); }
  .sp-popup { left:12px; right:12px; max-width:none; bottom:18px; }
  .toast { left:16px; right:16px; transform:translateY(20px); width:auto; text-align:center; }
  .toast.show { transform:translateY(0); }
}

/* Чтобы плавающая кнопка Telegram не перекрывала нижний CTA */
body:has(.sticky-cta.is-visible) .tg-widget { bottom:86px; transition:bottom .3s var(--ease); }

/* Очень маленькие экраны */
@media (max-width: 380px) {
  .hero-stats strong { font-size:1.18rem; }
  .reserves-grid { grid-template-columns:1fr; }
  .ci-code { font-size:.86rem; }
}
