/* ══ AstroSymbols: встроенное подмножество DejaVu Sans (свободная лицензия) ══
   Глифы: знаки зодиака, планеты, узлы, аспекты, ✦ и символы раскладов.
   Сгенерировано: tools/build-symbols-font.py — не редактируйте вручную. */
@font-face {
  font-family: 'AstroSymbols';
  src: url(data:font/woff2;base64,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) format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+211E, U+2217, U+221E, U+25A1, U+25B3, U+25EF, U+2600, U+2605,
    U+2609-U+260D, U+2620, U+2638, U+263D-U+263F, U+2640, U+2642-U+265C,
    U+2693, U+2696-U+2697, U+26A1, U+26B1, U+26B7-U+26B8, U+2720, U+2726-U+2727,
    U+2736, U+274B, U+2764, U+27A4;
}

/* ══════════════════════════════════════════════════════════════
   АСТРО КОД · дизайн-система v3 — «ночное небо в янтаре»
   Тёплая тёмная тема: эспрессо-фон, бронзово-янтарный акцент,
   антиква в заголовках, звёздная пыль, зодиакальные мотивы.
   Минимум визуального шума: один акцент, спокойная иерархия.
   ══════════════════════════════════════════════════════════════ */

:root {
  /* палитра: тёплая ночь + янтарь */
  --bg:        #120D09;
  --bg-2:      #16100B;
  --surface:   #1B1410;
  --surface-2: #211913;
  --line:      rgba(240, 220, 190, .11);
  --line-2:    rgba(240, 220, 190, .06);
  --bronze:    #C98A4B;
  --amber:     #E0A458;
  --amber-2:   #F2C589;
  --deep:      #96622C;

  --text:      #F2E7D5;
  --text-2:    #CDBB9F;
  --muted:     #9C8B72;
  --muted-2:   #6E6150;

  --tense:     #C4574E;   /* напряжённые аспекты */
  --harmonic:  #93AC8E;   /* гармоничные аспекты */

  --r:   14px;
  --r-sm: 10px;
  --r-xs: 7px;

  --display: 'Cormorant Garamond', Georgia, 'Times New Roman', 'AstroSymbols', serif;
  --sans:    'Manrope', system-ui, -apple-system, 'Segoe UI', Roboto, 'AstroSymbols', sans-serif;
  --mono:    'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, 'AstroSymbols', monospace;
  --serif:   var(--display);

  --sh-1: 0 1px 0 rgba(255, 235, 200, .03) inset;
  --sh-2: 0 18px 44px -22px rgba(0, 0, 0, .8);

  --w: 1120px;
  --w-narrow: 760px;
  --ease: cubic-bezier(.22, .61, .36, 1);
}

/* ── база ──────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0; background: var(--bg); color: var(--text);
  -webkit-tap-highlight-color: transparent;
  font-family: var(--sans); font-size: 16px; line-height: 1.65;
  -webkit-font-smoothing: antialiased; overflow-x: hidden;
}
/* звёздная пыль: редко, тепло, едва заметно */
body::before {
  content: ''; position: fixed; inset: 0; pointer-events: none; z-index: 0;
  background-image:
    radial-gradient(1px 1px at 14% 22%, rgba(242,197,137,.5), transparent),
    radial-gradient(1px 1px at 72% 14%, rgba(242,197,137,.35), transparent),
    radial-gradient(1px 1px at 42% 68%, rgba(242,197,137,.3), transparent),
    radial-gradient(1px 1px at 88% 58%, rgba(242,197,137,.4), transparent),
    radial-gradient(1px 1px at 26% 86%, rgba(242,197,137,.28), transparent),
    radial-gradient(1px 1px at 60% 36%, rgba(242,197,137,.25), transparent);
}
body::after {
  content: ''; position: fixed; inset: 0; pointer-events: none; z-index: 0;
  background: radial-gradient(90% 55% at 50% -8%, rgba(224, 164, 88, .07), transparent 62%);
}
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; color: inherit; }
h1, h2, h3, h4, h5 { margin: 0; font-family: var(--display); font-weight: 500; letter-spacing: -.012em; line-height: 1.14; }
p { margin: 0 0 1em; } p:last-child { margin-bottom: 0; }
::selection { background: rgba(224, 164, 88, .3); color: #fff; }

/* ── каркас ────────────────────────────────────────────────── */
.wrap { min-height: 100vh; display: flex; flex-direction: column; position: relative; z-index: 1; }
main { flex: 1 0 auto; }
.container { width: 100%; max-width: var(--w); margin: 0 auto; padding: 0 26px; }
.container--narrow { max-width: var(--w-narrow); }

/* ── типографика ───────────────────────────────────────────── */
.display { font-family: var(--display); font-weight: 500; font-size: clamp(2.5rem, 5.6vw, 4.3rem); line-height: 1.06; letter-spacing: -.015em; }
.display em { font-style: italic; color: var(--amber-2); }
.h1 { font-size: clamp(1.9rem, 3.8vw, 2.9rem); }
.h2 { font-size: clamp(1.55rem, 2.8vw, 2.2rem); }
.h3 { font-size: clamp(1.2rem, 2vw, 1.5rem); }
.h4 { font-family: var(--sans); font-size: 1rem; font-weight: 700; letter-spacing: 0; }
.lede { font-size: clamp(1rem, 1.3vw, 1.13rem); color: var(--text-2); line-height: 1.68; max-width: 56ch; }
.muted { color: var(--muted); }
.small { font-size: .86rem; }
.tiny { font-size: .76rem; }
.gold, .gold-2 { color: var(--amber-2); }
.serif { font-family: var(--display); }
.mono { font-family: var(--mono); }
.center { text-align: center; }
.nowrap { white-space: nowrap; }

/* надзаголовок: тонкая линия + рубрика, без кричащих пилюль */
.eyebrow {
  display: inline-flex; align-items: center; gap: 12px;
  font-size: .7rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--bronze);
}
.eyebrow::before { content: ''; width: 30px; height: 1px; background: linear-gradient(90deg, var(--bronze), transparent); }
.eyebrow--plain::before { display: none; }
.tag { font-size: .66rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--muted); }
.rule { height: 1px; background: var(--line); border: 0; margin: 0; }
.numeral { font-family: var(--display); color: var(--bronze); letter-spacing: .12em; }

/* звёздный разделитель между секциями */
.star-div { display: flex; align-items: center; gap: 14px; color: var(--muted-2); }
.star-div::before, .star-div::after { content: ''; flex: 1; height: 1px; background: var(--line-2); }

