/* ===== Блок «Как раскрываем спрос» ===== */
.osa-internal .o-two { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }
.osa-internal .o-two > div > p { margin-top: 24px; }
.osa-internal .o-note { margin-top: 30px !important; padding-left: 18px; border-left: 3px solid var(--osa-yellow); font-size: 14px !important; line-height: 1.65; }

.osa-internal .s-highlight { background: linear-gradient(transparent 62%, #ffe100 62%, #ffe100 96%, transparent 96%); }

/* ===== Map diagram ===== */
.osa-internal .s-map-diagram { background: #dedeea; border: 1px solid #cbccda; padding: 32px; border-radius: 25px; position: relative; min-width: 0; }
.osa-internal .s-diagram-caption { font-size: 10px; letter-spacing: .09em; color: #75798e; display: block; margin-bottom: 25px; }
.osa-internal .s-map-root { border-radius: 12px; background: #292c3a; padding: 25px; color: white; position: relative; display: flex; flex-direction: column; gap: 9px; }
.osa-internal .s-map-root > span { font-size: 10px; letter-spacing: .1em; color: #b8bcce; }
.osa-internal .s-map-root b { font: 500 18px/1.4 'Unbounded', sans-serif; font-weight: 500; max-width: 85%; color: #fff; }
.osa-internal .s-map-root i { position: absolute; right: 20px; top: 36px; display: flex; align-items: center; justify-content: center; color: #ffe100; font-style: normal; }
.osa-internal .s-map-root i svg { width: 22px; height: 22px; fill: currentColor; display: block; }

.osa-internal .s-map-branches { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; padding-top: 35px; position: relative; }
.osa-internal .s-map-branches::before { content: ''; position: absolute; left: 24.5%; right: 24.5%; top: 18px; border-top: 1px solid #8f94aa; }
.osa-internal .s-map-branches::after { content: ''; position: absolute; left: 50%; height: 18px; top: 0; border-left: 1px solid #8f94aa; }
.osa-internal .s-map-branches > div { display: flex; flex-direction: column; gap: 8px; position: relative; }
.osa-internal .s-map-branches > div::before { content: ''; position: absolute; left: 50%; height: 17px; top: -17px; border-left: 1px solid #8f94aa; }
.osa-internal .s-map-branches small { font-size: 10px; letter-spacing: .06em; padding: 7px 0; text-align: center; color: #6f748b; }
.osa-internal .s-map-branches b { font-weight: 400; background: #f7f7fa; border: 1px solid #c8ccda; padding: 13px; border-radius: 7px; font-size: 13px; color: var(--osa-ink); }
.osa-internal .s-map-branches > div:first-child b:first-of-type { background: #ffe100; border-color: #ffe100; }
.osa-internal .s-map-diagram > p { font-size: 12px; text-align: center; line-height: 1.6; margin-top: 23px; color: #74798d; }

/* ===== Адаптив ===== */
@media (max-width: 1279px) {
	.osa-internal .o-two { gap: 40px; }
}

@media (max-width: 991px) {
	.osa-internal .o-two { grid-template-columns: 1fr; gap: 32px; }
	.osa-internal .s-map-diagram { max-width: 650px; }
}

@media (max-width: 767px) {
	.osa-internal .s-map-diagram { padding: 24px 20px; }
	.osa-internal .s-map-branches { grid-template-columns: 1fr; gap: 16px; }
	.osa-internal .s-map-branches::before,
	.osa-internal .s-map-branches::after,
	.osa-internal .s-map-branches > div::before { display: none; }
	.osa-internal .s-map-branches { padding-top: 20px; }
}

@media (max-width: 575px) {
	.osa-internal .o-two { gap: 24px; }
	.osa-internal .o-two > div > p { margin-top: 20px; }
	.osa-internal .o-note { font-size: 13px !important; }
	.osa-internal .s-map-diagram { padding: 20px 16px; border-radius: 20px; }
	.osa-internal .s-map-root { padding: 20px; }
	.osa-internal .s-map-root b { font-size: 17px; }
	.osa-internal .s-map-root i { right: 16px; top: 28px; }
	.osa-internal .s-map-root i svg { width: 20px; height: 20px; }
	.osa-internal .s-map-branches small { font-size: 9px; }
	.osa-internal .s-map-branches b { padding: 12px 10px; font-size: 12px; }
	.osa-internal .s-map-diagram > p { font-size: 11px; }
}