.rr-skip-link {
	position: fixed;
	top: 8px;
	left: 8px;
	z-index: 200;
	padding: 10px 14px;
	transform: translateY(-160%);
	background: var(--rr-paper);
	color: var(--rr-ink);
	font-size: 13px;
}

.rr-skip-link:focus {
	transform: translateY(0);
}

.rr-button {
	display: inline-flex;
	min-height: clamp(44px, 3.6vw, 46px);
	align-items: center;
	justify-content: center;
	padding: clamp(12px, 1.2vw, 15px) clamp(22px, 2.4vw, 30px);
	border: 0;
	background: var(--rr-ink);
	color: var(--rr-paper);
	font-size: clamp(11px, 1vw, 12px);
	font-weight: 400;
	letter-spacing: 0.2em;
	line-height: 1.4;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color 0.3s ease, color 0.3s ease;
}

.rr-button:hover {
	background: var(--rr-charcoal);
}

.rr-button--outline {
	border: 1px solid var(--rr-stone);
	background: transparent;
	color: var(--rr-mist);
}

.rr-button--outline:hover {
	background: var(--rr-stone);
	color: var(--rr-ink);
}

.rr-text-link {
	display: inline-block;
	padding-bottom: 5px;
	border-bottom: 1px solid var(--rr-stone);
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.2em;
	line-height: 1.4;
	text-decoration: none;
	text-transform: uppercase;
}

.rr-entry {
	width: 100%;
	max-width: var(--rr-max);
	margin-inline: auto;
	padding: var(--rr-section-medium) var(--rr-gutter);
}

.rr-entry__header,
.rr-entry__content {
	max-width: 900px;
}

.rr-entry__title {
	margin: 0;
}

.rr-entry__content {
	margin-top: 32px;
}

.rr-entry__content > :first-child {
	margin-top: 0;
}

.rr-entry__content > :last-child {
	margin-bottom: 0;
}

.rr-search-form {
	max-width: 620px;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	background: transparent;
}

.rr-search-form label {
	flex: 1 1 260px;
}

.rr-search-form input[type="search"] {
	width: 100%;
	min-height: 48px;
	padding: 12px 16px;
	border: 1px solid var(--rr-rule);
	background: var(--rr-paper);
	color: var(--rr-ink);
}

