/* ==========================================================================
   THE JOURNEY — Refined luxury experience
   ========================================================================== */

.er-journey-body {
	--er-cinematic-pin: 100svh;
	--er-cinematic-prologue-scroll: 155vh;
	--er-panel-content-width: 52rem;
	--er-veil-linear: transparent;
	--er-veil-radial: transparent;
	background: var(--er-ink);
	color: #fff;
	overflow-x: clip;
	max-width: 100%;
}

/* Shared homepage text tokens — soft Journey pages */
.er-journey-body,
.er-excursions-body,
.er-restaurant-body,
.er-activities-body,
.er-cazare-body,
.er-about-body {
	--er-text-wash: radial-gradient(
		ellipse 92% 82% at 50% 42%,
		rgba(8, 10, 9, 0.78) 0%,
		rgba(8, 10, 9, 0.55) 38%,
		rgba(8, 10, 9, 0.28) 62%,
		transparent 82%
	);
	--er-text-wash-shadow: 0 2px 4px rgba(0, 0, 0, 0.55), 0 6px 28px rgba(0, 0, 0, 0.5);
	--er-photo-veil: rgba(8, 10, 9, 0.55);
	--er-copy-size: clamp(1.05rem, 2.1vw, 1.3rem);
	--er-copy-leading: 1.45;
	overflow-x: clip;
	max-width: 100%;
}

.er-journey-body::after {
	content: "";
	position: fixed;
	inset: 0;
	pointer-events: none;
	z-index: 9990;
	opacity: 0.035;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
	mix-blend-mode: overlay;
}

/* Cursor — subtle ring, no cursor:none */
.er-cursor-ring {
	position: fixed;
	top: 0;
	left: 0;
	width: 40px;
	height: 40px;
	margin: -20px 0 0 -20px;
	border: 1px solid rgba(245, 241, 234, 0.35);
	border-radius: 50%;
	pointer-events: none;
	z-index: 9999;
	opacity: 0;
	transition: width 0.25s var(--er-ease-luxury), height 0.25s, margin 0.25s, border-color 0.25s, opacity 0.2s;
}

.er-cursor-ring.is-visible { opacity: 1; }
.er-cursor-ring.is-hover {
	width: 56px;
	height: 56px;
	margin: -28px 0 0 -28px;
	border-color: var(--er-gold);
}

@media (pointer: coarse) {
	.er-cursor-ring { display: none; }
}

/* --- Header --- */
.er-journey-header {
	position: fixed;
	inset: 0 0 auto;
	z-index: 500;
	display: flex;
	justify-content: flex-end;
	padding: 1.25rem max(0.65rem, calc(var(--er-container-gutter) - 0.65rem)) 1.25rem var(--er-container-gutter);
	background: transparent;
	pointer-events: none;
}

.er-journey-header__tools {
	display: none;
}

/* --- Language + menu rail (sticky right) --- */
.er-lang-rail {
	position: fixed;
	top: 50%;
	right: max(0.65rem, calc(var(--er-container-gutter) - 0.35rem));
	z-index: 480;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.85rem;
	transform: translateY(-50%);
	pointer-events: none;
}

.er-lang {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.85rem;
	padding: 0;
	background: none;
	border: 0;
	border-radius: 0;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	box-shadow: none;
	pointer-events: auto;
}

.er-lang__link {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	line-height: 0;
	text-decoration: none;
	opacity: 0.85;
	transition: opacity 0.12s ease, transform 0.12s ease;
}

.er-lang__link:hover,
.er-lang__link:focus-visible {
	opacity: 1;
	transform: scale(1.06);
	outline: none;
}

.er-lang__link--active {
	opacity: 1;
}

.er-lang__link--active .er-lang__flag {
	box-shadow:
		0 0 0 2px rgba(255, 255, 255, 0.9),
		0 3px 12px rgba(0, 0, 0, 0.35);
}

.er-lang__flag {
	flex-shrink: 0;
	width: 2.75rem;
	aspect-ratio: 3 / 2;
	border-radius: 4px;
	overflow: hidden;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.28);
}

.er-lang__flag--img {
	display: block;
	width: 2.75rem;
	height: auto;
	object-fit: cover;
	background: none;
}