/* ── шапка ─────────────────────────────────────────────────── */
.topbar {
  position: sticky; top: 0; z-index: 50;
  background: rgba(18, 13, 9, .88); backdrop-filter: saturate(140%) blur(12px);
  -webkit-backdrop-filter: saturate(140%) blur(12px);
  border-bottom: 1px solid var(--line-2);
}
.topbar__row {
  display: flex; justify-content: space-between; gap: 18px; align-items: center;
  padding: 7px 0; font-size: .72rem; color: var(--muted);
  border-bottom: 1px solid var(--line-2);
}
.topbar__row span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.topbar__row b { color: var(--amber); font-weight: 600; }
.nav { display: flex; align-items: center; gap: 24px; padding: 15px 0; }
.nav > .btn { display:none !important; }
.brand { display: flex; align-items: baseline; gap: 10px; margin-right: auto; }
.brand__mark { color: var(--amber); font-size: 1.05rem; transform: translateY(1px); }
.brand__name { font-family: var(--display); font-size: 1.32rem; letter-spacing: .03em; display: block; line-height: 1.1; white-space: nowrap; }
.brand__sub { display: block; font-size: .6rem; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: var(--muted-2); }
.nav__links { display: flex; gap: 2px; align-items: center; }
.nav__link { padding: 8px 12px; border-radius: var(--r-xs); font-size: .87rem; color: var(--text-2); white-space: nowrap; transition: color .18s, background .18s; }
.nav__link:hover { color: var(--text); background: rgba(242, 197, 137, .05); }
.nav__link.is-active { color: var(--amber-2); }
.nav__plan { font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; border: 1px solid var(--line); color: var(--muted); padding: 6px 12px; border-radius: 100px; white-space: nowrap; cursor: default; }
.nav__plan.pill--on { border-color: rgba(224,164,88,.45); color: var(--amber-2); cursor: pointer; }
.burger { display: none; background: none; border: 1px solid var(--line); border-radius: var(--r-xs); padding: 9px 11px; cursor: pointer; }
.burger span { display: block; width: 17px; height: 1px; background: var(--text); margin: 4px 0; }

/* ── кнопки: один янтарный акцент, без бликов ──────────────── */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  padding: 13px 24px; border-radius: var(--r-sm); border: 1px solid transparent;
  font-size: .9rem; font-weight: 600; cursor: pointer; white-space: nowrap; user-select: none;
  transition: background .2s var(--ease), color .2s, border-color .2s, transform .15s;
}
.btn:active { transform: translateY(1px); }
.btn--gold { background: linear-gradient(180deg, var(--amber), #C97F2E); color: #241505; border-color: rgba(242, 197, 137, .5); }
.btn--gold:hover { background: linear-gradient(180deg, var(--amber-2), var(--amber)); }
.btn--ghost { border-color: var(--line); color: var(--text-2); background: transparent; }
.btn--ghost:hover { border-color: rgba(224, 164, 88, .45); color: var(--amber-2); }
.btn--quiet { background: rgba(242, 197, 137, .06); color: var(--text-2); }
.btn--quiet:hover { background: rgba(242, 197, 137, .1); color: var(--text); }
.btn--wide { width: 100%; }
.btn--lg { padding: 15px 30px; font-size: .96rem; }
.btn--sm { padding: 9px 15px; font-size: .82rem; }
.btn[disabled] { opacity: .45; pointer-events: none; }
.btn--shine::after { display: none; }   /* блик отключён: меньше шума */

/* Юридическое согласие на этапе оплаты */
.check-row { display: flex; align-items: flex-start; gap: 12px; padding: 16px; border: 1px solid rgba(147, 172, 76, .46); border-radius: 14px; background: rgba(255, 255, 255, .018); color: var(--text-2); font-size: .8rem; line-height: 1.55; cursor: pointer; }
.check-row[data-role="checkout-fields"] + .btn { display: flex; margin-top: 16px; white-space: normal; line-height: 1.4; }
.check-row input { flex: 0 0 auto; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--amber); cursor: pointer; }
.check-row a { color: #d6b1ff; text-decoration: underline; text-underline-offset: 2px; }
.check-row:has(input:focus-visible) { outline: 2px solid var(--amber); outline-offset: 2px; }

.link { color: var(--amber-2); border-bottom: 1px solid rgba(224, 164, 88, .35); transition: .15s; }
.link:hover { color: var(--amber); border-color: var(--amber); }
.link-arrow { display: inline-flex; align-items: center; gap: 7px; font-size: .8rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--bronze); }
.link-arrow::after { content: '→'; transition: transform .2s var(--ease); }
.link-arrow:hover::after { transform: translateX(4px); }

/* ── тихие чипы (только там, где нужны) ────────────────────── */
.chip { display: inline-flex; align-items: center; gap: 7px; padding: 5px 12px; border: 1px solid var(--line); border-radius: 100px; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--text-2); }
.chip--gold { border-color: rgba(224,164,88,.4); color: var(--amber-2); background: rgba(224,164,88,.07); }
.chip--sage { border-color: rgba(147,172,142,.4); color: var(--harmonic); }
.chip--wine { border-color: rgba(196,87,78,.45); color: #D98880; }
.pill { display: inline-flex; align-items: center; gap: 6px; padding: 5px 13px; border-radius: 100px; font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; border: 1px solid var(--line); color: var(--muted); white-space: nowrap; }
.pill--on { border-color: rgba(224,164,88,.4); color: var(--amber-2); background: rgba(224,164,88,.08); }
.badge-sale, .badge-hit { display: none; }   /* скидочные кричалки отключены */

/* ── секции ────────────────────────────────────────────────── */
.section { padding: 92px 0; position: relative; }
.section--tight { padding: 56px 0; }
.section--line { border-top: 1px solid var(--line-2); }
.section--soft { background: var(--bg-2); }
.section--tint { background: linear-gradient(180deg, rgba(224,164,88,.04), transparent); }
.section__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 36px; flex-wrap: wrap; margin-bottom: 42px; }
.section__head-l { max-width: 58ch; }
.section__head .h2 { margin-top: 14px; }
.section__head .lede { margin-top: 12px; }

