/* ===== Блок «Как устроено решение» (реклама) ===== */
.osa-internal .x-lab { background: white; border: 1px solid #d1d3dd; border-radius: 30px; padding: 48px; }
.osa-internal .x-lab .o-head h2 { max-width: 760px; }
.osa-internal .x-lab .o-head > p { max-width: 340px; font-size: 16px; line-height: 1.65; }
.osa-internal .x-lab h2 em { background: linear-gradient(transparent 62%, #ffe100 62%, #ffe100 94%, transparent 94%); font-style: normal; }

/* ===== Ad path ===== */
.osa-internal .x-ad-path { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.osa-internal .x-ad-step { position: relative; background: #eeedf4; border: 1px solid #dbdce6; border-radius: 14px; padding: 25px 20px; }
.osa-internal .x-ad-step:last-child { background: #ffe100; border-color: #ffe100; }
.osa-internal .x-ad-icon { width: 62px; height: 62px; border: 1px solid #b5bacc; background: #fff; border-radius: 50%; display: grid; place-items: center; margin-bottom: 38px; color: #292c3a; box-shadow: 5px 5px 0 #dedfe9; }
.osa-internal .x-ad-icon svg { width: 28px; height: 28px; display: block; }
.osa-internal .x-ad-step:last-child .x-ad-icon { background: #292c3a; color: #ffe100; box-shadow: 5px 5px 0 #c4af27; border-color: #292c3a; }
.osa-internal .x-ad-step > small { display: inline-flex; align-items: center; gap: 8px; font: 500 11px/1 'Unbounded', sans-serif; letter-spacing: .08em; color: #737b91; margin-bottom: 14px; }
.osa-internal .x-ad-step > small b { width: 24px; height: 24px; border-radius: 50%; background: rgba(41, 44, 58, .08); color: var(--osa-ink); display: grid; place-items: center; font: 500 10px/1 'Unbounded', sans-serif; flex-shrink: 0; }
.osa-internal .x-ad-step:last-child > small { color: #6a6126; }
.osa-internal .x-ad-step:last-child > small b { background: #292c3a; color: var(--osa-yellow); }
.osa-internal .x-ad-step h3 { font: 500 17px/1.45 'Unbounded', sans-serif; letter-spacing: -.02em; color: var(--osa-ink); }
.osa-internal .x-path-arrow { position: absolute; right: -18px; top: 42px; width: 28px; height: 28px; border-radius: 50%; background: #292c3a; color: #ffe100; display: grid; place-items: center; z-index: 2; }
.osa-internal .x-path-arrow svg { width: 20px; height: 20px; fill: currentColor; display: block; transform: rotate(45deg); }

/* ===== Ad feedback ===== */
.osa-internal .x-ad-feedback { display: flex; align-items: center; gap: 22px; margin: 24px 0 30px; padding: 24px 30px; border: 1px dashed #aeb5cb; border-radius: 12px; background: #f8f8fb; }
.osa-internal .x-ad-feedback > span { width: 48px; height: 48px; flex-shrink: 0; color: #858da5; display: block; }
.osa-internal .x-ad-feedback > span svg { width: 48px; height: 48px; display: block; }
.osa-internal .x-ad-feedback b { font: 500 17px/1.4 'Unbounded', sans-serif; letter-spacing: -.02em; color: var(--osa-ink); }
.osa-internal .x-ad-feedback p { font-size: 15px; margin-top: 6px; line-height: 1.65; color: var(--osa-muted); }

/* ===== Ad decisions ===== */
.osa-internal .x-ad-decisions { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.osa-internal .x-ad-decisions > div { background: #f7f7fa; border: 1px solid #e4e5ee; border-radius: 14px; padding: 24px; }
.osa-internal .x-ad-decisions small { display: inline-block; font: 500 11px/1 'Unbounded', sans-serif; letter-spacing: .1em; color: var(--osa-ink); background: var(--osa-yellow); padding: 5px 10px; border-radius: 100px; }
.osa-internal .x-ad-decisions h3 { font: 500 18px/1.4 'Unbounded', sans-serif; letter-spacing: -.02em; margin-top: 16px; color: var(--osa-ink); }
.osa-internal .x-ad-decisions p { font-size: 16px; line-height: 1.65; margin-top: 12px; color: var(--osa-muted); }

/* ===== Адаптив ===== */
@media (max-width: 1279px) {
	.osa-internal .x-lab { padding: 35px; }
	.osa-internal .x-ad-step { padding: 23px 16px; }
	.osa-internal .x-ad-step h3 { font-size: 15px; }
}

@media (max-width: 991px) {
	.osa-internal .x-lab .o-head > p { max-width: 650px; }
	.osa-internal .x-ad-path { grid-template-columns: 1fr 1fr; gap: 20px; }
	.osa-internal .x-path-arrow { display: none; }
	.osa-internal .x-ad-step h3 { font-size: 18px; }
	.osa-internal .x-ad-icon { margin-bottom: 25px; }
	.osa-internal .x-ad-step { padding: 25px; }
}

@media (max-width: 767px) {
	.osa-internal .x-ad-path { grid-template-columns: 1fr; gap: 12px; }
	.osa-internal .x-ad-decisions { grid-template-columns: 1fr; gap: 16px; }
}

@media (max-width: 575px) {
	.osa-internal .x-lab { padding: 27px 21px; border-radius: 22px; }
	.osa-internal .x-lab h2 { font-size: 25px; }
	.osa-internal .x-lab .o-head > p { font-size: 15px; }
	.osa-internal .x-ad-step { padding: 22px; display: grid; grid-template-columns: 55px 1fr; gap: 10px 17px; align-items: center; }
	.osa-internal .x-ad-icon { grid-row: 1/3; width: 50px; height: 50px; margin: 0; }
	.osa-internal .x-ad-icon svg { width: 24px; height: 24px; }
	.osa-internal .x-ad-step > small { font-size: 10px; margin: 0; grid-column: 2; align-self: end; }
	.osa-internal .x-ad-step > small b { width: 20px; height: 20px; font-size: 9px; }
	.osa-internal .x-ad-step h3 { font-size: 17px; grid-column: 2; align-self: start; }
	.osa-internal .x-ad-feedback { padding: 20px; gap: 15px; }
	.osa-internal .x-ad-feedback > span,
	.osa-internal .x-ad-feedback > span svg { width: 40px; height: 40px; }
	.osa-internal .x-ad-feedback b { font-size: 15px; }
	.osa-internal .x-ad-feedback p { font-size: 14px; }
	.osa-internal .x-ad-decisions > div { padding: 20px; }
	.osa-internal .x-ad-decisions p { font-size: 15px; }
}