.er-lang__flag--ro:not(.er-lang__flag--img) {
	background: linear-gradient(180deg, #002b7f 33.33%, #fcd116 33.33%, #fcd116 66.66%, #ce1126 66.66%);
}

.er-lang__flag--gb:not(.er-lang__flag--img) {
	position: relative;
	background:
		linear-gradient(18deg, transparent 42%, #ffffff 42%, #ffffff 46%, transparent 46%),
		linear-gradient(-18deg, transparent 42%, #ffffff 42%, #ffffff 46%, transparent 46%),
		linear-gradient(90deg, transparent 44%, #ffffff 44%, #ffffff 56%, transparent 56%),
		linear-gradient(#012169, #012169);
}

.er-lang__flag--gb:not(.er-lang__flag--img)::before,
.er-lang__flag--gb:not(.er-lang__flag--img)::after {
	content: "";
	position: absolute;
	inset: 0;
}

.er-lang__flag--gb:not(.er-lang__flag--img)::before {
	background:
		linear-gradient(33deg, transparent 46%, #c8102e 46%, #c8102e 54%, transparent 54%),
		linear-gradient(-33deg, transparent 46%, #c8102e 46%, #c8102e 54%, transparent 54%);
}

.er-lang__flag--gb:not(.er-lang__flag--img)::after {
	background:
		linear-gradient(90deg, transparent 47%, #c8102e 47%, #c8102e 53%, transparent 53%),
		linear-gradient(transparent 47%, #c8102e 47%, #c8102e 53%, transparent 53%);
}

@media (max-width: 40rem) {
	.er-lang-rail {
		top: max(0.65rem, env(safe-area-inset-top, 0px));
		left: 50%;
		right: auto;
		bottom: auto;
		transform: translateX(-50%);
		flex-direction: row;
		gap: 1.1rem;
		padding: 0.45rem 0.75rem;
		border-radius: 8px;
		background: rgba(15, 17, 16, 0.48);
		border: 1px solid rgba(245, 241, 234, 0.16);
		backdrop-filter: blur(14px) saturate(1.1);
		-webkit-backdrop-filter: blur(14px) saturate(1.1);
		box-shadow: 0 10px 28px rgba(0, 0, 0, 0.38);
	}

	.er-lang {
		flex-direction: row;
		padding: 0;
		gap: 1.1rem;
	}

	.er-lang__flag,
	.er-lang__flag--img,
	.er-lang-rail__menu {
		width: 2.25rem;
	}

	.er-lang-rail__menu span {
		width: 1.25rem;
	}
}

.er-lang-rail__menu {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.42rem;
	width: 2.75rem;
	aspect-ratio: 3 / 2;
	padding: 0;
	border: 0;
	border-radius: 4px;
	background: transparent;
	cursor: pointer;
	pointer-events: auto;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.28);
	transition: transform 0.12s ease, opacity 0.12s;
}

.er-lang-rail__menu:hover,
.er-lang-rail__menu:focus-visible {
	transform: scale(1.06);
	outline: none;
}

.er-lang-rail__menu span {
	display: block;
	width: 1.55rem;
	height: 2px;
	background: #fff;
	border-radius: 1px;
	box-shadow: 0 1px 8px rgba(0, 0, 0, 0.35);
}

.er-journey-header__menu {
	display: none;
}

.er-journey-header__menu span {
	display: none;
}

.er-journey-nav {
	position: fixed;
	inset: 0;
	z-index: 600;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(15, 17, 16, 0.97);
	backdrop-filter: blur(20px);
}

.er-journey-nav[hidden] { display: none; }

.er-journey-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: center;
}

.er-journey-nav__link {
	display: block;
	padding: 0.65rem 1rem;
	font-family: var(--er-font-display);
	font-size: clamp(1.75rem, 5vw, 3rem);
	color: #fff;
	text-decoration: none;
	letter-spacing: var(--er-tracking-wide);
	transition: color 0.3s;
}

.er-journey-nav__link:hover { color: var(--er-gold); }

.er-journey-nav__close {
	position: absolute;
	top: 1.5rem;
	right: var(--er-container-gutter);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	border: 1px solid rgba(245, 241, 234, 0.22);
	border-radius: 999px;
	background: rgba(20, 22, 21, 0.55);
	color: #fff;
	font-size: 1.75rem;
	line-height: 1;
	cursor: pointer;
}

.er-journey-nav-overlay {
	position: fixed;
	inset: 0;
	z-index: 550;
	background: rgba(0, 0, 0, 0.55);
}

.er-journey-nav-overlay[hidden] { display: none; }

/* Scroll progress */
.er-journey-progress {
	position: fixed;
	left: max(0.75rem, calc(var(--er-container-gutter) - 1rem));
	top: 50%;
	z-index: 400;
	width: 1px;
	height: min(40vh, 280px);
	transform: translateY(-50%);
	background: rgba(245, 241, 234, 0.12);
	pointer-events: none;
}

.er-journey-progress__bar {
	display: block;
	width: 100%;
	height: 0%;
	background: linear-gradient(180deg, var(--er-gold), var(--er-gold-light));
	transform-origin: top;
	box-shadow: 0 0 12px rgba(168, 134, 74, 0.45);
}

@media (max-width: 48rem) {
	.er-journey-progress { display: none; }
}

/* --- Booking --- */
.er-booking {
	position: fixed;
	z-index: 450;
	right: max(1.25rem, var(--er-container-gutter));
	bottom: max(1.25rem, var(--er-container-gutter));
	width: min(19rem, calc(100vw - 2.5rem));
	transition: top 0.6s var(--er-ease-luxury), bottom 0.6s, transform 0.6s, opacity 0.4s;
}

@media (min-width: 52rem) {
	.er-booking:not(.is-rail):not(.is-minimized) {
		top: max(5.5rem, calc(var(--er-container-gutter) + 2rem));
		bottom: auto;
	}
}

.er-booking.is-rail {
	top: 50%;
	bottom: auto;
	transform: translateY(-50%);
}

.er-booking.is-minimized .er-booking__panel {
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px) scale(0.98);
	pointer-events: none;
}

.er-booking__panel {
	padding: 1.25rem;
	background: rgba(12, 14, 13, 0.72);
	backdrop-filter: blur(28px) saturate(1.2);
	-webkit-backdrop-filter: blur(28px) saturate(1.2);
	border: 1px solid rgba(245, 241, 234, 0.1);
	border-radius: 16px;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.04);
	transition: opacity 0.35s, transform 0.35s, visibility 0.35s;
}

.er-booking__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	margin-bottom: 1rem;
}

.er-booking__title {
	margin: 0;
	font-family: var(--er-font-booking);
	font-size: 0.6875rem;
	font-weight: var(--er-weight-semibold);
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #fff;
}

.er-booking__minimize {
	width: 1.75rem;
	height: 1.75rem;
	border: 1px solid var(--er-color-border);
	border-radius: 50%;
	background: transparent;
	color: var(--er-color-text-muted);
	font-size: 1rem;
	line-height: 1;
	cursor: pointer;
}

.er-booking__form {
	display: block;
}

.er-booking__fields {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.5rem 0.5rem;
}

.er-booking__fields .er-booking__field:nth-child(3) {
	grid-column: 1 / -1;
}

.er-booking__fields .er-booking__submit {
	grid-column: 1 / -1;
}

.er-booking__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.5rem;
}

.er-booking__field {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
}

.er-booking__label {
	font-family: var(--er-font-booking);
	font-size: 0.625rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--er-color-text-muted);
}

.er-booking__input {
	width: 100%;
	padding: 0.55rem 0.65rem;
	font-family: var(--er-font-booking);
	font-size: 0.8125rem;
	color: #fff;
	background: rgba(245, 241, 234, 0.04);
	border: 1px solid rgba(245, 241, 234, 0.1);
	border-radius: 6px;
	color-scheme: dark;
}

select.er-booking__input {
	cursor: pointer;
	background-color: rgba(12, 14, 13, 0.92);
}

.er-booking__input:focus {
	outline: none;
	border-color: var(--er-gold-muted);
}

.er-booking__fab {
	display: none;
}

@media (max-width: 52rem) {
	.er-booking {
		right: 1rem;
		bottom: 1rem;
		width: min(18rem, calc(100vw - 2rem));
	}

	.er-booking.is-rail {
		top: auto;
		bottom: 1rem;
		transform: none;
	}

	.er-booking.is-minimized .er-booking__fab {
		display: flex;
	}

	.er-booking__fab {
		display: none;
		align-items: center;
		justify-content: center;
		width: 3.25rem;
		height: 3.25rem;
		margin-left: auto;
		border: 1px solid rgba(245, 241, 234, 0.15);
		border-radius: 50%;
		background: rgba(12, 14, 13, 0.85);
		backdrop-filter: blur(16px);
		color: #fff;
		font-family: var(--er-font-booking);
		font-size: 0.5625rem;
		font-weight: var(--er-weight-semibold);
		letter-spacing: 0.12em;
		text-transform: uppercase;
		cursor: pointer;
	}

	.er-booking:not(.is-minimized) .er-booking__fab { display: none; }
}

/* Reserve space — hero centrat */
@media (min-width: 52rem) {
	.er-cinematic__hero {
		padding-inline: var(--er-container-gutter);
	}
}

/* --- Hero booking bar --- */
.er-hero-booking {
	--er-hero-booking-space: 1.15rem;
	--er-hero-booking-radius: 14px;
	display: inline-block;
	width: fit-content;
	max-width: 100%;
	margin-inline: auto;
	padding: 1.05rem 1.65rem;
	background: rgba(12, 14, 13, 0.72);
	backdrop-filter: blur(22px) saturate(1.15);
	-webkit-backdrop-filter: blur(22px) saturate(1.15);
	border: 1px solid rgba(245, 241, 234, 0.14);
	border-radius: var(--er-hero-booking-radius);
	box-shadow: 0 18px 44px rgba(0, 0, 0, 0.38), inset 0 1px 0 rgba(255, 255, 255, 0.04);
	overflow: visible;
	box-sizing: border-box;
	vertical-align: top;
}

.er-hero-booking__form {
	display: block;
	margin: 0;
	width: auto;
}

.er-hero-booking__fields--inline {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-end;
	justify-content: center;
	gap: 1rem;
	width: auto;
	max-width: 100%;
}

.er-hero-booking__field {
	display: flex;
	flex: 0 0 auto;
	flex-direction: column;
	gap: 0.4rem;
	cursor: pointer;
}

.er-hero-booking__field:nth-child(1),
.er-hero-booking__field.er-date-range {
	flex: 0 1 auto;
	width: 13.75rem;
	min-width: 12.5rem;
	max-width: 15rem;
	position: relative;
	cursor: default;
}

.er-hero-booking__field:nth-child(2) {
	flex: 0 0 6.5rem;
	width: 6.5rem;
}

.er-hero-booking__label {
	font-family: var(--er-font-booking);
	font-size: 0.625rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--er-color-text-muted);
	line-height: 1.1;
}

.er-hero-booking__input {
	display: block;
	width: 100%;
	box-sizing: border-box;
	height: 2.85rem;
	padding: 0.55rem var(--er-hero-booking-space);
	font-family: var(--er-font-booking);
	font-size: 0.875rem;
	line-height: 1.2;
	color: #fff;
	background: rgba(245, 241, 234, 0.05);
	border: 1px solid rgba(245, 241, 234, 0.12);
	border-radius: 8px;
	color-scheme: dark;
}

.er-hero-booking__input:not(select):not([type='date']) {
	-webkit-appearance: none;
	appearance: none;
}

select.er-hero-booking__input {
	cursor: pointer;
	background-color: rgba(12, 14, 13, 0.92);
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	text-align: center;
	text-align-last: center;
	padding-inline: var(--er-hero-booking-space);
}

select.er-hero-booking__input::-ms-expand {
	display: none;
}

.er-hero-booking__input option,
.er-booking__input option {
	background-color: #0c0e0d;
	color: #fff;
}

.er-hero-booking__input option:checked,
.er-hero-booking__input option:hover,
.er-booking__input option:checked,
.er-booking__input option:hover {
	background-color: #1a1d1b;
	color: #fff;
}

.er-hero-booking__input--date {
	cursor: pointer;
	padding-inline: var(--er-hero-booking-space);
	font-size: 0.8125rem;
	letter-spacing: 0;
	text-align: left;
	color: #fff;
	min-height: 2.85rem;
	-webkit-appearance: none;
	appearance: none;
}

.er-hero-booking__input--date::-webkit-datetime-edit,
.er-hero-booking__input--date::-webkit-datetime-edit-fields-wrapper {
	padding: 0;
	margin: 0;
	min-height: 1.25em;
	color: rgba(255, 255, 255, 0.72);
}

.er-hero-booking__input--date:focus::-webkit-datetime-edit,
.er-hero-booking__input--date:valid::-webkit-datetime-edit,
.er-hero-booking__input--date:focus::-webkit-datetime-edit-fields-wrapper,
.er-hero-booking__input--date:valid::-webkit-datetime-edit-fields-wrapper {
	color: #fff;
}

.er-hero-booking__input--date::-webkit-datetime-edit-year-field,
.er-hero-booking__input--date::-webkit-datetime-edit-month-field,
.er-hero-booking__input--date::-webkit-datetime-edit-day-field,
.er-hero-booking__input--date::-webkit-datetime-edit-text {
	padding: 0;
	color: inherit;
}

.er-hero-booking__input--date::-webkit-date-and-time-value {
	text-align: left;
	color: inherit;
	min-height: 1.25em;
	line-height: 1.25em;
}

.er-hero-booking__input--date::-webkit-calendar-picker-indicator {
	cursor: pointer;
	width: 1.05rem;
	height: 1.05rem;
	margin: 0;
	padding: 0;
	opacity: 1;
	filter: brightness(0) invert(1);
}

.er-hero-booking__input:focus {
	outline: none;
	border-color: var(--er-gold-muted);
	box-shadow: 0 0 0 1px rgba(168, 134, 74, 0.25);
}

.er-hero-booking__submit.er-btn-primary {
	flex: 0 0 auto;
	align-self: flex-end;
	height: 2.85rem;
	min-width: 8.5rem;
	padding: 0.62rem 2rem;
	font-size: 0.6875rem;
	letter-spacing: 0.14em;
	white-space: nowrap;
}

@media (max-width: 48rem) {
	.er-hero-booking {
		--er-hero-booking-space: 0.85rem;
		display: block;
		width: 100%;
		max-width: 100%;
		margin-inline: auto;
		padding: 0.95rem 1rem;
		box-sizing: border-box;
		overflow: visible;
	}

	.er-hero-booking__form {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.er-hero-booking__fields--inline {
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: stretch;
		gap: 0.75rem;
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.er-hero-booking__field,
	.er-hero-booking__field:nth-child(1),
	.er-hero-booking__field:nth-child(2),
	.er-hero-booking__field.er-date-range {
		flex: 1 1 auto;
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	.er-hero-booking__field.er-date-range .er-date-range__trigger,
	.er-hero-booking__field.er-date-range .er-date-range__value {
		justify-content: center;
		text-align: center;
	}

	.er-hero-booking__input,
	.er-hero-booking__input--date {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		font-size: 0.9375rem;
		text-align: left;
	}

	.er-hero-booking__input--date::-webkit-date-and-time-value {
		text-align: left;
	}

	.er-hero-booking__submit.er-btn-primary {
		flex: 1 1 auto;
		align-self: stretch;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		height: 3rem;
		margin-top: 0.15rem;
		box-sizing: border-box;
	}
}

@media (max-width: 40rem) {
	.er-cinematic__hero {
		padding-top: max(4.75rem, calc(env(safe-area-inset-top, 0px) + 4.25rem));
		padding-bottom: max(5.75rem, calc(env(safe-area-inset-bottom, 0px) + 4.75rem));
		padding-left: max(1.35rem, env(safe-area-inset-left, 0px));
		padding-right: max(1.35rem, env(safe-area-inset-right, 0px));
		align-items: center;
		justify-content: center;
	}

	.er-cinematic__hero-stack {
		max-height: none;
		width: 100%;
		max-width: 100%;
		margin-inline: auto;
		gap: 0;
		min-width: 0;
		box-sizing: border-box;
	}

	.er-cinematic__hero-copy,
	.er-cinematic__hero-panel {
		width: 100%;
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
	}

	.er-cinematic__intro {
		width: 100%;
		max-width: 100%;
		margin-inline: auto;
		padding-inline: 0.1rem;
		box-sizing: border-box;
		overflow-wrap: break-word;
	}

	.er-cinematic__hero-booking {
		width: 100%;
		max-width: 100%;
		margin-top: 0.95rem;
		margin-inline: auto;
		min-width: 0;
		box-sizing: border-box;
	}

	.er-cinematic__line {
		text-align: center;
	}
}

/* --- Cinematic (hero + prologue) --- */
.er-cinematic {
	position: relative;
	--er-cinematic-total: calc(var(--er-cinematic-pin) + var(--er-cinematic-prologue-scroll));
	background: var(--er-ink);
}

.er-cinematic__stage {
	position: relative;
	height: var(--er-cinematic-total);
	pointer-events: none;
}

.er-cinematic__sticky {
	position: sticky;
	top: 0;
	height: var(--er-cinematic-pin);
	overflow: hidden;
}

.er-cinematic__media-stack {
	position: absolute;
	inset: 0;
	overflow: hidden;
	will-change: transform;
	transform-origin: center center;
}

.er-cinematic__slides {
	display: flex;
	height: 100%;
	width: calc(100% * var(--scene-count, 2));
	will-change: transform;
}

.er-cinematic__slide {
	/* Slight overlap removes seam / black flash between scenes during scrub. */
	position: relative;
	flex: 0 0 calc((100% / var(--scene-count, 2)) + 2px);
	margin-right: -2px;
	height: 100%;
	overflow: hidden;
	background: var(--er-ink);
}

.er-cinematic__scene-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform-origin: center center;
	will-change: transform;
}

.er-cinematic__media {
	width: 100%;
	height: 100%;
	object-fit: cover;
	will-change: transform;
}

.er-cinematic__media--kenburns {
	animation: er-kenburns 24s var(--er-ease-out) infinite alternate;
}

@keyframes er-kenburns {
	from { transform: scale(1.02); }
	to { transform: scale(1.1); }
}

.er-cinematic__veil {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: var(--er-photo-veil);
	pointer-events: none;
	display: block;
}

.er-journey-highlight__veil {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: var(--er-photo-veil);
	pointer-events: none;
	display: block;
}

.er-cinematic__vignette {
	display: none;
}

.er-cinematic__layers {
	position: relative;
	margin-top: calc(-1 * var(--er-cinematic-total));
	z-index: 2;
}

.er-cinematic__hero {
	position: sticky;
	top: 0;
	z-index: 4;
	min-height: var(--er-cinematic-pin);
	height: var(--er-cinematic-pin);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(4.5rem, 9vh, 6.5rem) var(--er-container-gutter) clamp(4.5rem, 9vh, 5.5rem);
	text-align: center;
	pointer-events: none;
	overflow: visible;
}

.er-cinematic__hero-stack {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: min(100%, 58rem);
	max-height: calc(100svh - clamp(5rem, 12vh, 8rem));
	pointer-events: auto;
	overflow: visible;
}

.er-cinematic__hero-copy {
	position: relative;
	width: 100%;
	overflow: visible;
}

.er-cinematic__hero-panel {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	text-align: center;
}

/* First hero — full-slide black overlay only (no text wash) */
.er-cinematic__hero-panel[data-hero-brand] {
	position: relative;
}

.er-cinematic__hero-panel[data-hero-brand]::before {
	content: none;
}

.er-cinematic__hero-panel[data-hero-brand] .er-cinematic__eyebrow,
.er-cinematic__hero-panel[data-hero-brand] .er-cinematic__title,
.er-cinematic__hero-panel[data-hero-brand] .er-cinematic__intro {
	text-shadow: none;
}

.er-cinematic__hero-panel--scene {
	position: absolute;
	inset: 0 auto auto;
	left: 0;
	right: 0;
	padding-top: var(--er-hero-title-offset, clamp(6.75rem, 16vh, 9.25rem));
	z-index: 2;
	pointer-events: none;
}

.er-cinematic__hero-panel--scene::before {
	content: none;
}

.er-cinematic__hero-panel--scene .er-cinematic__title,
.er-cinematic__hero-panel--scene .er-cinematic__intro {
	text-shadow: none;
}

.er-cinematic__hero-panel--scene .er-cinematic__weather {
	pointer-events: auto;
	margin-top: 0;
	margin-bottom: clamp(1.1rem, 2.4vh, 1.55rem);
}

.er-cinematic__scene-cta {
	pointer-events: auto;
	margin-top: clamp(1.25rem, 2.8vh, 1.75rem);
}

.er-cinematic__weather {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: clamp(1.5rem, 4vw, 2.75rem);
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
}

.er-cinematic__weather-day {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.55rem;
	min-width: 5.25rem;
	padding: 0;
	background: none;
	border: 0;
	text-align: center;
}

.er-cinematic__weather-name {
	margin: 0;
	font-family: var(--er-font-booking);
	font-size: clamp(0.75rem, 1.35vw, 0.875rem);
	font-weight: var(--er-weight-semibold);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #fff;
	text-shadow: 0 2px 14px rgba(0, 0, 0, 0.55);
}

.er-cinematic__weather-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.85rem;
	height: 2.85rem;
	color: #fff;
}

.er-cinematic__weather-icon .er-weather-icon {
	width: 100%;
	height: 100%;
}

.er-cinematic__weather-temps {
	display: flex;
	align-items: baseline;
	gap: 0.25rem;
	margin: 0;
	font-family: var(--er-font-display);
	font-size: clamp(1.25rem, 2.4vw, 1.55rem);
	line-height: 1;
	color: #fff;
	text-shadow: 0 3px 18px rgba(0, 0, 0, 0.55);
}

.er-cinematic__weather-max {
	font-weight: var(--er-weight-regular);
}

.er-cinematic__weather-sep {
	font-size: 0.85em;
	opacity: 1;
	color: #fff;
}

.er-cinematic__weather-min {
	font-size: 0.82em;
	opacity: 1;
	color: #fff;
}

.er-social-icons {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.85rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.er-social-icons__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	color: #fff;
	border: 1px solid rgba(245, 241, 234, 0.28);
	border-radius: 999px;
	background: rgba(15, 17, 16, 0.28);
	text-decoration: none;
	transition: color 0.25s, border-color 0.25s, background 0.25s, transform 0.25s var(--er-ease-luxury);
}

.er-social-icons__link svg {
	width: 1.05rem;
	height: 1.05rem;
}

.er-social-icons__link:hover {
	color: var(--er-gold-light);
	border-color: rgba(201, 169, 106, 0.65);
	background: rgba(168, 134, 74, 0.16);
	transform: translateY(-2px);
}

.er-cinematic__hero-booking {
	position: relative;
	z-index: 5;
	display: flex;
	justify-content: center;
	width: 100%;
	max-width: 100%;
	margin-top: clamp(1.15rem, 2.5vh, 1.65rem);
	pointer-events: auto;
	text-align: center;
}

.er-cinematic__hero-booking .er-hero-booking {
	margin-top: 0;
}

.er-cinematic__intro--detail {
	margin-bottom: 0;
}

.er-cinematic__logo {
	display: block;
	width: min(22rem, 78vw);
	max-width: none;
	height: auto;
	margin: 0 0 clamp(1.15rem, 2.8vh, 1.85rem);
	filter: brightness(0) invert(1);
	opacity: 1;
}

@media (max-width: 40rem) {
	.er-cinematic__logo,
	a.er-cinematic__logo-link .er-cinematic__logo {
		width: min(22rem, 78vw);
		max-width: none;
		margin-bottom: 0.85rem;
	}

	a.er-cinematic__logo-link {
		width: min(22rem, 78vw);
		max-width: 100%;
		margin-bottom: 0.85rem;
	}
}

a.er-cinematic__logo-link {
	display: block;
	width: min(22rem, 78vw);
	max-width: 100%;
	line-height: 0;
	margin: 0 0 clamp(1.15rem, 2.8vh, 1.85rem);
	text-decoration: none;
	opacity: 1;
	color: #fff;
	transition: transform 0.3s var(--er-ease-luxury, ease);
}

a.er-cinematic__logo-link:hover,
a.er-cinematic__logo-link:focus-visible {
	opacity: 1;
	outline: none;
	transform: scale(1.02);
}

a.er-cinematic__logo-link .er-cinematic__logo {
	width: 100%;
	max-width: none;
	margin: 0;
	opacity: 1;
	filter: brightness(0) invert(1);
}

.er-cinematic__eyebrow {
	margin: 0 0 0.85rem;
	font-family: var(--er-font-display);
	font-size: clamp(0.75rem, 1.2vw, 0.875rem);
	font-weight: var(--er-weight-regular);
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #fff;
	text-align: center;
	width: 100%;
	padding-inline-start: 0.22em;
}

.er-cinematic__title {
	margin: 0;
	font-family: var(--er-font-display);
	font-size: clamp(2.5rem, 7.5vw, 5rem);
	font-weight: var(--er-weight-regular);
	letter-spacing: 0.02em;
	line-height: 1.05;
	color: #fff;
	text-align: center;
	align-self: stretch;
	width: 100%;
	padding-inline-start: 0.02em;
}

.er-cinematic__intro {
	margin: clamp(1rem, 2.2vh, 1.35rem) 0 0;
	max-width: 38rem;
	font-family: var(--er-font-display);
	font-size: var(--er-copy-size);
	font-weight: var(--er-weight-regular);
	line-height: var(--er-copy-leading);
	color: #fff;
	text-shadow: 0 4px 24px rgba(0, 0, 0, 0.45);
}

.er-cinematic__intro--lead {
	max-width: none;
}

@media (min-width: 40rem) {
	.er-cinematic__intro--lead {
		white-space: nowrap;
	}
}

.er-cinematic__intro--detail {
	margin-top: clamp(0.75rem, 1.6vh, 1rem);
	font-size: var(--er-copy-size);
	color: #fff;
}

.er-cinematic__scroll-hint {
	position: absolute;
	left: 50%;
	bottom: clamp(1.75rem, 4.5vh, 3rem);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
	transform: translateX(-50%);
	color: #fff;
	will-change: transform, opacity;
}

.er-cinematic__scroll-line {
	display: block;
	width: 1px;
	height: 2.5rem;
	background: linear-gradient(180deg, var(--er-gold), transparent);
	animation: er-scroll-pulse 2s ease-in-out infinite;
}

@keyframes er-scroll-pulse {
	0%, 100% { opacity: 0.35; transform: scaleY(0.85); }
	50% { opacity: 1; transform: scaleY(1); }
}

.er-cinematic__scroll-text {
	font-family: var(--er-font-booking);
	font-size: 0.625rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

.er-cinematic__prologue {
	margin-top: 0;
	padding-bottom: 0;
}

.er-cinematic__prologue-scroll {
	height: var(--er-cinematic-prologue-scroll);
	position: relative;
}

.er-cinematic__prologue-stage {
	position: sticky;
	top: 0;
	height: var(--er-cinematic-pin);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(5rem, 10vh, 7rem) var(--er-container-gutter);
}

.er-cinematic__line {
	position: absolute;
	left: 50%;
	top: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	width: min(100%, 44rem);
	min-height: clamp(8rem, 22vh, 14rem);
	font-family: var(--er-font-display);
	font-size: clamp(1.35rem, 3.2vw, 2.1rem);
	font-weight: var(--er-weight-regular);
	line-height: 1.35;
	color: #fff;
	text-align: center;
	text-shadow: 0 6px 32px rgba(0, 0, 0, 0.55);
	transform: translate(-50%, -50%);
}

.er-cinematic__line-inner {
	display: block;
	max-width: 40rem;
	will-change: transform, opacity;
}

.er-cinematic__bridge {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.75rem;
	padding: clamp(2.5rem, 6vh, 4rem) var(--er-container-gutter) 4vh;
	background: var(--er-ink);
}

.er-cinematic__bridge-line {
	display: block;
	width: 1px;
	height: 4rem;
	background: linear-gradient(180deg, transparent, var(--er-gold));
}

.er-cinematic__bridge-label {
	font-family: var(--er-font-booking);
	font-size: 0.625rem;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--er-gold);
}

/* --- Journey cards --- */
.er-journey-cards {
	position: relative;
	z-index: 3;
	background: var(--er-ink);
}

.er-journey-card {
	position: relative;
	height: 100vh;
	height: 100svh;
	min-height: 540px;
	overflow: hidden;
	border-top: 1px solid rgba(245, 241, 234, 0.06);
}

.er-journey-card__media {
	position: absolute;
	inset: 0;
}

.er-journey-card__poster,
.er-journey-card__video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.er-journey-card__shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		105deg,
		rgba(15, 17, 16, 0.82) 0%,
		rgba(15, 17, 16, 0.35) 45%,
		rgba(15, 17, 16, 0.7) 100%
	);
}

