/* Premium site styles — teal + orange brand */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@600;700&family=Inter:wght@400;500;600&family=Playfair+Display:wght@700;800&display=swap');

:root {
	/* Brand — deep teal + safety orange */
	--color-primary: #0c2826;
	--color-primary-hover: #123833;
	--color-primary-soft: #1a4a45;
	--color-primary-rgb: 12, 40, 38;
	--color-accent: #ff6b35;
	--color-accent-hover: #ff8555;
	--color-accent-light: #ffa07a;
	--color-accent-rgb: 255, 107, 53;
	--color-on-accent: #1a1008;
	--color-on-dark: #ffffff;
	--color-cherry: #c0392b;
	--color-cherry-light: #e74c3c;
	--color-cherry-bright: #ff6b6b;
	--color-cherry-rgb: 192, 57, 43;
	--color-footer: #061412;
	--color-footer-dark: #030d0b;
	--color-surface: #0a1311;
	--color-surface-elevated: #1c302c;
	--color-surface-warm: #142522;
	--color-text: #f4fbf9;
	--color-text-muted: #b5ccc6;
	--color-heading: #ffffff;
	--color-heading-soft: #d0e4df;
	--color-border: rgba(200, 235, 225, 0.18);
	--color-border-strong: rgba(200, 235, 225, 0.28);
	--shadow-sm: 0 2px 12px rgba(0, 0, 0, 0.32);
	--shadow-md: 0 10px 32px rgba(0, 0, 0, 0.42);
	--shadow-lg: 0 24px 56px rgba(0, 0, 0, 0.52);
	--radius-sm: 8px;
	--radius-md: 12px;
	--radius-lg: 16px;
	--transition: 0.25s cubic-bezier(0.4, 0, 0.2, 1);

	/* Category colors */
	--cat-m: #4dd0e1;
	--cat-m-bg: rgba(77, 208, 225, 0.16);
	--cat-m-border: rgba(77, 208, 225, 0.45);
	--cat-a: #ff6659;
	--cat-a-bg: rgba(255, 102, 89, 0.16);
	--cat-a-border: rgba(255, 102, 89, 0.45);
	--cat-b: #64b5f6;
	--cat-b-bg: rgba(100, 181, 246, 0.16);
	--cat-b-border: rgba(100, 181, 246, 0.45);
	--cat-c: #ffd54f;
	--cat-c-bg: rgba(255, 213, 79, 0.14);
	--cat-c-border: rgba(255, 213, 79, 0.42);
	--cat-d: #81c784;
	--cat-d-bg: rgba(129, 199, 132, 0.16);
	--cat-d-border: rgba(129, 199, 132, 0.45);
	--cat-e: #ce93d8;
	--cat-e-bg: rgba(206, 147, 216, 0.16);
	--cat-e-border: rgba(206, 147, 216, 0.45);
}

*, *::before, *::after { box-sizing: border-box; }

html {
	scroll-behavior: smooth;
	color-scheme: dark;
}

body {
	margin: 0;
	padding: 0;
	padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px));
	background: var(--color-surface-elevated);
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
	color: var(--color-text);
	line-height: 1.7;
	font-size: 16px;
	font-weight: 400;
	-webkit-font-smoothing: antialiased;
}

body a {
	transition: color var(--transition), background var(--transition), box-shadow var(--transition), transform var(--transition);
}

a:hover { text-decoration: none; }

h1, h2, h3, h4, h5, h6 {
	margin: 0;
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-weight: 600;
	color: var(--color-heading);
	letter-spacing: 0.02em;
}

p { margin: 0; }
ul { margin: 0; padding: 0; list-style: none; }
img { max-width: 100%; height: auto; display: block; }

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

/* Layout */
.container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 24px;
}

.row {
	display: flex;
	flex-wrap: wrap;
	margin-left: -15px;
	margin-right: -15px;
}

[class*="col-"] {
	padding-left: 15px;
	padding-right: 15px;
	width: 100%;
}

.col-xs-12 { width: 100%; }
.col-md-3 { width: 25%; }
.col-md-4 { width: 33.333%; }
.col-md-5 { width: 41.666%; }
.col-md-6 { width: 50%; }
.col-md-7 { width: 58.333%; }
.col-md-8 { width: 66.666%; }
.col-lg-6 { width: 50%; }
.col-lg-12 { width: 100%; }
.col-md-offset-1 { margin-left: 8.333%; }
.col-sm-6 { width: 50%; }

.text-center { text-align: center; }
.text-right { text-align: right; }
.img-responsive { max-width: 100%; height: auto; border-radius: var(--radius-md); }

.text-body {
	color: var(--color-text);
	font-size: 1rem;
	line-height: 1.85;
	margin: 1.25em 0;
}

.text-body--tight { line-height: 1.65; }

.content-list {
	margin-left: 1.5rem;
	list-style: none;
}

.content-list li {
	margin-bottom: 0.5em;
	padding-left: 1.25em;
	position: relative;
	color: var(--color-text);
}

.content-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.65em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--color-accent);
}

.section-spaced { margin-top: 5rem; padding-bottom: 2rem; }

/* Icons */
.icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	vertical-align: middle;
	flex-shrink: 0;
}

.icon svg:not([width]) { width: 1em; height: 1em; fill: currentColor; }
.icon--lg svg { width: 2.5em; height: 2.5em; }
.icon--lg { display: block; margin-bottom: 0.5rem; }

.icon--counter {
	color: var(--color-accent);
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
}

.icon--counter svg {
	width: 28px;
	height: 28px;
	fill: currentColor;
}

.icon--check {
	color: var(--color-on-dark);
	background: linear-gradient(135deg, var(--color-accent-light), var(--color-accent));
	width: 44px;
	height: 44px;
	min-width: 44px;
	border-radius: 50%;
	flex-shrink: 0;
	box-shadow: var(--shadow-sm);
	border: 1px solid rgba(var(--color-accent-rgb), 0.45);
}

