	* {
		box-sizing: border-box;
	}
	html {
		scroll-behavior: smooth;
	}
	body {
		margin: 0;
		min-width: 320px;
		background: #fff;
		color: #fff;
		font-family: Arial, sans-serif;
		-webkit-font-smoothing: antialiased;
		text-rendering: optimizeLegibility;
	}
	body.is-lock {
		overflow: hidden;
	}
	a,
	button,
	input,
	textarea {
		color: inherit;
		font: inherit;
		text-decoration: none;
	}
	button {
		padding: 0;
		border: 0;
		background: 0 0;
		cursor: pointer;
	}
	iframe,
	img,
	svg {
		display: block;
		max-width: 100%;
	}
	.page {
		overflow: clip;
		background: #045681;
		color: #fff;
	}
	.container {
		width: min(100% - 170px, 1440px);
		margin: 0 auto;
	}
	.section-kicker {
		font-size: 12px;
		line-height: 1.2;
	}
	.section-title {
		margin: 0;
		font-size: clamp(28px, 3.4vw, 82px);
		font-weight: 400;
		text-transform: uppercase;
		overflow-wrap: break-word;
  word-break: break-word;  
  hyphens: auto;
	}
	.section-head {
		display: grid;
		grid-template-columns: 180px minmax(0, 1fr);
		gap: 28px;
		align-items: start;
		margin-bottom: 40px;
	}
	.button-dark,
	.button-ghost,
	.button-main {
		min-height: 44px;
		padding: 0 18px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		border: 1px solid rgba(255, 255, 255, 0.84);
		font-size: 12px;
		line-height: 1;
		white-space: nowrap;
		transition:
			opacity 0.2s ease,
			background-color 0.2s ease,
			color 0.2s ease,
			border-color 0.2s ease;
	}
	.button-main {
		background: #fff;
		color: #000;
	}
	.button-ghost {
		background: 0 0;
		color: #fff;
	}
	.button-dark {
		background: #000;
		color: #fff;
		border-color: rgba(255, 255, 255, 0.18);
	}
	.button-dark:hover,
	.button-ghost:hover,
	.button-main:hover {
		opacity: 0.82;
	}
	.mono-placeholder {
		position: relative;
		background: linear-gradient(135deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02)),
			linear-gradient(180deg, #0d0d0d, #050505);
		overflow: hidden;
	}
	.mono-placeholder::after,
	.mono-placeholder::before {
		content: "";
		position: absolute;
		inset: auto;
		border: 1px solid rgba(255, 255, 255, 0.08);
		pointer-events: none;
	}
	.mono-placeholder::before {
		width: 62%;
		height: 62%;
		top: 12%;
		left: 10%;
	}
	.mono-placeholder::after {
		width: 32%;
		height: 32%;
		right: 10%;
		bottom: 12%;
	}
	.hero {
		position: relative;
		overflow: hidden;
		background: #444;
	}
	.hero-overlay {
		position: absolute;
		inset: 0;
		pointer-events: none;
		background: linear-gradient(
				to bottom,
				rgba(255, 255, 255, 0.03),
				transparent 18%,
				transparent 82%,
				rgba(255, 255, 255, 0.03)
			),
			linear-gradient(
				to right,
				rgba(255, 255, 255, 0.02),
				transparent 18%,
				transparent 82%,
				rgba(255, 255, 255, 0.02)
			);
	}
	.hero-wrap {
		position: relative;
		z-index: 1;
	}
	.hero-header {
		display: grid;
		grid-template-columns: auto 1fr auto auto auto;
		align-items: center;
		gap: 18px 28px;
		min-height: 76px;
		 
	}
	.hero-brand {
		display: inline-flex;
		align-items: center;
		gap: 14px;
		min-height: 44px;
	}
	.hero-brand svg{
		min-width: 42px;
		width: 42px;
		height: 42px;
	}
	.hero-brand-mark {
		width: 12px;
		height: 12px;
		border: 1px solid rgba(255, 255, 255, 0.84);
		flex: 0 0 auto;
	}
	.hero-brand-text {
		display: flex;
		flex-direction: column;
		gap: 3px;max-width: 160px;
	}
	.hero-brand-title {
		font-size: 20px;
		line-height: 1.2;
		text-transform: uppercase;
		color: #fff;
		font-weight: 700;
		white-space: nowrap;
	}
	.hero-brand-note {
		font-size: 10px;
		line-height: 1.2;
		color: rgba(255, 255, 255, 0.42);
	}
	.hero-menu {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 16px;
		min-width: 0;
		flex-wrap: wrap;
	}
	.hero-menu-link {
		min-height: 44px;
		display: inline-flex;
		align-items: center;
		font-size: 12px;
		line-height: 1.2;
		color: rgba(255, 255, 255, 0.68);
		transition: color 0.2s ease;
	}
	.hero-menu-link:hover {
		color: #fff;
	}
	.hero-contacts {
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		gap: 5px;
	}
	.hero-contact-link {
		font-size: 12px;
		line-height: 1.2;
		white-space: nowrap;
		color: #fff;
	}
	.hero-socials {
		display: flex;
		align-items: center;
		gap: 8px;
	}
	.hero-socials svg {
		width: 16px;
		height: 16px;
	}
	.hero-social {
		width: 44px;
		height: 44px;
		border: 1px solid rgba(255, 255, 255, 0.14);
		display: inline-flex;
		align-items: center;
		justify-content: center;
		color: #fff;
		transition:
			opacity 0.2s ease,
			border-color 0.2s ease,
			background-color 0.2s ease;
	}
	.hero-social:hover {
		opacity: 0.82;
		border-color: rgba(255, 255, 255, 0.44);
		background: rgba(255, 255, 255, 0.04);
	}
	.hero-callback {
		min-height: 44px;
		padding: 0 18px;
		border: 1px solid rgba(255, 255, 255, 0.84);
		display: inline-flex;
		align-items: center;
		justify-content: center;
		font-size: 12px;
		line-height: 1;
		background: #fff;
		color: #000;
		transition: opacity 0.2s ease;
		white-space: nowrap;
	}
	.hero-callback:hover {
		opacity: 0.82;
	}
	.hero-burger {
		display: none;
		width: 44px;
		height: 44px;
		border: 1px solid rgba(255, 255, 255, 0.14);
		align-items: center;
		justify-content: center;
		flex-direction: column;
		gap: 4px;
		transition:
			background-color 0.2s ease,
			border-color 0.2s ease;
	}
	.hero-burger:hover {
		background: rgba(255, 255, 255, 0.04);
		border-color: rgba(255, 255, 255, 0.3);
	}
	.hero-burger-line {
		width: 16px;
		height: 1px;
		background: #fff;
		display: block;
	}
	.hero-main {
		display: grid;
		grid-template-columns: minmax(0, 1.6fr) minmax(300px, 0.56fr);
		gap: 40px;
		align-items: end;
		padding: 72px 0 36px;
	}
	.hero-kicker {
		margin-bottom: 18px;
	}
	.hero-title {
		max-width: 1180px;
		margin: 0;
		font-size: clamp(42px, 4.4vw, 82px);
		font-weight: 400;
		text-transform: uppercase;
	}
	.hero-title-line,
	.hero-title-muted {
		display: block;
	}
	.hero-title-muted {
		color: rgba(255, 255, 255, 0.54);
	}
	.hero-text {
		max-width: 720px;
		margin: 26px 0 0;
		font-size: clamp(16px, 1.35vw, 18px);
		line-height: 1.6;
		color: rgba(255, 255, 255, 0.82);
	}
	.hero-actions {
		display: flex;
		flex-wrap: wrap;
		gap: 12px;
		margin-top: 34px;
	}
	.hero-side-list {
		display: grid;
		gap: 0;
		border-top: 1px solid rgba(255, 255, 255, 0.1);
		background: rgba(255, 255, 255, 0.3);
	}
	.hero-side-item {
		padding: 16px;
		border: 1px solid rgba(255, 255, 255, 0.1);
		margin-bottom: -1px;
	}
	.hero-side-label {
		margin-bottom: 16px;
		font-size: 12px;
		line-height: 1.2;
		color: rgba(255, 255, 255, 0.4);
	}
	.hero-side-value {
		font-size: 14px;
		line-height: 1.55;
		color: rgba(255, 255, 255, 0.92);
	}
	.hero-facts {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 0;
		margin: 18px 0;
		border-top: 1px solid rgba(255, 255, 255, 0.1);
		border-left: 1px solid rgba(255, 255, 255, 0.1);
		background: rgba(0, 0, 0, 0.22);
	}
	.hero-fact {
		min-height: 150px;
		padding: 20px 18px 18px;
		border-right: 1px solid rgba(255, 255, 255, 0.1);
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		gap: 16px;
	}
	.hero-fact-count {
		font-size: 30px;
		line-height: 1;
		color: rgba(255, 255, 255, 0.3);
	}
	.hero-fact-text {
		font-size: 14px;
		line-height: 1.45;
		color: #fff;
	}
	.about-company,
	.contact-split,
	.cta-band,
	.faq,
	.footer,
	.gallery,
	.licenses,
	.logos,
	.price-table-section,
	.services-showcase,
	.steps,
	.trust-showcase {
		background: #444;
		color: #fff;
	}
	.footer {
		background: #333;
		color: #fff;
	}
	.about-company {
		background: #eee;
		color: #000;
	}
	.licenses {
		background: #eee;
		color: #000;
	}
	.logos {
		background: #eee;
		color: #000;
	}
	.faq {
		background: #eee;
		color: #000;
	}
	.about-company-wrap,
	.contact-split-wrap,
	.cta-band-wrap,
	.faq-wrap,
	.gallery-wrap,
	.licenses-wrap,
	.logos-wrap,
	.price-table-wrap,
	.services-showcase-wrap,
	.steps-wrap, .objects-wrap, .gallery-wrap,
	.trust-showcase-wrap {
		padding: 96px 0;
	}
	.cta-band-wrap,
 
	.price-table-wrap {
		padding-top: 0;
	}
	.about-company-head {
		display: grid;
		grid-template-columns: 180px minmax(0, 1fr);
		gap: 28px;
		align-items: start;
		margin-bottom: 44px;
	}
	.about-company-title {
		max-width: 1040px;
		margin: 0;
		font-size: clamp(28px, 3.4vw, 82px);
		font-weight: 400;
		text-transform: uppercase;
	}
	.about-company-grid {
		display: grid;
		grid-template-columns: minmax(0, 1.28fr) minmax(280px, 0.56fr);
		gap: 40px;
		align-items: start;
		padding-top: 30px;
		border-top: 1px solid rgba(255, 255, 255, 0.1);
	}
	.about-company-main {
		display: grid;
		gap: 26px;
		max-width: 880px;
	}
	.about-company-text {
		margin: 0;
		font-size: clamp(14px, 1vw, 22px);
		line-height: 1.58;
	}
	.about-company-note {
		width: 100%;
		padding: 18px;
		border-left: 4px solid rgba(0, 0, 0, 0.1);
		font-size: 12px;
		line-height: 1.6;
	}
	.about-company-points {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 0;
		margin-top: 42px;
		border-top: 1px solid rgba(0, 0, 0, 0.1);
		border-left: 1px solid rgba(0, 0, 0, 0.1);
	}
	.about-company-point {
		min-height: 172px;
		padding: 20px 18px 18px;
		border-right: 1px solid rgba(0, 0, 0, 0.1);
		border-bottom: 1px solid rgba(0, 0, 0, 0.1);
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		gap: 16px;
	}
	.about-company-point-count {
		font-size: 30px;
		line-height: 1;
		text-transform: uppercase;
	}
	.about-company-point-text {
		font-size: 14px;
		line-height: 1.48;
	}
	.cta-band-head,
	.price-table-head,
	.services-showcase-head,
	.trust-showcase-head {
		display: grid;
		grid-template-columns: 180px minmax(0, 1fr);
		gap: 28px;
		align-items: start;
		margin-bottom: 40px;
	}
	.cta-band-title-main,
	.price-table-title,
	.services-showcase-title {
		max-width: 980px;
		margin: 0;
		font-size: clamp(28px, 3.4vw, 82px);
		font-weight: 400;
		text-transform: uppercase;
	}
	.services-showcase-grid {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 16px;
	}
	.services-showcase-card {
		position: relative;
		min-height: 420px;
		overflow: hidden;
		background: #0a0a0a;
	}
	.services-showcase-image {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	 
		transform: scale(1.01);
		transition:
			transform 0.45s ease,
			opacity 0.45s ease;
	}
	.services-showcase-shadow {
		position: absolute;
		inset: 0;
		background: linear-gradient(
			to top,
			rgba(0, 0, 0, 0.9) 0,
			rgba(0, 0, 0, 0.62) 34%,
			rgba(0, 0, 0, 0.18) 62%,
			rgba(0, 0, 0, 0.12) 100%
		);
	}
	.services-showcase-content {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 2;
		padding: 22px 20px 20px;
		display: grid;
		gap: 16px;
		align-items: end;
	}
	.services-showcase-meta {
		font-size: 12px;
		line-height: 1.2;
		color: rgba(255, 255, 255, 0.54);
	}
	.services-showcase-name {
		margin: 0;
		font-size: 20px;
		line-height: 0.98;
		font-weight: 400;
		line-height: 1.2;
		color: #fff;
	}
	.services-showcase-actions {
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
	}
	.services-showcase-link {
		min-height: 44px;
		padding: 0 18px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		border: 1px solid rgba(255, 255, 255, 0.84);
		font-size: 12px;
		line-height: 1;
		color: #fff;
		background: rgba(0, 0, 0, 0.16);
		transition:
			opacity 0.2s ease,
			background-color 0.2s ease,
			color 0.2s ease;
	}
	.services-showcase-link-main {
		background: #fff;
		color: #000;
	}
	.services-showcase-link:hover {
		opacity: 0.82;
	}
	.services-showcase-card:hover .services-showcase-image {
		transform: scale(1.05);
		opacity: 0.9;
	}
	.licenses-track {
		display: grid;
		grid-auto-flow: column;
		grid-auto-columns: minmax(280px, 1fr);
		gap: 16px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		padding-bottom: 6px;
	}
	.licenses-track::-webkit-scrollbar {
		height: 6px;
	}
	.licenses-track::-webkit-scrollbar-thumb {
		background: rgba(255, 255, 255, 0.2);
	}
	.license-card {
		scroll-snap-align: start;
		min-height: 420px;
		background: #050505;
		display: grid;
		grid-template-rows: 1fr auto;
	}
	.license-card-image {
		width: 100%;
		height: 320px;
		object-fit: cover;
	 
	}
	.license-card-body {
		padding: 18px;
		border-top: 1px solid rgba(255, 255, 255, 0.1);
		display: grid;
		gap: 10px;
	}
	.license-card-name {
		margin: 0;
		font-size: 14px;
		letter-spacing: -0.03em;
		color: #fff;
	}
	.license-card-note {
		font-size: 13px;
		line-height: 1.5;
		color: rgba(255, 255, 255, 0.68);
	}
	.steps-grid {
		display: grid;
		grid-template-columns: repeat(6, minmax(0, 1fr));
		gap: 0;
		border-top: 1px solid rgba(255, 255, 255, 0.1);
		border-left: 1px solid rgba(255, 255, 255, 0.1);
	}
	.step-card {
		min-height: 240px;
		padding: 20px 18px 18px;
		border-right: 1px solid rgba(255, 255, 255, 0.1);
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		gap: 20px;
	}
	.step-number {
		font-size: 30px;
		line-height: 1;
		color: rgba(255, 255, 255, 0.3);
	}
	.step-text {
		font-size: 14px; line-height: 1.4;
	}
	.logos-grid {
		display: grid;
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: 1px;
		background: rgba(255, 255, 255, 0.1);
		border: 1px solid rgba(255, 255, 255, 0.1);
	}
	.logo-box {
		display: flex;
		align-items: center;
		justify-content: center;
		height: 120px;
		overflow: hidden;
	}
	 
	.faq-list {
		border-top: 1px solid rgba(0, 0, 0, 0.1);
	}
	.faq-item {
		border-bottom: 1px solid rgba(0, 0, 0, 0.1);
	}
	.faq-question {
		width: 100%;
		min-height: 88px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 20px;
		text-align: left;
		padding: 0;
	}
	.faq-question-text {
		font-size: 18px;
	}
	.faq-question-icon {
		flex: 0 0 auto;
		width: 38px;
		height: 38px;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 22px;
		color: rgba(0, 0, 0, 0.72);
		transition:
			transform 0.2s ease,
			color 0.2s ease;
	}
	.faq-answer {
		max-width: 980px;
		display: none;
		padding: 0 0 28px;
		font-size: 14px;
		line-height: 1.6;
	}
	.faq-item.is-open .faq-answer {
		display: block;
	}
	.faq-item.is-open .faq-question-icon {
		color: #000;
		transform: rotate(45deg);
	}
	.gallery-grid {
		display: grid;
		grid-template-columns: repeat(12, minmax(0, 1fr));
		gap: 4px;
		grid-auto-rows: 120px;
	}
	.gallery-card {
		position: relative;
		overflow: hidden;
		min-height: 0;
	}
	.gallery-card-large-left {
		grid-column: span 4;
		grid-row: span 4;
	}
	.gallery-card-wide-top {
		grid-column: span 8;
		grid-row: span 2;
	}
	.gallery-card-small {
		grid-column: span 4;
		grid-row: span 2;
	}
	.gallery-card-medium {
		grid-column: span 4;
		grid-row: span 2;
	}
	.gallery-card-large-right {
		grid-column: span 8;
		grid-row: span 2;
	}
	.gallery-card-fill{grid-column:span 4;grid-row:span 2}
