/**
 * Lodge Lakes — Luxury homepage rebuild (below hero) · v2
 * Layered editorial · carpy · French venue · mobile-first
 */

/* ==========================================================================
   Shared editorial primitives
   ========================================================================== */

.luxe-eyebrow {
	margin: 0 0 var(--space-md);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-bronze);
}

.luxe-eyebrow--gold {
	color: var(--color-bronze-light);
}

/* Chapter markers — the homepage reads as a numbered journey */
.luxe-chapter {
	letter-spacing: 0.26em;
	font-variant-numeric: tabular-nums;
}

.luxe-heading {
	margin: 0 0 var(--space-lg);
	font-family: var(--font-display);
	font-size: clamp(2.125rem, 4.8vw, 3.25rem);
	font-weight: 500;
	line-height: 1.08;
	letter-spacing: -0.01em;
	color: var(--color-green-deep);
	text-wrap: balance;
}

.luxe-heading--center {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	max-width: 46rem;
}

.luxe-heading--light {
	color: var(--color-white);
}

.luxe-lead {
	margin: 0 0 var(--space-lg);
	font-size: 1.0625rem;
	line-height: 1.8;
	color: var(--color-charcoal-soft);
	max-width: 42rem;
}

.luxe-lead--center {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}

.luxe-lead--light {
	color: rgba(255, 252, 247, 0.82);
}

.luxe-section-head {
	margin-bottom: var(--space-2xl);
}

.luxe-section-head .luxe-eyebrow {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-md);
	text-align: center;
}

.luxe-section-head .luxe-eyebrow::before,
.luxe-section-head .luxe-eyebrow::after {
	content: "";
	width: 2.25rem;
	height: 1px;
	background: currentColor;
	opacity: 0.5;
}

.luxe-textlink {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	min-height: 44px;
	font-size: 0.9375rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--color-forest);
	text-decoration: none;
	border-bottom: 1px solid var(--color-bronze);
	transition: color var(--transition), border-color var(--transition), gap var(--transition);
}

.luxe-textlink:hover {
	color: var(--color-bronze);
	gap: 0.75rem;
}

/* Editorial pull quote — one per section, used sparingly */
.luxe-pullquote {
	margin: var(--space-xl) 0;
	padding: var(--space-lg) 0 var(--space-lg) var(--space-lg);
	border-left: 2px solid var(--color-bronze);
	max-width: 34rem;
}

.luxe-pullquote p {
	margin: 0;
	font-family: var(--font-display);
	font-size: clamp(1.25rem, 2.2vw, 1.5rem);
	font-style: italic;
	line-height: 1.45;
	color: rgba(255, 252, 247, 0.92);
}

/* Map / location aside — italic serif annotation */
.luxe-aside {
	margin: var(--space-md) 0 0;
	font-family: var(--font-display);
	font-size: 0.9375rem;
	font-style: italic;
	letter-spacing: 0.06em;
	color: var(--color-bronze);
}

.luxe-aside--center {
	text-align: center;
	margin-top: var(--space-lg);
}

/* Atmospheric photo caption */
.luxe-caption {
	margin: var(--space-sm) 0 0;
	padding-top: var(--space-sm);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255, 252, 247, 0.75);
	border-top: 1px solid rgba(180, 154, 92, 0.35);
}

/*
 * Photo slots — .luxe-photo-slot--* classes mark replaceable atmosphere imagery.
 * Currently they reuse venue lake photos; swap in dedicated shots when available:
 *   .luxe-photo-slot--misty-lake   → dawn mist over the water (intro backdrop)
 *   .luxe-photo-slot--angler-dusk  → rods/angler silhouette at dusk (enquiry backdrop)
 *   .luxe-photo-slot--cabin-trees  → cabin through trees / terrace at dusk (stay backdrop)
 */

/*
 * Unified photographic grade — every photo on the page passes through the same
 * slightly desaturated, gently lifted treatment so mixed-source photography
 * reads as one commissioned set.
 */
/* (parallax backdrops are excluded — filter would break fixed attachment;
   their heavy scrims perform the same tonal job) */
.home-magazine .editorial-hero__photo,
.luxe-intro__bg,
.luxe-enquiry__bg,
.luxe-destination__photo,
.luxe-catch__media img,
.luxe-stay__detail img {
	filter: saturate(0.92) contrast(1.04) brightness(0.99);
}

/* ==========================================================================
   Hero — cinematic atmosphere (front page only)
   ========================================================================== */

.home-magazine .editorial-hero__overlay {
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='120' viewBox='0 0 420 120'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='0.045' stroke-width='1'%3E%3Cpath d='M-10 30c40-12 80-12 120 0s80 12 120 0 80-12 120 0 80 12 120 0'/%3E%3Cpath d='M-10 62c40-12 80-12 120 0s80 12 120 0 80-12 120 0 80 12 120 0'/%3E%3Cpath d='M-10 94c40-12 80-12 120 0s80 12 120 0 80-12 120 0 80 12 120 0'/%3E%3C/g%3E%3C/svg%3E") repeat-x left bottom / 420px 120px,
		linear-gradient(to right, rgba(10, 30, 22, 0.82) 0%, rgba(15, 51, 40, 0.55) 42%, rgba(15, 51, 40, 0.2) 72%, rgba(15, 51, 40, 0.12) 100%),
		linear-gradient(to top, rgba(8, 24, 18, 0.94) 0%, rgba(10, 30, 22, 0.5) 38%, rgba(15, 51, 40, 0.14) 68%, rgba(8, 24, 18, 0.35) 100%);
}

/* low mist band drifting over the waterline */
.home-magazine .editorial-hero__media::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 12%;
	height: 30%;
	background: linear-gradient(to top, rgba(8, 24, 18, 0) 0%, rgba(15, 51, 40, 0.22) 45%, rgba(8, 24, 18, 0) 100%);
	filter: blur(14px);
	pointer-events: none;
}

.home-magazine .editorial-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: var(--space-md);
	color: var(--color-bronze-light);
	letter-spacing: 0.2em;
}

.home-magazine .editorial-hero__eyebrow::before {
	content: "";
	width: 2.5rem;
	height: 1px;
	background: var(--color-bronze);
}

.home-magazine .editorial-hero__actions .btn--hero-primary {
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(180, 154, 92, 0.35);
}

.home-magazine .editorial-hero__actions .btn--hero-primary:hover {
	box-shadow: 0 10px 32px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(180, 154, 92, 0.6);
}

/* Subtle lake contour texture (data URI, very low contrast) */
.luxe-texture-contour {
	position: relative;
}

.luxe-texture-contour::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='720' height='720' viewBox='0 0 720 720'%3E%3Cg fill='none' stroke='%230f3328' stroke-opacity='0.05' stroke-width='1.25'%3E%3Cpath d='M80 360c0-155 125-280 280-280s280 125 280 280-125 280-280 280S80 515 80 360z'/%3E%3Cpath d='M145 360c0-119 96-215 215-215s215 96 215 215-96 215-215 215-215-96-215-215z'/%3E%3Cpath d='M210 360c0-83 67-150 150-150s150 67 150 150-67 150-150 150-150-67-150-150z'/%3E%3Cpath d='M275 360c0-47 38-85 85-85s85 38 85 85-38 85-85 85-85-38-85-85z'/%3E%3C/g%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right -220px top -180px;
	pointer-events: none;
}

