/* 解决方案子栏目文章列表与详情（sol- 前缀，参考 OPTEX solutions 列表/详情） */

.sol-cat-hero {
	padding-top: clamp(30px, 4vw, 60px);
	padding-bottom: clamp(28px, 4vw, 56px);
}

.sol-cat-hero__img {
	width: 100%;
	max-height: clamp(200px, 28vw, 420px);
	object-fit: cover;
	border-radius: 4px;
	margin-bottom: clamp(16px, 2vw, 28px);
}

.sol-cat-hero__title {
	font-size: clamp(28px, 3.2vw, 42px);
	font-weight: bold;
	color: #333;
	line-height: 1.3;
	margin-bottom: 12px;
}

.sol-cat-hero__sub {
	font-size: clamp(14px, 1.2vw, 18px);
	color: #999;
	letter-spacing: 0.08em;
}

.sol-list {
	padding-top: clamp(28px, 4.167vw, 80px);
	padding-bottom: clamp(40px, 5vw, 80px);
}

.sol-list__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(16px, 2vw, 28px);
	/* 标题「解决方案一览」与文章卡片之间（对齐 part9_top2_conn） */
	padding-top: clamp(20px, 3.125vw, 60px);
}

.sol-card {
	display: block;
	background: #fff;
	border: 1px solid #e8e8e8;
	border-radius: 4px;
	overflow: hidden;
	transition: box-shadow 0.25s, border-color 0.25s;
	text-decoration: none;
	color: inherit;
}

.sol-card:hover {
	box-shadow: 0 8px 24px rgba(0, 94, 174, 0.12);
	border-color: #005eae;
}

.sol-card:hover .sol-card__title {
	color: #005eae;
}