.gallery-link{display:block;width:100%;height:100%}
.gallery-grid.is-uniform{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-auto-rows:260px}
.gallery-grid.is-uniform .gallery-card{grid-column:auto;grid-row:auto}
	.gallery-image {
		width: 100%;
		height: 100%;
		object-fit: cover;
 
		transition:
			transform 0.45s ease,
			opacity 0.45s ease;
	}
	.gallery-card:hover .gallery-image {
		transform: scale(1.04);
		opacity: 0.9;
	}
	.gallery-card-overlay {
		position: absolute;
		inset: auto 0 0 0;
		padding: 18px 16px 16px;
		background: linear-gradient(to top, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0));
		display: grid;
		gap: 6px;
	}
	.gallery-card-kicker {
		font-size: 12px;
		line-height: 1.2;
		color: rgba(255, 255, 255, 0.42);
	}
	.gallery-card-title {
		font-size: 14px;
		line-height: 1.25;
		color: #fff;
	}
	.trust-showcase-grid {
		display: grid;
		grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
		gap: 16px;
		align-items: stretch;
	}
	.trust-showcase-left {
		display: grid;
		gap: 16px;
	}
	.trust-showcase-main {
		position: relative;
		min-height: 480px;
		overflow: hidden;
	}
	.trust-showcase-main-image {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		 
	}
	.trust-showcase-main-overlay {
		position: absolute;
		inset: 0;
		background: linear-gradient(
				90deg,
				rgba(0, 0, 0, 0.78) 0,
				rgba(0, 0, 0, 0.18) 48%,
				rgba(0, 0, 0, 0.84) 100%
			),
			linear-gradient(to top, rgba(0, 0, 0, 0.92), rgba(0, 0, 0, 0.16));
	}
	.trust-showcase-badge {
		position: absolute;
		left: 0;
		bottom: 0;
		z-index: 2;
		    padding: 16px;
		    background: linear-gradient(to top, rgba(4, 86, 129, 0.88), rgba(4, 86, 129, 0));     width: 100%;
	}
	.trust-showcase-badge-name {
		font-size: 14px;
		line-height: 1.1; color: #fff;
	}
	.trust-showcase-badge-role {
		margin-top: 5px;
		font-size: 12px;
		line-height: 1.2;
		color: #fff;
	}
	.trust-showcase-main-text {
		position: absolute;
		top: 0;
		right: 0;
		z-index: 2;
		background: linear-gradient(to bottom, rgba(4, 86, 129, 0.88), rgba(4, 86, 129, 0));     width: 100%;
		display: grid;
		gap: 18px; padding: 16px;
		text-align: right; color: #fff;  justify-items: end; 
	}
	.trust-showcase-main-title {
		font-size: 18px;
	}
	.trust-showcase-main-note {
		font-size: 12px;
		line-height: 1.6;
		color: rgba(255, 255, 255, 0.82);  max-width:70%;
	}
	.trust-showcase-gallery {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 16px;
	}
	.trust-showcase-gallery-item {
		height: 122px;
		overflow: hidden;
		border: 1px solid rgba(255, 255, 255, 0.1);
		background: #050505;
	}
	.trust-showcase-gallery-image {
		width: 100%;
		height: 100%;
		object-fit: cover;
	 
	}
	.trust-showcase-reviews {
		border: 1px solid rgba(255, 255, 255, 0.1);
		background: #050505;
		color: #fff;
		padding: 24px;
		display: grid;
		gap: 20px;
		align-content: start;
	}
	.trust-showcase-reviews-head {
		display: none;
		gap: 6px;
		padding-bottom: 18px;
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	}
	.trust-showcase-reviews-brand {
		font-size: 12px;
		line-height: 1.2;
		letter-spacing: 0.16em;
		text-transform: uppercase;
		color: rgba(255, 255, 255, 0.42);
		display: none;
	}
	.trust-showcase-reviews-score {
		font-size: 48px;
		line-height: 0.9;
		letter-spacing: -0.06em;
		text-transform: uppercase;
	}
	.trust-showcase-reviews-stars {
		font-size: 14px;
		letter-spacing: 0.18em;
		color: rgba(255, 255, 255, 0.72);
	}
	.trust-showcase-reviews-caption {
		font-size: 12px;
		line-height: 1.5;
		color: rgba(255, 255, 255, 0.56);
	}
	.trust-showcase-review-list {
		display: grid;
		gap: 16px;
	}
	.trust-showcase-review {
		padding-bottom: 16px;
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	}
	.trust-showcase-review:last-child {
		border-bottom: 0;
		padding-bottom: 0;
	}
	.trust-showcase-review-name {
		font-size: 14px;
		color: #fff;
	}
	.trust-showcase-review-date {
		margin-top: 8px;
		font-size: 12px;
		color: rgba(255, 255, 255, 0.4);
	}
	.trust-showcase-review-text {
		margin-top: 10px;
		font-size: 14px;
		line-height: 1.6;
		color: rgba(255, 255, 255, 0.78);
	}
	.trust-showcase-reviews-link {
		width: fit-content;
		min-height: 50px;
		padding: 0 20px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		border: 1px solid rgba(255, 255, 255, 0.84);
		color: #fff;
		text-transform: uppercase;
		letter-spacing: 0.14em;
		font-size: 12px;
	}
	.price-table-subtitle {
		max-width: 280px;
		font-size: 14px;
		line-height: 1.5;
		color: rgba(255, 255, 255, 0.62);
	}
	.price-table-box {
		overflow-x: auto;
		border: 1px solid rgba(255, 255, 255, 0.1);
		background: #050505;
	}
	.price-table {
		width: 100%;
		min-width: 920px;
		border-collapse: collapse;
		background: #050505;
		color: #fff;
	}
	.price-table thead th {
		padding: 18px 16px;
		border-right: 1px solid rgba(255, 255, 255, 0.1);
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
		background: #000;
		color: rgba(255, 255, 255, 1);
		font-size: 14px;
		text-align: left;
		white-space: nowrap;
	}
	.price-table thead th:last-child {
		border-right: 0;
	}
	.price-table tbody td {
		padding: 14px 16px;
		border-right: 1px solid rgba(255, 255, 255, 0.1);
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
		font-size: 14px;
		vertical-align: top;
		background: #050505;
		color: rgba(255, 255, 255, 0.84);
	}
	.price-table tbody tr:nth-child(even) td {
		background: #090909;
	}
	.price-table tbody td:last-child {
		border-right: 0;
	}
	.price-table tbody td:nth-child(2),
	.price-table tbody td:nth-child(3) {
		width: 170px;
		white-space: nowrap;
	}
	.cta-band-box {
		display: grid;
		gap: 16px;
		align-items: stretch;
	}
	.cta-band-card,
	.cta-band-side {
		border: 1px solid rgba(255, 255, 255, 0.1);
		background: #050505;
		padding: 28px;
		min-height: 100%;
	}
	.cta-band-card {
		display: grid;
		align-content: space-between;
		gap: 26px;
	}
	.cta-band-title {
		margin: 0;
		font-size: clamp(28px, 3.2vw, 48px);
		text-transform: uppercase;
		font-weight: 400;
	}
	.cta-band-form {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 10px;
		align-items: center;
		max-width: 760px;
	}
	.contact-split-input,
	.cta-band-input,
	.modal-input,
	.modal-textarea {
		width: 100%;
		min-height: 44px;
		padding: 0 18px;
		border: 1px solid rgba(255, 255, 255, 0.14);
		background: #444;
		color: #fff;
		outline: 0;
		appearance: none;
	}
	.modal-textarea {
		min-height: 80px;
		padding: 16px 18px;
		resize: vertical;
		display: none;
	}
	.contact-split-input::placeholder,
	.cta-band-input::placeholder,
	.modal-input::placeholder,
	.modal-textarea::placeholder {
		color: rgba(255, 255, 255, 0.34);
	}
	.contact-split-button,
	.cta-band-button,
	.modal-submit {
		min-height: 44px;
		padding: 0 18px;
		border: 1px solid rgba(255, 255, 255, 0.84);
		background: #fff;
		color: #000;
		font-size: 12px;
		white-space: nowrap;
	}
	.cta-band-note {
		font-size: 12px;
		color: rgba(255, 255, 255, 0.34);
	}
	.cta-band-side {
		display: grid;
		align-content: space-between;
		gap: 24px;
	}
	.cta-band-side-label {
		font-size: 12px;
		line-height: 1.2;
		letter-spacing: 0.16em;
		text-transform: uppercase;
		color: rgba(255, 255, 255, 0.42);
	}
	.cta-band-side-text {
		font-size: clamp(22px, 2vw, 30px);
		line-height: 1.05;
		text-transform: uppercase;
		max-width: 16ch;
	}
	.cta-band-side-note {
		font-size: 14px;
		line-height: 1.6;
		color: rgba(255, 255, 255, 0.68);
		max-width: 28ch;
	}
	.contact-split-grid {
		display: grid;
		grid-template-columns: minmax(320px, 0.72fr) minmax(0, 1fr);
		gap: 16px;
		align-items: stretch;
	}
	.contact-split-left {
		display: grid;
		gap: 30px;
		align-content: space-between;
	}
	.contact-split-title {
		margin: 0;
		font-size: clamp(28px, 3.4vw, 82px);
		color: #fff;
		text-transform: uppercase;
		font-weight: 400;
	}
	.contact-split-contacts {
		display: grid;
		gap: 12px;
	}
	.contact-split-contact {
		display: inline-block;
		font-size: 22px;
		color: #fff;
	}
	.contact-split-contact-note {
		font-size: 12px;
		line-height: 1.4;
		color: rgba(255, 255, 255, 0.4);
	}
	.contact-split-socials {
		display: flex;
		gap: 10px;
	}
	.contact-split-social {
		width: 44px;
		height: 44px;
		border: 1px solid rgba(255, 255, 255, 0.14);
		display: inline-flex;
		align-items: center;
		justify-content: center;
		color: #fff;
	}
	.contact-split-right {
		display: grid;
		grid-template-rows: auto auto;
		gap: 16px;
	}
	.contact-split-form-title,
	.contact-split-map-title {
		margin: 0 0 20px;
		font-size: 24px;
		font-weight: 400;
	}
	.contact-split-form {
		display: grid;
		gap: 12px;
	}
	.contact-split-company {
		font-size: clamp(22px, 2vw, 34px);
		line-height: 1.02;
		letter-spacing: -0.05em;
		text-transform: uppercase;
	}
	.contact-split-info {
		display: grid;
		gap: 8px;
	}
	.contact-split-info-title {
		font-size: 12px;
		line-height: 1.3;
		color: rgba(255, 255, 255, 0.42);
	}
	.contact-split-info-text {
		font-size: 14px;
		line-height: 1.65;
		color: rgba(255, 255, 255, 0.82);
	}
	.contact-split-map {
		min-height: 300px;
		overflow: hidden;
		position: relative;
	}
	.contact-split-map iframe {
		width: 100%;
		border: 0;
		 
	}
	.footer-wrap {
		padding: 34px 0 34px;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		gap: 14px 24px;
	}
	.footer-copy,
	.footer-links {
		font-size: 12px;
		line-height: 1.4;
		color: rgba(255, 255, 255, 0.42);
	}
	.mobile-menu {
		position: fixed;
		inset: 0;
		z-index: 90;
		display: none;
		overflow: auto;
		background: #000;
	}
	.mobile-menu.is-open {
		display: block;
	}
	.mobile-menu-backdrop {
		position: absolute;
		inset: 0;
		background: rgba(0, 0, 0, 0.74);
		backdrop-filter: blur(4px);
	}
	.mobile-menu-panel {
		position: absolute;
		top: 0;
		right: 0;
		width: min(100%, 420px);
		height: 100%;
		background: #050505;
		border-left: 1px solid rgba(255, 255, 255, 0.1);
		padding: 18px;
		display: grid;
		grid-template-rows: auto 1fr auto;
		gap: 18px;
	}
	.mobile-menu-top {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		min-height: 52px;
		padding-bottom: 14px;
	}
	.mobile-menu-title {
		font-size: 12px;
		letter-spacing: 0.16em;
		text-transform: uppercase;
		color: rgba(255, 255, 255, 0.52);
		opacity: 0;
	}
	.mobile-menu-close {
		width: 44px;
		height: 44px;
		border: 1px solid rgba(255, 255, 255, 0.14);
		display: inline-flex;
		align-items: center;
		justify-content: center;
		font-size: 18px;
		color: #fff;
	}
	.mobile-menu-nav {
		display: grid;
		align-content: start;
	}
	.mobile-menu-link {
		min-height: 58px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		border-bottom: 1px solid rgba(255, 255, 255, 0.08);
		font-size: 18px;
		line-height: 1;
		color: #fff;
	}
	.mobile-menu-link::after {
		content: " ";
		font-size: 14px;
		line-height: 1;
		color: rgba(255, 255, 255, 0.3);
	}
	.mobile-menu-bottom {
		display: grid;
		gap: 12px;
		padding-top: 20px;
		padding-bottom: 20px;
	}
	.mobile-menu-mail,
	.mobile-menu-phone {
		font-size: 14px;
		line-height: 1.4;
		color: rgba(255, 255, 255, 1);
	}
	.mobile-menu-actions {
		display: grid;
		gap: 10px;
	}
	.scroll-top {
		position: fixed;
		right: 16px;
		bottom: 16px;
		z-index: 70;
		width: 52px;
		height: 52px;
		border: 1px solid rgba(255, 255, 255, 0.18);
		background: rgba(0, 0, 0, 0.84);
		color: #fff;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		opacity: 0;
		pointer-events: none;
		transform: translateY(10px);
		transition:
			opacity 0.2s ease,
			transform 0.2s ease,
			border-color 0.2s ease;
	}
	.scroll-top.is-visible {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
	}
	.scroll-top:hover {
		border-color: rgba(255, 255, 255, 0.42);
	}
	.modal {
		position: fixed;
		inset: 0;
		z-index: 100;
		display: none;
	}
	.modal.is-open {
		display: block;
	}
	.modal-backdrop {
		position: absolute;
		inset: 0;
		background: rgba(0, 0, 0, 0.8);
		backdrop-filter: blur(6px);
	}
	.modal-dialog {
		position: relative;
		z-index: 1;
		width: min(100% - 24px, 760px);
		margin: min(8vh, 48px) auto;
		background: #050505;
		border: 1px solid rgba(255, 255, 255, 0.12);
		max-height: calc(100dvh - 24px);
		overflow: auto;
	}
	.modal-head {
		display: flex;
		align-items: start;
		justify-content: space-between;
		gap: 18px;
		padding: 22px 22px 18px;
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	}
	.modal-kicker {
		font-size: 12px;
		line-height: 1.2;
		color: rgba(255, 255, 255, 0.42);
		margin-bottom: 10px;
	}
	.modal-title {
		margin: 0;
		font-size: clamp(28px, 3.4vw, 82px);
		text-transform: uppercase;
		font-weight: 400;
	}
	.modal-close {
		width: 44px;
		height: 44px;
		flex: 0 0 auto;
		border: 1px solid rgba(255, 255, 255, 0.14);
		display: inline-flex;
		align-items: center;
		justify-content: center;
		color: #fff;
		font-size: 18px;
	}
	.modal-body {
		padding: 22px;
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(220px, 0.6fr);
		gap: 18px;
	}
	.modal-form {
		display: grid;
		gap: 12px;
	}
	.modal-side {
		border-left: 1px solid rgba(255, 255, 255, 0.1);
		padding-left: 18px;
		display: grid;
		align-content: start;
		gap: 18px;
	}
	.modal-side-box {
		border: 1px solid rgba(255, 255, 255, 0.1);
		background: #000;
		padding: 16px;
		display: grid;
		gap: 8px;
	}
	.modal-side-label {
		font-size: 12px;
		line-height: 1.2;
		color: rgba(255, 255, 255, 0.38);
	}
	.modal-side-value {
		font-size: 14px;
		line-height: 1.5;
		color: rgba(255, 255, 255, 0.82);
	}
	.hero-callback-dop {
		display: none;
	}
		
	@media (max-width: 1260px) {
		.hero-header {
			grid-template-columns: auto 1fr auto auto;
		}
		.hero-callback {
			display: none;
		}
		.hero-callback-dop {
			display: flex;
		}
		.steps-grid {
			grid-template-columns: repeat(3, minmax(0, 1fr));
		}
		.logos-grid {
			grid-template-columns: repeat(3, minmax(0, 1fr));
		}
	}
	@media (max-width: 1120px) {
		.hero-menu {
			display: none;
		}
		.contact-split-grid,
		.cta-band-box,
		.hero-main,
		.trust-showcase-grid {
			grid-template-columns: 1fr;
		}
		.hero-side {
			max-width: 560px;
		}
		.about-company-points,
		.hero-facts {
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}
		.services-showcase-grid {
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}
		.hero-burger {
			display: inline-flex;
		}
	.gallery-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;gap:4px;grid-auto-rows:120px}
		.gallery-card-large-left,
		.gallery-card-large-right,
		.gallery-card-wide-top {
			grid-column: span 6;
		}
		.gallery-card-small {
			grid-column: span 3;
		}
		.gallery-card-medium {
			grid-column: span 3;
		}
		.gallery-card-fill{grid-column:span 3}
		.modal-body {
			grid-template-columns: 1fr;
		}
		.modal-side {
			border-left: 0;
			border-top: 1px solid rgba(255, 255, 255, 0.1);
			padding-left: 0;
			padding-top: 18px;
		}
	}
	@media (max-width: 860px) {
		.container {
			width: min(100% - 24px, 1440px);
		}
		.about-company-head,
		.cta-band-head,
		.price-table-head,
		.section-head,
		.services-showcase-head,
		.trust-showcase-head {
			grid-template-columns: 1fr;
			gap: 14px;
			margin-bottom: 28px;
		}
		.hero-header {
			grid-template-columns: 1fr auto auto;
		}
		.hero-contacts {
			display: none;
		}
		.hero-main {
			padding: 42px 0 28px;
		}
		.hero-title {
			font-size: clamp(42px, 11vw, 84px);
			line-height: 0.92;
		}
		.hero-text {
			max-width: 100%;
		}
		.about-company-wrap,
		.contact-split-wrap,
		.cta-band-wrap,
		.faq-wrap,
		.gallery-wrap,
		.licenses-wrap,
		.logos-wrap,
		.price-table-wrap,
		.services-showcase-wrap,
		.steps-wrap, .objects-wrap, .gallery-wrap,
		.trust-showcase-wrap {
			padding: 72px 0;
		}
		.about-company-grid {
			grid-template-columns: 1fr;
			gap: 28px;
		}
		.steps-grid {
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}
		.logos-grid {
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}
		.services-showcase-card {
			min-height: 460px;
		}
		.trust-showcase-main {
			min-height: 400px;
		}
	}
	@media (max-width: 640px) {
		.hero-wrap {
			padding-top: 0px;
		}
		.hero-header {
			min-height: 60px;
			gap: 12px;
		}
		.hero-social {
			width: 44px;
			height: 44px;
		}
		.hero-main {
			gap: 22px;
			padding: 32px 0 24px;
		}
		.hero-title {
			font-size: clamp(28px, 5vw, 56px);
			line-height: 1.2;
		}
		.hero-text {
			margin-top: 18px;
			font-size: 15px;
			line-height: 1.58;
		}
		.cta-band-form,
		.hero-actions,
		.services-showcase-actions {
			/*flex-direction: column;*/
		}
		.about-company-points,
		.hero-facts,
		.logos-grid,
		.services-showcase-grid,
		.steps-grid {
			grid-template-columns: 1fr;
		}
		.logos-grid {
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}
		.about-company-point,
		.hero-fact,
		.step-card {
			min-height: 0;
		}
		.about-company-title,
		.cta-band-title-main,
		.price-table-title,
		.section-title,
		.services-showcase-title {
			font-size: clamp(28px, 3.4vw, 82px);
			line-height: 0.98;
		}
		.about-company-main {
			gap: 18px;
		}
		.about-company-note,
		.about-company-text,
		.contact-split-info-text,
		.faq-answer {
			font-size: 15px;
		}
		.services-showcase-card {
			min-height: 400px;
		}
		.services-showcase-content {
			padding: 16px;
			gap: 14px;
		}
		.services-showcase-name {
			max-width: 100%;
			font-size: 22px;
			line-height: 1.02;
		}
		.button-dark,
		.button-ghost,
		.button-main,
		.contact-split-button,
		.cta-band-button,
		.cta-band-input,
		.modal-submit,
		.services-showcase-link {
			/*width: 100%;*/
			        width: fit-content;
		}
		.faq-question {
			min-height: 74px;
		}
		.trust-showcase-main {
			min-height: 100vh;
		}
		.trust-showcase-main-text {
			 
			 
			 
		}
		.trust-showcase-badge {
			 
			 
			 
		}
		.trust-showcase-gallery {
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: 12px;
		}
		.contact-split-wrap,
		.cta-band-wrap,
		.price-table-wrap {
			padding: 56px 0;
		}
		.gallery-grid {
			grid-template-columns: repeat(2, minmax(0, 1fr));
			grid-auto-rows: 220px;
		}
		.gallery-card-large-left,.gallery-card-large-right,.gallery-card-medium,.gallery-card-small,.gallery-card-wide-top,.gallery-card-fill{grid-column:auto;grid-row:auto}
		.contact-split-left,
		.contact-split-right,
		.cta-band-card,
		.cta-band-side {
			padding-top: 20px;
			padding-bottom: 20px;
		}
		.cta-band-form {
			grid-template-columns: 1fr;
		}
		.contact-split-map {
			min-height: 240px;
		}
		.mobile-menu-panel {
			width: 100%;
		}
		.modal-dialog {
			width: min(100% - 12px, 760px);
			margin: 6px auto;
			max-height: calc(100dvh - 12px);
		}
	}
	.objects {
		background: #eee;
		color: #000;
	}
	.objects-wrap {
		margin: 0 auto;
		padding-bottom: 96px;
	}
	.objects-head {
		display: grid;
		gap: 16px;
		max-width: 980px;
		margin-bottom: 40px;
	}
	.objects-label {
		display: inline-block;
		font-size: 12px;
		line-height: 1;
		letter-spacing: 0.18em;
		text-transform: uppercase;
		color: rgba(0, 0, 0, 0.5);
	}
	.objects-title {
		margin: 0;
		font-size: clamp(28px, 3.4vw, 82px);
		font-weight: 400;
		text-transform: uppercase;
	}
	.objects-title-accent {
		display: block;
		color: rgba(0, 0, 0, 0.42);
	}
	.objects-lead {
		margin: 0;
		max-width: 760px;
		font-size: clamp(16px, 1.8vw, 21px);
		line-height: 1.5;
		color: rgba(0, 0, 0, 0.72);
	}
	.objects-list {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}
	.objects-card {
		min-height: 240px;
		display: grid;
		align-content: space-between;
		background: #fff;
	}
	.objects-media {
		height: 240px;
		border-right: 1px solid rgba(0, 0, 0, 0.14);
		background: #e9e9e9;
	}
	.objects-image {
		width: 100%;
		height: 100%;
		min-height: 240px;
		object-fit: cover;
		 
	}
	.objects-content {
		display: grid;
		align-content: center;
		gap: 18px;
		padding: 28px 28px 28px 32px;
	}
	.objects-index {
		font-size: 30px;
		line-height: 1;
		text-transform: uppercase;
		color: rgba(0, 0, 0, 0.36);
	}
	.objects-name {
		margin: 0;
		font-size: 20px;
		line-height: 1.6;
		font-weight: 400;
	}
	.objects-content p {
		margin: 0;
		font-size: 14px;
		line-height: 1.6;
		color: rgba(0, 0, 0, 0.72);
	}
	@media (max-width: 980px) {
		.objects-wrap {
			padding: 56px 0;
		}
		.objects-card {
			grid-template-columns: 260px minmax(0, 1fr);
		}
		.objects-image,
		.objects-media {
			min-height: 220px;
		}
		.objects-content {
			padding: 24px;
		}
	}
	@media (max-width: 760px) {
		.objects-card {
			grid-template-columns: 1fr;
		}
		.objects-media {
			min-height: 220px;
			border-right: 0;
			border-bottom: 1px solid rgba(0, 0, 0, 0.14);
		}
		.objects-image {
			min-height: 220px;
		}
		.objects-name,
		.objects-text {
			max-width: none;
		}
	}
	@media (max-width: 640px) {
		.objects-wrap {
			width: min(100% - 24px, 1280px);
			padding: 40px 0;
		}
		.objects-head {
			gap: 14px;
			margin-bottom: 28px;
		}
		.objects-title {
			font-size: clamp(24px, 9vw, 42px);
			line-height: 1;
		}
		.objects-lead {
			font-size: 15px;
			line-height: 1.55;
		}
		.objects-image,
		.objects-media {
			min-height: 200px;
		}
		.objects-content {
			gap: 16px;
			padding: 18px 16px;
		}
		.objects-name {
			font-size: 22px;
		}
		.objects-text {
			font-size: 15px;
			line-height: 1.52;
		}
		.objects-list {
			display: grid;
			grid-template-columns: repeat(1, minmax(0, 1fr));
			gap: 8px;
		}
	}
	
	.login-hero {
		position: relative;
		min-height: 100vh;
		overflow: hidden;
		background: #eee;
	}
 
	.login-hero-wrap {
		position: relative;
		z-index: 1;
		min-height: 100vh;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 48px 0;
	}

	.login-panel {
		width: min(100%, 520px);
		gap: 42px;
		display: flex;
		flex-direction: column;
	}

	.login-panel-head {
		display: grid;
		gap: 14px; 
	}

	.login-panel-head .section-title {
		font-size: clamp(28px, 3.4vw, 56px);
		line-height: 0.98;
		color: #000;
	}

	.login-panel-text {
		max-width: 34ch;
		font-size: 14px;
		line-height: 1.6;
		color: #000;
	}

	.login-form {
		display: grid;
		gap: 14px; 
	}

	.login-form-group {
		display: grid;
		gap: 10px;
	}

	.login-form-label {
		font-size: 12px;
		line-height: 1.2; 
		color: #000;
	}

	.login-form .contact-split-input {
		background: rgba(255, 255, 255, 0.02);
		border: 1px solid #999; color: #000;
	}

	.login-form .contact-split-input:focus {
		border-color: #000;
	}

	.login-form-error {
		min-height: 16px;
		font-size: 12px;
		line-height: 1.4;
		color: #000;
	}

	.login-form-remember {
		display: none;
		align-items: center;
		gap: 12px;
		min-height: 44px;
		cursor: pointer;
	}

	.login-form-remember input {
		position: absolute;
		opacity: 0;
		pointer-events: none;
	}

	.login-form-remember-box {
		width: 18px;
		height: 18px;
		flex: 0 0 18px;
		border: 1px solid rgba(255, 255, 255, 0.84);
		position: relative;
	}

	.login-form-remember-box::after {
		content: "";
		position: absolute;
		inset: 4px;
		background: #fff;
		opacity: 0;
		transition: opacity 0.2s ease;
	}

	.login-form-remember input:checked + .login-form-remember-box::after {
		opacity: 1;
	}

	.login-form-remember-text {
		font-size: 12px;
		line-height: 1.2;
		letter-spacing: 0.08em;
		text-transform: uppercase;
		color: #000;
	}

	.login-form-submit {
		width: auto;
	}

	@media (max-width: 860px) {
		.login-hero-wrap {
			justify-content: center;
		}

		.login-panel {
			width: min(100%, 560px);
		}
	}

	@media (max-width: 640px) {
		.login-hero-wrap {
			padding: 24px 0;
			align-items: flex-end;
		}

		.login-panel-head,
		.login-form {
			padding: 18px;
		}

		.login-panel-head .section-title {
			line-height: 1;
		}
	}

	.screen {
		min-height: 100dvh;
		align-items: center;
		justify-content: center;
		display: flex;
	}
	
	
	
	.nav-menu {
		  display: flex;
		  align-items: center;
		  justify-content: center;
		  gap: 16px;
		  min-width: 0;
		  flex-wrap: wrap;
		  list-style: none;
		  margin: 0;
		  padding: 0;
		}

		.nav-item {
		  list-style: none;
		}

		.nav-link {
		  min-height: 44px;
		  display: inline-flex;
		  align-items: center;
		  cursor: pointer;
		  font-size: 12px;
		  line-height: 1.2;
		  color: rgba(255, 255, 255, 0.68);
		  transition: color 0.2s ease;
		}

		.nav-link:hover {
		  color: #fff;
		}
		@media (max-width: 1120px) {
		.nav-menu {
			display: none;
		}
	}
	
	
	.mobile-menu-nav {
  display: grid;
  align-content: start;
  list-style: none;
  margin: 0;
  padding: 0;
}