.luxe-texture-contour > .container {
	position: relative;
	z-index: 1;
}

/* ==========================================================================
   1 · Venue fact bar (overlaps hero)
   ========================================================================== */

.luxe-facts {
	position: relative;
	z-index: 6;
	margin-top: clamp(-5.5rem, -10vw, -3.75rem);
	background-color: var(--color-green-deep);
}

.luxe-facts::before {
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	top: 0;
	bottom: 0;
	background: var(--color-green-deep);
	z-index: -1;
}

.luxe-facts__panel {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	margin: 0;
	background: linear-gradient(165deg, var(--color-forest) 0%, var(--color-green-deep) 100%);
	border: 1px solid rgba(180, 154, 92, 0.35);
	border-top: 2px solid var(--color-bronze);
	border-radius: var(--radius-md);
	box-shadow: 0 24px 64px rgba(5, 18, 13, 0.45);
	overflow: hidden;
}

.luxe-facts__item {
	padding: var(--space-md) var(--space-lg);
	text-align: center;
	position: relative;
}

.luxe-facts__label {
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--color-bronze-light);
	margin-bottom: 0.3rem;
}

.luxe-facts__value {
	margin: 0;
	font-family: var(--font-display);
	font-size: clamp(1.25rem, 1.8vw, 1.625rem);
	font-weight: 600;
	line-height: 1.1;
	color: var(--color-white);
}

@media (max-width: 767px) {
	.luxe-facts__item:nth-child(odd) {
		border-right: 1px solid rgba(255, 252, 247, 0.1);
	}

	.luxe-facts__item:nth-child(n + 3) {
		border-top: 1px solid rgba(255, 252, 247, 0.1);
	}

	.luxe-facts__item:last-child:nth-child(odd) {
		grid-column: 1 / -1;
		border-right: none;
	}
}

@media (min-width: 768px) {
	.luxe-facts__panel {
		grid-template-columns: repeat(4, 1fr);
	}

	.luxe-facts__item {
		padding: var(--space-lg) var(--space-md);
	}

	.luxe-facts__item + .luxe-facts__item::before {
		content: "";
		position: absolute;
		left: 0;
		top: 26%;
		bottom: 26%;
		width: 1px;
		background: linear-gradient(to bottom, transparent, rgba(180, 154, 92, 0.45), transparent);
	}
}

/* ==========================================================================
   2 · Intro / positioning + At A Glance panel
   ========================================================================== */

.luxe-intro {
	position: relative;
	z-index: 2;
	margin-top: -1px;
	padding: clamp(4.5rem, 9vw, 7rem) 0 clamp(4rem, 8vw, 6.5rem);
	background-color: var(--color-green-deep);
}

.luxe-intro__backdrop {
	position: absolute;
	inset: 0;
}

.luxe-intro__backdrop img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 35%;
}

.luxe-intro__scrim {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(to right, rgba(8, 24, 18, 0.95) 0%, rgba(10, 30, 22, 0.9) 45%, rgba(15, 51, 40, 0.82) 100%),
		linear-gradient(to bottom, rgba(8, 24, 18, 0.6) 0%, transparent 30%, transparent 70%, rgba(8, 24, 18, 0.6) 100%);
}

.luxe-intro > .container {
	position: relative;
	z-index: 1;
}

.luxe-intro .luxe-heading {
	color: var(--color-white);
}

.luxe-intro .luxe-lead {
	color: rgba(255, 252, 247, 0.85);
}

.luxe-intro__grid {
	display: grid;
	gap: var(--space-2xl);
	align-items: start;
}

.luxe-intro__copy .luxe-eyebrow {
	display: flex;
	align-items: center;
	gap: var(--space-md);
	color: var(--color-bronze-light);
}

.luxe-intro__copy .luxe-eyebrow::before {
	content: "";
	width: 2.25rem;
	height: 1px;
	background: currentColor;
	opacity: 0.5;
}

.luxe-intro__copy .luxe-heading {
	max-width: 38rem;
}

.luxe-intro__links {
	margin: 0 0 var(--space-md);
	font-size: 1rem;
	line-height: 1.8;
	color: rgba(255, 252, 247, 0.78);
	max-width: 42rem;
}

.luxe-intro__links a {
	color: var(--color-bronze-light);
	font-weight: 600;
	text-decoration-color: rgba(180, 154, 92, 0.6);
}

.luxe-intro__links a:hover {
	color: var(--color-white);
}

.luxe-glance {
	position: relative;
	padding: var(--space-xl);
	background: linear-gradient(165deg, var(--color-white) 0%, var(--color-cream) 100%);
	border: 1px solid rgba(180, 154, 92, 0.55);
	border-radius: var(--radius-md);
	box-shadow: 0 28px 72px rgba(0, 0, 0, 0.45);
	overflow: hidden;
}

.luxe-glance::before {
	content: "";
	position: absolute;
	inset: 8px;
	border: 1px solid rgba(180, 154, 92, 0.3);
	border-radius: calc(var(--radius-md) - 4px);
	pointer-events: none;
}

.luxe-glance::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400' viewBox='0 0 400 400'%3E%3Cg fill='none' stroke='%230f3328' stroke-opacity='0.06' stroke-width='1'%3E%3Cpath d='M-20 320c60-40 140-40 200 0s140 40 240 0'/%3E%3Cpath d='M-20 350c60-40 140-40 200 0s140 40 240 0'/%3E%3Cpath d='M-20 380c60-40 140-40 200 0s140 40 240 0'/%3E%3C/g%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: bottom;
	background-size: 100% auto;
	pointer-events: none;
}

.luxe-glance__title {
	position: relative;
	z-index: 1;
	margin: 0 0 var(--space-lg);
	font-family: var(--font-display);
	font-size: 1.625rem;
	font-weight: 600;
	color: var(--color-green-deep);
	padding-bottom: var(--space-md);
	border-bottom: 1px solid rgba(180, 154, 92, 0.55);
}

.luxe-glance__list {
	position: relative;
	z-index: 1;
	list-style: none;
	margin: 0 0 var(--space-xl);
	padding: 0;
}

.luxe-glance__list li {
	display: flex;
	align-items: baseline;
	gap: var(--space-md);
	padding: 0.7rem 0;
}

.luxe-glance__list li + li {
	border-top: 1px solid rgba(15, 51, 40, 0.08);
}

.luxe-glance__num {
	font-family: var(--font-display);
	font-size: 0.9375rem;
	color: var(--color-bronze);
	min-width: 1.5rem;
}

.luxe-glance__label {
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--color-charcoal);
	letter-spacing: 0.02em;
}

.luxe-glance__cta {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	min-height: 44px;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--color-forest);
	text-decoration: none;
	transition: gap var(--transition), color var(--transition);
}

.luxe-glance__cta:hover {
	color: var(--color-bronze);
	gap: 0.85rem;
}

@media (min-width: 960px) {
	.luxe-intro__grid {
		grid-template-columns: 1.4fr 1fr;
		gap: var(--space-3xl);
	}

	/* the glance card hangs over the boundary into the statement section below */
	.luxe-intro--dark .luxe-glance {
		margin-bottom: -7.5rem;
	}
}