.er-journey-card__content {
	position: relative;
	z-index: 2;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: clamp(2rem, 5vw, 4rem) var(--er-container-gutter);
	max-width: 36rem;
}

.er-journey-card__index {
	font-family: var(--er-font-booking);
	font-size: 0.6875rem;
	letter-spacing: 0.25em;
	color: var(--er-gold);
	margin-bottom: 1rem;
}

.er-journey-card__title {
	margin: 0;
	font-family: var(--er-font-display);
	font-size: clamp(3rem, 11vw, 6.5rem);
	font-weight: var(--er-weight-regular);
	letter-spacing: 0.06em;
	line-height: 0.92;
	color: #fff;
}

.er-journey-card__desc {
	margin: 0.85rem 0 0;
	max-width: 22rem;
	font-family: var(--er-font-display);
	font-size: var(--er-copy-size);
	line-height: var(--er-copy-leading);
	color: #fff;
}

.er-journey-card__enter {
	margin-top: 1.75rem;
	margin-bottom: 0.5rem;
}

/* --- Highlights stack (parallax) --- */

/* Shared typography for highlight panels (Activități, Restaurant, etc.) */
.er-journey-panel-eyebrow {
	font-family: var(--er-font-booking);
	font-size: clamp(0.625rem, 1.1vw, 0.75rem);
	font-weight: var(--er-weight-medium);
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: #fff;
	text-align: center;
	width: 100%;
	padding-inline-start: 0.28em;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.55), 0 2px 18px rgba(0, 0, 0, 0.45);
}