.mobile-menu-nav .nav-item {
  list-style: none;
}

.mobile-menu-nav .nav-link {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 18px;
  line-height: 1;
  color: #fff;
  text-decoration: none;
}

.mobile-menu-nav .nav-link::after {
  content: "→";
  font-size: 14px;
  line-height: 1;
  color: rgba(255, 255, 255, 0.3);
}

.modal-consent,
.contact-split-consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13px;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.68);
  cursor: pointer;
}

.modal-consent input[type="checkbox"],
.contact-split-consent input[type="checkbox"] {
  margin-top: 2px;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  accent-color: #fff;
}

.modal-form-status,
.contact-split-status {
  font-size: 13px;
  min-height: 18px;
}

.modal-form-status.is-success,
.contact-split-status.is-success {
  color: #4bd37b;
}

.modal-form-status.is-error,
.contact-split-status.is-error {
  color: #ff6b6b;
}

.modal-input.is-invalid,
.contact-split-input.is-invalid {
  border-color: #ff6b6b !important;
}

 
.rtl-hp-field {
  position: absolute !important;
  left: -9999px !important;
  top: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
}
.cta-band-status {
  font-size: 13px;
  min-height: 18px;
}

.cta-band-status.is-success {
  color: #4bd37b;
}

.cta-band-status.is-error {
  color: #ff6b6b;
}