.icon--check svg { width: 20px; height: 20px; fill: currentColor; }

/* Header */
.site-header {
	background: var(--color-surface-elevated);
	box-shadow: 0 1px 0 var(--color-border-strong), var(--shadow-sm);
	position: sticky;
	top: 0;
	z-index: 1000;
	border-bottom: 1px solid var(--color-border-strong);
}

.header-inner {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	min-height: 72px;
}

.site-logo {
	display: flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
	padding: 8px 0;
	background: transparent;
	flex: 0 0 auto;
	line-height: 1.2;
}

.site-logo img {
	display: block;
	height: 56px;
	width: auto;
	flex: 0 0 auto;
	filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.45));
}

.site-logo-text {
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 1.75rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.02em;
	white-space: nowrap;
}

.site-logo-text-lead {
	color: var(--color-heading);
}

.site-logo-text-accent {
	color: var(--color-accent-light);
}

.site-logo:hover img,
.site-logo:hover .site-logo-text {
	opacity: 0.85;
}

.nav-toggle {
	display: none;
	background: transparent;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	cursor: pointer;
	padding: 10px 12px;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	margin-left: auto;
	align-self: center;
}

.nav-toggle span {
	display: block;
	width: 22px;
	height: 2px;
	background: var(--color-heading);
	border-radius: 1px;
	transition: transform var(--transition);
}

.site-nav {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.site-nav > ul {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 4px;
}

.site-nav > ul > li {
	position: relative;
}

.site-nav > ul > li > a,
.site-nav .submenu-toggle {
	display: block;
	padding: 12px 16px;
	color: var(--color-text);
	text-decoration: none;
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	background: none;
	border: none;
	cursor: pointer;
	font-family: inherit;
	font-weight: 600;
	border-radius: var(--radius-sm);
}

.site-nav > ul > li > a:hover,
.site-nav .submenu-toggle:hover {
	color: var(--color-accent-light);
	background: var(--color-surface);
}

.site-nav > ul > li > a.active {
	color: var(--color-accent);
	background: rgba(var(--color-accent-rgb), 0.14);
}

.site-nav > ul > li.has-submenu {
	position: relative;
}

/* Невидимый «мост» между кнопкой и выпадающим списком */
.site-nav > ul > li.has-submenu::before {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	height: 10px;
}

.site-nav .submenu {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 240px;
	background: var(--color-surface-elevated);
	box-shadow: var(--shadow-lg);
	border-radius: var(--radius-md);
	border: 1px solid var(--color-border);
	overflow: hidden;
	z-index: 1100;
	padding: 8px 0;
	margin-top: 0;
}

.site-nav .submenu a {
	display: block;
	padding: 12px 20px;
	color: var(--color-text);
	text-decoration: none;
	font-size: 0.875rem;
	border-bottom: none;
	letter-spacing: 0.02em;
	text-transform: none;
}

.site-nav .submenu a:hover {
	background: var(--color-surface);
	color: var(--color-accent-light);
}

.site-nav .has-submenu:hover > .submenu,
.site-nav .has-submenu:focus-within > .submenu,
.site-nav .has-submenu.submenu-open > .submenu {
	display: block;
}

/* Последние пункты — выравнивание выпадашки по правому краю */
.site-nav > ul > li.has-submenu:nth-last-child(-n+2) .submenu {
	left: auto;
	right: 0;
}

.caret::after {
	content: ' ▾';
	font-size: 0.75em;
	opacity: 0.7;
}

/* Hero */
.hero {
	position: relative;
	overflow: hidden;
	min-height: 520px;
	background: var(--color-primary) url(../images/hero-home.jpg) no-repeat right center / cover;
}

.hero-overlay {
	background: linear-gradient(105deg, rgba(var(--color-primary-rgb), 0.92) 0%, rgba(var(--color-primary-rgb), 0.72) 40%, rgba(var(--color-primary-rgb), 0.35) 62%, transparent 100%);
	min-height: 520px;
	padding: 6rem 0 3.5rem;
}

.hero-content {
	display: block;
}

.hero-text {
	max-width: 720px;
}

.hero-cta {
	margin: 2rem 0 0;
}

.hero-content h1,
.hero-content h2,
.hero-content h3 {
	font-size: clamp(2rem, 4.5vw, 3.25rem);
	color: #fff;
	text-transform: none;
	line-height: 1.15;
	font-weight: 700;
}

.hero-content h4 {
	font-family: 'Inter', sans-serif;
	font-size: clamp(1rem, 2vw, 1.25rem);
	font-weight: 400;
	color: rgba(255, 255, 255, 0.94);
	text-transform: none;
	padding: 1rem 0 1.5rem;
	letter-spacing: 0.02em;
	line-height: 1.6;
}

.hero-features {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-top: 3rem;
	padding-top: 2rem;
	border-top: 1px solid rgba(255, 255, 255, 0.22);
}

.hero-features > div {
	padding: 1rem;
	border-radius: var(--radius-md);
	background: rgba(255, 255, 255, 0.1);
	backdrop-filter: blur(8px);
	border: 1px solid rgba(255, 255, 255, 0.12);
}

.hero-features .icon { color: var(--color-accent-light); display: block; margin-bottom: 0.75rem; }
.hero-features .icon svg { width: 2.25rem; height: 2.25rem; }

.hero-features p {
	color: rgba(255, 255, 255, 0.96);
	margin: 0.75em 0 0;
	font-size: 0.9rem;
	line-height: 1.5;
}

.btn-primary {
	display: inline-block;
	color: var(--color-on-accent);
	font-size: 0.875rem;
	font-weight: 600;
	padding: 14px 28px;
	text-decoration: none;
	background: linear-gradient(135deg, var(--color-accent-light), var(--color-accent));
	text-align: center;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	border: none;
	border-radius: var(--radius-sm);
	cursor: pointer;
	box-shadow: 0 4px 20px rgba(var(--color-accent-rgb), 0.35);
}

.btn-primary:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 28px rgba(var(--color-accent-rgb), 0.45);
	color: var(--color-on-accent);
}

