@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@500&family=K2D:wght@800&display=swap");

:root {
	--ink: #0b1a2e;
	--ink-2: #0f2545;
	--blue: #1a57b2;
	--blue-light: #4078cc;
	--red: #db382e;
	--paper: #f4f6f9;
	--line: #d1deed;
	--muted: #576980;
	--white: #fff;
	--container: 1680px;
	--radius: 10px;
	--shadow: 0 18px 50px rgba(11, 26, 46, 0.15);
}

.company-hero-v2 {
	display: flex;
	min-height: 700px;
	background: var(--ink);
}
.company-hero-v2__photo,
.company-hero-v2__content {
	width: 50%;
}
.company-hero-v2__photo {
	min-height: 700px;
	overflow: hidden;
}
.company-hero-v2__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.company-hero-v2__content {
	display: flex;
	align-items: center;
	padding: 80px clamp(60px, 7vw, 160px);
	background: linear-gradient(90deg, var(--blue) 0 20px, rgba(69, 121, 203, 0.45) 20px 40px, var(--ink-2) 40px);
	color: #fff;
}
.company-hero-v2__content > div {
	max-width: 650px;
}
.company-hero-v2 .eyebrow,
.selection-help .eyebrow {
	color: #93baf5;
}
.company-hero-v2 h1 {
	margin: 0;
	font-size: clamp(38px, 3.45vw, 66px);
	line-height: 1.06;
	letter-spacing: -1.6px;
}
.company-hero-v2 h1 + p {
	max-width: 565px;
	margin: 28px 0 34px;
	color: #d7e2f3;
	font-size: 18px;
}
.company-hero-v2 .hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}
.company-hero-v2 .hero-secondary {
	border-color: #93baf5;
	background: transparent;
	color: #fff;
}
.company-narrative {
	padding: 110px 0;
	background: #fff;
}
.company-narrative__inner {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	gap: 80px;
}
.company-narrative__copy {
	flex: 1 1 720px;
	max-width: 800px;
}
.company-narrative h2,
.contacts-main-v2 h2,
.cert-guarantees h2,
.cert-documents h2,
.quality-strip h2 {
	margin: 0;
	color: var(--ink-2);
	font-size: clamp(32px, 2.7vw, 40px);
	line-height: 1.1;
	letter-spacing: -1px;
}
.company-narrative__copy > p:not(.eyebrow):not(.company-narrative__standards) {
	max-width: 740px;
	margin: 20px 0 0;
	color: var(--muted);
}
.company-narrative__standards {
	margin: 32px 0 24px;
	color: var(--blue);
	font:
		500 14px/1.4 "JetBrains Mono",
		monospace;
}
.company-narrative__links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 26px;
}
.company-narrative__links a {
	border: 1px solid #9bb8df;
	color: var(--blue);
	font-size: 14px;
}
.company-narrative__links a.active {
	color: #fff;
	background: var(--blue);
}
.company-narrative__links a:hover {
	border-color: var(--blue);
	background: var(--blue);
	color: #fff;
}
.company-narrative__mark {
	display: flex;
	flex: 0 1 756px;
	flex-direction: column;
	justify-content: center;
	min-height: 580px;
	padding: 48px;
	overflow: hidden;
	border-radius: var(--radius);
	background: linear-gradient(140deg, #f5f9ff, #e7f0fc);
}
.company-narrative__mark img {
	max-height: 160px;
}

.service-strip {
	position: relative;
	overflow: hidden;
	background: #eef3f9;
	padding: 80px 0;
}

.service-strip__heading {
	position: relative;
	z-index: 2;
	flex: 0 1 400px;
}
.service-strip__heading h2 {
	font-size: clamp(30px, 2.25vw, 42px);
	margin: 10px 0;
}
.service-strip__heading > p:last-child {
	margin: 0 0;
	color: var(--muted);
}
.service-strip__steps {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: flex-start;
	gap: 20px;
	margin-top: 40px;
	flex-wrap: wrap;
}
.service-strip__steps article {
	background: #fff;
	padding: 20px;
	border-radius: 10px;
	width: calc(25% - 20px);
	border: 1px solid var(--line);
}
.service-strip__steps span,
.quality-strip__facts > article > span {
	display: block;
	margin-bottom: 20px;
	color: var(--blue);
	font:
		500 14px/1 "JetBrains Mono",
		monospace;
}
.service-strip__steps h3,
.quality-strip h3 {
	margin: 0;
	font-size: 18px;
	line-height: 1.25;
}
.service-strip__steps p,
.quality-strip__facts p {
	margin: 9px 0 0;
	color: var(--muted);
	font-size: 14px;
	line-height: 1.35;
}
.service-strip__visual {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: min(39vw, 700px);
	background:
		linear-gradient(90deg, rgba(20, 49, 90, 0.92), rgba(20, 49, 90, 0.35)),
		url("assets/company-work-bg.png") center/cover;
}
.service-strip__visual::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 20px;
	background: var(--blue);
	content: "";
}
.service-notebook {
	position: absolute;
	top: 58px;
	right: 13%;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	width: 225px;
	height: 175px;
	padding: 24px;
	transform: rotate(9deg);
	border: 1px solid #cad8e8;
	border-radius: 4px;
	background: #fff;
	box-shadow: 0 16px 25px rgba(3, 18, 42, 0.35);
}
.service-notebook b {
	font-size: 24px;
	letter-spacing: 0.3px;
}
.service-notebook span {
	margin-top: 5px;
	color: #61738c;
	font:
		500 12px/1.4 "JetBrains Mono",
		monospace;
}
.service-notebook i {
	display: block;
	width: 72px;
	height: 7px;
	margin-top: 16px;
	background: var(--blue);
}
.company-certificates {
	padding: 90px 0;
}
.company-certificates .certificate-intro {
	padding-bottom: 30px;
}
.company-certificates .certificate-intro h2 {
	width: auto;
}

.selection-help {
	position: relative;
	min-height: 210px;
	color: #fff;
	background-color: var(--ink-2);
	background-position: center;
	background-size: cover;
}
.company-selection-help {
	background-image:
		linear-gradient(90deg, rgba(9, 27, 55, 0.97) 0 52%, rgba(9, 27, 55, 0.64)), url("assets/company-cta-v2.png");
}
.selection-help__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 50px;
	min-height: 210px;
	padding-top: 36px;
	padding-bottom: 36px;
}
.selection-help h2 {
	margin: 0;
	font-size: clamp(28px, 2.1vw, 34px);
	line-height: 1.1;
}
.selection-help p:last-child {
	margin: 12px 0 0;
	color: #c8d5e8;
}
.selection-help .button {
	min-width: 320px;
}

.breadcrumbs {
	margin: 0 0 24px;
	color: #c5d7ee;
	font:
		500 12px/1.2 "JetBrains Mono",
		monospace;
}
.breadcrumbs span {
	margin: 0 8px;
	color: #5f9aee;
}
.contacts-hero-v2 {
	position: relative;
	min-height: 620px;
	color: #fff;
	background:
		linear-gradient(90deg, rgba(9, 26, 53, 0.96) 0 44%, rgba(9, 26, 53, 0.42) 70%, rgba(9, 26, 53, 0.2)),
		url("assets/contacts-hero-v2.png") center/cover;
}
.contacts-hero-v2__inner {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 620px;
	padding-top: 72px;
	padding-bottom: 58px;
}
.contacts-hero-v2__copy {
	max-width: 630px;
}
.contacts-hero-v2 h1,
.certificates-hero-v2 h1 {
	margin: 0;
	font-size: clamp(42px, 4vw, 68px);
	line-height: 1;
	letter-spacing: -1.7px;
}
.contacts-hero-v2__copy > p:last-child {
	max-width: 590px;
	margin: 24px 0 34px;
	color: #d8e3f0;
	font-size: 18px;
}
.contacts-hero-v2__benefits {
	display: flex;
	gap: 40px;
	max-width: 925px;
	padding-top: 26px;
	border-top: 4px solid var(--blue);
}
.contacts-hero-v2__benefits article {
	display: flex;
	flex: 1;
	gap: 20px;
	width: 100%;
	justify-content: center;
	background: var(--blue);
	padding: 20px;
	border-radius: 10px;
}
.contacts-hero-v2__benefits img {
	width: 35px;
	height: 35px;
	object-fit: contain;
}
.contacts-hero-v2__benefits h2 {
	margin: 0;
	color: #fff;
	font-size: 16px;
	line-height: 1.15;
}
.contacts-hero-v2__benefits p {
	margin: 7px 0 0;
	color: #c6d7eb;
	font-size: 13px;
	line-height: 1.35;
}

.contacts-main-v2 {
	padding: 90px 0;
	background: #f5f8fc;
}
.contacts-main-v2__inner {
	display: flex;
	align-items: flex-start;
	gap: 80px;
}

.contacts-main-v2__intro {
	margin: 18px 0 34px;
	color: var(--muted);
}
.contact-channel-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	border-top: 1px solid var(--line);
}
.contact-channel {
	display: flex;
	flex: 0 0 33.333%;
	gap: 14px;
	min-height: 165px;
	padding: 20px 20px 20px 0;
	border-bottom: 1px solid var(--line);
}
.contact-channel:nth-child(3n + 2),
.contact-channel:nth-child(3n + 3) {
	padding-left: 24px;
}
.contact-channel img {
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
	object-fit: contain;
}
.contact-channel h3 {
	margin: 0 0 11px;
	font-size: 18px;
}
.contact-channel a,
.contact-channel b {
	display: block;
	color: var(--blue);
	font-size: 16px;
	line-height: 1.4;
}
.contact-channel b {
	color: var(--ink);
}
.contact-channel p {
	margin: 6px 0 0;
	color: var(--muted);
	font-size: 14px;
	line-height: 1.4;
}
.contacts-form-v2 {
	display: flex;
	flex: 0 0 555px;
	flex-direction: column;
	gap: 16px;
	padding: 36px 38px 30px;
	border-radius: var(--radius);
	background: #fff;
	box-shadow: 0 14px 36px rgba(20, 48, 82, 0.08);
}
.contacts-form-v2__heading {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
}
.contacts-form-v2 h2 {
	font-size: 28px;
}
.contacts-form-v2__heading span {
	flex: 0 0 auto;
	padding: 7px 8px;
	border-radius: 3px;
	background: #e0ecff;
	color: var(--blue);
	font:
		500 12px/1 "JetBrains Mono",
		monospace;
}
.contacts-form-v2 > p {
	margin: -4px 0 4px;
	color: var(--muted);
	font-size: 14px;
}
.contacts-form-v2 .field {
	display: flex;
	flex-direction: column;
	gap: 7px;
	color: #52647d;
	font:
		500 12px/1.2 "JetBrains Mono",
		monospace;
}
.contacts-form-v2 input,
.contacts-form-v2 textarea {
	width: 100%;
	min-height: 42px;
	padding: 10px 0;
	border: 0;
	border-bottom: 1px solid #cdd9e7;
	border-radius: 0;
	background: transparent;
	color: var(--ink);
	font:
		16px "IBM Plex Sans",
		Arial,
		sans-serif;
	outline: none;
}
.contacts-form-v2 textarea {
	min-height: 55px;
	resize: vertical;
}
.contacts-form-v2 input:focus,
.contacts-form-v2 textarea:focus {
	border-bottom: 2px solid var(--blue);
	box-shadow: none;
}
.contacts-form-v2 .button {
	width: 100%;
	margin-top: 6px;
}
.contacts-form-v2 small {
	color: #75869c;
	font-size: 12px;
	line-height: 1.35;
}