.rr-search-form .rr-button {
	flex: 0 0 auto;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus {
	top: 8px;
	left: 8px;
	z-index: 200;
	width: auto;
	height: auto;
	padding: 10px 14px;
	margin: 0;
	overflow: visible;
	clip: auto;
	background: var(--rr-paper);
	color: var(--rr-ink);
	white-space: normal;
}

.js .rr-reveal {
	opacity: 0;
	transform: translateY(8px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}

.js .rr-reveal.is-visible {
	opacity: 1;
	transform: none;
}

.rr-scroll {
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	scroll-behavior: smooth;
	scrollbar-width: none;
	touch-action: pan-x pan-y pinch-zoom;
	-webkit-overflow-scrolling: touch;
}

.rr-scroll::-webkit-scrollbar {
	height: 0;
}

.rr-hero__media {
	position: relative;
	background: var(--rr-sand);
	overflow: hidden;
}

.rr-hero__track {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.rr-hero__track::-webkit-scrollbar {
	height: 0;
}

.rr-hero__slide {
	flex: 0 0 100%;
	height: clamp(440px, 64vh, 780px);
	margin: 0;
	scroll-snap-align: start;
}

.rr-hero__media--exely .rr-hero__slide {
	height: var(--rr-exely-hero-height);
}

.rr-hero__slide picture,
.rr-hero__asset {
	width: 100%;
	height: 100%;
}

.rr-hero__asset {
	object-fit: cover;
}

.rr-hero__overlay {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.rr-hero__coordinates {
	position: absolute;
	top: 24px;
	right: var(--rr-gutter);
	margin: 0;
	color: var(--rr-paper);
	font-size: 10px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

.rr-booking-bar,
.rr-exely-search {
	position: absolute;
	left: var(--rr-gutter);
	right: var(--rr-gutter);
	bottom: 16px;
	margin: 0;
	pointer-events: auto;
}

.rr-booking-bar {
	display: flex;
	flex-wrap: wrap;
	gap: 1px;
	background: rgba(38, 38, 31, 0.14);
}

.rr-exely-search {
	left: 50%;
	right: auto;
	width: min(1276px, calc(100% - (2 * clamp(12px, 1vw, 20px))));
	max-width: none;
	margin-inline: 0;
	transform: translateX(-50%);
	background: var(--rr-paper);
	outline: 1px solid var(--rr-stone);
	outline-offset: -1px;
}

.rr-exely-search--global {
	position: relative;
	left: auto;
	right: auto;
	bottom: auto;
	width: calc(100% - (2 * var(--rr-gutter)));
	max-width: 1276px;
	margin-top: clamp(16px, 2vw, 24px);
	margin-inline: auto;
	transform: none;
}

.rr-exely-search .be-container {
	min-width: 0;
	padding: 0 clamp(8px, 1.2vw, 16px);
}

.rr-exely-search__loading {
	min-height: 74px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	color: var(--rr-slate);
	font-size: 11px;
	letter-spacing: 0.16em;
	text-align: center;
	text-transform: uppercase;
}

.rr-exely-search iframe {
	display: block;
	max-width: 100%;
	filter: contrast(1.1) brightness(0.95);
}

.rr-exely-search .rr-booking-bar--fallback {
	position: relative;
	left: auto;
	right: auto;
	bottom: auto;
}

.rr-booking-enquiry--hero {
	position: absolute;
	left: var(--rr-gutter);
	right: var(--rr-gutter);
	bottom: 16px;
	display: flex;
	justify-content: center;
	pointer-events: auto;
}

.rr-booking-enquiry--global {
	display: flex;
	justify-content: flex-end;
	width: calc(100% - (2 * var(--rr-gutter)));
	max-width: 1276px;
	margin: clamp(16px, 2vw, 24px) auto 0;
}

.rr-booking-enquiry .rr-button {
	width: min(100%, 280px);
	justify-content: center;
	text-align: center;
}

.rr-booking-enquiry--hero .rr-button {
	width: min(100%, 320px);
}

.rr-booking-bar__field {
	flex: 1 1 150px;
	min-width: 0;
	min-height: 52px;
	display: flex;
	align-items: baseline;
	gap: 10px;
	padding: 11px 20px;
	background: rgba(247, 245, 240, 0.94);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

.rr-booking-bar__field--guests {
	flex: 1 1 100px;
	max-width: 170px;
}

.rr-booking-bar label {
	color: var(--rr-stone);
	font-size: 10px;
	font-weight: 400;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.rr-booking-bar input,
.rr-booking-bar select {
	min-width: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--rr-charcoal);
	font-size: 13.5px;
	line-height: 1.4;
}

.rr-booking-bar input {
	flex: 1;
}

.rr-booking-bar button {
	flex: 1 1 170px;
	max-width: 210px;
	min-height: 52px;
	padding: 0 18px;
	border: 0;
	background: var(--rr-ink);
	color: var(--rr-paper);
	font-size: 11px;
	font-weight: 400;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.rr-booking-bar__status {
	position: absolute;
	left: 0;
	bottom: calc(100% + 8px);
	max-width: 520px;
	margin: 0;
	padding: 8px 12px;
	background: var(--rr-paper);
	color: var(--rr-ink);
	font-size: 12px;
}

.rr-booking-bar__status:empty {
	display: none;
}

.rr-booking-page__header {
	max-width: 900px;
	padding-top: clamp(48px, 6vw, 88px);
	padding-bottom: clamp(28px, 4vw, 48px);
	text-align: center;
}

.rr-booking-page__header h1 {
	margin: 0;
}

.rr-booking-page__intro {
	max-width: 660px;
	margin: 24px auto 0;
	color: var(--rr-slate);
}

.rr-booking-page__intro > :first-child,
.rr-booking-page__intro > :last-child {
	margin-block: 0;
}

.rr-booking-page__engine {
	padding-bottom: var(--rr-section-medium);
}

.rr-exely-booking {
	width: 100%;
	max-width: 1216px;
	min-height: 240px;
	margin: 0 auto;
	background: var(--rr-paper);
}

.rr-exely-booking iframe {
	display: block;
	max-width: 100%;
}

.rr-exely-booking__loading {
	min-height: 240px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: clamp(24px, 4vw, 48px);
	color: var(--rr-slate);
	font-size: 11px;
	letter-spacing: 0.16em;
	text-align: center;
	text-transform: uppercase;
}

.rr-booking-page__enquiry {
	display: flex;
	justify-content: center;
	padding: clamp(24px, 4vw, 48px);
	background: var(--rr-paper);
}

.rr-exely-booking__fallback,
.rr-booking-page__noscript {
	margin: 0;
	padding: clamp(24px, 4vw, 48px);
	border: 1px solid var(--rr-rule);
	background: var(--rr-paper);
	color: var(--rr-slate);
}

.rr-exely-booking__fallback a,
.rr-booking-page__noscript a {
	color: var(--rr-ink);
	text-underline-offset: 4px;
}

#tl-booking-cart {
	z-index: 1 !important;
}

.rr-hero__controls {
	position: absolute;
	left: var(--rr-gutter);
	bottom: 16px;
	display: flex;
	gap: 1px;
}

.rr-hero__controls button {
	width: 44px;
	height: 44px;
	border: 0;
	background: var(--rr-paper);
	color: var(--rr-ink);
}

.rr-hero__caption {
	max-width: 900px;
	padding-top: clamp(36px, 4vw, 60px);
	padding-bottom: clamp(36px, 4vw, 60px);
	text-align: center;
}

.rr-hero__caption--story {
	max-width: 1320px;
}

.rr-hero__caption-header {
	max-width: 900px;
	margin: 0 auto;
}

.rr-hero__heading {
	margin: 14px 0 0;
}

.rr-hero__body {
	max-width: 780px;
	margin: clamp(26px, 3.5vw, 44px) auto 0;
	padding-top: clamp(22px, 2.8vw, 34px);
	border-top: 1px solid var(--rr-rule);
	color: var(--rr-slate);
	font-size: clamp(15px, 1.35vw, 18px);
	line-height: 1.75;
	text-align: center;
}

.rr-hero__story {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 400px), 1fr));
	align-items: center;
	gap: clamp(30px, 5vw, 74px);
}

.rr-hero__caption--story .rr-hero__story {
	margin-top: clamp(34px, 4.5vw, 62px);
	padding-top: clamp(22px, 2.8vw, 34px);
	border-top: 1px solid var(--rr-rule);
	text-align: left;
}

.rr-hero__story-media {
	min-width: 0;
	margin: 0;
}

.rr-hero__caption--image-right .rr-hero__story {
	direction: rtl;
}

.rr-hero__story-media picture,
.rr-hero__story-image {
	display: block;
	width: 100%;
}

.rr-hero__story-image {
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: filter 0.55s var(--rr-ease), transform 0.7s var(--rr-ease);
}

.rr-hero__story-media figcaption {
	margin-top: 12px;
	color: var(--rr-stone);
	font-size: 10px;
	letter-spacing: 0.14em;
	line-height: 1.6;
	text-transform: uppercase;
}

.rr-hero__story-copy {
	min-width: 0;
}

.rr-hero__story-media,
.rr-hero__story-copy {
	direction: ltr;
}

.rr-hero__caption--story .rr-hero__body {
	max-width: 620px;
	margin: 0;
	padding-top: 0;
	border-top: 0;
	font-size: clamp(15px, 1.3vw, 18px);
	text-align: left;
}

.rr-hero__body > :first-child,
.rr-text-intro__body > :first-child {
	margin-top: 0;
}

.rr-hero__body > :last-child,
.rr-text-intro__body > :last-child {
	margin-bottom: 0;
}

.rr-hero__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 22px;
	margin-top: clamp(28px, 3.2vw, 38px);
}

.rr-hero__actions .rr-button {
	padding: clamp(12px, 1.3vw, 16px) clamp(22px, 2.5vw, 32px);
}

.rr-hero__caption--story .rr-hero__actions {
	justify-content: flex-start;
}

.rr-text-intro__inner {
	max-width: 660px;
}

.rr-text-intro--wide .rr-text-intro__inner {
	max-width: 900px;
}

.rr-text-intro h2 {
	margin: 12px 0 0;
}

.rr-reviews__header h2 {
	margin: 0;
}

.rr-reviews__header .rr-eyebrow,
.rr-section-heading .rr-eyebrow {
	margin: 0;
}

.rr-reviews__header .rr-eyebrow + h2,
.rr-section-heading .rr-eyebrow + h2 {
	margin-top: 12px;
}

.rr-text-intro__body {
	margin-top: 24px;
	color: var(--rr-slate);
}

.rr-section-heading {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	padding-bottom: 22px;
	border-bottom: 1px solid var(--rr-rule);
}

.rr-section-heading h2 {
	margin: 0;
}

.rr-room-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: var(--rr-gap);
	margin-top: var(--rr-gap);
}

.rr-room-card__link {
	display: block;
	text-decoration: none;
}

.rr-room-card__media {
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--rr-sand);
}

.rr-room-card__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.9s var(--rr-ease);
}

.rr-room-card__link:hover .rr-room-card__image,
.rr-room-card__link:focus-visible .rr-room-card__image {
	transform: scale(1.06);
}

.rr-room-card__content {
	padding-top: 20px;
}

.rr-room-card__title {
	margin: 0;
}

.rr-room-card__count {
	margin: 8px 0 0;
}

.rr-room-card__blurb {
	margin: 12px 0 0;
	color: var(--rr-slate);
	font-size: 13.5px;
	line-height: 1.7;
}

.rr-room-card__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 18px;
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
}

.rr-room-card__tags li {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--rr-slate);
	font-size: 12px;
}

.rr-room-card__cta {
	margin-top: 24px;
}

.rr-archive-hero,
.rr-room-hero {
	position: relative;
	overflow: hidden;
	background: var(--rr-sand);
}

.rr-archive-hero,
.rr-room-hero {
	height: clamp(420px, 58vw, 900px);
}

.rr-archive-hero picture,
.rr-room-hero picture,
.rr-archive-hero__image,
.rr-room-hero__image {
	width: 100%;
	height: 100%;
}

.rr-archive-hero__image,
.rr-room-hero__image {
	object-fit: cover;
}

.rr-room-hero__track {
	position: absolute;
	inset: 0;
	display: flex;
	scroll-snap-type: x mandatory;
}

.rr-room-hero__slide {
	flex: 0 0 100%;
	height: 100%;
	scroll-snap-align: start;
}

.rr-room-hero__slide picture {
	display: block;
}

.rr-room-hero__control {
	position: absolute;
	top: 50%;
	z-index: 2;
	width: 46px;
	height: 46px;
	border: 0;
	transform: translateY(-50%);
	background: var(--rr-paper);
	color: var(--rr-ink);
	font-size: 20px;
}

.rr-room-hero__control--previous {
	left: 16px;
}