/* Forms */
.cta-block .request-form input[type="submit"] {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding: 16px 20px;
	background: linear-gradient(135deg, var(--color-accent-light) 0%, var(--color-accent) 45%, var(--color-accent-hover) 100%);
	color: var(--color-on-accent);
	border: none;
	cursor: pointer;
	font-family: inherit;
	font-size: 0.85rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	border-radius: var(--radius-sm);
	box-shadow: 0 6px 28px rgba(var(--color-accent-rgb), 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.35);
	transition: transform var(--transition), box-shadow var(--transition), filter var(--transition);
	-webkit-appearance: none;
	appearance: none;
}

.cta-block .request-form input[type="submit"]:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 36px rgba(var(--color-accent-rgb), 0.55), inset 0 1px 0 rgba(255, 255, 255, 0.45);
	filter: brightness(1.05);
}

.cta-block .request-form input[type="submit"]:disabled {
	opacity: 0.55;
	cursor: not-allowed;
	transform: none;
	filter: none;
	box-shadow: none;
}

.form-honeypot {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.form-captcha {
	margin-bottom: 14px;
}

.form-captcha__label {
	display: block;
	margin-bottom: 8px;
	font-size: 0.85rem;
	line-height: 1.4;
	color: rgba(255, 255, 255, 0.88);
}

.request-form .form-captcha__input {
	border: 1px solid rgba(255, 255, 255, 0.2);
	width: 100%;
	background: rgba(255, 255, 255, 0.08);
	padding: 14px 16px;
	margin-bottom: 0;
	outline: none;
	font-size: 0.9rem;
	color: #fff;
	font-family: inherit;
	border-radius: var(--radius-sm);
	transition: border-color var(--transition), background var(--transition);
}

.request-form .form-captcha__input:focus {
	border-color: var(--color-accent);
	background: rgba(255, 255, 255, 0.12);
}

.contact-options {
	display: flex;
	flex-direction: column;
}

.contact-notice {
	margin: 0 0 16px;
	padding: 12px 14px;
	font-size: 0.82rem;
	line-height: 1.55;
	border-radius: var(--radius-sm);
	border: 1px solid rgba(var(--color-accent-rgb), 0.35);
	background: rgba(var(--color-accent-rgb), 0.12);
	color: rgba(255, 255, 255, 0.9);
}

.contact-notice--light {
	color: var(--color-text);
	background: rgba(var(--color-accent-rgb), 0.1);
	border-color: rgba(var(--color-accent-rgb), 0.35);
}

.btn-telegram {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
	padding: 16px 24px;
	background: #229ED9;
	color: var(--color-on-dark);
	text-decoration: none;
	font-size: 0.95rem;
	font-weight: 600;
	border-radius: var(--radius-sm);
	box-shadow: 0 4px 20px rgba(34, 158, 217, 0.45);
	transition: transform var(--transition), box-shadow var(--transition), background var(--transition);
}

.btn-telegram:hover {
	background: #1d8bc2;
	color: var(--color-on-dark);
	transform: translateY(-2px);
	box-shadow: 0 8px 28px rgba(34, 158, 217, 0.55);
}

.btn-telegram__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 22px;
	height: 22px;
}

.btn-telegram__icon svg {
	display: block;
	width: 22px;
	height: 22px;
	max-width: 22px;
	max-height: 22px;
	flex-shrink: 0;
}

.contact-messenger-btns {
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 100%;
	min-width: 0;
}

.btn-max {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
	padding: 16px 24px;
	background: linear-gradient(135deg, #7b6cff 0%, #4f3dff 100%);
	color: var(--color-on-dark);
	text-decoration: none;
	font-size: 0.95rem;
	font-weight: 600;
	border-radius: var(--radius-sm);
	box-shadow: 0 4px 20px rgba(79, 61, 255, 0.4);
	transition: transform var(--transition), box-shadow var(--transition), filter var(--transition);
}

.btn-max:hover {
	color: var(--color-on-dark);
	filter: brightness(1.1);
	transform: translateY(-2px);
	box-shadow: 0 8px 28px rgba(79, 61, 255, 0.5);
}

.btn-max__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 24px;
	height: 24px;
}

.btn-max__icon img,
.contact-bar__max-icon {
	width: 24px;
	height: 24px;
	border-radius: 6px;
	display: block;
	object-fit: cover;
}

.contact-divider {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 18px 0 16px;
	color: rgba(255, 255, 255, 0.55);
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

.contact-divider::before,
.contact-divider::after {
	content: '';
	flex: 1;
	height: 1px;
	background: rgba(255, 255, 255, 0.2);
}

.contact-divider span {
	flex-shrink: 0;
}

.contact-divider--note {
	text-transform: none;
	letter-spacing: normal;
	font-size: 0.8rem;
	line-height: 1.45;
	text-align: center;
}

.contact-divider--note::before,
.contact-divider--note::after {
	display: none;
}

.contact-divider--note span {
	max-width: 100%;
}

.request-form {
	margin: 0;
	width: 100%;
	min-width: 0;
}

.contact-divider--light {
	color: var(--color-text-muted);
}

.contact-divider--light::before,
.contact-divider--light::after {
	background: var(--color-border);
}

.form-group { margin-bottom: 16px; }

/* Page hero */
.page-hero {
	background-size: cover;
	background-position: center;
	padding: 5rem 0;
	text-align: center;
	position: relative;
}

.page-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(var(--color-primary-rgb), 0.88) 0%, rgba(var(--color-primary-rgb), 0.68) 100%);
}

.page-hero .container { position: relative; z-index: 1; }

