/*
Theme Name: Royal Crown
Description: Child theme for the Royal Crown Hotels Management corporate site.
Author: Royal Crown Hotels Management
Template: twentytwentyfive
Version: 0.9.3
Requires at least: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: royal-crown
*/

:root {
	/* Text case: Title Case is stored in the content itself (patterns and pages), so no CSS capitalising is needed.
	   --rc-case stays as a hook that is always none. */
	--rc-case: none;
	--rc-side: clamp(1.25rem, 4vw, 3.5rem);
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: 5.5rem;
}

/* ---------- Header: a deep navy bar with a brass line, staying at the top ---------- */

.wp-site-blocks > header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--wp--preset--color--accent-2);
	color: var(--wp--preset--color--base);
	border-bottom: 2px solid var(--wp--preset--color--accent-1);
	transition: box-shadow 0.3s ease;
}

.rc-scrolled .wp-site-blocks > header {
	box-shadow: 0 6px 24px rgba(12, 21, 38, 0.35);
}

.rc-header-row {
	transition: padding 0.3s ease;
}

.rc-scrolled .rc-header-row {
	padding-block: 0.4rem;
}

.rc-header .wp-block-navigation a {
	transition: color 0.2s ease;
}

.rc-header .wp-block-navigation a:hover {
	color: var(--wp--preset--color--accent-1);
	text-decoration: none;
}

/* Six links do not fit beside the name on a tablet, so the menu button takes over below 1100px. */
@media (max-width: 1099px) {
	.rc-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}

	.rc-header .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}
}

.admin-bar .wp-site-blocks > header {
	top: 32px;
}

@media (max-width: 782px) {
	.admin-bar .wp-site-blocks > header {
		top: 46px;
	}
}

@media (max-width: 600px) {
	.admin-bar .wp-site-blocks > header {
		top: 0;
	}
}

.rc-header-row {
	padding: 0.75rem var(--rc-side);
	gap: 1.5rem;
}

.rc-brand {
	gap: 0.75rem;
	align-items: center;
}

.rc-brand .wp-block-site-logo img {
	display: block;
}

.rc-header .wp-block-site-title {
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.04em;
	text-transform: var(--rc-case);
}

.rc-header .wp-block-site-title a,
.rc-footer .wp-block-site-title a {
	color: inherit;
	text-decoration: none;
}

.rc-header-actions {
	gap: 2rem;
	align-items: center;
}

.rc-header .wp-block-navigation {
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: var(--rc-case);
}

.rc-header-cta .wp-block-button__link {
	padding: 0.85rem 1.5rem;
	background: var(--wp--preset--color--accent-1);
	color: var(--wp--preset--color--accent-2);
	font-size: 0.85rem;
	letter-spacing: 0.06em;
	text-transform: var(--rc-case);
	white-space: nowrap;
}

.rc-brand .wp-block-site-logo {
	flex-shrink: 0;
}

@media (max-width: 781px) {
	.rc-header .rc-header-actions .rc-header-cta {
		display: none;
	}

	.rc-header .wp-block-site-title {
		font-size: 0.8rem;
	}
}

/* ---------- Hero slideshow ---------- */

.is-style-rc-slideshow {
	position: relative;
	display: grid;
	min-height: min(84vh, 54rem);
	min-height: min(84svh, 54rem);
	margin-block-start: 0;
	overflow: hidden;
	background: var(--wp--preset--color--accent-2);
	color: #fff;
}

.is-style-rc-slideshow > .wp-block-image {
	position: absolute;
	inset: 0;
	margin: 0;
	opacity: 0;
	transition: opacity 1.6s ease;
}

.is-style-rc-slideshow > .wp-block-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 62%;
}

/* Slides whose subject reaches the top of the photo (the Baku towers, image 95) keep the top
   in view. Any slide can do the same: Advanced > Additional CSS class "rc-focus-top". */
.is-style-rc-slideshow > .wp-block-image.rc-focus-top img {
	object-position: 50% 0%;
	transform-origin: 50% 0%;
}

/* Baku: both Flame Towers sit a little left of centre; 46% keeps both whole on a phone. */
.is-style-rc-slideshow > .wp-block-image img.wp-image-95 {
	object-position: 46% 0%;
	transform-origin: 46% 0%;
}

/* No script: the first image is the still. With the script: whichever is active. */
.is-style-rc-slideshow:not(.rc-js) > .wp-block-image:first-of-type,
.is-style-rc-slideshow > .wp-block-image.is-active {
	opacity: 1;
}

/* The caption of a slide names the place, bottom right, and shows only with its own photo. */
.is-style-rc-slideshow > .wp-block-image figcaption {
	position: absolute;
	right: var(--rc-side);
	bottom: 1.75rem;
	z-index: 2;
	margin: 0;
	padding-left: 3.25rem;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	text-align: right;
	text-transform: var(--rc-case);
	color: #fff;
	text-shadow: 0 1px 8px rgba(12, 21, 38, 0.7);
}

.is-style-rc-slideshow > .wp-block-image figcaption::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 2.5rem;
	height: 2px;
	background: var(--wp--preset--color--accent-1);
}

/* Darker on the left, where the words are, and clear on the right, where the photo shows. */
.is-style-rc-slideshow::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(90deg, rgba(12, 21, 38, 0.78) 0%, rgba(12, 21, 38, 0.45) 45%, rgba(12, 21, 38, 0.1) 100%);
}

.is-style-rc-slideshow > .rc-hero-text {
	position: relative;
	z-index: 2;
	align-self: center;
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 4rem var(--rc-side);
}

.rc-hero-eyebrow {
	margin: 0 0 0.5rem;
	font-size: clamp(0.95rem, 1.6vw, 1.5rem);
	letter-spacing: 0.03em;
	text-transform: var(--rc-case);
	opacity: 0.85;
}

.rc-hero-text h1 {
	max-width: 18ch;
	margin: 0 0 2rem;
	font-size: clamp(2.25rem, 6vw, 4.75rem);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: 0;
	color: inherit;
	/* Long words (Russian, Turkish, Azerbaijani) break instead of widening the page on phones. */
	hyphens: auto;
	overflow-wrap: break-word;
}

.is-style-rc-slideshow > .rc-hero-text {
	min-width: 0;
}

/* Hero text centred on the photo (owner, 2026-10-20, as on aurahospitalitys.com). */
.is-style-rc-slideshow > .rc-hero-text {
	text-align: center;
}

.rc-hero-text h1 {
	max-width: 32ch;
	margin-inline: auto;
	font-size: clamp(2.5rem, 4.8vw, 4.75rem);
}

.rc-hero-text .wp-block-buttons {
	justify-content: center;
}

/* Title Case is written into the content (patterns and pages), with small words such as "and", "of" and "for" in
   lower case, so the editor shows exactly what visitors see. CSS capitalize cannot do that. The two things that
   are not typed in the editor still need it, English only: the photo-count button that site.js builds, and the
   Contact Form 7 send button. */
:root:lang(en) :is(.rc-photos-button, .wpcf7-submit) {
	text-transform: capitalize;
}

/* ---------- Movement (all of it is switched off for visitors who ask for reduced motion) ---------- */

@media (prefers-reduced-motion: no-preference) {
	/* Hero words rise in one after another when the page opens. */
	.rc-hero-text > * {
		animation: rc-rise 0.9s cubic-bezier(0.2, 0.7, 0.2, 1) both;
	}

	.rc-hero-text > :nth-child(2) {
		animation-delay: 0.15s;
	}

	.rc-hero-text > :nth-child(3) {
		animation-delay: 0.3s;
	}

	/* The photo on show drifts slowly closer. */
	.is-style-rc-slideshow > .wp-block-image img {
		transition: transform 8s ease-out;
	}

	.is-style-rc-slideshow > .wp-block-image.is-active img {
		transform: scale(1.07);
	}

	/* Set by site.js on things below the first screen; rc-in is added when they scroll into view. */
	.rc-reveal {
		opacity: 0;
		transform: translateY(28px);
		transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1);
		transition-delay: var(--rc-delay, 0ms);
	}

	.rc-reveal.rc-in {
		opacity: 1;
		transform: none;
	}

	.rc-card,
	.rc-contact-item,
	.rc-glance-item {
		transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.7s ease;
	}

	.rc-card:hover,
	.rc-contact-item:hover,
	.rc-glance-item:hover {
		transform: translateY(-4px);
		box-shadow: 0 14px 34px rgba(12, 21, 38, 0.14);
	}

	.rc-card .wp-block-post-featured-image,
	.rc-tiles .wp-block-image {
		overflow: hidden;
	}

	.rc-card .wp-block-post-featured-image img,
	.rc-tiles .wp-block-image img {
		transition: transform 0.6s ease;
	}

	.rc-card:hover .wp-block-post-featured-image img,
	.rc-tiles .wp-block-column:hover .wp-block-image img,
	.rc-service:hover .wp-block-image img {
		transform: scale(1.05);
	}

	.rc-service .wp-block-image img {
		transition: transform 0.6s ease;
	}
}