.rr-room-hero__control--next {
	right: 16px;
}

.rr-archive-hero--has-media::after,
.rr-room-hero--has-media::after,
.rr-room-cross-nav__link--has-media::after {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(to top, rgba(20, 19, 15, 0.78), rgba(20, 19, 15, 0.15) 55%, transparent);
	content: "";
}

.rr-archive-hero__content,
.rr-room-hero__content {
	position: absolute;
	right: 0;
	bottom: clamp(32px, 5vw, 64px);
	left: 0;
	z-index: 1;
}

.rr-archive-hero__content h1,
.rr-room-hero__content h1 {
	max-width: 900px;
	margin: 10px 0 0;
}

.rr-archive-hero--has-media .rr-archive-hero__content,
.rr-room-hero--has-media .rr-room-hero__content {
	color: var(--rr-paper);
}

.rr-archive-hero--has-media .rr-eyebrow {
	color: var(--rr-sand);
}

.rr-room-hero__content p {
	margin: 14px 0 0;
	font-size: 12px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

.rr-room-hero__content {
	pointer-events: none;
}

.rr-archive-intro {
	padding-bottom: 0;
}

.rr-archive-intro__body {
	max-width: 660px;
	font-family: var(--rr-serif);
	font-size: clamp(28px, 3.4vw, 44px);
	font-weight: 300;
	line-height: 1.05;
}

.rr-archive-intro__body > :first-child {
	margin-top: 0;
}

.rr-archive-intro__body > :last-child {
	margin-bottom: 0;
}

.rr-room-list {
	display: grid;
	gap: 2px;
}

.rr-room-card--archive {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 2px;
	background: var(--rr-paper);
}

.rr-room-card--archive .rr-room-card__media {
	min-height: clamp(240px, 32vw, 420px);
	aspect-ratio: auto;
}

.rr-room-card--archive .rr-room-card__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(28px, 4vw, 56px);
}

.rr-room-card__title-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 20px;
}

.rr-room-card--archive .rr-room-card__title {
	font-size: clamp(28px, 3.4vw, 42px);
}

.rr-room-card--archive .rr-room-card__title a {
	text-decoration: none;
}

.rr-room-card--archive .rr-room-card__count {
	flex: none;
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.rr-room-card--archive .rr-room-card__blurb {
	max-width: 480px;
	margin-top: 18px;
	font-size: 15px;
	line-height: 1.8;
}

.rr-room-card--archive .rr-room-card__tags {
	gap: 14px 26px;
	margin-top: 22px;
}

.rr-room-card--archive .rr-room-card__tags li {
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.rr-room-card__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px;
	margin-top: 30px;
}

.rr-room-details__booking {
	padding: clamp(12px, 1.3vw, 16px) clamp(24px, 2.7vw, 34px);
}

.rr-room-details__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	align-items: start;
	gap: clamp(36px, 4.5vw, 68px);
}

.rr-room-details__intro h2 {
	margin: 0;
	font-size: clamp(28px, 3.4vw, 44px);
}

.rr-room-details__copy {
	margin-top: clamp(30px, 3.2vw, 42px);
	color: var(--rr-slate);
}

.rr-room-details__copy > :first-child {
	margin-top: 0;
}

.rr-room-details__copy > :last-child {
	margin-bottom: 0;
}

.rr-room-details__booking {
	margin-top: 32px;
}

.rr-room-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 1px;
	margin: clamp(36px, 5vw, 64px) 0 0;
	padding: 0;
	background: var(--rr-rule);
	list-style: none;
}

.rr-room-tags li {
	flex: 1 1 180px;
	min-height: 64px;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 18px;
	background: var(--rr-mist);
	font-size: 13px;
}

.rr-room-amenities {
	margin-top: 0;
}

.rr-room-amenities > .rr-eyebrow {
	margin: 0 0 8px;
}

.rr-room-amenities__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
	column-gap: clamp(22px, 3vw, 40px);
	row-gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.rr-room-amenity {
	display: grid;
	grid-template-columns: 24px 1fr;
	align-items: center;
	gap: 13px;
	min-height: 58px;
	padding: 13px 0;
	border-top: 1px solid var(--rr-rule-soft);
}

.rr-room-amenity > .rr-icon,
.rr-room-amenity > .rr-amenity-icon-image {
	width: 24px;
	height: 24px;
	object-fit: contain;
}

.rr-room-amenity h3 {
	margin: 0;
	font-family: var(--rr-sans);
	font-size: 14.5px;
	font-weight: 400;
	line-height: 1.35;
}

.rr-room-gallery {
	overflow: hidden;
	padding-top: 0;
}

.rr-room-gallery__header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: var(--rr-gap);
}

.rr-room-gallery__header h2 {
	margin: 0;
}

.rr-slider-controls {
	display: flex;
	gap: 1px;
	background: var(--rr-rule);
}

.rr-slider-controls button {
	width: 44px;
	height: 44px;
	border: 0;
	background: var(--rr-paper);
	color: var(--rr-ink);
}

.rr-slider-controls [data-slider-autoplay-toggle] {
	width: auto;
	min-width: 84px;
	padding-inline: 14px;
	font-size: 10px;
	font-weight: 400;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.rr-slider-controls [data-slider-visible-status] {
	min-width: 54px;
	height: 44px;
	display: grid;
	place-items: center;
	margin: 0;
	background: var(--rr-paper);
	color: var(--rr-stone);
	font-size: 11px;
	letter-spacing: 0.08em;
}

.rr-room-gallery__track {
	display: flex;
	gap: 2px;
	padding-left: max(var(--rr-gutter), calc((100vw - var(--rr-max)) / 2 + var(--rr-gutter)));
	scroll-padding-left: max(var(--rr-gutter), calc((100vw - var(--rr-max)) / 2 + var(--rr-gutter)));
	scroll-snap-type: x mandatory;
}

.rr-room-gallery__slide {
	flex: 0 0 clamp(260px, 46%, 540px);
	aspect-ratio: 4 / 3;
	margin: 0;
	scroll-snap-align: start;
	scroll-snap-stop: always;
	background: var(--rr-sand);
}

.rr-room-gallery__slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rr-room-cross-nav__link {
	position: relative;
	min-height: clamp(300px, 36vw, 520px);
	display: flex;
	align-items: center;
	overflow: hidden;
	background: var(--rr-sand);
	color: var(--rr-ink);
	text-decoration: none;
}

.rr-room-cross-nav__link--has-media {
	color: var(--rr-paper);
}

.rr-room-cross-nav__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.9s var(--rr-ease);
}

.rr-room-cross-nav__link:hover .rr-room-cross-nav__image,
.rr-room-cross-nav__link:focus-visible .rr-room-cross-nav__image {
	transform: scale(1.06);
}

.rr-room-cross-nav__content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.rr-room-cross-nav__link--has-media .rr-eyebrow {
	color: var(--rr-sand);
}

.rr-room-cross-nav__content strong {
	margin-top: 0;
	font-family: var(--rr-serif);
	font-size: clamp(38px, 6vw, 82px);
	font-weight: 300;
	line-height: 0.98;
}

.rr-room-cross-nav__content .rr-text-link {
	margin-top: 28px;
}

.rr-dining-feature {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
	background: var(--rr-ink);
	color: var(--rr-mist);
}

.rr-dining-feature__media {
	min-height: clamp(320px, 44vw, 560px);
	background: var(--rr-stone);
}

.rr-dining-feature__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rr-dining-feature--image-right .rr-dining-feature__media {
	order: 2;
}

.rr-dining-feature__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	padding: clamp(36px, 5vw, 72px);
}

