/* September client review: shared booking panel, editorial photography, island guide. */
body.landing-v2-site footer.landing-v2-footer .landing-v2-footer-stay-contained {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0;
	max-width: none;
	width: 100%;
	margin: 0;
	min-height: 0;
	padding: 0;
	color: var(--landing-v2-paper);
	background: var(--landing-v2-black);
}
/* Preserve the original overlay composition; crop only its vertical footprint. */
body.landing-v2-site footer.landing-v2-footer .landing-v2-footer-stay-contained .landing-v2-footer-stay-image {
	grid-area: 1 / 1;
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100% !important;
	min-height: 0;
	object-fit: cover;
	object-position: center;
	filter: grayscale(1);
	transform: none;
}
body.landing-v2-site footer.landing-v2-footer .landing-v2-footer-stay-contained .landing-v2-footer-stay-shade { display: block; grid-area: 1 / 1; position: absolute; inset: 0; height: 100%; }
body.landing-v2-site footer.landing-v2-footer .landing-v2-footer-stay-contained .landing-v2-footer-stay-copy {
	grid-area: 1 / 1;
	min-height: clamp(500px, 40vw, 600px);
	padding: 3rem clamp(1.5rem, 5vw, 5.5rem);
	color: var(--landing-v2-paper);
}
body.landing-v2-site footer.landing-v2-footer .landing-v2-footer-stay-contained h2 {
	font-size: clamp(4.3rem, 8vw, 9rem);
	line-height: .88;
	color: inherit;
	margin: 1.3rem 0 2rem;
}
body.landing-v2-site footer.landing-v2-footer .landing-v2-footer-stay-contained .landing-v2-footer-stay-copy > p { color: inherit; }
body.landing-v2-site footer.landing-v2-footer .landing-v2-footer-stay-contained .landing-v2-footer-stay-copy > p:not(.landing-v2-eyebrow) { font-size: clamp(1.05rem, 1.5vw, 1.4rem); }

/* Page-specific hero crops requested during staging review. */
body.landing-v2-site.landing-v2-our-rooms .landing-v2-page-hero-image {
	object-position: center 70%;
}
body.landing-v2-site.landing-v2-the-landing-restaurant .landing-v2-page-hero-image {
	object-position: 35% center;
}

/* Shared dining-window movement; keep the homepage text and shade stationary. */
body.landing-v2-site.landing-v2-home .landing-v2-home-dine.has-dine-parallax {
	overflow: hidden !important;
	clip-path: inset(0);
}
body.landing-v2-site.landing-v2-home .landing-v2-home-dine.has-dine-parallax > .landing-v2-home-dine-image {
	top: -16%;
	height: 132% !important;
	transition: none !important;
	will-change: transform;
}
body.landing-v2-site.landing-v2-the-landing-restaurant .landing-v2-restaurant-spread {
	min-height: clamp(600px, 44vw, 680px);
}
body.landing-v2-site.landing-v2-harbour-island #island-beaches h3 {
	font-size: clamp(1.5rem, 2.2vw, 2rem);
	line-height: 1.2;
	margin: 1.75rem 0 .75rem;
}
@media (max-width: 820px) {
	body.landing-v2-site.landing-v2-the-landing-restaurant .landing-v2-restaurant-spread { min-height: 0; }
}
@media (prefers-reduced-motion: reduce) {
	body.landing-v2-site.landing-v2-home .landing-v2-home-dine.has-dine-parallax > .landing-v2-home-dine-image { top: 0; height: 100% !important; transform: none !important; will-change: auto; }
}

