/* Каталог готовых решений Битрикс24 */

.catalogShell {
	background:
		linear-gradient(180deg, rgba(10, 20, 22, 0.55) 0%, rgba(12, 149, 167, 0.35) 100%),
		url('../../images/bg.jpg') no-repeat center / cover;
	background-attachment: scroll;
	min-height: 100vh;
}

.catalogShell .blockMenu a.is-active {
	color: var(--accent-bright, #1fd4e4);
}

.catalogWrap {
	width: min(920px, calc(100% - 12vw));
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	box-sizing: border-box;
}

.catalogIcon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 1.15em;
	height: 1.15em;
	vertical-align: -0.15em;
}

.catalogIcon svg {
	width: 100%;
	height: 100%;
	display: block;
}

.catalogIcon--lg {
	width: 2.4vw;
	height: 2.4vw;
	min-width: 28px;
	min-height: 28px;
}

.catalogIcon--box {
	width: 2.8vw;
	height: 2.8vw;
	min-width: 36px;
	min-height: 36px;
	border-radius: 0.55vw;
	background: rgba(19, 177, 191, 0.12);
	border: 1px solid rgba(19, 177, 191, 0.28);
	color: var(--accent-bright, #1fd4e4);
	padding: 0.55vw;
	box-sizing: border-box;
}

.catalogEyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.55vw;
	font-size: 0.9vw;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--accent, #13b1bf);
	margin: 0 0 0.9vw;
}

.catalogEyebrow a {
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid rgba(19, 177, 191, 0.35);
}

.catalogEyebrow a:hover {
	border-bottom-color: var(--accent-bright, #1fd4e4);
	color: #fff;
}

/* Hero */

.catalogHero {
	padding: 5.5vw 0 3vw;
	background: transparent;
	color: #fff;
}

.catalogHero--compact {
	padding: 8vw 0 6vw;
}

.catalogHeroInner {
	align-items: flex-start;
	max-width: none;
}

.catalogHeroTitle {
	font-size: clamp(28px, 2.8vw, 42px);
	line-height: 1.18;
	font-weight: 700;
	margin: 0 0 1vw;
	max-width: 16em;
}

.catalogHeroTitle::after {
	content: '';
	display: block;
	width: 3.2vw;
	height: 0.2vw;
	margin-top: 0.85vw;
	background: var(--accent, #13b1bf);
	border-radius: 2px;
}

.catalogHeroLead {
	font-size: clamp(15px, 1.15vw, 18px);
	line-height: 1.55;
	color: #c8d0d2;
	margin: 0 0 1.5vw;
	max-width: 40em;
}

.catalogHeroNote {
	display: flex;
	gap: 0.9vw;
	align-items: flex-start;
	font-size: clamp(13px, 0.95vw, 15px);
	line-height: 1.5;
	color: #9eb0b4;
	padding: 1vw 1.2vw;
	border: 1px solid rgba(19, 177, 191, 0.28);
	border-radius: 0.55vw;
	background: rgba(8, 16, 18, 0.55);
	max-width: 42em;
}

.catalogHeroNote .catalogIcon--box {
	margin-top: 0.1vw;
}

/* Grid */

.catalogList {
	padding: 1vw 0 4vw;
	color: #fff;
}

.catalogGrid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
	gap: 1.6vw;
	width: 100%;
}

.catalogCard {
	display: flex;
	flex-direction: column;
	border: 1px solid rgba(19, 177, 191, 0.28);
	border-radius: 0.7vw;
	overflow: hidden;
	background: rgba(10, 16, 18, 0.75);
	box-shadow: 0 0.6vw 1.6vw rgba(0, 0, 0, 0.3);
	transition: transform 0.3s var(--ease-out, ease), border-color 0.3s ease, box-shadow 0.3s ease;
}

.catalogCard:hover {
	transform: translateY(-0.25vw);
	border-color: rgba(31, 212, 228, 0.55);
	box-shadow: 0 0.9vw 2vw rgba(0, 0, 0, 0.4);
}

.catalogCardMedia {
	position: relative;
	display: block;
	aspect-ratio: 16 / 9;
	max-height: 160px;
	overflow: hidden;
	background: #121a1c;
}

.catalogCardMedia::after {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(4, 10, 12, 0.32);
	pointer-events: none;
	transition: background 0.25s ease;
	z-index: 1;
}

.catalogCard:hover .catalogCardMedia::after {
	background: rgba(4, 10, 12, 0.12);
}

.catalogCardMedia img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
	transition: transform 0.45s var(--ease-out, ease);
}