.page-hero h1 {
	color: #fff;
	font-size: clamp(1.75rem, 4vw, 2.75rem);
	text-shadow: none;
	font-weight: 700;
	line-height: 1.2;
}

.page-hero--category-a { background-image: url(../images/hero-cat-a.jpg); }
.page-hero--category-b { background-image: url(../images/hero-cat-b.jpg); }
.page-hero--category-c { background-image: url(../images/hero-cat-c.jpg); }
.page-hero--category-d { background-image: url(../images/hero-cat-d.jpg); }
.page-hero--category-e { background-image: url(../images/hero-cat-e.jpg); }
.page-hero--category-m { background-image: url(../images/hero-cat-m.jpg); }
.page-hero--otzivi { background-image: url(../images/hero-otzivi.jpg); }
.page-hero--medical { background-image: url(../images/hero-medical.jpg); }
.page-hero--inostrancy { background-image: url(../images/hero-inostrancy.jpg); }
.page-hero--lishili { background-image: url(../images/hero-lishili.jpg); }
.page-hero--bez { background-image: url(../images/hero-bez-avtoshkoly.jpg); }

/* Sections */
.heading {
	text-align: center;
	padding: 3.5rem 0 2rem;
}

.heading h2,
.heading h3 {
	color: var(--color-heading);
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	text-transform: none;
	position: relative;
	display: inline-block;
	padding-bottom: 16px;
}

.heading h2::after,
.heading h3::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 60px;
	height: 3px;
	background: linear-gradient(90deg, transparent, var(--color-accent), transparent);
	border-radius: 2px;
}

.services {
	padding: 2rem 0 3rem;
	background: var(--color-surface);
}

.intro-block {
	max-width: 760px;
	margin: 0 auto;
	text-align: center;
}

.intro-block .text-body {
	margin-bottom: 1.25rem;
}

.intro-block .btn-primary {
	margin-top: 0.5rem;
}

/* Services & categories info block */
.blog {
	padding: 3rem 0 4rem;
	background: var(--color-surface-elevated);
}

.info-intro {
	max-width: 720px;
	margin: 0 auto 2.5rem;
	text-align: center;
	color: var(--color-text);
	font-size: 1rem;
	line-height: 1.75;
}

.info-subtitle {
	text-align: center;
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 1.5rem;
	font-weight: 600;
	color: var(--color-heading);
	margin: 2.5rem 0 1.5rem;
}

.info-subtitle:first-of-type {
	margin-top: 0;
}

.info-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
	max-width: 960px;
	margin: 0 auto;
}

.info-grid--categories {
	max-width: 1040px;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px 20px;
}

/* Category row bands — rows 2–4 (B, C, D families) */
.info-grid--categories .info-card:nth-child(n+4):nth-child(-n+6) {
	box-shadow: inset 0 3px 0 var(--cat-b-border);
}

.info-grid--categories .info-card:nth-child(n+7):nth-child(-n+9) {
	box-shadow: inset 0 3px 0 var(--cat-c-border);
}

.info-grid--categories .info-card:nth-child(n+10):nth-child(-n+12) {
	box-shadow: inset 0 3px 0 var(--cat-d-border);
}

.info-card--cat {
	border-left-width: 4px;
	border-left-style: solid;
}

.info-card--cat-m {
	background: var(--cat-m-bg);
	border-left-color: var(--cat-m);
	border-color: var(--cat-m-border);
}

.info-card--cat-m .info-cat {
	color: var(--cat-m);
	background: var(--cat-m-bg);
	border-color: var(--cat-m-border);
}

.info-card--cat-m:hover {
	border-color: var(--cat-m);
	box-shadow: var(--shadow-md), inset 0 3px 0 var(--cat-m-border);
}

.info-card--cat-a {
	background: var(--cat-a-bg);
	border-left-color: var(--cat-a);
	border-color: var(--cat-a-border);
}

.info-card--cat-a .info-cat {
	color: var(--cat-a);
	background: var(--cat-a-bg);
	border-color: var(--cat-a-border);
}

.info-card--cat-a:hover {
	border-color: var(--cat-a);
	box-shadow: var(--shadow-md), inset 0 3px 0 var(--cat-a-border);
}

.info-card--cat-b {
	background: var(--cat-b-bg);
	border-left-color: var(--cat-b);
	border-color: var(--cat-b-border);
}

.info-card--cat-b .info-cat {
	color: var(--cat-b);
	background: var(--cat-b-bg);
	border-color: var(--cat-b-border);
}

.info-card--cat-b:hover {
	border-color: var(--cat-b);
	box-shadow: var(--shadow-md), inset 0 3px 0 var(--cat-b-border);
}

.info-card--cat-c {
	background: var(--cat-c-bg);
	border-left-color: var(--cat-c);
	border-color: var(--cat-c-border);
}

.info-card--cat-c .info-cat {
	color: var(--cat-c);
	background: var(--cat-c-bg);
	border-color: var(--cat-c-border);
}

.info-card--cat-c:hover {
	border-color: var(--cat-c);
	box-shadow: var(--shadow-md), inset 0 3px 0 var(--cat-c-border);
}

.info-card--cat-d {
	background: var(--cat-d-bg);
	border-left-color: var(--cat-d);
	border-color: var(--cat-d-border);
}

.info-card--cat-d .info-cat {
	color: var(--cat-d);
	background: var(--cat-d-bg);
	border-color: var(--cat-d-border);
}

.info-card--cat-d:hover {
	border-color: var(--cat-d);
	box-shadow: var(--shadow-md), inset 0 3px 0 var(--cat-d-border);
}

/* E subcategory (BE, CE, DE) — violet accent on top of row color */
.info-card--cat-e {
	border-top: 3px solid var(--cat-e);
}

.info-card--cat-e .info-cat {
	color: var(--cat-e);
	background: var(--cat-e-bg);
	border-color: var(--cat-e-border);
}