.sol-card__thumb {
	width: 100%;
	padding-top: 56%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.sol-card__body {
	padding: clamp(14px, 1.5vw, 20px);
}

.sol-card__title {
	font-size: clamp(16px, 1.4vw, 20px);
	font-weight: bold;
	color: #333;
	line-height: 1.45;
	margin-bottom: 8px;
	transition: color 0.2s;
}

.sol-card__desc {
	font-size: 14px;
	color: #666;
	line-height: 1.6;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* 详情页 */
.sol-detail-hero {
	padding-top: clamp(24px, 3vw, 48px);
}

.sol-detail-hero__title {
	font-size: clamp(26px, 3vw, 38px);
	font-weight: bold;
	color: #333;
	line-height: 1.35;
	margin-bottom: 12px;
}

.sol-detail-hero__tags {
	font-size: 14px;
	color: #005eae;
	line-height: 1.8;
	margin-bottom: clamp(20px, 2.5vw, 36px);
}

.sol-detail-body {
	font-size: 16px;
	color: #666;
	line-height: 1.9;
	padding-bottom: clamp(40px, 5vw, 80px);
}

.sol-detail-body p {
	margin-bottom: 1em;
}

.sol-detail-body h2,
.sol-detail-body h3 {
	color: #333;
	line-height: 1.45;
	font-weight: bold;
	margin: 1.4em 0 0.7em;
}

.sol-detail-body h2 {
	font-size: clamp(22px, 2.2vw, 30px);
}

.sol-detail-body h3 {
	font-size: clamp(20px, 2vw, 26px);
}

.sol-detail-body .sol-h3 {
	font-size: clamp(20px, 2vw, 26px);
	font-weight: bold;
	color: #333;
	margin: 1.6em 0 0.8em;
	line-height: 1.4;
}

.sol-detail-body .sol-tags {
	color: #005eae;
	font-size: 14px;
	margin-bottom: 1.2em;
}

.sol-detail-body .sol-fig {
	margin: 1.5em 0;
	text-align: center;
}

.sol-detail-body .sol-fig img {
	max-width: 100%;
	height: auto;
}

.sol-detail-body .sol-product-link {
	color: #333;
}

.sol-detail-body .sol-ul {
	margin: 0 0 1em 1.2em;
	padding: 0;
}

.sol-detail-body .sol-ul li {
	margin-bottom: 0.5em;
}

.sol-detail-body .sol-align-center {
	text-align: center;
}

.sol-detail-body .sol-align-right {
	text-align: right;
}

.sol-detail-nav {
	border-top: 1px solid #eee;
	padding: 24px 0 48px;
	font-size: 15px;
}

.sol-detail-nav a {
	color: #005eae;
}

.sol-detail-nav a:hover {
	text-decoration: underline;
}

@media (max-width: 992px) {
	.sol-list__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 640px) {
	.sol-list__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* 参考站复刻详情模块（新类名 opx-） */
.opx-article {
	max-width: 960px;
	margin: 0;
	display: block;
	position: static;
	float: none;
	clear: both;
	transform: none;
	left: auto;
	right: auto;
}

.opx-article,
.opx-article * {
	box-sizing: border-box;
}

.opx-sec-title {
	margin: 0 0 30px;
	color: #222;
	line-height: 1.45;
	font-weight: 700;
	letter-spacing: 0.02em;
}

.opx-sec-title--center {
	text-align: center;
}

/* 参考站 c-titleM--sol：居中 + 上下横线 */
.opx-sec-title--sol {
	margin-top: 48px;
	margin-bottom: 24px;
	padding: 18px 0;
	border-top: 1px solid #333;
	border-bottom: 1px solid #333;
	text-align: center;
}

.opx-sec-title--l {
	font-size: clamp(20px, 1.45vw, 24px);
}

/* 水质参考站 c-titleL：左对齐 + 底横线 + 蓝点 */
.opx-sec-title--l:not(.opx-sec-title--center) {
	position: relative;
	padding-left: 28px;
	padding-bottom: 18px;
	border-bottom: 1px solid #ccc;
	margin-top: 48px;
	margin-bottom: 32px;
	text-align: left;
}

.opx-sec-title--l:not(.opx-sec-title--center)::before {
	content: "";
	position: absolute;
	top: 0.55em;
	left: 0;
	width: 10px;
	height: 7px;
	border-radius: 50%;
	background-color: #005eae;
}

.opx-sec-title--m {
	font-size: clamp(16px, 1.2vw, 20px);
}

/* 水质参考站 c-titleM：左对齐 + 左侧蓝条 */
.opx-sec-title--m:not(.opx-sec-title--center) {
	position: relative;
	padding-left: 20px;
	margin-top: 40px;
	margin-bottom: 24px;
	text-align: left;
}

.opx-sec-title--m:not(.opx-sec-title--center)::before {
	content: "";
	position: absolute;
	top: 0.1em;
	left: 0;
	width: 5px;
	height: 1.35em;
	border-radius: 0 3px 0 3px;
	background-color: #005eae;
}

.opx-lead {
	margin: 0 0 16px;
	color: #333;
	font-size: 1.15rem;
	line-height: 1.5;
}

.opx-lead--lg {
	font-size: 1.15rem;
	line-height: 1.5;
}

.opx-split {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	margin: 0 0 60px;
}

/* 第二篇参考页：无边框双栏区块 */
.opx-split--plain {
	margin: 0 0 40px;
}

.opx-split--plain .opx-split__col--text {
	padding-right: 20px;
}

.opx-split--plain .opx-split__col--media,
.opx-split--plain .opx-split__col--media-left {
	padding: 0;
}

.opx-split__col {
	box-sizing: border-box;
	min-width: 280px;
}

.opx-split__col--text {
	flex: 0 0 65.625%;
	max-width: 65.625%;
	padding: 0 30px 0 0;
	color: #333;
	font-size: 1.15rem;
	line-height: 1.5;
}

.opx-split__col--media {
	flex: 0 0 31.25%;
	max-width: 31.25%;
	padding: 0;
}

.opx-split__col--media-left {
	flex: 0 0 48.4375%;
	max-width: 48.4375%;
	padding: 0;
}

.opx-split__col--list {
	flex: 0 0 48.4375%;
	max-width: 48.4375%;
	padding: 0 0 0 30px;
}

.opx-split__img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.opx-split__img--tall {
	width: 100%;
}

.opx-dot-list {
	margin: 0;
	padding: 0;
	list-style: none;
	color: #222;
	font-size: 1.15rem;
	line-height: 1.5;
}

.opx-dot-list li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0 0 10px;
}

.opx-dot-list li:last-child {
	margin-bottom: 0;
}

.opx-dot-list li > span:last-child {
	flex: 1;
	min-width: 0;
	line-height: 1.5;
}

.opx-dot {
	flex: 0 0 10px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #c2c2c2;
	margin: calc((1.15rem * 1.5 - 10px) / 2) 0 0;
	font-size: 0;
	line-height: 0;
}

.opx-related {
	margin-top: 34px;
	margin-bottom: 34px;
}

.opx-related + .opx-lead,
.opx-related + .opx-sec-title,
.opx-related + h3 {
	margin-top: 34px;
}

.opx-note-lines p {
	margin: 0 0 8px;
	font-size: 1.15rem;
	line-height: 1.5;
	color: #333;
	text-indent: 0;
	padding-left: 0;
}

.opx-triplet {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 0 0 24px;
}

.opx-triplet__item {
	border: 1px solid #e3e3e3;
	padding: 8px;
}

.opx-triplet__item img {
	display: block;
	width: 100%;
	height: auto;
	margin-bottom: 8px;
}

.opx-triplet__item p {
	margin: 0;
	font-size: 1.15rem;
	line-height: 1.5;
	color: #333;
}

.opx-related__title {
	margin: 0 0 14px;
	font-size: 1.15rem;
	line-height: 1.5;
	font-weight: 700;
	color: #222;
}

.opx-related__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	justify-content: start;
	align-items: stretch;
}

.opx-related__item {
	display: flex;
	flex-direction: column;
	height: 100%;
	border: none;
	padding: 0;
	color: inherit;
	text-decoration: none;
	transition: opacity .2s;
}

.opx-related__item:hover {
	opacity: .85;
}

.opx-related__media {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 140px;
	flex-shrink: 0;
	margin: 0 0 10px;
}

.opx-related__img {
	display: block;
	width: auto;
	height: auto;
	max-width: 50%;
	max-height: 120px;
	margin: 0;
	object-fit: contain;
}

.opx-related__head {
	margin: 0 0 8px;
	min-height: calc(1.45rem * 3);
}

.opx-related__name-line {
	margin: 0;
	font-size: 1rem;
	line-height: 1.45;
	font-weight: 700;
	color: #222;
}

.opx-related__name-line--link {
	margin-top: 2px;
}

.opx-related__intro {
	margin: 0 0 6px;
	font-size: 0.875rem;
	line-height: 1.55;
	color: #666;
}

.opx-related__body {
	flex: 1;
}

.opx-related .opx-ul {
	font-size: 0.875rem;
	line-height: 1.55;
	color: #666;
}

.opx-related .opx-ul > li {
	padding-left: 14px;
	margin: 0 0 3px;
}

.opx-related .opx-ul > li::before {
	content: '●';
	top: 0;
	left: 0;
	width: auto;
	height: auto;
	border-radius: 0;
	background: none;
	font-size: 0.62rem;
	line-height: 1.55;
	color: #888;
}

.opx-related__desc {
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.5;
	color: #666;
}

.opx-source-note {
	margin-top: 20px;
	font-size: 1rem;
	line-height: 1.5;
	color: #666;
}

.opx-source-note p {
	margin: 0 0 6px;
}

.opx-source-note p:last-child {
	margin-bottom: 0;
}

.opx-source-note a {
	color: #005eae;
	text-decoration: none;
}

.opx-source-note a:hover {
	text-decoration: underline;
}

/* 水质参考站 el_pageEmHead_subHdg：导语副标题 */
.opx-subtitle {
	position: relative;
	margin: 0 0 20px;
	padding-left: 20px;
	text-align: left;
	font-size: clamp(16px, 1.25vw, 20px);
	font-weight: 700;
	color: #222;
	line-height: 1.45;
}

.opx-subtitle::before {
	content: "";
	position: absolute;
	top: 0.15em;
	left: 0;
	width: 5px;
	height: calc(100% - 0.3em);
	border-radius: 0 3px 0 3px;
	background-color: #005eae;
}

.opx-cost-cases {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin: 0 0 20px;
}

.opx-cost-cases__item {
	border: 1px solid #e3e3e3;
	padding: 16px;
}

.opx-fig-center {
	text-align: center;
	margin: 0 0 30px;
}

.opx-fig-center img {
	display: block;
	width: 100%;
	max-width: 720px;
	height: auto;
	margin: 0 auto;
}

.opx-fig-caption {
	margin: 10px 0 0;
	font-size: 1.15rem;
	line-height: 1.5;
	color: #333;
}

.opx-dual-text {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin: 0 0 28px;
}

.opx-dual-text__item {
	border: 1px solid #e3e3e3;
	padding: 16px;
}

.opx-grid-2x2 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 0 0 28px;
}