/* Island guide: consistent rhythm, legible topic links and compact closing advice. */
body.landing-v2-site.landing-v2-harbour-island {
	--island-section-space: clamp(3rem, 6vw, 5.5rem);
}
body.landing-v2-site.landing-v2-harbour-island .landing-v2-guide-jumps { gap: .5rem clamp(1.2rem, 3vw, 3rem); padding: 1.25rem 1.5rem; }
body.landing-v2-site.landing-v2-harbour-island .landing-v2-guide-jumps a { font-size: clamp(1rem, 1.35vw, 1.2rem); font-weight: 500; letter-spacing: .035em; padding: .35rem .25rem; }
body.landing-v2-site.landing-v2-harbour-island .landing-v2-guide-spread,
body.landing-v2-site.landing-v2-harbour-island .landing-v2-guide-practical { padding-block: var(--island-section-space); }
body.landing-v2-site.landing-v2-harbour-island .landing-v2-guide-spread img { aspect-ratio: 4 / 5; }
body.landing-v2-site.landing-v2-harbour-island .landing-island-map {
	margin: 0;
	padding: var(--island-section-space) clamp(1.5rem, 5vw, 5rem);
}
body.landing-v2-site.landing-v2-harbour-island .landing-island-map__intro { max-width: 1280px; margin-bottom: clamp(2rem, 4vw, 4rem); }
body.landing-v2-site.landing-v2-harbour-island .landing-island-map__intro h2 { font-size: clamp(2.6rem, 4.5vw, 4.8rem); line-height: 1; }
body.landing-v2-site.landing-v2-harbour-island #island-before-you-visit { grid-template-columns: 1fr; gap: 2.5rem; padding-bottom: 2.5rem; }
body.landing-v2-site.landing-v2-harbour-island #island-before-you-visit h2 { max-width: 22ch; margin-bottom: 0; }
body.landing-v2-site.landing-v2-harbour-island #island-before-you-visit > div:last-child { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 3rem); }
body.landing-v2-site.landing-v2-harbour-island #island-before-you-visit article { border-top: 1px solid var(--landing-v2-line); padding-top: 1.5rem; }
body.landing-v2-site.landing-v2-harbour-island #island-before-you-visit h3 { font-size: clamp(1.6rem, 2.2vw, 2rem); }
body.landing-v2-site.landing-v2-harbour-island .landing-v2-next-links { justify-content: center; gap: 1.25rem; flex-wrap: wrap; max-width: 1280px; margin: 0 auto; padding: 1.5rem 1.5rem var(--island-section-space); }
@media (max-width: 760px) {
	body.landing-v2-site.landing-v2-harbour-island #island-before-you-visit > div:last-child { grid-template-columns: 1fr; gap: 2rem; }
	body.landing-v2-site.landing-v2-harbour-island .landing-v2-guide-jumps { gap: .35rem 1rem; }
}

/* Keep the hours photograph within its own compact frame. */
body.landing-v2-site.landing-v2-the-landing-restaurant .landing-v2-restaurant-spread {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	overflow: hidden;
}
body.landing-v2-site.landing-v2-the-landing-restaurant .landing-v2-restaurant-spread > figure {
	position: relative;
	margin: 0;
	min-height: 0;
	height: auto !important;
	overflow: hidden;
}
body.landing-v2-site.landing-v2-the-landing-restaurant .landing-v2-restaurant-spread > figure img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100% !important;
	min-height: 0;
	object-fit: cover;
}
body.landing-v2-site.landing-v2-the-landing-restaurant .landing-v2-restaurant-spread > div {
	padding: clamp(2.5rem, 4vw, 4rem);
}
body.landing-v2-site.landing-v2-the-landing-restaurant .landing-v2-food-photographs {
	padding-top: clamp(3rem, 6vw, 6rem);
}
/* A clipped window with a slightly slower moving photograph. */
body.landing-v2-site.landing-v2-the-landing-restaurant .landing-v2-wide-image {
	position: relative;
	overflow: hidden;
	height: clamp(360px, 48vw, 680px) !important;
	min-height: 0;
}
body.landing-v2-site.landing-v2-the-landing-restaurant .landing-v2-wide-image > img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100% !important;
	min-height: 0;
	object-fit: cover;
	object-position: center;
}
body.landing-v2-site.landing-v2-the-landing-restaurant .landing-v2-wide-image.has-dine-parallax > img {
	top: -16%;
	height: 132% !important;
	will-change: transform;
}
@media (max-width: 820px) {
	body.landing-v2-site.landing-v2-the-landing-restaurant .landing-v2-restaurant-spread { grid-template-columns: 1fr; }
	body.landing-v2-site.landing-v2-the-landing-restaurant .landing-v2-restaurant-spread > figure { height: clamp(380px, 100vw, 520px) !important; }
	body.landing-v2-site.landing-v2-the-landing-restaurant .landing-v2-restaurant-spread > div { padding: 2.5rem 1.5rem; }
}
@media (prefers-reduced-motion: reduce) {
	body.landing-v2-site.landing-v2-the-landing-restaurant .landing-v2-wide-image.has-dine-parallax > img {
		top: 0;
		height: 100% !important;
		transform: none !important;
		will-change: auto;
	}
}

