/* ============================================================
   ICPS — Markets page
   ============================================================ */
.icps-mkt, .icps-mktmap, .icps-mktproof, .icps-mktcta {
	width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);
	font-family: "Poppins", sans-serif;
}
.c-red { background: #ff1744 !important; }
.c-blue { background: #1466b8 !important; }
.c-cyan { background: #00b8d4 !important; }
.c-navy { background: #001f3f !important; }

/* ---------- Hero + sector list ---------- */
.icps-mkt { background: #fafbfc; padding: 80px 0 96px; }
.icps-mkt__container { max-width: 1440px; margin: 0 auto; padding: 0 48px; }
.icps-mkt__head { display: grid; grid-template-columns: 7fr 5fr; gap: 40px; align-items: end; margin-bottom: 64px; }
.icps-mkt__eyebrow { display: flex; align-items: center; margin: 0 0 32px; font-size: 12px; letter-spacing: 4px; text-transform: uppercase; color: rgba(0,31,63,0.5); }
.icps-mkt__eyebrow .line { display: inline-block; width: 32px; height: 2px; background: #ff1744; margin-right: 14px; }
.icps-mkt__eyebrow em { color: #ff1744; font-style: normal; margin-left: 6px; }
.icps-mkt__title { margin: 0; font-size: 88px; font-weight: 600; line-height: 0.95; letter-spacing: -2.5px; color: #001f3f; }
.icps-mkt__title em { color: #ff1744; font-style: italic; }
.icps-mkt__intro { margin: 0; font-size: 17px; line-height: 1.7; color: rgba(0,31,63,0.6); padding-left: 32px; border-left: 1px solid rgba(0,31,63,0.1); }
.icps-mkt__grid { display: grid; grid-template-columns: 5fr 7fr; gap: 40px; align-items: start; }
.icps-mkt__preview { position: relative; aspect-ratio: 4 / 5; border-radius: 32px; overflow: hidden; box-shadow: 0 30px 60px rgba(0,31,63,0.18); }
.icps-mkt__ph { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transition: opacity .6s ease; }
.icps-mkt__ph.is-active { opacity: 1; }
.icps-mkt__preview::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, #001f3f 0%, rgba(0,31,63,0.4) 45%, transparent 75%); }
.icps-mkt__caps { position: absolute; left: 32px; right: 32px; bottom: 32px; z-index: 1; color: #fff; }
.icps-mkt__cap { display: none; }
.icps-mkt__cap.is-active { display: block; animation: mktfade .5s ease; }
@keyframes mktfade { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.icps-mkt__cap-no { margin: 0 0 12px; font-size: 11px; letter-spacing: 3px; text-transform: uppercase; color: rgba(255,255,255,0.6); }
.icps-mkt__cap-title { margin: 0 0 10px; font-size: 34px; font-weight: 600; letter-spacing: -0.8px; }
.icps-mkt__cap-short { margin: 0 0 20px; font-size: 14px; line-height: 1.6; color: rgba(255,255,255,0.75); }
.icps-mkt__cap-metric { display: flex; align-items: baseline; gap: 12px; border-top: 1px solid rgba(255,255,255,0.2); padding-top: 18px; }
.icps-mkt__cap-metric b { font-size: 34px; font-weight: 600; }
.icps-mkt__cap-metric span { font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: rgba(255,255,255,0.5); }
.icps-mkt__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(0,31,63,0.1); }
.icps-mkt__row { display: grid; grid-template-columns: auto 5fr 5fr auto; gap: 24px; align-items: center; padding: 26px 24px; border-bottom: 1px solid rgba(0,31,63,0.1); cursor: pointer; transition: background .2s, color .2s; }
.icps-mkt__row:hover { background: rgba(0,31,63,0.03); }
.icps-mkt__row.is-active { background: #001f3f; color: #fff; }
.icps-mkt__row-no { font-size: 11px; letter-spacing: 1px; color: rgba(0,31,63,0.3); }
.icps-mkt__row.is-active .icps-mkt__row-no { color: #ff1744; }
.icps-mkt__row-main { display: flex; align-items: center; gap: 16px; min-width: 0; }
.icps-mkt__row-ic { width: 40px; height: 40px; flex: 0 0 auto; display: inline-grid; place-items: center; border-radius: 12px; color: #fff; }
.icps-mkt__row.is-active .icps-mkt__row-ic { background: rgba(255,255,255,0.1) !important; }
.icps-mkt__row-ic svg { width: 18px; height: 18px; }
.icps-mkt__row-title { font-size: 19px; letter-spacing: -0.3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.icps-mkt__row-short { font-size: 13px; line-height: 1.5; color: rgba(0,31,63,0.5); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.icps-mkt__row.is-active .icps-mkt__row-short { color: rgba(255,255,255,0.6); }
.icps-mkt__row-arr { color: rgba(0,31,63,0.3); }
.icps-mkt__row-arr svg { width: 20px; height: 20px; }
.icps-mkt__row.is-active .icps-mkt__row-arr { color: #ff1744; }

/* ---------- Solution map ---------- */
.icps-mktmap { background: #fff; padding: 96px 0; }
.icps-mktmap__container { max-width: 1440px; margin: 0 auto; padding: 0 48px; }
.icps-mktmap__head { margin-bottom: 56px; }
.icps-mktmap__eyebrow { margin: 0 0 16px; font-size: 12px; color: #ff1744; letter-spacing: 3px; text-transform: uppercase; }
.icps-mktmap__title { margin: 0; font-size: 52px; font-weight: 600; line-height: 1.05; letter-spacing: -1.5px; color: #001f3f; }
.icps-mktmap__title em { color: #ff1744; font-style: italic; }
.icps-mktmap__grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 20px; }
.icps-mktmap__card { grid-column: span 4; overflow: hidden; border-radius: 28px; border: 1px solid rgba(0,31,63,0.05); background: #fafbfc; transition: box-shadow .2s, transform .2s; }
.icps-mktmap__card:hover { box-shadow: 0 24px 50px rgba(0,31,63,0.12); transform: translateY(-3px); }
.icps-mktmap__card.col3 { grid-column: span 4; }
.icps-mktmap__card.col4 { grid-column: span 4; }
.icps-mktmap__card.col5 { grid-column: span 5; }
.icps-mktmap__card.col7 { grid-column: span 7; }
.icps-mktmap__img { position: relative; height: 200px; overflow: hidden; background-size: cover; background-position: center; }
.icps-mktmap__card:hover .icps-mktmap__img { }
.icps-mktmap__tint { position: absolute; inset: 0; opacity: 0.3; mix-blend-mode: multiply; }
.icps-mktmap__badge { position: absolute; top: 16px; left: 16px; padding: 5px 12px; background: rgba(255,255,255,0.9); border-radius: 999px; font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: #001f3f; }
.icps-mktmap__body { padding: 32px; }
.icps-mktmap__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; gap: 12px; }
.icps-mktmap__top h3 { margin: 0; font-size: 22px; font-weight: 600; letter-spacing: -0.4px; color: #001f3f; transition: color .2s; }
.icps-mktmap__card:hover .icps-mktmap__top h3 { color: #ff1744; }
.icps-mktmap__arr { color: rgba(0,31,63,0.3); flex: 0 0 auto; }
.icps-mktmap__arr svg { width: 18px; height: 18px; }
.icps-mktmap__short { margin: 0 0 20px; font-size: 13px; line-height: 1.6; color: rgba(0,31,63,0.6); }
.icps-mktmap__tags { display: flex; flex-wrap: wrap; gap: 8px; }
.icps-mktmap__tags span { padding: 5px 12px; background: #fff; border: 1px solid rgba(0,31,63,0.1); border-radius: 999px; font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase; color: rgba(0,31,63,0.6); }

/* ---------- Proof of trust (dark) ---------- */
.icps-mktproof { background: #001f3f; padding: 128px 0; }
.icps-mktproof__container { max-width: 1440px; margin: 0 auto; padding: 0 48px; }
.icps-mktproof__head { display: grid; grid-template-columns: 8fr 4fr; gap: 40px; align-items: end; margin-bottom: 64px; }
.icps-mktproof__eyebrow { margin: 0 0 24px; font-size: 12px; color: #ff1744; letter-spacing: 4px; text-transform: uppercase; }
.icps-mktproof__title { margin: 0; font-size: 60px; font-weight: 600; line-height: 1.05; letter-spacing: -1.5px; color: #fff; }
.icps-mktproof__title em { color: #ff1744; font-style: italic; }
.icps-mktproof__intro { margin: 0; font-size: 15px; line-height: 1.7; color: rgba(255,255,255,0.6); padding-left: 32px; border-left: 1px solid rgba(255,255,255,0.1); }
.icps-mktproof__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.1); border-radius: 28px; overflow: hidden; }
.icps-mktproof__card { background: #001f3f; padding: 48px; transition: background .2s; }
.icps-mktproof__card:hover { background: #001a35; }
.icps-mktproof__no { margin: 0 0 32px; font-size: 12px; letter-spacing: 2px; color: #ff1744; }
.icps-mktproof__icon { width: 56px; height: 56px; display: inline-grid; place-items: center; border-radius: 16px; background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); color: #ff1744; margin-bottom: 32px; }
.icps-mktproof__icon svg { width: 24px; height: 24px; }
.icps-mktproof__card h3 { margin: 0 0 14px; font-size: 24px; font-weight: 600; letter-spacing: -0.4px; color: #fff; }
.icps-mktproof__card p { margin: 0; font-size: 14px; line-height: 1.7; color: rgba(255,255,255,0.55); }
.icps-mktproof__big { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; margin-top: 64px; }
.icps-mktproof__bignum { font-size: 200px; font-weight: 600; line-height: 0.8; letter-spacing: -6px; color: rgba(255,23,68,0.3); }
.icps-mktproof__bigline { margin: 0 0 16px; font-size: 30px; font-weight: 600; letter-spacing: -0.6px; color: #fff; }
.icps-mktproof__bigquote { margin: 0; max-width: 440px; font-size: 15px; line-height: 1.7; font-style: italic; color: rgba(255,255,255,0.5); }

/* ---------- CTA ---------- */
.icps-mktcta { background: #fff; padding: 96px 0; }
.icps-mktcta__container { max-width: 1440px; margin: 0 auto; padding: 0 48px; }
.icps-mktcta__card { position: relative; overflow: hidden; border-radius: 40px; background: #fafbfc; border: 1px solid rgba(0,31,63,0.05); padding: 80px; display: grid; grid-template-columns: 8fr 4fr; gap: 40px; align-items: center; }
.icps-mktcta__glow { position: absolute; top: -80px; right: -80px; width: 320px; height: 320px; background: rgba(255,23,68,0.1); border-radius: 50%; filter: blur(80px); }
.icps-mktcta__body { position: relative; }
.icps-mktcta__eyebrow { margin: 0 0 16px; font-size: 12px; color: #ff1744; letter-spacing: 3px; text-transform: uppercase; }
.icps-mktcta__title { margin: 0 0 24px; font-size: 56px; font-weight: 600; line-height: 1.05; letter-spacing: -1.5px; color: #001f3f; }
.icps-mktcta__title em { color: #ff1744; font-style: italic; }
.icps-mktcta__text { margin: 0; max-width: 560px; font-size: 17px; line-height: 1.7; color: rgba(0,31,63,0.6); }
.icps-mktcta__btn { position: relative; justify-self: end; display: inline-flex; align-items: center; gap: 12px; background: #001f3f; color: #fff !important; padding: 20px 36px; border-radius: 16px; font-size: 16px; text-decoration: none; transition: background .2s, transform .15s; }
.icps-mktcta__btn:hover { background: #ff1744; transform: translateY(-2px); }
.icps-mktcta__btn svg { width: 20px; height: 20px; }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
	.icps-mkt { padding: 56px 0 64px; }
	.icps-mkt__container, .icps-mktmap__container, .icps-mktproof__container, .icps-mktcta__container { padding: 0 24px; }
	.icps-mkt__head { grid-template-columns: 1fr; gap: 24px; }
	.icps-mkt__title { font-size: 60px; letter-spacing: -1.5px; }
	.icps-mkt__intro { padding-left: 0; border-left: 0; }
	.icps-mkt__grid { grid-template-columns: 1fr; }
	.icps-mkt__preview { aspect-ratio: 16 / 10; max-height: 420px; }
	.icps-mkt__row { grid-template-columns: auto 1fr auto; }
	.icps-mkt__row-short { display: none; }
	.icps-mktmap { padding: 64px 0; }
	.icps-mktmap__title { font-size: 38px; }
	.icps-mktmap__card, .icps-mktmap__card.col3, .icps-mktmap__card.col4, .icps-mktmap__card.col5, .icps-mktmap__card.col7 { grid-column: span 6; }
	.icps-mktproof { padding: 80px 0; }
	.icps-mktproof__head { grid-template-columns: 1fr; }
	.icps-mktproof__title { font-size: 40px; }
	.icps-mktproof__intro { padding-left: 0; border-left: 0; }
	.icps-mktproof__grid { grid-template-columns: 1fr; }
	.icps-mktproof__big { grid-template-columns: 1fr; }
	.icps-mktproof__bignum { font-size: 120px; letter-spacing: -3px; }
	.icps-mktcta { padding: 64px 0; }
	.icps-mktcta__card { grid-template-columns: 1fr; padding: 40px; }
	.icps-mktcta__title { font-size: 38px; }
	.icps-mktcta__btn { justify-self: start; }
}
@media (max-width: 680px) {
	.icps-mkt__title { font-size: 44px; }
	.icps-mkt__preview { aspect-ratio: 3 / 4; }
	.icps-mktmap__card, .icps-mktmap__card.col3, .icps-mktmap__card.col4, .icps-mktmap__card.col5, .icps-mktmap__card.col7 { grid-column: span 12; }
	.icps-mktproof__title { font-size: 30px; }
	.icps-mktcta__title { font-size: 30px; }
}