/* ==========================================================================
   3 · Lake showcase cards
   ========================================================================== */

.luxe-lakes {
	position: relative;
	padding: clamp(3.5rem, 7vw, 6rem) 0;
	background-color: var(--color-white);
	border-top: 1px solid rgba(15, 51, 40, 0.06);
	scroll-margin-top: calc(var(--header-height) + 1rem);
}

/* faint carp-scale texture behind the lake showcase */
.luxe-lakes::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='48' viewBox='0 0 80 48'%3E%3Cg fill='none' stroke='%230f3328' stroke-opacity='0.035' stroke-width='1'%3E%3Cpath d='M0 48c0-13.3 9-24 20-24s20 10.7 20 24'/%3E%3Cpath d='M40 48c0-13.3 9-24 20-24s20 10.7 20 24'/%3E%3Cpath d='M-20 24c0-13.3 9-24 20-24s20 10.7 20 24'/%3E%3Cpath d='M20 24c0-13.3 9-24 20-24s20 10.7 20 24'/%3E%3Cpath d='M60 24c0-13.3 9-24 20-24s20 10.7 20 24'/%3E%3C/g%3E%3C/svg%3E");
	background-repeat: repeat;
	pointer-events: none;
}

.luxe-lakes > .container {
	position: relative;
	z-index: 1;
}

/* Destination features — images bleed to the viewport edge, panels float over them */

.luxe-destination {
	position: relative;
	margin-top: clamp(2.5rem, 6vw, 5rem);
}

.luxe-destination__media {
	position: relative;
	overflow: hidden;
}

.luxe-destination__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse at center, transparent 58%, rgba(8, 24, 18, 0.22) 100%),
		linear-gradient(to top, rgba(8, 24, 18, 0.5) 0%, rgba(8, 24, 18, 0.04) 40%, rgba(8, 24, 18, 0.15) 100%);
	pointer-events: none;
}

.luxe-destination__photo {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 32%;
	display: block;
	transition: transform 1.4s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.luxe-destination:hover .luxe-destination__photo {
	transform: scale(1.04);
}

.luxe-destination__location {
	position: absolute;
	top: var(--space-lg);
	left: var(--space-lg);
	z-index: 1;
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.45rem 0.95rem;
	font-family: var(--font-display);
	font-size: 0.875rem;
	font-style: italic;
	letter-spacing: 0.06em;
	color: var(--color-white);
	background: rgba(10, 30, 22, 0.72);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	border: 1px solid rgba(180, 154, 92, 0.4);
	border-radius: 999px;
}

.luxe-destination__location svg {
	color: var(--color-bronze-light);
}

.luxe-destination__badge {
	position: absolute;
	right: var(--space-lg);
	bottom: var(--space-lg);
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: var(--space-md) var(--space-lg);
	background: rgba(10, 30, 22, 0.85);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border: 1px solid rgba(180, 154, 92, 0.5);
	border-radius: var(--radius-sm);
}

.luxe-destination__badge-value {
	font-family: var(--font-display);
	font-size: 2.25rem;
	font-weight: 600;
	line-height: 1;
	color: var(--color-bronze-light);
}

.luxe-destination__badge-label {
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(255, 252, 247, 0.7);
}

.luxe-destination__panel {
	position: relative;
	z-index: 2;
	margin: -3rem var(--space-lg) 0;
	padding: var(--space-xl);
	background: linear-gradient(170deg, var(--color-white) 0%, var(--color-cream) 100%);
	border: 1px solid rgba(180, 154, 92, 0.35);
	border-top: 3px solid var(--color-bronze);
	border-radius: var(--radius-md);
	box-shadow: 0 28px 72px rgba(15, 51, 40, 0.22);
}

.luxe-destination__name {
	margin: 0 0 var(--space-md);
	font-family: var(--font-display);
	font-size: clamp(2rem, 3.6vw, 2.75rem);
	font-weight: 500;
	letter-spacing: -0.01em;
	line-height: 1.1;
	color: var(--color-green-deep);
	text-wrap: balance;
}

.luxe-destination__copy {
	margin: 0 0 var(--space-md);
	font-size: 1.0625rem;
	line-height: 1.8;
	color: var(--color-charcoal-soft);
	max-width: 34rem;
}

.luxe-destination__stats {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--space-md) var(--space-lg);
	margin: var(--space-lg) 0 var(--space-xl);
	padding: var(--space-lg) 0;
	border-top: 1px solid rgba(180, 154, 92, 0.4);
	border-bottom: 1px solid rgba(180, 154, 92, 0.4);
}

.luxe-destination__stat dt {
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--color-bronze);
	margin-bottom: 0.2rem;
}

.luxe-destination__stat dd {
	margin: 0;
	font-family: var(--font-display);
	font-size: 1.0625rem;
	font-weight: 600;
	color: var(--color-green-deep);
	line-height: 1.3;
	text-wrap: balance;
}

@media (min-width: 640px) {
	.luxe-destination__stats {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (min-width: 1020px) {
	.luxe-destination {
		display: grid;
		grid-template-columns: repeat(12, 1fr);
		align-items: center;
		margin-top: clamp(3rem, 7vw, 6rem);
	}

	.luxe-destination__media {
		grid-column: 1 / 9;
		grid-row: 1;
		min-height: 640px;
		border-radius: 0 var(--radius-md) var(--radius-md) 0;
	}

	.luxe-destination__panel {
		grid-column: 8 / 13;
		grid-row: 1;
		margin: var(--space-3xl) var(--space-xl) var(--space-3xl) 0;
		padding: var(--space-2xl);
	}

	.luxe-destination--reverse .luxe-destination__media {
		grid-column: 5 / 13;
		border-radius: var(--radius-md) 0 0 var(--radius-md);
	}

	.luxe-destination--reverse .luxe-destination__panel {
		grid-column: 1 / 6;
		margin: var(--space-3xl) 0 var(--space-3xl) var(--space-xl);
	}

	.luxe-destination--reverse .luxe-destination__location {
		left: auto;
		right: var(--space-lg);
	}

	.luxe-destination--reverse .luxe-destination__badge {
		right: auto;
		left: var(--space-lg);
	}
}

@media (min-width: 1400px) {
	.luxe-destination__panel {
		margin-right: calc((100vw - 1280px) / 2 + var(--space-xl));
	}

	.luxe-destination--reverse .luxe-destination__panel {
		margin-right: 0;
		margin-left: calc((100vw - 1280px) / 2 + var(--space-xl));
	}
}

/* ==========================================================================
   4 · Cinematic statement sections
   ========================================================================== */

.luxe-statement {
	position: relative;
	padding: clamp(6rem, 14vw, 11rem) 0;
	overflow: hidden;
	background-color: var(--color-green-deep);
}

.luxe-statement__media {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center 45%;
}

.luxe-statement__scrim {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse at center, transparent 50%, rgba(8, 24, 18, 0.35) 100%),
		linear-gradient(to bottom, rgba(8, 24, 18, 0.72) 0%, rgba(10, 30, 22, 0.42) 45%, rgba(8, 24, 18, 0.8) 100%);
}

.luxe-statement__inner {
	position: relative;
	z-index: 1;
	text-align: center;
	max-width: 52rem;
}

.luxe-statement__eyebrow {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-md);
	margin: 0 0 var(--space-lg);
	font-family: var(--font-display);
	font-size: 0.9375rem;
	font-style: italic;
	letter-spacing: 0.14em;
	color: var(--color-bronze-light);
}