.catalogCard:hover .catalogCardMedia img {
	transform: scale(1.04);
}

.catalogCardPlaceholder {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	font-size: 1.1vw;
	color: #5a7074;
	letter-spacing: 0.06em;
}

.catalogCardBadge {
	position: absolute;
	left: 0.8vw;
	bottom: 0.8vw;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 0.35vw;
	padding: 0.35vw 0.7vw;
	font-size: 0.75vw;
	font-weight: 600;
	color: #041012;
	background: rgba(31, 212, 228, 0.92);
	border-radius: 0.3vw;
}

.catalogCardBody {
	padding: 1.2vw 1.3vw 1.4vw;
	display: flex;
	flex-direction: column;
	gap: 0.55vw;
	flex: 1;
}

.catalogCardTitle {
	font-size: clamp(18px, 1.35vw, 22px);
	line-height: 1.25;
	margin: 0;
	display: flex;
	align-items: center;
	gap: 0.5vw;
}

.catalogCardTitle a {
	color: #fff;
	text-decoration: none;
}

.catalogCardTitle a:hover {
	color: var(--accent-bright, #1fd4e4);
}

.catalogCardTagline {
	font-size: clamp(13px, 0.95vw, 15px);
	line-height: 1.5;
	color: #aeb8ba;
	margin: 0 0 auto;
}

.catalogCardLink {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	gap: 0.4vw;
	margin-top: 0.7vw;
	font-size: clamp(13px, 0.9vw, 14px);
	font-weight: 600;
	color: var(--accent-bright, #1fd4e4);
	text-decoration: none;
	border-bottom: 1px solid rgba(31, 212, 228, 0.35);
}

.catalogCardLink:hover {
	border-bottom-color: #fff;
	color: #fff;
}

.catalogEmpty {
	padding: 3vw;
	text-align: center;
	border: 1px dashed rgba(19, 177, 191, 0.35);
	border-radius: 0.8vw;
	color: #c8d0d2;
	font-size: 1.05vw;
}

/* CTA band */

.catalogCtaBand {
	padding: 3.5vw 0 4vw;
	background:
		linear-gradient(105deg, rgba(8, 14, 16, 0.55) 0%, rgba(10, 28, 32, 0.45) 50%, rgba(8, 14, 16, 0.6) 100%),
		url('../../images/bg2.jpg') no-repeat center / cover;
	color: #fff;
	border-top: 1px solid rgba(31, 212, 228, 0.35);
	border-bottom: 1px solid rgba(19, 177, 191, 0.2);
}

.catalogCtaBandInner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1.4vw;
	text-align: center;
}

.catalogCtaTitle {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.6vw;
	font-size: clamp(20px, 1.6vw, 26px);
	margin: 0 0 0.55vw;
	font-weight: 700;
}

.catalogCtaText {
	font-size: clamp(14px, 1vw, 16px);
	line-height: 1.5;
	color: #b8c4c6;
	margin: 0 auto;
	max-width: 34em;
}

.catalogOrderBtns {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7vw;
	justify-content: center;
}

.catalogOrderBtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45vw;
	text-decoration: none;
	font-family: inherit;
	font-weight: 600;
	font-size: clamp(13px, 0.95vw, 15px);
	border-radius: 3vw;
	padding: 0.75vw 1.4vw;
	transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

.catalogOrderBtn--want,
.catalogOrderBtn--max {
	background: var(--accent-deep, #0e8a96);
	border: 2px solid var(--accent-bright, #1fd4e4);
	color: #fff;
}

.catalogOrderBtn--want:hover,
.catalogOrderBtn--max:hover {
	background: var(--accent-bright, #1fd4e4);
	color: #0a0a0a;
	transform: translateY(-0.12vw);
}

.catalogOrderBtn--tg {
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.35);
	color: #e8e8e8;
}

.catalogOrderBtn--tg:hover {
	border-color: var(--accent, #13b1bf);
	color: #fff;
}

/* Detail */

.solutionHero {
	padding: 4.5vw 0 1.5vw;
	color: #fff;
	background: transparent;
}

.solutionHeroGrid {
	display: block;
	width: 100%;
}

.solutionHeroCopy {
	width: 100%;
	max-width: 40em;
}

.solutionTitle {
	font-size: clamp(24px, 2.2vw, 34px);
	line-height: 1.22;
	font-weight: 700;
	margin: 0 0 1vw;
}

.solutionLead {
	font-size: clamp(15px, 1.1vw, 17px);
	line-height: 1.55;
	color: #c8d0d2;
	margin: 0 0 1.1vw;
	max-width: 36em;
}

.solutionCustomNote {
	display: flex;
	gap: 0.7vw;
	align-items: flex-start;
	font-size: clamp(13px, 0.95vw, 15px);
	line-height: 1.5;
	color: #9eb8bc;
	margin: 0 0 1.6vw;
	padding: 0.85vw 1vw;
	border: 1px solid rgba(19, 177, 191, 0.22);
	border-radius: 0.5vw;
	background: rgba(12, 22, 24, 0.45);
	max-width: 36em;
}

.solutionCustomNote .catalogIcon--box {
	width: 2.2vw;
	height: 2.2vw;
	min-width: 30px;
	min-height: 30px;
}

.solutionHeroCover {
	margin: 1.8vw 0 0;
	border-radius: 0.65vw;
	overflow: hidden;
	border: 1px solid rgba(19, 177, 191, 0.3);
	box-shadow: 0 0.8vw 2vw rgba(0, 0, 0, 0.4);
	background: #10181a;
	max-width: none;
	width: 100%;
	justify-self: stretch;
	position: relative;
}

.solutionHeroCover--infographic::after {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(4, 10, 12, 0.22);
	pointer-events: none;
}

.solutionHeroCover a {
	display: block;
	position: relative;
	cursor: zoom-in;
}

.solutionHeroCover--infographic img,
.solutionHeroCover img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 280px;
	object-fit: cover;
	object-position: center;
}

.solutionHeroCoverZoom {
	position: absolute;
	right: 0.6vw;
	bottom: 0.6vw;
	width: 2vw;
	height: 2vw;
	min-width: 28px;
	min-height: 28px;
	border-radius: 50%;
	background: rgba(4, 12, 14, 0.72);
	border: 1px solid rgba(31, 212, 228, 0.45);
	color: #1fd4e4;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.4vw;
	box-sizing: border-box;
	pointer-events: none;
}

.solutionBody {
	padding: 1.5vw 20px 2.5vw;
	color: #fff;
	box-sizing: border-box;
}

.solutionBodyLayout {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.2vw;
	width: 100%;
	align-items: stretch;
}

.solutionSection {
	padding: 1.3vw 1.25vw;
	border: 1px solid rgba(19, 177, 191, 0.25);
	border-radius: 0.6vw;
	background: rgba(12, 18, 20, 0.7);
}

.solutionSectionTitle {
	display: flex;
	align-items: center;
	gap: 0.55vw;
	font-size: clamp(15px, 1.1vw, 17px);
	margin: 0 0 0.8vw;
	color: var(--accent-bright, #1fd4e4);
}

.solutionSectionText {
	font-size: clamp(13px, 0.95vw, 15px);
	line-height: 1.55;
	color: #c5cecf;
}

.solutionSectionText p {
	margin: 0 0 0.75vw;
}

.solutionSectionText ul {
	margin: 0;
	padding: 0 0 0 1.1vw;
}

.solutionSectionText li {
	margin: 0 0 0.45vw;
}

/* Compact gallery */

.solutionScreens {
	padding: 1.5vw 0 2.5vw;
	color: #fff;
}

.solutionScreens--top {
	padding-top: 0.5vw;
}

.solutionScreensHead {
	margin-bottom: 1.5vw;
}

.solutionScreensTitle {
	display: flex;
	align-items: center;
	gap: 0.55vw;
	font-size: clamp(20px, 1.7vw, 28px);
	margin: 0 0 0.55vw;
}

.solutionScreensLead {
	font-size: clamp(13px, 0.95vw, 15px);
	color: #a8b4b6;
	margin: 0;
}

.solutionGallery {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1vw;
	width: 100%;
}

.solutionShot {
	margin: 0;
	border-radius: 0.5vw;
	overflow: hidden;
	border: 1px solid rgba(19, 177, 191, 0.22);
	background: #0e1416;
	transition: border-color 0.25s ease, transform 0.25s ease;
}

.solutionShot:hover {
	border-color: rgba(31, 212, 228, 0.55);
	transform: translateY(-0.15vw);
}

.solutionShot--wide {
	grid-column: auto;
}

.solutionShotLink {
	display: block;
	position: relative;
	overflow: hidden;
	background: #121a1c;
	aspect-ratio: 16 / 10;
	cursor: zoom-in;
}

.solutionShotLink::after {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(4, 10, 12, 0.34);
	pointer-events: none;
	transition: background 0.25s ease;
	z-index: 1;
}

.solutionShot:hover .solutionShotLink::after {
	background: rgba(4, 10, 12, 0.12);
}

.solutionShot img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
	transition: transform 0.35s ease;
}

.solutionShot:hover img {
	transform: scale(1.04);
}

.solutionShotZoom {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(4, 10, 12, 0.0);
	color: #1fd4e4;
	opacity: 0;
	transition: opacity 0.25s ease, background 0.25s ease;
	pointer-events: none;
	z-index: 2;
}

.solutionShotZoom .catalogIcon {
	width: 2.2vw;
	height: 2.2vw;
	min-width: 28px;
	min-height: 28px;
	padding: 0.45vw;
	border-radius: 50%;
	background: rgba(4, 12, 14, 0.75);
	border: 1px solid rgba(31, 212, 228, 0.45);
	box-sizing: border-box;
}

.solutionShot:hover .solutionShotZoom {
	opacity: 1;
	background: rgba(4, 10, 12, 0.28);
}

.solutionShot figcaption {
	padding: 0.55vw 0.7vw 0.7vw;
	font-size: clamp(11px, 0.8vw, 13px);
	line-height: 1.35;
	color: #9aa8aa;
	border-top: 1px solid rgba(255, 255, 255, 0.06);
	min-height: 2.8em;
}

/* Lightbox */

.catalogLightbox {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 3vw;
	background: rgba(3, 8, 10, 0.92);
	backdrop-filter: blur(6px);
}

.catalogLightbox.is-open {
	display: flex;
}

.catalogLightboxDialog {
	position: relative;
	width: min(1100px, 92vw);
	max-height: 90vh;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1vw;
}

.catalogLightboxImgWrap {
	position: relative;
	max-width: 100%;
	max-height: 78vh;
	border-radius: 0.6vw;
	overflow: hidden;
	border: 1px solid rgba(19, 177, 191, 0.35);
	box-shadow: 0 1.5vw 4vw rgba(0, 0, 0, 0.55);
	background: #0a1012;
}

.catalogLightboxImgWrap img {
	display: block;
	max-width: 100%;
	max-height: 78vh;
	width: auto;
	height: auto;
	margin: 0 auto;
}

.catalogLightboxCaption {
	font-size: clamp(13px, 1vw, 16px);
	color: #c8d0d2;
	text-align: center;
	max-width: 40em;
}

.catalogLightboxClose,
.catalogLightboxPrev,
.catalogLightboxNext {
	appearance: none;
	border: 1px solid rgba(31, 212, 228, 0.4);
	background: rgba(8, 14, 16, 0.85);
	color: #1fd4e4;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.catalogLightboxClose {
	position: absolute;
	top: -0.2vw;
	right: -0.2vw;
	width: 2.6vw;
	height: 2.6vw;
	min-width: 36px;
	min-height: 36px;
	border-radius: 50%;
	z-index: 2;
}

.catalogLightboxPrev,
.catalogLightboxNext {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 2.8vw;
	height: 2.8vw;
	min-width: 40px;
	min-height: 40px;
	border-radius: 50%;
	z-index: 2;
}

.catalogLightboxPrev { left: -1.2vw; }
.catalogLightboxNext { right: -1.2vw; }

.catalogLightboxClose:hover,
.catalogLightboxPrev:hover,
.catalogLightboxNext:hover {
	background: var(--accent, #13b1bf);
	color: #041012;
	border-color: #fff;
}

.catalogLightboxClose svg,
.catalogLightboxPrev svg,
.catalogLightboxNext svg {
	width: 55%;
	height: 55%;
}

body.catalogLightboxOpen {
	overflow: hidden;
}

/* Homepage teaser */

.page-block.blockCatalog {
	min-height: auto;
	padding: 4.5vw 0;
	background:
		linear-gradient(180deg, rgba(8, 14, 16, 0.28) 0%, rgba(8, 14, 16, 0.35) 100%),
		url('../../images/bg2.jpg') no-repeat center / cover;
	color: #fff;
	align-items: stretch;
	justify-content: center;
}

.homeCatalog {
	flex-direction: column;
	align-items: stretch;
	gap: 1.6vw;
	width: 90%;
	margin: 0 auto;
	box-sizing: border-box;
}

.homeCatalogHead {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 1.5vw;
	flex-wrap: wrap;
	margin-bottom: 0.6vw;
}

.homeCatalogTitle {
	display: flex;
	align-items: center;
	gap: 0.6vw;
	font-size: clamp(22px, 2vw, 32px);
	font-weight: 700;
	margin: 0.35vw 0 0;
	max-width: 16em;
}

.homeCatalogTitle::after {
	content: none;
}

.homeCatalogTitleRow::after {
	content: '';
	display: block;
	width: 3vw;
	height: 0.18vw;
	margin-top: 0.7vw;
	background: var(--accent, #13b1bf);
	border-radius: 2px;
}

.homeCatalogLead {
	font-size: clamp(14px, 1.05vw, 16px);
	line-height: 1.5;
	color: #b8c2c4;
	margin: 0.6vw 0 0;
	max-width: 36em;
}

.homeCatalogAll {
	display: inline-flex;
	align-items: center;
	gap: 0.4vw;
	text-decoration: none;
	font-weight: 600;
	font-size: clamp(13px, 0.95vw, 15px);
	color: #fff;
	border: 1px solid rgba(255, 255, 255, 0.4);
	border-radius: 3vw;
	padding: 0.65vw 1.2vw;
	white-space: nowrap;
	margin-top: 0.2vw;
	transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.homeCatalogAll:hover {
	background: rgba(255, 255, 255, 0.12);
	border-color: #fff;
	color: #fff;
}

.homeCatalog .catalogEyebrow {
	color: #fff;
}

.homeCatalogCards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.2vw;
	width: 100%;
}

.homeCatalogCard .catalogCardMedia {
	max-height: 110px;
	aspect-ratio: 16 / 5;
}

.homeCatalogCard .catalogCardBody {
	padding: 1vw 1.1vw 1.2vw;
}

.homeCatalogCard .catalogCardTitle {
	font-size: clamp(15px, 1.15vw, 18px);
}

.homeCatalogFeature {
	display: grid;
	grid-template-columns: minmax(180px, 260px) minmax(0, 1fr);
	gap: 0;
	border: 1px solid rgba(19, 177, 191, 0.32);
	border-radius: 0.75vw;
	overflow: hidden;
	background: rgba(8, 12, 14, 0.65);
	box-shadow: 0 0.8vw 2vw rgba(0, 0, 0, 0.35);
	transition: border-color 0.3s ease, transform 0.3s ease;
	max-width: none;
	width: 100%;
}

.homeCatalogFeature:hover {
	border-color: rgba(31, 212, 228, 0.55);
	transform: translateY(-0.2vw);
}

.homeCatalogFeatureMedia {
	display: block;
	position: relative;
	min-height: 0;
	height: 100%;
	background: #10181a;
	overflow: hidden;
}

.homeCatalogFeatureMedia::after {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(4, 10, 12, 0.3);
	pointer-events: none;
	transition: background 0.25s ease;
	z-index: 1;
}

.homeCatalogFeature:hover .homeCatalogFeatureMedia::after {
	background: rgba(4, 10, 12, 0.1);
}

.homeCatalogFeatureMedia img {
	width: 100%;
	height: 100%;
	min-height: 160px;
	max-height: 200px;
	object-fit: cover;
	object-position: top center;
	transition: transform 0.45s ease;
}

.homeCatalogFeature:hover .homeCatalogFeatureMedia img {
	transform: scale(1.03);
}

.homeCatalogFeatureBody {
	padding: 1.4vw 1.6vw;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0.55vw;
}

.homeCatalogBadge {
	display: inline-flex;
	align-items: center;
	gap: 0.35vw;
	align-self: flex-start;
	font-size: clamp(11px, 0.75vw, 12px);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #041012;
	background: rgba(31, 212, 228, 0.9);
	padding: 0.3vw 0.65vw;
	border-radius: 0.28vw;
}

.homeCatalogFeatureTitle {
	font-size: clamp(18px, 1.45vw, 24px);
	margin: 0;
	line-height: 1.25;
}

.homeCatalogFeatureTitle a {
	color: #fff;
	text-decoration: none;
}

.homeCatalogFeatureTitle a:hover {
	color: var(--accent-bright, #1fd4e4);
}

.homeCatalogFeatureText {
	font-size: clamp(13px, 0.95vw, 15px);
	line-height: 1.5;
	color: #aeb8ba;
	margin: 0;
}

.homeCatalogFeatureNote {
	display: inline-flex;
	align-items: center;
	gap: 0.4vw;
	font-size: clamp(12px, 0.85vw, 14px);
	color: #87a0a4;
	margin: 0.2vw 0 0;
}

.homeCatalogFeatureActions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65vw;
	margin-top: 0.7vw;
}

.homeCatalogBtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4vw;
	text-decoration: none;
	font-weight: 600;
	font-size: clamp(13px, 0.95vw, 14px);
	border-radius: 3vw;
	padding: 0.7vw 1.3vw;
	transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

.homeCatalogBtn--primary {
	background: var(--accent-deep, #0e8a96);
	border: 2px solid var(--accent-bright, #1fd4e4);
	color: #fff;
}

.homeCatalogBtn--primary:hover {
	background: var(--accent-bright, #1fd4e4);
	color: #0a0a0a;
	transform: translateY(-0.1vw);
}

.homeCatalogBtn--ghost {
	border: 1px solid rgba(255, 255, 255, 0.3);
	color: #e0e0e0;
	background: transparent;
}

.homeCatalogBtn--ghost:hover {
	border-color: var(--accent, #13b1bf);
	color: #fff;
}

@media (max-width: 900px) {
	.catalogWrap,
	.homeCatalog {
		width: 90%;
	}

	.catalogHeroTitle,
	.solutionTitle,
	.homeCatalogTitle {
		font-size: 6.2vw;
	}

	.catalogHeroLead,
	.solutionLead,
	.homeCatalogLead,
	.catalogCtaText,
	.catalogCardTagline,
	.solutionSectionText,
	.homeCatalogFeatureText {
		font-size: 3.5vw;
	}

	.catalogEyebrow,
	.catalogHeroNote,
	.catalogCardBadge,
	.catalogCardLink,
	.catalogOrderBtn,
	.catalogCtaTitle,
	.solutionCustomNote,
	.solutionSectionTitle,
	.solutionScreensTitle,
	.solutionScreensLead,
	.solutionShot figcaption,
	.homeCatalogAll,
	.homeCatalogBadge,
	.homeCatalogFeatureTitle,
	.homeCatalogFeatureNote,
	.homeCatalogBtn {
		font-size: 3.3vw;
	}

	.catalogIcon--box,
	.catalogIcon--lg {
		width: 8vw;
		height: 8vw;
		min-width: 34px;
		min-height: 34px;
	}

	.catalogHeroNote,
	.catalogCardBody,
	.solutionSection,
	.homeCatalogFeatureBody,
	.solutionCustomNote {
		padding: 4vw;
	}

	.catalogGrid,
	.solutionBodyLayout,
	.solutionGallery,
	.homeCatalogFeature,
	.homeCatalogCards {
		grid-template-columns: 1fr;
	}

	.solutionGallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.solutionHeroCover {
		max-width: none;
	}

	.solutionHeroCover img {
		max-height: none;
	}

	.homeCatalogFeature {
		max-width: none;
	}

	.homeCatalogFeatureMedia img {
		max-height: 42vw;
		min-height: 36vw;
	}

	.catalogHero,
	.solutionHero,
	.page-block.blockCatalog {
		padding: 14vw 0 9vw;
	}

	.catalogCardMedia {
		max-height: 42vw;
	}

	.catalogCardTitle {
		font-size: 4.6vw;
	}

	.catalogOrderBtn {
		padding: 3vw 4.5vw;
		border-radius: 10vw;
	}

	.catalogLightboxPrev { left: 1vw; }
	.catalogLightboxNext { right: 1vw; }
	.catalogLightboxClose {
		top: 2vw;
		right: 2vw;
		position: fixed;
	}
}