.contacts-map-v2 {
	position: relative;
	min-height: 440px;
	overflow: hidden;
	background-color: #e6edf3;
	background-image:
		linear-gradient(28deg, transparent 0 42%, rgba(255, 255, 255, 0.74) 42% 47%, transparent 47% 100%),
		linear-gradient(112deg, transparent 0 36%, rgba(255, 255, 255, 0.85) 36% 39%, transparent 39% 100%),
		repeating-linear-gradient(0deg, rgba(159, 180, 197, 0.22) 0 1px, transparent 1px 54px),
		repeating-linear-gradient(90deg, rgba(159, 180, 197, 0.19) 0 1px, transparent 1px 70px);
}
.contacts-map-v2__inner {
	position: relative;
	min-height: 440px;
	padding-top: 62px;
}
.contacts-map-v2__card {
	position: relative;
	z-index: 2;
	width: 385px;
	padding: 35px;
	border-radius: var(--radius);
	background: #fff;
	box-shadow: 0 12px 30px rgba(28, 56, 88, 0.13);
}
.contacts-map-v2__card h2 {
	margin: 0;
	font-size: 31px;
}
.contacts-map-v2__card > p:not(.eyebrow) {
	margin: 15px 0;
	color: var(--muted);
}
.contacts-map-v2__card span {
	display: block;
	margin-bottom: 22px;
	color: #6a7d94;
	font-size: 13px;
}
.contacts-map-v2__card .button {
	min-width: 155px;
}
.contacts-map-v2__pin {
	position: absolute;
	top: 208px;
	left: 53%;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 10px 13px;
	border-radius: 4px;
	background: var(--blue);
	color: #fff;
	box-shadow: 0 8px 20px rgba(31, 73, 136, 0.28);
	font:
		500 12px/1.3 "JetBrains Mono",
		monospace;
}
.contacts-map-v2__pin img {
	width: 21px;
	height: 26px;
}
.contacts-map-v2__area {
	position: absolute;
	right: 0;
	bottom: 45px;
	color: #506b89;
	font:
		500 12px/1.3 "JetBrains Mono",
		monospace;
}

.certificates-hero-v2 {
	min-height: 390px;
	padding: 74px 0 50px;
	color: #fff;
	background:
		linear-gradient(90deg, rgba(8, 25, 52, 0.91), rgba(8, 25, 52, 0.38)),
		url("assets/certificates-hero-v2.png") center/cover;
}
.certificates-hero-v2 .container {
	position: relative;
}
.certificates-hero-v2 > .container::after {
	position: absolute;
	bottom: 52px;
	left: 0;
	width: 48px;
	height: 4px;
	background: var(--blue);
	content: "";
}
.certificates-hero-v2 h1 + p {
	margin: 18px 0 36px;
	color: #d4e0ef;
	font-size: 18px;
}
.certificates-hero-v2 strong {
	color: #b3c9e7;
	font:
		500 13px/1.3 "JetBrains Mono",
		monospace;
}
.cert-guarantees {
	padding: 78px 0;
	background: #fff;
}
.cert-guarantees__inner {
	display: flex;
	align-items: center;
	gap: 80px;
}
.cert-guarantees__intro {
	max-width: 600px;
}
.cert-guarantees__intro > p:last-child {
	margin: 18px 0 0;
	color: var(--muted);
}
.cert-guarantees__facts {
	display: flex;
	flex: 1;
	gap: 26px;
}
.cert-guarantees__facts article {
	flex: 1;
}
.cert-guarantees__facts img {
	width: 38px;
	height: 38px;
	margin-bottom: 18px;
}
.cert-guarantees__facts h3 {
	margin: 0;
	font-size: 18px;
	line-height: 1.25;
}
.cert-guarantees__facts p {
	margin: 9px 0 0;
	color: var(--muted);
	font-size: 12px;
}
.cert-documents {
	padding: 82px 0 68px;
	background: #f5f8fc;
}
.cert-documents__heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 40px;
	margin-bottom: 38px;
}
.cert-documents__heading > div:last-child {
	display: flex;
	align-items: center;
	gap: 26px;
}
.cert-documents__heading span {
	color: #67809f;
	font:
		500 12px/1 "JetBrains Mono",
		monospace;
}
.cert-doc-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	flex-wrap: wrap;
}
.cert-documents__note {
	margin: 24px 0 0;
	color: #69809b;
	font-size: 13px;
}
.quality-strip {
	position: relative;
	padding: 65px 0;
	background: #e8f0fa;
}
/* .quality-strip::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 6px;
	background: var(--blue);
	content: "";
} */
.quality-strip__inner {
	display: flex;
	align-items: center;
	gap: 100px;
}

.quality-strip__inner > div:first-child > p:last-child {
	margin: 18px 0 0;
	color: var(--muted);
}
.quality-strip__facts {
	display: flex;
	flex: 1;
	gap: 54px;
}
.quality-strip__facts article {
	flex: 1;
}
.quality-strip__facts article span {
	color: var(--blue);
}

* {
	box-sizing: border-box;
}
html {
	scroll-behavior: smooth;
}
body {
	margin: 0;
	min-width: 320px;
	color: var(--ink);
	background: var(--paper);
	font:
		16px/1.45 "IBM Plex Sans",
		Arial,
		sans-serif;
}
body.no-scroll {
	overflow: hidden;
}
button,
input,
select,
textarea {
	font: inherit;
}
button,
a {
	-webkit-tap-highlight-color: transparent;
}
a {
	color: inherit;
	text-decoration: none;
}
button {
	cursor: pointer;
}
img {
	display: block;
	max-width: 100%;
}
[hidden] {
	display: none !important;
}
main {
	padding-top: 100px;
}
.container {
	width: min(var(--container), calc(100% - 64px));
	margin: 0 auto;
}
.mono,
.eyebrow,
.utility-bar,
.site-footer h3,
.status,
.fact-label,
.breadcrumb,
.chip {
	font-family: "JetBrains Mono", monospace;
}
.eyebrow {
	margin: 0 0 10px;
	color: var(--blue);
	font-size: 14px;
	letter-spacing: 0.45px;
	text-transform: uppercase;
}
span.eyebrow {
	margin: 0 0 10px;
	display: block;
}
.eyebrow-line {
	position: relative;
}
.eyebrow-line::before {
	content: "";
	display: block;
	width: 42px;
	height: 2px;
	margin-bottom: 15px;
	background: var(--blue);
}
.section-title {
	/* max-width: 750px; */
	margin: 0;
	color: #0f1f36;
	font-size: clamp(30px, 3vw, 40px);
	line-height: 1.12;
	letter-spacing: -0.7px;
}
.section-copy {
	max-width: 700px;
	color: var(--muted);
	font-size: 16px;
}

.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 20px;
	border: 1px solid transparent;
	border-radius: var(--radius);
	background: var(--ink);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.15px;
	text-align: center;
	transition: 0.2s;
}

.button:hover {
	opacity: 0.9;
}

.button span {
	margin-left: 15px;
	font-size: 18px;
	line-height: 0;
}
.button:hover {
	box-shadow: 0 7px 16px rgba(11, 26, 46, 0.18);
}
.button:active {
	transform: translateY(0);
	box-shadow: none;
}
.button-red {
	background: var(--red);
}
.button-blue {
	background: var(--blue);
	color: #fff;
}
.button-white {
	background: #fff;
	color: var(--ink-2);
}
.button-outline {
	border-color: var(--blue);
	background: transparent;
	color: var(--blue);
}
.button-outline:hover {
	background: var(--blue);
	color: #fff;
}

.site-header {
	position: relative;
	z-index: 10;
	border-top: 5px solid #003078;
	background: #fff;
	position: fixed;
	width: 100%;
	border-bottom: 1px solid #d1deed;
	box-shadow: 0px 5px 10px rgb(0 0 0 / 5%);
}
.utility-bar {
	height: 30px;
	border-bottom: 1px solid #d6e0ed;
	background: #f6f9fc;
	color: #5c6b80;
	font-size: 12px;
	letter-spacing: 0.3px;
}
.utility-inner,
.utility-inner > div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 100%;
}
.utility-inner > div {
	gap: 36px;
}
.header-main {
	display: flex;
	align-items: center;
	min-height: 80px;
	gap: 40px;
}
.brand {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 9px;
}
.brand img {
	height: 36px;
}
.brand strong {
	display: block;
	color: #131b26;
	font-size: 27px;
	line-height: 1;
	letter-spacing: 0.4px;
}
.brand small,
.header-phone small {
	display: block;
	margin-top: 5px;
	color: #5c6b80;
	font:
		10px "JetBrains Mono",
		monospace;
	letter-spacing: 0.32px;
}
.main-nav {
	display: flex;
	align-items: center;
	gap: 4px;
	margin-left: 30px;
}
.main-nav a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 15px;
	border-radius: var(--radius);
	color: #131b26;
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
	transition:
		background 0.18s,
		color 0.18s;
}
.main-nav a:hover {
	color: #fff;
	background: var(--ink);
}
.catalog-link {
	background: rgb(0 0 0 / 5%);
}
.main-nav .catalog-link svg {
	margin-right: 12px;
	font-style: normal;
	width: 20px;
	height: 20px;
}
.header-phone {
	margin-left: auto;
	padding-left: 25px;
	border-left: 1px solid #d6e0ed;
	white-space: nowrap;
}
.header-phone b {
	display: block;
	font-size: 16px;
}
.header-cta {
	min-height: 44px;
	padding: 10px 15px;
	white-space: nowrap;
}
.menu-toggle {
	display: none;
}

.hero {
	overflow: hidden;
	background: var(--ink-2);
	color: #fff;
}
.hero-home {
	min-height: 660px;
	background: var(--ink-2);
}

.hero-home__shell {
	width: min(100%, 1920px);
	min-height: 660px;
	margin: 0 auto;
	display: flex;
}

.hero-media {
	flex: 0 1 34.4%;
	min-width: 0;
	margin: 0;
	background: #071627;
}

.hero-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	filter: brightness(0.72) contrast(1.08);
}