/* ── герой ─────────────────────────────────────────────────── */
.hero { padding: 78px 0 66px; position: relative; }
.hero__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 60px; align-items: start; }
.reading-layout { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); }
.reading-layout > *, .grid > *, .field--row > * { min-width:0; }
.hero__title { margin: 22px 0 20px; }
.hero__title .line2 { display: block; }
.hero__lede { margin-bottom: 30px; }
.hero__cta { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
/* строка доверия: просто текст через точку, без пилюль */
.trust-row { display: flex; flex-wrap: wrap; gap: 6px 10px; margin-top: 22px; font-size: .82rem; color: var(--muted); }
.trust-row span { display: inline-flex; align-items: center; gap: 10px; }
.trust-row span + span::before { content: '·'; color: var(--muted-2); margin-right: 10px; }
.trust-row .tick { display: none; }
.live-counter { display: none; }   /* счётчик отключён: меньше шума */
.hero__meta { display: none; }

/* ── главная: выбор персонального разбора ─────────────────── */
[data-page="home"] .hero { padding: clamp(42px, 7vw, 104px) 0 52px; overflow: hidden; }
[data-page="home"] .hero::before { content:''; position:absolute; width:680px; height:680px; right:-260px; top:-290px; border:1px solid rgba(224,164,88,.11); border-radius:50%; box-shadow: 0 0 0 72px rgba(224,164,88,.025), 0 0 0 144px rgba(224,164,88,.018); pointer-events:none; }
[data-page="home"] .hero__grid { grid-template-columns: minmax(0,.9fr) minmax(500px,1.1fr); gap: clamp(38px,6vw,88px); align-items:center; }
.home-intro { position:relative; z-index:1; padding: 24px 0; }
.home-intro .hero__title { max-width: 9ch; font-size: clamp(3.25rem, 6vw, 5.35rem); letter-spacing:-.04em; }
.home-intro .hero__lede { max-width: 43ch; font-size: 1.05rem; }
.home-intro .trust-row { margin-top:28px; padding-top:18px; border-top:1px solid var(--line); }
.home-choice { position:relative; z-index:1; padding:clamp(24px,3vw,38px); border:1px solid rgba(242,197,137,.18); border-radius:22px; background:linear-gradient(145deg, rgba(38,28,20,.96), rgba(20,14,10,.96)); box-shadow:0 30px 70px -42px #000, inset 0 1px 0 rgba(255,255,255,.035); }
.home-choice::after { content:'✦'; position:absolute; right:28px; top:20px; color:rgba(224,164,88,.24); font-family:var(--display); font-size:1.4rem; }
.home-choice__head { display:flex; gap:16px; align-items:center; padding-right:42px; }
.home-choice__number { display:grid; place-items:center; width:34px; height:34px; border:1px solid rgba(224,164,88,.35); border-radius:50%; color:var(--amber-2); font: .8rem var(--mono); }
.home-choice__head h2 { margin-top:3px; font-size:clamp(1.65rem,2.4vw,2.25rem); }
.home-choice__lead { margin:18px 0 22px; max-width:58ch; color:var(--text-2); font-size:.88rem; line-height:1.6; }
.home-choice__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.home-choice__card { position:relative; display:flex; min-height:176px; flex-direction:column; padding:18px; overflow:hidden; border:1px solid rgba(242,197,137,.11); border-radius:12px; background:rgba(255,255,255,.022); color:var(--text-2); transition:transform .25s var(--ease), border-color .25s, background .25s; }
.home-choice__card:hover { transform:translateY(-3px); border-color:rgba(224,164,88,.52); background:rgba(224,164,88,.075); }
.home-choice__card--featured { border-color:rgba(224,164,88,.4); background:linear-gradient(140deg, rgba(224,164,88,.14), rgba(224,164,88,.035)); }
.home-choice__card--wide { grid-column:1/-1; min-height:120px; }
.home-choice__symbol { position:absolute; top:13px; right:16px; color:rgba(242,197,137,.3); font:2rem var(--display); }
.home-choice__meta { margin-bottom:10px; color:var(--bronze); font-size:.61rem; font-weight:700; letter-spacing:.17em; text-transform:uppercase; }
.home-choice__card strong { color:var(--text); font:1.35rem var(--display); line-height:1.15; }
.home-choice__card > span:not(.home-choice__symbol):not(.home-choice__meta) { margin-top:8px; padding-right:12px; font-size:.76rem; line-height:1.5; }
.home-choice__card b { margin-top:auto; padding-top:15px; color:var(--amber-2); font-size:.68rem; letter-spacing:.09em; text-transform:uppercase; }
.home-choice__card b i { padding-left:5px; font-size:1rem; font-style:normal; transition:transform .2s var(--ease); }
.home-choice__card:hover b i { display:inline-block; transform:translateX(4px); }
.home-choice__note { margin:19px 2px 0; color:var(--muted); font-size:.71rem; line-height:1.45; text-align:center; }
.home-tool-links { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px; }
.home-tool-links a { display:inline-flex; align-items:center; min-height:40px; padding:9px 13px; border:1px solid var(--line); border-radius:999px; color:var(--text-2); font-size:.75rem; line-height:1.25; transition:border-color .18s, background .18s, color .18s; }
.home-tool-links a:hover, .home-tool-links a.is-active { border-color:rgba(224,164,88,.6); color:var(--amber-2); background:rgba(224,164,88,.08); }
.home-matrix-form { margin:0; padding:20px; background:rgba(10,7,4,.32); box-shadow:none; }
.home-matrix-form::before { display:none; }
.home-matrix-form .field { margin-bottom:13px; }
.home-matrix-form .checkout-access { margin-top:15px; }
.home-matrix-form .home-choice__note { margin-top:12px; }
#home-matrix-errors { margin:0 0 12px; }

/* зодиакальная лента под героем */
.zodiac-band {
  display: flex; justify-content: space-between; align-items: center;
  padding: 14px 4px; border-top: 1px solid var(--line-2); border-bottom: 1px solid var(--line-2);
  color: var(--muted-2); font-size: 1rem; letter-spacing: .1em;
}
.zodiac-band i { font-style: normal; transition: color .3s; }
.zodiac-band i:hover { color: var(--amber); }

/* ── формы ─────────────────────────────────────────────────── */
.form-card {
  position: relative; background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--r); padding: 30px; box-shadow: var(--sh-2);
}
.form-card::before {
  content: '✦'; position: absolute; top: -9px; left: 26px; background: var(--bg);
  padding: 0 8px; color: var(--bronze); font-size: .8rem;
}
.form-card__title { font-family: var(--display); font-size: 1.5rem; }
.form-card__sub { font-size: .84rem; color: var(--muted); margin: 4px 0 22px; }
.ribbon { display: none; }   /* наклейка «шаг 1 из 2» отключена */

.field { margin-bottom: 16px; position: relative; }
.field__label { display: block; font-size: .66rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--muted); margin-bottom: 7px; }
.field__control {
  width: 100%; padding: 12px 14px; background: rgba(10, 7, 4, .5);
  border: 1px solid var(--line); border-radius: var(--r-xs); color: var(--text);
  font-size: .94rem; transition: border-color .18s, background .18s, box-shadow .18s; appearance: none;
}
.field__control::placeholder { color: var(--muted-2); }
.field__control:hover { border-color: rgba(240, 220, 190, .2); }
.field__control:focus { outline: none; border-color: rgba(224, 164, 88, .55); box-shadow: 0 0 0 3px rgba(224, 164, 88, .1); background: rgba(10, 7, 4, .75); }
.field__hint { font-size: .75rem; color: var(--muted-2); margin-top: 6px; line-height: 1.45; }
.field__error { font-size: .78rem; color: #D98880; margin-top: 6px; display: none; }
.checkout-access {
  margin: 18px 0 14px; padding: 18px; border: 1px solid rgba(224, 164, 88, .52);
  border-radius: 12px; background: linear-gradient(145deg, rgba(224, 164, 88, .10), rgba(224, 164, 88, .025));
  box-shadow: 0 0 0 1px rgba(224, 164, 88, .08), 0 8px 26px rgba(0, 0, 0, .14);
}
.checkout-access__title { margin: 0; color: var(--text); font-family: var(--display); font-size: 1.15rem; }
.checkout-access__copy { margin: 6px 0 14px; color: var(--text-2); font-size: .86rem; line-height: 1.5; }
.checkout-access__label { display: block; margin-bottom: 7px; color: var(--amber); font-size: .82rem; font-weight: 700; letter-spacing: .04em; }
.checkout-access__input { min-height: 52px; border: 1px solid rgba(224, 164, 88, .62); background: rgba(10, 7, 4, .72); font-size: 1rem; }
.checkout-access__input::placeholder { color: var(--muted); }
.checkout-access__hint { margin-top: 8px; color: var(--text-2); font-size: .8rem; line-height: 1.45; }
.field--row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.field.is-invalid .field__control { border-color: rgba(196, 87, 78, .6); }
.field.is-invalid .field__error { display: block; }
input[type='date'].field__control, input[type='time'].field__control { cursor: pointer; }
input[type='date']::-webkit-calendar-picker-indicator,
input[type='time']::-webkit-calendar-picker-indicator { filter: invert(.8) sepia(.4) saturate(2); cursor: pointer; }

.suggest { position: absolute; z-index: 30; left: 0; right: 0; top: calc(100% + 4px); background: var(--surface-2); border: 1px solid var(--line); border-radius: var(--r-xs); max-height: 260px; overflow-y: auto; display: none; box-shadow: var(--sh-2); }
.suggest.is-open { display: block; }
.suggest__item { padding: 10px 14px; cursor: pointer; border-bottom: 1px solid var(--line-2); display: flex; justify-content: space-between; gap: 12px; align-items: baseline; }
.suggest__item:last-child { border-bottom: 0; }
.suggest__item:hover, .suggest__item.is-cursor { background: rgba(224, 164, 88, .08); }
.suggest__name { font-size: .9rem; }
.suggest__meta { font-size: .7rem; color: var(--muted-2); white-space: nowrap; }

.check { display: flex; gap: 10px; align-items: flex-start; cursor: pointer; font-size: .83rem; color: var(--muted); line-height: 1.5; }
.check input { appearance: none; width: 16px; height: 16px; min-width: 16px; border: 1px solid var(--line); border-radius: 3px; margin-top: 3px; cursor: pointer; background: rgba(10,7,4,.5); }
.check input:checked { background: var(--amber); border-color: var(--amber); }
.check input:checked::after { content: '✓'; display: block; color: #241505; font-size: 11px; font-weight: 800; text-align: center; line-height: 15px; }
.check a { color: var(--amber-2); }

.switcher { display: inline-flex; border: 1px solid var(--line); border-radius: 100px; padding: 3px; gap: 3px; margin-bottom: 18px; }
.switcher button { border: 0; background: transparent; color: var(--muted); cursor: pointer; padding: 7px 16px; border-radius: 100px; font-size: .8rem; }
.switcher button.is-on { background: rgba(224,164,88,.14); color: var(--amber-2); }

/* ── результаты ────────────────────────────────────────────── */
.result { margin-top: 28px; }
.result__head { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; padding-bottom: 16px; border-bottom: 1px solid var(--line); margin-bottom: 26px; }
.result__title { font-family: var(--display); font-size: 1.5rem; }
.result__stamp { font-family: var(--mono); font-size: .7rem; color: var(--muted-2); }

.trio { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1px; background: var(--line-2); border: 1px solid var(--line-2); }
.trio__cell { background: var(--surface); padding: 22px 20px; position: relative; }
.trio__cell::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 2px; background: linear-gradient(180deg, var(--amber), transparent); }
.trio__label { font-size: .64rem; letter-spacing: .18em; text-transform: uppercase; color: var(--muted); margin-bottom: 9px; }
.trio__value { font-family: var(--display); font-size: 1.7rem; color: var(--amber-2); display: flex; align-items: baseline; gap: 9px; flex-wrap: wrap; }
.trio__glyph { font-size: 1rem; color: var(--bronze); }
.trio__deg { font-family: var(--mono); font-size: .72rem; color: var(--muted); }
.trio__text { font-size: .85rem; color: var(--text-2); margin-top: 9px; line-height: 1.55; }

.block { padding: 26px 0; border-bottom: 1px solid var(--line-2); }
.block:last-child { border-bottom: 0; }
.block__head { display: flex; align-items: baseline; gap: 14px; margin-bottom: 10px; flex-wrap: wrap; }
.block__title { font-family: var(--display); font-size: 1.4rem; }
.block__note { font-size: .75rem; color: var(--muted-2); }
.block__body { color: var(--text-2); font-size: .95rem; line-height: 1.74; }
.block__body p { margin-bottom: .85em; }

.table { width: 100%; border-collapse: collapse; font-size: .88rem; }
.table th { text-align: left; font-size: .64rem; letter-spacing: .17em; text-transform: uppercase; color: var(--muted-2); font-weight: 600; padding: 0 12px 10px 0; border-bottom: 1px solid var(--line); }
.table td { padding: 11px 12px 11px 0; border-bottom: 1px solid var(--line-2); vertical-align: top; color: var(--text-2); }
.table tr:last-child td { border-bottom: 0; }
.table tbody tr:hover { background: rgba(242, 197, 137, .03); }
.table__glyph { font-size: 1.05rem; color: var(--amber); width: 26px; }
.table__name { color: var(--text); font-weight: 600; }
.table__deg { font-family: var(--mono); font-size: .78rem; color: var(--muted); }
.table__sign { color: var(--amber-2); }
.retro { color: #D98880; margin-left: 4px; }

.grid { display: grid; gap: 1px; background: var(--line-2); border: 1px solid var(--line-2); }
.grid--2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.grid--3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.grid--4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.compatibility-pair { border:0; background:none; gap:34px; }
.cell { background: var(--surface); padding: 20px; }
.cell__label { font-size: .64rem; letter-spacing: .17em; text-transform: uppercase; color: var(--muted-2); margin-bottom: 8px; }
.cell__value { font-family: var(--display); font-size: 1.3rem; color: var(--amber-2); }
.cell__text { font-size: .84rem; color: var(--muted); margin-top: 7px; line-height: 1.5; }

/* аккордеон */
.acc { border: 1px solid var(--line-2); border-radius: var(--r-xs); background: rgba(27, 20, 16, .5); margin-bottom: 10px; overflow: hidden; }
.acc__head { display: flex; align-items: center; gap: 14px; padding: 16px 20px; cursor: pointer; user-select: none; transition: background .18s; }
.acc__head:hover { background: rgba(242, 197, 137, .03); }
.acc__sign { font-size: 1rem; color: var(--bronze); width: 24px; text-align: center; }
.acc__title { font-family: var(--display); font-size: 1.14rem; flex: 1; }
.acc__meta { font-family: var(--mono); font-size: .72rem; color: var(--muted); }
.acc__toggle { color: var(--muted-2); transition: transform .25s var(--ease); font-size: .85rem; }
.acc.is-open .acc__toggle { transform: rotate(45deg); color: var(--amber); }
.acc__body { display: none; padding: 0 20px 20px 58px; }
.acc.is-open .acc__body { display: block; animation: fadeUp .3s var(--ease); }
.acc__body p { font-size: .9rem; color: var(--text-2); line-height: 1.7; margin-bottom: .8em; }

/* ── платный замок: спокойный ──────────────────────────────── */
.lock { position: relative; margin-top: 30px; border: 1px solid rgba(224, 164, 88, .35); border-radius: var(--r); overflow: hidden; }
.lock__preview { padding: 26px 26px 76px; color: var(--muted); font-size: .92rem; line-height: 1.7; position: relative; max-height: 230px; overflow: hidden; }
.lock__preview::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(18,13,9,0) 10%, rgba(18,13,9,.85) 60%, var(--bg) 100%); pointer-events: none; }
.lock__cta { position: relative; z-index: 2; padding: 22px 26px; text-align: center; border-top: 1px solid rgba(224,164,88,.25); background: rgba(224,164,88,.05); }
.lock__cta .h3 { margin-bottom: 6px; color: var(--amber-2); }
.lock__cta p { font-size: .85rem; color: var(--muted); margin-bottom: 16px; }
.lock__actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.unlocked-note { display: flex; align-items: center; gap: 10px; margin: 22px 0 0; padding: 12px 16px; border: 1px solid rgba(147,172,142,.35); border-radius: var(--r-xs); background: rgba(147,172,142,.07); font-size: .83rem; color: var(--harmonic); }

