@charset "UTF-8";
:root {
  --d--f--gap: 0;
  --gutter-x: 3rem;
  --brand--body-bg-color: white;
  --brand--body-text-color: #333;
  --brand--body-line-height: 1.6;
  --brand--body-font-size: 1rem;
  --brand--input-height: 3rem;
  --brand--btn-height: 3rem;
  /**
  * Easing functions
  * Source: https://easings.net/
  */
  --easeInSine: cubic-bezier(0.47, 0, 0.745, 0.715);
  --easeOutSine: cubic-bezier(0.39, 0.575, 0.565, 1);
  --easeInOutSine: cubic-bezier(0.39, 0.575, 0.565, 1);
  --easeInQuad: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  --easeOutQuad: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --easeInOutQuad: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --easeInCubic: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  --easeOutCubic: cubic-bezier(0.215, 0.61, 0.355, 1);
  --easeInOutCubic: cubic-bezier(0.215, 0.61, 0.355, 1);
  --easeInQuart: cubic-bezier(0.895, 0.03, 0.685, 0.22);
  --easeOutQuart: cubic-bezier(0.165, 0.84, 0.44, 1);
  --easeInOutQuart: cubic-bezier(0.165, 0.84, 0.44, 1);
  --easeInQuint: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  --easeOutQuint: cubic-bezier(0.23, 1, 0.32, 1);
  --easeInOutQuint: cubic-bezier(0.23, 1, 0.32, 1);
  --easeInExpo: cubic-bezier(0.95, 0.05, 0.795, 0.035);
  --easeOutExpo: cubic-bezier(0.19, 1, 0.22, 1);
  --easeInOutExpo: cubic-bezier(0.19, 1, 0.22, 1);
  --easeInCirc: cubic-bezier(0.6, 0.04, 0.98, 0.335);
  --easeOutCirc: cubic-bezier(0.075, 0.82, 0.165, 1);
  --easeInOutCirc: cubic-bezier(0.075, 0.82, 0.165, 1);
  --easeInBack: cubic-bezier(0.6, -0.28, 0.735, 0.045);
  --easeOutBack: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  --easeInOutBack: cubic-bezier(0.68, -0.55, 0.265, 1.55);
  --easeInOutFast: cubic-bezier(1,0,0,1);
  --authenticMotion: cubic-bezier(.4,0,.2,1);
}

@media (min-width: 640px) {
  :root {
    --gutter-x: 4rem;
  }
}
/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Prevent font size inflation */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
  scroll-behavior: smooth;
}

* {
  margin: 0;
  outline: none;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role=list],
ol[role=list] {
  list-style: none;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
  font-optical-sizing: auto;
}

/* Set shorter line heights on headings and interactive elements */
h1,
h2,
h3,
h4,
button,
input,
label {
  line-height: 1.1;
}

/* Balance text wrapping on headings */
h1,
h2,
h3,
h4 {
  text-wrap: balance;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
  color: currentColor;
}