body.landing-v2-site .landing-v2-photo-triptych {
	display: grid;
	grid-template-columns: 1.15fr .85fr 1fr;
	align-items: end;
	gap: clamp(1.3rem, 3vw, 3rem);
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
}
body.landing-v2-site .landing-v2-photo-triptych figure { margin: 0; min-width: 0; }
body.landing-v2-site .landing-v2-photo-triptych img {
	display: block;
	width: 100%;
	height: auto !important;
	aspect-ratio: 2 / 3;
	object-fit: cover;
}
body.landing-v2-site .landing-v2-photo-triptych figure:nth-child(2) { padding-bottom: 1.5rem; }
body.landing-v2-site .landing-v2-photo-triptych figure:nth-child(3) { padding-bottom: 3rem; }
body.landing-v2-site .landing-v2-photo-triptych figcaption,
body.landing-v2-site .landing-v2-story-afro figcaption,
body.landing-v2-site .landing-v2-guide-spread figcaption {
	font: 500 .65rem/1.5 Karla, sans-serif;
	letter-spacing: .16em;
	text-transform: uppercase;
	margin-top: 1rem;
}
body.landing-v2-site .landing-v2-food-photographs {
	max-width: 1240px;
	padding: 0 clamp(1.5rem, 5vw, 4rem) clamp(3rem, 5vw, 5rem);
}
body.landing-v2-site .landing-v2-food-photographs + .landing-v2-menu-section { padding-top: clamp(2rem, 4vw, 4rem); }

body.landing-v2-site .landing-v2-heritage-lead.landing-v2-story-intro-revised {
	display: grid;
	grid-template-columns: minmax(0, .7fr) minmax(0, 1fr);
	gap: 3rem clamp(2rem, 5vw, 5rem);
	padding-block: clamp(4rem, 7vw, 7rem);
}
body.landing-v2-site .landing-v2-story-intro-revised .landing-v2-pullquote { grid-column: 1 / -1; margin: 0; max-width: 21ch; }
body.landing-v2-site .landing-v2-story-intro-revised > .landing-v2-story-afro { margin: 0; width: 100%; max-width: 400px; justify-self: center; align-self: center; }
body.landing-v2-site .landing-v2-story-afro img { width: 100%; height: auto !important; object-fit: contain; }
body.landing-v2-site .landing-v2-story-intro-revised > div { grid-column: 2; width: auto; max-width: none; align-self: center; margin: 0; }
body.landing-v2-site .landing-v2-heritage-spread.landing-v2-story-life-revised {
	grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
	gap: clamp(2rem, 4vw, 4rem);
	padding-block: clamp(3rem, 6vw, 6rem);
}
body.landing-v2-site .landing-v2-story-life-revised > div:first-child { max-width: 500px; }
body.landing-v2-site .landing-v2-story-life-revised > figure.is-wide { grid-column: auto; width: 100%; margin: 0; }
body.landing-v2-site .landing-v2-story-life-revised > figure.is-wide img { aspect-ratio: 1.5; }
body.landing-v2-site .landing-v2-story-life-revised > .landing-v2-story-photographs { grid-column: 1 / -1; max-width: 1400px; padding-top: 1rem; }
body.landing-v2-site.landing-v2-about-us .landing-v2-story-additions {
	background: #fffdf8;
}
body.landing-v2-site .landing-v2-story-pool {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
	max-width: 1400px;
	margin: 0 auto;
	padding: clamp(1rem, 2vw, 2rem) clamp(1.5rem, 5vw, 5rem) clamp(3rem, 6vw, 6rem);
}
body.landing-v2-site .landing-v2-story-pool figure { margin: 0; min-width: 0; }
body.landing-v2-site .landing-v2-story-pool img {
	display: block;
	width: 100%;
	height: auto !important;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}