/* ── колесо ────────────────────────────────────────────────── */
.wheel-wrap { display: flex; justify-content: center; padding: 8px 0 4px; }
.wheel { width: 100%; max-width: 450px; height: auto; }
.wheel .ring { fill: none; stroke: var(--line); }
.wheel .ring--gold { stroke: rgba(224, 164, 88, .4); }
.wheel .tick { stroke: rgba(240, 220, 190, .2); }
.wheel .tick--major { stroke: rgba(224, 164, 88, .55); }
.wheel .sign-glyph { fill: var(--bronze); font-size: 13px; }
.wheel .house-num { fill: var(--muted-2); font-size: 9px; font-family: var(--mono); }
.wheel .body-glyph { font-size: 15px; }
.wheel .asp-line { stroke-width: .8; opacity: .5; }
.wheel .asp-harmonic { stroke: var(--harmonic); }
.wheel .asp-tense { stroke: var(--tense); }
.wheel .asp-neutral { stroke: var(--amber); }
.wheel-caption { text-align: center; font-size: .74rem; color: var(--muted-2); margin-top: 10px; }

/* ── матрица ───────────────────────────────────────────────── */
.matrix-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1px; background: var(--line-2); border: 1px solid var(--line-2); max-width: 600px; margin: 0 auto; }
.matrix-node { background: var(--surface); padding: 20px 14px; text-align: center; cursor: pointer; transition: background .18s; }
.matrix-node:hover { background: rgba(224,164,88,.06); }
.matrix-node.is-center { background: rgba(224,164,88,.09); }
.matrix-node__label { font-size: .58rem; letter-spacing: .16em; text-transform: uppercase; color: var(--muted-2); margin-bottom: 9px; min-height: 2em; display: flex; align-items: center; justify-content: center; }
.matrix-node__num { font-family: var(--display); font-size: 2rem; color: var(--amber-2); line-height: 1; }
.matrix-node__name { font-size: .76rem; color: var(--text-2); margin-top: 7px; }