.cat-legend {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px 20px;
	max-width: 1040px;
	margin: 0 auto 1.25rem;
	padding: 0;
	list-style: none;
}

.cat-legend li {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--color-text);
}

.cat-legend__swatch {
	width: 14px;
	height: 14px;
	border-radius: 4px;
	flex-shrink: 0;
}

.cat-legend__swatch--m { background: var(--cat-m); }
.cat-legend__swatch--a { background: var(--cat-a); }
.cat-legend__swatch--b { background: var(--cat-b); }
.cat-legend__swatch--c { background: var(--cat-c); }
.cat-legend__swatch--d { background: var(--cat-d); }
.cat-legend__swatch--e { background: var(--cat-e); }

.info-card {
	padding: 22px 24px;
	background: var(--color-surface-elevated);
	border: 1px solid var(--color-border-strong);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-sm);
	transition: border-color var(--transition), box-shadow var(--transition);
}

.info-card:hover {
	border-color: rgba(var(--color-accent-rgb), 0.55);
	box-shadow: var(--shadow-md);
}

.info-card h5 {
	font-family: 'Inter', sans-serif;
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--color-heading);
	margin: 0 0 8px;
	line-height: 1.35;
}

.info-card p {
	margin: 0;
	font-size: 0.88rem;
	line-height: 1.6;
	color: var(--color-text);
}

.info-cat {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2rem;
	height: 1.5rem;
	margin-right: 6px;
	padding: 0 6px;
	font-size: 0.8rem;
	font-weight: 700;
	color: var(--color-heading);
	background: linear-gradient(135deg, rgba(var(--color-accent-rgb), 0.25), rgba(var(--color-accent-rgb), 0.12));
	border: 1px solid rgba(var(--color-accent-rgb), 0.4);
	border-radius: 4px;
	vertical-align: middle;
}

.info-cta {
	text-align: center;
	margin-top: 2.5rem;
}

.info-cta .btn-primary {
	display: inline-block;
	width: auto;
}

.readmore {
	display: inline-block;
	padding: 10px 22px;
	background: transparent;
	color: var(--color-heading);
	text-decoration: none;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	border: 1.5px solid var(--color-accent);
	border-radius: var(--radius-sm);
}

.readmore:hover {
	background: var(--color-accent);
	color: var(--color-on-accent);
	border-color: var(--color-accent);
}

/* Stats */
.stats-section {
	padding: 3rem 0 2rem;
	background: var(--color-surface);
}

.stats-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.stat-item {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 20px 22px;
	background: var(--color-surface-elevated);
	border-radius: var(--radius-md);
	border: 1px solid var(--color-border-strong);
	box-shadow: var(--shadow-sm);
	min-width: 0;
	min-height: 88px;
}

.stat-item > div {
	min-width: 0;
	flex: 1;
}

.stat-item p {
	font-size: 1.5rem;
	font-weight: 700;
	font-family: 'Cormorant Garamond', Georgia, serif;
	color: var(--color-accent);
	line-height: 1.1;
	margin-bottom: 4px;
}

.stat-item h3 {
	font-size: 0.8rem;
	color: var(--color-text);
	font-family: 'Inter', sans-serif;
	font-weight: 500;
	text-transform: none;
	letter-spacing: 0.01em;
	line-height: 1.35;
	word-wrap: break-word;
	overflow-wrap: break-word;
}

/* Reviews */
.reviews-section {
	padding: 2rem 0 4rem;
	background: var(--color-surface);
	overflow: hidden;
}

.reviews-heading {
	font-size: 1.75rem;
	margin-bottom: 1.5rem;
}

.reviews-more {
	margin: 1.5rem 0 0;
}

.reviews-list {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.review-card {
	background: var(--color-surface-elevated);
	padding: 24px;
	border-radius: var(--radius-md);
	border: 1px solid var(--color-border-strong);
	box-shadow: var(--shadow-sm);
	border-left: 4px solid var(--color-accent);
	overflow: hidden;
}

.review-card .client {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 12px;
}

.review-card .avatar-symbol {
	width: 52px;
	height: 52px;
}

.review-card .avatar-symbol svg {
	width: 28px;
	height: 28px;
}

.avatar-symbol {
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--color-surface);
	border: 2px solid var(--color-accent);
	color: var(--color-text);
	flex-shrink: 0;
}

.review-card h5 {
	font-size: 1rem;
	font-family: 'Inter', sans-serif;
	font-weight: 600;
}

.review-card p {
	color: var(--color-text);
	font-size: 0.925rem;
	line-height: 1.65;
	word-wrap: break-word;
}

/* Service steps */
.servicegrids { padding: 2rem 0 3rem; }

.servicetopgrids,
.servicebottomgrids {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
	margin: 2rem 0 3rem;
}

.servicegrid1 {
	position: relative;
	padding: 28px 24px 24px;
	background: var(--color-surface-elevated);
	border-radius: var(--radius-md);
	border: 1px solid var(--color-border-strong);
	box-shadow: var(--shadow-sm);
	transition: box-shadow var(--transition);
}

.servicegrid1:hover { box-shadow: var(--shadow-md); }

.servicegrid1 h5 {
	color: rgba(var(--color-accent-rgb), 0.42);
	font-size: 4rem;
	font-family: 'Cormorant Garamond', Georgia, serif;
	position: absolute;
	top: 8px;
	right: 16px;
	left: auto;
	line-height: 1;
	font-weight: 700;
}

.servicegrid1 h4 {
	color: var(--color-heading);
	font-size: 1.25rem;
	text-transform: none;
	margin-bottom: 0.5rem;
	position: relative;
}

.servicegrid1 p {
	color: var(--color-text);
	font-size: 0.925rem;
	line-height: 1.65;
	margin: 0;
}

/* Service bottom banner */
.service-banner {
	background: url(../images/Slider-3.jpg) no-repeat center;
	background-size: cover;
}

