.home-page {
	overflow: hidden;
}
.home-page .home-hero {
	position: relative;
	display: grid;
	min-height: 45rem;
	isolation: isolate;
	background: var(--colour-aubergine-950);
}
.home-hero__media,
.home-hero__overlay,
.home-hero__container {
	grid-area: 1 / 1;
}
.home-hero__media {
	width: 100%;
	max-width: none;
	height: 900px;
	min-height: 45rem;
	object-fit: cover;
	object-position: 62% center;
}
.home-hero__overlay {
	z-index: 1;
	background: linear-gradient(
		90deg,
		rgba(29, 16, 28, 0.88) 0%,
		rgba(29, 16, 28, 0.79) 44%,
		rgba(29, 16, 28, 0.56) 100%
	);
}
.home-hero__container {
	z-index: 2;
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: var(--space-5);
	align-items: center;
	width: min(100% - (var(--gutter) * 2), var(--container-max));
	min-width: 0;
	margin-inline: auto;
	padding-block: var(--space-10);
}
.home-hero__content {
	grid-column: 1 / span 5;
	display: flex;
	flex-direction: column;
	min-width: 0;
	gap: var(--space-5);
	color: var(--colour-ivory-50);
}
.home-hero__content .eyebrow,
.home-hero__content h1,
.home-hero__content p {
	margin: 0;
}
.home-hero__content h1 {
	color: var(--colour-ivory-50);
}
.home-hero__subheading {
	max-width: 36.875rem;
	color: var(--colour-ivory-50);
	font-size: var(--text-intro);
	line-height: var(--leading-intro);
}
.home-hero__intro {
	max-width: 34rem;
	color: rgba(255, 248, 237, 0.84);
}
.home-hero__actions {
	margin-top: var(--space-2);
}

.home-destination__grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: var(--space-7) var(--space-5);
}
.home-destination__intro {
	grid-column: 2 / span 7;
	min-width: 0;
}
.home-destination__intro .lead {
	max-width: 43.75rem;
}
.home-destination__notes {
	grid-column: 2 / span 10;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-5);
	min-width: 0;
}
.home-destination__note {
	min-width: 0;
	padding-top: var(--space-4);
	border-top: 1px solid var(--colour-border-light);
}
.home-destination__note p:last-child {
	margin-bottom: 0;
}
.home-note__label,
.home-location__label {
	margin: 0 0 var(--space-3);
	color: var(--colour-aubergine-950);
	font-size: var(--text-meta);
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: var(--leading-meta);
	text-transform: uppercase;
}

.home-room__grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: var(--space-7) var(--space-5);
	align-items: center;
}
.home-room__figure {
	grid-column: 1 / span 7;
	width: 100%;
	min-width: 0;
	margin: 0;
}
.home-room__figure img {
	width: 100%;
	height: 38rem;
	object-fit: cover;
	object-position: left center;
}
.home-room__content {
	grid-column: 9 / span 4;
	display: flex;
	flex-direction: column;
	min-width: 0;
	gap: var(--space-4);
}
.home-room__content :is(h2, p, blockquote) {
	margin: 0;
}
.home-room__content .lead {
	max-width: 29.375rem;
}
.home-room__content blockquote {
	max-width: 21.25rem;
}
.home-room__actions {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
	gap: var(--space-4);
}

.home-enquiry__grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: var(--space-7) var(--space-5);
	align-items: start;
}
.home-enquiry__copy {
	grid-column: 1 / span 5;
	min-width: 0;
}
.home-enquiry__copy .lead {
	max-width: 26.875rem;
}
.home-form {
	grid-column: 7 / span 5;
	width: 100%;
	max-width: 31.25rem;
	min-width: 0;
	justify-self: start;
}
.home-form__fields {
	display: flex;
	flex-direction: column;
	min-width: 0;
	gap: var(--space-3);
}
.home-form__field {
	min-width: 0;
}
.home-form__field label {
	display: block;
}
.home-form__check {
	display: grid;
	grid-template-columns: 1.125rem minmax(0, 1fr);
	align-items: start;
	gap: var(--space-3);
	min-width: 0;
}
.home-form__check label {
	margin: 0;
}
.home-form__error {
	min-height: 1.65em;
	margin: var(--space-4) 0 0;
	color: var(--colour-champagne-300);
	font-size: var(--text-utility);
	font-weight: 700;
}
.home-form > .button {
	width: 100%;
	margin-top: var(--space-2);
}
.home-form__helper {
	margin: var(--space-4) 0 0;
	font-size: var(--text-utility);
	line-height: var(--leading-utility);
}
.home-form__success {
	margin: var(--space-4) 0 0;
}
.home-form__success[hidden] {
	display: none;
}

