/*
 * TIS Icon Features. Centred heading + a 3-column grid of icon cards (light or dark skin).
 * Visual language mirrors the homepage: Orbitron headings, #003bff accents, 16px-radius cards.
 */

.tis-features { background: var(--tis-bg); }
.tis-features--dark { background: #001426; color: #fff; }

.tis-features__inner { padding-right: calc(75 * var(--tis-u)); padding-left: calc(75 * var(--tis-u)); }

.tis-features__head { text-align: center; }

.tis-features__eyebrow { gap: calc(24 * var(--tis-u)); margin: 0 auto; }
.tis-features__eyebrow .tis-eyebrow__line { width: calc(72 * var(--tis-u)); }
.tis-features--dark .tis-features__eyebrow { color: #98bff7; }

.tis-features__title {
	margin: calc(18 * var(--tis-u)) auto 0;
	font-family: var(--tis-font-display);
	font-size: max(28px, calc(56 * var(--tis-u)));
	font-weight: 900;
	line-height: 1.06;
	color: var(--tis-ink);
}

.tis-features--dark .tis-features__title { color: #fff; }

.tis-features__text {
	max-width: calc(830 * var(--tis-u));
	margin: calc(22 * var(--tis-u)) auto 0;
	font-size: max(15px, calc(21 * var(--tis-u)));
	font-weight: 400;
	line-height: 1.5;
	color: #555d73;
}

.tis-features--dark .tis-features__text { color: #cfd6e4; }
.tis-features__text p { margin: 0 0 0.5em; }
.tis-features__text p:last-child { margin-bottom: 0; }

.tis-features__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: calc(30 * var(--tis-u));
	margin-top: var(--tis-gap);
}

.tis-features__card {
	position: relative;
	padding: calc(40 * var(--tis-u)) calc(38 * var(--tis-u)) calc(44 * var(--tis-u));
	border: 1px solid var(--tis-line);
	border-radius: calc(18 * var(--tis-u));
	background: var(--tis-white);
	box-shadow: var(--tis-shadow-card);
	transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.tis-features__card.is-visible:hover,
.tis-features__card:not([data-reveal]):hover {
	transform: translateY(-6px);
	border-color: #c4d5f2;
	box-shadow: 0 24px 48px rgba(31, 66, 108, 0.12);
}

.tis-features--dark .tis-features__card { border-color: #0055a9; background: #001629; box-shadow: none; }
.tis-features--dark .tis-features__card.is-visible:hover { border-color: #1f7be0; box-shadow: 0 18px 40px rgba(0, 85, 255, 0.18); }

.tis-features__icon {
	width: max(60px, calc(84 * var(--tis-u)));
	height: max(60px, calc(84 * var(--tis-u)));
	color: var(--tis-primary);
	transition: background-color 0.3s ease, color 0.3s ease;
}

.tis-features__icon svg { width: max(28px, calc(40 * var(--tis-u))); height: max(28px, calc(40 * var(--tis-u))); }
.tis-features__card:hover .tis-features__icon { background: var(--tis-primary); color: #fff; }

.tis-features--dark .tis-features__icon { background: #031f3d; color: #a9c4ff; box-shadow: 0 0 0 1px #123b70; }
.tis-features--dark .tis-features__card:hover .tis-features__icon { background: var(--tis-primary); color: #fff; }

.tis-features__card-title {
	margin: calc(28 * var(--tis-u)) 0 0;
	font-family: var(--tis-font-body);
	font-size: max(18px, calc(25 * var(--tis-u)));
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: var(--tis-ink);
}

.tis-features--dark .tis-features__card-title { color: #fff; }

.tis-features__card-text {
	margin: calc(14 * var(--tis-u)) 0 0;
	font-size: max(14px, calc(18 * var(--tis-u)));
	font-weight: 400;
	line-height: 1.55;
	color: var(--tis-muted-2);
}

.tis-features--dark .tis-features__card-text { color: #d1d8eb; }

.tis-features__card-link { position: absolute; inset: 0; z-index: 1; border-radius: inherit; }

.tis-features__foot { display: flex; justify-content: center; margin-top: var(--tis-gap); }
.tis-features__btn { min-height: calc(62 * var(--tis-u)); border-radius: calc(12 * var(--tis-u)); padding: 0 calc(36 * var(--tis-u)); font-size: max(15px, calc(19 * var(--tis-u))); }

/* ---------------------------------------------------------------------
 * Tablet / Mobile
 * ------------------------------------------------------------------ */
@media (max-width: 1024px) {
	.tis-features__inner { padding-right: var(--tis-gutter); padding-left: var(--tis-gutter); }
	.tis-features__eyebrow { gap: 14px; }
	.tis-features__eyebrow .tis-eyebrow__line { width: 40px; }
	.tis-features__title { margin-top: 14px; font-size: 40px; }
	.tis-features__text { max-width: 640px; margin-top: 16px; font-size: 18px; }
	.tis-features__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: var(--tis-gap); }
	.tis-features__card { padding: 30px 28px 32px; border-radius: 16px; }
	.tis-features__icon { width: 68px; height: 68px; }
	.tis-features__icon svg { width: 32px; height: 32px; }
	.tis-features__card-title { margin-top: 22px; font-size: 21px; }
	.tis-features__card-text { margin-top: 10px; font-size: 16px; }
	.tis-features__foot { margin-top: var(--tis-gap); }
	.tis-features__btn { min-height: 54px; font-size: 17px; }
}

@media (max-width: 767px) {
	.tis-features__title { font-size: 28px; }
	.tis-features__text { font-size: 16px; }
	.tis-features__grid { grid-template-columns: 1fr; gap: 16px; }
	.tis-features__btn { width: 100%; }
}
