@font-face {
  font-family: "Manrope";
  src: url("../assets/block-01-hero/fonts/manrope-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}

* { box-sizing: border-box; }
body { margin: 0; }

/* Desktop block 01. One unit equals one pixel at the 1672px reference width.
   Scope layout and typography to this section to protect approved blocks. */
.hero {
  --u: calc(100vw / 1672);
  position: relative;
  isolation: isolate;
  height: calc(941 * var(--u));
  overflow: hidden;
  color: #10180e;
  background: #f5f4f0;
  font-family: "Manrope", sans-serif;
  -webkit-font-smoothing: antialiased;
}

.hero__background {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Restore the reference's pale text area over the supplied sunset photo. */
.hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(90deg, rgb(255 255 255 / 58%) 0%,
    rgb(255 255 255 / 45%) 35%, rgb(255 255 255 / 0%) 58%);
  mask-image: linear-gradient(#000 0%, #000 62%, transparent 82%);
  pointer-events: none;
}

.hero__header {
  position: absolute;
  top: calc(20 * var(--u));
  left: calc(79 * var(--u));
  right: calc(79 * var(--u));
  height: calc(61 * var(--u));
  display: flex;
  align-items: center;
}
.hero__brand { display: block; flex: none; }
.hero__brand img {
  display: block;
  width: calc(265 * var(--u));
  height: calc(36 * var(--u));
}
.hero__nav {
  display: flex;
  align-items: center;
  gap: calc(50 * var(--u));
  margin-left: calc(109 * var(--u));
  white-space: nowrap;
}
.hero__nav a {
  color: #151815;
  font-size: calc(18 * var(--u));
  line-height: calc(24 * var(--u));
  font-weight: 400;
  text-decoration: none;
}
.hero button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  padding: 0;
  font-family: inherit;
  font-weight: 400;
  white-space: nowrap;
  color: #fff;
  opacity: 1;
  background: linear-gradient(110deg, #29351f, #27321f);
}
.hero button:disabled { cursor: default; }
.hero button:enabled { cursor: pointer; }
.hero button:enabled:hover { filter: brightness(1.12); }
.hero :focus-visible { outline: 3px solid #fff; outline-offset: 5px; }
.hero__booking {
  margin-left: auto;
  width: calc(241 * var(--u));
  height: calc(61 * var(--u));
  gap: calc(18 * var(--u));
  border: calc(1.5 * var(--u)) solid #fff;
  border-radius: calc(24 * var(--u));
  font-size: calc(18 * var(--u));
  line-height: calc(26 * var(--u));
}
.hero__booking img,
.hero__choose img {
  width: calc(24 * var(--u));
  height: calc(24 * var(--u));
}
.hero__content {
  position: absolute;
  top: calc(205 * var(--u));
  left: calc(80 * var(--u));
}
.hero__eyebrow {
  margin: 0 0 calc(22 * var(--u));
  color: #686a66;
  font-size: calc(18 * var(--u));
  line-height: calc(26 * var(--u));
  letter-spacing: calc(3 * var(--u));
  font-weight: 400;
}
.hero__title {
  margin: 0;
  font-size: calc(72 * var(--u));
  line-height: calc(71 * var(--u));
  font-weight: 800;
  letter-spacing: calc(-2 * var(--u));
}
.hero__description {
  margin: calc(25 * var(--u)) 0 0;
  color: #50514e;
  font-size: calc(24 * var(--u));
  line-height: calc(34 * var(--u));
  font-weight: 400;
  letter-spacing: calc(-0.35 * var(--u));
}
.hero__actions {
  display: flex;
  align-items: center;
  gap: calc(34 * var(--u));
  margin-top: calc(32 * var(--u));
}
.hero__choose {
  width: calc(309 * var(--u));
  height: calc(71 * var(--u));
  gap: calc(24 * var(--u));
  border: 0;
  border-radius: calc(15 * var(--u));
  font-size: calc(20 * var(--u));
  line-height: calc(28 * var(--u));
}
.hero__note {
  display: flex;
  align-items: center;
  gap: calc(20 * var(--u));
}
.hero__leaf {
  display: grid;
  place-items: center;
  width: calc(67 * var(--u));
  height: calc(67 * var(--u));
  border: calc(3 * var(--u)) solid #fff;
  border-radius: 50%;
}
.hero__leaf img {
  width: calc(32 * var(--u));
  height: calc(32 * var(--u));
}
.hero__note p {
  margin: calc(-3 * var(--u)) 0 0;
  color: #50514e;
  font-size: calc(16 * var(--u));
  line-height: calc(21 * var(--u));
}

/* Desktop block 02. Its reference uses a separate 1484 × 1060 canvas. */
.stay-options {
  --s: calc(100vw / 1484);
  position: relative;
  height: calc(1060 * var(--s));
  color: #09271f;
  background: #f3efe6;
  font-family: "Manrope", sans-serif;
  -webkit-font-smoothing: antialiased;
}
.stay-options__intro {
  position: absolute;
  top: calc(38 * var(--s));
  left: calc(55 * var(--s));
}
.stay-options__eyebrow {
  display: flex;
  align-items: center;
  gap: calc(26 * var(--s));
  margin: 0;
  color: #53624a;
  font-size: calc(12 * var(--s));
  line-height: calc(18 * var(--s));
  font-weight: 600;
  letter-spacing: calc(2.8 * var(--s));
}
.stay-options__eyebrow::after {
  content: "";
  width: calc(59 * var(--s));
  height: calc(1 * var(--s));
  background: #929984;
}
.stay-options h2 {
  margin: calc(10 * var(--s)) 0 0;
  font-size: calc(54 * var(--s));
  line-height: calc(60 * var(--s));
  letter-spacing: calc(-0.8 * var(--s));
  font-weight: 700;
}
.stay-options__subtitle {
  margin: calc(5 * var(--s)) 0 0;
  color: #5c5f5a;
  font-size: calc(20 * var(--s));
  line-height: calc(28 * var(--s));
  font-weight: 400;
  letter-spacing: calc(-0.2 * var(--s));
}
.stay-options__grid {
  position: absolute;
  top: calc(189 * var(--s));
  left: calc(40 * var(--s));
  right: calc(36 * var(--s));
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: calc(11 * var(--s));
}
.stay-card {
  height: calc(517 * var(--s));
  overflow: hidden;
  border: calc(1 * var(--s)) solid #e3ded3;
  border-radius: calc(15 * var(--s));
  background: rgb(255 255 255 / 20%);
}
.stay-card__photo {
  display: block;
  width: 100%;
  height: calc(302 * var(--s));
  object-fit: cover;
  border-radius: calc(14 * var(--s));
}
.stay-card__body { padding: calc(16 * var(--s)) calc(22 * var(--s)) 0; }
.stay-card h3 {
  margin: 0;
  font-size: calc(26 * var(--s));
  line-height: calc(34 * var(--s));
  font-weight: 700;
  letter-spacing: calc(-0.6 * var(--s));
}
.stay-card p {
  margin: calc(8 * var(--s)) 0 0;
  color: #404440;
  font-size: calc(17 * var(--s));
  line-height: calc(23 * var(--s));
  letter-spacing: calc(-0.4 * var(--s));
  white-space: nowrap;
}
.stay-options button,
.stay-card__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  font-family: inherit;
  opacity: 1;
  white-space: nowrap;
}
.stay-options button:disabled { cursor: default; }
.stay-options button:enabled { cursor: pointer; }
.stay-options button:enabled:hover { filter: brightness(1.1); }
.stay-options :focus-visible { outline: 2px solid #53624a; outline-offset: 4px; }
.stay-card__button {
  width: calc(232 * var(--s));
  height: calc(51 * var(--s));
  margin-top: calc(15 * var(--s));
  gap: calc(22 * var(--s));
  border: calc(1 * var(--s)) solid #909986;
  border-radius: calc(16 * var(--s));
  background: transparent;
  color: #102b22;
  font-size: calc(16 * var(--s));
  line-height: calc(24 * var(--s));
  font-weight: 500;
  text-decoration: none;
}
.stay-options__arrow {
  display: inline-block;
  flex: none;
  width: calc(24 * var(--s));
  height: calc(24 * var(--s));
  background: currentColor;
  mask: url("../assets/block-02-stay-options/svg/icon-arrow-right.svg") center / contain no-repeat;
}
.stay-booking {
  position: absolute;
  top: calc(745 * var(--s));
  left: calc(28 * var(--s));
  right: calc(28 * var(--s));
  height: calc(290 * var(--s));
  overflow: hidden;
  isolation: isolate;
  border: calc(1 * var(--s)) solid #e3ded3;
  border-radius: calc(18 * var(--s));
  background: #f8f5ef;
}
.stay-booking__forest {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  width: calc(500 * var(--s));
  height: 100%;
  object-fit: cover;
  object-position: right center;
  mask-image: linear-gradient(90deg, transparent, #000 65%);
}
.stay-booking__intro {
  position: absolute;
  top: calc(27 * var(--s));
  left: calc(26 * var(--s));
}
.stay-booking .stay-options__eyebrow::after { width: calc(83 * var(--s)); }
.stay-booking h2 {
  margin-top: calc(10 * var(--s));
  font-size: calc(50 * var(--s));
  letter-spacing: calc(-1 * var(--s));
}
.stay-booking .stay-options__subtitle { margin-top: calc(1 * var(--s)); }
.stay-booking__lettering {
  position: absolute;
  top: calc(42 * var(--s));
  left: calc(1026 * var(--s));
  width: calc(245 * var(--s));
  height: calc(100 * var(--s));
}
.stay-booking__form {
  position: absolute;
  top: calc(169 * var(--s));
  left: calc(26 * var(--s));
  display: grid;
  grid-template-columns: calc(275 * var(--s)) calc(274 * var(--s)) calc(250 * var(--s)) calc(341 * var(--s));
  gap: calc(14 * var(--s));
  margin: 0;
}
.stay-booking__field {
  display: block;
  height: calc(66 * var(--s));
  padding: calc(4 * var(--s)) calc(16 * var(--s));
  border: calc(1 * var(--s)) solid #e1ded7;
  border-radius: calc(17 * var(--s));
  background: rgb(255 255 255 / 43%);
  color: #172820;
}
.stay-booking__label {
  display: block;
  font-size: calc(14 * var(--s));
  line-height: calc(20 * var(--s));
}
.stay-booking__value {
  display: flex;
  align-items: center;
  gap: calc(10 * var(--s));
  height: calc(33 * var(--s));
}
.stay-booking__value img {
  flex: none;
  width: calc(24 * var(--s));
  height: calc(24 * var(--s));
}
.stay-booking__value .stay-booking__chevron {
  width: calc(18 * var(--s));
  height: calc(18 * var(--s));
}
.stay-booking input,
.stay-booking select {
  width: 100%;
  min-width: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #333c36;
  opacity: 1;
  appearance: none;
  font-family: inherit;
  font-size: calc(16 * var(--s));
  line-height: calc(24 * var(--s));
}
.stay-booking input::placeholder { color: #898b88; opacity: 1; }
.stay-booking__submit {
  height: calc(66 * var(--s));
  gap: calc(18 * var(--s));
  border: calc(1 * var(--s)) solid #80937b;
  border-radius: calc(17 * var(--s));
  background: linear-gradient(170deg, #365940, #06341d 65%);
  color: #fff;
  font-size: calc(18 * var(--s));
  line-height: calc(24 * var(--s));
  font-weight: 400;
}
.stay-booking__provider {
  position: absolute;
  top: calc(246 * var(--s));
  left: calc(26 * var(--s));
  display: flex;
  align-items: center;
  gap: calc(7 * var(--s));
  margin: 0;
  color: #50544e;
  font-size: calc(14 * var(--s));
  line-height: calc(20 * var(--s));
}
.stay-booking__provider img {
  width: calc(22 * var(--s));
  height: calc(22 * var(--s));
}

/* Desktop block 03. Reference canvas: 1602 × 981. */
.cabins {
  --c: calc(100vw / 1602);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  height: calc(981 * var(--c));
  background: #f8f7f3;
  color: #0b160d;
  font-family: "Manrope", sans-serif;
  -webkit-font-smoothing: antialiased;
}
.cabins__decor {
  position: absolute;
  z-index: -1;
  top: calc(-6 * var(--c));
  left: calc(947 * var(--c));
  width: calc(320 * var(--c));
  height: auto;
  opacity: 0.6;
  pointer-events: none;
}
.cabins__intro {
  position: absolute;
  top: calc(61 * var(--c));
  left: calc(65 * var(--c));
}
.cabins__eyebrow {
  margin: 0;
  color: #737b77;
  font-size: calc(16 * var(--c));
  line-height: calc(22 * var(--c));
  letter-spacing: calc(2 * var(--c));
  font-weight: 400;
}
.cabins h2 {
  margin: calc(5 * var(--c)) 0 0;
  font-size: calc(61 * var(--c));
  line-height: calc(66 * var(--c));
  font-weight: 800;
  letter-spacing: calc(-0.5 * var(--c));
  white-space: nowrap;
}
.cabins__description {
  margin: calc(14 * var(--c)) 0 0;
  color: #525754;
  font-size: calc(22 * var(--c));
  line-height: calc(28 * var(--c));
  letter-spacing: calc(-0.3 * var(--c));
}
.cabins__arrow {
  display: inline-block;
  flex: none;
  width: calc(28 * var(--c));
  height: calc(28 * var(--c));
  background: currentColor;
  mask: url("../assets/block-03-cabins/svg/icon-arrow-right.svg") center / contain no-repeat;
}
.cabins__all {
  position: absolute;
  top: calc(122 * var(--c));
  right: calc(65 * var(--c));
  display: flex;
  align-items: center;
  gap: calc(20 * var(--c));
  color: #152219;
  font-size: calc(16 * var(--c));
  line-height: calc(24 * var(--c));
  font-weight: 500;
}
.cabins__all > span:first-child {
  text-decoration: underline;
  text-underline-offset: calc(5 * var(--c));
  text-decoration-thickness: calc(1 * var(--c));
}
.cabins button {
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  opacity: 1;
  font: inherit;
}
.cabins button:disabled { cursor: default; }
.cabins button:enabled { cursor: pointer; }
.cabins button:enabled:hover { filter: brightness(1.1); }
.cabins :focus-visible { outline: 2px solid #53624a; outline-offset: 4px; }
.cabins__controls {
  position: absolute;
  top: calc(175 * var(--c));
  right: calc(66 * var(--c));
  display: flex;
  gap: calc(14 * var(--c));
}
.cabins__controls button {
  width: calc(56 * var(--c));
  height: calc(56 * var(--c));
}
.cabins__previous { color: #8c9088; background: #eeece4; }
.cabins__previous .cabins__arrow { transform: rotate(180deg); }
.cabins__next { color: #fff; background: #293b24; }
.cabins__grid {
  position: absolute;
  top: calc(266 * var(--c));
  left: calc(30 * var(--c));
  right: calc(30 * var(--c));
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: calc(21 * var(--c));
}
.cabin-card {
  height: calc(659 * var(--c));
  overflow: hidden;
  border-radius: calc(13 * var(--c));
  background: #fff;
}
.cabin-card__visual { position: relative; }
.cabin-card__photo {
  display: block;
  width: 100%;
  height: calc(358 * var(--c));
  object-fit: cover;
}
.cabin-card__category {
  position: absolute;
  top: calc(23 * var(--c));
  left: calc(25 * var(--c));
  display: flex;
  align-items: center;
  height: calc(35 * var(--c));
  padding: 0 calc(16 * var(--c));
  border-radius: calc(18 * var(--c));
  background: #fff;
  color: #18261f;
  font-size: calc(16 * var(--c));
  line-height: calc(22 * var(--c));
  font-weight: 500;
}
.cabin-card__body {
  position: relative;
  height: calc(301 * var(--c));
  padding: calc(18 * var(--c)) calc(26 * var(--c)) 0;
}
.cabin-card h3 {
  margin: 0;
  font-size: calc(34 * var(--c));
  line-height: calc(41 * var(--c));
  font-weight: 700;
  letter-spacing: calc(-1 * var(--c));
}
.cabin-card__details {
  position: absolute;
  top: calc(23 * var(--c));
  right: calc(24 * var(--c));
  width: calc(54 * var(--c));
  height: calc(54 * var(--c));
  background: #eee7d7;
  color: #142016;
}
.cabin-card__tagline {
  margin: calc(11 * var(--c)) 0 0;
  color: #747976;
  font-size: calc(14.5 * var(--c));
  line-height: calc(20 * var(--c));
  letter-spacing: calc(1.5 * var(--c));
  white-space: nowrap;
}
.cabin-card__description {
  margin: calc(16 * var(--c)) 0 0;
  color: #525754;
  font-size: calc(18.5 * var(--c));
  line-height: calc(24 * var(--c));
  letter-spacing: 0;
  white-space: nowrap;
}
.cabin-card__features {
  position: absolute;
  top: calc(208 * var(--c));
  left: calc(26 * var(--c));
  right: calc(22 * var(--c));
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  height: calc(62 * var(--c));
  margin: 0;
  padding: 0;
  list-style: none;
}
.cabin-card__features li {
  display: flex;
  align-items: center;
  gap: calc(12 * var(--c));
  padding-left: calc(16 * var(--c));
  border-left: calc(1 * var(--c)) solid #dedfda;
  color: #525754;
  font-size: calc(13 * var(--c));
  line-height: calc(19 * var(--c));
  letter-spacing: calc(-0.3 * var(--c));
  white-space: nowrap;
}
.cabin-card__features li:first-child { padding-left: 0; border-left: 0; }
.cabin-card__features li:last-child { padding-left: calc(10 * var(--c)); }
.cabin-card__features img {
  flex: none;
  width: calc(32 * var(--c));
  height: calc(32 * var(--c));
}

/* Desktop block 04. Reference canvas: 1602 × 982. */
.comfort {
  --f: calc(100vw / 1602);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  height: calc(982 * var(--f));
  background: #f9f8f5;
  color: #0b160d;
  font-family: "Manrope", sans-serif;
  -webkit-font-smoothing: antialiased;
}
.comfort__foliage {
  position: absolute;
  z-index: -1;
  width: calc(300 * var(--f));
  height: calc(300 * var(--f));
  opacity: 0.5;
  filter: blur(calc(3 * var(--f)));
  pointer-events: none;
}
.comfort__foliage--top {
  top: calc(-27 * var(--f));
  left: calc(-32 * var(--f));
  transform: rotate(15deg);
}
.comfort__foliage--bottom {
  bottom: calc(-65 * var(--f));
  left: calc(-18 * var(--f));
  transform: scaleY(-1);
}
.comfort__intro {
  position: absolute;
  top: calc(35 * var(--f));
  left: calc(240 * var(--f));
  right: calc(240 * var(--f));
  text-align: center;
}
.comfort__eyebrow {
  margin: 0;
  color: #25312d;
  font-size: calc(14 * var(--f));
  line-height: calc(20 * var(--f));
  font-weight: 500;
  letter-spacing: calc(2.5 * var(--f));
}
.comfort h2 {
  margin: calc(-2 * var(--f)) 0 0;
  font-size: calc(54 * var(--f));
  line-height: calc(64 * var(--f));
  letter-spacing: calc(-1.3 * var(--f));
  font-weight: 800;
  white-space: nowrap;
}
.comfort__description {
  margin: calc(15 * var(--f)) 0 0;
  color: #545b5c;
  font-size: calc(20 * var(--f));
  line-height: calc(28 * var(--f));
  letter-spacing: calc(-0.2 * var(--f));
}
.comfort__layout {
  position: absolute;
  top: calc(222 * var(--f));
  left: calc(23 * var(--f));
  right: calc(19 * var(--f));
  height: calc(696 * var(--f));
  display: grid;
  grid-template-columns: calc(849 * var(--f)) minmax(0, 1fr);
  gap: calc(28 * var(--f));
}
.comfort__main-photo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: calc(15 * var(--f));
}
.comfort__cards {
  display: grid;
  grid-template-rows: calc(124 * var(--f)) repeat(3, calc(130 * var(--f))) calc(134 * var(--f));
  gap: calc(12 * var(--f));
}
.comfort-card {
  display: grid;
  grid-template-columns: calc(166 * var(--f)) calc(58 * var(--f)) minmax(0, 1fr);
  align-items: center;
  gap: calc(28 * var(--f));
  padding-right: calc(8 * var(--f));
  border-radius: calc(14 * var(--f));
  background: #fff;
}
.comfort-card__photo {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  border-radius: calc(13 * var(--f));
}
.comfort-card__icon {
  display: grid;
  place-items: center;
  align-self: start;
  margin-top: calc(22 * var(--f));
  width: calc(58 * var(--f));
  height: calc(58 * var(--f));
  border-radius: 50%;
  background: #eee7d7;
}
.comfort-card__icon img {
  display: block;
  width: calc(32 * var(--f));
  height: calc(32 * var(--f));
}
.comfort-card__text {
  min-width: 0;
  transform: translateY(calc(-1 * var(--f)));
}
.comfort-card h3 {
  margin: 0;
  font-size: calc(21 * var(--f));
  line-height: calc(28 * var(--f));
  font-weight: 700;
  letter-spacing: calc(-0.4 * var(--f));
}
.comfort-card p {
  margin: calc(6 * var(--f)) 0 0;
  color: #777b7c;
  font-size: calc(16 * var(--f));
  line-height: calc(22 * var(--f));
  letter-spacing: calc(-0.4 * var(--f));
  white-space: nowrap;
}

/* Desktop block 05. Reference canvas: 1602 × 982. */
.experiences {
  --e: calc(100vw / 1602);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  height: calc(982 * var(--e));
  background: #f8f7f3;
  color: #0b160d;
  font-family: "Manrope", sans-serif;
  -webkit-font-smoothing: antialiased;
}
.experiences__decor { position: absolute; z-index: -1; pointer-events: none; }
.experiences__branch-top {
  top: calc(-8 * var(--e));
  left: calc(-10 * var(--e));
  width: calc(335 * var(--e));
  height: auto;
  filter: blur(calc(0.6 * var(--e)));
}
.experiences__branch-bottom {
  right: calc(-35 * var(--e));
  bottom: calc(-2 * var(--e));
  width: calc(230 * var(--e));
  height: auto;
}
.experiences__contours-top {
  top: 0;
  right: 0;
  width: calc(247 * var(--e));
  height: calc(193 * var(--e));
  opacity: 0.55;
}
.experiences__contours-bottom {
  bottom: 0;
  left: 0;
  width: calc(249 * var(--e));
  height: calc(148 * var(--e));
  opacity: 0.55;
}
.experiences__intro {
  position: absolute;
  top: calc(36 * var(--e));
  left: calc(300 * var(--e));
  right: calc(300 * var(--e));
  text-align: center;
}
.experiences__eyebrow {
  margin: 0;
  color: #354345;
  font-size: calc(14 * var(--e));
  line-height: calc(20 * var(--e));
  font-weight: 600;
  letter-spacing: calc(2.5 * var(--e));
}
.experiences h2 {
  margin: calc(7 * var(--e)) 0 0;
  font-size: calc(56 * var(--e));
  line-height: calc(64 * var(--e));
  font-weight: 800;
  letter-spacing: calc(-1 * var(--e));
  white-space: nowrap;
}
.experiences__description {
  margin: calc(10 * var(--e)) 0 0;
  color: #606870;
  font-size: calc(21.5 * var(--e));
  line-height: calc(27 * var(--e));
  letter-spacing: calc(-0.2 * var(--e));
}
.experiences__layout {
  position: absolute;
  top: calc(228 * var(--e));
  left: calc(30 * var(--e));
  right: calc(26 * var(--e));
  height: calc(593 * var(--e));
  display: grid;
  grid-template-columns: calc(791 * var(--e)) minmax(0, 1fr);
  gap: calc(22 * var(--e));
}
.experience-card { position: relative; overflow: hidden; border-radius: calc(15 * var(--e)); }
.experience-card__photo { display: block; width: 100%; height: 100%; object-fit: cover; }
.experience-card--featured { isolation: isolate; color: #fff; }
.experience-card--featured > .experience-card__photo { position: absolute; inset: 0; z-index: -2; }
.experience-card--featured::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(90deg, rgb(0 0 0 / 65%), rgb(0 0 0 / 25%) 48%, rgb(0 0 0 / 5%));
  mask-image: linear-gradient(#000 0%, #000 55%, rgb(0 0 0 / 30%) 100%);
  pointer-events: none;
}
.experience-card__featured-text {
  position: absolute;
  top: calc(36 * var(--e));
  left: calc(29 * var(--e));
}
.experience-card__eyebrow {
  margin: 0;
  font-size: calc(12 * var(--e));
  line-height: calc(20 * var(--e));
  font-weight: 600;
  letter-spacing: calc(1.5 * var(--e));
  white-space: nowrap;
}
.experience-card--featured .experience-card__eyebrow {
  font-size: calc(14 * var(--e));
  letter-spacing: calc(2 * var(--e));
}
.experience-card--featured h3 {
  margin: calc(12 * var(--e)) 0 0;
  font-size: calc(44 * var(--e));
  line-height: calc(48 * var(--e));
  font-weight: 700;
  letter-spacing: calc(-0.6 * var(--e));
}
.experience-card--featured .experience-card__description {
  margin: calc(16 * var(--e)) 0 0;
  font-size: calc(20 * var(--e));
  line-height: calc(24 * var(--e));
  letter-spacing: calc(-0.3 * var(--e));
}
.experiences button {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  opacity: 1;
  font-family: inherit;
}
.experiences button:disabled { cursor: default; }
.experiences button:enabled { cursor: pointer; }
.experiences button:enabled:hover { filter: brightness(1.1); }
.experiences :focus-visible { outline: 2px solid #53624a; outline-offset: 4px; }
.experiences__arrow {
  display: inline-block;
  flex: none;
  width: calc(28 * var(--e));
  height: calc(28 * var(--e));
  background: currentColor;
  mask: url("../assets/block-05-experiences/svg/icon-arrow-right.svg") center / contain no-repeat;
}
.experience-card__featured-link {
  margin-top: calc(23 * var(--e));
  gap: calc(14 * var(--e));
  background: transparent;
  color: #fff;
  text-align: left;
  font-size: calc(18 * var(--e));
  line-height: calc(22 * var(--e));
  font-weight: 500;
}
.experience-card__circle {
  display: grid;
  place-items: center;
  width: calc(57 * var(--e));
  height: calc(57 * var(--e));
  border-radius: 50%;
  background: #eee7d7;
  color: #142016;
}
.experiences__stack {
  display: grid;
  grid-template-rows: calc(185 * var(--e)) calc(185 * var(--e)) calc(190 * var(--e));
  gap: calc(16.5 * var(--e));
}
.experience-card--compact {
  display: grid;
  grid-template-columns: calc(281 * var(--e)) minmax(0, 1fr);
  gap: calc(29 * var(--e));
  background: #fff;
}
.experience-card--compact .experience-card__photo {
  min-height: 0;
  border-radius: calc(14 * var(--e));
}
.experience-card__text {
  min-width: 0;
  padding-top: calc(31 * var(--e));
  padding-right: calc(88 * var(--e));
}
.experience-card--compact .experience-card__eyebrow { color: #4e5b57; }
.experience-card--compact h3 {
  margin: calc(8 * var(--e)) 0 0;
  font-size: calc(26 * var(--e));
  line-height: calc(32 * var(--e));
  letter-spacing: calc(-0.7 * var(--e));
  font-weight: 700;
  white-space: nowrap;
}
.experience-card--compact .experience-card__description {
  margin: calc(8 * var(--e)) 0 0;
  color: #606870;
  font-size: calc(18 * var(--e));
  line-height: calc(24 * var(--e));
  letter-spacing: calc(-0.5 * var(--e));
  white-space: nowrap;
}
.experience-card__details {
  position: absolute;
  top: calc(92 * var(--e));
  right: calc(21 * var(--e));
  width: calc(56 * var(--e));
  height: calc(56 * var(--e));
  border-radius: 50%;
  background: #eee7d7;
  color: #142016;
}
.experiences__cta {
  position: absolute;
  top: calc(855 * var(--e));
  left: 50%;
  transform: translateX(-50%);
  width: calc(452 * var(--e));
  height: calc(62 * var(--e));
  gap: calc(28 * var(--e));
  border-radius: calc(31 * var(--e));
  background: linear-gradient(110deg, #293b24, #24351f);
  color: #fff;
  font-size: calc(18 * var(--e));
  line-height: calc(24 * var(--e));
  font-weight: 500;
}

/* Desktop block 06. Reference canvas: 1512 × 1040. */
.moments {
  --m: calc(100vw / 1512);
  position: relative;
  height: calc(1040 * var(--m));
  background: #faf8f3;
  color: #123328;
  font-family: "Manrope", sans-serif;
  -webkit-font-smoothing: antialiased;
}
.moments__intro {
  position: absolute;
  top: calc(36 * var(--m));
  left: calc(100 * var(--m));
  right: calc(100 * var(--m));
  text-align: center;
}
.moments__eyebrow {
  margin: 0;
  color: #4d7157;
  font-size: calc(12 * var(--m));
  line-height: calc(18 * var(--m));
  font-weight: 700;
  letter-spacing: calc(4 * var(--m));
}
.moments h2 {
  margin: calc(17 * var(--m)) 0 0;
  font-size: calc(56 * var(--m));
  line-height: calc(68 * var(--m));
  font-weight: 800;
  letter-spacing: calc(-1.5 * var(--m));
  white-space: nowrap;
}
.moments__description {
  margin: calc(12 * var(--m)) 0 0;
  color: #6b706e;
  font-size: calc(20 * var(--m));
  line-height: calc(28 * var(--m));
  letter-spacing: calc(-0.2 * var(--m));
}
.moments__panorama {
  position: absolute;
  top: calc(234 * var(--m));
  left: calc(44 * var(--m));
  width: calc(1424 * var(--m));
  height: calc(326 * var(--m));
  object-fit: cover;
  object-position: center;
  border-radius: calc(20 * var(--m));
}
.moments__grid {
  position: absolute;
  top: calc(577 * var(--m));
  left: calc(45 * var(--m));
  right: calc(45 * var(--m));
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: calc(20 * var(--m));
}
.moment-card {
  height: calc(285 * var(--m));
  overflow: hidden;
  border: calc(1 * var(--m)) solid #ebe8df;
  border-radius: calc(17 * var(--m));
  background: rgb(255 255 255 / 15%);
  box-shadow: 0 calc(6 * var(--m)) calc(16 * var(--m)) rgb(61 47 22 / 3%);
}
.moment-card__photo {
  display: block;
  width: 100%;
  height: calc(154 * var(--m));
  object-fit: cover;
  object-position: center;
  border-radius: calc(16 * var(--m));
}
.moment-card__body {
  display: grid;
  grid-template-columns: calc(66 * var(--m)) minmax(0, 1fr);
  gap: calc(25 * var(--m));
  padding: calc(17 * var(--m)) calc(12 * var(--m)) 0 calc(22 * var(--m));
}
.moment-card__icon {
  display: grid;
  place-items: center;
  width: calc(66 * var(--m));
  height: calc(66 * var(--m));
  border-radius: 50%;
  background: #eceee1;
}
.moment-card__icon img { width: calc(38 * var(--m)); height: calc(38 * var(--m)); }
.moment-card h3 {
  margin: 0;
  font-size: calc(20 * var(--m));
  line-height: calc(26 * var(--m));
  font-weight: 700;
  letter-spacing: calc(-0.5 * var(--m));
  white-space: nowrap;
}
.moment-card p {
  margin: calc(4 * var(--m)) 0 0;
  color: #6b706e;
  font-size: calc(18 * var(--m));
  line-height: calc(23 * var(--m));
  letter-spacing: calc(-0.4 * var(--m));
  white-space: nowrap;
}
.moments__closing {
  position: absolute;
  top: calc(887 * var(--m));
  left: calc(200 * var(--m));
  right: calc(200 * var(--m));
  margin: 0;
  text-align: center;
  font-size: calc(31 * var(--m));
  line-height: calc(37 * var(--m));
  font-weight: 700;
  letter-spacing: calc(-0.5 * var(--m));
}
.moments__cta {
  position: absolute;
  top: calc(975 * var(--m));
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(18 * var(--m));
  width: calc(332 * var(--m));
  height: calc(42 * var(--m));
  padding: 0;
  border: 0;
  border-radius: calc(21 * var(--m));
  color: #fff;
  background: linear-gradient(110deg, #173f2d, #183a2c);
  opacity: 1;
  font-family: inherit;
  font-size: calc(15 * var(--m));
  line-height: calc(20 * var(--m));
  font-weight: 500;
}
.moments__cta:disabled { cursor: default; }
.moments__cta:enabled { cursor: pointer; }
.moments__cta:enabled:hover { filter: brightness(1.1); }
.moments__cta:focus-visible { outline: 2px solid #53624a; outline-offset: 4px; }
.moments__arrow {
  display: inline-block;
  flex: none;
  width: calc(22 * var(--m));
  height: calc(22 * var(--m));
  background: currentColor;
  mask: url("../assets/block-06-moments/svg/icon-arrow-right.svg") center / contain no-repeat;
}

/* Desktop block 07. Reference canvas: 1663 × 945. */
.booking-steps {
  --b: calc(100vw / 1663);
  position: relative;
  height: calc(945 * var(--b));
  background: #faf9f5;
  color: #071e14;
  font-family: "Manrope", sans-serif;
  -webkit-font-smoothing: antialiased;
}
.booking-steps__intro {
  position: absolute;
  top: calc(55 * var(--b));
  left: calc(100 * var(--b));
  right: calc(100 * var(--b));
  text-align: center;
}
.booking-steps__eyebrow {
  margin: 0;
  color: #3f6652;
  font-size: calc(14 * var(--b));
  line-height: calc(20 * var(--b));
  font-weight: 700;
  letter-spacing: calc(4.7 * var(--b));
}
.booking-steps h2 {
  margin: calc(19 * var(--b)) 0 0;
  font-size: calc(65 * var(--b));
  line-height: calc(74 * var(--b));
  font-weight: 800;
  letter-spacing: calc(-2 * var(--b));
  white-space: nowrap;
}
.booking-steps__description {
  margin: calc(9 * var(--b)) 0 0;
  color: #6a6e70;
  font-size: calc(24 * var(--b));
  line-height: calc(34 * var(--b));
  letter-spacing: 0;
}
.booking-steps__grid {
  position: absolute;
  top: calc(277 * var(--b));
  left: calc(46 * var(--b));
  right: calc(43 * var(--b));
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: calc(29 * var(--b));
  margin: 0;
  padding: 0;
  list-style: none;
}
.booking-step {
  position: relative;
  height: calc(528 * var(--b));
  padding: calc(12 * var(--b));
  border: calc(1 * var(--b)) solid #eceae3;
  border-radius: calc(22 * var(--b));
  background: rgb(255 255 255 / 20%);
  box-shadow: 0 calc(10 * var(--b)) calc(25 * var(--b)) rgb(50 40 20 / 3%);
}
.booking-step__photo {
  display: block;
  width: 100%;
  height: calc(250 * var(--b));
  border-radius: calc(13 * var(--b));
  object-fit: cover;
  object-position: center;
}
.booking-step__icon {
  position: absolute;
  top: calc(279 * var(--b));
  left: calc(20 * var(--b));
  display: grid;
  place-items: center;
  width: calc(82 * var(--b));
  height: calc(82 * var(--b));
  border-radius: 50%;
  background: #eceee1;
}
.booking-step__icon img {
  width: calc(42 * var(--b));
  height: calc(42 * var(--b));
}
.booking-step__text {
  position: absolute;
  top: calc(283 * var(--b));
  left: calc(128 * var(--b));
  right: calc(15 * var(--b));
}
.booking-step__number {
  display: block;
  color: #96a18d;
  font-size: calc(56 * var(--b));
  line-height: calc(64 * var(--b));
  font-weight: 400;
  letter-spacing: calc(-2 * var(--b));
}
.booking-step h3 {
  margin: calc(4 * var(--b)) 0 0;
  font-size: calc(27 * var(--b));
  line-height: calc(34 * var(--b));
  font-weight: 800;
  letter-spacing: calc(-1 * var(--b));
  white-space: nowrap;
}
.booking-step:last-child h3 { font-size: calc(26 * var(--b)); }
.booking-step p {
  margin: calc(13 * var(--b)) 0 0;
  color: #6a6e70;
  font-size: calc(18 * var(--b));
  line-height: calc(25 * var(--b));
  letter-spacing: calc(-0.1 * var(--b));
  white-space: nowrap;
}
.booking-step:last-child p { letter-spacing: calc(-0.45 * var(--b)); }
.booking-steps__arrow {
  display: inline-block;
  flex: none;
  width: calc(26 * var(--b));
  height: calc(26 * var(--b));
  background: currentColor;
  mask: url("../assets/block-07-booking-steps/svg/icon-arrow-right.svg") center / contain no-repeat;
}
.booking-step__connector {
  position: absolute;
  top: calc(222 * var(--b));
  right: calc(-25 * var(--b));
  width: calc(20 * var(--b));
  height: calc(20 * var(--b));
  color: #6e8a76;
}
.booking-steps__cta {
  position: absolute;
  top: calc(828 * var(--b));
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(22 * var(--b));
  width: calc(385 * var(--b));
  height: calc(66 * var(--b));
  border-radius: calc(33 * var(--b));
  color: #fff;
  background: #173f2d;
  font-size: calc(21 * var(--b));
  line-height: calc(28 * var(--b));
  font-weight: 600;
  text-decoration: none;
}
.booking-steps__cta:hover { background: #204e39; }
.booking-steps__cta:focus-visible { outline: 2px solid #53624a; outline-offset: 4px; }

/* Desktop block 08. Reference canvas: 1619 × 971. */
.trip-details {
  --t: calc(100vw / 1619);
  position: relative;
  height: calc(971 * var(--t));
  background: #f3efe5;
  color: #192321;
  font-family: "Manrope", sans-serif;
  -webkit-font-smoothing: antialiased;
}
.trip-details__intro {
  position: absolute;
  top: calc(73 * var(--t));
  left: calc(70 * var(--t));
  width: calc(675 * var(--t));
}
.trip-details__eyebrow {
  display: flex;
  align-items: center;
  gap: calc(16 * var(--t));
  margin: 0;
  color: #8f987d;
  font-size: calc(16 * var(--t));
  line-height: calc(22 * var(--t));
  font-weight: 400;
  letter-spacing: calc(2.2 * var(--t));
  white-space: nowrap;
}
.trip-details__eyebrow::before {
  content: "";
  flex: none;
  width: calc(44 * var(--t));
  height: calc(1 * var(--t));
  background: currentColor;
}
.trip-details h2 {
  margin: calc(17 * var(--t)) 0 0;
  font-size: calc(64 * var(--t));
  line-height: calc(66 * var(--t));
  font-weight: 800;
  letter-spacing: calc(-1.5 * var(--t));
  white-space: nowrap;
}
.trip-details__description {
  margin: calc(24 * var(--t)) 0 0;
  color: #5f605c;
  font-size: calc(23 * var(--t));
  line-height: calc(32 * var(--t));
  font-weight: 400;
  letter-spacing: 0;
  white-space: nowrap;
}
.trip-details__photo {
  position: absolute;
  top: calc(465 * var(--t));
  left: calc(70 * var(--t));
  width: calc(675 * var(--t));
  height: calc(430 * var(--t));
  border-radius: calc(10 * var(--t));
  object-fit: cover;
  object-position: center;
}
.trip-details__list {
  position: absolute;
  top: calc(109 * var(--t));
  left: calc(790 * var(--t));
  right: calc(45 * var(--t));
}
.trip-detail {
  display: grid;
  grid-template-columns: calc(66 * var(--t)) calc(255 * var(--t)) minmax(0, 1fr);
  column-gap: calc(37 * var(--t));
  align-items: start;
  height: calc(111 * var(--t));
  border-bottom: calc(1 * var(--t)) solid #d5d5c8;
}
.trip-detail:nth-child(2) { height: calc(175 * var(--t)); padding-top: calc(40 * var(--t)); }
.trip-detail:nth-child(3) { height: calc(161 * var(--t)); padding-top: calc(45 * var(--t)); }
.trip-detail:nth-child(4) { height: calc(151 * var(--t)); padding-top: calc(39 * var(--t)); border: 0; }
.trip-detail__icon {
  display: grid;
  place-items: center;
  width: calc(66 * var(--t));
  height: calc(66 * var(--t));
  border-radius: 50%;
  background: #e6e6d6;
}
.trip-detail__icon img { width: calc(32 * var(--t)); height: calc(32 * var(--t)); }
.trip-detail h3 {
  margin: calc(3 * var(--t)) 0 0;
  font-size: calc(24 * var(--t));
  line-height: calc(32 * var(--t));
  font-weight: 700;
  letter-spacing: calc(-0.75 * var(--t));
  white-space: nowrap;
}
.trip-detail p {
  margin: 0;
  color: #5f605c;
  font-size: calc(20 * var(--t));
  line-height: calc(26 * var(--t));
  font-weight: 400;
  letter-spacing: calc(-0.4 * var(--t));
  white-space: nowrap;
}
.trip-details__sprig {
  position: absolute;
  top: calc(738 * var(--t));
  left: calc(790 * var(--t));
  width: calc(67 * var(--t));
  height: calc(105 * var(--t));
  pointer-events: none;
}
.trip-details__closing {
  position: absolute;
  top: calc(748 * var(--t));
  left: calc(894 * var(--t));
  right: calc(45 * var(--t));
  margin: 0;
  font-size: calc(24 * var(--t));
  line-height: calc(30 * var(--t));
  font-weight: 400;
  letter-spacing: 0;
  white-space: nowrap;
}
.trip-details__cta {
  position: absolute;
  top: calc(830 * var(--t));
  left: calc(894 * var(--t));
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(24 * var(--t));
  width: calc(373 * var(--t));
  height: calc(66 * var(--t));
  padding: 0;
  border: 0;
  border-radius: calc(9 * var(--t));
  background: #244438;
  color: #fff;
  opacity: 1;
  font-family: inherit;
  font-size: calc(21 * var(--t));
  line-height: calc(28 * var(--t));
  font-weight: 600;
}
.trip-details__cta:disabled { cursor: default; }
.trip-details__arrow {
  display: inline-block;
  flex: none;
  width: calc(38 * var(--t));
  height: calc(30 * var(--t));
  background: currentColor;
  mask: url("../assets/block-08-trip-details/svg/icon-arrow-right.svg") center / 100% 100% no-repeat;
}

/* Desktop block 09. Reference canvas: 1536 × 1024. */
.faq {
  --q: calc(100vw / 1536);
  position: relative;
  height: calc(1024 * var(--q));
  background: #1b3b31;
  color: #faf9f3;
  font-family: "Manrope", sans-serif;
  -webkit-font-smoothing: antialiased;
}
.faq__intro {
  position: absolute;
  top: calc(57 * var(--q));
  left: calc(100 * var(--q));
  right: calc(100 * var(--q));
  text-align: center;
}
.faq__eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(12 * var(--q));
  margin: 0;
  color: #c8d0c5;
  font-size: calc(18 * var(--q));
  line-height: calc(24 * var(--q));
  font-weight: 400;
  letter-spacing: calc(0.6 * var(--q));
}
.faq__eyebrow::before {
  content: "";
  width: calc(46 * var(--q));
  height: calc(1 * var(--q));
  background: currentColor;
}
.faq h2 {
  margin: calc(7 * var(--q)) 0 0;
  font-size: calc(65 * var(--q));
  line-height: calc(76 * var(--q));
  font-weight: 800;
  letter-spacing: calc(-1.5 * var(--q));
  white-space: nowrap;
}
.faq__description {
  margin: calc(12 * var(--q)) 0 0;
  color: #e5e8de;
  font-size: calc(24 * var(--q));
  line-height: calc(30 * var(--q));
  font-weight: 400;
  letter-spacing: calc(-0.25 * var(--q));
}
.faq__panel {
  position: absolute;
  top: calc(262 * var(--q));
  left: calc(70 * var(--q));
  right: calc(70 * var(--q));
  height: calc(669 * var(--q));
  padding: calc(13 * var(--q)) calc(44 * var(--q)) 0;
  border-radius: calc(18 * var(--q));
  background: #f5f1e8;
}
.faq-item {
  display: grid;
  grid-template-columns: calc(51 * var(--q)) minmax(0, 1fr);
  column-gap: calc(32 * var(--q));
  height: calc(131 * var(--q));
  padding: calc(19 * var(--q)) 0 0 calc(3 * var(--q));
  border-bottom: calc(1 * var(--q)) solid #d6d5cb;
}
.faq-item:last-child { border-bottom: 0; }
.faq-item__marker {
  display: grid;
  place-items: center;
  width: calc(51 * var(--q));
  height: calc(51 * var(--q));
  border-radius: 50%;
  background: #e2e2d2;
}
.faq-item__marker::before {
  content: "";
  width: calc(18 * var(--q));
  height: calc(2 * var(--q));
  background: #183d31;
}
.faq-item h3 {
  margin: 0;
  color: #080d17;
  font-size: calc(27 * var(--q));
  line-height: calc(34 * var(--q));
  font-weight: 800;
  letter-spacing: calc(-0.6 * var(--q));
  white-space: nowrap;
}
.faq-item p {
  margin: calc(3 * var(--q)) 0 0;
  color: #5d5e5b;
  font-size: calc(21 * var(--q));
  line-height: calc(27 * var(--q));
  font-weight: 400;
  letter-spacing: 0;
  white-space: nowrap;
}
.faq__cta {
  position: absolute;
  top: calc(950 * var(--q));
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(20 * var(--q));
  width: calc(354 * var(--q));
  height: calc(58 * var(--q));
  padding: 0;
  border: calc(1 * var(--q)) solid rgb(229 232 222 / 35%);
  border-radius: calc(10 * var(--q));
  background: rgb(255 255 255 / 2%);
  color: #faf9f3;
  opacity: 1;
  font-family: inherit;
  font-size: calc(20 * var(--q));
  line-height: calc(26 * var(--q));
  font-weight: 500;
}
.faq__cta:disabled { cursor: default; }
.faq__arrow {
  display: inline-block;
  flex: none;
  width: calc(32 * var(--q));
  height: calc(32 * var(--q));
  background: currentColor;
  mask: url("../assets/block-09-faq/svg/icon-arrow-right.svg") center / contain no-repeat;
}

/* Desktop block 10. Reference canvas: 1873 × 840. */
.final-stay {
  --z: calc(100vw / 1873);
  position: relative;
  isolation: isolate;
  height: calc(840 * var(--z));
  color: #fafaf7;
  background: #07180f;
  font-family: "Manrope", sans-serif;
  -webkit-font-smoothing: antialiased;
}
.final-stay__background {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.final-stay::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(90deg, rgb(3 16 8 / 91%) 0%, rgb(3 16 8 / 86%) 32%, rgb(3 16 8 / 30%) 43%, rgb(3 16 8 / 0%) 55%);
  mask-image: linear-gradient(180deg, rgb(0 0 0 / 30%), #000 25%, #000 80%, rgb(0 0 0 / 25%));
}
.final-stay__content {
  position: absolute;
  top: calc(213 * var(--z));
  left: calc(104 * var(--z));
  width: calc(650 * var(--z));
}
.final-stay__eyebrow,
.final-stay__caption {
  display: flex;
  align-items: center;
  margin: 0;
  color: #d0cba0;
  font-weight: 400;
  white-space: nowrap;
}
.final-stay__eyebrow {
  gap: calc(22 * var(--z));
  font-size: calc(18 * var(--z));
  line-height: calc(24 * var(--z));
  letter-spacing: calc(5.8 * var(--z));
}
.final-stay__eyebrow::before,
.final-stay__caption::before {
  content: "";
  flex: none;
  width: calc(50 * var(--z));
  height: calc(1 * var(--z));
  background: currentColor;
  opacity: 0.7;
}
.final-stay h2 {
  margin: calc(18 * var(--z)) 0 0;
  font-size: calc(62 * var(--z));
  line-height: calc(63 * var(--z));
  font-weight: 400;
  letter-spacing: calc(0.3 * var(--z));
  white-space: nowrap;
}
.final-stay h2 span { color: #b5be8b; }
.final-stay__description {
  margin: calc(31 * var(--z)) 0 0;
  color: #f6f6ee;
  font-size: calc(23 * var(--z));
  line-height: calc(31 * var(--z));
  font-weight: 400;
  letter-spacing: calc(-0.1 * var(--z));
  white-space: nowrap;
}
.final-stay__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(44 * var(--z));
  width: calc(389 * var(--z));
  height: calc(69 * var(--z));
  margin-top: calc(30 * var(--z));
  padding-left: calc(30 * var(--z));
  border: calc(1 * var(--z)) solid rgb(208 203 160 / 50%);
  border-radius: calc(18 * var(--z));
  background: linear-gradient(180deg, #143d26, #0a351e);
  color: #fff;
  font-size: calc(22 * var(--z));
  line-height: calc(28 * var(--z));
  font-weight: 500;
  text-decoration: none;
}
.final-stay__cta:hover { filter: brightness(1.15); }
.final-stay__cta:focus-visible { outline: 2px solid #d0cba0; outline-offset: 4px; }
.final-stay__arrow {
  display: inline-block;
  flex: none;
  width: calc(32 * var(--z));
  height: calc(32 * var(--z));
  background: currentColor;
  mask: url("../assets/block-10-cta/svg/icon-arrow-right.svg") center / contain no-repeat;
}
.final-stay__caption {
  gap: calc(20 * var(--z));
  margin-top: calc(32 * var(--z));
  font-size: calc(18 * var(--z));
  line-height: calc(24 * var(--z));
}