/* ── карты таро: тёплые, без лишнего ───────────────────────── */
.cards { display: grid; gap: 18px; }
.cards--3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.cards--5 { grid-template-columns: repeat(5, minmax(0,1fr)); }
.cards--7 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.cards--1 { grid-template-columns: minmax(0, 250px); justify-content: center; }
.cards--12 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.card-slot { text-align: center; }
.card-slot__label { font-size: .64rem; letter-spacing: .16em; text-transform: uppercase; color: var(--muted); margin-bottom: 12px; min-height: 2.4em; }
.tarot {
  position: relative; aspect-ratio: 5 / 8.4; border: 1px solid rgba(224,164,88,.3); border-radius: var(--r-xs);
  background: linear-gradient(180deg, var(--surface-2), var(--surface));
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px;
  padding: 14px 8px; overflow: hidden; transition: transform .22s var(--ease), border-color .22s;
}
.tarot:hover { transform: translateY(-4px); border-color: rgba(224,164,88,.55); }
.tarot::before, .tarot::after { content: ''; position: absolute; left: 9px; right: 9px; height: 1px; background: rgba(224,164,88,.3); }
.tarot::before { top: 9px; } .tarot::after { bottom: 9px; }
.tarot__n { font-family: var(--display); font-size: .85rem; letter-spacing: .2em; color: var(--bronze); }
.tarot__glyph { font-size: 2rem; color: var(--amber); line-height: 1; }
.tarot__name { font-family: var(--display); font-size: 1.05rem; color: var(--text); }
.tarot__orient { font-size: .6rem; letter-spacing: .16em; text-transform: uppercase; color: var(--muted-2); margin-top: 4px; }
.tarot.is-reversed { border-color: rgba(196,87,78,.45); }
.tarot.is-reversed .tarot__glyph { transform: rotate(180deg); color: #D98880; }
.tarot.is-reversed .tarot__orient { color: #D98880; }

/* ── тарифы: две спокойные карточки ────────────────────────── */
.plans { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 26px; align-items: stretch; }
.plan { position: relative; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: var(--r); padding: 32px; background: var(--surface); }
.plan--featured { border-color: rgba(224,164,88,.5); background: linear-gradient(180deg, rgba(224,164,88,.07), var(--surface) 45%); }

/* ── единый VIP-доступ ────────────────────────────────────── */
.access-offer { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr); gap:clamp(26px,5vw,72px); align-items:center; padding:clamp(26px,5vw,58px); border:1px solid rgba(224,164,88,.22); border-radius:22px; background:radial-gradient(circle at 8% 0%, rgba(224,164,88,.11), transparent 30%), linear-gradient(135deg, rgba(31,22,16,.96), rgba(15,10,7,.96)); box-shadow:0 28px 70px -45px #000; }
.access-offer__story { max-width:510px; }
.access-offer__story .h2 { font-size:clamp(2.4rem,4.5vw,4.1rem); line-height:.91; }
.access-offer__steps { display:grid; gap:0; margin-top:30px; border-top:1px solid var(--line); }
.access-offer__steps div { display:grid; grid-template-columns:48px 1fr; gap:14px; align-items:center; min-height:62px; border-bottom:1px solid var(--line-2); }
.access-offer__steps span { color:var(--bronze); font:.7rem var(--mono); letter-spacing:.1em; }
.access-offer__steps p { color:var(--text-2); font-size:.83rem; line-height:1.4; }
.access-offer__card { margin:0; min-height:0; padding:32px; border-radius:14px; box-shadow:0 22px 45px -36px #000; }
.access-offer__price { display:flex; align-items:baseline; gap:12px; margin:13px 0 4px; }
.access-offer__price span { color:var(--amber-2); font:clamp(3.5rem,7vw,5.25rem)/.8 var(--display); letter-spacing:-.055em; }
.access-offer__price p { color:var(--text-2); font-size:.83rem; }
.access-offer__renewal { margin:19px 0 20px; padding:12px 0 12px 15px; border-left:2px solid var(--bronze); color:var(--muted); font-size:.78rem; line-height:1.55; }
.access-offer__fine { margin-top:13px; color:var(--muted-2); font-size:.68rem; line-height:1.45; text-align:center; }
[data-page="pricing"] .quote { max-width:800px; margin-left:auto; margin-right:auto; text-align:center; }

/* ── путь к оплате ────────────────────────────────────────── */
.checkout-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.72fr); gap:clamp(28px,6vw,78px); align-items:start; }
.checkout-hero .h1 { font-size:clamp(3rem,5.6vw,5.2rem); line-height:.91; }
.checkout-summary { padding:28px; border:1px solid rgba(224,164,88,.3); border-radius:16px; background:linear-gradient(145deg,rgba(224,164,88,.11),rgba(31,22,16,.88)); }
.checkout-summary__cost { display:flex; align-items:baseline; gap:10px; margin:12px 0 5px; }
.checkout-summary__cost strong { color:var(--amber-2); font:3.2rem/.9 var(--display); }
.checkout-summary__cost span { color:var(--text-2); font-size:.82rem; }
.checkout-summary__renewal { margin-top:18px; padding:14px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); color:var(--muted); font-size:.8rem; line-height:1.55; }
.checkout-summary__items { display:grid; gap:9px; margin-top:18px; color:var(--text-2); font-size:.8rem; }
.checkout-summary__items span::before { content:'✦'; margin-right:9px; color:var(--bronze); }
.local-note { background:rgba(224,164,88,.035); }
.plan__flag { position: absolute; top: -11px; left: 28px; background: var(--bg); padding: 2px 12px; font-size: .62rem; letter-spacing: .18em; text-transform: uppercase; color: var(--amber-2); border: 1px solid rgba(224,164,88,.4); border-radius: 100px; }
.plan__discount { display: none; }
.plan__name { font-family: var(--display); font-size: 1.8rem; }
.plan__price { display: flex; align-items: baseline; gap: 10px; margin: 14px 0 4px; }
.plan__amount { font-family: var(--display); font-size: 2.8rem; color: var(--amber-2); line-height: 1; }
.plan__old-price { display: none; }   /* зачёркнутые цены отключены */
.plan__per { font-size: .84rem; color: var(--muted); }
.plan__list { list-style: none; padding: 0; margin: 24px 0; flex: 1; }
.plan__list li { display: flex; gap: 11px; padding: 8px 0; font-size: .89rem; color: var(--text-2); border-bottom: 1px solid var(--line-2); align-items: baseline; }
.plan__list li:last-child { border-bottom: 0; }
.plan__list .mark { color: var(--amber); width: 14px; flex: none; }
.plan__list .mark--no { color: var(--muted-2); }
.plan__list li.is-off { color: var(--muted-2); }