.er-journey-panel-title {
	margin: 0;
	font-family: var(--er-font-display);
	font-size: clamp(2.5rem, 6.5vw, 4.25rem);
	font-weight: var(--er-weight-regular);
	letter-spacing: 0.02em;
	line-height: 1.05;
	color: #fff;
	text-shadow: 0 4px 28px rgba(0, 0, 0, 0.6);
	text-align: center;
	align-self: stretch;
	width: 100%;
	padding-inline-start: 0.02em;
}

.er-journey-panel-title__line {
	display: block;
	text-align: center;
	width: 100%;
}

.er-journey-panel-brand {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.45rem;
	margin-bottom: clamp(1.25rem, 2.5vh, 1.75rem);
}

.er-journey-panel-brand .er-activity-icon {
	width: 2.35rem;
	height: 2.35rem;
	margin: 0;
	color: #fff;
}

.er-journey-panel-brand__name {
	margin: 0;
	font-family: var(--er-font-display);
	font-size: clamp(1rem, 1.8vw, 1.2rem);
	font-weight: var(--er-weight-regular);
	letter-spacing: 0.34em;
	text-transform: uppercase;
	color: var(--er-gold-light);
	text-align: center;
	width: 100%;
	padding-inline-start: 0.34em;
}

.er-journey-panel-brand__tag {
	margin: 0;
	font-family: var(--er-font-booking);
	font-size: clamp(0.5rem, 0.85vw, 0.5625rem);
	font-weight: var(--er-weight-medium);
	letter-spacing: 0.32em;
	text-transform: uppercase;
	color: rgba(201, 169, 106, 0.82);
	text-align: center;
	width: 100%;
	padding-inline-start: 0.32em;
}

.er-journey-panel-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.42rem 0.85rem;
	font-family: var(--er-font-booking);
	font-size: clamp(0.5625rem, 0.95vw, 0.625rem);
	font-weight: var(--er-weight-medium);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	line-height: 1.2;
	color: var(--er-gold-light);
	border: 1px solid rgba(201, 169, 106, 0.65);
	background: transparent;
	border-radius: 4px;
	white-space: nowrap;
}

.er-journey-feature-label {
	display: flex;
	flex-direction: column;
	gap: 0.15em;
	margin: 0;
	font-family: var(--er-font-booking);
	font-size: clamp(0.8125rem, 1.1vw, 0.9375rem);
	font-weight: var(--er-weight-semibold);
	letter-spacing: 0.07em;
	line-height: 1.35;
	text-transform: uppercase;
	color: #fff;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.7), 0 3px 16px rgba(0, 0, 0, 0.5);
}

.er-journey-feature-label__line {
	display: block;
	line-height: 1.35;
	white-space: nowrap;
}

.er-journey-highlights {
	position: relative;
	z-index: 3;
	margin-top: calc(-1 * clamp(5.5rem, 14vh, 9.5rem));
	padding: 0 0 clamp(1.5rem, 4vh, 2.5rem);
	background: transparent;
}

.er-journey-highlights__stack {
	position: relative;
	padding: 0 var(--er-container-gutter);
}

.er-journey-highlights__intro {
	position: absolute;
	top: clamp(1.15rem, 2.8vh, 1.85rem);
	left: var(--er-container-gutter);
	right: var(--er-container-gutter);
	z-index: 6;
	padding: 0;
	text-align: center;
	pointer-events: none;
}

.er-journey-highlights__eyebrow {
	margin: 0;
	font-family: var(--er-font-booking);
	font-size: 0.6875rem;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--er-gold);
	text-align: center;
	width: 100%;
	padding-inline-start: 0.28em;
	text-shadow: 0 2px 16px rgba(0, 0, 0, 0.65);
}

.er-journey-highlight--lead {
	box-shadow:
		0 -28px 72px rgba(0, 0, 0, 0.55),
		0 20px 60px rgba(0, 0, 0, 0.35);
}

.er-journey-highlight {
	position: sticky;
	top: 4rem;
	height: calc(100vh - 6rem);
	height: calc(100svh - 6rem);
	min-height: 420px;
	margin-bottom: 3rem;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 -20px 60px rgba(0, 0, 0, 0.35);
	will-change: transform;
}

html.er-touch .er-journey-highlight,
html.er-touch .er-journey-highlight__img {
	will-change: auto;
}

.er-journey-highlight:last-child {
	margin-bottom: 0;
}

.er-journey-highlights__stack:has(.er-journey-highlight--activities) {
	padding-inline: 0;
}

.er-journey-highlight--activities {
	min-height: max(calc(100svh - 6rem), 40rem);
	width: 100%;
	margin-left: 0;
	margin-right: 0;
}

.er-journey-highlight__copy--activities,
.er-journey-highlight__copy--excursii,
.er-journey-highlight__copy--restaurant,
.er-journey-highlight__copy--cazare {
	width: 100%;
	max-width: 100%;
	padding: clamp(2.5rem, 5vh, 3.75rem) clamp(1.25rem, 4vw, 2rem);
	justify-content: center;
	overflow-x: clip;
	box-sizing: border-box;
	text-align: center;
}

.er-journey-highlight__media {
	position: absolute;
	inset: 0;
	overflow: hidden;
}

.er-journey-highlight__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	will-change: transform;
}

.er-journey-highlight__splash {
	display: none;
}

.er-journey-highlight__copy {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: min(100%, 52rem);
	margin: 0 auto;
	padding: clamp(5rem, 10vh, 7rem) var(--er-container-gutter);
	text-align: center;
}

/* No local text wash — full photo veil handles contrast */
.er-journey-highlight__copy::before {
	content: none;
}

.er-journey-highlight__copy--activities::before,
.er-journey-highlight__copy--excursii::before,
.er-journey-highlight__copy--restaurant::before,
.er-journey-highlight__copy--cazare::before {
	content: none;
}

.er-journey-highlight__copy > * {
	position: relative;
	z-index: 1;
}

.er-journey-activities__inner,
.er-journey-excursii-panel,
.er-journey-restaurant-panel,
.er-journey-cazare-panel {
	position: relative;
}

.er-journey-activities__inner::before,
.er-journey-excursii-panel::before,
.er-journey-restaurant-panel::before,
.er-journey-cazare-panel::before {
	content: none;
}

.er-journey-highlight__intro {
	margin: clamp(0.85rem, 1.8vh, 1.1rem) 0 0;
	max-width: 34rem;
	font-family: var(--er-font-display);
	font-size: var(--er-copy-size);
	font-weight: var(--er-weight-regular);
	line-height: var(--er-copy-leading);
	color: #fff;
	text-shadow: 0 3px 22px rgba(0, 0, 0, 0.6);
}

.er-journey-highlight__tags {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.4rem 0.45rem;
	margin-top: clamp(0.85rem, 1.8vh, 1.1rem);
	max-width: 38rem;
}

.er-journey-highlight__tag {
	display: inline-block;
	padding: 0.38rem 0.72rem;
	font-family: var(--er-font-booking);
	font-size: clamp(0.625rem, 1.1vw, 0.6875rem);
	font-weight: var(--er-weight-medium);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	line-height: 1.2;
	color: #fff;
	background: rgba(245, 241, 234, 0.07);
	border: 1px solid rgba(245, 241, 234, 0.16);
	border-radius: 999px;
	white-space: nowrap;
}

.er-journey-highlight__cta {
	margin-top: clamp(1.1rem, 2.2vh, 1.45rem);
}

@media (max-width: 40rem) {
	.er-journey-highlight__tags {
		max-width: 100%;
	}

	.er-journey-highlight__tag {
		white-space: normal;
		text-align: center;
	}

	.er-journey-highlight--activities {
		min-height: max(calc(100svh - 6rem), 36rem);
	}
}

/* --- Activities panel (inside highlights stack) --- */
.er-journey-activities__head {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	text-align: center;
}

.er-journey-activities__inner {
	position: relative;
	z-index: 2;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: min(100%, 92rem);
	max-width: min(100%, 92rem);
	margin: 0 auto;
	text-align: center;
}

.er-journey-highlight--activities .er-journey-activities__tagline {
	margin-bottom: clamp(2rem, 4vh, 3rem);
}

.er-journey-highlight--activities .er-journey-activities__rows {
	display: flex;
	flex-direction: column;
	gap: 0;
	width: 100%;
	margin-bottom: clamp(2rem, 4vh, 3rem);
}

.er-journey-highlight--activities .er-journey-activities__row {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	justify-content: space-between;
	width: 100%;
	margin: 0 auto;
}

.er-journey-highlight--activities .er-journey-activities__item {
	flex: 1 1 0;
	min-width: 0;
	padding: 0 clamp(0.35rem, 0.9vw, 0.85rem);
}

.er-journey-highlight--activities .er-journey-activities__sep {
	flex: 0 0 clamp(1.25rem, 2.5vw, 2.75rem);
	display: flex;
	align-items: stretch;
	justify-content: center;
}

.er-journey-highlight--activities .er-journey-activities__sep::before {
	content: '';
	width: 1px;
	background: linear-gradient(
		180deg,
		transparent 0%,
		var(--er-gold-light) 18%,
		var(--er-gold-light) 82%,
		transparent 100%
	);
}

.er-journey-highlight--activities .er-activity-icon {
	width: 3.25rem;
	height: 3.25rem;
	margin-bottom: 1.25rem;
}

.er-journey-highlight--activities .er-journey-activities__item-title {
	align-items: center;
	min-height: calc(2 * 1.35em);
}

.er-journey-highlight--activities .er-journey-activities__item {
	position: relative;
	border-left: 0;
}

.er-journey-activities__divider {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.65rem;
	margin: clamp(0.85rem, 2vh, 1.15rem) 0 clamp(0.75rem, 1.6vh, 1rem);
}

.er-journey-activities__divider-line {
	display: block;
	width: clamp(3rem, 8vw, 5.5rem);
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--er-gold-muted), transparent);
}

.er-journey-activities__divider-gem {
	display: block;
	width: 0.45rem;
	height: 0.45rem;
	background: var(--er-gold);
	transform: rotate(45deg);
	opacity: 0.9;
}

.er-journey-activities__tagline {
	margin: 0 0 clamp(2rem, 4.5vh, 3rem);
}

.er-journey-activities__grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	align-items: stretch;
	width: 100%;
	margin-bottom: clamp(2rem, 4vh, 2.75rem);
}

.er-journey-activities__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	height: 100%;
	padding: 0 clamp(0.35rem, 0.75vw, 0.6rem);
	border-left: 1px solid rgba(245, 241, 234, 0.14);
}

.er-journey-activities__item:first-child {
	border-left: 0;
}

.er-activity-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	margin-bottom: 0.85rem;
	color: #fff;
}