.luxe-statement__eyebrow::before,
.luxe-statement__eyebrow::after {
	content: "";
	width: 2.5rem;
	height: 1px;
	background: rgba(180, 154, 92, 0.6);
}

.luxe-statement__title {
	margin: 0 0 var(--space-lg);
	font-family: var(--font-display);
	font-size: clamp(2.375rem, 6vw, 4.25rem);
	font-weight: 500;
	line-height: 1.08;
	letter-spacing: -0.01em;
	color: var(--color-white);
	text-wrap: balance;
	text-shadow: 0 3px 24px rgba(0, 0, 0, 0.45);
}

.luxe-statement__text {
	margin: 0 auto var(--space-xl);
	font-size: 1.125rem;
	line-height: 1.8;
	color: rgba(255, 252, 247, 0.88);
	max-width: 38rem;
}

.luxe-statement__badge {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	margin: 0 0 var(--space-lg);
}

.luxe-statement__badge-value {
	font-family: var(--font-display);
	font-size: clamp(3.25rem, 8vw, 5rem);
	font-weight: 600;
	line-height: 1;
	color: var(--color-bronze-light);
}

.luxe-statement__badge-label {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: rgba(255, 252, 247, 0.75);
}

/* Parallax feel on larger screens (fixed attachment is unreliable on touch devices) */
@media (min-width: 1024px) {
	.luxe-statement__media {
		background-attachment: fixed;
	}
}

/* ==========================================================================
   5 · The Fish — cinematic statement + record stats + catch tiles
   ========================================================================== */

.luxe-fish {
	scroll-margin-top: calc(var(--header-height) + 1rem);
}

.luxe-fish__statement {
	position: relative;
	padding: clamp(6rem, 13vw, 10rem) 0;
	overflow: hidden;
	background-color: #0a231b;
}

.luxe-fish__statement-media {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center 30%;
}

@media (min-width: 1024px) {
	.luxe-fish__statement-media {
		background-attachment: fixed;
	}
}

.luxe-fish__statement-scrim {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse at center, transparent 50%, rgba(8, 24, 18, 0.35) 100%),
		linear-gradient(to bottom, rgba(8, 24, 18, 0.78) 0%, rgba(8, 24, 18, 0.45) 45%, rgba(10, 30, 22, 0.92) 100%);
}

.luxe-fish__statement-inner {
	position: relative;
	z-index: 1;
	text-align: center;
	max-width: 54rem;
}

.luxe-fish__statement-inner .luxe-eyebrow {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-md);
}

.luxe-fish__statement-inner .luxe-eyebrow::before,
.luxe-fish__statement-inner .luxe-eyebrow::after {
	content: "";
	width: 2.25rem;
	height: 1px;
	background: currentColor;
	opacity: 0.6;
}

.luxe-fish__kicker {
	margin: 0 0 var(--space-sm);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--color-bronze-light);
}

.luxe-fish__featured-weight {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.35rem;
	margin: 0 0 var(--space-xl);
}

.luxe-fish__featured-value {
	font-family: var(--font-display);
	font-size: clamp(3.75rem, 10vw, 6rem);
	font-weight: 600;
	line-height: 1;
	color: var(--color-bronze-light);
	text-shadow: 0 4px 32px rgba(0, 0, 0, 0.55);
}

.luxe-fish__featured-meta {
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(255, 252, 247, 0.8);
}

.luxe-fish__featured-group {
	font-family: var(--font-display);
	font-size: clamp(1.125rem, 2.5vw, 1.5rem);
	font-style: italic;
	color: rgba(255, 252, 247, 0.92);
	margin-top: 0.25rem;
}

.luxe-fish__recent-label {
	margin: 0 0 var(--space-lg);
	text-align: center;
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--color-bronze-light);
}

.luxe-fish__body {
	position: relative;
	padding: clamp(3.5rem, 7vw, 6rem) 0;
	background: linear-gradient(170deg, var(--color-forest) 0%, var(--color-green-deep) 60%, #0a231b 100%);
	overflow: hidden;
}

.luxe-fish__body::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='48' viewBox='0 0 80 48'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='0.025' stroke-width='1'%3E%3Cpath d='M0 48c0-13.3 9-24 20-24s20 10.7 20 24'/%3E%3Cpath d='M40 48c0-13.3 9-24 20-24s20 10.7 20 24'/%3E%3Cpath d='M-20 24c0-13.3 9-24 20-24s20 10.7 20 24'/%3E%3Cpath d='M20 24c0-13.3 9-24 20-24s20 10.7 20 24'/%3E%3Cpath d='M60 24c0-13.3 9-24 20-24s20 10.7 20 24'/%3E%3C/g%3E%3C/svg%3E");
	background-repeat: repeat;
	pointer-events: none;
}

.luxe-fish__body > .container {
	position: relative;
	z-index: 1;
}

.luxe-fish__records {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--space-xl) var(--space-lg);
	margin: 0 0 var(--space-2xl);
	padding: 0 0 var(--space-2xl);
	border-bottom: 1px solid rgba(180, 154, 92, 0.3);
	text-align: center;
}

.luxe-fish__record {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

.luxe-fish__record-value {
	font-family: var(--font-display);
	font-size: clamp(2.5rem, 5.5vw, 3.75rem);
	font-weight: 600;
	line-height: 1;
	color: var(--color-bronze-light);
}

.luxe-fish__record-label {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(255, 252, 247, 0.7);
}

.luxe-fish__intro {
	margin-bottom: var(--space-2xl);
	max-width: 40rem;
}

@media (min-width: 860px) {
	.luxe-fish__records {
		grid-template-columns: repeat(4, 1fr);
	}
}

.luxe-catches__side {
	display: grid;
	gap: var(--space-lg);
}

.luxe-catch {
	border-radius: var(--radius-md);
	overflow: hidden;
	border: 1px solid rgba(255, 252, 247, 0.1);
	box-shadow: 0 16px 48px rgba(0, 0, 0, 0.3);
	transition: transform var(--transition), border-color var(--transition);
}

.luxe-catch:hover {
	transform: translateY(-3px);
	border-color: rgba(180, 154, 92, 0.5);
}

.luxe-catch__media {
	position: relative;
	display: block;
	height: 100%;
	min-height: 300px;
	text-decoration: none;
}

.luxe-catch__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 28%;
	transition: transform 1.4s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.luxe-catch:hover .luxe-catch__media img {
	transform: scale(1.04);
}

.luxe-catch__overlay {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse at center, transparent 55%, rgba(8, 24, 18, 0.25) 100%),
		linear-gradient(to top, rgba(8, 24, 18, 0.96) 0%, rgba(8, 24, 18, 0.68) 38%, rgba(8, 24, 18, 0.15) 72%);
}

.luxe-catch__banner {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: var(--space-xl);
}

.luxe-catch__weight {
	margin: 0 0 0.3rem;
	font-family: var(--font-display);
	font-size: clamp(2.25rem, 4.5vw, 3.25rem);
	font-weight: 600;
	line-height: 1;
	color: var(--color-bronze-light);
}

