/* ============================================================
   ICPS Homepage — content sections
   Palette: navy #001F3F · accent #FF1744 · font Poppins
   ============================================================ */

.icps-section { font-family: "Poppins", sans-serif; }

/* Full-bleed sections use width:100vw, which includes the scrollbar width and
   causes a ~15px horizontal overflow on devices with classic (non-overlay)
   scrollbars. `overflow-x: hidden` on the root propagates to the viewport and
   clips the overhang. Betheme's sticky header is position:fixed on scroll, so
   this does not affect it. */
html, body { overflow-x: hidden; max-width: 100%; }

/* Kill Betheme's default 40px module gap between our full-bleed sections */
.home .mcb-column-inner:has(> .mfn-html-editor-wrapper .icps-section),
.home .mcb-column-inner:has(> .mfn-html-editor-wrapper .icps-hero) {
	margin-bottom: 0 !important;
}

/* Full-bleed: each section spans the viewport regardless of the BeBuilder
   wrap/column it now lives in; the section's own __container re-centers content. */
.icps-hero,
.icps-stats,
.icps-intro,
.icps-facility,
.icps-services,
.icps-purpose,
.icps-trust,
.icps-process,
.icps-logos,
.icps-quotes,
.icps-news,
.icps-certs,
.icps-cta {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}
/* Neutralise Betheme's default column/wrap padding around our code blocks */
.mfn-html-editor-wrapper { margin: 0 !important; padding: 0 !important; }