.rr-dining-feature__content h2 {
	margin: 0;
}

.rr-dining-feature__content .rr-eyebrow,
.rr-location__content .rr-eyebrow {
	margin: 0;
}

.rr-dining-feature__content .rr-eyebrow + h2,
.rr-location__content .rr-eyebrow + h2 {
	margin-top: 14px;
}

.rr-dining-feature__content > div {
	max-width: 560px;
	margin-top: 22px;
	color: var(--rr-sand);
}

.rr-dining-feature__content .rr-text-link {
	margin-top: 32px;
	color: var(--rr-mist);
}

.rr-location__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	align-items: stretch;
	gap: var(--rr-gap-large);
}

.rr-location__map {
	position: relative;
	min-height: clamp(320px, 34vw, 480px);
	border: 1px solid var(--rr-rule);
	background: var(--rr-sand);
}

.rr-location__map img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rr-location__map iframe {
	display: block;
	width: 100%;
	height: 100%;
	min-height: inherit;
	border: 0;
}

.no-js .rr-location__map--has-fallback iframe {
	display: none;
}

.rr-location__map > span {
	position: absolute;
	z-index: 1;
	bottom: 16px;
	left: 16px;
	padding: 6px 10px;
	background: var(--rr-paper);
	font-size: 10px;
	letter-spacing: 0.18em;
	pointer-events: none;
	text-transform: uppercase;
}

.rr-location__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.rr-location__content h2 {
	margin: 0;
}

.rr-section-intro h2 {
	margin: 14px 0 0;
}

.rr-location__content > div,
.rr-section-intro > div {
	margin-top: 22px;
	color: var(--rr-slate);
}

.rr-location dl {
	margin: 28px 0 0;
}

.rr-location dl div {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	padding: 11px 0;
	border-bottom: 1px solid var(--rr-rule-soft);
}

.rr-location dt,
.rr-location dd {
	margin: 0;
}

.rr-location dd {
	color: var(--rr-slate);
}

.rr-location__content .rr-button {
	align-self: flex-start;
	margin-top: 32px;
	padding: clamp(12px, 1.3vw, 16px) clamp(22px, 2.5vw, 32px);
}

.rr-experience-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: var(--rr-gap);
	margin-top: var(--rr-gap);
}

.rr-experience-card__media {
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--rr-sand);
}

.rr-experience-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.9s var(--rr-ease);
}

.rr-experience-card:hover img,
.rr-experience-card:focus-within img {
	transform: scale(1.06);
}

.rr-experience-card__content {
	padding: clamp(22px, 2.4vw, 30px);
	background: var(--rr-paper);
}

.rr-experience-card h3 {
	margin: 18px 0 0;
}

.rr-experience-card p {
	margin: 10px 0 0;
	color: var(--rr-slate);
	font-size: 13.5px;
}

.rr-experience-card .rr-text-link {
	margin-top: 18px;
	padding-bottom: 4px;
	font-size: 11px;
}

.rr-section-intro {
	max-width: 660px;
}

.rr-venue-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 2px;
	margin-top: clamp(32px, 4vw, 56px);
}

.rr-venue-card {
	position: relative;
	min-height: clamp(400px, 46vw, 580px);
	overflow: hidden;
	background: var(--rr-sand);
}

.rr-venue-card > img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.9s var(--rr-ease);
}

.rr-venue-card:hover > img,
.rr-venue-card:focus-within > img {
	transform: scale(1.06);
}

.rr-venue-card__scrim {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(20, 19, 15, 0.78), rgba(20, 19, 15, 0.15) 55%, transparent);
}

.rr-venue-card__content {
	position: relative;
	min-height: clamp(400px, 46vw, 580px);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: clamp(24px, 2.4vw, 36px);
	color: var(--rr-paper);
}

.rr-venue-card__number {
	font-family: var(--rr-serif);
	font-size: clamp(20px, 1.8vw, 26px);
}

.rr-venue-card .rr-eyebrow {
	color: var(--rr-sand);
}

.rr-venue-card h3 {
	margin: 10px 0 0;
	font-size: clamp(28px, 3vw, 42px);
}

.rr-venue-card__short {
	max-width: 320px;
	margin: 12px 0 0;
	font-size: 13.5px;
	line-height: 1.65;
}

.rr-venue-card button.rr-text-link {
	margin-top: 18px;
	padding: 0 0 4px;
	border-width: 0 0 1px;
	background: transparent;
	color: inherit;
}

.js .rr-no-js-only {
	display: none;
}

.no-js [data-modal-trigger],
.no-js [data-slider-prev],
.no-js [data-slider-next],
.no-js [data-slider-autoplay-toggle] {
	display: none;
}

.rr-no-js-only {
	margin-top: 18px;
}

.rr-facility-list {
	display: grid;
	gap: 2px;
	margin-top: var(--rr-gap-large);
}

.rr-facility {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	background: var(--rr-paper);
}

.rr-facility__media {
	min-height: clamp(280px, 36vw, 500px);
	background: var(--rr-sand);
}

.rr-facility__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rr-facility__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	padding: clamp(28px, 4vw, 56px);
}

.rr-facility__content h3 {
	margin: 18px 0 0;
	font-size: clamp(28px, 3.4vw, 44px);
}

.rr-facility__content p {
	max-width: 520px;
	margin: 18px 0 0;
	color: var(--rr-slate);
}

.rr-gallery-grid h2 {
	margin: 0 0 var(--rr-gap);
}

.rr-gallery-grid__items {
	columns: 280px 3;
	column-gap: 2px;
}

.rr-gallery-grid__items figure {
	margin: 0 0 2px;
	break-inside: avoid;
	background: var(--rr-sand);
}

.rr-gallery-grid__link {
	display: block;
	overflow: hidden;
	cursor: zoom-in;
}

.rr-gallery-grid__items img {
	width: 100%;
	transition: transform 0.9s var(--rr-ease);
}

.rr-gallery-grid__link:hover img,
.rr-gallery-grid__link:focus-visible img {
	transform: scale(1.06);
}

.rr-lightbox {
	position: fixed;
	inset: 0;
	z-index: 130;
	display: grid;
	grid-template-rows: auto minmax(0, 1fr) auto;
	gap: clamp(12px, 2vw, 24px);
	padding: clamp(16px, 3vw, 40px);
	background: rgba(20, 19, 15, 0.94);
	color: var(--rr-mist);
	backdrop-filter: blur(3px);
}

.rr-lightbox[hidden] {
	display: none;
}

.rr-lightbox__top {
	display: flex;
	justify-content: flex-end;
}