.luxe-catch__weight--sm {
	font-size: 1.625rem;
}

.luxe-catch__meta {
	margin: 0 0 0.4rem;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(255, 252, 247, 0.75);
}

.luxe-catch__title {
	margin: 0;
	font-family: var(--font-display);
	font-size: 1.375rem;
	font-weight: 600;
	color: var(--color-white);
}

.luxe-catch__title--sm {
	font-size: 1.125rem;
}

.luxe-catches__footer {
	margin-top: var(--space-2xl);
	text-align: center;
}

@media (min-width: 700px) {
	.luxe-catches__side--grid {
		grid-template-columns: repeat(2, 1fr);
		grid-auto-rows: 1fr;
	}

	.luxe-catches__side .luxe-catch__media {
		min-height: 280px;
	}
}

@media (min-width: 1100px) {
	.luxe-catches__side--grid {
		grid-template-columns: repeat(4, 1fr);
	}

	.luxe-catches__side--grid .luxe-catch__media {
		min-height: 320px;
	}

	.luxe-catches__side--grid .luxe-catch__weight--sm {
		font-size: 1.375rem;
	}

	.luxe-catches__side--grid .luxe-catch__banner {
		padding: var(--space-lg);
	}

	/* gentle stagger so the row doesn't read as a flat strip */
	.luxe-catches__side--grid .luxe-catch:nth-child(even) {
		transform: translateY(1.5rem);
	}

	.luxe-catches__side--grid .luxe-catch:nth-child(even):hover {
		transform: translateY(calc(1.5rem - 3px));
	}

	.luxe-catches__side--grid {
		padding-bottom: 1.5rem;
	}
}

/* ==========================================================================
   6 · The Stay — boutique retreat over a full-bleed photograph
   ========================================================================== */

.luxe-stay--retreat {
	position: relative;
	padding: clamp(4.5rem, 10vw, 8rem) 0;
	background-color: var(--color-green-deep);
	scroll-margin-top: calc(var(--header-height) + 1rem);
	overflow: hidden;
}

.luxe-stay__backdrop {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
}

@media (min-width: 1024px) {
	.luxe-stay__backdrop {
		background-attachment: fixed;
	}
}

.luxe-stay__scrim {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse at center, transparent 55%, rgba(8, 24, 18, 0.3) 100%),
		linear-gradient(to right, rgba(8, 24, 18, 0.35) 0%, rgba(8, 24, 18, 0.15) 45%, rgba(8, 24, 18, 0.65) 100%),
		linear-gradient(to bottom, rgba(8, 24, 18, 0.5) 0%, rgba(8, 24, 18, 0.15) 35%, rgba(8, 24, 18, 0.6) 100%);
}

.luxe-stay__inner {
	position: relative;
	z-index: 1;
	display: grid;
}

.luxe-stay__panel {
	position: relative;
	max-width: 34rem;
	justify-self: end;
	padding: var(--space-2xl) var(--space-xl);
	background: linear-gradient(170deg, rgba(255, 252, 247, 0.97) 0%, rgba(245, 239, 227, 0.97) 100%);
	border: 1px solid rgba(180, 154, 92, 0.45);
	border-top: 3px solid var(--color-bronze);
	border-radius: var(--radius-md);
	box-shadow: 0 36px 88px rgba(0, 0, 0, 0.4);
}

.luxe-stay__panel .luxe-heading {
	font-size: clamp(1.75rem, 3.2vw, 2.375rem);
}

.luxe-stay__detail {
	display: none;
	margin: 0;
}

.luxe-stay__quote {
	margin: var(--space-xl) 0 0;
	max-width: 30rem;
	padding-left: var(--space-lg);
	border-left: 2px solid var(--color-bronze);
}

.luxe-stay__quote p {
	margin: 0;
	font-family: var(--font-display);
	font-size: clamp(1.25rem, 2.4vw, 1.625rem);
	font-style: italic;
	line-height: 1.5;
	color: rgba(255, 252, 247, 0.92);
	text-shadow: 0 2px 16px rgba(0, 0, 0, 0.45);
}

@media (min-width: 1080px) {
	.luxe-stay__inner {
		grid-template-columns: 1fr auto;
		align-items: end;
		gap: var(--space-2xl);
	}

	.luxe-stay__panel {
		grid-column: 2;
		grid-row: 1 / 3;
		padding: var(--space-2xl);
	}

	/* small detail photo floating over the backdrop, offset from the panel */
	.luxe-stay__detail {
		display: block;
		grid-column: 1;
		grid-row: 2;
		justify-self: start;
		width: min(320px, 32vw);
		border: 5px solid var(--color-white);
		border-radius: var(--radius-sm);
		overflow: hidden;
		box-shadow: 0 24px 64px rgba(0, 0, 0, 0.45);
		transform: rotate(-1.5deg);
	}

.luxe-stay__detail img {
	display: block;
	width: 100%;
	height: auto;
	object-position: center 40%;
}

	.luxe-stay__quote {
		grid-column: 1;
		grid-row: 1;
		align-self: start;
		margin: 0 0 var(--space-xl);
	}
}

.luxe-stay__features {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--space-sm) var(--space-lg);
	margin: 0 0 var(--space-xl);
	padding: var(--space-lg) 0;
	border-top: 1px solid rgba(15, 51, 40, 0.1);
	border-bottom: 1px solid rgba(15, 51, 40, 0.1);
}

.luxe-stay__features li {
	position: relative;
	padding-left: 1.5rem;
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--color-charcoal);
	line-height: 1.5;
}

.luxe-stay__features li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0;
	color: var(--color-bronze);
	font-weight: 700;
}

.luxe-stay__features--icons li {
	display: flex;
	align-items: center;
	gap: var(--space-sm);
	padding-left: 0;
}

.luxe-stay__features--icons li::before {
	display: none;
}

.luxe-stay__feature-icon {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	color: var(--color-bronze);
	background: rgba(180, 154, 92, 0.12);
	border: 1px solid rgba(180, 154, 92, 0.35);
	border-radius: 50%;
}

.luxe-stay__feature-icon svg {
	width: 15px;
	height: 15px;
}

@media (min-width: 960px) {
	.luxe-stay__grid {
		grid-template-columns: 1.05fr 1fr;
		gap: var(--space-3xl);
	}

	.luxe-stay__body {
		padding: var(--space-2xl);
	}
}

/* ==========================================================================
   7 · Experience — the shape of the week (journey)
   ========================================================================== */

.luxe-week {
	padding: clamp(3.5rem, 7vw, 6rem) 0;
	background-color: var(--color-cream);
}

.luxe-week__grid {
	list-style: none;
	display: grid;
	gap: var(--space-lg);
	margin: 0;
	padding: 0;
	position: relative;
}

.luxe-week__card {
	position: relative;
	padding: var(--space-xl);
	background: var(--color-white);
	border: 1px solid rgba(15, 51, 40, 0.08);
	border-bottom: 3px solid rgba(180, 154, 92, 0.55);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-soft);
	transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
}

.luxe-week__card:hover {
	transform: translateY(-4px);
	box-shadow: var(--shadow-lift);
	border-bottom-color: var(--color-bronze);
}

