/* ════════════════════════════════════════════════════════════════════
   «МОЯ СТРАТЕГИЯ» · версия для экспертов — дополнения к moya-strategiya.css
   ════════════════════════════════════════════════════════════════════ */

/* ── HERO: длинный заголовок вместо двух слов ── */
.hero h1 { font-size: clamp(52px, 8.4vw, 118px); line-height: 0.92; max-width: 980px; text-wrap: balance; }
.hero .script-line { margin-top: 18px; }
.hero .sub { max-width: 680px; }

/* ── ЗАЧЕМ ── */
.problem .req-list { margin-bottom: 0; }
.problem .verdict-sm { font-size: clamp(54px, 9vw, 120px); margin-top: 6px; }
.consequence .cq-intro { font-size: 20px; line-height: 1.6; margin-bottom: 44px; color: var(--fg-1); }
.problem .consequence .cq-list { margin-bottom: 0; }

/* ── МАСШТАБ ПО РАЗМЕРУ ── */
.scale { background: var(--bg-2); }
.scale .head { max-width: 820px; margin-bottom: calc(52px * var(--air)); }
.scale h2 { font-size: clamp(34px, 5vw, 56px); font-weight: 600; line-height: 1.04; margin: 18px 0 0; }
.scale-body { display: grid; grid-template-columns: 1.3fr 0.7fr; gap: 64px; align-items: start; }
.scale-story p { color: var(--fg-2); font-size: 19px; line-height: 1.62; margin: 0 0 18px; }
.scale-stat { border-top: 1px solid var(--accent); padding-top: 26px; }
.scale-stat .k { font-family: var(--f-display); font-weight: 600; font-size: clamp(80px, 10vw, 128px); line-height: 0.85; color: var(--accent); }
.scale-stat .v { margin-top: 14px; font-size: 15px; color: var(--fg-3); line-height: 1.5; max-width: 260px; }
.scale-start { margin-top: calc(72px * var(--air)); }
.scale-start .lead-in { font-size: 22px; font-weight: 600; margin: 0 0 22px; }
.scale-start .author-q { font-size: clamp(30px, 4.4vw, 52px); line-height: 1; color: var(--c-ink); }
.scale-start .author-q span:last-child { color: var(--accent); }
.scale-start .after { font-size: 20px; color: var(--fg-2); margin: 28px 0 0; }
.scale .pivot { margin-top: calc(72px * var(--air)); border-top: 1px solid var(--accent); padding-top: 40px; max-width: 820px; }
.scale .pivot p { font-size: clamp(24px, 3vw, 34px); line-height: 1.32; font-weight: 500; margin: 0; }
.scale .pivot .em { color: var(--accent); }
@media (max-width: 820px) { .scale-body { grid-template-columns: 1fr; gap: 32px; } }

/* фоны: чередуем после вставки блока «Масштаб» */
.author { background: var(--c-paper); }
.partners { background: var(--bg-2); }
.partners .pcard { background: var(--c-paper); }

/* ── AUTHOR ── */
.author-story .creds { margin: 22px 0 34px; padding-top: 0; border-top: none; }

/* ── PROGRAM ── */
.program .head { margin-bottom: calc(48px * var(--air)); }
.stage .body .desc { margin-bottom: 0; }

/* ── OUTCOMES ── */
.out-grid .o:last-child:nth-child(odd) { grid-column: 1 / -1; }

/* ── FORMAT: 4 карточки ── */
.fmt-grid.fmt-4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 980px) { .fmt-grid.fmt-4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .fmt-grid.fmt-4 { grid-template-columns: 1fr; } }

/* ── TARIFF ── */
.tar .tar-note { font-size: 15px; color: var(--fg-2); line-height: 1.55; margin: 0 0 24px; padding: 18px 20px; background: var(--bord-50); border-radius: 14px; }

/* ── FAQ ── */
.faq { background: var(--c-paper); }
.faq .head { margin-bottom: calc(40px * var(--air)); }
.faq h2 { font-size: clamp(34px, 5vw, 56px); font-weight: 600; line-height: 1.04; margin: 18px 0 0; }
.faq-list { border-top: 1px solid var(--border-line); }
.qa { border-bottom: 1px solid var(--border-line); }
.qa summary {
  list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 24px;
  align-items: baseline; padding: 26px 0; font-size: 21px; font-weight: 600; line-height: 1.35;
  transition: color var(--dur-fast);
}
.qa summary::-webkit-details-marker { display: none; }
.qa summary::after { content: "+"; color: var(--accent); font-size: 28px; font-weight: 400; line-height: 1; flex-shrink: 0; transition: transform .25s; }
.qa[open] summary::after { transform: rotate(45deg); }
.qa summary:hover { color: var(--accent); }
.qa p { margin: 0 0 28px; max-width: 720px; font-size: 18px; color: var(--fg-2); line-height: 1.62; }