/* ── что входит в полную версию (тихий список вместо стека) ── */
.includes { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 40px; margin: 0; padding: 0; list-style: none; }
.includes li { display: flex; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line-2); font-size: .92rem; color: var(--text-2); }
.includes li::before { content: '✦'; color: var(--bronze); font-size: .7rem; transform: translateY(2px); }
.includes li b { color: var(--text); font-weight: 600; }
.price-line { display: flex; align-items: baseline; gap: 16px; flex-wrap: wrap; margin-top: 26px; }
.price-line .now { font-family: var(--display); font-size: 2.6rem; color: var(--amber-2); line-height: 1; }
.price-line .per { font-size: .9rem; color: var(--muted); }
.stack { display: none; }          /* стек с зачёркнутыми ценами отключён */
.countdown { display: none; }      /* тикающие таймеры отключены */

/* ── гарантия: строка, а не печать ─────────────────────────── */
.guarantee { display: flex; gap: 16px; align-items: flex-start; border: 0; border-top: 1px solid var(--line-2); border-bottom: 1px solid var(--line-2); padding: 20px 0; background: none; border-radius: 0; }
.guarantee__seal { width: auto; height: auto; min-width: 0; border: 0; color: var(--amber); font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; flex-direction: row; gap: 8px; padding: 0; }
.guarantee__seal b { font-family: var(--display); font-size: 1.9rem; letter-spacing: 0; }
.guarantee__title { font-family: var(--display); font-size: 1.2rem; color: var(--text); margin-bottom: 4px; }
.guarantee__text { font-size: .87rem; color: var(--muted); line-height: 1.6; }

/* ── сравнение и доказательства ────────────────────────────── */
.compare { display: none; }   /* таблица сравнения отключена: суть в тарифах */
.proof { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 40px; }
.proof__card { background: none; border: 0; border-left: 2px solid rgba(224,164,88,.35); padding: 4px 0 4px 24px; display: flex; flex-direction: column; gap: 12px; box-shadow: none; border-radius: 0; }
.proof__tag { font-size: .64rem; letter-spacing: .18em; text-transform: uppercase; color: var(--bronze); }
.proof__quote { font-family: var(--display); font-size: 1.22rem; line-height: 1.5; color: var(--text); font-style: italic; flex: 1; }
.proof__quote::before { content: '«'; color: var(--muted-2); }
.proof__quote::after { content: '»'; color: var(--muted-2); }
.proof__src { font-size: .74rem; color: var(--muted-2); }

/* ── инструменты: спокойный список ─────────────────────────── */
.tools { border-top: 1px solid var(--line); }
.tool { display: grid; grid-template-columns: 56px minmax(0,1fr) minmax(0,1.1fr) 110px; gap: 28px; align-items: start; padding: 32px 0; border-bottom: 1px solid var(--line); transition: background .2s; }
.tool:hover { background: rgba(242, 197, 137, .02); }
.tool__num { font-family: var(--display); font-size: 1rem; letter-spacing: .14em; color: var(--bronze); padding-top: 6px; }
.tool__title { font-family: var(--display); font-size: 1.7rem; }
.tool__sub { font-size: .86rem; color: var(--amber); margin-top: 7px; }
.tool__desc { font-size: .9rem; color: var(--text-2); line-height: 1.65; }
.tool__tags { display: none; }
.tool__ex { font-size: .8rem; color: var(--muted); margin-top: 10px; font-style: italic; }
.tool__go { text-align: right; padding-top: 8px; }

/* ── шаги: три строки ──────────────────────────────────────── */
.steps { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 40px; }
.step { background: none; border: 0; padding: 0; box-shadow: none; border-radius: 0; }
.step__n { font-family: var(--display); font-size: 2.2rem; color: var(--bronze); line-height: 1; margin-bottom: 14px; }
.step__t { font-family: var(--display); font-size: 1.3rem; margin-bottom: 8px; }
.step__d { font-size: .88rem; color: var(--muted); line-height: 1.65; }

/* ── статьи ────────────────────────────────────────────────── */
.posts { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1px; background: var(--line-2); border: 1px solid var(--line-2); }
.post { background: var(--surface); padding: 26px; display: flex; flex-direction: column; gap: 10px; transition: background .2s; }
.post:hover { background: var(--surface-2); }
.post__cat { font-size: .64rem; letter-spacing: .18em; text-transform: uppercase; color: var(--bronze); }
.post__title { font-family: var(--display); font-size: 1.24rem; line-height: 1.3; }
.post__excerpt { font-size: .85rem; color: var(--muted); line-height: 1.6; flex: 1; }
.post__more { font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; color: var(--amber-2); }
.post--lead { grid-column: span 2; }
.post--lead .post__title { font-size: 1.6rem; }

/* ── цитата ────────────────────────────────────────────────── */
.quote { border-left: 2px solid rgba(224,164,88,.4); padding: 6px 0 6px 26px; margin: 38px 0; }
.quote p { font-family: var(--display); font-size: clamp(1.3rem, 2.3vw, 1.8rem); line-height: 1.42; color: var(--text); font-style: italic; }
.quote cite { display: block; margin-top: 14px; font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; color: var(--muted-2); font-style: normal; }

