/* NOIRA, подача «роза и шампань»: светлый глянец.

   Это та розово-шампанская версия, что стояла на noira2 до замены, доведённая:
   кремовый фон с розовым подтоном, бронза вместо золота (золото на светлом не
   читается), малиновый на риске и главном действии, антиква Prata как в модном
   журнале. Прежний фон с розовыми и сиреневыми пятнами назвали отталкивающим:
   пятен нет, остался ровный тёплый свет сверху. График пишется пером, по заливке
   проходит блик, а точки истории отрываются от кривой глянцевыми карточками.

   Сырой цвет живёт только здесь. */

:root {
  --night:      #faf3ee;
  --night-2:    #f4e8e1;
  --card:       #fffaf7;
  --card-2:     #f8eee8;

  --line:       rgba(70, 36, 50, .13);
  --line-2:     rgba(70, 36, 50, .26);

  --cream:      #2a1720;
  --cream-2:    #5b4450;
  --cream-3:    #725b67;

  /* бронза: рост и деньги; малиновый: риск и главное действие */
  --gold:       #8a5418;
  --gold-soft:  rgba(138, 84, 24, .1);
  --gold-deep:  #6b400f;
  --gold-lift:  #a8692a;
  --on-gold:    #fff8f1;
  --rose:       #b51f50;
  --rose-lift:  #d23b6c;
  --on-rose:    #fff6f8;
  --rose-soft:  rgba(181, 31, 80, .08);
  --champ:      #e9cfa8;
  /* светлые подложки: румянец и шампань, только для градиентов плиток */
  --blush-1:    #fbe6ec;
  --blush-2:    #fdeef2;
  --blush-3:    #fbe3ea;
  --rose-pale:  #f3b2c6;
  --champ-2:    #f5e2c8;
  --champ-3:    #f7e7d2;
  --champ-4:    #fbf0e1;
  --paper-1:    #fbf5f1;
  --paper-2:    #f8efe9;
  --paper-3:    #f6ebe4;

  --sheen:      #ffffff;
  --spot:       rgba(233, 207, 168, .35);

  --f-display:  "Prata";
  --f-num:      "Playfair";
  --w-num:      400;

  --r-s: 8px;
  --r-m: 18px;
  --r-l: 28px;

  --col: 1180px;
  --pad: 24px;

  --ease: cubic-bezier(.2, .7, .3, 1);
  --t: 240ms;
}

/* ровный тёплый свет сверху и лёгкий шампанский край снизу, без пятен */
body::before {
  background:
    radial-gradient(90vw 55vh at 50% -14%, rgba(255, 255, 255, .95), transparent 64%),
    linear-gradient(180deg, var(--paper-1) 0%, var(--paper-2) 55%, var(--paper-3) 100%);
}
body::after { opacity: .14; }

h1, h2 { font-weight: 400; letter-spacing: -.005em; }
.display em, .h2 em { font-family: "Playfair", Georgia, serif; font-style: italic; font-weight: 500; color: var(--gold); }

.top { background: rgba(250, 243, 238, .85); }
.dock { background: rgba(250, 243, 238, .95); }
.mnav { background: var(--card); }
.mark-word { font-family: "Prata", Georgia, serif; font-weight: 400; }
.mark-dot { background: var(--rose); }

/* главная кнопка: малиновый глянец с бликом при наведении */
.btn-ink {
  position: relative; overflow: hidden;
  background: linear-gradient(100deg, var(--rose), var(--rose-lift));
  color: var(--on-rose); font-weight: 600;
  box-shadow: 0 10px 28px -10px rgba(194, 37, 90, .5);
}
.btn-ink::after {
  content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 40%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .45), transparent);
  transform: translateX(-160%) skewX(-18deg); transition: transform 700ms var(--ease);
}
.btn-ink:hover::after { transform: translateX(320%) skewX(-18deg); }
.btn-ink:hover { transform: translateY(-1px); box-shadow: 0 14px 32px -10px rgba(194, 37, 90, .6); }
.btn-line { background: var(--card); border-color: var(--line-2); color: var(--cream); }
.btn-line:hover { border-color: var(--rose); color: var(--rose); }
.lang button.on { background: var(--cream); color: var(--card); }
.kicker { color: var(--rose); }

/* ── сцена ── */
.stage .display { font-size: clamp(33px, 4.6vw, 70px); }
.s-line { stroke-width: 2.6; }
.s-halo { opacity: .08; }
.s-halo-2 { opacity: .03; }
.s-stop-a { stop-color: var(--champ); stop-opacity: .75; }
.s-stop-b { stop-color: var(--champ); stop-opacity: .05; }
.s-pt-dot { fill: var(--card); }
.s-pt-lbl { stroke: var(--night); fill: var(--cream-2); }
.s-wire { stroke: var(--rose); opacity: .7; }
.st-tile {
  background: var(--card); border-color: transparent;
  box-shadow: 0 1px 2px rgba(70, 36, 50, .06), 0 18px 36px -22px rgba(70, 36, 50, .38);
}
.st-tile::before {
  content: ""; position: absolute; inset: 0 0 auto; height: 3px;
  background: linear-gradient(90deg, var(--champ), var(--gold-lift));
}
.st-tile.neg::before { background: linear-gradient(90deg, var(--rose-pale), var(--rose)); }
.cap-dots li { border-radius: 999px; width: 8px; height: 8px; background: var(--line-2); transition: background 400ms var(--ease), transform 400ms var(--ease); }
.cap-dots li.on { background: var(--rose); transform: scale(1.2); }
.cap b { font-weight: 400; }
.chart-tip { background: var(--cream); color: var(--card); }