/* Make images easier to work with */
img,
picture,
video,
canvas,
svg {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Make sure textareas without a rows attribute are not tiny */
textarea:not([rows]) {
  min-height: 10em;
}

/* Anything that has been anchored to should have extra scroll margin */
:target {
  scroll-margin-block: 5ex;
}

/* Avoid text overflows */
p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

html {
  scroll-behavior: smooth;
}

img,
svg,
iframe,
embed {
  vertical-align: bottom;
}

address {
  font-style: normal;
}

a {
  color: inherit;
  text-underline-offset: 2px;
}

a:has(> i.icon),
span:has(> i.icon) {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.site-wrapper {
  overflow: hidden;
  width: 100%;
  position: relative;
  z-index: 1;
}

.flickity-viewport {
  overflow: visible;
}

.logo img {
  width: 100%;
  height: auto;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
}

h1, h2, h3, h4, h5, h6,
[class*=__heading],
[class*=-heading],
[class*=heading] {
  line-height: 1.1;
}

a:hover {
  text-decoration: none;
}

.entry-content ol, .entry-content ul:not(.list--contact-links):not(.list--social-links):not(.list--reset):not(.woocommerce-error) {
  display: flex;
  gap: 0.5rem;
  flex-direction: column;
  list-style-type: decimal;
  padding-left: 1rem;
  margin-left: 1rem;
}
.entry-content ol ol {
  list-style-type: lower-alpha;
}
.entry-content ul:not(.list--contact-links):not(.list--social-links):not(.list--reset):not(.woocommerce-error) {
  list-style-type: disc;
}
.entry-content li::marker {
  font-weight: 400;
}
.entry-content > *:not(:last-child):not(blockquote),
.entry-content > blockquote > *:not(:last-child) {
  margin-bottom: 1.2rem;
}
.entry-content strong {
  font-weight: bold;
}
.entry-content a:not(.btn):not([href^="tel:"]):not([href^="mailto:"]):not(.btn):not(.button) {
  text-decoration: underline;
}
.entry-content a:not(.btn):not([href^="tel:"]):not([href^="mailto:"]):not(.btn):not(.button):hover {
  text-decoration: none;
}
.entry-content ul.list {
  list-style: none;
  padding: 0;
  margin: 0;
}

body {
  background-color: var(--brand--body-bg-color);
  color: var(--brand--body-text-color);
  font-family: var(--brand--body-font);
  font-size: var(--brand--body-font-size);
  line-height: var(--brand--body-line-height);
}

.gform_wrapper {
  --gform_fields-gap: 1rem;
}

.gform_wrapper form,
.gform_body,
.gform_fields {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.gform_fields {
  flex-direction: row;
  flex-wrap: wrap;
}

.gfield_label {
  font-weight: bold;
  display: block;
  margin-bottom: 1rem;
  line-height: 1.1;
}

.gfield.gfield_error {
  border-left: 2px solid red;
  padding-left: 1rem;
}

.gfield_validation_message {
  color: red;
  margin-top: 0.5rem;
  font-size: 1.1rem;
}

.hidden_label .gfield_label,
.hide_summary,
.gform_hidden,
.gfield--type-honeypot,
.gfield_visibility_hidden {
  display: none;
}

.gform_drop_area {
  text-align: center;
  background-image: repeating-linear-gradient(45deg, #f9f9f9, #f9f9f9 10px, #fff 10px, #fff 20px);
  border: 1px dashed #ccc;
  padding: 1.5rem;
}
.gform_drop_area path {
  fill: #efefef;
}

.gform_fileupload_rules {
  margin-top: 0.5rem;
  display: block;
  font-size: 0.9rem;
}

.gfield_required_asterisk {
  color: red;
  margin-left: 0.5rem;
}

fieldset.gfield {
  margin: 0;
  padding: 0;
  border: none;
}

select,
input[type=text],
input[type=email],
input[type=number],
input[type=tel],
input[type=password],
textarea {
  height: var(--brand--input-height);
  background-color: #fff;
  border: 1px solid black;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding-left: 1rem;
  padding-right: 1rem;
  font-size: 1.1rem;
  font-weight: normal;
  font-family: var(--brand--body-font);
  width: 100%;
}
select::-moz-placeholder, input[type=text]::-moz-placeholder, input[type=email]::-moz-placeholder, input[type=number]::-moz-placeholder, input[type=tel]::-moz-placeholder, input[type=password]::-moz-placeholder, textarea::-moz-placeholder {
  font-weight: normal;
  color: black;
  opacity: 0.5;
  font-size: 1.1rem;
}
select::placeholder,
input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=number]::placeholder,
input[type=tel]::placeholder,
input[type=password]::placeholder,
textarea::placeholder {
  font-weight: normal;
  color: black;
  opacity: 0.5;
  font-size: 1.1rem;
}

textarea {
  height: auto;
  width: 100%;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

select,
.select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='16'%3E%3Cdefs%3E%3CclipPath id='a'%3E%3Cpath fill='none' d='M-2-1h26v16H-2z' data-name='Rectangle 51'/%3E%3C/clipPath%3E%3C/defs%3E%3Cg clip-path='url(%23a)' data-name='Group 35' transform='translate(2 1)'%3E%3Cpath d='M11.2 14a1.4 1.4 0 0 1-1-.5L.2 2.3A1.4 1.4 0 0 1 2.5.5l8.7 10 8.7-10a1.4 1.4 0 1 1 2.2 1.8l-9.8 11.2a1.4 1.4 0 0 1-1.1.5Z' data-name='Path 136'/%3E%3C/g%3E%3C/svg%3E ");
  background-size: 26px 16px;
  background-position: right 0.8rem center;
  background-repeat: no-repeat;
}

.select {
  cursor: pointer;
}
.select:hover {
  opacity: 0.5;
}

button {
  cursor: pointer;
}

.gpfup__droparea > div {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.gpfup__droparea > div:before {
  content: "";
  display: block;
  width: 73px;
  height: auto;
  aspect-ratio: 73/66;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='73.67' height='66.34'%3E%3Cg fill='%239a55bc'%3E%3Cpath data-name='Path 317' d='M64.4 23.16v-.72A23.02 23.02 0 0 0 40.97 0 23.49 23.49 0 0 0 19.44 13.7 21.85 21.85 0 0 0 0 35.27a21.58 21.58 0 0 0 21.65 21.54h8.41v-4.48h-8.41a17.16 17.16 0 0 1-.56-34.24h1.5l.51-1.41A18.91 18.91 0 0 1 41.05 4.56 18.53 18.53 0 0 1 60.02 22.5a17.39 17.39 0 0 1 0 1.8l-.18 1.6 1.46.68a13.46 13.46 0 0 1-5.7 25.74H43.52v4.48H55.6a17.95 17.95 0 0 0 8.82-33.65Z'/%3E%3Cpath data-name='Path 318' d='M46.4 43.01a2.24 2.24 0 0 0 1.6-3.83L36.8 27.96 25.57 39.17a2.24 2.24 0 0 0 3.16 3.17l5.8-5.72V64.1a2.24 2.24 0 1 0 4.5 0V36.62l5.76 5.76a2.24 2.24 0 0 0 1.6.63Z'/%3E%3C/g%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1rem;
}

.gf-options-inline .gfield_radio {
  display: flex;
  gap: 1rem;
}

.gfield,
.gfield--width-full {
  width: 100%;
}

.gfield--width-half {
  width: 100%;
}
@media (min-width: 640px) {
  .gfield--width-half {
    width: calc(50% - var(--gform_fields-gap) / 2);
  }
}

.gfield--width-third {
  width: 100%;
}
@media (min-width: 640px) {
  .gfield--width-third {
    width: calc(33.333% - var(--gform_fields-gap) * 2 / 3);
  }
}

.gform_required_legend {
  display: none;
}

.gfield--type-date .ginput_complex {
  display: flex;
  gap: 0.5rem;
}
.gfield--type-date .ginput_complex > * {
  flex: 1;
}

.gfield--type-date .ginput_complex {
  display: flex;
  gap: 0.5rem;
}
.gfield--type-date .ginput_complex > * {
  flex: 1;
}
.gfield--type-date .ginput_complex > * > input {
  width: 100%;
}

div#ui-datepicker-div {
  background-color: #e6263b;
  background-color: #011527;
  color: white;
  text-align: center;
  border-color: #011527;
  padding: 0.5rem;
  box-shadow: 1px 3px 0.3rem rgba(0, 0, 0, 0.3);
}

table.ui-datepicker-calendar {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

.ui-datepicker-title {
  display: flex;
  width: 100%;
  gap: 0.5rem;
  justify-content: center;
}

.ui-datepicker-header.ui-widget-header.ui-helper-clearfix.ui-corner-all {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
}

select.ui-datepicker-month,
select.ui-datepicker-year {
  font-size: 0.9rem;
  padding: 0.5rem;
  height: auto;
  width: auto;
  background-size: 0.8rem;
  background-position: 95% center;
  padding-right: 1.5rem;
  flex: 1;
  text-align: center;
}

.ginput_container_date {
  position: relative;
}

img.ui-datepicker-trigger {
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
}

a.ui-datepicker-next,
a.ui-datepicker-prev {
  cursor: pointer;
}

.ui-state-disabled {
  opacity: 0.3;
}

.wrapper {
  position: relative;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: calc(var(--gutter-x) * 0.5);
  padding-right: calc(var(--gutter-x) * 0.5);
  max-width: 100%;
}
@media (min-width: 640px) {
  .wrapper {
    max-width: 600px;
  }
}
@media (min-width: 768px) {
  .wrapper {
    max-width: 720px;
  }
}
@media (min-width: 1024px) {
  .wrapper {
    max-width: 960px;
  }
}
@media (min-width: 1280px) {
  .wrapper {
    max-width: 1200px;
  }
}
@media (min-width: 1536px) {
  .wrapper {
    max-width: 1440px;
  }
}
@media (min-width: calc(1600px + 6rem)) {
  .wrapper {
    max-width: 1600px;
  }
}

.wrapper--fluid {
  position: relative;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: calc(var(--gutter-x) * 0.5);
  padding-right: calc(var(--gutter-x) * 0.5);
  max-width: 1600px;
}

.wrapper--full-width {
  max-width: 100%;
}

.section {
  margin-top: 3rem;
  margin-bottom: 3rem;
}
@media (min-width: 768px) {
  .section {
    margin-top: 6rem;
    margin-bottom: 6rem;
  }
}
.section.inset, .section--inner {
  margin: 0;
  padding-top: 3rem;
  padding-bottom: 3rem;
}
@media (min-width: 768px) {
  .section.inset, .section--inner {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}

._gutter {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
@media (min-width: 640px) {
  ._gutter {
    padding-left: 1.75rem;
    padding-right: 1.75rem;
  }
}
@media (min-width: 768px) {
  ._gutter {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

.btn {
  height: var(--brand--btn-height);
  border-color: black;
  border: none;
  background-color: black;
  color: white;
  display: inline-flex;
  align-items: center;
  padding-left: 0.9rem;
  padding-right: 0.9rem;
}
@media (min-width: 640px) {
  .btn {
    padding-left: 1.2rem;
    padding-right: 1.2rem;
  }
}
.btn {
  text-decoration: none;
}
.btn span,
.btn i {
  z-index: 1;
  position: relative;
}
.btn .loading-dots {
  visibility: hidden;
}
.btn .loading-dots i {
  display: inline-block;
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 15px;
  height: 15px;
  background-color: var(--brand--primary-color);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  animation: loadingDots 1.2s ease-in;
  animation-iteration-count: 999;
  animation-direction: normal;
  animation-fill-mode: forwards;
  transform: translate(-50%, -50%) scale(0.5);
  opacity: 0.4;
}
.btn .loading-dots i:nth-child(1) {
  left: calc(50% - 1.3em);
}
.btn .loading-dots i:nth-child(2) {
  animation-delay: 80ms;
}
.btn .loading-dots i:nth-child(3) {
  left: calc(50% + 1.3em);
  animation-delay: 160ms;
}
.btn.loading {
  pointer-events: none;
  background-color: white;
}
.btn.loading:before {
  background-color: transparent;
}
.btn.loading span {
  visibility: hidden;
}
.btn.loading .loading-dots {
  visibility: visible;
}
@keyframes loadingDots {
  0% {
    transform: translate(-50%, -50%) scale(0.5);
    opacity: 0.4;
  }
  20% {
    transform: translate(-50%, -50%) scale(1.2);
    opacity: 1;
  }
  60% {
    transform: translate(-50%, -50%) scale(0.5);
    opacity: 0.4;
  }
  100% {
    transform: translate(-50%, -50%) scale(0.5);
    opacity: 0.4;
  }
}

.nav-menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
}

.nav-menu--v {
  flex-direction: column;
}

.d--b {
  display: block;
}

.d-flex,
.d--f {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--d--f--gap);
}

.fd-c,
.fd--c {
  flex-direction: column;
  align-items: flex-start;
}

.ai-fs,
.ai--fs {
  align-items: flex-start;
}

.ai-fe,
.ai--fe {
  align-items: flex-end;
}

.ai-c,
.ai--c {
  align-items: center;
}

.jc-fs,
.jc--fs {
  justify-content: flex-start;
}

.jc-c,
.jc--c {
  justify-content: center;
}

.jc-fe,
.jc--fe {
  justify-content: flex-end;
}

.fg {
  position: relative;
  z-index: 9;
}

.hide,
.d-none {
  display: none;
}

.zoom-hover {
  transition: transform var(--brand--transition-duration) var(--brand--transition-easing), opacity var(--brand--transition-duration) var(--brand--transition-easing);
  will-change: transform, opacity;
}
.zoom-hover [class*=-image],
.zoom-hover .image, .zoom-hover.image {
  overflow: hidden;
}
.zoom-hover [class*=-image] img,
.zoom-hover .image img, .zoom-hover.image img {
  transition: transform var(--brand--transition-duration) var(--brand--transition-easing), opacity var(--brand--transition-duration) var(--brand--transition-easing);
  will-change: transform, opacity;
}
.zoom-hover:hover [class*=-image] img,
.zoom-hover:hover .image img, .zoom-hover:hover.image img {
  transform: scale(1.1);
}

.arrow-link i {
  transition: transform 150ms var(--brand--transition-easing), opacity 150ms var(--brand--transition-easing);
  will-change: transform, opacity;
}
.arrow-link:hover i {
  transform: translateX(1rem);
}

body.resizing .zoom-hover {
  transition: none;
}

.l-clamp {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
}

.l-clamp--2 {
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

.l-clamp--3 {
  -webkit-line-clamp: 3;
  line-clamp: 3;
}

.pos-a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.img--cover,
.img-cover,
.img-fit {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.text-left,
.text--left {
  text-align: left;
}

.text-center,
.text--center {
  text-align: center;
}

.list--inline {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 1rem;
}
.list--inline li {
  margin: 0;
  padding: 0;
}

.list--reset {
  list-style: none;
  margin: 0;
  padding: 0;
}
.list--reset li {
  margin: 0;
  padding: 0;
}

.list--contact-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.list--contact-links li {
  margin: 0;
  padding: 0;
}
.list--contact-links li a {
  gap: 0.5rem;
  text-decoration: none;
}

.list--social-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
}
.list--social-links li {
  margin: 0;
  padding: 0;
}
.list--social-links li a {
  gap: 0.5rem;
}
.list--social-links li a[href=""] {
  display: none;
}

.image-transition {
  clip-path: inset(100% 0 0 0);
  transition: clip-path 0.5s ease, opacity 0.5s ease;
  transition-delay: 0.1s;
  opacity: 1;
}
.image-transition:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--brand--red);
  transition: transform 0.5s ease;
  transition-delay: 1s;
  transform: scaleY(1);
  transform-origin: 50% 0;
  opacity: 1;
}
.image-transition.animate-in {
  clip-path: inset(0 0 0 0);
  opacity: 1;
}
.image-transition.animate-in:after {
  transform: scaleY(0);
}

.fw {
  position: relative;
  transform: translateX(-50%);
  left: 50%;
  width: 100vw;
}

/* Reveal text (word-by-word)
   Used by assets/js/core/reveal-text.js */
.reveal-text {
  --reveal-delay: 0ms;
  --reveal-stagger: 60ms;
  --reveal-duration: 1520ms;
  --reveal-scale: 1.04;
  --reveal-y: 8px;
}

.reveal-text__word {
  display: inline-block;
  opacity: 0;
  transform: translate3d(0, var(--reveal-y), 0) scale(var(--reveal-scale));
  filter: blur(0px);
  transition-property: opacity, transform;
  transition-duration: var(--reveal-duration);
  transition-timing-function: cubic-bezier(0.2, 0.7, 0.2, 1);
  transition-delay: calc(var(--reveal-delay) + var(--reveal-i, 0) * var(--reveal-stagger));
  will-change: opacity, transform;
}

.reveal-text.is-revealed .reveal-text__word {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

@media (prefers-reduced-motion: reduce) {
  .reveal-text__word {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
/* Reveal element (single)
   Used by assets/js/core/reveal-element.js */
.reveal,
.js-reveal,
[data-reveal] {
  --reveal-delay: 0ms;
  --reveal-duration: 2500ms;
  --reveal-scale: 1.03;
  --reveal-y: 10px;
  opacity: 0;
  transform: translate3d(0, var(--reveal-y), 0) scale(var(--reveal-scale));
  transition-property: opacity, transform;
  transition-duration: var(--reveal-duration);
  transition-timing-function: cubic-bezier(0.2, 0.7, 0.2, 1);
  transition-delay: var(--reveal-delay);
  will-change: opacity, transform;
}

.reveal.is-revealed,
.js-reveal.is-revealed,
[data-reveal].is-revealed {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

@media (prefers-reduced-motion: reduce) {
  .reveal,
  .js-reveal,
  [data-reveal] {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
/* Reveal stagger (children)
   Used by assets/js/core/reveal-stagger.js */
.reveal-stagger,
.js-reveal-stagger,
[data-reveal-stagger] {
  --reveal-stagger: 90ms;
  --reveal-duration: 2500ms;
  --reveal-scale: 1.03;
  --reveal-y: 10px;
}

.reveal-stagger__item {
  display: block;
  opacity: 0;
  transform: translate3d(0, var(--reveal-y), 0) scale(var(--reveal-scale));
  transition-property: opacity, transform;
  transition-duration: var(--reveal-duration);
  transition-timing-function: cubic-bezier(0.2, 0.7, 0.2, 1);
  transition-delay: calc(var(--reveal-i, 0) * var(--reveal-stagger));
  will-change: opacity, transform;
}

[data-reveal-item] {
  opacity: 0;
  transform: translate3d(0, var(--reveal-y), 0) scale(var(--reveal-scale));
  transition-property: opacity, transform;
  transition-duration: var(--reveal-duration);
  transition-timing-function: cubic-bezier(0.2, 0.7, 0.2, 1);
  transition-delay: calc(var(--reveal-i, 0) * var(--reveal-stagger));
  will-change: opacity, transform;
}

.reveal-stagger.is-revealed .reveal-stagger__item,
.reveal-stagger.is-revealed [data-reveal-item],
.js-reveal-stagger.is-revealed .reveal-stagger__item,
.js-reveal-stagger.is-revealed [data-reveal-item],
[data-reveal-stagger].is-revealed .reveal-stagger__item,
[data-reveal-stagger].is-revealed [data-reveal-item] {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

@media (prefers-reduced-motion: reduce) {
  .reveal-stagger__item,
  [data-reveal-item] {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
:root {
  --brand--body-bg-color: white;
  --brand--transition-duration: 0.3s;
  --brand--transition-easing: var(--easeOutQuad);
  --site-header-mobile-height: 75px;
  --brand--green: #0B4924;
  --brand--primary-color: var(--brand--green);
  --brand--gold: #E4963B;
  --brand--heading-font: 'EB Garamond', serif;
  --brand--body-font: 'Montserrat', sans-serif;
  --brand--body-font-size: 1.1rem;
  --brand--body-text-color: #333;
  --brand--btn-height: 3.25rem;
  --d--f--gap: 1rem;
  --color--white: #fff;
}

.btn {
  border-radius: 4px;
  background-color: var(--brand--primary-color);
}

.btn {
  position: relative;
  background-color: transparent;
  border-radius: 4px;
  overflow: hidden;
  font-weight: 600;
  will-change: color, background-color, box-shadow;
  transition: color 75ms var(--easeInOutQuart), background-color 75ms var(--easeInOutQuart), box-shadow 250ms var(--easeInOutQuart);
  box-shadow: 0 0 0.6rem 0.1rem rgba(0, 0, 0, 0);
  font-size: 0.9rem;
}
@media (min-width: 1024px) {
  .btn {
    font-size: 1rem;
  }
}
.btn:hover {
  box-shadow: 0 0 0.6rem 0.1rem rgba(0, 0, 0, 0.2);
}
.btn--green {
  color: white;
  border: 2px solid var(--brand--green);
  background-color: var(--brand--green);
  border-width: 1px;
}
.btn--green:hover {
  color: white;
  background-color: var(--brand--gold);
  border-color: var(--brand--gold);
}
.btn--gold {
  color: white;
  border: 2px solid var(--brand--gold);
  background-color: var(--brand--gold);
  border-width: 1px;
}
.btn--gold:hover {
  color: var(--brand--gold);
  background-color: transparent;
}
.btn--neutral {
  color: var(--brand--green);
  border: 2px solid var(--brand--green);
  background-color: white;
  border-width: 1px;
}
.btn--neutral:hover {
  color: white;
  background-color: transparent;
  border-color: white;
}
.btn--dark {
  color: var(--brand--green);
  border: 1px solid var(--brand--green);
}
.btn--dark:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: white;
  transform-origin: 0 0;
  transition: transform 250ms ease;
}
.btn--dark:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: scaleX(1);
  opacity: 0;
  transform-origin: 0 0;
  transition: transform 75ms ease-out, opacity 75ms ease-out;
  background-color: var(--brand--green);
}
.btn--dark:hover {
  color: white;
}
.btn--dark:hover:after {
  transform: scaleX(1);
  opacity: 1;
  background-color: var(--brand--green);
  background-color: #333;
}
.btn--outline-green {
  border: 2px solid var(--brand--green);
  color: var(--brand--green);
}
.btn--outline-green:hover {
  color: white;
  background-color: var(--brand--green);
}
.btn--outline-green--opaque {
  border: 2px solid var(--brand--green);
  color: var(--brand--green);
}
.btn--outline-green--opaque:before {
  background-color: white;
}
.btn--outline-green--opaque::after {
  background-color: var(--brand--green);
}
.btn--outline-green--opaque:hover {
  color: white;
}
.btn--outline-green--opaque:hover:after {
  transform: scaleX(1);
  opacity: 1;
}

.site-header.is-fixed .btn--green {
  background-color: var(--brand--gold);
  border-color: var(--brand--gold);
}
.site-header.is-fixed .btn--green:hover {
  background-color: transparent;
  color: var(--brand--gold);
}

.link {
  font-weight: 600;
  font-size: 1rem;
}
.link--green {
  color: var(--brand--green);
}
.link--gold {
  color: var(--brand--gold);
}
.link--strong {
  font-weight: 700;
}

body {
  font-family: var(--brand--body-font);
}

.heading,
h1, h2, h3, h4, h5, h6 {
  font-family: var(--brand--heading-font);
  font-weight: 400;
}

.heading--xl {
  font-size: 2.4rem;
}
@media (min-width: 640px) {
  .heading--xl {
    font-size: 3.2rem;
  }
}
@media (min-width: 1280px) {
  .heading--xl {
    font-size: 4.2rem;
  }
}
@media (min-width: 1536px) {
  .heading--xl {
    font-size: 4.8rem;
  }
}

.heading--l {
  font-size: 2.4rem;
}
@media (min-width: 1024px) {
  .heading--l {
    font-size: 3.2rem;
  }
}

.heading--m {
  font-size: 1.7rem;
}
@media (min-width: 1024px) {
  .heading--m {
    font-size: 1.9rem;
  }
}

.heading--strong {
  font-weight: 600;
}

.heading--booking-form-inline {
  font-size: 1rem;
  font-family: var(--brand--body-font);
  font-weight: 600;
}
@media (min-width: 640px) {
  .heading--booking-form-inline {
    font-size: 1.4rem;
  }
}

.heading--green {
  color: var(--brand--green);
}

.heading--gold,
.text--gold {
  color: var(--brand--gold);
}

.heading--white {
  color: white;
}

.overline {
  margin-bottom: 1rem;
  font-weight: 300;
}
.overline--green {
  color: var(--brand--green);
}
.overline--white {
  color: white;
}
.overline--gold {
  color: var(--brand--gold);
}

body .flickity-button {
  will-change: opacity, transform, background-color, box-shadow;
  transition: opacity 250ms var(--easeInOutQuart), transform 250ms var(--easeInOutQuart), background-color 250ms var(--easeInOutQuart), box-shadow 250ms var(--easeInOutQuart);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: auto;
  aspect-ratio: 1;
  opacity: 0.9;
  box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.5);
  background-color: black;
  border: 1px solid black;
  border: none;
  border-radius: 50%;
  margin: 5px;
  transform: translate(0, -50%);
}
body .flickity-button .icon {
  transition: transform 250ms var(--easeInOutQuart);
  transform: translateX(0);
}
body .flickity-button .icon svg path {
  fill: white;
}
body .flickity-button:hover, body .flickity-button:focus {
  outline: none !important;
  box-shadow: 0 0 0.2rem rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 0.2rem rgba(0, 0, 0, 0);
  background-color: var(--brand--green);
  background-color: rgba(0, 0, 0, 0.3);
}
body .flickity-button.previous .icon svg {
  transform: rotate(180deg);
}
body .flickity-button.previous:hover .icon {
  transform: translateX(-0.1rem);
}
body .flickity-button.next:hover .icon {
  transform: translateX(0.1rem);
}
body .flickity-button:disabled {
  opacity: 0;
  cursor: default;
  box-shadow: none;
  background-color: var(--brand--green);
  background-color: black;
}

.site-header {
  --site-header-sticky-bg: var(--brand--primary-color);
  color: white;
}
.site-header a {
  text-decoration: none;
}
.site-header a:not(.btn):hover {
  color: var(--brand--gold);
}
.site-header nav {
  font-weight: 500;
  font-size: 0.9rem;
  text-align: center;
}
@media (min-width: 1280px) {
  .site-header nav {
    font-size: 0.9rem;
  }
}
@media (min-width: 1536px) {
  .site-header nav {
    font-size: 1rem;
  }
}
.site-header nav ul li a {
  color: white;
}
.site-header nav ul li.current-menu-item > a {
  color: var(--brand--gold);
}
.site-header .wrapper {
  height: inherit;
}
.site-header--desktop {
  display: none;
  --sub-menu-hover-bridge: 0.75rem;
  --site-header--desktop-height: 110px;
}
@media (min-width: 1280px) {
  .site-header--desktop {
    display: block;
    background-color: transparent;
    transition: background-color 150ms ease-in-out, box-shadow 150ms ease-in-out;
    padding-left: 2rem;
    padding-right: 2rem;
    height: 110px;
    position: absolute;
    top: 3rem;
    left: 0;
    width: 100%;
    z-index: 99;
    box-shadow: 1px 3px 0.3rem rgba(0, 0, 0, 0);
  }
}
@media (min-width: 1536px) {
  .site-header--desktop {
    top: 4rem;
  }
}
.site-header--desktop.is-fixed {
  position: fixed;
  top: 0;
  background-color: var(--site-header-sticky-bg);
  --sub-menu-hover-bridge: 1.5rem;
  box-shadow: 1px 3px 0.3rem rgba(0, 0, 0, 0.4);
}
.site-header--desktop.is-fixed .btn:before {
  background-color: var(--brand--gold);
}
.site-header--desktop .wrapper {
  gap: 2rem;
}
.site-header--desktop .logo {
  order: 2;
  flex: 0 0 auto;
  display: flex;
  justify-content: center;
  filter: saturate(0) brightness(1.5);
}
.site-header--desktop .logo:hover {
  filter: saturate(1);
}
.site-header--desktop .logo {
  transition: filter 75ms ease;
}
.site-header--desktop .logo img {
  width: 245px;
}
@media (min-width: 1280px) {
  .site-header--desktop .logo img {
    width: 245px;
  }
}
@media (min-width: 1536px) {
  .site-header--desktop .logo img {
    width: 265px;
  }
}
.site-header--desktop .left,
.site-header--desktop .right {
  flex: 1 1 0;
  display: flex;
}
.site-header--desktop .left .nav-menu,
.site-header--desktop .right .nav-menu {
  gap: 1.5rem;
}
@media (min-width: 1536px) {
  .site-header--desktop .left .nav-menu,
  .site-header--desktop .right .nav-menu {
    gap: 2.5rem;
  }
}
.site-header--desktop .nav-menu > li {
  position: relative;
  height: var(--site-header--desktop-height);
  display: flex;
  align-items: center;
}
.site-header--desktop .nav-menu .sub-menu {
  list-style: none;
  margin: 0;
  padding: 0.75rem 0;
  position: absolute;
  top: calc(100% - var(--sub-menu-hover-bridge));
  top: var(--site-header--desktop-height);
  left: 0;
  left: 50%;
  min-width: 12rem;
  background-color: var(--site-header-sticky-bg);
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 100;
  --sub-menu-translate-x: 0;
  --sub-menu-translate-x: -50%;
  --sub-menu-translate-y: 0.5rem;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate3d(var(--sub-menu-translate-x), var(--sub-menu-translate-y), 0);
  transition: opacity 150ms ease-in-out, transform 150ms ease-in-out, visibility 0s linear 150ms;
}
.site-header--desktop .nav-menu li:hover > .sub-menu,
.site-header--desktop .nav-menu li:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  --sub-menu-translate-y: 0;
  transform: translate3d(var(--sub-menu-translate-x), var(--sub-menu-translate-y), 0);
  transition: opacity 150ms ease-in-out, transform 150ms ease-in-out, visibility 0s linear 0s;
}
.site-header--desktop .nav-menu .sub-menu a {
  display: block;
  padding: 0.35rem 1rem;
  white-space: nowrap;
}
.site-header--desktop .right .nav-menu > li > .sub-menu {
  left: 50%;
  right: auto;
  --sub-menu-translate-x: -50%;
}
@media (prefers-reduced-motion: reduce) {
  .site-header--desktop .nav-menu .sub-menu,
  .site-header--desktop .nav-menu li:hover > .sub-menu,
  .site-header--desktop .nav-menu li:focus-within > .sub-menu {
    transition: none;
  }
}
.site-header--desktop .left {
  order: 1;
  justify-content: flex-start;
}
.site-header--desktop .right {
  order: 3;
  justify-content: flex-end;
}
.site-header--desktop .right .nav-menu {
  justify-content: flex-end;
}
.site-header--desktop .bg--green {
  opacity: 0;
  transition: opacity 150ms ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .site-header--desktop .bg--green {
    transition: none;
  }
}
.site-header--mobile {
  display: block;
  position: fixed;
  z-index: 10;
  height: var(--site-header-mobile-height);
  left: 0;
  width: 100%;
  background-color: var(--site-header-sticky-bg);
  box-shadow: 1px 3px 0.3rem rgba(0, 0, 0, 0);
  transition: background-color 150ms ease-in-out, box-shadow 150ms ease-in-out;
}
@media (min-width: 1280px) {
  .site-header--mobile {
    display: none;
  }
}
.site-header--mobile .wrapper {
  height: 100%;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  justify-content: stretch;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.site-header--mobile .nav-toggle {
  justify-self: start;
  display: flex;
  align-items: center;
}
.site-header--mobile .nav-toggle .menu-toggler {
  background: none;
  border: 0;
  padding: 0;
  display: flex;
  align-items: center;
  color: inherit;
}
.site-header--mobile .nav-toggle svg {
  display: block;
}
.site-header--mobile .nav-toggle svg rect {
  fill: currentColor;
  transform-origin: 100% 50%;
  transition: transform 25ms ease-in-out;
}
.site-header--mobile .nav-toggle svg rect:nth-child(3) {
  transform: scaleX(0.5);
}
.site-header--mobile .nav-toggle:hover svg rect {
  fill: var(--brand--gold);
}
.site-header--mobile .logo {
  justify-self: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.site-header--mobile .logo img {
  width: 160px;
}
.site-header--mobile .book {
  justify-self: end;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-right: -0.5rem;
}
@media (min-width: 1024px) {
  .site-header--mobile .book {
    margin-right: 0rem;
  }
}
.site-header--mobile .btn {
  background-color: var(--brand--gold);
  border: 2px solid var(--brand--gold);
  height: 2.4rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.site-header--mobile .btn:hover {
  background-color: var(--brand--green);
  color: var(--brand--gold);
}
.site-header--mobile.is-fixed {
  position: fixed;
  top: 0;
  background-color: var(--site-header-sticky-bg);
  box-shadow: 1px 3px 0.3rem rgba(0, 0, 0, 0.1);
}
.site-header--mobile.is-fixed .bg--green {
  opacity: 1;
}
.site-header--mobile.is-fixed .btn {
  background-color: var(--brand--gold);
}
.site-header .current-menu-item:not(.btn) {
  color: var(--brand--gold);
}

.mobile-navigation {
  position: fixed;
  top: 0;
  left: 0;
  width: 85vw;
  height: 100vh;
  z-index: 99;
  display: flex;
  flex-direction: column;
  background-color: var(--brand--primary-color);
  color: white;
  overflow-y: auto;
  transform: translateX(-100%);
  box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  transition: transform 200ms ease-in-out, box-shadow 200ms ease-in-out, visibility 0s linear 200ms;
  visibility: hidden;
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
  .mobile-navigation {
    transition: none;
  }
}
@media (min-width: 1280px) {
  .mobile-navigation {
    display: none;
  }
}
.mobile-navigation__close {
  position: absolute;
  top: 0;
  right: 0;
  height: var(--site-header-mobile-height);
  padding: 0 1.25rem;
  background: none;
  border: 0;
  color: inherit;
  font: inherit;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 9;
}
.mobile-navigation__close:hover svg line {
  stroke: var(--brand--gold);
}
.mobile-navigation .wrapper {
  padding-top: var(--site-header-mobile-height);
  padding-top: 1.1rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.mobile-navigation footer {
  margin-top: auto;
  padding: 1.5rem 0 2rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.mobile-navigation footer a {
  color: inherit;
  text-decoration: none;
}
.mobile-navigation footer a:hover {
  color: var(--brand--gold);
}
.mobile-navigation.is-open {
  transform: translateX(0);
  box-shadow: 0.75rem 0 1.5rem rgba(0, 0, 0, 0.25);
  transition: transform 200ms ease-in-out, box-shadow 200ms ease-in-out, visibility 0s linear 0s;
  visibility: visible;
  pointer-events: auto;
}
.mobile-navigation .logo {
  max-width: 250px;
}
.mobile-navigation nav ul {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding-top: 2rem;
  padding-bottom: 2rem;
  align-items: flex-start;
}
.mobile-navigation nav ul ul {
  padding: 0;
  margin-top: 0.5rem;
}
.mobile-navigation nav ul ul li {
  display: inline-flex;
  align-items: center;
  font-size: 1rem;
  gap: 0.5rem;
}
.mobile-navigation nav ul ul li::before {
  content: "";
  height: 1px;
  width: 5px;
  background-color: white;
}
.mobile-navigation nav ul ul li a {
  font-size: 0.9rem;
}
.mobile-navigation nav a {
  font-size: 1.1rem;
  font-weight: 500;
  color: inherit;
  text-decoration: none;
}
.mobile-navigation nav a:not(.btn):hover {
  color: var(--brand--gold);
}
.mobile-navigation nav li.current-menu-item > a {
  color: var(--brand--gold);
}

.site-main {
  min-height: 100vh;
  padding-top: var(--site-header-mobile-height);
}
@media (min-width: 1280px) {
  .site-main {
    padding-top: 0;
  }
}

@media (min-width: 1280px) {
  .csbp-no-hero .site-main {
    padding-top: 110px;
  }
}
.error-404 {
  display: flex;
  align-items: center;
  min-height: clamp(24rem, 60vh, 40rem);
  background: linear-gradient(145deg, color-mix(in srgb, var(--brand--gold) 13%, transparent), transparent 40%, color-mix(in srgb, var(--brand--green) 8%, transparent));
}
.error-404 .wrapper {
  max-width: 760px;
}
.error-404 .overline {
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
}
.error-404 h1 {
  margin-bottom: 0;
}
.error-404__content {
  margin-top: 1rem;
}
.error-404__actions {
  margin-top: 2rem;
  justify-content: center;
  flex-wrap: wrap;
}
.error-404__actions .btn {
  min-width: min(100%, 16rem);
  justify-content: center;
}

.site-footer {
  position: relative;
  color: white;
  padding: 2rem 2rem;
}
@media (max-width: 639px) {
  .site-footer .wrapper {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}
.site-footer a {
  color: inherit;
  text-decoration: none;
}
.site-footer a:hover {
  color: var(--brand--gold);
}
.site-footer .fg {
  position: relative;
  z-index: 1;
}
.site-footer .upper,
.site-footer .lower {
  padding: 1rem 0;
  gap: 2rem;
}
@media (min-width: 640px) {
  .site-footer .upper,
  .site-footer .lower {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
}
@media (min-width: 768px) {
  .site-footer .upper,
  .site-footer .lower {
    padding: 2rem 0;
    gap: 2rem;
  }
}
.site-footer .upper {
  position: relative;
  flex-direction: column;
  flex-wrap: wrap;
}
@media (min-width: 1280px) {
  .site-footer .upper {
    flex-direction: row;
  }
}
@media (min-width: 1536px) {
  .site-footer .upper {
    flex-wrap: nowrap;
    flex-direction: row;
  }
}
.site-footer .lower {
  flex-direction: column;
  border-top: 1px solid rgba(255, 255, 255, 0.25);
}
@media (min-width: 640px) {
  .site-footer .lower {
    flex-direction: row;
  }
}
@media (max-width: 639px) {
  .site-footer .lower {
    padding-bottom: 0;
  }
}
.site-footer .logo,
.site-footer .contact {
  line-height: 1.6;
}
@media (min-width: 1024px) {
  .site-footer .logo,
  .site-footer .contact {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
}
@media (min-width: 1536px) {
  .site-footer .logo,
  .site-footer .contact {
    width: auto;
  }
}
.site-footer .logo {
  flex: none;
  margin-left: auto;
  margin-right: auto;
  padding-top: 0;
}
@media (min-width: 640px) {
  .site-footer .logo {
    width: 100%;
  }
}
@media (min-width: 1536px) {
  .site-footer .logo {
    width: auto;
    margin-left: 0;
    margin-right: 0;
  }
}
.site-footer .logo img {
  width: 235px;
}
.site-footer .contact {
  flex-wrap: wrap;
  gap: 2rem;
  width: 100%;
}
@media (min-width: 1280px) {
  .site-footer .contact {
    width: auto;
  }
}
.site-footer .nav {
  font-weight: 300;
  gap: 2rem;
  line-height: 1.3;
  font-size: 0.95rem;
  flex-direction: column;
  width: 100%;
  flex-wrap: wrap;
}
@media (min-width: 640px) {
  .site-footer .nav {
    flex-direction: row;
  }
}
@media (min-width: 1280px) {
  .site-footer .nav {
    width: auto;
  }
}
.site-footer .nav ul {
  gap: 0.6rem;
}
@media (min-width: 640px) and (max-width: 1279px) {
  .site-footer .nav ul {
    width: calc(50% - 1rem);
  }
}
.site-footer .nav li.current-menu-item a {
  color: var(--brand--gold);
}
.site-footer .address-links {
  gap: 2rem;
  flex-direction: column;
  width: 100%;
}
@media (min-width: 640px) {
  .site-footer .address-links {
    flex-direction: row;
  }
}
@media (min-width: 1280px) {
  .site-footer .address-links {
    width: auto;
  }
}
.site-footer .address-links .address,
.site-footer .address-links .links {
  flex: 1;
}
.site-footer .awards {
  flex: none;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 1279px) {
  .site-footer .awards {
    position: absolute;
    bottom: 0;
    right: 0;
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
}
@media (max-width: 639px) {
  .site-footer .awards {
    position: relative;
  }
}
.site-footer .awards {
  /*
  @media (min-width: $bp--s) and (max-width: $bp--xl - 1px)
  {
  	position: absolute;
  	bottom: 0;
  	right: 0;
  	margin-top: 1rem;
  	margin-bottom: 1rem;
  }
  */
}
@media (min-width: 1024px) {
  .site-footer .awards {
    margin-left: 0;
    margin-right: 0;
  }
}
.site-footer .awards img {
  max-width: 115px;
}
@media (min-width: 1280px) {
  .site-footer .awards img {
    max-width: 140px;
  }
}
.site-footer .copyright {
  font-size: 0.95rem;
  margin-top: 1rem;
}
@media (min-width: 640px) {
  .site-footer .copyright {
    margin-top: 0;
  }
}
.site-footer .credits {
  font-size: 0.95rem;
}
.site-footer .credit img {
  max-width: 7rem;
}
@media (min-width: 1280px) {
  .site-footer .credit img {
    max-width: 16rem;
  }
}
.site-footer .social a:hover path {
  fill: var(--brand--gold);
}

.bg {
  background-color: var(--brand--primary-color);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.site-header svg path,
.site-footer svg path {
  transition: color 125ms ease, fill 125ms ease;
}

.stay-informed {
  position: relative;
  background-color: color-mix(in srgb, #E4963B 15%, transparent);
}
.stay-informed .wrapper {
  max-width: 680px;
}
.stay-informed .content {
  margin-top: 1rem;
}
.stay-informed .form {
  margin-top: 1.5rem;
}
.stay-informed .form .form-row {
  width: 100%;
}
.stay-informed .form .form-row--inline {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  background-color: white;
  padding: 0.7rem;
  border-radius: 5px;
}
.stay-informed .form .form-row--inline input {
  flex: 1;
  border: none;
}
.stay-informed .form .form-row--inline input::-moz-placeholder {
  font-size: 0.9rem;
  color: black;
  opacity: 1;
}
.stay-informed .form .form-row--inline input::placeholder {
  font-size: 0.9rem;
  color: black;
  opacity: 1;
}
.stay-informed .form .form-row--checkbox {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  justify-content: center;
}
.stay-informed .form .form-row--checkbox label {
  cursor: pointer;
}
.stay-informed .form .btn {
  font-size: 0.9rem;
  font-weight: 600;
}
.stay-informed .form label[for=consent] {
  font-size: 0.9rem;
  line-height: 1.4;
}
.stay-informed .footnote {
  opacity: 0.4;
  margin-top: 1rem;
  font-size: 0.9rem;
}
.stay-informed .bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.stay-informed .bg:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: color-mix(in srgb, #E4963B 15%, transparent);
}
.stay-informed .bg span:nth-child(1) {
  background-image: url("../img/wash--stay-informed--l.jpg");
  background-size: contain;
  aspect-ratio: 1;
  display: block;
  width: 100%;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(-50%, -50%);
  display: none;
}
.stay-informed .bg span:nth-child(2) {
  background-image: url("../img/wash--stay-informed--r.jpg");
  background-size: contain;
  aspect-ratio: 1;
  display: block;
  width: 100%;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(50%, -50%);
  display: none;
}
.stay-informed__message {
  margin-top: 1rem;
}

.inset-outline {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
}
.inset-outline:before, .inset-outline:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  outline: 1px solid color-mix(in srgb, var(--brand--gold) 80%, transparent 0%);
  outline-offset: -20px;
}
@media (min-width: 640px) {
  .inset-outline:before, .inset-outline:after {
    outline-offset: -32px;
  }
}
.inset-outline:after {
  outline: 1px solid color-mix(in srgb, var(--brand--gold) 40%, transparent 0%);
  outline-offset: -12px;
}
@media (min-width: 640px) {
  .inset-outline:after {
    outline-offset: -24px;
  }
}
.inset-outline--gold:before, .inset-outline--gold:after {
  outline-color: gold;
}

.hero {
  position: relative;
  background-color: black;
  color: white;
}
@media (min-width: 1536px) {
  .hero {
    height: 100vh;
  }
}
.hero:before {
  content: "";
  display: block;
  background: var(--brand--green);
  height: var(--site-header-mobile-height);
  position: absolute;
  bottom: 100%;
  left: 0;
  width: 100%;
}
@media (min-width: 1024px) {
  .hero:before {
    height: var(--site-header-mobile-height);
  }
}
.hero .wrapper {
  height: inherit;
  display: grid;
  align-items: center;
  justify-content: center;
  padding-top: 4rem;
  padding-bottom: 4rem;
  padding-left: 2rem;
  padding-right: 2rem;
  aspect-ratio: unset;
  gap: 3rem;
  min-height: calc(100svh - 75px);
}
@media (min-width: 640px) {
  .hero .wrapper {
    aspect-ratio: 4/3;
    gap: 5rem;
    min-height: unset;
  }
}
@media (min-width: 1280px) {
  .hero .wrapper {
    grid-template-rows: 1fr 1fr 1fr;
  }
}
.hero .heading {
  grid-row: 2;
  text-wrap: pretty;
  max-width: 47rem;
  max-width: 52rem;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 639px) {
  .hero .heading {
    line-height: 1;
  }
}
.hero .heading--booking-form-inline {
  line-height: 1.3;
}
@media (max-width: 639px) {
  .hero .heading--booking-form-inline {
    max-width: 18rem;
  }
}
.hero .booking {
  grid-row: 3;
  align-self: center;
}
.hero .image,
.hero .video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0.7;
}
.hero .image img,
.hero .image video,
.hero .video img,
.hero .video video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.hero .jump-links {
  margin-bottom: 3.5rem;
}
.hero .jump-links > p {
  display: inline-block;
  font-weight: bold;
  margin-bottom: 0.75rem;
}
.hero .jump-links nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  justify-content: center;
  margin-top: 0;
}
.hero .jump-links .jump-link {
  color: inherit;
  font-size: clamp(0.9rem, 1vw + 0.55rem, 1.05rem);
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.2;
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 255, 0.55);
  text-underline-offset: 0.18em;
  transition: text-decoration-color 0.25s ease, opacity 0.25s ease;
}
.hero .jump-links .jump-link:hover, .hero .jump-links .jump-link:focus-visible {
  opacity: 1;
  text-decoration-color: currentColor;
  color: var(--brand--gold);
}

.booking-form-inline {
  color: var(--brand--body-text-color);
  max-width: 1080px;
}
.booking-form-inline .heading {
  margin-bottom: 1.3rem;
}
.booking-form-inline .check-in,
.booking-form-inline .check-out {
  position: relative;
}
@media (min-width: 1024px) {
  .booking-form-inline .check-in,
  .booking-form-inline .check-out {
    min-width: 10rem;
  }
}
.booking-form-inline .guests {
  position: relative;
  cursor: pointer;
}
@media (min-width: 1024px) {
  .booking-form-inline .guests {
    min-width: 11.5rem;
  }
}
.booking-form-inline .booking-form-inline__guests-popover {
  display: none;
  gap: 0.5rem;
  position: absolute;
  top: calc(100% + 0.5rem);
  left: 0;
  z-index: 10;
  background-color: white;
  padding: 0.7rem;
  border-radius: 3px;
  border: 1.4px solid rgba(0, 0, 0, 0.2);
  min-width: 12rem;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1);
}
.booking-form-inline .booking-form-inline__guests-popover .booking-form-inline__guest-stepper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.booking-form-inline .booking-form-inline__guests-popover .booking-form-inline__guest-stepper-controls {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.booking-form-inline .booking-form-inline__guests-popover .booking-form-inline__guest-stepper-btn {
  border: 1px solid currentColor;
  background: transparent;
  width: 2rem;
  height: 2rem;
  line-height: 1;
  cursor: pointer;
}
.booking-form-inline .booking-form-inline__guests-popover .booking-form-inline__guest-stepper-value {
  display: inline-block;
  min-width: 2ch;
  text-align: center;
}
.booking-form-inline .guests.is-open .booking-form-inline__guests-popover {
  display: block;
  display: flex;
  flex-direction: column;
}
.booking-form-inline .booking-form-inline__date-input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}
.booking-form-inline .booking-form-inline__date-input::-webkit-calendar-picker-indicator {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
.booking-form-inline .form-row {
  width: 100%;
}
.booking-form-inline .form-row--inline {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  background-color: white;
  padding: 0.7rem;
  border-radius: 5px;
  flex-direction: column;
}
@media (min-width: 1024px) {
  .booking-form-inline .form-row--inline {
    flex-direction: row;
  }
}
.booking-form-inline .form-row--inline input {
  flex: 1;
  border: none;
}
.booking-form-inline .form-row--inline input::-moz-placeholder {
  font-size: 0.9rem;
  color: black;
  opacity: 1;
}
.booking-form-inline .form-row--inline input::placeholder {
  font-size: 0.9rem;
  color: black;
  opacity: 1;
}
.booking-form-inline .btn {
  font-size: 0.9rem;
  font-weight: 600;
}
.booking-form-inline .check-in,
.booking-form-inline .check-out,
.booking-form-inline .guests {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.booking-form-inline .check-in:hover > i,
.booking-form-inline .check-in:hover > span,
.booking-form-inline .check-out:hover > i,
.booking-form-inline .check-out:hover > span,
.booking-form-inline .guests:hover > i,
.booking-form-inline .guests:hover > span {
  opacity: 0.7;
}
.booking-form-inline .check-in dl,
.booking-form-inline .check-out dl,
.booking-form-inline .guests dl {
  line-height: 1.2;
}
.booking-form-inline .check-in dt,
.booking-form-inline .check-out dt,
.booking-form-inline .guests dt {
  font-weight: 500;
}
.booking-form-inline .check-in dd,
.booking-form-inline .check-out dd,
.booking-form-inline .guests dd {
  font-weight: 300;
  font-size: 0.9rem;
}
.booking-form-inline .check-in dt,
.booking-form-inline .check-in dd,
.booking-form-inline .check-out dt,
.booking-form-inline .check-out dd,
.booking-form-inline .guests dt,
.booking-form-inline .guests dd {
  text-align: left;
}
.booking-form-inline form {
  display: inline-block;
}
.booking-form-inline--desktop {
  display: none;
}
@media (min-width: 1024px) {
  .booking-form-inline--desktop {
    display: block;
  }
}
.booking-form-inline--mobile {
  display: block;
}
@media (min-width: 1024px) {
  .booking-form-inline--mobile {
    display: none;
  }
}

.intro {
  position: relative;
}
.intro .illustration {
  max-width: 335px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1rem;
}
.intro .content {
  margin-top: 2rem;
}
.intro .cta {
  margin-top: 2rem;
}
.intro .bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  --wash-opacity: 0.5;
}
.intro .bg:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.intro .bg span:nth-child(1) {
  background-image: url("../img/wash--intro--orange--a.jpg");
  background-size: contain;
  aspect-ratio: 1;
  display: block;
  width: 100%;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(-50%, -50%);
  opacity: var(--wash-opacity);
}
.intro .bg span:nth-child(2) {
  background-image: url("../img/wash--intro--orange--a.jpg");
  background-size: contain;
  aspect-ratio: 1;
  display: block;
  width: 100%;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(50%, -50%);
  opacity: var(--wash-opacity);
  display: none;
}
.intro .bg span:nth-child(3) {
  background-image: url("../img/wash--intro--blue--a.jpg");
  background-size: contain;
  aspect-ratio: 1;
  display: block;
  width: 100%;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(50%, -50%);
  opacity: var(--wash-opacity);
}
.intro .intro-carousel {
  margin-top: 2rem;
  margin-top: 7rem;
  margin-bottom: -3rem;
}
@media (min-width: 768px) {
  .intro .intro-carousel {
    margin-bottom: -5rem;
  }
}
@media (min-width: 1024px) {
  .intro .intro-carousel {
    display: none;
  }
}
.intro .intro-carousel__items {
  aspect-ratio: 1;
  width: min(100%, 420px);
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  width: 100vw;
  left: calc(50% - 50vw);
  aspect-ratio: 1;
}
@media (min-width: 640px) {
  .intro .intro-carousel__items {
    aspect-ratio: 4/3;
  }
}
@media (min-width: 768px) {
  .intro .intro-carousel__items {
    aspect-ratio: 4/3;
  }
}
.intro .intro-carousel__item {
  position: absolute;
  inset: 0;
  visibility: hidden;
  pointer-events: none;
  opacity: 0;
  transition: opacity var(--brand--transition-duration) var(--brand--transition-easing);
}
.intro .intro-carousel__item.is-active {
  visibility: visible;
  pointer-events: auto;
  opacity: 1;
}
.intro .intro-carousel img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.intro--standard.intro--has-images.section.inset[data-slug=""] {
  padding-bottom: 1.5rem;
}
.intro--standard::before {
  content: "";
  display: block;
  width: 1px;
  height: 5rem;
  background-color: var(--brand--gold);
  margin-left: auto;
  margin-right: auto;
  margin-top: -4rem;
  margin-bottom: 1rem;
  position: relative;
  z-index: 9;
  pointer-events: none;
}
@media (min-width: 768px) {
  .intro--standard .wrapper {
    max-width: 680px;
  }
}
.intro--standard .images {
  display: none;
}
@media (min-width: 1024px) {
  .intro--standard .images {
    display: block;
  }
}
.intro--restaurant::before {
  content: none;
}
.intro--restaurant .wrapper {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--d--f--gap);
}
.intro--restaurant .text,
.intro--restaurant .image {
  width: 100%;
}
@media (min-width: 1024px) {
  .intro--restaurant .wrapper {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 3rem;
  }
  .intro--restaurant .wrapper .image {
    aspect-ratio: 470/610;
    max-width: 470px;
  }
  .intro--restaurant .wrapper {
    gap: 4rem;
  }
  .intro--restaurant .wrapper .text {
    max-width: 920px;
  }
  .intro--restaurant .wrapper .text .content {
    width: 75%;
  }
  .intro--restaurant .wrapper .image {
    margin-right: calc(50% - min(50vw, 960px));
  }
  .intro--restaurant .--wrapper:nth-child(2) {
    flex-direction: row-reverse;
    gap: 4rem;
    margin-top: -4rem;
  }
  .intro--restaurant .--wrapper:nth-child(2) > .image {
    margin-left: calc(50% - min(50vw, 960px));
    margin-left: calc(50% - min(50vw, 820px));
    margin-right: 0;
    aspect-ratio: 775/795;
    max-width: 775px;
  }
  .intro--restaurant .--wrapper:nth-child(2) .text {
    max-width: 480px;
    max-width: 590px;
  }
  .intro--restaurant .--wrapper:nth-child(2) .text > .image {
    aspect-ratio: 483/453;
    aspect-ratio: 1;
    max-width: 483px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 3rem;
    width: 60%;
  }
  .intro--restaurant .text,
  .intro--restaurant .image {
    flex: 1 1 0;
  }
}
.intro--restaurant .heading {
  text-wrap: auto;
}
.intro--restaurant-alt::before {
  content: none;
}
.intro--restaurant-alt .wrapper {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--d--f--gap);
}
.intro--restaurant-alt .text,
.intro--restaurant-alt .image {
  width: 100%;
}
@media (min-width: 1024px) {
  .intro--restaurant-alt .wrapper {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 3rem;
    flex-direction: row-reverse;
    gap: 4rem;
    margin-top: -4rem;
  }
  .intro--restaurant-alt .wrapper > .image {
    margin-left: calc(50% - min(50vw, 960px));
    margin-left: calc(50% - min(50vw, 820px));
    margin-right: 0;
    aspect-ratio: 775/795;
    max-width: 775px;
  }
  .intro--restaurant-alt .wrapper .text {
    max-width: 480px;
    max-width: 590px;
  }
  .intro--restaurant-alt .wrapper .text > .image {
    aspect-ratio: 483/453;
    aspect-ratio: 1;
    max-width: 483px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 3rem;
    width: 60%;
    position: relative;
  }
  .intro--restaurant-alt .wrapper .text > .image .illustration {
    aspect-ratio: 1;
    width: 100%;
    position: absolute;
    top: 105%;
    left: 115%;
    transform: translate(-50%, -50%);
  }
  .intro--restaurant-alt .text,
  .intro--restaurant-alt .image {
    flex: 1 1 0;
  }
}
.intro--restaurant-alt .heading {
  text-wrap: auto;
}
.intro .images {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.intro .images .image {
  position: absolute;
}
.intro {
  /*
  .wrapper 
  {
  	&:before 
  	{
  		content: '';
  		display: block;
  		width: 1px;
  		height: 5rem;
  		background-color: var(--brand--gold); 
  		background-color:
  		margin-left: auto;
  		margin-right: auto;
  		// margin-top: -4rem;
  		// margin-bottom: 1rem;

  		position: absolute;
  		bottom: 100%;
  		left: 50%;
  	}
  }
  	*/
}

.intro--restaurant + .intro--restaurant-alt {
  margin-top: -9rem;
}

.intro[data-slug=home-intro] {
  --images-width: 1920;
}
.intro[data-slug=home-intro].section.inset {
  padding-top: 8rem;
}
@media (min-width: 1024px) {
  .intro[data-slug=home-intro].section.inset {
    padding-top: 8rem;
    padding-bottom: 28rem;
  }
}
.intro[data-slug=home-intro]:before {
  height: 10rem;
  margin-top: -9rem;
}
@media (max-width: 767px) {
  .intro[data-slug=home-intro]:before {
    margin-top: -9rem;
  }
}
.intro[data-slug=home-intro] .images {
  width: calc(var(--images-width) * 1px);
  left: 50%;
  transform: translateX(-50%);
  height: 94%;
}
.intro[data-slug=home-intro] .images .image {
  height: auto;
}
.intro[data-slug=home-intro] .images .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.intro[data-slug=home-intro] .images .image:nth-child(1) {
  aspect-ratio: 450/556;
  width: calc(450 / var(--images-width) * 100%);
  top: 5%;
  left: 5%;
}
.intro[data-slug=home-intro] .images .image:nth-child(2) {
  aspect-ratio: 443/353;
  width: calc(443 / var(--images-width) * 100%);
  bottom: 8%;
  left: 9%;
}
.intro[data-slug=home-intro] .images .image:nth-child(3) {
  aspect-ratio: 387/265;
  width: calc(387 / var(--images-width) * 100%);
  bottom: 0%;
  left: 42%;
}
.intro[data-slug=home-intro] .images .image:nth-child(4) {
  aspect-ratio: 384/310;
  width: calc(384 / var(--images-width) * 100%);
  bottom: 13%;
  right: 10%;
}
.intro[data-slug=home-intro] .images .image:nth-child(5) {
  aspect-ratio: 440/556;
  width: calc(440 / var(--images-width) * 100%);
  top: 9%;
  right: 3%;
}

.intro[data-slug=home-island-retreat-awaits] {
  --images-width: 1920;
  padding-top: 8rem;
  padding-bottom: 20rem;
}
@media (min-width: 768px) {
  .intro[data-slug=home-island-retreat-awaits].section {
    padding-bottom: 5rem;
  }
}
@media (min-width: 1024px) {
  .intro[data-slug=home-island-retreat-awaits].section {
    padding-bottom: 15rem;
  }
}
@media (max-width: 767px) {
  .intro[data-slug=home-island-retreat-awaits] {
    padding-bottom: calc(var(--gutter-x) * 0.5);
  }
}
@media (max-width: 767px) {
  .intro[data-slug=home-island-retreat-awaits]:before {
    margin-top: -7rem;
  }
}
.intro[data-slug=home-island-retreat-awaits] .images {
  width: calc(var(--images-width) * 1px);
  left: 50%;
  transform: translateX(-50%);
}
.intro[data-slug=home-island-retreat-awaits] .images .image {
  height: auto;
}
.intro[data-slug=home-island-retreat-awaits] .images .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.intro[data-slug=home-island-retreat-awaits] .images .image:nth-child(1) {
  aspect-ratio: 442/556;
  width: calc(442 / var(--images-width) * 100%);
  top: 2.5%;
  left: 7%;
}
.intro[data-slug=home-island-retreat-awaits] .images .image:nth-child(2) {
  aspect-ratio: 442/556;
  width: calc(442 / var(--images-width) * 100%);
  top: 13%;
  right: 7%;
}
.intro[data-slug=home-island-retreat-awaits] .illustration {
  display: none;
}
@media (min-width: 768px) {
  .intro[data-slug=home-island-retreat-awaits] .illustration {
    display: block;
    position: absolute;
    left: -8%;
    transform: translateX(-50%);
    width: 190px;
    top: 109%;
  }
}
@media (min-width: 1280px) {
  .intro[data-slug=home-island-retreat-awaits] .illustration {
    top: 80%;
  }
}

.intro[data-slug=about-hotel-with-story] {
  --images-width: 1920;
  padding-top: 8rem;
  padding-bottom: 20rem;
}
@media (min-width: 768px) {
  .intro[data-slug=about-hotel-with-story].section {
    padding-bottom: 5rem;
  }
}
@media (min-width: 1024px) {
  .intro[data-slug=about-hotel-with-story].section {
    padding-bottom: 15rem;
  }
}
@media (max-width: 767px) {
  .intro[data-slug=about-hotel-with-story] {
    padding-bottom: calc(var(--gutter-x) * 0.5);
  }
}
@media (max-width: 767px) {
  .intro[data-slug=about-hotel-with-story]:before {
    margin-top: -7rem;
  }
}
.intro[data-slug=about-hotel-with-story] .images {
  width: calc(var(--images-width) * 1px);
  left: 50%;
  transform: translateX(-50%);
}
.intro[data-slug=about-hotel-with-story] .images .image {
  height: auto;
}
.intro[data-slug=about-hotel-with-story] .images .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.intro[data-slug=about-hotel-with-story] .images .image:nth-child(1) {
  aspect-ratio: 442/556;
  width: calc(442 / var(--images-width) * 100%);
  top: 2.5%;
  left: 7%;
}
.intro[data-slug=about-hotel-with-story] .images .image:nth-child(2) {
  aspect-ratio: 442/556;
  width: calc(442 / var(--images-width) * 100%);
  top: 13%;
  right: 7%;
}

.intro[data-slug=the-main-building-intro] {
  --images-width: 1920;
}
@media (min-width: 1024px) {
  .intro[data-slug=the-main-building-intro] {
    padding-bottom: 34rem;
  }
}
.intro[data-slug=the-main-building-intro] .images {
  width: calc(var(--images-width) * 1px);
  left: 50%;
  transform: translateX(-50%);
}
.intro[data-slug=the-main-building-intro] .images .image {
  height: auto;
}
.intro[data-slug=the-main-building-intro] .images .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.intro[data-slug=the-main-building-intro] .images .image:nth-child(1) {
  aspect-ratio: 441/356;
  width: calc(441 / var(--images-width) * 100%);
  top: 5%;
  left: 0%;
}
.intro[data-slug=the-main-building-intro] .images .image:nth-child(2) {
  aspect-ratio: 407/478;
  width: calc(407 / var(--images-width) * 100%);
  bottom: 12%;
  left: 9%;
}
.intro[data-slug=the-main-building-intro] .images .image:nth-child(3) {
  aspect-ratio: 440/363;
  width: calc(440 / var(--images-width) * 100%);
  bottom: 4%;
  left: 36%;
}
.intro[data-slug=the-main-building-intro] .images .image:nth-child(4) {
  aspect-ratio: 588/365;
  width: calc(588 / var(--images-width) * 100%);
  bottom: 5%;
  right: 7%;
  opacity: 0.8;
}
.intro[data-slug=the-main-building-intro] .images .image:nth-child(4)[data-csbp-cloned-to-decorations=true] {
  opacity: 0;
}
.intro[data-slug=the-main-building-intro] .images .image:nth-child(4) img {
  -o-object-fit: contain;
     object-fit: contain;
}
.intro[data-slug=the-main-building-intro] .images .image:nth-child(5) {
  aspect-ratio: 518/640;
  width: calc(518 / var(--images-width) * 100%);
  top: 0%;
  right: 0%;
}

.csbp-no-hero .site-main .intro:first-child:before {
  content: none;
}

body.page-privacy-policy .intro .text,
body.page-terms-conditions .intro .text,
body.page-cancellations .intro .text {
  text-align: left;
}
body.page-privacy-policy .intro .text .entry-content,
body.page-terms-conditions .intro .text .entry-content,
body.page-cancellations .intro .text .entry-content {
  text-align: left;
}

.intro-carousel__dots {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  z-index: 2;
  display: flex;
  gap: 0.5rem;
  pointer-events: auto;
}

.intro-carousel__dot {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  padding: 0;
  margin: 0;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background-color: white;
  opacity: 0.4;
  cursor: pointer;
}

.intro-carousel__dot.is-active,
.intro-carousel__dot[aria-current=true] {
  opacity: 1;
}

.intro-carousel__dot:focus-visible {
  opacity: 1;
  outline: 2px solid white;
  outline-offset: 2px;
}

.intro[data-slug=about-quiet-luxury] {
  --images-width: 1920;
  padding-top: 0;
  display: none;
}
@media (min-width: 1024px) {
  .intro[data-slug=about-quiet-luxury] {
    display: block;
    padding-bottom: 35rem;
  }
}
.intro[data-slug=about-quiet-luxury]:before {
  content: none;
}
.intro[data-slug=about-quiet-luxury] .heading--xl {
  font-size: 3.8rem;
}
.intro[data-slug=about-quiet-luxury] .images {
  width: calc(var(--images-width) * 1px);
  left: 50%;
  transform: translateX(-50%);
}
.intro[data-slug=about-quiet-luxury] .images .image {
  position: absolute;
}
.intro[data-slug=about-quiet-luxury] .images .image:nth-child(1) {
  aspect-ratio: 620/435;
  width: 33.5135135135%;
  height: auto;
  left: -2%;
  top: -7%;
}
.intro[data-slug=about-quiet-luxury] .images .image:nth-child(2) {
  aspect-ratio: 520/330;
  width: 28.1081081081%;
  height: auto;
  right: 2%;
  top: 3%;
}
.intro[data-slug=about-quiet-luxury] .images .image:nth-child(3) {
  aspect-ratio: 405/265;
  width: 21.8918918919%;
  height: auto;
  left: 7%;
  bottom: -2%;
}
.intro[data-slug=about-quiet-luxury] .images .image:nth-child(4) {
  aspect-ratio: 500/560;
  width: 27.027027027%;
  height: auto;
  bottom: -15%;
  left: 37%;
}
.intro[data-slug=about-quiet-luxury] .images .image:nth-child(5) {
  aspect-ratio: 380/260;
  width: 20.5405405405%;
  height: auto;
  right: 4%;
  bottom: 3%;
}

@media (min-width: 1024px) {
  .intro[data-slug=privacy] .wrapper,
  .intro[data-slug=terms] .wrapper,
  .intro[data-slug=cancellations] .wrapper {
    max-width: 880px;
  }
}

[data-slug] {
  position: relative;
}

html.csbp-disable-bgfx .bg-fx-items,
html.csbp-disable-bgfx .csbp-decorations-layer,
body.csbp-disable-bgfx .bg-fx-items,
body.csbp-disable-bgfx .csbp-decorations-layer {
  display: none !important;
}

.bg-fx-items {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: visible;
  --csbp-scale-factor: 1;
}

.bg-fx-item {
  position: absolute;
  opacity: var(--csbp-opacity, 1);
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(var(--csbp-rotate, 0deg)) scale(var(--csbp-scale, 1)) scale(var(--csbp-scale-factor, 1));
  transform-origin: center;
  mix-blend-mode: darken;
}

@media (max-width: 639px) {
  .bg-fx-items {
    --csbp-scale-factor: 0.5;
  }
}
.bg-fx-item.is-pos-top-left {
  left: 0%;
  top: 0%;
}

.bg-fx-item.is-pos-top {
  left: 50%;
  top: 0%;
}

.bg-fx-item.is-pos-top-right {
  left: 100%;
  top: 0%;
}

.bg-fx-item.is-pos-right {
  left: 100%;
  top: 50%;
}

.bg-fx-item.is-pos-bottom-left {
  left: 0%;
  top: 100%;
}

.bg-fx-item.is-pos-bottom {
  left: 50%;
  top: 100%;
}

.bg-fx-item.is-pos-bottom-right {
  left: 100%;
  top: 100%;
}

.bg-fx-item.is-pos-left {
  left: 0%;
  top: 50%;
}

.bg-fx-item.is-pos-center {
  left: 50%;
  top: 50%;
}

.bg-fx-item__img {
  display: block;
  width: var(--csbp-width, auto);
  max-width: none;
  height: auto;
}

.site-links {
  position: relative;
  container-type: inline-size;
  --site-links-bg-height: 66;
  color: white;
}
.site-links.section.inset {
  padding-top: 0;
}
.site-links .wrapper {
  position: relative;
  z-index: 1;
}
.site-links .text {
  padding-top: 4rem;
  padding-top: 3rem;
  padding-bottom: 5rem;
  padding-bottom: 0.5rem;
  position: relative;
  padding-left: 1rem;
  padding-right: 1rem;
}
@media (min-width: 1024px) {
  .site-links .text {
    padding-top: 5rem;
  }
}
.site-links .bg {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  z-index: -1;
  pointer-events: none;
  background-color: var(--brand--green);
  height: 150%;
}
.site-links .bg--green {
  background-color: var(--brand--green);
}
.site-links .bg--gold {
  background-color: var(--brand--gold);
}
.site-links .content {
  margin-top: 1rem;
  max-width: 735px;
  margin-left: auto;
  margin-right: auto;
}
body.resizing .site-links .items.flickity-enabled .flickity-slider,
body.resizing .site-links .items.flickity-enabled .flickity-viewport {
  transition: none !important;
}
.site-links .items {
  margin-top: 2.5rem;
  margin-top: 1rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  color: var(--brand--body-text-color);
}
@media (min-width: 768px) {
  .site-links .items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .site-links .items {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: calc(1024px - 1px)) {
  .site-links .items.is-flickity-initializing .flickity-slider,
  .site-links .items.is-flickity-initializing .flickity-viewport {
    transition: none !important;
  }
  .site-links .items {
    width: calc(100vw - 8rem);
    left: 50%;
    transform: translateX(-50%);
  }
  .site-links .items.flickity-enabled {
    display: block;
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 1.5rem;
  }
  .site-links .items:not(.flickity-enabled) {
    padding-left: calc(var(--gutter-x) * 0.5);
    padding-right: 0;
    scroll-padding-left: calc(var(--gutter-x) * 0.5);
    scroll-padding-right: 0;
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    gap: 1.5rem;
  }
  .site-links .items .flickity-viewport {
    overflow: visible;
  }
}
@media (max-width: calc(640px - 1px)) {
  .site-links .items {
    width: calc(100vw - 5rem);
    left: 50%;
    transform: translateX(-50%);
  }
  .site-links .items.flickity-enabled {
    display: block;
    padding-left: 0;
    padding-right: 0;
  }
  .site-links .items:not(.flickity-enabled) {
    padding-left: calc(var(--gutter-x) * 0.5);
    padding-right: 0;
    scroll-padding-left: calc(var(--gutter-x) * 0.5);
    scroll-padding-right: 0;
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    gap: 1.5rem;
  }
  .site-links .items .flickity-viewport {
    overflow: visible;
  }
}
.site-links .item {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  text-decoration: none;
}
@media (max-width: calc(1024px - 1px)) {
  .site-links .item {
    width: clamp(16rem, 80vw, 22rem);
  }
}
.site-links .item .image {
  aspect-ratio: 3/4;
  aspect-ratio: 550/650;
  overflow: hidden;
  aspect-ratio: 1;
  aspect-ratio: 550/650;
}
@media (min-width: 640px) {
  .site-links .item .image {
    aspect-ratio: 550/650;
  }
}
.site-links .item .image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.site-links .item .image.image--placeholder {
  background-color: color-mix(in srgb, var(--brand--body-text-color) 18%, white);
}
.site-links .item .content {
  margin-top: 0.75rem;
  flex: 1;
  margin-bottom: 1.5rem;
}
.site-links .item .cta {
  margin-top: 1.25rem;
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  border-top: 1px solid rgba(112, 112, 112, 0.2);
  height: 4rem;
  align-items: center;
  color: var(--brand--green);
}
.site-links .item:hover .arrow-link i {
  transform: translateX(1rem);
}
@media (max-width: calc(1024px - 1px)) {
  .site-links .items:not(.flickity-enabled) .item {
    flex: 0 0 auto;
    scroll-snap-align: start;
  }
  .site-links .items.flickity-enabled .item {
    margin-right: 1.5rem;
    height: auto;
  }
  .site-links .items.flickity-enabled .site-links__carousel-spacer {
    width: calc(var(--gutter-x) * 0.5);
    height: 1px;
    pointer-events: none;
  }
  .site-links .items.flickity-enabled .item:last-of-type {
    margin-right: 0;
  }
}
.site-links .item__body {
  padding: 2rem 0;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.site-links .item__body > .cta:last-child {
  margin-top: auto;
}
.site-links .--flickity-prev-next-button {
  border-radius: 0;
  width: 2.5rem;
  height: 2.5rem;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  background-color: white;
  transform: none;
  margin: 5px;
  top: 100%;
  bottom: auto;
  margin-top: -1.5rem;
}
.site-links .--flickity-prev-next-button.previous {
  right: 50%;
  left: auto;
}
.site-links .--flickity-prev-next-button.previous svg {
  transform: rotate(180deg);
}
.site-links .--flickity-prev-next-button.next {
  left: 50%;
  right: auto;
}

.site-links .flickity-prev-next-button.previous {
  left: 1rem;
  left: calc(50% - 50vw + 0.5rem);
  top: 30%;
}
.site-links .flickity-prev-next-button.next {
  right: 1rem;
  right: calc(50% - 50vw + 0.5rem);
  top: 30%;
}

.bg-texture.bg-texture--green:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../img/bg-texture--green.png");
  mix-blend-mode: luminosity;
  opacity: 0.4;
  /* background: red; */
}

body.resizing .site-links .items.flickity-enabled .item {
  transition: none !important;
}

.reviews {
  position: relative;
}
.reviews::before {
  content: "";
  display: block;
  width: 1px;
  height: 3.5rem;
  background-color: var(--brand--gold);
  margin-left: auto;
  margin-right: auto;
  margin-top: -5rem;
  margin-top: 0;
  margin-bottom: 1rem;
  position: relative;
  z-index: 9;
  pointer-events: none;
}
@media (min-width: 1024px) {
  .reviews::before {
    margin-top: -3rem;
    margin-top: -5rem;
  }
}
.reviews .wrapper {
  max-width: 730px;
}
.reviews .content {
  margin-top: 2rem;
}
.reviews .cta {
  margin-top: 2rem;
}
.reviews .bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  --wash-opacity: 0.5;
}
.reviews .bg:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.reviews .bg span:nth-child(1) {
  background-image: url("../img/wash--intro--orange--a.jpg");
  background-size: contain;
  aspect-ratio: 1;
  display: block;
  width: 100%;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(-50%, -50%);
  opacity: var(--wash-opacity);
}
.reviews .bg span:nth-child(2) {
  background-image: url("../img/wash--intro--orange--a.jpg");
  background-size: contain;
  aspect-ratio: 1;
  display: block;
  width: 100%;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(50%, -50%);
  opacity: var(--wash-opacity);
  display: none;
}
.reviews .bg span:nth-child(3) {
  background-image: url("../img/wash--intro--blue--a.jpg");
  background-size: contain;
  aspect-ratio: 1;
  display: block;
  width: 100%;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(50%, -50%);
  opacity: var(--wash-opacity);
}
.reviews .tripadvisor {
  margin-top: 3rem;
}
@media (max-width: calc(768px - 1px)) {
  .reviews .tripadvisor__header {
    flex-direction: column;
    gap: 1rem;
  }
}
.reviews .tripadvisor__logo {
  width: 208px;
}
.reviews .items {
  margin-top: 2.5rem;
}
.reviews .items:before {
  content: "";
  display: block;
  aspect-ratio: 1;
  width: 105px;
  height: auto;
  position: absolute;
  right: 0;
  bottom: 100%;
  margin-right: 0;
  background-image: url("/wp-content/themes/clicksmith-blueprint/assets/img/icon--bird-tree.png");
  background-size: contain;
  transform: translateY(12%);
  z-index: -1;
  opacity: 0.7;
  pointer-events: none;
}
@media (min-width: 1024px) {
  .reviews .items:before {
    width: 190px;
    margin-right: 3rem;
  }
}
@media (min-width: 1280px) {
  .reviews .items:before {
    width: 245px;
    margin-right: 3rem;
  }
}
.reviews__carousel {
  outline: none;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.reviews__card {
  width: clamp(16rem, 80vw, 380px);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  text-align: left;
  padding: 1.5rem;
  margin-right: 0.5rem;
  background-color: var(--brand--green);
  color: white;
  aspect-ratio: 385/450;
}
@media (min-width: 640px) {
  .reviews__card {
    aspect-ratio: 380/485;
  }
}
@media (min-width: 1024px) {
  .reviews__card {
    margin-right: 1.5rem;
  }
}
.reviews__card:nth-child(even) {
  background-color: rgba(11, 73, 36, 0.8);
}
.reviews__card:hover {
  opacity: 0.8;
}
.reviews__card-inner {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  height: 100%;
}
.reviews__stars {
  font-size: 1.1rem;
  letter-spacing: 0.05em;
  margin: 0;
  display: flex;
}
.reviews__text {
  margin: 0;
  margin-top: 1rem;
}
@media (min-width: 1024px) {
  .reviews__text {
    margin-top: 1.5rem;
  }
}
.reviews__text .heading {
  font-size: 1.8rem;
  font-weight: 600;
  margin-bottom: 1rem;
}
.reviews__text *:not(.heading) {
  font-size: 1rem;
}
.reviews__meta {
  margin-top: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  opacity: 0.85;
  font-size: 1rem;
}
@media (min-width: 1024px) {
  .reviews__meta {
    font-size: 1.1rem;
  }
}

.reviews .flickity-prev-next-button.previous {
  left: 0.5rem;
}
@media (min-width: 640px) {
  .reviews .flickity-prev-next-button.previous {
    left: 1rem;
  }
}
.reviews .flickity-prev-next-button.next {
  right: 0.5rem;
}
@media (min-width: 640px) {
  .reviews .flickity-prev-next-button.next {
    right: 1rem;
  }
}

.site-links + .reviews {
  margin-top: -3rem;
}

.rooms-teaser {
  position: relative;
}
.rooms-teaser::before {
  content: "";
  display: block;
  width: 1px;
  height: 3.5rem;
  background-color: var(--brand--gold);
  margin-left: auto;
  margin-right: auto;
  margin-top: -3rem;
  margin-bottom: 1rem;
}
.rooms-teaser .wrapper {
  max-width: 730px;
}
.rooms-teaser .illustration {
  max-width: 335px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1rem;
}
.rooms-teaser .content {
  margin-top: 2rem;
}
.rooms-teaser .cta {
  margin-top: 2rem;
}
.rooms-teaser .bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  --wash-opacity: 0.5;
}
.rooms-teaser .bg:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.rooms-teaser .bg span:nth-child(1) {
  background-image: url("../img/wash--intro--orange--a.jpg");
  background-size: contain;
  aspect-ratio: 1;
  display: block;
  width: 100%;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(-50%, -50%);
  opacity: var(--wash-opacity);
}
.rooms-teaser .bg span:nth-child(2) {
  background-image: url("../img/wash--intro--orange--a.jpg");
  background-size: contain;
  aspect-ratio: 1;
  display: block;
  width: 100%;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(50%, -50%);
  opacity: var(--wash-opacity);
  display: none;
}
.rooms-teaser .bg span:nth-child(3) {
  background-image: url("../img/wash--intro--blue--a.jpg");
  background-size: contain;
  aspect-ratio: 1;
  display: block;
  width: 100%;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(50%, -50%);
  opacity: var(--wash-opacity);
}

.full-width-image {
  position: relative;
  aspect-ratio: 1;
}
@media (min-width: 640px) {
  .full-width-image {
    aspect-ratio: 16/9;
  }
}
@media (min-width: 1024px) {
  .full-width-image.--no-content {
    aspect-ratio: unset;
    min-height: 960px;
  }
}
.full-width-image.section.inset {
  padding-top: 8rem;
}
@media (max-width: 1023px) {
  .full-width-image.section.inset {
    padding-top: 5rem;
  }
}
@media (min-width: 1024px) {
  .full-width-image .text .content,
  .full-width-image .gallery .content {
    max-width: 820px;
  }
}
.full-width-image .gallery {
  margin-top: 7rem;
}
@media (max-width: 1023px) {
  .full-width-image .gallery {
    display: none;
  }
}
.full-width-image .gallery img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.full-width-image .gallery .items {
  justify-content: space-between;
}
.full-width-image .gallery .item {
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.05);
}
.full-width-image .gallery .item:nth-child(1) {
  aspect-ratio: 402/525;
  height: 525px;
  width: auto;
  margin-bottom: -8rem;
  margin-left: -2rem;
}
.full-width-image .gallery .item:nth-child(2) {
  aspect-ratio: 254/332;
  height: 332px;
  width: auto;
  margin-top: -3rem;
  margin-right: 7rem;
}
.full-width-image .bg-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.full-width-image .bg-image:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-image: linear-gradient(17deg, transparent, rgba(0, 0, 0, 0.3));
}
@media (min-width: 1024px) {
  .full-width-image .bg-image:before {
    content: none;
  }
}
.full-width-image .bg-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 1023px) {
  .full-width-image .heading {
    color: white;
  }
}
.full-width-image .cta {
  margin-top: 3rem;
}
.full-width-image .cta a {
  color: white;
}
@media (min-width: 1024px) {
  .full-width-image .cta a {
    color: var(--brand--green);
  }
}
.full-width-image .cta .icon svg path {
  fill: white;
}
@media (min-width: 1024px) {
  .full-width-image .cta .icon svg path {
    fill: var(--brand--green);
  }
}
.full-width-image--style--a .items {
  align-items: flex-start;
}
.full-width-image--style--b .gallery .content {
  margin-left: auto;
}
.full-width-image--style--b .gallery .items {
  align-items: flex-end;
}
.full-width-image--style--b .gallery .item:nth-child(1) {
  aspect-ratio: 385/395;
  height: 395px;
  margin: 0;
  margin-bottom: -7rem;
  margin-left: -2rem;
}
.full-width-image--style--b .gallery .item:nth-child(2) {
  aspect-ratio: 402/525;
  height: 525px;
  margin: 0;
  margin-right: -7rem;
}
.full-width-image .link {
  font-size: 1.3rem;
}
@media (min-width: 1024px) {
  .full-width-image .link {
    font-size: 1rem;
    font-size: 1.3rem;
  }
}

.inset-carousel.section.inset {
  padding-top: 12rem;
  padding-bottom: 12rem;
}
.inset-carousel .callout {
  border: 4px solid var(--brand--gold);
  background-color: white;
  overflow: hidden;
  box-shadow: 0 0 20px color-mix(in srgb, var(--brand--gold) 10%, transparent 100%);
  box-shadow: 0 0 20px color-mix(in srgb, black 10%, transparent 100%);
}
@media (min-width: 1024px) {
  .inset-carousel .callout {
    box-shadow: none;
    border: 2rem solid var(--brand--gold);
    display: grid;
    grid-template-columns: 45% minmax(0, 1fr);
    align-items: stretch;
    gap: 2rem;
  }
}
@media (min-width: 1024px) {
  .inset-carousel .images,
  .inset-carousel .text {
    align-self: stretch;
  }
}
.inset-carousel .images {
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
}
@media (max-width: 1023px) {
  .inset-carousel .images {
    display: none;
  }
}
.inset-carousel .images .items {
  height: 100%;
  display: grid;
}
.inset-carousel .images .item {
  grid-area: 1/1;
  visibility: hidden;
  pointer-events: none;
  opacity: 0;
  transition: opacity var(--brand--transition-duration) var(--brand--transition-easing);
}
.inset-carousel .images .item.is-active {
  visibility: visible;
  pointer-events: auto;
  opacity: 1;
}
.inset-carousel .images img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 1;
  aspect-ratio: 680/660;
}
.inset-carousel .text {
  min-width: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 1.5rem;
}
@media (min-width: 1024px) {
  .inset-carousel .text {
    padding: 3rem 2rem;
  }
}
.inset-carousel .text > .heading {
  font-family: var(--brand--body-font);
  font-size: 1rem;
  margin-bottom: 1rem;
  font-weight: 500;
  font-size: 700;
}
.inset-carousel .text .items {
  flex: 1;
  display: grid;
  align-items: center;
}
.inset-carousel .text .item {
  grid-area: 1/1;
  visibility: hidden;
  pointer-events: none;
  opacity: 0;
  transform: translateX(1rem);
  transition: opacity var(--brand--transition-duration) var(--brand--transition-easing), transform var(--brand--transition-duration) var(--brand--transition-easing);
  gap: 1rem;
  display: flex;
  flex-direction: column;
}
.inset-carousel .text .item .cta {
  margin-top: 0.5rem;
}
.inset-carousel .text .item.is-active {
  visibility: visible;
  pointer-events: auto;
  opacity: 1;
  transform: translateX(0);
}
.inset-carousel .text .carousel-dots {
  display: flex;
  gap: 0.5rem;
  margin-top: 1.5rem;
}
.inset-carousel .text .carousel-dot {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid var(--brand--gold);
  background: transparent;
  width: 0.65rem;
  aspect-ratio: 1;
  border-radius: 999px;
  padding: 0;
  cursor: pointer;
  transition: background-color var(--brand--transition-duration) var(--brand--transition-easing), transform var(--brand--transition-duration) var(--brand--transition-easing);
}
.inset-carousel .text .carousel-dot.is-active,
.inset-carousel .text .carousel-dot[aria-selected=true] {
  background-color: var(--brand--gold);
}
.inset-carousel .text .carousel-dot:focus-visible {
  outline: 2px solid var(--brand--gold);
  outline-offset: 3px;
}

@media (min-width: 1024px) {
  .full-width-image + .inset-carousel.section {
    margin-top: 10rem;
    margin-bottom: 7rem;
  }
}

.explore {
  background-color: var(--brand--green);
  position: relative;
  --explore-map-height: clamp(320px, 45vw, 560px);
}
@media (max-width: 1023px) {
  .explore {
    display: none;
  }
}
.explore {
  --explore-map-height: 1400px;
}
@media (min-width: calc(1600px + 6rem)) {
  .explore {
    --explore-map-height: 1400px;
  }
}
.explore__viewport {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  display: flex;
  justify-content: center;
  overflow: hidden;
  margin-top: 2rem;
}
@media (max-width: 1023px) {
  .explore__viewport {
    display: none;
  }
}
.explore__frame {
  position: relative;
  height: var(--explore-map-height);
  flex: 0 0 auto;
  display: block;
}
.explore__image {
  height: 100%;
  width: auto;
  max-width: none;
}
.explore__image img {
  display: block;
  height: 100%;
  width: auto;
  max-width: none;
}
.explore__pins {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.explore__pin-wrap {
  position: absolute;
  top: var(--y);
  left: var(--x);
  transform: translate(-50%, -50%);
  pointer-events: auto;
  z-index: 2;
}
.explore__pin-wrap--popup-bottom .explore__popover {
  top: calc(100% + 1.5rem);
  bottom: auto;
}
.explore__pin-wrap--popup-bottom .explore__popover::after {
  top: auto;
  bottom: 100%;
  border-top: 0;
  border-bottom: 10px solid white;
  filter: drop-shadow(0 -1px 0 color-mix(in srgb, var(--brand--green) 18%, transparent));
}
.explore__pin-wrap--popup-left .explore__popover {
  right: calc(100% + 1.5rem);
  left: auto;
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
}
.explore__pin-wrap--popup-left .explore__popover::after {
  top: 50%;
  right: -8px;
  left: auto;
  transform: translateY(-50%);
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 10px solid white;
  border-right: 0;
  filter: drop-shadow(1px 0 0 color-mix(in srgb, var(--brand--green) 18%, transparent));
}
.explore__pin-wrap--popup-right .explore__popover {
  left: calc(100% + 1.5rem);
  right: auto;
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
}
.explore__pin-wrap--popup-right .explore__popover::after {
  top: 50%;
  left: -8px;
  right: auto;
  transform: translateY(-50%);
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 0;
  border-right: 10px solid white;
  filter: drop-shadow(-1px 0 0 color-mix(in srgb, var(--brand--green) 18%, transparent));
}
.explore__pin-wrap.is-open {
  z-index: 10;
}
.explore__pin-wrap.is-open .explore__pin {
  background-color: var(--brand--green);
  box-shadow: 0 0 3px var(--brand--green);
  background-color: #A1F6C3;
  box-shadow: 0 0 3px #A1F6C3;
}
.explore__pin-wrap.is-open .explore__pin-dot {
  background-color: white;
  background-color: var(--brand--green);
}
.explore__pin {
  --pin-size: 2.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  width: var(--pin-size);
  height: var(--pin-size);
  border-radius: 999px;
  background-color: var(--brand--gold);
  background-color: white;
  display: grid;
  place-items: center;
  box-shadow: 0 0 3px var(--brand--gold);
}
.explore__pin:hover {
  transform: scale(1.04);
}
.explore__pin:focus-visible {
  outline: 2px solid var(--brand--green);
  outline-offset: 3px;
}
.explore__pin-dot {
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 999px;
  background-color: white;
  background-color: var(--brand--gold);
  display: block;
}
.explore__popover {
  position: absolute;
  bottom: calc(100% + 1.5rem);
  left: 50%;
  transform: translateX(-50%);
  background-color: white;
  color: var(--brand--body-text-color);
  padding: 0;
  padding: 0.9rem;
  width: min(35rem, 86vw);
  z-index: 3;
  box-shadow: 0 0 14px 6px color-mix(in srgb, black 30%, transparent);
  container-type: inline-size;
  grid-template-columns: 35% 1fr;
  gap: 1.25rem;
  z-index: 9;
}
.explore__popover::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 10px solid white;
  filter: drop-shadow(0 1px 0 color-mix(in srgb, var(--brand--green) 18%, transparent));
}
.explore__popover:not([hidden]) {
  display: grid;
}
.explore__popover[hidden] {
  display: none !important;
}
.explore__pin-image {
  grid-column: 1;
  grid-row: 1;
  overflow: hidden;
  background-color: color-mix(in srgb, var(--brand--green) 10%, white);
  min-height: 10rem;
}
@supports (height: 1cqw) {
  .explore__pin-image {
    aspect-ratio: 1;
  }
}
.explore__pin-image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.explore__pin-text {
  grid-column: 2;
  grid-row: 1;
  padding: 0.3rem 1rem;
  padding: 0;
}
.explore__pin-text .heading {
  font-size: 1.7rem;
}
.explore__pin-text .content {
  font-size: 0.95rem;
  margin-top: 0.5rem;
  color: var(--brand--green);
}
.explore__popover-close {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  border: 0;
  background: transparent;
  cursor: pointer;
  padding: 0;
}
.explore__popover-close::before, .explore__popover-close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1rem;
  height: 2px;
  background-color: var(--brand--green);
  transform-origin: center;
}
.explore__popover-close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.explore__popover-close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.explore .text {
  position: absolute;
  bottom: 0;
  width: 100%;
}
@media (max-width: 1023px) {
  .explore .text {
    display: none;
  }
}
.explore .text .wrapper .heading {
  position: absolute;
  bottom: 8rem;
  left: 0;
  color: white;
  z-index: 9;
  font-size: 10rem;
  width: 710px;
  height: auto;
  line-height: 0.5;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
}
.explore .text .wrapper .heading span[data-word=the] {
  font-size: 5.2rem;
  font-style: italic;
  transform: translate(1.5rem, -0.8rem);
}
.explore .text .wrapper .heading span[data-word=grounds] {
  margin-left: auto;
}

.explore-mobile {
  background-color: var(--brand--green);
  color: white;
  position: relative;
  font-weight: 500;
  padding-top: 4rem;
  padding-bottom: 4rem;
}
@media (min-width: 1024px) {
  .explore-mobile {
    display: none;
  }
}
.explore-mobile.section.inset {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.explore-mobile:before {
  content: "";
  background-image: url("https://stocks-staging.clicksmith.co.uk/wp-content/uploads/2026/03/grounds-scaled.jpg");
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  position: absolute;
  inset: 0;
  opacity: 1;
}
.explore-mobile:after {
  content: "";
  display: block;
  background-image: linear-gradient(65deg, rgba(10, 73, 36, 0.75), rgba(10, 73, 36, 0.5));
  position: absolute;
  inset: 0;
  opacity: 1;
}
.explore-mobile .heading {
  font-weight: 500;
  color: white;
  z-index: 9;
  font-size: 3.8rem;
  width: 283px;
  height: auto;
  line-height: 0.6;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
}
.explore-mobile .heading span[data-word=the] {
  font-size: 0.5em;
  font-style: italic;
  transform: translate(25%, -25%);
}
.explore-mobile .heading span[data-word=grounds] {
  margin-left: auto;
}
.explore-mobile__dropdown {
  position: relative;
  z-index: 10;
  margin-bottom: 1.25rem;
}
.explore-mobile__trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  font: inherit;
  color: inherit;
  background: transparent;
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, white 35%, transparent);
  padding: 0.9rem 0;
  text-align: left;
  cursor: pointer;
  background-color: var(--brand--green);
  padding: 1rem;
  color: var(--brand--gold);
  font-weight: 400;
  font-size: 1rem;
}
.explore-mobile__trigger::after {
  content: "▾";
  flex: 0 0 auto;
  line-height: 1;
  font-size: 1.5rem;
  color: currentColor;
  transition: transform var(--brand--transition-duration) var(--brand--transition-easing);
}
.explore-mobile__trigger[aria-expanded=true]::after {
  transform: rotate(180deg);
}
.explore-mobile__menu {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 0.5rem);
  background-color: color-mix(in srgb, var(--brand--green) 70%, black);
  box-shadow: 0 0 0 1px color-mix(in srgb, white 22%, transparent);
  max-height: 16rem;
  overflow: auto;
  top: 100%;
}
.explore-mobile__option {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  width: 100%;
  padding: 0.75rem 1rem;
  text-align: left;
  cursor: pointer;
  font-size: 1rem;
}
.explore-mobile__option[aria-selected=true] {
  background-color: color-mix(in srgb, white 12%, transparent);
}
.explore-mobile__option:focus-visible {
  outline: 2px solid color-mix(in srgb, white 65%, transparent);
  outline-offset: -2px;
}
.explore-mobile__panel {
  position: relative;
  z-index: 9;
}
.explore-mobile__panels {
  position: relative;
  z-index: 9;
}
.explore-mobile__item {
  display: grid;
  gap: 1rem;
}
.explore-mobile__item-image {
  overflow: hidden;
  background-color: color-mix(in srgb, var(--brand--green) 10%, white);
  aspect-ratio: 16/9;
}
.explore-mobile__item-image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.explore-mobile .bg-image {
  display: none;
  position: absolute;
  inset: 0;
  z-index: -1;
}
.explore-mobile .bg-image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.explore-mobile.accordion .grid {
  gap: 3rem;
}
.explore-mobile.accordion .item {
  border-color: white;
}
.explore-mobile.accordion .item__heading {
  font-weight: 700;
}
.explore-mobile.accordion .item__heading::after {
  color: white;
}

.accommodation {
  --accommodation-top-bg: transparent;
  --accommodation-gap: 0;
  --rooms-gap: 1.5rem;
}
@media (min-width: 1024px) {
  .accommodation {
    --accommodation-gap: 2rem;
  }
}
.accommodation__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--accommodation-gap);
  align-items: stretch;
}
@media (min-width: 1024px) {
  .accommodation__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto auto;
  }
}
.accommodation .text {
  grid-column: 1;
  grid-row: 1;
  position: relative;
  isolation: isolate;
  z-index: 0;
  padding-top: 3rem;
  padding-bottom: 3rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
@media (min-width: 640px) {
  .accommodation .text {
    padding-top: 7rem;
    padding-bottom: 7rem;
    padding-left: 0;
    padding-right: 0;
  }
}
.accommodation .text .content {
  margin-top: 1rem;
}
.accommodation .text .cta {
  margin-top: 2rem;
  gap: 0.5rem;
}
.accommodation .bg {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  z-index: -1;
  pointer-events: none;
  background-color: var(--brand--green);
}
.accommodation .bg--green {
  background-color: var(--brand--green);
}
.accommodation .bg--gold {
  background-color: var(--brand--gold);
}
@media (min-width: 1024px) {
  .accommodation .bg {
    left: calc(50% + (100% + var(--accommodation-gap)) / 2);
  }
}
.accommodation .media {
  grid-column: 1;
  grid-row: 2;
  position: relative;
  overflow: hidden;
  z-index: 1;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  aspect-ratio: 1;
  min-height: 0;
}
@media (min-width: 768px) {
  .accommodation .media {
    aspect-ratio: 16/9;
  }
}
@media (min-width: 1024px) {
  .accommodation .media {
    width: auto;
    min-height: 16rem;
    margin-left: 0;
    margin-right: 0;
    aspect-ratio: auto;
    grid-column: 2;
    grid-row: 1/span 2;
    min-height: 20rem;
    max-width: none;
    width: min(50vw - var(--accommodation-gap) / 2, 960px - var(--accommodation-gap) / 2);
  }
}
.accommodation__image, .accommodation__video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.accommodation__image img, .accommodation__video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.accommodation__video {
  margin-top: 0;
  height: 100%;
}
@media (min-width: 1024px) {
  .accommodation__video {
    margin-top: 5rem;
    /* margin-bottom: 12rem; */
    height: calc(100% - 8rem);
  }
}
.accommodation__video-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 1024px) {
  .accommodation__video-wrap {
    padding-top: 0;
    padding-bottom: 0;
  }
}
.accommodation__video-play {
  position: relative;
  z-index: 2;
  padding: 0;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  transition: opacity 250ms var(--easeInOutQuart), transform 250ms var(--easeInOutQuart);
}
.accommodation__video-play .accommodation__video-play--icon--circle > *,
.accommodation__video-play .accommodation__video-play--icon--arrow > * {
  transform-origin: center;
}
.accommodation__video-play .accommodation__video-play--icon--stroke {
  transition: opacity 250ms var(--easeInOutQuart), transform 250ms var(--easeInOutQuart);
}
.accommodation__video-play:hover {
  transform: scale(1.15);
  opacity: 0.9;
}
.accommodation__video-play:hover .accommodation__video-play--icon--stroke {
  opacity: 0;
}
.accommodation__video-play-icon {
  width: 0;
  height: 0;
  border-top: 0.55rem solid transparent;
  border-bottom: 0.55rem solid transparent;
  border-left: 0.85rem solid currentColor;
  margin-left: 0.1rem;
}
.accommodation__video-play-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.accommodation__video-wrap.is-playing .accommodation__video-play {
  display: none;
}
.accommodation .key-features {
  grid-column: 1;
  grid-row: 3;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
@media (min-width: 1024px) {
  .accommodation .key-features {
    grid-column: 1;
    grid-row: 2;
    justify-self: end;
    align-self: end;
    padding-top: 2rem;
    padding-bottom: 3rem;
  }
}
.accommodation .rooms {
  width: 100vw;
  margin-left: calc(50% - 50vw);
}
@media (min-width: 1024px) {
  .accommodation .rooms {
    margin-top: 3rem;
    width: 100vw;
    margin-left: calc(50% - 50vw);
  }
}
.accommodation .rooms .heading {
  margin-top: 2rem;
}
.accommodation .rooms .content {
  margin-top: 1rem;
}
.accommodation .rooms__items {
  --rooms-wrapper-max: 100%;
  --rooms-left-pad: calc((100vw - min(100%, var(--rooms-wrapper-max))) / 2 + (var(--gutter-x) * 0.5));
  padding-left: var(--rooms-left-pad);
  padding-right: 0;
  padding-right: var(--rooms-left-pad);
}
@media (min-width: 640px) {
  .accommodation .rooms__items {
    --rooms-wrapper-max: 100vw;
  }
}
@media (min-width: 1024px) {
  .accommodation .rooms__items {
    --rooms-wrapper-max: 720px;
  }
}
@media (min-width: 1024px) {
  .accommodation .rooms__items {
    --rooms-wrapper-max: 960px;
  }
}
@media (min-width: 1280px) {
  .accommodation .rooms__items {
    --rooms-wrapper-max: 1200px;
  }
}
@media (min-width: 1536px) {
  .accommodation .rooms__items {
    --rooms-wrapper-max: 1440px;
  }
}
@media (min-width: calc(1600px + 6rem)) {
  .accommodation .rooms__items {
    --rooms-wrapper-max: 1600px;
  }
}
.accommodation .rooms .flickity-viewport {
  overflow: visible;
}
.accommodation .rooms__items:not(.flickity-enabled) {
  display: flex;
  overflow-x: auto;
  gap: var(--rooms-gap);
}
.accommodation .rooms__items .item {
  margin-right: var(--rooms-gap);
  width: 75%;
}
@media (min-width: 640px) {
  .accommodation .rooms__items .item {
    width: 36%;
    max-width: 550px;
  }
}
.accommodation .rooms__items .item .image {
  aspect-ratio: 550/650;
  overflow: hidden;
}
.accommodation .rooms__items .item .image.image--placeholder {
  background-color: color-mix(in srgb, var(--brand--body-text-color) 18%, white);
}
.accommodation .rooms__items .item .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.accommodation .rooms__items:not(.flickity-enabled) > .item {
  flex: 0 0 550px;
  margin-right: 0;
}
.accommodation .footer {
  font-size: 1.3rem;
  font-size: 1.1rem;
  margin-top: 2rem;
  border-top: 2px solid color-mix(in srgb, var(--brand--gold) 50%, transparent);
  padding-bottom: 3rem;
}
@media (min-width: 1024px) {
  .accommodation .footer {
    font-size: 1.3rem;
    margin-top: 4rem;
    padding-bottom: 7rem;
  }
}
.accommodation .footer:before {
  content: "";
  border-top: 1px solid color-mix(in srgb, var(--brand--gold) 50%, transparent);
  display: block;
  width: 100%;
  padding-top: 1rem;
  margin-top: 3px;
  opacity: 0.6;
}
.accommodation .footer a {
  font-size: inherit;
}
.accommodation:nth-child(odd) .text .heading,
.accommodation:nth-child(odd) .text .content {
  color: white;
}
.accommodation:nth-child(odd) .bg {
  background-color: var(--brand--green);
}
.accommodation:nth-child(even) .accommodation__video-play .accommodation__video-play--icon--arrow > * {
  stroke: var(--brand--gold);
  fill: var(--brand--gold);
}
.accommodation:nth-child(even) .text .heading {
  color: var(--brand--green);
}
.accommodation:nth-child(even) .text .content {
  color: inherit;
}
.accommodation:nth-child(even) .bg {
  background-color: var(--brand--gold);
}
.accommodation:nth-child(even) .inset-outline:before,
.accommodation:nth-child(even) .inset-outline:after {
  outline-color: color-mix(in srgb, var(--brand--green) 80%, transparent 0%);
}
.accommodation:nth-child(even) .inset-outline:after {
  outline-color: color-mix(in srgb, var(--brand--green) 40%, transparent 0%);
}

.accommodation .rooms__items .flickity-prev-next-button.previous {
  left: 1rem;
  left: calc(50% - 50vw + 0.5rem);
  top: 40%;
}
.accommodation .rooms__items .flickity-prev-next-button.previous svg {
  transform: rotate(180deg);
}
.accommodation .rooms__items .flickity-prev-next-button.next {
  right: 1rem;
  right: calc(50% - 50vw + 0.5rem);
  top: 40%;
}

.accommodation .bg-texture:after,
.accommodation + .accommodation + .accommodation .bg-texture:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../img/bg-texture--green.png");
  mix-blend-mode: luminosity;
  opacity: 0.4;
  /* background: red; */
}

.accommodation + .accommodation .bg-texture:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../img/bg-texture--gold.png");
  mix-blend-mode: luminosity;
  opacity: 0.2;
  /* background: red; */
}
.accommodation + .accommodation .cta .btn--gold {
  background-color: black;
  border-color: black;
}
.accommodation + .accommodation .cta .btn--gold:hover {
  background-color: transparent;
  color: black;
}

.accommodation-jump-links {
  display: none;
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 40;
  opacity: 0;
  visibility: hidden;
  transform: translateY(0.75rem);
  transition: opacity 250ms var(--easeInOutQuart), transform 250ms var(--easeInOutQuart), visibility 250ms var(--easeInOutQuart);
  pointer-events: none;
  max-width: min(22rem, 100vw - 2rem);
}
@media (min-width: 1280px) {
  .accommodation-jump-links {
    display: block;
    right: 2rem;
    top: var(--accommodation-jump-links-top, 1rem);
    bottom: auto;
  }
}
.accommodation-jump-links.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}
.accommodation-jump-links__list {
  list-style: none;
  margin: 0;
  padding: 0.5rem;
  background: color-mix(in srgb, var(--brand--green) 88%, black);
  border: 1px solid color-mix(in srgb, var(--brand--gold) 50%, transparent);
  box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.25);
  display: grid;
  gap: 0.25rem;
}
.accommodation-jump-links__item {
  margin: 0;
}
.accommodation-jump-links__link {
  display: block;
  text-decoration: none;
  color: color-mix(in srgb, white 80%, var(--brand--gold));
  font-size: 0.9rem;
  line-height: 1.2;
  padding: 0.45rem 0.65rem;
  border-left: 2px solid transparent;
  transition: color 200ms var(--easeInOutQuart), background-color 200ms var(--easeInOutQuart), border-color 200ms var(--easeInOutQuart);
}
.accommodation-jump-links__link:hover, .accommodation-jump-links__link:focus-visible {
  color: white;
  background-color: color-mix(in srgb, var(--brand--gold) 22%, transparent);
  border-left-color: color-mix(in srgb, var(--brand--gold) 70%, white);
  outline: none;
}
.accommodation-jump-links__link.is-active {
  color: var(--brand--gold);
  border-left-color: var(--brand--gold);
  background-color: color-mix(in srgb, var(--brand--gold) 16%, transparent);
}

.rooms-grid {
  position: relative;
  container-type: inline-size;
  --site-links-bg-height: 66;
  min-height: 36rem;
  color: white;
}
.rooms-grid.section.inset {
  padding-top: 0;
}
.rooms-grid .text {
  padding-top: 3rem;
  padding-bottom: 4rem;
  min-height: 0;
  padding-left: 1rem;
  padding-right: 1rem;
}
@media (min-width: 1024px) {
  .rooms-grid .text {
    padding-top: 5rem;
    padding-bottom: 5rem;
    min-height: 42rem;
  }
}
.rooms-grid .bg {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  z-index: -1;
  pointer-events: none;
  background-color: var(--brand--green);
}
.rooms-grid .bg--green {
  background-color: var(--brand--green);
}
.rooms-grid .bg--gold {
  background-color: var(--brand--gold);
}
.rooms-grid .content {
  margin-top: 1rem;
  max-width: 735px;
  margin-left: auto;
  margin-right: auto;
}
.rooms-grid .items {
  margin-top: 2.5rem;
  margin-top: -20rem;
  margin-top: 3rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
}
@media (min-width: 1024px) {
  .rooms-grid .items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.25rem;
    margin-top: -20rem;
    gap: 6rem;
  }
}
.rooms-grid .item {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  color: var(--brand--body-text-color);
}
.rooms-grid .item:nth-child(1) .heading {
  color: white;
  color: var(--brand--green);
}
@media (min-width: 1024px) {
  .rooms-grid .item:nth-child(1) .heading {
    color: var(--brand--green);
  }
}
@media (min-width: 1024px) {
  .rooms-grid .item:nth-child(1) .heading, .rooms-grid .item:nth-child(2) .heading {
    color: white;
  }
}
.rooms-grid .media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1;
}
@media (min-width: 640px) {
  .rooms-grid .media {
    aspect-ratio: 770/550;
  }
}
@media (min-width: 1024px) {
  .rooms-grid .media {
    aspect-ratio: 770/550;
  }
}
.rooms-grid .media img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.rooms-grid .media-carousel-ui {
  position: absolute;
  bottom: 0.75rem;
  right: 0.75rem;
  left: 0.75rem;
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
}
.rooms-grid .media-carousel-counter {
  color: var(--brand--body-text-color);
  color: white;
  font-weight: 600;
  font-size: 1rem;
}
.rooms-grid .media-carousel-nav {
  display: flex;
  gap: 0.5rem;
  pointer-events: auto;
}
.rooms-grid .media-carousel-btn {
  will-change: opacity, transform, background-color, box-shadow;
  transition: opacity 250ms var(--easeInOutQuart), transform 250ms var(--easeInOutQuart), background-color 250ms var(--easeInOutQuart), box-shadow 250ms var(--easeInOutQuart);
  width: var(--brand--btn-height);
  height: var(--brand--btn-height);
  display: grid;
  place-items: center;
  border: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  background-color: white;
  color: var(--brand--green);
}
.rooms-grid .media-carousel-btn .icon {
  will-change: opacity, transform, background-color, box-shadow;
  transition: opacity 250ms var(--easeInOutQuart), transform 250ms var(--easeInOutQuart), background-color 250ms var(--easeInOutQuart), box-shadow 250ms var(--easeInOutQuart);
}
.rooms-grid .media-carousel-btn:hover {
  opacity: 0.9;
}
.rooms-grid .media-carousel-btn.media-carousel-btn--prev:hover .icon {
  transform: translateX(-0.1rem);
}
.rooms-grid .media-carousel-btn.media-carousel-btn--next:hover .icon {
  transform: translateX(0.1rem);
}
.rooms-grid .media-carousel-btn:disabled {
  opacity: 0.5;
  cursor: default;
}
.rooms-grid .media-carousel {
  width: 100%;
  height: 100%;
}
.rooms-grid .media-carousel.flickity-enabled {
  display: block;
}
.rooms-grid .media-carousel .flickity-viewport {
  overflow: hidden;
}
.rooms-grid .media-single {
  width: 100%;
  height: 100%;
}
.rooms-grid .media-carousel__cell {
  width: 100%;
  height: 100%;
}
.rooms-grid .media-placeholder {
  width: 100%;
  height: 100%;
  background-color: color-mix(in srgb, var(--brand--body-text-color) 18%, transparent);
}
.rooms-grid .description {
  flex: 1;
}
.rooms-grid .cta-row {
  margin-top: auto;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media (min-width: 1024px) {
  .rooms-grid .cta-row {
    justify-content: flex-start;
  }
}
.rooms-grid .cta-row a:hover .icon {
  transform: translateX(5px);
}

.links-grid .wrapper hr {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  border-top: 2px solid color-mix(in srgb, var(--brand--gold) 50%, transparent);
}
.links-grid .wrapper hr:before {
  content: "";
  border-top: 1px solid color-mix(in srgb, var(--brand--gold) 50%, transparent);
  display: block;
  width: 100%;
  padding-top: 5rem;
  margin-top: 3px;
  opacity: 0.6;
}
.links-grid .items {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  gap: 2rem;
}
@media (min-width: 768px) {
  .links-grid .items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .links-grid .items {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: calc(1024px - 1px)) {
  .links-grid .items.is-flickity-initializing .flickity-slider,
  .links-grid .items.is-flickity-initializing .flickity-viewport {
    transition: none !important;
  }
  .links-grid .items {
    width: calc(100vw - 8rem);
    left: 50%;
    transform: translateX(-50%);
  }
  .links-grid .items.flickity-enabled {
    display: block;
    padding-left: 0;
    padding-right: 0;
  }
  .links-grid .items:not(.flickity-enabled) {
    padding-left: calc(var(--gutter-x) * 0.5);
    padding-right: 0;
    scroll-padding-left: calc(var(--gutter-x) * 0.5);
    scroll-padding-right: 0;
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    gap: 1.5rem;
  }
  .links-grid .items .flickity-viewport {
    overflow: visible;
  }
}
@media (max-width: calc(640px - 1px)) {
  .links-grid .items {
    width: calc(100vw - 3rem);
    left: 50%;
    transform: translateX(-50%);
  }
  .links-grid .items.flickity-enabled {
    display: block;
    padding-left: 0;
    padding-right: 0;
  }
  .links-grid .items:not(.flickity-enabled) {
    padding-left: calc(var(--gutter-x) * 0.5);
    padding-right: 0;
    scroll-padding-left: calc(var(--gutter-x) * 0.5);
    scroll-padding-right: 0;
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    gap: 1.5rem;
  }
  .links-grid .items .flickity-viewport {
    overflow: visible;
  }
}
.links-grid .item {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  gap: 1rem;
  text-decoration: none;
}
@media (max-width: calc(1024px - 1px)) {
  .links-grid .item {
    width: clamp(16rem, 80vw, 22rem);
    margin-right: 1.5rem;
  }
}
.links-grid .item:hover .arrow-link i {
  transform: translateX(1rem);
}
.links-grid .image {
  aspect-ratio: 515/650;
  overflow: hidden;
}
.links-grid .image--placeholder {
  background-color: color-mix(in srgb, var(--brand--body-text-color) 18%, transparent);
}
.links-grid .image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.links-grid .link {
  font-family: var(--brand--heading-font);
  color: var(--brand--green);
  text-decoration: none;
  font-size: 1.5rem;
  line-height: 1.1;
}
@media (min-width: 1024px) {
  .links-grid .link {
    font-size: 1.7rem;
  }
}
.links-grid .link span {
  display: flex;
}

.room-details {
  --room-details-gap: 4rem;
}
.room-details__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--room-details-gap);
  align-items: start;
}
.room-details .text .content {
  margin-top: 1rem;
}
.room-details .text .cta {
  margin-top: 2rem;
}
.room-details__features-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.room-details__feature {
  display: flex;
  gap: 1.5rem;
  align-items: baseline;
  align-items: center;
  height: 2rem;
}
.room-details__feature .icon {
  width: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.room-details__feature-label {
  font-weight: 600;
}
@media (min-width: 768px) {
  .room-details {
    --room-details-gap: 5rem;
  }
  .room-details__grid {
    grid-template-columns: minmax(0, 8fr) minmax(0, 5fr) minmax(0, 7fr);
  }
}

.room-gallery {
  --room-gallery--ratio: 750 / 850;
}
.room-gallery .items {
  display: none;
}
@media (min-width: 1024px) {
  .room-gallery .room-gallery-images-carousel {
    display: none;
  }
  .room-gallery .items {
    display: block;
  }
}
.room-gallery .room-gallery-images-carousel .intro-carousel__items {
  aspect-ratio: var(--room-gallery--ratio);
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
}
.room-gallery .room-gallery-images-carousel .intro-carousel__item {
  position: absolute;
  inset: 0;
  visibility: hidden;
  pointer-events: none;
  opacity: 0;
  transition: opacity var(--brand--transition-duration) var(--brand--transition-easing);
}
.room-gallery .room-gallery-images-carousel .intro-carousel__item.is-active {
  visibility: visible;
  pointer-events: auto;
  opacity: 1;
}
.room-gallery .room-gallery-images-carousel img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.room-gallery .items {
  position: relative;
  width: 100%;
  max-width: 100%;
  aspect-ratio: var(--room-gallery--ratio);
}
.room-gallery .item {
  position: absolute;
  overflow: hidden;
  margin: 0;
  width: var(--w);
  left: var(--x);
  top: var(--y);
  aspect-ratio: var(--ratio);
}
.room-gallery .item img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.room-gallery .item--slot-1 {
  --w: 54%;
  --x: -5%;
  --y: -1%;
  --ratio: 3/2;
}
.room-gallery .item--slot-2 {
  --w: 47%;
  --x: 57%;
  --y: 3%;
  --ratio: 5/6;
}
.room-gallery .item--slot-3 {
  --w: 35%;
  --x: 6%;
  --y: 35%;
  --ratio: 3/4;
}
.room-gallery .item--slot-4 {
  --w: 50%;
  --x: 48%;
  --y: 58%;
  --ratio: 3/2;
}
.room-gallery .item--slot-5 {
  --w: 33%;
  --x: 10%;
  --y: 81%;
  --ratio: 3/2;
}
.room-gallery .illustration {
  display: none;
}
@media (min-width: 1024px) {
  .room-gallery .illustration {
    display: block;
    position: absolute;
    aspect-ratio: 390/260;
    width: 20.3125%;
    height: auto;
    left: 45%;
    top: 44%;
  }
}
.room-gallery .illustration img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}

.accordion .wrapper hr {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  border-top: 2px solid color-mix(in srgb, var(--brand--gold) 50%, transparent);
}
.accordion .wrapper hr:before {
  content: "";
  border-top: 1px solid color-mix(in srgb, var(--brand--gold) 50%, transparent);
  display: block;
  width: 100%;
  margin-top: 3px;
  opacity: 0.6;
  padding-top: 2rem;
}
@media (min-width: 1024px) {
  .accordion .wrapper hr:before {
    padding-top: 5rem;
  }
}
.accordion .grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  align-items: start;
}
@media (min-width: 1024px) {
  .accordion .grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    gap: 3rem;
  }
}
.accordion .items {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.accordion .item {
  border-bottom: 1px solid color-mix(in srgb, var(--brand--body-text-color) 20%, transparent);
}
.accordion .item__heading {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 0;
}
.accordion .item__heading::-webkit-details-marker {
  display: none;
}
.accordion .item__heading::after {
  content: "+";
  flex: 0 0 auto;
  line-height: 1;
  font-size: 1.5rem;
  color: var(--brand--green);
  transition: transform var(--brand--transition-duration) var(--brand--transition-easing);
}
.accordion .item[open] .item__heading::after {
  transform: rotate(45deg);
}
.accordion .item__content {
  overflow: hidden;
  height: auto;
  padding: 0;
}
.accordion .item__content-inner {
  padding: 0 0 1rem;
}
.accordion .item__heading:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--brand--gold) 75%, transparent);
  outline-offset: 4px;
}