.hero-body {
	position: relative;
	display: flex;
	flex: 1;
	min-width: 0;
	flex-direction: column;
	background: linear-gradient(90deg, #1a57b2 0 20px, rgba(26, 87, 178, 0.2) 20px 40px, var(--ink-2) 40px);
}

.hero-body:before {
	content: "";
	position: absolute;
	width: 300px;
	height: 273px;
	background: url(assets/decorate-hero.svg);
	right: 10%;
	top: 10%;
}

.hero-body__inner {
	width: min(calc(100% - clamp(72px, 8vw, 150px)), 1080px);
	margin: 20px 60px;
	padding: 60px 20px;
	display: flex;
	flex: 1;
	flex-direction: column;
	justify-content: space-between;
}

.hero-heading-row {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 32px;
}
.hero .eyebrow {
	color: var(--blue-light);
}
.hero .eyebrow::before {
	background: var(--blue-light);
}
.hero h1 {
	max-width: 720px;
	margin: 0;
	font-size: clamp(38px, 4vw, 54px);
	line-height: 1.05;
	letter-spacing: -1px;
}
.hero-lead {
	max-width: 700px;
	margin: 25px 0 25px;
	color: #b2c7e3;
	font-size: 16px;
}
.hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
}
.hero-secondary {
	border-color: rgba(64, 120, 204, 0.7);
	background: #1a3661;
}
.hero-stamp {
	flex: 0 0 auto;
	padding: 15px 20px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: var(--radius);
	font-size: clamp(24px, 3vw, 34px);
	font-weight: 700;
}
.hero-cases {
	display: flex;
	gap: 40px;
	margin-top: 50px;
	width: 100%;
}
.hero-case {
	flex: 1;
	border-top: 3px solid var(--blue-light);
	padding-top: 12px;
}
.hero-case b {
	font-size: 14px;
}
.hero-case p {
	margin: 10px 0 0;
	color: #b2c7e3;
	font-size: 14px;
	line-height: 1.2;
}

.advantages {
	background: var(--ink);
	color: #fff;
}
.advantages .container {
	display: flex;
	gap: 0;
	padding: 43px 0;
}
.advantages-intro {
	flex: 0 0 28%;
	padding-right: 32px;
}
.advantages-intro .eyebrow {
	color: var(--blue);
}
.advantages-intro .eyebrow::before {
	display: none;
}
.advantages-intro h2 {
	margin: 0;
	font-size: 28px;
	line-height: 1.14;
}
.advantages-intro p {
	max-width: 440px;
	margin-bottom: 0;
	color: #b8c7d9;
	font-size: 15px;
}
.advantage-list {
	display: flex;
	flex: 1;
}
.advantage {
	flex: 1;
	padding: 20px 30px;
	border-left: 1px solid #3d4f6b;
}
.advantage .mono {
	color: var(--blue);
	font-size: 14px;
}
.advantage h3 {
	margin: 20px 0 10px;
	font-size: 16px;
}
.advantage p {
	margin: 0;
	color: #b8c7d9;
	font-size: 14px;
}

.catalog-preview {
	padding: 80px 0;
	background: #fff;
}
.catalog-preview .button {
	padding: 10px 40px;
}
.section-heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 32px;
	margin-bottom: 30px;
}
.section-heading .eyebrow {
	margin-bottom: 10px;
}
.section-heading .eyebrow::before {
	display: none;
}
.coverage-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.coverage-tab {
	padding: 10px 15px;
	border: 1px solid var(--line);
	border-radius: 999px;
	background: #fff;
	color: var(--muted);
	font-size: 14px;
	font-weight: 600;
	transition:
		background 0.18s,
		color 0.18s,
		border-color 0.18s;
}
.coverage-tab:hover,
.coverage-tab.is-active {
	border-color: var(--ink);
	background: var(--ink);
	color: #fff;
}
.catalog-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.catalog-row {
	display: flex;
	align-items: center;
	gap: 24px;
	min-height: 120px;
	padding: 16px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: #fff;
	transition:
		box-shadow 0.18s,
		transform 0.18s;
}
.catalog-row:hover {
	box-shadow: 0 8px 22px rgba(15, 37, 69, 0.08);
	transform: translateY(-1px);
}
.catalog-row img {
	width: 88px;
	height: 88px;
	border-radius: var(--radius);
	object-fit: cover;
}
.catalog-main {
	flex: 1 1 35%;
}
.catalog-main h3 {
	margin: 0 0 10px;
	font-size: 18px;
}
.chips {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}
.chip {
	padding: 4px 10px;
	border-radius: 20px;
	background: #edf3fa;
	color: #526477;
	font-size: 12px;
}
.catalog-spec {
	flex: 0 1 230px;
	color: var(--muted);
	font-size: 14px;
}
.catalog-spec ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.catalog-spec b {
	display: block;
	color: var(--ink);
	font-size: 15px;
}
.catalog-stock {
	flex: 0 1 160px;
	text-align: center;
	padding: 10px;
	border-radius: var(--radius);
	/* border: 1px solid #edf3fa; */
}
.status {
	display: inline-block;
	padding: 5px 10px;
	border-radius: 999px;
	background: #e7f5df;
	color: #3e872d;
	font-size: 10px;
}
.catalog-stock small {
	display: block;
	margin-top: 2px;
	color: var(--muted);
}
.catalog-actions {
	min-width: 280px;
}
.catalog-actions span {
	display: block;
	text-align: center;
	color: var(--muted);
	font-size: 14px;
	border: 1px solid #d6e0ed;
	border-radius: var(--radius);
	padding: 4px;
}
.catalog-btns {
	width: 100%;
	display: flex;
	gap: 5px;
	margin-top: 5px;
}
.catalog-btns .button {
	flex: 1 1 auto;
}
.catalog-actions .button {
	flex: 1;
	min-height: 48px;
	padding: 10px;
	font-size: 14px;
}
.fact-strip {
	display: flex;
	margin-top: 40px;
	border-top: 1px solid var(--line);
}
.fact {
	flex: 1;
	padding: 22px 22px 0 0;
	border-right: 1px solid var(--line);
}
.fact + .fact {
	padding-left: 24px;
}
.fact:last-child {
	border-right: 0;
}
.fact b {
	display: block;
	font-size: 16px;
}
.fact-label {
	display: block;
	color: var(--muted);
	font-size: 14px;
	text-transform: lowercase;
}

.calculator {
	overflow: hidden;
	padding: 80px 0;
	background: var(--ink-2);
	color: #fff;
	position: relative;
}
.calculator::before {
	position: absolute;
	content: "";
	width: 300px;
	height: 300px;
	border-radius: var(--radius);
	background: var(--blue-light);
	left: 0%;
	top: 50%;
	transform: translate(-30%, -50%);
	z-index: 0;
	opacity: 0.05;
	-webkit-animation: rotate-scale-up 4s linear infinite both;
	animation: rotate-scale-up 4s linear infinite both;
}
.calculator .container {
	display: flex;
	align-items: center;
	gap: 60px;
	justify-content: space-between;
	position: relative;
	z-index: 1;
}
@-webkit-keyframes rotate-scale-up {
	0% {
		-webkit-transform: scale(1) rotateZ(0);
		transform: scale(1) rotateZ(0);
	}
	50% {
		-webkit-transform: scale(2) rotateZ(180deg);
		transform: scale(2) rotateZ(180deg);
	}
	100% {
		-webkit-transform: scale(1) rotateZ(360deg);
		transform: scale(1) rotateZ(360deg);
	}
}
@keyframes rotate-scale-up {
	0% {
		-webkit-transform: scale(1) rotateZ(0);
		transform: scale(1) rotateZ(0);
	}
	50% {
		-webkit-transform: scale(2) rotateZ(180deg);
		transform: scale(2) rotateZ(180deg);
	}
	100% {
		-webkit-transform: scale(1) rotateZ(360deg);
		transform: scale(1) rotateZ(360deg);
	}
}

.calculator-copy {
	flex: 0 1 590px;
}
.calculator-copy p {
	color: #b8c7d9;
}
.calculator h2 {
	max-width: 450px;
	margin: 0;
	font-size: clamp(24px, 3vw, 34px);
	line-height: 1.1;
}
.calculator-copy > p:last-child {
	color: #b8c7d9;
	background: rgb(0 0 0 / 20%);
	padding: 20px;
	border-radius: var(--radius);
	border: 1px solid rgb(255 255 255 / 10%);
}
.calculator-orient {
	display: block;
	font-size: 14px;
	margin-top: 10px;
	color: var(--muted);
}
.calculator-note {
	margin-top: 20px;
	color: #89a8d5;
	font-size: 14px;
	display: flex;
	align-items: center;
	gap: 10px;
	background:;
}
.calculator-form {
	flex: 1;
	padding: 26px;
	border-radius: var(--radius);
	background: #fff;
	color: var(--ink);
	box-shadow: var(--shadow);
	max-width: 720px;
}
.calculator-fields,
.form-row {
	display: flex;
	gap: 12px;
}
.field {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 5px;
	color: var(--muted);
	font-size: 14px;
	margin: 5px 0;
}
input,
select,
textarea {
	width: 100%;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	outline: none;
	background: #fff;
	color: var(--ink);
	transition:
		border-color 0.18s,
		box-shadow 0.18s;
}
input,
select {
	min-height: 45px;
	padding: 10px 12px;
}
textarea {
	min-height: 92px;
	resize: vertical;
	padding: 10px 12px;
}
input:focus,
select:focus,
textarea:focus {
	border-color: var(--blue);
	box-shadow: 0 0 0 3px rgba(26, 87, 178, 0.14);
}
select {
	appearance: none;
	-webkit-appearance: none;
	padding: 0 20px 0 10px;
	background: url("./assets/chevron-input.svg") no-repeat right 10px center;
}
.calculation-result {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-top: 10px;
	padding: 20px;
	background: #eef4fb;
	border-radius: 10px;
}
.calculation-result div {
	flex: 1;
}
.calculation-result small {
	display: block;
	color: var(--muted);
	font-size: 12px;
}
.calculation-result b {
	font-size: 22px;
}
.calculation-result .button {
	min-width: 170px;
}

.split-section {
	padding: 80px 0;
	background: #fff;
}
.split-section .container {
	display: flex;
	gap: 64px;
}
.split-copy {
	flex: 0 1 45%;
}
.split-copy h2 {
	margin: 0;
	font-size: clamp(24px, 3vw, 34px);
	line-height: 1.1;
}
/* .split-copy p {
	color: var(--muted);
} */
.faq-list {
	flex: 1;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	overflow: hidden;
	padding: 10px;
	background: #f7f9fc;
}
.faq-item {
	border-bottom: 1px solid var(--line);
}
.faq-item:last-child {
	border-bottom: 0;
}
.faq-question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 58px;
	padding: 14px 20px;
	border: 0;
	background: #fff;
	color: var(--ink);
	text-align: left;
	font-size: 16px;
	font-weight: 600;
	background: #f7f9fc;
}
.faq-question span {
	color: var(--blue);
	font-size: 20px;
	transition: transform 0.2s;
}
.faq-question b {
	color: var(--blue);
	font-size: 14px;
	margin-right: 10px;
	font-weight: 300;
}
.faq-answer {
	display: none;
	padding: 20px;
	color: var(--muted);
	font-size: 16px;
	border-top: 1px solid var(--line);
}
.faq-item.is-open .faq-answer {
	display: block;
}
.faq-item.is-open .faq-question span {
	transform: rotate(45deg);
}
.faq-support .button-white {
	width: 100%;
	border-radius: 50px;
}
.company-cta {
	padding: 80px 0;
	background: #eef3f9;
}

