.info-page {
	--ip-blue: #2C8BC9;
	--ip-blue-soft: #EEF4F9;
	--ip-blue-border: #D6E8F4;
	--ip-blue-bg: #F1F8FC;
	--ip-green: #1FA97A;
	--ip-green-soft: #E8F3EC;
	--ip-green-border: #C9E5D4;
	--ip-green-text: #155F46;
	--ip-text: #1B2A36;
	--ip-text-muted: #6B7785;
	--ip-text-soft: #9AA8B5;
	--ip-border: #E4EAF0;
	--ip-bg: #F7F9FB;
	--ip-card: #FFFFFF;

	background: var(--ip-bg);
	color: var(--ip-text);
	font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	padding: 40px 32px 64px;
}

.info-page * { box-sizing: border-box; }

.info-page__inner {
	max-width: 1180px;
	margin: 0 auto;
}

.info-page__header { margin-bottom: 32px; }
.info-page__eyebrow {
	font-size: 13px;
	color: var(--ip-text-soft);
	letter-spacing: .08em;
	text-transform: uppercase;
	font-weight: 600;
	margin-bottom: 8px;
}
.info-page__title {
	font-size: 36px;
	font-weight: 700;
	margin: 0;
	letter-spacing: -0.02em;
	color: var(--ip-text);
	line-height: 1.15;
}

.info-page__section { margin-bottom: 48px; }
.info-page__section--tight { margin-bottom: 36px; }

.info-page__section-eyebrow {
	font-size: 12px;
	color: var(--ip-blue);
	letter-spacing: .08em;
	text-transform: uppercase;
	font-weight: 600;
	margin-bottom: 8px;
}
.info-page__section-title {
	font-size: 26px;
	font-weight: 700;
	color: var(--ip-text);
	margin: 0;
	letter-spacing: -0.02em;
	line-height: 1.2;
}
.info-page__section-intro {
	font-size: 14px;
	color: var(--ip-text-muted);
	margin: 10px 0 0;
	max-width: 680px;
	line-height: 1.55;
}
.info-page__section-header { margin-bottom: 24px; }

/* Intro card */
.info-page__intro-card {
	padding: 18px 22px;
	background: var(--ip-card);
	border: 1px solid var(--ip-border);
	border-radius: 12px;
	max-width: 880px;
}
.info-page__intro-card p { margin: 0; font-size: 14px; color: var(--ip-text); line-height: 1.6; }
.info-page__intro-card a { color: var(--ip-blue); text-decoration: none; font-weight: 500; }
.info-page__intro-card a:hover { text-decoration: underline; }