.home-lounge__grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: var(--space-7) var(--space-5);
	align-items: end;
}
.home-lounge__content {
	grid-column: 3 / span 7;
	min-width: 0;
}
.home-lounge__content .lead {
	max-width: 32.5rem;
}
.home-lounge__panel {
	grid-column: 9 / span 4;
	min-width: 0;
}
.home-lounge__panel .button-link {
	margin-top: var(--space-2);
}

.home-dining__grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: var(--space-7) var(--space-5);
	align-items: center;
}
.home-dining__content {
	grid-column: 1 / span 5;
	min-width: 0;
}
.home-dining__content .lead {
	max-width: 28.75rem;
}
.home-dining__figure {
	grid-column: 7 / span 6;
	min-width: 0;
	margin: 0;
}
.home-dining__figure img {
	width: 100%;
	height: 35rem;
	object-fit: cover;
	object-position: center;
}
.home-dining__actions {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
	gap: var(--space-4);
}
.home-dining__cue {
	margin-top: var(--space-5);
	color: var(--colour-aubergine-950);
	font-size: var(--text-utility);
	font-weight: 700;
}

.home-enquiry--restaurant .home-form {
	background: var(--colour-charcoal-950);
}
.home-practical__intro {
	width: 58.333%;
	min-width: 0;
}
.home-practical__intro .lead {
	max-width: 33.75rem;
}
.home-practical__panels {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-5);
	min-width: 0;
	margin-top: var(--space-7);
}
.home-practical__panel {
	display: flex;
	flex-direction: column;
	min-width: 0;
	gap: var(--space-4);
	padding: var(--space-5);
	border: 1px solid var(--colour-border-dark);
	background: var(--colour-aubergine-900);
}
.home-practical__panel :is(h3, p) {
	margin: 0;
}
.home-practical__panel h3 {
	color: var(--colour-ivory-50);
}
.home-practical__panel a {
	margin-top: auto;
	min-height: 2.75rem;
	display: inline-flex;
	align-items: center;
	color: var(--colour-champagne-300);
	font-size: var(--text-utility);
	font-weight: 700;
}

.home-location__grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
}
.home-location__content {
	grid-column: 2 / span 7;
	width: 100%;
	max-width: 37.5rem;
	min-width: 0;
}
.home-location__content address {
	margin: 0 0 var(--space-4);
	color: var(--colour-aubergine-950);
	font-family: var(--font-heading);
	font-size: clamp(2rem, 4vw, 3rem);
	font-style: normal;
	font-weight: 500;
	line-height: 1.04;
}
.home-location__contact-copy {
	max-width: 24.375rem;
	margin-top: var(--space-6);
}
.home-location__actions {
	display: flex;
	flex-wrap: wrap;
	min-width: 0;
	gap: var(--space-3);
}
.home-location__actions .button-link {
	flex: 1 1 15rem;
	min-width: 0;
	flex-direction: column;
	align-items: flex-start;
	text-align: left;
}
.home-location__actions span {
	display: block;
	overflow-wrap: anywhere;
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.35;
	text-transform: none;
}

.home-final-cta {
	padding-block: clamp(3rem, 6vw, 4rem);
}
.home-final-cta__content {
	display: flex;
	flex-direction: column;
	width: min(100%, 35rem);
	min-width: 0;
	margin-inline: auto;
	gap: var(--space-4);
	text-align: left;
}
.home-final-cta__content :is(.eyebrow, h2, p) {
	margin: 0;
}
.home-final-cta__content h2 {
	color: var(--colour-ivory-50);
}
.home-final-cta__actions {
	margin-top: var(--space-2);
}