.opx-grid-2x2__item img {
	display: block;
	width: 100%;
	height: auto;
}

.opx-pair,
.opx-quad {
	display: grid;
	gap: 12px;
	margin: 0 0 28px;
}

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

.opx-quad {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.opx-pair__item,
.opx-quad__item {
	border: 1px solid #e3e3e3;
	padding: 8px;
}

.opx-pair__item img,
.opx-quad__item img {
	display: block;
	width: 100%;
	height: auto;
	margin-bottom: 8px;
}

.opx-pair__item p,
.opx-quad__item p {
	margin: 0;
	font-size: 1.15rem;
	line-height: 1.5;
	color: #333;
	text-align: center;
}

.opx-fig-center {
	text-align: center;
	margin: 0 0 30px;
}

.opx-fig-center img {
	display: block;
	width: 100%;
	max-width: 720px;
	height: auto;
	margin: 0 auto;
}

.opx-fig-caption {
	margin: 10px 0 0;
	font-size: 1.15rem;
	line-height: 1.5;
	color: #333;
}

.opx-pair,
.opx-quad {
	display: grid;
	gap: 12px;
	margin: 0 0 28px;
}

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

.opx-quad {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.opx-pair__item,
.opx-quad__item {
	border: 1px solid #e3e3e3;
	padding: 8px;
}

.opx-pair__item img,
.opx-quad__item img {
	display: block;
	width: 100%;
	height: auto;
	margin-bottom: 8px;
}

.opx-pair__item p,
.opx-quad__item p {
	margin: 0;
	font-size: 1.15rem;
	line-height: 1.5;
	color: #333;
	text-align: center;
}

/* warehouse-security.html 参考结构 */
.opx-intro-box {
	background: #f3f3f3;
	padding: clamp(20px, 3vw, 36px) clamp(24px, 4vw, 40px);
	margin: 0 0 40px;
}

.opx-intro-box .opx-lead:last-child {
	margin-bottom: 0;
}

/* 参考站 c-text：双栏内正文 */
.opx-text {
	margin: 0;
	color: #333;
	font-size: 1.15rem;
	line-height: 1.5;
}

/* 参考站 c-ul：圆点 + 加粗小标题 */
.opx-ul {
	margin: 0;
	padding: 0;
	list-style: none;
	color: #333;
	font-size: 1.15rem;
	line-height: 1.5;
}

.opx-ul > li {
	position: relative;
	padding-left: 17px;
	margin: 0 0 4px;
}

.opx-ul > li:last-child {
	margin-bottom: 0;
}

.opx-ul > li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 7px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #c2c2c2;
}

.opx-ul > li strong {
	font-weight: 700;
	color: #222;
}

/* Word 表格：左图右文（媒体列在前） */
.opx-cols2--img-left {
	flex-direction: row;
}

.opx-cols2--img-left .opx-cols2__col--media {
	padding: 0 24px 0 0;
}

.opx-cols2--img-left .opx-cols2__col--text {
	padding: 0;
}

.opx-data-table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 24px;
	font-size: 1.05rem;
	line-height: 1.45;
	color: #333;
}