/* Reception cards */
.info-page__reception-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 12px;
}
.info-page__reception-card {
	padding: 18px 20px;
	background: var(--ip-card);
	border: 1px solid var(--ip-border);
	border-radius: 12px;
	display: flex;
	align-items: center;
	gap: 16px;
}
.info-page__reception-icon {
	width: 44px; height: 44px;
	border-radius: 10px;
	background: var(--ip-blue-soft);
	color: var(--ip-blue);
	display: flex; align-items: center; justify-content: center;
	flex-shrink: 0;
}
.info-page__reception-body { flex: 1; min-width: 0; }
.info-page__reception-role {
	font-size: 12px;
	color: var(--ip-text-soft);
	letter-spacing: .04em;
	text-transform: uppercase;
	font-weight: 600;
	margin-bottom: 4px;
}
.info-page__reception-schedule { font-size: 14px; color: var(--ip-text); margin-bottom: 2px; }
.info-page__reception-time {
	font-size: 15px;
	font-weight: 600;
	color: var(--ip-text);
	font-family: 'JetBrains Mono', ui-monospace, monospace;
}
.info-page__reception-action {
	padding: 8px 14px;
	border-radius: 8px;
	background: var(--ip-blue);
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	flex-shrink: 0;
}
.info-page__reception-action:hover { color: #fff; text-decoration: none; opacity: .92; }

/* Regulators grid */
.info-page__regulators {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 10px;
}
.info-page__regulator {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	background: var(--ip-card);
	border: 1px solid var(--ip-border);
	border-radius: 12px;
	text-decoration: none;
	color: inherit;
	transition: border-color .12s, transform .12s;
}
.info-page__regulator:hover { border-color: var(--ip-blue); text-decoration: none; color: inherit; }
.info-page__regulator-badge {
	width: 40px; height: 40px;
	border-radius: 10px;
	background: var(--ip-blue-soft);
	color: var(--ip-blue);
	display: flex; align-items: center; justify-content: center;
	font-size: 13px;
	font-weight: 700;
	flex-shrink: 0;
	letter-spacing: .02em;
}
.info-page__regulator-text { min-width: 0; line-height: 1.3; }
.info-page__regulator-short { font-size: 13px; font-weight: 600; color: var(--ip-text); margin-bottom: 2px; }
.info-page__regulator-full { font-size: 11px; color: var(--ip-text-muted); }

/* Documents grid */
.info-page__documents {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
	gap: 8px;
}
.info-page__doc {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 14px;
	background: var(--ip-card);
	border: 1px solid var(--ip-border);
	border-radius: 10px;
	text-decoration: none;
	color: inherit;
	transition: border-color .12s;
}
.info-page__doc:hover { border-color: var(--ip-blue); text-decoration: none; color: inherit; }
.info-page__doc-icon {
	width: 36px; height: 36px;
	border-radius: 8px;
	background: var(--ip-blue-soft);
	color: var(--ip-blue);
	display: flex; align-items: center; justify-content: center;
	flex-shrink: 0;
}
.info-page__doc--prep .info-page__doc-icon { background: var(--ip-green-soft); color: var(--ip-green); }
.info-page__doc-body { flex: 1; min-width: 0; }
.info-page__doc-title { font-size: 14px; font-weight: 500; color: var(--ip-text); line-height: 1.35; }
.info-page__doc-meta { font-size: 12px; color: var(--ip-text-soft); margin-top: 2px; }
.info-page__doc-action { color: var(--ip-text-soft); flex-shrink: 0; }

/* Requisites + contacts split */
.info-page__split {
	display: grid;
	grid-template-columns: 1.6fr 1fr;
	gap: 24px;
	align-items: start;
}

.info-page__requisites {
	margin: 0;
	padding: 4px 24px;
	background: var(--ip-card);
	border: 1px solid var(--ip-border);
	border-radius: 14px;
	display: grid;
	grid-template-columns: 220px 1fr;
	column-gap: 24px;
	row-gap: 0;
}
.info-page__requisites dt {
	font-size: 13px;
	color: var(--ip-text-muted);
	padding: 14px 0;
	border-bottom: 1px solid var(--ip-border);
}
.info-page__requisites dd {
	font-size: 14px;
	color: var(--ip-text);
	font-weight: 500;
	margin: 0;
	padding: 14px 0;
	border-bottom: 1px solid var(--ip-border);
	word-break: break-word;
}
.info-page__requisites dt:last-of-type,
.info-page__requisites dd:last-of-type { border-bottom: none; }
.info-page__requisites dd span + span { display: block; margin-top: 4px; }

.info-page__contacts {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.info-page__contact {
	padding: 14px 16px;
	background: var(--ip-card);
	border: 1px solid var(--ip-border);
	border-radius: 12px;
}
.info-page__contact-role {
	font-size: 12px;
	color: var(--ip-text-soft);
	letter-spacing: .04em;
	text-transform: uppercase;
	font-weight: 600;
	margin-bottom: 6px;
}
.info-page__contact-name { font-size: 14px; color: var(--ip-text); margin-bottom: 4px; }
.info-page__contact-tel {
	display: inline-block;
	font-size: 15px;
	font-weight: 600;
	color: var(--ip-blue);
	text-decoration: none;
	margin-right: 12px;
}
.info-page__contact-tel:hover { text-decoration: underline; color: var(--ip-blue); }

.info-page__contact--accent {
	background: var(--ip-blue-bg);
	border-color: var(--ip-blue-border);
}
.info-page__contact--accent .info-page__contact-role { color: var(--ip-blue); }
.info-page__contact-phone {
	display: block;
	font-size: 22px;
	font-weight: 700;
	color: var(--ip-text);
	text-decoration: none;
	font-feature-settings: "tnum";
	letter-spacing: -0.01em;
}
.info-page__contact-phone:hover { color: var(--ip-text); text-decoration: none; }
.info-page__contact-email {
	font-size: 13px;
	color: var(--ip-text-muted);
	margin-top: 4px;
	display: inline-block;
	text-decoration: none;
}
.info-page__contact-email:hover { color: var(--ip-blue); }

/* Specialties grid */
.info-page__specialties {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 6px;
}
.info-page__specialty {
	padding: 10px 14px;
	background: var(--ip-card);
	border: 1px solid var(--ip-border);
	border-radius: 8px;
	font-size: 13px;
	color: var(--ip-text);
}

/* Schedule + map split */
.info-page__schedule-split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
}
.info-page__panel {
	padding: 24px 28px;
	background: var(--ip-card);
	border: 1px solid var(--ip-border);
	border-radius: 14px;
}
.info-page__panel-eyebrow {
	font-size: 12px;
	color: var(--ip-text-soft);
	letter-spacing: .08em;
	text-transform: uppercase;
	font-weight: 600;
	margin-bottom: 8px;
}
.info-page__panel-title {
	font-size: 22px;
	font-weight: 700;
	color: var(--ip-text);
	margin: 0 0 20px;
	letter-spacing: -0.01em;
}
.info-page__schedule-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: 14px 0;
	border-bottom: 1px solid var(--ip-border);
}
.info-page__schedule-row:last-child { border-bottom: none; }
.info-page__schedule-day { font-size: 14px; color: var(--ip-text); }
.info-page__schedule-hours {
	font-size: 16px;
	font-weight: 600;
	color: var(--ip-text);
	font-family: 'JetBrains Mono', ui-monospace, monospace;
	letter-spacing: -0.02em;
}
.info-page__schedule-note {
	margin-top: 20px;
	padding: 12px 14px;
	background: var(--ip-green-soft);
	border: 1px solid var(--ip-green-border);
	border-radius: 10px;
	font-size: 13px;
	color: var(--ip-green-text);
}