/* ── плитки: белый глянец на розовом креме ── */
.fig, .brief-item, .xs, .way, .mon, .pf, .step, .meth > div, .brk-row, .faq details, .mo-col, .stat, .calc-out {
  background: var(--card); border-color: rgba(70, 36, 50, .07);
}
.fig, .brief-item, .xs, .way, .mon, .step {
  box-shadow: 0 1px 2px rgba(70, 36, 50, .05), 0 22px 44px -28px rgba(70, 36, 50, .34);
}
.brief-item, .xs, .way, .mon { transition: transform var(--t) var(--ease), box-shadow var(--t) var(--ease); }
.brief-item:hover, .xs:hover, .way:hover {
  transform: translateY(-3px);
  box-shadow: 0 1px 2px rgba(70, 36, 50, .05), 0 28px 50px -26px rgba(70, 36, 50, .42);
}
.brief-item::after, .xs::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit;
  opacity: 0; transition: opacity 320ms var(--ease);
  background: radial-gradient(360px circle at var(--mx, 50%) var(--my, 30%), var(--spot), transparent 62%);
}
.brief-item:hover::after, .xs:hover::after { opacity: 1; }
.fig::before { display: none; }
.brief-ic { border: 0; background: linear-gradient(140deg, var(--blush-1), var(--champ-2)); color: var(--rose); }
.brief-n { color: var(--rose); font-size: 14px; }
.brief-item h3 { font-family: "Prata", Georgia, serif; font-weight: 400; font-size: 21px; }

/* номер раздела в малиновой плашке */
.sec-num {
  align-self: flex-start; padding: 6px 11px 5px; margin-top: 8px; min-width: 0;
  border-radius: 999px; background: var(--rose-soft); color: var(--rose); font-size: 11.5px; line-height: 1;
}
.steps-title, .way h3 { font-family: "Prata", Georgia, serif; font-weight: 400; }
.way-sum, .refbox .code b, .calc-n, .calc-s, .fig-n, .xs-n, .pf-n, .tranche td, .brk-v, .mo-ytot, .stat-n { font-weight: 400; }

@media (min-width: 1040px) {
  .intro-in > .hero-figs { box-shadow: 0 22px 44px -28px rgba(70, 36, 50, .34); border-color: rgba(70, 36, 50, .08); background: rgba(70, 36, 50, .08); }
}

.risk-list li { background: var(--card); border-color: rgba(194, 37, 90, .16); box-shadow: 0 14px 30px -24px rgba(194, 37, 90, .35); }
.risk-list li::before { color: var(--rose); }
.sec-risk { background: linear-gradient(180deg, transparent, rgba(194, 37, 90, .04), transparent); }
.mo-year { background: var(--card-2); }
.dist-bar, .sym-bar, .mo-zero { background: var(--night-2); }
.field input, .field textarea { background: var(--card); }
#cd { color-scheme: light; }
.modal { background: var(--card); }
.modal::backdrop { background: rgba(42, 23, 32, .4); }
.mon-shot img { filter: none; }
.mon-shot { background: var(--night-2); }
.g-fill { fill: rgba(233, 207, 168, .45); }
.g-fill-neg { fill: rgba(194, 37, 90, .1); }
.sl-mask { fill: var(--night); opacity: .72; }
.panel-range button.on { background: var(--cream); color: var(--card); }
.calc-out { background: linear-gradient(160deg, var(--blush-2), var(--card) 60%); }
.final-in { background: linear-gradient(150deg, var(--blush-3), var(--champ-3) 62%, var(--card)); border-color: transparent; box-shadow: 0 30px 60px -36px rgba(70, 36, 50, .4); }
.way-warn { background: rgba(194, 37, 90, .06); }
.refbox { background: linear-gradient(150deg, var(--champ-4), var(--card)); border-color: rgba(138, 84, 24, .22); }
.tranche-wrap { background: var(--card); border-color: rgba(70, 36, 50, .08); box-shadow: 0 22px 44px -32px rgba(70, 36, 50, .3); }
.faq details[open] { border-color: rgba(194, 37, 90, .25); }
.faq summary::after { border-color: var(--rose); }
.ticks li::before { border-color: var(--rose); }

@media (max-width: 860px) {
  .stage .display { font-size: clamp(28px, 8.2vw, 42px); }
}