.rr-lightbox__close {
	min-width: 44px;
	min-height: 44px;
	padding: 0;
	border: 0;
	border-bottom: 1px solid var(--rr-stone);
	background: transparent;
	color: var(--rr-mist);
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.rr-lightbox__stage {
	position: relative;
	min-width: 0;
	min-height: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	touch-action: pan-y;
}

.rr-lightbox__figure {
	width: 100%;
	height: 100%;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding-inline: clamp(0px, 7vw, 84px);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 14px;
}

.rr-lightbox__figure img {
	width: auto;
	max-width: 100%;
	max-height: calc(100vh - 190px);
	object-fit: contain;
}

.rr-lightbox__caption {
	max-width: 760px;
	color: var(--rr-sand);
	font-size: 13px;
	line-height: 1.6;
	text-align: center;
}

.rr-lightbox__nav {
	position: absolute;
	top: 50%;
	z-index: 1;
	width: clamp(44px, 5vw, 64px);
	min-height: 64px;
	padding: 0;
	border: 1px solid rgba(199, 188, 163, 0.3);
	background: transparent;
	color: var(--rr-mist);
	font-size: 20px;
	transform: translateY(-50%);
	transition: background-color 0.3s ease, color 0.3s ease;
}

.rr-lightbox__nav--previous {
	left: 0;
}

.rr-lightbox__nav--next {
	right: 0;
}

.rr-lightbox__nav:hover:not(:disabled) {
	background: var(--rr-stone);
	color: var(--rr-ink);
}

.rr-lightbox__nav:disabled {
	cursor: default;
	opacity: 0.35;
}

.rr-lightbox__status {
	margin: 0;
	color: var(--rr-stone);
	font-size: 11px;
	letter-spacing: 0.18em;
	text-align: center;
	text-transform: uppercase;
}

.rr-image-strip {
	overflow: hidden;
}

.rr-image-strip__controls {
	display: flex;
	justify-content: flex-end;
	gap: 1px;
	margin-bottom: 16px;
}

.rr-image-strip__controls button {
	width: 44px;
	height: 44px;
	border: 1px solid var(--rr-rule);
	background: var(--rr-paper);
	color: var(--rr-ink);
}

.rr-image-strip__track {
	display: flex;
	gap: 2px;
	padding-left: var(--rr-gutter);
	scroll-snap-type: x mandatory;
}

.rr-image-strip__track figure {
	flex: 0 0 clamp(260px, 44vw, 620px);
	aspect-ratio: 4 / 3;
	margin: 0;
	scroll-snap-align: start;
	background: var(--rr-sand);
}

.rr-image-strip__track img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rr-cta-band--mist {
	background: var(--rr-mist);
}

.rr-cta-band--sand {
	background: var(--rr-sand);
}

.rr-cta-band--ink {
	background: var(--rr-ink);
	color: var(--rr-mist);
}

.rr-cta-band .rr-container {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--rr-gap);
}

.rr-cta-band h2 {
	margin: 0;
}

.rr-cta-band .rr-container > div > div {
	max-width: 660px;
	margin-top: 18px;
}

.rr-modal {
	position: fixed;
	inset: 0;
	z-index: 120;
	padding: var(--rr-gutter);
	overflow-y: auto;
	background: rgba(20, 19, 15, 0.62);
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
}

.rr-modal__panel {
	position: relative;
	width: min(960px, 100%);
	margin: 4vh auto;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	background: var(--rr-mist);
	animation: rr-modal-in 0.35s var(--rr-ease) both;
}

.rr-modal__close {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 1;
	min-width: 44px;
	min-height: 44px;
	border: 0;
	background: var(--rr-paper);
	color: var(--rr-ink);
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.rr-modal__media {
	min-height: 360px;
	background: var(--rr-sand);
}

.rr-modal__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rr-modal__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(36px, 5vw, 72px);
}

.rr-modal__content h2 {
	margin: 12px 0 0;
}

.rr-modal__content > div {
	margin-top: 22px;
	color: var(--rr-slate);
}

.rr-modal__content .rr-meta {
	margin-top: 24px;
}

.rr-modal__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 28px;
}

.rr-modal__actions .rr-button--light-outline {
	padding: clamp(12px, 1.15vw, 14px) clamp(22px, 2.3vw, 29px);
}

@keyframes rr-modal-in {
	from {
		opacity: 0;
		transform: translateY(8px);
	}

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

.rr-reviews .rr-container {
	padding-top: var(--rr-section-medium);
	border-top: 1px solid var(--rr-rule);
}

.rr-reviews__header {
	margin-bottom: clamp(32px, 4vw, 56px);
}

.rr-reviews__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: var(--rr-gap-large);
}

.rr-review {
	margin: 0;
}

.rr-review blockquote {
	margin: 0;
}

.rr-review blockquote p {
	margin: 0;
	font-family: var(--rr-serif);
	font-size: clamp(20px, 2vw, 27px);
	font-weight: 300;
	line-height: 1.35;
}

.rr-review figcaption {
	margin-top: 22px;
	color: var(--rr-stone);
	font-size: 11px;
	letter-spacing: 0.2em;
	line-height: 1.5;
	text-transform: uppercase;
}

.rr-archive-hero__scrim {
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, rgba(38, 38, 31, 0.1), rgba(38, 38, 31, 0.55));
}

.rr-button--light-outline {
	border: 1px solid var(--rr-ink);
	background: transparent;
	color: var(--rr-ink);
}

.rr-button--light-outline:hover {
	background: var(--rr-ink);
	color: var(--rr-paper);
}

.rr-dining-intro {
	text-align: center;
}

.rr-dining-intro__copy {
	max-width: 960px;
	margin-inline: auto;
	font-family: var(--rr-serif);
	font-size: clamp(24px, 3vw, 36px);
	line-height: 1.4;
}

.rr-dining-intro__copy > :first-child,
.rr-dining-intro__copy > :last-child {
	margin-block: 0;
}

.rr-dining-intro__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 18px;
	margin-top: clamp(32px, 4vw, 44px);
}

.rr-dining-intro--gallery-next {
	padding-bottom: clamp(40px, 5vw, 72px);
}

.rr-dining-intro--gallery-next + .rr-dining-gallery {
	padding-top: 0;
}

.rr-dining-hours__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2px;
}

.rr-dining-hours__item {
	padding: clamp(24px, 3vw, 40px);
	border: 1px solid var(--rr-rule);
}

.rr-dining-hours__item p {
	margin: 0;
}

.rr-dining-hours__item p:last-child {
	margin-top: 10px;
	font-family: var(--rr-serif);
	font-size: clamp(22px, 2vw, 28px);
	line-height: 1.1;
}

.rr-dining-gallery {
	padding-bottom: var(--rr-section-small);
}

.rr-dining-gallery__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 2px;
}

.rr-dining-gallery figure {
	aspect-ratio: 1;
	margin: 0;
	overflow: hidden;
	background: var(--rr-sand);
}

.rr-dining-gallery img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rr-venues {
	padding-top: var(--rr-section-small);
}

.rr-venues .rr-section-intro h2 {
	margin: 16px 0 0;
}

.rr-route-list__intro {
	max-width: 720px;
	margin: 0;
	font-family: var(--rr-serif);
	font-size: clamp(22px, 2.6vw, 32px);
	line-height: 1.4;
}

.rr-page-display {
	padding-top: clamp(48px, 6vw, 104px);
	padding-bottom: clamp(36px, 4vw, 64px);
}

.rr-page-display h1 {
	margin: 16px 0 0;
	font-size: clamp(44px, 7vw, 88px);
}

.rr-page-display__intro {
	max-width: 640px;
	margin-top: 28px;
	font-size: 16px;
}

.rr-page-display__intro > :first-child,
.rr-page-display__intro > :last-child {
	margin-block: 0;
}

.rr-collection-page,
.rr-gallery-page {
	padding-bottom: var(--rr-section-medium);
}

.rr-experience-grid--archive {
	margin-top: 0;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 2px;
}

.rr-offer-list {
	display: grid;
	gap: 2px;
}

.rr-offer-list--preview {
	grid-template-columns: repeat(var(--rr-offer-preview-columns), minmax(0, 1fr));
	grid-auto-flow: var(--rr-offer-preview-auto-flow);
	grid-auto-columns: var(--rr-offer-preview-auto-columns);
	gap: var(--rr-gap);
	margin-top: var(--rr-gap);
	overflow-x: var(--rr-offer-preview-overflow);
	padding-bottom: var(--rr-offer-preview-padding-bottom);
	scroll-snap-type: var(--rr-offer-preview-scroll-snap);
	overscroll-behavior-inline: contain;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
}