/* ── подвал ────────────────────────────────────────────────── */
.footer { border-top: 1px solid var(--line); padding: 52px 0 34px; }
.footer__grid { display: grid; grid-template-columns: 1.5fr repeat(3, 1fr); gap: 40px; margin-bottom: 38px; }
.footer__col h5 { font-size: .66rem; letter-spacing: .2em; text-transform: uppercase; color: var(--muted-2); margin-bottom: 14px; font-weight: 600; }
.footer__col a { display: block; padding: 5px 0; font-size: .88rem; color: var(--text-2); transition: color .18s; }
.footer__col a:hover { color: var(--amber-2); }
.footer__about { font-size: .85rem; color: var(--muted); line-height: 1.65; max-width: 34ch; margin-top: 12px; }
.footer__legal { display: flex; align-items: flex-start; gap: 20px; margin-top: 18px; font-size: .76rem; color: var(--muted); line-height: 1.7; }
.footer__legal p { margin: 0; }
.footer__legal a { display: inline; padding: 0; font-size: inherit; color: var(--text-2); }
.footer__bottom { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding-top: 22px; border-top: 1px solid var(--line-2); font-size: .76rem; color: var(--muted-2); }

/* ── согласие ──────────────────────────────────────────────── */
.consent { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
  padding-bottom: env(safe-area-inset-bottom, 0px); background: rgba(22, 16, 11, .96); backdrop-filter: blur(10px); border-top: 1px solid var(--line); padding: 18px 0; transform: translateY(110%); transition: transform .4s var(--ease); }
.consent.is-shown { transform: translateY(0); }
.consent__row { display: flex; gap: 22px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.consent__text { font-size: .82rem; color: var(--muted); max-width: 74ch; width: 100%; line-height: 1.55; }
.consent__text a { color: var(--amber-2); }

/* ── модальные окна ────────────────────────────────────────── */
.modal { position: fixed; inset: 0; z-index: 100; display: none; align-items: center; justify-content: center; padding: 22px; }
.modal.is-open { display: flex; }
.modal__back { position: absolute; inset: 0; background: rgba(8, 5, 3, .8); backdrop-filter: blur(6px); animation: fadeIn .25s var(--ease); }
.modal__box { position: relative; width: 100%; max-width: 500px; max-height: 88vh; overflow-y: auto; background: var(--surface-2); border: 1px solid rgba(224,164,88,.35); border-radius: var(--r); padding: 34px; animation: fadeUp .32s var(--ease); box-shadow: var(--sh-2); }
.modal__close { position: absolute; top: 14px; right: 16px; background: none; border: 0; color: var(--muted); font-size: 1.4rem; cursor: pointer; padding: 4px 8px; }
.modal__close:hover { color: var(--text); }
.modal__title { font-family: var(--display); font-size: 1.75rem; margin-bottom: 8px; }
.modal__sub { font-size: .88rem; color: var(--muted); margin-bottom: 22px; }
.promo-chip { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; border: 1px dashed rgba(224,164,88,.5); background: rgba(224,164,88,.06); color: var(--amber-2); font-family: var(--mono); font-size: 1rem; letter-spacing: .12em; padding: 11px 18px; border-radius: var(--r-xs); }
.promo-chip small { font-family: var(--sans); font-size: .68rem; letter-spacing: .06em; color: var(--muted); text-transform: uppercase; }

/* ── уведомления ───────────────────────────────────────────── */
.toast-wrap { position: fixed; right: 22px; bottom: 22px; z-index: 200; display: flex; flex-direction: column; gap: 10px; align-items: flex-end; }
.toast { background: var(--surface-2); border: 1px solid var(--line); border-left: 2px solid var(--amber); padding: 13px 18px; border-radius: var(--r-xs); font-size: .85rem; max-width: 340px; box-shadow: var(--sh-2); animation: fadeUp .3s var(--ease); color: var(--text); }
.toast--error { border-left-color: var(--tense); }
.toast--ok { border-left-color: var(--harmonic); }

/* липкая плашка отключена: меньше шума */
.sticky-cta { display: none; }

/* ── индикаторы ────────────────────────────────────────────── */
.spinner { display: inline-block; width: 15px; height: 15px; border: 1.5px solid rgba(36, 21, 5, .35); border-top-color: #241505; border-radius: 50%; animation: spin .7s linear infinite; }
.spinner--light { border-color: rgba(242,197,137,.25); border-top-color: var(--amber-2); }
@keyframes spin { to { transform: rotate(360deg); } }
.skeleton { background: linear-gradient(90deg, rgba(242,197,137,.05), rgba(242,197,137,.1), rgba(242,197,137,.05)); background-size: 200% 100%; animation: shimmer 1.4s infinite; border-radius: 3px; height: 12px; margin: 9px 0; }
@keyframes shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }
.reveal { opacity: 0; transform: translateY(16px); transition: opacity .6s var(--ease), transform .6s var(--ease); }
.reveal.is-in { opacity: 1; transform: none; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes fadeUp { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes pulse { 0%,100% { opacity: 1; } 50% { opacity: .5; } }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; }
  .reveal { opacity: 1; transform: none; }
  html { scroll-behavior: auto; }
}

/* ── финальный CTA: тихо и по центру ───────────────────────── */
.cta-band { position: relative; text-align: center; padding: 88px 0; border-top: 1px solid var(--line-2); border-bottom: 1px solid var(--line-2); background: radial-gradient(60% 90% at 50% 0%, rgba(224,164,88,.08), transparent 65%); }
.cta-band .h1 { max-width: 24ch; margin-inline: auto; }
.cta-band .lede { margin-inline: auto; }
.cta-band .trust-row { justify-content: center; }

/* ── утилиты ───────────────────────────────────────────────── */
.hidden, [hidden] { display: none !important; }
.mt-0{margin-top:0}.mt-1{margin-top:10px}.mt-2{margin-top:20px}.mt-3{margin-top:30px}.mt-4{margin-top:44px}.mt-5{margin-top:64px}
.mb-0{margin-bottom:0}.mb-1{margin-bottom:10px}.mb-2{margin-bottom:20px}.mb-3{margin-bottom:30px}.mb-4{margin-bottom:44px}
.flex{display:flex}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}
.gap-1{gap:10px}.gap-2{gap:20px}.gap-3{gap:30px}
.text-list{padding-left:1.15em;margin:0 0 1em}
.text-list li{margin-bottom:.5em;color:var(--text-2)}
.prose{max-width:72ch}
.prose h2{font-family:var(--display);font-size:1.7rem;margin:38px 0 12px}
.prose h3{font-family:var(--display);font-size:1.3rem;margin:28px 0 9px}
.prose p,.prose li{color:var(--text-2);font-size:.96rem;line-height:1.78}
.prose blockquote{border-left:2px solid rgba(224,164,88,.4);margin:24px 0;padding:4px 0 4px 22px;font-family:var(--display);font-size:1.2rem;font-style:italic;color:var(--text)}
.prose code{font-family:var(--mono);font-size:.84em;background:rgba(242,197,137,.07);padding:2px 6px;border-radius:3px;color:var(--amber-2)}