@media (max-width: 63.9375rem) {
	.home-hero__content {
		grid-column: 1 / span 7;
	}
	.home-hero__overlay {
		background: linear-gradient(
			90deg,
			rgba(29, 16, 28, 0.88),
			rgba(29, 16, 28, 0.74)
		);
	}
	.home-room__grid,
	.home-dining__grid {
		width: min(100% - (var(--gutter) * 2), var(--container-max));
		margin-inline: auto;
	}
	.home-room__figure,
	.home-dining__figure {
		grid-column: 1 / span 8;
	}
	.home-room__content,
	.home-dining__content {
		grid-column: 1 / span 8;
	}
	.home-room__figure img {
		height: 32rem;
	}
	.home-dining__figure img {
		height: 32rem;
	}
	.home-enquiry__copy {
		grid-column: 1 / span 8;
	}
	.home-form {
		grid-column: 1 / span 6;
	}
	.home-lounge__content {
		grid-column: 1 / span 7;
	}
	.home-lounge__panel {
		grid-column: 1 / span 5;
	}
}

@media (max-width: 56.1875rem) {
	.home-destination__notes {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.home-enquiry__grid {
		grid-template-columns: repeat(8, minmax(0, 1fr));
	}
	.home-enquiry__copy {
		grid-column: 1 / span 8;
	}
	.home-form {
		grid-column: 1 / span 6;
	}
	.home-lounge__content {
		grid-column: 1 / span 8;
	}
	.home-lounge__panel {
		grid-column: 1 / span 5;
	}
	.home-practical__intro {
		width: 75%;
	}
	.home-practical__panels {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 47.9375rem) {
	.home-page .home-hero,
	.home-hero__media {
		min-height: 42rem;
	}
	.home-hero__media {
		object-position: 64% center;
	}
	.home-hero__overlay {
		background: linear-gradient(
			90deg,
			rgba(29, 16, 28, 0.88),
			rgba(29, 16, 28, 0.78)
		);
	}
	.home-hero__container {
		display: block;
		padding-block: var(--space-8);
	}
	.home-hero__content {
		width: 100%;
	}
	.home-hero__actions {
		flex-direction: column;
		align-items: stretch;
		gap: var(--space-3);
	}
	.home-destination__grid,
	.home-room__grid,
	.home-dining__grid,
	.home-lounge__grid,
	.home-enquiry__grid,
	.home-location__grid {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: var(--space-6);
	}
	.home-destination__intro,
	.home-destination__notes,
	.home-room__figure,
	.home-room__content,
	.home-dining__content,
	.home-dining__figure,
	.home-enquiry__copy,
	.home-form,
	.home-lounge__content,
	.home-lounge__panel,
	.home-location__content {
		grid-column: 1;
		width: 100%;
		max-width: none;
	}
	.home-destination__notes,
	.home-practical__panels {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--space-5);
	}
	.home-room__figure {
		order: 1;
	}
	.home-room__content {
		order: 2;
	}
	.home-dining__content {
		order: 1;
	}
	.home-dining__figure {
		order: 2;
	}
	.home-room__figure img,
	.home-dining__figure img {
		height: auto;
		aspect-ratio: 3 / 4;
	}
	.home-form {
		justify-self: stretch;
	}
	.home-practical__intro {
		width: 100%;
	}
	.home-location__actions,
	.home-final-cta__actions {
		flex-direction: column;
		align-items: stretch;
	}
	.home-location__actions .button-link {
		flex-basis: auto;
		width: 100%;
	}
	.home-final-cta__content {
		width: 100%;
	}
}

@media (max-width: 29.9375rem) {
	.home-hero__content h1 {
		font-size: 2.375rem;
	}
	.home-page .home-hero,
	.home-hero__media {
		min-height: 44rem;
	}
}