.rr-offer-list--preview.rr-offer-list--count-2 {
	--rr-offer-preview-columns: 2;
}

.rr-offer-list--preview.rr-offer-list--count-1 {
	--rr-offer-preview-columns: 1;
}

.rr-offers-preview__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 14px;
}

.rr-offers-preview__controls {
	flex: none;
}

.rr-offer-list--slider {
	display: flex;
	overflow-x: auto;
	padding-bottom: 8px;
	scroll-snap-type: x mandatory;
}

.rr-offer-list--slider > .rr-offer-card--preview {
	flex: 0 0 var(--rr-offer-slider-card-width);
}

.rr-offer-card {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	background: var(--rr-paper);
}

.rr-offer-card__media {
	min-height: clamp(200px, 26vw, 340px);
	overflow: hidden;
	background: var(--rr-sand);
}

.rr-offer-card--preview {
	min-width: 0;
	grid-template-columns: 1fr;
	scroll-snap-align: start;
}

.rr-offer-card--preview .rr-offer-card__media {
	min-height: 0;
	aspect-ratio: 4 / 3;
}

.rr-offer-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.9s var(--rr-ease);
}

.rr-offer-card:hover .rr-offer-card__media img,
.rr-offer-card:focus-within .rr-offer-card__media img {
	transform: scale(1.06);
}

.rr-offer-card__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	padding: clamp(28px, 4vw, 56px);
}

.rr-offer-card h2,
.rr-offer-card h3 {
	margin: 12px 0 0;
	font-size: clamp(28px, 3.4vw, 42px);
}

.rr-offer-card--preview .rr-offer-card__content {
	justify-content: flex-start;
	padding: clamp(24px, 3vw, 38px);
}

.rr-offer-card--preview h3 {
	font-size: clamp(25px, 2.6vw, 34px);
}

.rr-offer-card__content > p:not(.rr-eyebrow) {
	max-width: 460px;
	margin: 16px 0 0;
	color: var(--rr-slate);
}

.rr-offer-card .rr-button {
	margin-top: 28px;
}

.rr-contact__grid {
	display: grid;
	grid-template-columns: var(--rr-contact-columns, minmax(250px, 0.68fr) minmax(0, 1.32fr));
	gap: clamp(40px, 6vw, 88px);
}

.rr-contact h1 {
	margin: 16px 0 0;
}

.rr-contact__list {
	margin-top: clamp(32px, 4vw, 52px);
	border-top: 1px solid var(--rr-rule);
}

.rr-contact__list > div {
	padding: 20px 0;
	border-bottom: 1px solid var(--rr-rule-soft);
}

.rr-contact__list .rr-eyebrow,
.rr-contact__list div,
.rr-contact__list a {
	margin-block: 0;
}

.rr-contact__list .rr-eyebrow + * {
	display: inline-block;
	margin-top: 8px;
	font-size: 16px;
	line-height: 1.6;
}

.rr-contact__list .rr-contact__phones {
	display: grid;
	gap: 4px;
}

.rr-contact__intro {
	margin-bottom: 24px;
	color: var(--rr-slate);
}

.rr-form-grid,
.rr-contact .wpcf7-form {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
	gap: 20px;
}

.rr-field,
.rr-contact .wpcf7-form > p {
	margin: 0;
}

.rr-form-grid > *,
.rr-contact .wpcf7-form .rr-field {
	min-width: 0;
}

.rr-contact .wpcf7-form .rr-field > p {
	margin: 0;
}

/* Remove line breaks added by Contact Form 7's automatic paragraph formatting. */
.rr-contact .wpcf7-form .rr-field label > br,
.rr-contact .wpcf7-form .rr-field label + br {
	display: none;
}

.rr-field--wide {
	grid-column: 1 / -1;
}

.rr-contact .wpcf7-form > .rr-form-grid {
	grid-column: 1 / -1;
	width: 100%;
}

.rr-field > span,
.rr-contact .wpcf7-form label > span:first-child {
	display: block;
	margin-bottom: 8px;
	color: var(--rr-stone);
	font-size: 11px;
	font-weight: 400;
	letter-spacing: 0.16em;
	line-height: 1.4;
	text-transform: uppercase;
}

.rr-contact .wpcf7-form label {
	display: block;
}

.rr-contact .wpcf7-form .rr-field-hint {
	display: block;
	margin: 9px 0 0;
	color: var(--rr-slate);
	font-size: 12px;
	letter-spacing: 0;
	line-height: 1.5;
	text-transform: none;
}

.rr-contact .rr-form-required {
	margin: 0;
	color: var(--rr-stone);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.rr-form input,
.rr-form select,
.rr-form textarea,
.rr-contact .wpcf7-form input:not([type="submit"]),
.rr-contact .wpcf7-form select,
.rr-contact .wpcf7-form textarea {
	width: 100%;
	min-height: 50px;
	padding: 14px 16px;
	border: 1px solid rgba(38, 38, 31, 0.24);
	background: var(--rr-paper);
	color: var(--rr-ink);
}

.rr-form textarea,
.rr-contact .wpcf7-form textarea {
	min-height: 120px;
	resize: vertical;
}

.rr-form input:focus,
.rr-form select:focus,
.rr-form textarea:focus,
.rr-contact .wpcf7-form input:focus,
.rr-contact .wpcf7-form select:focus,
.rr-contact .wpcf7-form textarea:focus {
	border-color: var(--rr-ink);
}

/*
 * iOS Safari 26 incorrectly adds a padded date input's inline padding to its
 * declared 100% width. Put the visual padding and border on CF7's stable
 * wrapper so the native date control remains usable without overflowing.
 */
.rr-contact .wpcf7-form .wpcf7-form-control-wrap[data-name="expected-arrival"],
.rr-contact .wpcf7-form .wpcf7-form-control-wrap[data-name="expected-departure"] {
	display: block;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	padding: 0 16px;
	border: 1px solid rgba(38, 38, 31, 0.24);
	background: var(--rr-paper);
}

.rr-contact .wpcf7-form .wpcf7-form-control-wrap[data-name="expected-arrival"]:focus-within,
.rr-contact .wpcf7-form .wpcf7-form-control-wrap[data-name="expected-departure"]:focus-within {
	border-color: var(--rr-ink);
}

.rr-contact .wpcf7-form input[type="date"][name="expected-arrival"],
.rr-contact .wpcf7-form input[type="date"][name="expected-departure"] {
	display: block;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	min-height: 48px;
	padding: 0;
	border: 0;
	background: transparent;
}

.rr-form--preview input:disabled,
.rr-form--preview textarea:disabled,
.rr-form--preview button:disabled {
	cursor: not-allowed;
	opacity: 0.72;
}

.rr-form-status {
	margin: 20px 0 0;
	color: var(--rr-slate);
	font-size: 13px;
}

.rr-form-fallback-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px;
	margin-top: 22px;
}