/* ── превью-карточка (используется в автономной версии) ─────── */
.preview-card { border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; background: var(--surface); }
.preview-card__bar { display: none; }
.preview-card__body { padding: 24px; }
.preview-card__label { display: none; }
.preview-card__url { display: none; }

/* ── адаптив ───────────────────────────────────────────────── */
@media (max-width: 1080px) {
  .nav { gap: 14px; }
  .nav__links { display: none; order: 6; width: 100%; }
  .nav__links.is-open { display: flex; flex-direction: column; align-items: stretch; gap: 2px; padding-top: 10px; border-top: 1px solid var(--line-2); }
  .nav__links.is-open .nav__link { padding: 12px 8px; }
  .burger { display: block; order: 5; margin-left: auto; }
  .nav__plan { order: 3; }
  .nav > .btn { order: 4; }
}
@media (max-width: 1040px) {
  .hero__grid { grid-template-columns: 1fr; gap: 44px; }
  .reading-layout { grid-template-columns:minmax(0,1fr); gap:26px; }
  [data-page="home"] .hero__grid { grid-template-columns: 1fr; }
  .home-intro .hero__title { max-width:14ch; }
  .tool { grid-template-columns: 44px minmax(0,1fr); gap: 18px; }
  .tool__desc { grid-column: 2; }
  .tool__go { grid-column: 2; text-align: left; }
  .footer__grid { grid-template-columns: 1fr 1fr; }
  .cards--5, .cards--7, .cards--12 { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .grid--4 { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .proof { grid-template-columns: 1fr; gap: 28px; }
  .includes { grid-template-columns: 1fr; }
}
@media (max-width: 860px) {
  .container { padding: 0 20px; }
  .field__control, select.field__control, textarea.field__control { font-size: 16px; }   /* iOS не зумит при фокусе */
  .btn { min-height: 44px; }                                                            /* тач-таргет */
  .nav__link { min-height: 44px; display: flex; align-items: center; }
  .section { padding: 64px 0; }
  .section--tight { padding:38px 0; }
  [data-page="natal"] > .section--tight:first-child,
  [data-page="matrix"] > .section--tight:first-child,
  [data-page="numerology"] > .section--tight:first-child,
  [data-page="compatibility"] > .section--tight:first-child { padding:36px 0 14px; }
  [data-page="natal"] > .section--tight:nth-child(2),
  [data-page="matrix"] > .section--tight:nth-child(2),
  [data-page="numerology"] > .section--tight:nth-child(2),
  [data-page="compatibility"] > .section--tight:nth-child(2) { padding:14px 0 48px; }
  .hide-sm { display: none; }
  .nav { flex-wrap: wrap; row-gap: 10px; padding: 12px 0; }
  .nav__links { display: none; order: 6; width: 100%; }
  .nav__links.is-open { display: flex; flex-direction: column; align-items: stretch; gap: 2px; padding-top: 10px; border-top: 1px solid var(--line-2); }
  .nav__links.is-open .nav__link { padding: 12px 8px; }
  .burger { display: block; order: 5; margin-left: auto; }
  .nav__plan { order: 3; }
  .nav > .btn { order: 4; }
  .trio { grid-template-columns: 1fr; }
  .plans, .steps, .grid--2, .grid--3, .access-offer, .checkout-hero { grid-template-columns: 1fr; }
  .steps { gap: 28px; }
  .cards--3, .cards--5, .cards--7, .cards--12 { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .field--row { grid-template-columns: 1fr; }
  .compatibility-pair { gap:24px; }
  .footer__grid { grid-template-columns: 1fr; gap: 26px; }
  .footer__legal { flex-direction: column; gap: 6px; }
  .section__head { flex-direction: column; align-items: flex-start; gap: 16px; }
  .acc__body { padding-left: 20px; }
  .zodiac-band { font-size: .85rem; }
}
@media (max-width: 520px) {
  .topbar__row { padding: 6px 0; font-size: .62rem; }
  .cards--3, .cards--5, .cards--7, .cards--12 { grid-template-columns: 1fr 1fr; }
  .grid--4 { grid-template-columns: 1fr 1fr; }
  .form-card { padding: 22px 18px; }
  .form-card .btn { max-width:100%; white-space:normal; text-align:center; line-height:1.35; overflow-wrap:anywhere; }
  #syn-form > .flex .btn { width:100%; }
  .nav { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; padding:14px 0; }
  .nav .brand { grid-column:1; grid-row:1; min-width:0; }
  .nav .pill { display:none; }
  .nav .burger { grid-column:2; grid-row:1; margin:0; }
  .nav > .btn { display:none !important; }
  .nav__links { grid-column:1 / -1; }
  .nav__links.is-open { grid-row:3; }
  .brand__name { font-size:1.12rem; }
  .brand__sub { font-size:.53rem; }
  .hero__lede, .lede { font-size:.98rem; line-height:1.65; }
  .home-intro .trust-row { display:none; }
  .home-choice__head { gap:11px; }
  .home-choice__card { min-height:132px; padding:16px; }
  .access-offer { padding:22px 16px; }
  .access-offer__card, .checkout-summary { padding:22px 18px; }
  .checkout-hero .h1 { font-size:clamp(2.75rem,14vw,4rem); }
  .modal { padding:12px; align-items:flex-end; }
  .modal__box { max-height:92vh; padding:28px 18px 20px; border-radius:16px 16px 0 0; }
  [data-page="home"] .hero { padding-top:34px; }
  [data-page="home"] .hero::before { width:400px; height:400px; right:-220px; top:-200px; }
  .home-intro { padding-top:8px; }
  .home-intro .hero__title { font-size:clamp(2.8rem,14vw,4rem); }
  .home-choice { padding:20px 15px; border-radius:16px; }
  .home-tool-links { gap:8px; }
  .home-tool-links a { min-height:44px; padding:10px 13px; font-size:.76rem; }
  .home-choice__grid { grid-template-columns:1fr; }
  .home-choice__card, .home-choice__card--wide { grid-column:auto; min-height:140px; }
  .tool { grid-template-columns:44px minmax(0,1fr); gap:14px; padding:26px 0; }
  /* The description is wrapped in the third direct child of .tool.
     Place the wrapper, rather than only its paragraph, in column two. */
  .tool > :nth-child(2), .tool > :nth-child(3), .tool__go { grid-column:2; min-width:0; }
  .tool__desc, .tool__ex { overflow-wrap:break-word; }
  .guarantee { flex-direction: column; gap: 8px; }
  .post--lead { grid-column:auto; }
  .post--lead .post__title { font-size:1.35rem; }
  .prose, .prose > * { min-width:0; max-width:100%; overflow-wrap:anywhere; }
  .prose img, .prose video, .prose iframe { max-width:100%; height:auto; }
  .prose table { display:block; width:100%; overflow-x:auto; }
  .prose pre { max-width:100%; overflow-x:auto; white-space:pre; }
}

/* ── печать ────────────────────────────────────────────────── */
@media print {
  .topbar, .footer, .consent, .lock, .btn { display: none !important; }
  body { background: #fff; color: #000; }
  body::before, body::after { display: none; }
  .container { max-width: none; }
}