.company-cta .container {
	display: flex;
	gap: 80px;
	justify-content: space-between;
	flex-wrap: wrap;
}
.company-cta h2 {
	flex: 1;
	margin: 0;
	font-size: clamp(24px, 3vw, 34px);
	line-height: 1.12;
}
.lead-inline {
	flex: 1 1 auto;
	padding: 20px;
	border-left: 8px solid var(--blue);
	background: #fff;
	border-radius: var(--radius);
	overflow: hidden;
	max-width: 760px;
}
.lead-inline h3 {
	margin: 0 0 15px;
	font-size: 19px;
}
.lead-inline .form-row {
	margin-bottom: 5px;
}
.company-cta .form-row {
	display: flex;
	flex-direction: column;
}
.company-cta .button {
	width: 100%;
	justify-content: space-between;
	margin-top: 10px;
}
.company-cta span {
	display: block;
	margin-top: 10px;
	color: var(--muted);
	font-size: 14px;
}
.partner-section {
	padding: 80px 0;
	background: #fff;
}
.partner-section .container {
	display: flex;
	align-items: center;
	gap: 60px;
}
.partner-section h2 {
	font-size: clamp(24px, 3vw, 34px);
}
.partner-copy {
	flex: 0 1 34%;
}
.partner-copy p {
	color: var(--muted);
}
.partner-logos {
	display: flex;
	flex: 1;
	gap: 16px;
}
.partner-logo {
	display: flex;
	flex: 1;
	flex-direction: column;
	justify-content: center;
	min-height: 96px;
	padding: 18px;
	border: 1px solid var(--line);
	background: #fff;
}
.partner-logo b {
	font-size: 14px;
}
.partner-logo small {
	margin-top: 5px;
	color: var(--muted);
	font:
		10px "JetBrains Mono",
		monospace;
}

.certificates {
	padding: 80px 0;
	background: #f7fafe;
}
.certificates h2 {
	font-size: clamp(24px, 3vw, 34px);
	width: 80%;
}
.certificate-intro {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 40px;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--line);
}
.certificate-intro p {
	margin-bottom: 0;
	color: var(--muted);
}
.certificate-intro > div:last-child {
	max-width: 570px;
	color: var(--muted);
}
.document-list {
	display: flex;
	gap: 24px;
	margin-top: 40px;
}
.document-card {
	display: flex;
	flex-direction: column;
	min-height: 204px;
	padding: 20px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	background: #fff;
	width: calc(33% - 11px);
}
.document-icon {
	width: 40px;
	height: 40px;
	margin-bottom: 15px;
	border-radius: var(--radius);
	background: #dce9fb;
	color: var(--blue);
	font-size: 28px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.document-card h3 {
	margin: 0;
	font-size: 20px;
}
.document-card p {
	margin: 15px 0 auto;
	color: var(--muted);
	font-size: 14px;
	margin-bottom: 10px;
}
.document-footer {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding-top: 5px;
	border-top: 1px solid var(--line);
	font-size: 14px;
	font-weight: 600;
	align-items: center;
	flex-wrap: wrap;
}
.document-footer button {
	border: 0;
	background: transparent;
	color: var(--blue);
	font:
		12px "JetBrains Mono",
		monospace;
	display: flex;
	align-items: center;
	gap: 10px;
	transition: 0.2s;
	padding: 10px 10px;
	border-radius: var(--radius);
}
.document-footer button:hover {
	background: #003078;
	color: #fff;
}
.site-footer {
	background: #091322;
	color: #b0bfd1;
}
.footer-inner {
	display: flex;
	gap: 70px;
	padding: 60px 0 60px;
}
.footer-inner section {
	display: flex;
	flex: 0 1 25%;
	flex-direction: column;
	gap: 12px;
}
.footer-brand {
	flex-basis: 32% !important;
}
.footer-logo {
	display: flex;
	align-items: center;
	gap: 14px;
	color: #fff;
	font-size: 28px;
}
.footer-logo span {
	display: block;
	width: 4px;
	height: 38px;
	background: #3b80de;
}
.footer-inner p {
	margin: 0;
	font-size: 14px;
}
.footer-inner .mono {
	font-size: 12px;
	letter-spacing: 0.4px;
}
.footer-inner .accent,
.site-footer h3 {
	color: #3b80de;
}
.site-footer h3 {
	margin: 0 0 10px;
	font-size: 12px;
	letter-spacing: 0.5px;
}
.site-footer a {
	color: #b0bfd1;
	font-size: 14px;
	transition: color 0.18s;
}
.site-footer a:hover {
	color: #fff;
}
.footer-legal {
	display: flex;
	justify-content: space-between;
	padding: 20px 0 20px;
	border-top: 1px solid #596e87;
	font-size: 12px;
}
.footer-legal .mono {
	font-size: 12px;
}
.breadcrumb {
	margin: 0 0 40px;
	color: var(--muted);
	font-size: 12px;
}
.faq-hero {
	position: relative;
	overflow: hidden;
	color: #fff;
	background: var(--ink-2);
}
.faq-hero .container {
	position: relative;
	z-index: 1;
	display: flex;
	min-height: 420px;
	align-items: center;
}
.faq-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(11, 26, 46, 0.98) 15%, rgba(11, 26, 46, 0.6) 68%, rgba(11, 26, 46, 0.2));
}
.faq-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: url("assets/contacts-hero.png") center/cover;
	z-index: 0;
}
.faq-hero::after {
	background-image: url("assets/faq-visual.png");
}
.faq-hero::before {
	z-index: 1;
}
.faq-hero .container {
	z-index: 2;
}
.dark-copy {
	max-width: 850px;
}
.dark-copy .eyebrow {
	color: #8ab1ed;
}
.dark-copy .eyebrow::before {
	background: #8ab1ed;
}
.dark-copy h1 {
	margin: 0;
	font-size: clamp(36px, 4vw, 52px);
	line-height: 1.05;
}
.dark-copy p {
	max-width: 690px;
	color: #d0dceb;
	font-size: 17px;
}
.dark-copy .hero-actions {
	margin-top: 25px;
}
.hero-actions .button {
	font-size: 16px;
	text-transform: uppercase;
}

.faq-page-list {
	padding: 70px 0;
	background: #fff;
}
.faq-page-list .faq-list {
	max-width: none;
}
.faq-page-list .faq-question {
	font-size: 18px;
	background: #ffffff;
	margin: 5px 0;
	border-radius: 10px;
	border: 1px solid rgb(9 19 34 / 5%);
}
.faq-page-list .faq-answer {
	border-top: 0;
	background: #ffffff;
	border-radius: 10px;
	border: 1px dashed rgb(9 19 34 / 10%);
}
.faq-item.is-open .faq-question {
	background: rgb(9 19 34 / 5%);
	color: #003078;
}
.faq-page-list .faq-item {
	border: none;
}
.faq-support {
	flex: 0 0 300px;
	padding: 20px;
	border-radius: var(--radius);
	background: rgb(9 19 34 / 95%);
}
.faq-support h2 {
	margin: 0;
	font-size: 21px;
	text-align: center;
}
.faq-tel {
	display: block;
	margin: 20px 0 0;
	text-align: center;
	font-size: 18px;
}

.faq-support-info {
	text-align: center;
	margin: 20px 0;
	display: block;
	color: #dce8f7;
	font-size: 14px;
}
.faq-hero .container {
	justify-content: space-between;
	gap: 56px;
}

.modal {
	position: fixed;
	z-index: 100;
	inset: 0;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 24px;
}
.modal.is-open {
	display: flex;
}
.modal-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(7, 19, 36, 0.72);
}
.modal-card {
	position: relative;
	z-index: 1;
	width: min(100%, 560px);
	max-height: calc(100vh - 48px);
	overflow: auto;
	padding: 34px;
	border-radius: var(--radius);
	background: #fff;
	box-shadow: var(--shadow);
}
.modal-card h2 {
	margin: 0;
	color: var(--ink);
	font-size: 29px;
	line-height: 1.1;
}
.modal-card > p {
	color: var(--muted);
}
.modal-close {
	position: absolute;
	top: 10px;
	right: 14px;
	border: 0;
	background: transparent;
	color: var(--muted);
	font-size: 30px;
	line-height: 1;
}
.lead-form {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin-top: 20px;
}
.lead-form label {
	color: var(--muted);
	font-size: 14px;
}
.lead-form input,
.lead-form textarea {
	margin-top: 5px;
}
.form-note {
	margin: 0;
	color: var(--muted);
	font-size: 12px;
}
.form-success {
	margin-top: 25px;
	padding: 20px;
	border-left: 4px solid #4e9f35;
	background: #eff9ed;
}
.company-info {
	max-width: 600px;
}

/* Catalog v4: page-specific layout based on the Figma frame. */
body[data-page="catalog"] {
	background: #f7f9fd;
}

.catalog-hero {
	position: relative;
	overflow: hidden;
	min-height: 720px;
	background-image:
		linear-gradient(
			90deg,
			rgba(14, 34, 61, 0.99) 0%,
			rgba(14, 34, 61, 0.92) 42%,
			rgba(14, 34, 61, 0.58) 64%,
			rgba(14, 34, 61, 0.2) 82%,
			rgba(14, 34, 61, 0) 100%
		),
		url("assets/catalog-row-tube-plain.png");
	background-position: center;
	background-size: cover;
	color: #fff;
}
.catalog-hero-blocks {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 60px;
}
.catalog-hero__content {
	display: flex;
	min-height: 720px;
	flex-direction: column;
	padding: 74px 0 60px;
}

.catalog-hero__copy {
	max-width: 760px;
	margin-bottom: 40px;
}

.catalog-hero .breadcrumb {
	margin-bottom: 12px;
	color: #d4dfef;
	font-size: 12px;
}

.catalog-hero h1 {
	margin: 0;
	font-size: 40px;
	line-height: 1.2;
	letter-spacing: -0.6px;
}

.catalog-hero__copy > p:not(.breadcrumb) {
	max-width: 740px;
	margin: 12px 0;
	color: #d4dfef;
	font-size: 16px;
	line-height: 1.5;
}

.catalog-hero__copy > b {
	display: block;
	font-size: 14px;
	line-height: 1.4;
}

.catalog-hero-filter {
	flex: 1 1 auto;
	padding: 20px;
	border-radius: 10px;
	background: #fff;
	color: #132b45;
	box-shadow: 0 14px 40px rgba(2, 18, 38, 0.2);
}

.catalog-hero-filter > p:first-child {
	margin: 0 0 10px;
	font-size: 14px;
	font-weight: 600;
}

.catalog-hero-filter__fields {
	display: flex;
	align-items: flex-end;
	gap: 20px;
	margin: 20px 0;
}

.catalog-hero-filter .field {
	flex: 0 1 200px;
	margin: 0;
	font-family: "JetBrains Mono", monospace;
	font-size: 12px;
}

.catalog-hero-filter .field:nth-child(3) {
	flex-basis: 224px;
}

.catalog-hero-filter .field:nth-child(4) {
	flex-basis: 213px;
}

.catalog-hero-filter select {
	min-height: 60px;
	padding: 0 16px;
	border-color: #d6e0eb;
	border-radius: 10px;
	background-color: #f2f5fa;
	font-family: "IBM Plex Sans", Arial, sans-serif;
	font-size: 16px;
}

.catalog-hero-filter .button {
	flex: 1 1 260px;
	min-height: 60px;
	border-radius: 10px;
}

.catalog-hero-filter__hint {
	margin: 12px 0 14px !important;
	color: #62758a;
	font-size: 14px !important;
}

.catalog-quick {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-top: 40px;
}

.catalog-quick > span {
	margin-right: 10px;
	color: #62758a;
	font:
		12px "JetBrains Mono",
		monospace;
}