/* ---------- 02 · Stats bar (Figma 9:815) ---------- */
.icps-stats { background: #fff; padding: 0 0 96px; }
.icps-stats__container { max-width: 1440px; margin: 0 auto; padding: 0 48px; }
.icps-stats__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1px;
	background: rgba(0,31,63,0.10);
	border: 1px solid rgba(0,31,63,0.10);
	border-radius: 24px;
	overflow: hidden;
}
.icps-stats__cell { background: #fff; padding: 40px; }
.icps-stats__num {
	margin: 0;
	font-size: 36px;
	font-weight: 400;
	line-height: 40px;
	letter-spacing: -0.9px;
	color: #001f3f;
}
.icps-stats__label {
	margin: 8px 0 0;
	font-size: 11px;
	font-weight: 400;
	letter-spacing: 2.75px;
	text-transform: uppercase;
	color: rgba(0,31,63,0.40);
}

/* ---------- 03 · Intro (Figma 9:839) ---------- */
.icps-intro { background: #fff; padding: 128px 0; }
.icps-intro__container {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 48px;
	display: grid;
	grid-template-columns: 532px 1fr;
	gap: 48px;
	align-items: start;
}
.icps-intro__eyebrow {
	margin: 0;
	font-size: 12px;
	color: #ff1744;
	letter-spacing: 4.8px;
	text-transform: uppercase;
}
.icps-intro__title {
	margin: 32px 0 40px;
	font-size: 60px;
	font-weight: 600;
	line-height: 1.05;
	letter-spacing: -1.5px;
	color: #001f3f;
}
.icps-intro__title em { color: #ff1744; font-style: italic; }
.icps-intro__badge {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	background: rgba(255,23,68,0.05);
	border: 1px solid rgba(255,23,68,0.15);
	border-radius: 999px;
	padding: 9px 17px;
}
.icps-intro__badge svg { width: 14px; height: 14px; color: #ff1744; flex: 0 0 auto; }
.icps-intro__badge span {
	font-size: 12px;
	color: #ff1744;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	white-space: nowrap;
}
.icps-intro__body { padding-top: 12px; }
.icps-intro__lead {
	margin: 0 0 24px;
	font-size: 18px;
	line-height: 1.56;
	color: rgba(0,31,63,0.70);
}
.icps-intro__body p {
	margin: 0 0 24px;
	font-size: 16px;
	line-height: 1.625;
	color: rgba(0,31,63,0.70);
}
.icps-intro__body p:last-child { margin-bottom: 0; }

/* ---------- 04 · Facility (Figma 9:870, dark) ---------- */
.icps-facility { background: #001f3f; padding: 128px 0; }
.icps-facility__container { max-width: 1440px; margin: 0 auto; padding: 0 48px; }
.icps-facility__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 32px;
}
.icps-facility__eyebrow {
	margin: 0;
	font-size: 12px;
	color: #ff1744;
	letter-spacing: 4.8px;
	text-transform: uppercase;
}
.icps-facility__title {
	margin: 32px 0 0;
	font-size: 72px;
	font-weight: 600;
	line-height: 1.05;
	letter-spacing: -1.8px;
	color: #fff;
}
.icps-facility__title em { color: #ff1744; font-style: italic; }
.icps-facility__intro {
	margin: 0;
	max-width: 427px;
	padding-left: 33px;
	border-left: 1px solid rgba(255,255,255,0.10);
	font-size: 16px;
	line-height: 1.625;
	color: rgba(255,255,255,0.60);
}
.icps-facility__grid {
	margin-top: 64px;
	display: grid;
	grid-template-columns: 1fr 541px;
	gap: 32px;
	align-items: stretch;
}
.icps-facility__media {
	position: relative;
	min-height: 482px;
	border-radius: 32px;
	overflow: hidden;
	background: url("../images/facility.jpg") center / cover no-repeat;
}
.icps-facility__media-overlay {
	position: absolute; inset: 0;
	background: linear-gradient(32deg, rgba(0,31,63,0.8) 0%, rgba(0,31,63,0.2) 50%, rgba(0,0,0,0) 100%);
}
.icps-facility__media-caption {
	position: absolute;
	left: 32px; right: 32px; bottom: 32px;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
}
.icps-facility__media-tag {
	margin: 0;
	font-size: 12px;
	color: #ff1744;
	letter-spacing: 1.2px;
	text-transform: uppercase;
}
.icps-facility__media-title { margin: 8px 0 0; font-size: 24px; line-height: 1.33; color: #fff; }
.icps-facility__play {
	width: 48px; height: 48px;
	flex: 0 0 auto;
	display: inline-grid; place-items: center;
	background: #fff;
	color: #001f3f;
	border: 0;
	border-radius: 50%;
	cursor: pointer;
	transition: transform .15s ease;
}
.icps-facility__play:hover { transform: scale(1.06); }
.icps-facility__play svg { width: 18px; height: 18px; margin-left: 2px; }
.icps-facility__certs { display: flex; flex-direction: column; gap: 20px; }
.icps-facility__cert {
	flex: 1 1 0;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	background: rgba(255,255,255,0.04);
	border: 1px solid rgba(255,255,255,0.10);
	border-radius: 16px;
	padding: 29px;
}
.icps-facility__cert > svg { width: 20px; height: 20px; color: rgba(255,255,255,0.7); margin-top: 4px; flex: 0 0 auto; }
.icps-facility__cert-num { margin: 0; font-size: 12px; color: #ff1744; letter-spacing: 1.2px; }
.icps-facility__cert-name { margin: 8px 0 0; font-size: 20px; line-height: 1.4; letter-spacing: -0.5px; color: #fff; }
.icps-facility__cert-desc { margin: 4px 0 0; font-size: 14px; line-height: 1.43; color: rgba(255,255,255,0.50); }

/* ---------- 05 · Services (Figma 9:932) ---------- */
.icps-services { background: #fff; border-top: 1px solid rgba(0,31,63,0.05); padding: 128px 0; }
.icps-services__container { max-width: 1440px; margin: 0 auto; padding: 0 48px; }
.icps-services__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 32px;
}
.icps-services__eyebrow {
	margin: 0;
	font-size: 12px;
	color: #ff1744;
	letter-spacing: 3.6px;
	text-transform: uppercase;
}
.icps-services__title {
	margin: 16px 0 0;
	max-width: 672px;
	font-size: 60px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: -1.5px;
	color: #001f3f;
}
.icps-services__title em { color: #ff1744; font-style: italic; }
.icps-services__link {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-size: 14px;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: #001f3f !important;
	text-decoration: none;
	white-space: nowrap;
}
.icps-services__link-circle {
	width: 40px; height: 40px;
	display: inline-grid; place-items: center;
	background: #001f3f;
	color: #fff;
	border-radius: 50%;
	transition: transform .15s ease;
}
.icps-services__link:hover .icps-services__link-circle { transform: translateX(4px); }
.icps-services__link-circle svg { width: 16px; height: 16px; }
.icps-services__table {
	margin-top: 80px;
	display: flex;
	flex-direction: column;
	gap: 1px;
	background: rgba(0,31,63,0.05);
	border: 1px solid rgba(0,31,63,0.05);
	border-radius: 32px;
	overflow: hidden;
}
.icps-services__row {
	display: grid;
	grid-template-columns: 67px 322px 1fr 405px;
	gap: 24px;
	align-items: center;
	background: #fff;
	padding: 40px;
	transition: background .2s;
}
.icps-services__row:hover { background: #fafbfc; }
.icps-services__row:hover .icps-services__img-bg { transform: scale(1.09); }  /* e.g. 1.05 = subtle, 1.12 = bolder */
.icps-services__num { margin: 0; font-size: 12px; color: rgba(0,31,63,0.30); letter-spacing: 1.2px; }
.icps-services__name h3 {
	margin: 0;
	font-size: 30px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: -0.75px;
	color: #001f3f;
}
.icps-services__tag {
	margin: 8px 0 0;
	font-size: 12px;
	color: rgba(0,31,63,0.40);
	letter-spacing: 1.2px;
	text-transform: uppercase;
}
.icps-services__desc { margin: 0; font-size: 16px; line-height: 1.625; color: rgba(0,31,63,0.60); }
.icps-services__img {
	position: relative;
	height: 228px;
	border-radius: 16px;
	overflow: hidden;
}
.icps-services__img-bg {
	position: absolute; inset: 0;
	background-size: cover;
	background-position: center;
	transition: transform .6s cubic-bezier(.22,.61,.36,1);
	will-change: transform;
}
.icps-services__row:hover .icps-services__img-bg { transform: scale(1.09); }
.icps-services__img::after {
	content: "";
	position: absolute; inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(29deg, rgba(0,31,63,0.4) 0%, rgba(0,0,0,0) 100%);
}
.icps-services__img-circle {
	position: absolute;
	top: 12px; right: 12px;
	z-index: 2;
	width: 36px; height: 36px;
	display: inline-grid; place-items: center;
	background: rgba(255,255,255,0.9);
	color: #001f3f;
	border-radius: 50%;
}
.icps-services__img-circle svg { width: 14px; height: 14px; }
.icps-services__note { margin: 40px 0 0; max-width: 768px; font-size: 14px; line-height: 1.625; color: rgba(0,31,63,0.55); }
.icps-services__note strong { font-weight: 400; color: #001f3f; }

/* ---------- 06 · Purpose-built (Figma 9:986) ---------- */
.icps-purpose {
	background: #fafbfc;
	border-top: 1px solid rgba(0,31,63,0.05);
	border-bottom: 1px solid rgba(0,31,63,0.05);
	padding: 129px 0;
}
.icps-purpose__container {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 48px;
	display: grid;
	grid-template-columns: 532px 1fr;
	gap: 48px;
	align-items: start;
}
.icps-purpose__media {
	position: relative;
	min-height: 665px;
	border-radius: 32px;
	overflow: hidden;
	background: url("../images/purpose-built.jpg") center / cover no-repeat;
}
.icps-purpose__media-overlay {
	position: absolute; inset: 0;
	background: linear-gradient(to top, rgba(0,31,63,0.7) 0%, rgba(0,0,0,0) 50%);
}
.icps-purpose__media-caption { position: absolute; left: 24px; right: 24px; bottom: 24px; }
.icps-purpose__media-tag {
	margin: 0;
	font-size: 12px;
	color: #ff1744;
	letter-spacing: 3.6px;
	text-transform: uppercase;
}
.icps-purpose__media-title { margin: 8px 0 0; font-size: 30px; line-height: 1.2; letter-spacing: -0.75px; color: #fff; }
.icps-purpose__eyebrow {
	margin: 0;
	font-size: 12px;
	color: #ff1744;
	letter-spacing: 4.8px;
	text-transform: uppercase;
}
.icps-purpose__title {
	margin: 32px 0 0;
	font-size: 60px;
	font-weight: 600;
	line-height: 1.05;
	letter-spacing: -1.5px;
	color: #001f3f;
}
.icps-purpose__title em { color: #ff1744; font-style: italic; }
.icps-purpose__lead {
	margin: 32px 0 0;
	max-width: 576px;
	font-size: 16px;
	line-height: 1.625;
	color: rgba(0,31,63,0.65);
}
.icps-purpose__list {
	margin-top: 40px;
	display: flex;
	flex-direction: column;
	gap: 1px;
	background: rgba(0,31,63,0.10);
	border: 1px solid rgba(0,31,63,0.10);
	border-radius: 24px;
	overflow: hidden;
}
.icps-purpose__item {
	display: flex;
	align-items: center;
	gap: 20px;
	background: #fff;
	padding: 20px 28px;
	font-size: 16px;
	line-height: 1.625;
	color: rgba(0,31,63,0.75);
}
.icps-purpose__item-num { font-size: 12px; color: #ff1744; letter-spacing: 1.2px; flex: 0 0 auto; }
.icps-purpose__item svg { width: 18px; height: 18px; color: #ff1744; flex: 0 0 auto; }

/* ---------- 07 · Engineered for trust (Figma 9:1060) ---------- */
.icps-trust {
	background: #fafbfc;
	border-top: 1px solid rgba(0,31,63,0.05);
	border-bottom: 1px solid rgba(0,31,63,0.05);
	padding: 97px 0;
}
.icps-trust__container {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 48px;
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
}
.icps-trust__card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 32px;
	width: 318px;
	min-height: 328px;
	background: #fff;
	border: 1px solid rgba(0,31,63,0.05);
	border-radius: 28px;
	padding: 33px;
}
.icps-trust__card--intro { width: 546px; padding: 49px; justify-content: flex-start; gap: 0; }
.icps-trust__card--small { min-height: 260px; }
.icps-trust__eyebrow {
	margin: 0;
	font-size: 12px;
	color: #ff1744;
	letter-spacing: 3.6px;
	text-transform: uppercase;
}
.icps-trust__title {
	margin: 16px 0 0;
	font-size: 48px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: -1.2px;
	color: #001f3f;
}
.icps-trust__title em { color: #ff1744; font-style: italic; }
.icps-trust__lead { margin: 24px 0 0; max-width: 448px; font-size: 16px; line-height: 1.625; color: rgba(0,31,63,0.60); }
.icps-trust__icon {
	width: 48px; height: 48px;
	display: inline-grid; place-items: center;
	background: rgba(255,23,68,0.05);
	border-radius: 16px;
	color: #ff1744;
}
.icps-trust__icon svg { width: 24px; height: 24px; }
.icps-trust__name { margin: 0; font-size: 20px; line-height: 1.4; letter-spacing: -0.5px; color: #001f3f; }
.icps-trust__desc { margin: 8px 0 0; max-width: 252px; font-size: 14px; line-height: 1.625; color: rgba(0,31,63,0.55); }

/* ---------- 08 · Process (Figma 9:1121) ---------- */
.icps-process { background: #fff; padding: 128px 0; }
.icps-process__container { max-width: 1440px; margin: 0 auto; padding: 0 48px; }
.icps-process__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 32px;
}
.icps-process__eyebrow {
	margin: 0;
	font-size: 12px;
	color: #ff1744;
	letter-spacing: 3.6px;
	text-transform: uppercase;
}
.icps-process__title {
	margin: 16px 0 0;
	max-width: 672px;
	font-size: 60px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: -1.5px;
	color: #001f3f;
}
.icps-process__title em { color: #ff1744; font-style: italic; }
.icps-process__intro { margin: 0; max-width: 384px; font-size: 16px; line-height: 1.625; color: rgba(0,31,63,0.55); }
.icps-process__grid {
	margin-top: 64px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1px;
	background: rgba(0,31,63,0.10);
	border: 1px solid rgba(0,31,63,0.10);
	border-radius: 28px;
	overflow: hidden;
}
.icps-process__step { background: #fff; padding: 40px; }
.icps-process__step-top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
}
.icps-process__icon {
	width: 48px; height: 48px;
	display: inline-grid; place-items: center;
	background: rgba(255,23,68,0.05);
	border-radius: 16px;
	color: #ff1744;
}
.icps-process__icon svg { width: 24px; height: 24px; }
.icps-process__num { font-size: 12px; color: rgba(0,31,63,0.30); letter-spacing: 1.2px; }
.icps-process__step h3 {
	margin: 48px 0 0;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.33;
	letter-spacing: -0.6px;
	color: #001f3f;
}
.icps-process__step p { margin: 12px 0 0; font-size: 14px; line-height: 1.625; color: rgba(0,31,63,0.55); }

/* ---------- 09 · Trusted logos (Figma 9:1134, dark) ---------- */
.icps-logos {
	background: #001f3f;
	border-top: 1px solid rgba(255,255,255,0.05);
	padding: 128px 0;
}
.icps-logos__container { max-width: 1440px; margin: 0 auto; padding: 0 48px; }
.icps-logos__head { text-align: center; max-width: 672px; margin: 0 auto; }
.icps-logos__eyebrow {
	margin: 0;
	font-size: 12px;
	color: #ff1744;
	letter-spacing: 4.8px;
	text-transform: uppercase;
}
.icps-logos__title {
	margin: 24px 0 0;
	font-size: 60px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: -1.5px;
	color: #fff;
}
.icps-logos__title span { color: #ff1744; }
.icps-logos__sub { margin: 20px 0 0; font-size: 16px; line-height: 1.625; color: rgba(255,255,255,0.60); }
.icps-logos__card {
	margin-top: 64px;
	background: #0a2547;
	border: 1px solid rgba(255,255,255,0.10);
	border-radius: 28px;
	padding: 41px;
}
.icps-logos__card img { display: block; width: 100%; height: auto; }

/* ---------- 10 · Testimonials (Figma 9:1149, dark) ---------- */
.icps-quotes { background: #001f3f; padding: 140px 0; }
.icps-quotes__container { max-width: 1440px; margin: 0 auto; padding: 0 48px; }
.icps-quotes__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 32px;
}
.icps-quotes__eyebrow {
	margin: 0;
	font-size: 12px;
	color: #ff1744;
	letter-spacing: 4.8px;
	text-transform: uppercase;
}
.icps-quotes__title {
	margin: 32px 0 0;
	font-size: 72px;
	font-weight: 600;
	line-height: 1.05;
	letter-spacing: -1.8px;
	color: #fff;
}
.icps-quotes__title em { color: #ff1744; font-style: italic; }
.icps-quotes__intro {
	margin: 0;
	max-width: 427px;
	padding-left: 33px;
	border-left: 1px solid rgba(255,255,255,0.10);
	font-size: 16px;
	line-height: 1.625;
	color: rgba(255,255,255,0.60);
}
.icps-quotes__grid {
	margin-top: 64px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1px;
	background: rgba(255,255,255,0.10);
	border: 1px solid rgba(255,255,255,0.10);
	border-radius: 28px;
	overflow: hidden;
}
.icps-quotes__card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	background: #001f3f;
	padding: 48px;
	min-height: 399px;
}
.icps-quotes__mark { width: 28px; height: 28px; color: #ff1744; }
.icps-quotes__text {
	margin: 32px 0 40px;
	font-size: 20px;
	line-height: 1.625;
	color: rgba(255,255,255,0.85);
}
.icps-quotes__who {
	display: flex;
	align-items: center;
	gap: 16px;
	border-top: 1px solid rgba(255,255,255,0.10);
	padding-top: 25px;
}
.icps-quotes__avatar {
	width: 48px; height: 48px;
	flex: 0 0 auto;
	border-radius: 50%;
	background: rgba(255,255,255,0.10);
}
.icps-quotes__name { display: block; font-size: 16px; line-height: 1.5; color: #fff; }
.icps-quotes__org {
	display: block;
	margin-top: 4px;
	font-size: 12px;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: rgba(255,255,255,0.40);
}

/* ---------- 11 · What's new (Figma 11:3660) ---------- */
.icps-news { background: #fff; padding: 128px 0; }
.icps-news__container { max-width: 1440px; margin: 0 auto; padding: 0 48px; }
.icps-news__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 32px;
}
.icps-news__eyebrow {
	margin: 0;
	font-size: 12px;
	color: #ff1744;
	letter-spacing: 3.6px;
	text-transform: uppercase;
}
.icps-news__title {
	margin: 16px 0 0;
	font-size: 60px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: -1.5px;
	color: #001f3f;
}
.icps-news__title em { color: #ff1744; font-style: italic; }
.icps-news__link {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-size: 14px;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: #001f3f !important;
	text-decoration: none;
	white-space: nowrap;
}
.icps-news__link-circle {
	width: 40px; height: 40px;
	display: inline-grid; place-items: center;
	background: #001f3f;
	color: #fff;
	border-radius: 50%;
	transition: transform .15s ease;
}
.icps-news__link:hover .icps-news__link-circle { transform: translateX(4px); }
.icps-news__link-circle svg { width: 16px; height: 16px; }
.icps-news__grid {
	margin-top: 64px;
	display: grid;
	grid-template-columns: 1fr 427px;
	gap: 32px;
	align-items: start;
}
.icps-news__list {
	display: flex;
	flex-direction: column;
	gap: 1px;
	background: rgba(0,31,63,0.05);
	border: 1px solid rgba(0,31,63,0.05);
	border-radius: 28px;
	overflow: hidden;
}
.icps-news__item {
	display: flex;
	align-items: flex-start;
	gap: 24px;
	background: #fff;
	padding: 32px;
	text-decoration: none;
	transition: background .2s;
}
.icps-news__item:hover { background: #fafbfc; }
.icps-news__thumb {
	width: 112px; height: 112px;
	flex: 0 0 auto;
	border-radius: 16px;
	background-size: cover;
	background-position: center;
}
.icps-news__body { flex: 1 1 auto; min-width: 0; }
.icps-news__meta {
	display: block;
	font-size: 10px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: rgba(0,31,63,0.40);
}
.icps-news__meta em { font-style: normal; color: #ff1744; }
.icps-news__headline {
	display: block;
	margin-top: 12px;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.375;
	letter-spacing: -0.5px;
	color: #001f3f;
}
.icps-news__arrow { width: 20px; height: 20px; flex: 0 0 auto; margin-top: 4px; color: rgba(0,31,63,0.4); }
.icps-news__side-label {
	margin: 0 0 8px;
	font-size: 12px;
	letter-spacing: 3.6px;
	text-transform: uppercase;
	color: rgba(0,31,63,0.40);
}
.icps-news__file {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	background: #fafbfc;
	border: 1px solid rgba(0,31,63,0.05);
	border-radius: 16px;
	padding: 25px;
	margin-top: 16px;
	text-decoration: none;
	transition: border-color .2s;
}
.icps-news__file:hover { border-color: rgba(0,31,63,0.15); }
.icps-news__file-left { display: flex; align-items: center; gap: 16px; }
.icps-news__file-icon {
	width: 44px; height: 44px;
	display: inline-grid; place-items: center;
	background: rgba(255,23,68,0.05);
	border-radius: 20px;
	color: #ff1744;
	flex: 0 0 auto;
}
.icps-news__file-icon svg { width: 18px; height: 18px; }
.icps-news__file-name { display: block; font-size: 16px; letter-spacing: -0.4px; color: #001f3f; }
.icps-news__file-size {
	display: block;
	margin-top: 4px;
	font-size: 10px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: rgba(0,31,63,0.40);
}
.icps-news__dl { width: 18px; height: 18px; color: rgba(0,31,63,0.4); flex: 0 0 auto; }
.icps-news__expert {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	background: #001f3f;
	border-radius: 16px;
	padding: 24px;
	margin-top: 16px;
	text-decoration: none;
	transition: background .2s;
}
.icps-news__expert:hover { background: #00305f; }
.icps-news__expert-name { display: block; font-size: 16px; letter-spacing: -0.4px; color: #fff; }
.icps-news__expert-sub {
	display: block;
	margin-top: 4px;
	font-size: 10px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: rgba(255,255,255,0.60);
}
.icps-news__expert svg { width: 18px; height: 18px; color: #fff; flex: 0 0 auto; }

/* ---------- 12 · Certifications (Figma 9:1248) ---------- */
.icps-certs {
	background: #fafbfc;
	border-top: 1px solid rgba(0,31,63,0.05);
	border-bottom: 1px solid rgba(0,31,63,0.05);
	padding: 161px 0;
}
.icps-certs__container { max-width: 1440px; margin: 0 auto; padding: 0 48px; }
.icps-certs__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 32px;
}
.icps-certs__eyebrow {
	margin: 0;
	font-size: 12px;
	color: #ff1744;
	letter-spacing: 4.8px;
	text-transform: uppercase;
}
.icps-certs__title {
	margin: 32px 0 0;
	font-size: 96px;
	font-weight: 600;
	line-height: 1.02;
	letter-spacing: -2.4px;
	color: #001f3f;
}
.icps-certs__title em { color: #ff1744; font-style: italic; }
.icps-certs__intro {
	margin: 0;
	max-width: 427px;
	padding-left: 33px;
	border-left: 1px solid rgba(0,31,63,0.10);
	font-size: 16px;
	line-height: 1.625;
	color: rgba(0,31,63,0.55);
}
.icps-certs__grid {
	margin-top: 80px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1px;
	background: rgba(0,31,63,0.10);
	border: 1px solid rgba(0,31,63,0.10);
	border-radius: 32px;
	overflow: hidden;
}
.icps-certs__card { background: #fff; padding: 48px; min-height: 340px; }
.icps-certs__card-top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	padding-bottom: 48px;
}
.icps-certs__icon {
	width: 64px; height: 64px;
	display: inline-grid; place-items: center;
	background: rgba(255,23,68,0.05);
	border-radius: 16px;
	color: #ff1744;
}
.icps-certs__icon svg { width: 28px; height: 28px; }
.icps-certs__num { font-size: 12px; color: rgba(0,31,63,0.30); letter-spacing: 1.2px; }
.icps-certs__name { margin: 0 0 12px; font-size: 36px; line-height: 1.1; letter-spacing: -0.9px; color: #001f3f; }
.icps-certs__tag {
	margin: 0 0 20px;
	font-size: 11px;
	color: #ff1744;
	letter-spacing: 2.75px;
	text-transform: uppercase;
}
.icps-certs__desc { margin: 0; font-size: 14px; line-height: 1.625; color: rgba(0,31,63,0.55); }

/* ---------- 13 · CTA (Figma 9:1339) ---------- */
.icps-cta { background: #fff; padding: 96px 0; }
.icps-cta__container { max-width: 1440px; margin: 0 auto; padding: 0 48px; }
.icps-cta__card {
	position: relative;
	overflow: hidden;
	border-radius: 40px;
	background: linear-gradient(165deg, #001f3f 0%, #001f3f 50%, #001d3c 60%, #001b39 70%, #001936 80%, #001733 90%, #001530 100%);
	padding: 80px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 48px;
}
.icps-cta__glow {
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
}
.icps-cta__glow--red {
	width: 500px; height: 500px;
	right: -60px; top: -128px;
	background: rgba(255,23,68,0.20);
	filter: blur(120px);
}
.icps-cta__glow--cyan {
	width: 400px; height: 400px;
	left: -80px; top: 79px;
	background: rgba(0,184,212,0.15);
	filter: blur(120px);
}
.icps-cta__left { position: relative; }
.icps-cta__eyebrow {
	margin: 0;
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	color: #ff1744;
	letter-spacing: 4.8px;
	text-transform: uppercase;
}
.icps-cta__eyebrow svg { width: 14px; height: 14px; flex: 0 0 auto; }
.icps-cta__title {
	margin: 24px 0 0;
	font-size: 72px;
	font-weight: 600;
	line-height: 1.05;
	letter-spacing: -1.8px;
	color: #fff;
}
.icps-cta__title em { color: #ff1744; font-style: italic; }
.icps-cta__right { position: relative; max-width: 374px; text-align: right; }
.icps-cta__text { margin: 0; font-size: 16px; line-height: 1.625; color: rgba(255,255,255,0.60); }
.icps-cta__actions {
	margin-top: 32px;
	display: flex;
	justify-content: flex-end;
	gap: 12px;
}
.icps-cta__btn {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	border-radius: 16px;
	padding: 16px 28px;
	font-size: 16px;
	line-height: 1.5;
	text-decoration: none;
	transition: transform .15s ease, background .2s, border-color .2s;
}
.icps-cta__btn:hover { transform: translateY(-2px); }
.icps-cta__btn svg { width: 16px; height: 16px; }
.icps-cta__btn--primary { background: #fff; color: #001f3f !important; }
.icps-cta__btn--primary:hover { background: #f1f3f6; }
.icps-cta__btn--ghost { border: 1px solid rgba(255,255,255,0.20); color: #fff !important; }
.icps-cta__btn--ghost:hover { border-color: rgba(255,255,255,0.5); }

/* ---------- responsive ---------- */
@media (max-width: 1200px) {
	.icps-facility__title { font-size: 56px; }
	.icps-services__row { grid-template-columns: 50px 260px 1fr 300px; padding: 32px; }
	.icps-services__img { height: 190px; }
	.icps-purpose__container { grid-template-columns: 440px 1fr; gap: 32px; }
	.icps-purpose__media { min-height: 560px; }
	.icps-purpose__title { font-size: 48px; }
	.icps-trust__card--intro { width: 100%; min-height: 0; }
	.icps-trust__card { width: calc(50% - 12px); min-height: 0; }
	.icps-process__grid { grid-template-columns: repeat(2, 1fr); }
	.icps-quotes__title { font-size: 56px; }
	.icps-quotes__grid { grid-template-columns: 1fr; }
	.icps-quotes__card { min-height: 0; }
	.icps-news__grid { grid-template-columns: 1fr 360px; }
	.icps-certs__title { font-size: 72px; }
	.icps-certs__grid { grid-template-columns: repeat(2, 1fr); }
	.icps-cta__card { padding: 64px; }
	.icps-cta__title { font-size: 56px; }
}
@media (max-width: 1024px) {
	.icps-stats__container { padding: 0 24px; }
	.icps-stats__grid { grid-template-columns: repeat(2, 1fr); }
	.icps-intro { padding: 80px 0; }
	.icps-intro__container { grid-template-columns: 1fr; gap: 32px; padding: 0 24px; }
	.icps-intro__title { font-size: 44px; }
	.icps-intro__badge span { white-space: normal; }
	.icps-facility { padding: 80px 0; }
	.icps-facility__container { padding: 0 24px; }
	.icps-facility__head { flex-direction: column; align-items: flex-start; }
	.icps-facility__intro { border-left: 0; padding-left: 0; max-width: 640px; }
	.icps-facility__title { font-size: 44px; letter-spacing: -1px; }
	.icps-facility__grid { grid-template-columns: 1fr; }
	.icps-facility__media { min-height: 380px; }
	.icps-services { padding: 80px 0; }
	.icps-services__container { padding: 0 24px; }
	.icps-services__head { flex-direction: column; align-items: flex-start; }
	.icps-services__title { font-size: 44px; }
	.icps-services__table { margin-top: 48px; }
	.icps-services__row { grid-template-columns: 1fr; gap: 16px; }
	.icps-services__img { height: 220px; max-width: 480px; }
	.icps-purpose { padding: 80px 0; }
	.icps-purpose__container { grid-template-columns: 1fr; padding: 0 24px; }
	.icps-purpose__media { min-height: 420px; }
	.icps-purpose__title { font-size: 40px; letter-spacing: -1px; }
	.icps-trust { padding: 64px 0; }
	.icps-trust__container { padding: 0 24px; }
	.icps-trust__title { font-size: 36px; }
	.icps-process { padding: 80px 0; }
	.icps-process__container { padding: 0 24px; }
	.icps-process__head { flex-direction: column; align-items: flex-start; }
	.icps-process__title { font-size: 44px; }
	.icps-process__grid { margin-top: 40px; }
	.icps-logos { padding: 80px 0; }
	.icps-logos__container { padding: 0 24px; }
	.icps-logos__title { font-size: 44px; }
	.icps-logos__card { padding: 24px; }
	.icps-quotes { padding: 80px 0; }
	.icps-quotes__container { padding: 0 24px; }
	.icps-quotes__head { flex-direction: column; align-items: flex-start; }
	.icps-quotes__intro { border-left: 0; padding-left: 0; }
	.icps-quotes__title { font-size: 44px; letter-spacing: -1px; }
	.icps-quotes__card { padding: 32px; }
	.icps-news { padding: 80px 0; }
	.icps-news__container { padding: 0 24px; }
	.icps-news__head { flex-direction: column; align-items: flex-start; }
	.icps-news__title { font-size: 44px; }
	.icps-news__grid { grid-template-columns: 1fr; margin-top: 40px; }
	.icps-certs { padding: 96px 0; }
	.icps-certs__container { padding: 0 24px; }
	.icps-certs__head { flex-direction: column; align-items: flex-start; }
	.icps-certs__intro { border-left: 0; padding-left: 0; }
	.icps-certs__title { font-size: 56px; letter-spacing: -1.4px; }
	.icps-certs__grid { margin-top: 48px; }
	.icps-cta { padding: 64px 0; }
	.icps-cta__container { padding: 0 24px; }
	.icps-cta__card { flex-direction: column; align-items: flex-start; padding: 48px; }
	.icps-cta__right { text-align: left; max-width: none; }
	.icps-cta__actions { justify-content: flex-start; }
	.icps-cta__title { font-size: 44px; letter-spacing: -1px; }
}
@media (max-width: 680px) {
	.icps-stats { padding: 0 0 56px; }
	.icps-stats__cell { padding: 28px; }
	.icps-stats__num { font-size: 30px; }
	.icps-intro { padding: 56px 0; }
	.icps-intro__title { font-size: 34px; letter-spacing: -0.5px; }
	.icps-facility { padding: 56px 0; }
	.icps-facility__title { font-size: 34px; }
	.icps-facility__media { min-height: 300px; }
	.icps-facility__media-title { font-size: 19px; }
	.icps-services { padding: 56px 0; }
	.icps-services__title { font-size: 32px; letter-spacing: -0.5px; }
	.icps-services__name h3 { font-size: 24px; }
	.icps-services__row { padding: 24px; }
	.icps-purpose { padding: 56px 0; }
	.icps-purpose__media { min-height: 320px; }
	.icps-purpose__title { font-size: 32px; }
	.icps-purpose__item { padding: 16px 20px; font-size: 14px; }
	.icps-trust__card { width: 100%; }
	.icps-trust__card--intro { padding: 33px; }
	.icps-trust__title { font-size: 30px; }
	.icps-process { padding: 56px 0; }
	.icps-process__title { font-size: 32px; letter-spacing: -0.5px; }
	.icps-process__grid { grid-template-columns: 1fr; }
	.icps-process__step { padding: 28px; }
	.icps-process__step h3 { margin-top: 32px; }
	.icps-logos { padding: 56px 0; }
	.icps-logos__title { font-size: 32px; letter-spacing: -0.5px; }
	.icps-quotes { padding: 56px 0; }
	.icps-quotes__title { font-size: 34px; }
	.icps-quotes__text { font-size: 17px; }
	.icps-news { padding: 56px 0; }
	.icps-news__title { font-size: 34px; }
	.icps-news__item { flex-wrap: wrap; padding: 20px; }
	.icps-news__thumb { width: 88px; height: 88px; }
	.icps-news__headline { font-size: 17px; }
	.icps-certs { padding: 64px 0; }
	.icps-certs__title { font-size: 40px; letter-spacing: -1px; }
	.icps-certs__grid { grid-template-columns: 1fr; }
	.icps-certs__card { padding: 32px; min-height: 0; }
	.icps-certs__card-top { padding-bottom: 32px; }
	.icps-certs__name { font-size: 28px; }
	.icps-cta__card { padding: 32px; border-radius: 28px; }
	.icps-cta__title { font-size: 32px; letter-spacing: -0.5px; }
	.icps-cta__btn { padding: 14px 20px; }
}

/* ============================================================
   Hover polish — consistent interactive feedback
   ============================================================ */

/* Standalone bordered cards → lift + accent border + soft shadow */
.icps-trust__card { transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.icps-trust__card:not(.icps-trust__card--intro):hover {
	transform: translateY(-4px);
	border-color: rgba(255,23,68,0.25);
	box-shadow: 0 18px 40px rgba(0,31,63,0.08);
}

/* Seamless divider grids (no lift) → clean tint */
.icps-certs__card,
.icps-process__step { transition: background .2s ease; }
.icps-certs__card:hover,
.icps-process__step:hover { background: #fafbfc; }

/* Icon tiles warm up on card hover */
.icps-trust__icon,
.icps-certs__icon,
.icps-process__icon { transition: background .2s ease; }
.icps-trust__card:hover .icps-trust__icon,
.icps-certs__card:hover .icps-certs__icon,
.icps-process__step:hover .icps-process__icon { background: rgba(255,23,68,0.12); }

/* Dark facility certification rows */
.icps-facility__cert { transition: background .2s ease, border-color .2s ease; }
.icps-facility__cert:hover { background: rgba(255,255,255,0.07); border-color: rgba(255,255,255,0.20); }

/* Services rows: the ↗ image badge reacts on row hover */
.icps-services__img-circle { transition: background .2s ease, color .2s ease; }
.icps-services__row:hover .icps-services__img-circle { background: #001f3f; color: #fff; }