.cta-band-input.is-invalid {
  border-color: #ff6b6b !important;
}

 /* ==========================================================
   АДАПТИВНЫЙ MOBILE BAR
   Вниз переносятся только иконки, не поместившиеся в шапке.
   ========================================================== */

.mobile-bar {
  position: fixed;
  z-index: 80;
  left: 12px;
  right: 12px;
  bottom: 12px;

  display: none;
  align-items: center;
  justify-content: center;
  gap: 10px;

  padding:
    8px
    calc(12px + env(safe-area-inset-right, 0px))
    calc(8px + env(safe-area-inset-bottom, 0px))
    calc(12px + env(safe-area-inset-left, 0px));

  background:#087dbb;
 
  backdrop-filter: blur(8px);
justify-content:space-between;
  transform: translateY(110%);
  opacity: 0;
  pointer-events: none;

  transition:
    transform 0.25s ease,
    opacity 0.25s ease;
}

.mobile-bar.is-visible {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

/*
  В этот контейнер JS переносит невлезающие
  .hero-social из блока .hero-socials.
*/
.mobile-bar-socials {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.mobile-bar-socials .hero-social {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
}

/* Кнопка "наверх" в составе mobile-bar */
.mobile-bar-top {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border: 1px solid #fff;
  background: #fff;
  color: #000;

  transition:
    opacity 0.2s ease,
    background-color 0.2s ease,
    color 0.2s ease;
}

.mobile-bar-top:hover,
.mobile-bar-top:active {
  opacity: 0.82;
}

/*
  Если JS перенёс из шапки все контакты,
  скрываем пустую обёртку, чтобы она не оставляла gap.
*/
.hero-socials.is-empty {
  display: none !important;
}

/* ==========================================================
   МОБИЛЬНАЯ ВЁРСТКА
   ========================================================== */

@media (max-width: 860px) {
  /*
    ВАЖНО:
    .hero-socials здесь НЕ скрываем.
    JS сам переносит в нижнюю панель лишь то, что не влезло.
  */

  .mobile-bar {
    display: flex;
  }

  /*
    Старая угловая кнопка наверх на мобильном не нужна:
    стрелка теперь находится в mobile-bar.
  */
  .scroll-top {
    display: none !important;
  }

  /*
    Нижний бар fixed — резервируем под него место,
    чтобы футер и контент не оказались под панелью.
  */
  .page {
    padding-bottom: calc(60px + env(safe-area-inset-bottom, 0px));
  }
}

/* Узкие устройства 320–359px */
@media (max-width: 359px) {
  .mobile-bar {
    gap: 6px;
    padding-left: 6px;
    padding-right: 6px;
  }

  .mobile-bar-socials {
    gap: 4px;
  }

  .mobile-bar-socials .hero-social,
  .mobile-bar-top {
    width: 42px;
    height: 42px;
    flex-basis: 42px;
  }
}

.blog-single {
  background: #eeeeee;
  color: #000000;
}

.blog-single__wrap {
  padding: 56px 0 72px;
}

.blog-single__breadcrumbs {
  margin-bottom: 28px;
  font-size: 12px;
  line-height: 1.4;
  color: rgba(0, 0, 0, 0.46);
}

.blog-single__breadcrumbs a {
  color: rgba(0, 0, 0, 0.68);
  text-decoration: none;
}

.blog-single__hero {
  display: grid;
  gap: 28px;
  margin-bottom: 40px;
}

.blog-single__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 12px;
  line-height: 1.4;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.42);
}