.luxe-week__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	margin-bottom: var(--space-md);
	font-family: var(--font-display);
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--color-bronze);
	border: 1px solid rgba(180, 154, 92, 0.55);
	border-radius: 50%;
	background: var(--color-cream);
}

.luxe-week__title {
	margin: 0 0 var(--space-sm);
	font-family: var(--font-display);
	font-size: 1.375rem;
	font-weight: 600;
	color: var(--color-green-deep);
}

.luxe-week__text {
	margin: 0;
	font-size: 0.9375rem;
	line-height: 1.7;
	color: var(--color-charcoal-soft);
}

@media (min-width: 720px) {
	.luxe-week__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1100px) {
	.luxe-week__grid {
		grid-template-columns: repeat(4, 1fr);
	}

	/* connecting journey line behind the numbers */
	.luxe-week__grid::before {
		content: "";
		position: absolute;
		top: calc(var(--space-xl) + 1.375rem);
		left: 4%;
		right: 4%;
		height: 1px;
		background: linear-gradient(to right, transparent, rgba(180, 154, 92, 0.5) 12%, rgba(180, 154, 92, 0.5) 88%, transparent);
	}

	.luxe-week__card {
		z-index: 1;
	}

	/* staggered rhythm — cards step down the page like a path */
	.luxe-week__grid--stagger {
		padding-bottom: 3rem;
	}

	.luxe-week__grid--stagger .luxe-week__card:nth-child(2) {
		transform: translateY(1rem);
	}

	.luxe-week__grid--stagger .luxe-week__card:nth-child(3) {
		transform: translateY(2rem);
	}

	.luxe-week__grid--stagger .luxe-week__card:nth-child(4) {
		transform: translateY(3rem);
	}

	.luxe-week__grid--stagger .luxe-week__card:hover {
		transform: translateY(-4px);
	}

	.luxe-week__grid--stagger .luxe-week__card:nth-child(2):hover {
		transform: translateY(calc(1rem - 4px));
	}

	.luxe-week__grid--stagger .luxe-week__card:nth-child(3):hover {
		transform: translateY(calc(2rem - 4px));
	}

	.luxe-week__grid--stagger .luxe-week__card:nth-child(4):hover {
		transform: translateY(calc(3rem - 4px));
	}
}

/* ==========================================================================
   8 · Weekly package — holiday value card
   ========================================================================== */

.luxe-package {
	padding: clamp(3.5rem, 7vw, 6rem) 0;
	background-color: var(--color-stone);
	border-top: 1px solid rgba(180, 154, 92, 0.25);
	scroll-margin-top: calc(var(--header-height) + 1rem);
}

.luxe-package__card {
	max-width: 48rem;
	margin: 0 auto;
	background: var(--color-white);
	border: 1px solid rgba(15, 51, 40, 0.1);
	border-radius: var(--radius-md);
	box-shadow: 0 28px 72px rgba(15, 51, 40, 0.18);
	text-align: center;
	overflow: hidden;
}

.luxe-package__header {
	position: relative;
	padding: var(--space-2xl) var(--space-xl) var(--space-xl);
	background: linear-gradient(160deg, var(--color-forest) 0%, var(--color-green-deep) 100%);
	border-bottom: 2px solid var(--color-bronze);
}

.luxe-package__header::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400' viewBox='0 0 400 400'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='0.05' stroke-width='1'%3E%3Cpath d='M-20 320c60-40 140-40 200 0s140 40 240 0'/%3E%3Cpath d='M-20 350c60-40 140-40 200 0s140 40 240 0'/%3E%3Cpath d='M-20 380c60-40 140-40 200 0s140 40 240 0'/%3E%3C/g%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: bottom;
	background-size: 100% auto;
	pointer-events: none;
}

.luxe-package__kicker {
	position: relative;
	z-index: 1;
	margin: 0 0 var(--space-sm);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--color-bronze-light);
}

.luxe-package__price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.35rem 0.65rem;
	margin: 0 0 var(--space-sm);
}

.luxe-package__price-label {
	font-size: 0.875rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--color-charcoal-soft);
}

.luxe-package__price-value {
	font-family: var(--font-display);
	font-size: clamp(2.25rem, 4vw, 3rem);
	line-height: 1;
	color: var(--color-forest);
}

.luxe-package__price-note {
	font-size: 0.875rem;
	color: var(--color-charcoal-soft);
}

.luxe-package__headline {
	position: relative;
	z-index: 1;
	margin: 0;
	font-family: var(--font-display);
	font-size: clamp(2rem, 4.5vw, 2.875rem);
	font-weight: 600;
	line-height: 1.1;
	color: var(--color-white);
}

.luxe-package__list {
	list-style: none;
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-sm) var(--space-xl);
	margin: 0 var(--space-xl) var(--space-xl);
	padding: var(--space-xl) 0;
	border-bottom: 1px solid rgba(15, 51, 40, 0.1);
	text-align: left;
}

.luxe-package__list li {
	position: relative;
	padding-left: 1.5rem;
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--color-charcoal);
	line-height: 1.55;
}

.luxe-package__list li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0;
	color: var(--color-bronze);
	font-weight: 700;
}

.luxe-package__actions {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-md);
	margin-bottom: var(--space-lg);
	padding: 0 var(--space-xl);
}

.luxe-package__note {
	margin: 0;
	padding: 0 var(--space-xl) var(--space-xl);
	font-size: 0.8125rem;
	color: var(--color-charcoal-muted);
	font-style: italic;
}

@media (min-width: 640px) {
	.luxe-package__list {
		grid-template-columns: 1fr 1fr;
		margin-left: var(--space-2xl);
		margin-right: var(--space-2xl);
	}
}

/* ==========================================================================
   9 · Enquiry concierge — dark green
   ========================================================================== */

.luxe-enquiry {
	position: relative;
	padding: clamp(3.5rem, 7vw, 6.5rem) 0;
	background: linear-gradient(170deg, var(--color-forest) 0%, var(--color-green-deep) 70%);
	scroll-margin-top: var(--header-height);
	overflow: hidden;
}

.luxe-enquiry__backdrop {
	position: absolute;
	inset: 0;
}

.luxe-enquiry__backdrop img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 55%;
}

.luxe-enquiry__scrim {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(to bottom, rgba(8, 24, 18, 0.94) 0%, rgba(10, 30, 22, 0.88) 50%, rgba(8, 24, 18, 0.95) 100%);
}

.luxe-enquiry::before {
	z-index: 1;
	content: "";
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='900' viewBox='0 0 900 900'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='0.035' stroke-width='1.25'%3E%3Cpath d='M100 450c0-193 157-350 350-350s350 157 350 350-157 350-350 350-350-157-350-350z'/%3E%3Cpath d='M180 450c0-149 121-270 270-270s270 121 270 270-121 270-270 270-270-121-270-270z'/%3E%3Cpath d='M260 450c0-105 85-190 190-190s190 85 190 190-85 190-190 190-190-85-190-190z'/%3E%3Cpath d='M340 450c0-61 49-110 110-110s110 49 110 110-49 110-110 110-110-49-110-110z'/%3E%3C/g%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: left -300px center;
	pointer-events: none;
}

.luxe-enquiry__grid {
	position: relative;
	z-index: 2;
	display: grid;
	gap: var(--space-2xl);
	align-items: start;
}