.rr-contact .wpcf7-submit {
	min-height: clamp(44px, 3.9vw, 50px);
	padding: clamp(12px, 1.35vw, 17px) clamp(22px, 3.15vw, 40px);
	border: 0;
	background: var(--rr-ink);
	color: var(--rr-paper);
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.rr-contact .wpcf7-form .rr-phone-field {
	display: block;
}

.rr-contact .iti {
	width: 100%;
	font-size: 15px;
	letter-spacing: 0;
	text-transform: none;
}

.rr-contact .iti__selected-country {
	min-width: 92px;
	padding-inline: 14px 10px;
	border-right: 1px solid var(--rr-rule);
	background: var(--rr-sand);
}

.rr-contact .iti__selected-dial-code {
	color: var(--rr-ink);
	font-family: var(--rr-sans);
	font-size: 14px;
}

.rr-contact .iti__arrow {
	margin-left: 8px;
	border-top-color: var(--rr-ink);
}

.rr-contact .iti__country-container,
.rr-contact .iti__dropdown-content {
	border-radius: 0;
	box-shadow: none;
}

.rr-contact .iti__dropdown-content {
	min-width: min(380px, calc(100vw - (2 * var(--rr-gutter))));
	border: 1px solid var(--rr-rule);
	background: var(--rr-paper);
}

.rr-contact .wpcf7-form input.iti__search-input,
.iti--fullscreen-popup input.iti__search-input,
.iti--detached-country-selector input.iti__search-input {
	margin: 0;
	padding-right: 44px;
	padding-left: 48px;
	border-width: 0 0 1px;
	border-color: var(--rr-rule);
	background: var(--rr-mist);
}

.rr-contact .iti__country {
	min-height: 44px;
	padding: 10px 14px;
	color: var(--rr-ink);
	font-size: 14px;
	letter-spacing: 0;
	text-transform: none;
}

.rr-contact .iti__country.iti__highlight,
.rr-contact .iti__country:hover {
	background: var(--rr-sand);
}

.rr-contact .iti__dial-code {
	color: var(--rr-slate);
}

.rr-contact .wpcf7-not-valid-tip {
	display: block;
	margin-top: 7px;
	color: var(--rr-charcoal);
	font-size: 12px;
	letter-spacing: 0;
	line-height: 1.5;
	text-transform: none;
}

.rr-contact .wpcf7-spinner {
	margin: 8px 0 0 14px;
}

.rr-contact .wpcf7-response-output {
	grid-column: 1 / -1;
	margin: 0;
	padding: 14px 16px;
	border: 1px solid var(--rr-rule);
}

.rr-newsletter {
	background: var(--rr-sand);
	color: var(--rr-ink);
	text-align: center;
}

.rr-newsletter__inner {
	max-width: 1100px;
	margin-inline: auto;
	padding: var(--rr-section-medium) var(--rr-gutter);
}

.rr-newsletter .rr-eyebrow {
	color: var(--rr-ink);
}

.rr-newsletter h2 {
	margin: 18px 0 0;
}

.rr-newsletter__body {
	max-width: 460px;
	margin: 16px auto 0;
	color: var(--rr-charcoal);
}

.rr-newsletter__body > :first-child,
.rr-newsletter__body > :last-child {
	margin-block: 0;
}

.rr-newsletter__form {
	max-width: 520px;
	margin: 32px auto 0;
}

.rr-newsletter-form {
	display: grid;
	grid-template-columns: var(--rr-newsletter-columns);
	gap: 2px;
	align-items: stretch;
}

.rr-newsletter .wpcf7-form {
	display: block;
}

.rr-newsletter .wpcf7-form .rr-newsletter-form {
	display: block;
}

.rr-newsletter .wpcf7-form .rr-newsletter-form > p {
	display: grid;
	grid-template-columns: var(--rr-newsletter-columns);
	gap: 2px;
	align-items: stretch;
	margin: 0;
}

.rr-newsletter .wpcf7-form .rr-newsletter-form br {
	display: none;
}

.rr-newsletter .wpcf7-form-control-wrap {
	display: block;
	min-width: 0;
}

.rr-newsletter-form input,
.rr-newsletter .wpcf7-form input[type="email"] {
	display: block;
	width: 100%;
	min-width: 0;
	min-height: 50px;
	padding: 14px 16px;
	border: 1px solid var(--rr-rule);
	background: var(--rr-paper);
}

.rr-newsletter-form .rr-button,
.rr-newsletter .wpcf7-submit {
	width: var(--rr-newsletter-button-width);
	margin: 0;
	min-height: clamp(44px, 3.9vw, 50px);
	padding: clamp(12px, 1.3vw, 16px) clamp(22px, 2.4vw, 30px);
	border: 0;
	background: var(--rr-ink);
	color: var(--rr-paper);
	font-size: clamp(11px, 1vw, 12px);
	font-weight: 400;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.rr-newsletter .wpcf7-spinner {
	grid-column: 1 / -1;
	margin: 8px auto 0;
}

.rr-newsletter .wpcf7-response-output {
	margin: 14px 0 0;
	padding: 12px 14px;
	border: 1px solid var(--rr-rule);
}

.rr-newsletter .wpcf7-list-item {
	display: block;
	width: 100%;
	margin: 14px 0 0;
	font-size: 12px;
	text-align: left;
}

.rr-gallery-page .rr-gallery-grid__items {
	columns: 300px 3;
}

.rr-post-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 2px;
}

.rr-blog-preview .rr-post-grid {
	margin-top: var(--rr-gap);
}

.rr-post-card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	background: var(--rr-paper);
}

.rr-post-card__media {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--rr-sand);
}

.rr-post-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.9s var(--rr-ease);
}

.rr-post-card:hover .rr-post-card__media img,
.rr-post-card:focus-within .rr-post-card__media img {
	transform: scale(1.06);
}

.rr-post-card__content {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: flex-start;
	padding: clamp(24px, 3vw, 36px);
}

.rr-post-card__meta,
.rr-single-post__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	color: var(--rr-stone);
	font-size: 10px;
	letter-spacing: 0.16em;
	line-height: 1.5;
	text-transform: uppercase;
}

.rr-post-card h3 {
	margin: 18px 0 0;
	font-size: clamp(28px, 3vw, 38px);
	line-height: 1.08;
}

.rr-post-card h3 a {
	color: inherit;
	background-image: linear-gradient(currentColor, currentColor);
	background-position: 0 100%;
	background-repeat: no-repeat;
	background-size: 0 1px;
	text-decoration: none;
	transition: background-size 0.45s var(--rr-ease);
}

.rr-post-card:hover h3 a,
.rr-post-card:focus-within h3 a {
	background-size: 100% 1px;
}

.rr-post-card__content > p {
	margin: 16px 0 0;
	color: var(--rr-slate);
	font-size: 13.5px;
	line-height: 1.75;
}

.rr-post-card .rr-text-link {
	margin-top: 24px;
	padding-bottom: 4px;
	font-size: 11px;
}

.rr-post-card__arrow {
	display: inline-block;
	margin-left: 5px;
	transition: transform 0.35s var(--rr-ease);
}

.rr-post-card:hover .rr-post-card__arrow,
.rr-post-card:focus-within .rr-post-card__arrow {
	transform: translateX(4px);
}

.rr-blog-index {
	padding-bottom: var(--rr-section-medium);
}

.rr-blog-index .navigation.pagination {
	margin-top: clamp(36px, 5vw, 64px);
	border-top: 1px solid var(--rr-rule);
}

.rr-blog-index .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 2px;
	padding-top: 20px;
}

.rr-blog-index .page-numbers {
	display: inline-flex;
	min-width: 44px;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	padding: 10px 14px;
	border: 1px solid var(--rr-rule-soft);
	background: var(--rr-paper);
	color: var(--rr-ink);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-decoration: none;
	text-transform: uppercase;
}

.rr-blog-index .page-numbers.current,
.rr-blog-index .page-numbers:hover {
	border-color: var(--rr-ink);
	background: var(--rr-ink);
	color: var(--rr-paper);
}

.rr-single-post__header {
	max-width: 980px;
	padding-top: clamp(52px, 8vw, 120px);
	padding-bottom: clamp(40px, 6vw, 80px);
	text-align: center;
}