.er-activity-icon svg {
	width: 100%;
	height: 100%;
}

.er-journey-activities__item-desc {
	flex: 1;
	margin: 0;
	font-family: var(--er-font-booking);
	font-size: clamp(0.5625rem, 0.9vw, 0.625rem);
	line-height: 1.45;
	color: #fff;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.7), 0 2px 12px rgba(0, 0, 0, 0.5);
}

.er-journey-activities__cta {
	min-width: min(100%, 18rem);
}

@media (max-width: 64rem) {
	.er-journey-highlight--activities .er-journey-activities__row {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 1.75rem 1.15rem;
		width: 100%;
		justify-content: initial;
	}

	.er-journey-highlight--activities .er-journey-activities__item {
		flex: none;
		width: auto;
		min-width: 0;
	}

	.er-journey-highlight--activities .er-journey-activities__sep {
		display: none !important;
	}
}

@media (max-width: 40rem) {
	.er-journey-highlight__copy--activities {
		padding-inline: clamp(0.85rem, 4vw, 1.25rem);
		padding-bottom: clamp(2rem, 5vh, 3rem);
	}

	.er-journey-highlight--activities .er-journey-activities__rows {
		width: 100%;
		margin-bottom: clamp(1.5rem, 3.5vh, 2.25rem);
	}

	.er-journey-highlight--activities .er-journey-activities__row {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.5rem 1rem;
		width: 100%;
		align-items: start;
		justify-content: initial;
	}

	.er-journey-highlight--activities .er-journey-activities__item {
		flex: none;
		width: auto;
		min-width: 0;
		padding: 0 0.35rem;
	}

	.er-journey-highlight--activities .er-journey-activities__sep {
		display: none !important;
	}

	.er-journey-activities__cta {
		position: relative;
		z-index: 2;
		margin-top: 0.25rem;
		width: min(100%, 18rem);
	}
}

/* --- Excursii panel (inside highlights stack) --- */
.er-journey-highlight--excursii {
	min-height: max(calc(100svh - 6rem), 44rem);
}

.er-journey-excursii-panel {
	position: relative;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: min(100%, var(--er-panel-content-width, 52rem));
	max-width: 100%;
	margin: 0 auto;
	padding-inline: 0;
	box-sizing: border-box;
	text-align: center;
	min-width: 0;
}

.er-journey-excursii-panel__title {
	margin: 0 0 clamp(1rem, 2.2vh, 1.35rem);
	width: 100%;
	max-width: 100%;
}

.er-journey-excursii-panel__divider {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.65rem;
	width: 100%;
	margin-bottom: clamp(1rem, 2vh, 1.35rem);
}

.er-journey-excursii-panel__divider-line {
	display: block;
	width: clamp(3rem, 8vw, 5.5rem);
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--er-gold-muted), transparent);
}

.er-journey-excursii-panel__divider-icon .er-activity-icon {
	width: 1.35rem;
	height: 1.35rem;
	margin: 0;
	color: #fff;
	opacity: 1;
}

.er-journey-excursii-panel__intro {
	margin: 0 auto clamp(1.75rem, 3.5vh, 2.5rem);
	width: 100%;
	max-width: min(36rem, 100%);
	padding-inline: 0.15rem;
	font-family: var(--er-font-display);
	font-size: var(--er-copy-size);
	font-weight: var(--er-weight-regular);
	line-height: var(--er-copy-leading);
	color: #fff;
	text-shadow: 0 2px 18px rgba(0, 0, 0, 0.5);
	box-sizing: border-box;
	overflow-wrap: break-word;
	word-wrap: break-word;
}

.er-journey-excursii-panel__features {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	justify-content: center;
	width: 100%;
	max-width: min(46rem, 100%);
	margin-bottom: clamp(1.5rem, 3vh, 2rem);
	min-width: 0;
	box-sizing: border-box;
}

.er-journey-excursii-panel__feature {
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	align-items: center;
	min-width: 0;
	padding: 0 clamp(0.65rem, 1.25vw, 1rem);
	box-sizing: border-box;
}

.er-journey-excursii-panel__feature .er-activity-icon {
	width: 2.75rem;
	height: 2.75rem;
	margin-bottom: 0.9rem;
	color: #fff;
}

.er-journey-excursii-panel__feature-label {
	align-items: center;
	color: #fff;
	max-width: 100%;
	overflow-wrap: break-word;
}

.er-journey-excursii-panel__sep {
	flex: 0 0 1px;
	align-self: stretch;
	width: 1px;
	margin: 0 clamp(0.35rem, 0.8vw, 0.65rem);
	background: linear-gradient(
		180deg,
		transparent 0%,
		var(--er-gold-light) 18%,
		var(--er-gold-light) 82%,
		transparent 100%
	);
}

.er-journey-excursii-panel__badges {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.45rem 0.5rem;
	margin-bottom: clamp(1.35rem, 2.6vh, 1.85rem);
}

.er-journey-excursii-panel__cta {
	min-width: min(100%, 16rem);
	max-width: 100%;
	box-sizing: border-box;
}

@media (max-width: 40rem) {
	.er-journey-highlight__copy--excursii {
		padding-left: max(1.35rem, env(safe-area-inset-left, 0px));
		padding-right: max(1.35rem, env(safe-area-inset-right, 0px));
	}

	.er-journey-excursii-panel {
		width: 100%;
		max-width: 100%;
	}

	.er-journey-excursii-panel__intro {
		margin-bottom: 1.5rem;
	}

	.er-journey-excursii-panel__features {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.5rem 0.85rem;
		width: 100%;
		max-width: 100%;
		justify-items: center;
	}

	.er-journey-excursii-panel__feature {
		flex: none;
		width: 100%;
		max-width: 100%;
		padding: 0 0.35rem;
	}

	.er-journey-excursii-panel__feature:first-child {
		grid-column: 1 / -1;
		max-width: 14rem;
	}

	.er-journey-excursii-panel__sep {
		display: none !important;
	}

	.er-journey-excursii-panel__cta {
		width: min(100%, 18rem);
	}
}

/* --- Restaurant panel (inside highlights stack) --- */
.er-journey-highlight--restaurant,
.er-journey-highlight--cazare {
	min-height: max(calc(100svh - 6rem), 44rem);
}

.er-journey-highlight__veil--restaurant,
.er-journey-highlight__veil--cazare {
	display: block;
	background: var(--er-photo-veil);
}

/* Full-card wash removed — photo veil only */
.er-journey-highlight__copy--restaurant::before,
.er-journey-highlight__copy--cazare::before {
	content: none;
}

.er-journey-highlight__copy--restaurant,
.er-journey-highlight__copy--cazare {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: none;
	height: 100%;
	padding: clamp(2.5rem, 5vh, 3.75rem) var(--er-container-gutter);
	overflow: visible;
	text-align: center;
}

.er-journey-restaurant-panel,
.er-journey-cazare-panel {
	position: relative;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: clamp(1.25rem, 2.5vh, 1.75rem);
	width: min(100%, 76rem);
	max-width: 76rem;
	margin: 0 auto;
	padding: 0;
	text-align: center;
}

.er-journey-restaurant-panel__eyebrow,
.er-journey-cazare-panel__eyebrow {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.65rem;
	margin: 0;
}

.er-journey-restaurant-panel__eyebrow-line,
.er-journey-cazare-panel__eyebrow-line {
	display: block;
	width: clamp(2.5rem, 6vw, 4.5rem);
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--er-gold-muted), transparent);
}

.er-journey-restaurant-panel__eyebrow-gem,
.er-journey-cazare-panel__eyebrow-gem {
	display: block;
	width: 0.4rem;
	height: 0.4rem;
	background: var(--er-gold);
	transform: rotate(45deg);
	opacity: 0.9;
}

.er-journey-restaurant-panel__title,
.er-journey-cazare-panel__title {
	margin: 0;
}

.er-journey-restaurant-panel__intro,
.er-journey-cazare-panel__intro {
	margin: 0 auto;
	max-width: 34rem;
	font-family: var(--er-font-display);
	font-size: var(--er-copy-size);
	line-height: var(--er-copy-leading);
	color: #fff;
	text-shadow: var(--er-text-wash-shadow);
}

.er-journey-restaurant-panel__perks,
.er-journey-cazare-panel__perks {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	justify-content: center;
	width: min(100%, 72rem);
	margin: clamp(0.35rem, 1vh, 0.65rem) 0 0;
	padding-top: clamp(1.25rem, 2.5vh, 1.75rem);
	border-top: 1px solid rgba(245, 241, 234, 0.14);
}

.er-journey-restaurant-panel__perk,
.er-journey-cazare-panel__perk {
	display: flex;
	flex: 1 1 0;
	align-items: center;
	gap: 1rem;
	min-width: 0;
	padding: 0 clamp(0.75rem, 1.5vw, 1.25rem);
	text-align: left;
}

.er-journey-restaurant-panel__perk .er-activity-icon,
.er-journey-cazare-panel__perk .er-activity-icon {
	flex-shrink: 0;
	width: 2.5rem;
	height: 2.5rem;
	margin-bottom: 0;
	margin-top: 0;
	color: #fff;
}

.er-journey-restaurant-panel__perk-copy,
.er-journey-cazare-panel__perk-copy {
	min-width: 0;
}

.er-journey-restaurant-panel__perk .er-journey-feature-label,
.er-journey-cazare-panel__perk .er-journey-feature-label {
	align-items: center;
	margin-bottom: 0;
	min-height: calc(2 * 1.35em);
	text-align: center;
}

.er-journey-cazare-panel__perk-desc {
	margin: 0.35rem 0 0;
	font-family: var(--er-font-sans);
	font-size: 0.8125rem;
	line-height: 1.4;
	color: #fff;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.75), 0 2px 14px rgba(0, 0, 0, 0.55);
}

.er-journey-restaurant-panel__perk-sep,
.er-journey-cazare-panel__perk-sep {
	flex: 0 0 1px;
	align-self: stretch;
	width: 1px;
	margin: 0 clamp(0.5rem, 1vw, 0.85rem);
	background: linear-gradient(
		180deg,
		transparent 0%,
		var(--er-gold-light) 18%,
		var(--er-gold-light) 82%,
		transparent 100%
	);
}

.er-journey-restaurant-panel__cta,
.er-journey-cazare-panel__cta {
	margin-top: clamp(0.35rem, 1vh, 0.75rem);
	min-width: min(100%, 16rem);
}

@media (max-width: 64rem) {
	.er-journey-restaurant-panel__perks,
	.er-journey-cazare-panel__perks {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.75rem 1.25rem;
		justify-content: center;
		width: 100%;
	}

	.er-journey-restaurant-panel__perk,
	.er-journey-cazare-panel__perk {
		flex: none;
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;
		gap: 0.85rem;
		width: 100%;
		text-align: center;
	}

	.er-journey-restaurant-panel__perk .er-journey-feature-label,
	.er-journey-cazare-panel__perk .er-journey-feature-label {
		align-items: center;
		text-align: center;
	}

	.er-journey-cazare-panel__perk-desc {
		text-align: center;
	}

	.er-journey-restaurant-panel__perk-sep,
	.er-journey-cazare-panel__perk-sep {
		display: none;
	}

	/* 3 room icons on Cazare: center the odd last item */
	.er-journey-cazare-panel__perk:last-of-type {
		grid-column: 1 / -1;
		justify-self: center;
		width: min(100%, 11.5rem);
	}
}