body.landing-v2-site .landing-v2-story-pool figcaption,
body.landing-v2-site .landing-v2-story-details figcaption {
	font: 500 .65rem/1.5 Karla, sans-serif;
	letter-spacing: .16em;
	text-transform: uppercase;
	margin-top: 1rem;
}
body.landing-v2-site .landing-v2-story-pool > div { max-width: 500px; }
body.landing-v2-site .landing-v2-story-pool h2 {
	font-size: clamp(2.8rem, 4.6vw, 5rem);
	line-height: 1;
	max-width: 12ch;
	margin: 1rem 0 1.5rem;
}
body.landing-v2-site .landing-v2-story-pool p:not(.landing-v2-eyebrow) {
	font-size: clamp(1rem, 1.3vw, 1.15rem);
	line-height: 1.75;
}
body.landing-v2-site .landing-v2-story-details {
	padding: 0 clamp(1.5rem, 5vw, 5rem) clamp(4rem, 7vw, 7rem);
}
body.landing-v2-site.landing-v2-about-us .landing-v2-story-beach {
	position: relative;
	overflow: hidden;
	height: clamp(360px, 48vw, 680px) !important;
	min-height: 0;
	margin: 0;
	padding: 0;
}
body.landing-v2-site.landing-v2-about-us .landing-v2-story-beach > img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100% !important;
	min-height: 0;
	object-fit: cover;
	object-position: center bottom;
}
body.landing-v2-site.landing-v2-about-us .landing-v2-story-beach.has-story-parallax > img {
	top: -16%;
	height: 132% !important;
	will-change: transform;
}
@media (prefers-reduced-motion: reduce) {
	body.landing-v2-site.landing-v2-about-us .landing-v2-story-beach.has-story-parallax > img {
		top: 0;
		height: 100% !important;
		transform: none !important;
		will-change: auto;
	}
}
body.landing-v2-site .landing-v2-story-rooted {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
	max-width: 1400px;
	padding: clamp(3rem, 6vw, 6rem) clamp(1.5rem, 5vw, 5rem);
	text-align: left;
}
body.landing-v2-site .landing-v2-story-rooted figure { margin: 0; }
body.landing-v2-site .landing-v2-story-rooted img { width: 100%; height: auto !important; max-height: 600px; object-fit: contain; }
body.landing-v2-site .landing-v2-story-rooted h2 { font-size: clamp(2.8rem, 4.6vw, 5rem); max-width: 14ch; margin: 1rem 0 1.5rem; }
body.landing-v2-site .landing-v2-story-rooted .landing-v2-text-link { margin-top: 2rem; }