.accordion + .accordion .wrapper hr {
  display: none;
}

.rooms-carousel {
  --accommodation-top-bg: transparent;
  --accommodation-gap: 2rem;
  --rooms-gap: 1rem;
}
.rooms-carousel .rooms {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-top: 3rem;
}
.rooms-carousel .rooms .heading {
  margin-top: 2rem;
}
.rooms-carousel .rooms .content {
  margin-top: 1rem;
}
.rooms-carousel .rooms__items {
  --rooms-wrapper-max: 100%;
  --rooms-left-pad: calc((100vw - min(100%, var(--rooms-wrapper-max))) / 2 + (var(--gutter-x) * 0.5));
  padding-left: var(--rooms-left-pad);
  padding-right: 0;
}
@media (min-width: 640px) {
  .rooms-carousel .rooms__items {
    --rooms-wrapper-max: 600px;
  }
}
@media (min-width: 768px) {
  .rooms-carousel .rooms__items {
    --rooms-wrapper-max: 720px;
  }
}
@media (min-width: 1024px) {
  .rooms-carousel .rooms__items {
    --rooms-wrapper-max: 960px;
  }
}
@media (min-width: 1280px) {
  .rooms-carousel .rooms__items {
    --rooms-wrapper-max: 1200px;
  }
}
@media (min-width: 1536px) {
  .rooms-carousel .rooms__items {
    --rooms-wrapper-max: 1440px;
  }
}
@media (min-width: calc(1600px + 6rem)) {
  .rooms-carousel .rooms__items {
    --rooms-wrapper-max: 1600px;
  }
}
.rooms-carousel .rooms .flickity-viewport {
  overflow: visible;
}
.rooms-carousel .rooms__items:not(.flickity-enabled) {
  display: flex;
  overflow-x: auto;
  gap: var(--rooms-gap);
}
.rooms-carousel .rooms__items .item {
  width: 550px;
  margin-right: var(--rooms-gap);
}
.rooms-carousel .rooms__items .item .image {
  aspect-ratio: 550/650;
  overflow: hidden;
}
.rooms-carousel .rooms__items .item .image.image--placeholder {
  background-color: color-mix(in srgb, var(--brand--body-text-color) 18%, white);
}
.rooms-carousel .rooms__items .item .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.rooms-carousel .rooms__items:not(.flickity-enabled) > .item {
  flex: 0 0 550px;
  margin-right: 0;
}

