/* Фирменные цвета поверх site.css: без зелёного, только #05cab6 и #5f6c9f (и градиент между ними).
   Подключается в base.html после site.css. */
:root { --color-accent: #05cab6; --color-accent-dark: #5f6c9f; --color-violet: #5f6c9f; --brand-gradient: linear-gradient(120deg, #5f6c9f 0%, #05cab6 100%); }
.button--primary { background: #05cab6; }
.button--primary:hover { background: #5f6c9f; }
.service-card--mint .service-card__icon { background: #d5f6f2; color: #05cab6; }
.service-card--violet .service-card__icon { background: #dfe2ee; color: #5f6c9f; }
.service-card--pink .service-card__icon { background: linear-gradient(135deg, #5f6c9f, #05cab6); color: #fff; }
.service-card--amber .service-card__icon { background: #5f6c9f; color: #fff; }
.review__mark { color: #d5f6f2; }
.counters__value, .counters__icon { color: #5f6c9f; }
.counters__item:nth-child(odd) .counters__value, .counters__item:nth-child(odd) .counters__icon { color: #05cab6; }

/* responsive-fix-1: blog list ran 15px past the screen on phones and tablets */
@media (max-width: 1199px) { .container--wide > .posts { margin-left: 0; margin-right: 0; } }
/* responsive-fix-1: AI block on the home page was wider than the screen at tablet width */
@media (max-width: 1199px) { .ai-section__inner { grid-template-columns: minmax(0, 1fr); } .ai-section__inner > * { min-width: 0; } }

/* responsive-fix-2: on phones wide containers had no side margins, text touched the screen edges */
@media (max-width: 767px) {
	.container--wide { padding-left: 16px; padding-right: 16px; }
	.container--wide > .posts .post-card { padding-left: 0; padding-right: 0; }
}

/* responsive-fix-3: one-column grids must not grow wider than the screen (about, solutions, contacts) */
@media (max-width: 1220px) {
	.solutions-section__grid, .technologies__inner, .ai-section__inner, .director__inner { grid-template-columns: minmax(0, 1fr); }
	.solutions-section__grid > *, .technologies__inner > *, .director__inner > * { min-width: 0; }
	.director__text { width: auto; max-width: 100%; }
}
@media (max-width: 900px) {
	.cta-band__inner { grid-template-columns: minmax(0, 1fr); row-gap: 20px; }
	.cta-band__text { min-width: 0; }
}
@media (max-width: 640px) {
	.contacts__columns { grid-template-columns: minmax(0, 1fr); row-gap: 24px; }
	.contacts__column { width: auto; min-width: 0; }
	.contacts__line, .about-cta__contact { overflow-wrap: anywhere; }
}
main img { max-width: 100%; }

/* responsive-fix-4 */
@media (max-width: 1220px) {
	.page--about .director__inner { grid-template-columns: minmax(0, 1fr); column-gap: 0; padding: 0 16px; }
	html, body { overflow-x: clip; }
}
@media (max-width: 480px) {
	.cookie-banner { left: 12px; right: 12px; width: auto; max-width: none; }
	.cookie-banner-actions { flex-wrap: wrap; }
}

/* responsive-fix-5: hero ticks («С 2014 года») touched the left edge on phones */
@media (max-width: 767px) { .hero__stats { padding: 0 16px; flex-wrap: wrap; justify-content: center; gap: 12px 24px; } }