.opx-data-table th,
.opx-data-table td {
	border: 1px solid #ddd;
	padding: 10px 12px;
	text-align: left;
	vertical-align: top;
}

.opx-data-table th {
	background: #f3f3f3;
	font-weight: 700;
}

.opx-cols2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	margin: 0 0 50px;
}

.opx-cols2--v-center {
	align-items: center;
}

.opx-cols2__col {
	box-sizing: border-box;
	min-width: 280px;
}

.opx-cols2__col--text {
	flex: 0 0 48%;
	max-width: 48%;
	padding: 0 24px 0 0;
}

.opx-cols2__col--media {
	flex: 0 0 48%;
	max-width: 48%;
	padding: 0;
}

.opx-cols2--reverse .opx-cols2__col--text {
	padding: 0 0 0 24px;
}

.opx-cols2--reverse {
	flex-direction: row-reverse;
}

.opx-block-title {
	margin: 0 0 14px;
	font-size: clamp(16px, 1.2vw, 20px);
	font-weight: 700;
	color: #222;
	line-height: 1.45;
}

.opx-figure {
	margin: 0;
}

.opx-figure img {
	display: block;
	width: 100%;
	height: auto;
}

.opx-app-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	row-gap: 28px;
	margin: 0 0 50px;
}

.opx-app-grid__col {
	flex: 0 0 48%;
	max-width: 48%;
	min-width: 280px;
}