.dining .header {
  position: relative;
  margin-bottom: 2rem;
}
.dining .header .icon {
  position: absolute;
  right: 0;
  margin-top: -7rem;
  display: none;
  aspect-ratio: 1;
  width: 30%;
  max-width: 290px;
  top: 50%;
  transform: translateY(-50%);
  margin-top: -2.5rem;
}
@media (min-width: 1024px) {
  .dining .header .icon {
    display: block;
  }
}
.dining .header .icon svg {
  aspect-ratio: 1;
  width: 100%;
  height: auto;
}
.dining .header .heading:before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 0;
  width: 1px;
  height: 3rem;
  background-color: var(--brand--gold);
  margin-bottom: 1rem;
}
@media (min-width: 1024px) {
  .dining .header .heading:before {
    height: 6rem;
  }
}
.dining .wrapper {
  z-index: 1;
}
.dining .wrapper > .image {
  display: none;
  display: block;
  margin-bottom: 1.5rem;
}
@media (min-width: 1024px) {
  .dining .wrapper > .image {
    display: block;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    margin-bottom: 2rem;
  }
}
.dining .wrapper > .image img {
  aspect-ratio: 1;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  max-height: 100%;
  padding: 0;
}
@media (min-width: 1024px) {
  .dining .wrapper > .image img {
    aspect-ratio: 1920/1080;
    padding: 3.5rem;
  }
}
.dining .wrapper > .image .bg {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  z-index: -1;
  pointer-events: none;
  background-color: var(--brand--green);
  display: none;
}
@media (min-width: 1024px) {
  .dining .wrapper > .image .bg {
    display: block;
  }
}
.dining .wrapper > .image .bg--green {
  background-color: var(--brand--green);
}
.dining .wrapper > .image .bg--gold {
  background-color: var(--brand--gold);
}
.dining .text {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
@media (min-width: 1024px) {
  .dining .text {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1280px) {
  .dining .text {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(175px, 175px) minmax(300px, 300px);
    align-items: start;
    gap: 3rem;
    margin-top: 5rem;
    margin-bottom: 5rem;
  }
}
.dining .opening-times {
  min-width: 175px;
}
.dining .book-table-menus {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-width: 295px;
}
@media (min-width: 1280px) {
  .dining .book-table-menus {
    min-width: 300px;
  }
}
.dining .book-table-menus .btn {
  width: 100%;
  justify-content: center;
}
.dining .book-table-menus .menu-select-custom {
  position: relative;
  width: 100%;
}
.dining .book-table-menus .menu-select-custom__trigger {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  min-height: 56px;
  padding: 0.875rem 3rem 0.875rem 1.25rem;
  border: 1px solid var(--brand--green);
  background: transparent;
  color: var(--brand--green);
  text-align: left;
  cursor: pointer;
  position: relative;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.dining .book-table-menus .menu-select-custom__trigger::after {
  content: "";
  position: absolute;
  right: 1rem;
  top: 50%;
  width: 0.6rem;
  height: 0.6rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-65%) rotate(45deg);
  transition: transform 0.2s ease;
}
.dining .book-table-menus .menu-select-custom__trigger:hover, .dining .book-table-menus .menu-select-custom__trigger:focus-visible {
  background-color: var(--brand--green);
  color: var(--color--white);
  outline: none;
}
.dining .book-table-menus .menu-select-custom__label {
  display: inline-block;
  line-height: 1.2;
}
.dining .book-table-menus .menu-select-custom__list-wrap {
  position: absolute;
  top: calc(100% + 0.5rem);
  left: 0;
  right: 0;
  z-index: 20;
  background-color: var(--color--white);
  border: 1px solid var(--brand--green);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.15);
}
.dining .book-table-menus .menu-select-custom__list {
  margin: 0;
  padding: 0.5rem 0;
  list-style: none;
  max-height: 18rem;
  overflow-y: auto;
  background-color: white;
}
.dining .book-table-menus .menu-select-custom__item {
  margin: 0;
}
.dining .book-table-menus .menu-select-custom__option {
  display: block;
  width: 100%;
  padding: 0.625rem 1.25rem;
  border: 0;
  background: transparent;
  text-align: left;
  color: var(--brand--green);
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.dining .book-table-menus .menu-select-custom__option:hover, .dining .book-table-menus .menu-select-custom__option:focus-visible {
  background-color: var(--brand--green);
  color: var(--color--white);
  outline: none;
}
.dining .book-table-menus .menu-select-custom__trigger[aria-expanded=true] {
  background-color: var(--brand--green);
  color: var(--color--white);
}
.dining .book-table-menus .menu-select-custom__trigger[aria-expanded=true]::after {
  transform: translateY(-35%) rotate(-135deg);
}
.dining .book-table-menus .menus {
  width: 100%;
}
.dining .gallery {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: 2rem;
  padding-left: 0;
  padding-right: 0;
}
@media (min-width: 1024px) {
  .dining .gallery {
    --gallery-wrapper-max: 100%;
    --gallery-left-pad: calc((100vw - min(100%, var(--gallery-wrapper-max))) / 2 + (var(--gutter-x) * 0.5));
    padding-left: var(--gallery-left-pad);
    padding-right: calc(var(--gutter-x) * 0.5);
  }
}
.dining .gallery:not(.flickity-enabled) {
  display: flex;
  overflow-x: auto;
  gap: 1rem;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}
.dining .gallery-item {
  flex: 0 0 auto;
  aspect-ratio: 1/1;
  overflow: hidden;
  margin-right: calc(var(--gutter-x) * 0.5);
  width: calc(100vw - var(--gutter-x));
  width: clamp(16rem, 80vw, 22rem);
  margin-right: 1.5rem;
  margin-right: 1px;
}
@media (min-width: 1024px) {
  .dining .gallery-item {
    margin-right: 0;
    width: min(425px, 80vw);
    max-width: 425px;
    aspect-ratio: 1/1;
    overflow: hidden;
    scroll-snap-align: start;
  }
}
@media (min-width: 1024px) {
  .dining .gallery.flickity-enabled .gallery-item {
    margin-right: 1rem;
  }
}
.dining .gallery-item img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  cursor: zoom-in;
}
.dining .flickity-viewport {
  overflow: visible;
}

.dining .gallery .flickity-prev-next-button {
  border-radius: 0;
  width: 2.5rem;
  height: 2.5rem;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  background-color: white;
  transform: none;
  margin: 5px;
  top: 100%;
  bottom: auto;
  margin-top: -1.5rem;
  margin-top: 0.5rem;
  margin: 5px;
  bottom: 0;
  top: auto;
  border: 1px solid var(--brand--green);
  top: 50%;
  bottom: auto;
  transform: translate(0, -50%);
  outline: none !important;
  box-shadow: none;
  background-color: var(--brand--green);
  box-shadow: 0 0 0.2rem rgba(0, 0, 0, 0.2);
  opacity: 0.9;
  will-change: transform;
  background-color: black;
  border-color: black;
  border-radius: 50%;
}
.dining .gallery .flickity-prev-next-button svg path {
  fill: white;
}
.dining .gallery .flickity-prev-next-button.previous {
  left: 1rem;
  left: calc(50% - 50vw + 0.5rem);
  top: 50%;
}
.dining .gallery .flickity-prev-next-button.previous svg {
  transform: rotate(180deg);
}
.dining .gallery .flickity-prev-next-button.next {
  right: 1rem;
  right: calc(50% - 50vw + 0.5rem);
  top: 50%;
}

html.has-gallery-lightbox-open {
  overflow: hidden;
}

.gallery-lightbox {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
}

.gallery-lightbox.is-open {
  display: block;
}

.gallery-lightbox__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.85);
}