body.landing-v2-site .landing-v2-guide-jumps {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: .25rem 2rem;
	padding: 1.2rem 1.5rem;
	border-bottom: 1px solid rgba(69, 40, 29, .2);
}
body.landing-v2-site .landing-v2-guide-jumps a { display: inline-flex; align-items: center; min-height: 44px; font-size: .82rem; letter-spacing: .08em; color: var(--landing-v2-mahogany); }
body.landing-v2-site .landing-v2-guide-jumps a:hover { text-decoration: underline; text-underline-offset: 5px; }
body.landing-v2-site .landing-v2-guide-jumps a:focus-visible { outline: 2px solid var(--landing-v2-red); outline-offset: 4px; }
body.landing-v2-site [id^="island-"] { scroll-margin-top: 130px; }
body.landing-v2-site .landing-v2-guide-places {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.5rem, 3vw, 3rem);
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 clamp(1.5rem, 5vw, 5rem) clamp(4rem, 7vw, 7rem);
}
body.landing-v2-site .landing-v2-guide-places figure { margin: 0 0 1.75rem; }
body.landing-v2-site .landing-v2-guide-places img { width: 100%; height: auto !important; aspect-ratio: 4 / 5; object-fit: cover; }
body.landing-v2-site .landing-v2-guide-places h2 { font-size: clamp(2rem, 2.8vw, 3rem); line-height: 1.05; margin: 0 0 1rem; letter-spacing: -.035em; }
body.landing-v2-site .landing-v2-guide-spread,
body.landing-v2-site .landing-v2-guide-practical {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(2rem, 6vw, 6rem);
	align-items: center;
	max-width: 1440px;
	margin: 0 auto;
	padding: clamp(3rem, 6vw, 6rem) clamp(1.5rem, 5vw, 5rem);
}
body.landing-v2-site .landing-v2-guide-spread { background: var(--landing-v2-paper); }
body.landing-v2-site .landing-v2-guide-spread figure { margin: 0; }
body.landing-v2-site .landing-v2-guide-spread img { width: 100%; height: auto !important; aspect-ratio: 4 / 5; object-fit: cover; }
body.landing-v2-site #island-beaches img { object-position: 30% center; }
body.landing-v2-site .landing-v2-guide-spread.is-reversed figure { order: 2; }
body.landing-v2-site .landing-v2-guide-spread h2,
body.landing-v2-site .landing-v2-guide-practical h2 { font-size: clamp(2.6rem, 4.5vw, 4.8rem); line-height: 1; letter-spacing: -.045em; margin: 1rem 0 1.5rem; }
body.landing-v2-site .landing-v2-guide-spread p + p,
body.landing-v2-site .landing-v2-guide-practical p + p { margin-top: 1rem; }
body.landing-v2-site .landing-v2-guide-practical { align-items: start; }
body.landing-v2-site .landing-v2-guide-practical h3 { font-size: 1.7rem; line-height: 1.15; margin: 1.75rem 0 .8rem; }
body.landing-v2-site .landing-v2-guide-practical h3:first-child { margin-top: 0; }
body.landing-v2-site .landing-v2-guide-spread .landing-v2-text-link,
body.landing-v2-site .landing-v2-guide-practical .landing-v2-text-link { margin-top: 1.5rem; }

@media (max-width: 760px) {
	body.landing-v2-site footer.landing-v2-footer .landing-v2-footer-stay-contained .landing-v2-footer-stay-copy { min-height: 480px; padding: 3rem 1.5rem; }
	body.landing-v2-site footer.landing-v2-footer .landing-v2-footer-stay-contained h2 { font-size: clamp(3rem, 13vw, 4.3rem); }
	body.landing-v2-site .landing-v2-heritage-lead.landing-v2-story-intro-revised,
	body.landing-v2-site .landing-v2-heritage-spread.landing-v2-story-life-revised,
	body.landing-v2-site .landing-v2-story-pool,
	body.landing-v2-site .landing-v2-story-rooted,
	body.landing-v2-site .landing-v2-guide-spread,
	body.landing-v2-site .landing-v2-guide-practical { grid-template-columns: 1fr; padding-inline: 20px; gap: 2rem; }
	body.landing-v2-site .landing-v2-story-intro-revised > div { grid-column: 1; }
	body.landing-v2-site .landing-v2-story-intro-revised > .landing-v2-story-afro { max-width: 300px; }
	body.landing-v2-site .landing-v2-story-rooted img { max-height: 460px; }
	body.landing-v2-site .landing-v2-guide-spread.is-reversed figure { order: 0; }
	body.landing-v2-site .landing-v2-guide-jumps { gap: .2rem 1.2rem; }
}
@media (max-width: 700px) {
	body.landing-v2-site .landing-v2-photo-triptych,
	body.landing-v2-site .landing-v2-guide-places { grid-template-columns: 1fr; gap: 2rem; }
	body.landing-v2-site .landing-v2-photo-triptych figure:nth-child(n) { padding-bottom: 0; }
	body.landing-v2-site .landing-v2-photo-triptych figure { width: 100%; max-width: 440px; justify-self: center; }
	body.landing-v2-site .landing-v2-story-details { padding-inline: 20px; }
	body.landing-v2-site .landing-v2-food-photographs { padding-inline: 20px; }
	body.landing-v2-site .landing-v2-guide-places { padding-inline: 20px; }
	body.landing-v2-site .landing-v2-guide-places img { aspect-ratio: 4 / 3; }
}