.opx-app-card__thumb {
	overflow: hidden;
	margin: 0 0 12px;
}

.opx-app-card__thumb img {
	display: block;
	width: 100%;
	height: auto;
}

.opx-app-card__name {
	margin: 0 0 8px;
	font-size: 1.15rem;
	line-height: 1.5;
	font-weight: 700;
	color: #222;
}

.opx-app-card__desc {
	margin: 0;
	font-size: 1.15rem;
	line-height: 1.5;
	color: #333;
}

.opx-lead--center {
	text-align: center;
}

/* 解决方案子栏目分类页（参考 optex bl_caseIntro / el_caseCard） */
.opx-cat {
	padding-bottom: clamp(40px, 5vw, 80px);
}

/* 分类页顶部：左文右图（参考 intrusion-detection.html） */
.opx-cat-emhead {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
	gap: clamp(20px, 3vw, 40px);
	margin: clamp(28px, 4vw, 56px) 0 clamp(32px, 4vw, 56px);
}

.opx-cat-emhead__text {
	position: relative;
	flex: 1 1 52%;
	min-width: 280px;
	padding: clamp(28px, 4vw, 48px) clamp(24px, 4vw, 40px);
	overflow: hidden;
	background-color: #f8fbfd;
}

.opx-cat-emhead__text::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(125deg, transparent 42%, rgba(0, 94, 174, 0.06) 42%, rgba(0, 94, 174, 0.06) 43%, transparent 43%),
		linear-gradient(125deg, transparent 58%, rgba(0, 94, 174, 0.05) 58%, rgba(0, 94, 174, 0.05) 59%, transparent 59%),
		linear-gradient(125deg, transparent 74%, rgba(0, 94, 174, 0.04) 74%, rgba(0, 94, 174, 0.04) 75%, transparent 75%);
	pointer-events: none;
}

.opx-cat-emhead__title {
	position: relative;
	margin: 0 0 clamp(16px, 2vw, 24px);
	font-size: clamp(28px, 3.2vw, 40px);
	font-weight: 700;
	color: #005eae;
	line-height: 1.35;
}

.opx-cat-emhead__intro {
	position: relative;
	margin: 0;
	font-size: clamp(15px, 1.25vw, 18px);
	line-height: 1.75;
	color: #333;
}

.opx-cat-emhead__media {
	flex: 0 1 42%;
	min-width: 260px;
	max-width: 46%;
}

.opx-cat-emhead__img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 220px;
	object-fit: cover;
}

.opx-cat-head {
	margin: clamp(24px, 3vw, 48px) 0 clamp(20px, 2.5vw, 36px);
}

.opx-cat-head__title {
	margin: 0 0 8px;
	font-size: clamp(26px, 3vw, 38px);
	font-weight: 700;
	color: #333;
	line-height: 1.35;
}

.opx-cat-head__en {
	margin: 0;
	font-size: clamp(14px, 1.2vw, 18px);
	color: #999;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.opx-cat-hero {
	margin: 0 0 clamp(24px, 3vw, 40px);
}

.opx-cat-hero__img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 4px;
}