@media (max-width: 40rem) {
	.er-journey-highlight__copy--restaurant,
	.er-journey-highlight__copy--cazare {
		padding-inline: clamp(1rem, 4vw, 1.5rem);
	}

	.er-journey-restaurant-panel__perks,
	.er-journey-cazare-panel__perks {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.35rem 1rem;
		width: 100%;
		align-items: start;
		justify-content: center;
	}

	.er-journey-restaurant-panel__perk,
	.er-journey-cazare-panel__perk {
		flex: none;
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;
		gap: 0.75rem;
		width: 100%;
		padding: 0;
		text-align: center;
	}

	.er-journey-restaurant-panel__perk .er-journey-feature-label,
	.er-journey-cazare-panel__perk .er-journey-feature-label {
		align-items: center;
		text-align: center;
	}

	.er-journey-cazare-panel__perk-desc {
		text-align: center;
	}

	.er-journey-restaurant-panel__perk-sep,
	.er-journey-cazare-panel__perk-sep {
		display: none;
	}

	.er-journey-cazare-panel__perk:last-of-type {
		grid-column: 1 / -1;
		justify-self: center;
		width: min(100%, 11.5rem);
	}

	.er-journey-restaurant-panel__intro,
	.er-journey-cazare-panel__intro {
		max-width: 100%;
		padding-inline: 0.25rem;
	}
}

/* --- Rooms stack (legacy) --- */
.er-journey-rooms {
	position: relative;
	z-index: 3;
	padding: var(--er-space-3xl) 0 var(--er-space-2xl);
	background: var(--er-ink);
}

.er-journey-rooms__intro {
	padding: 0 var(--er-container-gutter) var(--er-space-lg);
}

.er-journey-rooms__eyebrow {
	margin: 0;
	font-family: var(--er-font-booking);
	font-size: 0.6875rem;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--er-gold);
}

.er-journey-rooms__stack {
	padding: 0 var(--er-container-gutter);
}

.er-journey-room {
	position: sticky;
	top: 4rem;
	height: calc(100vh - 6rem);
	height: calc(100svh - 6rem);
	min-height: 420px;
	margin-bottom: 3rem;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 -20px 60px rgba(0, 0, 0, 0.35);
}

.er-journey-room:last-child { margin-bottom: 0; }

.er-journey-room__media {
	position: absolute;
	inset: 0;
}

.er-journey-room__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.er-journey-room__veil {
	display: none;
}

.er-journey-room__copy {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	padding: clamp(1.5rem, 4vw, 2.5rem);
}

.er-journey-room__title {
	margin: 0;
	font-family: var(--er-font-display);
	font-size: clamp(2rem, 5vw, 3.25rem);
	color: #fff;
}

.er-journey-room__subtitle {
	margin: 0.4rem 0 0;
	font-family: var(--er-font-booking);
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	color: var(--er-color-text-muted);
}

.er-journey-rooms__cta {
	text-align: center;
	padding: var(--er-space-xl) var(--er-container-gutter) 0;
}

/* --- Restaurant --- */
.er-journey-restaurant {
	position: relative;
	z-index: 3;
	height: 100vh;
	height: 100svh;
	min-height: 520px;
	overflow: hidden;
}

.er-journey-restaurant__media {
	position: absolute;
	inset: 0;
}

.er-journey-restaurant__visual {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(0.95) contrast(1.05);
}

.er-journey-restaurant__grain {
	display: none;
}

.er-journey-restaurant__copy {
	position: relative;
	z-index: 2;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2rem;
}

.er-journey-restaurant__phrase {
	margin: 0;
	font-family: var(--er-font-display);
	font-size: clamp(2.25rem, 7vw, 4.75rem);
	font-style: italic;
	color: #fff;
	text-align: center;
}

/* --- Timeline --- */
.er-journey-timeline {
	position: relative;
	z-index: 3;
	padding: var(--er-space-3xl) var(--er-container-gutter);
	background: var(--er-ink);
}

.er-journey-timeline__inner {
	max-width: 24rem;
	margin: 0 auto;
	padding-left: 1.75rem;
	border-left: 1px solid rgba(168, 134, 74, 0.35);
}

.er-journey-timeline__item {
	padding: 2rem 0;
	opacity: 0.3;
	transition: opacity 0.5s var(--er-ease-luxury);
}

.er-journey-timeline__item.is-active { opacity: 1; }

.er-journey-timeline__year {
	display: block;
	font-family: var(--er-font-display);
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	color: var(--er-gold);
	line-height: 1;
}

.er-journey-timeline__label {
	display: block;
	margin-top: 0.35rem;
	font-family: var(--er-font-display);
	font-size: 1.125rem;
	font-style: italic;
	color: #fff;
}

/* --- Map --- */
.er-journey-map {
	position: relative;
	z-index: 3;
	padding: var(--er-space-3xl) var(--er-container-gutter);
	background: #141615;
}

.er-journey-map__eyebrow {
	margin: 0 0 var(--er-space-lg);
	text-align: center;
	width: 100%;
	font-family: var(--er-font-booking);
	font-size: 0.6875rem;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--er-gold);
	padding-inline-start: 0.28em;
}

.er-journey-map__canvas {
	position: relative;
	max-width: 48rem;
	margin: 0 auto;
	aspect-ratio: 5 / 4;
}

.er-journey-map__svg {
	width: 100%;
	height: 100%;
	color: #fff;
}

.er-journey-map__land {
	fill: rgba(245, 241, 234, 0.03);
	stroke: rgba(245, 241, 234, 0.18);
	stroke-width: 0.4;
}

.er-journey-map__water {
	fill: rgba(168, 134, 74, 0.08);
	stroke: rgba(168, 134, 74, 0.2);
	stroke-width: 0.25;
}

.er-journey-map__trail {
	stroke: rgba(168, 134, 74, 0.35);
	stroke-width: 0.2;
	stroke-dasharray: 1.5 1.5;
}

.er-journey-map__point {
	position: absolute;
	left: var(--mx);
	top: var(--my);
	transform: translate(-50%, -50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
	padding: 0.25rem;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.er-journey-map__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: rgba(245, 241, 234, 0.35);
	box-shadow: 0 0 0 0 rgba(168, 134, 74, 0);
	transition: background 0.35s, box-shadow 0.35s, transform 0.35s;
}

.er-journey-map__point.is-lit .er-journey-map__dot,
.er-journey-map__point:hover .er-journey-map__dot {
	background: var(--er-gold);
	box-shadow: 0 0 20px rgba(168, 134, 74, 0.55);
	transform: scale(1.2);
}

.er-journey-map__label {
	font-family: var(--er-font-booking);
	font-size: 0.5625rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--er-color-text-muted);
	opacity: 0;
	transition: opacity 0.3s, color 0.3s;
}

.er-journey-map__point.is-lit .er-journey-map__label,
.er-journey-map__point:hover .er-journey-map__label {
	opacity: 1;
	color: var(--er-gold);
}

/* --- Gallery --- */
.er-journey-gallery {
	position: relative;
	z-index: 3;
	padding: var(--er-space-xl) var(--er-container-gutter) var(--er-space-3xl);
	background: var(--er-ink);
}

.er-journey-gallery__grid {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: 0.65rem;
	max-width: 88rem;
	margin: 0 auto;
}

.er-journey-gallery__item {
	margin: 0;
	overflow: hidden;
	border-radius: 4px;
	opacity: 1;
	transform: none;
}

@media (hover: hover) and (pointer: fine) {
	.er-journey-gallery__item {
		opacity: 0;
		transform: translateY(20px);
	}

	.er-journey-gallery__item.is-revealed {
		opacity: 1;
		transform: none;
		transition: opacity 0.7s var(--er-ease-luxury), transform 0.7s var(--er-ease-luxury);
	}
}

.er-journey-gallery__item.is-revealed {
	opacity: 1;
	transform: none;
}

.er-journey-gallery__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.8s var(--er-ease-luxury);
}

.er-journey-gallery__item:hover img { transform: scale(1.03); }

.er-journey-gallery__item--normal { grid-column: span 4; aspect-ratio: 4 / 5; }
.er-journey-gallery__item--tall { grid-column: span 4; grid-row: span 2; min-height: 26rem; }
.er-journey-gallery__item--wide { grid-column: span 8; aspect-ratio: 16 / 9; }
.er-journey-gallery__item--hero { grid-column: 1 / -1; aspect-ratio: 2.2 / 1; min-height: 42vh; }

@media (max-width: 48rem) {
	.er-journey-gallery__item--normal,
	.er-journey-gallery__item--tall,
	.er-journey-gallery__item--wide,
	.er-journey-gallery__item--hero {
		grid-column: 1 / -1;
		min-height: auto;
		grid-row: auto;
	}

	.er-cinematic__line { text-align: center; }
}

/* --- Our story --- */
.er-journey-story {
	position: relative;
	z-index: 3;
	--er-story-scroll: 120vh;
	min-height: calc(100svh + var(--er-story-scroll));
	background: var(--er-ink);
}

.er-journey-story__stage {
	position: absolute;
	inset: 0;
	height: 100%;
	min-height: calc(100svh + var(--er-story-scroll));
	pointer-events: none;
}

.er-journey-story__sticky {
	position: sticky;
	top: 0;
	height: 100svh;
	overflow: hidden;
}

.er-journey-story__media {
	width: 100%;
	height: 100%;
	object-fit: cover;
	will-change: transform;
	transform: scale(1);
}

.er-journey-story__veil {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: block;
	background: var(--er-photo-veil);
	pointer-events: none;
}

.er-journey-story__vignette,
.er-journey-story__grain {
	display: none;
}

.er-journey-story__script {
	position: relative;
	z-index: 2;
	display: flex;
	justify-content: center;
	padding:
		clamp(5rem, 12vh, 8rem) var(--er-container-gutter)
		clamp(4rem, 10vh, 7rem);
}

.er-journey-story__script-inner {
	position: relative;
	width: min(100%, var(--er-panel-content-width));
	text-align: center;
}

.er-journey-story__script-inner::before {
	content: none;
}

.er-journey-story__script-inner > * {
	position: relative;
	z-index: 1;
}

.er-journey-story__header {
	margin-bottom: clamp(2rem, 5vh, 3rem);
}

.er-journey-story__eyebrow {
	margin: 0 0 clamp(1rem, 2.4vh, 1.5rem);
	font-family: var(--er-font-booking);
	font-size: 0.6875rem;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--er-gold);
	text-align: center;
	width: 100%;
	padding-inline-start: 0.28em;
	text-shadow: 0 2px 16px rgba(0, 0, 0, 0.65);
}

.er-journey-story__title {
	margin: 0;
}

.er-journey-story__rule {
	display: block;
	width: clamp(3.5rem, 10vw, 5.5rem);
	height: 1px;
	margin: clamp(1.35rem, 3vh, 2rem) auto 0;
	background: linear-gradient(90deg, transparent, rgba(201, 169, 106, 0.85), transparent);
	transform-origin: center;
}

.er-journey-story__origin {
	display: flex;
	flex-direction: column;
	gap: clamp(1.15rem, 2.8vh, 1.65rem);
	margin-bottom: clamp(2.5rem, 6vh, 3.5rem);
	padding: 0;
	text-align: center;
	background: none;
	border: 0;
	border-radius: 0;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

.er-journey-story__tagline {
	margin: 0 0 clamp(0.35rem, 1vh, 0.65rem);
	font-family: var(--er-font-booking);
	font-size: clamp(0.625rem, 1.1vw, 0.6875rem);
	font-weight: var(--er-weight-semibold);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--er-gold-light);
	line-height: 1.5;
}