/* Match the homepage introduction and Stay backgrounds to In the house. */
/* Booking strip and the homepage header's existing sliding reveal surface. */
body.landing-v2-home .landing-v2-header::before {
	background: var(--landing-v2-paper);
}

body.landing-v2-home .landing-v2-availability-shell {
	--landing-booking-overlap: 56px;
	-webkit-clip-path: inset(var(--landing-v2-header-clip-top, 0px) -100vw 0);
	clip-path: inset(var(--landing-v2-header-clip-top, 0px) -100vw 0);
}

body.landing-v2-home .landing-v2-availability-shell::before {
	content: "";
	position: absolute;
	inset: var(--landing-booking-overlap) calc((100% - 100vw) / 2) 0;
	background: var(--landing-v2-paper);
	pointer-events: none;
	z-index: -1;
}

body.landing-v2-home .landing-v2-availability {
	background: var(--landing-v2-paper);
	border: 1px solid rgba(69, 40, 29, 0.32);
	outline: 1px solid rgba(69, 40, 29, 0.14);
	outline-offset: -5px;
}

body.landing-v2-home .landing-v2-availability > div {
	background-color: var(--landing-v2-paper);
}

@media (max-width: 1100px) {
	body.landing-v2-home .landing-v2-availability-shell { --landing-booking-overlap: 48px; }
}
@media (max-width: 820px) {
	body.landing-v2-home .landing-v2-availability-shell { --landing-booking-overlap: 36px; }
}
@media (max-width: 520px) {
	body.landing-v2-home .landing-v2-availability-shell { --landing-booking-overlap: 28px; }
}

body.landing-v2-home .landing-v2-home-intro,
body.landing-v2-home .landing-v2-home-stay {
	background-color: var(--landing-v2-paper);
	position: relative;
	isolation: isolate;
}

/* Extend the color beyond the existing content widths without moving content. */
body.landing-v2-home .landing-v2-home-intro::before,
body.landing-v2-home .landing-v2-home-stay::before {
	content: "";
	position: absolute;
	inset: 0 calc((100% - 100vw) / 2);
	background-color: var(--landing-v2-paper);
	pointer-events: none;
	z-index: -1;
}

/* Use the approved paper tone only after the fixed header reveals. */
body.landing-v2-site .landing-v2-header.is-fixed-phase::before {
	background: #fffdf8;
}

/* Keep the breakfast notes readable instead of collapsing the menu footer into one line. */
body.landing-v2-site.landing-v2-the-landing-restaurant .landing-v2-menu-notes {
	border-block: 1px solid rgba(69, 40, 29, .22);
	color: var(--landing-v2-black);
	margin-top: clamp(2.5rem, 5vw, 4.5rem);
	padding: clamp(1.75rem, 3vw, 2.5rem) 0 1.25rem;
	text-align: left;
}

body.landing-v2-site.landing-v2-the-landing-restaurant .landing-v2-menu-notes-source {
	font-size: clamp(1rem, 1.25vw, 1.12rem);
	line-height: 1.65;
	margin: 0 auto clamp(1.5rem, 3vw, 2.25rem);
	max-width: 54rem;
	text-align: center;
}