.catalog-quick button {
	min-height: 28px;
	padding: 5px 12px;
	border: 0;
	border-radius: 999px;
	background: #f2f5fa;
	color: #132b45;
	font:
		14px "JetBrains Mono",
		monospace;
	transition:
		background-color 0.18s,
		color 0.18s,
		transform 0.18s;
}

.catalog-quick button:hover,
.catalog-quick button.is-active {
	background: var(--blue);
	color: #fff;
}

.catalog-quick button:active {
	transform: scale(0.97);
}

.catalog-v4-products {
	padding: 80px 0;
	background: #f7f9fd;
}

.catalog-v4-products__heading {
	margin-bottom: 20px;
}

.catalog-v4-products__heading .eyebrow {
	margin-bottom: 10px;
}

.catalog-type-list {
	display: flex;
	gap: 20px;
}

.catalog-type-card {
	position: relative;
	display: flex;
	min-height: 140px;
	flex: 1 1 0;
	align-items: flex-end;
	overflow: hidden;
	padding: 20px;
	border: 0;
	border-radius: 10px;
	background: var(--ink-2);
	color: #fff;
	text-align: left;
	transition:
		transform 0.18s,
		box-shadow 0.18s,
		outline-color 0.18s;
}
.catalog-type-card i {
	transition: 0.2s;
}
.catalog-type-card:hover i {
	right: 10px;
}
.catalog-type-card::after {
	position: absolute;
	inset: 0;
	content: "";
	background: linear-gradient(90deg, rgba(8, 26, 49, 0.86), rgba(8, 26, 49, 0.12));
}

.catalog-type-card img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.catalog-type-card span,
.catalog-type-card i {
	position: relative;
	z-index: 1;
}

.catalog-type-card span {
	display: flex;
	max-width: 280px;
	flex-direction: column;
	gap: 6px;
}

.catalog-type-card b {
	font-size: 18px;
}

.catalog-type-card small {
	color: #dce8f7;
	font-size: 12px;
	line-height: 1.35;
}

.catalog-type-card i {
	position: absolute;
	top: 20px;
	right: 20px;
	font:
		12px "JetBrains Mono",
		monospace;
	font-style: normal;
}

.catalog-type-card.is-active {
	outline: 3px solid var(--blue);
}

.catalog-type-card:hover {
	box-shadow: 0 12px 24px rgba(15, 37, 69, 0.22);
	transform: translateY(-2px);
}

.catalog-list--page {
	margin-top: 20px;
	gap: 10px;
}

body[data-page="catalog"] .catalog-row {
	min-height: 116px;
	padding: 12px;
	border-radius: 8px;
}

body[data-page="catalog"] .catalog-row img {
	width: 86px;
	height: 86px;
	border-radius: 6px;
}

body[data-page="catalog"] .catalog-main h3 {
	margin-bottom: 8px;
}

body[data-page="catalog"] .status-order {
	background: #edf1f5;
	color: #62758a;
}

body[data-page="catalog"] .catalog-actions {
	min-width: 260px;
}

body[data-page="catalog"] .catalog-actions span {
	padding: 5px;
	font-size: 12px;
}

body[data-page="catalog"] .catalog-actions .button {
	min-height: 42px;
	font-size: 14px;
}

.catalog-pagination {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-top: 20px;
	color: #62758a;
	font-size: 12px;
}

.catalog-pagination > div {
	display: flex;
	gap: 8px;
}

.catalog-pagination button {
	min-width: 32px;
	min-height: 32px;
	border: 1px solid #d6e0eb;
	border-radius: 6px;
	background: #fff;
	color: #132b45;
	font-size: 14px;
	transition:
		background-color 0.18s,
		border-color 0.18s,
		color 0.18s;
}

.catalog-pagination button:hover,
.catalog-pagination button.is-active {
	border-color: var(--blue);
	background: var(--blue);
	color: #fff;
}

body[data-page="catalog"] .calculator {
	padding: 80px 0;
}

body[data-page="catalog"] .calculator .container {
	gap: 80px;
}

.catalog-use {
	padding: 80px 0 50px;
	background: #fff;
}

.catalog-use .container:first-child {
	display: flex;
	align-items: center;
	gap: 80px;
}

.catalog-use__copy {
	flex: 1 1 0;
}

.catalog-use h2 {
	margin: 0;
	color: #132b45;
	font-size: clamp(28px, 2.5vw, 40px);
	line-height: 1.15;
}

.catalog-use__copy > p:not(.eyebrow) {
	max-width: 700px;
	margin: 20px 0 30px;
	color: #62758a;
	font-size: 16px;
}

.catalog-use__list {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 20px;
}

.catalog-use__list article {
	display: flex;
	min-height: 72px;
	flex: 1 1 calc(50% - 10px);
	align-items: center;
	gap: 12px;
	padding: 12px;
	border-radius: 8px;
	background: #f2f5fa;
}

.catalog-use__list b {
	display: inline-flex;
	width: 40px;
	height: 40px;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	background: var(--blue);
	color: #fff;
	font:
		12px "JetBrains Mono",
		monospace;
}

.catalog-use__list span {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 2px;
}

.catalog-use__list strong {
	font-size: 14px;
}

.catalog-use__list small {
	color: #62758a;
	font:
		12px/1.35 "JetBrains Mono",
		monospace;
}

.catalog-use__photo {
	position: relative;
	width: min(38%, 635px);
	min-height: 428px;
	margin: 0;
	overflow: hidden;
	border-radius: 20px;
	background: var(--ink-2);
}

.catalog-use__photo::after {
	position: absolute;
	inset: 0;
	content: "";
	background: rgba(14, 34, 61, 0.38);
}

.catalog-use__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 65% center;
}

.catalog-use__photo figcaption {
	position: absolute;
	z-index: 1;
	bottom: 24px;
	left: 50%;
	display: flex;
	width: calc(100% - 88px);
	min-height: 82px;
	flex-direction: column;
	justify-content: center;
	gap: 6px;
	padding: 14px 16px;
	border-radius: 10px;
	background: rgb(0 0 0 / 20%);
	color: #fff;
	transform: translateX(-50%);
	border: 1px solid rgb(255 255 255 / 10%);
}

.catalog-use__photo figcaption b {
	font-size: 14px;
}

.catalog-use__photo figcaption span {
	font:
		12px/1.4 "JetBrains Mono",
		monospace;
}

.catalog-use__note {
	margin-top: 50px;
	color: #62758a;
	font-size: 16px;
}

.catalog-help {
	position: relative;
	overflow: hidden;
	min-height: 180px;
	background-image: linear-gradient(rgba(15, 38, 72, 0.88), rgba(15, 38, 72, 0.88)), url("assets/catalog-row-tube.png");
	background-position: center;
	background-size: cover;
	color: #fff;
}

.catalog-help::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 6px;
	content: "";
	background: var(--blue);
}

.catalog-help .container {
	display: flex;
	min-height: 180px;
	align-items: center;
	justify-content: space-between;
	gap: 60px;
}

.catalog-help .eyebrow {
	margin-bottom: 10px;
	color: #75a4e4;
	font-size: 12px;
}

.catalog-help h2 {
	margin: 0;
	font-size: 28px;
}

.catalog-help p:last-child {
	margin: 10px 0 0;
	color: #d4dfef;
	font-size: 16px;
}

.catalog-help .button {
	width: min(100%, 320px);
	min-height: 52px;
	flex: 0 0 auto;
	border-radius: 10px;
}

@media (max-width: 1250px) {
	.company-narrative__inner,
	.contacts-main-v2__inner,
	.cert-guarantees__inner,
	.quality-strip__inner {
		gap: 48px;
	}
	.company-narrative__mark {
		min-height: 500px;
	}
	/* .service-strip__steps {
		gap: 18px;
		margin-left: 38px;
	}
	.service-strip__visual {
		width: 31vw;
		opacity: 0.65;
	} */
	.contacts-form-v2 {
		flex-basis: 470px;
		padding: 30px;
	}
	.contact-channel {
		flex-basis: 50%;
	}
	.contact-channel:nth-child(3n + 2),
	.contact-channel:nth-child(3n + 3) {
		padding-left: 0;
	}
	.contact-channel:nth-child(even) {
		padding-left: 24px;
	}
	.cert-guarantees__facts {
		flex-wrap: wrap;
	}
	.cert-guarantees__facts article {
		flex-basis: calc(50% - 13px);
		text-align: center;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		background: #f5f8fc;
		padding: 20px;
		border-radius: 10px;
	}
}

@media (max-width: 1220px) {
	.header-main {
		gap: 16px;
	}
	.main-nav {
		margin-left: 0;
	}
	.main-nav a {
		padding: 0 10px;
		font-size: 12px;
	}
	.header-phone {
		display: none;
	}
	.hero-body__inner {
		width: min(calc(100% - 96px), 980px);
		margin-left: 72px;
	}
	.hero-cases {
		gap: 24px;
	}
	.footer-inner {
		gap: 35px;
	}
	.company-info {
		max-width: none;
		width: 100%;
	}
	.section-copy {
		max-width: none;
	}
	.lead-inline {
		max-width: 100%;
	}
	.company-cta .container {
		gap: 40px;
	}
	.catalog-hero-filter {
		width: 100%;
	}
	.catalog-hero-filter__fields {
		flex-wrap: wrap;
	}
	.catalog-hero-filter .button {
		flex-basis: 280px;
	}
	.catalog-use__photo {
		width: min(42%, 635px);
	}
	.catalog-hero-blocks {
		gap: 20px;
	}
	.faq-support {
		width: 100%;
		flex: auto;
	}
}