@keyframes rc-rise {
	from {
		opacity: 0;
		transform: translateY(24px);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

/* ---------- Sections ---------- */

.rc-section {
	margin-block-start: 0;
	padding-block: clamp(3.5rem, 8vw, 6.5rem);
}

/* Everything in a section shares one left edge, at the wide width. */
.rc-section > * {
	max-width: var(--wp--style--global--wide-size);
}

.rc-section h2 {
	margin-top: 0;
	font-size: clamp(1.75rem, 3.6vw, 2.75rem);
	font-weight: 700;
}

.rc-eyebrow {
	margin: 0 0 0.75rem;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: var(--rc-case);
	color: var(--wp--preset--color--accent-1);
}

/* Home "Who we are" label reads as a section title, not a small eyebrow. */
.rc-statement > .rc-eyebrow {
	margin-bottom: 1.25rem;
	font-size: clamp(1.15rem, 1.8vw, 1.5rem);
}

.rc-figures {
	margin-top: 3rem;
	padding-top: 2.5rem;
	border-top: 1px solid rgba(250, 248, 243, 0.2);
	align-items: end;
}

.rc-figure-value {
	margin: 0;
	font-size: clamp(1.25rem, 2vw, 1.6rem);
	font-weight: 600;
	line-height: 1.15;
	white-space: nowrap;
}

.rc-figures > .wp-block-column:first-child > .rc-figure-value {
	font-size: clamp(2.75rem, 5vw, 4rem);
	font-weight: 700;
	color: var(--wp--preset--color--accent-1);
}

.rc-figure-label {
	margin: 0.35rem 0 0;
	font-size: 0.85rem;
	letter-spacing: 0.1em;
	text-transform: var(--rc-case);
	opacity: 0.8;
}

/* Countries we operate in: a flag, then the name. */
.rc-countries {
	margin-top: 1.25rem;
	gap: 1.5rem;
}

.rc-flag {
	margin: 0 0 0.75rem;
}

.rc-flag img {
	display: block;
	width: auto;
	height: 1.75rem;
	border: 1px solid rgba(250, 248, 243, 0.3);
	border-radius: 2px;
}

/* Country names may wrap onto two lines: in some languages the name is longer than the column on a phone. */
.rc-countries .rc-figure-value {
	white-space: normal;
}

@media (max-width: 781px) {
	.rc-countries.wp-block-columns {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}
}

/* ---------- Services at a glance: six cards with an icon ---------- */

.rc-glance {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
	margin-top: 2.5rem;
}

.rc-glance-item {
	margin: 0;
	padding: 2rem 1.75rem;
	background: #fff;
	border: 1px solid rgba(20, 33, 61, 0.1);
	border-top: 2px solid var(--wp--preset--color--accent-1);
}

.rc-glance-item::before {
	content: "";
	display: block;
	width: 2.75rem;
	height: 2.75rem;
	margin-bottom: 1.25rem;
	background: var(--wp--preset--color--accent-1);
	-webkit-mask: var(--rc-icon) center / contain no-repeat;
	mask: var(--rc-icon) center / contain no-repeat;
}

.rc-glance-item h3 {
	margin: 0 0 0.5rem;
	font-size: 1.2rem;
	font-weight: 600;
}

.rc-glance-item p {
	margin: 0;
	color: var(--wp--preset--color--accent-4);
}

@media (max-width: 1000px) {
	.rc-glance {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 599px) {
	.rc-glance {
		grid-template-columns: 1fr;
	}
}

.rc-icon-consulting {
	--rc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='4.5' width='14' height='16.5' rx='1.5'/%3E%3Cpath d='M9 4.5V3h6v1.5'/%3E%3Cpath d='M9 13l2 2 4-4.5'/%3E%3C/svg%3E");
}

.rc-icon-hotel {
	--rc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 21h20'/%3E%3Cpath d='M4 21V5l8-2v18'/%3E%3Cpath d='M12 9l8 2v10'/%3E%3Cpath d='M7 8h2M7 12h2M7 16h2M15 14h2M15 17.5h2'/%3E%3C/svg%3E");
}

.rc-icon-revenue {
	--rc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4v16h16'/%3E%3Cpath d='M8 16v-3M12 16v-6M16 16V7'/%3E%3C/svg%3E");
}

.rc-icon-marketing {
	--rc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10v4h3l7 4V6l-7 4H4z'/%3E%3Cpath d='M17.5 9a4 4 0 0 1 0 6'/%3E%3Cpath d='M7.5 14l1 5H11l-1-4.5'/%3E%3C/svg%3E");
}

.rc-icon-fnb {
	--rc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 3v5a2 2 0 0 0 4 0V3'/%3E%3Cpath d='M7 3v18'/%3E%3Cpath d='M17 21V3c-2 2-3 5-3 9h3'/%3E%3C/svg%3E");
}

.rc-icon-training {
	--rc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 9l10-5 10 5-10 5-10-5z'/%3E%3Cpath d='M6 11.5V16c2 2.5 10 2.5 12 0v-4.5'/%3E%3Cpath d='M22 9v6'/%3E%3C/svg%3E");
}

.rc-icon-calendar {
	--rc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15.5' rx='1.5'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4'/%3E%3Cpath d='M8.5 15l2 2 4.5-4.5'/%3E%3C/svg%3E");
}

.rc-icon-key {
	--rc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='15' r='4.5'/%3E%3Cpath d='M11.2 11.8L20 3M16.5 6.5l2.5 2.5M14 9l2 2'/%3E%3C/svg%3E");
}

.rc-icon-clean {
	--rc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l1.6 4.4L18 9l-4.4 1.6L12 15l-1.6-4.4L6 9l4.4-1.6z'/%3E%3Cpath d='M18.5 14l.8 2.2 2.2.8-2.2.8-.8 2.2-.8-2.2-2.2-.8 2.2-.8zM5.5 15l.6 1.6 1.6.6-1.6.6-.6 1.6-.6-1.6L3.3 17.2l1.6-.6z'/%3E%3C/svg%3E");
}

/* Link under a row of cards, such as "View all properties". */
.rc-more {
	margin-top: 2rem;
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: var(--rc-case);
}

/* ---------- Property cards: same fields, same order, same proportions ---------- */

.rc-card {
	height: 100%;
	background: #fff;
	border: 1px solid rgba(20, 33, 61, 0.12);
}

.rc-card .wp-block-post-featured-image {
	margin: 0;
}

.rc-card-body {
	padding: 1.25rem 1.5rem 1.5rem;
}

.rc-card-body > * {
	margin-block: 0;
}

.rc-card-body .wp-block-post-title {
	margin-bottom: 0.5rem;
	font-size: 1.375rem;
}

.rc-card-body .wp-block-post-title a {
	text-decoration: none;
}

.rc-card-meta {
	color: var(--wp--preset--color--accent-4);
}

.rc-card-meta:empty {
	display: none;
}

.rc-card-body .wp-block-read-more {
	display: inline-block;
	margin-top: 1rem;
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: var(--rc-case);
}

/* ---------- Service tiles ---------- */

.rc-tiles {
	margin-top: 2.5rem;
}

.rc-tiles .wp-block-image {
	margin: 0 0 1rem;
}

.rc-tiles .wp-block-image img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.rc-tiles h3 {
	margin: 0;
	font-size: 1.125rem;
	font-weight: 600;
}

@media (min-width: 600px) and (max-width: 1000px) {
	.rc-tiles.wp-block-columns {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	/* An odd last tile (the fifth) spans both columns so it does not sit alone. */
	.rc-tiles.wp-block-columns > .wp-block-column:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}

	.rc-tiles.wp-block-columns > .wp-block-column:last-child:nth-child(odd) .wp-block-image img {
		aspect-ratio: 21 / 9;
	}
}

/* ---------- Page heading band ---------- */

.rc-page-head {
	padding-block: clamp(3.5rem, 7vw, 6rem);
}

.rc-page-head h1 {
	margin: 0 0 1.25rem;
	font-size: clamp(2.25rem, 5vw, 4rem);
	font-weight: 700;
	line-height: 1.05;
}

.rc-lead {
	margin: 0;
	font-size: clamp(1.1rem, 1.8vw, 1.4rem);
	opacity: 0.9;
}

.has-accent-2-background-color :is(h1, h2, h3) {
	color: inherit;
}

/* Services page heading: a larger label above the title. */
.rc-services-head > .rc-eyebrow {
	margin-bottom: 1rem;
	font-size: clamp(1.4rem, 2.8vw, 2.25rem);
}

/* Home hero "Our Properties" button: a navy fill so it stands out against the photo, with a brass edge. */
.rc-hero-text .is-style-outline .wp-block-button__link {
	background: linear-gradient(180deg, rgb(255 255 255 / 0.18) 0%, rgb(255 255 255 / 0) 45%, rgb(0 0 0 / 0.2) 100%),
		color-mix(in srgb, var(--wp--preset--color--accent-2) 62%, transparent);
	border-color: var(--wp--preset--color--accent-1);
}

/* Home hero buttons: shaded so they read as buttons. A light top edge and darker lower half give them body,
   the drop shadow lifts them off the photo. Same on both. */
.rc-hero-text .wp-block-button__link {
	background-image: linear-gradient(180deg, rgb(255 255 255 / 0.18) 0%, rgb(255 255 255 / 0) 45%, rgb(0 0 0 / 0.2) 100%);
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.28), inset 0 -2px 0 rgb(0 0 0 / 0.22), 0 8px 18px rgb(0 0 0 / 0.38);
}

@media (prefers-reduced-motion: no-preference) {
	.rc-hero-text .wp-block-button__link {
		transition: transform 0.2s ease, box-shadow 0.2s ease;
	}

	.rc-hero-text .wp-block-button__link:hover {
		transform: translateY(-2px);
		box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.28), inset 0 -2px 0 rgb(0 0 0 / 0.22), 0 12px 24px rgb(0 0 0 / 0.45);
	}
}

/* A page with no band at the top (one that is not built yet) still needs air under the header. */
.entry-content > :first-child:not(.alignfull) {
	margin-top: 3rem;
}

/* ---------- Services in detail: photo on one side, words on the other, sides alternate ---------- */

.rc-service {
	gap: clamp(1.5rem, 5vw, 5rem);
	align-items: center;
	margin-top: clamp(2.5rem, 6vw, 4.5rem);
}

.rc-service .wp-block-image {
	margin: 0;
	overflow: hidden;
}

.rc-service .wp-block-image img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.rc-service h3 {
	margin: 0 0 1rem;
	font-size: clamp(1.4rem, 2.4vw, 2rem);
	font-weight: 700;
}

.rc-service .wp-block-column > p,
.rc-service .wp-block-column > ul {
	margin-block: 0 0.75rem;
}

@media (min-width: 782px) {
	.rc-service:nth-of-type(even) {
		flex-direction: row-reverse;
	}
}

.rc-step-number {
	margin: 0 0 0.5rem;
	font-size: 2.25rem;
	font-weight: 700;
	line-height: 1;
	color: var(--wp--preset--color--accent-1);
}

/* ---------- Business models: five flip cards on a navy band (Services) ----------
   Without site.js (and in the block editor) both faces simply sit stacked, fully editable.
   site.js adds rc-flip-on to the grid; only then do the faces turn into a flip card. */

.rc-models > h2,
.rc-models > .rc-eyebrow,
.rc-models > .rc-lead {
	text-align: center;
	margin-inline: auto;
}

.rc-models > .rc-lead {
	max-width: 60ch;
}

.rc-models-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
	margin-top: clamp(2rem, 4vw, 3rem);
}

.rc-models-grid > .rc-model {
	margin-block: 0;
}

.rc-model > * {
	margin-block: 0;
}

.rc-model-front,
.rc-model-back {
	padding: 1.5rem;
	border-top: 3px solid var(--wp--preset--color--accent-1);
}

.rc-model-front {
	background: color-mix(in srgb, var(--wp--preset--color--base) 8%, var(--wp--preset--color--accent-2));
}

.rc-model-back {
	background: color-mix(in srgb, var(--wp--preset--color--accent-1) 24%, var(--wp--preset--color--accent-2));
}

.rc-model h3 {
	margin: 0 0 0.6rem;
	font-size: clamp(1.05rem, 1.3vw, 1.25rem);
	font-weight: 700;
	line-height: 1.2;
}

.rc-model p {
	margin: 0 0 0.9rem;
	font-size: 0.93rem;
	line-height: 1.55;
	color: rgba(250, 248, 243, 0.86);
}

.rc-model .rc-step-number {
	margin: 0 0 0.5rem;
	color: var(--wp--preset--color--accent-1);
}

.rc-model .rc-model-tagline {
	margin: 0;
	color: var(--wp--preset--color--base);
}

.rc-model .rc-model-fit {
	margin: auto 0 0;
	padding-top: 0.9rem;
	border-top: 1px solid rgba(250, 248, 243, 0.22);
	color: var(--wp--preset--color--base);
}

.rc-model .rc-model-fit strong {
	color: var(--wp--preset--color--accent-1);
}

/* Line icons, brass, drawn with the same mask trick as the other icon sets. */
.rc-model-icon-opening { --rc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3' width='14' height='18' rx='1'/%3E%3Cpath d='M5 21h14'/%3E%3Ccircle cx='15' cy='12.5' r='1'/%3E%3C/svg%3E"); }
.rc-model-icon-brand { --rc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 18l1.5-10 4.5 4L12 5l3 7 4.5-4L21 18z'/%3E%3Cpath d='M3 21h18'/%3E%3C/svg%3E"); }
.rc-model-icon-share { --rc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3a9 9 0 1 0 9 9h-9z'/%3E%3Cpath d='M15 2.5a8.5 8.5 0 0 1 6.5 6.5H15z'/%3E%3C/svg%3E"); }
.rc-model-icon-lease { --rc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h9l4 4v14H6z'/%3E%3Cpath d='M15 3v4h4M9 12h7M9 15.5h7M9 8.5h3'/%3E%3C/svg%3E"); }
.rc-model-icon-rooms { --rc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 19V6M3 15h18v4M21 15v-3a3 3 0 0 0-3-3h-7v6'/%3E%3Ccircle cx='7' cy='11.5' r='1.7'/%3E%3C/svg%3E"); }

.rc-models-actions {
	justify-content: center;
	margin-top: clamp(2rem, 4vw, 3rem);
}

/* The flip, front end only. The two faces share one grid cell, so the card is as tall as the taller face. */
.rc-flip-on > .rc-model {
	display: grid;
	min-height: 15.5rem;
	cursor: pointer;
	position: relative;
	perspective: 1100px;
	-webkit-tap-highlight-color: transparent;
}

.rc-flip-on > .rc-model:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent-1);
	outline-offset: 3px;
}

.rc-flip-on .rc-model-front,
.rc-flip-on .rc-model-back {
	grid-area: 1 / 1;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
}

.rc-flip-on .rc-model-front {
	border: 1px solid rgba(250, 248, 243, 0.14);
	border-top: 3px solid var(--wp--preset--color--accent-1);
}

.rc-flip-on .rc-model-back {
	justify-content: space-between;
	border: 1px solid rgba(176, 141, 87, 0.45);
	border-top: 3px solid var(--wp--preset--color--accent-1);
}

.rc-flip-on .rc-model-front::before {
	content: "";
	display: block;
	width: 2.5rem;
	height: 2.5rem;
	margin-bottom: 1rem;
	background: var(--wp--preset--color--accent-1);
	-webkit-mask: var(--rc-icon) center / contain no-repeat;
	mask: var(--rc-icon) center / contain no-repeat;
}

/* A small arrow at the foot of the front says "there is more". */
.rc-flip-on .rc-model-front::after {
	content: "\2192";
	margin-top: auto;
	padding-top: 0.75rem;
	font-size: 1.25rem;
	line-height: 1;
	color: var(--wp--preset--color--accent-1);
}

/* Default (and reduced motion): the back simply replaces the front. */
.rc-flip-on .rc-model-back {
	visibility: hidden;
	opacity: 0;
}

.rc-flip-on .rc-model.rc-flipped .rc-model-front {
	visibility: hidden;
	opacity: 0;
}

.rc-flip-on .rc-model.rc-flipped .rc-model-back {
	visibility: visible;
	opacity: 1;
}

/* The timer bar on the card that is flipping by itself. */
.rc-flip-on .rc-model.rc-timing::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 3px;
	background: var(--wp--preset--color--accent-1);
	transform-origin: left;
	animation: rc-model-timer var(--rc-flip-time, 3.5s) linear forwards;
}

@keyframes rc-model-timer {
	from { transform: scaleX(0); }
	to { transform: scaleX(1); }
}

@media (prefers-reduced-motion: no-preference) {
	.rc-flip-on .rc-model-front,
	.rc-flip-on .rc-model-back {
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		transition: transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1);
		visibility: visible;
		opacity: 1;
	}

	.rc-flip-on .rc-model-back {
		transform: rotateY(180deg);
	}

	.rc-flip-on .rc-model.rc-flipped .rc-model-front {
		transform: rotateY(-180deg);
	}

	.rc-flip-on .rc-model.rc-flipped .rc-model-back {
		transform: rotateY(0);
	}

	.rc-flip-on .rc-model-front::after {
		align-self: flex-start;
		animation: rc-model-nudge 1.8s ease-in-out infinite;
	}
}

@keyframes rc-model-nudge {
	0%, 60%, 100% { transform: translateX(0); }
	30% { transform: translateX(6px); }
}

/* Prev / next arrows and dots for the phone row; site.js builds them, hidden everywhere else. */
.rc-models-nav {
	display: none;
}

/* Tablet: 3 + 2, the last row centred. */
@media (min-width: 768px) {
	.rc-models-grid {
		grid-template-columns: repeat(6, 1fr);
		gap: 1rem;
	}

	.rc-models-grid > .rc-model {
		grid-column: span 2;
	}

	.rc-models-grid > .rc-model:nth-child(4) {
		grid-column: 2 / span 2;
	}

	.rc-models-grid > .rc-model:nth-child(5) {
		grid-column: 4 / span 2;
	}
}

/* Desktop: all five in one row. */
@media (min-width: 1100px) {
	.rc-models-grid {
		grid-template-columns: repeat(5, 1fr);
	}

	.rc-models-grid > .rc-model,
	.rc-models-grid > .rc-model:nth-child(4),
	.rc-models-grid > .rc-model:nth-child(5) {
		grid-column: auto;
	}

	.rc-flip-on > .rc-model {
		min-height: 17rem;
	}
}

/* Phone: one row that scrolls sideways inside itself; the next card peeks in. */
@media (max-width: 767px) {
	.rc-models-grid.rc-flip-on {
		display: flex;
		gap: 0.9rem;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		overscroll-behavior-x: contain;
		scrollbar-width: none;
	}

	.rc-models-grid.rc-flip-on::-webkit-scrollbar {
		display: none;
	}

	.rc-models-grid.rc-flip-on > .rc-model {
		flex: 0 0 80%;
		min-height: 16rem;
		scroll-snap-align: start;
	}

	.rc-models-nav {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 0.9rem;
		margin-top: 1.25rem;
	}

	.rc-models-arrow {
		width: 2.5rem;
		height: 2.5rem;
		padding: 0;
		border: 1px solid rgba(176, 141, 87, 0.7);
		border-radius: 50%;
		background: transparent;
		color: var(--wp--preset--color--accent-1);
		font-size: 1.1rem;
		line-height: 1;
		cursor: pointer;
	}

	.rc-models-dots {
		display: flex;
		gap: 0.2rem;
	}

	.rc-models-dot {
		width: 1.5rem;
		height: 1.5rem;
		padding: 0;
		border: 0;
		background: transparent;
		cursor: pointer;
		position: relative;
	}

	.rc-models-dot::before {
		content: "";
		position: absolute;
		inset: 0.5rem;
		border-radius: 50%;
		background: rgba(250, 248, 243, 0.35);
		transition: background 0.3s, transform 0.3s;
	}

	.rc-models-dot.is-active::before {
		background: var(--wp--preset--color--accent-1);
		transform: scale(1.3);
	}
}

/* ---------- Services as tabs: pill buttons, one service at a time (site.js builds the buttons) ---------- */

.rc-services-tabs > h2 {
	font-size: clamp(2.25rem, 4.6vw, 3.5rem);
	letter-spacing: -0.01em;
}

.rc-services-tabs > h2::after {
	content: "";
	display: block;
	width: 3.5rem;
	height: 3px;
	margin: 1rem auto 0;
	background: var(--wp--preset--color--accent-1);
}

.rc-services-tabs > h2,
.rc-services-tabs > .rc-eyebrow,
.rc-services-tabs > .rc-lead {
	text-align: center;
	margin-inline: auto;
}

.rc-tab-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.6rem;
	margin: 2.25rem 0 0;
}

