/**
 * Homepage sections: hero, paths, why-us, plan band, contact CTA.
 */

/* ---- Hero ---- */
.c-hero {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: center;
	min-height: min(88vh, 760px);
	padding-block: var(--space-8) calc(var(--space-9) + var(--space-6));
	background: var(--color-primary);
	color: var(--color-on-primary);
	overflow: hidden;
}

.c-hero__media {
	position: absolute;
	inset: 0;
	z-index: -1;
}

.c-hero__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Photo: dark scrim keeps text ≥ 4.5:1. Illustration already has a navy field. */
.c-hero__media:has(.c-hero__img:not(.c-hero__img--illustration))::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, var(--color-scrim-strong) 0%, var(--color-scrim) 55%, transparent 100%);
}

@media (max-width: 767px) {
	.c-hero__img--illustration {
		object-position: 80% 100%;
	}

	/* On narrow screens text overlaps the image: scrim both photo and illustration. */
	.c-hero__media::after {
		content: "";
		position: absolute;
		inset: 0;
		background: linear-gradient(180deg, var(--color-scrim-strong) 0%, var(--color-scrim-strong) 55%, var(--color-scrim) 100%);
	}
}

.c-hero__content {
	max-width: 640px;
}

.c-hero__eyebrow {
	display: inline-block;
	margin: 0 0 var(--space-4);
	padding: var(--space-1) var(--space-3);
	border: 1px solid var(--color-on-primary-border);
	border-radius: var(--radius-pill);
	font-size: var(--text-small);
	font-weight: var(--weight-medium);
	color: var(--color-highlight);
	letter-spacing: 0.02em;
}

.c-hero__title {
	margin: 0 0 var(--space-4);
	font-size: var(--text-display);
	line-height: var(--leading-tight);
	color: var(--color-on-primary);
}

.c-hero__lead {
	margin: 0 0 var(--space-6);
	font-size: var(--text-lead);
	color: var(--color-on-primary-muted);
}

.c-hero__ctas {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
}

@media (max-width: 479px) {
	.c-hero__ctas .c-btn {
		width: 100%;
	}
}

.c-hero__trust {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2) var(--space-5);
	margin: var(--space-6) 0 0;
	padding: 0;
	list-style: none;
	font-size: var(--text-small);
	color: var(--color-on-primary-muted);
}

.c-hero__trust li {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
}

.c-hero__trust .c-icon {
	color: var(--color-highlight);
}

/* ---- Three paths (overlap hero bottom) ---- */
.c-paths {
	position: relative;
	z-index: 2;
	margin-top: calc(var(--space-9) * -1);
}

.c-paths__list {
	display: grid;
	gap: var(--space-4);
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 900px) {
	.c-paths__list {
		grid-template-columns: repeat(3, 1fr);
	}
}

.c-path {
	flex-direction: row;
	gap: var(--space-4);
	padding: var(--space-5);
	box-shadow: var(--shadow-3);
}

.c-path__icon {
	display: grid;
	place-items: center;
	flex-shrink: 0;
	width: 52px;
	height: 52px;
	border-radius: var(--radius-md);
}

.c-path--explore .c-path__icon {
	background: var(--color-secondary-50);
	color: var(--color-secondary);
}

.c-path--book .c-path__icon {
	background: var(--color-accent-50);
	color: var(--color-accent-strong);
}

.c-path--request .c-path__icon {
	background: var(--color-primary-50);
	color: var(--color-primary);
}

.c-path__tag {
	margin: 0;
	font-size: var(--text-caption);
	font-weight: var(--weight-bold);
	letter-spacing: 0.12em;
	color: var(--color-muted);
}

.c-path__title {
	margin: var(--space-1) 0 var(--space-2);
	font-size: var(--text-h3);
}

.c-path__text {
	margin: 0 0 var(--space-3);
	font-size: var(--text-small);
	color: var(--color-muted);
}

.c-path:hover {
	transform: translateY(-2px);
}

/* ---- Why us ---- */
.c-why {
	margin: 0;
	padding: 0;
	list-style: none;
}

.c-why .c-feature {
	padding: var(--space-5);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	background: var(--color-surface);
}

/* ---- Contact CTA ---- */
.c-contact-cta__inner {
	display: grid;
	gap: var(--space-6);
}

@media (min-width: 1024px) {
	.c-contact-cta__inner {
		grid-template-columns: 1.4fr 1fr;
		align-items: center;
	}
}

.c-contact-cta__text {
	max-width: 56ch;
	color: var(--color-on-primary-muted);
}

.c-contact-cta__address {
	display: flex;
	gap: var(--space-2);
	margin: 0;
	font-size: var(--text-small);
	color: var(--color-on-primary-muted);
}

.c-contact-cta__address .c-icon {
	color: var(--color-accent);
	margin-top: 0.2em;
}

.c-contact-cta__actions {
	display: grid;
	gap: var(--space-3);
}

/* Photo credit for a free-licence hero photo */
.c-hero__credit {
	position: absolute;
	right: var(--space-3);
	bottom: var(--space-2);
	z-index: 1;
	max-width: min(90%, 560px);
	margin: 0;
	padding: 2px 8px;
	border-radius: 4px;
	background: rgba(0, 0, 0, 0.45);
	color: #fff;
	font-size: 11px;
	line-height: 1.4;
	text-align: right;
}

.c-hero__credit a {
	color: inherit;
	text-decoration: underline;
}


@media (max-width: 782px) {
	.c-hero__credit {
		top: var(--space-2);
		bottom: auto;
		font-size: 10px;
	}
}
