/* Переопределение глобального фона шапки для страниц с новым дизайном услуг */
.main-header {
	background: #10131a !important;
	background-image: linear-gradient(#262c38 1px, transparent 1px), linear-gradient(90deg, #262c38 1px, transparent 1px) !important;
	background-size: 48px 48px !important;
}

.main-header-bg-wrap,
.main-header-overlay {
	display: none !important;
}

.razrabotka-sajta-page {
	--bg: #10131a;
	--panel: #161a23;
	--panel-2: #1c212c;
	--line: #262c38;
	--line-strong: #333b4a;
	--text: #e9ebf0;
	--muted: #8b93a3;
	--accent: #ffb454;
	--accent-dim: #3a2f1f;
	--ok: #57c48b;
	--radius: 10px;
	--mono: 'JetBrains Mono', 'SF Mono', Consolas, monospace;
	--sans: 'Inter', -apple-system, Segoe UI, Roboto, sans-serif;

	background: var(--bg);
	color: var(--text);
	font-family: var(--sans);
	line-height: 1.55;
	margin-top: 0;
	padding-bottom: 40px;
}

/* Изолируем основные селекторы */
.razrabotka-sajta-page * {
	box-sizing: border-box;
}

.razrabotka-sajta-page a {
	color: inherit;
	text-decoration: none;
}

.razrabotka-sajta-page .wrap {
	max-width: 1160px;
	margin: 0 auto;
	padding: 0 10px;
}

.razrabotka-sajta-page section {
	padding: 88px 0;
	border-bottom: 1px solid var(--line);
}

.razrabotka-sajta-page .eyebrow {
	font-family: var(--mono);
	font-size: 12.5px;
	color: var(--accent);
	letter-spacing: .08em;
	text-transform: uppercase;
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 16px;
}

.razrabotka-sajta-page .eyebrow::before {
	content: '';
	width: 18px;
	height: 1px;
	background: var(--accent);
}

.razrabotka-sajta-page h1,
.razrabotka-sajta-page h2 {
	font-weight: 800;
	letter-spacing: -0.01em;
}

.razrabotka-sajta-page h2 {
	font-size: 32px;
	margin-bottom: 14px;
}

.razrabotka-sajta-page .lede {
	color: var(--muted);
	font-size: 16px;
	max-width: 620px;
	margin-bottom: 44px;
}

.razrabotka-sajta-page .btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--accent);
	color: #10131a;
	font-weight: 700;
	font-size: 15px;
	padding: 14px 26px;
	border-radius: 8px;
	text-decoration: none;
	border: 0;
	cursor: pointer;
	transition: transform .12s;
}

.razrabotka-sajta-page .btn:hover {
	transform: translateY(-1px);
}

.razrabotka-sajta-page .btn-ghost {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	color: var(--text);
	border: 1px solid var(--line-strong);
	font-weight: 600;
	padding: 13px 24px;
	border-radius: 8px;
	text-decoration: none;
	font-size: 15px;
}

.razrabotka-sajta-page .reveal {
	opacity: 0;
	transform: translateY(14px);
	transition: opacity .5s ease, transform .5s ease;
}

.razrabotka-sajta-page .reveal.in {
	opacity: 1;
	transform: translateY(0);
}

/* HERO */
.razrabotka-sajta-page .hero {
	padding: 64px 0 0;
	background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);
	background-size: 48px 48px;
	position: relative;
}

.razrabotka-sajta-page .hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse 900px 480px at 50% 0%, rgba(16, 19, 26, 0) 0%, var(--bg) 78%);
	pointer-events: none;
}

.razrabotka-sajta-page .hero-inner {
	position: relative;
	text-align: center;
	max-width: 820px;
	margin: 0 auto;
}

.razrabotka-sajta-page .hero h1 {
	font-size: 44px;
	line-height: 1.14;
	margin-bottom: 18px;
}

.razrabotka-sajta-page .hero h1 em {
	color: var(--accent);
	font-style: normal;
}

.razrabotka-sajta-page .hero p.sub {
	color: var(--muted);
	font-size: 17px;
	max-width: 580px;
	margin: 0 auto 30px;
}

.razrabotka-sajta-page .hero-cta {
	display: flex;
	gap: 12px;
	justify-content: center;
	margin-bottom: 16px;
	flex-wrap: wrap;
}

.razrabotka-sajta-page .hero-trust {
	display: flex;
	justify-content: center;
	gap: 22px;
	flex-wrap: wrap;
	margin-bottom: 48px;
	color: var(--muted);
	font-size: 12.5px;
	font-family: var(--mono);
}

.razrabotka-sajta-page .hero-trust span {
	display: flex;
	align-items: center;
	gap: 6px;
}

.razrabotka-sajta-page .hero-trust b {
	color: var(--text);
}

/* LOGOS */
.razrabotka-sajta-page .logos {
	padding: 32px 0;
	border-bottom: 1px solid var(--line);
	background: var(--panel);
}

.razrabotka-sajta-page .logos-inner {
	max-width: 1160px;
	margin: 0 auto;
	padding: 0 24px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px;
}

.razrabotka-sajta-page .logo-item {
	font-family: var(--mono);
	color: var(--muted);
	font-size: 13px;
	letter-spacing: .04em;
	opacity: .75;
}

/* STATS */
.razrabotka-sajta-page .stats {
	padding: 0;
	border-bottom: 1px solid var(--line);
	background: var(--panel);
}

.razrabotka-sajta-page .stats-inner {
	max-width: 1160px;
	margin: 0 auto;
	padding: 0 24px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}

.razrabotka-sajta-page .stat {
	padding: 32px 24px;
	border-left: 1px solid var(--line);
}

.razrabotka-sajta-page .stat:first-child {
	border-left: 0;
}

.razrabotka-sajta-page .stat .n {
	font-family: var(--mono);
	font-size: 30px;
	font-weight: 700;
	color: var(--accent);
}

.razrabotka-sajta-page .stat .l {
	color: var(--muted);
	font-size: 13.5px;
	margin-top: 4px;
}

/* GRID BLOCKS */
.razrabotka-sajta-page .types-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1px;
	background: var(--line);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	overflow: hidden;
}

.razrabotka-sajta-page .type-card {
	background: var(--panel);
	padding: 28px 24px;
	transition: background .15s;
}

.razrabotka-sajta-page .type-card:hover {
	background: var(--panel-2);
}

.razrabotka-sajta-page .type-card .num {
	font-family: var(--mono);
	font-size: 12px;
	color: var(--muted);
}

.razrabotka-sajta-page .type-card h3 {
	font-size: 17px;
	margin: 10px 0 8px;
	font-weight: 600;
}

.razrabotka-sajta-page .type-card p {
	color: var(--muted);
	font-size: 13.5px;
}

.razrabotka-sajta-page .process {
	display: flex;
	flex-direction: column;
}

.razrabotka-sajta-page .step {
	display: grid;
	grid-template-columns: 90px 1fr;
	gap: 24px;
	padding: 26px 0;
	border-top: 1px solid var(--line);
}

.razrabotka-sajta-page .step:last-child {
	border-bottom: 1px solid var(--line);
}

.razrabotka-sajta-page .step .idx {
	font-family: var(--mono);
	font-size: 28px;
	color: var(--line-strong);
	font-weight: 700;
}

.razrabotka-sajta-page .step h4 {
	font-size: 18px;
	margin-bottom: 6px;
	font-weight: 600;
}

.razrabotka-sajta-page .step p {
	color: var(--muted);
	font-size: 14.5px;
	max-width: 660px;
}

.razrabotka-sajta-page .cms-row {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 1px;
	background: var(--line);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	overflow: hidden;
}

.razrabotka-sajta-page .cms-item {
	background: var(--panel);
	padding: 26px 16px;
	text-align: center;
}

.razrabotka-sajta-page .cms-item .tag {
	font-family: var(--mono);
	font-weight: 700;
	font-size: 14.5px;
}

.razrabotka-sajta-page .cms-item .desc {
	color: var(--muted);
	font-size: 12px;
	margin-top: 6px;
}

/* CASE STUDIES */
.razrabotka-sajta-page .cases {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.razrabotka-sajta-page .case {
	background: var(--panel);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	overflow: hidden;
}

.razrabotka-sajta-page .case-thumb {
	height: 120px;
	background: repeating-linear-gradient(45deg, var(--panel-2) 0 10px, var(--panel) 10px 20px);
	border-bottom: 1px solid var(--line);
}

.razrabotka-sajta-page .case-body {
	padding: 20px;
}

.razrabotka-sajta-page .case-tag {
	font-family: var(--mono);
	font-size: 11px;
	color: var(--accent);
	text-transform: uppercase;
	letter-spacing: .05em;
}

.razrabotka-sajta-page .case h4 {
	font-size: 16px;
	margin: 8px 0 12px;
}

.razrabotka-sajta-page .case-metrics {
	display: flex;
	gap: 16px;
	border-top: 1px solid var(--line);
	padding-top: 12px;
}

.razrabotka-sajta-page .case-metrics div {
	flex: 1;
}

.razrabotka-sajta-page .case-metrics .m {
	font-family: var(--mono);
	color: var(--ok);
	font-weight: 700;
	font-size: 16px;
}

.razrabotka-sajta-page .case-metrics .l {
	color: var(--muted);
	font-size: 11px;
}

/* TRUST LADDER */
.razrabotka-sajta-page .ladder {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1px;
	background: var(--line);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	overflow: hidden;
}

.razrabotka-sajta-page .ladder-item {
	background: var(--panel);
	padding: 28px 22px;
}

.razrabotka-sajta-page .ladder-item .lv {
	font-family: var(--mono);
	font-size: 11px;
	color: var(--accent);
	text-transform: uppercase;
	letter-spacing: .05em;
	margin-bottom: 10px;
}

.razrabotka-sajta-page .ladder-item h4 {
	font-size: 15.5px;
	margin-bottom: 8px;
}

.razrabotka-sajta-page .ladder-item p {
	color: var(--muted);
	font-size: 13px;
}

/* GUARANTEES */
.razrabotka-sajta-page .guarantees {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1px;
	background: var(--line);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	overflow: hidden;
}

.razrabotka-sajta-page .g-item {
	background: var(--panel);
	padding: 26px;
	display: flex;
	gap: 16px;
	align-items: flex-start;
}

.razrabotka-sajta-page .g-icon {
	width: 36px;
	height: 36px;
	flex-shrink: 0;
	border-radius: 8px;
	background: var(--accent-dim);
	color: var(--accent);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--mono);
	font-weight: 700;
	font-size: 14px;
}

.razrabotka-sajta-page .g-item h4 {
	font-size: 15.5px;
	margin-bottom: 4px;
}

.razrabotka-sajta-page .g-item p {
	color: var(--muted);
	font-size: 13.5px;
}