.blog-single__title {
  max-width: 1100px;
  margin: 0;
  color: #000000;
}

.blog-single__image-box {
  overflow: hidden;
  background: #e4e4e4;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.blog-single__image {
  display: block;
  width: 100%;
  height: 560px;
  object-fit: cover;
 
}

.blog-single__content {
  font-size: 18px;
  line-height: 1.75;
  color: rgba(0, 0, 0, 0.86);min-width: 0;
    max-width: 100%;
}

.blog-single__content > * + * {
  margin-top: 22px;
}

/* base gutenberg spacing */
.blog-single__content .wp-block-group,
.blog-single__content .wp-block-columns,
.blog-single__content .wp-block-media-text,
.blog-single__content .wp-block-cover,
.blog-single__content .wp-block-gallery,
.blog-single__content .wp-block-image,
.blog-single__content .wp-block-quote,
.blog-single__content .wp-block-pullquote,
.blog-single__content .wp-block-table,
.blog-single__content .wp-block-code,
.blog-single__content .wp-block-preformatted,
.blog-single__content .wp-block-buttons,
.blog-single__content .wp-block-separator,
.blog-single__content .wp-block-embed,
.blog-single__content .wp-block-video,
.blog-single__content .wp-block-audio {
  margin-left: 0;
  margin-right: 0;
  margin-top: 32px;
  margin-bottom: 32px;
}

/* headings */
.blog-single__content h1,
.blog-single__content h2,
.blog-single__content h3,
.blog-single__content h4,
.blog-single__content h5,
.blog-single__content h6,
.blog-single__content .wp-block-heading {
  margin-top: 42px;
  margin-bottom: 0;
  line-height: 1.08;
  text-transform: uppercase;
  color: #000000;
  font-weight: 400;
}

.blog-single__content h2 {
  font-size: clamp(26px, 3vw, 46px);
}

.blog-single__content h3 {
  font-size: clamp(22px, 2.3vw, 32px);
}

.blog-single__content h4,
.blog-single__content h5,
.blog-single__content h6 {
  font-size: 18px;
}

/* text */
.blog-single__content p,
.blog-single__content li {
  color: rgba(0, 0, 0, 0.78);
}

.blog-single__content strong {
  color: #000000;
  font-weight: 600;
}

.blog-single__content em {
  color: rgba(0, 0, 0, 0.66);
}

.blog-single__content a {
  color: #000000;
  text-decoration: underline;
  text-decoration-color: rgba(0, 0, 0, 0.24);
  text-underline-offset: 3px;
}

.blog-single__content ul,
.blog-single__content ol {
  padding-left: 22px;
}

.blog-single__content li + li {
  margin-top: 10px;
}

/* images */
.blog-single__content img {
  display: block;
  width: 100%;
  height: auto;
  
}

.blog-single__content .wp-block-image {
  margin-left: 0;
  margin-right: 0;
}

.blog-single__content .wp-block-image img {
  width: 100%;
}

.blog-single__content .wp-block-image figcaption,
.blog-single__content figcaption {
  margin-top: 12px;
  font-size: 12px;
  line-height: 1.5;
  color: rgba(0, 0, 0, 0.44);
  text-transform: uppercase;
}

.blog-single__content .alignleft {
  float: left;
  max-width: min(320px, 48%);
  margin: 8px 28px 18px 0;
}

.blog-single__content .alignright {
  float: right;
  max-width: min(320px, 48%);
  margin: 8px 0 18px 28px;
}

.blog-single__content .aligncenter {
  margin-left: auto;
  margin-right: auto;
}

.blog-single__content .alignwide {
  width: 100%;
}

.blog-single__content .alignfull {
  width: 100vw;
  max-width: none;
  margin-left: 50%;
  transform: translateX(-50%);
}

/* gallery */
.blog-single__content .wp-block-gallery {
  gap: 8px;
}

.blog-single__content .wp-block-gallery .blocks-gallery-item,
.blog-single__content .wp-block-gallery .wp-block-image {
  margin: 0;
}

.blog-single__content .wp-block-gallery img {
  height: 100%;
  object-fit: cover;
}