.info-page__address {
	font-size: 14px;
	color: var(--ip-text);
	line-height: 1.6;
	margin-bottom: 14px;
}
.info-page__address strong {
	display: inline-block;
	margin-bottom: 4px;
	font-weight: 600;
}
.info-page__address + .info-page__address { margin-top: 8px; }
.info-page__phone-link {
	display: inline-block;
	font-size: 18px;
	font-weight: 700;
	color: var(--ip-blue);
	text-decoration: none;
	font-feature-settings: "tnum";
	margin-top: 8px;
}
.info-page__phone-link:hover { text-decoration: underline; color: var(--ip-blue); }

/* Notice link */
.info-page__notice {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	background: var(--ip-bg);
	border: 1px solid var(--ip-border);
	border-radius: 10px;
	font-size: 13px;
	color: var(--ip-text-muted);
	text-decoration: none;
	line-height: 1.5;
	max-width: 720px;
}
.info-page__notice:hover { border-color: var(--ip-blue); color: var(--ip-text); text-decoration: none; }
.info-page__notice svg { flex-shrink: 0; }

/* Quality banner */
.info-page__quality {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 18px 24px;
	background: var(--ip-card);
	border: 1px solid var(--ip-border);
	border-radius: 12px;
	text-decoration: none;
	color: inherit;
	transition: border-color .12s;
}
.info-page__quality:hover { border-color: var(--ip-blue); text-decoration: none; color: inherit; }
.info-page__quality-icon {
	width: 48px; height: 48px;
	border-radius: 10px;
	background: var(--ip-blue-soft);
	color: var(--ip-blue);
	display: flex; align-items: center; justify-content: center;
	flex-shrink: 0;
}
.info-page__quality-body { flex: 1; }
.info-page__quality-title { font-size: 15px; font-weight: 600; color: var(--ip-text); margin-bottom: 2px; }
.info-page__quality-sub { font-size: 13px; color: var(--ip-text-muted); }
.info-page__quality-arrow { color: var(--ip-text-soft); flex-shrink: 0; }

/* Responsive */
@media (max-width: 1024px) {
	.info-page { padding: 32px 24px 56px; }
	.info-page__title { font-size: 32px; }
	.info-page__split { grid-template-columns: 1fr; }
	.info-page__schedule-split { grid-template-columns: 1fr; }
	.info-page__requisites { grid-template-columns: 180px 1fr; column-gap: 16px; }
}

@media (max-width: 768px) {
	.info-page { padding: 24px 16px 48px; }
	.info-page__title { font-size: 28px; }
	.info-page__section-title { font-size: 22px; }
	.info-page__requisites {
		grid-template-columns: 1fr;
		padding: 8px 18px;
	}
	.info-page__requisites dt {
		padding: 14px 0 4px;
		border-bottom: none;
	}
	.info-page__requisites dd {
		padding: 0 0 14px;
	}
	.info-page__requisites dt:last-of-type { padding-top: 14px; }
	.info-page__regulators { grid-template-columns: 1fr 1fr; }
	.info-page__documents { grid-template-columns: 1fr; }
	.info-page__panel { padding: 20px 22px; }
}

@media (max-width: 480px) {
	.info-page__regulators { grid-template-columns: 1fr; }
	.info-page__specialties { grid-template-columns: 1fr 1fr; }
	.info-page__reception-card { flex-wrap: wrap; }
	.info-page__reception-action { width: 100%; text-align: center; }
}