.opx-cat-intro {
	margin: 0 0 clamp(28px, 3.5vw, 48px);
	padding: clamp(20px, 3vw, 36px) clamp(24px, 4vw, 40px);
	background: #f3f3f3;
}

.opx-cat-intro p {
	margin: 0;
	font-size: 1.15rem;
	line-height: 1.5;
	color: #333;
}

/* 文章列表卡片（参考 optex bl_caseIntro / el_caseCard） */
.opx-caseIntro {
	margin-top: clamp(40px, 5vw, 80px);
}

.opx-caseIntro__units {
	display: grid;
	gap: 50px 3.3%;
	margin: 50px 0 0;
	padding: 0;
	list-style: none;
}

.opx-caseIntro--3 .opx-caseIntro__units {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

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

.opx-caseIntro__unit {
	margin: 0;
}

.opx-caseCard a {
	display: block;
	color: #333;
	text-decoration: none;
	transition: color 0.3s ease-in-out;
}

.opx-caseCard__thumb {
	width: 100%;
	overflow: hidden;
}

.opx-caseCard__thumb img {
	display: block;
	width: 100%;
	aspect-ratio: 359 / 195;
	object-fit: cover;
	transition: transform 0.3s ease-in-out;
}

.opx-caseCard__body {
	margin-top: 19px;
}

.opx-caseCard__ttl {
	position: relative;
	margin: 0;
	padding-left: 32px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
	color: inherit;
}

.opx-caseCard__ttl::before {
	content: "";
	position: absolute;
	top: 0.55em;
	left: 0;
	transform: rotate(45deg);
	width: 0.55em;
	height: 0.55em;
	border-top: 1px solid currentColor;
	border-right: 1px solid currentColor;
}

.opx-caseCard__meta {
	position: relative;
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid #e4e4e4;
}

.opx-caseCard__meta::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #005eae;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.3s ease-in-out;
}

.opx-caseCard__desc {
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.6;
	color: inherit;
}

@media (min-width: 768px) {
	.opx-caseCard a:hover {
		color: #005eae;
	}

	.opx-caseCard a:hover .opx-caseCard__meta::before {
		transform: scaleX(1);
	}

	.opx-caseCard a:hover .opx-caseCard__thumb img {
		transform: scale(1.2);
	}
}

@media (max-width: 860px) {
	.opx-sec-title { margin-bottom: 22px; }
	.opx-sec-title--l { font-size: clamp(17px, 4.5vw, 20px); }
	.opx-sec-title--m { font-size: clamp(15px, 3.9vw, 18px); }
	.opx-split { margin-bottom: 36px; }
	.opx-split--plain { margin-bottom: 26px; }
	.opx-split__col--text,
	.opx-split__col--media,
	.opx-split__col--media-left,
	.opx-split__col--list {
		flex: 0 0 100%;
		max-width: 100%;
		min-width: 0;
		padding: 0;
	}
	.opx-split__col--text { margin-bottom: 16px; }
	.opx-split__col--media-left { margin-bottom: 16px; }
	.opx-related__grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.opx-cat-emhead {
		flex-direction: column;
	}
	.opx-cat-emhead__text,
	.opx-cat-emhead__media {
		flex: 0 0 100%;
		max-width: 100%;
		min-width: 0;
	}
	.opx-cat-emhead__img {
		min-height: 200px;
	}
	.opx-caseIntro {
		margin-top: 40px;
	}
	.opx-caseIntro__units {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 16px 12px;
		margin-top: 30px;
	}
	.opx-triplet {
		grid-template-columns: 1fr;
	}
	.opx-cost-cases,
	.opx-dual-text,
	.opx-grid-2x2,
	.opx-pair,
	.opx-quad,
	.opx-cols2__col--text,
	.opx-cols2__col--media,
	.opx-app-grid__col {
		flex: 0 0 100%;
		max-width: 100%;
		min-width: 0;
		padding: 0;
	}
	.opx-cols2--reverse .opx-cols2__col--text,
	.opx-cols2--img-left .opx-cols2__col--media {
		padding: 0;
	}
	.opx-cols2__col--text {
		margin-bottom: 16px;
	}
}