.blog-single__content .wp-block-gallery.has-nested-images {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.blog-single__content .wp-block-gallery.has-nested-images figure.wp-block-image {
  margin: 0 !important;
}

.blog-single__content .wp-block-gallery.has-nested-images.columns-2 figure.wp-block-image {
  width: calc(50% - 4px);
}

.blog-single__content .wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image {
  width: calc(33.333% - 6px);
}

.blog-single__content .wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image {
  width: calc(25% - 6px);
}

.blog-single__content .wp-block-gallery.has-nested-images img {
  width: 100%;
  height: 240px;
  object-fit: cover;
}

.blog-single__content .wp-block-gallery.has-nested-images figcaption {
  padding-top: 8px;
}

/* quote */
.blog-single__content blockquote,
.blog-single__content .wp-block-quote {
  margin: 36px 0;
  padding: 0 0 0 20px;
  border-left: 1px solid rgba(0, 0, 0, 0.22);
  color: rgba(0, 0, 0, 0.66);
}

.blog-single__content .wp-block-quote p,
.blog-single__content blockquote p {
  color: rgba(0, 0, 0, 0.72);
  font-size: clamp(18px, 2vw, 24px);
  line-height: 1.6;
}

.blog-single__content .wp-block-quote cite,
.blog-single__content blockquote cite,
.blog-single__content .wp-block-pullquote cite {
  display: block;
  margin-top: 14px;
  font-size: 12px;
  line-height: 1.4;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.42);
  font-style: normal;
}

.blog-single__content .wp-block-pullquote {
  padding: 28px 0;
  border-top: 1px solid rgba(0, 0, 0, 0.12);
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
  text-align: left;
}

.blog-single__content .wp-block-pullquote blockquote {
  margin: 0;
  padding: 0;
  border: 0;
}

.blog-single__content .wp-block-pullquote p {
  font-size: clamp(22px, 2.4vw, 34px);
  line-height: 1.3;
  text-transform: uppercase;
  color: #000000;
}

/* table */
.blog-single__content .wp-block-table {
  overflow-x: auto;
}

.blog-single__content .wp-block-table table,
.blog-single__content table {
  width: 100%;
  border-collapse: collapse;
  min-width: 680px;
}

.blog-single__content .wp-block-table th,
.blog-single__content .wp-block-table td,
.blog-single__content table th,
.blog-single__content table td {
  padding: 14px 16px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  text-align: left;
  vertical-align: top;
}

.blog-single__content .wp-block-table th,
.blog-single__content table th {
  background: #e2e2e2;
  color: #000000;
  font-size: 14px;
  white-space: nowrap;
}

.blog-single__content .wp-block-table td,
.blog-single__content table td {
  background: #f8f8f8;
  color: rgba(0, 0, 0, 0.78);
  font-size: 14px;
}

.blog-single__content .wp-block-table.is-style-stripes tbody tr:nth-child(odd) td {
  background: #eeeeee;
}

.blog-single__content .wp-block-table figcaption {
  margin-top: 12px;
  font-size: 12px;
  line-height: 1.5;
  color: rgba(0, 0, 0, 0.44);
  text-transform: uppercase;
}

/* code */
.blog-single__content code {
  padding: 2px 6px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  background: #f3f3f3;
  color: #000000;
  font-size: 0.92em;
}

.blog-single__content pre,
.blog-single__content .wp-block-code,
.blog-single__content .wp-block-preformatted,
.blog-single__content .wp-block-verse {
  overflow-x: auto;
  padding: 18px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  background: #f5f5f5;
  color: rgba(0, 0, 0, 0.84);
  font-size: 14px;
  line-height: 1.7;
}

.blog-single__content .wp-block-verse {
  white-space: pre-line;
}

/* separator */
.blog-single__content .wp-block-separator,
.blog-single__content hr {
  width: 100%;
  height: 1px;
  border: 0;
  background: rgba(0, 0, 0, 0.1);
  margin: 32px 0;
}

/* buttons */
.blog-single__content .wp-block-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.blog-single__content .wp-block-button__link {
  min-height: 44px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(0, 0, 0, 0.84);
  background: #000000;
  color: #eeeeee;
  font-size: 12px;
  line-height: 1;
  border-radius: 0;
  text-decoration: none;
}

.blog-single__content .is-style-outline .wp-block-button__link {
  background: transparent;
  color: #000000;
  border-color: rgba(0, 0, 0, 0.84);
}

/* columns */
.blog-single__content .wp-block-columns {
  gap: 24px;
}

.blog-single__content .wp-block-columns.is-not-stacked-on-mobile {
  flex-wrap: nowrap;
}

.blog-single__content .wp-block-columns .wp-block-column {
  min-width: 0;
}

.blog-single__content .wp-block-column > *:first-child {
  margin-top: 0;
}

.blog-single__content .wp-block-columns .wp-block-column .wp-block-image:last-child,
.blog-single__content .wp-block-columns .wp-block-column p:last-child {
  margin-bottom: 0;
}

/* media text */
.blog-single__content .wp-block-media-text {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 24px;
  align-items: stretch;
}

.blog-single__content .wp-block-media-text.has-media-on-the-right {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.blog-single__content .wp-block-media-text__content {
  display: grid;
  align-content: center;
  gap: 18px;
  padding: 0;
}

.blog-single__content .wp-block-media-text__content > * {
  margin-top: 0;
  margin-bottom: 0;
}

.blog-single__content .wp-block-media-text__media {
  overflow: hidden;
  background: #e4e4e4;
}

.blog-single__content .wp-block-media-text__media img {
  width: 100%;
  height: 100%;
  min-height: 320px;
  object-fit: cover;
 
}

/* cover */
.blog-single__content .wp-block-cover {
  position: relative;
  overflow: hidden;
  min-height: 420px;
  padding: 28px;
  color: #eeeeee;
  background: #d8d8d8;
}

.blog-single__content .wp-block-cover::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to top, rgba(0, 0, 0, 0.64) 0%, rgba(0, 0, 0, 0.22) 52%, rgba(0, 0, 0, 0.58) 100%),
    linear-gradient(to right, rgba(0, 0, 0, 0.16) 0%, rgba(0, 0, 0, 0.04) 50%, rgba(0, 0, 0, 0.16) 100%);
  pointer-events: none;
  z-index: 1;
}

.blog-single__content .wp-block-cover__inner-container {
  position: relative;
  z-index: 2;
  max-width: 760px;
}

.blog-single__content .wp-block-cover .wp-block-cover__image-background,
.blog-single__content .wp-block-cover .wp-block-cover__video-background {
 
}

.blog-single__content .wp-block-cover p,
.blog-single__content .wp-block-cover h2,
.blog-single__content .wp-block-cover h3,
.blog-single__content .wp-block-cover h4 {
  color: #ffffff;
}

/* group */
.blog-single__content .wp-block-group {
  padding: 24px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: #f7f7f7;
}

.blog-single__content .wp-block-group > *:first-child {
  margin-top: 0;
}

.blog-single__content .wp-block-group > *:last-child {
  margin-bottom: 0;
}

.blog-single__content .wp-block-group.is-style-default + .wp-block-group {
  margin-top: 24px;
}

/* file block */
.blog-single__content .wp-block-file {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  padding: 18px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: #f7f7f7;
}

.blog-single__content .wp-block-file a {
  text-decoration: none;
}

.blog-single__content .wp-block-file a:first-child {
  color: rgba(0, 0, 0, 0.84);
  font-size: 14px;
  line-height: 1.5;
}

.blog-single__content .wp-block-file .wp-block-file__button {
  min-height: 44px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(0, 0, 0, 0.84);
  background: #000000;
  color: #eeeeee;
  font-size: 12px;
  line-height: 1;
  border-radius: 0;
}

/* embeds */
.blog-single__content .wp-block-embed {
  overflow: hidden;
}

.blog-single__content .wp-block-embed.is-type-video .wp-block-embed__wrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  background: #dcdcdc;
}

.blog-single__content .wp-block-embed iframe,
.blog-single__content .wp-block-video video {
  display: block;
  width: 100%;
  max-width: 100%;
 
}