.luxe-enquiry__reassure {
	list-style: none;
	display: grid;
	gap: var(--space-sm);
	margin: var(--space-lg) 0 0;
	padding: 0;
}

.luxe-enquiry__reassure li {
	position: relative;
	padding-left: 1.75rem;
	font-size: 0.9375rem;
	font-weight: 600;
	color: rgba(255, 252, 247, 0.85);
	line-height: 1.55;
}

.luxe-enquiry__reassure li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0;
	width: 1.125rem;
	height: 1.125rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.6875rem;
	font-weight: 700;
	color: var(--color-green-deep);
	background: var(--color-bronze-light);
	border-radius: 50%;
}

.luxe-enquiry__copy .luxe-eyebrow {
	display: flex;
	align-items: center;
	gap: var(--space-md);
}

.luxe-enquiry__copy .luxe-eyebrow::before {
	content: "";
	width: 2.25rem;
	height: 1px;
	background: currentColor;
	opacity: 0.6;
}

.luxe-timeline {
	list-style: none;
	margin: var(--space-xl) 0;
	padding: 0;
}

.luxe-timeline__step {
	position: relative;
	display: flex;
	gap: var(--space-lg);
	padding-bottom: var(--space-xl);
}

.luxe-timeline__step:last-child {
	padding-bottom: 0;
}

.luxe-timeline__step::before {
	content: "";
	position: absolute;
	left: 1.375rem;
	top: 3.1rem;
	bottom: 0.375rem;
	width: 1px;
	background: linear-gradient(to bottom, rgba(180, 154, 92, 0.55), rgba(180, 154, 92, 0.12));
}

.luxe-timeline__step:last-child::before {
	display: none;
}

.luxe-timeline__num {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	font-family: var(--font-display);
	font-size: 1rem;
	font-weight: 600;
	color: var(--color-bronze-light);
	border: 1px solid rgba(180, 154, 92, 0.55);
	border-radius: 50%;
	background: rgba(255, 252, 247, 0.04);
}

.luxe-timeline__title {
	margin: 0.5rem 0 0.3rem;
	font-family: var(--font-body);
	font-size: 1.0625rem;
	font-weight: 700;
	color: var(--color-white);
}

.luxe-timeline__text {
	margin: 0;
	font-size: 0.9375rem;
	line-height: 1.65;
	color: rgba(255, 252, 247, 0.72);
}

.luxe-enquiry__note {
	margin: 0;
	padding: var(--space-md) var(--space-lg);
	font-size: 0.9375rem;
	line-height: 1.65;
	color: rgba(255, 252, 247, 0.85);
	background: rgba(255, 252, 247, 0.06);
	border-left: 3px solid var(--color-bronze);
	border-radius: var(--radius-sm);
	max-width: 34rem;
}

.luxe-enquiry__form-card {
	position: relative;
	background: var(--color-cream);
	border: 1px solid rgba(180, 154, 92, 0.5);
	border-radius: var(--radius-md);
	box-shadow: 0 36px 88px rgba(0, 0, 0, 0.4);
	padding: var(--space-xl);
	scroll-margin-top: calc(var(--header-height) + 1rem);
}

.luxe-enquiry__form-card::before {
	content: "";
	position: absolute;
	inset: 7px;
	border: 1px solid rgba(180, 154, 92, 0.25);
	border-radius: calc(var(--radius-md) - 4px);
	pointer-events: none;
}

.luxe-enquiry__form-card > * {
	position: relative;
	z-index: 1;
}

.luxe-enquiry__form-card .enquiry-form__title {
	margin: 0 0 var(--space-xs);
	font-family: var(--font-display);
	font-size: 1.75rem;
	font-weight: 600;
	color: var(--color-green-deep);
}

.luxe-enquiry__form-card .enquiry-form__intro {
	margin: 0 0 var(--space-lg);
	font-size: 0.9375rem;
	line-height: 1.65;
	color: var(--color-charcoal-soft);
}

.luxe-enquiry__form-card .form-row {
	margin-bottom: var(--space-md);
}

.luxe-enquiry__form-card .form-row--half {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-md);
}

.luxe-enquiry__form-card label {
	display: block;
	margin-bottom: 0.4rem;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--color-forest);
}

.luxe-enquiry__form-card label .required {
	color: var(--color-bronze);
}

.luxe-enquiry__form-card label .optional {
	font-weight: 500;
	text-transform: none;
	letter-spacing: 0;
	color: var(--color-charcoal-muted);
}

.luxe-enquiry__form-card input,
.luxe-enquiry__form-card select,
.luxe-enquiry__form-card textarea {
	width: 100%;
	padding: 0.85rem 1rem;
	font-family: var(--font-body);
	font-size: 1rem;
	color: var(--color-charcoal);
	background: var(--color-white);
	border: 1px solid rgba(15, 51, 40, 0.16);
	border-radius: var(--radius-sm);
	transition: border-color var(--transition), box-shadow var(--transition);
}

.luxe-enquiry__form-card input:focus,
.luxe-enquiry__form-card select:focus,
.luxe-enquiry__form-card textarea:focus {
	outline: none;
	border-color: var(--color-bronze);
	box-shadow: 0 0 0 3px rgba(180, 154, 92, 0.18);
}

.luxe-enquiry__form-card .enquiry-form__actions {
	display: grid;
	gap: var(--space-sm);
	margin-top: var(--space-lg);
}

@media (min-width: 560px) {
	.luxe-enquiry__form-card .form-row--half {
		grid-template-columns: 1fr 1fr;
	}
}

@media (min-width: 1000px) {
	.luxe-enquiry__grid {
		grid-template-columns: 0.95fr 1.05fr;
		gap: var(--space-3xl);
	}

	.luxe-enquiry__form-card {
		padding: var(--space-2xl);
	}
}

/* ==========================================================================
   10 · Planning
   ========================================================================== */

.luxe-planning {
	padding: clamp(3.5rem, 7vw, 6rem) 0;
	background-color: var(--color-white);
	border-bottom: 1px solid rgba(180, 154, 92, 0.25);
}

.luxe-planning__grid {
	display: grid;
	gap: var(--space-2xl);
	align-items: start;
}

.luxe-planning__copy .luxe-eyebrow {
	display: flex;
	align-items: center;
	gap: var(--space-md);
}

.luxe-planning__copy .luxe-eyebrow::before {
	content: "";
	width: 2.25rem;
	height: 1px;
	background: currentColor;
	opacity: 0.5;
}

.luxe-planning__points {
	list-style: none;
	display: grid;
	gap: var(--space-sm);
	margin: 0;
	padding: 0;
}

.luxe-planning__point {
	position: relative;
	padding: var(--space-md) var(--space-lg) var(--space-md) 3.25rem;
	font-size: 1rem;
	font-weight: 600;
	color: var(--color-green-deep);
	background: var(--color-cream);
	border: 1px solid rgba(15, 51, 40, 0.08);
	border-left: 3px solid rgba(180, 154, 92, 0.55);
	border-radius: var(--radius-sm);
	transition: border-color var(--transition), box-shadow var(--transition);
}

.luxe-planning__point:hover {
	border-left-color: var(--color-bronze);
	box-shadow: var(--shadow-soft);
}