body.landing-v2-site.landing-v2-the-landing-restaurant .landing-v2-menu-notes-details {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

body.landing-v2-site.landing-v2-the-landing-restaurant .landing-v2-menu-notes-details li {
	display: flex;
	flex-direction: column;
	gap: .35rem;
	justify-content: center;
	min-height: 5.25rem;
	padding: .5rem clamp(.8rem, 2vw, 1.5rem);
	text-align: center;
}

body.landing-v2-site.landing-v2-the-landing-restaurant .landing-v2-menu-notes-details li + li {
	border-left: 1px solid rgba(69, 40, 29, .18);
}

body.landing-v2-site.landing-v2-the-landing-restaurant .landing-v2-menu-notes-details strong {
	font: 600 .74rem/1.4 Karla, sans-serif;
	letter-spacing: .12em;
	text-transform: uppercase;
}

body.landing-v2-site.landing-v2-the-landing-restaurant .landing-v2-menu-notes-details span {
	color: var(--landing-v2-grey);
	font-size: .92rem;
	line-height: 1.45;
}

body.landing-v2-site.landing-v2-the-landing-restaurant .landing-v2-menu-notes-thanks {
	font-size: .88rem;
	letter-spacing: .08em;
	margin: 1.25rem 0 0;
	text-align: center;
	text-transform: uppercase;
}

/* Give the expanded room policies a warm paper treatment and scannable hierarchy. */
body.landing-v2-site.landing-v2-our-rooms .landing-v2-stay-details {
	align-items: stretch;
	background: #fffdf8;
	color: var(--landing-v2-black);
}

body.landing-v2-site.landing-v2-our-rooms .landing-v2-stay-details-intro {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

body.landing-v2-site.landing-v2-our-rooms .landing-v2-stay-details .landing-v2-eyebrow,
body.landing-v2-site.landing-v2-our-rooms .landing-v2-stay-details h2,
body.landing-v2-site.landing-v2-our-rooms .landing-v2-stay-details h3,
body.landing-v2-site.landing-v2-our-rooms .landing-v2-stay-details p,
body.landing-v2-site.landing-v2-our-rooms .landing-v2-stay-details li {
	color: var(--landing-v2-black);
}

body.landing-v2-site.landing-v2-our-rooms .landing-v2-stay-key {
	margin: auto 0 0;
	max-width: 300px;
	padding-top: clamp(3rem, 6vw, 6rem);
}

body.landing-v2-site.landing-v2-our-rooms .landing-v2-stay-key img {
	display: block;
	height: auto;
	width: 100%;
}

/* Align the key tip with the Cancellations row without changing mobile flow. */
@media (min-width: 821px) and (max-width: 1199px) {
	body.landing-v2-site.landing-v2-our-rooms .landing-v2-stay-key {
		margin-top: 0;
		padding-top: clamp(6.5rem, calc(25.625rem - 25.5vw), 11.3125rem);
	}
}

@media (min-width: 1200px) and (max-width: 1279px) {
	body.landing-v2-site.landing-v2-our-rooms .landing-v2-stay-key {
		margin-top: 0;
		padding-top: calc(38.375rem - 42.5vw);
	}
}

@media (min-width: 1280px) {
	body.landing-v2-site.landing-v2-our-rooms .landing-v2-stay-key {
		margin-top: 0;
		padding-top: clamp(2.875rem, calc(10.125rem - 7.1875vw), 4.375rem);
	}
}

body.landing-v2-site.landing-v2-our-rooms .landing-v2-stay-details-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 clamp(1.75rem, 4vw, 4rem);
}

body.landing-v2-site.landing-v2-our-rooms .landing-v2-stay-details-grid article {
	border-top: 1px solid rgba(69, 40, 29, .22);
	padding: 1.5rem 0 2rem;
}

body.landing-v2-site.landing-v2-our-rooms .landing-v2-stay-details-grid article.is-wide {
	grid-column: 1 / -1;
}

body.landing-v2-site.landing-v2-our-rooms .landing-v2-stay-details-grid h3 {
	color: inherit;
	font-size: clamp(1.55rem, 2vw, 2rem);
	line-height: 1.15;
	margin: 0 0 1rem;
}

body.landing-v2-site.landing-v2-our-rooms .landing-v2-stay-details-grid p,
body.landing-v2-site.landing-v2-our-rooms .landing-v2-stay-details-grid li {
	font-size: 1rem;
	line-height: 1.7;
}

body.landing-v2-site.landing-v2-our-rooms .landing-v2-stay-details-grid p {
	border: 0;
	margin: 0;
	padding: 0;
}

body.landing-v2-site.landing-v2-our-rooms .landing-v2-stay-details-grid p + p {
	margin-top: .8rem;
}

body.landing-v2-site.landing-v2-our-rooms .landing-v2-stay-details-grid ul {
	margin: 0;
	padding-left: 1.2rem;
}

body.landing-v2-site.landing-v2-our-rooms .landing-v2-stay-details-grid li + li {
	margin-top: .35rem;
}

@media (max-width: 760px) {
	body.landing-v2-site.landing-v2-the-landing-restaurant .landing-v2-menu-notes-details {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	body.landing-v2-site.landing-v2-the-landing-restaurant .landing-v2-menu-notes-details li:nth-child(3) {
		border-left: 0;
	}
	body.landing-v2-site.landing-v2-the-landing-restaurant .landing-v2-menu-notes-details li:nth-child(n + 3) {
		border-top: 1px solid rgba(69, 40, 29, .18);
	}
	body.landing-v2-site.landing-v2-our-rooms .landing-v2-stay-details-grid {
		grid-template-columns: 1fr;
	}
	body.landing-v2-site.landing-v2-our-rooms .landing-v2-stay-details-grid article.is-wide {
		grid-column: auto;
	}
}

@media (max-width: 820px) {
	body.landing-v2-site.landing-v2-our-rooms .landing-v2-stay-key {
		margin-top: 0;
		max-width: min(100%, 320px);
		padding-top: 2.5rem;
	}
}

@media (max-width: 480px) {
	body.landing-v2-site.landing-v2-the-landing-restaurant .landing-v2-menu-notes-details {
		grid-template-columns: 1fr;
	}
	body.landing-v2-site.landing-v2-the-landing-restaurant .landing-v2-menu-notes-details li + li {
		border-left: 0;
		border-top: 1px solid rgba(69, 40, 29, .18);
	}
}

/* Stay-page copy refinements and room-specific advisory notes. */
body.landing-v2-site.landing-v2-our-rooms .landing-v2-page-hero-copy h1 {
	max-width: 12.5ch;
	text-wrap: balance;
}

body.landing-v2-site .landing-v2-room-hero .landing-v2-page-hero-intro {
	font-size: clamp(1rem, 1.5vw, 1.25rem);
	max-width: 41rem;
}

body.landing-v2-site .landing-v2-room-hero .landing-v2-page-hero-note {
	font-size: clamp(.82rem, 1vw, .95rem);
	font-style: italic;
	line-height: 1.5;
	margin-top: .65rem;
	max-width: 41rem;
}

body.landing-v2-site.landing-v2-our-rooms .landing-v2-room-card-notice {
	color: var(--landing-v2-mahogany);
	font-size: .84rem;
	font-style: italic;
	line-height: 1.45;
	margin: .65rem 0 1rem;
	max-width: 28rem;
}

/* Keep editorial actions clearly separated from the supporting paragraph. */
body.landing-v2-site .landing-v2-main p:has(+ .landing-v2-text-link) {
	margin-bottom: 0;
}

body.landing-v2-site .landing-v2-main p + .landing-v2-text-link {
	display: flex;
	margin-top: clamp(1.5rem, 2vw, 2rem);
	width: fit-content;
}

/* Island guide navigation: a restrained pink-sand tint for this bar only. */
body.landing-v2-site.landing-v2-harbour-island .landing-v2-guide-jumps {
	background: #f6e1d7;
}

/* Add a small top inset only when the solid dropdown treatment is shown. */
body.landing-v2-site .landing-v2-menu-panel.is-fixed-context .landing-v2-menu-nav {
	padding-top: clamp(.5rem, 1.2vh, .75rem);
}

@media only screen and (max-width: 900px) {
	body.landing-v2-site .landing-v2-menu-panel .landing-v2-menu-nav {
		padding-top: clamp(.5rem, 1.2vh, .75rem);
	}
}