.er-journey-story__origin-line,
.er-journey-story__invitation {
	margin: 0;
	font-family: var(--er-font-display);
	font-size: var(--er-copy-size);
	line-height: var(--er-copy-leading);
	color: #fff;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.65), 0 3px 20px rgba(0, 0, 0, 0.5);
}

.er-journey-story__origin-closing {
	margin: 0;
	font-family: var(--er-font-display);
	font-size: var(--er-copy-size);
	font-style: italic;
	line-height: var(--er-copy-leading);
	color: #fff;
	text-shadow: 0 4px 24px rgba(0, 0, 0, 0.5);
}

.er-journey-story__invitation {
	margin-top: clamp(0.35rem, 1vh, 0.65rem);
	font-family: var(--er-font-display);
	font-size: var(--er-copy-size);
	font-style: italic;
	line-height: var(--er-copy-leading);
	color: #fff;
}

.er-journey-story__lead {
	margin: 0 0 clamp(2.5rem, 6vh, 3.5rem);
	font-family: var(--er-font-display);
	font-size: var(--er-copy-size);
	font-style: italic;
	line-height: var(--er-copy-leading);
	color: #fff;
	text-shadow: 0 4px 28px rgba(0, 0, 0, 0.55);
}

.er-journey-story__chapters {
	display: flex;
	flex-direction: column;
	gap: clamp(2rem, 5vh, 3rem);
}

.er-journey-story__chapter {
	padding: 0;
	text-align: left;
	background: none;
	border: 0;
	border-radius: 0;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	box-shadow: none;
}

.er-journey-story__chapter-title {
	margin: 0 0 0.85rem;
	text-align: center;
	font-family: var(--er-font-booking);
	font-size: clamp(0.6875rem, 1.2vw, 0.75rem);
	font-weight: var(--er-weight-semibold);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--er-gold-light);
	line-height: 1.45;
}

.er-journey-story__chapter-body,
.er-journey-story__list-item,
.er-journey-story__list-item-text,
.er-journey-story__note,
.er-journey-story__note-text {
	margin: 0;
	font-family: var(--er-font-display);
	font-size: var(--er-copy-size);
	line-height: var(--er-copy-leading);
	color: #fff;
	text-shadow: 0 2px 18px rgba(0, 0, 0, 0.45);
}

.er-journey-story__list {
	margin: 0.35rem 0 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	text-align: left;
}

.er-journey-story__list-item {
	position: relative;
	padding-left: 1.15rem;
}

.er-journey-story__list-item::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.72em;
	width: 0.35rem;
	height: 0.35rem;
	border-radius: 50%;
	background: var(--er-gold-muted);
	box-shadow: 0 0 10px rgba(168, 134, 74, 0.45);
}

.er-journey-story__note {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	margin-top: 1rem;
	padding: 0.85rem 0.95rem;
	text-align: left;
	font-size: clamp(0.875rem, 1.6vw, 0.98rem);
	line-height: 1.65;
	color: #fff;
	background: rgba(168, 134, 74, 0.1);
	border: 1px solid rgba(201, 169, 106, 0.28);
	border-radius: 8px;
}

.er-journey-story__note-text {
	flex: 1 1 auto;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
	text-shadow: none;
}

.er-journey-story__note-mark {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.15rem;
	height: 1.15rem;
	margin-top: 0.15rem;
	font-family: var(--er-font-booking);
	font-size: 0.6875rem;
	font-weight: var(--er-weight-bold);
	font-style: normal;
	color: var(--er-ink);
	background: var(--er-gold-light);
	border-radius: 50%;
}

.er-journey-story--teaser {
	--er-story-scroll: 55vh;
}

.er-journey-story__footer--teaser {
	display: flex;
	justify-content: center;
	border-top: 0;
	padding-top: clamp(0.5rem, 2vh, 1rem);
}

.er-journey-story__more.er-btn-primary {
	color: var(--er-ink);
	background: #fff;
	border-color: rgba(15, 17, 16, 0.14);
}

.er-journey-story__more.er-btn-primary:hover {
	color: var(--er-ink);
	background: #f5f1ea;
	border-color: rgba(15, 17, 16, 0.28);
}

.er-journey-story__footer {
	margin-top: clamp(2.5rem, 6vh, 3.5rem);
	padding-top: clamp(1.5rem, 4vh, 2.25rem);
	border-top: 1px solid rgba(245, 241, 234, 0.12);
}

.er-journey-story__cta {
	margin: 0 0 1rem;
	font-family: var(--er-font-display);
	font-size: clamp(1.35rem, 3vw, 2rem);
	font-style: italic;
	line-height: 1.45;
	color: #fff;
	text-shadow: 0 4px 28px rgba(0, 0, 0, 0.55);
}

.er-journey-story__location {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 0.45rem;
	max-width: 34rem;
	margin: 0 auto;
	font-family: var(--er-font-booking);
	font-size: clamp(0.625rem, 1.1vw, 0.6875rem);
	letter-spacing: 0.08em;
	line-height: 1.55;
	text-transform: none;
	color: #fff;
	text-align: center;
}

.er-journey-story__location-text {
	display: inline-block;
	max-width: 100%;
	font: inherit;
	letter-spacing: inherit;
	line-height: inherit;
	color: inherit;
	text-align: inherit;
}

.er-journey-story__location-pin {
	flex-shrink: 0;
	width: 0.55rem;
	height: 0.55rem;
	margin-top: 0.35rem;
	border-radius: 50%;
	background: var(--er-gold);
	box-shadow: 0 0 12px rgba(201, 169, 106, 0.55);
}

/* Story block shells — light motion only (text uses char reveal) */
.er-journey-story [data-story-block] {
	transform: translateY(1rem);
}

.er-journey-story [data-story-block].is-revealed,
.er-journey-story__header.is-revealed {
	transform: none;
}

/* --- Story char-by-char scroll reveal (Ana Tudor technique) --- */
.er-story-reveal-svg {
	position: absolute;
	width: 0;
	height: 0;
	overflow: hidden;
	pointer-events: none;
}

@property --k {
	syntax: '<number>';
	initial-value: 0;
	inherits: true;
}

@keyframes er-story-reveal-k {
	to {
		--k: var(--n);
	}
}

/* Default: readable text (browsers without animation-range / touch) */
.er-story-reveal {
	--k: calc(-1 * (var(--m) + 1));
}

.er-story-reveal__text {
	display: inline;
}

/*
 * Char-by-char scroll reveal — desktop only.
 * Safari/iOS view() + SVG filter often stalls on fast fling (invisible / stuck text).
 */
@media (hover: hover) and (pointer: fine) {
	@supports (animation-range: entry 50% cover 50%) {
		.er-journey-story .er-story-reveal,
		.er-restaurant .er-story-reveal {
			filter: url(#er-story-reveal);
			animation: er-story-reveal-k steps(calc(var(--n) + var(--m) + 1)) both;
			animation-timeline: view();
			animation-range: entry 35% cover 45%;
		}

		.er-journey-story .er-story-reveal__text,
		.er-restaurant .er-story-reveal__text {
			overflow: hidden;
			background:
				linear-gradient(#00f 0 0) text,
				linear-gradient(
					90deg,
					red calc(var(--k) * 1ch),
					#000 calc((var(--k) + var(--m) + 1) * 1ch)
				),
				linear-gradient(#000, #0f0);
			background-blend-mode: lighten;
			color: #0000;
			-webkit-text-fill-color: #0000;
			text-shadow: none;
		}
	}

	@media (prefers-reduced-motion: reduce) {
		@supports (animation-range: entry 50% cover 50%) {
			.er-journey-story .er-story-reveal,
			.er-restaurant .er-story-reveal {
				filter: none;
				animation: none;
			}

			.er-journey-story .er-story-reveal__text,
			.er-restaurant .er-story-reveal__text {
				background: none;
				color: inherit;
				-webkit-text-fill-color: currentColor;
			}
		}
	}
}

/* Touch: force readable story copy (no filter / transparent text) */
.er-touch .er-story-reveal,
html.er-touch .er-story-reveal {
	filter: none !important;
	animation: none !important;
}

.er-touch .er-story-reveal__text,
html.er-touch .er-story-reveal__text {
	background: none !important;
	color: inherit !important;
	-webkit-text-fill-color: currentColor !important;
	text-shadow: inherit;
}

/* --- Google reviews (carousel) --- */
.er-journey-reviews {
	position: relative;
	z-index: 3;
	padding: clamp(5rem, 12vh, 8rem) var(--er-container-gutter);
	background:
		radial-gradient(ellipse 70% 50% at 18% 12%, rgba(168, 134, 74, 0.09), transparent 68%),
		radial-gradient(ellipse 55% 42% at 88% 78%, rgba(168, 134, 74, 0.05), transparent 70%),
		var(--er-ink);
}

.er-journey-reviews__frame {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: clamp(2rem, 5vw, 4rem);
	align-items: center;
	width: min(100%, calc(var(--er-container) + 2rem));
	margin-inline: auto;
}

.er-journey-reviews__intro-col {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	text-align: left;
}

.er-journey-reviews__eyebrow {
	margin: 0 0 clamp(0.85rem, 2vh, 1.25rem);
	font-family: var(--er-font-booking);
	font-size: 0.6875rem;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--er-gold);
	padding-inline-start: 0.28em;
}

.er-journey-reviews__title {
	margin: 0;
	text-align: left;
}

.er-journey-reviews__title .er-journey-panel-title__line {
	text-align: left;
}

.er-journey-reviews__summary {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.55rem 0.85rem;
	margin: clamp(1.15rem, 2.8vh, 1.65rem) 0 clamp(1rem, 2.4vh, 1.35rem);
	padding-bottom: clamp(1rem, 2.4vh, 1.35rem);
	border-bottom: 1px solid rgba(245, 241, 234, 0.1);
}

.er-journey-reviews__score-value {
	font-family: var(--er-font-display);
	font-size: clamp(1.75rem, 3.2vw, 2.35rem);
	line-height: 1;
	color: #fff;
}

.er-journey-reviews__stars {
	display: inline-flex;
	align-items: center;
	gap: 0.2rem;
}

.er-journey-reviews__count {
	font-family: var(--er-font-booking);
	font-size: 0.625rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #fff;
}

.er-journey-reviews__intro {
	margin: 0 0 clamp(1.5rem, 3.5vh, 2rem);
	max-width: 24rem;
	font-family: var(--er-font-display);
	font-size: var(--er-copy-size);
	line-height: var(--er-copy-leading);
	color: #fff;
}

.er-journey-reviews__cta {
	margin-top: auto;
}

.er-journey-reviews__slider {
	position: relative;
	min-width: 0;
}

.er-journey-reviews__slider-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.15rem;
	padding-inline: 0.15rem;
}

.er-journey-reviews__slider-label {
	margin: 0;
	font-family: var(--er-font-booking);
	font-size: 0.625rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #fff;
}

.er-journey-reviews__counter {
	font-family: var(--er-font-booking);
	font-size: 0.6875rem;
	letter-spacing: 0.14em;
	color: var(--er-gold-light);
}

.er-journey-reviews__slider-stage {
	position: relative;
	display: grid;
	grid-template-columns: auto minmax(0, 24rem) auto;
	align-items: center;
	justify-content: center;
	gap: 0.85rem;
	width: 100%;
}

.er-journey-reviews__viewport {
	position: relative;
	overflow: hidden;
	width: 100%;
	min-width: 0;
	padding-block: 0.25rem;
}

.er-journey-reviews__track {
	display: flex;
	align-items: stretch;
	gap: 0;
	transition: transform 0.78s var(--er-ease-luxury);
	will-change: transform;
}

.er-journey-reviews__card {
	position: relative;
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: clamp(1rem, 2.2vh, 1.45rem);
	min-height: clamp(15rem, 28vh, 18rem);
	padding: clamp(1.25rem, 2.4vw, 1.6rem);
	box-sizing: border-box;
	border-radius: 16px;
	border: 1px solid rgba(245, 241, 234, 0.1);
	background:
		linear-gradient(155deg, rgba(22, 24, 23, 0.96) 0%, rgba(10, 12, 11, 0.9) 100%);
	box-shadow:
		0 14px 36px rgba(0, 0, 0, 0.28),
		inset 0 1px 0 rgba(255, 255, 255, 0.05);
	transition:
		border-color 0.45s var(--er-ease-luxury),
		box-shadow 0.45s var(--er-ease-luxury);
}

.er-journey-reviews__card.is-active {
	border-color: rgba(201, 169, 106, 0.34);
	box-shadow:
		0 20px 44px rgba(0, 0, 0, 0.38),
		0 0 0 1px rgba(201, 169, 106, 0.08),
		inset 0 1px 0 rgba(255, 255, 255, 0.07);
}

.er-journey-reviews__card-accent {
	position: absolute;
	top: 0;
	left: 1.35rem;
	right: 1.35rem;
	height: 1px;
	background: linear-gradient(
		90deg,
		transparent,
		rgba(201, 169, 106, 0.55) 18%,
		rgba(201, 169, 106, 0.55) 82%,
		transparent
	);
	opacity: 0.65;
	pointer-events: none;
}

.er-journey-reviews__card-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
}