.rc-tab-button {
	min-height: 44px;
	padding: 0.7rem 1.4rem;
	font: inherit;
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.2;
	text-transform: var(--rc-case);
	color: var(--wp--preset--color--contrast);
	background: transparent;
	border: 1px solid rgba(20, 33, 61, 0.35);
	border-radius: 999px;
	cursor: pointer;
	transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.rc-tab-button:hover {
	border-color: var(--wp--preset--color--accent-1);
	color: var(--wp--preset--color--accent-1);
}

.rc-tab-button[aria-selected="true"] {
	background: var(--wp--preset--color--accent-2);
	border-color: var(--wp--preset--color--accent-2);
	color: var(--wp--preset--color--base);
}

.rc-tab-button:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent-1);
	outline-offset: 3px;
}

.rc-tab[hidden] {
	display: none !important;
}

.rc-tabs .rc-service {
	margin-top: clamp(2rem, 4vw, 3rem);
}

.rc-tabs.rc-js .rc-tab {
	padding: clamp(1.25rem, 3vw, 2.5rem);
	background: #fff;
	border: 1px solid rgba(20, 33, 61, 0.1);
	border-top: 2px solid var(--wp--preset--color--accent-1);
	margin-top: 1.5rem;
}

.rc-tabs.rc-js .rc-tab > .rc-service {
	margin-top: 0;
}

.rc-tab .wp-block-list {
	padding-inline-start: 1.1rem;
}

.rc-tab .wp-block-list li::marker {
	color: var(--wp--preset--color--accent-1);
}

.rc-tab-actions,
.rc-holiday-actions {
	margin-top: 1.5rem;
}

/* Phones: the buttons sit two to a row so all of them fit above the service. */
@media (max-width: 599px) {
	.rc-tab-list {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 0.45rem;
	}

	.rc-tab-button {
		padding: 0.5rem 0.75rem;
		font-size: 0.85rem;
		border-radius: 1.5rem;
	}

	.rc-tab-button:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}
}

@media (prefers-reduced-motion: no-preference) {
	/* The chosen service slides in; its photo settles from a slight zoom. */
	.rc-tabs.rc-js .rc-tab:not([hidden]) {
		animation: rc-tab-in 0.55s cubic-bezier(0.2, 0.7, 0.2, 1) both;
	}

	.rc-tabs.rc-js .rc-tab:not([hidden]) .wp-block-image img {
		animation: rc-tab-zoom 1.1s ease-out backwards;
	}
}

@keyframes rc-tab-in {
	from {
		opacity: 0;
		transform: translateY(18px);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes rc-tab-zoom {
	from {
		transform: scale(1.08);
	}

	to {
		transform: scale(1);
	}
}

/* ---------- Holiday homes and rentals ---------- */

.rc-holiday-intro {
	margin-top: 0;
}

.rc-holiday-intro h2 {
	margin-bottom: 1rem;
}

.rc-holiday-intro .wp-block-image img {
	aspect-ratio: 4 / 3;
}

.rc-callout {
	margin-top: 1.25rem;
	padding: 0.9rem 1.1rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
	background: rgba(255, 255, 255, 0.65);
	border-inline-start: 3px solid var(--wp--preset--color--accent-1);
}

.rc-holiday .rc-glance {
	margin-top: clamp(2.5rem, 5vw, 4rem);
}

/* Three cards: on tablet widths the odd last card spans both columns. */
@media (min-width: 600px) and (max-width: 1000px) {
	.rc-holiday .rc-glance > .rc-glance-item:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}
}

/* ---------- How it starts ---------- */

.rc-steps {
	margin-top: 2.5rem;
}

.rc-steps .wp-block-column {
	padding-top: 1.5rem;
	border-top: 2px solid var(--wp--preset--color--accent-1);
}

.rc-steps h3 {
	margin: 0 0 0.5rem;
	font-size: 1.25rem;
	font-weight: 600;
}

.rc-steps .wp-block-column > p:last-child {
	margin: 0;
	opacity: 0.85;
}

@media (min-width: 600px) and (max-width: 1000px) {
	.rc-steps.wp-block-columns {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}
}

/* ---------- Contact strip ---------- */

.rc-contact-items {
	margin-block: 2rem;
}

.rc-contact-item {
	position: relative;
	padding: 1.5rem 1.5rem 1.5rem 4.75rem;
	background: #fff;
	border: 1px solid rgba(20, 33, 61, 0.1);
}

.rc-contact-item > p {
	margin: 0;
}

.rc-contact-item::before {
	content: "";
	position: absolute;
	top: 1.5rem;
	left: 1.5rem;
	width: 2.25rem;
	height: 2.25rem;
	background: var(--wp--preset--color--accent-1);
	-webkit-mask: var(--rc-icon) center / contain no-repeat;
	mask: var(--rc-icon) center / contain no-repeat;
}

.rc-icon-phone {
	--rc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 3h4l2 5-2.5 1.5a11 11 0 0 0 6 6L16 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 5a2 2 0 0 1 2-2z'/%3E%3C/svg%3E");
}

.rc-icon-whatsapp {
	--rc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21l1.7-5A8.5 8.5 0 1 1 8 19.3L3 21z'/%3E%3Cpath d='M9 9.5c0 3 2.5 5.5 5.5 5.5l1-1.5-2-1-.8.8a4 4 0 0 1-2-2l.8-.8-1-2L9 9.5z'/%3E%3C/svg%3E");
}

.rc-icon-email {
	--rc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='1.5'/%3E%3Cpath d='M3.5 6.5l8.5 7 8.5-7'/%3E%3C/svg%3E");
}

/* ---------- Footer ---------- */

.wp-site-blocks > footer {
	margin-block-start: 0;
}

.rc-footer {
	padding-block: clamp(3rem, 6vw, 5rem) 2rem;
}

.rc-footer .wp-block-site-title {
	margin-block: 1rem 0.75rem;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: var(--rc-case);
}

.rc-footer .wp-block-post-template {
	margin: 0;
	padding: 0;
	list-style: none;
}

.rc-footer .wp-block-post-title,
.rc-footer .wp-block-navigation {
	margin: 0 0 0.5rem;
	font-size: 0.95rem;
	font-weight: 400;
}

.rc-footer a {
	color: inherit;
	text-decoration: none;
}

.rc-footer a:hover {
	text-decoration: underline;
}

.rc-footer-legal {
	margin-top: 3rem;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(250, 248, 243, 0.2);
	opacity: 0.75;
}

/* ---------- Property page ---------- */

.rc-prop-head {
	padding-block: clamp(2rem, 4vw, 3.25rem) 1.5rem;
}

.rc-prop-headrow {
	align-items: center;
	gap: 1.5rem;
	margin-bottom: 0;
}

.rc-prop-headrow > .wp-block-column:last-child {
	flex: 0 0 auto;
}

.rc-prop-logo {
	margin: 0;
}

.rc-prop-logo img {
	display: block;
	width: clamp(5.5rem, 11vw, 9rem);
	height: auto;
}

.rc-prop-head h1 {
	margin: 0 0 0.5rem;
	font-size: clamp(2rem, 4.4vw, 3.5rem);
	font-weight: 700;
	line-height: 1.05;
}

.rc-prop-head .rc-card-meta {
	margin: 0;
}

.rc-prop-head .wp-block-buttons {
	margin-top: 1.5rem;
}

.rc-prop-head .is-style-outline .wp-block-button__link {
	border-color: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--contrast);
	background: transparent;
}

/* Photo mosaic: one large photo and four small ones. The rest open in the viewer. */
.rc-prop-photos {
	padding-block: 0 clamp(2.5rem, 5vw, 4rem);
}

.wp-block-gallery.rc-mosaic.has-nested-images {
	position: relative;
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 0.5rem;
	height: clamp(20rem, 44vw, 34rem);
}

.wp-block-gallery.rc-mosaic.has-nested-images figure.wp-block-image:not(#individual-image) {
	width: 100%;
	height: 100%;
	margin: 0;
	overflow: hidden;
	cursor: zoom-in;
}

.wp-block-gallery.rc-mosaic.has-nested-images figure.wp-block-image:first-child {
	grid-row: 1 / 3;
}

.wp-block-gallery.rc-mosaic.has-nested-images figure.wp-block-image:nth-child(n+6) {
	display: none;
}

.wp-block-gallery.rc-mosaic.has-nested-images figure.wp-block-image img,
.wp-block-gallery.rc-room-gallery.has-nested-images figure.wp-block-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s ease;
}

.rc-mosaic figure:hover img,
.rc-room-gallery figure:hover img {
	transform: scale(1.04);
}

@media (max-width: 781px) {
	.wp-block-gallery.rc-mosaic.has-nested-images {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: 2fr 1fr;
		height: 24rem;
	}

	.wp-block-gallery.rc-mosaic.has-nested-images figure.wp-block-image:first-child {
		grid-row: auto;
		grid-column: 1 / 3;
	}

	.wp-block-gallery.rc-mosaic.has-nested-images figure.wp-block-image:nth-child(n+4) {
		display: none;
	}
}

/* Added by site.js: opens the viewer with every photo of that gallery. */
.rc-photos-button {
	position: absolute;
	right: 0.75rem;
	bottom: 0.75rem;
	z-index: 2;
	padding: 0.6rem 1rem;
	border: 0;
	border-radius: 2px;
	background: rgba(12, 21, 38, 0.85);
	color: #fff;
	font: inherit;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: var(--rc-case);
	cursor: pointer;
}

.rc-photos-button:hover,
.rc-photos-button:focus-visible {
	background: var(--wp--preset--color--accent-1);
	color: var(--wp--preset--color--accent-2);
}

/* About the hotel */
.rc-prop-about {
	padding-block: 0 clamp(2.5rem, 5vw, 4rem);
}

.rc-prop-about .wp-block-columns {
	gap: clamp(1.5rem, 5vw, 4rem);
}

.rc-facts {
	padding: 1.75rem;
	background: #fff;
	border: 1px solid rgba(20, 33, 61, 0.1);
	border-top: 2px solid var(--wp--preset--color--accent-1);
}

.rc-facts > * {
	margin-block: 0 0.6rem;
}

.rc-facts p:empty {
	display: none;
}

.rc-facts h3 {
	margin: 0 0 1rem;
	font-size: 1.1rem;
	font-weight: 600;
}

.rc-facts .wp-block-buttons {
	margin-top: 1.25rem;
}

/* Room types: a photo that opens that room's own gallery, then the words and the button. */
.rc-rooms h2 {
	margin-bottom: 2rem;
}

.rc-room {
	gap: 0;
	margin-bottom: 1.5rem;
	background: #fff;
	border: 1px solid rgba(20, 33, 61, 0.12);
}

.rc-room > .wp-block-column:last-child {
	padding: clamp(1.25rem, 3vw, 2.25rem);
	align-self: center;
}

.rc-room h3 {
	margin: 0 0 0.4rem;
	font-size: clamp(1.3rem, 2.2vw, 1.75rem);
	font-weight: 700;
}

.rc-room-meta {
	margin: 0 0 1rem;
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	text-transform: var(--rc-case);
	color: var(--wp--preset--color--accent-1);
}

.rc-room .wp-block-column > p {
	margin-block: 0 1rem;
}

.wp-block-gallery.rc-room-gallery.has-nested-images {
	position: relative;
	display: block;
	height: 100%;
	min-height: 16rem;
	margin: 0;
}

.wp-block-gallery.rc-room-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	overflow: hidden;
	cursor: zoom-in;
}

.wp-block-gallery.rc-room-gallery.has-nested-images figure.wp-block-image:nth-child(n+2) {
	display: none;
}

/* Full-screen photo viewer (site.js) */
.rc-lightbox {
	width: 100vw;
	max-width: none;
	height: 100vh;
	height: 100dvh;
	max-height: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: rgba(8, 13, 24, 0.96);
	color: #fff;
}

.rc-lightbox::backdrop {
	background: rgba(8, 13, 24, 0.96);
}

.rc-lightbox img {
	position: absolute;
	inset: 3.5rem 4rem 3.5rem;
	width: calc(100% - 8rem);
	height: calc(100% - 7rem);
	object-fit: contain;
}