.service-banner-inner {
	background: linear-gradient(135deg, rgba(var(--color-primary-rgb), 0.96), rgba(var(--color-primary-rgb), 0.85));
	padding: 5rem 0;
	display: flex;
	justify-content: center;
}

.service-banner-text {
	max-width: 760px;
	width: 100%;
	margin: 0 auto;
	text-align: center;
}

.service-banner-text h3 {
	color: #fff;
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	margin-bottom: 0.75em;
	text-align: center;
}

.service-banner-text p {
	font-size: 0.95rem;
	color: rgba(255, 255, 255, 0.92);
	line-height: 1.75;
	margin: 1.5em 0;
	text-align: center;
}

.service-banner-list {
	list-style: none;
	padding: 0;
	margin: 2rem auto;
	max-width: 640px;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.service-banner-list li {
	display: flex;
	align-items: center;
	gap: 1rem;
	text-align: left;
}

.service-banner-list li > span:last-child {
	flex: 1;
	min-width: 0;
	color: rgba(255, 255, 255, 0.95);
	font-size: 1rem;
	font-family: 'Inter', sans-serif;
	font-weight: 500;
	line-height: 1.5;
}

.service-banner-list .icon--check {
	margin: 0;
	flex-shrink: 0;
}

/* CTA — блок связи */
.cta-section {
	background: linear-gradient(180deg, var(--color-surface) 0%, var(--color-surface-warm) 100%);
	padding: 4.5rem 1rem;
	border-top: 1px solid var(--color-border);
	scroll-margin-top: 80px;
}

.cta-section .container {
	display: flex;
	justify-content: center;
	padding-left: 16px;
	padding-right: 16px;
}

.cta-block {
	width: 100%;
	max-width: 520px;
	margin: 0 auto;
	text-align: left;
	background: var(--color-surface-elevated);
	border: 1px solid var(--color-border-strong);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-lg);
	overflow: hidden;
}

.cta-block__head {
	padding: 2rem 2rem 1.5rem;
	text-align: center;
	border-bottom: 1px solid var(--color-border);
	background: linear-gradient(180deg, var(--color-surface-elevated) 0%, var(--color-surface) 100%);
}

.cta-block__body {
	padding: 1.5rem 2rem 2rem;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	background: var(--color-surface-elevated);
}

.cta-title {
	color: var(--color-heading);
	font-size: clamp(1.65rem, 4vw, 2rem);
	font-weight: 700;
	font-family: 'Cormorant Garamond', Georgia, serif;
	margin: 0 0 0.5rem;
	line-height: 1.2;
}

.cta-text {
	color: var(--color-text);
	font-size: 0.95rem;
	line-height: 1.6;
	margin: 0;
	max-width: 46ch;
	margin-left: auto;
	margin-right: auto;
}

.cta-section .contact-step {
	padding: 1.25rem;
	border-radius: var(--radius-md);
	background: var(--color-surface);
	border: 1px solid var(--color-border);
}

.cta-section .contact-step__title {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 0.75rem;
	font-family: 'Inter', sans-serif;
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--color-heading);
	line-height: 1.3;
}

.cta-section .contact-step__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--color-accent-light), var(--color-accent));
	color: var(--color-on-accent);
	font-size: 0.8rem;
	font-weight: 700;
	flex-shrink: 0;
}

.cta-section .contact-step__hint {
	margin: 0 0 1rem;
	font-size: 0.875rem;
	line-height: 1.55;
	color: var(--color-text);
}

.cta-block .contact-notice {
	margin: 0;
	padding: 14px 16px;
	font-size: 0.875rem;
	line-height: 1.6;
	border-radius: var(--radius-sm);
	border: 1px solid rgba(var(--color-accent-rgb), 0.45);
	background: rgba(var(--color-accent-rgb), 0.12);
	color: var(--color-text);
}

.cta-block .contact-notice strong {
	color: var(--color-accent-hover);
	font-weight: 600;
}

.cta-block .field-label {
	display: block;
	margin-bottom: 6px;
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--color-text);
	letter-spacing: 0.02em;
}

.cta-block .request-form input[type="text"],
.cta-block .request-form textarea {
	border: 1px solid var(--color-border-strong);
	width: 100%;
	background: var(--color-surface);
	padding: 14px 16px;
	margin-bottom: 0;
	outline: none;
	font-size: 0.9rem;
	color: var(--color-text);
	font-family: inherit;
	border-radius: var(--radius-sm);
	transition: border-color var(--transition), box-shadow var(--transition);
}

.cta-block .request-form textarea {
	min-height: 110px;
	resize: vertical;
}

.cta-block .request-form input:focus,
.cta-block .request-form textarea:focus {
	border-color: var(--color-accent);
	box-shadow: 0 0 0 3px rgba(var(--color-accent-rgb), 0.28);
}

.cta-block .request-form input::placeholder,
.cta-block .request-form textarea::placeholder {
	color: var(--color-text-muted);
	opacity: 0.85;
}

.cta-block .request-form .field-label:not(:first-of-type) {
	margin-top: 14px;
}

.cta-block .request-form input[type="submit"] {
	margin-top: 18px;
}

.cta-block .form-captcha {
	margin-top: 14px;
	margin-bottom: 0;
}

.cta-block .form-captcha__label {
	color: var(--color-text);
}

.cta-block .form-captcha__input {
	border: 1px solid var(--color-border-strong);
	background: var(--color-surface);
	color: var(--color-text);
}

.cta-block .form-captcha__input:focus {
	border-color: var(--color-accent);
	background: var(--color-surface);
	box-shadow: 0 0 0 3px rgba(var(--color-accent-rgb), 0.28);
}

/* Footer */
.site-footer {
	background: var(--color-footer);
	color: rgba(255, 255, 255, 0.94);
	border-top: 1px solid rgba(var(--color-accent-rgb), 0.35);
}