.er-journey-reviews__quote {
	margin: 0;
	position: relative;
	flex: 1 1 auto;
	text-align: left;
}

.er-journey-reviews__quote::before {
	content: '“';
	position: absolute;
	top: -0.55rem;
	left: -0.15rem;
	font-family: var(--er-font-display);
	font-size: clamp(2.5rem, 5vw, 3.5rem);
	line-height: 1;
	color: rgba(201, 169, 106, 0.16);
	pointer-events: none;
}

.er-journey-reviews__quote p {
	position: relative;
	z-index: 1;
	margin: 0;
	padding-top: 0.5rem;
	font-family: var(--er-font-display);
	font-size: var(--er-copy-size);
	font-style: italic;
	font-weight: var(--er-weight-regular);
	line-height: var(--er-copy-leading);
	color: #fff;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 6;
	overflow: hidden;
}

.er-journey-reviews__card-foot {
	padding-top: 0.85rem;
	border-top: 1px solid rgba(245, 241, 234, 0.09);
}

.er-journey-reviews__author {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	min-width: 0;
}

.er-journey-reviews__avatar,
.er-journey-reviews__avatar-img {
	flex-shrink: 0;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 50%;
}

.er-journey-reviews__avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--er-font-booking);
	font-size: 0.9375rem;
	font-weight: var(--er-weight-semibold);
	color: #fff;
	background: radial-gradient(circle at 30% 20%, rgba(201, 169, 106, 0.3), rgba(12, 14, 13, 0.95));
	border: 1px solid rgba(201, 169, 106, 0.3);
}

.er-journey-reviews__avatar-img {
	display: block;
	object-fit: cover;
	border: 1px solid rgba(201, 169, 106, 0.3);
}

.er-journey-reviews__meta {
	min-width: 0;
	text-align: left;
}

.er-journey-reviews__name {
	margin: 0;
	font-family: var(--er-font-booking);
	font-size: 0.75rem;
	font-weight: var(--er-weight-semibold);
	letter-spacing: 0.06em;
	color: #fff;
}

.er-journey-reviews__date {
	margin: 0.22rem 0 0;
	font-family: var(--er-font-booking);
	font-size: 0.5625rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #fff;
}

.er-journey-reviews__rating {
	display: inline-flex;
	align-items: center;
	gap: 0.16rem;
}

.er-journey-reviews__star {
	display: inline-block;
	width: 0.62rem;
	height: 0.62rem;
	background: currentColor;
	color: #fff;
	clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
}

.er-journey-reviews__star.is-filled,
.er-journey-reviews__summary .er-journey-reviews__star {
	color: var(--er-gold-light);
}

.er-journey-reviews__source {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-family: var(--er-font-booking);
	font-size: 0.5625rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #fff;
}

.er-journey-reviews__source-mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.15rem;
	height: 1.15rem;
	border-radius: 50%;
	font-size: 0.625rem;
	font-weight: var(--er-weight-semibold);
	color: #fff;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.14);
}

.er-journey-reviews__nav {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 2.25rem;
	height: 2.25rem;
	padding: 0;
	border: 1px solid rgba(245, 241, 234, 0.18);
	border-radius: 50%;
	background: rgba(12, 14, 13, 0.72);
	color: #fff;
	cursor: pointer;
	transition: border-color 0.25s, background 0.25s, transform 0.25s var(--er-ease-luxury);
}

.er-journey-reviews__nav span {
	display: block;
	width: 0.5rem;
	height: 0.5rem;
	border-top: 1px solid currentColor;
	border-right: 1px solid currentColor;
}

.er-journey-reviews__nav--prev span {
	transform: rotate(-135deg);
}

.er-journey-reviews__nav--next span {
	transform: rotate(45deg);
}

.er-journey-reviews__nav:hover {
	border-color: rgba(201, 169, 106, 0.45);
	background: rgba(168, 134, 74, 0.14);
	transform: translateY(-1px);
}

.er-journey-reviews__dots {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin-top: 1.2rem;
}

.er-journey-reviews__dot {
	width: 0.4rem;
	height: 0.4rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.22);
	cursor: pointer;
	transition: transform 0.25s, background 0.25s;
}

.er-journey-reviews__dot.is-active {
	background: var(--er-gold-light);
	transform: scale(1.35);
}

.er-journey-reviews [data-reviews-header],
.er-journey-reviews [data-reviews-carousel] {
	opacity: 1;
	transform: none;
}

@media (hover: hover) and (pointer: fine) {
	.er-journey-reviews [data-reviews-header],
	.er-journey-reviews [data-reviews-carousel] {
		opacity: 0.01;
		transform: translateY(1.25rem);
	}

	.er-journey-reviews [data-reviews-header].is-revealed,
	.er-journey-reviews [data-reviews-carousel].is-revealed {
		opacity: 1;
		transform: none;
	}
}

@media (max-width: 64rem) {
	.er-journey-reviews__frame {
		grid-template-columns: 1fr;
		gap: clamp(2rem, 5vh, 2.75rem);
	}

	.er-journey-reviews__intro-col {
		align-items: center;
		text-align: center;
	}

	.er-journey-reviews__title,
	.er-journey-reviews__title .er-journey-panel-title__line {
		text-align: center;
	}

	.er-journey-reviews__summary {
		justify-content: center;
	}

	.er-journey-reviews__intro {
		max-width: 36rem;
		text-align: center;
	}
}

@media (max-width: 40rem) {
	.er-journey-reviews__slider-stage {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
	}

	.er-journey-reviews__nav {
		display: none;
	}

	.er-journey-reviews__card {
		min-height: auto;
	}

	.er-journey-reviews__quote p {
		-webkit-line-clamp: 8;
	}
}

@media (prefers-reduced-motion: reduce) {
	.er-journey-reviews__track {
		transition: none;
	}

	.er-journey-reviews__card {
		transition: none;
	}
}

/* --- Quote --- */
.er-journey-quote {
	position: relative;
	z-index: 3;
	min-height: 65vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--er-space-3xl) var(--er-container-gutter);
	background: var(--er-ink);
}

.er-journey-quote__block {
	margin: 0;
	max-width: 44rem;
	text-align: center;
}

.er-journey-quote__text {
	margin: 0;
	font-family: var(--er-font-display);
	font-size: clamp(1.75rem, 4.5vw, 3.25rem);
	font-style: italic;
	line-height: 1.25;
	color: #fff;
}

.er-journey-quote__meta {
	margin-top: 1.75rem;
	font-family: var(--er-font-booking);
	font-size: 0.75rem;
	letter-spacing: 0.16em;
	color: var(--er-gold);
}

.er-journey-quote__cta {
	margin-top: 2rem;
}

/* --- FAQ (SEO) --- */
.er-journey-faq {
	position: relative;
	padding: clamp(4rem, 10vw, 7rem) var(--er-container-gutter);
	background: var(--er-ink);
	color: #fff;
	text-align: center;
}

.er-journey-faq__inner {
	width: min(100%, 44rem);
	margin-inline: auto;
}

.er-journey-faq__header {
	margin: 0 0 2.5rem;
}

.er-journey-faq__eyebrow {
	margin: 0 0 1rem;
}

.er-journey-faq__title {
	margin: 0;
}

.er-journey-faq__intro {
	margin: 1.25rem auto 0;
	max-width: 34rem;
	font-family: var(--er-font-sans);
	font-size: var(--er-copy-size, 1.0625rem);
	line-height: var(--er-copy-leading, 1.65);
	color: #fff;
}

.er-journey-faq__rule {
	display: block;
	width: 3.5rem;
	height: 1px;
	margin: 1.75rem auto 0;
	background: rgba(245, 241, 234, 0.28);
}

.er-journey-faq__list {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	text-align: left;
}

.er-journey-faq__item {
	margin: 0;
	border: 1px solid rgba(245, 241, 234, 0.14);
	border-radius: 8px;
	background: rgba(245, 241, 234, 0.04);
	overflow: hidden;
}

.er-journey-faq__question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.1rem 1.25rem;
	cursor: pointer;
	list-style: none;
	font-family: var(--er-font-display);
	font-size: clamp(1.05rem, 2vw, 1.25rem);
	line-height: 1.35;
	color: #fff;
}

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

.er-journey-faq__question-text {
	flex: 1 1 auto;
}

.er-journey-faq__icon {
	flex-shrink: 0;
	position: relative;
	width: 1.1rem;
	height: 1.1rem;
}

.er-journey-faq__icon::before,
.er-journey-faq__icon::after {
	content: '';
	position: absolute;
	inset: 50% 0 auto;
	height: 1px;
	background: rgba(245, 241, 234, 0.7);
	transform: translateY(-50%);
	transition: transform 0.25s ease, opacity 0.25s ease;
}

.er-journey-faq__icon::after {
	transform: translateY(-50%) rotate(90deg);
}

.er-journey-faq__item[open] .er-journey-faq__icon::after {
	transform: translateY(-50%) rotate(0deg);
	opacity: 0;
}

.er-journey-faq__answer {
	padding: 0 1.25rem 1.25rem;
}

.er-journey-faq__answer p {
	margin: 0;
	font-family: var(--er-font-sans);
	font-size: 0.98rem;
	line-height: 1.65;
	color: #fff;
}

@media (prefers-reduced-motion: reduce) {
	.er-journey-faq__icon::before,
	.er-journey-faq__icon::after {
		transition: none;
	}
}

/* Footer styles: assets/css/footer-journey.css */

/* AI Chat styles: assets/css/chat.css */


