/* ============================================================
   ICPS — Careers page
   ============================================================ */
.icps-car, .icps-carval, .icps-carjob, .icps-carben, .icps-carcta {
	width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);
	font-family: "Poppins", sans-serif;
}

/* ---------- Hero ---------- */
.icps-car { background: #fff; padding: 80px 0 96px; }
.icps-car__container { max-width: 1440px; margin: 0 auto; padding: 0 48px; display: grid; grid-template-columns: 8fr 4fr; gap: 48px; align-items: end; }
.icps-car__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-car__eyebrow .line { display: inline-block; width: 32px; height: 2px; background: #ff1744; margin-right: 14px; }
.icps-car__eyebrow em { color: #ff1744; font-style: normal; margin-left: 6px; }
.icps-car__title { margin: 0; font-size: 104px; font-weight: 600; line-height: 0.95; letter-spacing: -3px; color: #001f3f; }
.icps-car__title em { color: #ff1744; font-style: italic; }
.icps-car__lead { margin: 32px 0 0; max-width: 640px; font-size: 17px; line-height: 1.7; color: rgba(0,31,63,0.6); }
.icps-car__media { position: relative; aspect-ratio: 4 / 5; border-radius: 32px; overflow: hidden; background-size: cover; background-position: center; }
.icps-car__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, #001f3f, rgba(0,31,63,0.3) 55%, transparent); }
.icps-car__media-top { position: absolute; top: 24px; left: 24px; right: 24px; z-index: 1; display: flex; align-items: center; gap: 12px; color: #fff; }
.icps-car__avs { display: flex; }
.icps-car__av { width: 32px; height: 32px; border-radius: 50%; border: 2px solid #001f3f; background-size: cover; background-position: center; margin-left: -8px; filter: grayscale(1); }
.icps-car__av:first-child { margin-left: 0; }
.icps-car__team { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; }
.icps-car__media-bot { position: absolute; bottom: 24px; left: 24px; right: 24px; z-index: 1; color: #fff; }
.icps-car__hiring { display: block; font-size: 11px; letter-spacing: 3px; text-transform: uppercase; color: #ff1744; margin-bottom: 8px; }
.icps-car__hiring-t { font-size: 22px; letter-spacing: -0.4px; }

/* ---------- Values ---------- */
.icps-carval { background: #fafbfc; border-top: 1px solid rgba(0,31,63,0.05); border-bottom: 1px solid rgba(0,31,63,0.05); padding: 96px 0; }
.icps-carval__container { max-width: 1440px; margin: 0 auto; padding: 0 48px; }
.icps-carval__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-bottom: 48px; }
.icps-carval__eyebrow { margin: 0 0 16px; font-size: 12px; color: #ff1744; letter-spacing: 3px; text-transform: uppercase; }
.icps-carval__title { margin: 0; font-size: 48px; font-weight: 600; line-height: 1.05; letter-spacing: -1.2px; color: #001f3f; }
.icps-carval__title em { color: #ff1744; font-style: italic; }
.icps-carval__intro { margin: 0; max-width: 300px; font-size: 14px; line-height: 1.7; color: rgba(0,31,63,0.55); }
.icps-carval__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: rgba(0,31,63,0.1); border: 1px solid rgba(0,31,63,0.1); border-radius: 28px; overflow: hidden; }
.icps-carval__card { background: #fff; padding: 40px; transition: background .2s; }
.icps-carval__card:hover { background: #fafbfc; }
.icps-carval__top { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 48px; }
.icps-carval__ic { width: 48px; height: 48px; display: inline-grid; place-items: center; border-radius: 14px; background: rgba(255,23,68,0.05); color: #ff1744; transition: background .2s, color .2s; }
.icps-carval__card:hover .icps-carval__ic { background: #ff1744; color: #fff; }
.icps-carval__ic svg { width: 22px; height: 22px; }
.icps-carval__no { font-size: 11px; letter-spacing: 2px; color: rgba(0,31,63,0.3); }
.icps-carval__card h3 { margin: 0 0 12px; font-size: 22px; font-weight: 600; letter-spacing: -0.4px; color: #001f3f; }
.icps-carval__card p { margin: 0; font-size: 13px; line-height: 1.65; color: rgba(0,31,63,0.55); }

/* ---------- Jobs ---------- */
.icps-carjob { background: #fff; padding: 96px 0; }
.icps-carjob__container { max-width: 1440px; margin: 0 auto; padding: 0 48px; }
.icps-carjob__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; margin-bottom: 40px; flex-wrap: wrap; }
.icps-carjob__eyebrow { margin: 0 0 16px; font-size: 12px; color: #ff1744; letter-spacing: 3px; text-transform: uppercase; }
.icps-carjob__title { margin: 0; font-size: 48px; font-weight: 600; line-height: 1.05; letter-spacing: -1.2px; color: #001f3f; }
.icps-carjob__title em { color: #ff1744; font-style: italic; }
.icps-carjob__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.icps-carjob__list { border: 1px solid rgba(0,31,63,0.05); border-radius: 28px; overflow: hidden; display: flex; flex-direction: column; gap: 1px; background: rgba(0,31,63,0.05); }
.icps-carjob__row { display: grid; grid-template-columns: auto 5fr 2fr 3fr auto; gap: 24px; align-items: center; background: #fff; padding: 36px 40px; text-decoration: none; transition: background .2s; }
.icps-carjob__row:hover { background: #fafbfc; }
.icps-carjob__no { font-size: 12px; letter-spacing: 1px; color: rgba(0,31,63,0.3); }
.icps-carjob__dept { display: block; font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: #ff1744; margin-bottom: 8px; }
.icps-carjob__t { font-size: 22px; font-weight: 600; letter-spacing: -0.4px; color: #001f3f; transition: color .2s; }
.icps-carjob__row:hover .icps-carjob__t { color: #ff1744; }
.icps-carjob__meta { display: flex; align-items: center; gap: 8px; font-size: 14px; color: rgba(0,31,63,0.55); }
.icps-carjob__meta svg { width: 14px; height: 14px; flex: 0 0 auto; }
.icps-carjob__go { width: 48px; height: 48px; justify-self: end; display: grid; place-items: center; background: #001f3f; color: #fff; border-radius: 50%; transition: background .2s; }
.icps-carjob__row:hover .icps-carjob__go { background: #ff1744; }
.icps-carjob__go svg { width: 18px; height: 18px; }

/* ---------- Benefits (dark) ---------- */
.icps-carben { background: #001f3f; padding: 128px 0; }
.icps-carben__container { max-width: 1440px; margin: 0 auto; padding: 0 48px; display: grid; grid-template-columns: 5fr 7fr; gap: 48px; align-items: center; }
.icps-carben__media { position: relative; aspect-ratio: 4 / 5; border-radius: 32px; overflow: hidden; background-size: cover; background-position: center; }
.icps-carben__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top right, rgba(0,31,63,0.7), transparent 60%); }
.icps-carben__tag { position: absolute; top: 24px; left: 24px; z-index: 1; padding: 8px 16px; background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.2); border-radius: 999px; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: #fff; }
.icps-carben__eyebrow { margin: 0 0 32px; font-size: 12px; color: #ff1744; letter-spacing: 4px; text-transform: uppercase; }
.icps-carben__title { margin: 0 0 48px; font-size: 64px; font-weight: 600; line-height: 1.05; letter-spacing: -1.8px; color: #fff; }
.icps-carben__title em { color: #ff1744; font-style: italic; }
.icps-carben__list { border: 1px solid rgba(255,255,255,0.1); border-radius: 24px; overflow: hidden; display: flex; flex-direction: column; gap: 1px; background: rgba(255,255,255,0.1); }
.icps-carben__item { display: flex; align-items: center; gap: 24px; background: #001f3f; padding: 24px 28px; transition: background .2s; }
.icps-carben__item:hover { background: #001a35; }
.icps-carben__item .n { font-size: 11px; letter-spacing: 1px; color: #ff1744; flex: 0 0 auto; }
.icps-carben__item .ic { color: #ff1744; flex: 0 0 auto; display: grid; }
.icps-carben__item .ic svg { width: 18px; height: 18px; }
.icps-carben__item .t { font-size: 18px; color: rgba(255,255,255,0.8); }

/* ---------- CTA ---------- */
.icps-carcta { background: #fff; padding: 96px 0; }
.icps-carcta__container { max-width: 1440px; margin: 0 auto; padding: 0 48px; }
.icps-carcta__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-carcta__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-carcta__body { position: relative; }
.icps-carcta__eyebrow { margin: 0 0 16px; font-size: 12px; color: #ff1744; letter-spacing: 3px; text-transform: uppercase; }
.icps-carcta__title { margin: 0 0 24px; font-size: 52px; font-weight: 600; line-height: 1.05; letter-spacing: -1.5px; color: #001f3f; }
.icps-carcta__title em { color: #ff1744; font-style: italic; }
.icps-carcta__text { margin: 0; max-width: 560px; font-size: 16px; line-height: 1.7; color: rgba(0,31,63,0.6); }
.icps-carcta__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-carcta__btn:hover { background: #ff1744; transform: translateY(-2px); }
.icps-carcta__btn svg { width: 18px; height: 18px; }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
	.icps-car { padding: 56px 0 64px; }
	.icps-car__container, .icps-carval__container, .icps-carjob__container, .icps-carben__container, .icps-carcta__container { padding: 0 24px; }
	.icps-car__container { grid-template-columns: 1fr; gap: 40px; }
	.icps-car__title { font-size: 68px; letter-spacing: -1.5px; }
	.icps-carval { padding: 64px 0; }
	.icps-carval__head { flex-direction: column; align-items: flex-start; }
	.icps-carval__title { font-size: 36px; }
	.icps-carval__grid { grid-template-columns: 1fr 1fr; }
	.icps-carjob { padding: 64px 0; }
	.icps-carjob__title { font-size: 36px; }
	.icps-carjob__row { grid-template-columns: auto 1fr auto; gap: 12px 20px; }
	.icps-carjob__meta { grid-column: 2; }
	.icps-carben { padding: 80px 0; }
	.icps-carben__container { grid-template-columns: 1fr; gap: 32px; }
	.icps-carben__title { font-size: 44px; }
	.icps-carcta { padding: 64px 0; }
	.icps-carcta__card { grid-template-columns: 1fr; padding: 40px; }
	.icps-carcta__title { font-size: 36px; }
	.icps-carcta__btn { justify-self: start; }
}
@media (max-width: 680px) {
	.icps-car__title { font-size: 46px; }
	.icps-carval__grid { grid-template-columns: 1fr; }
	.icps-carjob__row { grid-template-columns: 1fr; }
	.icps-carjob__go { display: none; }
	.icps-carben__title { font-size: 32px; }
	.icps-carcta__title { font-size: 28px; }
}
