/* ============================================================
   СПБ Переезд — prose
   SEO-текстовый блок. Контент приходит произвольным HTML
   из текстового редактора админки, поэтому стилизуются
   голые теги внутри .sp-prose, а не классы.
   Контент-менеджер может писать как угодно — вёрстка не поедет.
   ============================================================ */

.sp-prose{max-width:840px;font-size:16px;line-height:1.75;color:var(--ink-2)}
.sp-prose > *:first-child{margin-top:0}
.sp-prose > *:last-child{margin-bottom:0}

/* --- заголовки --- */
.sp-prose h2,.sp-prose h3,.sp-prose h4,.sp-prose h5{
  font-family:var(--f-display);font-weight:700;color:var(--ink);letter-spacing:-.015em;
}
.sp-prose h2{font-size:clamp(21px,2.3vw,28px);margin:40px 0 15px;line-height:1.25}
.sp-prose h3{font-size:clamp(18px,1.8vw,22px);margin:32px 0 12px;line-height:1.3}
.sp-prose h4{font-size:17px;margin:26px 0 10px}
.sp-prose h5{font-size:15.5px;margin:22px 0 8px}

/* --- текст --- */
.sp-prose p{margin:0 0 17px}
.sp-prose strong,.sp-prose b{color:var(--ink);font-weight:600}
.sp-prose a{color:var(--brand);text-decoration:underline;text-underline-offset:3px;
  text-decoration-thickness:1px}
.sp-prose a:hover{color:var(--brand-dk)}
.sp-prose small{font-size:13.5px;color:var(--ink-3)}
.sp-prose code{font-family:var(--f-mono);font-size:.9em;background:var(--bg-2);
  padding:2px 6px;border-radius:6px}
.sp-prose hr{border:none;border-top:1px solid var(--line);margin:34px 0}

/* --- списки: маркеры перерисованы под бренд --- */
.sp-prose ul,.sp-prose ol{margin:0 0 19px;padding:0;list-style:none}
.sp-prose li{margin-bottom:10px;line-height:1.65}
.sp-prose li:last-child{margin-bottom:0}
.sp-prose ul li{position:relative;padding-left:27px}
.sp-prose ul li::before{content:"";position:absolute;left:8px;top:11px;width:6px;height:6px;
  border-radius:50%;background:var(--brand)}
.sp-prose ol{counter-reset:sp-ol}
.sp-prose ol li{position:relative;padding-left:33px;counter-increment:sp-ol}
.sp-prose ol li::before{content:counter(sp-ol) ".";position:absolute;left:5px;top:0;
  font-family:var(--f-display);font-weight:700;color:var(--brand)}
.sp-prose li > ul,.sp-prose li > ol{margin:10px 0 0}

/* --- цитата --- */
.sp-prose blockquote{margin:24px 0;padding:17px 24px;background:var(--bg-2);
  border-left:3px solid var(--brand);border-radius:0 var(--r) var(--r) 0}
.sp-prose blockquote p:last-child{margin-bottom:0}

/* --- медиа --- */
.sp-prose img{max-width:100%;height:auto;border-radius:var(--r);margin:24px 0;display:block}
.sp-prose figure{margin:24px 0}
.sp-prose figure img{margin:0}
.sp-prose figcaption{font-size:13px;color:var(--ink-3);margin-top:9px}

/* --- таблицы из редактора --- */
.sp-prose table{width:100%;border-collapse:collapse;margin:24px 0;font-size:14.5px;
  background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.sp-prose th{text-align:left;padding:13px 16px;background:var(--bg-2);font-weight:600;
  font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);
  border-bottom:1px solid var(--line)}
.sp-prose td{padding:13px 16px;border-bottom:1px solid var(--line-2)}
.sp-prose tr:last-child td{border-bottom:none}

/* Модификатор: текст во всю ширину контейнера */
.sp-prose--wide{max-width:none}

@media(max-width:640px){
  .sp-prose{font-size:15.5px;line-height:1.7}
  .sp-prose table{display:block;overflow-x:auto}
}