.blog-single__content .wp-block-embed.is-type-video iframe,
.blog-single__content .wp-block-embed.is-type-video object,
.blog-single__content .wp-block-embed.is-type-video embed {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

/* audio */
.blog-single__content .wp-block-audio audio {
  width: 100%;
 
}

/* details */
.blog-single__content details {
  border-top: 1px solid rgba(0, 0, 0, 0.12);
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
  padding: 16px 0;
}

.blog-single__content details summary {
  cursor: pointer;
  color: #000000;
  text-transform: uppercase;
  font-size: 14px;
  line-height: 1.4;
}

.blog-single__content details > *:last-child {
  margin-bottom: 0;
}

/* latest comments / latest posts if used inside content */
.blog-single__content .wp-block-latest-posts,
.blog-single__content .wp-block-categories,
.blog-single__content .wp-block-archives {
  padding-left: 0;
  list-style: none;
}

.blog-single__content .wp-block-latest-posts li,
.blog-single__content .wp-block-categories li,
.blog-single__content .wp-block-archives li {
  padding: 12px 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

/* helper */
.blog-single__content .wp-block-spacer {
  background: transparent;
}

.blog-single__content .alignwide figcaption,
.blog-single__content .alignfull figcaption {
  padding-inline: 0;
}

/* clearfix for floated images */
.blog-single__content::after {
  content: "";
  display: block;
  clear: both;
}

@media (max-width: 860px) {
  .blog-single__wrap {
    padding: 40px 0 56px;
  }

  .blog-single__breadcrumbs {
    margin-bottom: 20px;
  }

  .blog-single__hero {
    gap: 20px;
    margin-bottom: 28px;
  }

  .blog-single__image {
    height: 420px;
  }

  .blog-single__content {
    font-size: 16px;
    line-height: 1.7;
  }

  .blog-single__content .alignwide {
    width: min(100vw - 24px, 1120px);
  }

  .blog-single__content .alignleft,
  .blog-single__content .alignright {
    float: none;
    max-width: 100%;
    margin: 0 0 24px;
  }

  .blog-single__content .wp-block-media-text,
  .blog-single__content .wp-block-media-text.has-media-on-the-right {
    grid-template-columns: 1fr;
  }

  .blog-single__content .wp-block-media-text__media img {
    min-height: 240px;
  }

  .blog-single__content .wp-block-cover {
    min-height: 320px;
    padding: 20px;
  }

  .blog-single__content .wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image,
  .blog-single__content .wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image {
    width: calc(50% - 4px);
  }

  .blog-single__content .wp-block-group {
    padding: 18px;
  }
}

@media (max-width: 640px) {
  .blog-single__wrap {
    padding: 28px 0 40px;
  }

  .blog-single__image {
    height: 260px;
  }

  .blog-single__content {
    font-size: 15px;
    line-height: 1.66;
  }

  .blog-single__content .wp-block-columns,
  .blog-single__content .wp-block-media-text {
    gap: 18px;
  }

  .blog-single__content .wp-block-table table,
  .blog-single__content table {
    min-width: 620px;
  }

  .blog-single__content .wp-block-button__link {
    width: 100%;
  }

  .blog-single__content .wp-block-buttons {
    flex-direction: column;
  }

  .blog-single__content .alignwide,
  .blog-single__content .alignfull {
    width: 100%;
    margin-left: 0;
    transform: none;
  }

  .blog-single__content .wp-block-gallery.has-nested-images.columns-2 figure.wp-block-image,
  .blog-single__content .wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image,
  .blog-single__content .wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image {
    width: 100%;
  }

  .blog-single__content .wp-block-gallery.has-nested-images img {
    height: 220px;
  }

  .blog-single__content .wp-block-file {
    align-items: stretch;
  }

  .blog-single__content .wp-block-file .wp-block-file__button {
    width: 100%;
  }

  .blog-single__content .wp-block-group {
    padding: 16px;
  }

  .blog-single__content table th,
  .blog-single__content table td {
    padding: 12px 14px;
  }
}

.blog-single__post-nav {
  margin-top: 56px;
  padding-top: 28px;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.blog-single__post-nav-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.blog-single__post-nav-item {
  min-height: 100%;
}

.blog-single__post-nav-item:empty {
  display: none;
}

.blog-single__post-nav-link {
  display: grid;
  gap: 12px;
  min-height: 100%;
  
  color: #000000;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;
}

.blog-single__post-nav-link:hover {
  background: #f1f1f1;
  border-color: rgba(0, 0, 0, 0.18);
  opacity: 0.92;
}

.blog-single__post-nav-label {
  display: inline-block;
  font-size: 11px;
  line-height: 1.3;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: rgba(0, 0, 0, 0.42);
}

.blog-single__post-nav-title {
  display: block;
  font-size: 20px;
  line-height: 1.12;
  font-weight: 400;
  text-transform: uppercase;
  color: #000000;
  margin-top:20px;
}

.blog-single__post-nav-item--next {
  text-align: right;
}

.blog-single__post-nav-item--next .blog-single__post-nav-link {
  justify-items: end;
}

@media (max-width: 640px) {
  .blog-single__post-nav {
    margin-top: 40px;
    padding-top: 20px;
  }

  .blog-single__post-nav-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .blog-single__post-nav-item--next {
    text-align: left;
  }

  .blog-single__post-nav-item--next .blog-single__post-nav-link {
    justify-items: start;
  }

  .blog-single__post-nav-title {
    font-size: 18px;
  }
}

.content-hero {
  background: #050505;
  color: #ffffff;
}

.content-hero-wrap {
  padding: 72px 0 40px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.content-hero-head {
  display: grid;
  gap: 16px;
  max-width: 980px;
}

.content-hero-lead {
  max-width: 760px;
  margin-top: 24px;
}

.content-hero-lead p {
  margin: 0;
  font-size: clamp(16px, 1.8vw, 21px);
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.74);
}

.content-page {
  background: #eeeeee;
  color: #000000;
}

.content-page-main {
  padding: 56px 0 96px;
  margin: 0;
    font-size: clamp(14px, 1vw, 22px);
    line-height: 1.58;
}

.content-article {
  max-width: 920px;
}

.content-block {
  margin-bottom: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.content-block:last-of-type {
  margin-bottom: 32px;
}

.content-block h2 {
  margin: 0 0 20px;
  font-size: clamp(24px, 2.2vw, 42px);
  line-height: 1;
  font-weight: 400;
  text-transform: uppercase;
}

.content-block p,
.content-block li,
.content-block blockquote {
  max-width: 760px;
  font-size: 16px;
  line-height: 1.68;
  color: rgba(0, 0, 0, 0.78);
}

.content-block p {
  margin: 0 0 18px;
}

.content-block p:last-child {
  margin-bottom: 0;
}

.content-block ul,
.content-block ol {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 14px;
}

.content-block li {
  position: relative;
  padding-left: 22px;
}

.content-block ul li::before,
.content-block ol li::before {
  content: "";
  position: absolute;
  top: 11px;
  left: 0;
  width: 8px;
  height: 1px;
  background: rgba(0, 0, 0, 0.58);
}

.content-block blockquote {
  margin: 0 0 20px;
  padding: 18px 0 18px 18px;
  border-left: 1px solid rgba(0, 0, 0, 0.18);
  font-size: 18px;
  line-height: 1.6;
  color: rgba(0, 0, 0, 0.86);
}

.content-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: end;
  padding: 28px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: #ffffff;
}

.content-cta-text {
  display: grid;
  gap: 12px;
}

.content-cta-title {
  margin: 0;
  max-width: 18ch;
  font-size: clamp(24px, 2.2vw, 38px);
  line-height: 1.02;
  font-weight: 400;
  text-transform: uppercase;
}

.content-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.content-cta .button-main {
  background: #000000;
  color: #ffffff;
  border-color: rgba(0, 0, 0, 0.84);
}

.content-cta .button-ghost {
  color: #000000;
  border-color: rgba(0, 0, 0, 0.16);
}

@media (max-width: 860px) {
  .content-hero-wrap {
    padding: 42px 0 28px;
  }

  .content-page-main {
    padding: 40px 0 56px;
  }

  .content-cta {
    grid-template-columns: 1fr;
    align-items: start;
  }
}

@media (max-width: 640px) {
  .content-hero-lead p,
  .content-block p,
  .content-block li {
    font-size: 15px;
    line-height: 1.58;
  }

  .content-block {
    margin-bottom: 28px;
    padding-bottom: 28px;
  }

  .content-block h2 {
    margin-bottom: 16px;
    line-height: 1.04;
  }

  .content-cta {
    padding: 18px 16px;
  }

  .content-cta-actions {
    flex-direction: column;
  }

  .content-cta .button-main,
  .content-cta .button-ghost {
    width: 100%;
  }
}

.inner-hero {
  position: relative;
  overflow: hidden;
}

.inner-hero-text,
.inner-hero-image-top,
.inner-hero-image-bottom,
.inner-hero-overlay {
  background: #eee;
  color: #000;
}

.inner-hero-wrap {
  position: relative;
}

.inner-hero-breadcrumbs {
     font-size: 12px;
    line-height: 1.2;
}

.inner-hero-breadcrumbs a {
  opacity:0.8;
  text-decoration: none;
}

.inner-hero-text-box {
  display: grid;
  gap: 24px;
  max-width: 1040px;
}

.inner-hero .section-title {
 max-width: 1180px;
    margin: 0;
    font-size: clamp(42px, 4.4vw, 82px);
    font-weight: 400;
    text-transform: uppercase;
 
}

.inner-hero-lead {
  max-width: 720px;
    
    font-size: clamp(16px, 1.35vw, 18px);
    line-height: 1.6;
    
}

.inner-hero-lead p {
  margin: 0;
}

.inner-hero-media {
  position: relative;
  overflow: hidden;
  background: #0a0a0a;
}

.inner-hero-image {
  display: block;
  width: 100%;
  object-fit: cover;
 
}

/* 1. Только текст */
.inner-hero-text {
  border-bottom: 2px solid #cfcfcf;
}

.inner-hero-text .inner-hero-wrap {
  max-width: 1080px;
  padding: 56px 0;
}

.inner-hero-text .inner-hero-breadcrumbs {
  margin-bottom: 28px;
  padding-bottom: 18px;
  
}

/* 2. Текст + фото снизу */
.inner-hero-image-bottom .inner-hero-wrap {
  padding: 56px 0 0;
}

.inner-hero-image-bottom .inner-hero-breadcrumbs {
  margin-bottom: 28px;
}

.inner-hero-image-bottom .inner-hero-media {
  margin-bottom: 40px;
 
}

.inner-hero-image-bottom .inner-hero-image {
  height: 260px;
}

/* 3. Фото сверху + текст снизу */
.inner-hero-image-top .inner-hero-wrap {
  padding: 56px 0 64px;
}

.inner-hero-image-top .inner-hero-media {
  margin-top: 40px;
}

.inner-hero-image-top .inner-hero-image {
  height: 260px;
}

.inner-hero-image-top .inner-hero-breadcrumbs {
  margin-bottom: 28px;
}

/* 4. Overlay в потоке */
.inner-hero-overlay .inner-hero-stage {
  display: grid;
  height: 100%;
    
}

.inner-hero-overlay .inner-hero-image,
.inner-hero-overlay .inner-hero-overlay,
.inner-hero-overlay .inner-hero-content-wrap {
  grid-area: 1 / 1;
}

.inner-hero-overlay .inner-hero-image {
 
 height: calc(100dvh - 80px);
    min-height: 540px;
}

.inner-hero-overlay .inner-hero-overlay {
   
background: linear-gradient(180deg, rgba(4, 63, 94, 0.52) 0, rgba(4, 63, 94, 0.78) 100%) !important;
	z-index: 1;  
}

.inner-hero-overlay .inner-hero-content-wrap {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  
}

.inner-hero-overlay .inner-hero-content {
  max-width: 920px;
  padding: 56px 0;
}

.inner-hero-overlay .inner-hero-breadcrumbs {
  margin-bottom: 28px;
}

.inner-hero-overlay .section-title,
.inner-hero-overlay .inner-hero-breadcrumbs,
.inner-hero-overlay .inner-hero-lead {
  color: rgba(255, 255, 255, 1);
}

/* adaptive */
@media (max-width: 860px) {
  .inner-hero .section-title {
    line-height: 0.98;
  }

  .inner-hero-text-box {
    gap: 18px;
  }

  .inner-hero-text .inner-hero-wrap,
  .inner-hero-image-top .inner-hero-wrap,
  .inner-hero-image-bottom .inner-hero-wrap {
    padding-top: 40px;
  }

  .inner-hero-text .inner-hero-wrap {
    padding-bottom: 48px;
  }

  .inner-hero-image-top .inner-hero-wrap {
    padding-bottom: 48px;
  }

  .inner-hero-image-bottom .inner-hero-wrap {
    padding-bottom: 0;
  }

  .inner-hero-text .inner-hero-breadcrumbs,
  .inner-hero-image-top .inner-hero-breadcrumbs,
  .inner-hero-image-bottom .inner-hero-breadcrumbs,
  .inner-hero-overlay .inner-hero-breadcrumbs {
    margin-bottom: 20px;
  }

  .inner-hero-image-top .inner-hero-media {
    margin-bottom: 28px;
  }

  .inner-hero-image-bottom .inner-hero-media {
    margin-top: 28px;
  }

  .inner-hero-image-top .inner-hero-image,
  .inner-hero-image-bottom .inner-hero-image {
    height: 420px;
  }

  .inner-hero-overlay .inner-hero-stage,
  .inner-hero-overlay .inner-hero-image {
    min-height: 560px;
  }

  .inner-hero-overlay .inner-hero-content {
    padding: 40px 0;
  }
}

@media (max-width: 640px) {
  .inner-hero .section-title {
    font-size: clamp(28px, 9vw, 42px);
    line-height: 1;
  }

  .inner-hero-lead {
    font-size: 15px;
    line-height: 1.56;
  }

  .inner-hero-text .inner-hero-wrap {
    padding: 28px 0 36px;
  }

  .inner-hero-text .inner-hero-breadcrumbs {
    padding-bottom: 14px;
  }

  .inner-hero-image-top .inner-hero-wrap {
    padding: 28px 0 36px;
  }

  .inner-hero-image-bottom .inner-hero-wrap {
    padding: 28px 0 0;
  }

  .inner-hero-image-top .inner-hero-image,
  .inner-hero-image-bottom .inner-hero-image {
    height: 260px;
  }

  .inner-hero-overlay .inner-hero-stage,
  .inner-hero-overlay .inner-hero-image {
    min-height: 440px;
  }

  .inner-hero-overlay .inner-hero-content {
    padding: 28px 0 24px;
  }
}
 .screen-reader-text {
	display:none;
}
.blog-archive {
  background: #eeeeee;
  color: #000000;
}

.blog-archive__wrap {
  padding: 56px 0 72px;
}

.blog-archive__breadcrumbs {
  margin-bottom: 28px;
  font-size: 12px;
  line-height: 1.4;
  color: rgba(0, 0, 0, 0.46);
}

.blog-archive__breadcrumbs a {
  color: rgba(0, 0, 0, 0.68);
  text-decoration: none;
}

.blog-archive__head {
  display: grid;
  gap: 18px;
  margin-bottom: 40px;
}

.blog-archive__title {
  max-width: 980px;
  margin: 0;
  color: #000000;
}

.blog-archive__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.blog-card {
  background: #f7f7f7;
  border: 1px solid rgba(0, 0, 0, 0.1);
}

.blog-card__link {
  display: grid;
  grid-template-rows: auto 1fr;
  min-height: 100%;
  color: #000000;
  text-decoration: none;
}

.blog-card__media {
  overflow: hidden;
  background: #e3e3e3;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.blog-card__image {
  display: block;
  width: 100%;
  height: 260px;
  object-fit: cover;
 
  transition: transform 0.35s ease, opacity 0.35s ease;
}

.blog-card__body {
  display: grid;
  align-content: start;
  gap: 16px;
  padding: 20px 18px 18px;
}

.blog-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 12px;
  line-height: 1.4;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.42);
}

.blog-card__title {
  margin: 0;
  font-size: 22px;
  line-height: 1.04;
  font-weight: 400;
  text-transform: uppercase;
  color: #000000;
}

.blog-card__excerpt {
  font-size: 14px;
  line-height: 1.6;
  color: rgba(0, 0, 0, 0.66);
}

.blog-card__link:hover .blog-card__image {
  transform: scale(1.04);
  opacity: 0.9;
}

.blog-archive__pagination {
  margin-top: 36px;
}

.blog-archive__pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.blog-archive__pagination .page-numbers {
  min-width: 44px;
  min-height: 44px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(0, 0, 0, 0.16);
  color: #000000;
  background: transparent;
  text-decoration: none;
  font-size: 12px;
 
}

.blog-archive__pagination .page-numbers.current {
  background: #000000;
  color: #eeeeee;
  border-color: #000000;
}

.blog-archive__pagination .page-numbers:hover {
  opacity: 0.82;
}

@media (max-width: 1100px) {
  .blog-archive__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 860px) {
  .blog-archive__wrap {
    padding: 40px 0 56px;
  }

  .blog-archive__breadcrumbs {
    margin-bottom: 20px;
  }
}

@media (max-width: 640px) {
  .blog-archive__wrap {
    padding: 28px 0 40px;
  }

  .blog-archive__grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .blog-card__image {
    height: 220px;
  }

  .blog-card__title {
    font-size: 20px;
  }

  .blog-card__body {
    padding: 16px;
  }
}

.hidden {display:none!important;}

#licenses .gallery-grid.is-uniform {
	    grid-auto-rows: 100%;
		max-height: 550px;
}