.copyright {
	background: var(--color-footer-dark);
	padding: 1.25rem 0;
	text-align: center;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.copyright p {
	color: rgba(255, 255, 255, 0.62);
	font-size: 0.8rem;
	letter-spacing: 0.04em;
}

/* Sticky contact bar */
.contact-bar {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	display: flex;
	padding-bottom: env(safe-area-inset-bottom, 0px);
	background: var(--color-surface-elevated);
	border-top: 1px solid var(--color-border-strong);
	box-shadow: 0 -6px 28px rgba(0, 0, 0, 0.38);
}

.contact-bar__btn {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 56px;
	padding: 12px 16px;
	font-family: inherit;
	font-size: 0.9rem;
	font-weight: 600;
	text-decoration: none;
	color: var(--color-on-dark);
	border: none;
	transition: background var(--transition), filter var(--transition), transform var(--transition);
}

.contact-bar__btn:hover {
	color: var(--color-on-dark);
	text-decoration: none;
}

.contact-bar__btn:active {
	transform: scale(0.98);
}

.contact-bar__btn svg {
	flex-shrink: 0;
}

.contact-bar__btn--telegram {
	background: #229ED9;
}

.contact-bar__btn--telegram:hover {
	background: #1d8bc2;
}

.contact-bar__btn--max {
	background: linear-gradient(135deg, #7b6cff 0%, #4f3dff 100%);
	border-left: 1px solid rgba(255, 255, 255, 0.14);
}

.contact-bar__btn--max:hover {
	filter: brightness(1.1);
}

.contact-bar__max-icon {
	width: 22px;
	height: 22px;
	border-radius: 5px;
}

/* To top */
.to-top {
	position: fixed;
	bottom: calc(72px + env(safe-area-inset-bottom, 0px));
	right: 24px;
	width: 44px;
	height: 44px;
	background: var(--color-accent);
	border: 1px solid rgba(var(--color-accent-rgb), 0.5);
	border-radius: 50%;
	text-indent: -9999px;
	overflow: hidden;
	z-index: 1001;
	opacity: 0.9;
	box-shadow: var(--shadow-md);
	transition: transform var(--transition), background var(--transition);
}

.to-top::after {
	content: '↑';
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	text-indent: 0;
	color: var(--color-on-accent);
	font-size: 1.25rem;
	font-weight: 600;
}

.to-top:hover {
	opacity: 1;
	transform: translateY(-3px);
	background: var(--color-accent-hover);
}

/* FAQ & content pages */
.box_1170 { max-width: 1200px; margin: 0 auto; padding: 2rem 24px; }

.section-top-border {
	padding: 2rem 0;
	border-bottom: 1px solid var(--color-border);
}

.section-top-border:last-child { border-bottom: none; }

.generic-blockquote {
	border-left: 4px solid var(--color-accent);
	padding: 1.25rem 1.75rem;
	margin: 1em 0;
	background: var(--color-surface);
	font-style: italic;
	color: var(--color-text);
	border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}

.mb-30 { margin-bottom: 30px; }
.mt-5 { margin-top: 3rem; }
.mt-section { margin-top: 1.5rem; }

.page-content-top {
	padding-top: 3rem;
	margin-bottom: 2rem;
}

.page-toc {
	padding: 1.25rem 1.5rem;
	background: var(--color-surface);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-sm);
}

.page-toc--inline {
	margin-bottom: 2rem;
	max-width: 780px;
}

.page-toc__title {
	margin: 0 0 0.75rem;
	font-family: 'Inter', sans-serif;
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--color-text-muted);
}

.page-toc ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.page-toc li {
	margin-bottom: 0.5em;
}

.page-toc li::before {
	display: none;
}

.page-toc a {
	display: inline-flex;
	align-items: baseline;
	gap: 0.35em;
	color: var(--color-text);
	text-decoration: none;
	font-size: 0.95rem;
	line-height: 1.45;
	transition: color var(--transition);
}

.page-toc a::before {
	content: '→';
	font-size: 0.85em;
	color: var(--color-accent);
	flex-shrink: 0;
}

.page-toc a:hover {
	color: var(--color-accent);
	text-decoration: none;
}

.page-hero-row {
	margin-bottom: 2rem;
}

.page-hero-row .img-responsive {
	margin-bottom: 1.5rem;
}

.page-content {
	max-width: 780px;
}

.page-content > h2 {
	font-size: clamp(1.5rem, 2.5vw, 1.85rem);
	margin-top: 2.5rem;
	margin-bottom: 1rem;
	padding-bottom: 0.75rem;
	border-bottom: 2px solid transparent;
	border-image: linear-gradient(90deg, var(--color-accent), transparent) 1;
	scroll-margin-top: 90px;
}

.page-content > h2:first-child,
.page-content > h2.mt-section:first-child {
	margin-top: 0;
}

.page-content > h3 {
	font-size: 1.25rem;
	margin-top: 1.75rem;
	margin-bottom: 0.75rem;
	color: var(--color-heading);
}

.page-content > h3.mt-section {
	margin-top: 1.75rem;
}

.page-content .text-body:first-of-type {
	margin-top: 0;
}

.page-lead {
	font-size: 1.05rem;
	line-height: 1.8;
	color: var(--color-text);
}

.page-callout {
	margin: 1.25em 0;
	padding: 1rem 1.25rem;
	font-size: 0.95rem;
	line-height: 1.65;
	border-radius: var(--radius-sm);
	border: 1px solid rgba(var(--color-accent-rgb), 0.35);
	background: rgba(var(--color-accent-rgb), 0.1);
	color: var(--color-text);
}

.page-callout strong {
	color: var(--color-accent);
	font-weight: 600;
}

.content-list--ordered {
	list-style: decimal;
	margin-left: 1.75rem;
	padding-left: 0.5rem;
}

.content-list--ordered li::before {
	display: none;
}

.content-list--ordered li {
	padding-left: 0.35em;
}