.rc-lightbox button {
	position: absolute;
	z-index: 1;
	width: 3rem;
	height: 3rem;
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 50%;
	background: rgba(12, 21, 38, 0.6);
	color: #fff;
	font-size: 1.4rem;
	line-height: 1;
	cursor: pointer;
}

.rc-lightbox button:hover,
.rc-lightbox button:focus-visible {
	background: var(--wp--preset--color--accent-1);
	color: var(--wp--preset--color--accent-2);
}

.rc-lightbox-close {
	top: 0.5rem;
	right: 0.75rem;
}

.rc-lightbox-prev {
	top: calc(50% - 1.5rem);
	left: 0.5rem;
}

.rc-lightbox-next {
	top: calc(50% - 1.5rem);
	right: 0.5rem;
}

.rc-lightbox-count {
	position: absolute;
	bottom: 0.9rem;
	left: 0;
	width: 100%;
	margin: 0;
	font-size: 0.85rem;
	letter-spacing: 0.1em;
	text-align: center;
}

@media (max-width: 599px) {
	.rc-lightbox img {
		inset: 3.5rem 0;
		width: 100%;
	}

	.rc-lightbox-prev,
	.rc-lightbox-next {
		top: auto;
		bottom: 0.4rem;
	}
}

.rc-fact:empty {
	display: none;
}

/* ---------- Header: top line with contact and languages ---------- */

.rc-topbar {
	gap: 1rem;
	padding: 0.35rem var(--rc-side);
	border-bottom: 1px solid rgba(20, 33, 61, 0.12);
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	font-size: 0.78rem;
	letter-spacing: 0.06em;
}

.rc-topbar p {
	margin: 0;
}

.rc-topbar a {
	color: inherit;
	text-decoration: none;
}

.rc-lang {
	display: flex;
	gap: 0.25rem;
	margin: 0;
	font-weight: 700;
	text-transform: uppercase;
}

.rc-lang a {
	padding: 0.15rem 0.5rem;
	border: 1px solid transparent;
	border-radius: 2px;
	opacity: 0.7;
}

.rc-lang a:hover,
.rc-lang a.is-current {
	border-color: var(--wp--preset--color--accent-1);
	color: var(--wp--preset--color--accent-1);
	opacity: 1;
}

/* On the ivory top line, brass is darkened so the current language stays readable. */
.rc-topbar .rc-lang a:hover,
.rc-topbar .rc-lang a.is-current {
	border-color: #7a5c2e;
	color: #7a5c2e;
}

@media (max-width: 599px) {
	.rc-topbar-contact {
		display: none;
	}

	.rc-topbar {
		justify-content: flex-end;
	}
}

html {
	scroll-padding-top: 7.5rem;
}

/* Dropdown under a menu item */
.rc-header .wp-block-navigation .wp-block-navigation__submenu-container {
	min-width: 15rem;
	padding: 0.5rem 0;
	border: 0;
	border-top: 2px solid var(--wp--preset--color--accent-1);
	background: var(--wp--preset--color--accent-2);
	color: var(--wp--preset--color--base);
	box-shadow: 0 14px 34px rgba(12, 21, 38, 0.35);
}

.rc-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.55rem 1.25rem;
}

/* A country name in the dropdown reads as a small heading. */
.rc-header .wp-block-navigation__submenu-container .rc-nav-country > a {
	font-size: 0.72rem;
	letter-spacing: 0.16em;
	color: var(--wp--preset--color--accent-1);
}

.rc-footer .wp-block-navigation__submenu-container,
.rc-footer .wp-block-navigation__submenu-icon {
	display: none;
}

/* ---------- Buttons fixed at the right edge: WhatsApp and phone ---------- */

.rc-float {
	position: fixed;
	right: 0;
	bottom: 22%;
	z-index: 90;
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin: 0;
}

.rc-float-item {
	margin: 0;
}

.rc-float-item a {
	position: relative;
	display: block;
	width: 3.6rem;
	height: 3.6rem;
	overflow: hidden;
	background: var(--wp--preset--color--accent-2);
	border: 1px solid rgba(176, 141, 87, 0.5);
	border-right: 0;
	color: transparent;
	font-size: 0;
	transition: background 0.2s ease;
}

.rc-float-item a::before {
	content: "";
	position: absolute;
	inset: 0.9rem;
	background: var(--wp--preset--color--accent-1);
	-webkit-mask: var(--rc-icon) center / contain no-repeat;
	mask: var(--rc-icon) center / contain no-repeat;
}

.rc-float-item a:hover,
.rc-float-item a:focus-visible {
	background: var(--wp--preset--color--accent-1);
}

.rc-float-item a:hover::before,
.rc-float-item a:focus-visible::before {
	background: var(--wp--preset--color--accent-2);
}

/* WhatsApp in its own green (both buttons are the same size), with the solid WhatsApp symbol
   (Simple Icons, CC0), so it is recognised at a glance. */
.rc-float {
	align-items: flex-end;
}

.rc-float-item.rc-icon-whatsapp {
	--rc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z'/%3E%3C/svg%3E");
}

.rc-float-item.rc-icon-whatsapp a {
	background: #25d366;
	border-color: #1ebe5b;
	box-shadow: 0 4px 14px rgba(12, 21, 38, 0.3);
}

.rc-float-item.rc-icon-whatsapp a::before {
	inset: 0.75rem;
	background: #fff;
}

.rc-float-item.rc-icon-whatsapp a:hover,
.rc-float-item.rc-icon-whatsapp a:focus-visible {
	background: #1ebe5b;
}

.rc-float-item.rc-icon-whatsapp a:hover::before,
.rc-float-item.rc-icon-whatsapp a:focus-visible::before {
	background: #fff;
}

/* ---------- Cards: hotel logo, country headings, coming soon ---------- */

.rc-card {
	position: relative;
}

.rc-card-logo,
.rc-spot-logo {
	margin: 0;
}

.rc-card .rc-card-logo {
	position: absolute;
	top: 1rem;
	left: 1rem;
	z-index: 1;
}

.rc-card-logo img,
.rc-spot-logo img {
	display: block;
	width: auto;
	max-width: 11rem;
	height: 5.5rem;
	object-fit: contain;
	object-position: left center;
	filter: drop-shadow(0 2px 8px rgba(12, 21, 38, 0.45));
}

/* Camphor's light gold lettering is darkened where it sits on ivory, so it stays readable. */
.rc-spot-logo img[src*="camphor"],
.rc-prop-logo img[src*="camphor"] {
	filter: brightness(0.62) saturate(1.3);
}

.rc-spot-logo img {
	filter: none;
}

.rc-country {
	padding-block: clamp(2.5rem, 5vw, 4rem) 0;
}

.rc-country:last-of-type {
	padding-bottom: clamp(3.5rem, 8vw, 6.5rem);
}

.rc-country-head {
	gap: 1rem;
	align-items: center;
	margin-bottom: 1.75rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid rgba(20, 33, 61, 0.15);
}

.rc-country-head h2 {
	margin: 0;
	font-size: clamp(1.4rem, 2.6vw, 2rem);
}

.rc-country-head .rc-flag img {
	height: 1.6rem;
	border-color: rgba(20, 33, 61, 0.2);
}

.rc-country-head .rc-flag {
	margin: 0;
}

.rc-soon-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--wp--style--block-gap, 1.2rem);
	margin-top: var(--wp--style--block-gap, 1.2rem);
}

.rc-soon-grid > * {
	margin: 0;
}

.rc-card-soon .wp-block-image {
	position: relative;
	margin: 0;
}

.rc-card-soon .wp-block-image img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	filter: saturate(0.6) brightness(0.75);
}

.rc-soon-badge {
	display: inline-block;
	margin: 0.9rem 0 0;
	padding: 0.3rem 0.75rem;
	background: var(--wp--preset--color--accent-1);
	color: var(--wp--preset--color--accent-2);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: var(--rc-case);
}

.rc-card-body h3 {
	margin: 0 0 0.5rem;
	font-size: 1.375rem;
}

@media (max-width: 599px) {
	.rc-soon-grid {
		grid-template-columns: 1fr;
	}
}

/* ---------- Home: why us, spotlight, destinations ---------- */

.rc-glance.rc-glance-4 {
	grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 1000px) {
	.rc-glance.rc-glance-4 {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 599px) {
	.rc-glance.rc-glance-4 {
		grid-template-columns: 1fr;
	}
}

.rc-spotlight .wp-block-post-template {
	margin: 0;
	padding: 0;
	list-style: none;
}

.rc-spot {
	gap: clamp(1.5rem, 5vw, 5rem);
	align-items: center;
	margin-top: clamp(2rem, 5vw, 3.5rem);
}

.rc-spot .wp-block-post-featured-image {
	margin: 0;
	overflow: hidden;
}

.rc-spot .wp-block-post-featured-image img {
	display: block;
	transition: transform 0.6s ease;
}

.rc-spot:hover .wp-block-post-featured-image img {
	transform: scale(1.04);
}

.rc-spot .wp-block-column > * {
	margin-block: 0 0.75rem;
}

.rc-spot .wp-block-post-title {
	font-size: clamp(1.5rem, 2.8vw, 2.25rem);
	font-weight: 700;
}

.rc-spot .wp-block-post-title a {
	text-decoration: none;
}

.rc-spot .wp-block-read-more {
	display: inline-block;
	margin-top: 0.75rem;
	padding: 0.8rem 1.4rem;
	background: var(--wp--preset--color--accent-1);
	color: var(--wp--preset--color--accent-2);
	border-radius: 2px;
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-decoration: none;
	text-transform: var(--rc-case);
}

@media (min-width: 782px) {
	.rc-spotlight .wp-block-post:nth-child(even) .rc-spot {
		flex-direction: row-reverse;
	}
}

.rc-dest {
	margin-top: 2.5rem;
	gap: 1rem;
}

.rc-dest-tile {
	position: relative;
	margin: 0;
	overflow: hidden;
	color: #fff;
}

.rc-dest-tile > .wp-block-image:first-child {
	margin: 0;
}

.rc-dest-tile > .wp-block-image:first-child img {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	transition: transform 0.6s ease;
}

.rc-dest-tile:hover > .wp-block-image:first-child img {
	transform: scale(1.05);
}

.rc-dest-tile::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(12, 21, 38, 0) 35%, rgba(12, 21, 38, 0.88) 100%);
	pointer-events: none;
}

.rc-dest-text {
	position: absolute;
	right: 1.25rem;
	bottom: 1.25rem;
	left: 1.25rem;
	z-index: 1;
	margin: 0;
}

.rc-dest-text > * {
	margin: 0;
}

.rc-dest-text h3 {
	margin: 0.5rem 0 0.15rem;
	font-size: 1.3rem;
	font-weight: 700;
	color: inherit;
}

.rc-dest-text h3 a {
	color: inherit;
	text-decoration: none;
}

/* The whole tile is the link. */
.rc-dest-text h3 a::after {
	content: "";
	position: absolute;
	inset: -100vh -100vw;
}

.rc-dest-text p {
	font-size: 0.8rem;
	letter-spacing: 0.03em;
	text-transform: var(--rc-case);
	color: var(--wp--preset--color--accent-1);
}

@media (min-width: 600px) and (max-width: 1000px) {
	.rc-dest.wp-block-columns {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}
}

/* ---------- About, Contact, Careers ---------- */

.rc-story {
	gap: clamp(1.5rem, 5vw, 5rem);
	align-items: center;
}

.rc-story .wp-block-image {
	margin: 0;
}

.rc-story .wp-block-image img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.rc-team {
	margin-top: 2.5rem;
}

.rc-team .wp-block-image {
	margin: 0 0 1rem;
}

.rc-team .wp-block-image img {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
}

.rc-team h3 {
	margin: 0;
	font-size: 1.2rem;
	font-weight: 600;
}

.rc-team .rc-room-meta {
	margin: 0.25rem 0 0.75rem;
}

.rc-narrow > * {
	max-width: 46rem;
}

/* ---------- Property page: section links and facilities ---------- */

.rc-prop-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 1.75rem;
	margin: 1.5rem 0 0;
	padding-top: 1rem;
	border-top: 1px solid rgba(20, 33, 61, 0.15);
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: var(--rc-case);
}

.rc-prop-tabs a {
	padding-bottom: 0.25rem;
	border-bottom: 2px solid transparent;
	text-decoration: none;
}

.rc-prop-tabs a:hover {
	border-color: var(--wp--preset--color--accent-1);
}

.rc-facilities {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr));
	gap: 0.6rem 1.5rem;
	margin: 1rem 0 0;
	padding: 0;
	list-style: none;
}

.rc-facilities li {
	position: relative;
	padding-left: 1.6rem;
}

.rc-facilities li::before {
	content: "";
	position: absolute;
	top: 0.55em;
	left: 0;
	width: 0.9rem;
	height: 0.5rem;
	border-bottom: 2px solid var(--wp--preset--color--accent-1);
	border-left: 2px solid var(--wp--preset--color--accent-1);
	transform: rotate(-45deg) translateY(-50%);
}

.rc-prop-place {
	padding-block: clamp(2.5rem, 5vw, 4rem);
}

/* ---------- Mobile and tablet menu: a full-screen navy panel ---------- */

.rc-header .wp-block-navigation__responsive-container.is-menu-open {
	padding: 0;
	background: var(--wp--preset--color--accent-2);
	color: var(--wp--preset--color--base);
}

.rc-header .is-menu-open .wp-block-navigation__responsive-dialog {
	display: flex;
	flex-direction: column;
	min-height: 100%;
}

.rc-header .is-menu-open .wp-block-navigation__responsive-container-close {
	top: 1.1rem;
	right: var(--rc-side);
	width: 2.75rem;
	height: 2.75rem;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(250, 248, 243, 0.25);
	border-radius: 50%;
}

.rc-header .is-menu-open .wp-block-navigation__responsive-container-content {
	align-items: stretch;
	padding: 5rem var(--rc-side) 2rem;
}