.gallery-lightbox__dialog {
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem 1rem;
}

.gallery-lightbox__figure {
  margin: 0;
  max-width: min(1100px, 92vw);
}

.gallery-lightbox__img {
  display: block;
  max-width: 100%;
  max-height: 92vh;
  width: auto;
  height: auto;
}

.gallery-lightbox__embed {
  display: block;
  width: min(1100px, 92vw);
  height: min(85vh, 760px);
  border: 0;
}

.gallery-lightbox__caption {
  margin-top: 0.75rem;
  margin-left: auto;
  margin-right: auto;
  max-width: min(70ch, 92vw);
  color: #fff;
  text-align: center;
  font-size: 0.95rem;
  line-height: 1.4;
}

.gallery-lightbox__close,
.gallery-lightbox__nav {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid rgba(255, 255, 255, 0.65);
  background: rgba(0, 0, 0, 0.25);
  color: #fff;
  cursor: pointer;
}

.gallery-lightbox__close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 2.75rem;
  height: 2.75rem;
  font-size: 2rem;
  line-height: 1;
}

.gallery-lightbox__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 3.25rem;
  height: 3.25rem;
  font-size: 2.5rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.gallery-lightbox__nav[disabled] {
  opacity: 0.4;
  cursor: default;
}

.gallery-lightbox__nav--prev {
  left: 1rem;
}