@media (max-width: 900px) {
	.company-hero-v2 {
		display: block;
		min-height: 0;
	}
	.company-hero-v2__photo,
	.company-hero-v2__content {
		width: 100%;
		min-height: 0;
	}
	.company-hero-v2__photo {
		height: 360px;
	}
	.company-hero-v2__content {
		min-height: 440px;
		padding: 64px max(32px, calc((100% - 680px) / 2));
	}
	.company-narrative {
		padding: 70px 0;
	}
	.company-narrative__inner,
	.contacts-main-v2__inner,
	.cert-guarantees__inner,
	.quality-strip__inner {
		flex-direction: column;
		align-items: stretch;
	}
	.company-narrative__copy {
		max-width: none;
	}
	.company-narrative__mark {
		flex-basis: auto;
		min-height: 360px;
	}
	.service-strip {
		min-height: 0;
	}

	.service-strip__inner {
		display: block;
		min-height: 0;
		padding-top: 60px;
		padding-bottom: 60px;
	}
	.service-strip__heading {
		max-width: 470px;
	}
	.service-strip__steps {
		flex-wrap: wrap;
		gap: 28px 18px;
		margin: 42px 0 0;
	}
	.service-strip__steps article {
		flex-basis: calc(25% - 14px);
	}
	.service-strip__visual {
		top: auto;
		width: 100%;
		height: 180px;
		opacity: 0.32;
	}
	.service-notebook {
		display: none;
	}
	.service-strip__inner {
		padding-bottom: 210px;
	}
	.company-certificates {
		padding: 70px 0;
	}
	.selection-help__inner {
		align-items: flex-start;
		flex-direction: column;
		gap: 24px;
	}
	.selection-help .button {
		min-width: 0;
	}
	.contacts-hero-v2__benefits {
		gap: 24px;
	}
	.contacts-main-v2 {
		padding: 70px 0;
	}
	.contacts-form-v2 {
		flex-basis: auto;
	}
	.contacts-map-v2__pin {
		left: 54%;
	}
	.cert-guarantees,
	.cert-documents {
		padding: 68px 0;
	}
	.cert-guarantees__facts {
		gap: 20px;
		text-align: center;
		margin: 0 auto;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.cert-documents__heading {
		align-items: flex-start;
		flex-direction: column;
	}
	.quality-strip {
		padding: 40px 0;
	}
	.quality-strip__facts {
		gap: 24px;
	}
	.container {
		width: min(100% - 40px, var(--container));
	}
	.utility-inner > div {
		gap: 16px;
	}
	.utility-inner > div span:last-child {
		display: none;
	}
	.header-main {
		position: relative;
		min-height: 72px;
	}
	.main-nav {
		position: absolute;
		top: calc(100% + 1px);
		left: 0;
		right: 0;
		display: none;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		padding: 12px 20px 20px;
		border-top: 1px solid var(--line);
		background: #fff;
		box-shadow: 0 12px 20px rgba(11, 26, 46, 0.08);
	}
	.main-nav.is-open {
		display: flex;
	}
	.main-nav a {
		justify-content: flex-start;
		min-height: 44px;
		padding: 0 15px;
		font-size: 14px;
	}
	.menu-toggle {
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 5px;
		width: 42px;
		height: 42px;
		margin-left: auto;
		border: 1px solid var(--line);
		border-radius: var(--radius);
		background: #fff;
	}
	.menu-toggle span {
		width: 19px;
		height: 2px;
		margin: 0 auto;
		background: var(--ink);
		transition:
			transform 0.2s,
			opacity 0.2s;
	}
	.catalog-stock {
		flex: initial;
	}
	.menu-toggle.is-open span:nth-child(1) {
		transform: translateY(7px) rotate(45deg);
	}
	.menu-toggle.is-open span:nth-child(2) {
		opacity: 0;
	}
	.menu-toggle.is-open span:nth-child(3) {
		transform: translateY(-7px) rotate(-45deg);
	}
	.header-cta {
		display: none;
	}
	.hero-home,
	.hero-home__shell {
		min-height: 0;
	}
	.hero-home__shell {
		flex-direction: column;
	}
	.hero-media {
		flex: none;
		height: clamp(260px, 46vw, 400px);
	}
	.hero-body {
		background: none;
	}
	.hero-body__inner {
		width: min(calc(100% - 80px), 720px);
		margin: 0 auto;
		padding: 50px 0 50px;
	}
	.hero-heading-row {
		gap: 24px;
	}
	.hero-stamp {
		font-size: 25px;
	}
	.hero-cases {
		flex-wrap: wrap;
		margin-top: 40px;
	}
	.hero-case {
		flex: 0 1 calc(50% - 12px);
	}
	.advantages .container,
	.calculator .container,
	.split-section .container,
	.company-cta .container,
	.partner-section .container,
	.faq-hero .container {
		flex-direction: column;
		align-items: stretch;
		gap: 32px;
	}
	.advantages-intro {
		padding-right: 0;
	}
	.advantage-list {
		border-top: 1px solid #3d4f6b;
	}
	.advantage {
		padding: 20px;
		border-left: none;
	}
	.catalog-row {
		flex-wrap: wrap;
	}
	.catalog-actions {
		flex: 1 1 260px;
	}
	.calculator-copy {
		flex-basis: auto;
	}
	.document-list {
		flex-wrap: wrap;
	}
	.document-card {
		flex-basis: 30%;
	}
	.footer-inner {
		flex-wrap: wrap;
	}
	.footer-inner section,
	.footer-brand {
		flex-basis: 40% !important;
	}
	.catalog-hero {
		min-height: auto;
		background-position: 64% center;
	}
	.catalog-hero__content {
		min-height: auto;
		padding: 60px 0;
	}
	.catalog-hero__copy {
		max-width: 620px;
	}
	.catalog-hero-filter {
		margin-top: 40px;
	}
	.catalog-type-list {
		flex-wrap: wrap;
	}
	.catalog-type-card {
		min-width: calc(50% - 10px);
	}
	.catalog-type-card:last-child {
		flex-grow: 0;
	}
	.catalog-use .container:first-child {
		flex-direction: column;
		align-items: stretch;
	}
	.catalog-use__photo {
		width: 100%;
		min-height: 360px;
	}
	.catalog-help .container {
		gap: 30px;
	}
	.catalog-help .button {
		width: auto;
		min-width: 280px;
	}

	.document-card {
		width: 100%;
	}
}

@media (max-width: 620px) {
	.company-hero-v2__photo {
		height: 270px;
	}
	.company-hero-v2__content {
		min-height: 410px;
		padding: 48px 32px;
		background: linear-gradient(90deg, var(--blue) 0 12px, rgba(69, 121, 203, 0.45) 12px 24px, var(--ink-2) 24px);
	}
	.company-hero-v2 h1 {
		font-size: 36px;
		letter-spacing: -1px;
	}
	.company-hero-v2 h1 br,
	.company-narrative h2 br,
	.contacts-main-v2 h2 br,
	.cert-guarantees h2 br,
	.certificates-hero-v2 br,
	.quality-strip h2 br {
		display: none;
	}
	.company-hero-v2 h1 + p,
	.contacts-hero-v2__copy > p:last-child,
	.certificates-hero-v2 h1 + p {
		font-size: 16px;
	}
	.company-narrative {
		padding: 55px 0;
	}
	.company-narrative__mark {
		min-height: 255px;
		padding: 28px;
	}
	.company-narrative__mark span {
		letter-spacing: -10px;
	}
	.company-narrative__links {
		gap: 12px 18px;
	}
	/* .service-strip__inner {
		padding-top: 50px;
		padding-bottom: 190px;
	} */
	/* .service-strip__steps {
		gap: 28px 14px;
	}
	.service-strip__steps article {
		flex-basis: calc(50% - 7px);
	} */
	.company-certificates {
		padding: 55px 0;
	}
	.certificate-intro {
		align-items: flex-start;
		flex-direction: column;
		gap: 20px;
	}
	.company-certificates .certificate-intro h2 {
		font-size: 30px;
	}
	.document-list {
		flex-direction: column;
		margin-top: 28px;
	}
	.document-card {
		min-height: 0;
		padding: 24px;
	}
	.selection-help {
		min-height: 250px;
	}
	.selection-help__inner {
		min-height: 250px;
		padding-top: 45px;
		padding-bottom: 45px;
	}
	.selection-help h2 {
		font-size: 29px;
	}
	.contacts-hero-v2 {
		min-height: 630px;
		background-position: 58% center;
	}
	.contacts-hero-v2__inner {
		min-height: 630px;
		padding-top: 54px;
	}
	.contacts-hero-v2__benefits {
		flex-wrap: wrap;
		gap: 20px;
	}
	.contacts-hero-v2__benefits article {
		flex-basis: 100%;
	}
	.contacts-main-v2 {
		padding: 55px 0;
	}
	.contacts-main-v2 h2 {
		font-size: 34px;
	}
	.contact-channel {
		flex-basis: 100%;
		min-height: 0;
		padding: 22px 0;
	}
	.contact-channel:nth-child(even) {
		padding-left: 0;
	}
	.contacts-form-v2 {
		padding: 25px 22px;
	}
	.contacts-form-v2__heading {
		flex-direction: column;
		gap: 12px;
	}
	.contacts-map-v2,
	.contacts-map-v2__inner {
		min-height: 500px;
	}
	.contacts-map-v2__inner {
		padding-top: 40px;
	}
	.contacts-map-v2__card {
		width: 100%;
		padding: 26px;
	}
	.contacts-map-v2__pin {
		top: 390px;
		left: 32px;
		max-width: calc(100% - 64px);
	}
	.contacts-map-v2__area {
		display: none;
	}
	.certificates-hero-v2 {
		min-height: 360px;
		padding-top: 55px;
	}
	.certificates-hero-v2 h1 {
		font-size: 46px;
	}
	.certificates-hero-v2 > .container::after {
		bottom: 42px;
	}
	.cert-guarantees,
	.cert-documents {
		padding: 55px 0;
	}
	.cert-guarantees__facts {
		gap: 26px 16px;
	}
	.cert-guarantees__facts article {
		flex-basis: 100%;
	}
	.cert-documents__heading {
		margin-bottom: 26px;
	}
	.cert-documents__heading > div:last-child {
		align-items: flex-start;
		flex-direction: column;
		gap: 16px;
	}
	.cert-doc-grid {
		gap: 16px;
	}
	.quality-strip {
		padding: 52px 0;
	}
	.quality-strip__facts {
		flex-wrap: wrap;
		gap: 28px 20px;
	}
	.quality-strip__facts article {
		flex-basis: calc(50% - 10px);
	}
	.quality-strip__facts article:last-child {
		flex-basis: 100%;
	}
	body[data-page="company"] .company-certificates {
		padding: 55px 0;
	}
	body[data-page="company"] .company-hero-v2 .hero-actions .button {
		width: auto;
		padding: 12px 20px;
		font-size: 14px;
	}
}

@media (max-width: 580px) {
	.container {
		width: calc(100% - 32px);
	}
	.utility-bar {
		font-size: 9px;
	}
	.utility-inner > div {
		display: none;
	}
	.brand strong {
		font-size: 22px;
	}
	.brand small {
		font-size: 8px;
	}
	.brand img {
		height: 31px;
	}
	.hero-media {
		height: 220px;
	}
	.hero-body__inner {
		width: calc(100% - 48px);
		padding: 38px 0 36px;
	}
	.hero-heading-row {
		flex-direction: column;
		gap: 20px;
	}
	.hero h1 {
		font-size: 36px;
	}
	.hero-stamp {
		padding: 5px 10px;
		font-size: 18px;
		margin: 0px 0px 10px;
	}
	.hero-lead {
		font-size: 15px;
	}
	.hero-actions {
		width: 100%;
		gap: 10px;
	}
	.hero-actions .button {
		flex: 1;
		padding: 10px;
		font-size: 12px;
	}
	.hero-cases {
		gap: 17px;
		margin-top: 35px;
	}
	.hero-case {
		flex-basis: calc(50% - 9px);
	}
	.hero-case:last-child {
		display: none;
	}
	.advantages .container {
		padding: 35px 0;
	}
	.advantage-list {
		flex-direction: column;
	}
	.advantage {
		min-height: auto;
		border-bottom: 1px solid #3d4f6b;
		border-left: 0;
	}
	.section-heading,
	.certificate-intro {
		flex-direction: column;
		align-items: flex-start;
	}
	.catalog-row {
		gap: 14px;
		padding: 12px;
	}
	.catalog-row img {
		width: 62px;
		height: 62px;
	}
	.catalog-main {
		flex-basis: calc(100% - 76px);
	}
	.catalog-main h3 {
		font-size: 15px;
	}
	.catalog-spec,
	.catalog-stock {
		flex-basis: auto;
		text-align: left;
	}
	.catalog-actions {
		flex-basis: 100%;
	}
	.fact-strip {
		flex-wrap: wrap;
	}
	.fact {
		flex-basis: 50%;
		border-bottom: 1px solid var(--line);
	}
	.calculator {
		padding: 58px 0;
	}
	.calculator h2 {
		font-size: clamp(24px, 3vw, 34px);
	}
	.calculator-fields,
	.form-row,
	.calculation-result {
		flex-direction: column;
	}
	.calculation-result {
		gap: 8px;
	}
	.calculation-result .button {
		width: 100%;
	}
	.split-section,
	.catalog-preview,
	.certificates,
	.faq-page-list {
		padding: 40px 0;
	}
	.document-list,
	.partner-logos {
		flex-direction: column;
	}
	.document-card,
	.partner-logo {
		flex-basis: auto;
	}
	.footer-inner {
		gap: 36px;
		padding: 48px 0 36px;
	}
	.footer-inner section,
	.footer-brand {
		flex-basis: 100% !important;
	}
	.footer-legal {
		flex-direction: column;
		gap: 12px;
		padding-bottom: 28px;
	}
	.faq-support {
		flex-basis: auto;
	}
	.modal {
		padding: 12px;
	}
	.modal-card {
		padding: 27px 20px;
	}
	.catalog-hero {
		background-image:
			linear-gradient(90deg, rgba(14, 34, 61, 0.96), rgba(14, 34, 61, 0.68)), url("assets/catalog-row-tube-plain.png");
		background-position: 69% center;
	}
	.catalog-hero__content {
		padding: 40px 0;
	}
	.catalog-hero h1 {
		font-size: 32px;
		line-height: 1.12;
	}
	.catalog-hero__copy > p:not(.breadcrumb) {
		font-size: 14px;
	}
	.catalog-hero__copy > b {
		font-size: 12px;
	}
	.catalog-hero-filter {
		min-height: 0;
		padding: 20px;
		border-radius: 10px;
	}
	.catalog-hero-filter__fields {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
	}
	.catalog-hero-filter .field,
	.catalog-hero-filter .field:nth-child(3),
	.catalog-hero-filter .field:nth-child(4),
	.catalog-hero-filter .button {
		width: 100%;
		flex-basis: auto;
	}
	.catalog-hero-filter select,
	.catalog-hero-filter .button {
		min-height: 52px;
	}
	.catalog-quick {
		gap: 8px;
	}
	.catalog-quick > span {
		width: 100%;
	}

	.catalog-type-list {
		flex-direction: column;
	}
	.catalog-type-card {
		min-width: 0;
		min-height: 150px;
	}

	.catalog-pagination {
		flex-direction: column;
		align-items: flex-start;
	}
	.catalog-use h2 {
		font-size: 28px;
	}
	.catalog-use__copy > p:not(.eyebrow) {
		font-size: 14px;
	}
	.catalog-use__list {
		flex-direction: column;
	}
	.catalog-use__photo {
		min-height: 300px;
		border-radius: 12px;
	}
	.catalog-use__photo figcaption {
		bottom: 16px;
		width: calc(100% - 32px);
	}
	.catalog-use__note {
		margin-top: 30px;
		font-size: 14px;
	}
	.catalog-help .container {
		min-height: 0;
		flex-direction: column;
		align-items: flex-start;
		gap: 20px;
		padding-top: 30px;
		padding-bottom: 30px;
	}
	.catalog-help h2 {
		font-size: 24px;
	}
	.catalog-help p:last-child {
		font-size: 14px;
	}
	.catalog-help .button {
		width: 100%;
		min-width: 0;
		min-height: 52px;
	}
}
/* Product card: DIN 2391 / 22 × 2,5. The common header, footer, document
   cards, catalog rows and consultation CTA are deliberately composed here
   instead of reimplemented. */
body[data-page="product"] {
	background: #fff;
}

.product-page-hero {
	padding: 46px 0 47px;
	background: #f6f8fc;
}

.product-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: 0 11px;
	margin: 0 0 14px;
	color: var(--blue);
	font-size: 12px;
	line-height: 18px;
}

