/* =========================================================================
 * H44 Lacrosse — homepage styles
 * ====================================================================== */

/* ---- Hero ---- */
.h44-hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 15% 15%, rgba(184,153,104,.18), transparent 40%),
		radial-gradient(circle at 85% 85%, rgba(184,153,104,.15), transparent 45%),
		linear-gradient(160deg, var(--h44-navy) 0%, var(--h44-navy-deep) 100%);
	color: var(--h44-white);
	padding-block: clamp(4.5rem, 13vw, 10rem);
}
.h44-hero__foliage {
	position: absolute;
	inset: 0;
	pointer-events: none;
	overflow: hidden;
}

/* ---- Foliage decoration primitives ---- */
.h44-foliage {
	position: absolute;
	display: block;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	pointer-events: none;
	will-change: transform;
}
/* mask-based tinting so one SVG can be navy or gold */
.h44-foliage--gold  { background-color: var(--h44-gold); }
.h44-foliage--navy  { background-color: var(--h44-navy-deep); }

/* Hero corner arrangement (echoes the flyer framing) */
.h44-hero .h44-foliage--palm-tl {
	top: -40px; left: -50px;
	width: 260px; height: 290px;
	background-color: var(--h44-gold);
	-webkit-mask: url('../img/foliage/palm.svg') no-repeat center / contain;
	        mask: url('../img/foliage/palm.svg') no-repeat center / contain;
	opacity: .5; transform: rotate(-18deg);
}
.h44-hero .h44-foliage--hibiscus-tl {
	top: 60px; left: -70px;
	width: 240px; height: 240px;
	background-color: var(--h44-navy-deep);
	-webkit-mask: url('../img/foliage/hibiscus.svg') no-repeat center / contain;
	        mask: url('../img/foliage/hibiscus.svg') no-repeat center / contain;
	opacity: .65; transform: rotate(8deg);
}
.h44-hero .h44-foliage--palm-br {
	bottom: -50px; right: -60px;
	width: 300px; height: 330px;
	background-color: var(--h44-gold);
	-webkit-mask: url('../img/foliage/palm.svg') no-repeat center / contain;
	        mask: url('../img/foliage/palm.svg') no-repeat center / contain;
	opacity: .5; transform: rotate(160deg);
}
.h44-hero .h44-foliage--hibiscus-br {
	bottom: -40px; right: 40px;
	width: 230px; height: 230px;
	background-color: var(--h44-gold);
	-webkit-mask: url('../img/foliage/hibiscus.svg') no-repeat center / contain;
	        mask: url('../img/foliage/hibiscus.svg') no-repeat center / contain;
	opacity: .55; transform: rotate(-12deg);
}
.h44-hero .h44-foliage--monstera-bl {
	bottom: -30px; left: -40px;
	width: 220px; height: 230px;
	background-color: var(--h44-navy-deep);
	-webkit-mask: url('../img/foliage/monstera.svg') no-repeat center / contain;
	        mask: url('../img/foliage/monstera.svg') no-repeat center / contain;
	opacity: .5; transform: rotate(20deg);
}

/* Hide the busier corner pieces on small screens to keep hero clean */
@media (max-width: 720px) {
	.h44-hero .h44-foliage--hibiscus-tl,
	.h44-hero .h44-foliage--monstera-bl { display: none; }
	.h44-hero .h44-foliage--palm-tl { width: 170px; height: 190px; opacity: .38; }
	.h44-hero .h44-foliage--palm-br { width: 190px; height: 210px; opacity: .38; }
	.h44-hero .h44-foliage--hibiscus-br { width: 150px; height: 150px; opacity: .4; }
}
.h44-hero__inner { position: relative; max-width: 780px; }
.h44-hero__title {
	color: var(--h44-white);
	margin: 0.3em 0 0.4em;
}
.h44-hero__title span { color: var(--h44-gold-bright); }
.h44-hero__lede {
	font-size: clamp(1.1rem, 2vw, 1.4rem);
	max-width: 52ch;
	color: rgba(239, 231, 214, 0.9);
	margin-bottom: 2rem;
}
.h44-hero__actions { display: flex; flex-wrap: wrap; gap: 1rem; }

/* ---- Pillars ---- */
.h44-pillars { background: var(--h44-cream); }
.h44-pillars__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--space-md);
}
.h44-pillar {
	background: var(--h44-white);
	border-radius: var(--radius);
	padding: 2rem 1.6rem;
	box-shadow: var(--shadow-card);
	border-top: 4px solid var(--h44-gold);
	text-align: center;
}
.h44-pillar__icon {
	font-size: 2.4rem;
	color: var(--h44-gold);
	line-height: 1;
	margin-bottom: 0.6rem;
}
.h44-pillar h3 { font-size: 1.15rem; }
.h44-pillar p { font-size: 0.95rem; margin: 0; }

@media (max-width: 900px) { .h44-pillars__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .h44-pillars__grid { grid-template-columns: 1fr; } }

/* ---- Combine feature ---- */
.h44-combine {
	background:
		radial-gradient(circle at 88% 30%, rgba(184,153,104,.15), transparent 44%),
		linear-gradient(135deg, var(--h44-navy) 0%, var(--h44-navy-deep) 100%);
	color: var(--h44-white);
	position: relative;
	overflow: hidden;
}
.h44-combine::after {
	content: "";
	position: absolute;
	bottom: -60px; right: -50px;
	width: 300px; height: 300px;
	background-color: var(--h44-gold);
	-webkit-mask: url('../img/foliage/hibiscus.svg') no-repeat center / contain;
	        mask: url('../img/foliage/hibiscus.svg') no-repeat center / contain;
	opacity: .4;
	transform: rotate(-10deg);
	pointer-events: none;
}
@media (max-width: 720px) {
	.h44-combine::after { width: 180px; height: 180px; opacity: .3; }
}
.h44-combine__inner { position: relative; z-index: 1; }
.h44-combine__body { max-width: 640px; }
.h44-combine h2 { color: var(--h44-white); margin: 0.1em 0 0.15em; }
.h44-combine__sub {
	font-family: var(--font-heading);
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--h44-gold-bright);
	font-size: 1.2rem;
	margin-bottom: 1.5rem;
}
.h44-combine__facts { list-style: none; margin: 0 0 2rem; padding: 0; }
.h44-combine__facts li {
	padding: 0.75rem 0;
	border-bottom: 1px solid rgba(255,255,255,.12);
	font-size: 1.05rem;
	color: rgba(239,231,214,.92);
}
.h44-combine__facts strong {
	display: inline-block;
	min-width: 110px;
	color: var(--h44-gold-bright);
	font-family: var(--font-heading);
	text-transform: uppercase;
	letter-spacing: .04em;
	font-size: 0.9rem;
}