.luxe-planning__point::before {
	content: "✓";
	position: absolute;
	left: var(--space-lg);
	top: 50%;
	transform: translateY(-50%);
	color: var(--color-bronze);
	font-weight: 700;
}

@media (min-width: 960px) {
	.luxe-planning__grid {
		grid-template-columns: 1fr 1.2fr;
		gap: var(--space-3xl);
	}
}

/* ==========================================================================
   11 · FAQ restyle (overrides base homepage-faq styles)
   ========================================================================== */

.homepage-faq {
	position: relative;
	padding: clamp(3.5rem, 7vw, 6rem) 0;
	background: linear-gradient(170deg, var(--color-green-deep) 0%, #0a231b 100%);
	overflow: hidden;
}

.homepage-faq::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='48' viewBox='0 0 80 48'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='0.025' stroke-width='1'%3E%3Cpath d='M0 48c0-13.3 9-24 20-24s20 10.7 20 24'/%3E%3Cpath d='M40 48c0-13.3 9-24 20-24s20 10.7 20 24'/%3E%3Cpath d='M-20 24c0-13.3 9-24 20-24s20 10.7 20 24'/%3E%3Cpath d='M20 24c0-13.3 9-24 20-24s20 10.7 20 24'/%3E%3Cpath d='M60 24c0-13.3 9-24 20-24s20 10.7 20 24'/%3E%3C/g%3E%3C/svg%3E");
	background-repeat: repeat;
	pointer-events: none;
}

.homepage-faq > .container {
	position: relative;
	z-index: 1;
}

.homepage-faq .editorial-intro {
	margin-bottom: var(--space-2xl);
}

.homepage-faq .editorial-eyebrow {
	color: var(--color-bronze-light);
}

.homepage-faq .editorial-title {
	color: var(--color-white);
}

.homepage-faq .editorial-lead {
	color: rgba(255, 252, 247, 0.78);
}

.homepage-faq__grid {
	max-width: 52rem;
	margin: 0 auto;
	display: grid;
	gap: var(--space-sm);
}

.homepage-faq__item {
	background: rgba(255, 252, 247, 0.04);
	border: 1px solid rgba(255, 252, 247, 0.12);
	border-radius: var(--radius-sm);
	overflow: hidden;
	transition: border-color var(--transition), background-color var(--transition);
}

.homepage-faq__item:hover {
	border-color: rgba(180, 154, 92, 0.4);
}

.homepage-faq__item[open] {
	background: rgba(255, 252, 247, 0.06);
	border-color: rgba(180, 154, 92, 0.55);
}

.homepage-faq__question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-md);
	padding: var(--space-lg);
	font-size: 1.0625rem;
	font-weight: 700;
	color: var(--color-white);
	cursor: pointer;
	list-style: none;
}

.homepage-faq__question::-webkit-details-marker {
	display: none;
}

.homepage-faq__question::after {
	content: "+";
	flex-shrink: 0;
	font-family: var(--font-display);
	font-size: 1.75rem;
	line-height: 1;
	color: var(--color-bronze-light);
	transition: transform var(--transition);
}

.homepage-faq__item[open] .homepage-faq__question::after {
	transform: rotate(45deg);
}

.homepage-faq__answer {
	padding: 0 var(--space-lg) var(--space-lg);
}

.homepage-faq__answer p {
	margin: 0;
	font-size: 1rem;
	line-height: 1.75;
	color: rgba(255, 252, 247, 0.8);
}

.homepage-faq__footer {
	margin-top: var(--space-2xl);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--space-md);
}

.homepage-faq__footer .btn--secondary {
	background: transparent;
	color: var(--color-white);
	border: 1px solid rgba(255, 252, 247, 0.35);
}

.homepage-faq__footer .btn--secondary:hover {
	border-color: var(--color-bronze-light);
	color: var(--color-bronze-light);
	background: transparent;
}

/* ==========================================================================
   12 · Final CTA — cinematic override
   ========================================================================== */

.home-magazine .cta-section--editorial {
	padding: clamp(5rem, 10vw, 8.5rem) 0;
	border-top: 1px solid rgba(180, 154, 92, 0.3);
}

.home-magazine .cta-section--editorial .cta-section__backdrop-overlay {
	background: linear-gradient(to bottom, rgba(10, 30, 22, 0.82) 0%, rgba(15, 51, 40, 0.68) 50%, rgba(8, 24, 18, 0.9) 100%);
}

.home-magazine .cta-section--editorial .cta-section__title {
	font-size: clamp(2.25rem, 5vw, 3.5rem);
	line-height: 1.08;
}

.home-magazine .cta-section--editorial .cta-section__eyebrow {
	color: var(--color-bronze-light);
	letter-spacing: 0.2em;
}

/* ==========================================================================
   Mobile refinements
   ========================================================================== */

@media (max-width: 639px) {
	.luxe-facts {
		margin-top: clamp(-6rem, -16vw, -4.5rem);
	}

	.luxe-facts__item {
		padding: var(--space-md) var(--space-sm);
	}

	.luxe-section-head {
		margin-bottom: var(--space-xl);
	}

	.luxe-destination__panel {
		padding: var(--space-xl) var(--space-lg);
	}

	.luxe-destination__media {
		aspect-ratio: 4 / 3;
	}

	.luxe-stay__features {
		grid-template-columns: 1fr;
	}

	.luxe-stay__panel {
		padding: var(--space-xl) var(--space-lg);
	}

	.luxe-catch__banner {
		padding: var(--space-lg);
	}

	.luxe-package__list {
		margin-left: var(--space-lg);
		margin-right: var(--space-lg);
	}

	.luxe-package__actions .btn,
	.luxe-catches__footer .btn,
	.luxe-destination__panel .btn,
	.luxe-stay__panel .btn,
	.luxe-statement__cta {
		width: 100%;
		justify-content: center;
	}

	/* tighter, deliberate mobile rhythm */
	.luxe-intro {
		padding-top: 3.5rem;
	}

	.luxe-destination__panel {
		margin-top: -2.5rem;
	}

	.luxe-stay__quote {
		margin-top: var(--space-lg);
		padding-left: var(--space-md);
	}

	.luxe-fish__records {
		gap: var(--space-lg) var(--space-md);
	}

	.luxe-fish__record-value {
		font-size: 2.25rem;
	}

	.luxe-timeline__step {
		gap: var(--space-md);
	}
}

/* ==========================================================================
   Motion — slow, quiet, premium (CSS only)
   ========================================================================== */

/* very slow drift on the hero photograph */
@keyframes luxe-kenburns {
	from {
		transform: scale(1);
	}

	to {
		transform: scale(1.07);
	}
}

.home-magazine .editorial-hero__media {
	overflow: hidden;
}

.home-magazine .editorial-hero__media img {
	animation: luxe-kenburns 28s ease-out forwards;
	will-change: transform;
}

@media (prefers-reduced-motion: reduce) {
	.home-magazine .editorial-hero__media img {
		animation: none;
	}

	.luxe-statement__media,
	.luxe-fish__statement-media,
	.luxe-stay__backdrop {
		background-attachment: scroll !important;
	}

	.luxe-destination__photo,
	.luxe-catch__media img,
	.luxe-week__card,
	.luxe-catch {
		transition: none !important;
	}
}