@media (max-width: 860px) {
	#licenses .gallery-grid.is-uniform {
	    grid-auto-rows: 100%;
		max-height: 350px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
}
.gallery-grid.is-uniform {
grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.table-responsive {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 20px;
}

:root{--es-blue:#087dbb;--es-blue-dark:#06679d;--es-blue-deep:#045681;--es-blue-soft:#eaf4f9;--es-red:#df2f39;--es-red-hover:#c9232c;--es-bg:#ffffff;--es-bg-soft:#f4f6f7;--es-bg-muted:#e8edf0;--es-text:#41494e;--es-text-dark:#293238;--es-muted:#a2aaaf;--es-line:#d7e0e4}
body{background:#fff;color:var(--es-text)}
.page{ color:var(--es-text)}
.section-kicker{color:var(--es-blue)}
.section-title,.about-company-title,.services-showcase-title,.price-table-title,.cta-band-title-main,.contact-split-title{color:var(--es-text-dark)}
.hero{background-color:var(--es-blue-deep)}
.hero::before{background:linear-gradient(180deg,rgba(4,63,94,0.52) 0,rgba(4,63,94,0.78) 100%) !important}
 
.hero-header,.hero-side-list,.hero-side-item,.hero-facts,.hero-fact{border-color:rgba(255,255,255,0.28)}
.hero-brand-title,.hero-contact-link,.hero-title-line,.hero-fact-text,.hero-side-value{color:#fff}
.hero-brand-note,.hero-title-muted,.hero-text,.hero-side-label,.hero-fact-count,.hero-menu-link,.nav-link{color:rgba(255,255,255,0.78)}
.hero-menu-link:hover,.nav-link:hover{color:#fff}
.hero-side-list{background:rgba(2,82,124,0.72)}
.hero-side-item:hover{background:rgba(255,255,255,0.1)}
.button-main,.hero-callback,.contact-split-button,.cta-band-button,.modal-submit,.services-showcase-link-main{background:var(--es-blue);border-color:var(--es-blue);color:#fff}
.button-main:hover,.hero-callback:hover,.contact-split-button:hover,.cta-band-button:hover,.modal-submit:hover,.services-showcase-link-main:hover{background:var(--es-blue-dark);border-color:var(--es-blue-dark);color:#fff;opacity:1}
.button-ghost,.button-dark,.services-showcase-link{border-color:rgba(255,255,255,0.82);color:#fff;background:rgba(255,255,255,0.06)}
.button-ghost:hover,.button-dark:hover,.services-showcase-link:hover{background:#fff;border-color:#fff;color:var(--es-blue);opacity:1}
.hero-social,.hero-burger,.contact-split-social{border-color:rgba(255,255,255,0.46)}
.hero-social:hover,.hero-burger:hover,.contact-split-social:hover{border-color:#fff;background:rgba(255,255,255,0.13);color:#fff}
.about-company,.licenses,.logos,.faq,.services-showcase,.price-table-section,.steps,.gallery,.trust-showcase,.cta-band,.contact-split{background:#fff;color:var(--es-text)}
.about-company-grid,.step-card, .about-company-points,.about-company-point,.faq-list,.faq-item, .steps-grid{border-color:var(--es-line)}
.about-company-note{border-left-color:var(--es-blue);background:var(--es-blue-soft);color:var(--es-text)}
.about-company-point-count, .objects-index, .step-number{color:var(--es-blue)}
.faq-question-icon,.faq-item.is-open .faq-question-icon{color:var(--es-blue)}
.faq-item:hover{background:var(--es-blue-soft)}
.services-showcase-card{background:var(--es-blue-deep)}
.services-showcase-image{ }
.services-showcase-shadow{background:linear-gradient(to top,rgba(2,62,92,0.96) 0,rgba(2,78,117,0.72) 38%,rgba(2,78,117,0.2) 70%,rgba(2,78,117,0.05) 100%)}
.services-showcase-meta{color:#b8e3f6}
.services-showcase-name{color:#fff}
.price-table-box,.price-table{border-color:var(--es-line);background:#fff}
.price-table thead th{background:var(--es-blue);border-color:rgba(255,255,255,0.24);color:#fff}
.price-table tbody td{background:#fff;border-color:var(--es-line);color:var(--es-text)}
.price-table tbody tr:nth-child(even) td{background:var(--es-bg-soft)}
.price-table tbody tr:hover td{background:var(--es-blue-soft);color:var(--es-text-dark)}
.cta-band-card,.cta-band-side,.trust-showcase-reviews{    background: rgba(4,63,94,0.78);
    border-color: var(--es-blue-dark);
    color: var(--es-bg);}
.cta-band-side-label,.cta-band-note,.price-table-subtitle,.trust-showcase-reviews-caption,.trust-showcase-review-date,.trust-showcase-badge-role {color:var(--es-muted)}

.contact-split-contact-note,.contact-split-info-title,.contact-split-info-text{color:var(--es-bg)}
.trust-showcase-reviews-score,.trust-showcase-reviews-stars{color:var(--es-blue)}
.trust-showcase-review,.trust-showcase-reviews-head,.trust-showcase-gallery-item{border-color:var(--es-line)}
.trust-showcase-review-name,.trust-showcase-review-text{color:var(--es-text)}
.contact-split-contact,.contact-split-company{color:var(--es-bg)}
.contact-split-input,.cta-band-input,.modal-input,.modal-textarea{background:#fff;border-color:#bfcbd1;color:var(--es-text-dark)}
.contact-split-input:focus,.cta-band-input:focus,.modal-input:focus,.modal-textarea:focus{border-color:var(--es-blue);box-shadow:0 0 0 3px rgba(8,125,187,0.14)}
.contact-split-input::placeholder,.cta-band-input::placeholder,.modal-input::placeholder,.modal-textarea::placeholder{color:#8a969c}
.license-card{background:#fff;border:1px solid var(--es-line)}
.license-card-body{border-color:var(--es-line)}
.license-card-name{color:var(--es-text-dark)}
.license-card-note{color:var(--es-muted)}
.logos-grid{background:var(--es-line);border-color:var(--es-line)}
.logo-box{background:#fff}
.licenses-track::-webkit-scrollbar-thumb{background:var(--es-blue)}
.gallery-image,.trust-showcase-main-image,.trust-showcase-gallery-image{ }
.gallery-card-overlay{background:linear-gradient(to top,rgba(4,86,129,0.88),rgba(4,86,129,0))}
.gallery-card-kicker{color:#c6ecfb}
.footer,.mobile-menu,.mobile-menu-panel,.modal-dialog,.modal-side-box{background:var(--es-blue-deep);color:#fff}
.footer-copy,.footer-links{color:rgba(255,255,255,0.72)}
.footer a:hover{color:#fff;text-decoration:underline}
.mobile-menu-panel,.modal-dialog,.modal-head,.modal-side,.modal-side-box,.mobile-menu-link{border-color:rgba(255,255,255,0.2)}
.mobile-menu-link:hover,.mobile-menu-phone:hover,.mobile-menu-mail:hover{color:#fff;background:rgba(255,255,255,0.08)}
.mobile-menu-close,.modal-close{border-color:rgba(255,255,255,0.45)}
.mobile-menu-close:hover,.modal-close:hover{background:#fff;border-color:#fff;color:var(--es-blue)}
.modal-kicker,.modal-side-label{color:#b8e3f6}
.modal-side-value{color:rgba(255,255,255,0.82)}
.hero-brand svg,.hero-brand-mark{accent-color:var(--es-red)}
.scroll-top{background:var(--es-blue);border-color:var(--es-blue);color:#fff}
.scroll-top:hover{background:var(--es-red);border-color:var(--es-red);color:#fff}
::selection{background:var(--es-blue);color:#fff}
 
#services, #prices, .objects, #logos, #gallery { background: var(--es-bg-soft);}
.contact-split-form-title, .contact-split-map-title, .contact-split-title {color:#fff;}
 
#form{ background: rgba(4,63,94,0.78);}