.rc-header .is-menu-open .wp-block-navigation__container {
	align-items: stretch;
	gap: 0;
	width: 100%;
}

.rc-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
	position: relative;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
	border-bottom: 1px solid rgba(250, 248, 243, 0.12);
}

.rc-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	flex: 1;
	padding: 1.05rem 0;
	font-size: 1.15rem;
	letter-spacing: 0.08em;
}

.rc-header .is-menu-open .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--accent-1);
}

/* The hotels under Our Properties fold away behind a plus sign. */
.rc-header .is-menu-open .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container {
	display: none !important;
	width: 100%;
	padding: 0 0 1rem;
	border: 0;
	box-shadow: none;
	background: transparent;
}

.rc-header .is-menu-open .wp-block-navigation__container > .has-child.rc-sub-open > .wp-block-navigation__submenu-container {
	display: flex !important;
}

.rc-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.5rem 0 0.5rem 1rem;
	font-size: 0.95rem;
	text-transform: none;
	letter-spacing: 0.02em;
}

.rc-header .is-menu-open .wp-block-navigation__submenu-container .rc-nav-country > a {
	padding: 0.9rem 0 0.25rem;
	font-size: 0.72rem;
	text-transform: var(--rc-case);
	letter-spacing: 0.03em;
}

.rc-header .is-menu-open .wp-block-navigation__submenu-icon {
	display: none !important;
}

.rc-sub-toggle,
.rc-menu-extra {
	display: none;
}

.is-menu-open .rc-sub-toggle {
	display: block;
}

.rc-sub-toggle {
	position: relative;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	border: 1px solid rgba(250, 248, 243, 0.25);
	border-radius: 50%;
	background: transparent;
	color: inherit;
	cursor: pointer;
}

.rc-sub-toggle::before,
.rc-sub-toggle::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0.9rem;
	height: 2px;
	background: var(--wp--preset--color--accent-1);
	transform: translate(-50%, -50%);
	transition: transform 0.25s ease;
}

.rc-sub-toggle::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.rc-sub-open > .rc-sub-toggle::after {
	transform: translate(-50%, -50%) rotate(0deg);
}

/* Bottom of the panel: the enquiry button, phone and email, and the languages. */
.is-menu-open .rc-menu-extra {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	width: 100%;
	margin-top: 2rem;
}

.rc-menu-extra .rc-menu-cta {
	display: block;
	padding: 1rem 1.25rem;
	background: var(--wp--preset--color--accent-1);
	color: var(--wp--preset--color--accent-2);
	border-radius: 2px;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-align: center;
	text-decoration: none;
	text-transform: var(--rc-case);
}

.rc-menu-extra .rc-menu-contact {
	margin: 0;
	font-size: 0.9rem;
	opacity: 0.8;
}

.rc-menu-extra .rc-lang {
	flex-wrap: wrap;
	gap: 0.5rem;
	font-size: 0.9rem;
}

.rc-menu-extra .rc-lang a {
	padding: 0.45rem 0.8rem;
	border-color: rgba(250, 248, 243, 0.25);
}

@media (prefers-reduced-motion: no-preference) {
	.rc-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item,
	.rc-menu-extra {
		animation: rc-rise 0.5s cubic-bezier(0.2, 0.7, 0.2, 1) both;
	}

	.rc-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(2) { animation-delay: 0.04s; }
	.rc-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(3) { animation-delay: 0.08s; }
	.rc-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(4) { animation-delay: 0.12s; }
	.rc-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(5) { animation-delay: 0.16s; }
	.rc-header .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(6) { animation-delay: 0.2s; }
	.rc-menu-extra { animation-delay: 0.25s; }
}

/* On a phone the top line keeps only the languages, which also sit in the menu panel. */
@media (max-width: 599px) {
	.rc-topbar .rc-lang a {
		padding: 0.1rem 0.35rem;
	}
}

/* ---------- Forms (Contact Form 7) ---------- */

.wpcf7 {
	max-width: 46rem;
}

.rc-form-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem 1.25rem;
}

.rc-form-grid .rc-wide {
	grid-column: 1 / -1;
}

.wpcf7 label {
	display: block;
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.04em;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="number"],
.wpcf7 input[type="file"],
.wpcf7 textarea {
	box-sizing: border-box;
	width: 100%;
	margin-top: 0.35rem;
	padding: 0.8rem 0.9rem;
	border: 1px solid rgba(20, 33, 61, 0.25);
	border-radius: 2px;
	background: #fff;
	font: inherit;
	font-size: 1rem;
}

.wpcf7 textarea {
	height: 9rem;
}

.wpcf7 input:focus,
.wpcf7 textarea:focus {
	border-color: var(--wp--preset--color--accent-1);
	outline: 2px solid rgba(176, 141, 87, 0.35);
}

.wpcf7 .wpcf7-acceptance label {
	display: flex;
	gap: 0.6rem;
	align-items: flex-start;
	font-weight: 400;
	letter-spacing: 0;
}

.wpcf7 input[type="submit"] {
	margin-top: 0.5rem;
	padding: 0.95rem 1.75rem;
	border: 0;
	border-radius: 2px;
	background: var(--wp--preset--color--accent-1);
	color: var(--wp--preset--color--accent-2);
	font: inherit;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: var(--rc-case);
	cursor: pointer;
}

.wpcf7 input[type="submit"]:hover {
	background: var(--wp--preset--color--accent-2);
	color: var(--wp--preset--color--base);
}

.wpcf7 .wpcf7-not-valid-tip {
	margin-top: 0.3rem;
	font-size: 0.85rem;
}

.wpcf7 form .wpcf7-response-output {
	margin: 1.25rem 0 0;
	padding: 0.9rem 1rem;
}

@media (max-width: 599px) {
	.rc-form-grid {
		grid-template-columns: 1fr;
	}
}

/* ---------- Right-to-left (Arabic) ---------- */

[dir="rtl"] body,
html[lang^="ar"] body {
	font-family: "Segoe UI", Tahoma, "Noto Sans Arabic", "Geeza Pro", Arial, sans-serif;
}

/* Arabic letters join up: spacing them apart breaks the words. */
html[lang^="ar"] * {
	letter-spacing: 0 !important;
}

/* Phone numbers and e-mail addresses stay left to right inside right-to-left text, so "+971 50 358 4467" does not read backwards. */
[dir="rtl"] a[href^="tel:"],
[dir="rtl"] a[href^="mailto:"],
[dir="rtl"] a[href^="https://wa.me/"] {
	direction: ltr;
	unicode-bidi: isolate;
}

[dir="rtl"] .is-style-rc-slideshow::after {
	background: linear-gradient(270deg, rgba(12, 21, 38, 0.78) 0%, rgba(12, 21, 38, 0.45) 45%, rgba(12, 21, 38, 0.1) 100%);
}

[dir="rtl"] .is-style-rc-slideshow > .wp-block-image figcaption {
	right: auto;
	left: var(--rc-side);
	padding-right: 3.25rem;
	padding-left: 0;
	text-align: left;
}

[dir="rtl"] .is-style-rc-slideshow > .wp-block-image figcaption::before {
	right: 0;
	left: auto;
}

[dir="rtl"] .rc-contact-item {
	padding: 1.5rem 4.75rem 1.5rem 1.5rem;
}

[dir="rtl"] .rc-contact-item::before {
	right: 1.5rem;
	left: auto;
}

[dir="rtl"] .rc-card .rc-card-logo {
	right: 1rem;
	left: auto;
}

[dir="rtl"] .rc-facilities li {
	padding-right: 1.6rem;
	padding-left: 0;
}

[dir="rtl"] .rc-facilities li::before {
	right: 0;
	left: auto;
}

[dir="rtl"] .rc-photos-button {
	right: auto;
	left: 0.75rem;
}

[dir="rtl"] .rc-header .is-menu-open .wp-block-navigation__responsive-container-close {
	right: auto;
	left: var(--rc-side);
}

[dir="rtl"] .rc-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.5rem 1rem 0.5rem 0;
}

/* Right to left: the buttons sit on the left edge, so they do not cover the first tab and the first words of a line, which start on the right. */
[dir="rtl"] .rc-float {
	right: auto;
	left: 0;
}

[dir="rtl"] .rc-float-item a {
	border-right-width: 1px;
	border-left-width: 0;
}

/* Menu panel: names on the left, the plus sign on the right of the same line. */
.rc-header .is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container > .wp-block-navigation-item {
	flex-direction: row !important;
	flex-wrap: wrap;
	justify-content: space-between !important;
	align-items: center !important;
	text-align: start;
}

.rc-header .is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	flex: 1 1 0;
	justify-content: flex-start;
	text-align: start;
}

.rc-header .is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container {
	flex-basis: 100%;
	align-items: flex-start !important;
}

.rc-menu-extra .rc-menu-contact {
	text-transform: none;
	letter-spacing: 0.02em;
	font-weight: 400;
}

/* Desktop dropdown wide enough for a hotel name on one line. */
@media (min-width: 1100px) {
	.rc-header .wp-block-navigation .wp-block-navigation__submenu-container {
		min-width: 17rem !important;
	}
}

/* The spam trap field: off screen, never seen by people. */
.rc-hp {
	/* Hidden from people, still in the page for robots. Clipped in place rather than moved 9999px to the left,
	   because in right-to-left pages that made the whole page 10,000 px wide. */
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

/* Guest score under a hotel name in the spotlight. */
.rc-spot-review {
	font-weight: 600;
	color: var(--wp--preset--color--accent-1);
}

.rc-spot-review:empty {
	display: none;
}

/* ---------- Devices (owner, 2026-10-20): rules for each kind of screen ---------- */

/* All devices: phones do not enlarge text on their own when turned sideways. */
html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

/* Touch screens (phones, tablets): no hover zoom that sticks after a tap,
   and small links get a finger-sized target. */
@media (hover: none) {
	.rc-card:hover,
	.rc-contact-item:hover,
	.rc-glance-item:hover {
		transform: none;
		box-shadow: none;
	}

	.rc-card:hover .wp-block-post-featured-image img,
	.rc-tiles .wp-block-column:hover .wp-block-image img,
	.rc-service:hover .wp-block-image img,
	.rc-mosaic figure:hover img,
	.rc-room-gallery figure:hover img,
	.rc-spot:hover .wp-block-post-featured-image img,
	.rc-dest-tile:hover > .wp-block-image:first-child img {
		transform: none;
	}

	.rc-footer a,
	.rc-lang a,
	.rc-prop-tabs a {
		display: inline-block;
		min-height: 44px;
		line-height: 44px;
	}
}

/* Hero headline: on narrow screens the lines are balanced ("Your Properties, / Our Expertise,"). */
.rc-hero-text h1 {
	text-wrap: balance;
}

/* Phones (portrait): a shorter header, so the hero starts higher. */
@media (max-width: 781px) {
	.rc-header .wp-block-site-logo img {
		width: auto !important;
		height: 3.5rem;
	}

	.rc-header-row {
		padding-block: 0.5rem;
	}
}

/* Small phones (narrower than 360 px, e.g. iPhone SE first generation, small Androids). */
@media (max-width: 359px) {
	:root {
		--rc-side: 1rem;
	}

	.rc-hero-text h1 {
		font-size: 2.1rem;
	}

	.is-style-rc-slideshow > .rc-hero-text {
		align-self: start;
		padding-block: 2.5rem;
	}

	.rc-hero-text .wp-block-button__link {
		padding-inline: 1.25rem;
	}
}

/* Phones turned sideways (wide but short): the hero fits the screen height. */
@media (max-height: 500px) and (orientation: landscape) {
	.rc-header .wp-block-site-logo img {
		width: auto !important;
		height: 2.5rem;
	}

	.rc-header-row {
		padding-block: 0.25rem;
	}

	.rc-topbar {
		padding-block: 0.15rem;
	}

	.is-style-rc-slideshow {
		min-height: calc(100vh - 8.5rem);
		min-height: calc(100svh - 8.5rem);
	}

	.is-style-rc-slideshow > .rc-hero-text {
		padding-block: 1.5rem;
	}

	.rc-hero-text h1 {
		margin-bottom: 1rem;
		font-size: clamp(1.75rem, 4.4vw, 2.5rem);
	}

	.rc-float {
		bottom: 0.5rem;
	}
}

/* Tablets (portrait and landscape): headline between phone and laptop size. */
@media (min-width: 600px) and (max-width: 1099px) and (min-height: 501px) {
	.rc-hero-text h1 {
		font-size: clamp(2.6rem, 5.3vw, 3.5rem);
	}
}

/* Large desktop screens (1920 px and wider): the headline a size larger. */
@media (min-width: 1920px) {
	.rc-hero-text h1 {
		font-size: 5rem;
	}
}

/* ---------- About page: video welcome, who we are, CEO message, mission, vision ---------- */

/* Welcome: a full-bleed looping video with the headline over it. The text group reuses rc-hero-text,
   so it rises in like the Home hero. The still (an Image block) shows on phones, with reduced
   motion and when site.js stops the video (data saver). */
.rc-about-welcome {
	padding: 0;
	color: var(--wp--preset--color--base);
}

/* The welcome is a band of about 60% of the screen, so "Who we are" starts right below it. */
@media (min-width: 768px) {
	.rc-about-welcome {
		min-height: clamp(26rem, 62vh, 42rem) !important;
		min-height: clamp(26rem, 62svh, 42rem) !important;
	}
}

.rc-about-welcome .wp-block-cover__inner-container {
	position: static;
	width: 100%;
	max-width: none;
}

.rc-about-welcome .rc-welcome-text {
	position: relative;
	z-index: 2;
	box-sizing: border-box;
	max-width: 80rem;
	margin-inline: auto;
	padding: 4rem var(--rc-side) 4.5rem;
	text-align: center;
	color: var(--wp--preset--color--base);
	will-change: transform, opacity;
}

.rc-about-welcome .rc-welcome-text .rc-eyebrow {
	font-size: 0.95rem;
	letter-spacing: 0.12em;
}

/* The company name stays on one line at every width: the heading never wraps (a line break after
   "Welcome to" is in the text) and the size follows the screen width. */
.rc-about-welcome .rc-welcome-text h1 {
	max-width: none;
	margin: 0 auto 1.25rem;
	/* The name is about 16 times the font size wide, so the size is the room inside the side padding divided by 16.4
	   (2rem kept spare for the scrollbar). */
	font-size: min(4rem, calc((100vw - 2 * var(--rc-side) - 2rem) / 16.4));
	white-space: nowrap;
}

@media (max-width: 767px) {
	.rc-about-welcome .rc-welcome-text {
		padding-inline: 0.75rem;
	}
}

.rc-welcome-poster {
	display: none;
	position: absolute;
	inset: 0;
	z-index: 0;
	margin: 0;
}

.rc-welcome-poster img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (max-width: 767px) {
	.rc-about-welcome {
		min-height: max(24rem, 60vh) !important;
		min-height: max(24rem, 60svh) !important;
	}

	.rc-about-welcome .rc-welcome-text {
		padding-block: 3rem 4.5rem;
	}

	.rc-about-welcome .wp-block-cover__video-background {
		display: none;
	}

	.rc-about-welcome .rc-welcome-poster {
		display: block;
	}
}

@media (prefers-reduced-motion: reduce) {
	.rc-about-welcome .wp-block-cover__video-background {
		display: none;
	}

	.rc-about-welcome .rc-welcome-poster {
		display: block;
	}
}

.rc-about-welcome.rc-video-off .wp-block-cover__video-background {
	display: none;
}

.rc-about-welcome.rc-video-off .rc-welcome-poster {
	display: block;
}

/* A small chevron at the foot of the welcome, a link down to the next section. */
.rc-scroll-cue {
	position: absolute;
	left: 50%;
	bottom: 1.25rem;
	z-index: 2;
	margin: 0;
	transform: translateX(-50%);
}

.rc-scroll-cue a {
	display: block;
	position: relative;
	width: 44px;
	height: 44px;
}

.rc-scroll-cue a::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 14px;
	height: 14px;
	margin: -10px 0 0 -7px;
	border-right: 2px solid var(--wp--preset--color--accent-1);
	border-bottom: 2px solid var(--wp--preset--color--accent-1);
	transform: rotate(45deg);
}

