/* =====================================================
   HOW IT WORKS PAGE — page-specific styles
   Global tokens & shared classes live in /style.css.
   Theme: monochrome, minimal, teal accent (--primary).
   Prefix: .hiw-
   ===================================================== */

/* --- Hero --- */
.hiw-hero {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	min-height: 74vh;
	padding: 220px 5% 140px;
	background: var(--bg-primary, #141414);
	overflow: hidden;
}
.hiw-hero .hero-bg {
	position: absolute;
	top: -15%; bottom: -15%; left: 0; right: 0;
	background-image: url('../images/founding-member-poster.jpg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	filter: grayscale(100%);
	will-change: transform;
	z-index: 0;
}
.hiw-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.7);
	z-index: 1;
}
.hiw-hero__inner {
	position: relative;
	z-index: 2;
	max-width: 720px;
	width: 100%;
}
.hiw-hero__eyebrow {
	display: inline-block;
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--primary, #4cb2ba);
	margin-bottom: 1.2rem;
}
.hiw-hero h1 {
	font-size: clamp(2.6rem, 5vw, 3.6rem);
	font-weight: 900;
	line-height: 1.12;
	color: var(--text-primary, #D4D4D4);
	margin: 0 0 1.2rem;
	letter-spacing: -.02em;
	text-transform: uppercase;
}
.hiw-hero__sub {
	font-size: .98rem;
	line-height: 1.75;
	color: rgba(212, 212, 212, 0.82);
	max-width: 600px;
	margin: 0 auto 2rem;
}
.hiw-hero__cta .cta-button {
	display: inline-flex;
	margin: 0 auto;
}

/* --- Section frame --- */
.content-wrapper.hiw-steps-section,
.content-wrapper.hiw-assure-section {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	padding: 6rem 2rem;
}
.content-wrapper.hiw-assure-section {
	border-top: 1px solid rgba(212, 212, 212, 0.06);
	background: var(--bg-secondary, #0F0F0F);
}

/* --- Timeline --- */
.hiw-timeline {
	list-style: none;
	margin: 0 auto;
	padding: 0;
	max-width: 780px;
	position: relative;
}
/* Vertical connector line running through the markers */
.hiw-timeline::before {
	content: '';
	position: absolute;
	top: 24px;
	bottom: 24px;
	left: 23px;
	width: 1px;
	background: rgba(212, 212, 212, 0.12);
}
.hiw-step {
	position: relative;
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 1.5rem;
	padding-bottom: 3rem;
}
.hiw-step:last-child {
	padding-bottom: 0;
}
.hiw-step__marker {
	position: relative;
	z-index: 1;
}
.hiw-step__marker span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border: 1px solid var(--primary, #4cb2ba);
	border-radius: 50%;
	background: var(--bg-primary, #141414);
	color: var(--primary, #4cb2ba);
	font-size: 1.15rem;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
}
.hiw-step__content {
	border: 1px solid rgba(212, 212, 212, 0.06);
	background: var(--bg-tile, #1a1a1a);
	border-radius: 4px;
	padding: 1.8rem 1.7rem;
}
.hiw-step__kicker {
	display: inline-block;
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--primary, #4cb2ba);
	margin-bottom: .5rem;
}
.hiw-step__content h3 {
	font-size: clamp(1.25rem, 2.6vw, 1.6rem);
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: -.01em;
	color: var(--text-primary, #D4D4D4);
	margin: 0 0 .6rem;
	line-height: 1.15;
}
.hiw-step__lead {
	font-size: .92rem;
	line-height: 1.65;
	color: var(--text-secondary, #8A8A8A);
	margin: 0 0 1.2rem;
}
.hiw-points {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: .9rem;
}
.hiw-points li {
	position: relative;
	padding-left: 1.6rem;
	font-size: .88rem;
	line-height: 1.6;
	color: var(--text-secondary, #8A8A8A);
}
.hiw-points li::before {
	content: '';
	position: absolute;
	left: 0;
	top: .5em;
	width: 8px;
	height: 8px;
	border: 1px solid var(--primary, #4cb2ba);
	border-radius: 50%;
}
.hiw-points strong {
	color: var(--text-primary, #D4D4D4);
	font-weight: 700;
}
.hiw-step__cta {
	margin-top: 1.4rem;
}

/* --- Reassurance grid --- */
.hiw-assure-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
	max-width: 1000px;
	margin: 0 auto;
}
.hiw-assure {
	text-align: center;
	padding: 1.8rem 1.4rem;
	border: 1px solid rgba(212, 212, 212, 0.06);
	border-radius: 3px;
	background: var(--bg-tile, #1a1a1a);
}
.hiw-assure h3 {
	font-size: 1rem;
	font-weight: 800;
	text-transform: uppercase;
	color: var(--text-primary, #D4D4D4);
	margin: 0 0 .5rem;
}
.hiw-assure p {
	font-size: .86rem;
	line-height: 1.65;
	color: var(--text-secondary, #8A8A8A);
	margin: 0;
}

/* --- Responsive --- */
@media (max-width: 900px) {
	.hiw-assure-grid {
		grid-template-columns: 1fr;
		max-width: 420px;
	}
}
@media (max-width: 600px) {
	.hiw-hero {
		min-height: 66vh;
		padding: 160px 6% 100px;
	}
	.content-wrapper.hiw-steps-section,
	.content-wrapper.hiw-assure-section {
		padding: 4rem 1.25rem;
	}
	.hiw-step {
		grid-template-columns: 40px 1fr;
		gap: 1rem;
	}
	.hiw-step__marker span {
		width: 40px;
		height: 40px;
		font-size: 1rem;
	}
	.hiw-timeline::before {
		left: 19px;
	}
	.hiw-step__content {
		padding: 1.5rem 1.3rem;
	}
}
