/* Hero */
.hero {
	position: relative;
	padding: 48px 0;
	overflow: hidden;
	background: linear-gradient(
		180deg,
		rgba(16, 16, 16, 0.6),
		rgba(12, 12, 12, 0.85)
	);
}
.hero-inner {
	display: flex;
	gap: 28px;
	align-items: center;
	justify-content: space-between;
	position: relative;
}
.hero-copy {
	flex: 1 1 48%;
	z-index: 2;
}
.hero-title {
	font-size: clamp(1.8rem, 3.6vw, 3rem);
	margin-bottom: 8px;
}
.hero-sub {
	color: var(--text-muted);
	margin-bottom: 18px;
	font-size: 1.05rem;
}
.hero-actions a {
	margin-right: 12px;
}

/* Hero image hex */
.hero-media {
	flex: 1 1 40%;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
}
.hex-visual {
	width: 320px;
	height: 320px;
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.55);
}
.hex-visual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	clip-path: polygon(
		25% 6.7%,
		75% 6.7%,
		100% 50%,
		75% 93.3%,
		25% 93.3%,
		0% 50%
	);
	transition: transform 0.35s ease;
}
.hex-visual img:hover {
	transform: scale(1.05);
}

/* Sections */
.section {
	padding: 40px 0;
	color: var(--text-light);
}
.lead {
	font-size: 1.05rem;
	color: var(--text-muted);
	max-width: 70ch;
	margin-bottom: 16px;
}

/* Gallery */
.gallery-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}
.gallery-item {
	aspect-ratio: 1/1;
	border-radius: 12px;
	overflow: hidden;
}

/* Contact band */
.contact-band {
	background: linear-gradient(
		135deg,
		rgba(200, 167, 109, 0.12),
		rgba(12, 12, 12, 0.85)
	);
	padding: 64px 0;
	margin-top: 32px;
	border-radius: 12px;
	text-align: center;
}
.contact-band h2 {
	font-size: clamp(1.5rem, 2.8vw, 2rem);
	margin-bottom: 12px;
}
.contact-band p {
	font-size: 1.05rem;
	color: var(--text-muted);
	margin-bottom: 18px;
}

/* Responsive */
@media (max-width: 980px) {
	.hero-inner {
		flex-direction: column-reverse;
		text-align: center;
		gap: 20px;
		padding: 20px 0;
	}
	.hero-media .hex-visual {
		width: 260px;
		height: 260px;
		margin: 0 auto;
	}
	.gallery-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 520px) {
	.gallery-grid {
		grid-template-columns: 1fr;
	}
	.hero-copy {
		padding: 0 10px;
	}
}