.w-100 { width: 100%; }
.mt-3 { margin-top: 1rem; }

/* Reviews page */
.comments-area {
	padding: 2rem 0 3rem;
	display: flex;
	flex-direction: column;
	gap: 20px;
	max-width: 780px;
	margin: 0 auto;
}

.comment-list {
	display: contents;
}

.single-comment {
	display: flex;
	gap: 20px;
	margin-bottom: 0;
	padding: 24px;
	background: var(--color-surface-elevated);
	border-radius: var(--radius-md);
	border: 1px solid var(--color-border-strong);
	box-shadow: var(--shadow-sm);
}

.single-comment .avatar-symbol {
	width: 72px;
	height: 72px;
}

.single-comment .avatar-symbol svg {
	width: 36px;
	height: 36px;
}

.single-comment .desc { flex: 1; }

.review-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 10px;
	flex-wrap: wrap;
	gap: 10px;
}

.review-author h5 {
	margin-bottom: 4px;
	font-family: 'Inter', sans-serif;
	font-weight: 600;
}

.review-stars { color: var(--color-accent); letter-spacing: 2px; }
.review-date { color: var(--color-text-muted); font-size: 0.85rem; }

.single-comment .comment {
	color: var(--color-text);
	font-size: 0.95rem;
	line-height: 1.65;
}

main { overflow-x: hidden; }

/* Responsive */
@media (max-width: 768px) {
	.hero-features {
		grid-template-columns: 1fr;
	}

	.info-grid--categories {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 992px) {
	.col-md-3, .col-md-4, .col-md-5, .col-md-6,
	.col-md-7, .col-md-8, .col-lg-6, .col-sm-6 {
		width: 100%;
	}

	.nav-toggle { display: flex; }

	.site-nav {
		display: none;
		width: 100%;
		flex-basis: 100%;
		padding-bottom: 12px;
	}

	.site-header.nav-open .site-nav { display: block; }

	.site-nav > ul {
		flex-direction: column;
		width: 100%;
		gap: 0;
	}

	.site-nav > ul > li { width: 100%; }

	.site-nav > ul > li.has-submenu::before {
		display: none;
	}

	.site-nav > ul > li > a,
	.site-nav .submenu-toggle {
		width: 100%;
		text-align: left;
		border-radius: 0;
	}

	.site-nav .submenu {
		position: static;
		box-shadow: none;
		border: none;
		background: var(--color-surface);
		border-radius: var(--radius-sm);
		margin: 4px 0 8px;
		padding: 4px 0;
	}

	.site-nav .submenu a { color: var(--color-text); }
	.site-nav .submenu a:hover { background: var(--color-surface-elevated); color: var(--color-accent-light); }

	.site-nav .has-submenu.submenu-open > .submenu { display: block; }

	.hero-content { display: block; }
	.hero-features { grid-template-columns: 1fr; }
	.hero-overlay { padding: 4.5rem 0 2.5rem; min-height: auto; }

	.hero {
		min-height: 420px;
		background-position: 85% center;
	}

	.page-toc.text-right { text-align: left; }

	.page-toc {
		margin-top: 1.5rem;
	}

	.page-content {
		max-width: 100%;
	}

	.info-grid,
	.info-grid--categories,
	.servicetopgrids,
	.servicebottomgrids {
		grid-template-columns: 1fr;
	}

	.service-banner-inner {
		padding: 3.5rem 0;
	}

	.col-md-offset-1 { margin-left: 0; }

	.page-hero { padding: 3.5rem 0; }
	.stats-grid { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
	.container,
	.cta-section .container {
		padding-left: 16px;
		padding-right: 16px;
	}

	.box_1170 {
		padding-left: 16px;
		padding-right: 16px;
	}

	.site-logo {
		gap: 8px;
	}

	.site-logo img {
		height: 44px;
	}

	.site-logo-text {
		font-size: 1.15rem;
		letter-spacing: 0.03em;
	}

	.header-inner {
		min-height: 64px;
	}

	.hero-overlay {
		padding: 3.5rem 0 2rem;
	}

	.heading {
		padding: 2.5rem 0 1.5rem;
	}

	.single-comment {
		flex-direction: column;
		align-items: flex-start;
		padding: 20px;
		gap: 16px;
	}

	.single-comment .avatar-symbol {
		width: 56px;
		height: 56px;
	}

	.single-comment .avatar-symbol svg {
		width: 28px;
		height: 28px;
	}

	.cta-block__head,
	.cta-block__body {
		padding-left: 1.25rem;
		padding-right: 1.25rem;
	}

	.cta-section .contact-step {
		padding: 1rem;
	}

	.cta-block .request-form input[type="submit"] {
		font-size: clamp(0.68rem, 3.2vw, 0.8rem);
		letter-spacing: 0.02em;
		padding: 14px 10px;
		line-height: 1.25;
	}

	.btn-telegram,
	.btn-max {
		padding: 14px 12px;
		font-size: 0.875rem;
		gap: 8px;
		line-height: 1.2;
	}

	.btn-telegram__icon,
	.btn-telegram__icon svg {
		width: 20px;
		height: 20px;
		max-width: 20px;
		max-height: 20px;
	}

	.btn-max__icon,
	.btn-max__icon img {
		width: 20px;
		height: 20px;
	}

	.contact-bar__btn {
		font-size: 0.82rem;
		padding: 12px 8px;
		gap: 6px;
		min-height: 52px;
	}

	.contact-bar__max-icon {
		width: 20px;
		height: 20px;
	}

	.hero-cta .btn-primary,
	.intro-block .btn-primary,
	.info-cta .btn-primary {
		display: block;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		font-size: 0.8rem;
		padding-left: 16px;
		padding-right: 16px;
	}

	.cat-legend {
		flex-direction: column;
		align-items: center;
		gap: 8px;
		font-size: 0.78rem;
	}

	.servicegrid1 h5 {
		font-size: 3rem;
	}
}