.gallery-lightbox__nav--next {
  right: 1rem;
}

.dining + .dining {
  margin-top: 6rem;
}
@media (min-width: 1024px) {
  .dining + .dining {
    margin-top: 12rem;
  }
}
.dining + .dining .header .icon {
  display: none;
}

.csbp-gallery .wrapper {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.csbp-gallery .text {
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
}
.csbp-gallery .content {
  margin-top: 2rem;
}
.csbp-gallery__items {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.25rem;
  gap: 1px;
}
@media (max-width: calc(1024px - 1px)) {
  .csbp-gallery__items {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: calc(768px - 1px)) {
  .csbp-gallery__items {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
  .csbp-gallery__items.is-flickity-initializing .flickity-slider,
  .csbp-gallery__items.is-flickity-initializing .flickity-viewport {
    transition: none !important;
  }
  .csbp-gallery__items.flickity-enabled {
    display: block;
    padding-left: 0;
    padding-right: 0;
  }
  .csbp-gallery__items:not(.flickity-enabled) {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    gap: 1rem;
    padding-left: calc(var(--gutter-x) * 0.5);
    padding-right: calc(var(--gutter-x) * 0.5);
    scroll-padding-left: calc(var(--gutter-x) * 0.5);
    scroll-padding-right: calc(var(--gutter-x) * 0.5);
  }
  .csbp-gallery__items .flickity-viewport {
    overflow: visible;
  }
}
.csbp-gallery .gallery-item {
  display: block;
  text-decoration: none;
  margin: 0;
}
@media (max-width: calc(768px - 1px)) {
  .csbp-gallery .gallery-item {
    flex: 0 0 auto;
    width: clamp(16rem, 78vw, 22rem);
    scroll-snap-align: start;
    margin-right: 1px;
  }
}
.csbp-gallery .image {
  display: block;
  aspect-ratio: 1/1;
  overflow: hidden;
}
.csbp-gallery .image .csbp-gallery__reveal {
  display: block;
  width: 100%;
  height: 100%;
}
.csbp-gallery .image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.two-col-image-text .items {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
}
@media (min-width: 1024px) {
  .two-col-image-text .items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    -moz-column-gap: 4rem;
         column-gap: 4rem;
    row-gap: 4rem;
  }
}
.two-col-image-text .item {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  gap: 0;
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.04);
}
.two-col-image-text .image {
  aspect-ratio: 770/550;
  overflow: hidden;
}
.two-col-image-text .image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.two-col-image-text .text {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  padding: 1rem;
  padding: 1.5rem;
  background-color: white;
  flex: 1;
}
.two-col-image-text .cta {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: auto;
}

.images .wrapper {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-left: 0;
  padding-right: 0;
}
.images .image {
  overflow: hidden;
  aspect-ratio: 1;
}
.images .image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.images .images-carousel {
  margin-top: 0;
  padding-left: calc(var(--gutter-x) * 0.5);
  padding-right: calc(var(--gutter-x) * 0.5);
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 640px) {
  .images .images-carousel {
    max-width: 600px;
  }
}
@media (min-width: 768px) {
  .images .images-carousel {
    max-width: 720px;
  }
}
.images .images-carousel > .wrapper {
  display: block;
}
.images .wrapper.images__grid {
  display: none;
  max-width: 1600px;
}
@media (min-width: 1024px) {
  .images .images-carousel {
    display: none;
  }
  .images .wrapper.images__grid {
    display: grid;
  }
}
.images .intro-carousel__items {
  aspect-ratio: 1;
  width: min(100%, 420px);
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
}
.images .intro-carousel__item {
  position: absolute;
  inset: 0;
  visibility: hidden;
  pointer-events: none;
  opacity: 0;
  transition: opacity var(--brand--transition-duration) var(--brand--transition-easing);
}
.images .intro-carousel__item.is-active {
  visibility: visible;
  pointer-events: auto;
  opacity: 1;
}
.images .images-carousel img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.images--layout-a .wrapper,
.images--a .wrapper {
  display: grid;
  grid-template-columns: minmax(0, 435fr) minmax(0, 705fr) minmax(0, 705fr);
  gap: 1rem;
  align-items: start;
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto;
}
.images--layout-a .image,
.images--a .image {
  min-width: 0;
}
.images--layout-a .image:nth-child(1),
.images--a .image:nth-child(1) {
  aspect-ratio: 435/310;
}
.images--layout-a .image:nth-child(2),
.images--layout-a .image:nth-child(3),
.images--a .image:nth-child(2),
.images--a .image:nth-child(3) {
  aspect-ratio: 705/785;
}

.images--layout-b .wrapper,
.images--b .wrapper {
  display: grid;
  grid-template-columns: minmax(0, 1445fr) minmax(0, 435fr);
  grid-template-rows: auto auto;
  gap: 1rem;
  align-items: start;
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto;
}
.images--layout-b .wrapper:after,
.images--b .wrapper:after {
  content: "";
  display: block;
  background-image: url("../img/illustration--family.png");
  background-size: contain;
  background-position: center;
  position: absolute;
  bottom: 0;
  right: 0;
  aspect-ratio: 264/300;
  bottom: -6%;
  right: 3.4%;
  aspect-ratio: 264/300;
  width: 16%;
  height: auto;
}
.images--layout-b .image,
.images--b .image {
  min-width: 0;
}
.images--layout-b .image:nth-child(1),
.images--b .image:nth-child(1) {
  grid-column: 1;
  grid-row: 1/span 2;
  aspect-ratio: 1445/750;
}
.images--layout-b .image:nth-child(2),
.images--b .image:nth-child(2) {
  grid-column: 2;
  grid-row: 1;
  aspect-ratio: 435/310;
}
.images--layout-b .image:nth-child(3),
.images--b .image:nth-child(3) {
  grid-column: 2;
  grid-row: 2;
  align-self: stretch;
  opacity: 0;
}

.images[data-slug=discover-images-pre-landscape] .images__grid .image:nth-child(3) {
  padding: 2rem;
}
.images[data-slug=discover-images-pre-landscape] .images__grid .image:nth-child(3) img {
  -o-object-fit: contain;
     object-fit: contain;
  transform: translateY(2rem);
}

.text-content .wrapper {
  display: flex;
  align-items: flex-start;
  gap: calc(var(--d--f--gap) * 2);
}
.text-content .header {
  flex: 0 0 60%;
  min-width: 0;
}
.text-content .content {
  flex: 0 0 40%;
  min-width: 0;
}
@media (max-width: 1024px) {
  .text-content .wrapper {
    flex-direction: column;
  }
  .text-content .header,
  .text-content .content {
    flex: 0 0 auto;
    width: 100%;
  }
}

.text-image.section.text-image--style--b + .text-image.section.text-image--style--c {
  margin-top: -6rem;
}
@media (min-width: 1024px) {
  .text-image.section.text-image--style--b + .text-image.section.text-image--style--c .wrapper {
    padding-right: 0;
  }
}
.text-image.section.text-image--style--b + .text-image.section.text-image--style--c .image {
  margin-right: 1rem;
  margin-top: 1rem;
}
.text-image.section.text-image--style--b + .text-image.section.text-image--style--c .text {
  padding-top: 3rem;
}

/*
.--text-image[data-slug="mulberry"]
{
	.wrapper 
	{
		@media (max-width: 1023px)
		{
			flex-direction: column-reverse;
		}
	}
	.image 
	{
		@media (max-width: 1023px)
		{
			aspect-ratio: unset;
			width: 100vw;
			left: calc(50% - 50vw);
			display: block;
			position: relative;
		}

		img 
		{
			aspect-ratio: unset;

			@media (max-width: 1023px)
			{
				object-fit: contain;
			}
		}
	}
}
*/
.text-image .wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}
@media (min-width: 1024px) {
  .text-image .wrapper {
    gap: 4rem;
    max-width: 1600px;
  }
}
.text-image .text {
  flex: 0 0 35%;
  min-width: 0;
}
.text-image .heading {
  margin-bottom: 2rem;
}
.text-image .images {
  display: none;
}
.text-image .image-carousel {
  display: block;
  width: 100%;
}
@media (min-width: 1024px) {
  .text-image .image-carousel {
    display: none;
  }
}
.text-image .image-carousel .intro-carousel__items {
  aspect-ratio: 547/557;
  width: 100%;
  position: relative;
  overflow: hidden;
}
.text-image .image-carousel .intro-carousel__item {
  position: absolute;
  inset: 0;
  visibility: hidden;
  pointer-events: none;
  opacity: 0;
  transition: opacity var(--brand--transition-duration) var(--brand--transition-easing);
}
.text-image .image-carousel .intro-carousel__item.is-active {
  visibility: visible;
  pointer-events: auto;
  opacity: 1;
}
.text-image .image-carousel img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.text-image.text-image--style--images-l-x2--text-r-x1 .wrapper {
  align-items: stretch;
  justify-content: flex-start;
  flex-direction: column;
  gap: 2.5rem;
}
@media (min-width: 1024px) {
  .text-image.text-image--style--images-l-x2--text-r-x1 .wrapper {
    padding-left: 0;
    flex-direction: row;
    gap: clamp(2.5rem, 4vw, 4rem);
    align-items: center;
  }
}
.text-image.text-image--style--images-l-x2--text-r-x1 .text {
  min-width: 0;
}
@media (min-width: 1024px) {
  .text-image.text-image--style--images-l-x2--text-r-x1 .text {
    order: 2;
    flex: 0 0 35%;
  }
}
.text-image.text-image--style--images-l-x2--text-r-x1 .heading {
  text-align: left;
}
.text-image.text-image--style--images-l-x2--text-r-x1 .images {
  display: none;
}
@media (min-width: 1024px) {
  .text-image.text-image--style--images-l-x2--text-r-x1 .images {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    min-width: 0;
    align-content: start;
    order: 1;
    flex: 1;
  }
}
.text-image.text-image--style--images-l-x2--text-r-x1 .images .image {
  min-width: 0;
  aspect-ratio: 545/610;
  align-self: start;
}
.text-image.text-image--style--text-l-x2--image-r-x3 .heading {
  text-align: left;
}
.text-image.text-image--style--text-l-x2--image-r-x3 .text__items {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
.text-image.text-image--style--text-l-x2--image-r-x3 .text__items > *:not(:first-child):before {
  content: "";
  display: block;
  width: 3rem;
  height: 1px;
  background-color: var(--brand--gold);
  margin-left: auto;
  margin-right: auto;
  margin-top: 1.5rem;
  margin-bottom: 2.5rem;
}
.text-image.text-image--style--text-l-x2--image-r-x3 .wrapper {
  display: flex;
  flex-direction: column;
}
@media (min-width: 1024px) {
  .text-image.text-image--style--text-l-x2--image-r-x3 .wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: clamp(2.5rem, 4vw, 4rem);
    padding-right: 0;
  }
}
.text-image.text-image--style--text-l-x2--image-r-x3 .images {
  display: none;
}
@media (min-width: 1024px) {
  .text-image.text-image--style--text-l-x2--image-r-x3 .text {
    flex: 0 0 35%;
    min-width: 0;
  }
  .text-image.text-image--style--text-l-x2--image-r-x3 .images {
    flex: 1 1 auto;
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    align-content: start;
  }
  .text-image.text-image--style--text-l-x2--image-r-x3 .images .image {
    min-width: 0;
    align-self: start;
  }
  .text-image.text-image--style--text-l-x2--image-r-x3 .images .image:nth-child(1) {
    grid-column: 1/-1;
    aspect-ratio: 1145/780;
  }
  .text-image.text-image--style--text-l-x2--image-r-x3 .images .image:nth-child(2) {
    aspect-ratio: 545/610;
  }
  .text-image.text-image--style--text-l-x2--image-r-x3 .images .image:nth-child(3) {
    aspect-ratio: 545/430;
    margin-right: 1rem;
  }
  .text-image.text-image--style--text-l-x2--image-r-x3 .images .image img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.text-image.text-image--style--image-l-x3--text-r-x2 .heading {
  text-align: left;
}
.text-image.text-image--style--image-l-x3--text-r-x2 .wrapper {
  display: flex;
  flex-direction: column;
}
@media (min-width: 1024px) {
  .text-image.text-image--style--image-l-x3--text-r-x2 .wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: clamp(2.5rem, 4vw, 4rem);
    padding-left: 0;
  }
}
.text-image.text-image--style--image-l-x3--text-r-x2 .images {
  display: none;
}
@media (min-width: 1024px) {
  .text-image.text-image--style--image-l-x3--text-r-x2 .images {
    order: 1;
    flex: 0 0 38%;
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    align-content: start;
  }
}
@media (min-width: 1024px) {
  .text-image.text-image--style--image-l-x3--text-r-x2 .images .image {
    min-width: 0;
    align-self: start;
  }
}
@media (min-width: 1024px) {
  .text-image.text-image--style--image-l-x3--text-r-x2 .images .image:nth-child(1) {
    grid-column: 1/-1;
    aspect-ratio: 695/535;
  }
}
@media (min-width: 1024px) {
  .text-image.text-image--style--image-l-x3--text-r-x2 .images .image:nth-child(2) {
    aspect-ratio: 390/435;
  }
}
@media (min-width: 1024px) {
  .text-image.text-image--style--image-l-x3--text-r-x2 .images .image:nth-child(3) {
    aspect-ratio: 285/215;
  }
}
@media (min-width: 1024px) {
  .text-image.text-image--style--image-l-x3--text-r-x2 .images .image img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
@media (min-width: 1024px) {
  .text-image.text-image--style--image-l-x3--text-r-x2 .text {
    order: 2;
    flex: 1 1 auto;
    min-width: 0;
  }
}
.text-image.text-image--style--image-l-x3--text-r-x2 .text .text__items {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}
@media (min-width: 1024px) {
  .text-image.text-image--style--image-l-x3--text-r-x2 .text .text__items {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.5rem;
    align-content: start;
  }
}
.text-image.text-image--style--image-l-x3--text-r-x2 .text .text__items > *:not(:first-child):before {
  content: "";
  display: block;
  width: 3rem;
  height: 1px;
  background-color: var(--brand--gold);
  margin-left: auto;
  margin-right: auto;
  margin-top: 1.5rem;
  margin-bottom: 2.5rem;
}
@media (min-width: 1024px) {
  .text-image.text-image--style--image-l-x3--text-r-x2 .text .text__items > *:not(:first-child):before {
    display: none;
  }
}
@media (min-width: 1024px) {
  .text-image.text-image--style--image-l-x3--text-r-x2 .--wrapper {
    align-items: center;
    justify-content: flex-start;
    gap: clamp(2.5rem, 4vw, 4rem);
  }
  .text-image.text-image--style--image-l-x3--text-r-x2 .--images {
    order: 1;
    flex: 0 0 40%;
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    align-content: start;
  }
  .text-image.text-image--style--image-l-x3--text-r-x2 .--image-carousel {
    display: none;
  }
  .text-image.text-image--style--image-l-x3--text-r-x2 .--images .image {
    min-width: 0;
    align-self: start;
  }
  .text-image.text-image--style--image-l-x3--text-r-x2 .--images .image:nth-child(1) {
    grid-column: 1/-1;
    aspect-ratio: 695/535;
  }
  .text-image.text-image--style--image-l-x3--text-r-x2 .--images .image:nth-child(2) {
    aspect-ratio: 390/435;
  }
  .text-image.text-image--style--image-l-x3--text-r-x2 .--images .image:nth-child(3) {
    aspect-ratio: 285/215;
  }
  .text-image.text-image--style--image-l-x3--text-r-x2 .--images .image img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .text-image.text-image--style--image-l-x3--text-r-x2 .--text {
    order: 2;
    flex: 1 1 auto;
    min-width: 0;
  }
  .text-image.text-image--style--image-l-x3--text-r-x2 .--text__items {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.5rem;
    align-content: start;
  }
}
.text-image.text-image--style--text-l-x1--image-r-x1 .heading {
  text-align: left;
}
.text-image.text-image--style--text-l-x1--image-r-x1 .wrapper {
  display: flex;
  flex-direction: column;
}
@media (min-width: 1024px) {
  .text-image.text-image--style--text-l-x1--image-r-x1 .wrapper {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: clamp(2.5rem, 4vw, 4rem);
  }
}
@media (min-width: 1024px) {
  .text-image.text-image--style--text-l-x1--image-r-x1 .text {
    flex: 0 0 35%;
    min-width: 0;
  }
}
@media (min-width: 1024px) {
  .text-image.text-image--style--text-l-x1--image-r-x1 .images {
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
    align-self: stretch;
  }
}
@media (min-width: 1024px) {
  .text-image.text-image--style--text-l-x1--image-r-x1 .images .image {
    align-self: start;
    aspect-ratio: 870/470;
    align-self: stretch;
    aspect-ratio: unset;
    width: 100%;
    height: 100%;
  }
}
.text-image.text-image--style--text-l-x1--image-r-x1 .images .image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media (max-width: 1023px) {
  .text-image[data-slug=mulberry] .wrapper {
    flex-direction: column-reverse;
  }
}
@media (max-width: 1023px) {
  .text-image[data-slug=mulberry] .image {
    aspect-ratio: unset;
    width: 100vw;
    left: calc(50% - 50vw);
    display: block;
    position: relative;
  }
}
.text-image[data-slug=mulberry] .image img {
  aspect-ratio: unset;
}
@media (max-width: 1023px) {
  .text-image[data-slug=mulberry] .image img {
    -o-object-fit: contain;
       object-fit: contain;
  }
}
.text-image[data-slug=mulberry] .image-carousel .intro-carousel__items {
  aspect-ratio: unset;
}
.text-image[data-slug=mulberry] .image-carousel .intro-carousel__item {
  position: relative;
}
@media (max-width: 1023px) {
  .text-image[data-slug=mulberry] .image-carousel img {
    -o-object-fit: contain;
       object-fit: contain;
  }
}
.text-image[data-slug=mulberry] .wrapper {
  flex-direction: column-reverse;
  align-items: stretch;
  gap: 2.5rem;
}
@media (min-width: 1024px) {
  .text-image[data-slug=mulberry] .wrapper {
    gap: 4rem;
    flex-direction: row-reverse;
    align-items: center;
    padding-left: 0;
  }
}
.text-image[data-slug=mulberry] .text {
  padding-left: calc(var(--gutter-x) * 0.5);
}
.text-image[data-slug=mulberry] .images .image {
  aspect-ratio: unset;
}
.text-image[data-slug=mulberry] .images .image img {
  aspect-ratio: unset;
  -o-object-fit: contain;
     object-fit: contain;
  height: auto;
}
@media (max-width: 1023px) {
  .text-image[data-slug=mulberry] .images .image img {
    -o-object-fit: contain;
       object-fit: contain;
  }
}

@media (min-width: 1024px) {
  .text-image[data-slug=discover-text-image-wildlife-nature] {
    margin-top: 0;
  }
}
@media (min-width: 1280px) {
  .text-image[data-slug=discover-text-image-wildlife-nature] {
    margin-top: -9rem;
  }
}
@media (min-width: 1536px) {
  .text-image[data-slug=discover-text-image-wildlife-nature] {
    margin-top: -12rem;
  }
}

.full-width-text .text {
  max-width: 59rem;
  margin-left: auto;
  margin-right: auto;
}
.full-width-text .text .heading {
  text-wrap: pretty;
}

@media (min-width: 1024px) {
  .intro[data-slug=about-quiet-luxury] + .full-width-text {
    margin-top: 15rem;
    margin-bottom: 9rem;
  }
}

.image-mosaic {
  --image-mosaic-gap: 1rem;
}
.image-mosaic .wrapper {
  container-type: inline-size;
}
.image-mosaic .text {
  margin-left: auto;
  margin-right: auto;
  max-width: 319px;
  margin-bottom: -5.5rem;
}
@media (min-width: 1536px) {
  .image-mosaic .text {
    max-width: 22cqw;
    margin-bottom: -6cqw;
  }
}
.image-mosaic .text .heading {
  font-size: 3.8rem;
  font-size: 48px;
}
@media (min-width: 1536px) {
  .image-mosaic .text .heading {
    font-size: 3.3cqw;
  }
}
.image-mosaic .images {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 1850/700;
  left: 50%;
  transform: translateX(-50%);
  min-width: 1536px;
}
.image-mosaic .image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.image-mosaic .image {
  position: absolute;
}
.image-mosaic .image:nth-child(1) {
  aspect-ratio: 620/435;
  width: 33.5135135135%;
  height: auto;
  left: -2%;
  top: -7%;
}
.image-mosaic .image:nth-child(2) {
  aspect-ratio: 520/330;
  width: 28.1081081081%;
  height: auto;
  right: 2%;
  top: 3%;
}
.image-mosaic .image:nth-child(3) {
  aspect-ratio: 405/265;
  width: 21.8918918919%;
  height: auto;
  left: 7%;
  bottom: -2%;
}
.image-mosaic .image:nth-child(4) {
  aspect-ratio: 500/560;
  width: 27.027027027%;
  height: auto;
  bottom: -15%;
  left: 37%;
}
.image-mosaic .image:nth-child(5) {
  aspect-ratio: 380/260;
  width: 20.5405405405%;
  height: auto;
  right: 4%;
  bottom: 3%;
}
.image-mosaic--style--a .wrapper {
  max-width: 1920px;
}
.image-mosaic--style--b .wrapper {
  max-width: 1920px;
}
.image-mosaic--style--c .images {
  width: 125%;
  left: 50%;
  transform: translateX(-50%);
  aspect-ratio: 1770/505;
  width: 1920px;
}
.image-mosaic--style--c .image:nth-child(1) {
  aspect-ratio: 605/780;
  width: 34.1807909605%;
  height: auto;
  left: -2%;
  top: -10%;
}
.image-mosaic--style--c .image:nth-child(2) {
  aspect-ratio: 655/505;
  width: 37.0056497175%;
  height: auto;
  left: 36%;
  top: 0%;
}
.image-mosaic--style--c .image:nth-child(3) {
  aspect-ratio: 470/610;
  width: 26.5536723164%;
  height: auto;
  left: auto;
  right: -3%;
  top: -55%;
}

@media (min-width: 1024px) {
  .inset-text[data-slug=year-round-hosting] + .image-mosaic {
    margin-top: -10rem;
  }
}

.inset-text {
  position: relative;
  overflow: hidden;
  container-type: inline-size;
  --site-links-bg-height: 66;
  color: white;
}
.inset-text .wrapper {
  position: relative;
  z-index: 1;
  container-type: inline-size;
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}
@media (min-width: 1024px) {
  .inset-text .wrapper {
    padding-left: calc(var(--gutter-x) * 0.5);
    padding-right: calc(var(--gutter-x) * 0.5);
  }
}
.inset-text .text {
  position: relative;
}
.inset-text .text .content {
  max-width: 735px;
  margin-left: auto;
  margin-right: auto;
}
.inset-text .bg {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  z-index: -1;
  pointer-events: none;
  background-color: var(--brand--green);
}
.inset-text .bg--green {
  background-color: var(--brand--green);
}
.inset-text .bg--gold {
  background-color: var(--brand--gold);
}
.inset-text .items {
  display: grid;
  grid-template-columns: 1fr;
  gap: 7rem;
  gap: 7cqw;
  margin-top: 2rem;
}
@media (min-width: 1024px) {
  .inset-text .items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .inset-text .item {
    text-align: center;
  }
}
.inset-text .item:before {
  content: "";
  display: block;
  width: 3rem;
  height: 1px;
  background-color: var(--brand--gold);
  margin-left: auto;
  margin-right: auto;
  margin-top: 1.5rem;
  margin-bottom: 2.5rem;
}
@media (min-width: 1024px) {
  .inset-text .item:before {
    content: none;
  }
}
.inset-text .heading {
  margin-bottom: 2rem;
}

.inset-text[data-slug=year-round-hosting] .text {
  padding-bottom: 7cqw;
}

.offers-grid .items {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (min-width: 1024px) {
  .offers-grid .items {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.offers-grid .item {
  display: flex;
  flex-direction: column;
  background-color: white;
  box-shadow: 0 0 1rem rgba(0, 0, 0, 0.04);
  text-decoration: none;
}
.offers-grid .image {
  aspect-ratio: 770/550;
  aspect-ratio: 515/480;
  overflow: hidden;
}
.offers-grid .image--placeholder {
  background-color: color-mix(in srgb, var(--brand--body-text-color) 18%, transparent);
}
.offers-grid .image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.offers-grid .body {
  flex: 1;
  padding: 1.5rem 0;
  padding: 2.5rem 1.5rem;
  padding: 1.5rem 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
@media (min-width: 1024px) {
  .offers-grid .body {
    padding: 2.5rem 1.5rem;
  }
}
.offers-grid .content {
  flex: 1;
  margin-bottom: 1rem;
}

@media (min-width: 1024px) {
  .two-col-text--offset .wrapper {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    -moz-column-gap: 1.5rem;
         column-gap: 1.5rem;
  }
}
@media (min-width: 1024px) {
  .two-col-text--offset .wrapper > .heading,
  .two-col-text--offset .wrapper > .items {
    grid-column: 2;
  }
}
.two-col-text .wrapper > .heading {
  margin-bottom: 2rem;
}
.two-col-text .items {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (min-width: 1024px) {
  .two-col-text .items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.two-col-text .cta {
  margin-top: 1.5rem;
}
.two-col-text + .two-col-text .wrapper {
  padding-top: 2rem;
}
.two-col-text + .two-col-text .wrapper:before, .two-col-text + .two-col-text .wrapper:after {
  content: "";
  position: absolute;
  display: block;
  height: 1px;
  background-color: var(--brand--gold);
  opacity: 0.8;
  top: 0;
  width: calc(100% - var(--gutter-x));
}
@media (min-width: 1024px) {
  .two-col-text + .two-col-text .wrapper:before, .two-col-text + .two-col-text .wrapper:after {
    width: 100%;
  }
}
.two-col-text + .two-col-text .wrapper:after {
  top: 0;
  margin-top: 4px;
  opacity: 0.4;
}

.image-mosaic[data-slug=year-round-hosting-images] + .two-col-text {
  margin-top: 0rem;
}

.gardens .wrapper hr {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  border-top: 2px solid color-mix(in srgb, var(--brand--gold) 50%, transparent);
}
.gardens .wrapper hr:before {
  content: "";
  border-top: 1px solid color-mix(in srgb, var(--brand--gold) 50%, transparent);
  display: block;
  width: 100%;
  margin-top: 3px;
  opacity: 0.6;
  padding-top: 2rem;
}
@media (min-width: 1024px) {
  .gardens .wrapper hr:before {
    padding-top: 5rem;
  }
}
@media (max-width: 1023px) {
  .gardens.section {
    margin-bottom: 1.5rem;
  }
}
.gardens .gardens-images-carousel {
  margin-top: 3rem;
}
.gardens .images {
  display: none;
}
@media (min-width: 1024px) {
  .gardens .gardens-images-carousel {
    display: none;
  }
  .gardens .images {
    display: block;
  }
}
.gardens .gardens-images-carousel .intro-carousel__items {
  aspect-ratio: 1;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
}
.gardens .gardens-images-carousel .intro-carousel__item {
  position: absolute;
  inset: 0;
  visibility: hidden;
  pointer-events: none;
  opacity: 0;
  transition: opacity var(--brand--transition-duration) var(--brand--transition-easing);
}
.gardens .gardens-images-carousel .intro-carousel__item.is-active {
  visibility: visible;
  pointer-events: auto;
  opacity: 1;
}
.gardens .gardens-images-carousel img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.gardens .text {
  min-width: 0;
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 1.5rem;
}
@media (min-width: 1024px) {
  .gardens .text {
    grid-template-columns: minmax(0, 1fr) minmax(0, 615px);
    -moz-column-gap: 2rem;
         column-gap: 2rem;
    row-gap: 0;
    align-items: start;
  }
}
.gardens .text .cta {
  margin-top: 2rem;
}
.gardens .content {
  min-width: 0;
}
.gardens--style--gardens .images {
  margin-top: 6rem;
  margin-bottom: 12rem;
  aspect-ratio: 1920/960;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
@media (min-width: 768px) {
  .gardens--style--gardens .images {
    min-width: 1137px;
  }
}
.gardens--style--gardens .image {
  position: absolute;
}
.gardens--style--gardens .image:nth-child(1) {
  aspect-ratio: 960/730;
  width: 50%;
  height: auto;
  left: -3%;
  top: -8%;
}
.gardens--style--gardens .image:nth-child(2) {
  aspect-ratio: 330/340;
  width: 17.1875%;
  height: auto;
  left: 53%;
  top: 0;
}
.gardens--style--gardens .image:nth-child(3) {
  aspect-ratio: 330/340;
  width: 17.1875%;
  height: auto;
  left: 7%;
  bottom: -9%;
}
.gardens--style--gardens .image:nth-child(4) {
  aspect-ratio: 645/605;
  width: 33.59375%;
  height: auto;
  left: 32%;
  bottom: -22%;
}
.gardens--style--gardens .image:nth-child(5) {
  aspect-ratio: 470/610;
  width: 24.4791666667%;
  height: auto;
  right: 4%;
  bottom: -10%;
}
.gardens--style--gardens .illustration {
  position: absolute;
  aspect-ratio: 440/355;
  width: 22.9166666667%;
  height: auto;
  right: -1%;
  top: 4%;
}
.gardens--style--gardens .illustration img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}
.gardens--style--carriages .images {
  margin-top: 6rem;
  margin-bottom: 12rem;
  aspect-ratio: 1920/1750;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
@media (min-width: 768px) {
  .gardens--style--carriages .images {
    min-width: 1137px;
  }
}
@media (min-width: 1024px) {
  .gardens--style--carriages .images {
    margin-top: -12rem;
  }
}
.gardens--style--carriages .image {
  position: absolute;
}
.gardens--style--carriages .image:nth-child(1) {
  aspect-ratio: 620/780;
  width: 32.2916666667%;
  height: auto;
  left: 0%;
  top: 0%;
}
.gardens--style--carriages .image {
  /*
  &:nth-child(2) 
  {
  	aspect-ratio: 605 / 405;
  	width: calc( 605 / 1920 * 100% );
  	height: auto;
  	left: 13%;
  	top: 35%;

  }
  	*/
}
.gardens--style--carriages .image:nth-child(2) {
  aspect-ratio: 960/730;
  width: 50%;
  height: auto;
  right: -1%;
  top: 23%;
}
.gardens--style--carriages .image:nth-child(3) {
  aspect-ratio: 445/610;
  width: 23.1770833333%;
  height: auto;
  left: 10%;
  bottom: 2%;
}
.gardens--style--carriages .image:nth-child(4) {
  aspect-ratio: 655/505;
  width: 34.1145833333%;
  height: auto;
  right: 9%;
  bottom: -1%;
}
.gardens--style--carriages .illustration {
  position: absolute;
  aspect-ratio: 605/405;
  width: 31.5104166667%;
  height: auto;
  left: 13%;
  top: 35%;
}
.gardens--style--carriages .illustration img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}

.gardens + .gardens.section {
  margin-top: 6rem;
  padding-top: 4rem;
}
@media (max-width: 1023px) {
  .gardens + .gardens.section {
    padding-top: 0;
    margin-top: 1.5rem;
    margin-top: 4rem;
  }
}

.contact.section {
  position: relative;
  overflow: hidden;
  container-type: inline-size;
  --site-links-bg-height: 66;
  color: white;
}
.contact.section .wrapper {
  position: relative;
  z-index: 1;
  container-type: inline-size;
}
@media (max-width: 1023px) {
  .contact.section .wrapper {
    max-width: 100%;
    padding-left: 4rem;
    padding-right: 4rem;
  }
}
@media (max-width: 639px) {
  .contact.section .wrapper {
    max-width: 100%;
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
.contact.section .text {
  position: relative;
  flex-direction: column;
}
@media (min-width: 1024px) {
  .contact.section .text {
    flex-direction: row;
  }
}
.contact.section .bg {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  height: 55%;
  z-index: -1;
  pointer-events: none;
  background-color: var(--brand--green);
}
.contact.section .bg--green {
  background-color: var(--brand--green);
}
.contact.section .bg--gold {
  background-color: var(--brand--gold);
}
.contact.section .map {
  margin-top: 2rem;
  aspect-ratio: 1;
  width: 100%;
  height: auto;
}
@media (min-width: 768px) {
  .contact.section .map {
    aspect-ratio: 1680/975;
  }
}
.contact.section .map iframe,
.contact.section .map .google-map {
  width: 100%;
  height: 100%;
  border: 0;
}
.contact.section .map .contact-map-infobox {
  --contact-map-infobox-offset: 48px;
  transform: translate(-50%, calc(-100% - var(--contact-map-infobox-offset)));
  background-color: var(--brand--green);
  color: white;
  padding: 1rem;
  max-width: 18rem;
  text-align: left;
  outline: none;
  -webkit-user-select: text;
     -moz-user-select: text;
          user-select: text;
  font-size: 1.1rem;
  border-radius: 4px;
}
.contact.section .map .contact-map-infobox::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -0.75rem;
  transform: translateX(-50%);
  border-style: solid;
  border-width: 0.75rem 0.75rem 0;
  border-color: var(--brand--green) transparent transparent;
}
.contact.section .map .contact-map-pin {
  width: 36px;
  height: 48px;
  transform-origin: 50%;
  transition: transform var(--brand--transition-duration) var(--brand--transition-easing);
  cursor: pointer;
}
.contact.section .map .contact-map-pin:hover {
  transform: scale(1.12);
}
.contact.section .map .contact-map-pin img {
  display: block;
  width: 100%;
  height: 100%;
}
.contact.section .heading {
  margin-bottom: 2rem;
}

.inset-text[data-slug=year-round-hosting] .text {
  padding-bottom: 7cqw;
}

.contact-form#contact-form {
  scroll-margin-top: calc(var(--site-header-mobile-height) + 1rem);
}
@media (min-width: 1280px) {
  .contact-form#contact-form {
    scroll-margin-top: calc(110px + 1rem);
  }
}
.contact-form__header {
  margin-bottom: 3rem;
}
@media (min-width: 1280px) {
  .contact-form .wrapper {
    max-width: 1200px;
  }
}
.contact-form.section.inset {
  padding-top: 0;
}
.contact-form .gfield_label {
  font-size: 1rem;
  font-weight: 500;
  color: var(--brand--green);
}
.contact-form select, .contact-form input[type=text], .contact-form input[type=email], .contact-form input[type=number], .contact-form input[type=tel], .contact-form input[type=password], .contact-form textarea {
  border: none;
  border-bottom: 1px solid var(--brand--green);
  color: var(--brand--green);
  font-size: 1rem;
  padding-left: 0;
  padding-right: 0;
}
.contact-form select::-moz-placeholder, .contact-form input[type=text]::-moz-placeholder, .contact-form input[type=email]::-moz-placeholder, .contact-form input[type=number]::-moz-placeholder, .contact-form input[type=tel]::-moz-placeholder, .contact-form input[type=password]::-moz-placeholder, .contact-form textarea::-moz-placeholder {
  font-style: italic;
  color: var(--brand--green);
  opacity: 0.5;
}
.contact-form select::placeholder, .contact-form input[type=text]::placeholder, .contact-form input[type=email]::placeholder, .contact-form input[type=number]::placeholder, .contact-form input[type=tel]::placeholder, .contact-form input[type=password]::placeholder, .contact-form textarea::placeholder {
  font-style: italic;
  color: var(--brand--green);
  opacity: 0.5;
}
.contact-form .gform_wrapper form, .contact-form .gform_body, .contact-form .gform_fields {
  gap: 2rem 1rem;
}
@media (min-width: 640px) {
  .contact-form .gform_wrapper form, .contact-form .gform_body, .contact-form .gform_fields {
    gap: 5rem 1rem;
  }
}
.contact-form .gform_validation_errors {
  margin-bottom: 3rem;
}
.contact-form .gform_validation_errors h2 {
  font-family: var(--brand--body-font);
  font-size: 1.1rem;
  color: red;
  text-align: center;
  background-color: #fff2f4;
  border: 1px solid red;
  padding: 1rem;
  margin-bottom: 2rem;
}
@media (min-width: 640px) {
  .contact-form .gform_validation_errors h2 {
    font-size: 1.2rem;
  }
}
.contact-form .gform_validation_errors ol, .contact-form .gform_validation_errors ul {
  display: none;
}
@media (max-width: 1023px) {
  .contact-form .gfield--width-half,
  .contact-form .gfield--width-third {
    width: 100%;
  }
}

.cs-form--subscribe,
.cs-form--consent {
  text-align: center;
}

.cs-form--subscribe + .cs-form--consent {
  margin-top: -4rem;
}

.gform-footer {
  text-align: center;
}

.restaurant-intro--a .wrapper {
  gap: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
}
@media (min-width: 1024px) {
  .restaurant-intro--a .wrapper {
    gap: 4rem;
    flex-direction: row;
  }
}
@media (min-width: 1024px) {
  .restaurant-intro--a .text,
  .restaurant-intro--a .image {
    flex: 1 1 0;
    width: 100%;
  }
}
.restaurant-intro--a .text {
  max-width: 920px;
}
.restaurant-intro--a .text .content {
  margin-top: 2rem;
}
@media (min-width: 1024px) {
  .restaurant-intro--a .text .content {
    width: 75%;
  }
}
@media (min-width: 1024px) {
  .restaurant-intro--a .text .content {
    width: 75%;
  }
}
.restaurant-intro--a .image {
  aspect-ratio: 1;
  width: 100%;
  height: auto;
  overflow: hidden;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  display: none;
}
@media (min-width: 640px) {
  .restaurant-intro--a .image {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 1024px) {
  .restaurant-intro--a .image {
    display: block;
    margin-left: 0;
    margin-right: calc(50% - min(50vw, 960px));
    aspect-ratio: 470/610;
    max-width: 470px;
    width: 100%;
  }
}
.restaurant-intro--a .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.restaurant-intro--b.section.inset {
  margin-top: -3rem;
}
@media (min-width: 1024px) {
  .restaurant-intro--b.section.inset {
    margin-top: -9rem;
  }
}
.restaurant-intro--b .wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}
@media (min-width: 1024px) {
  .restaurant-intro--b .wrapper {
    display: flex;
    align-items: stretch;
    gap: 4rem;
    align-items: center;
    justify-content: space-between;
    flex-direction: row-reverse;
    margin-top: -4rem;
  }
}
@media (min-width: 1024px) {
  .restaurant-intro--b .text,
  .restaurant-intro--b .image {
    flex: 1 1 0;
    width: 100%;
  }
}
@media (min-width: 1024px) {
  .restaurant-intro--b .text {
    max-width: 590px;
  }
}
.restaurant-intro--b .text .content {
  margin-top: 2rem;
}
.restaurant-intro--b .text > .image {
  display: block;
  aspect-ratio: 1;
  max-width: 483px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 6rem;
  width: 60%;
  position: relative;
  overflow: visible;
}
@media (min-width: 640px) {
  .restaurant-intro--b .text > .image {
    margin-bottom: 7rem;
  }
}
@media (min-width: 1024px) {
  .restaurant-intro--b .text > .image {
    display: block;
    aspect-ratio: 1;
    max-width: 483px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 3rem;
    width: 60%;
    position: relative;
    overflow: visible;
  }
}
.restaurant-intro--b .text > .image .illustration {
  max-width: 335px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1rem;
  aspect-ratio: 1;
  width: 50%;
  position: absolute;
  top: 105%;
  left: 115%;
  top: 101%;
  left: 101%;
  transform: translate(-50%, -50%);
}
.restaurant-intro--b .image {
  display: none;
  aspect-ratio: 1;
  width: 100%;
  height: auto;
  overflow: hidden;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
@media (min-width: 640px) {
  .restaurant-intro--b .image {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (min-width: 1024px) {
  .restaurant-intro--b .image {
    display: block;
    width: 100%;
    margin-left: calc(50% - min(50vw, 820px));
    margin-right: 0;
    aspect-ratio: 775/795;
    max-width: 775px;
  }
}
.restaurant-intro--b .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.restaurant-intro .heading {
  font-size: 2rem;
  line-height: 1.3;
}
@media (min-width: 1024px) {
  .restaurant-intro .heading {
    font-size: 3.2rem;
  }
}

#rd-widget-root .rd-widget-content, #rd-mini-widget-root .rd-widget-content {
  background-color: var(--brand--green);
}