/* PRICING */
.razrabotka-sajta-page .pricing {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.razrabotka-sajta-page .plan {
	background: var(--panel);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 10px;
	display: flex;
	flex-direction: column;
}

.razrabotka-sajta-page .plan.featured {
	border-color: var(--accent);
	position: relative;
}

.razrabotka-sajta-page .plan.featured::before {
	content: 'ОПТИМАЛЬНО';
	font-family: var(--mono);
	font-size: 10.5px;
	color: var(--bg);
	background: var(--accent);
	position: absolute;
	top: -11px;
	left: 24px;
	padding: 2px 8px;
	border-radius: 4px;
	letter-spacing: .05em;
}

.razrabotka-sajta-page .plan h4 {
	font-size: 16px;
	margin-bottom: 6px;
}

.razrabotka-sajta-page .plan .price {
	font-family: var(--mono);
	font-size: 26px;
	font-weight: 700;
	margin: 10px 0 4px;
}

.razrabotka-sajta-page .plan ul {
	list-style: none;
	margin: 20px 0;
	flex-grow: 1;
}

.razrabotka-sajta-page .plan li {
	font-size: 13.5px;
	color: var(--muted);
	padding: 7px 0;
	border-top: 1px solid var(--line);
}

.razrabotka-sajta-page .plan li::before {
	content: '✓ ';
	color: var(--ok);
}

/* FAQ (Аккордеон с симметричными отступами) */
.razrabotka-sajta-page .faq-item,
.faq-accordion .faq-item,
.faq-item {
	border: 1px solid var(--line, #262c38) !important;
	border-radius: var(--radius, 10px) !important;
	background: rgba(255, 255, 255, 0.02);
	margin-bottom: 12px;
	overflow: hidden;
	transition: border-color 0.25s ease, background-color 0.25s ease;
}

.razrabotka-sajta-page .faq-item:last-child,
.faq-accordion .faq-item:last-child {
	margin-bottom: 0;
}

.razrabotka-sajta-page .faq-item.open,
.razrabotka-sajta-page .faq-item.active,
.faq-accordion .faq-item.open,
.faq-accordion .faq-item.active,
.faq-accordion-item.active,
.faq-accordion-item.open {
	background: rgba(255, 255, 255, 0.04);
	border-color: rgba(255, 180, 84, 0.35) !important;
}

/* Симметричный одинаковый отступ сверху и снизу от текста вопроса/ссылки */
.razrabotka-sajta-page .faq-q,
.faq-q,
.faq-accordion-title {
	width: 100%;
	padding: 20px 24px !important;
	display: flex;
	justify-content: space-between;
	align-items: center;
	cursor: pointer;
	user-select: none;
	background: transparent;
	border: none;
	gap: 16px;
	font-size: 16px;
	font-weight: 600;
	color: #f8fafc;
	line-height: 1.5;
	margin: 0;
	transition: color 0.2s ease;
	box-sizing: border-box;
}

.faq-q:hover,
.faq-accordion-title:hover {
	color: var(--accent, #ffb454);
}

.faq-q > span:first-child,
.faq-q > a,
.faq-accordion-title > span:first-child {
	margin: 0;
	padding: 0;
	line-height: 1.5;
	display: block;
	flex: 1;
}

.razrabotka-sajta-page .faq-q .plus,
.faq-q .plus,
.faq-accordion-item .faq-icon,
.faq-accordion-title .faq-icon {
	font-family: var(--mono, monospace);
	font-size: 22px;
	font-weight: 400;
	color: #94a3b8;
	transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), color 0.25s ease;
	flex-shrink: 0;
	line-height: 1;
	margin: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
}

.faq-item.open .plus,
.faq-item.active .plus {
	transform: rotate(45deg);
	color: var(--accent, #ffb454);
}

.faq-accordion-item.active .faq-icon,
.faq-accordion-item.open .faq-icon,
.faq-accordion-title.active .faq-icon,
.faq-accordion-title.open .faq-icon {
	transform: rotate(180deg);
	color: var(--accent, #ffb454);
}

/* При раскрытии сохраняем одинаковые сбалансированные отступы */
.faq-item.open .faq-q,
.faq-item.active .faq-q,
.faq-accordion-item.active .faq-accordion-title,
.faq-accordion-item.open .faq-accordion-title {
	padding-bottom: 14px !important;
}

.faq-a,
.faq-accordion-content {
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	padding: 0 24px !important;
	transform: translateY(-4px);
	transition: max-height 0.35s ease, opacity 0.3s ease, transform 0.3s ease, padding 0.3s ease;
	display: block !important;
	color: #cbd5e1;
	font-size: 15px;
	line-height: 1.65;
	box-sizing: border-box;
}

.faq-item.open .faq-a,
.faq-item.active .faq-a,
.faq-accordion-item.active .faq-accordion-content,
.faq-accordion-item.open .faq-accordion-content {
	max-height: 1200px;
	opacity: 1;
	transform: translateY(0);
	padding: 0 24px 20px 24px !important;
}

.faq-a p,
.faq-accordion-content p {
	margin: 0 0 12px 0;
	line-height: 1.65;
}

.faq-a p:last-child,
.faq-accordion-content p:last-child {
	margin-bottom: 0;
}

@media (max-width: 768px) {
	.razrabotka-sajta-page .faq-q,
	.faq-q,
	.faq-accordion-title {
		font-size: 15px;
		padding: 16px 18px !important;
	}
	.faq-item.open .faq-q,
	.faq-item.active .faq-q,
	.faq-accordion-item.active .faq-accordion-title,
	.faq-accordion-item.open .faq-accordion-title {
		padding-bottom: 12px !important;
	}
	.faq-a,
	.faq-accordion-content {
		padding: 0 18px !important;
		font-size: 14px;
	}
	.faq-item.open .faq-a,
	.faq-item.active .faq-a,
	.faq-accordion-item.active .faq-accordion-content,
	.faq-accordion-item.open .faq-accordion-content {
		padding: 0 18px 16px 18px !important;
	}
}

.razrabotka-sajta-page .faq-cat {
	font-family: var(--mono);
	font-size: 11.5px;
	color: var(--accent);
	text-transform: uppercase;
	letter-spacing: .06em;
	margin: 32px 0 4px;
}

.razrabotka-sajta-page .faq-cat:first-child {
	margin-top: 0;
}

/* CTA */
.razrabotka-sajta-page .cta-section {
	border-bottom: 0;
}

.razrabotka-sajta-page .cta-box {
	background: var(--panel);
	border: 1px solid var(--line);
	border-radius: 16px;
	padding: 52px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	align-items: center;
}

.razrabotka-sajta-page .form {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

/* Стилизация полей ввода ActiveForm */
.razrabotka-sajta-page .form .form-group {
	margin-bottom: 0;
}

.razrabotka-sajta-page .form .help-block {
	font-size: 11px;
	color: #ff6b6b;
	margin-top: 4px;
	display: block;
}

.razrabotka-sajta-page .form input,
.razrabotka-sajta-page .form textarea {
	background: var(--bg);
	border: 1px solid var(--line-strong);
	border-radius: 8px;
	padding: 13px 14px;
	color: var(--text);
	font-family: var(--sans);
	font-size: 14px;
	width: 100%;
}

.razrabotka-sajta-page .form input:focus,
.razrabotka-sajta-page .form textarea:focus {
	border-color: var(--accent);
	outline: none;
}

.razrabotka-sajta-page .form .btn {
	margin-top: 6px;
	justify-content: center;
}

.razrabotka-sajta-page .form .fine {
	font-size: 11.5px;
	color: var(--muted);
	text-align: center;
	margin-top: 4px;
}

.razrabotka-sajta-page .form-submit-row {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 6px;
	flex-wrap: wrap;
}

.razrabotka-sajta-page .form-submit-row button {
	flex-grow: 1;
}

.razrabotka-sajta-page .privacy-policy-group {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin-top: 8px;
}

.razrabotka-sajta-page .privacy-policy-group input[type="checkbox"] {
	width: auto;
	margin-top: 4px;
}

.razrabotka-sajta-page .privacy-policy-group label {
	font-size: 11.5px;
	color: var(--muted);
	line-height: 1.4;
	cursor: pointer;
}

.razrabotka-sajta-page .privacy-policy-group label a {
	color: var(--accent);
	text-decoration: underline;
}

@media(max-width:900px) {
	.razrabotka-sajta-page .hero h1 {
		font-size: 30px;
	}

	.razrabotka-sajta-page .stats-inner {
		grid-template-columns: repeat(2, 1fr) !important;
		padding: 0 10px !important;
	}

	.razrabotka-sajta-page .stat {
		padding: 18px 12px !important;
		border-left: 1px solid var(--line) !important;
		border-top: 1px solid var(--line) !important;
		text-align: center !important;
	}

	.razrabotka-sajta-page .stat:nth-child(2n+1) {
		border-left: 0 !important;
	}

	.razrabotka-sajta-page .stat:nth-child(-n+2) {
		border-top: 0 !important;
	}

	.razrabotka-sajta-page .stat .n {
		font-size: 24px !important;
		line-height: 1.2 !important;
	}

	.razrabotka-sajta-page .stat .l {
		font-size: 12px !important;
		line-height: 1.35 !important;
	}

	.razrabotka-sajta-page .types-grid,
	.razrabotka-sajta-page .cms-row,
	.razrabotka-sajta-page .cases,
	.razrabotka-sajta-page .guarantees,
	.razrabotka-sajta-page .pricing,
	.razrabotka-sajta-page .ladder {
		grid-template-columns: 1fr;
	}

	.razrabotka-sajta-page .cta-box {
		grid-template-columns: 1fr;
		padding: 32px;
	}

	.razrabotka-sajta-page .logos-inner {
		justify-content: center;
		text-align: center;
	}

	.razrabotka-sajta-page .cta-box-large {
		padding: 32px 24px;
	}

	.razrabotka-sajta-page .project-details-grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}

	.razrabotka-sajta-page .form-submit-row {
		flex-direction: column;
		align-items: stretch;
		text-align: center;
	}
}

/* Одна колонка начиная с 768px для форм */
@media (max-width: 768px) {
	.razrabotka-sajta-page .project-details-grid {
		grid-template-columns: 1fr !important;
		gap: 6px !important;
	}

	.razrabotka-sajta-page .project-details-col {
		gap: 6px !important;
	}

	.razrabotka-sajta-page .form-large {
		gap: 8px !important;
	}

	.razrabotka-sajta-page section,
	.razrabotka-sajta-page section[class],
	.razrabotka-sajta-page .page-text-content,
	.razrabotka-sajta-page .child-services-section,
	.razrabotka-sajta-page .child-services-catalog,
	.razrabotka-sajta-page .related-materials-section,
	.razrabotka-sajta-page .page-tags-section,
	.razrabotka-sajta-page .types-section,
	.razrabotka-sajta-page .process-section,
	.razrabotka-sajta-page .technologies-section,
	.razrabotka-sajta-page .cases-section,
	.razrabotka-sajta-page .why-us-section,
	.razrabotka-sajta-page .benefits-section,
	.razrabotka-sajta-page .pricing-section,
	.razrabotka-sajta-page .faq-section,
	.razrabotka-sajta-page .cta-section,
	.razrabotka-sajta-page .cta {
		padding: 20px 0 !important;
		border-bottom: 1px solid var(--line);
	}
}

/* ============================================================
   АДАПТИВНОСТЬ СТАТИЧЕСКОЙ ФОРМЫ: 600px, 480px, 360px, 320px
   ============================================================ */

@media (max-width: 600px) {
	.razrabotka-sajta-page .cta-box-large {
		padding: 24px 16px;
	}

	.razrabotka-sajta-page .cta-header {
		margin-bottom: 24px;
	}

	.razrabotka-sajta-page .cta-header h2 {
		font-size: 24px;
		margin-bottom: 8px;
	}

	.razrabotka-sajta-page .cta-header .lede {
		font-size: 13px;
	}

	.razrabotka-sajta-page .services-multiselect-container {
		gap: 8px;
		margin-top: 10px;
		margin-bottom: 16px;
	}

	.razrabotka-sajta-page .service-multiselect-pill {
		font-size: 12px;
		padding: 8px 14px;
	}

	.razrabotka-sajta-page .project-details-col {
		gap: 10px;
	}

	.razrabotka-sajta-page .submit-btn-custom-page {
		width: 100%;
		padding: 14px 24px;
		font-size: 15px;
	}
}

@media (max-width: 480px) {
	.razrabotka-sajta-page .cta-box-large {
		padding: 20px 12px;
		border-radius: 10px;
	}

	.razrabotka-sajta-page .cta-header h2 {
		font-size: 22px;
	}

	/* Пилюли услуг: 2 колонки */
	.razrabotka-sajta-page .services-multiselect-container {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 8px;
	}

	.razrabotka-sajta-page .service-multiselect-pill {
		text-align: center;
		font-size: 12px;
		padding: 8px 10px;
	}

	.razrabotka-sajta-page .form-row-custom label {
		font-size: 12px;
	}

	.razrabotka-sajta-page .form-control-custom,
	.razrabotka-sajta-page .form-large select,
	.razrabotka-sajta-page .form-large textarea,
	.razrabotka-sajta-page .form-large input[type="text"],
	.razrabotka-sajta-page .form-large input[type="email"] {
		font-size: 14px !important;
		padding: 11px 12px !important;
	}

	.razrabotka-sajta-page .submit-btn-custom-page {
		padding: 13px 20px;
		font-size: 14px;
	}

	.razrabotka-sajta-page .cta-bold-text {
		font-size: 13px;
	}

	.razrabotka-sajta-page .privacy-policy-group-custom-page label {
		font-size: 11px;
	}
}

@media (max-width: 360px) {
	.razrabotka-sajta-page .cta-box-large {
		padding: 16px 10px;
		border-radius: 8px;
	}

	.razrabotka-sajta-page .cta-header {
		margin-bottom: 16px;
	}

	.razrabotka-sajta-page .cta-header h2 {
		font-size: 19px;
		line-height: 1.25;
	}

	.razrabotka-sajta-page .cta-header .lede {
		font-size: 12px;
		line-height: 1.4;
	}

	/* Пилюли: 1 колонка */
	.razrabotka-sajta-page .services-multiselect-container {
		grid-template-columns: 1fr;
		gap: 6px;
		margin-bottom: 12px;
	}

	.razrabotka-sajta-page .service-multiselect-pill {
		font-size: 12px;
		padding: 9px 12px;
	}

	.razrabotka-sajta-page .form-section-title {
		font-size: 11px;
	}

	.razrabotka-sajta-page .form-row-custom label {
		font-size: 11px;
	}

	.razrabotka-sajta-page .form-control-custom,
	.razrabotka-sajta-page .form-large select,
	.razrabotka-sajta-page .form-large textarea,
	.razrabotka-sajta-page .form-large input[type="text"],
	.razrabotka-sajta-page .form-large input[type="email"] {
		font-size: 13px !important;
		padding: 9px 10px !important;
	}

	.razrabotka-sajta-page .submit-btn-custom-page {
		padding: 12px 16px;
		font-size: 13px;
		width: 100%;
	}

	.razrabotka-sajta-page .form-submit-row {
		gap: 8px;
	}

	.razrabotka-sajta-page .cta-bold-text {
		font-size: 12px;
	}

	.razrabotka-sajta-page .privacy-policy-group-custom-page label {
		font-size: 10px;
	}
}

@media (max-width: 320px) {
	.razrabotka-sajta-page .cta-box-large {
		padding: 12px 8px;
		border-radius: 6px;
	}

	.razrabotka-sajta-page .cta-header h2 {
		font-size: 17px;
	}

	.razrabotka-sajta-page .cta-header .lede {
		font-size: 11px;
	}

	.razrabotka-sajta-page .cta-header .eyebrow {
		font-size: 11px !important;
	}

	/* Пилюли: 1 колонка, компактнее */
	.razrabotka-sajta-page .services-multiselect-container {
		grid-template-columns: 1fr;
		gap: 5px;
	}

	.razrabotka-sajta-page .service-multiselect-pill {
		font-size: 11px;
		padding: 8px 10px;
		border-radius: 14px;
	}

	.razrabotka-sajta-page .form-section-title {
		font-size: 10px;
		letter-spacing: 0;
		padding-bottom: 6px;
	}

	.razrabotka-sajta-page .project-details-sub {
		font-size: 9px;
	}

	.razrabotka-sajta-page .form-row-custom label {
		font-size: 10px;
	}

	.razrabotka-sajta-page .form-control-custom,
	.razrabotka-sajta-page .form-large select,
	.razrabotka-sajta-page .form-large textarea,
	.razrabotka-sajta-page .form-large input[type="text"],
	.razrabotka-sajta-page .form-large input[type="email"] {
		font-size: 13px !important;
		padding: 8px 9px !important;
		border-radius: 6px !important;
	}

	.razrabotka-sajta-page .phone-ext-wrapper-custom input {
		padding-left: 10px !important;
	}

	/* Слайдер-капча */
	.razrabotka-sajta-page .captcha-form-group-custom .slider-captcha-container {
		height: 38px !important;
	}

	.razrabotka-sajta-page .captcha-form-group-custom .slider-captcha-text {
		font-size: 10px !important;
		line-height: 36px !important;
	}

	.razrabotka-sajta-page .captcha-form-group-custom .slider-captcha-handle {
		height: 34px !important;
		width: 34px !important;
	}

	/* Кнопка отправки */
	.razrabotka-sajta-page .submit-btn-custom-page {
		width: 100% !important;
		padding: 12px 10px;
		font-size: 12px;
		letter-spacing: 0;
	}

	.razrabotka-sajta-page .cta-bold-text {
		font-size: 11px;
	}

	.razrabotka-sajta-page .privacy-policy-group-custom-page {
		gap: 6px;
	}

	.razrabotka-sajta-page .privacy-policy-group-custom-page label {
		font-size: 9px;
		line-height: 1.3;
	}
}

/* Стилизация вывода оригинального текста статьи из БД */
.razrabotka-sajta-page .page-text-content {
	border-bottom: 1px solid var(--line);
	padding: 60px 0;
}

.razrabotka-sajta-page .formatted-text {
	color: var(--text);
	font-size: 15.5px;
	line-height: 1.7;
	max-width: 820px;
	margin: 0 auto;
}

.razrabotka-sajta-page .formatted-text p {
	margin-bottom: 22px;
}

.razrabotka-sajta-page .formatted-text h2 {
	font-size: 28px;
	color: #fff;
	margin-top: 44px;
	margin-bottom: 18px;
	font-weight: 700;
	line-height: 1.25;
}

.razrabotka-sajta-page .formatted-text h3 {
	font-size: 21px;
	color: var(--accent);
	margin-top: 36px;
	margin-bottom: 14px;
	font-weight: 600;
	line-height: 1.3;
}

.razrabotka-sajta-page .formatted-text ul,
.razrabotka-sajta-page .formatted-text ol {
	margin-bottom: 24px;
	padding-left: 24px;
}

.razrabotka-sajta-page .formatted-text li {
	margin-bottom: 10px;
}

.razrabotka-sajta-page .formatted-text strong {
	color: #fff;
	font-weight: 600;
}

.razrabotka-sajta-page .formatted-text a {
	color: var(--accent);
	text-decoration: underline;
}

.razrabotka-sajta-page .formatted-text a:hover {
	text-decoration: none;
}

/* Крупная статическая форма обратной связи */
.razrabotka-sajta-page .cta-box-large {
	background: var(--panel);
	border: 1px solid var(--line);
	border-radius: 16px;
	padding: 10px;
}

.razrabotka-sajta-page .cta-header {
	text-align: center;
	/*margin-bottom: 40px;*/
}

.razrabotka-sajta-page .cta-header h2 {
	font-size: 32px;
	margin-bottom: 12px;
}

.razrabotka-sajta-page .cta-header .lede {
	color: var(--muted);
	max-width: 600px;
	margin: 0 auto;
}

.razrabotka-sajta-page .form-large {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.razrabotka-sajta-page .form-section-title {
	font-family: var(--mono);
	font-size: 13px;
	color: var(--accent) !important;
	letter-spacing: .06em;
	text-transform: uppercase;
	margin-top: 12px;
	border-bottom: 1px solid var(--line);
	padding-bottom: 8px;
}

.razrabotka-sajta-page .project-details-sub {
	font-size: 11px;
	color: var(--muted);
	margin-top: -12px;
}

.razrabotka-sajta-page .services-select-wrap {
	margin-top: -8px;
}

.razrabotka-sajta-page .project-details-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
}

.razrabotka-sajta-page .project-details-col {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.razrabotka-sajta-page .form-row-custom {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.razrabotka-sajta-page .form-row-custom label {
	font-size: 12.5px;
	color: var(--muted);
	font-weight: 500;
}

.razrabotka-sajta-page .form-control-custom,
.razrabotka-sajta-page .form-large select,
.razrabotka-sajta-page .form-large textarea,
.razrabotka-sajta-page .form-large input[type="text"],
.razrabotka-sajta-page .form-large input[type="email"] {
	background: #fff !important;
	border: 1px solid var(--line-strong) !important;
	border-radius: 8px !important;
	padding: 13px 14px !important;
	color: var(--text) !important;
	font-family: var(--sans) !important;
	font-size: 14px !important;
	width: 100% !important;
	box-sizing: border-box !important;
	color: #000 !important;
}

.razrabotka-sajta-page .form-control-custom:focus,
.razrabotka-sajta-page .form-large select:focus,
.razrabotka-sajta-page .form-large textarea:focus,
.razrabotka-sajta-page .form-large input:focus {
	border-color: var(--accent) !important;
	outline: none !important;
}

.razrabotka-sajta-page .form-large .help-block {
	font-size: 11px;
	color: #ff6b6b;
	margin-top: 4px;
	display: block;
}

.razrabotka-sajta-page .form-large .form-group {
	margin-bottom: 0;
}

.razrabotka-sajta-page .phone-ext-wrapper-custom {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
}

.razrabotka-sajta-page .phone-ext-wrapper-custom input {
	padding-left: 14px !important;
}

.razrabotka-sajta-page .submit-btn-custom-page {
	background: var(--accent);
	color: #10131a;
	font-weight: 800;
	font-size: 16px;
	padding: 16px 40px;
	border-radius: 8px;
	border: 0;
	cursor: pointer;
	letter-spacing: .04em;
	transition: transform .12s, background-color 0.2s;
	box-shadow: 0 4px 12px rgba(255, 180, 84, 0.2);
}

.razrabotka-sajta-page .submit-btn-custom-page:hover {
	transform: translateY(-1px);
	background: #ffc273;
}

.razrabotka-sajta-page .cta-bold-text {
	font-size: 13.5px;
	font-weight: 700;
	line-height: 1.35;
	color: #fff;
}

.razrabotka-sajta-page .privacy-policy-group-custom-page {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-top: 8px;
}

.razrabotka-sajta-page .privacy-policy-group-custom-page input[type="checkbox"] {
	width: auto !important;
	margin-top: 4px;
}

.razrabotka-sajta-page .privacy-policy-group-custom-page label {
	font-size: 12px;
	color: var(--muted);
	line-height: 1.45;
	cursor: pointer;
}

.razrabotka-sajta-page .privacy-policy-group-custom-page label a {
	color: var(--accent);
	text-decoration: underline;
}

.razrabotka-sajta-page .captcha-form-group-custom {
	margin: 10px 0;
}

/* Теги страницы внизу */
.razrabotka-sajta-page .page-tags-section {
	padding: 40px 0;
	border-bottom: 1px solid var(--line);
}

.razrabotka-sajta-page .tags-container {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
}

.razrabotka-sajta-page .tag-link {
	font-family: var(--mono);
	font-size: 13px;
	background: var(--panel);
	border: 1px solid var(--line);
	color: var(--muted);
	padding: 8px 16px;
	border-radius: 20px;
	transition: border-color 0.2s, color 0.2s, background-color 0.2s;
	text-decoration: none !important;
}

.razrabotka-sajta-page .tag-link:hover {
	border-color: var(--accent);
	color: #fff;
	background: var(--panel-2);
}

.razrabotka-sajta-page .tag-link.category-link {
	border-color: var(--accent);
	color: var(--accent);
	font-weight: 600;
}

.razrabotka-sajta-page .tag-link.category-link:hover {
	background: var(--accent);
	color: #fff;
}

/* Мультиселект пиллы услуг */
.razrabotka-sajta-page .services-multiselect-container {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 15px;
	margin-bottom: 25px;
}

.razrabotka-sajta-page .service-multiselect-pill {
	font-family: var(--mono);
	font-size: 13px;
	background: var(--panel);
	border: 1px solid var(--line);
	color: var(--muted);
	padding: 10px 20px;
	border-radius: 20px;
	cursor: pointer;
	transition: border-color 0.2s, color 0.2s, background-color 0.2s, box-shadow 0.2s;
	user-select: none;
}

.razrabotka-sajta-page .service-multiselect-pill:hover {
	border-color: var(--accent);
	color: #fff;
}

.razrabotka-sajta-page .service-multiselect-pill.active,
.razrabotka-sajta-page .service-pill.active,
.razrabotka-sajta-page .service-multiselect-pill.selected,
.razrabotka-sajta-page .service-pill.selected {
	background: #ffb454 !important;
	border-color: #ffa012 !important;
	color: #0f172a !important;
	font-weight: 800 !important;
	box-shadow: 0 6px 20px rgba(255, 180, 84, 0.6), 0 0 0 3px rgba(255, 180, 84, 0.4) !important;
	transform: scale(1.05) translateY(-2px) !important;
}

.razrabotka-sajta-page .service-multiselect-pill.active::before,
.razrabotka-sajta-page .service-pill.active::before {
	content: "✓ " !important;
	font-weight: 900 !important;
	margin-right: 6px !important;
	font-size: 16px !important;
	color: #0f172a !important;
}

/* Другие материалы категории */
.razrabotka-sajta-page .related-materials-section {
	padding: 80px 0;
	background: #0d0f14;
	border-top: 1px solid var(--line);
}

.razrabotka-sajta-page .related-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 24px;
	margin-top: 30px;
}

.razrabotka-sajta-page .related-card {
	background: var(--panel);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 30px;
	display: flex;
	flex-direction: column;
	text-decoration: none !important;
	transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s;
}

.razrabotka-sajta-page .related-card:hover {
	border-color: var(--accent);
	transform: translateY(-4px);
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
}

.razrabotka-sajta-page .related-card h3 {
	font-size: 18px;
	color: #fff;
	margin-bottom: 12px;
	margin-top: 0;
}

.razrabotka-sajta-page .related-card p {
	font-size: 14px;
	color: var(--muted);
	line-height: 1.5;
	margin-bottom: 20px;
	flex-grow: 1;
}

.razrabotka-sajta-page .related-card .read-more {
	font-family: var(--mono);
	font-size: 12px;
	color: var(--accent);
	font-weight: 600;
}


/* ==================== UNIFIED DARK THEME FOR STATIC PAGES & TOOLS ==================== */

/* Глобальные сбросы для страниц с классом .razrabotka-sajta-page на теге body */
body.razrabotka-sajta-page {
	background-color: #10131a !important;
	color: #e9ebf0 !important;
}

/* Стилизация тёмного хедера */
.razrabotka-sajta-page .site-header {
	background: #10131a !important;
	background-image: linear-gradient(#262c38 1px, transparent 1px), linear-gradient(90deg, #262c38 1px, transparent 1px) !important;
	background-size: 48px 48px !important;
	border-bottom: 1px solid #262c38 !important;
}

/* Стилизация заголовков и текстов */
.razrabotka-sajta-page h1,
.razrabotka-sajta-page h2,
.razrabotka-sajta-page h3,
.razrabotka-sajta-page h4,
.razrabotka-sajta-page h5,
.razrabotka-sajta-page h6 {
	color: #ffffff !important;
}

.razrabotka-sajta-page p,
.razrabotka-sajta-page p,
.razrabotka-sajta-page span,
.razrabotka-sajta-page li,
.razrabotka-sajta-page td,
.razrabotka-sajta-page th {
	color: #fff;
}


.result-card li,
.r9-cookie-body p {
	color: #000;
}

/* Стилизация хлебных крошек */
.razrabotka-sajta-page .products-breadcrumb {
	background: #161a23 !important;
	border-bottom: 1px solid #262c38 !important;
	padding: 12px 0 !important;
}

.razrabotka-sajta-page .products-breadcrumb ul li {
	color: #8b93a3 !important;
}

.razrabotka-sajta-page .products-breadcrumb ul li a {
	color: #ffb454 !important;
}

.razrabotka-sajta-page .products-breadcrumb ul li span {
	color: #333b4a !important;
	margin: 0 10px !important;
}

/* Стилизация форм Bootstrap 3 */
.razrabotka-sajta-page .form-control,
.razrabotka-sajta-page input[type="text"],
.razrabotka-sajta-page input[type="email"],
.razrabotka-sajta-page input[type="password"],
.razrabotka-sajta-page select,
.razrabotka-sajta-page textarea {
	background-color: #ffffff !important;
	border: 1px solid #262c38 !important;
	border-radius: 8px !important;
	color: #000000 !important;
	padding: 10px 14px !important;
	height: auto !important;
	box-shadow: none !important;
}

.razrabotka-sajta-page .form-control:focus,
.razrabotka-sajta-page input[type="text"]:focus,
.razrabotka-sajta-page input[type="email"]:focus,
.razrabotka-sajta-page select:focus,
.razrabotka-sajta-page textarea:focus {
	border-color: #ffb454 !important;
	outline: none !important;
}

/* Кнопки */
.razrabotka-sajta-page button:not(.burger-menu),
.razrabotka-sajta-page .btn-primary,
.razrabotka-sajta-page .submit,
.razrabotka-sajta-page .button {
	background: #ffb454 !important;
	color: #10131a !important;
	font-weight: 700 !important;
	border: none !important;
	border-radius: 8px !important;
	padding: 12px 24px !important;
	transition: background-color 0.2s !important;
	cursor: pointer !important;
}

.razrabotka-sajta-page button.burger-menu,
.razrabotka-sajta-page .burger-menu {
	background: none !important;
	background-color: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	width: 32px !important;
	height: 25px !important;
	box-shadow: none !important;
}

.razrabotka-sajta-page button.burger-menu span,
.razrabotka-sajta-page .burger-menu span {
	display: block !important;
	width: 30px !important;
	height: 3px !important;
	background-color: #ffffff !important;
	background: #ffffff !important;
	border-radius: 3px !important;
}

.razrabotka-sajta-page button:not(.burger-menu):hover,
.razrabotka-sajta-page .btn-primary:hover,
.razrabotka-sajta-page .submit:hover {
	background: #ffc273 !important;
}

/* Таблицы */
.razrabotka-sajta-page table,
.razrabotka-sajta-page .timetable_sub {
	width: 100% !important;
	border-collapse: collapse !important;
	background: #161a23 !important;
	border: 1px solid #262c38 !important;
	margin-top: 20px !important;
}

.razrabotka-sajta-page th {
	background: #1c212c !important;
	color: #ffffff !important;
	font-weight: 700 !important;
	border: 1px solid #262c38 !important;
	padding: 12px !important;
}

.razrabotka-sajta-page td {
	border: 1px solid #262c38 !important;
	padding: 12px !important;
}

/* Сайдбар интернет-магазина */
.razrabotka-sajta-page .w3l_banner_nav_left {
	float: right !important;
	width: 78% !important;
}

.razrabotka-sajta-page .w3l_banner_nav_right_banner {
	background: #161a23 !important;
	border: 1px solid #262c38 !important;
	border-radius: 12px !important;
}

.razrabotka-sajta-page .w3l_banner_nav_right_banner3 {
	background: #161a23 !important;
	border: 1px solid #262c38 !important;
	border-radius: 12px !important;
}

/* Меню категорий в сайдбаре */
.razrabotka-sajta-page .w3limits_aside {
	background: #161a23 !important;
	border: 1px solid #262c38 !important;
	padding: 20px !important;
}

.razrabotka-sajta-page .w3limits_aside a {
	color: #e9ebf0 !important;
}

.razrabotka-sajta-page .w3limits_aside a:hover {
	color: #ffb454 !important;
}

/* Результаты инструментов */
.razrabotka-sajta-page #ipResults,
.razrabotka-sajta-page #seoResults,
.razrabotka-sajta-page #emailResults {
	background: #161a23 !important;
	border: 1px solid #262c38 !important;
	border-radius: 12px !important;
	padding: 24px !important;
	color: #e9ebf0 !important;
}

/* Стилизация списков результатов */
.razrabotka-sajta-page .list-group-item {
	background-color: #1c212c !important;
	border: 1px solid #262c38 !important;
	color: #e9ebf0 !important;
}

/* Стилизация панелей (Panel/Well) */
.razrabotka-sajta-page .panel,
.razrabotka-sajta-page .well {
	background-color: #161a23 !important;
	border: 1px solid #262c38 !important;
	color: #e9ebf0 !important;
}

/* Стилизация ссылок */
.razrabotka-sajta-page .mega-menu__inner a {
	color: #000000;
	transition: color 0.2s;
}

.razrabotka-sajta-page a:hover {
	color: #ffc273;
	text-decoration: underline;
}

.razrabotka-sajta-page .child-services-catalog a,
.razrabotka-sajta-page .child-services-catalog a:hover,
.razrabotka-sajta-page .child-services-catalog a:focus,
.razrabotka-sajta-page .child-service-card a,
.razrabotka-sajta-page .child-service-card a:hover,
.razrabotka-sajta-page .child-service-card a:focus,
.razrabotka-sajta-page .child-service-link,
.razrabotka-sajta-page .child-service-link:hover,
.razrabotka-sajta-page .child-service-name a,
.razrabotka-sajta-page .child-service-name a:hover,
.razrabotka-sajta-page .child-service-btn,
.razrabotka-sajta-page .child-service-btn:hover,
.razrabotka-sajta-page .category-articles-section a,
.razrabotka-sajta-page .category-articles-section a:hover,
.razrabotka-sajta-page .related-materials-section a,
.razrabotka-sajta-page .related-materials-section a:hover {
	text-decoration: none !important;
}

/* Корзина покупок на Checkout */
.razrabotka-sajta-page .checkout-left-basket {
	background: #1c212c !important;
	border: 1px solid #262c38 !important;
	padding: 20px !important;
}

.razrabotka-sajta-page .checkout-left-basket ul li {
	color: #8b93a3 !important;
	border-bottom: 1px solid #262c38 !important;
	padding: 10px 0 !important;
}

.razrabotka-sajta-page .checkout-left-basket ul li span {
	color: #ffffff !important;
}

/* Вкладки в админке / Личный кабинет */
.razrabotka-sajta-page .nav-tabs>li>a {
	color: #8b93a3 !important;
}

.razrabotka-sajta-page .nav-tabs>li.active>a {
	background-color: #161a23 !important;
	border: 1px solid #262c38 !important;
	border-bottom-color: transparent !important;
	color: #ffffff !important;
}

/* Дополнительные отступы для статических страниц */
.static-page-dark-wrap {
	padding-bottom: 80px;
}

span.phone-flag-icon {
	display: none;
}

/* Гарантированное исключение белого текста на белом фоне и темного на темном */
.razrabotka-sajta-page .formatted-text,
.razrabotka-sajta-page .page-text-content {
	color: #e9ebf0 !important;
}

.razrabotka-sajta-page .formatted-text p,
.razrabotka-sajta-page .formatted-text div,
.razrabotka-sajta-page .formatted-text span,
.razrabotka-sajta-page .formatted-text li,
.razrabotka-sajta-page .page-text-content p,
.razrabotka-sajta-page .page-text-content div,
.razrabotka-sajta-page .page-text-content span,
.razrabotka-sajta-page .page-text-content li {
	color: #e9ebf0 !important;
	background-color: transparent !important;
}

.razrabotka-sajta-page .formatted-text h1,
.razrabotka-sajta-page .formatted-text h2,
.razrabotka-sajta-page .formatted-text h3,
.razrabotka-sajta-page .formatted-text h4,
.razrabotka-sajta-page .formatted-text strong,
.razrabotka-sajta-page .formatted-text b,
.razrabotka-sajta-page .page-text-content h1,
.razrabotka-sajta-page .page-text-content h2,
.razrabotka-sajta-page .page-text-content h3,
.razrabotka-sajta-page .page-text-content h4,
.razrabotka-sajta-page .page-text-content strong,
.razrabotka-sajta-page .page-text-content b {
	color: #ffffff !important;
}

.razrabotka-sajta-page .formatted-text {
	display: flow-root;
}

.razrabotka-sajta-page .formatted-text a:not(.landing-toc-link):not(.landing-toc a),
.razrabotka-sajta-page .page-text-content a:not(.landing-toc-link):not(.landing-toc a) {
	color: var(--accent, #6366f1) !important;
}

.razrabotka-sajta-page .formatted-text a.landing-toc-link,
.razrabotka-sajta-page .landing-toc a {
	color: #ffffff !important;
	text-decoration: none !important;
}

.razrabotka-sajta-page .formatted-text a.landing-toc-link:hover,
.razrabotka-sajta-page .landing-toc a:hover {
	color: #818cf8 !important;
	text-decoration: underline !important;
}

.razrabotka-sajta-page .landing-toc,
.landing-toc {
	float: right !important;
	width: 30% !important;
	min-width: 280px !important;
	max-width: 380px !important;
	margin: 0 0 24px 32px !important;
	clear: none !important;
	box-sizing: border-box !important;
	position: relative !important;
	z-index: 5 !important;
}

.razrabotka-sajta-page .landing-toc+h2,
.razrabotka-sajta-page .landing-toc+h3,
.razrabotka-sajta-page .landing-toc+p,
.razrabotka-sajta-page .landing-toc+*,
.landing-toc+h2,
.landing-toc+h3,
.landing-toc+p,
.landing-toc+* {
	margin-top: 0 !important;
}

@media (max-width: 820px) {

	.razrabotka-sajta-page .landing-toc,
	.landing-toc {
		float: none !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		margin: 0 0 28px 0 !important;
	}
}

/* ==========================================================================
   Нормализация отступов контента лонгрида и секций по эталону website-optimization-seo-website-setup
   ========================================================================== */

/* 1. Устранение гигантских разрывов между блоками статьи (вложенные section, geo-lsi-block) */
.razrabotka-sajta-page .formatted-text section,
.razrabotka-sajta-page .formatted-text .geo-lsi-block,
.razrabotka-sajta-page .page-blocks-wrapper-card section,
.razrabotka-sajta-page .page-text-content section,
.formatted-text section,
.geo-lsi-block {
	padding: 0 !important;
	border: none !important;
	border-bottom: none !important;
	margin: 0 0 24px 0 !important;
}

/* 2. Растворение вложенных оберток, ломающих BFC и обтекание оглавления */
.razrabotka-sajta-page .formatted-text .formatted-text,
.razrabotka-sajta-page .formatted-text .page-text-content {
	display: contents !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* 3. Сброс верхнего отступа у первого элемента и заголовка рядом с оглавлением */
.razrabotka-sajta-page .formatted-text>h2:first-of-type,
.razrabotka-sajta-page .formatted-text>*:not(.landing-toc):first-child,
.razrabotka-sajta-page .formatted-text .landing-toc+h2,
.razrabotka-sajta-page .formatted-text .landing-toc+* h2:first-of-type,
.razrabotka-sajta-page .formatted-text .landing-toc+* p:first-of-type,
.landing-toc+* h2:first-of-type,
.landing-toc+* p:first-of-type {
	margin-top: 0 !important;
}

/* 4. Гармонизация внешних отступов секций (между тизерами материалов / статистикой и лонгридом) */
.razrabotka-sajta-page .category-articles-section {
	padding-bottom: 30px !important;
}

.razrabotka-sajta-page .page-text-content,
.razrabotka-sajta-page .page-text-content-pt {
	padding-top: 30px !important;
	padding-bottom: 40px !important;
}

.razrabotka-sajta-page .stats+.page-text-content,
.razrabotka-sajta-page .stats+.page-text-content-pt {
	padding-top: 36px !important;
}

/* Адаптация виджета PageBlocks к темной теме */
.static-page-dark-wrap {
	background-color: #10131a !important;
	color: #e9ebf0 !important;
}

.static-page-dark-wrap h1 {
	color: #ffffff !important;
	font-size: 32px !important;
	font-weight: 800 !important;
	margin-bottom: 24px !important;
	text-transform: none !important;
}

.static-page-dark-wrap h2,
.static-page-dark-wrap h3,
.static-page-dark-wrap h4 {
	color: #ffffff !important;
}

.static-page-dark-wrap .promo-img {
	margin-bottom: 25px !important;
	max-width: 280px !important;
}

.static-page-dark-wrap .promo-img img {
	max-width: 100% !important;
	height: auto !important;
	border-radius: 12px !important;
}

.razrabotka-sajta-page .page-blocks-wrapper .page-block-header h2,
.static-page-dark-wrap .page-blocks-wrapper .page-block-header h2 {
	color: #ffffff !important;
}

.razrabotka-sajta-page .page-blocks-wrapper .page-block-header p.subtitle,
.static-page-dark-wrap .page-blocks-wrapper .page-block-header p.subtitle {
	color: #8b93a3 !important;
}

.razrabotka-sajta-page .page-blocks-wrapper .feature-card,
.razrabotka-sajta-page .page-blocks-wrapper .icon-list-box,
.razrabotka-sajta-page .page-blocks-wrapper .comparison-card,
.razrabotka-sajta-page .page-blocks-wrapper .faq-accordion-box,
.razrabotka-sajta-page .page-blocks-wrapper .faq-accordion-title,
.static-page-dark-wrap .page-blocks-wrapper .feature-card,
.static-page-dark-wrap .page-blocks-wrapper .icon-list-box,
.static-page-dark-wrap .page-blocks-wrapper .comparison-card,
.static-page-dark-wrap .page-blocks-wrapper .faq-accordion-box,
.static-page-dark-wrap .page-blocks-wrapper .faq-accordion-title {
	background: #161a23 !important;
	border-color: #262c38 !important;
	color: #e9ebf0 !important;
}

.razrabotka-sajta-page .page-blocks-wrapper .feature-card h3,
.razrabotka-sajta-page .page-blocks-wrapper .comparison-card h3,
.razrabotka-sajta-page .page-blocks-wrapper .faq-accordion-title,
.static-page-dark-wrap .page-blocks-wrapper .feature-card h3,
.static-page-dark-wrap .page-blocks-wrapper .comparison-card h3,
.static-page-dark-wrap .page-blocks-wrapper .faq-accordion-title {
	color: #ffffff !important;
}

.razrabotka-sajta-page .page-blocks-wrapper .feature-card p,
.razrabotka-sajta-page .page-blocks-wrapper .icon-list-item,
.razrabotka-sajta-page .page-blocks-wrapper .comparison-list li,
.razrabotka-sajta-page .page-blocks-wrapper .faq-accordion-content,
.static-page-dark-wrap .page-blocks-wrapper .feature-card p,
.static-page-dark-wrap .page-blocks-wrapper .icon-list-item,
.static-page-dark-wrap .page-blocks-wrapper .comparison-list li,
.static-page-dark-wrap .page-blocks-wrapper .faq-accordion-content {
	color: #8b93a3 !important;
}

.contact-form-modal-inner .form-title {
	color: #000 !important;
}

/* Адаптивность блока статистики и защита от переполнения на экранах <=360px */
@media (max-width: 360px) {
	.razrabotka-sajta-page .stats-inner {
		padding: 0 4px !important;
	}

	.razrabotka-sajta-page .stat {
		padding: 14px 6px !important;
	}

	.razrabotka-sajta-page .stat .n {
		font-size: 20px !important;
	}

	.razrabotka-sajta-page .stat .l {
		font-size: 11px !important;
	}
}

.razrabotka-sajta-page {
	overflow-x: hidden !important;
	max-width: 100vw !important;
}

/* Мобильные отступы для всех секций <section class="..."> до 768px (включая 728px) */
@media (max-width: 768px) {

	.razrabotka-sajta-page section,
	.razrabotka-sajta-page section[class],
	.razrabotka-sajta-page .page-text-content,
	.razrabotka-sajta-page .child-services-section,
	.razrabotka-sajta-page .child-services-catalog,
	.razrabotka-sajta-page .related-materials-section,
	.razrabotka-sajta-page .page-tags-section,
	.razrabotka-sajta-page .types-section,
	.razrabotka-sajta-page .process-section,
	.razrabotka-sajta-page .technologies-section,
	.razrabotka-sajta-page .cases-section,
	.razrabotka-sajta-page .why-us-section,
	.razrabotka-sajta-page .benefits-section,
	.razrabotka-sajta-page .pricing-section,
	.razrabotka-sajta-page .faq-section,
	.razrabotka-sajta-page .cta-section,
	.razrabotka-sajta-page .cta {
		padding: 20px 0 !important;
	}

	.razrabotka-sajta-page .stats-no-padding,
	.razrabotka-sajta-page section.stats-no-padding {
		padding: 0 !important;
	}
}

/* Интерактивный SEO-калькулятор стоимости в BYN */
.calculator-section {
	background: var(--bg);
}

.calculator-card {
	background: var(--panel);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 36px;
	margin-top: 24px;
}

.calc-grid {
	display: grid;
	gap: 28px;
	margin-bottom: 32px;
}

.calc-label {
	display: block;
	font-weight: 600;
	font-size: 15px;
	margin-bottom: 12px;
	color: var(--text);
}

.calc-options {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.calc-btn {
	background: var(--panel-2);
	border: 1px solid var(--line-strong);
	color: var(--text);
	border-radius: 8px;
	padding: 10px 18px;
	font-size: 14px;
	cursor: pointer;
	transition: all 0.2s ease;
	font-family: inherit;
}

.calc-btn:hover {
	border-color: var(--accent);
	color: var(--accent);
}

.calc-btn.active {
	background: var(--accent-dim);
	border-color: var(--accent);
	color: var(--accent);
	font-weight: 600;
}

.calc-result-panel {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px;
	background: var(--panel-2);
	border: 1px solid var(--line-strong);
	border-radius: var(--radius);
	padding: 24px 28px;
}

.calc-result-label {
	font-size: 13px;
	color: var(--muted);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	font-family: var(--mono);
}

.calc-result-value {
	font-size: 32px;
	font-weight: 700;
	color: var(--accent);
	line-height: 1.2;
}

.calc-curr {
	font-size: 16px;
	font-weight: 500;
	color: var(--text);
}

.calc-result-period {
	font-size: 13px;
	color: var(--muted);
	margin-top: 4px;
}

.btn-calc-apply {
	background: var(--accent) !important;
	color: #10131a !important;
	font-weight: 600;
	padding: 14px 28px !important;
	border-radius: 8px;
	text-decoration: none;
	display: inline-block;
	transition: opacity 0.2s ease;
}

.btn-calc-apply:hover {
	opacity: 0.9;
}

.calc-slider-group {
	margin-top: 10px;
}

.calc-slider-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 8px;
}

.calc-slider-value {
	font-size: 15px;
	color: var(--accent);
	font-weight: 600;
}

.calc-range-input {
	width: 100%;
	height: 8px;
	border-radius: 4px;
	background: var(--panel-2);
	outline: none;
	accent-color: var(--accent);
	cursor: pointer;
	margin: 8px 0;
}

.calc-slider-ticks {
	display: flex;
	justify-content: space-between;
	font-size: 12px;
	color: var(--muted);
	margin-top: 4px;
}

.tag-badge {
	cursor: pointer;
	border: 1px dashed var(--line-strong);
}

.tag-badge:hover {
	border-color: var(--accent);
	color: var(--accent);
}

/* ==========================================================================
   Адаптивный горизонтальный скроллинг таблиц в контентных блоках
   ========================================================================== */
.razrabotka-sajta-page .table-responsive,
.page-text-content .table-responsive {
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	margin: 28px 0;
	border: 1px solid var(--line, #262c38);
	border-radius: var(--radius, 10px);
	background: var(--panel, #161a23);
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
	position: relative;
	display: block;
}

/* Dark Table Styling (глобально для всех посадочных страниц и контентных таблиц) */
.razrabotka-sajta-page table,
.razrabotka-sajta-page .table,
.razrabotka-sajta-page .table-responsive table,
.razrabotka-sajta-page .formatted-text table,
.page-text-content table,
.page-text-content .formatted-text table,
.service-longread table {
	width: 100%;
	min-width: 680px;
	border-collapse: collapse !important;
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--text, #e9ebf0) !important;
	background-color: var(--panel, #161a23) !important;
	border: 1px solid var(--line, #262c38) !important;
	margin: 0;
}

.razrabotka-sajta-page table th,
.razrabotka-sajta-page .table > thead > tr > th,
.razrabotka-sajta-page .table-responsive th,
.razrabotka-sajta-page .formatted-text th,
.page-text-content th,
.page-text-content .formatted-text th,
.service-longread th {
	background: var(--panel-2, #1c212c) !important;
	color: var(--accent, #ffb454) !important;
	font-family: var(--mono, monospace);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	padding: 14px 18px !important;
	border-top: none !important;
	border-left: none !important;
	border-bottom: 2px solid var(--line-strong, #333b4a) !important;
	border-right: 1px solid var(--line, #262c38) !important;
	text-align: left;
	white-space: nowrap;
}

.razrabotka-sajta-page table th:last-child,
.razrabotka-sajta-page .table > thead > tr > th:last-child,
.razrabotka-sajta-page .table-responsive th:last-child,
.razrabotka-sajta-page .formatted-text th:last-child,
.page-text-content th:last-child {
	border-right: none !important;
}

.razrabotka-sajta-page table td,
.razrabotka-sajta-page .table > tbody > tr > td,
.razrabotka-sajta-page .table-responsive td,
.razrabotka-sajta-page .formatted-text td,
.page-text-content td,
.page-text-content .formatted-text td,
.service-longread td {
	padding: 14px 18px !important;
	border-top: none !important;
	border-left: none !important;
	border-bottom: 1px solid var(--line, #262c38) !important;
	border-right: 1px solid var(--line, #262c38) !important;
	background: transparent !important;
	color: var(--text, #e9ebf0) !important;
	vertical-align: top;
}

.razrabotka-sajta-page table td:last-child,
.razrabotka-sajta-page .table > tbody > tr > td:last-child,
.razrabotka-sajta-page .table-responsive td:last-child,
.razrabotka-sajta-page .formatted-text td:last-child,
.page-text-content td:last-child {
	border-right: none !important;
}

.razrabotka-sajta-page table tr:last-child td,
.razrabotka-sajta-page .table > tbody > tr:last-child > td,
.razrabotka-sajta-page .table-responsive tr:last-child td,
.razrabotka-sajta-page .formatted-text tr:last-child td,
.page-text-content tr:last-child td {
	border-bottom: none !important;
}

/* Переопределение Bootstrap светлых полос (#f9f9f9) для темной темы */
.razrabotka-sajta-page .table-striped > tbody > tr:nth-of-type(odd),
.razrabotka-sajta-page table.table-striped > tbody > tr:nth-of-type(odd),
.table-responsive .table-striped > tbody > tr:nth-of-type(odd) {
	background-color: rgba(255, 255, 255, 0.03) !important;
}

.razrabotka-sajta-page .table-striped > tbody > tr:nth-of-type(even),
.razrabotka-sajta-page table.table-striped > tbody > tr:nth-of-type(even),
.table-responsive .table-striped > tbody > tr:nth-of-type(even) {
	background-color: transparent !important;
}

/* Переопределение Bootstrap hover (#f5f5f5) */
.razrabotka-sajta-page .table-hover > tbody > tr:hover,
.razrabotka-sajta-page table.table-hover > tbody > tr:hover,
.table-responsive .table-hover > tbody > tr:hover,
.razrabotka-sajta-page .formatted-text tr:hover td,
.page-text-content tr:hover td {
	background-color: rgba(255, 180, 84, 0.06) !important;
}

.razrabotka-sajta-page table strong,
.table-responsive table strong {
	color: #ffffff !important;
}

/* Стилизация полосы прокрутки таблицы */
.razrabotka-sajta-page .table-responsive::-webkit-scrollbar,
.page-text-content .table-responsive::-webkit-scrollbar {
	height: 7px;
}

.razrabotka-sajta-page .table-responsive::-webkit-scrollbar-track,
.page-text-content .table-responsive::-webkit-scrollbar-track {
	background: var(--panel, #161a23);
	border-radius: 4px;
}

.razrabotka-sajta-page .table-responsive::-webkit-scrollbar-thumb,
.page-text-content .table-responsive::-webkit-scrollbar-thumb {
	background: var(--line-strong, #333b4a);
	border-radius: 4px;
}

.razrabotka-sajta-page .table-responsive::-webkit-scrollbar-thumb:hover,
.page-text-content .table-responsive::-webkit-scrollbar-thumb:hover {
	background: var(--accent, #ffb454);
}

/* Contact Page Redesign */

/* ==========================================================================
   Страница Контактов — Премиальный Dark Tech стиль R9 / STTE / Digital Spec
   ========================================================================== */
.site-contact-page-wrapper {
	padding: 40px 15px 80px;
	max-width: 1220px;
	margin: 0 auto;
}

.contact-header-section {
	margin-bottom: 40px;
	text-align: center;
}

.contact-header-title {
	font-size: 34px !important;
	font-weight: 800 !important;
	color: #ffffff !important;
	margin-bottom: 12px !important;
	line-height: 1.25 !important;
	letter-spacing: -0.3px !important;
}

.contact-header-desc {
	font-size: 16px !important;
	color: #94a3b8 !important;
	max-width: 720px !important;
	margin: 0 auto !important;
	line-height: 1.6 !important;
}

.contact-cards-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	margin-bottom: 40px;
}

.contact-card {
	background: #161a23 !important;
	background: linear-gradient(180deg, #181d28 0%, #12151d 100%) !important;
	border: 1px solid #262c38 !important;
	border-radius: 16px !important;
	padding: 24px 20px !important;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35) !important;
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease !important;
	display: flex;
	flex-direction: column;
	position: relative;
	text-align: left;
}

.contact-card:hover {
	transform: translateY(-4px) !important;
	border-color: #38bdf8 !important;
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.45), 0 0 20px rgba(56, 189, 248, 0.15) !important;
}

.contact-card-icon {
	font-size: 28px;
	margin-bottom: 12px;
	line-height: 1;
	display: inline-block;
}

.contact-card-label {
	font-size: 11px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.8px !important;
	color: #94a3b8 !important;
	font-weight: 700 !important;
	margin-bottom: 8px !important;
}

.contact-card-val {
	font-size: 19px !important;
	font-weight: 700 !important;
	margin-bottom: 8px !important;
	line-height: 1.3 !important;
}

.contact-card-val a,
.contact-phone-link {
	color: #38bdf8 !important;
	text-decoration: none !important;
	display: inline-block !important;
	transition: color 0.2s ease, text-shadow 0.2s ease !important;
}

.contact-card-val a:hover,
.contact-phone-link:hover {
	color: #7dd3fc !important;
	text-shadow: 0 0 12px rgba(56, 189, 248, 0.4) !important;
}

.contact-card-val-sm {
	font-size: 17px !important;
	font-weight: 700 !important;
	margin-bottom: 8px !important;
	line-height: 1.3 !important;
}

.contact-card-val-sm a,
.contact-email-link {
	color: #38bdf8 !important;
	text-decoration: none !important;
	display: inline-block !important;
	transition: color 0.2s ease, text-shadow 0.2s ease !important;
}

.contact-card-val-sm a:hover,
.contact-email-link:hover {
	color: #7dd3fc !important;
	text-shadow: 0 0 12px rgba(56, 189, 248, 0.4) !important;
}

.contact-card-val-address {
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #f1f5f9 !important;
	margin-bottom: 8px !important;
	line-height: 1.5 !important;
}

.contact-card-val-company {
	font-size: 15px !important;
	font-weight: 700 !important;
	color: #f1f5f9 !important;
	margin-bottom: 4px !important;
}

.contact-card-val-unp {
	font-size: 13px !important;
	color: #cbd5e1 !important;
	font-weight: 600 !important;
	margin-bottom: 6px !important;
}

.contact-card-desc {
	font-size: 13px !important;
	color: #94a3b8 !important;
	line-height: 1.5 !important;
	margin-top: auto !important;
}

.contact-card-desc-mt {
	font-size: 13px !important;
	color: #94a3b8 !important;
	line-height: 1.5 !important;
	margin-top: 6px !important;
}

.contact-main-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
	align-items: stretch;
}

.contact-map-wrapper {
	background: #161a23 !important;
	background: linear-gradient(180deg, #181d28 0%, #12151d 100%) !important;
	border: 1px solid #262c38 !important;
	border-radius: 16px !important;
	padding: 28px !important;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35) !important;
	display: flex;
	flex-direction: column;
}

.contact-block-title {
	font-size: 22px !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	margin-top: 0 !important;
	margin-bottom: 8px !important;
	display: flex;
	align-items: center;
	gap: 10px;
}

.contact-block-desc {
	font-size: 14px !important;
	color: #94a3b8 !important;
	margin-bottom: 20px !important;
	line-height: 1.5 !important;
}

.contact-map-frame-box {
	position: relative;
	overflow: hidden;
	border-radius: 12px;
	min-height: 440px;
	flex: 1;
	border: 1px solid #262c38;
	background: #0f131a;
}

.contact-map-iframe {
	position: relative;
	border: 0;
	width: 100%;
	height: 100%;
	display: block;
}

.contact-map-address {
	margin-top: 14px;
	font-size: 13px;
	color: #cbd5e1 !important;
	text-align: center;
	line-height: 1.5;
}

.contact-form-wrapper {
	background: #161a23 !important;
	background: linear-gradient(180deg, #181d28 0%, #12151d 100%) !important;
	border: 1px solid #262c38 !important;
	border-radius: 16px !important;
	padding: 28px !important;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35) !important;
}

.contact-honeypot {
	display: none !important;
}

.contact-form-group-mb {
	margin-bottom: 16px !important;
}

.contact-form-label {
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #cbd5e1 !important;
	margin-bottom: 6px !important;
	display: block;
	letter-spacing: 0.2px;
}

.contact-form-control,
.contact-form-select,
.contact-form-textarea {
	width: 100% !important;
	background: #0f131a !important;
	border: 1px solid #262c38 !important;
	color: #f8fafc !important;
	border-radius: 8px !important;
	font-size: 15px !important;
	box-sizing: border-box !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
}

.contact-form-control {
	height: 46px !important;
	padding: 10px 14px !important;
}

.contact-form-select {
	height: 46px !important;
	padding: 8px 14px !important;
	color: #f8fafc !important;
}

.contact-form-select option {
	background: #161a23 !important;
	color: #f8fafc !important;
}

.contact-form-textarea {
	padding: 10px 14px !important;
	resize: vertical !important;
	min-height: 90px !important;
}

.contact-form-control::placeholder,
.contact-form-textarea::placeholder {
	color: #64748b !important;
	opacity: 1 !important;
}

.contact-form-control:focus,
.contact-form-select:focus,
.contact-form-textarea:focus {
	border-color: #38bdf8 !important;
	background: #131822 !important;
	box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.18) !important;
	outline: none !important;
	color: #ffffff !important;
}

.contact-captcha-group {
	margin-bottom: 20px !important;
}

.contact-form-wrapper .slider-captcha-track {
	background: #0f131a !important;
	border: 1px solid #262c38 !important;
}

.contact-form-wrapper .slider-captcha-label {
	color: #94a3b8 !important;
}

.contact-form-wrapper .slider-captcha-thumb {
	background: #1e293b !important;
	border: 1px solid #334155 !important;
}

.contact-form-wrapper .slider-captcha-arrow-icon {
	color: #38bdf8 !important;
}

.contact-submit-btn-wrap {
	margin-top: 22px !important;
}

.contact-submit-btn {
	width: 100% !important;
	height: 50px !important;
	background: linear-gradient(135deg, #ff9500 0%, #ea580c 100%) !important;
	border: none !important;
	border-radius: 10px !important;
	color: #ffffff !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	letter-spacing: 0.3px !important;
	box-shadow: 0 4px 14px rgba(234, 88, 12, 0.35) !important;
	transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.contact-submit-btn:hover {
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 20px rgba(234, 88, 12, 0.5) !important;
	filter: brightness(1.08) !important;
}

.contact-submit-btn:active {
	transform: translateY(0) !important;
}

.contact-privacy-note {
	font-size: 12px !important;
	color: #64748b !important;
	margin-top: 14px !important;
	text-align: center !important;
	line-height: 1.5 !important;
}

.contact-privacy-link {
	color: #94a3b8 !important;
	text-decoration: underline !important;
	transition: color 0.2s ease !important;
}

.contact-privacy-link:hover {
	color: #38bdf8 !important;
}

@media (max-width: 1100px) {
	.contact-cards-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 820px) {
	.contact-main-grid {
		grid-template-columns: 1fr !important;
	}

	.contact-map-frame-box {
		min-height: 360px !important;
	}
}

@media (max-width: 540px) {
	.contact-cards-grid {
		grid-template-columns: 1fr !important;
	}

	.contact-header-title {
		font-size: 26px !important;
	}

	.contact-form-wrapper,
	.contact-map-wrapper {
		padding: 20px !important;
	}
}

/* ==========================================================================
   Оформление карточек инструментов (/tools) по эталону материалов блога
   ========================================================================== */
.tools-catalog-section {
	padding: 40px 0 80px 0 !important;
	background: var(--bg-alt, #0d1017) !important;
}

.child-services-grid,
.tools-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
	gap: 24px !important;
}

.child-service-card,
.tools-card {
	background: var(--panel, #161b26) !important;
	border: 1px solid var(--line, #242d42) !important;
	border-radius: 16px !important;
	padding: 24px !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease !important;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2) !important;
	position: relative !important;
}

.child-service-card:hover,
.tools-card:hover {
	transform: translateY(-4px) !important;
	border-color: rgba(96, 165, 250, 0.45) !important;
	box-shadow: 0 12px 32px -8px rgba(0, 0, 0, 0.5), 0 0 16px rgba(59, 130, 246, 0.15) !important;
}

.child-service-header,
.tools-card-header {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	margin-bottom: 16px !important;
}

.child-service-icon,
.tools-card-icon {
	font-size: 28px !important;
	line-height: 1 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.child-service-tag,
.tools-card-tag {
	background: rgba(37, 99, 235, 0.15) !important;
	border: 1px solid rgba(37, 99, 235, 0.3) !important;
	color: #60a5fa !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	padding: 4px 12px !important;
	border-radius: 20px !important;
	letter-spacing: 0.01em !important;
	white-space: nowrap !important;
	max-width: 75% !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}

.child-service-name,
.tools-card-title {
	font-size: 20px !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	margin-top: 0 !important;
	margin-bottom: 12px !important;
	line-height: 1.35 !important;
}

.child-service-link,
.tools-card-link {
	color: #ffffff !important;
	text-decoration: none !important;
	transition: color 0.2s ease !important;
}

.child-service-link:hover,
.tools-card-link:hover {
	color: #60a5fa !important;
	text-decoration: none !important;
}

.child-service-desc,
.tools-card-desc {
	font-size: 14.5px !important;
	color: var(--muted, #94a3b8) !important;
	line-height: 1.6 !important;
	margin-bottom: 24px !important;
}

.child-service-btn,
.tools-card-btn {
	display: inline-block !important;
	background: var(--accent, #3b82f6) !important;
	color: #ffffff !important;
	font-weight: 600 !important;
	font-size: 14.5px !important;
	padding: 12px 20px !important;
	border-radius: 8px !important;
	text-decoration: none !important;
	width: 100% !important;
	text-align: center !important;
	border: none !important;
	box-shadow: 0 4px 14px rgba(37, 99, 235, 0.25) !important;
	transition: background-color 0.2s ease, opacity 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease !important;
}

.child-service-btn:hover,
.tools-card-btn:hover {
	background: #2563eb !important;
	color: #ffffff !important;
	opacity: 0.95 !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 6px 18px rgba(37, 99, 235, 0.4) !important;
	text-decoration: none !important;
}

@media (max-width: 576px) {

	.child-services-grid,
	.tools-grid {
		grid-template-columns: 1fr !important;
		gap: 16px !important;
	}

	.child-service-card,
	.tools-card {
		padding: 20px !important;
	}
}

.tool-empty-state,
.quality-summary-card,
.quality-card,
.quality-crosslink-card,
.factor-itemю.factor-critical {
	background: #141923;
}

.pill-item {
	background: #ffb454;
}

@media (max-width: 480px) {
	h1, .razrabotka-sajta-page h1, .razrabotka-sajta-page .hero h1 {
		font-size: 21px !important;
		line-height: 1.28 !important;
	}
	.razrabotka-sajta-page .hero p.sub {
		color: #ffffff !important;
		font-size: 14px !important;
	}
	.razrabotka-sajta-page .hero-trust {
		gap: 3px !important;
	}
	h2, .razrabotka-sajta-page h2 {
		font-size: 18px !important;
		line-height: 1.32 !important;
	}
	h3, .razrabotka-sajta-page h3 {
		font-size: 16px !important;
		line-height: 1.35 !important;
	}
}

@media (max-width: 375px) {
	h1, .razrabotka-sajta-page h1, .razrabotka-sajta-page .hero h1 {
		font-size: 21px !important;
		line-height: 1.28 !important;
	}
	.razrabotka-sajta-page .hero p.sub {
		color: #ffffff !important;
		font-size: 14px !important;
	}
	.razrabotka-sajta-page .hero-trust {
		gap: 3px !important;
	}
	h2, .razrabotka-sajta-page h2 {
		font-size: 18px !important;
		line-height: 1.32 !important;
	}
	h3, .razrabotka-sajta-page h3 {
		font-size: 16px !important;
		line-height: 1.3 !important;
	}
}


/* ==========================================================================
   Mobile & Navigation & Form Adjustments (Tasks 1-10)
   ========================================================================== */

/* 1 & 5. Скрытие плавающих кнопок телефона и чата при открытом меню и открытом AI-ассистенте */
body.mobile-menu-active .site-footer__phone,
body.mobile-menu-active .block.footer-phone,
body.mobile-menu-active a.button.callback-phone,
body.mobile-menu-active #r9-bot-launcher,
body.r9-bot-open .site-footer__phone,
body.r9-bot-open .block.footer-phone,
body.r9-bot-open a.button.callback-phone,
body.r9-bot-open #r9-bot-launcher {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* 2. Поведение окна AI-ассистента при мобильной клавиатуре и адаптации экрана */
@media (max-width: 480px) {
    #r9-bot-window {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100% !important;
        height: 100% !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        border-radius: 0 !important;
        border: none !important;
        box-sizing: border-box !important;
        z-index: 1000005 !important;
    }
    #r9-bot-messages {
        flex: 1 1 auto !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }
    #r9-bot-input-container {
        flex-shrink: 0 !important;
    }
}

/* 3. Рамка для меню навигации по материалу nav.landing-toc */
nav.landing-toc {
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    border-radius: 8px !important;
    padding: 10px !important;
}

/* 4. Активный пункт в мобильном меню */
@media (max-width: 992px) {
    .site-nav__item.mobile-open>.site-nav__link,
    .main-header .menu-top>ul>li.mobile-open>a {
        background: #161e2e !important;
        color: #dcf4ff !important;
    }
}

/* 6. Mega-menu sublink color */


/* 7. Mega-menu title color */


/* 8. Mega-menu inner links in razrabotka-sajta-page */


/* 9. Сертификаты и логотипы в 2 колонки на смартфонах <= 480px */
@media (max-width: 480px) {
    .cert-logos.grid-layout {
        grid-template-columns: 1fr 1fr !important;
    }
}

/* 10. Оформление полей форм для всех разрешений */
.form-row-custom label {
    color: #1e293b !important;
}
.form-row-custom .form-control-custom {
    background: #ffffff !important;
    color: #000000 !important;
}

/* ==========================================================================
   Cross-site Layout, Header, Mobile & Anti-Border Normalization
   ========================================================================== */

/* Устранение любых непреднамеренных белых рамок на главной странице */
body.home-page,
body.home-page .main-wrapper,
body.home-page .main-content,
body.home-page #mainHeader,
body.home-page .main-header,
body.home-page .layout,
body.home-page .site-header {
	border: none !important;
	outline: none !important;
}

/* Кнопка "Заказать услугу" в шапке на десктопе по стандарту stte.ru */
.site-header__btn,
button.site-header__btn,
.site-header__top .button.callback,
.site-header__top button.callback {
	background-color: #f2722a !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 4px !important;
	padding: 10px 20px !important;
	font-weight: 500 !important;
	font-size: 14px !important;
	cursor: pointer !important;
	box-shadow: none !important;
	outline: none !important;
	transition: background-color 0.2s ease !important;
}
.site-header__btn:hover,
button.site-header__btn:hover,
.site-header__top .button.callback:hover,
.site-header__top button.callback:hover {
	background-color: #e05e16 !important;
}

/* Кнопка на синем оффер-баннере главной страницы */
.main-block-2-color .button.callback,
.home-offer .button.callback,
.block.block-2 .button.callback {
	background: #ffffff !important;
	color: #0b1a26 !important;
	border: none !important;
	border-radius: 6px !important;
	padding: 12px 28px !important;
	font-weight: 600 !important;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15) !important;
	outline: none !important;
	cursor: pointer !important;
	transition: background-color 0.2s ease, transform 0.2s ease !important;
}
.main-block-2-color .button.callback:hover,
.home-offer .button.callback:hover,
.block.block-2 .button.callback:hover {
	background: #f1f5f9 !important;
	transform: translateY(-1px) !important;
}

/* Четкая видимость логотипа десктоп/мобайл */
.site-header__logo .logo-desktop {
	display: inline-block !important;
}
.site-header__logo .logo-mobile {
	display: none !important;
}
@media (max-width: 768px) {
	.site-header__logo .logo-desktop {
		display: none !important;
	}
	.site-header__logo .logo-mobile {
		display: inline-block !important;
	}
}
@media (min-width: 769px) {
	.site-header__logo .logo-desktop {
		display: inline-block !important;
	}
	.site-header__logo .logo-mobile {
		display: none !important;
	}
}

/* 1 & 5. Скрытие плавающих кнопок телефона и чата при открытом меню и открытом AI-ассистенте */
body.mobile-menu-active .site-footer__phone,
body.mobile-menu-active .block.footer-phone,
body.mobile-menu-active a.button.callback-phone,
body.mobile-menu-active #r9-bot-launcher,
body.r9-bot-open .site-footer__phone,
body.r9-bot-open .block.footer-phone,
body.r9-bot-open a.button.callback-phone,
body.r9-bot-open #r9-bot-launcher {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* 2. Поведение окна AI-ассистента при мобильной клавиатуре и адаптации экрана */
@media (max-width: 480px) {
	#r9-bot-window {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		width: 100% !important;
		height: 100% !important;
		height: 100dvh !important;
		max-height: 100dvh !important;
		border-radius: 0 !important;
		border: none !important;
		box-sizing: border-box !important;
		z-index: 1000005 !important;
	}
	#r9-bot-messages {
		flex: 1 1 auto !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch !important;
	}
	#r9-bot-input-container {
		flex-shrink: 0 !important;
	}
}

/* 3. Рамка для меню навигации по материалу nav.landing-toc */
nav.landing-toc {
	border: 1px solid rgba(255, 255, 255, 0.18) !important;
	border-radius: 8px !important;
	padding: 10px !important;
}

/* 4. Активный пункт в мобильном меню */
@media (max-width: 992px) {
	.site-nav__item.mobile-open > .site-nav__link,
	.main-header .menu-top > ul > li.mobile-open > a {
		background: #161e2e !important;
		color: #dcf4ff !important;
	}
}

/* 6, 7, 8. Мобильное выпадающее меню и подменю: цвет ссылок и текста белый */
@media (max-width: 992px) {
	.site-nav__link,
	.main-header .menu-top > ul > li > a,
	.menu-top > ul > li > a,
	.site-nav__item.mobile-open > .site-nav__link,
	.main-header .menu-top > ul > li.mobile-open > a,
	.mega-menu a,
	.mega-menu__inner a,
	.mega-menu__title,
	.mega-menu__col-title,
	.mega-menu__inner a.mega-menu__col-title,
	.mega-menu__sublink,
	.mega-menu__sublist a,
	.razrabotka-sajta-page .mega-menu__inner a,
	.razrabotka-sajta-page .mega-menu a {
		color: #ffffff !important;
	}
	.mega-menu__sublink-arrow {
		color: #ffffff !important;
		opacity: 0.85 !important;
	}
	.site-nav__arrow {
		color: #ffffff !important;
		opacity: 0.9 !important;
	}
}

/* ==========================================================================
   Выравнивание кнопки телефона и кружка AI-ассистента + Черный цвет шрифта телефона
   ========================================================================== */
@media (max-width: 992px) {
	/* Обертка кнопки телефона (позиционирование строго вровень с ботом) */
	.site-footer__phone,
	.block.footer-phone {
		position: fixed !important;
		bottom: 16px !important;
		bottom: max(16px, env(safe-area-inset-bottom, 16px)) !important;
		left: 14px !important;
		right: auto !important;
		top: auto !important;
		z-index: 10000005 !important;
		margin: 0 !important;
		padding: 0 !important;
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: none !important;
		box-sizing: border-box !important;
	}

	/* Оранжевая плашка телефона: черный шрифт текста (#000000) */
	.site-footer__phone .callback-phone,
	.block.footer-phone .callback-phone,
	.site-footer__phone .button.callback-phone,
	.block.footer-phone .button.callback-phone,
	.site-footer__phone a,
	.block.footer-phone a,
	a.button.callback-phone {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: calc(100vw - 92px) !important;
		max-width: 320px !important;
		height: 52px !important;
		min-height: 52px !important;
		max-height: 52px !important;
		box-sizing: border-box !important;
		font-size: 16px !important;
		padding: 0 16px !important;
		font-weight: 700 !important;
		background: #fea835 !important;
		background-color: #fea835 !important;
		color: #000000 !important;
		border-radius: 14px !important;
		box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35) !important;
		text-decoration: none !important;
		letter-spacing: -0.2px !important;
		line-height: 1 !important;
		border: none !important;
		pointer-events: auto !important;
		cursor: pointer !important;
		transition: transform 0.2s ease, background-color 0.2s ease !important;
	}

	.site-footer__phone .callback-phone:hover,
	.block.footer-phone .callback-phone:hover,
	.site-footer__phone a:hover,
	.block.footer-phone a:hover,
	a.button.callback-phone:hover {
		background: #f59e0b !important;
		background-color: #f59e0b !important;
		color: #000000 !important;
	}

	/* Круглая зеленая кнопка AI-ассистента: строго по одному уровню и высоте (52px) */
	#r9-bot-launcher {
		position: fixed !important;
		bottom: 16px !important;
		bottom: max(16px, env(safe-area-inset-bottom, 16px)) !important;
		right: 14px !important;
		left: auto !important;
		top: auto !important;
		width: 52px !important;
		height: 52px !important;
		min-width: 52px !important;
		min-height: 52px !important;
		max-width: 52px !important;
		max-height: 52px !important;
		padding: 0 !important;
		margin: 0 !important;
		border-radius: 50% !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		z-index: 10000005 !important;
		visibility: visible !important;
		opacity: 1 !important;
		background: #388e3c !important;
		background-color: #388e3c !important;
		box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35) !important;
		cursor: pointer !important;
		pointer-events: auto !important;
		box-sizing: border-box !important;
		transition: transform 0.2s ease !important;
	}

	#r9-bot-launcher:hover {
		transform: scale(1.06) !important;
	}

	#r9-bot-launcher .r9-bot-text {
		display: none !important;
	}

	#r9-bot-launcher .r9-bot-launcher-icon-wrapper {
		margin: 0 !important;
		padding: 0 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		line-height: 1 !important;
	}

	#r9-bot-launcher .r9-bot-svg-icon {
		width: 26px !important;
		height: 26px !important;
		fill: #ffffff !important;
		display: block !important;
	}

	/* Устранение большого отступа от шапки до тела сайта на всех внутренних страницах */
	body:not(.home-page),
	body.razrabotka-sajta-page {
		padding-top: 48px !important;
		margin-top: 0 !important;
	}

	body:not(.home-page) .main-wrapper,
	body.razrabotka-sajta-page .main-wrapper,
	body:not(.home-page) .main-content,
	body.razrabotka-sajta-page .main-content {
		padding-top: 0 !important;
		margin-top: 0 !important;
	}

	.razrabotka-sajta-page .hero,
	.landing-hero,
	header.hero,
	.hero,
	.static-page-dark-wrap,
	.static-page-dark-wrap-padded,
	.doc-page-container {
		padding-top: 14px !important;
		margin-top: 0 !important;
	}

	.razrabotka-sajta-page .hero-inner {
		margin-top: 0 !important;
		padding-top: 0 !important;
	}

	.razrabotka-sajta-page .eyebrow {
		margin-top: 0 !important;
		margin-bottom: 10px !important;
	}

	/* На главной странице: убираем лишний зазор перед контентом */
	body.home-page .main-wrapper,
	body.home-page .main-content {
		padding-top: 0 !important;
		margin-top: 0 !important;
	}
	body.home-page #mainHeader,
	body.home-page .main-header {
		padding-top: 48px !important;
		margin-top: 0 !important;
	}
}

@media (max-width: 480px) {
	.site-footer__phone,
	.block.footer-phone {
		bottom: 12px !important;
		bottom: max(12px, env(safe-area-inset-bottom, 12px)) !important;
		left: 10px !important;
	}

	.site-footer__phone .callback-phone,
	.block.footer-phone .callback-phone,
	.site-footer__phone .button.callback-phone,
	.block.footer-phone .button.callback-phone,
	.site-footer__phone a,
	.block.footer-phone a,
	a.button.callback-phone {
		font-size: 14.5px !important;
		height: 48px !important;
		min-height: 48px !important;
		max-height: 48px !important;
		width: calc(100vw - 82px) !important;
		padding: 0 10px !important;
		border-radius: 12px !important;
	}

	#r9-bot-launcher {
		bottom: 12px !important;
		bottom: max(12px, env(safe-area-inset-bottom, 12px)) !important;
		right: 10px !important;
		width: 48px !important;
		height: 48px !important;
		min-width: 48px !important;
		min-height: 48px !important;
		max-width: 48px !important;
		max-height: 48px !important;
	}

	#r9-bot-launcher .r9-bot-svg-icon {
		width: 24px !important;
		height: 24px !important;
	}

	.razrabotka-sajta-page .hero,
	.landing-hero,
	header.hero,
	.hero {
		padding-top: 10px !important;
	}

	.razrabotka-sajta-page .eyebrow {
		margin-top: 0 !important;
		margin-bottom: 8px !important;
	}
}

@media (max-width: 360px) {
	.site-footer__phone,
	.block.footer-phone {
		bottom: 10px !important;
		bottom: max(10px, env(safe-area-inset-bottom, 10px)) !important;
		left: 8px !important;
	}

	.site-footer__phone .callback-phone,
	.block.footer-phone .callback-phone,
	.site-footer__phone .button.callback-phone,
	.block.footer-phone .button.callback-phone,
	.site-footer__phone a,
	.block.footer-phone a,
	a.button.callback-phone {
		font-size: 13.5px !important;
		width: calc(100vw - 74px) !important;
		height: 44px !important;
		min-height: 44px !important;
		max-height: 44px !important;
		padding: 0 8px !important;
		border-radius: 10px !important;
	}

	#r9-bot-launcher {
		bottom: 10px !important;
		bottom: max(10px, env(safe-area-inset-bottom, 10px)) !important;
		right: 8px !important;
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		min-height: 44px !important;
		max-width: 44px !important;
		max-height: 44px !important;
	}

	#r9-bot-launcher .r9-bot-svg-icon {
		width: 22px !important;
		height: 22px !important;
	}
}

/* На главной странице в блоке block-4.grid для мобильной версии grid-template-columns: 1fr !important */
@media (max-width: 992px) {
	.block-4.grid,
	body.home-page .block-4.grid,
	.main-wrapper .block-4.grid,
	.block.block-4.grid {
		grid-template-columns: 1fr !important;
		text-align: center !important;
		gap: 20px !important;
	}
	.svg-block-42,
	.img-svg-block-42,
	body.home-page .svg-block-42,
	body.home-page .img-svg-block-42 {
		margin: 0 auto !important;
		justify-content: center !important;
	}
}
@media (max-width: 768px) {
	.block-4.grid,
	body.home-page .block-4.grid,
	.main-wrapper .block-4.grid,
	.block.block-4.grid {
		grid-template-columns: 1fr !important;
		text-align: center !important;
		gap: 20px !important;
	}
}
@media (max-width: 480px) {
	.block-4.grid,
	body.home-page .block-4.grid,
	.main-wrapper .block-4.grid,
	.block.block-4.grid {
		grid-template-columns: 1fr !important;
		text-align: center !important;
		gap: 15px !important;
	}
}

/* 9. Сертификаты и логотипы в 2 колонки на смартфонах <= 480px */
@media (max-width: 480px) {
	.cert-logos.grid-layout {
		grid-template-columns: 1fr 1fr !important;
	}
}

/* 10. Оформление полей форм для всех разрешений */
.form-row-custom label {
	color: #1e293b !important;
}
.form-row-custom .form-control-custom {
	background: #ffffff !important;
	color: #000000 !important;
}


/* ==========================================================================
   Mobile Typography Standardization & Header Spacing
   h1: 21px, h2: 18px, h3: 16px
   ========================================================================== */
@media (max-width: 992px) {
	/* На главной странице: комфортный отступ от фиксированной шапки до h1 */
	body.home-page #mainHeader,
	body.home-page .main-header,
	body.home-page .home-header {
		padding-top: 80px !important;
		margin-top: 0 !important;
	}
	body.home-page .header-2 h1,
	body.home-page .home-header h1,
	body.home-page .main-header h1 {
		margin-top: 24px !important;
		margin-bottom: 16px !important;
	}
}

@media (max-width: 768px) {
	/* H1 - 21px across ALL pages, home, landings, tools */
	h1,
	.h1,
	.home-header h1,
	.main-header h1,
	.header-2 h1,
	.razrabotka-sajta-page h1,
	.razrabotka-sajta-page .hero h1,
	.landing-hero h1,
	header.hero h1,
	.hero h1,
	.static-page-dark-wrap h1,
	.doc-page-container h1,
	.doc-main-title,
	.r9-prototypes-h1,
	.tools-header h1,
	.tool-page-header h1,
	.tool-title,
	.serp-h1-title,
	.tools-seo-analyzer h1,
	.bulk-domain-checker-container h1,
	.domain-mail-audit-container h1,
	.tools-utm-generator h1,
	.tool-page-header .tools-hero-h1 {
		font-size: 21px !important;
		line-height: 1.28 !important;
		word-break: break-word !important;
		overflow-wrap: break-word !important;
		hyphens: auto !important;
	}

	/* H2 - 18px across ALL pages */
	h2,
	.h2,
	.razrabotka-sajta-page h2,
	.razrabotka-sajta-page .hero h2,
	.hero h2,
	.landing-hero h2,
	.main-block-2-color h2,
	.main-block-services h2,
	.services-section h2,
	.section-title,
	.block-title,
	.doc-section h2,
	.crawl-title-group h2,
	.utm-info-section h2,
	.tools-card-title,
	.serp-proto-section-title,
	.mail-domain-title,
	.tool-page-header h2 {
		font-size: 18px !important;
		line-height: 1.32 !important;
		word-break: break-word !important;
		overflow-wrap: break-word !important;
	}

	/* H3 - 16px across ALL pages */
	h3,
	.h3,
	.razrabotka-sajta-page h3,
	.hero h3,
	.tools-card-title,
	.info-card h3,
	.result-header h3,
	.serp-success-banner h3,
	.serp-proto-block-title,
	.mail-detail-card-header h3 {
		font-size: 16px !important;
		line-height: 1.35 !important;
		word-break: break-word !important;
		overflow-wrap: break-word !important;
	}
}

@media (max-width: 480px) {
	body.home-page #mainHeader,
	body.home-page .main-header,
	body.home-page .home-header {
		padding-top: 76px !important;
		margin-top: 0 !important;
	}
	body.home-page .header-2 h1,
	body.home-page .home-header h1,
	body.home-page .main-header h1 {
		margin-top: 20px !important;
		margin-bottom: 14px !important;
	}

	h1,
	.h1,
	.home-header h1,
	.main-header h1,
	.header-2 h1,
	.razrabotka-sajta-page h1,
	.razrabotka-sajta-page .hero h1,
	.landing-hero h1,
	header.hero h1,
	.hero h1,
	.static-page-dark-wrap h1,
	.doc-page-container h1,
	.doc-main-title,
	.r9-prototypes-h1,
	.tools-header h1,
	.tool-page-header h1,
	.tool-title,
	.serp-h1-title,
	.tools-seo-analyzer h1,
	.bulk-domain-checker-container h1,
	.domain-mail-audit-container h1,
	.tools-utm-generator h1,
	.tool-page-header .tools-hero-h1 {
		font-size: 21px !important;
		line-height: 1.28 !important;
		word-break: break-word !important;
		overflow-wrap: break-word !important;
		hyphens: auto !important;
	}

	h2,
	.h2,
	.razrabotka-sajta-page h2,
	.hero h2,
	.landing-hero h2,
	.main-block-2-color h2,
	.main-block-services h2,
	.services-section h2,
	.section-title,
	.block-title,
	.doc-section h2,
	.crawl-title-group h2,
	.utm-info-section h2,
	.tools-card-title,
	.serp-proto-section-title,
	.mail-domain-title {
		font-size: 18px !important;
		line-height: 1.32 !important;
		word-break: break-word !important;
		overflow-wrap: break-word !important;
	}

	h3,
	.h3,
	.razrabotka-sajta-page h3,
	.hero h3,
	.tools-card-title,
	.info-card h3,
	.result-header h3,
	.serp-success-banner h3,
	.serp-proto-block-title,
	.mail-detail-card-header h3 {
		font-size: 16px !important;
		line-height: 1.35 !important;
		word-break: break-word !important;
		overflow-wrap: break-word !important;
	}
}

@media (max-width: 375px) {
	body.home-page #mainHeader,
	body.home-page .main-header,
	body.home-page .home-header {
		padding-top: 72px !important;
		margin-top: 0 !important;
	}
	body.home-page .header-2 h1,
	body.home-page .home-header h1,
	body.home-page .main-header h1 {
		margin-top: 18px !important;
		margin-bottom: 12px !important;
	}

	h1,
	.h1,
	.home-header h1,
	.main-header h1,
	.header-2 h1,
	.razrabotka-sajta-page h1,
	.razrabotka-sajta-page .hero h1,
	.landing-hero h1,
	header.hero h1,
	.hero h1,
	.static-page-dark-wrap h1,
	.doc-page-container h1,
	.doc-main-title,
	.r9-prototypes-h1,
	.tools-header h1,
	.tool-page-header h1,
	.tool-title,
	.serp-h1-title,
	.tools-seo-analyzer h1,
	.bulk-domain-checker-container h1,
	.domain-mail-audit-container h1,
	.tools-utm-generator h1,
	.tool-page-header .tools-hero-h1 {
		font-size: 21px !important;
		line-height: 1.28 !important;
		word-break: break-word !important;
		overflow-wrap: break-word !important;
		hyphens: auto !important;
	}

	h2,
	.h2,
	.razrabotka-sajta-page h2,
	.hero h2,
	.landing-hero h2,
	.main-block-2-color h2,
	.main-block-services h2,
	.services-section h2,
	.section-title,
	.block-title,
	.doc-section h2,
	.crawl-title-group h2,
	.utm-info-section h2,
	.tools-card-title,
	.serp-proto-section-title,
	.mail-domain-title {
		font-size: 18px !important;
		line-height: 1.32 !important;
		word-break: break-word !important;
		overflow-wrap: break-word !important;
	}

	h3,
	.h3,
	.razrabotka-sajta-page h3,
	.hero h3,
	.tools-card-title,
	.info-card h3,
	.result-header h3,
	.serp-success-banner h3,
	.serp-proto-block-title,
	.mail-detail-card-header h3 {
		font-size: 16px !important;
		line-height: 1.35 !important;
		word-break: break-word !important;
		overflow-wrap: break-word !important;
	}
}