.product-breadcrumb a {
	transition: color 0.18s ease;
}

.product-breadcrumb a:hover {
	color: var(--ink);
}

.product-page-hero h1 {
	max-width: 1120px;
	margin: 0;
	color: #0f2648;
	font-size: 36px;
	line-height: 44px;
	letter-spacing: -0.7px;
}

.product-lead,
.product-parameters-lead {
	margin: 0;
	color: var(--muted);
	font-size: 16px;
	line-height: 22px;
}

.product-lead {
	margin-top: 1px;
}

.product-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 690px) minmax(0, 1fr);
	gap: 50px;
	margin-top: 48px;
}

.product-photo {
	position: relative;
	min-height: 448px;
	margin: 0;
	overflow: hidden;
	border-radius: 20px;
	background: #0f2648;
}

.product-photo::after {
	position: absolute;
	inset: 0;
	content: "";
	background: rgba(15, 38, 72, 0.16);
	pointer-events: none;
}

.product-photo > img {
	width: 100%;
	height: 448px;
	object-fit: cover;
}

.product-photo-stock,
.product-photo-code {
	position: absolute;
	z-index: 1;
}

.product-photo-stock {
	top: 35px;
	left: 26px;
	display: inline-flex;
	width: 150px;
	height: 30px;
	align-items: center;
	justify-content: center;
	border-radius: 4px;
	background: rgb(255 255 255 / 95%);
	color: #2c8f5e;
	font:
		12px/16px "JetBrains Mono",
		monospace;
}

.product-photo-code {
	bottom: 17px;
	left: 26px;
	display: flex;
	width: 220px;
	height: 46px;
	flex-direction: column;
	justify-content: center;
	padding: 5px 12px;
	border-radius: 4px;
	background: rgb(15 38 72 / 86%);
	color: #fff;
}

.product-photo-code small {
	color: #c1d2eb;
	font:
		10px/13px "JetBrains Mono",
		monospace;
}

.product-photo-code b {
	margin-top: 2px;
	font-size: 16px;
	line-height: 20px;
}

.product-summary {
	min-width: 0;
}

.product-summary-category {
	margin: 0;
	color: var(--blue);
	font:
		12px/18px "JetBrains Mono",
		monospace;
}

.product-summary-category span {
	padding: 0 6px;
}

.product-summary-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px;
	margin: 20px 0 36px;
}

.product-status {
	display: inline-flex;
	min-width: 132px;
	height: 28px;
	align-items: center;
	justify-content: center;
	border-radius: 14px;
	background: #ecf7f0;
	color: #2c8f5e;
	font:
		12px/16px "JetBrains Mono",
		monospace;
}

.product-sku {
	color: var(--muted);
	font-size: 12px;
}

.product-highlights {
	display: grid;
	max-width: 620px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px 18px;
	margin: 0;
}

.product-highlights > div {
	position: relative;
	min-height: 46px;
	padding-left: 18px;
}

.product-highlights > div::before {
	position: absolute;
	top: 8px;
	left: 0;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	content: "";
	background: var(--blue);
}

.product-highlights dt {
	color: var(--muted);
	font-size: 13px;
	line-height: 18px;
}

.product-highlights dd {
	margin: 4px 0 0;
	color: #0f2648;
	font-size: 18px;
	font-weight: 600;
	line-height: 24px;
}

.product-characteristics-link {
	width: 290px;
	min-height: 44px;
	margin-top: 20px;
	padding: 9px 16px;
	border-radius: 20px;
	font-size: 14px;
}

.product-price-row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin: 30px 0 0;
}

.product-price-row > div > span {
	display: block;
	color: var(--muted);
	font-size: 12px;
	line-height: 16px;
}

.product-price-row strong {
	display: block;
	margin-top: 8px;
	color: #0f2648;
	font-size: 22px;
	line-height: 30px;
}

.product-price-row p {
	margin: 0 0 2px;
	color: var(--muted);
	font-size: 14px;
	line-height: 20px;
	text-align: right;
}

.product-actions {
	display: grid;
	grid-template-columns: 2.087fr 1fr;
	gap: 40px;
	margin-top: 20px;
}

.product-actions .button {
	min-height: 54px;
	padding: 12px 20px;
	border-radius: 20px;
	font:
		12px/18px "JetBrains Mono",
		monospace;
}

.product-parameters {
	padding: 56px 0 28px;
	background: #fff;
}

.product-parameters > .container > .eyebrow {
	margin-bottom: 8px;
	font-size: 12px;
	line-height: 18px;
}

.product-parameters .section-title {
	max-width: none;
	color: #0f2648;
	font-size: 30px;
	line-height: 38px;
	letter-spacing: -0.5px;
}

.product-parameters-lead {
	margin-top: 2px;
}

.product-parameters-grid {
	display: grid;
	grid-template-columns: minmax(0, 1080px) minmax(0, 560px);
	gap: 40px;
	margin-top: 20px;
}

.product-details-table {
	display: grid;
	min-height: 330px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border: 1px solid var(--line);
	border-radius: 8px;
	background: #fff;
}

.product-details-column {
	margin: 0;
	padding: 10px 20px;
}

.product-details-column + .product-details-column {
	border-left: 1px solid var(--line);
}

.product-details-column > div {
	display: flex;
	min-height: 44px;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	border-bottom: 1px solid var(--line);
}

.product-details-column > div:last-child {
	border-bottom: 0;
}

.product-details-column dt,
.product-details-column dd {
	margin: 0;
	font-size: 14px;
	line-height: 18px;
}

.product-details-column dt {
	color: var(--muted);
}

.product-details-column dd {
	color: #0f2648;
	font-weight: 600;
	text-align: right;
}

.product-parameter-asides {
	display: grid;
	grid-template-rows: 176px 132px;
	gap: 22px;
}

.product-parameter-aside {
	padding: 20px 28px;
	border-radius: 8px;
	background: #eff5fd;
}

.product-parameter-aside .eyebrow {
	margin-bottom: 8px;
	font-size: 12px;
	line-height: 16px;
}

.product-parameter-aside h3 {
	margin: 0;
	color: #0f2648;
	font-size: 16px;
	line-height: 22px;
}

.product-parameter-aside h3 span,
.product-parameter-aside--dark p span {
	padding: 0 5px;
}

.product-parameter-aside > p:last-child {
	margin: 8px 0 0;
	color: var(--muted);
	font-size: 14px;
	line-height: 20px;
}

.product-parameter-aside--dark {
	padding-top: 24px;
	background: #0f2648;
}

.product-parameter-aside--dark .eyebrow {
	color: #b4cbed;
}

.product-parameter-aside--dark h3 {
	color: #fff;
	font-size: 18px;
	line-height: 24px;
}

.product-parameter-aside--dark > p:last-child {
	margin-top: 46px;
	color: #b4cbed;
	font-size: 13px;
	line-height: 18px;
}

.product-parameters-note {
	margin: 18px 0 0;
	color: var(--muted);
	font-size: 14px;
	line-height: 18px;
}

.product-certificates {
	padding: 68px 0 46px;
	background: #fff;
}

.product-certificates .certificate-intro {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(420px, 720px);
	align-items: start;
	gap: 40px;
	padding-bottom: 18px;
}

.product-certificates .eyebrow-line::before {
	width: 42px;
	height: 3px;
	margin-bottom: 14px;
}

.product-certificates .certificate-intro .eyebrow {
	margin-bottom: 10px;
	font-size: 14px;
	line-height: 22px;
}

.product-certificates .section-title {
	max-width: 700px;
	width: 100%;
	color: #0f1f36;
	font-size: 35px;
	line-height: 40px;
}