@media (prefers-reduced-motion: no-preference) {
	.rc-scroll-cue a::before {
		animation: rc-cue 1.8s ease-in-out infinite;
	}
}

@keyframes rc-cue {
	0%, 100% { transform: translateY(-4px) rotate(45deg); opacity: 0.6; }
	50% { transform: translateY(6px) rotate(45deg); opacity: 1; }
}

.rc-about-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
}

.rc-about-stats > .rc-about-stat {
	margin-block: 0;
}

.rc-about-stat > * {
	margin: 0;
}

.rc-about-stat .rc-stat-value {
	font-size: clamp(2.75rem, 6vw, 4.25rem);
	font-weight: 700;
	line-height: 1.1;
	color: var(--wp--preset--color--accent-1);
}

.rc-about-stat .rc-stat-label {
	max-width: 16rem;
	margin: 0.5rem auto 0;
	font-size: 0.9rem;
	line-height: 1.45;
	letter-spacing: 0.04em;
	color: var(--wp--preset--color--accent-4);
}

@media (max-width: 639px) {
	.rc-about-stats {
		grid-template-columns: 1fr;
		gap: 1.75rem;
	}
}

/* Welcome motion: slow zoom on the picture, words rising one by one, text easing away as the band
   scrolls past (site.js sets --rc-py and --rc-po). All of it is off for reduced motion. */
@media (prefers-reduced-motion: no-preference) {
	.rc-about-welcome .wp-block-cover__video-background,
	.rc-about-welcome .rc-welcome-poster img {
		transform-origin: 50% 50%;
		animation: rc-kenburns 12s cubic-bezier(0.2, 0.6, 0.3, 1) both;
	}

	.rc-about-welcome .rc-welcome-text {
		transform: translate3d(0, var(--rc-py, 0px), 0);
		opacity: var(--rc-po, 1);
	}

	.rc-about-welcome .rc-welcome-text > h1 {
		animation: none;
	}

	.rc-about-welcome .rc-welcome-text > .rc-eyebrow {
		animation: rc-rise 0.8s cubic-bezier(0.2, 0.7, 0.2, 1) 0.05s both;
	}

	.rc-about-welcome .rc-welcome-text > .rc-lead {
		animation: rc-rise 0.9s cubic-bezier(0.2, 0.7, 0.2, 1) var(--rc-lead-delay, 0.4s) both;
	}

	.rc-about-welcome .rc-w {
		display: inline-block;
		animation: rc-word 0.85s cubic-bezier(0.2, 0.7, 0.2, 1) both;
		animation-delay: calc(0.25s + var(--i, 0) * 0.09s);
	}
}

@keyframes rc-kenburns {
	from { transform: scale(1.08); }
	to { transform: scale(1); }
}

@keyframes rc-word {
	from { opacity: 0; transform: translateY(0.55em); }
	to { opacity: 1; transform: none; }
}

/* Who we are: a full-width photo with an ivory panel on the right (it slides in when scrolled to), then the
   figures on a navy strip. Phones: photo on top, panel below it. */
.rc-about-who {
	margin: 0;
	padding: 0;
	overflow: hidden;
}

.rc-about-who > * {
	margin-block: 0;
}

.rc-about-who .rc-who-cover {
	padding: 0;
	align-items: stretch;
	min-height: 520px;
}

.rc-about-who .rc-who-cover .wp-block-cover__image-background {
	object-position: 25% 40%;
}

.rc-about-who .rc-who-cover .wp-block-cover__inner-container {
	display: flex;
	justify-content: flex-end;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

.rc-who-panel {
	box-sizing: border-box;
	width: 58%;
	margin: 0;
	padding: clamp(2rem, 4vw, 3.5rem) clamp(1.5rem, 5vw, 4.5rem);
	border-left: 2px solid var(--wp--preset--color--accent-1);
	background: rgba(250, 248, 243, 0.88);
	text-align: left;
	color: var(--wp--preset--color--accent-3);
}

.rc-who-panel > * {
	max-width: none;
	margin-inline: 0;
}

.rc-who-panel h2 {
	position: relative;
	margin: 0 0 1.25rem;
	padding-bottom: 1.1rem;
	font-size: clamp(1.9rem, 3.4vw, 2.75rem);
	font-weight: 700;
	color: var(--wp--preset--color--accent-2);
}

.rc-who-panel h2::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 5rem;
	height: 3px;
	background: var(--wp--preset--color--accent-1);
	transform-origin: left center;
}

.rc-who-panel .rc-who-sub {
	margin: 0 0 1.1rem;
	font-size: clamp(1.2rem, 1.9vw, 1.5rem);
	font-weight: 600;
	line-height: 1.4;
	color: var(--wp--preset--color--accent-2);
}

.rc-who-panel p:not(.rc-who-sub) {
	margin: 0 0 1rem;
	font-size: clamp(1.08rem, 1.5vw, 1.25rem);
	line-height: 1.7;
}

.rc-who-panel p:last-child {
	margin-bottom: 0;
}

@media (min-width: 640px) and (max-width: 1023px) {
	.rc-who-panel {
		width: 75%;
	}
}

@media (max-width: 639px) {
	.rc-about-who .rc-who-cover {
		min-height: 0 !important;
	}

	.rc-about-who .rc-who-cover .wp-block-cover__image-background,
	.rc-about-who .rc-who-cover .wp-block-cover__background {
		height: 220px;
		bottom: auto;
	}

	.rc-about-who .rc-who-cover .wp-block-cover__inner-container {
		padding-top: 220px;
	}

	.rc-who-panel {
		width: 100%;
		border-left: 0;
		border-top: 2px solid var(--wp--preset--color--accent-1);
		background: var(--wp--preset--color--base);
	}
}

@media (prefers-reduced-motion: no-preference) {
	/* The transitions belong to the "arrived" state only, so adding rc-panel-wait hides the panel at once
	   (no fade-out flash) and removing it plays the slide-in. */
	.rc-who-panel:not(.rc-panel-wait) {
		transition: transform 1.3s cubic-bezier(0.2, 0.7, 0.2, 1), opacity 1.1s ease;
	}

	.rc-who-panel:not(.rc-panel-wait) h2::after {
		transition: transform 0.9s cubic-bezier(0.2, 0.7, 0.2, 1) 0.9s;
	}

	.rc-who-panel.rc-panel-wait {
		opacity: 0;
		transform: translateX(100%);
	}

	.rc-who-panel.rc-panel-wait h2::after {
		transform: scaleX(0);
	}
}

.rc-about-who > .rc-about-stats {
	max-width: none;
	margin: 0;
	padding: clamp(2rem, 4vw, 3rem) var(--rc-side);
	background: var(--wp--preset--color--accent-2);
}

.rc-about-stats > .rc-about-stat {
	max-width: 22rem;
	margin-inline: auto;
}

.rc-about-stats > .rc-about-stat + .rc-about-stat {
	border-left: 1px solid rgba(176, 141, 87, 0.5);
	padding-left: 2rem;
	max-width: 24rem;
}

.rc-about-stat .rc-stat-label {
	color: var(--wp--preset--color--accent-5);
}

@media (max-width: 639px) {
	.rc-about-stats > .rc-about-stat {
		max-width: 18rem;
		width: 100%;
	}

	.rc-about-stats > .rc-about-stat + .rc-about-stat {
		border-left: 0;
		border-top: 1px solid rgba(176, 141, 87, 0.5);
		padding: 1.75rem 0 0;
		max-width: 18rem;
	}
}

/* CEO message: portrait left, message right (stacked, portrait first, on phones). */
.rc-ceo {
	gap: clamp(1.75rem, 5vw, 4.5rem);
}

.rc-ceo-photo {
	margin: 0;
}

.rc-ceo-photo img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-bottom: 3px solid var(--wp--preset--color--accent-1);
	box-shadow: 0 18px 40px rgba(12, 21, 38, 0.18);
}

@media (max-width: 781px) {
	.rc-ceo-photo {
		max-width: 20rem;
		margin-inline: auto;
	}
}

.rc-ceo-quote {
	position: relative;
	margin: 0 0 1.75rem;
	padding: 3.25rem 0 0;
	border: 0;
}

.rc-ceo-quote::before {
	content: "\201C";
	position: absolute;
	top: 0;
	left: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 6rem;
	line-height: 1;
	color: var(--wp--preset--color--accent-1);
}

.rc-ceo-quote p {
	margin: 0;
	font-size: clamp(1.1rem, 1.6vw, 1.35rem);
	line-height: 1.7;
}

.rc-ceo-name {
	margin: 0;
	font-size: 1.25rem;
	font-weight: 700;
}

.rc-ceo-role {
	margin: 0.2rem 0 0;
	font-size: 0.92rem;
	color: var(--wp--preset--color--accent-4);
}

/* CEO message motion (site.js adds rc-ceo-wait, then removes it when the section scrolls into view): the photo
   slides in from the left, a brass frame draws round it, the quote mark pops in, then the lines appear one
   after another and a short brass line draws before the name. */
.rc-ceo-photo {
	position: relative;
	isolation: isolate;
}

.rc-ceo-photo::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	transform: translate(14px, 14px);
	border: 2px solid var(--wp--preset--color--accent-1);
	pointer-events: none;
}

.rc-ceo-name::before {
	content: "";
	display: block;
	width: 3.5rem;
	height: 3px;
	margin-bottom: 0.9rem;
	background: var(--wp--preset--color--accent-1);
	transform-origin: left center;
}

@media (max-width: 781px) {
	.rc-ceo-photo::after {
		transform: translate(10px, 10px);
	}
}

@media (prefers-reduced-motion: no-preference) {
	/* As with the panel above: transitions only in the "arrived" state. */
	.rc-about-ceo:not(.rc-ceo-wait) .rc-ceo-photo,
	.rc-about-ceo:not(.rc-ceo-wait) .rc-ceo-quote::before,
	.rc-about-ceo:not(.rc-ceo-wait) .rc-eyebrow,
	.rc-about-ceo:not(.rc-ceo-wait) .rc-ceo-quote p,
	.rc-about-ceo:not(.rc-ceo-wait) .rc-ceo-name,
	.rc-about-ceo:not(.rc-ceo-wait) .rc-ceo-role {
		transition: opacity 0.8s ease, transform 0.9s cubic-bezier(0.2, 0.7, 0.2, 1);
	}

	.rc-about-ceo .rc-ceo-photo::after {
		clip-path: inset(-20px);
	}

	.rc-about-ceo:not(.rc-ceo-wait) .rc-ceo-photo::after {
		transition: clip-path 1.1s cubic-bezier(0.5, 0, 0.2, 1) 0.9s;
	}

	.rc-about-ceo:not(.rc-ceo-wait) .rc-ceo-name::before {
		transition: transform 0.8s cubic-bezier(0.2, 0.7, 0.2, 1) 0.9s;
	}

	.rc-about-ceo:not(.rc-ceo-wait) .rc-ceo-quote::before { transition-delay: 0.35s; }
	.rc-about-ceo:not(.rc-ceo-wait) .rc-eyebrow { transition-delay: 0.2s; }
	.rc-about-ceo:not(.rc-ceo-wait) .rc-ceo-quote p { transition-delay: 0.45s; }
	.rc-about-ceo:not(.rc-ceo-wait) .rc-ceo-quote p + p { transition-delay: 0.57s; }
	.rc-about-ceo:not(.rc-ceo-wait) .rc-ceo-name { transition-delay: 0.69s; }
	.rc-about-ceo:not(.rc-ceo-wait) .rc-ceo-role { transition-delay: 0.81s; }

	.rc-about-ceo.rc-ceo-wait .rc-ceo-photo {
		opacity: 0;
		transform: translateX(-70px);
	}

	.rc-about-ceo.rc-ceo-wait .rc-ceo-photo::after {
		clip-path: inset(0 100% 100% 0);
	}

	.rc-about-ceo.rc-ceo-wait .rc-ceo-quote::before {
		opacity: 0;
		transform: scale(0.4);
		transform-origin: 20% 70%;
	}

	.rc-about-ceo.rc-ceo-wait .rc-eyebrow,
	.rc-about-ceo.rc-ceo-wait .rc-ceo-quote p,
	.rc-about-ceo.rc-ceo-wait .rc-ceo-name,
	.rc-about-ceo.rc-ceo-wait .rc-ceo-role {
		opacity: 0;
		transform: translateY(22px);
	}

	.rc-about-ceo.rc-ceo-wait .rc-ceo-name::before {
		transform: scaleX(0);
	}
}

