/* Фотографические фоны для смысловых блоков: текст остаётся на светлой подложке. */
.seo-text, .process, .faq {
  background-image: linear-gradient(rgba(248, 249, 253, .64), rgba(248, 249, 253, .64)), url("/assets/images/section-plaster-bg-v2.jpg");
  background-position: center;
  background-size: cover;
}
.prices, .works, .reviews {
  background-image: linear-gradient(rgba(248, 249, 253, .54), rgba(248, 249, 253, .54)), url("/assets/images/section-interior-bg-v2.jpg");
  background-position: center;
  background-size: cover;
}
.geography, .vacancies {
  background-image: linear-gradient(90deg, rgba(15, 29, 88, .72), rgba(15, 29, 88, .46)), url("/assets/images/section-crimea-bg-v2.jpg");
  background-position: center;
  background-size: cover;
}
.geography h2, .vacancies h2, .geography p, .vacancies p { color: #fff; }
.geography h2::after, .vacancies h2::after { background: var(--accent); }
.price-card, .faq details, .advantages article, .service-grid article { background-color: rgba(255, 255, 255, .94); }
.calculation {
  background-image: linear-gradient(120deg, rgba(23, 40, 127, .94), rgba(41, 68, 200, .84)), url("/assets/images/section-crimea-bg-v2.jpg");
  background-position: center;
  background-size: cover;
}
.site-footer { display: flex; flex-wrap: wrap; align-items: center; gap: 28px; padding: 38px max(28px, calc((100vw - 1240px) / 2)); color: var(--ink); background: #edf0f8; }
.site-footer nav { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-left: auto; font-size: 15px; }
.site-footer small { width: 100%; padding-top: 20px; color: var(--muted); border-top: 1px solid var(--line); }
/* Раздел статей */
.page-hero {
  min-height: 360px;
  padding: 145px max(28px, calc((100vw - 1180px) / 2)) 70px;
  color: #fff;
  background: linear-gradient(90deg, rgba(15, 26, 82, .88), rgba(15, 26, 82, .54)), url("/assets/images/hero.jpg") center / cover no-repeat;
}
.page-hero .eyebrow { margin: 0 0 12px; color: var(--accent); font-size: 15px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.page-hero h1 { max-width: 850px; margin: 0; }
.page-hero p:not(.eyebrow) { max-width: 720px; margin: 18px 0 0; color: rgba(255, 255, 255, .9); font-size: 19px; }
.articles-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.article-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 28px;
  background: rgba(255, 255, 255, .95);
  border: 1px solid var(--line);
  border-top: 4px solid var(--brand);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.article-date { margin: 0 0 14px; color: var(--muted); font-size: 14px; font-weight: 700; }
.article-card h2 { margin: 0 0 12px; color: var(--brand-dark); font-size: 24px; line-height: 1.22; }
.article-card p:not(.article-date) { margin: 0 0 22px; }
.article-link { margin-top: auto; color: var(--brand); font-weight: 800; }
.article-link::after { margin-left: 8px; content: "→"; }
.article-page { background: var(--surface-alt); }
.article-layout { display: grid; grid-template-columns: minmax(0, 780px) 290px; align-items: start; gap: 32px; }
.article-content {
  padding: clamp(24px, 4vw, 52px);
  background: rgba(255, 255, 255, .96);
  border: 1px solid var(--line);
  border-radius: 22px;
  box-shadow: var(--shadow);
}