.certificate-intro-actions {
	display: flex;
	min-height: 143px;
	flex-direction: column;
	align-items: flex-end;
	justify-content: space-between;
	padding-top: 33px;
}

.product-certificates .certificate-intro-actions p {
	width: min(100%, 550px);
	margin: 0;
	color: var(--muted);
	font-size: 16px;
	line-height: 23px;
}

.product-certificates .certificate-intro-actions .button {
	width: 290px;
	min-height: 44px;
	padding: 9px 16px;
	border-radius: 5px;
	font-size: 14px;
}

.product-certificates .document-list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin-top: 38px;
}

.product-certificates .document-card {
	min-height: 204px;
	padding: 28px;
	border-radius: 9px;
	background: #f7fafe;
}

.product-certificates .document-icon {
	display: block;
	width: 36px;
	height: 36px;
	margin-bottom: 10px;
	border-radius: 0;
	background: transparent;
	color: inherit;
}

.product-certificates .document-icon img {
	display: block;
}

.product-certificates .document-card h3 {
	color: #0f1f36;
	font-size: 22px;
	line-height: 28px;
}

.product-certificates .document-card p {
	margin: 15px 0 auto;
	font-size: 16px;
	line-height: 21px;
}

.product-certificates .document-footer {
	padding-top: 12px;
	font-size: 14px;
}

.product-certificates .document-footer button {
	padding: 0;
	border-radius: 0;
	font-size: 13px;
}

.product-certificates .document-footer button:hover {
	background: transparent;
	color: #0f1f36;
}

.product-related {
	padding: 50px 0 60px;
	background: #f6f8fc;
}

.product-related-heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 30px;
	margin-bottom: 38px;
}

.product-related-heading .eyebrow {
	margin-bottom: 2px;
	font-size: 12px;
	line-height: 18px;
}

.product-related-heading .section-title {
	max-width: none;
	color: #0f2648;
	font-size: 30px;
	line-height: 38px;
}

.product-related-heading p:last-child {
	margin: 0;
	color: var(--muted);
	font-size: 16px;
	line-height: 22px;
}

.product-catalog-link {
	flex: 0 0 auto;
	padding-bottom: 8px;
	color: var(--blue);
	font:
		13px/18px "JetBrains Mono",
		monospace;
	white-space: nowrap;
}

.product-catalog-link span {
	padding-left: 7px;
}

.product-related-list {
	gap: 10px;
}

.product-related-row {
	position: relative;
	min-height: 136px;
	gap: 41px;
	padding: 16px;
	border-radius: 12px;
}

.product-related-row:nth-child(even) {
	background: #f2f5fa;
}

.product-related-row > img {
	width: 96px;
	height: 96px;
	flex: 0 0 96px;
	border-radius: 8px;
}

.related-image-label {
	position: absolute;
	top: 10px;
	left: 20px;
	z-index: 1;
	color: #fff;
	font:
		11px/15px "JetBrains Mono",
		monospace;
}

.product-related-row .catalog-main {
	flex: 0 1 385px;
}

.product-related-row .catalog-main h3 {
	margin-bottom: 10px;
	color: #132b45;
	font-size: 22px;
	line-height: 28px;
}

.product-related-row .chips {
	gap: 8px;
}

.product-related-row .chip {
	padding: 4px 10px;
	background: #f2f5fa;
	color: #132b45;
	font-size: 12px;
	line-height: 18px;
}

.product-related-row .catalog-spec {
	flex: 0 1 208px;
	font-size: 16px;
	line-height: 24px;
}

.product-related-row .catalog-spec li + li {
	margin-top: 0;
}

.product-related-row .catalog-stock {
	min-width: 160px;
	padding: 0;
}

.product-related-row .catalog-stock .status {
	min-width: 122px;
	padding: 4px 10px;
	background: #e7ffc0;
	color: #132b45;
	font-size: 12px;
	line-height: 18px;
}

.product-related-row .catalog-stock .status-order {
	background: #ebebeb;
	color: #62758a;
}

.product-related-row .catalog-stock small {
	margin-top: 5px;
	font-size: 16px;
	line-height: 24px;
}

.product-related-row .catalog-actions {
	min-width: 435px;
}

.product-related-row .catalog-actions > span {
	padding: 0;
	border: 0;
	color: var(--muted);
	font-size: 14px;
	line-height: 20px;
	text-align: right;
}

.product-related-row .catalog-btns {
	gap: 10px;
	margin-top: 12px;
}

.product-related-row .catalog-btns .button {
	min-height: 48px;
	padding: 10px;
	border-radius: 8px;
	font-size: 14px;
	line-height: 20px;
}

.product-related-row .catalog-btns .button:first-child {
	flex: 0 1 182px;
}

.product-related-row .catalog-btns .button:last-child {
	flex: 1 1 243px;
}

.product-consultation {
	background-image: linear-gradient(rgb(15 38 72 / 88%), rgb(15 38 72 / 88%)), url("assets/catalog-tube.png");
}

@media (max-width: 1220px) {
	.product-hero-grid {
		grid-template-columns: minmax(440px, 1fr) minmax(0, 1fr);
		gap: 36px;
	}

	.product-parameters-grid {
		grid-template-columns: minmax(0, 1fr) minmax(360px, 0.55fr);
		gap: 28px;
	}

	.product-related-row {
		gap: 22px;
	}

	.product-related-row .catalog-main {
		flex-basis: 30%;
	}

	.product-related-row .catalog-spec {
		flex-basis: 180px;
	}

	.product-related-row .catalog-stock {
		min-width: 130px;
	}

	.product-related-row .catalog-actions {
		min-width: 315px;
	}

	.product-related-row .catalog-btns .button:first-child {
		flex-basis: 0;
	}
}

@media (max-width: 900px) {
	.product-page-hero {
		padding: 34px 0 42px;
	}

	.product-hero-grid {
		grid-template-columns: 1fr;
		gap: 34px;
		margin-top: 34px;
	}

	.product-photo {
		width: min(100%, 690px);
	}

	.product-parameters {
		padding-top: 48px;
	}

	.product-parameters-grid {
		grid-template-columns: 1fr;
	}

	.product-parameter-asides {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: 176px;
	}

	.product-certificates .certificate-intro {
		grid-template-columns: 1fr;
		gap: 18px;
	}

	.certificate-intro-actions {
		min-height: 0;
		align-items: flex-start;
		gap: 20px;
		padding-top: 0;
	}

	.product-certificates .document-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.product-related-heading {
		align-items: flex-start;
		flex-direction: column;
		gap: 14px;
	}

	.product-catalog-link {
		padding-bottom: 0;
	}

	.product-related-row {
		gap: 18px;
	}

	.product-related-row .catalog-main {
		flex: 1 1 280px;
	}

	.product-related-row .catalog-spec {
		flex: 1 1 180px;
	}

	.product-related-row .catalog-stock {
		flex: 0 1 150px;
	}

	.product-related-row .catalog-actions {
		flex: 1 1 100%;
		min-width: 0;
	}
}

@media (max-width: 580px) {
	.product-page-hero {
		padding: 28px 0 36px;
	}

	.product-breadcrumb {
		gap: 0 7px;
		margin-bottom: 12px;
		font-size: 10px;
	}

	.product-page-hero h1 {
		font-size: 30px;
		line-height: 36px;
		letter-spacing: -0.45px;
	}

	.product-lead,
	.product-parameters-lead {
		font-size: 14px;
		line-height: 20px;
	}

	.product-hero-grid {
		gap: 28px;
		margin-top: 28px;
	}

	.product-photo {
		min-height: 270px;
		border-radius: 14px;
	}

	.product-photo > img {
		height: 270px;
	}

	.product-photo-stock {
		top: 18px;
		left: 18px;
	}

	.product-photo-code {
		bottom: 15px;
		left: 18px;
	}

	.product-summary-meta {
		gap: 12px;
		margin: 16px 0 28px;
	}

	.product-highlights {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.product-characteristics-link {
		width: 100%;
		margin-top: 22px;
	}

	.product-price-row {
		align-items: flex-start;
		flex-direction: column;
		gap: 10px;
		margin-top: 24px;
	}

	.product-price-row p {
		text-align: left;
	}

	.product-actions {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.product-parameters {
		padding: 40px 0 24px;
	}

	.product-parameters .section-title,
	.product-related-heading .section-title {
		font-size: 28px;
		line-height: 34px;
	}

	.product-parameters-grid {
		gap: 18px;
		margin-top: 18px;
	}

	.product-details-table {
		grid-template-columns: 1fr;
	}

	.product-details-column {
		padding: 6px 14px;
	}

	.product-details-column + .product-details-column {
		border-top: 1px solid var(--line);
		border-left: 0;
	}

	.product-details-column > div {
		min-height: 42px;
		gap: 12px;
	}

	.product-details-column dt,
	.product-details-column dd {
		font-size: 13px;
	}

	.product-parameter-asides {
		grid-template-columns: 1fr;
		grid-template-rows: 176px 132px;
	}

	.product-parameter-aside {
		padding: 20px;
	}

	.product-certificates {
		padding: 44px 0 40px;
	}

	.product-certificates .section-title {
		font-size: 28px;
		line-height: 33px;
	}

	.product-certificates .certificate-intro-actions p {
		font-size: 14px;
		line-height: 20px;
	}

	.product-certificates .certificate-intro-actions .button {
		width: 100%;
	}

	.product-certificates .document-list {
		grid-template-columns: 1fr;
		gap: 12px;
		margin-top: 28px;
	}

	.product-certificates .document-card {
		min-height: 190px;
		padding: 22px;
	}

	.product-related {
		padding: 40px 0;
	}

	.product-related-heading {
		margin-bottom: 26px;
	}

	.product-related-heading p:last-child {
		font-size: 14px;
		line-height: 20px;
	}

	.product-related-row {
		gap: 14px;
		padding: 12px;
	}

	.product-related-row > img {
		width: 64px;
		height: 64px;
		flex-basis: 64px;
	}

	.related-image-label {
		display: none;
	}

	.product-related-row .catalog-main {
		flex-basis: calc(100% - 78px);
	}

	.product-related-row .catalog-main h3 {
		margin-bottom: 7px;
		font-size: 15px;
		line-height: 20px;
	}

	.product-related-row .chips {
		gap: 5px;
	}

	.product-related-row .chip {
		padding: 3px 8px;
		font-size: 10px;
		line-height: 15px;
	}

	.product-related-row .catalog-spec,
	.product-related-row .catalog-stock,
	.product-related-row .catalog-actions {
		flex-basis: 100%;
	}

	.product-related-row .catalog-spec {
		font-size: 13px;
		line-height: 19px;
	}

	.product-related-row .catalog-spec ul {
		display: flex;
		flex-wrap: wrap;
		gap: 4px 12px;
	}

	.product-related-row .catalog-stock {
		text-align: left;
	}

	.product-related-row .catalog-stock small {
		display: inline;
		margin-left: 8px;
		font-size: 13px;
		line-height: 18px;
	}

	.product-related-row .catalog-actions > span {
		text-align: left;
	}

	.product-related-row .catalog-btns .button {
		min-height: 44px;
		font-size: 12px;
	}
}
.product-certificates .document-card {
	width: auto;
}