/* Leadership: the CEO block repeated per leader. Both portraits display at the same size. */
.rc-leaders-head {
	margin-bottom: clamp(2rem, 4vw, 3.25rem);
}

.rc-leaders-head > h2 {
	margin: 0;
}

.rc-leaders-head > .rc-lead {
	margin-top: 0.9rem;
}

.rc-leader + .rc-leader {
	margin-top: clamp(3rem, 6vw, 5rem);
}

.rc-leader .rc-ceo-photo {
	width: 100%;
	max-width: 14rem;
	margin-inline: 0;
}

@media (max-width: 781px) {
	.rc-leader .rc-ceo-photo {
		margin-inline: auto;
	}
}

/* Leadership motion (23 Oct): same easing as the rest of the site. Leaders alternate sides on desktop; each
   portrait is wiped in with a slow colour settle, the brass frame draws itself, the quote is revealed word by
   word (site.js wraps the words), and the portrait drifts slightly while scrolling and lifts on hover. */
@media (min-width: 782px) {
	.rc-about-leaders > .rc-leader:nth-child(odd) .rc-ceo {
		flex-direction: row-reverse;
	}

	.rc-about-leaders > .rc-leader:nth-child(odd) .rc-ceo-photo {
		margin-inline: auto 0;
	}
}

.rc-about-leaders > .rc-leader:nth-child(odd) .rc-ceo-photo::after {
	transform: translate(-14px, 14px);
}

.rc-leader .rc-ceo-photo {
	translate: 0 var(--rc-par, 0px);
}

@media (prefers-reduced-motion: no-preference) {
	.rc-leader .rc-ceo-photo img {
		transition: clip-path 1.3s cubic-bezier(0.5, 0, 0.2, 1) 0.1s, filter 1.9s ease 0.1s, transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.5s ease;
	}

	.rc-leader:not(.rc-ceo-wait) .rc-ceo-photo:hover img {
		transform: translateY(-8px);
		box-shadow: 0 28px 52px rgba(12, 21, 38, 0.28);
	}

	/* The portrait itself stays put; the image inside is wiped in (no sideways slide, so no overflow). */
	.rc-leader.rc-ceo-wait .rc-ceo-photo {
		opacity: 1;
		transform: none;
	}

	.rc-leader.rc-ceo-wait .rc-ceo-photo img {
		clip-path: inset(0 100% 0 0);
		filter: grayscale(1) brightness(0.7);
		transition: none;
	}

	.rc-about-leaders > .rc-leader:nth-child(odd).rc-ceo-wait .rc-ceo-photo img {
		clip-path: inset(0 0 0 100%);
	}

	.rc-leader.rc-ceo-wait .rc-ceo-photo::after {
		clip-path: inset(0 100% 100% 0);
	}

	.rc-about-leaders > .rc-leader:nth-child(odd).rc-ceo-wait .rc-ceo-photo::after {
		clip-path: inset(0 0 100% 100%);
	}

	.rc-leader:not(.rc-ceo-wait) .rc-ceo-photo::after {
		transition-duration: 1.4s;
		transition-delay: 0.6s;
	}

	/* Quote mark: a bigger, slower pop with a little turn. */
	.rc-leader.rc-ceo-wait .rc-ceo-quote::before {
		transform: scale(0.2) rotate(-12deg);
	}

	.rc-leader:not(.rc-ceo-wait) .rc-ceo-quote::before {
		transition: opacity 0.9s ease, transform 1.1s cubic-bezier(0.2, 0.7, 0.2, 1);
	}

	/* Words: the paragraph is shown, each word rises in turn. */
	.rc-leader .rc-ceo-quote p.rc-words,
	.rc-leader.rc-ceo-wait .rc-ceo-quote p.rc-words {
		opacity: 1;
		transform: none;
	}

	.rc-leader .rc-w {
		display: inline-block;
	}

	.rc-leader.rc-ceo-wait .rc-w {
		opacity: 0;
		transform: translateY(0.6em);
	}

	.rc-leader:not(.rc-ceo-wait) .rc-w {
		transition: opacity 0.7s ease, transform 0.8s cubic-bezier(0.2, 0.7, 0.2, 1);
		transition-delay: calc(0.6s + var(--w, 0) * 0.028s);
	}

	/* Name and title slide up after the words; the brass rule grows longer. */
	.rc-leader .rc-ceo-name::before {
		width: 5rem;
	}

	.rc-leader:not(.rc-ceo-wait) .rc-ceo-name { transition-delay: 1.6s; }
	.rc-leader:not(.rc-ceo-wait) .rc-ceo-role { transition-delay: 1.8s; }
	.rc-leader:not(.rc-ceo-wait) .rc-ceo-name::before { transition-delay: 1.7s; transition-duration: 1s; }
}

/* About page headings, larger (owner, 23 Oct). Scoped to the About page's own sections. */
.rc-about-welcome .rc-welcome-text .rc-eyebrow {
	font-size: clamp(2rem, 0.8rem + 3.2vw, 3rem);
	letter-spacing: 0.08em;
	line-height: 1.15;
	margin-bottom: 1rem;
}

.rc-about-leaders .rc-leaders-head > .rc-eyebrow {
	font-size: clamp(1.25rem, 0.9rem + 1.1vw, 1.75rem);
	margin-bottom: 0.6rem;
}

.rc-about-leaders .rc-leaders-head > h2 {
	font-size: clamp(2rem, 1rem + 2.5vw, 2.85rem);
	line-height: 1.15;
}

.rc-who-panel h2 {
	font-size: clamp(1.95rem, 1rem + 2.5vw, 2.85rem);
}

/* CEO message (26 Oct): one leader only. Centred title with a brass rule, a larger portrait, and the message set bigger. */
.rc-ceo-single .rc-leaders-head {
	text-align: center;
	margin-bottom: clamp(2.25rem, 5vw, 4rem);
}

.rc-ceo-single .rc-leaders-head > h2::after {
	content: "";
	display: block;
	width: 3.5rem;
	height: 3px;
	margin: 1rem auto 0;
	background: var(--wp--preset--color--accent-1);
}

.rc-ceo-single .rc-leader .rc-ceo-photo {
	max-width: 23rem;
}

.rc-ceo-single .rc-ceo-quote {
	padding-top: 4.5rem;
}

.rc-ceo-single .rc-ceo-quote::before {
	font-size: 8rem;
}

.rc-ceo-single .rc-ceo-quote p {
	font-size: clamp(1.2rem, 0.9rem + 1vw, 1.65rem);
	line-height: 1.6;
	color: var(--wp--preset--color--accent-2);
}

.rc-ceo-single .rc-ceo-name {
	font-size: 1.5rem;
}

@media (max-width: 781px) {
	.rc-ceo-single .rc-leader .rc-ceo-photo {
		max-width: 17rem;
	}

	.rc-ceo-single .rc-ceo-quote {
		padding-top: 3.75rem;
	}

	.rc-ceo-single .rc-ceo-quote::before {
		font-size: 6rem;
	}
}

/* Mission: four navy cards on the light section (it sits between the sand CEO band and the dark vision photo).
   Each card has a round brass icon, the title, the text and a large faint number in the corner; hovering
   lifts the card and a brass line grows along its top edge. */
.rc-about-mission > .rc-eyebrow,
.rc-about-mission > h2 {
	text-align: center;
	margin-inline: auto;
}

.rc-mission-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(1.25rem, 2.4vw, 2rem);
	margin-top: clamp(2rem, 4vw, 3rem);
	counter-reset: rc-mission;
}

.rc-mission-grid > .rc-mission-item {
	--rc-pad-x: 1.75rem;
	--rc-pad-y: 2rem;
	position: relative;
	box-sizing: border-box;
	margin-block: 0;
	padding: var(--rc-pad-y) var(--rc-pad-x) calc(var(--rc-pad-y) + 0.25rem);
	overflow: hidden;
	counter-increment: rc-mission;
	text-align: left;
	color: var(--wp--preset--color--base);
	background:
		linear-gradient(var(--wp--preset--color--accent-1), var(--wp--preset--color--accent-1)) top left / 0 4px no-repeat,
		linear-gradient(rgba(176, 141, 87, 0.45), rgba(176, 141, 87, 0.45)) top left / 100% 2px no-repeat,
		var(--wp--preset--color--accent-2);
	box-shadow: 0 10px 28px rgba(12, 21, 38, 0.16);
	transition: transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.35s ease, background-size 0.5s ease;
}

.rc-mission-grid > .rc-mission-item:hover {
	transform: translateY(-8px);
	box-shadow: 0 22px 44px rgba(12, 21, 38, 0.28);
	background-size: 100% 4px, 100% 2px, auto;
}

.rc-mission-item::before {
	content: "";
	display: block;
	box-sizing: border-box;
	width: 4.5rem;
	height: 4.5rem;
	margin: 0 0 1.25rem;
	border: 1px solid var(--wp--preset--color--accent-1);
	border-radius: 50%;
	background: rgba(176, 141, 87, 0.12);
	box-shadow: 0 0 0 5px rgba(176, 141, 87, 0.14);
}

.rc-mission-item::after {
	content: "";
	position: absolute;
	top: calc(var(--rc-pad-y) + 1.125rem);
	left: calc(var(--rc-pad-x) + 1.125rem);
	width: 2.25rem;
	height: 2.25rem;
	background: var(--wp--preset--color--accent-1);
	-webkit-mask: var(--rc-icon) center / contain no-repeat;
	mask: var(--rc-icon) center / contain no-repeat;
}

.rc-mission-item h3 {
	margin: 0 0 0.6rem;
	font-size: clamp(1.1rem, 1.4vw, 1.3rem);
	font-weight: 700;
	line-height: 1.25;
	color: inherit;
}

/* The big faint number sits in the card's top right corner. */
.rc-mission-item h3::before {
	content: counter(rc-mission, decimal-leading-zero);
	position: absolute;
	top: 1.1rem;
	right: 1.25rem;
	font-size: 3.75rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.02em;
	color: rgba(176, 141, 87, 0.28);
	pointer-events: none;
}

.rc-mission-item p {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.6;
	color: rgba(250, 248, 243, 0.82);
}

@media (min-width: 600px) and (max-width: 1099px) {
	.rc-mission-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 599px) {
	.rc-mission-grid {
		grid-template-columns: 1fr;
	}
}

/* Cards rise in one after another (site.js adds rc-reveal / rc-in; a keyframe animation is used so the
   hover lift is not slowed by the stagger delay). */
@media (prefers-reduced-motion: no-preference) {
	.rc-mission-grid > .rc-mission-item.rc-reveal {
		opacity: 1;
		transform: none;
		transition: transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.35s ease, background-size 0.5s ease;
		transition-delay: 0ms;
	}

	.rc-mission-grid > .rc-mission-item.rc-reveal:not(.rc-in) {
		opacity: 0;
	}

	.rc-mission-grid > .rc-mission-item.rc-reveal.rc-in {
		animation: rc-rise 0.85s cubic-bezier(0.2, 0.7, 0.2, 1) var(--rc-delay, 0ms) backwards;
	}

	.rc-mission-grid > .rc-mission-item.rc-reveal.rc-in:hover {
		transform: translateY(-8px);
	}
}