/* ── FINAL ── */
.final .reassure a { color: inherit; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,0.4); }
.final .reassure a:hover { color: #fff; }
.final .reassure { font-size: 15px; }

/* ── места, которые нужно сверить/вставить ── */
mark.todo { background: #FFE58A; color: var(--c-ink); padding: 0 4px; border-radius: 4px; }

/* ── MOBILE ── */
@media (max-width: 560px) {
  .wrap { padding: 0 16px; }
  .hero h1 { font-size: clamp(40px, 11vw, 60px); }
  .hero .eyebrow { letter-spacing: 0.16em; font-size: 11px; }
  .hero .eyebrow::before { display: none; }
  .qa summary { font-size: 18px; }
}
@media (max-width: 560px) { .hide-sm { display: none; } header.nav .btn { padding: 10px 18px; } }
.problem .consequence.cq-first { margin-top: 0; border-top: none; padding-top: 0; }
header.nav .head-cta { gap: 0.28em; }

/* ── правки v2 ── */
.hero .sub-2 { margin-top: 18px; color: var(--c-ink); font-weight: 500; }
.doubts { margin-top: calc(64px * var(--air)); }
.doubts-lead { font-size: 20px; color: var(--fg-2); margin: 0 0 20px; }
.doubts .author-q { font-size: clamp(30px, 4.4vw, 52px); line-height: 1; color: var(--c-ink); }
.doubts .author-q span:last-child { color: var(--accent); }
.pcard .prole a { color: inherit; text-decoration: none; border-bottom: 1px solid rgba(131,0,0,0.3); }
.pcard .prole a:hover { border-bottom-color: var(--accent); }
.seg-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-bottom: calc(72px * var(--air)); }
.seg-card { background: var(--bg-2); border: 1px solid var(--border-hair); border-radius: var(--r-card); padding: 32px 28px; }
.seg-n { font-family: var(--f-display); font-weight: 600; font-size: 40px; color: var(--accent); line-height: 1; }
.seg-t { font-size: 20px; font-weight: 600; margin: 18px 0 10px; }
.seg-card p { margin: 0; font-size: 16px; color: var(--fg-2); line-height: 1.55; }
.whom-sub { font-size: clamp(28px, 3.6vw, 40px); font-weight: 600; margin: 0 0 24px; }
@media (max-width: 860px) { .seg-grid { grid-template-columns: 1fr; } }
/* старая цена: читаемый шрифт */
.tar .tprice .old { font-family: var(--f-sans); font-weight: 500; font-size: 22px; color: var(--fg-2); letter-spacing: 0; text-decoration-thickness: 1.5px; }

/* ── правки v3 ── */
.foundation { background: var(--c-ink); color: var(--fg-inv); }
.foundation .eyebrow { color: var(--bord-300); }
.foundation .eyebrow::before { background: var(--bord-300); }
.fd-grid { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 72px; align-items: center; }
.foundation h2 { color: #fff; font-size: clamp(32px, 4.4vw, 52px); font-weight: 600; line-height: 1.08; margin: 18px 0 30px; text-wrap: balance; }
.fd-text p { font-size: 18px; line-height: 1.62; color: var(--fg-inv-2); margin: 0 0 16px; max-width: 600px; }
.fd-text .fd-accent { color: #fff; font-family: var(--f-serif); font-style: italic; font-size: clamp(21px, 2.2vw, 26px); line-height: 1.35; margin-top: 30px; padding-top: 26px; border-top: 1px solid rgba(255,255,255,0.18); }
.fd-pyramid { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.fd-pyramid .lvl { display: flex; align-items: center; gap: 16px; padding: 20px 24px; border-radius: 16px; border: 1px solid rgba(255,255,255,0.18); color: var(--fg-inv-2); font-size: 15.5px; line-height: 1.35; }
.fd-pyramid .lvl .n { font-family: var(--f-display); font-weight: 600; font-size: 24px; color: rgba(255,255,255,0.5); flex-shrink: 0; }
.fd-pyramid .l3 { width: 64%; }
.fd-pyramid .l2 { width: 82%; }
.fd-pyramid .l1 { width: 100%; background: var(--accent); border-color: var(--accent); color: #fff; font-weight: 600; font-size: 17px; padding: 26px 24px; }
.fd-pyramid .l1 .n { color: rgba(255,255,255,0.75); }
@media (max-width: 860px) { .fd-grid { grid-template-columns: 1fr; gap: 40px; } }

.author-story .own-work { margin-top: 40px; padding-top: 26px; border-top: 1px solid var(--accent); }
.ow-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 14px; }
.ow-grid .k { font-family: var(--f-display); font-weight: 600; font-size: 44px; line-height: 1; color: var(--accent); }
.ow-grid .v { font-size: 14px; color: var(--fg-3); line-height: 1.4; margin-top: 8px; }
@media (max-width: 560px) { .ow-grid { grid-template-columns: repeat(2, 1fr); } }

.program .head p { margin: 0; }
.stage .marker .sub-l { margin-top: 10px; font-family: var(--f-serif); font-style: italic; font-size: 17px; color: var(--accent); }
.stage .body .q { margin-bottom: 22px; }
.outcomes h2 { max-width: 860px; text-wrap: balance; }
.out-grid .o b { font-weight: 600; }
.out-grid .o .od { display: inline-block; margin-top: 6px; font-size: 15px; color: rgba(255,255,255,0.72); line-height: 1.45; }

/* ── правки v4 ── */
.hero h1 .h1-name { display: block; color: var(--accent); }
.price-rows { margin: 24px 0 18px; border-top: 1px solid var(--border-hair); }
.price-rows .pr { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 16px 0; border-bottom: 1px solid var(--border-hair); }
.price-rows .pv { font-family: var(--f-sans); font-weight: 700; font-variant-numeric: tabular-nums; letter-spacing: -0.01em; white-space: nowrap; }
.price-rows .pl { font-size: 16px; color: var(--fg-2); }
.price-rows .now .pv { font-size: clamp(36px, 5vw, 46px); color: var(--accent); line-height: 1; }
.price-rows .now .pl { color: var(--c-ink); font-weight: 600; }
.price-rows .later .pv { font-size: 26px; color: var(--fg-2); }