.rr-reading-progress {
	--rr-reading-progress: 0;
	position: fixed;
	top: 81px;
	left: 0;
	z-index: 61;
	width: 100%;
	height: 2px;
	overflow: hidden;
	background: var(--rr-rule-soft);
	pointer-events: none;
}

.rr-reading-progress > span {
	display: block;
	width: 100%;
	height: 100%;
	transform: scaleX(var(--rr-reading-progress));
	transform-origin: left center;
	background: var(--rr-stone);
}

.no-js .rr-reading-progress {
	display: none;
}

.rr-single-post__meta {
	justify-content: center;
}

.rr-single-post__header h1 {
	margin: 22px 0 0;
	font-size: clamp(44px, 7vw, 82px);
	line-height: 0.98;
}

.rr-single-post__deck {
	max-width: 720px;
	margin: 28px auto 0;
	color: var(--rr-slate);
	font-family: var(--rr-serif);
	font-size: clamp(20px, 2.5vw, 28px);
	line-height: 1.45;
}

.rr-single-post__hero {
	margin-top: 0;
	margin-bottom: clamp(48px, 7vw, 96px);
}

.rr-single-post__hero img {
	width: 100%;
	max-height: 760px;
	aspect-ratio: 12 / 7;
	object-fit: cover;
}

.rr-single-post__content {
	max-width: 760px;
	margin-inline: auto;
	padding-inline: var(--rr-gutter);
	color: var(--rr-charcoal);
	font-size: clamp(15px, 1.5vw, 17px);
	line-height: 1.9;
}

.rr-single-post__content > :first-child {
	margin-top: 0;
}

.rr-single-post__content > :last-child {
	margin-bottom: 0;
}

.rr-single-post__content h2,
.rr-single-post__content h3 {
	color: var(--rr-ink);
}

.rr-single-post__content h2 {
	margin: clamp(44px, 6vw, 72px) 0 20px;
	font-size: clamp(32px, 4vw, 46px);
}

.rr-single-post__content h3 {
	margin: 40px 0 16px;
	font-size: clamp(24px, 3vw, 32px);
}

.rr-single-post__content a {
	color: var(--rr-ink);
	text-decoration-color: var(--rr-stone);
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
	transition: text-decoration-color 0.25s ease, text-decoration-thickness 0.25s ease;
}

.rr-single-post__content a:hover,
.rr-single-post__content a:focus-visible {
	text-decoration-color: var(--rr-ink);
	text-decoration-thickness: 2px;
}

.rr-single-post__content blockquote {
	margin: clamp(40px, 6vw, 64px) 0;
	padding: 6px 0 6px clamp(22px, 4vw, 42px);
	border-left: 1px solid var(--rr-stone);
	color: var(--rr-ink);
	font-family: var(--rr-serif);
	font-size: clamp(24px, 3.5vw, 36px);
	font-weight: 300;
	line-height: 1.35;
}

.rr-single-post__content img,
.rr-single-post__content .wp-caption {
	max-width: 100%;
	height: auto;
}

.rr-single-post__content .wp-block-image,
.rr-single-post__content .wp-block-gallery,
.rr-article-slideshow {
	margin-top: clamp(40px, 6vw, 64px);
	margin-bottom: clamp(40px, 6vw, 64px);
}

.rr-single-post__content .wp-block-image img {
	display: block;
	width: 100%;
	height: auto;
}

.rr-single-post__content .wp-block-gallery {
	gap: 2px;
}

.rr-single-post__content .wp-block-gallery .wp-block-image img {
	width: 100%;
	height: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.rr-single-post__content .wp-caption-text,
.rr-single-post__content figcaption {
	margin-top: 10px;
	color: var(--rr-stone);
	font-size: 11px;
	letter-spacing: 0.08em;
	line-height: 1.6;
}

.rr-article-slideshow__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--rr-rule);
}

.rr-article-slideshow__header > .rr-eyebrow,
.rr-article-slideshow__position {
	margin: 0;
}

.rr-article-slideshow__controls {
	display: flex;
	align-items: center;
	gap: 1px;
}

.rr-article-slideshow__position {
	min-width: 64px;
	padding-right: 12px;
	color: var(--rr-stone);
	font-size: 10px;
	letter-spacing: 0.16em;
	text-align: right;
}

.rr-article-slideshow__controls button {
	width: 44px;
	height: 44px;
	border: 1px solid var(--rr-rule-soft);
	background: var(--rr-paper);
	color: var(--rr-ink);
	transition: border-color 0.3s ease, background-color 0.3s ease, color 0.3s ease;
}

.rr-article-slideshow__controls button:hover,
.rr-article-slideshow__controls button:focus-visible {
	border-color: var(--rr-ink);
	background: var(--rr-ink);
	color: var(--rr-paper);
}

.rr-article-slideshow__track {
	display: flex;
	gap: 2px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
}

.rr-article-slideshow__slide {
	flex: 0 0 100%;
	margin: 0;
	scroll-snap-align: start;
	background: var(--rr-sand);
}

.rr-article-slideshow__slide img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.rr-article-slideshow__slide figcaption,
.rr-article-slideshow__caption {
	margin: 0;
	padding: 12px 0 0;
	background: var(--rr-mist);
	color: var(--rr-stone);
	font-size: 11px;
	letter-spacing: 0.06em;
	line-height: 1.6;
}

.rr-article-slideshow__caption {
	padding-top: 14px;
}

.rr-article-slideshow__placeholder {
	padding: 24px;
	border: 1px solid var(--rr-rule);
	background: var(--rr-paper);
}

.rr-article-slideshow__placeholder p {
	margin: 8px 0 0;
}

.no-js .rr-article-slideshow__controls {
	display: none;
}

.no-js .rr-article-slideshow__track {
	display: grid;
	overflow: visible;
}

.no-js .rr-article-slideshow__slide {
	width: 100%;
}

.rr-single-post__footer {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 20px;
	margin-top: clamp(48px, 7vw, 88px);
	padding-top: 22px;
	border-top: 1px solid var(--rr-rule);
	color: var(--rr-stone);
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.rr-single-post__footer a {
	color: inherit;
	text-underline-offset: 4px;
}

.rr-post-navigation {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 2px;
	padding-top: clamp(36px, 5vw, 64px);
	padding-bottom: var(--rr-section-medium);
}

.rr-post-navigation > div {
	min-height: 150px;
	padding: clamp(24px, 4vw, 42px);
	border: 1px solid var(--rr-rule-soft);
	background: var(--rr-paper);
	transition: border-color 0.3s ease;
}

.rr-post-navigation > div:hover,
.rr-post-navigation > div:focus-within {
	border-color: var(--rr-stone);
}

.rr-post-navigation .rr-eyebrow {
	display: block;
	margin-bottom: 16px;
}

.rr-post-navigation a {
	color: var(--rr-ink);
	background-image: linear-gradient(currentColor, currentColor);
	background-position: 0 100%;
	background-repeat: no-repeat;
	background-size: 0 1px;
	font-family: var(--rr-serif);
	font-size: clamp(25px, 3vw, 34px);
	font-weight: 300;
	line-height: 1.15;
	text-decoration: none;
	transition: background-size 0.45s var(--rr-ease);
}

.rr-post-navigation > div:hover a,
.rr-post-navigation > div:focus-within a {
	background-size: 100% 1px;
}

@media (prefers-reduced-motion: reduce) {
	.js .rr-reveal {
		opacity: 1;
		transform: none;
	}

	.rr-post-card:hover .rr-post-card__media img,
	.rr-post-card:focus-within .rr-post-card__media img,
	.rr-post-card:hover .rr-post-card__arrow,
	.rr-post-card:focus-within .rr-post-card__arrow {
		transform: none;
	}
}