.rc-mission-icon-returns { --rc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M14.8 9.2c-.6-.8-1.6-1.2-2.8-1.2-1.7 0-2.8.9-2.8 2.1 0 3 5.6 1.4 5.6 4.1 0 1.2-1.1 2.1-2.8 2.1-1.2 0-2.2-.4-2.8-1.2M12 6.5V8M12 16v1.5'/%3E%3C/svg%3E"); }
.rc-mission-icon-hotels { --rc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 21h20'/%3E%3Cpath d='M4 21V5l8-2v18'/%3E%3Cpath d='M12 9l8 2v10'/%3E%3Cpath d='M7 8h2M7 12h2M7 16h2M15 14h2M15 17.5h2'/%3E%3C/svg%3E"); }
.rc-mission-icon-guests { --rc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5l2.6 5.3 5.9.9-4.3 4.1 1 5.8L12 16.9 6.8 19.6l1-5.8L3.5 9.7l5.9-.9z'/%3E%3C/svg%3E"); }
.rc-mission-icon-teams { --rc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Cpath d='M3 20c0-3.5 2.7-6 6-6s6 2.5 6 6'/%3E%3Ccircle cx='17' cy='9' r='2.4'/%3E%3Cpath d='M17 14c2.5 0 4.5 2 4.5 5'/%3E%3C/svg%3E"); }

/* Vision: the photo with a frosted panel on it. The photo stays put on desktop; touch screens scroll it normally. */
.rc-about-vision {
	padding: clamp(3rem, 8vw, 6rem) var(--rc-side);
	color: var(--wp--preset--color--base);
}

.rc-vision-panel {
	box-sizing: border-box;
	max-width: 44rem;
	margin-inline: auto;
	padding: clamp(2rem, 5vw, 3.5rem);
	border: 1px solid var(--wp--preset--color--accent-1);
	background: rgba(12, 21, 38, 0.78);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	text-align: center;
	color: var(--wp--preset--color--base);
}

.rc-vision-panel h2 {
	margin: 0 0 0.75rem;
	font-size: clamp(1.9rem, 3.8vw, 3rem);
	font-weight: 700;
	color: inherit;
}

.rc-vision-panel > p {
	margin: 0;
}

.rc-vision-panel .rc-vision-tagline {
	margin-bottom: 1.25rem;
	font-size: 1.1rem;
	font-style: italic;
	color: var(--wp--preset--color--accent-1);
}

.rc-vision-panel .rc-vision-statement {
	font-size: clamp(1.1rem, 1.8vw, 1.4rem);
	line-height: 1.6;
}

@media (hover: none) {
	.rc-about-vision .has-parallax,
	.rc-about-vision.has-parallax {
		background-attachment: scroll;
	}
}

/* Mission and vision (24 Oct): "facing pages" on deep navy. A thin brass line divides two halves (Our mission,
   Our vision); the three numbered values sit beneath. The centre line and the numbers 01-03 are drawn here, not
   typed. Below 782px everything stacks and the line becomes a short horizontal rule between the two halves. */
.rc-mv .rc-mv-head {
	margin-bottom: clamp(2.75rem, 6vw, 5rem);
	text-align: center;
}

.rc-mv .rc-mv-head > .rc-eyebrow {
	margin-bottom: 0.6rem;
	font-size: clamp(1.25rem, 0.9rem + 1.1vw, 1.75rem);
}

.rc-mv .rc-mv-head > h2 {
	margin: 0;
	font-size: clamp(2rem, 1rem + 2.5vw, 2.85rem);
	line-height: 1.15;
}

.rc-mv .rc-mv-head > .rc-lead {
	margin: 0.9rem 0 0;
}

.rc-mv .rc-mv-grid {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.rc-mv .rc-mv-grid::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 1px;
	background: var(--wp--preset--color--accent-1);
	transform-origin: top center;
}

.rc-mv .rc-mv-grid > .rc-mv-half {
	margin: 0;
	padding-block: clamp(0.5rem, 2vw, 1.5rem);
}

.rc-mv .rc-mv-mission {
	padding-inline: 0 clamp(2rem, 6vw, 5.5rem);
}

.rc-mv .rc-mv-vision {
	padding-inline: clamp(2rem, 6vw, 5.5rem) 0;
}

.rc-mv .rc-mv-half > .rc-eyebrow {
	margin: 0 0 1.4rem;
	font-size: 0.9rem;
	letter-spacing: 0.16em;
}

.rc-mv .rc-mv-statement {
	margin: 0;
	font-size: clamp(1.45rem, 0.9rem + 1.5vw, 2.05rem);
	font-weight: 600;
	line-height: 1.32;
}

.rc-mv .rc-mv-values {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(1.5rem, 3vw, 3rem);
	margin-top: clamp(3.5rem, 7vw, 6rem);
	counter-reset: rc-mv;
}

.rc-mv .rc-mv-values > .rc-eyebrow {
	grid-column: 1 / -1;
	margin: 0;
	font-size: 0.9rem;
	letter-spacing: 0.16em;
}

.rc-mv .rc-mv-values > .rc-mv-pillar {
	position: relative;
	margin: 0;
	padding-top: 4.4rem;
	counter-increment: rc-mv;
}

.rc-mv .rc-mv-pillar::before {
	content: "";
	position: absolute;
	top: 0;
	inset-inline: 0;
	height: 1px;
	background: var(--wp--preset--color--accent-1);
	transform-origin: left center;
}

.rc-mv .rc-mv-pillar::after {
	content: counter(rc-mv, decimal-leading-zero);
	content: counter(rc-mv, decimal-leading-zero) / "";
	position: absolute;
	top: 1.35rem;
	inset-inline-start: 0;
	font-size: 1.5rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1;
	color: var(--wp--preset--color--accent-1);
}

.rc-mv .rc-mv-pillar h3 {
	margin: 0 0 0.6rem;
	font-size: clamp(1.3rem, 1rem + 0.8vw, 1.65rem);
	font-weight: 700;
}

.rc-mv .rc-mv-pillar p {
	margin: 0;
	opacity: 0.82;
}

[dir="rtl"] .rc-mv .rc-mv-pillar::before {
	transform-origin: right center;
}

@media (max-width: 781px) {
	.rc-mv .rc-mv-grid {
		grid-template-columns: 1fr;
	}

	/* The line is a grid item here, sitting between the two halves. */
	.rc-mv .rc-mv-grid::before {
		position: static;
		order: 1;
		width: 4.5rem;
		height: 1px;
		margin-block: clamp(1.75rem, 6vw, 2.5rem);
		transform-origin: left center;
	}

	.rc-mv .rc-mv-mission { order: 0; }
	.rc-mv .rc-mv-vision { order: 2; }

	.rc-mv .rc-mv-mission,
	.rc-mv .rc-mv-vision {
		padding-inline: 0;
	}

	.rc-mv .rc-mv-values {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	[dir="rtl"] .rc-mv .rc-mv-grid::before {
		transform-origin: right center;
	}
}

/* Motion. site.js wraps the statement words and adds rc-mv-wait (to the band, and to the values row); when
   they scroll into view it is removed and the transitions below play. No class, no script, or reduced
   motion: everything is simply shown. */
@media (prefers-reduced-motion: no-preference) {
	.rc-mv .rc-mvw {
		display: inline-block;
	}

	/* Fill with ink: words go from faint to full ivory as the statement scrolls up the screen (--p, 0 to 1). */
	.rc-mv .rc-mv-words .rc-mvwi {
		opacity: clamp(0.35, calc(0.35 + 0.65 * (var(--p, 0) * (var(--n, 1) + 4) - var(--w, 0)) / 4), 1);
	}

	/* Drift (desktop only): the two halves move at slightly different speeds while scrolling. */
	@media (min-width: 782px) {
		.rc-mv .rc-mv-mission { translate: 0 var(--rc-mvd, 0px); }
		.rc-mv .rc-mv-vision { translate: 0 var(--rc-mvd2, 0px); }
	}

	/* Shown (after the wait class is removed): the transitions. */
	.rc-mv:not(.rc-mv-wait) .rc-mv-grid::before {
		transition: transform 1.4s cubic-bezier(0.5, 0, 0.2, 1);
	}

	.rc-mv:not(.rc-mv-wait) .rc-mv-half {
		transition: clip-path 1.3s cubic-bezier(0.5, 0, 0.2, 1);
	}

	.rc-mv:not(.rc-mv-wait) .rc-mv-mission { transition-delay: 0.5s; }
	.rc-mv:not(.rc-mv-wait) .rc-mv-vision { transition-delay: 0.75s; }

	.rc-mv:not(.rc-mv-wait) .rc-mv-half .rc-mvw {
		transition: opacity 0.7s ease, transform 0.8s cubic-bezier(0.2, 0.7, 0.2, 1);
		transition-delay: calc(0.95s + var(--w, 0) * 0.03s);
	}

	.rc-mv:not(.rc-mv-wait) .rc-mv-vision .rc-mvw {
		transition-delay: calc(1.2s + var(--w, 0) * 0.03s);
	}

	/* Waiting (before the band is on screen). */
	.rc-mv.rc-mv-wait .rc-mv-grid::before {
		transform: scaleY(0);
	}

	.rc-mv.rc-mv-wait .rc-mv-mission {
		clip-path: inset(0 0 0 100%);
	}

	.rc-mv.rc-mv-wait .rc-mv-vision {
		clip-path: inset(0 100% 0 0);
	}

	[dir="rtl"] .rc-mv.rc-mv-wait .rc-mv-mission {
		clip-path: inset(0 100% 0 0);
	}

	[dir="rtl"] .rc-mv.rc-mv-wait .rc-mv-vision {
		clip-path: inset(0 0 0 100%);
	}

	.rc-mv.rc-mv-wait .rc-mv-half .rc-mvw {
		opacity: 0;
		transform: translateY(0.6em);
	}

	.rc-mv:not(.rc-mv-wait) .rc-mv-half {
		clip-path: inset(0);
	}

	@media (max-width: 781px) {
		.rc-mv.rc-mv-wait .rc-mv-grid::before {
			transform: scaleX(0);
		}

		/* One column: each half is uncovered from the top down. */
		.rc-mv.rc-mv-wait .rc-mv-mission,
		.rc-mv.rc-mv-wait .rc-mv-vision,
		[dir="rtl"] .rc-mv.rc-mv-wait .rc-mv-mission,
		[dir="rtl"] .rc-mv.rc-mv-wait .rc-mv-vision {
			clip-path: inset(0 0 100% 0);
		}
	}

	/* Values: each top line draws, then the number and the text rise. */
	.rc-mv-values:not(.rc-mv-wait) .rc-mv-pillar::before {
		transition: transform 1s cubic-bezier(0.5, 0, 0.2, 1);
		transition-delay: calc(var(--k, 0) * 0.18s);
	}

	.rc-mv-values:not(.rc-mv-wait) .rc-mv-pillar::after,
	.rc-mv-values:not(.rc-mv-wait) .rc-mv-pillar h3,
	.rc-mv-values:not(.rc-mv-wait) .rc-mv-pillar p {
		transition: opacity 0.7s ease, transform 0.8s cubic-bezier(0.2, 0.7, 0.2, 1);
	}

	.rc-mv-values:not(.rc-mv-wait) .rc-mv-pillar::after { transition-delay: calc(0.45s + var(--k, 0) * 0.18s); }
	.rc-mv-values:not(.rc-mv-wait) .rc-mv-pillar h3 { transition-delay: calc(0.6s + var(--k, 0) * 0.18s); }
	.rc-mv-values:not(.rc-mv-wait) .rc-mv-pillar p { transition-delay: calc(0.75s + var(--k, 0) * 0.18s); }

	.rc-mv-values.rc-mv-wait .rc-mv-pillar::before {
		transform: scaleX(0);
	}

	.rc-mv-values.rc-mv-wait .rc-mv-pillar::after,
	.rc-mv-values.rc-mv-wait .rc-mv-pillar h3,
	.rc-mv-values.rc-mv-wait .rc-mv-pillar p {
		opacity: 0;
		transform: translateY(18px);
	}

	.rc-mv-values .rc-mv-pillar:nth-of-type(1) { --k: 0; }
	.rc-mv-values .rc-mv-pillar:nth-of-type(2) { --k: 1; }
	.rc-mv-values .rc-mv-pillar:nth-of-type(3) { --k: 2; }
}

/* ---------- Touch-ups 2026-10-30: brass top strip, smaller logo, Aura-style type ---------- */

/* Type: headings in Playfair Display, menu, buttons and the top line in Lato (both self-hosted, assets/fonts).
   Arabic keeps the system Arabic stack, since neither font has Arabic letters. */
.wp-site-blocks :is(h1, h2, h3, h4, h5, h6),
.wp-site-blocks .wp-block-post-title {
	font-family: var(--wp--preset--font-family--playfair-display);
	font-weight: 500 !important; /* beats the 600/700 set on single headings above */
}

.rc-header .wp-block-navigation,
.rc-header .wp-block-site-title,
.rc-topbar,
.rc-menu-extra,
.wp-site-blocks :is(.wp-block-button__link, .wp-element-button, .rc-menu-cta, .wpcf7-submit) {
	font-family: var(--wp--preset--font-family--lato);
}

html[lang^="ar"] .wp-site-blocks :is(h1, h2, h3, h4, h5, h6),
html[lang^="ar"] .wp-site-blocks .wp-block-post-title,
html[lang^="ar"] .rc-header .wp-block-navigation,
html[lang^="ar"] .rc-header .wp-block-site-title,
html[lang^="ar"] .rc-topbar,
html[lang^="ar"] .rc-menu-extra,
html[lang^="ar"] .wp-site-blocks :is(.wp-block-button__link, .wp-element-button, .rc-menu-cta, .wpcf7-submit) {
	font-family: "Segoe UI", Tahoma, "Noto Sans Arabic", "Geeza Pro", Arial, sans-serif;
}

/* Top strip (phone, email, languages): the brass of the "Who We Are" heading, slimmer, navy text.
   The header below it stays deep navy as before. */
.rc-topbar {
	background: var(--wp--preset--color--accent-1);
	color: var(--wp--preset--color--accent-2);
	border-bottom: 0;
	padding-block: 0.05rem;
	font-size: 0.72rem;
}

.rc-topbar .rc-lang a {
	color: var(--wp--preset--color--accent-2);
}

.rc-topbar .rc-lang a:hover,
.rc-topbar .rc-lang a.is-current {
	border-color: var(--wp--preset--color--accent-2);
	color: var(--wp--preset--color--accent-2);
}

/* Logo about 20% smaller (56px to 45px on desktop; 3.5rem to 2.8rem on phones). */
.rc-header .wp-block-site-logo img {
	width: 45px !important;
	height: auto;
}

@media (max-width: 781px) {
	.rc-header .wp-block-site-logo img {
		width: auto !important;
		height: 2.8rem;
	}

	.rc-topbar {
		padding-block: 0;
	}

	/* The language line is a slim strip, still wider than the 24px touch minimum. */
	.rc-topbar .rc-lang a {
		min-height: 25px;
		line-height: 25px;
		padding-block: 0;
	}
}

@media (max-height: 500px) and (orientation: landscape) {
	.rc-header .wp-block-site-logo img {
		width: auto !important;
		height: 2rem;
	}
}

/* Home "Hotels We Operate": View Property and Book Now side by side. Book Now is left out by the
   plugin while the hotel has no booking link. */
.rc-spot .rc-spot-actions {
	align-items: center;
	gap: 0.75rem;
	margin-top: 0.75rem;
}

.rc-spot .rc-spot-actions .wp-block-read-more {
	margin-top: 0;
}

.rc-spot .rc-spot-book {
	margin: 0;
}

.rc-spot .rc-spot-book .wp-block-button__link {
	padding: 0.8rem 1.4rem;
	background: var(--wp--preset--color--accent-2);
	color: var(--wp--preset--color--base);
	border-radius: 2px;
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: var(--rc-case);
}

.rc-spot .rc-spot-book .wp-block-button__link:hover {
	background: var(--wp--preset--color--contrast);
}
